Posts

25 Internet Startups that bombed!

Having survived a badly run startup, which raised a huge amount of money and then went under because they spent the money they raised as if there was no tomorrow. There are many ways to fail, running a startup but few ways to succeed. 25 Internet startups that bombed

Google Web Crawling

The web has grown in 10 years from 26 million unique URLs to 1 trillion unique URLs. This makes it a very challenging task for Google to crawl all the pages. The amazing part is that they do this a couple of times a day to keep their search engine uptodate. See the blog posting for more details http://googleblog.blogspot.com/2008/07/we-knew-web-was-big.html

SQL Developer User Defined Extensions

SQL Developer 1.5 allows you to create user defined extensions using XML and SQL to add a tab for an existing object e.g the Table Node and add context menu to the navigator. See the OBE for details on how to do this.

How to design an API by Joshua Bloch

How to design an API by Joshua Bloch

Syntax Editor in Swing

JSyntaxPane for Creating Syntax Speicific Editors in Swing

Wikipedia Computer Science Links

Computer Science Degree using Wikipedia

Great Programming quotes

21 laws of Computer Programming . 101 great Programming quotes 101 more greate Programming quotes

Logitech MX Revloution wireless mouse

I was experiencing some discomfort while using the standard wired optical mouse that shipped with my PC, so I recently purchased the Logitech MX Revolution wireless mouse. The mouse includes a Li-on battery so that you don't have to change batteries every 6 months. The mouse felt very comfortable in my hand since it is a little wider than a standard mouse. One interesting feature that anybody who multi-tasks a lot of software on their PC would appreciate is a scroll button on the left hand of the mouse that can be used to quickly switch between applications. I highly recommend this mouse!

HP Touchsmart

HP has release a new Touchsmart computer that is an all in one like the iMac, one of the interesting feature is that it ships with 64 bit version of Windows Vista. With 4GB memory becoming quite cheap we may start seeing more PCs ship as 64 bit with more than 4GB memory.

Developer Productivity

The fact that some developers can be 10x more productive is not a myth. Very few organizations understand this and know how to hire and manage the best. The successfull organizations like Google, Microsoft and Oracle understand this and their success is partly based on this. 10x Developer Productivity

Domain Driven Design

An excellent article on Domain Driven Design with a Java example, it emphasizes capturing your domain into POJO and not creating fat objects that mix implementation specific features such as caching with the domain code.

Oracle Job Scheduler example

Recently I helped somebody setup a Job to update some tables from a remote database. So I thought I would give some example here on how to create and track jobs using the Oracle Job Scheduler begin drop table test2; create table test2 (f1 varchar2(10)); dbms_scheduler.drop_job('JJ'); dbms_scheduler.create_job( job_name => 'JJ' ,job_type => 'PLSQL_BLOCK' ,job_action => 'begin insert into test2 values(''abc''); end; ' --,job_action => 'null;' ,start_date => systimestamp ,repeat_interval => 'FREQ=MINUTELY; INTERVAL=1' ,enabled => TRUE ,comments => 'Job.'); dbms_scheduler.set_attribute('JJ', 'logging_level', dbms_scheduler.logging_full); dbms_scheduler.set_attribute('JJ', 'job_priority', 1); end; -- Run Job nowbegin dbms_scheduler.run_job('JJ'); end; select * from user_scheduler_job_log where job_name = 'JJ'; -- Job History select * from user_sched...

Managing Open Source Projects

This is a very good artcile about how to manage a small open source project . A lof of the information also applies to a closed source project, such as documenting the features. In our division we have an internal wiki that I use extensively in documenting all the cool features of our software so that when I am asked about a feature I can just point them to the Wiki.

Java UI Framework

JSF and Struts are the most popular based on Google Search Trends . The article does not compare many other frameworks like PHP, GWT etc

iPhone 3G

The iPhone 3G has finally been announced . The most important new feature is 3G data access which works at Wifi speeds according to Apple. This is the start of a new smartphone era and is as significant an event as the release of the IBM PC. In another 5 years of time I expect there to to be over 100 million Apple like smart phones in use over the world. The most important attribute of the iPhone that most people don't understand is that most of its features get used. There are a lot of other smartphones in the market which claim to have most of the features that the Apple iPhone has, but most people are using only 10% of their features. The only serious competition I see for Apple is from Google Android as Google is also trying to build a touch based mobile OS based on Linux and Google has engineers who have a deep understanding of Linux. Apple devoted a third of times during the iPhone 3G presentation to third party apps. Apple also has reduced the price of the iPhone 3G to $199,...

Web based Desktop

Apples release of MobileMe led me to search Web based Desktops and found a list of 21 Web based Desktops

Access Windows Registry using Java

How to access the Windows Registry using only Java

Google Android Demo

A pretty impressive demo of Google Android on Youtube . It seems to have all the features that the Apple iPhone has. It is suprising to see that Google and not Microsoft seems to have been the first one to demo a viable alternative to Apples iPhone. The cell phone is turning into a more of a software platform like the PC, where people will be be more interested in what the software can do than the hardware.

JavaOne 2008 Techincal Sessions

Java One Technical Sessions 2008 are available now

find and xargs

The two Unix Utilities I cannot live without are find and xargs. find is a utility that will recursively find files and xargs will let you run a command for each line in the input e.g. 'find . grep java$ xargs wc -l ' will count the number of lines for all the java files in the current directory and all subdirectories.