Wednesday, November 19, 2008

Continuous Integration System Roundup

Continuous Integration Systems are one of the most important tools for agile software development. They automate the process of building and testing. A lot of people seem to have realized their importance and there are quite a few products in this arena. I already used Hudson and CruiseControl, but for OpenMRS we need to find one which is best suited to our needs. So I started out about 3 weeks back to create this roundup of continuous integration servers. This should be a useful roundup for any project with similar requirements.

Why does OpenMRS need a Continuous Integration System?

Any software development effort needs to take care that regression doesn’t happen with new code changes. Often a change in the API/module core results in breaking of modules dependent on an earlier method. A Continuous Integration System will rebuild OpenMRS after a change is committed and provide information on how that change is affecting related code.

OpenMRS would also benefit from an easy to understand UI that Continuous Integration Systems provide for number of failing tests. The number of passing or failing Unit Tests will indicate the quality of a build and help implementers/testers realize the stability of a build. We can also set some goals on how many test methods we need to write before an API method can be finalized or deprecated.

The work done in different branches and modules can be monitored and looked at easily by the community.

Building of OpenMRS Installer using NBI can be automated and new users can directly test with the latest build of OpenMRS using the cross-platform installer.

Thus to summarize, a continuous integration system will bring better release quality, more transparency, quicker bug finding and fixing, simplicity and TDD frame-of-mind.

Disadvantages for OpenMRS in using Continuous Integration System

  • Additional Load on Servers
  • Not every developer is motivated to write unit tests ;-)

Features that OpenMRS needs (Not exhaustive)

  1. Easy to monitor tests and easy to understand dashboard
  2. Support for SVN and Ant
  3. Dependency integration
  4. Email/RSS/IRC notifications when a build fails or bad code is committed
  5. Warning flags when a committed code doesn’t follow coding rules (naming, newline format,etc.)
  6. Allow code committers to modify build and test parameters from the GUI
  7. Optimal Performance
  8. Price & Open-source development

Comparison of Continuous Integration Systems:

  CruiseControl Continuum TeamCity Bamboo Hudson
Monitoring UI Dashboard introduced since v2.7 is not intuitive Dashboard only shows tests Advanced UI & dashboard. Advanced UI, Detailed reporting out-of-the-box, Intuitive Simple Dashboard, Plugins enhance reporting, Intuitive, somewhat detailed
SCM Support All Support SVN
Dependency Integration Scripts need to be written for each new dependency. Tracking different versions of dependency jars is very complex Easy for Maven2.0+ projects, but not so easy for other types of projects Dependency can be managed easily. Advanced UI for dependency management Dependency management is easy and intuitive. Different versions of same library not automated. Creating test/build plans allows dependency of different versions Dependency management is easy to configure. file fingerprinting simplifies identification of different versions. Automatically can detect and build project dependencies
Email/RSS/IRC Emails. Plugins - RSS, blog, IM with Jabber Email, IRC, IM with Jabber, MSN Email, Jabber, RSS, external HTML widget Emails, RSS, IM Notification using Jabber or OpenFire Plugin – Emails, RSS, IRC, Jabber, Google Calender, Twitter
Code Quality and Patterns Not very easy to define Could not find a way Can be defined with plugin for IntelliJ IDEA Managed through test plans. Manual test plans have to be created Plugin provides UI. Test plans can be created manually out-of-the-box
Security and User Management Easy to configure with different roles Roles can be easily defined Roles can be easily defined Simplistic UI for user build plan management. Easy integration with JIRA Easy to configure roles for users
Performance Fast Fast Somewhat slower in comparison, but includes a lot of features Fast in build and integration. Slightly slower in reports. Includes lots of features that may not be used. Distributed builds with slaves speeds up performance Comparatively lightweight out-of-the-box, but requires plugins. Distributed builds with slaves speeds up performance
Pricing Free & OpenSource. Paid version called Cruise available. Free & OpenSource Professional version is free, but enterprise is paid Free for opensource projects Free & OpenSource

Netbeans 6.5 Final Released

After some delay in the release due to quality issues, Netbeans 6.5 is out for download. It is netbeans 128 2 indeed a feature-rich build and some great changes have been added for this new release. Along with the new features, I can vouch that Netbeans 6.5 is also a pretty stable release since I was part of NetCAT 6.5 (Netbeans Community Acceptance Program).

The list of new features can be found here… My favorite features are the improvements in Database Query, Python, HTTP Client Monitor, JavaScript Debugger and PHP. If you are a developer from the php world, I would really suggest that you take a closer look at Netbeans 6.5. I love the documentation and code hints that Netbeans will give you.

Netbeans also completed 10yrs a few weeks back and celebrate by downloading Netbeans 6.5 here.

Friday, November 14, 2008

Indian Flag on the Moon

It is a glorious moment for Indian Space Research Organization (ISRO) and India, for it has become the 4th country to have landed on the moon. Today, just hours back Chandrayaan-1's Moon Impact Probe (MIP) landed on the moon's surface and carries the Indian flag to the moon's surface.

India becomes the fourth country along with US, Russia and European Union (not really a country ;-)) to reach the surface of the moon. The 35-kg MIP hit the moon's surface at 21:31hrs after it was lauched 25mins earlier from Chandrayaan-1, which is currently orbitting the moon and sending images of the moon's surface to ISRO. The MIP is one of the 11 probe that Chandrayaan-1 is carrying for various exploration activities on the moon. According to ISRO officials, the MIP landing was perfect and worked exactly as planned.

After the landing, ISRO chairman G Madhavan Nair said, "The Moon was favourable to us. We have travelled all the way to the Moon. We have given Moon to India". It is indeed one of the greatest scientific achievements in India's history and everyone is elated...

I'm not quite sure how India received the moon with this mission, as quoted by the elated chief. I thought the white disk that I've been looking at since childhood was the moon ;-) and its been in view from India for centuries!! Next time when I look through a telescope on the moon's surface, I'll try to find the Indian flag!! Anyways, now we are all waiting for India's manned mission to the moon which has become somewhat of a race with China's moon mission.

Thursday, November 13, 2008

Gmail Voice Chat & Video Rocks

Google has pulled off yet another spectacular with web applications... Yahoo have been trying to do this for sometime now, Ebay wanted to do this with Skype after their buy... but it can be said Google has reached their first with quality voice chat and video chat from a web app directly.

To use voice and video chat from Gmail, you have to install a browser addon called GoogleVoiceAndVideo (the size is pretty large: 447KB) and this enables Voice and Video chat from within Gmail, just like the current Instant Messaging (IM) window within Gmail. While you are checking your emails, you can chat from anywhere in the world. You don't need to have that client application installed.

Gmail had text chatting in the web app for a year or so and this helped gain some market share in the IM world. Google Talk and Gmail chat are still long way behind MSN Messenger and Yahoo Messengers usage, but continuous improvements like this may help Google gain some market share in the IM market...

The Voice Chat and Video Chat uses a proprietary technology called "Vidyo technology"... The quality is pretty good and is nearly same as the GTalk desktop application. Obviously like Gmail's chat, there are some bugs in Voice chat as well and sometimes the connection doesn't happen the first time. But most times the voice was clear and crisp. For a first day after launch the service was pretty good.

I often use Skype for Voice and video chat. Skype has got a Linux client and its voice is one of the best in terms of quality. Gmail's voice doesn't work with Linux. Both Skype and Gmail's voice does not use Session Initiation Protocol (SIP), which I would have liked to see, to allow inter-interoperability between different VoIP providers. Nevertheless, bringing it to the browser is a new improvement that will bring ease-of-use to the users.

Wednesday, October 29, 2008

SocioDroid is Ready for Release

Finally after months of polishing and testing, we are ready to release SocioDroid, the location-based social networking application that we have made for Android’s Market. It should up for download by the next week

I could not blog much over the last month because of the hectic schedule for completing SocioDroid. But with that finished now, I’ll be back blogging more regularly…

Friday, September 5, 2008

Programming: The finest steel has to go through the hottest fire

As the college season is in full flow, I'm back to my philosophical self and I've something for my students... Last week, I was conducting the regular Assembly Programming practicals, where I'm supposed to teach students 8085/8086/8051 ASM programming. Now, as much as I love programming and finding solutions to problem, I also love another thing: Creating problems for others to solve... and even if I know the answers, I would never give away the answer... come what may!!

So we started with all the instructions, available registers and memory allocation. Somewhere down the line, we started with a program to multiply 2 numbers. Now, as simple as I thought it was, my students didn't seem to think the same way. I told them that repeated addition was actually multiplication and they affirmatively nodded their heads, but the program wouldn't just come out from them. After close to an hour and me giving them numerous hints, we were still stuck at the loop!! They demonstrated it easily in a single line of C or C++ or Java, but ASM wasn't just clicking. That's when I affirmed, "Don't worry, programming doesn't come naturally to anyone... We all learn it our own way!!" And the class was stunned, similar to what I've seen at my office's training sessions... and the next question most of the times is, "Then how does it come naturally to you ??"...

"The finest steel has to go through the hottest fire!"... I read it somewhere, but then that's what is true about your individual talents. A singer's voice, a painter's hand, a composer's notes, a poet's verse... all may be claimed to have come from God or by birth, but its the desire to overcome obstacles and practice is what makes them achieve perfection.

Programming is very much an acquired skill, just like most things in life. Even logic for that matter doesn't come by birth. As we observe others follow a pattern of doing things, we follow that same pattern. The more we do the same thing in a way that is acceptable to our intellect, the more it becomes part of our existence and more natural the action becomes. When we first learn to speak, we probably think its harder than anything we have done before. Now as we know to speak, its easier than easy. Same is with programming. The more code that we observe, the more code we write, programming becomes more natural. Whoever says that logic to solve problems came easy, is either boasting his own ego or hasn't thought logically about it.

I was at the vegetable vendor the other day, who was talking of a way to solve the Bihar floods which made some 20million people homeless. His solution sounded really promising and as I know him for some years now, I knew he was intelligent. Huh... I wondered if programming would come naturally to him. He had never seen or used a computer ever but had passed high school. So if he could find a solution, it would mean that programming (read: finding solutions) came naturally to him. So, while he was selling vegetables, I sat beside him and blabbered the same things, I had told to my students at that lecture, but this time it was in Hindi and avoiding most tech-words. While I was speaking, I didn't even know if he was listening... He was busy selling vegetables, with his ~10yr old son and the aunties that came by kept smiling while looking at me. After a while, I asked him if he could multiple 2 numbers, given the instructions I explained... He thought for a while, picked up a few ladies finger (those long green vegetables), which he represented as instructions and explained me a perfect program to multiply numbers, not just 8-bit or 16-bit that would fit in a register-pair, but a multiplication program that would store larger numbers in ordered memory locations... Wow... that was superb!!... Unbelievable and brilliant, I said to myself!! I told him real instructions like ADD r1 r2, MOV r M,  ... and I told him to use those instructions and make a program to calculate modulus of a number. Hmmm... he thought for a while, but this time couldn't find a solution. He asked me many questions though, which he thought would give him an answer... But alas, no solution was found!!

I went back home and realized that may be it is the mumbo-jumbo words that divert our conscious efforts to find a solution. It may very well be the emotion of success that stops us from continuing to find the next problem and its solution. My students had passed earlier classes with 90% and more marks and were among the best students academically in the city.  Did that success get to them ??... Whatever it was, I realized persistence to find an answer to a problem gave us much better understanding of ourselves... May be programming teaches us to understand ourselves better than the problem at hand!!

Wednesday, September 3, 2008

A Look At Free/OpenSource Cross-Platform Installers

Software Distribution is an essential part of Software Development and can sometimes be the first impression that can make or break the user's opinion about a software. We, as software programmers forget the importance of easy distribution and easy installation of software that we develop. We do not understand the problems that a new computer user or a non-programmer may face. And I experienced this first hand about 2 weeks back, when a physician friend of mine heard that I was working on OpenMRS.

I was lucky enough to work on OpenMRS this summer and learnt a lot more about Medical Informatics during this period than I expected. Hearing this, my friend openrmswanted to install OpenMRS at his clinic which already used Tally (hehe... isn't that innovative??) for storing patient records, observations and prescriptions. He practices at Kolkata, visits different hospitals and sometimes the patients he attended at a hospital come to his clinic. When I told him that OpenMRS was a webapp, he got all excited and I narrated him all the features that OpenMRS could provide and help him manage his patients better through the web, only if he could host OpenMRS from his clinic. I'll skip the other interesting parts and his extra-terrestrial expressions ;-), since we are actually talking about software distribution.

So then came the day when I was about to leave office and he was in his clinic trying to install OpenMRS. It was Independence Day and the clinic was closed but he was excited to experience the new-age medical informatics :-)) When I first got his call he had downloaded the Windows Installer. I was pretty sure it was for an older version and hence told him to instead download the OpenMRS Appliance, which is a VM Image that can be run from one of the virtual machine softwares. Yaw Anokwa made this wonderful Virtual Image with Ubuntu + All Necessary Stuff (tomcat, mysql, demo data) and OpenMRS running. You just have to have VirtualBox or VMPlayer or VmWare Workstation and load the VMimage and wait for Ubuntu to start. It is simple, fast and safe to play with... But for novice users, I just realized it wasn't easy enough. My friend installed VirtualBox and loaded the image. It booted fine, but the network wasn't working and OpenMRS webapp could not be reached from the Windows host. After being on call for close to an hour, we just couldn't make the networking work!! I advised him to install VMPlayer instead and run the image. This time everything ran fine, but some changes had to be made in the Norton 360 Firewall. He kept complaining that Windows XP was punishably slow and then I realized that his 512Mb wasn't enough to virtualize :-( ... So we were back to where it all started!! The Windows Installer that OpenMRS distributes is based on Bitrock. He first tried the OpenMRS 1.1 Installer, but it is an older version that hasn't been upgraded for a year or so... Everything installed fine and he was happy to use it, but it didn't have the features I talked about that were added in newer releases of OpenMRS. I walked him through the manual installation and finally we managed to get OpenMRS up-and-running at 2am in the morning and he having spent about 8hrs on it. Last week when I asked him, he still wasn't using OpenMRS for his clinic and hospital. May be the first experience made him bitter!!

With that episode in my mind, I pledged him that within the next month or so I'll give him and easy to install setup and he'll be happy using OpenMRS. And that's when began my chase to find an easy to use, cross-platform installer framework. OpenMRS has lots of implementations on different platforms (Windows, Linux and Mac) and hence I wanted the installer to be cross-platform. At my office, we generally use Windows Installer or NSIS for making installers. But those are only for Windows. These 2 frameworks are so simple and extensible to use that I was thinking if there was something similar and cross-platform, I could make an OpenMRS Installer in an hour. But sadly, that wasn't the case... I tried a variety of installer frameworks, but couldn't find any of them as simple as NSIS or Windows Installer (msi). The following are the installer frameworks I tried working on:

Installer Framework Short Description Problems
1.) Antigen Antigen (Ant Installer Generator) is a tool to take an Ant build script, combine it with a GUI and wrap it up as an executable jar file. Its primary purpose is to create powerful graphical installers from Ant scripts. Couldn't get it to execute ant-calls at lots of places. Didn't work in openSuSE 11.0 due to some incomplete ant configurations. Hasn't been updated in a long time
2.) IzPack IzPack-generated installers require Java. They are simple, efficient and fast to use. Simple executable deployment is best done through IzPack. Isn't very powerful. Good for simple image deployment, but isn't highly configurable and powerful.
3.) OpenInstaller A newer cross-platform installer framework that is completely customizable and written in Java. Glassfish uses this installer framework. Not much documentation. Complex to implement and doesn't look native on all platforms
4.) Netbeans Installer (nbi) A completely customizable and powerful installer framework. Configuration Logic is written in Java and can be used to do anything and everything that Java programs can do. Old documentation. Requires some effort to get up and running with all the scripts.

So finally, I decided to work on using the Netbeans Installer. Netbeans Installer already has components like Tomcat, MySQL, Glassfish, OpenESB and their deployment scripts. And I thought it will simplify my effort... Dmitry Lipin of Sun Microsystems, the lead developer of the NBI team has been of great help over the past weeks and has helped a lot in explaining about nbi... While I was building the installer, 2 other colleagues of mine got interested in OpenMRS and have helped build some parts and want to contribute to OpenMRS code in a larger way!!

I have successfully been able to build an Installer/Uninstaller that can deploy Tomcat/Glassfish, MySQL and the OpenMRS web application on Windows, Linux, OSX, Solaris. The demo data set, JRE/JDK and starting the respective servers are yet to be completed.

Update: The OpenMRS Windows Installer based on Bitrock has been upgraded to install the latest version of OpenMRS. Is it useful for the OpenMRS community to have a cross-platform installer?? Or do the Windows guys only need an Installer ??

Students Review Contest for MySQL & Glassfish

Sun Microsystems has announced a students review contest for MySQL and Glassfish, where students have to develop an application using MySQL and Glassfish. The project has to be part of the java.net website and a review has to be written on MySQL and Glasssfish.

The contest is useful for students who are learning to develop web application and will also help Sun if students get interested in these products. The contest has the following prizes to be won:

  • A chance to win a grand prize of $500 in Visa debit card, and
  • Five chances to win a prize of $250 in Visa debit card

Other than the prizes, students should also be interested in the contest because its a nice learning experience and students will also improve their writing skills by blogging. There is also a certificate that is given to all the winners and its good to show-off you accolades. I won the 2nd prize on the students reviews contest last time and it was an interesting contest to participate.

Chhandomay Mandal manages these student contests and he's very polite and always ready to help. Ask him questions here.

Review: Google Chrome

Today, Google released its open-source browser called Google Chrome to the world, after making us feel in 2006 that it was an April Fool’s Joke. Yesterday, in an announcement, it disclosed the features of Google Chrome and claimed that we require a new browser because the web has changed. As soon as it was released, I downloaded it and here are my observations after using it for the last 4 hrs.

The first thing you notice is that it’s an online installer and still requires ~450Kb (for comparisons: utorrent is half the size and can download the whole world for you!!) . It’s only released for Windows at the moment and will require sometime before its released for Linux. The online download was pretty slow for my connection, but I realized that may be half the internet users were downloading it and that can be daunting even for a biggie like Google.

Finally the downloader finished and I was ready to surf on Google Chrome. First thing you’ll notice that it occupies nearly all available screen space. No menubar with File, Edit and the like!! And there is the Opera like UI with SpeedDial for most visited websites and Search History. Also the Address Bar is pretty efficient with all the quick searching and intelligent suggestions.

chrome-speedial

I was expecting Chrome to be memory hog, but it really is pretty light on the memory usage. With less than 10 tabs open, it surely uses less memory than Opera, Safari and surely Firefox. As the tabs increase Chrome seems to take up as much memory as other browsers. The Browser TaskManager, which can be found when you right click on the open Taskbar or TitleBar is another very useful addition to the browser. But what’s interesting to note that with so many security and stability improvements like separate processes and JavaScript sandbox, Chrome has done an excellent job at keeping the memory usage low. May be if addons are introduced, it’ll screw Chrome as well, but for now it’s doing good!!

Google_Chrome

There aren’t many things to be set in the Options that other browsers don’t have, but the search management was interesting. Since, I am from India, it showed me the popular Indian search engines. Yahoo India, MSN India, Rediff, Guruji were the available search engines and that was interesting because it’s always efficient to have a localized search.

This in my opinion is the most important part for a web browser. Like a phone should be best at voice transmission and quality, a browser should be best at displaying websites accurately and swiftly. Chrome uses Webkit (aka Apple Safari’s Engine) for rendering web pages and I wasn’t expecting many differences from Safari. But I found a few changes between the released version of Safari and Chrome. May be Chrome uses a newer version or something. Chrome scores 76/100 on the ACID3 Web Standards test which isn’t really bad, but I was still expecting 100% as Webkit and Opera have already reached 100% in their development products.

JavaScript performance is super fast. You can look at the benchmarks here. The team from Denmark has done an awesome job and Chrome's JavaScript performance is the best among all the browsers.

I'll write more about it later... but you can read what other people at GigaOm, TechCrunch, TheInq and Gizmodo are saying. Its all over the web and no kidding Google OS is really here to stay!!

Google Chrome's Beats Others at JavaScript Performance

With Google Chrome released, one of its most awesome features is the excellent JavaScript performance. It is a complete new re-write of the JavaScript VM and uses what is called the V8 Engine by the Google developers who worked on the new JavaScript engine. Here is a JavaScript Performance Analysis for developers to look at comparing different browsers.

Google uses a lot of AJAX and the new V8 engine is the king in JavaScript performance done using Dromaeo :

Browser Time (lower the better)
Chrome 0.2.149.27 488.80ms
Firefox 3.0.1 1775.00ms
Opera 9.52 1767.60ms
Safari 3.1.2 2075.00ms

The memory usage of Chrome is also pretty good and the built-in task manager for looking at the memory/CPU usage of tabs is interesting and useful. It can also help in analyzing which tab is creating some kind of menace or using more memory. You can close that tab and get some free memory. This is just an initial preview, but the JavaScript performance is top-notch!!

Friday, August 29, 2008

Google to Bring iPhone-like App Store to Android

The iPhone App Store's success for Apple has changed the way Google is thinking content-distribution for the Android platform. According to an announcement yesterday, Google is ready to have an App Store for the Android platform called the Android Market.

1 4

Google has been working on the Android platform for over an year now and is about to give a final release by the end of the year. Different handset manufacturers have already vouched their support for the platform and Android is seen as the biggest competitor to Apple's iPhone in the smartphone market. With the roaring initial success of the AppStore for Apple, it makes obvious sense for Google to have a similar content-distribution system for their platform.

Google also has an expertise on web infrastructure and it can surely avoid the mistakes that Apple has done with the reliability and availability of its web services. The details on exact model of operation of Android Market are still unknown, but Google surely will make it open and stable!! They are the "do-no-evil" company!!

Friday, August 22, 2008

Orkut on Symbian 60 Phone Rocks !!

Orkut is the most popular social networking website in India and it has a really huge market share. But that hasn’t made them sit on their laurels and do nothing. Orkut has been improving each day and the newest improvement to Orkut comes for Symbian 60 users. Today, I happened to use Orkut on a Nokia N81 and it really rocks.

orkut1   orkut2

It’s been a few days that Google launched a new Orkut for the S60 users and I heard the news earlier, but today I really played with it. And I was blown by the simplicity and usability of the interface. Its simple, intuitive and fast. Even with the slow GPRS connections that we have in India, it was as fast as anything you would be using on a desktop. The photo upload obviously very slow, but having an upload interface on a mobile device is pretty cool. You can update your album with the photograph you just clicked and show off your fun-trips to your social network while you are having fun...

The following are some new features:

1.) Photo uploads (Upload photos as soon as you took them from your mobile)

2.) Picture galleries (Look at orkut albums in a more streamlined and cell-like resolution)

3.) Click-to-call (Call friends from Orkut page)

4.) Quick friend searches.

If you have a Symbian 60 phone, what are you waiting for?? Enjoy your social network by going to http://m.orkut.com

Apple iPhone 3G at Rs.31000 ($720) in India

While most of the iPhone lovers in India already own an unlocked 1st generation iPhone, Apple officially launched the iPhone 3G in India at Rs. 31000/- or $720 when you apply the latest conversion rates. The same iPhone 3G costs $199 to a customer in the US with a cell plan from AT&T.

By the way, Airtel and  Vodafone are the two companies that have brought the iPhone 3G to India. If you want to buy the iPhone from Vodafone, then you caniphone-trash choose from a host of plans which have voice + data ranging from Rs.500 – Rs.1000. But along with that monthly rental, you have to buy the iPhone at an insane Rs.31000/-

The pre-launch interest for the iPhone 3G in India was huge. Airtel and Vodafone received over 25000 customers who were interested in the iPhone. How many of those customers are stupid enough to buy at this price is anyone’s guess?? India is the 2nd largest cellphone market in the world. But I’m pretty sure that with this ridiculous pricing the official iPhone 3G will not capture even 0.1% of the Indian market. With all the marketing expenses and Apple revenue sharing, the economics of the iPhone 3G for the cellphone operators doesn’t make any sense to me.

The most funny thing in this whole affair is that 3G services are still not available in India. It will take atleast another year for the services to start in full swing. So anyone who buys the new iPhone 3G will not be able to use the 3G services. With the current sucking GPRS service from these GSM operators, the internet speeds are so slow, that I would prefer my old 56k modem to surf the internet than GPRS.

Apple has played the same game again!! To be part of the Apple cult you have to be filthy rich and stupid. Apple is known to have high margins, but when you know that you have a product that can score on volumes, you obviously can lower your margins and increase your profit. But Apple gives a damn about volumes. It is happy to have a cult status and if that means only milking your stupid customer base, then so be it.

Friday, August 15, 2008

Indian Sues Google, Yahoo & Microsoft For Sex-Selection Ads

While India is celebrating its 61st Independence Day today, among other problems, Gender Inequality and Gender Imbalance is a major problem for the future of  India. And somewhere between the lines of the so-called non-intrusive ads that you see on web pages, techniques for sex-selection for an unborn child is being promoted. Or so thinks Sabu Mathew George, the petitioner in a case filed in Supreme Court of India against web advertising and search companies like Google, Yahoo and Microsoft.

Gender Imbalance is a major problem that faces India in the next few decades. Although the Indian society at large is still unaware of the problem, from the google-evilstatistics and ground work that I’ve seen while working with Men Against Violence & Abuse, the problem is a severe one and could become adverse in the coming decades. Gender Imbalance is a man-made phenomenon in India where an unborn child’s sex is determined before birth and if the child is a female, the pregnancy is aborted. It is this ruthless murder of unborn females that in some states the sex ratio for males to females is less than 0.7

But that is not what we are here to talk. Sabu Mathew George has filed a petition in the Supreme Court of India that certain ads displayed on search results and web advertise the process of sex-selection. The Supreme Court has sent notices in this regard to Google, Yahoo and Microsoft in this regard and would like to hear their side of the story. The Indian law’s on Pre-conception and Pre-natal Diagnostic Techniques Act. states that advertisement of products and techniques to aid in the selection of an unborn child's sex is an offense. Thus, advertisement of such products are not shown in Print-media,  TV and Radio ads.

India’s Health Ministry and Ministry of Communications & IT have also been made respondents in the case because they have been non-responsive in stopping such ads. It should be interesting to see how these tech companies respond. If you look at it from a technical standpoint, such ads could have been easily spotted and not shown by these companies. There is already a procedure by which the content in ads is checked by these companies and can prevent such ads to be shown. Even the search results are moderated according to local laws and standards and it isn’t uncommon that the Chinese government have successfully changed the behavior of these companies.

May be these tech companies haven’t realized the magnitude of the problem or just ignored the law. But we are surely going to find out, if the Supreme Court holds them liable for such instances. Or can web companies just say that they are mediators and not content owners and get away.

Google had earlier stated in its Public Policy Blog that, “Think about the telephone system. We don't hold the telephone company liable when two callers use the phone lines to plan a crime. For the same reasons, it's a fundamental principle of the Internet that you don't blame the neutral intermediaries for the actions of their customers. Rather, the standard recognized worldwide is that Internet intermediaries are responsible to take action when they are put on notice of unlawful content through proper legal channels.”

Now that’s as awful analogy!! Telephone system is a one-to-one or conference system, where you don’t have your comments recorded for the entire world to look at. Neither can it be technically feasible nor morally acceptable to hear every call being made. Whereas content on the Internet, that is displayed as search results can very well be observed and banned, like has been done in China. In India, you have laws to stop it in other forms of media, then why should the Internet be any different?? There are obvious “report abuse” links to results and web displayed content. But the utter slowness in the response of such services is another reason why the system needs to be fixed on both the government side, tech-side and the users-side.

Wednesday, August 13, 2008

Blog About Windows Vista to Win Vista

Do you have a blog that primarily focuses on Windows Vista?? Do you write tips and tricks to improve Vista?? Do you love Vista and talk about its feature andvista-logo usefulness on your blog?? Then here is an opportunity for you to win some prizes for your blog. WinVistaClub.com, in association with Windows Vista Magazine, is organizing a contest to recognize some of the best Windows Vista Blogs and Websites.

The Winner of the WinVistaClub Best Windows Vista Blog Contest 2008 will also get a Windows Vista Ultimate 32/64 bit DVD Box Pack, a Free 1 year license of ESET Smart Security Suite, a License of Magic Utilities, a License of MagicTweak, a one year subscription to the Windows Vista Magazine and a link for 3 months on the WinVistaClub HomePage.

You can find all the information about the contest here. I really haven’t come across many places on the blogosphere where people have talked good about Windows Vista. Obviously there are blogs that mention some tips and others from Vista developers who talk about new features and improvements, but there aren’t many good blogs that continuously blog about Vista. With all the rant about Vista over the interweb, that contest must be an interesting little idea to promote Vista.

Netbeans 6.5 Beta Released

Netbeans, “the only IDE that you need” is undergoing a major overhaul and the new version is called Netbeans 6.5. Today after weeks of development and testing, Netbeans passed a few test criteria and has been decided to be stable enough by the Netbeans team to be called a Beta. Now begins the real stabilizing process and ironing out the bugs that remain.

netbeans6.5

Since, I’ve been doing the Netbeans Community Acceptance Testing (NETCAT 6.5) Program, I’ve been closely watching how the entire development has gone through. New features were quickly implemented and each development team co-ordinated with all the quality managers and community to get the best features out in this version. Congratulations to the Netbeans development team on the release and I’m sure a lot of other developers are excited to use the new features.

The following are some noteworthy features, and the complete list can be found here:

1.) PHP – Php support has vastly improved and will ship out-of-the-box with Netbeans, unlike previously where a plugin from the plugin center had to be installed.

2.) Database Tools – The new database tools for designing queries, viewing connections, tables, views, procedures is great. It still a work in progress, but I must say its a pretty good job for a first-time release.

3.) Glassfish v3 has been integrated with Netbeans 6.5 and Glasshfish v3 is surely more sleeker, faster and modular than v2.

4.) There are host of other improvements like Groovy and Grails, SQL Editor Improvements (code completion, save/recall queries, and more), RESTful web services from database tables or from JPA entities, JavaScript debugging on Firefox 2 and IE.

You can download the beta from here and please report any errors that prop up in your work. Enjoy the build and happy coding!!

Tuesday, August 12, 2008

iPhone App Store’s $30 Million May Be Second Best

Apple CEO Steve Jobs said in an interview yesterday to Wall Street Journal that the iPhone AppStore made $30 Million in the first month of sales. That is  approximately close to $1 million everyday for July. Its an amazing feat when you think about the problems with the launch of App Store & iPhone 2... And $1 million a day is not a small amount, but will the business scale?? Will it be the winner for online content distribution??

Steve Jobs has already proved his amazing entrepreneurship in the past with the iPod and iTunes Store. Apple has changed the face of online music sales with AppStore-Vs-Steamits iTunes store and is surely building it up everyday by adding more and more content. The iPhone is also one of the most successful smartphone product, which in its first-generation already got a cult status and has been a hit in its second re-incarnation as well. But with all the success coming its way, there aren’t too many people who are looking at Apple’s shortcomings.

Apple’s failure in web services like .mac and MobileMe is probably its biggest recent failure. But then there is also the bad sales of AppleTV and Jobs Cube (oops MacMini) which still isn’t in the living room!! Apple desktop and laptop sales may be growing, but they still aren’t anywhere outside the US. But with those products not working as well, Apple still rocks with the iPhone.

The App Store fetches 30% of total revenue to Apple and the remaining 70% to the application developers/publisher. 30% does sound a lot for just hosting your App, but then with the developers getting rich for their not-as-much efforts, why would anyone have a problem with Apple getting an even bigger share?? For example, Super Monkey Ball is the most successful paid app on the App Store and has sold more than 300,000 copies in 20 days at $10 each. This means Sega (…and OtherOcean Interactive) made $2.1 million in 20 days. This has made OtherOcean create a new iPhone apps division, which obviously shows that they want to make many more such wonderful apps. I expect many more such developers coming up with interesting apps for the iPhone in the future.

But what we need to think is how much will people keep spending on the App Store and what will be the kind of competition that will come up for developers on the app store... If you need comparisons, most people will obviously look at iTunes, but I don’t think music and games/apps can be considered to be similar content. Obviously music can be downloaded and used whenever, where-ever you want. You could be playing your favorite tunes all through the day, but is it the same with games/apps on a mobile device?? How many hours can you game on the iPhone ?? How many apps do you need on the iPhone?? How much more will you really spend on the iPhone after that purchase??

On the PC side of things, there’s another company getting big on the online content distribution front. And its Valve Software, with its Steam Content Delivery System, which I think has more “steam” in the long run. Desktops/wired networks have lot more bandwidth to download and gaming hardware is lot more capable on PCs. Also we may be moving to specialized gaming consoles from desktop computers, but then Steam could very well be moved to consoles in the future. Steam already has 15million users, who use Steam servers for multiplayer gaming, buying new content, social networking and the like. Steam also has the support of many game developers and studios. And new studios are getting interested everyday to share their content on the Steam system. With all that and improving PC gaming numbers from other countries than the US, it feels that Steam could very well be the leading content delivery system of the future.

How Apple scales its App Store and how developers come up with new and interesting applications/games on the App Store will determine its future success. But the start is surely on track!! Probably, App Store is the constant stream of revenue for Apple, since someone somewhere is going to need an app, but then $1 billion revenue which Steve Jobs is expecting from the App Store is way... way too much!! Atleast not until every kid on the block owns an iPhone!!

Tuesday, August 5, 2008

Google Employee Uses Street View for Marriage Proposal

What’s a grand way of proposing when you are a geek and work for Google?? Michael Weiss-Malik, a Google employee just showed us that if you are a Google employee you can use Google’s Street View to propose to your girlfriend. You can look below at the Street View where Google employees have all stood in line and co-ordinated their timings with the Street View car that takes pictures around the streets.


Drag and double-click to zoom in the image above, or view it on Google Maps

The Street View team actually decided to co-ordinate a pre-announced Street View run outside Google's Mountain View offices, with the idea that Googlers could line up along the street and appear in the imagery. There are also other interesting things that you can view from within this view or you can go ahead and download Google Earth and check out the Street View layer. Some nice fingers, some interesting characters, some photogenic cops await you in the full view!!

If you have been following the “Street View story”, yeah the privacy infringing one!, then you will realize that there are really do diametrically opposite views to that story... When Street View was first launched and then integrated inside Google maps, you had to stand up and notice that some people would get crazy to get in the frame. And like we have seen in the recent past, all kinds of pictures have been popping up in street view. Some of them have been funny, some nudist, some have been advertising and some have been for a social cause. But what really needs to be asked is whether there is anything like privacy on the streets ??

Obviously if you wanted privacy, you have your home... and if someone stills peeps in, you surely have those window panes and curtains to help you. But the entire point of Street View is that you can follow the street and find your places more accurately than anything a top-view map would tell you. Also it feels like you are actually in the place!!

Steve Jobs says Apple Still Has to Learn the Web

Google is the king of the web and everyone realizes web is the place to be. But has anyone wondered why other giants like Microsoft, IBM and HP don’t have mobileme hold over the internet market as much as Google. Steve Jobs, the Apple’s messiah today revealed to its company employees through an email that Apple still has to learn ways to improve its web services and was referring to the recent debacle with MobileMe.

Apple is the leader in portable audio market with iPod and also holds a cult figure on the desktop front. But like Microsoft, Apple still hasn’t figured out a way to provide efficient web services. The MobileMe is a one-stop solution for web services delivered for the iPhone and includes features like over-the-air syncing, linking web applications like Mail and Calender.  Basically MobileMe is a subscription-based cloud application where all the Apple devices including iPod, iMac, PC, iPhone and the rest can collaborate together. But lately the services have been failing all too often. Sometime the services don’t work or work with constant interruptions. Forums all over the web have been filled with discussions on failure of MobileMe. And its not just MobileMe which is failing for Apple. The .mac which is another web service for Apple desktops is also having problems lately.

In an email sent to Apple employees, Steve Jobs mentions that MobileMe is not up to Apple's standards. “It was a mistake to launch MobileMe at the same time as iPhone 3G, iPhone 2.0 software and the App Store. We all had more than enough to do, and MobileMe could have been delayed without consequence.” Jobs adds that, “The MobileMe launch clearly demonstrates that we have more to learn about Internet services... And learn we will. The vision of MobileMe is both exciting and ambitious, and we will press on to make it a service we are all proud of by the end of this year.”

All this just proves that the online world of business and technology is lot different compared to the desktop world. Heroes become zeroes in a second’s flash and being agile is the name of the game. When we criticize Google of being too fast to release new technologies under the “BETA” label, we ought to remember that this is the key to their success. They often release services that aren’t fully feature-rich, but they work stable-enough to be accepted by the internet audience... And then slowly they keep adding more features!!

Monday, August 4, 2008

Microsoft’s New Clubhouse and Windows Live

Microsoft has just launched a revamped website for Windows Live in hopes to make navigation simpler and easier access to all its services. Along with the windows_live_logo revamped Windows Live website, Microsoft has also launched a new community website called Windows Live Clubhouse, a community for the most avid users of Windows Live products.

Windows Live Clubhouse is a place where users can share their experience of using Windows Live products. Users also share the best tricks and tips for using the Windows Live products and provide help in using Windows Live products. Currently Live Clubhouse is an invite-only service which Microsoft plans to open for all Windows Live users by the end of this year, if the first set of users are satisfied.

Microsoft off-late has been trying to improve its web services and has hopes that Windows Live will help catch up with Google. In the wake of Google’s success, Microsoft has been trying different things to compete. With the new Wave 3 of Live Services under development and testing, Microsoft is hoping to turn a new leaf in web services market... Surely the Yahoo fiasco has pumped up Microsoft to build better web services.

Intel Larrabee to Support Both DirectX and OpenGL

Intel has been showing presentations on Larrabee for sometime now, but hasn’t openly talked about what instructions it will understand, clock speeds or even intel_logo a hard launch date. For people who do not know, Larrabee is Intel’s attempt to integrate GPU with CPU and create GPGPU (General Purpose GPU) or computing through the use of graphics processing units. Intel today made it clear at Siggraph 2008 that Larrabee will support both DirectX and OpenGL for graphics processing.

Intel already has the highest market share in the GPU world, thanks to integrated graphics processors (IGP) in its chipset's sold with motherboards. But due to the dismal performance over the years of these IGP chipsets, no one ever considers these capable enough for mainstream gaming. Benchmarks have shown time and again that even the most basic discrete graphic cards can perform better than IGPs. With Larrabee, Intel has intentions to bring more computing/graphics power with lesser power requirements.

Larry Seiler, senior engineer in Intel's Visual Computing Group said that, Larrabee's consists of cores derived from Pentium processors and have added multithreading and 64-bit instructions. Each core consists of 256kb L2 cache and the first release of Larrabee will have 8 to 48 cores depending on the market segment. Larrabee also has advanced multi-core capabilities and uses a 1024 bits-wide, bi-directional ring network for fast, low latency communication between the cores.

The programming paradigm doesn’t change with Larrabee because it uses the same x86 instructions used by Intel’s current generation microprocessors. Also with DirectX and OpenGL support inside Larrabee it confirms that current generation games will also work fine. But without any mention of the performance improvement in graphics capabilities over current generation IGPs, I still have doubts whether Intel is actually competing with its own processors or with the GPU vendors like ATI (now AMD) and  NVidia. Larrabee does look solid on paper, but as we know papers do create a lot more hype than they can perform and Intel marketing does know how to play that game.

AMD also has been working on Fusion processor which will integrate AMD CPUs and ATI GPUs into one chip. NVidia on the other hand has create a new programming paradigm with CuDA, which tries to enable normal computer processing to NVidia’s GPU. Whichever company wins this GPGPU battle, we would like to see all of them fight on the same grounds and support existing standards. Today’s Larrabee announcement confirms that both the DirectX and OpenGL standards are followed and will allow current breed of games to run on the Larrabee.

Wednesday, July 16, 2008

Linus Thinks “OpenBSD crowd is a bunch of masturbating monkeys”

If you’ve had some pain fixing a Windows issue, I’m sure you’ve heard of the word “Linux” from one of the other “geeks” that visit around forums, helpinglinux_logo people out. Linus Trovalds was the person who started the Linux operating system project and owns the copyright to the name, “Linux”. Recently when discussing a security issue in the Linux kernel, Linus did some disrespectful “name-calling” in a public readable mailing list.

The following is an excerpt from the mail:

Security people are often the black-and-white kind of people that I can't stand. I think the OpenBSD crowd is a bunch of masturbating monkeys, in that they make such a big deal about concentrating on security to the point where they pretty much admit that nothing else matters to them.

Linus is known to be a little outspoken and as a person who can be little rude at times, but when you treat other competitive developers with so much disrespect, it obviously means there is something wrong with him or his team. Linus invented the Linux OS, but today there are lots of other developers who are working hard towards improving Linux. The other developers do all the hardwork these days and Linus just supervises and controls which patches are to be applied to the kernel and what direction the Linux kernel should follow.

Look at the backdrop of events happening at Linux and OpenBSD, you’ll realize why Linus is a little upset with OpenBSD/BSD in general. The last release of FreeBSD v7.0, which is based on OpenBSD’s trunk4 and is a spectacular release with performance better than Linux on most grounds. Also, a lot of other Linux developers are in constant debate with Linus on what direction Linux should take. Someday its about the schedular or one day its about the security. There is some unrest in the Linux community, which feels the desktop neglect in terms of efforts in the kernel.

You can read his insane reply here and the whole discussion here.

But whatever the problem, such harsh words are completely unacceptable from the leader of such a big community of developers and users. Linus definitely needs some spiritual counselling to heal his internal turmoil.

Mozilla Releases Firefix v3.0.1

Firefox 3.0 was released with much funfare and with lots of testing. But it turns out a lot of people have problems with the latest version of Firefox, whenFF starting and installing addons. Most perpetual problems are related to hanging up of the GUI when Firefox starts and those missing their old addons that are not working in version 3.0

Mozilla has released Firefox 3.0.1 that solves 2 bugs that are critical vulnerabilities according to the Firefox developers. But the startup problem still remains for a few guys... There will be auto-update out soon, but for all the guys who are in a bit of hurry can download the latest release in their languages from here.

The security fix is also applied on Firefox 2 and has been released as v2.0.0.16 and can be downloaded from here.

Tuesday, July 15, 2008

Wimax Missed the Intel Centrino 2 Boat Again

Wimax has been Intel’s big push to wireless broadband for some years now. Intel has promised Wimax as the solution to fast wireless internet time and again, centrino2 but has constantly failed to deliver real working chips for operation. Today, when Intel launched Centrino 2, it didn’t have much of a mention about the Wimax adapters 5150 and 5350, which was supposedly the main talking point of Centrino 2.

Centrino was probably one of the most talked about technology by Intel when it was first released. It standardized wireless access through Wifi and most people synonymously used Centrino for Wireless-capable laptops. That was back in 2003. After that Intel refreshed the platform with a lot of new processors/platforms, codenamed Yonah, Napa and Santa Rosa. Lots of new motherboards/chipsets came and went and few integrated graphics just changed. Centrino 2 after much delay was launched today and the platform was earlier known by codename Montevina.

The Montevina platform announced today covers new 45nm Core 2 Duo and Core 2 Extreme processors, the GM45 chipset and the WiFi Link 5300 adapter. You can look at all the information about Centrino 2 platform from the wide press coverage its got from all hardware sites. Look here, here and here for examples. But what most of the sites are not complaining about is the lack of Wimax at the launch. I mean what is special about Centrino 2, if its not got a new fast wireless medium, atleast that’s what the original Centrino was all about.

But like I have heard before, the Wimax adapters for laptops 5150 and 5350 are still not ready for release. The adapters have an issue with power consumption and if Intel would have today launched the adapters with Centrino 2 platform, all the promises about improved battery life would have gone down the drains. Intel says we have to wait till the end of the year to get one of those Wimax adapters, but didn’t mention any specific reason for the delay and also didn’t mention that it was due to these (and Atom’s marketing) that Intel has been delaying Centrino 2 for sometime. Lets hope by fall we do see a battery efficient Wimax adapter for my new laptop. For a change, this time the ISPs are not late!!

 

Few presentation slides from Centrino 2 launch:

Intel4-chipset  wifi_5300

  Wimax-Car

The Car came, but Wimax didn’t want a ride!!

Centrino2-features

Centrino2-features2

Opera Users Can Now See Gmail 2 Default

Opera users have always been one of the outsiders to most web developers because of the low market share that the browser holds. Nevertheless, Opera has been implementing web standards quite quickly compared to other popular browsers. And so was the case with Gmail, where Opera users had to use the ”nocheckbrowser” parameter to see the newer Gmail2 interface. But that’s no more required, since Google has made changes and now Opera 9.51 and higher displays the new Gmail2 interface by default.

The newer Gmail2 interface is a little more AJAX-driven and has an initial loading screen after you login to your account. The interface also has a few nifty colored features that many Opera users were not able to see earlier. There was also a project on Google Code that was working towards making Gmail 2 compatible with Opera, just the way it works for other browsers like Firefox or Internet Explorer. The issue was with some incompatibilities between the JavaScript implementation in Firefox/Internet Explorer and Opera. Gmail developers were a little lazy to apply the hack earlier, but now they just finished their work.

So there you have it now... Enjoy Gmail 2 on Opera without any quirks or problems!

Monday, July 14, 2008

Processor Errata to be Next Big Virus Exploit

Writing cross-platform viruses were nearly impossible earlier and hence a virus would mostly affect only Windows or Linux or OSX, but not all of these together.virus Most Linux/*nix/Mac users felt viruses were only for Windows users, because of underlying OS protection in Unix user access model was good enough. But all of it could change if malware was written for common hardware platform such as Microprocessors or BIOS or Hardware Firmware. Well known author and security researcher, Kris Kaspersky is going to demonstrate how to create malware for processor bugs at the Hack-In-The-Box Security Conference (HITB) to be held from 27th-30th Oct, 2008 at Malaysia.

Processors from Intel and AMD often contain bugs known as errata and generally the way to fix these bugs is by updating the BIOS or Firmware in motherboards. Nearly every generation of processor has these bugs and if these aren’t any major bug, then no one even knows of them in normal computer functioning. But in some special cases these bugs affect some computers or software being used, and that’s when these bugs come into the light. Like the recent TLB Errata in 1st generation Opteron (Barcelona) processors from AMD would corrupt data in certain situations.

Currently, there isn’t a truly generalized way to exploit processor bugs and requires some detailed understanding of hardware and software combination. Most processor manufacturers don’t even mention deep details on the bugs and hence exploring them is a little more tough. Kris Kaspersky has claims to have found some way using JavaScript to exploit these bugs. Also, JIT compilers from Java Virtual Machines may be used to uncover and exploit the bugs, according to the Abstract of the Presentation at HITB.

If Kris Kaspersky’s “Hacker Disassembling Uncovered: Powerful Techniques To Safeguard Your Programming” book is anything to go by, we may have excellent and easy example by which he demonstrates the exploits. It could easily be replicated and understood by hackers and worked upon for other bugs. Stopping such exploits would be tough not just for anti-virus makers, but also for Operating system patches. And even if some fix is released on the motherboard BIOS, it is generally not implemented by all motherboard manufacturers... And user ignorance towards these BIOS updates is not even worth mentioning! This could easily be one of the tough and complex security problems to have come up!

Sunday, July 13, 2008

Power 7 Will Be IBM’s Supercomputing King

This weekend I heard a few guys from IBM India getting really excited about the next-generation microprocessor called Power 7 which will be released in H1 2010. The Power 7 processor is still not a final design but nonetheless, it is turning out to be an awesome processor. IBM’s latest plans show that Power 7 will be a 8-core processor, clocked at anywhere between 3.6Ghz-4.0Ghz.

Power 7 is a completely new architecture and is being developed at Austin, Böblingen, Rochester Research Centers. There are rumors that Opteron and Power 7 may share a common socket, but that doesn’t seem to be the case in the current design of the processor. But I got hints that things on the socket front could be changed during the final few weeks.

Power 7 is also a multi-thread per core CPU and current designs suggest it can execute about 4 threads per core. It still isn’t running optimally at the moment, but the target is to achieve full performance on all the 4 threads. This still makes Sun’s Rock the multi-threading king in the next-generation of processors. But IBM is high on the number crunching game. Each Power 7 core will be 32GFlops and that means on a 8-cores it going to output at 256GFlops. That’s no mean achievement!

Unlike the Power 6, which had its main aim towards improving single-core performance and max clocked at 6Ghz in prototypes, the Power 7 is working towards a multi-core, multi-threaded processor. From Intel to Sun, everyone has realized the potential efficiency of multi-core design and IBM hopes to lead the pack with Power 7. And to become the winner of the lot, Power 7 will compete against Sun’s Rock (UltraSPARC T2 Processors), Intel’s Itanium and Xeon (Nehelam-based) to some extent as well as its friendly technology partner AMD’s Opteron. IBM’s main goal with Power 7 is at the High-Performance Computing markets and supercomputers, where IBM already rules the roost.

Supercomputer1 Supercomputer2

If you look for stats at Top500 Supercomputers from around the world, you’ll realize what I mean by IBM ruling the roost. IBM has lots of BlueGene machines that use the old PowerPC processors, but not many newer generation processors. The reason to this is two-fold. IBM’s last generation processor Power 6 and to some extent Power 5 isn’t very power efficient. Power 6 heats up quite a bit and would require massive engineering skills to bring 1000s of these chips together inside a supercomputer. On the other hand, IBM has plans to mix-match Power 7 and Cell microprocessors in future supercomputers. Cell processors are known to be good specialized FP units and matching it with Power 7, IBM hopes to reach more than 10 petaflop from a supercomputer.

Wednesday, July 9, 2008

DirectX 11 Coming This Month

Whatever ATI thought as an advantage, when shipping DirectX 10.1 in 48xx generation of graphic cards will be short-lived. Microsoft will be announcing DirectX 11 in about 2 weeks at Gamefest 2008. The Gamefest conference will be held on 22nd-23rd of July, 2008 in Seattle where Microsoft plans to officially launch DirectX 11.

DirectX 11 has lots of new features and is a much more important update to DirectX than 10.1. NVidia has announced that it will skip DirectX 10.1 and will directly ship its next generation with DirectX 11 support. DirectX 11 brings Shader Model 5.0 (SM5), which has been closely developed with GPU manufacturers. NVidia has been having the SM5 profile in the Nvidia SDK for sometime now, but didn’t have any new functionality. Probably the Microsoft announcement is what Nvidia has been waiting for. Also another eagerly awaited feature in DirectX 11 is Tessellation/Displacement, which means that converting displacement map to object mesh is lot more faster and less intensive. There are also hopes that something for general purpose GPU computing (GPGPU) may be added in the DirectX11 API, but nothing is yet known. Multithreading Rendering and Compute Shaders are definitely there in the DirectX 11 API.

DirectX11 should also be a major programming step for game developers because DirectX 11 will be the base for the next-generation XBox console that Microsoft promised to release sometime next year. A lot research has been put into DirectX 11 and next-gen XBox already, and we can expect some release date for Microsoft’s next-gen console during Gamefest 2008.

Opera Starts Classroom For Web Standards

Opera announced today that it has launched an education initiative to teach people about web standards. The first part of the initiative is called the Opera Web Standards Curriculum (WSC) which is a curriculum covering the different web standards available today. The program constitutes of articles that are meant to be learning material for educational institutions as well as web developers.

The topics covered as part of the WSC include CSS, HTML, JavaScript, DOM and different concepts about the Web. All the material that is released as part of WSC will be available completely free under the Creative Commons License and can be found here. Over 50 articles on different topics have been planned and well-known Web developers such as Christian Heilmann and Mark Norman "Norm" Francis of Yahoo!, Peter-Paul Koch of quirksmode.org, Jonathan Lane, Linda Goin, Paul Haine, Roger Johansson of 456bereastreet, and Jen Hanen will be contributing the articles.

Opera has been one of the forefront browser supporting web standards. They were also the first to complete ACID3 test successfully and eventhough they still haven’t released a stable build that passes the test, it shows their commitment to support web standards. With so much talk about web standards, it is really odd to find so many websites that work properly only on IE. Its a shame that developers still don’t follow web standards and such initiative can only be useful if web developers realize that users are pissed off looking at non-standard websites.

Google’s Virtual World: Google Lively

If you are one of those guys whose social life is only on the Internet, then this will probably make you more excited than any other social networking website ever. Google has launched a nice browser-based virtual world called Lively where users can interact with other users in different virtual spaces. Its more like Second Life, with much less 3D but with more faster environment.

Lively is an addon for Firefox or Internet Explorer and can be installed on only Windows XP or Vista. There is no addon installer for OSX or Linux. Lively allows you to create an avataar and after the avataar is done, you can goto any of the rooms or create your own room and interact with your friends or other users on lively. While creating a room there are different kinds of stuff that you can put into a room, much like what you did in the Sims game.

The installer can be downloaded from here. The installers size is small, but its an online installer that downloads required files from the Internet. One major advantage that Lively has over Second Life is that it is browser based and will not required great hardware to run. On the other hand, Second Life is lot more interactive and can use graphics hardware to render 3D worlds. From the early looks at Lively, its aimed towards a larger audience compared to Second Life. This Lively vs Second Life comparison is analogous to casual games Vs Hardcore games.

A video introduction to Google Lively:

Currently Google Lively doesn’t seem very interactive. But I’m sure as time goes on, it will become more interactive. Users will be able to do different activities with other users and interact freely with the environment. Even the environment has the possibilities of different object interaction and it could very well be like an multiplayer online game of Sims. Lively also has great prospects of being monetized, where user can see advertisements for the products that he likes and can be used as a marketing tool by different companies. Excellent idea that definitely has promise!!

Friday, July 4, 2008

First Look: Google Test Framework Simplifies Testing

Software Testing is probably one of the most boring and tedious task to a lot of people, but there are still people like me who love writing unit tests. But GoogleTesting among a lot of developers I know, its always the guys from lower-part of the food-chain that write tests. Google has something for testers that will surely make them happy. Google announced today a new Google Testing Framework (GTF) in their Testing Blog.

GTF is a new testing framework for programs written in C++ that Google has open-sourced today. It is a collection of libraries that Google previously used to test their own softwares, but I’m wondering how that could be true, considering Python is Google’s favorite language!! ;-)

But jokes apart, as soon as the new testing framework was released, I set out with a few of my colleagues to test out the framework. We are one of those guys who are excited about testing and ways to simplify testing. The first thing we noticed even before starting with the library was that it was compatible with a host of compilers and versions. We’ve seen a few test frameworks for specific compilers or platforms, but GTF supports Linux, Windows, OSX and host of compilers ranging from gcc to Microsoft’s VC++.

Another excellent thing about the framework was that it’s easy to learn the basics as well has advanced features. Its very similar to xUnit tests and has good features to compare with CppUnit. The basics can be learnt from here and the advanced guide is here. Predicate Assertions are probably one of my favorite features, that we encountered quickly in a program that we were having trouble to debug. There are also a host of other assertions available and we’ve not got into very deep with all the assertions. But from the initial look at the framework, most of us very ranking it as one of the best testing frameworks out there...

There is still some of us who think Boost Framework is very good and some still think Visual Assist plugin tool (of Visual Studio fame) is pretty good. But the first look at Google Testing Framework has definitely made us stand up!

Thursday, July 3, 2008

Solaris & Xeon Break Million Messages Per Second

Sun Microsystems today announced that it has collaborated with Intel to not only provide the best throughput performance to date by breaking the million-messages-per second barrier, but also the lowest available network latency on a 1Gb Ethernet. This performance output was generated on a new financial services benchmark known as Reuters Market Data System 6.0.3 (RMDS).

The Intel-based Sun Fire™ X4150 with Solaris 10 provided the top-notch results for the benchmark and it indeed is superlative performance to reach million-messages per second. And more importantly its done on standard network topology instead of stacked topology, which can improve scalability but comes at a cost. Doing it with standard 1Gb Ethernet is surely an achievement. The performance by the system is highly dependent on the hardware which Intel has engineered and Sun has built. But Solaris also has contributed to the improved performance. Solaris has the least latency in message passing and network performance on it is excellent.

Sun Microsystems CEO, Jonathan Schwartz applauded the new benchmark results and attributed much of it to Solaris. And he sure must be happy!! Sun Microsystems is very focused on Solaris/OpenSolaris these days with a lot of development work towards OpenSolaris. There is also a big PR machine running for openSolaris these days and some ol’ Netbeans guys have been moved to talk and explore the world on openSolaris. Sun Microsystems has got this target to make openSolaris big on the desktop with a distro-plan similar to Linux distros.

Congratulations to Sun on the new benchmark record!! It is definitely one of the strong forte for Sun to perform on the network, but the desktop move is a totally different ball-game. And why didn’t we have one of those largest hardware/microprocessor team from Sun make the system from UltraSPARC to perform that good instead of the Intel hardware ??

Xandros Acquires Linspire

Xandros, the maker of windows-like Linux, today announced that it has acquired another windows-like Linux called Linspire. Xandros has got a bit of popularity lately from a few OEM deals and that has made it expand its coffers a bit. The main goal of acquiring Linspire is the software installing and distribution system called “Click-And-Run”, which allows installing software from a online repository with a single-click

Linspire was probably one of the first Linux distribution to openly claim that it wanted to be like Windows. It was earlier called Lindows and then due to some Microsoft lawsuit got its name changed to Linspire. But even a name change didn’t inspire a lot of linux geeks and the audience for Linspire remains small till date.

Click-And-Run (CnR) though is one really nice innovation from Linspire. It inspired the openSuSE guys to develop something similar called “1-Click Install”, which is one of my favorite features in openSuSE 11.0.