Archive

Use VLC Player to record desktop

For years whenever I wanted to do some screencasts or record what’s on the screen, I have been using Techsmith’s great Camtasia software or Windows Media Encoder. Today from a FaceBook wall post I learnt that the free & open source video player – VLC Media Player has this feature in every copy.

The steps to follow are just four, first is to select Convert/Save  option from the Media Menu, then in the dialog box that appears select “Capture Device” tab, then select "Desktop” in the Capture Mode option, increase the frame rate (for smoother animation provided you have powerful graphic card) and then press “Convert/Save” button. That’s all.

image

 

image

Blog moved from DasBlog to WordPress

After using DasBlog (.NET & Lucene.NET based Blog Engine) for over 7 years I decided to move to the most popular blogging software in the planet – WordPress.  I like DasBlog for its simplicity – it was flat file based (just XML files for content and images stored in file system) so no Database configuration/maintenance, most of the common configurations are available from the Admin panel and more complex changes can be done by editing the ASP.NET source code, it supports AKISMET comment filtering, MetaWebBlog API for blogging from Windows Live Writer & above all just works out of the box. But in the recent months it was showing its age with no upgrade for nearly 3 years, comments pages were becoming slow to open, search was not powerful, no scalable tag cloud, categories can be managed once created and so on. So it was time I had to move and migrate data.

After Windows Live Spaces closed and migrated my blog backup which was in there to WordPress.com, I got familiar on customizing and using WordPress. In the recent years in my firm (Vishwak Solutions) our LAMP developers have been doing many WordPress projects for our clients so I had access to resources who knew about this well. All this made me comfortable to touch something that was working for 7 years, so I went with WordPress. After some searching I found these two blogs (Reeves, Vasanth) which gave step by step that has to be followed. Along with my PHP developer I followed the steps given there and it worked. Thanks to both of them.

dasblog-to-wordpress

WordPress opens up enormous choices and benefits just due to its huge community following & benefits of network effort. I love the power of the Plugins and the choices you get, you will find a plugin for anything you can imagine. The plugin for SEO Optimization, Sitemap.XML generation, Recaptcha, WordPress Stats (JetPack) are all gems. The sheer choice of plugins can also be confusing (just like App Store) as you have tens of choices for the same task and not sure which one to choose, but a bit of Bing! or Google will help you find the right one. The WordPress app for iOS makes it a breeze updating my blog from my iPad and its free!

WordPress Plugins

After the migration we had to fix some rough edges around permissions, redirections & theme.

1.I wrote the following two redirections on top of what Reeves had recommended, which I have given below:

/(?i)blog/SearchView.aspx*\?q=(.*) http://venkatarangan.com/blog/?s=$1
/blog/SyndicationService.asmx/GetRssCategory*\?categoryName=(.*) http://www.venkatarangan.com/blog/category/$1/feed

2. I had problems with all the URLs which had a Non-English (Tamil) text in them, I went to editorial console to change all of them to English text

3. WordPress gives more categorization options, including hierarchical categories and Tag clouds. I used those to reorder most of my 1000+ posts for better visibility and SEO benefits

4. I submitted the new SiteMap.XML to Google & Bing Webmaster site, then I am now monitoring the errors that are shown in Google Webmaster tools & Bing Webmaster tools and fixing those links (where possible doing regex redirections):

bing webmaster error log 

google webmaster error log

5. I had deleted the old ASPX/ASMX, XMLs and DLLs of DasBlog but retained the images in the same folder that were used by DasBlog & Windows Live Writer. This way all the image references (URIs) continues to work in WordPress. If I had tried to migrate them to WordPress then I suppose I would have had to write a custom program and do it, which I didn’t bother.

In the end all turned out well. For my blog of over 1000+ posts over 7 years it took less than 2 days of work. Performance is great & overall I am quite pleased with the move.

What I find wrong with the Stephen Fry’s video?

Before I proceed let me state my position on this topic: I am not against Open-Source Software, at the same time I I believe like all other literary (creative) & engineering works software too needs to be based on a sound viable commercial model.

I came across this video of Stephen Fry celebrating 25 years of GNU and introducing “Free” Software. Being an award winning broadcasting professional Mr.Fry has done a great job of delivering a simple yet powerful message on what he believes on. But his introduction to “Free” Software and especially his plumbing analogy to be incorrect and can misguide general public. (Please see the video below before continuing)

Freedom Fry - "Happy birthday to GNU" Why?. He says just like you can change the plumbing in your house any way you want, “free” software allows you to change your computer the way you want it. Operating System vendors like Microsoft prevent you from doing this. Nothing can be far from truth.

All software vendors including Microsoft, Adobe or Apple have never placed any restrictions on how you can use your computers or on what applications you can write on top of them. The licensing comes when you want to change the core of their work (operating systems or software written by them) and then redistribute that resulting work. Going back to the plumbing analogy (which is a bad pick by Mr.Fry) this is like you wanting to cast your own steel pipes in a furnace and for doing it you want the pipe vendors to share their blue-prints and chemical composition “Free”. Of course, there is nothing wrong in you wanting to do your own steel pipes if you want to, similarly no one prevents you (Microsoft/Adobe/Apple) from writing your own operating systems.

My whole point is it relevant for the masses, is it necessary?. I feel there are more pressing problems that can be attempted in the applications space, in the industry domains where the scarce human creative energies can be used on. Not on writing yet another Operating System, yet another UNIX/LINUX, yet another MS Office clone and so on – which is precisely what GNU has done.  To see this clearly you don’t need to look far – just look at the number of Linux Distros that are out there.

In terms of software licensing if it is all about “Freedom” as GNU claims it to be, then my pick is always BSD style licensing over GNU. The difference being that GNU is of viral nature, meaning any resulting work needs to be GNU licensed, whereas BSD licensing doesn’t put any such restrictions – you can do pretty much whatever you want.

Virtual Box is now free

Virtualization (the ability to run multiple OS simultaneously) is gaining lot of traction nowadays. In the PC world this started initially with VMWare and Virtual PC (which Microsoft acquired from Connectix) for development and testing purposes soon gained popularity in the servers. In servers virtualization is used to consolidate servers and applications into fewer servers and also used for running legacy OS and applications.

Screenshot showing Sun's Free Virtual Box running Vista as guest in a Linux Host

Today the entry barrier is greatly removed for Virtualization software with many of them available free (as in free beer), following is a partial list of them.

  1. Microsoft Virtual PC 2007 for desktops
  2. Microsoft Virtual Server 2005 R2 for servers
  3. VMWare Player for desktops
  4. VMWare Server for servers

Recently few more has joined the list, they are:

  1. VMWare ESXi – A hypervisor that allows you to run production applications at near-native performance is now free
  2. Sun Microsystems’ Virtual Box – A popular desktop virtualization software that Sun Microsystems recently acquired from Innotek and turned into an Open Source GPL software
  3. Microsoft recently released its Server class production ready Hypervisor product called Hyper-V that is going to be part of Windows Server 2008 for a nominal fee of $28.

Geonames

I came across this brilliant site called "Geonames.org" – a Geographical database for download free of charge containing over eight million geographical names. The site allows you to search for any city or place or postal code and the best part is all of this is also available through a number of webservices and a daily database export. This can be useful while you are developing a website and have to get input of a city or determine a place in a transaction.

Check out these examples:

  1. Chennai
  2. 600017 (Postal Code in India)

GeoNames was founded by Marc Wick. Marc is a self-employed software engineer living in Switzerland. Thanks to Marc Wick & the other volunteers of the site.

Web Browsing Testing Tool

Last few days I had a firewall issue in my desktop that made web browsing irregular. It was a peculiar problem, I was able to browse few sites like Google, Vishwak.COM but not others. I had to keep running the same diagnostic commands many times to take values to be sent to my support team. Finally I ended up writing this handy tool that copies to clipboard diagnostic informations from IPConfig, Tracert, Ping & WebGet commands. This information can be used for further investigation or email to support. I also added features to FlushDNS, Renew IP & Turn Auto Tuning (Vista and Windows Server 2008) OFF/ON.

diagnose tool screenshot

While developing the tool over two half-a-days I learnt quite a few APIs and a bit of C# coding. This included how to call a console command like IPCONFIG /ALL and capture the output to a string from a C# application, get the Internet Explorer Proxy settings, Call Network Properties applet, create an install with VS 2008 & how to paste a code snippet in WLW.

   1: private string DoConsoleAndCapture(string sInput)
   2: {
   3:  
   4: string sOutput = "";
   5: ProcessStartInfo pi = new ProcessStartInfo("cmd.exe", "/c " + sInput );
   6: pi.WindowStyle = ProcessWindowStyle.Minimized; 
   7: pi.RedirectStandardOutput = true;
   8: pi.UseShellExecute = false;
   9: Process p = Process.Start(pi);
  10: p.WaitForExit();
  11: //p.Start();
  12: TextReader t = p.StandardOutput;
  13: sOutput = t.ReadToEnd();
  14: t.Close();            
  15: p.Close();
  16:  
  17: return sOutput; 
  18: }

The experience of using Visual Studio 2008 was interesting as it has been few years since I coded something end to end. I wish the coding surface to become more intelligent in terms of offering help on discovering commands and APIs that the developer is looking for. When VB6 came a decade or so back the help feature that it had was revolutionary and the wealth of information MSDN provided was without par in the industry. Now with Web & Internet Search prevalent the present IDE calls for a complete rethinking and revamp – unfortunately I don’t feel the tools have come there yet. What I am talking here is not about wizards, smart tags or even intellisense but about how the tool helps a developer to learn/discover necessary APIs/solve the problem at hand.

Joomla! Template – Tamil Font problem

In my voluntary role as Vice-Chairman in INFITT I am currently helping in maintaining the website of INFITT.ORG. One of the things is to get myself familiar with a Web CMS called Joomla! – which is a LAMP based Free Open Source CMS that is targeted for small community websites.

This post is about problems we faced in Joomla! for Tamil Texts and two quick fixes that solved it for us.

1) The CSS Problem in the Top Navigation Menu. The menu in IE 6.0/7.0 will have the text appearing below the menu – invisible to naked eye. It turned out to be the CSS had issues, which we fixed and republished in our implementation. If you face the same issue, please download the fixed template_css.css from here or view it here. Menu with Tamil Text in Joomla! 

2) Pages had problems displaying Tamil in IE 7/Vista. Tamil text were displayed but as jumbled non readable characters. It turns out to be that charset is not set to UTF-8. I changed the flag to set it to UTF-8 in the file /www/templates/js_education/js_template_config.php in the Joomla! instance we had.