Monthly Archives: October 2010

This Is Your Brain On LFS

LFS Logo

LFS! We meet for the first time for the last time!

I’ve been spending the last few days getting some presearch (you know, pre-research) done for installing Linux from Scratch, and I’m slowly forming a rough mental checklist of what I need to do to install LFS. I’m a total newbie at LFS, and even Linux, so my list may be much longer than it would be for more experienced Linux users, but hey — we all start somewhere, right?

Get My Hardware Ready

I’ve found an old unused hard drive at work, a beautiful 2.1GB Seagate ST32122A (4500RPM, 12msec seek time, even a 128K cache!), which will make building LFS on Limited Edition much easier, since I don’t have to worry so much about toasting GRUB accidentally. Or toasting Limited Edition accidentally 😯 . I have no idea if it actually works, but I’m hoping so — I like putting old things to use in creative ways. If it fails, I guess I’ll either have to build LFS in Piggybacker or get a similarly old disk on eBay.

Do The Pre-Reading

(The preading?) There is a lot of pre-reading for me to do! I had no idea: this is a short list of the recommended reading and resources to scour before building LFS 6.7 (dates in brackets are of last known update):

I put together this list because there’s not really any single page that links to good resources for building a single-boot Intel x86 LFS — but now there is! Let me know if I missed something or if there’s newer versions available, and I’ll add it here.

Here’s some further links for the adventurous multi-booters-to-be:

And here’s some links to some major hosts of free software source code:

By no means are any of these meant to be exhaustive — they are basically a jumpstart for my fellow LFS newbies. If I find more interesting or valuable material, I’ll post about it on BG, too, so keep an eye out in coming weeks.

Practice Building Packages

It’s not all about reading: no, LFS is all about getting your hands dirty, too, so I’ll be building software from source many times before I actually move on to LFS. Emacs is recommended, as it’s both useful and well-traversed software. I’ll keep an eye out in coming weeks for other good packages to practice building, too.

Choose An LFS Build Distro

The Linux Mint 9 KDE / Kubuntu 10.10 hybrid that Limited Edition is running isn’t up to the task of building LFS. I can install all of the required packages, but many of them are too recent for LFS 6.7 to have adjusted, and beyond that, I’d rather not mess up my current install any further 😛 . So rather than downgrading my packages and crossing my fingers, I’ll just use a live CD. I may use a normal distro, but LFS highly recommends using the LFS LiveCD to build a LFS system from, and I’m inclined to do just that.

Read The LFS Book — Repeatedly!

Then once I’ve done all that prepwork, I will inhale the LFS Book until I know it backwards and frontwards and sideways.

Take A Deep Breath… And Begin

And then I’ll start building LFS 🙂 . From my cursory searches, it seems that getting a working LFS build the first time around takes about a week, but it is possible to have a ready LFS system in a few hours time, if the RNG is on your side.

The reason I’ve slated so much prepwork is twofold: First, I want to take my time with this, because my goal is not just to rush to have a working LFS build, but also to understand as much as I can about Linux underpinnings in general; and second, I want the actual build process to be as painless as possible when the time actually comes. Besides, documenting the process is what this blog is all about!

Starting My Own Linux From Scratch

The concept of Linux From Scratch has always fascinated me — I’ve always wondered how an OS gets made — and today I decided that I will make a Linux From Scratch of my own. I will publish my adventures in LFS here, and host a copy of it on BG when I’m done.

I am a Linux newbie, and this blog is about learning to program, but I also want to learn how Linux works from the ground up — after all, as I’ve said before, I’m an inveterate tinkerer. I also feel that learning Linux in-depth is worthwhile from a programming perspective as well, since I will have to brush up against masterful examples of programming and engineering that will undoubtedly pass totally over my head at first, but make more sense as time goes on.

Also, my time for programming is often lost to the Linux learning curve. Yes, Linux is unbelievably easier to use and maintain in 2010 than it was even a few years ago, but it is still quite different from Windows, so I suffer from having to constantly unlearn decade-old habits. Often, I find myself an hour or two into my coding time and I’ve not written a single line, but I finally get package management in Synaptic (or some basic vi shortcuts, or file operations in Dolphin, or how to configure GRUB — you get the idea).

So I’m taking the next few weeks off to make my own LFS. No coding, just Linux; I will soft restart my self-education in Python afterwards. And yes, there will be screenshots :mrgreen: .

Moving Some More Bits Around

I’ve done some more work to polish the pages on BG lately, especially on the My Hardware page. I felt that my pages were pretty much getting near-zero attention, and I attempted to rectify the situation.

I also created the brand-new Screenshot Archive page, which exists to show off monthly screenshots of my desktops. Basically, I want a chronological overview of how my use of the desktop (especially the Linux desktop) changes over time, and monthly seemed like a good interval for that purpose. And we all know that the Internet loves pretty pictures.

I hope everyone enjoys the changes and finds the pages on BG more useful now (or at least less useless 😉 ).

Moving Bits Around

I’ve decided to change how I post software reviews on BG: Rather than having a page dedicated to the reviews themselves, I will write more in-depth reviews as individual posts, which I will link to on the new “Software Review Archive” page. This is more like how I do the “My Code Archive” page, and it cuts down on the number of images that have to load if you’re only interested in one piece of software.

I also updated the BG site header to something more interesting than the default. Hope y’all like it!

Please note that the said “Software Review Archive” page is currently content-free, since I haven’t posted any reviews yet! That said, there are numerous reviews from the old “Software Reviews” page, so the remainder of this post is the archive of the old reviews. Enjoy!


Want to know my opinion on the different pieces of software I’ve wandered across during the making of this blog? Then you’ve come to the right place.

Table of Contents:


Operating Systems

I’ve been playing with computers since I was a kid — I remember being on my dad’s old Commodore 64 trying to learn BASIC and LOGO, and of course playing some Radar Rat Race and Castle Wolfenstein 🙂 .

I’ve used many different OS’s as my main operating system (Mac OS System 6-7, MS-DOS 6, Ubuntu 10.04, Windows 3.1, 95, XP Home/Pro, and Vista), and have played around with plenty others for experimentation (BeOS PE 5, FreeBSD 5, various Linux distros, Windows NT4 and 2000), and I have a few others I’d like to play with some day (AROS, various BSDs and other Unices, Haiku, Mac OS X, OpenSolaris, Plan9, ReactOS). I always hope to learn more about computers when trying new OSs out (even Windows), and maybe someday I’ll do something really crazy to fuel my OS experimentation bug.

Operating Systems » CentOS

CentOS 5.5

CentOS 5.5 on Frankenstein

CentOS 5.5 on Frankenstein

CentOS is fairly user-friendly, especially compared to other security/enterprise-focused distros. The install was a nice, mostly graphical affair, and the RPM-based update system wasn’t too awful a shock for my .deb-loving heart.

CentOS includes many good tools for server apps, but it also has options for desktop use, so don’t write it off as “only” a server distro. GNOME is the default GUI as ever, but KDE and XFCE are options as well. You can go X-less if you like, too. Throw something like Webmin on there, and you’re ready to go!

I’ve only tested Samba file sharing on CentOS, but it worked like a charm, so I don’t doubt that other server functions are equally polished. It will be a welcome addition to our office when we (finally) get a server in here!

Operating Systems » Linux Mint

Linux Mint 9 KDE

Linux Mint 9 KDE

Linux Mint 9 KDE on Limited Edition

As Mint is an Ubuntu derivative, installation was similarly easy. First impressions are everything, and Mint 9 KDE does not disappoint with its beautiful color scheme, great desktop integration, good apps — just overall minty freshness 🙂 .

I’m glad that Mint 9 KDE came with proprietary codecs pre-installed, since it saves me the trouble of doing it myself. The default programs are great, especially Amarok, Dolphin, OpenOffice.org, VLC, and Wine. Also really awesome was the inclusion of the GetDeb repositories (though disabled by default).

Linux Mint 9 is also very fast (though I’m sure it could always be faster, right? 😉 ), and much more enjoyable to use than Windows XP (or any other Windows, for that matter). It is super-slick, very customisable, and very beautiful. Hats off to you, Mint!

Operating Systems » Ubuntu

Ubuntu 10.04 LTS (Lucid Lynx) Desktop Edition

dreamer6 all decked out!

Ubuntu 10.04 (with some extras) on dreamer6

Installation was a breeze, taking only a few preliminary clicks before the automated install was done. Works admirably as a live USB install. The default Gnome desktop is really well integrated and themed, with the dingy orange-brown color scheme finally gone, replaced by a nice black-purple that is quite easy on the eyes.

The bundled software is really quite nice, including such big hitters as Evolution, OpenOffice.org, and Firefox. Copyrighted/proprietary codecs (e.g., MP3, AAC, Flash) are not installed by default, which may confuse some users, but it is relatively painless to install them yourself.

Overall, I find that this release achieves its goal of user-friendliness, speed, and accessibility. It is slow as compared to other Linux distributions, but still faster than Windows XP/Vista/7, and far faster than earlier releases.


Audio & Video Players

I love music, but I love podcasts and audiobooks more 🙂 . I also am a former iTunes addict, so I have a fairly large number of enhanced podcasts and M4B audiobooks. Because of this, my evaluations of music players will be… biased. As for movies, I have all kinds, ranging from clips to full-length movies, so I think I can speak fairly well for the experience as a whole there.

Audio & Video Players » Amarok

Amarok 2.3.0

Amarok 2.3.0 on Limited Edition

Amarok 2.3.0 on Limited Edition

Amarok just seems to fit to how I listen to music. It doesn’t handle video, but Miro works for my video podcasts just fine. Also, even though the interface is a major break from the columnar style of most modern audio players, I see Amarok 2’s interface as a callback to Winamp, only Amarok is way more configurable than Winamp ever was with custom playlist layouts and information display. I’ve used Winamp since 2004, so I’ve always had a bit of a soft spot for it and its cousins.

Wishlist of features not yet in Amarok 2:

  • Variable-speed playback option for podcasts and audiobooks
  • Podcasts kept INSIDE the music folder (rather than hidden in ~/.kde/share/apps/amarok/podcasts — seriously guys?)
  • Enhanced AAC chaptering support
  • Built-in audiobook functionality similar to iTunes
  • Support for embedded album artwork (and better tagging capabilities while we’re at it)
  • Fix the horrible layout breakages when resizing the playlist plasmoid!

Some of these things can be fixed/alleviated with Amarok’s amazing script extension system, but not all. Still, Amarok is by far my favorite music player for Linux, and I will be using if for a long time to come.

Audio & Video Players » aTunes

aTunes 2.0.1

aTunes 2.0.1

aTunes 2.0.1 (Gnome theme) on Limited Edition

aTunes seemed a promising choice, as it has statistics gathering, a host of options, and multiple ways to bulk-update your music info. However, “host of options” descends into lack of usability and cleanliness. Making aTunes use Gnome’s system theme helped, breaks the look-and-feel in several places (menus not themed, menu text not themed, playlist buttons not fully displayed, inconsistent coloration, tray icon). This wouldn’t be a big problem if it could handle M4B audio files, but aTunes positively won’t play M4B, though it loads them into the playlist. Though AAC/M4A files add and play just fine, so I’m not sure what the issue is. aTunes has a ways to go before it can tackle the likes of my library.

Audio & Video Players » Audacious

Audacious 2.3

Audacious 2.3

Audacious 2.3 on Limited Edition

I like Audacious for its similarity to Winamp, but unfortunately for my media library loving heart, it’s more like Winamp 2 than Winamp 5. It plays MP3, MP4/M4A, and even M4B files quite well, but has no chaptering/bookmarking functionality. That said, it seems a solid application for its purpose, though it did have weird issues with the equalizer in Ubuntu 10.04. I appreciate the plugin-centric mentality, which could probably alleviate at least some of the drawbacks for my audiobook/podcast-heavy library.

I think it’s something I would have used happily back in 2004, but it disappoints me in 2010. If you manage your music library by hand and don’t care about audiobooks or podcasts, Audacious could be for you.

Audio & Video Players » Banshee

Banshee 1.6.1

Banshee 1.6.1

Banshee 1.6.1 on Limited Edition

Banshee is slow. And fat. It took up nearly 70MB of RAM with my ~20k songs/videos loaded into the library (mostly podcasts), as opposed to, e.g., Rhythmbox at 53MB. Even then, after multiple tries, Banshee didn’t load about 3000 files for no particular reason. Other inconsistent and awkward points are:

  • Banshee will let you add files to the library that it cannot play, but fails to mark them as unplayable (a la iTunes’ grey exclamation mark), even after trying to play it several times.
  • Album art is for some reason not loaded with all the other metadata — you have to play at least one file in an album before it will recognize it.
  • There’s a weird bug which randomly rates songs at five stars, even though I’ve never rated or even played them in Banshee.
  • Speaking of rating, it seems almost impossible to discern what clicks will actually let you make (or heaven forbid, clear) a rating — why is this so hard to do?

Some parts of Banshee I like (separate audiobook section, cool hover effect on album artwork), but it overall feels like the application is focused on eye candy instead of performance, power users, and consistency. Sorry Banshee, you look good, but don’t cut the mustard with me.

Audio & Video Players » Clementine

Clementine 0.4

Clementine 0.4

Clementine 0.4 on Limited Edition

I am really digging Clementine. I like the way it structures music more like a filesystem hierarchy with customisable tabbed playlists, even more than I like iTunes’ library/playlist management (though I suppose it’s a matter of personal taste). Clementine does not have support for chapters in enchanced AAC files, but it otherwise plays them normally.

Downfalls of Clementine: no (obvious) method of handling podcasts or audiobooks, no (inside the file) album art support, no recollection of playcount/last played/etc kind of data, and no support for automatically organizing your music files.

I may consider it as a music-only iTunes replacement, and use separate programs for podcasts and audiobooks.

Audio & Video Players » DeaDBeeF

DeaDBeeF 0.4.1

DeaDBeeF 0.4.1

DeaDBeeF 0.4.1 on Limited Edition

Well, it isn’t anything like an iTunes killer, but it’s my favorite barebones-y Linux music player yet. DeaDBeeF is like a mixture of the best aspects of VLC and foobar2000, only more delicious-looking than either, and with the most awesome equalizer in all history. The only drawbacks (for me) of using it as a barebones player are its lack of support for M4B. Classic name, cool EQ, feature-packed, small size — DeaDBeeF is definitely a keeper if you don’t need or want a media library, or even if you just need it for odd jobs and don’t want to fire up a big music client.

Audio & Video Players » exaile

exaile 0.3.1.1

Exaile 0.3.1.1

Exaile 0.3.1.1 on Limited Edition

I like exaile. I like its layout, extensibility, and simplicity — but unfortunately it’s a memory hog that has a bit too much simplicity for my tastes. Strikingly, exaile used more RAM than any other player I’ve tried on Linux (with the exception of Miro), but it was still extremely responsive despite (because of?) this.

The more I used it, I though to myself, It works like DeaDBeeF with an iTunes skin. exaile does what it does really well, but there’s a lot more work to be done in the details (like tagging, album art, memory management, etc.) to make managing a large library practical in exaile.

If exaile can crank out some quality changes to those details, I’m sold — even if they can’t get memory usage down, I’d be sold! The exaile team has made a great player, but it’s still a bit rough ’round the edges. You know, I’m learning Python — maybe I’ll chip in some time in the future 😉 .

Audio & Video Players » JajuK

JajuK 1.8.4

JajuK 1.8.4

JajuK 1.8.4 on Limited Edition

JajuK… where can I begin? I really, really hate pretty much everything about it — the interface, the hyper-complexity, the lack of podcast or audiobook support per se, the fact that it’s grotesquely slow, the fact that even the rating system just didn’t work — so it’s completely out of the picture for me.

However, there are a few things that I like very much about JajuK that I’d like to see in other players:

  1. Statistics. This is awesome. JajuK even has cool pie charts and graphs for you to see, and integrates those statistics so that you can make your own computer a kind of personal last.fm.
  2. Multiple Modes. I don’t use any program for just one thing, so having distinct, clearly labeled, and easily accessible modes for listening to music, each of which is customisable by itself, is a really cool feature.
  3. Multiple Library Locations. A quick abusing of the library location folder made it apparent that I can watch multiple folders for music. Why is this cool? Because I can share music in much more flexible ways. Having just one library location is great if you only have one computer — but most of the people reading this page (author included) will have more. Multiple libraries lets you share your most-listened-to music without tying you down to any one machine (especially helpful for families who don’t all share dad’s affection for live Simon & Garfunkel or what have you 😉 ).

Still, JajuK is a loss. Ultra-messy, Java-heavy, randomly broken, and just noy my style.

Audio & Video Players » Miro

Miro 3.0.3

Miro 3.0.3

Miro 3.0.3 on Limited Edition

Miro was an intriguing possibility for me. It was like iTunes, only with BitTorrent integration! Not so. Miro lacked any form of audiobook support, or even anything resembling a conventional media library. While Miro doesn’t work as an iTunes replacement, it does have strong points for Internet media consumers (read podcast lovers, Youtube addicts, and RSS hounds). This may just be my Podcast catcher of choice if they add PMP support like they promised, and I really like how you can tell Miro “fill my hard drive, but leave a little bit free”, which is great for post-vacation podcast updates, I’m sure.

Side note: I found that Miro is a huge memory hog if you try to load a large non-feed library into it — over 220MB for ~20k songs and videos! It probably scales much better when it’s used as intended, though 😉 .

Audio & Video Players » Quod Libet

Quod Libet 2.1

Quod Libet 2.1

Quod Libet 2.1 on Limited Edition

Quod Libet was something of a wild card for me. I had heard of Quod Libet years ago while browsing teh Interwebs, and what I heard seemed good — highly capable integrated tag editor, fast database, great file support — but were the rumors true? Mostly.

Quod Libet is a really fine piece of software, but it really hogs memory (~85MB). Also, Quod Libet’s famed tagging system is, while super capable, not very intuitive or swift for one-song or couple-song type edits.

However, Quod Libet really shines with its album-art-browsing-display (shown in the above picture), with its huge list of plugins, and with its super snappy response to searches. I wish Quod Libet had a progress bar that displayed by default, though.

Maybe I’m just missing something, but I just don’t feel Quod Libet clicking with my media library like I want it to.

Audio & Video Players » Rhythmbox

Rhythmbox 0.12.8

Rhythmbox 0.12.8

Rhythmbox 0.12.8 on Limited Edition

Well, if I stick to Gnome, Rhythmbox is going to be my media library of choice. Even with my full library of ~20k songs loaded, Rhythmbox shone in efficiency, never topping 55MB (once library refresh was over). Rhythmbox works, and there is surprising depth to its seemingly simplistic interface. The developers really knew what they were doing here.

However, Rhythmbox does slow down once you load it with tons of music, and scrolling is a jerky affair, though everything else is responsive. Also, I still would like better tag editing, and there is nothing resembling good album art support.

Rhythmbox is cool, fast, sleek, and well-designed, but I may have to go to Amarok to really do my music library justice (it really kills me to say that, you know).

Audio & Video Players » Songbird

Songbird 1.4.3

Songbird 1.4.3

Songbird 1.4.3 on Limited Edition

Songbird seems to be a player that conjures mixed emotions in the Linux crowd, especially after support was dropped. Personally, I wonder why they didn’t look at the numbers and drop Mac support, which makes more sense than dumping a highly tech-oriented audience, but that’s just my two cents.

I’ve dallied with Songbird on XP before, but was really disappointed by the super-slow player. Songbird has perked up since then, and I like the dark iTunes interface, but something is really missing here. I mean, Songbird would have a much better chance at ruling the roost if they would at least include (somewhere obvious) podcast support. They did get tag editing right by following Apple’s lead, though.

Songbird just didn’t sing for me. Everything has an unfinished feel about it, and knowing that there is no support for it anymore means if I want Songbird’s functionality, I’ll be using Nightingale when (if?) it comes around.


Miscellaneous

These are programs that don’t fit into one of the main categories I’ve made, or that don’t fit into any particular category at all. Who knows what you’ll find here!

Miscellaneous » Zim

Zim 0.48

Zim is a really awesome desktop wiki. It sounds like a ridiculous idea, but using a wiki as a desktop note-taking tool/organizer is a really helpful thing. the formatting is simple, mostly text-based, and the simplicity of the thing really lends itself to flexibility. I have used it for: drafting articles, outlining program flows, keeping a list of my favorite programs, snippets of custom settings for web development in Joomla! and Drupal, random notes to myself, and a few other odds and ends. Basically, you are limited only by your imagination. Give Zim a whirl — it’s addictive!

SPOJ #1: Accepted!

I blogged a while back about SPOJ, a.k.a. the Sphere Online Judge. Basically, SPOJ is a massive community based around programming challenges, and I was quite excited to have found it at the time because SPOJ would help me look for problems to solve as I was learning Python. However, I haven’t actually solved (or worked on solving) any of the problems since I found SPOJ. This is because I found that most trivial and nearly all non-trivial tasks required loops, which I didn’t learn until recently… and then time constraints kept me from pursuing SPOJ challenges in addition to learning Python from Hetland (great book, by the way).

But now:

#!/usr/bin/env python

# spoj1.py v1.0.0
# SPOJ #1: Life, the Universe, and Everything
#
# Changelog:
# v1.0.0 (10/18/2010) - Initial release
#
# Copyright 2010 Benjamin Braithwaite
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program.  If not, see <http://www.gnu.org/licenses/>.

spoj = input()
while spoj != 42:
    print spoj
    spoj = input()

Above is the source code of spoj1.v1-0-0.py (which you can download from my Dropbox, if you so desire). Result: accepted! According to SPOJ, this solution weighed in at 0.03s of runtime and 3.6MB of memory, well within limits.

Basically, Life, the Universe, and Everything requires you to return the inputted one- or two-digit number unless that number is 42, in which case you end the program. I had some trouble with it — either the program would work but only return the first number before exiting, or it would go into an infinite print loop. After some rumination on how while works, I realized that while I couldn’t use the while not foo: that I love so much, I could duplicate the initial state of the program (so it wouldn’t exit the while loop if the answer wasn’t 42) by resetting the spoj variable to a blank input() after the program returned a piece of non-42 input. If that didn’t make sense, just read the source code and that should clear things up 😛 .

Hopefully this is the first of many successful SPOJ submissions; if you would like to see how I’m doing on SPOJ, my username is (predictably) bgbraithwaite. In the meantime, happy hacking!

What I Learned In Python This Week #6: Abstraction! (It’s Programmer for “Laziness”)

Tools I Used:

  • Geany
    • Light and functional GTK-based Python IDE.
  • Python shell / bash shell
    • I use the Python shell to learn functions interactively and the bash shell to test the scripts I write (though I use Geany’s “Execute” shortcut for quick testing).

Accomplishments:

  • Fibber (fibber.v1-0-0.py)
    • Calculates as many Fibonacci numbers as you tell it to. A demonstration of def, though probably could be written just as effectively without it.
  • Fiddled around with some older code for experimental/educational purposes.

Functions/Concepts I Learned:

  • Abstraction with def
    • def allows programmers to define their own functions. If a function you need isn’t built-in (or built the way you like), you can make one yourself. This lets you recycle your work without having to rewrite or maintain the same code in multiple places.
    • The most helpful aspect of def isn’t that it necessarily simplifies program structure (though it can and often does), but that it makes programs more human-comprehensible. This makes for more easily maintainable code (well, that and good comments), because you can focus on what a program does separately from how it does it.
    • A def function appears similar to a loop (e.g., def foo(bar): return bar + 1) and likewise is usually newlined then indented after the colon (apologies for an example which does not reflect this). You may nest loops within user-defined functions, and as of Python 2.2, you may nest user-defined functions as well.
    • To document your new functions, you can use regular comments, or you can use a docstring. You can access docstrings with the .__doc__ attribute (e.g., foo.__doc__ will return the docstring of the function foo()). In Python’s interactive shell, you can use help() in a similar way (e.g., help(foo) will give you the docstring of the function foo() and some additional information about it as well).
  • callable() lets you test whether something is callable, returning 1 if it is callable and 0 if it is not (remember that to Python these are Booleans).

I didn’t get to learn too many new concepts this week, due to the re-encroachment of my life upon my coding time. However, things should be looking up in the future — my wife just got two jobs and is in line for a third (they’re all part-time), which is a real blessing as she’s been looking for work since we were married in October 2009. This makes both our lives much easier, as my current job (though full-time) doesn’t pay enough to do anything (and I mean anything) beyond getting us to the next paycheck. Hooray for soon-to-come financial stability!

Methinks that next week and possibly the week after will be spent digesting chapter 6 as well as reviewing earlier chapters of Hetland. I was thinking that I could just run through Hetland multiple times until the deeper concepts soaked in, but my week-long hiatus really did a number to me mentally, and I need to go back and solidify the basics until I’m positive that I know them thoroughly. It’s not so much that I don’t know what Hetland is talking about at points, it’s more that I’ll try to go code something on my own that I know I ought to know, but can’t remember the exact functions/methods available to me. This is exactly like Greek and Hebrew class! Vocab is always my weak point — maybe I should make some flash cards, eh?

Ah, Now This Was Ill-Advised…

Well… I can never leave things well enough alone when it comes to Linux distros (what can I say? I’m a die-hard tinkerer).

So after KDE refined the 4.5 series to its latest 4.5.2 release, I thought I’d be safe enough to chance upgrading my Linux Mint 9 KDE install on Limited Edition to 4.5.2. I took the usual route of enabling Kubuntu backports, running sudo apt-get update then sudo apt-get upgrade-dist… then sudo apt-get -f upgrade-dist… then running back and forth between apt, aptitude, and Synaptic

I was running around thanks to a bug described here, whose fix was apparently only committed to the Maverick (10.10) repos, not the Lucid (10.04) repos. (Then again, I’ve been having odd troubles with refreshing my repositories of late, with several repos throwing a 404 or -5 [No address associated with hostname] error, so this may have been an issue just for me.) So… I changed my repos by hand to refer to Maverick instead.

Oddly enough, this worked (after about four hours of troubleshooting the odd package conflict), and quite nicely, too:

 

KDE 4.5.2 on Limited Edition!

KDE 4.5.2 on Limited Edition!

 

So I now have an upgraded Kubuntu Maverick (10.10) core with Linux Mint 9 KDE wrappings (*scratches head*) — I even have the new Ubuntu font.

And I now remember why I wanted 4.5 so much: KDE 4.5 is blazing fast with startup, individual apps, etc. It uses a fair bit more memory than I expected when it started (~400MB), but most of that is probably my lack of configuration skills, since everything else is so amazing. KDE now runs as fast as Gnome did, and the things that always bothered me about 4.4 (like Dolphin being terribly slow and random Plasma crashes) are pretty much all taken care of in 4.5. Also, 4.5 seems just more polished and thought-through than 4.4 or Gnome.

However, much of the credit is certainly deserving to the amazing Linux community as a whole, since I managed to update over 1,400 packages and still have a working (and better-working) system. Right now, I want to give a big thanks to all the people (who are undoubtedly way more talented than I) who have made such a thing possible through their individual and cumulative efforts. Keep on hacking!