Monday, December 31, 2012

New World Order Conspiracy, World War 3 and more maniac irrelevant phrases.

So it is happy new year I guess, well still a couple of hours for that event. What exactly is it that we are celebrating? Why exactly this date in the Gregorian calendar chosen for the celebration of year's end. A cycle around the sun, but why we started counting on January first? Or why January first had to be tomorrow. It is a complete random day, since the winter solstice is 21 and 23rd, so not exactly 31st of December. Well for whatever reason, happy partying. I've got too much work to party, but hey, I'd rather program AI and create screencasts. Free will. さようなら。 PS: I will be releasing a screencast soon about Camstudio and screencapturing your screen and audio from the motherboard's audio device, later, next year. ;)

Saturday, December 29, 2012

Thumbnail description and the consequences to the universe and existence

So today I load a bunch of tutorial/query based images on Flickr. Why? Because it attracts attention to this blog. I know that technical issues aren't as popular as celebrity break-ups, but hey, there is still a market, and despite all the obstacles, edutainment is coming in all its full glory.

Thoughts I had about the images can also be considered a psychological analysis opportunity. Hehehe:

http://www.flickr.com/photos/77082971@N06/

Friday, December 28, 2012

Having to post about all the technical difficulties in this blog is part of the idea of sharing knowledge to people so that if they are encountered with the same issue, they can find the answer through search engines or subscription to this blog.

Xvid encoding with the following mediainfo information:

Format: AVI
Format/Info: Audio Video Interleave
File size: 91.4 MiB
Duration: 6mn 43s
Overall bit rate: 1 901 Kbps
Writing library: VirtualDub build 32842/release

Video

ID: 0
Format: MPEG-4 Visual
Format profile: Advanced Simple@L5
Format settings, BVOP: 2
Format settings, QPel: No
Format settings, GMC: No warppoints
Format settings, Matrix: Default (H.263)
Muxing mode: Packed bitstream
Codec ID: XVID
Codec ID/Hint: XviD
Duration: 6mn 43s
Bit rate: 480 Kbps
Width: 1 680 pixels
Height: 1 050 pixels
Display aspect ratio: 1.600
Frame rate: 25.000 fps
Color space: YUV
Chroma subsampling: 4:2:0
Bit depth: 8 bits

is not played by the VLC player, and according to a forum post on the official VLC forums, this is a known issue with VLC playing low framerate videos like 5fps, yet the aforementioned video parameters clearly show a 25fps, not something one would consider low in framerate.

As long as it is played by Media Player Classic and VirtualDub, I will ignore the issue. Apparently all I did was screen capture a bunch of BMP files repeatedly, converted them into the AVI container with Xvid as the codec format, and 16 bit depth, 44.1KHz silence audio, appended it to another equally formatted video file and saved the AVI with the direct stream copy option checked for both audio and video.

Screenshots addition to Camstudio screencapture video

To capture certain menus within Camstudio which produce errors when opened while recording, like the video options dialog, one needs to take snapshots with the print screen key, sometimes labeled on the keyboard as:

  • Print Scrn
  • Prt Src
  • Prt Scn
  • Prt Sc
  • Prtsc

Spanish version is named ImpPnt


preferably pressing alt and then the print screen key, in such a way as to capture only the window currently in focus. Doing so however, would constrain you to use GIMP or any other image editor to scale it up to the size of your screencast. Not only will this make it bigger and easier to watch, but also it will allow the appending of the fixed image video to the screencast(differing resolutions wouldn't allow it.)



The next step is to open the Microsoft Paint program, by pressing the Windows key and r,

type in the blank entry mspaint,



 press Enter. Since the image has been copied in the clipboard previously, we just need to press ctrl+v to paste the clipboard image into the mspaint program. Click on save as in the file menu, in order to save the image as a BMP image file on your hard disk.

Once you locate such image file within the directory tree, click once the file on the explorer to select it and press ctrl+c to copy it and ctrl+v multiple times to paste and duplicate it in the same directory as many times as you wish to arrive at the desired frame count. Calculate how many, by observing the framerate of the planned master video and the duration you have decided for such menu to appear in the video.

So if it is a 25 fps video, and you want the duration of such menu on screen to be 2 seconds, simply multiply 25 times 2  (25 frames are watched in one second, multiplying by two yields the correct number of frames for 2 seconds) which is 50.

Instead of having to go through the burden of pasting the same frame 50 times, you can alternatively use the following batch script in Windows:

SET source_file=%1
SET name_list_file=%2

FOR /F "usebackq delims=," %%G IN (`TYPE %name_list_file%`) DO (
    COPY %source_file% %%G

)

save it with the .bat extension and create another file within the same directory in which you will place the desired numbering and termination(since it is a generic list creator, it is up to you to change it to a meaningful numbering and extension). Following the previous example list.txt would contain:

01.bmp
02.bmp
03.bmp
04.bmp
05.bmp
06.bmp
07.bmp
08.bmp
09.bmp
10.bmp
11.bmp
12.bmp
13.bmp
14.bmp
15.bmp
16.bmp
17.bmp
18.bmp
19.bmp
20.bmp
21.bmp
22.bmp
23.bmp
24.bmp
25.bmp
26.bmp
27.bmp
28.bmp
29.bmp
30.bmp
31.bmp
32.bmp
33.bmp
34.bmp
35.bmp
36.bmp
37.bmp
38.bmp
39.bmp
40.bmp
41.bmp
42.bmp
43.bmp
44.bmp
45.bmp
46.bmp
47.bmp
48.bmp
49.bmp
50.bmp

Opening cmd.exe by pressing the Windows key and r to open the run command and typing cmd in it for finally pressing enter, will open the command prompt. change the current directory with the cd command, to where these files(the BMP image, the BAT script and the TXT list) were created(preferably alone in a ad hoc directory), run the BAT file by typing the name of the bat file followed by the name of the source file to be copied, followed by the list file. For example:

C:\Users\UserName\Documents\SameFileReproducer>SameFileReproducer fileToCopy.bmp list.txt

That will replicate your BMP file 50 times.

Once the files are in that same directory as 01.bmp, 02.bmp, 03.bmp...
you must download AVIsynth.

Create a text file just as you did with the BAT and list file previously, generally by right clicking on the Windows Explorer and left clicking on new->text file, alternatively new->AviSynth script.
Copy the following text to it:

ImageSource("%02d.bmp", start = 1, end = 50, use_DevIL = true)

Save it with the .avs extension. Notice that it has a start and end argument, if the numbering sequence of the names of the replicated files is different, change it accordingly.


Finally open VirtualDub and drag the AVS file into the VirtualDub Window client area. It will automatically add the BMP files into VirtualDub.

Set the video compression to whatever codec and settings were chosen for the Camstudio captured video, including the frame rate and audio frequency rate and sample bit depth. Finally press f7 to save the file as AVI.


Appending both sections


Once it is done processing, simply use the file menu option append AVI segment from the Camstudio captured video opened with VirtualDub and add the BMP to AVI file you just created to append it.



 Of course you can copy that ending section by pressing the home key where the sequence starts and the end key where the sequence ends, press ctrl+c; select the frame in the timeline where you would like it pasted, press the home key and ctrl+v to past the sequence. Then you once more press f7 to save the file with whatever compression is set at the Video->Compression dialog(ctrl+p).


Saturday, December 22, 2012

I am writing in many blogs so as to attract the attention of various users to my videos. the more the better, the japanese blog site 'Ameaba', is also a great place to get some attention from.

My only Japanese blog until now, is somewhat lovely that people in Japan(being so reserved) are now sharing their experiences to the world as well.

Blogging is a great tool to develop and expose one's abilities to the rest of the world. Exposing the various thoughts and daily activities to people is a great way to attract attention to one's work as well.

That's why I have recently become highly interested in the NLTK project, as it allows me to lever the burden of constant blogging updates, by just typing in a summary, or perhaps just a phrase, and be able to post complete articles out of the huge amount of text available through the web and the semantic reordering of such notions hinted by my initially inputted phrase.

_images/tree.gif
Typical semantical deconstruction of a typical English phrase

Thursday, December 20, 2012

GIMP

Adding guides to the window client area(In fullscreen mode, check to see whether in the preferences section, guides are viewable) seems easy, but if there is a need to make the divisions mathematical, this tutorial shows you how(very simple 3x·4y division)

GIMP Q&A(basic) |· Adding guides ·|

Tuesday, December 18, 2012

Audacity has its let downs, here and there. It doesn't allow label tracks' label delimiters to snap to other delimiters in other label tracks or audio track's clips delimiters. This of course poses the difficulty of having to zoom in to accurately match the translation of the subtitles of the audio of a video file.

Apparently there is no plug-in to appease this trouble, and according to the Audacity forum, Nyquist(the Audacity supported scripting language) does not allow to read label files.







Now, I am posed with a predicament: should I spend time on the creation of a script that would automate the subtle time shifts in the various subtitles from the many dub versions(in multiple languages), or should I just simply manually copy the timestamps of the labels from the originating exported label(Audacity's subtitle and marker feature) file and paste to the destination exported label file(different languages tend to have different timing for the same phrases)?



Sunday, December 16, 2012

Dedicating a minimal time to NLTK Python programming.

It seems to be the ultimate tool for natural language processing, it seems to be useful for a series of reasons:

  • Language analysis
  • Exploring linguistic models
  • Testing empirical claims
  • Data mining and modeling
  • Robust language processing generalities.
 Corpora is a list of phrases to be learnt.

Universe is, I suspect, the context of the text being analyzed.

Saturday, December 15, 2012

My YouTube channel is not getting new subscribers, but the total video view of my channel is getting almost to 30,000. That is pretty admirable, considering it is technical information with basically zero exposure, other than very few Adwords publicity I got from an airport magazine bonus gift. So $0 spent on publicity, yet managed to get 30,000 views. Of course this is because YouTube and search engines help people arrive to the information they are looking for.

There is nothing better for higher viewcount than to create great video content. This is not feasible in the videogame world, unless one is talking about crappy, programmer-artwork filled flash games. Fun particle and one button games have been made and have been successful, but are rare.

My objective is to gather people interested in my tutorials, and create great videogames once a team of jack of all trades developers is formed.

For now though, expect Great GIMP, C, and Python programming video tutorials to flourish. I will experiment with humour and animation, and see how that works out for video viewcount.

See you later.

Truly yours,
Carlos Gabriel Hasbun Comandari.

Friday, December 14, 2012

It seems that opening new accounts to other sites which attract traffic is a great idea. It exposes my work to new people, ergo augmenting my audience.

This is the list of blog hosting sites in which I will open an account:



I already started with zimbio. Will continue to other blog hosting sites, as I encounter them.



Thursday, December 13, 2012

A piece of advice for voice performance:

  • Perform all the podcast/screencast in one shot if possible.
  • Otherwise, take many shots(5 to 10), for every 2 to 5 sections(all performed on the same session.)
  • When you start the editing session, the best shots from the many takes will be used to mold the master track(by uniting the best takes of the chronological sections)
  • Make sure your surroundings will stay quite for a significant amount of time.
  • Only perform with adequate equipment.
  • Apply the least amount of equalization and compression.
  • If you slip words or err, don't stop, rather continue by repeating what you missed/erred.
  • Take time to relax, the tenser you are the worse the performance will be.
  • If the speech's pace is fast and relentless, take a deep breadth before starting.
  • Place sound echo blockades, like sheet and clothes around walls and tables.
  • Be happy. Sadness or unfeelingness is transmitted through the voice.
  • Honey, yogurt and aloe vera are excellent throat cleansers.
  • Sit or stand in a comfortable position.
  • Script reading will highly enhance your fluency.
  • Avoid scripts if it is a quick podcast/screencast.
So, I have been voice-performing the Italian version of my Spanish(and English) Introduction to C video, it is challenging to make the timings coincide with the different languages(some phrases being longer or shorter in different languages).

I am also considering hiring a professional Italian-Japanese translator so that I can perform the voice over to the C Console Programming in Japanese as well. I am good at Japanese but not technical Japanese. Yet.

Subtitles worked finally, using Aegisub for exporting the sfl2txt exported SRT file into another SRT file, for some reason, YouTube now accepts it as a captions track (the 'why' is still unknown to me).

Wednesday, December 12, 2012

I have been trying to come up with the plan for the whole video series coming ahead.

I must translate the captions of the previous C console programming videos, to Spanish Italian and Japanese(with the help of translators, because my technical Japanese is subpar).

I will also create the voice over of the aforementioned videos in the aforementioned languages, so that I have a wider audience, this will also allow me to verify Google's Analytics, so that I can see where the majority of my audience is from. For now, India is #1.

I will also start creating blog posts on those aforementioned languages, so ignore the languages you don't understand.

This will hinder a bit the production of elaborate presentations, but the fast Q&A screencasts would be continuous.

Of course there are short term and long term objectives.

The short term objective is to make money out of the advertisement from YouTube screencasts and this Blog. It pays little with few viewers, but I have seen some C and GIMP tutorials rank as high as 200,000+ views. That's actually significant revenue. And now TrueView advertisment is more effective than the previous types.

Selling screencasts is a bad idea. I have seen many companies selling screencasts go broke because the business model is wrong. Selling digital media at this stage of technological advancement is ludicrous. However, having advertisements for physical products on digital products makes more sense. I particularly abhore advertisements, but with all the tools out there, people that refuse to watch them will avoid them.

Donations are a bummer. People rarely donate, because they assume that if they don't donate, somebody else will. The problem is, everybody thinks that way, ergo $0 on donations.

On the other side, if people ask me personalized help from my expertise(programming, image/video/audio editing, screencasting, performing voice over), I might simply charge them. Or if they want a specific task explained in a screencast, and they are willing to bid, then I'd place priority to the completion of such screencast.

Tuesday, December 11, 2012

GIMP GAP from GIF to AVI tutorial pending

My next tutorial deals with GAP, the excellent yet mysterious animation package for GIMP(GNU Image Manipulation Program). I explain how to create an AVI file out of an already created GIF file.

This type of tutorial is much more elaborate than the usual Q&A series, since I use more precise zooming and highlight of data entry locations so that the video looks even better and more polished.
It does take about ~5 times more effort and time, but it is worth it.

The ideal work-flow I have discovered is to work on an elaborated video tutorial that will be finished within ~a week, whilst working on the less demanding quick screencasts that are useful to answer commonly asked queries from software users/ programmers.

Monday, December 10, 2012

YouTube not accepting SRT captions converted by sfl2txt

Know my new rival:

"Unknown Track format" has been appearing just because I use:


http://sfltxtconverter.sourceforge.net/sfl2txt.html

to convert the exported Audacity TXT label files(which I use as a subtitle marker) to SRT files (supported by YouTube overlayed caption system)





If a file with the exact same properties as that of the exported SRT file is typed in a new notepad document,  saved with the .srt extension and finally uploaded as subtitles for a YouTube video, it works.

So I went ahead and checked for the encoding for the text in both files(the converted one, and the hand-typed one) with Mozilla Firefox. Surprisingly both had the ISO-8859-1 encoding, typical of Latin-1 alphabets with no Unicode support:



Still, YouTube should have recognized the converted SRT, since it recognized the equally encoded text on the hand-typed file.

It remains a mistery to me...

Now it is time to explore the Aegisub exporting capabilities.
I show in the following video, how to download Flash content(including video hosting site videos), and play the videos at higher of lower rates, depending on your preferences or capacity to understand video tutorials:


Saturday, December 8, 2012

Cancer prevention

I know that is has little to do with computer programming or audio/video editing, but cancer has become a major challenge for today's medical students and professionals, and all people of all ages should be informed about it. We are all waiting for the day in which we open our news portal and find in a huge bold font: "THE CURE FOR CANCER FINALLY FOUND!".

The fact is: it will never happen. Cancer is an extremely complex issue, arriving at the molecular level, down to the DNA, and bellow. All those problems result ultimately in incessant abnormal cell mitosis, therefore tumors are formed, for it to be callable as 'cancer'. In fact, there are many skin cancers and mild superfluous organ cancers that can be cured in a multiple-method approach.

There is a much better way to deal with cancer, though and it is not by curing it, but rather by preventing it.

For that I created this useful image you can share on social networking and e-mail chains.

These are the most useful cancer prevention aids known to date(backed by scientific studies):

  • Soursop
  • Apricot seed
  • Hemp(Cannabis Sativa) oil
  • Clean water
  • Antioxidants: Pomegranate, Blueberries, blackberries, strawberries, raspberries, Goji, etc.
  • Daily exercise


Thursday, December 6, 2012

Lesson on Audacity exporting. There is a caveat when exporting your audio, especially if you divided a narration in clips, each clip representing different phrases. This is the original initial vacuum:
Of course, you would assume that vacuum between the time 0 and the start of the clip would be interpreted as silence when exporting. Unfortunately, it does not happen, so the audio is exported as if it started from the beginning of the clip(and not the beginning of the track). To fix this nuisance, allow the selection to snap to the beginning of the clip, and the left side of the selection to snap to the beginning of the track:
Then the silence generator applied to the previous selection yields:
Now if you export the track(by selecting the whole track and clicking on 'export selection'), the audio file will have the initial silence. We can still join the clips(by selecting around the joint and pressing ctrl+j):
To finally have the initial silence and clips fused:

Monday, April 2, 2012

C Introduction



In this short presentation, I show you what the C programming is all about in as few words as possible. The overview of how and where and by whom it is used is shown.

Some expectations are set, and MinGW is introduced for building applications from scratch.

The viewer is enticed to continue the studies of the C programming language.