Linux is bloated

I’ve literally spent all day trying to install Fedora Core 8 on my old laptop – the one I used to (fairly easily) develop Evolution on. Hmm, default – too slow and bloated to be remotely usable (took about 2 hours to boot the live-cd and get the installer running from the console). Got xfce installed (after some mucking about) – barely better. Got rid of the bloat of gdm – xdm – now the desktop is back to gnome. Sigh. Hacked it to get xfce to run after a lot of buggerising around (there seems to be no easily obvious way to get it to work – and while I was there I saw the twm login wont ever work). What’s all this python shit sucking 50mb of precious ram doing stuff I don’t give a shit about? Sigh. chmod -x /usr/bin/python* … horrah, finally I can log in in under 2 minutes. Cut my login overhead in half – the other half is still too much – xfce is rather bloated. Pity the python chmod broke yum.

Yum isn’t so yummy after-all. Re-enabled python so i could run yum. Wow 120mb of vm to install a couple of packages. Not bad considering the box only has 128mb. This is crap.

Hmm, should I try xubuntu – or will it be just as crappy and bloated and blighted by python poo?

Guys – python isn’t a fucking system language. Just like perl, it isn’t suitable for long-lived applications (or crapplets) either. Use it to write your shitty little throw-away perl scripts in a different syntax, but don’t fuck up linux desktops with this rubbish.

52 Comments

  1. Posted May 10, 2008 at 1:13 pm | Permalink

    Xubuntu will probably not be very fast on your old piece of junk* hardware either ;)

    Trolling about Python won’t be particularly useful either. If you’re going to dismiss anything just because it uses Python or Perl, then I have bad news for you. Xubuntu uses APT and dpkg, which is written in Perl. However, APT is a much nicer and faster system than YUM. Maybe you should give it a try regardless. Also, if you do try out Xubuntu, try using the slim login manager, it’s much faster and smaller than GDM, and is nicer than XDM. Don’t expect too much from Xubuntu on your machine either, 128MB really isn’t a lot of memory these days. You can’t even by a machine with that amount anymore, for some time already. Also, use the alternate Xubuntu installer, it uses debian-installer. The desktop installer uses Ubiquity (which uses… wait for it… PYTHON!) and requires you to have more memory installed than what you currently have. Maybe you should try something simpler than Xfce, such as IceWM or Fluxbox. Ion3 is also kind of nice if you consider overlapping windows as bloat. Either way, I suggest that you find a close-by computer recycling centre and try to find a bit more RAM for your laptop, it’s not like old laptop RAM is really in short demand, there’s lots of old broken laptops everywhere where you could salvage some parts.

    *Since we’re calling names

  2. Posted May 10, 2008 at 1:16 pm | Permalink

    Give Zenwalk Linux (http://www.zenwalk.org/) a try.

  3. Posted May 10, 2008 at 1:17 pm | Permalink

    Zenwalk Linux Hardware Requirements

    Zenwalk GNU/Linux is optimized for the i686 instruction set, but backward compatible with i486. These are the minimal hardware requirements to run Zenwalk in Xwindow mode, with correct performance (some lower configs work – ie : PII – , but might be slow) :

    * Pentium III class processor
    * 128 Mb RAM
    * 2Gb HDD

  4. frob
    Posted May 10, 2008 at 1:34 pm | Permalink

    Hej NotZed,

    I’ve installed Ubuntu on ‘192MB dram’ laptop a week ago.
    8.04 and 7.10 were impossible to load their live-cd/installer.
    Once I’ve made and activated swap partition under 6.06
    (after ~ 10 minutes to load live-cd), 7.10 was able to install itself.

  5. Jon
    Posted May 10, 2008 at 1:43 pm | Permalink

    I hate all the slow python too. The best part is when a python program fails, yum for instance then it takes about 10 minutes before it throws a few hundred exceptions and dies. I pretty much use tiling window managers and curses apps anymore. I haven’t tried xubuntu yet, but thats because I installed ubuntu and finally got things to where I like it (with tons of crap disabled). After install I spend a few hours disabling stuff .. sad :(

  6. anon
    Posted May 10, 2008 at 1:44 pm | Permalink

    Linux is a kernel. You can download it from kernel.org.

    If you weren’t a whining fucktard you’d know this.

  7. Jean Azzopardi
    Posted May 10, 2008 at 1:57 pm | Permalink

    I agree 100% with you.

    Yum IS slow. I haven’t tried Fedora Core 9, only 8, but it was slow on a core 2 duo 1.66 ghz.
    I don’t know if it’s due to badly written code, or python itself, however.

    Personally, this is why I’ve resorted to using slimmer distros. Arch Linux, Zenwalk, Slackware, Gentoo. Especially Arch. It has a good package management system, and it’s fast.

  8. Tomasz
    Posted May 10, 2008 at 1:59 pm | Permalink

    128mb ram? You want to run a 2007 operating system on a box that has 128mb ram when the standard for a new computer is to have 2gb ram and ram is *dirt* cheap.

    Maybe, just maybe you should check minimum requirements of the OS before you try to install it and blame it on the developers that you have a computer that belongs in a museum.

    Python is rapid development. The cost for this is being more resource-heavy, but really who notices these days. I have 4gb ram in my laptop and run 64-bit Ubuntu, I couldn’t give a *shit*.

  9. Khashayar
    Posted May 10, 2008 at 2:04 pm | Permalink

    Dude, why don’t you try out puppy linux? Or, better yet, archlinux with fluxbox? Or some such. There’s a bunch of light weight distros to be found by browsing distrowatch.

    I only assume that modern distributions are made to make use of modern hardware, hence Fedora, Ubuntu, OpenSuse & co will not look nice on a computer from the beginning of this century. Archlinux users seem to be very dedicated to have things running on old hardware though, so there’s some good support for that there.

  10. Will
    Posted May 10, 2008 at 2:16 pm | Permalink

    I have been similarly frustrated with xubuntu on my old 128mb laptop. I have found that enlightenment (16 I haven’t tried 17) + firefox3 turns it into a usable (if spartan) machine again.

  11. Marc
    Posted May 10, 2008 at 2:26 pm | Permalink

    Puppy Linux is worth a try on older systems. I don’t think it even includes Python by default. I never had good luck with Xubuntu, but I last tried it 2 years ago.

  12. troll
    Posted May 10, 2008 at 2:50 pm | Permalink

    Yeah same goes for all the scripting languages. Most of full-blown desktop environments pull them all simultaneously after you have installed a few applications: python,ruby,tk,perl, … The outcome is a disaster.

    What I don’t really understand is why we have init SCRIPTS. Slow, inefficient, annoying. Why we have parts of the “new” shiny hardware detection stuff implemented in scripting. Why I also have constantly running all sorts of stuff like “update-agent” although it is not constantly required? (A cron job would have been significantly better to update my system, thank you Ubuntu idiots) Why I have pulseaudio to do what alsa should have done? The #1 reason for its existence is to allow non-blocking audio – alsa could do that on its own already. This goes on and on and in the end roughly 2/3 of the memory usage on my Ubuntu Hardy is just useless. Not to mention that at the bootup some 80% of the cpu cycles and IO activity is just simply wasted.

    Sigh.

  13. anonymous
    Posted May 10, 2008 at 2:58 pm | Permalink

    Uninformed and plain flame-triggering. No thanks for posting this on Planet GNOME. And I’m even a KDE user.

  14. Posted May 10, 2008 at 3:02 pm | Permalink

    Can’t agree with you more.

  15. Posted May 10, 2008 at 3:16 pm | Permalink

    On low power machines I prefer using debian + gnome desktop.
    (With nautilus disabled and gnome-terminal replaced by something not taking allot of memory.)

    This ran fine on a 233mhz imac with 160 mb ram or a 400mhz g3 laptop.
    leaving enough “work power” for firefox3 or thunderbird.

  16. Cameron
    Posted May 10, 2008 at 3:31 pm | Permalink

    Hear hear! Python is cool, but at least for the basic install, I want things to run as fast as possible. Whether on a Core 2 Quad or a 500 MHz P2.
    :)

  17. buh
    Posted May 10, 2008 at 3:41 pm | Permalink

    You rule!

  18. Ralf Nieuwenhuijsen
    Posted May 10, 2008 at 3:45 pm | Permalink

    >Guys – python isn’t a fucking system language
    ..
    >it isn’t suitable for long-lived applications

    Since when should we be using a system language for long-lived applications? Applications in languages like Python are developped a lot quicker and more stable than messing with pointers in C.

    For the gnome core libraries, C is excusable. But for desktop applications? Seriously?

    Then you go and bash Python?

    Long, long ago, in a fairy tale far away, there were assemblies. People then moved to C. But the hardcore assembly guys were all like ‘its too slow and bloated’, ‘you can’t use it for real applications’. Offcourse, I asssume, you declared these people idiots.

    Sure, C is a little bit slower. But it’s a lot better maintainable. It’s easier to learn, so there are more programmers than can contribute.

    Now you’ve become the old man, fighting progress.

    This is not meant to bash C. But i just don’t understand your grok with Python. It’s not perl, it _is_ designed for maintainable applications. (and even in Perl it just requires discipline and convention, the cornerstone of OSS development)

    There are more python applications written in a month, than there are comparable C applications writting in a year. Why? because it’s easier, faster and more accesible (easier to learn). So more people are contributing.

    Sure, for Yum, its a debateble. It seems high performance and few dependencies ought to be serious goals for such a tool.

    On the other hand, reliablity should be as well. And there is a whole species of bugs that just instantly dissapears when using a programming language with real type and bounds checking and automatic memory management.

    Argubly, besides the built-requirements, a language like Haskell would make the most sense. (which you likely also dismiss on some other closed-minded grounds). Since reliability and performance seem key; with hakell code you can have a proofs generated that for example a package database will always be in a sane state.

    If anything, there are lots of alternatives and C is almost never the perfect choice where it is used. Perhaps except in the Kernel.

    Some of most complicated programs are writting in Python. (like Blender for example).

    Just because a language is easy enough to be used for scripting purposes, does not mean it isn’t powerfull enough to be used for anything more serious.

    Perhaps you need to revisit your skills and learn some new languages before being all judgemental and make a big baffoon out of yourself.

  19. Ralf Nieuwenhuijsen
    Posted May 10, 2008 at 3:46 pm | Permalink

    Oh and 128 mb + xubuntu is do-able.

    Except some swapping when running more than 2/3 desktop applications though. And use the alternative install. The live-cd’s require more memory.

  20. Imos Anon
    Posted May 10, 2008 at 3:54 pm | Permalink

    I have been wondering why the hell GNOME team hasn’t replace Evolution to something better one or rewrite it. The Evolution is very buggy, slow and bloat for years. Python…. I have to agree with you.

  21. Posted May 10, 2008 at 4:21 pm | Permalink

    Hello.

    I thought I had issues with my 800MHz, 256MB Travelmate C100.

    This may sound ugly, but on my 10 year old desktop PC, before I dismantled it last year, had to run KDE to survive on 128MB of RAM. I still couldn’t do much tabbed web browsing, but it was usable unlike GNOME :|

    (disclaimer: I love GNOME and memory and dislike when one pillages the other)

  22. Posted May 10, 2008 at 4:22 pm | Permalink

    Watch out ! When I’m saying that Python is not suited for what they use it for, I get called names….

  23. Posted May 10, 2008 at 5:09 pm | Permalink

    Every distro is bloated. More or less.

  24. Anon
    Posted May 10, 2008 at 5:28 pm | Permalink

    Unfortunately F8 isn’t going to win any boot speed races ( http://www.harald-hoyer.de/linux/boot-time-distro-comparison shows you really have to dig in by hand to see speed gains).

    apt will probably chew less memory than yum but I don’t think 128Mbytes sits well with the new popular distros (I don’t know about XUbuntu). Rumour has it that openSUSE’s package manager is going to be really fast in openSUSE 11 but the default openSUSE desktop chews up quite a lot of RAM (begale and GNOME/KDE). It’s starting to get to the stage where if you don’t have a P4 with at least 512Mbytes of RAM and a 15Gbyte disk you need a cut down/specialised distro.

  25. Henri
    Posted May 10, 2008 at 5:29 pm | Permalink

    And sadly enough, when you point out things like this, the standard answer is to buy more RAM/Larger HD/Faster CPU, and always with a reference to how cheap hardware is these days. This is of course true for most westerners, but it’s still wasteful, and what about people who make $100 a month?

  26. dh
    Posted May 10, 2008 at 5:37 pm | Permalink

    Sounds like you might like vector linux.
    fast and light. I installed on a 64mb pentium 1. (Its not fast at all, but I can use nx to get my main machine and run at good speed)
    PS I love bloat, but vector doesn’t.

  27. Jason D. Clinton
    Posted May 10, 2008 at 5:47 pm | Permalink

    No, it won’t be as bloated because the package manager is all in C. Parts of the install of individual packages use perl but they are short lived admin scripts.

    FWIW, you’d have a much, much better experience with an install of Debian which does not default install so many user space daemons. One you will want to disable though is hplip which gets pulled in by the cups drivers.

  28. Remm
    Posted May 10, 2008 at 6:34 pm | Permalink

    For all it’s worth, a default VM install of F9 uses less memory than an equivalent F8 install. Actually testing to see it is more appropriate for this platform could be nice.

    The main problem here is that all the services which make things slow and more resource hungry (net manager, pulse, auto updates, bluetooth, power saving, etc) are really nice to most users, and they have more than 128MB. As long as things don’t become bloated for no apparent reason (Vista style), I am fine with the OS using the resources it needs.

  29. sam
    Posted May 10, 2008 at 6:57 pm | Permalink

    Can i recommend MCC Interim Linux. it should be fast on your system.
    http://en.wikipedia.org/wiki/MCC_Interim_Linux

  30. Imos Anon
    Posted May 10, 2008 at 8:25 pm | Permalink

    Bravo.

  31. Posted May 10, 2008 at 10:20 pm | Permalink

    The high memory consumption in Yum is, AFAICR, because of their use of psyco. You can turn it off and it will reduce its memory consumption. It will also run slower.

    You should try smart instead. smartpm.org.

  32. john
    Posted May 11, 2008 at 2:39 am | Permalink

    I found 128mb to be too tight for Xubuntu. (I believe 7.10 was the version I tried.) I ended up installing Debian from a netinst CD. That only took me an entire afternoon.

  33. Alexander Boström
    Posted May 11, 2008 at 7:52 am | Permalink

    I should just ignore you along with your awful attitude, but here’s what you should do:

    * Don’t use the Live CD. 128 MB is not enough for that.
    * Install from boot.iso or the full set of install CD:s instead.
    * Get at least a gig of swap.
    * Maybe disable yum-updatesd.

    Or you can keep complaining instead of filing bugs and also keep ignoring that your hardware does not meet the minimum requirements.

  34. Janne
    Posted May 11, 2008 at 10:00 am | Permalink

    um, instead of complaining how bloated Linux is, how about running it on at least semi-modern hardware? You simply can’t expect a modern desktop-os to run smoothly on an ancient laptop with 128mb of ram.

    I find it strange that people install latest and greatest Linux-distros on obsolete hardware and then complain when it’s slow. 128mb is miniscule! Cell-phones have 128mb of ram these days, and we don’t expect those to run full-fledged os’es! Yes, Linux scales well to slow hardware. But it too has its limits. 128mb requires serious customization and tweaking. It is doable, but not with a latest version of fully featured Linux desktop-os!

  35. Thisnamefieldistoosh
    Posted May 11, 2008 at 10:09 am | Permalink

    Modern operating systems require modern hardware, that shouldn’t come as a suprise. Also, there is no Fedora Core 8, just Fedora 8.

  36. Vytas
    Posted May 11, 2008 at 11:17 am | Permalink

    Maybe just Fedora is bloated? We may hate Eric Raymond, but I left Fedora long ago for more or less the same reasons as him – yum is badly bloated. Try Ubuntu family. It far from perfect, but at least package management is much better. It also uses python for updates GUI, but you can alternatively use apt-get/aptitude in terminal which are written and C, and run fast

  37. Karthik
    Posted May 11, 2008 at 1:22 pm | Permalink

    Bang on target man. I too do not know why python sucks (RAM included) so much.

  38. Razvan Vilt
    Posted May 11, 2008 at 1:46 pm | Permalink

    I think that you are overdoing this a little. You are trying to install a 2008 distribution on a 2001 class computer. Imagine installing a 2001 operating system on a 486 pc with 4 or 8 MB of RAM. The difference is to big. Indeed it might work, especially if you add some RAM to the system.
    IMHO, writing in Python is justified as it is 3-4 times more difficult to write code that does the same thing in C. It’s easier to buy better hardware and add more required functionality than to keep old systems alive.

  39. Sweet
    Posted May 11, 2008 at 2:44 pm | Permalink

    You might Try CentOS, or if that doesn’t work, Damn Small Linux or Feather might be better if you only have 128mb of ram.

  40. Pete
    Posted May 11, 2008 at 3:04 pm | Permalink

    Rants against languages like this are entirely uninformed.

    My hope is that desktop environments can provide more applications written in higher level languages. C#, Python, Javascript; I don’t really care. The apps are more stable, quicker developing, and better all around.

    It would be interesting if you posted the specs of your old laptop. My old 400mhz desktop boots into Ubuntu in under a minute. It does have a whopping 256mb though.

  41. Tack
    Posted May 11, 2008 at 3:38 pm | Permalink

    Such insight! I had an epiphany. Let’s scrap, say, Freevo entirely (because it’s written in that crap called Python) and start over in C.

    See you in 10 years.

  42. Posted May 11, 2008 at 4:02 pm | Permalink

    your 100% right, allot of the distros are hacking together “features” with scripting langs. What ever happened to good ol fashioned op. code?

  43. Leo S
    Posted May 11, 2008 at 4:17 pm | Permalink

    Debian. Last year I had it on a p2 266 with 96 mb of ram running kde 3.x with no problems (used about ~55 mb after boot). Go to a window manager and you’ll be even lighter. Don’t try to use a distro designed for a modern system on your old hardware.
    Opera or Konqueror instead of Firefox, aptitude instead of some graphical package manager, and you’re good to go.

  44. bsdluv
    Posted May 11, 2008 at 6:43 pm | Permalink

    just use freebsd :)

  45. Andreas Kostyrka
    Posted May 11, 2008 at 7:36 pm | Permalink

    Guess the information that Python is a toy language will be news to some people. (E.g. I’ve been doing long running applications in Python over a decade ago, and the server that was shared by half a dozen users had 128MB RAM too)

    There are some items you seem to forget:

    -) The whole “lowlevel” userland tools are bloated, not only in implementation, but also in design. (hal, dbus, …) Not that it does not provide a nice user experience, but fact is that it’s quite a bit of code and memory usage that some years ago would have been handled by simple commands (sudo’ed) or simple shell scripts.

    -) GNOME is not that bad on “old” hardware, depending upon your value of old.
    On my 3 yrs old laptop, I have to admit that Ubuntu/GNOME is not really slower than my old Debian/ion3 setup.

    -) And picking on the real issues here, I’d say these are not Python apps:

    1594 pts/6 S 10:11 24 1 73558 50912 2.4 gwenview

    3939 ? Sl 0:33 55 227 125916 38380 1.8 gnome-terminal

    6248 ? Sl 1:07 458 816 113043 39100 1.9 pidgin

    6220 ? Sl 0:22 88 1177 128266 54204 2.6 nautilus –no-default-window –sm-client-id default2

    5865 tty7 Rs+ 237:48 47 1607 382536 40652 1.9 /usr/bin/X :0 -br -audit 0 -auth /var/lib/gdm/:0.Xauth vt7

    6257 ? Sl 2:16 112 405 175174 53892 2.6 /usr/bin/liferea-bin

    6272 ? Sl 2:16 742 115 148640 64676 3.1 evolution

    25932 tty2 Sl 24:44 23 35 1301800 143224 7.0 /usr/lib/jvm/java-6-openjdk/jre/bin/java -Xmx1024M -Djava.library.path=.:/usr/lib/jni:/usr/lib -classpath Azureus2.jar:/usr/lib/java/swt.jar:/usr/share/java/Azureus2.jar: org.gudy.azureus2.ui.swt.Main %f

    Hmm, guess with nowadays evolution you wouldn’t be able to develop on a 128MB RAM box.

  46. Posted May 12, 2008 at 9:30 am | Permalink

    I’d much rather have the myriad of little desktop tasks writting in python than have lots of binary blobs segfaulting and being overflowed left right and centre. I’d suggest something like debian, which can fit in under 200M, but even that has perl by default. Maybe you should try an embedded distribution like emdebian?

  47. Posted May 12, 2008 at 11:16 am | Permalink

    I do completely agree with you.
    However using scripting languages like perl/python allow for easy debugging and modification/patching.
    Now launch mono based applications and you will cry even more, especially when you will see applications ending with .exe, or library with .dll

  48. Posted May 12, 2008 at 1:07 pm | Permalink

    Pretty telling that no one’s argued against this yet…

  49. markrian
    Posted May 12, 2008 at 1:11 pm | Permalink

    Agreed. Thank you.

  50. Posted May 12, 2008 at 9:27 pm | Permalink

    A parallel question for you: how much of GDM’s bloat is due to Python?

    Since the beginning of my Linux experience, I’ve run only the lightest window managers and desktops (xfce is the lightest available nowadays). My work with VR/AR/VRML always demanded more out of the hardware than it had, so doing things in X with a minimum of interference was quite important.

    The reason for the question above: if you’re wanting to re-claim the RAM, just launch your X session from the commandline with ‘startx’. GDM pre-loads 2.3 tons (metric) of stuff with it. While much of it will load anyway if you’re using a desktop system, it will at least minimize the impact after the swap-fest gets you graphical.

    And I’ll agree – Python is not the panacea everyone feels it is. It’s great for doing “proof of concept” implementations, but it’s just *thick*. Lingers on the stack longer than chocolate chip cookies on my love handles…

    -pax-

2 Trackbacks

  1. […] read another post that was interesting to me. This article was about how Linux is […]

  2. […] Zucchi complains about yum memory usage, and points python as […]