On CBS MoneyWatch: The Real 'Best Colleges' in the U.S.
BNET Business Network:
BNET
TechRepublic
ZDNet

January 31st, 2006

Can great software live in 130 kilobytes?

Posted by George Ou @ 2:04 am

Categories: Infrastructure

Tags:

[Upadated 2/1/2006 2:00 AM] A few months ago, I pretty much thought having decent software weighing in at 1 megabyte (let alone 130 kilobytes!) was a pipe dream — but that’s before I got my hands on a copy of µTorrent (a BitTorrent client).  When I first downloaded the software back in September 2005 when µTorrent was first released, Ludvig did it by himself in his free time while holding a full time day job, what excuse is there for your entire team working full time? I figured it was probably just a novelty application that weighed in at just over 100 kilobytes (compressed binary).  In the era of Java applications that take 100 megabytes of memory for a single application, I’m pretty much relieved anytime I see a native Win32 application that uses less than 20 megabytes of RAM.  Anyone who even remotely knows me knows that I really have a low tolerance for bloated software so I figured µTorrent was worth humoring.  Little was I prepared to be blown away by a fully functional BitTorrent client that did pretty much everything I needed it to do — and I haven’t even ran in to any obvious bugs these past few months.

Unlike many sloppy applications that make a mess of the registry and shared DLL files in Windows, µTorrent didn’t even need to be installed!  It just ran off of the tiny 100 KB executable and the only install it did was put a desktop shortcut to the executable.  Once µTorrent loaded in a matter of milliseconds, it was ready to rock and contained itself in less than 5 megabytes of system memory which is insane by today’s standards.  From a features stand point, µTorrent may not have all the features of some of the heavier BitTorrent clients — but it does have everything that 99% of the population wants.

Although µTorrent is still a small player among Torrent clients from a marketshare standpoint, every person that I have ever recommended the software to has switched to µTorrent because no one likes bloatware.  Some Linux vendors like SuSE who distribute their software via the BitTorrent protocol specifically point to µTorrent as a nice little Torrent client to download SuSE Linux.  Considering the fact that µTorrent came out of nowhere just last September, it has enjoyed tremendous success and has already been downloaded more than half a million times from the official µTorrent website alone.

I was so fascinated by the software that I decided to contact µTorrent author Ludvig Strigeus from Sweden who works as a programmer for a company in the automotive industry (talent wasted in my opinion) [Updated: Ludvig's boss Colt emailed me to correct me on my tongue-in-cheek "talent wasted" comment.  Colt stated "I worked together with Ludvig on projects for Honda Research in Japan as well as with, Ford Motor Company, Renault Cars, SCANIA, Mercedes, BMW, and many other companies.   His software in the auto industry is making it possible for advancements in fuel economy and emissions.  All of it is having a positive impact on the world and the environment we live in.  If that is not a good cause what is?"  After a friendly exchange, I accepted his critique.  Now my question is; how to we clone (joking) Ludvig so we don't have to fight over his time].  We had a nice conversation over Skype and it turns out that Ludvig had only worked on µTorrent for a few months in his free time after work.  Ludvig still prefers the old Microsoft Visual Studio 6.0 because of its low memory foot print and fast user interface and he used it to write µTorrent entirely from scratch with the exception of a basic runtime-library functions.  This explains why µTorrent is so tight and works completely independently of any shared DLL files in Windows.  I also had the opportunity to clarify the meaning of "µ" in the name which as I suspected represented the scientific SI symbol for "micro" since µTorrent obviously lives up to its name.

In any case, I highly recommend that you give µTorrent a try since it will pretty much run as-is without an installer.  I even go as far as keeping a copy on my USB key so that I can run it directly off USB on any computer I use but I usually just copy it to the host machine just to have it there permanently.  If anything, this should be a lesson to the software industry as a whole who always give the excuse that it’s just too expensive to write good tight code.  Now I get to say:  Ludvig did it by himself in his free time while holding a full time day job, what excuse is there for your entire team working full time?

George Ou is Technical Director of ZDNet. See his full profile and disclosure of his industry affiliations.

  • Talkback
  • Most Recent of 73 Talkback(s)
RE: Can great software live in 130 kilobytes?
Check out kxsystems.com
Some of the most powerful companies and organizations in the world use their software. Its cost is astronomical and it weighs in at but a few hundred kilobytes. It is not us... (Read the rest)
Posted by: k.os.tao Posted on: 03/31/08 You are currently: a Guest | | Terms of Use
Very, very good blog  Anti_Zealot | 01/31/06
I think it's already compressed  george_ou | 01/31/06
Tight code  Xwindowsjunkie | 02/02/06
Good blog! (rare for Ou)  An_Axe_to_Grind | 02/13/06
do not use .NOT  Roger Ramjet | 01/31/06
Go look at Paint.NET  george_ou | 01/31/06
I was just saying . . .  Roger Ramjet | 02/01/06
Frameworks are not just for networked apps  Justin James | 02/01/06
Frameworks  Roger Ramjet | 02/01/06
talks about it anyway  sabayer | 02/03/06
.net  sabayer | 02/03/06
This is where young' uns can learn from old farts  zarchasmpgmr | 01/31/06
Two things  george_ou | 01/31/06
Compared to SIAG  Edward Meyers | 01/31/06
Let's stick to viable alternatives shall we  george_ou | 01/31/06
Indeed They Are Viable  Edward Meyers | 02/01/06
He's the exception that proves the rule.  zarchasmpgmr | 02/01/06
Hey  Roger Ramjet | 02/01/06
Sorry...  zarchasmpgmr | 02/03/06
just of curiosity...  pphant | 02/01/06
Suggestions  KSHYRAY_z | 02/03/06
Eccentrics  Anton Philidor | 01/31/06
So you say  Roger Ramjet | 01/31/06
Not sure you're disagreeing.  Anton Philidor | 01/31/06
So would you prefer Mozart or McSymphony?  george_ou | 02/01/06
Mozart's estate...  Anton Philidor | 02/01/06
By the way...  Anton Philidor | 02/01/06
Yes, but you didn't answer my question  george_ou | 02/01/06
I'd prefer Mozart...  Anton Philidor | 02/01/06
The point is  george_ou | 02/01/06
Using Open Office as an example.  Anton Philidor | 02/02/06
What about wasted time?  george_ou | 02/02/06
As has been pointed out by Ed and several others  Linux User 147560 | 02/06/06
Mr. McSymphony  Mr. McSymphony | 03/15/08
Speed of development vs. speed of execution  Justin James | 01/31/06
giant, heavily used applications  nkatsaras | 01/31/06
Sad, but true  Justin James | 01/31/06
True when there's less than 10,000 users  george_ou | 01/31/06
No disagreement from me!  Justin James | 01/31/06
Some problems  george_ou | 01/31/06
8MB?  zarchasmpgmr | 02/01/06
Not all all the systems I've tried  george_ou | 02/01/06
An honorable workman.  Anton Philidor | 02/01/06
it all depends  tombalablomba | 02/01/06
Everyone forgets about discipline  sabayer | 02/03/06
Bravos for uTorrent  Son Nguyen | 01/31/06
The tightest code I've seen  cyber_rigger@... | 01/31/06
I'm also interested in "small" code  jdlugosz | 02/01/06
It's all about the code...  redtiger | 02/01/06
Too Harsh  redtiger | 02/01/06
You missed the point  george_ou | 02/01/06
Modern programming languages  Anti_Zealot | 02/01/06
garbage collection  sabayer | 02/03/06
nitpicking  pphant | 02/01/06
Yes, I do  Patrick Jones | 02/01/06
By the way  pphant | 02/01/06
its all about the bloat  flowin | 02/06/06
I agree, but...  Liam30 | 02/01/06
George doesn't believe in Systems Engineering  Erik1234 | 02/02/06
Java for phone is a different animal  george_ou | 02/02/06
There are others also.  Dukhalion | 02/02/06
Subject: Lack of subject, as in, what it does?  amphioxus | 02/02/06
uTorrent: stable, fast, feature filled - it's amazing  daver_z | 02/03/06
I love small dll independant code!!  Narg | 02/03/06
An other example  kvo | 02/04/06
The best one I have seen is less than 2kBytes  KOR_Hian_Loon@... | 02/07/06
TinyApps.Org  thunderdome1 | 02/12/06
Nice but what use ?  ballscrew bob | 03/02/06
Nope! Sorry, You use the wrong ISP I guess! HA!  Cayble | 03/02/06
4.7 Mbps or 180 kbs Hmmm....  ballscrew bob | 03/03/06
Duh - BankStreet Writer, VisiCalc  plumley@... | 03/03/06
RE: Can great software live in 130 kilobytes?  Mr. McSymphony | 03/15/08
RE: Can great software live in 130 kilobytes?  k.os.tao | 03/31/08

What do you think?

SponsoredWhite Papers, Webcasts, and Downloads

Click Here
advertisement

Recent Entries

Top Rated

    advertisement

    Archives

    ZDNet Blogs

    White Papers, Webcasts, and Downloads

    SmartPlanet

    Click Here