108 Comments
- lordsandwich, on 10/12/2007, -1/+10There's something slightly ironic about praising a lean, tightly-coded application that allows you to clog your broadband connection and HDD with terabytes of warez and pr0n.
Not that I'm complaining. - jinexile, on 10/12/2007, -0/+6In this age where people just say "memory/storage is cheap," I applaud those willing to refactor their code until it does the absolute most with the absolute least.
- detayls, on 10/12/2007, -0/+6First ever post.
When I worked at MicroPro in 1981, the team was asked to port WordStar from 8080 CP/M to MSDOS. The first incarnation was made on a 48kb PC of which 16kb was for DOS and the remaining 32kb was for WordStar.
We spit this HUGE space into 16kb for document and 16kb for code, which was around 4kb resident and 16kb overlays. Later we went completely nuts and used the "medium" memory model, which allowed WordStar for PC jr to be a full .exe file and use 64kb for WordStar code, 64kb for data and 64kb for menus, messages and so forth.
Even more cool was that you could load WordStar and then ---remove the system disk-- and substitute that floppy with a data floppy, since no overlays were needed.
Eeeehhh!!! When I were a lad, we had real computers...... Kids today.... - SparQy, on 10/12/2007, -0/+5
@joel2600: you should try µTorrent again -- I felt the same way you did until I noticed the latest version practically mirrors Azureus for features! - jarsonic, on 10/12/2007, -0/+5I've actually really enjoyed using µTorrent since I discovered it in September. Small and efficient, it has a surprising number of features given its small footprint.
It definately doesn't take minutes to load the way Azureus always did on my system. - stoanhart, on 10/12/2007, -1/+6For all those saying this is a waste of time - I beg to differ.
I just switched to this client, and it's like night and day. Just to clarify, my system is not old. A64 3200+ OC'd to 2.55Ghz and 1GB RAM.
Azureus didn't take too long to load, but it interfered with other programs functioning. After running for a few days, it would take over 300MB of RAM! WTF? I don't care if I have a gig - that's just too much. I would get errors that my page file is running out - my page file is 1.5 GB! When downloading torrents, my CPU usage would jump around in the 5-15 percent range.
Enter uTorrent. Double click on the exe (standalone rocks), and a near carbon-copy interface of Azureus shows up. It has a built in RSS reader, it presents all the same information in the same manner, and it provides advanced options to allow it to run here on my university network (report a fake IP to get arround the proxies). Memory usage after three days? 4.5MB vs 300 for Azureus. CPU usage when downloading? 0-1% vs 5-15%.
It matters. I don't care how fast your system is and how cheap and expendable memory is - it matters. Java is a god-awful language for general pupose applications like a torrent client. I can't believe they focus on it so much in school. Who would ever choose Java for a serious project? - chrismear, on 10/12/2007, -2/+6I can appreciate the hacker coolness of small executables, but how does a big executable actually affect you day-to-day? All this complaining about bloatware is missing the point -- bloatware is software that has too many features and is bady designed from the user's perspective, not necessarily software that simply has a large filesize.
- nouhad, on 10/12/2007, -0/+2its THE best bittorent client there is.
- merreborn, on 10/12/2007, -0/+2Why does modern software have a ridiculously large footprint?
Because modern hardware supports it, and it's cheaper and faster. Sure, you can write an amazing 14k app in assembly, but you can write the same app in 1/3rd the time using a higher level language and a couple more meg. And time is money. - ziffel, on 10/12/2007, -0/+2"In this age where people just say "memory/storage is cheap," I applaud those willing to refactor their code until it does the absolute most with the absolute least."
I wholeheartedly agree. I am a huge fan of tiny software that gets it's job done efficiently, and without bloat. Standalone exe's rock. +digg - dragulaaeop, on 10/12/2007, -1/+3...yes, it can.
For those who have not seen or played .kkrieger, I suggest you go here http://www.theprodukkt.com/kkrieger.html download it and play it. It is 65k FPS that has amazing graphics.
It is still pretty buggy and doesn't like some nVidia cards (you will know if it doesn't like yours if the game is very dark, like Doom III dark). Seriously, if game developers used this method for coding their games then image how much you could fit on standard cd? The main drawback is that it requires quite a bit more cpu power to run smoothly.
Just try it out if you have not already. - Huffster, on 10/12/2007, -1/+3Come on! You young whipper snappers were'nt around when we PAID to play arcade games that were in only 4K or less. I say great software can live in 130k with flying colors.
Example: Asteroids 4K for an arcade machine game:
http://en.wikipedia.org/wiki/Asteroids
Want bloatfree software? Learn assembly programming. Smallest programs, fastest execution. - jeorge, on 10/12/2007, -0/+2truely the best torrent client, i salute you ludde!
- mikedpirone, on 10/12/2007, -0/+1I started with Azereus for bit torrent downloads and hated it because it ran so slow because its java based so I switched over to bit comet. Used that for a while and then found µTorrent from digg. I am now a huge fan of µTorrent and have converted some of my friends to it. Its small, efficient, I get the fastest dl speeds out of any other bit torrent clients, and has all the features I need. Definitely a 5 star program in my eyes.
- tomkroening, on 10/12/2007, -0/+1Slaver:
Making your code readable and OO doesn't have that much to do with size of your program, just the source files. Although this is a very simplistic example:
int x, y;
...
x = (y*2) + 10;
is the same as:
int x;
int y;
...
y = y * 2;
y = y + 10;
x = y;
When compiled they are pretty much the same. Classes can even save space while making your code more readable because of the reusage factor. Now if what you are meaning is VB.NET vs. C++ as far as readability then that is a question in training. Readability in either language if you have good style and habits.
richardtallent:
"Managed Code" is more of a buzzward than anything. How managed is your code when Microsoft writes a bug into the framework? I like to have more control over my app as I would trust myself before MS. You should ALWAYS code defensively and plan for the unexpected in any language... even if you have a safety net. - drydiggins, on 10/12/2007, -0/+1All that is missing at the uTorrent website is the "Donate" button.
ludvig and team deserve a little currency lovin' - Sirocco, on 10/12/2007, -0/+1Getting a tiny app isn't hard at all if you static link the resources you need and stop wasting space with huge-ass DLLs. RAD tools are neat, but what happens is you compound your waste by building bloat on top of bloat on top of bloat. And the worst part is, with broadband connections we don't even stop to question the stupidity of downloading a 25 meg picture viewing/catalogue program that with a tiny bit more effort could be dropped to well under a meg. That's ***** idiotic, but that's today's web.
Thank you for making it what it is :) - BinaryJay, on 10/12/2007, -0/+1I can't do it because in the real world applications of any real business complexity would take orders of magnitude longer to piece together without the "bloat" reusable libraries.
- ezkiel, on 10/12/2007, -0/+1look at nero. it went from being awesome and small to having all sorts of ***** tacked onto it.
- infraspace, on 10/12/2007, -0/+1Tidejwe said:
won't switch to UTorrent until it has more azureus features. As has been mentioned before, with UTorrent, if a tracker goes down, etc you're screwed. With Azureus I am still able to download from peers even when no tracker exists.
-----------------------------
Incorrect. uTorrent now supports the official DHT for trackerless torrents. That also makes magnet URI's redundant.
I've heard that Header encryption (get around ISP protocol filtering/back-throttling) is coming soon too. - doctechnical, on 10/12/2007, -0/+1People: Listen now to the Law:
Programmers are expensive. Hardware is cheap.
Back when I started hacking 64k of RAM was outrageous. A floppy drive was so expensive (and generally considered a luxury) that if it broke you took it to somebody who had the tools and know-how to fix the thing. Hard drive? Mortgage the house. For about 5 megs worth. And prepare to spend the better part of the weekend formatting the beast. Once you got the pull-start to work.
(OK, I made up the part about the pull-start.)
The point is the software was small and efficient because it *had* to be.
Now for a few hundred bucks I can buy a deck that totally blows past the wettest of hardware dreams I had back then...
...and bloatware is the price you pay. Because it makes more sense financially for a company to have their progammers (who aren't getting any cheaper) to quickly write inefficient bloatcode and then buy the necessary hardware (which is getting cheaper all the time) needed to run the crap.
So it goes.
Fast, efficient, cheap: pick two. - bluehouse, on 10/12/2007, -2/+3It's the frickin .NET framework that bloats my code. I write c# apps that are 30k but when it runs it uses 20MB of memory!
- nouhad, on 10/12/2007, -0/+1"Don't link to blogs
Azureus doesn't bog down my 2700+ with 1.5gb ram, what are you doing wrong?"
^ you're the only one then.. - joel2600, on 10/12/2007, -1/+2Azureus may take longer to load than uTorrent, but it's very worth it for the amount of features and functionality you get.
- inactive, on 10/12/2007, -0/+1µTorrent FTW. Everyone should try this piece of software, it's the best thing since sliced bread!
- Vision77, on 10/12/2007, -0/+1I tried utorrent for a while. I found (at the time) many trackers did not allow it for some reason. Which meant slower download times. When I went back to the spotted blue frog my downloads were much more faster. Azureus isn't as much a resource hog as it used to be. I definitely going to try utorrent 1.3.
- CaughtThinking, on 10/12/2007, -0/+1utorrent is cute, but if size is a goal, it's effort is wasted. I haven't filled up (or even come remotely close to filling up a harddrive in at least a decade. Same goes for day to day applications in any OS. the only thing that tasks my computer are computer games.
So 6 megs, vs. 100K, cute, but I don't care. If that were 6 gigs vs. 100megs, then I want, but not on the < 10 megs scale. - mrASSMAN, on 10/12/2007, -0/+1azureus was my favorite bittorrent client since i started downloading a year or two ago.. then just last week i switched over to utorrent. MUCH more efficient, i love it. uses minimal cpu resources and mimics azureus in nearly every way
- Darkshine, on 10/12/2007, -0/+1The best software can always fit on a 1.44 mb floppy
- ssaha, on 10/12/2007, -0/+1Agreed uTorrent is small and fast and full of features and all that good stuff. Azureus is bloated in comparision because it is built on top of Java + Eclipse, and can be used on platforms other than Windows. Let's just say they are both noteworthy!
- richardtallent, on 10/12/2007, -0/+1Code "bloat" isn't only about write speed. Managed code also does a bang-up job at preventing certain common security issues (including, but not limited to, buffer overflows).
As an always-on server, a BitTorrent application, even more than a web browser or email app, is a sitting duck for potential remote attacks. I'm happy to trade a layer of .NET or Java runtime "bloat" any day of the week, as I don't trust individual C/C++ programmers to write perfectly secure code. - inkswamp, on 10/12/2007, -0/+1I'm not sure I can relate to this obsession with small apps. Here's the deal. When you look at the size of yesterday's apps and the typical available hard drive/storage space compared to today's app sizes and typical available hard drive/storage space, today's "bloated" apps actually occupy a smaller percentage of that space. You can't compare yesterday's and today's apps byte-for-byte when things change as rapidly as they do. The really logical conclusion is that applications have become more economical (relatively) in terms of space despite increasing in actual size.
That's not to say there isn't bloatware out there but just because app sizes increase doesn't mean it's all bloat. - mrops, on 10/12/2007, -0/+1well, uTorrent is still a long way from becoming as complete as Azureus.
For one thing it really needs to support magnet URLs.
Having said that, I really use uTorrent, that is until trackers are down or no seeds are found. If that happens, I just fire up azureus with the magnet URL and in 95%+ of the cases I get tons of seeds without even the tracker being up.
Put it another way, I don't have to signup with the tracker if I have the magnet URL. - Guspaz, on 10/12/2007, -1/+2The file size of the binary itself is irrelevant. Memory footprint, on the other hand, is.
What would you rather have, a 130KB application that uses 100MB of memory, or a 1.3MB application that uses 10MB of memory? I'd opt for the latter.
Of course, even memory footprint is moot in light of other concerns, such as featureset, performance, etc.
Anyhow, my point is, executable size is so meaningless that I've reported this story as lame. - slaver, on 10/12/2007, -0/+1Sometimes the more sophisticated and elegant you get with your algorithms, and the shorter you make them the less readable your code becomes. I could easily recall situations when a team mate would ask me to explain a piece of code and I couldn't. They even managed to convince me sometimes that an algorithm was wrong -- and only when I started rewriting it I would realize it was fine. The same thing goes for commenting. I write about equal amount of code and comments. And don't even get me started with variables' naming. I mean what possesses people to name their variable hlppq vs high_level_process_priority_queue. Shorter is not always better in the real world as the academic culture would have you be live...
You've got to realize that other people have to be able to read and understand your code. OO programming and modular design is used widely for a reason -- it reassembles the way we think. I could easily write a working program that reassembles a long, convoluted equation. In fact most of my school work looked that way. However, god forbid that I ever have to come back after a year to change something in the code! That's why I always try to make my programs modular and follow OO guidelines. The programs end up 4-5 times bigger but if you had to take over my code you'd thank me.
Hard drive space and bandwidth is cheap, man hours are expensive. Your program doesn't need to use a lot of memory if you make it modular (think Linux kernel, where you could fit it on a floppy, depending on what you compile in.) If you make your program tiny but someone has to spend 4 times longer to understand your code -- your program sucks and is a hack rather then a solution to a problem.
I'm not trying to say that some specialized apps like the annoying to spell µTorrent don't have their place. They serve their purpose well and there are people with one computer for their server and dektop needs that will love their small memory footprint. However multi-platform, large, modular programs like Azureus that are extremely easy to participate in development of are a better long-term solution for the reasons mentioned above. - mathie, on 10/12/2007, -0/+1Other software should be more like uTorrent.
- odysseus, on 10/12/2007, -0/+1Can great software live in 130 kilobytes?
Yes: http://tinyapps.org/ a collection of very small free software similar to the pricelessware list, except again, it's very very small. See also the under 4k competition. - bryan314, on 10/12/2007, -0/+0µTorrent and Azureus are both adding encrypted headers so I'm happy with either.
- samdu, on 10/12/2007, -0/+0Programmers have gotten spoiled by all of the cheap memory, hard drive space, and processor power. Just look at what the Amiga could do in its day with a 7 MHz processor and very little RAM and NO hard drive. Imagine if code that tight were the norm today. Sure, computer power is a lot cheaper now, but that doesn't mean that we should ignore the goal of squeezing the most out of it as is possible.
- pixelface, on 10/12/2007, -0/+0Here's an *amazing* 64k demo:
1st place in Combined 64k intro competition at Assembly 2003 - zoom3 v1.02 final
http://www.scene.org/file.php?file=/parties/2003/assembly03/in64/zoom3_v1_02_final.zip&fileinfo - Chapter80, on 10/12/2007, -2/+2... paraphrased since the limit was 640K!
...Not to mention he denies ever having said it...
http://www.wired.com/news/politics/0,1283,1484,00.html - slaver, on 10/12/2007, -0/+0tomkroening:
I though we were taking about the source code size here and only mentioned the binary size in context of modular programing (which btw requires a lot more code in favor of greater readability and flexibility.) As far as code reuse -- classes add a lot of overhead. Just think about it: you could do code reuse with bunch of gotos after all ;) Well, to be perfectly honest I don't know enough about compilers to argue weather an OO code would generate a bigger binary than one with gotos; but I suspect that OO binary would be much bigger. - batfink, on 10/12/2007, -0/+0You get nothing but support from me... its about time people started coding software properly again!
- Nyfeh, on 10/12/2007, -0/+0Too bad uTorrent is only for windows... I'd definately use it if there was an OS X port.
- ob7ect, on 10/12/2007, -0/+0Another excellent example of slimware is klipfolio -- rss/dashboard app that comes in at about 750k -- (http://www.serence.com/klipfolio). It's exe acts as both app and uninstaller, and it can run on a USB device no probs.
- SilentBobSC, on 10/12/2007, -0/+0Gotta say, Azureus killed my system as well... I was seeing massive CPU usage, an ungainly amount of memory in use after sustained usage (Upwards of 200+Megs!?!?) and the overall "feel" of the system performance was sluggish and non-responsive. Running uT now for several days and no such symptoms...
SB
Oh, and before you say it's a crappy system I'm running: AMD64 3k, 1.5Gigs RAM, 300 Gigs available, x800 (not that it matters in this case) - Demagogue, on 10/12/2007, -0/+0bittornado was small, but then again it had almost no features...
- artnez, on 10/12/2007, -0/+0To those yacking off about efficiency and "money", you're losing the picture.
Writing things could be just as efficient when doing it right, it's just that most people are too lazy to write good code. No one wants to put work into it anymore. They just slap it together and sell the product.
Luckily, the companies that do that kind of crap don't last long. They are a dime a dozen. Google for "MP3 Converter" and you'll see.
The companies and people that last are the ones that take pride in their work - and created slim code is a big part of that equation. - bkruiser, on 10/12/2007, -0/+0people shouldn't write code... people are bloatware... We will all be replaced by ourselves soon.
-
Show 51 - 100 of 105 discussions



What is Digg?
The Digg Toolbar for Firefox lets you Digg, submit content, and keep track of Digg even when you're not on the Digg site. Download the official