Category Archives: Technology

Technology specific, technical, techie!

Skewed web-browser market shares?

After reading: http://webtips.dan.info/brand-x/useragent.html, its clear that the web-browser shares are not 100% accurate… rather they cannot be 100% accurate.

Also see: http://virtuelvis.com/archives/2003/02/properly-measuring-msie (a little old, however could still be relevant)

So how accurate are http://en.wikipedia.org/wiki/Usage_share_of_web_browsers and other “browser usage reports”?



Luxury chocolate gifts from Hotel Chocolat


Generic CA US 300*250


WordPress Bug: Incorrect count of comments? – Solution

Yeah, I’d been noticing it over the last few days that the count of comments for the posts was incorrect. And it was consistently missing out later posts. 😐 I was unsure if the ‘bug’ existed in WordPress or it was due to the theme that I use (if that mattered).

I first thought, it probably didn’t count posts by the same person – or by the author… but that theory didn’t match for every post.

Googl’ing for the problem resulted in top 2-3 results which were tangential to my issue. So avoided that.

Tried some typical tricks… and finally, got the solution/”fix” for it: Just edit the comment for a post whose comment count is incorrect. You can simply add some character and delete it back, and then save it (Update Comment). You’ll now see that the count is corrected! 🙂

God bless the WordPress programmers! They’re doing an awesome job – albeit some bugs (they’re kinda obvious, in software development). 🙂

Enjoy!~



Luxury chocolate gifts from Hotel Chocolat


Generic CA US 300*250

Controls & restrictions at the workplace

All offices have numerous controls & restrictions in place, to avoid/reduce the obvious misuse of the facilities offered for work. Access restrictions to hardware device(s) (like CD/DVD Drives, USB ports), restrictions accessing the internet, blocking/limiting uploads & downloads, to only allow restricted software to be installed, and likewise; are very common. Deploying & administering such controls & restrictions are also relative easy today, especially with the system administrator-friendly tools & utilities available today.

However, my primary thought was, no such controlling software utility can be robust enough; And I proved myself right when I was able to (rather easily) break through 2 such strong products (Eureka moment! ;-)). One of the products is a resource hogging anti-virus software (forced onto my computer by my office policy!) and another is an endpoint device blocking system. Me; a tiny petty hacker as compared to the grandmasters of the underground; being able to do this – meant such product developers have *work* to do! 😉

Almost all these utilities do the following to block the unwanted devices and secure their own files/services:

  • The device blocking utilities hook-up themselves to the OS and intercept any calls to the devices they are programmed to block. They detect & allow valid calls to the devices, while blocking the unwanted ones. So – if a USB blocking utility intercepts a new USB device being connected; it checks if its an allowed device – like a USB mouse or a USB keyboard; or if its one of the devices to be restricted – like a USB Stick or an iPod or an external USB Hard Disk Drive (HDD) – and behaves accordingly. The utility passes the allowed device calls through to the OS’s handler, and discards the other calls – to achieve its purpose.
  • These utilities are typically developed as a Windows service which run at the Windows startup. These services cannot be started or stopped by the user.
  • To employ better security these utilities also have a seperate process or a thread or another service running/polling to monitor if the primary service is running. If it finds the service stopped – it restarts the service immediately.
  • These utilities also block the access to its installed folders/directories – such that there’s no way one can venture into the directory and delete/rename/tamper with its files. The blockage is typically in place even in safe-mode or command prompt mode. Probably if the HDD is connected to another computer, as a secondary drive there – the folder restrictions would not apply. (Haven’t tried it myself.)

I’ll talk about the endpoint device blocking product, GFI EndPoint Security (to block iPods, USB Sticks & other such endpoint devices). You can review the $25 per computer product’s features here.

NOTE/DISCLAIMER: I strongly suggest you against doing the following on your office computer – to avoid breach of your office’s security policy & inviting serious trouble for yourself. Well, we can argue about this – however I didn’t disable the GFI product to forcibly breach my office policies, but I had received an external USB HDD from our Las Vegas office, and wanted to access it from my machine. Me; disliking any controls and/or restrictions, and me; being anxious/desperate to break out of the virtual chains – are ‘tangential’ here; if I may plead so. 😉  I was testing the ‘strength’ of the security products, as well as my skills. 😛

All I needed was one free & powerful utility Process Explorer, from Windows Sysinternals (erstwhile SysInternals.com by Mark Russinovich & Bryce Cogswell).

  • I launched the ProcessExplorer and suspended the GFI’s monitoring service (I am not going to name the service here)
  • Next I launched the Windows Services Manager & changed the “Startup Type” to “Disabled”, for the GFI service. The service was left running, untouched. Alternatively, you can also use the AutoRuns utililty from Windows SysInternals again, to disable the service.
  • Finally – just restarted the computer to start to a successfully disabled GFI’s monitoring service.
  • I then renamed the folder name – to ensure it wouldn’t start again – *if* the office’s network policy re-enabled the service when it was redeployed afresh to my computer.

That was all! FREEDOM for my computer’s 4 USB ports! 😀

Similarly (not the exact same method), I was also able to disable the McAfee Viruscan which used to hog my CPU (90-95%) & RAM (upwards of 180 MB) whenever I used Microsoft Outlook or opened/extracted any ZIP/RAR files. There probably is a leak in their real-time scanning module, in the version we have at the office, or the problem occurs only on Windows Vista (which I use); because the hogging is comparitively low on my colleagues’ Windows XP Pro computers.

Nevertheless, instead of implementing such controls & restrictions, if the companies undertake imparting regular education to their employees on workplace ethics, I think it would go a long way. This is just like the traffic policemen standing *after* the traffic signal posts or in the *middle* of the one-ways, to catch the violaters & “extort” fine/bribes. Instead (& I always crib about this), why can’t the traffic policemen stand *at* the traffic signal and STOP the potential violaters from breaking the law in the first place? Similarly they should stop any drivers from entering into a one-way, in the first place. This topic is for another blog, however couldn’t avoid blurting it out.

The Gladiators: Google & Microsoft

Background: The recently announced Google Chrome Operating System! Don’t pull out your wallets yet – there’s time before they launch it… and it might also be available as FOSS! 😉

In HK Sir’s recent blog, he puts forth his thoughts about why he thinks the recently announced Google Chrome OS might not give Microsoft a run for their money.

I do agree with many of the points he raises there, however I still think Google Chrome OS (GCOS) will do well & Microsoft better start saving! 🙂 The GCOS may not do as well as Google would like it to do in the OEM segment (as he’s highlighting in his blog too) – but it would do well, otherwise.

Knowing Microsoft’s “innovative” ways, they might’ve already started working on a new Windows 7 Lite (a stripped down Windows 7 for the web) to compete with the GCOS. 😉

My flow of thought about why Microsoft *has* serious competition:

  • Windows Vista has been a major flop & most people/companies are not likely to consider buying Windows 7. GCOS would be a good option for them.
    (Tangent, but relative: Many companies have not switched/upgraded their Windows 2003 to Windows 2008 yet – and they probably even won’t).
  • Microsoft is known to *force* its users to upgrade the OS – by stopping their support to legacy OSes. But in these tough times, people/companies would rather stick to Windows XP/Vista/2003 (with the available support – or force Microsoft to extend the XP/2003 support even further), than spend money on a new Windows OS. This Microsoft policy is also likely to cause the switch to the GCOS.
    (Tangent: I never understood why Microsoft spurns its existing babies when they deliver newborns! I do know people who still happily use “Microsoft-unsupported” Windows 98 SE and Windows 2000 Pro.)
  • So, the obvious growth for Microsoft’s new OS is likely in the OEM segment only. Linux distros have already eaten up (& are still munching) some space in that segment. However, due to lack of marketing the Linux-OEM bundle hasn’t seen major growth to dent Microsoft’s share there.
  • In comparison – Google will most likely spend a lot of money in marketing its new OS & will have much more recognition in the market as compared to the other Linux distros. This is bound to affect Microsoft’s share in the segment.
  • One other serious pain with Microsoft is its OSes demanding high-end hardware. The GCOS, with its new GUI on top, is expected to not demand for high-end hardware (unlike Windows 7), so users of old hardware are expected to dump their old & slow Microsoft OS, rather than spend money to upgrade their computers to run the new Microsoft OS.
  • The GCOS would have the Chrome browser built-in, and it would be expected to carry/support OpenOffice & multimedia apps; which are more then enough for a majority of tasks that a typical user does. (Yeah! A majority of users don’t know how to download and/or install software. They prefer to stay put with what they have.) For power users, there are enough FOSS software available today, to make an easy switch to the GCOS and replace almost every Microsoft offering. (.NET developers, you must check out MonoDevelop!)
  • Existing computer users (even non-techies!) would definitely try the GCOS once (assumption: Google’s strong marketing!), to atleast check its claims – and I think, there will be substantial number of users switching from Windows to the GCOS after that.
  • For new computer buyers – a great deal with a free/cheap & fast OS with a small footprint might sell well. Microsoft Windows isn’t getting low on its bad cholestrol (bloatware!) and neither is it getting any easier to use, like the bothersome security prompts being thrown at the user at almost every other click of the mouse button (Microsoft’s own admission). A lay user gets *very* worried using Vista – trust me here, I’ve helped quite a few. 😐  I don’t expect Windows 7 to radically change that.

Both Microsoft & Google have a tough battle for their space in the OS market – with Microsoft desperate to save its share, and Google out to grab even that, with its GCOS.

I’d say, look forward to them fight as gladiators, while you are the Emperor! 🙂

Microsoft .NET is like James Bond’s cars

An odd comparison?…

“What exactly is the Microsoft .NET Framework?” (Tip: Read .NET as “dot net” – stands for Microsoft .NET Framework (Fx))
=> A typical (basic) interview question you might’ve asked/been-asked, or as a non .NET techie, you would’ve pondered about this question, isn’t it? A curious layman – think of an octogenarian relative/contact (grandpa!) – who’s heard about .NET (or maybe even not!)… He could fox you with such a fundamental question… Especially after you just looked him in the eye & told him that you work on .NET, at the same time as you straightened your shirt collar, or ran your hand over/through your hair.

A (kinda crazy) thought just passed my mind last week, when I was chatting with my friend Hari Krishna, currently a (HSMP) C# developer in London (he hates VB.NET, so explicitly mentioned C#)… Well I thought that the .NET Fx was *just* like a ready-to-use gadgets-fitted James Bond car – specially made-to-order (as per the movie’s script ;-))! 🙂

I understand & agree (Yeah, I seriously do!), the .NET Framework is much much more than what it sounds above, but to a non-techie (or even to the interviewer), he/she gets the basic idea here. (I hope your octogenarian relative/contact (grandpa!) knows Bond as Sean Connery or Roger Moore… or if not, maybe he remembers the Bond girls, viz. Ursula Andress, Tania Mallet, Nadja Regin, Jane Seymour or Lola Larson! ;-)… Hey go easy, you could give him a hard situation at this age! 😉

Back to our  interviewer, he/she could also be impressed that you have given ‘deeper’ (& philosophical?) thought to their ‘question’, than just reply with a (vanillatextbook answer.

I’ll delve in a little deeper… Stick along…

C++ (my alma matter!), is like an old HM Ambassador. Powerful, but with a hard steering wheel & manual transmission. C# (of course, throw in your other favourite .NET compliant languages too) is like driving a nice (relatively) effortless & large Toyota Innova with power steering & auto transmission. 😛  (HK Sir always says he drives an ‘elephant’ in the city! :P)

Obviously, in contrast to the point above, though the Amby is not as fuel efficient as the Innova – increasing the ‘run-time’ costs; a binary built with a C++ compiler-linker is pretty small in size, as well as low & efficient on resources at run-time; in comparison to a C# intermediate language (IL) one. Let’s not get into the differences between a native binary & intermediate language code (IL is ‘supposedly’ OS independent. => ‘supposedly‘ because I’ve not tried porting, yet.).

So – while with a C++ program you have to spend a lot of time & efforts ‘plumbing‘ your code for optimal system resources utilization; C# allows you to focus on the functional issues of your program, rather than bother about the system resources. With the framework providing you with a host of goodies – it further alleviates your focus to the domain of the problem you’re working on through the program.

Isn’t that just like in the James Bond movies – where 007 has fantastic cars fit with special gadgets, specifically designed as per the movie’s script, because 007 uses each & every one of the gadgets it has? Though his cars don’t allow gadgets to be ‘plugged-in’ dynamically if required, he makes optimum use of the gadgets he has, i.e. his resources. He isn’t bothered about the car or the drive; he focuses on fighting the villains he’s chasing, or the ones chasing him, or even to charm his beautiful ladies. (OOPS guys -> Yeh Abstraction hai mere yaar! – Listening to Rahman’s ‘Yeh Delhi hai mere yaar‘ from Delhi 6 while composing this, hence the quote… nevermind!)

Similar to Bond’s cars – the “Framework”… “.NET Framework” (the name is “Bond”… “James Bond”)… makes the developer’s life easy by giving him/her ample ‘gadgets’ (ready to use classes/libraries/controls) – and even allows third-party gadgets (custom classes/libraries/controls) to be dynamically ‘plugged-in’ & put to use without any dev delays. These days the developers are reading more about theoretical concepts like Design Patterns, Architecture & Algorithms – rather than learning the programming language’s ‘grammar’, or as we techies call it, syntax & parameters. Aah, truly RAD! (RAD stands for Rapid Application Development, & not ‘radical’)

So, is this convincing (or pakau) enough now? (Yeah, & I could drag this crap this long to compose such a long post… Eh!)

I do hear the hard-core Java guys (Madhav [Jaba?], Manju, Sukesh!) squealing: “Hey, Java has always been like Bond’s cars!”! Well, Microsoft ‘innovates’ stuff and *markets* all of it sooo well [bang, bang, bang!] ($ rules :-(), can you blame me that I didn’t compare Java here, instead of .NET?

Hello World!

Being a programmer (now only at heart!), and that too a C, C++ one… everything starts with a “Hello World!” – Courtesy K & R.

throw, is a programming statement used to “throw handled/unhandled exceptions”. Read more, if you want to: http://www.cplusplus.com/doc/tutorial/exceptions/ & http://msdn.microsoft.com/en-us/library/6dekhbbc(VS.80).aspx

Anyway, a wam welcome!
Thanks & keep visiting for more about me & my experiences, thoughts, core-dumps! 😀