You are reading ‘Technology’ ....

Jul
18
Filed Under (Technology) by Thejesh GN on 18-07-2008

I use hell lot of open source projects. Most of them are written by individual developers or a small team of enthusiastic developers. They usually are not paid to do the job (some companies do pay to code for Open Source projects). They don’t get anything in return other than fun of coding and *high* that so many are using it.

I was thinking about appreciating their work. I am not very rich as you would know. But I should be able to buy a beer/coffee to my developer friend in any part of the world. In most part of the world you will get a beer or coffee for $5. Not very heavy on my wallet. I have sent few beers to Zooomr and phpmyadmin before. But now I want to make it a custom to send *somebody* every month.I am starting this month’s Coffee Project of The Month with PhpMinAdmin.

phpMinAdmin is a MySQL management tool written in PHP. Conversely to phpMyAdmin, it consist of a single file ready to deploy to the target server. Its so simple and elegant that you can maintain your mySql database from your mobile phone. I use it on my mobile with OperaMini. It just rocks. It can perform everything that you want to do with your database. Try out the demo application to experience the simplicity. All you need is to download a single php file and upload it to your server. phpMinAdmin is one of the finalists in Sourceforge Community Choice Awards-2008. Jakub Vrána is the project admin and sole developer of phpMinAdmin. Thanks for such a great piece of code Jakub. All the very best for awards.

You too can send some beer/coffee to him at his sourceforge page. I am sure he will love it.



Jul
09
Filed Under (Technology) by Thejesh GN on 09-07-2008

After Nano, TATAs are aiming high by collaborating with MDI to manufacture AIR POWERED cars. Yes you heard it right. The engines of this new model will be powered by compressed air. According to this press release by TATA Motors. They are getting into an agreement with MDI to refine the technology and license it to use in India. So air powered car is not very far away. From the press release

The MDI Group is headed by Mr. Guy Negre, who founded the company in the 1990s in pursuit of his dream to pioneer an engine using just compressed air as fuel – which may be the ultimate environment-friendly engine yet. Besides, the engine is efficient, cost-effective, scalable, and capable of other applications like power generation.

One of the product of MDI is Minicat. Its a small car with looks of Reva  But it is as big as Nano with three passenger seats and boot for luggage. Some more details of it taken from MDI.

With the MiniCATs, all pollution is completely eliminated in urban areas by using the 100% Compressed Air operating mode.
MiniCats
- The car has a built-in on-board system that can be simply plugging into a mains power outlet to refill the tanks with compressed air. The moto-alternator reverses the process which compresses the air and fills up the tanks. The compressed air reserves are thus refilled by using the national power grid. Refilling time for the MiniCATs is about five and a half hours using a 230V outlet. This is the most important advantage of the MDI Technology.
- Compressed Air Storage System is simple and MDI is planning to install a network of such “Filling Stations” where vehicles can be refilled, in three minutes, by connecting the Car Tanks to the outlet from the Storage System.

Looks like TATAs have great ambition of providing cheap and environmental friendly vehicles. I am not sure how their rivals will react. But for sure I will be happy to buy one.



Jul
04
Filed Under (Life, Technology) by Thejesh GN on 04-07-2008

I like to have cards of different design. Now I have a new design. Which is much better than my previous card. This time its more web2.0 and geekish. It has just enough information and lots of space for other notes,  mob number and address if req.

Friends suggested that I should have it in my *blog colours* too. Here is the modified version.

Which one do you think is better? I like black&white.



Jul
02
Filed Under (Technology) by Thejesh GN on 02-07-2008

The problem with using more and more social networks is with every social network you join you need to create profile then invite friends. There is no way to carry your data from one network to another network with out a hitch. Few smart people have already started working on this issue of DataPortability in detail. So lets not worry about it.
In the mean time few web apps have given users an opportunity to share the data. Take an example of adding all your Gmail contacts into Orkut. Login to Orkut and then enter your gmail id/password to invite all your contacts. This seems OK since both Gmail and Orkut is owned by the same company. Your id/password *does not* leave Google.
Linked in sharing contacts
Where as the same model is used by LinkedIn to add your professional contacts. You need to give your userid/pw details of gmail/hotmail to add the contacts. This doesn’t seem OK even with their promise of privacy and purpose.

Now how would you achieve this with out sharing the credentials?
Read the rest of this entry »



Jun
24
Filed Under (Technology) by Thejesh GN on 24-06-2008

I have seen developers writing toString method in each of their bean class. The purpose is to print the bean variables for logging or debugging purposes. I thought of reducing their effort by writing a generic toString method to have in their base bean class. It works for simple bean classes. Its no-brainer you can modify to work for others.


public String toString() {
	String lineSeaparator = System.getProperty("line.separator");
	StringBuffer buffer = new StringBuffer(lineSeaparator);
	buffer.append("|---------");
	buffer.append(this.getClass());
	buffer.append("---------|");
	buffer.append(lineSeaparator);
	Method[] methods = this.getClass().getMethods();
	if(methods != null && methods.length >0){
		Method method = null;
		for(int i =0; i< methods.length; i++){
			method = methods[i];
			if(method.getName().startsWith("get")
			&& !method.getName().startsWith("getClass")){
			buffer.append
                                (method.getName().replaceAll("get",""));
			buffer.append(" = ");
			Object[] params=null;
			try {
				buffer.append
                                   (method.invoke(this, params));
			} catch (Exception e) {
				buffer.append("  ");
			}
				buffer.append(lineSeaparator);
			}
		}
	}
	buffer.append("|---------------------------------------------|");
	buffer.append(lineSeaparator);
	return buffer.toString();
}

Any suggestions to improve are welcome.