Sunday, March 30, 2008

Port forwarding to a VMWare NAT-ed OS

I had the need to forward ports to a VMWare machine behind a VMWare NAT. VMware has some good instructions on how to do this. For a linux host you need to edit
which is pretty self explanatory.

Friday, March 28, 2008

Openchange: Open source exchange server

I just heard about Openchange, which is a GPL version of MS Exchange server. I think it is awesome people are working on this. Samba, openchange, soon we will be able to replace the entire windows backend with linux without impacting user desktops :)

Monday, March 24, 2008

Increasing webpage load performance/speed

There is a great powerpoint presentation from a yahoo guy about the research they have done to improve page load times for users. It builds off a series of posts on Yahoo's UI Blog. Something I had never heard of before that sounds cool: Minify for crunching down javascript and CSS. Update: There is an even better discussion on the yahoo website.

Memcached, making an app with a DB backend really fast

Reading about twitter's queueing engine got me interested in memcached, which looks awesome. It is used by some of the biggest players on the Internet: livejournal, sourceforge, slashdot, wikipedia, etc. The idea is whenever you do a select on a DB, you first look in the memcache. Similarly, when you delete/update in the DB you also remove/change the values in the cache, which means the data in the cache never actually expires.

This could provide vast speedups for pretty much any app that interacts heavily with databases. I have two projects I work on in mind....

There is a great idea called mint cache that even handles the 'dog-pile' effect that occurs when the data in the cache is stale, and many requests are received while the new values are being generated. Cool. The memcached FAQ includes this design example and lots of other good ideas.

Twitter, time to open source

I've been learning and playing with twitter, and am blown away by the possibilities. I want to see all the twitter server code open-sourced, so companies can run their own internal twitter services. Would be great for collaboration, and minimising wheel re-invention.

Say I'm starting work on some code to parse XML from a particular app into a database, I set a twitter message "writing python code to import app XML into MySQL". All the other developers are monitoring their XML feeds, and can come tell me that someone else has already written the code. When I need to write my summary at the end of the week for management, I can look back through my twitter history to remember what I was up to. Not only that, management can watch all the feeds to get an idea of what different people are currently working on at a very fine-grained level. It is up to the manager not to micro-manage at this point :)

Twitter has open-sourced its queue server, 'Starling', which is a step in the right direction. I don't expect it will be long before someone starts implementing the full server as an open-source project.

Twittervision is one of the coolest things I have seen in a while. Watch what people all over the world are doing and thinking, right now! Watch a continent go to sleep and another one wake up...super cool.

Monday, March 3, 2008

Linux printing success: HP Deskjet F4180

I had to buy a printer in the US, so I approached the cheapest inkjets and multi-function devices with the fear known only to linux users. Would it work? At all? A little bit?

I put all my trust in and bought a HP F4180, which supposedly worked "perfectly". I plugged it in and am happy to report Ubuntu 7.04, with hplip pre-installed recognised it, and I was printing straight away! Haven't tried the scanner yet.

The best part is the power supply is switched so it handles 110-240V and uses an IEC C7 connector to plug into the wall. So all I need to do is replace the IEC C7 to use it in any other country.

Strangely no printers come with USB cables these days. Is this just to give Best Buy a chance to make money off selling cables? They were charging $30 for a USB A-B, which I could get on Amazon for $1.30.