Friday, May 30, 2008

Google's New Favicon Sucks

Update: Google changed their favicon in new year 2009 again coloring what they had done earlier.

Favicons are a common thing on web pages today. Infact it is one of the first things that come to sight, when visiting a webpage. Today, I went to the Google analytics page and the favicon seemed a little different. It looked like Google's 'g' was non-capitalized and was sitting on some egg. I felt newegg had acquired Google Analytics ;-)

You can look at the screenshot below:

Analytics Favicon

I first thought the site has been phished or something happened... But realized it was just a favicon change. I like the capitalized 'G' that was earlier there... Infact I now see gmail also showing the new favicon!

Barcode Scanner for OpenMRS

The work on the OpenMRS module continues and I have just got a little more excited because of the barcode scanner that I just purchased. The Barcode Scanner is required to test the working of the module, which will be able to identify patients based on barcodes present on patient identity cards. The Barcodes will help solve problems where patients don't give correct information leading to duplicate records for the same patient.

The Barcode Scanner that I purchased is Argox AS-8000, near-range CCD scanner. Detailed specification on the product can be found here. I tested the scanner and it was able to detect a variety of barcodes. Its a low-end CCD scanner, but it detected nearly every thing I put in front of it. Even round jars and bottle!! Brian advised me not to spend much and hence I brought this open-box one. So was in a hurry to test, coz they have just 3-day testing warranty on these stuff.

Screenshots of the Barcode Scanner:



The Barcode Scanner works just like a keyboard and when scanning, the OS feels someone typed in from the keyboard. The scanner works on the PS/2 port of the keyboard and not on the PS/2 port of the mouse. My keyboard is connected to the PS/2 port and hence probably I'll buy a USB converter which will enable me to connect the scanner to the USB port. The Barcode Scanner won't be required by me until I reach the end of the search routines of the registration module... I'm still stuck on getting multiple patients from a search query!!

Wednesday, May 28, 2008

Google Starts Charging For The Cloud

Everyone has realized the real money is in selling the cloud computing services. Amazon had it, HP will be getting onboard and Google now wants to make money out of it. Services for running your web applications and providing you that server in the cloud, is expected to be the next big business on the internet and Google's foray called "App Engine" was launched for this cause. Initially free, Google will now be charging for hosting your apps on App-Engine.

App Engine currently supports just Python for your web applications. But it has promised that other languages will be added later. The good thing about App Engine is that its fast and easy to setup, if you have a Python web application. You can also be assured that Google is hosting it and hence chances are that the reliability and availability of your applications will be high! All those good features do come at a price and hence the fee that Google announced today is not really bad. But in a world of Google freebies (for excellent services), its a little hard to predict when Google will charge for a service.

The pricing for Google App Engine are as follows:

Free quota to get started: 500MB storage and enough CPU and bandwidth for about 5 million pageviews per month
$0.10 - $0.12 per CPU core-hour
$0.15 - $0.18 per GB-month of storage
$0.11 - $0.13 per GB outgoing bandwidth
$0.09 - $0.11 per GB incoming bandwidth

The pricing shows that its not all that costly compared to Amazon S3 and is cheaper than what you would be spending on your own hosting and maintenance. The API provided with App Engine is pretty good and Google has added an image-manipulation API that can scale, cut, crop and rotate images. Another API for better caching (memcache) has also been added. As time goes by, it'll be interesting to see how many languages are added to App Engine. I'm hoping Java and Ruby/RoR is added quickly and I may deploy some web apps and get some clients for that deal!!

Review: Opera Mini 4.1 Rocks

If you have been following my blog, you'll knw that I've been excited about the world of mobile internet. Unfortuantely the mobile internet story in India isOpera pretty poor due to the bad data services provided my the mobile operators. This problems are of every kind: high cost, slow data speeds, low signal on GPRS. CDMA (from both Tata Indicom & Reliance) does provide "ok" data services, but the available handsets choices are pretty bleak!

But for any internet experience, the browser plays a major role. I've been a fan of Opera Mini and have been using it all the while. Its runs on a wide range of handsets and with their latest release, I was excited to try it out. I downloaded Opera Mini 4.1 on my k750i, 2 weeks back and have been running it for some time now. Opera Mini 4.1 introduces the following new features:

  • Opera Mini 4.1 is up to 50% faster than Opera Mini 4.0
  • The new Opera Mini will automatically suggest URL completions, making address input easy and intuitive
  • Web pages can be saved for later off-line viewing
  • Opera Mini 4.1 gives you quick access to the word or phrase you want in Web pages
  • Images, ringtones and other content can be downloaded without leaving Opera Mini.

Opera Mini does bring the full web experience to the mobile phone and makes it usable on the cellphone. The image compression and quick rendering of pages are perfect for low-bandwidth GPRS that I suffer from. I have observed considerable speed improvements in 4.1 compared to 4.0. This blog would take about 26sec to load on Opera Mini 4.0 and now loads in 18sec with the Opera Mini 4.1. That's not exactly 50% faster, but still its quite fast!!

Another feature that I have really found useful and is my favorite on the desktop Opera is the suggest URL. I generally forget the exact URL of the page I visited, but remember some part of it.I just need to type that word I remember and Opera Mini suggests me the URLs with that word. Firefox 3 will be adding a similar feature for the desktop and Opera already has it on the desktop and now adds it to the Mini. Offline viewing is also excellent and very useful when your GPRS connection is poor.

I have been very satisfied by this release of Opera Mini. Anyone who wants to try the mobile web browsing experience should start with Opera Mini. It does have those zooming, full CSS and JavaScript working to show the webpages as it would look on the desktop. Download it from here. Opera Mini 4.1 completely rocks!!

OpenMRS Registration Module Begins

The Google Summer of Code 2008 timeline shows that we start coding from 26th May and I've already started coding. Before the coding there was thislogo "Community Bonding Period", and I'm not sure if I've done bonding with my community members, but sure I've been talking with my mentor Brian... and he's really a cool guy! We talked a lot about technical as well as personal stuff. He invited me to this house virtually through Google Street View and it was really nice talking to him. I bonded with him well !!

In the meantime, I have been pondering and working on the ideas for the OpenMRS Registration Module.  My Introductory post on OpenMRS showed a lot of interest from friends and got a lot of questions from colleagues. Thanks to r0bby, who told me on the IRC about SoC and talked about contributing to OpenMRS.

The work on the Registration Module has begun and I created the Registration Module documentation page. It is still incomplete on the UML diagrams, but is good enough to show the workflow through the Use-case. Brian and I have also worked on my project plan and have made a timeline that I need to follow. The timeline is a good motivator and will be putting that up on the project page as well. OpenMRS and open-source developers in general, advocate the idea of quick and early commits. OpenMRS shares the Story of FLOSS to make this idea stand out. I'm still trying to get into this mould of development, coz I mainly advocate the planning/design approach. You take twice as much time to design compared to code, but I need to get agile and work on the Bazaar way of open-source. More eyes... More interest and faster working deliverable!!

With this in mind, I tried to commit the basic module changed to registration module, but it gives me a 403 error:

Error: CHECKOUT of '/!svn/ver/4193/openmrs-modules/registration': 403 Forbidden (

I can login through the trac web page. So probably some issue with either my SVN client (TortoiseSVN) settings... or something on the SVN server side!!

Tuesday, May 27, 2008

Dress Up Orkut With Themes

Orkut is one of the big social networks on the web. With other social networks evolving everyday, Orkut doesn't want to be left behind in the race. And with this in mind, Orkut has added a new feature of "Themes". Themes allow users to change the look-and-feel of the scrapbook, profile pages. Earlier users had to use 3rd-party JavaScript (with GreaseMonkey only on Firefox)  to use custom-themes, but now Google has added themes for everyone to enjoy.

Orkut currently shows only 4 themes:

Spring Theme:


Country Theme:


Beach Theme:


and the Classic Blue Theme...

You can also disable the themes if you wish... You will also be allowed to create your own themes and just like Orkut apps these will be downloadable and sharable with your friends. Themes have not been rolled out to all the users, but will take a few more weeks to be shown to all the users. Just like the success of Orkut Apps gave an opportunity to developers, Orkut Themes will give designers a chance to monetize their skills.

Monday, May 26, 2008

Vista UAC Better At Rootkits Than AV

Vista has been the favorite punchbag of the blogosphere, but I have to say that I think some of the features that are part of Vista are really interesting and useful. UAC is one of those useful features of Vista that's been brought in from the Unix world of superuser/sudo. PCWorld reports that Vista's UAC (User-Access Protection) does a better job at detecting rootkits than antivirus products. I do not completely agree with their comparison of UAC vs Antivirus products, but it does highlight a very important point.

Windows Vista's UAC shows a dialog box every time something important is being changed in the system. It tries to warn the user about some system settings are being changed. But like most other good things, it has a side-effect. Vista's UAC screen comes up on the screen too many times and feels like its a nag-screen. But in reality, after some initial days, the Vista UAC screen doesn't come up often and Vista learns what operations are allowed by the user as non-malicious. So, UAC is a good feature...right?? Yes, it is, but then patience is a virtue rarely found in computer users. Instead, most people I know turn off UAC as soon as its Vista is installed.


On the other hand antivirus products sit on the system and observe files and downloads. They compare the files with virus signatures that are downloaded regularly off the internet. Whenever some file or behavior matches to that of a virus signature, the antivirus product shows a red flag! But rootkits are a lot more difficult to inspect, especially after your system has been infected with one. PCWorld reports:

Of 30 rootkits thrown at XP anti-malware scanners, none of the seven AV suites found all 30, a similar story to the six web-based scanners assessed. Only four of the 14 specialized anti-rootkit tools managed a perfect score.  The results for Vista products were harder to assess because only six rootkits could run on the OS, but the testers had to turn off UAC to get even this far. Vista's UAC itself spotted everything thrown in front of it.Only three of the 17 AV tools for Vista managed to both detect and successfully remove them, F-Secure Anti-Virus 2008, Panda Security Antivirus 2008, and Norton Antivirus 2008.

Rootkits look so similar to Operating System files, that most antivirus can't accurately detect them and its even harder to remove them considering that some incorrect detection may make the system instable. Rootkits are also not specifically only a threat to Windows, but are across every major operating system. Although with UAC, Vista gets the same ideology of protection that Linux or other UNIXs get. The only major problem with it is that the user has to be vigilent enough to realize the rootkit is being installed on the system and stop that operation from happening.

Thus, it is important to note that UAC does provide good security, but its upon the user to understand what is happening in the system. Another lesson is to realize that antiviruses cannot save you from everything. You have an intellect...use it!!

Saturday, May 24, 2008

Improve Apparent Application Performance Through UI

Have you ever felt that your application feels heavy or takes a lot of time to load? Do your users and customers expect "Improved performance" in the what's new list with every release? Does your manager feel you've been sleeping when he asked for performance improvement? Don't worry... this post is will provide hints on how to improve performance by making the user feel that the application is smoother and faster.

As developers, we generally tend to look under-the-hood to improve performance. A better algorithm, lesser memory leaks, better caching etc... is what we think when we wish to improve performance. But with just some simple user-interface (UI) tweaks, we can do wonders. Its not that the above improvements don't work. Its always better to optimize things under-the-hood, but a often simpler and faster way to speed up the feel of your application is at the UI-level.

To give you a few examples of widely used applications, Windows Vista SP1 is supposed to have improved file-transfer performance. One of the improvements was to improve the UI and it really proved useful to convince the user of a better performance. For web applications the use of AJAX improves perceived performance. Although whole page refresh takes longer and AJAX will help load only certain page elements, the implications of use of AJAX is more than that. Most of the times, even if AJAX takes longer to process a server request, we can have asynchronous smaller updates to a webpage and since the user saw some change on the page, it makes the user feel that the operation is happening faster, although in reality its gotten slower.

To point out another example, which I observed 3 days back was with the gmail's new loading screen. Gmail seems to advertise improved performance with the latest release, but I've observed that the loading time has actually increased. But since they added a new loading screen with a progress bar (screenshot below), it feels faster than previous loading times.


From those example we come to understand that perceived performance can be improved by:

  1. Smoother ending to a loading screen makes the user feel that the loading finished faster.
  2. Quick start to a loading process feels like faster performance
  3. Smaller but quicker changes improve perceived performance
  4. Shortening transition animations makes user feel that performance has improved.

Friday, May 23, 2008

Intel to Own Hard-disks in Centrino 2

Intel has been on a war to conquer every PC component. And as the war wages ahead, Intel is going ahead to capture the hard-disks in laptops through the intel_logo Centrino 2 branding. Intel will be adding SSD drives to the list of requirements to make a laptop have the Centrino 2 logo. Intel has recently uncovered gold in manufacturing and this seems to be a logical steps towards increasing demand for these drives.

Intel's Centrino has been the most successful PC branding and its synonymous with laptops with Wifi. If Intel Inside brought processors to the limelight, Centrino made Wifi and Wireless Internet a necessity inside laptops. Intel has plans to do something similar with SSD (Solid State Drives) in laptops.  Intel High Performance SSD is mainly targeted towards enterprise, mid-range and high-end notebook markets. Intel High Performance SSDs come in 2 variations - Client X25-M (2.5 inch) and Client X18-M (1.8 inch). Both the SSD drives will come in 80Gb sizes and will have the SATA interface. By the end of the year, Intel will be selling 160Gb SSDs and 250GB in 2009.

If you think that Intel SSDs is only good for Intel, then its an incorrect notion. Intel SSDs are the best performing SSD in the market and come at excellent sizes. Intel is also pricing these pretty competitively. The SSDs also require less power compared to normal hard-disk drives and this means that the battery life of such devices are higher. These laptops will also feel lighter and perform equivalently or better in most conditions.

NVidia Wishes It Could Live Like Intel

Nvidia has been kicking quite a lot of mud on Intel. Recently, it started with Nvidia claiming the GPU is more important than the CPU, then it was calling nv-intel Larabee a powerpoint slide and then claiming that Intel is a monopoly that doesn't want anyone else in the market. But in reality, NVidia dreams to be at Intel's position and its been proved once again with NVidia buying Utah-based ray-tracing company RayScale.

If you've been following the discussion, or you read the above links, then you'll realize how pissed off the Nvidia CEO Jen-Hsun Huang has got with Intel. The reason for this anger is that Intel has been researching on architectures that are supposed to replace GPU (graphic cards) from computers. If Intel succeeds, it means Nvidia are without a market. Intel calls these next-gen processors that will be able to process graphics along with normal CPU operations as Larabee. AMD is also working on something similar called Fusion. NVidia on the other than doesn't have much to bet on. Although CUDA is starting to make GPUs do the work of CPUs, its way more steeper upgrade curve. Imagine porting all your normal Apps to CUDA vs Optimizing your games for a CPU that can show graphics.

With all that trouble knocking on Nvidia's doors, obviously you can't blame Jen-Hsun Huang for his anger. But today's buy of RayScale could point to what NVidia could do in the future. Intel has been pursuing a lot of research on Ray-tracing as a replacement for the vector processing that we see on today's graphic cards. Ray-tracing can be done on CPUs or Larabee/Fusion and could render images on screen, with more realistic lighting and shadow effects. Currently it takes a lot of processing, but it isn't too far from becoming mainstream once we have optimized processors. NVidia may be preparing for such a product and RayScale could be its software partner to move in that direction.

Nvidia also does not have the great fabs that Intel owns. Intel's strength is its production and NVidia really can't manufacture its own designs. Thus, if Nvidia even manages to create a killer GPU+CPU, how can it create enough of these for the entire world?? AMD on the other hand with their ATI buy can switch anywhere between a CPU+GPU or GPU+CPU... But haven't you heard: If you've got one leg in one boat and the other leg in another boat, you end up catching your groin!!

Wednesday, May 21, 2008

Office 2007 to Support ODF in SP2

According to, Microsoft will be supporting ODF (Open Document Format) in Office 2007 through Service Pack 2 (SP2). Office 2007 SP2 is expected to be released in Q1 2009 and will be adding support for saving and opening ODF files, just like other competing office suites like OpenOffice has been doing.

Microsoft recently had been criticized widely for the ISO standardization of its OOXML format (docx, pptx...etc). The entire community of open-source document suites was against the standardization of OOXML. Thus, this announcement comes as a surprise after the recent tussle with the ODF community. Along with ODF, Microsoft will be increasing compatibility and support for Adobe's Portable Document Format (PDF) and XML Paper Specification (XPS).

Tom Robertson, general manager of Interoperability and Standards at Microsoft, said:

"We have heard from customers and governments that they would like to see us do this. Now is the time to announce this support. It's also important to announce this now because we want to get involved in the maintenance of ODF. We have ongoing dialogue with the EC, so we will absolutely have a discussion with them about these steps [supporting ODF] and get whatever feedback they may have on it".

Microsoft also has plans to join the Organization for the Advancement of Structured Information Standards, or OASIS, which is the primary body for the standardization and improvement of the ODF format. How Microsoft is going to affect the future of document standards is really an important question that everyone needs to be asking? We will really have to see how Microsoft is welcomed by others in the community after the recent clash between the two formats!

Intel HexaCore Dunnington at 2.66Ghz

Intel has taped out its six-core processor running at 2.66Ghz, which it plans to release sometime in Q4 2008. Intel's six-core processor is currently codenamed Xeon Dunnington has 3 dual-core processors stuck with each other and run as a single packaged processor. The processor will require a new socket to run. But the good news is that Intel is able to extract good speeds from it.

Dunnington is a reply to AMD's 3-core processors (TriCore), which AMD had initially thought to be value-for-money for the customers. Intel on the other hand has no plans to sell Dunnington's for cheap and will be sold only as server processors, under the Xeon brand. The Dunnington processors have a huge cache of 16MB, which should be very attractive for applications that run a lot of threads. Another news has it that, Dunnington will be running a single thread per core, and does not use HyperThreading (HT) technology.

The last time I met an Intel Design Engineer from Bangalore, I had heard that Intel was much impressed by Sun's designs in Rock or Niagara 2. Lots of concurrent threads on a core are very good on servers. Intel seems to going forward with the core-race at the moment, but I expect a switch to more threads on a core very soon!!

Tuesday, May 20, 2008

Opera Affirms Popularity of Social Networks

Everyone knows that Social Networks are the biggest phenomenon of Web 2.0. Facebook, Orkut and MySpace is on everyone's online list. Opera today affirmed Opera that Social Networks are the most visited websites by people using mobile phones. According to the latest figures released by Opera, traffic to social networks comprise almost 40% of the mobile web.

opera_server Opera Mini is the most popular web browser on the mobile phone and is available on all kinds of platforms. Opera Mini is free and comes pre-installed on a lot of mobile devices. Opera renders webpages through an innovative technology. Opera's mobile software uses a remote server to pre-process Web pages before sending them to your phone. Web content is compressed to reduce the size of data transfers, enabling fast browsing experience at low costs even on simpler phones. By doing this, Opera Mini is able to display the web page as it is viewable through a desktop browser, but decreases the size of the images. This makes webpages to load faster and costs less to people who have limited data services on mobile phones.

Opera Mini thus provides information to Opera's servers on what websites are being accessed. Thus, today's report can be considered to be pretty accurate. I have been using the latest release of Opera Mini 4.1 for the past few days and its been a very good browsing experience.

Another interesting thing to notice from the report is that people still visit a lot of .mobi and WAP websites. It accounts for 23% of the traffic. But Opera mentions that this number is on the decrease and people are moving to the full web experience.

As far as India goes:

Snapshot: India favors social networking, with nearly half (48.9%) of all traffic going to social networks.
  10. seems to be the surprise. Didn't know that this site was so popular for mobile users in India as well as from all around the world. Indonesia and U.S mobile users are the biggest users of social network. 63% of opera mini users surf these websites and it comes as no surprise that people now use the mobile device, just like they use their PCs.

With newer internet devices coming, newer processors being created for such devices, newer mobile operating systems coming up... the mobile web is surely the next big thing in the world of technology.

Monday, May 19, 2008

Acrobat Reader Being Developed for Solaris x86

If you have downloaded the latest Solaris x86 (2008.05), and tried to download the Acrobat Reader, then you are like me and haven't found a version for your acro_icon newly installed OS. Adobe today announced that it is developing a version of Acrobat Reader for Solaris x86. But Adobe says that it'll be released only in 2009 and not this year.

The announcement reads:

This was, of course, not a straightforward decision - there are lots of dependencies that we need to deal with, including third-party dependencies, platform limitations, internal and external dependencies and resource constraints. These constraints are not always apparent but have to be dealt with when a huge product like the Reader needs to be ported to a new platform.

The announcement has two sad things for me. It is going to take too long to release and why hasn't Adobe already started working on it. PDF is like the standard for document sharing and it is widely used. Solaris is also a big platform, although the x86 move is a pretty new one. Adobe already has a version of Acrobat Reader for the Solaris SPARC platform. So it seems odd that making the dependencies is going to take so much time!!

Netbeans 6.1 Vs Visual Studio 2008

Its been a while that Netbeans 6.1 has been released and I thought it would be a good time to update my previous comparison between Visual Studio 2008 and NetBeans 6.0. Netbeans 6.0 added major features and NetBeans 6.1 comparatively is a minor upgrade, but nonetheless added lots of new improvements. Visual Studio 2008 was also in beta at that time. In light of new improvements and changes, I thought it'd be good to have an updated comparison between the two IDEs.

We need to understand that each IDE has something better and makes the developer more productive. Also, please keep in mind that I'm not comparing .NET and Java here, but only 2 IDEs, so we discuss features that can be applied to both languages/platforms.

Netbeans 6.1
Visual Studio 2008
Supported Languages C/C++, Java, Ruby, Php, Javascript, HTML/CSS, JSP, JavaFX, XSL, WSDL, UML, Groovy, Scala, Prolog, Tcl C/C++, C#,, XAML, HTML/CSS, JavaScript, LINQ (Language INtegrated Query),, XML/XSLT. Both Visual Studio and Netbeans are extensible and can support new programming languages.

VS2008 uses languages services through which VS supports languages like Ruby, Python and F#. These are not out-of-the-box though and are difficult to add to the IDE. You even have to pay some bucks to get those languages integrated with VS and different vendors sell configured IDEs for those languages.

Netbeans on the other hand has an excellent plugin system and finding and installing new language support is simple and easy. The plugin manager shows available plugins that support the new languages and anyone can create/install these new plugins free of cost.
Supported OS/Platforms Windows, Linux, Unix, Solaris (SPARC, x86/x64), Mac OSX (Intel, PowerPC) Windows and different versions of Windows Netbeans 6.1 can be installed and run on a host of different platforms. It's open-source and it's Java. So, it generally means it can run anywhere with the JRE installed. VS2008 on the other hand is only targeted towards the windows developer.
Code Completion Excellent code completion for a host of different languages and understands lot more language docs. Fast code completion, but less options at a time. Need to use arrow keys. Visual Studio 2008 has a snappier code completion compared to Netbeans 6.1. Code completion and hints speed has improved in 6.1, over previous versions, but still slower than VS2008.

VS2008 requires using the arrows to scroll through different parameters of methods while Netbeans shows all at one go. Thus, learning through Netbeans is better for newer programmers, who want to find the best method.
Source Code Editor Editing code is simple and easy. Provides different events when you right-click on the component and code can be written for that specific event. Editing is simple and easy. Switching between the designer and code screen is double-clicking the control Source code editing is equally good in both. Netbeans 6.1 has a better feature where it can highlight a variable that used at different places. So you can easily identify the lines at which the variables are used when you are writing code.

Refactoring code is slightly better in Netbeans and offers a lot more options compared to VS2008. Moving code is slightly better in Netbeans 6.1 than VS2008.

Visual Studio's code editing is lot more integrated across different types of projects. Netbeans still seems to be separate IDE for Java EE and Java SE or Java ME development. Like #region works on all projects for code folding, but Netbeans doesn't have such a common code folding (i.e. <editor-fold> doesn't work in all projects). 

Netbeans 6.1 has an excellent JavaScript Editor which is on par with VS2008's Intellisense JScript & AJAX Editor. The JavaScript docs integration in Netbeans 6.1 is better and code hints are better in Netbeans 6.1. Check this video to see the strength of the new JaavScript editor in Netbeans 6.1.
GUI and RAD Tools Netbeans Matisse, JSF Components, Database Application, Beans Binding, Excellent UML design tools, Mobile Designer, BPEL designer are some RAD tools not found in VS2008.

Java ME GUI development is excellent. Excellent device management in Netbeans 6.1. SVG support helps create great looking scalable mobile applications. Useful common components from Netbeans for MIDP.
WinForms, ASP Form designer are great. XAML visual designer, Database schema managers, VB-XML bindings, Vista UAC manager are some of the enhancements to the VS2008's RAD/GUI tools. Both IDEs are probably the best GUI builders and RAD tools. VS2008 Team System Database Edition has excellent database-code integration tools. LINQ code generators are another excellent feature in VS, not found in Netbeans. Netbeans plans to add similar features in Netbeans 6.5 and it makes more sense to add these features, since MySQL is now part of Sun Microsystems.

Visual Studio's VB designer was excellent and probably helped VB reach great popularity. Today Microsoft expects same with XAML designer which can import designs made in Microsoft Blend. Winforms and ASP forms are great as always, may be sometimes better than Netbeans. You can create the Ribbon UI of Office 2007 very easily using VS2008.

Netbeans until version 4 not much of a RAD tool, but today is probably the best RAD Java IDE out-of-the-box. JSF web app designer is great, maybe not be better than ASP forms, but its not behind as more JSF components are added. Swing Application Framework and Database applications are awesome and you can build amazing dB driven apps in minutes. Check out the video and you'll realize how?? Netbeans 6.1 features an even better Mobile Application Designer for JavaME (J2ME), which can design screens and play with SVG menus. Haven't seen a simpler mobile app designer ever, with nice flow designer. RAD tools are something netBeans 6.1 scores higher than most other IDE
Compiler /Loader / Debugger Newer Lexer makes faster runtime compilation, JavaScript debugger with Phobos support and jMaki. GWT is also supported. Parallel compilation on multicore systems, Standard Template Library (STL) for C++ devs to use .net framework, Web Services hosting for WCF-based apps.

Debugging AJAX scripts and AJAX components within pages are excellent.
Multicore compilation in VS2008 does improve performance by a good 25-30% over previous versions on C# apps. I wonder how much of multi-processors or multicore, the java compiler uses. Really couldn't compare compiler benchmarks since they are different languages.

Visual Studio 2008 brings integrates web services hosting, which earlier had to be done separately by the users. netBeans has tomcat 6 and glassfish v2 integrated, so VS2008 comes on par with netBeans 6.1.
Netbeans 6.1 still takes about 30sec to start whereas VS2008 starts in 20sec. But for Netbeans it really depends on how many modules you've installed. I've seen Netbeans load within 20s with only the basic modules installed.
Profiling NetBeans 6.1 has a profiler integrated and a really good one too. VS2008 improves load testing capabilities by providing a multiple machine graph view that brings together the test results, performance, and health of all the machines under test. A new area in VS2008 is the ability to drive system performance tuning and diagnostics through the VS test tools. This enables developers to run profiling during tests.

Profiler is great addition to Netbeans. While coding you can experiment and choose the best algorithms/implementations by checking memory, processes through the profiler. A load analyzer like Mercury's LoadRunner is a highly specialized 3rd-party tool, but people who want simple stuff should really be happy with the Netbeans profiler.
Designing / UML UML, BPEL, Flow Designers for Mobile apps and web apps. Not much Designing tools, but Visual Studio 2008 Team System does have some improvements. Team System does have nice code tracking features. Netbeans scores pretty high on this one. Although you can always use 3rd-party software, but its great to have it in the IDE itself. VS2008 is not much of a software designers tool, although the Visual Studio Team System is a great improvement. IBM's Rational is great, but then for the money-saver there's Netbeans UML tools.

Code comparison and tracking isn't available in Netbeans. VS 2008's Code Metrics does an excellent job at analyzing code and reporting about code. Excellent stats can be found through Code Metrics

& Collaboration
CVS, Subversion and Mercurial are integrated in Netbeans 6.1. Unit Testing tools have slightly improved, Source Control System is added to Team System Unit Testing is excellent in Netbeans compared to VS2008. Ant tools are useful, but VS2008 creates scripts in Team System that can do nearly similar things.

CVS, Subversion and Mercurial make Collaboration Tools in Netbeans better than VS2008. Clearcase is also available as a plugin for Netbeans.
Installation Size & Price Netbeans 6.1 has increased in size, but is very small compared to VS2008. Netbeans 6.1 available with different bundles.

Netbeans can be downloaded free online or you can request a free DVD to be shipped.
Visual Studio installation size is huge and so is the size for the setup program.

It is also costly. But developers can try Express Editions free of cost to get the basic IDE.

Not much here to say, but VS2008 has .Net Framework 3.5 integrated with it and is a requirement. Also SilverLight CLR is added. A lot of other required libraries for WPF and WCF, which makes it larger in size.

After MySQL buy, we also have Netbeans 6.1 bundle available with MySQL. Netbeans 6.1 bundles are also available with JDK 6.
Misc Specialities Visual Studio 2008 has a something called "Visual Studio 2008 Shell". Its just like the Netbeans RCP or Eclipse platform. It allows developers to create their own IDEs based on the platform and we know how successful eclipse has been to do that. Read here for the discussion

Netbeans 6.1 also has Ruby on Rails Template for making quick blogs. Netbeans 6.1 has derby as an integrated database (since JDK 6 provides derby out-of-the-box). It means you can have databases embedded within your application and no requirement for an external database server like SQL Server or MySQL. Netbeans 6.1 is ideally suited for creating Web services. Axis2 is supported for Web Services in Netbeans 6.1. Netbeans also allows faster creation of apps that make use of web services. Developers can simply drag and drop operations under those services into a POJO, Servlet, JSP or RESTful web service and the IDE will generate all the plumbing code to access those services.

VS 2008 does not include specific tools for editing WCF's XML configuration files. After Microsoft Blend import, web designs cannot be exported back to Blend.

The performance improvement in Netbeans 6.1 is a welcome change. Performance has improved as much as 40% in Netbeans 6.1 compared to Netbeans 6.0. Visual Studio on the other hand has slowed down over the years starting from VS.NET.

Both the IDEs still need to improve a lot more on RIA development with the focus slowly shifting towards a more desktop looking web. Expression Blend is moving pretty good for Microsoft and is an excellent tool for XAML/Silverlight designing. On the other hand, Netbeans isn't doing enough to support JavaFX Script yet. With all the talk about JavaFX at JavaOne 2008, we hope to see JavaFX come better in Netbeans 7!!

Saturday, May 17, 2008

Adobe Flash Player 10 Shows 3D

Adobe's play with Acrobat 3D didn't go too well. Acrobat 3D was for creating 3D models and save them as PDF. It was a nifty and useful idea, but didn't sell much flash as everyone used their favorite 3D tool and printed (PDF using Distiller) the different views. But now Adobe has added 3D to its latest Flash Player 10. Adobe is showcasing the feature through a beta.

Flash Player 10 is available for Windows, Linux and OSX and features new 3D filters. The latest beta known by codename "Astro" has 3D filters and custom effects and allows native GPU acceleration for 3D animations. Thus this brings the power of the GPU to be web through Flash animations and videos. And Flash being the de-facto for animation on the web, its an excellent thing for the web developers and users alike.

From Adobe's Press Release:

Adobe Systems Incorporated (Nasdaq:ADBE) today announced that the pre-release version of Adobe® Flash® Player 10 software is now available in beta on Adobe Labs with new expressive features for interactive designers and developers to build richer and more immersive Web experiences.... Custom filters and effects are created with the Adobe Pixel Bender™ toolkit, also available for no charge on Adobe Labs. Adobe Pixel Bender is the same technology behind many filters and special effects in Adobe After Effects® CS3 software. Flash Player 10 beta can now create their own filters, blend modes and fills with Adobe Pixel Bender by writing small pixel-shading functions that can be parameterized to create animated effects or change the effect on rich media content at runtime.

The downloads can be done from here... and you can view some exciting new demo videos from here.

Friday, May 16, 2008

Microsoft's Seven Deadly Sins in Windows

Win_logo I've seen a lot of Deadly Sins post from around the blogosphere and I've also seen the rants on Windows Vista. Both the stories somehow clicked and formed a connection in my head. There are a lot of other software/company that commits the sins, but we already have the eternal bash toy called Windows/Microsoft. So I take my cue at Windows and convey my anger on the BSOD, I just saw on my desktop!!


For those who don't know much about "sin", its an act/feeling which is understood to degrade the human soul and distances oneself for serenity. Every culture/religion has a few norms and refer to these sins slightly differently. Thus, every developer/user may realize my views either as sin or as virtue. The following sins do not follow any specific order:

Lust (Latin: Luxuria; Hindu: Kaam)

Lust is when we work a lot to improve superficiality of software and that's good enough to lure a lot of people. Irrespective of how much hardware that lust requires, we are drawn towards good looks. Microsoft did just that and Windows Vista had DirectX 9 hardware as a requirement to view Aero. It got a lot of criticism for increased hardware requirement and more usage of RAM. In fact, Microsoft has to fight "Windows Vista Capable" and "Windows Vista Premium Ready" at the courts and even within its own walls!! All due to lust!!

Envy (Latin: Invadia; Hindu: Matsar ==> Jealousy)

If you know how Microsoft came up with the GUI, then probably you'll know something about it being related to Apple. When Bill Gates and friends, they saw the Mac's GUI, they got envious and jealous that the Mac looked better than Windows. It had better usability, better window management, better shortcuts... It was so good, MS copied and even named the damn things Windows 2.0... Windows 1.0 sucked at doing windowing and Microsoft only learned the game, when they really worked out their own ideas in Windows 3.0. They gave away the envy and got back to work!!

Wrath (Latin: Ira Hindu: Krodh)

Microsoft got very angry when it saw another company taking over the web. The other company was called Netscape and its browser was becoming more popular than Internet Explorer (IE). Netscape regularly criticized IE for its issues and Microsoft couldn't bear that it was being bullied by the underdog. Microsoft showered its wrath on the browsers, and bundled IE with Windows 95 OSR. The browser got stuck so much with Windows that Microsoft had a few legal lawsuits and Netscape dies with time. Even if someone thinks Microsoft wasn't to be blamed for Netscape's death, a sticker of a monopolist got stuck on Microsoft only because it got angry in the browsers war!! Now its always at a risk of trying to bundle something into the system

Greed (Latin: Avaritia Hindu: Lobh)

Microsoft could have easily sold Windows 2000 with some simple basic changes for home users. But it got greedy and continued to milk the 9x core. And they released something known as Windows Me. It was called by many other ugly names, but probably you can associated many other cardinal sins to this release.Primary it was a marketing reason why this version of Windows was released and its been a black spot in Microsoft's reputation forever. Greed never pays off!!

Sloth (Latin: Acedia Hindu: Moh ==> Attachment)

Microsoft's sloth with Windows XP was so much that it believed it has done the best it could and didn't want to do anymore than what is required. Thus, Microsoft was completely lost about what to do in next release. Even if they thought, they were thinking too many things. Even sending someone to the moon would have been cheaper than building Windows Vista that came after 5 yrs of XP. Sloth brought the downfall and people are so much attached to XP that Vista doesn't mean much to consumers.

Pride (Latin: Superbia)

With Windows XP's success of selling lots of copies quickly, Microsoft got proud of its success. Celebrating for too long and basking in the proud glory of Windows XP proved costly to the development of Vista.

Gluttony (Latin: gula)

Microsoft is currently working on Windows Seven (also Windows 7 or se7en). Gluttony is one sin I believe Microsoft could be doing with this version. Gluttony is the act of over-indulgence. Microsoft already released too many versions of Windows Vista. Windows 7 could just show the gluttony with Microsoft releasing even more versions. The "componentized" architecture could just be for selling different components of the OS at different prices. Although Microsoft promises Windows 7 to be leaner and consume less resources, it could very well be the basic version. Microsoft could be gluttonous by selling different versions at different times as well... Still there is time before Windows 7 will have a feature freeze and then we will really come to know what's inside Windows 7.


With this post I wanted to highlight some of the mistakes Microsoft has made with earlier versions of Windows. Hopefully none of these cardinal sins are repeated in Windows 7 or else the other alternative OS are really catching up and Windows may not have enough time to get back!!

I believe that its stupid to fanatically claim something to be the truth... So I may have completely misunderstood these sins or versions of Windows. But I just now remembered that the opposite of sin is faith, not virtue!!

Thursday, May 15, 2008

Does Firefox Tracking You Make You Fear ?

Mozilla, the guys behind the popular open-source web browser Firefox are in the works to create a "Stealth Data" project. The project known as Test Pilot,FF which I  initially thought was a pre-April Fool's Joke is the project which will take user-data from the browser and monitor user's browsing behavior. This will be anonymously aggregated and displayed to everyone.

The main idea behind project Test Pilot is that it will enable a web to share data in open and free way. We can have lots of data mashups and link user surfing habits. John Lilly essentially talked about this project with TechCrunch and highlights some of its usefulness...

Overview of Test Pilot
We can provide a much more satisfying experience all around by putting in place some basic infrastructure. Here’s the idea:

  • We develop and promote a formal Test Pilot program with a Firefox add-on at its core.
  • The first time the Test Pilot add-on is run, it asks a few simple non-personally-identifiable questions in order to put the user into a demographic bucket, e.g. technical level, locale, etc., and to let them opt in to additional anonymous instrumentation.
  • Test Pilot will then notify its users when a new experiment is available for testing. If the user opts in, it will download the required software (if any) and load any information required to get started with the new experiment, e.g. overview, use cases, etc.
  • After either a specified amount of time or upon completion of a specific action, Test Pilot will prompt the user for feedback. The feedback form will only ask a few questions selected from a much larger set. A link will be provided to provided more comprehensive unstructured feedback or bug reports.
  • The set of questions posed for feedback will be randomly distributed within each demographic bucket to ensure statistical significance of the results.
  • Anonymized aggregate results and analysis will then be posted automatically to the Test Pilot site.
  • All participants will receive a “flight badge” displayed in their Test Pilot profile and available to embed on blogs, social networks, etc.

The idea is that by reducing the amount of required feedback to only a few clicks we can increase overall rates of participation.

So what are the odds of this becoming a privacy threat?? This is supposed to be an opt-in thing unlike what Facebook thought doing with Beacon. It will be anonymous aggregation of data and will probably be displayed for the world to see. Hopefully, we don't have to pay anything to see that data or else we already have ComScore!!

But what if Microsoft was doing the same thing?? There would be a huge noise on privacy!! May be Firefox is open-source and hence the favorism, but then how easy would it be for someone to play with the stats?? Would it truly be able to show how the web data is being accessed?? Is this how we will move to Web 3.0?? Is it enough to provide data from the browsers??... Quite a lot of questions to answer before we can start clapping and move to the semantic web!!

Tuesday, May 13, 2008

Bill Gates Creates Hype For Windows 7

Not that I'm against Windows or Bill Gates, but then the recent speech from Bill Gates really feels more like marketing than anything else. Bill Gates has been Windows7 recently traveling to different countries around the world, and is trying to make governments to use Windows. Bill Gates has also been offering software as a medium for change in society to developing countries for free.

At the Windows Digital Lifestyle Consortium in Tokyo last week, Gates talked a few times about Windows 7. Gates said that Microsoft will be shipping Windows 7 sometime in 2010 and highlighted the fact that it will use less power and have lesser memory requirement. Now both these claims are not very believable looking at Microsoft's track record. Vista really blew it off with the system requirements and we all know how much minimum RAM and graphics are required for the promised Windows Vista.

Windows 7 is supposed to be based on Windows Vista and the current builds of Windows 7 don't seem to be much different than Windows Vista. How Microsoft plans to make Windows 7 more energy efficient wasn't mentioned by Gates. He also promised that Microsoft will be shipping a new version of Windows every 3 years. Wasn't it Bill Gates who said IE would ship every 9-12 months... IE8 hasn't been released, even though IE7 was released way back in Nov 2006.

So, it seems Bill Gates is on a marketing spree for Windows these days. Philanthropy is something the guy's really good at, marketing should be left to someone else...

EDS Letter On HP Buy

The big tech buyout story of 2008 is not Microsoft-Yahoo merger (or Microhoo!) as people have been thinking. Its the big budget buy of EDS from HP. HP has just pulled off another Compaq-like deal, but this time its not for grabbing the hardware market. Its a lot more broader market that they wish to capture. And for the deal, HP will purchase EDS at a price of $25.00 per share.

The EDS buy is more of a services and IT outsourcing plan from HP. EDS has lots of data centers around the world and has perfect infrastructure for the future of the web and web-based services. On-demand-IT, popularized by IBM ads in recent years is probably the main focus of HP buyout of EDS. Unlike what people think, EDS is not just an outsourcing company. EDS has got lots of data centers and manages those very well. Thus, HP will keep the EDS name according to Ron Rittenmeyer, President and CEO of EDS.

Ron Rittenmeyer has written an email to his employees and informs about the buyout. Read his email below:

To the EDS Worldwide Team:
Today is a historic day for the future of all of us at EDS, our valued clients, our shareholders and the entire IT industry. EDS and HP have reached a definitive agreement for HP to purchase EDS.

This transaction would be the largest ever in the IT services market and would create a formidable global competitor. EDS would join the world’s largest technology company. HP enjoys a well-respected global brand and broad worldwide resources – along with a strong operational background.

When the transaction is completed, which is expected in the second half of the year, HP will establish a new business group and brand it EDS – an HP company.

Importantly, EDS would retain the brand all of you have worked so hard to build over the last 45 years. EDS headquarters will remain in Plano and I plan to continue as chairman, president and CEO of this new business group.

Obviously, this news means major changes for everyone involved. There are many questions to be answered and decisions to be made in the coming months. Ensuring a successful integration is our top priority.

What doesn’t change, however, is EDS’ commitment to provide excellent service for our clients. And, we will relentlessly pursue new business while continuing to build the best delivery process in our industry. The core values of EDS are shared by HP, which makes this even more of a winning combination.

In the weeks ahead, I promise to communicate often with you about milestones and decisions affecting our company and our careers. We will thoughtfully manage this entire transition process – just as EDS and HP have done for many other companies we have each acquired.

To begin the dialogue, I invite you to watch a broadcast tomorrow to discuss the transaction. It will air live at 1 p.m. Central time on our EDS Global Broadcast Network, and will be re-broadcast often over the next several days. You will receive more information on the broadcast shortly.

As we complete this agreement, I ask each of you to stay committed to your work, performing at the high levels of service we expect for our clients and from ourselves. I know I can count on you to deliver.

We are – and will remain – EDS.
Ron Rittenmeyer

Om Malik thinks its HP foray to move into the cloud. Nick Carr thinks differently. Only time will tell what HP plans on EDS... I agree HP wants a bigger market on the datacenters and may be an Amazon-like service is coming up!!

JRuby Won & It Was Fun

JavaOne is all about interesting demos, latest buzz around Java and some painful marketing talks. I didn't attend JavaOne this year, but I've read a few stories online about the different keynotes, demos and followup discussions. I just finished a conversion with a group of friends/colleagues who attended JavaOne 2008 and most of them enjoyed the show.

One interesting session at JavaOne 2008 was hosted by Raghavan aka Rags from Sun Microsystems. The session was called the Script Bowl and was a war between the scripting gurus from Groovy, JRuby, Jython and Scala. All the four languages are dynamic scripting languages that run on the JVM. LaForge represented Groovy, Nutter represented JRuby, Wierzbicki represented Jython and Jorge Ortiz represented Scala. All four showcased excellent skills and I watched the video one of my friends had taken.

And like the Idol (American - Indian whatever...), there was SMS voting and it was awesome competition between the scripting languages and their crowd of supporters watching the session. Finally JRuby won the day and it was a close fight. JRuby won big points at Round 3 (Best Language Features). You can read the full competition details and look below for the result details:.

A = Groovy; B = JRuby; C = Jython and D = Scala


Monday, May 12, 2008

NetBeans Misses Bundled SVN

Subversion or SVN support was added in Netbeans 6.1. It is one of my favorite and most used feature from Netbeans. For those who don't know SVN or Subversion, its a tool for software collaboration where you can easily share and checkout code differences. It is like a new generation CVS (Concurrent Versions System) and is very popular among open-source projects.

The Subversion support in Netbeans 6.1 and 6.0 is through the Versioning menu, which in 6.1 lists CVS, Subversion and Mercurial as options. CVS is working out-of-the-box without any additional work. You can select pserver, ext, local, fork and all of the access methods just work. On the other hand, Subversion and Mercurial don't work out-of-the-box and require binaries for SVN, Mercurial to be installed and Netbeans has to be told about the path where these exist.

Now why would you have to install those things separately! I always thought Netbeans did excellent bundling of all the tools. There is GlassFish, JRuby, Nice Ruby Gems... and now we also have Netbeans + MySQL + GlassFish bundle. If it was not bundled, we atleast found the good things from the Netbeans Plugins Center. Hibernate, DTrace, jMaki and other awesome things could be easily added to Netbeans through the Plugins Center, then why not SVN?? SVN is free, open-source and community driven. So bundling shouldn't have been a problem. The Netbeans FAQ on the topic doesn't give much hints, but the Guided Tour seems to be a nice place to see the feature.  Even the error when SVN is not found is quite explanatory and gives good direction, but why isn't a bundle available??