|
|
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.

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!

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:
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):

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.
The other day I got an email from Microsoft Certified Learning reminding me to sign-in to the site. It has been over a decade since I last visited the site. When I logged-in I was pleasantly surprised to see they have data about my certifications done in 1996, 15 Years back. Now you know that I have programmed in Windows NT Server & VB 4.0


After listening to few audiobooks with the last being “The Steve Jobs Way: iLeadership for a New Generation” I bought this book from my Audible monthly Gold subscription about 2 months back. The audio version is in two parts (8 hours each) and the best part it was read by the author “Douglas Edwards” himself.
Douglas Edwards joined Google as its 50 something employee on November 29, 1999 just about a year after founding and full 5 years till March 4, 2005 before its stunning IPO in 2004. Before Google he was working for San Jose Mercury News, a 150 year old newspaper managing their online product “Merc” (The Newspaper of Silicon Valley). Douglas was the first director of Google managing its early days marketing and brand management, much of what we saw of initial days Google marketing was written by him. He has penned the text and documentation of many of the early products the mountain view firm. One of the first products for which he wrote the welcome text was for Google Toolbar for which he wrote the below “…NOT THE USUAL YADA YADA” text, he seems to be so thrilled by this line that he repeats it often in the book.

Douglas recalls about the early crazy days of working in Google, late nights, mid night emails to getting to office next day early morning. His encounters with the Chef Charlie, interactions with Larry & Sergey, Product managers like
He recalls tales of how everyone in Google helped to add server capacity in their data center just before big customers like Yahoo! or AOL signed up. How Will Whitted, Hardware Engineer of Google designed Machines so cheap that they don’t need to care if they fail – this is something that all new age computing firms including FaceBook, Amazon seems to take advantage of today.The author goes into explaining what he saw happening on how Google won many of its early deals with Yahoo!, later with ISP as first customer for Adwords & then the biggest of all AOL
In the later chapters as Google evolves & grows big, teams were formally divided Douglas recalls many occasions where he was constantly in struggle with Marissa Mayer who was managing Product Development and Douglas was managing Branding & Marketing. What Douglas leaves out, probably we readers can guess the reason for Larry to be siding with Marissa was because he was dating her then. Douglas seems to have had a better relationship with other early product managers including Salar Kamangar (9th employee and presently CEO of YouTube).
Douglas talks of many Holiday parties at Google, how extravagant they were and the facilities in Googleplex. He talks of the founders obsession with trying to solve everything with Engineering & Algorithms, not having empathy or respect for conventional way of working with people & companies, sometimes this bordering on arrogance. He recalls how the founders disliked to spend money for vendors, they wanting a vendor of a CRM system they wanted to buy to give it free for the privilege of having Google as their customer. In the end how they went with a not so popular CRM solution to manage the thousand of email pouring in to Google from users and all the problems they had till finally writing an email & CRM system on their own. He recalls of what they did immediately after 9/11, pouring into Web logs trying to dig any clue that may be useful for security agencies.
Douglas talks on how Google went searching the next billion dollar idea after search’s success – how it accidentally got GMail! and Google News. He talked on how he got into preparing company’s IPO documentation, how he parked his car miles away from the Investment banking firm handling the deal.
An interesting book to read if you are interested to know the true Google story.
When MS Office 2010 came last year, the first thing I did in my Work PC’s MS Outlook was to switch off some of the new Panes and Add-Ons. I noticed when you are reading an email either in preview or full-screen you got a window at the bottom that showed all the conversations, activities, tasks associated with the sender of that email. I didn’t understand the need for it, immediately switch it off and never thought about it again. Few days back while using my Home PC, I noticed this Pane again, spend some time with it and thought it might be useful to have. Instead of switching between Inbox/Sent items and so on, you got all the details in one convenient window. Now I wanted this feature back in my Work PC but didn’t know its name and it turns out I couldn’t find it nor could my System Administrator.
After few Bing! searches it turns out the feature I was looking for is called “People Pane”.

But I couldn’t find the button in Ribbon to turn-it ON. The button & feature appears only if you have installed and enabled Microsoft Outlook Social Connector Add-On (File->Options->Add-Ins->Manage:COM Add-Ins). Enabling it I got the feature and I am giving it a spin for few days before deciding on retaining it.

I have two PC’s in my house. One is my primary desktop which is the family PC running Windows 7 Ultimate. The other is used a Media Center Server (lets call it MCPC). After I got my iPhone, iPad and AppleTV I have moved all my digital media from Zune to iTunes (who knows when I buy Nokia Lumia 800 or a later Windows Phone, I will need to do the reverse all over again). My favourite application to convert DVDs and VCDs that I own into iTunes/Zune format is a free tool called “Handbrake” (that I had written about earlier).
My MCPC was about 4 years old, has outlived and needed an upgrade very badly. The MCPC had a AMD Athlon 64 X2 Dual Core 6000+ CPU, 4GB DDR2 RAM and a ASUS M2NBP motherboard with NVIDIA Quadro NVS210S GPU. Instead of throwing away the entire PC I decided to retain as much as I can and upgrade only the portions I needed to, which meant I can’t change the CPU or RAM, without changing all the three (Motherboard, CPU and RAM).
1. First item that I replaced was the 3 year old 1 KVA UPS from APC that I had been using to connect both the PCs. I shopped around for a 2 KVA with 2 Hours backup, but it turned out to be expensive (Rs.40,000 to 60,000 depending on features & brand) and huge in size to fit under my desk. Instead I went with 2 separate UPS each giving about 30 minutes backup time, first was a 1 KVA (APC Back-UPS RS 1000) and the second was a 1.5 KVA (APC Back-UPS RS 1500). Both costs together Rs.18,200 and it provided the convenience of using one of the PCs even when the other UPS dies out of its power. Both the UPS came with PowerChute client software which helps you to monitor the input voltage, set the input power sensitivity, set the voltage range and importantly shut-down the PC automatically when Power is about to run out – which ensures your drives are not corrupted. APC provides a RJ-45 to USB cable and software drivers to do this magic.

2. With the ever expanding size of my Digital Media (Music, Photos, Movies and TV Shows) stored in iTunes and as folders, I needed bigger hard-disks and also redundancy. So I replaced all the hard-drives and went in for 3 new HDDs – 1 x Seagate 500GB (Rs.2350), 2x 2TB (each Rs.4350). I didn’t choose Solid-State as they were expensive and anyway I thought I can buy a new PC with SSD in next few years. I configured the 500GB for the OS (Boot & System Partition for Windows 7) and the two 2TB as one single drive (Windows 7 Mirroring). I went for Software (Windows OS) Mirroring and not the BIOS which I was using earlier, as BIOS mirroring kept getting broken very often (may be due to the frequent Power shut-downs and problems with my UPS). It turns out this works great, only the first time I had to open Disk Management (Computer Management) and leave it open for the drives to Resync.

3. Then I went on to replace the graphics card (NVIDIA Quadro NVS210S GPU) which started producing washed out colours and lack of sharpness in the output. This meant purchasing a new add-on PCI Express Graphics Card. I selected an affordable one from ASUS called “HD 5450 Silent” costing Rs.2300 and featuring AMD ATI Radeon HD 5450 & 1GB DDR3 video memory.
(Output from my old GPU, taken with iPhone4) |
(Output from my new GPU, taken with the same iPhone4) |
4. You can’t get an improvement just by changing the GPU, you will need a matching monitor as well. So I replaced my old HP 15” TFT with a new ViewSonic VA1931WMA-LED 19” Monitor which costs Rs.5390. I wanted a monitor that is not state of art (and hence expensive) and one which had a built-in speaker (which limited the options dramatically). Remember I am using this as a Media Center PC with occasional YouTube & iTunes watching, so there was no need for a real speaker or a higher resolution display. I tried to have built-in USB Hub, but I couldn’t find one.
5. Now it is time to to focus on USB ports. The built-in USB ports tended to be slow and flaky (may be due to MagicJack or many other USB devices that I connected over the years). Getting new USB ports was the easiest and cheapest, it costs about Rs.250 to buy a 4 Port USB 2.0 add-on card. To get the USB ports in the front (instead of bending and reaching in the back of the PC) I purchased a Belkin 4 Port 2.0 Powered Hub for about Rs.800.
6. The next item was to look at the Network equipment (Ethernet Switch). I was using a 100Mbps Switch to connect my Wireless Router, Desktop, MCPC and other Ethernet ports in the house (like the one going to Apple TV or Daisy Chain). I upgraded this with a faster switch – a Netgear GS608 8Port Gigabit Switch which costs Rs.2475, this gives a smoother playing from iTunes Home sharing.
7. The last item was a WD 1 TB USB External HDD which costs about Rs.5000. This is to carry select media that I will be interested to have during my travel trips.
Overall the PC now manages to get about 4.0 (from 3.0 or so earlier) in Windows performance rating:

Final steps was to setup Windows to auto-login, launch iTunes automatically. I did the first using “User Accounts” (instructions here and here) and the second was done using Task Scheduler with a Trigger “When I log on”.

Compared to architecting & releasing web applications, Windows Apps (client apps in general) needs more care. The main reason being if you detect any bugs or want to do any enhancements you can’t simply do the changes in your server and be done with it. You need to get the new binary to each one of the client machines and overnight you can’t get everyone to the new version. Look at Microsoft – they are unable to get everyone rid of Windows XP or IE 6.0 & upgrade to new versions. It is tribal knowledge in the industry that users prefer to be notified and asked for consent before upgrading. So most of the apps for Windows ship with an thin installer executable that checks for new version of the app from their server and prompts to download and install the new bits – think of the frequently appearing and annoying Adobe Flash Player and Adobe Acrobat upgrade prompts.
In this background I considered Google Chrome process of silent auto-upgrade to be an interesting exception. It appears Google Chrome is not alone in this, FaceBook is doing the same. Today when I happened to launch Windows Task Scheduler applet I noticed two tasks which were set to execute FaceBookUpdate.Exe at a regular frequency. My first instance was “Oh my god” my PC has got malware and how is it possible?. After few minutes of research I figured it out to be the new Skype-FaceBook video chat client bits. What I found interesting here is the close similarity in the name of the app and parameters between the FaceBook & Google Chrome tasks. Look for yourself on the images below, you will see how both follow the same naming convention for the file name, parameters and folders exactly.


The news of Steve Jobs death shook me when I learned it from a friend on the morning of 6th. I got very disturbed by the news and feeling the same for last few days. Only few months book I read this book “The Steve Jobs Way” which marvelled on his brilliance. I know Mr.Jobs was sick and when he resigned as CEO of Apple in August the worst was expected. But I was hoping that like the previous two instances where he recovered from serious illnesses, this time too he will come back bouncing. And the resignation was nothing more than wanting a longer rest. Having listened to his recent Keynote in WWDC just few months back on iOS5, it is difficult to realize the man is gone for ever and we will never see him again doing his magic on stage and off stage on his products. I respect his privacy during his life, but after death if more details on his illness by Apple had been released it would help his fans worldwide to come to terms sooner.
The man had everything at his disposal, enormous wealth, the best healthcare in the world and millions of well-wishers praying for his well being but still couldn’t live for more years and that’s the irony of life. I am unable to recollect for a Technology person’s death being grieved world over. And this alone speaks volumes of the impact Mr.Jobs had, he transgressed the typical Computer Science world. He married Technology, LifeStyle, Entertainment & Aspirations in a perfect mix.
May his soul Rest in peace

In my main PC at work where I store most of my documents and data, I have been using Hardware RAID for mirroring between two 500GB Seagate Hard drives for last 3 years. This provides me with automatic redundancy and minor performance benefit while reading large video files. All was well till last week, when on boot BIOS warned that the Mirror is broken. Having seen this happen few times before I quickly updated my backup to external drive and then rebuild the mirror. Yesterday I got into the same problem, I decided and moved to Windows (Software) mirroring. Today afternoon Windows 7 showed me the below dialog and warned me that S.M.A.R.T. data is indicating an impending failure/error in one of the drives. The warning was just about useless beyond that – no indication on which Physical drive is having the problem.

On searching for this issue in Bing!, I found this free utility called DiskCheckup which can read the S.M.A.R.T data and provide more information, which it did. I found one of the drives was having high “reallocated sector count” which was told me by few hardware blogs to be bad. But since both my physical drives were the same model their class names displayed were same, which didn’t help me in isolating the failed one. So I went to computer management and broke the mirror. Reran Diskcheckup few times (disabling one drive after another in Device Management) and identified the failed one. Since I didn’t have a spare 500GB to replace, I fixed a 1TB drive in place of the failed one. Fortunately Windows 7 didn’t mind setting up mirroring between two drives of unequal size. I managed to select the 500GB, Add Mirror to a portion (which Windows created automatically) of 1TB and setup everything, the balance space I could create another simple volume. Windows is currently Resyncing the mirror between the drives.

Just like the other 4999 attendees of Build Windows Conference, I am too happy to have got a test Samsung Tablet running “Developer Preview” of Windows. Having got a touch netbook previously in PDC 2009 towards launch of Windows 7, I should say I was expecting something like this.
The tablet looks great, feels a little heavy compared to iPad but has a USB port, plays all media formats that Windows Media recognizes (and for those it doesn’t you can always run VLC Player) and starts up in less than 2 seconds (awesome).


The machine specifications were impressive too and ships with SDK & Visual Studio to develop Metro style Apps.

And I was surprised to see some “Humour” in Microsoft EULA for the tablet. When was the last time you read anything in a Microsoft material that you can understand?

In this post let me write about some highlights about Metro UI that I saw in the Big Picture sessions of Day 1.
(Update: You can watch the entire keynote here )
The default templates shipping in Visual Studio whether it is for C++ or C# or JavaScript, they all do a great job in handling all the layout complexities and do the heavy lifting for building Metro UI

Microsoft has done lot of user study to see the most ideal and convenient position in the screen where user’s thumb can reach and they are in the edges. As a result it is good practise to put frequently used interaction surfaces near the edges

When you are porting your existing Windows Apps UI to Metro, best is to start from scratch, when you can’t even simple things make a lot of improvement (like removing the lines and borders, more spaced out, large icons and so on). See in these four steps from left to right:
 
 
Touch is direct, so performance issues are felt more directly and viscerally. Animations when content is appearing of changing helps a lot in the feeling of fluid to the users. Metro Apps require assets in 3 sizes (100%, 140% and 180%) and better still you can provide them in vector formats (SVG) or CSS primitives or XAML.
Your content needs to adapt to multiple screen sizes and orientations:
Contracts are the glue that bind Metro style apps together and to the system UI. There are many contracts, but the three of the most fundamental are Share, Search and Picker.
There are many styles of Live tiles. You can choose the one that suits your app. Live Tiles are updated using your “Local” logic, Scheduled or Push using Windows Push Notification Service (WNS)

In-box controls that ship in Windows 8 for Metro style apps are shown below:

Metro style apps when making calls to WinRT those calls go directly to Core OS or though a broker (only on select cases). All running Metro apps are suspended by the OS when the user switches away from it, this is done to preserve the battery live and give maximum performance to the foreground application. This means Apps get about 5 seconds to save their state before the OS puts them on Suspend. Apps when in Suspend are still in memory but no CPU cycles are spent and Windows kernel never schedules those threads. Apps are also terminated when there are low resources, in those cases Apps never notified at all.
Five main design principles of Metro style apps are
- Pride in craftsmanship
- Be fast and fluid
- Authentically digital
- Do more with less
- Win as one
|