LTSP Cluster Website
For the past few months I’ve been working on the LTSP-Cluster team at Revolution Linux. Today we’re releasing the website so that we can tell the world what we’ve been doing!
LTSP-Cluster is a set of tools and plugins for LTSP that allows you to extend LTSP so that it can scale up to hundreds of servers and thousands of LTSP clients. It has a nice web interface for your LTSP configuration, does load balancing between your servers and more. It can even connect your LTSP thin client to a cluster of Windows terminal servers or NX servers, if you’re into that sort of thing. If you’re deploying LTSP soon, you’d probably want to investigate LTSP-Cluster, and I’m not just saying it because I’m involved in the project
It’s licensed under the GPLv3 license and supported by the LTSP community, you can also get commercial support *wink* *wink* from Revolution Linux where plenty of very skilled people are ready for your LTSP related needs.
Edubuntu Wiki Hug Day
As Scott posted before, the Edubuntu Bug day went quite well last week. This coming Thursday (21 January) we’re doing a Wiki Hug Day to to focus our efforts on fixing things in the Edubuntu wiki namespace, it includes:
- Fixing broken links
- Removing horribly obsolete or broken pages
- Moving pages which are in the wrong place
- Prettifying pages
- Mark pages that may need to be on the Edubuntu website instead
- Any other improvements we can think of
We’ll officially be starting the wiki hug day from around 12:00 UTC to accommodate the time-zones of our current contributors. It will be co-ordinated in #edubuntu on the freenode network. If you’re familiar with Edubuntu and know a thing or two about wikis, feel free to join in and get involved!
Database-configured Theming in Pylons
Yesterday I looked at very simple theming in Pylons, and mentioned that I'd prefer loading the current theme from the database rather than the configuration file. So this evening I decided to see if I could achieve that.
Looking in environment.py, I noticed that SQLAlchemy and the models were being configured and initialised last in the load_environment method. I moved those two lines up to the top of that method, and changed "config" to "app_conf". Then I simply did a normal Session.query() to fetch my theme name out of the "variables" table in my database.
Now that I had my theme name, I constructed my theme directory using the path to the themes directory from my configuration file and the name of the theme from the database. Then I set up my static files and tempaltes directories using the new theme directory.
Lastly, I wanted to do something that Drupal, the CMS that powers this blog, does with it's theming system. Drupal has a set of fall-back templates so that if you don't provide (whether by mistake or by choice) all the templates a theme needs, the default Drupal templates are used. This was very easy to set up, because Mako's TemplateLookup class accepts a list of template paths. So all I did was add the normal Pylons template path to the list as well.
So now my file looks like this:
- def load_environment(global_conf, app_conf):
- """
- Configure the Pylons environment via the ``pylons.config`` object
- """
- # Setup the SQLAlchemy database engine
- engine = engine_from_config(app_conf, 'sqlalchemy.')
- init_model(engine)
- # Pull out theme variable
- theme = Session.query(Variable).get(u'theme')
- if not theme:
- theme_name = u'default'
- else:
- theme_name = theme.value
- # Pylons paths
- root = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
- theme_dir = os.path.join(app_conf[u'themes.directory'], theme_name)
- paths = dict(root=root,
- controllers=os.path.join(root, 'controllers'),
- static_files=os.path.join(theme_dir, 'public'),
- templates=[os.path.join(theme_dir, 'templates'),
- os.path.join(root, 'templates')])
As usual, any comments or suggestions are welcome
Google Nexus One
Google recently released Nexus One. I went to check it out, and to my shock, it isn't available for South Africa yet. *cries*
So instead of dreaming of one, I started looking at the specs for it. Wow! What a good piece of kit this is! Wi-Fi, Bluetooth, AGPS, EDGE. Now you might be wondering why this is all such a big deal, any high-end Nokia has those features. The reason I instantly loved this phone, is the OS, Android. Android is the first open-source mobile operating system.
So being an open-source advocate, this is a natural choice for me. Great work Google!!
Related items
Very Simple Theming in Pylons
For a while I've been thinking about how to achieve themes in some of my Pylons applications, and just today I was looking around in my environment.py file, and saw the configuration of the templates and public directories. That gave me an idea, can I load a theme directory from the configuration file and use it in there?
I had a bit of a false start initially, I thought that I could just use the config object as I do elsewhere in my application, but that didn't want to work. Eventually I found the solution: the app_conf object.
This is how my code now looks:
- ...
- theme_dir = os.path.join(app_conf['themes.directory'], app_conf['themes.current'])
- paths = dict(root=root,
- controllers=os.path.join(root, 'controllers'),
- static_files=os.path.join(theme_dir, 'public'),
- templates=[os.path.join(theme_dir, 'templates')]
- )
- ...
And the relevant lines in my config.ini file:
- themes.directory = %(here)s/themes
- themes.current = default
Each theme is simply a directory with two subdirectories, "public" where my images, styles and scripts live, and "templates" where my template files live.
I'm still looking into how I can pull the current theme from the database at this early stage of the application, but this is a start in the right direction.
Hopefully, this will help someone else. If you have any suggestions for a better or more elegant solution, I'd be keen to hear about it.
Happy 2010
Happy 2010 everyone!
I’m not sure how I’ll ever top the 2000’s, it was quite an action packed decade for me, it’s sometimes hard to believe that in 2000 I was still in school
I haven’t made any big goals or plans for 2010 yet, I guess I’m happy with the direction things are going at the moment, in short I plan to:
- Stay in Canada for a few months (probably over 2 visits)
- Get my motorbike license (appointment is for 1 March)
- Up my Ubuntu involvement more. Revolution Linux gives me at least a full workday a week for Ubuntu related stuff so this shouldn’t be hard
- Continue getting fitter- been doing great at the gym recently and I’ve been going 3-4 times a week for the last 2 months
I feel very good about this year, hope it turns out great for everyone!
Edubuntu Project 2.0 Status Update
Edubuntu 2.0
I should really blog about Edubuntu more. The Edubuntu project initially kicked off nicely, but with time as things changed things ended getting somewhat stale. Earlier this year we decided to rebootstrap the project. Edubuntu Project 2.0 is real and we’re getting some really good momentum going. We now have a new Edubuntu Council voted in, of which I’m really happy to be part of again. Revolution Linux also gives me and Stéphane some time to work on Edubuntu related things which is really awesome!
Tonight we had quite a good meeting, I posted a dump of the notes to the edubuntu-devel list.
What’s happening for Lucid- Scott Balneaves is working on parental control features that will be included in upstream Gnome (he is now an upstream Gnome developer as well)
- Stéphane and myself will be the release contacts for Lucid
- Live LTSP session for the Live DVD, if this works in time for Lucid then many packages can be dropped from the alternate installation
- Menu editor based on groups
- We’ll attempt at revamping the artwork for Lucid, if we can’t get nice artwork in time we’ll fall back on Ubuntu artwork rather than have outdated Edubuntu specific artwork
- Sabayon is now in a really good state, Scott has done lots of work on it and it’s teachers should now find it very useful
- Nanny has been uploaded to the archives in the last week, it will be used to implement parental controls in Lucid
- With the Ubuntu archive reorganization, there will be an edubuntu-dev group with upload rights for the appropriate packages. We’ll sort out most of this after the holiday season
- Netbook edition: We’d like the option of installing a netbook edition from the Ubiquity, which basically entails installing a few UNR packages such as maximus and the netbook launcher. I’ll write a spec for this in the coming week
We’re planning some hug days! More details and announcements will follow on the Fridge, etc. For now write these dates in your diary:
- 12 January 2009: Edubuntu Bugs Hug Day
- 21 January 2009: Edubuntu Wiki Hug Day
We’ll spend some time specifically for documentation as well, most likely in February some time.
We want to extend to other projects more. Currently Stéphane is working with the Guadalinex-edu people. I’m going to be working with the Qimo project to get their packages in Ubuntu. Scott is working to become a Skolelinux/Debian-Edu developer and David van Assche is an OpenSuse-EDU developer so we’re making some progress with our relationships to other projects. We need someone to liaise with the Sugar project, so if anyone is willing to get involved with that please give us a shout!
Our next Edubuntu meeting is on 29 December at 19:00 UTC in #ubuntu-meeting on the freenode network so if you’re interested in getting involved you’re welcome to join in. If you can’t make it, meetings times will be made available on the Ubuntu Fridge.
Happy holidays!
HP Deskjet D2663 on Ubuntu Hardy
Yesterday I had to buy a new printer because my old one packed up over the weekend. Since I run Ubuntu/Kubuntu Linux exclusively at home, I needed a printer I could be sure would work in Linux. This means that generally I need to get either HP or Epson printers. I've had both makes of printers before, and they've both served me well, so I have no problem being "limited" to those two.
I picked up an HP Deskjet D2663, a printer similar to my last one, one of the bottom of the range of HP's. I don't need anything fancy, I already have a small photo printer (it came with the camera) and I doubt I'd use the scanner from one of those all-in-ones. The D2663 is a cheap printer, but a decent one.
My wife and I have separate computers, which means that we need a shared printer, so I attach my computer to one of the servers at home and then we both have access to it at the same time. Unfortunately the server is running Hardy, which means it doesn't have the latest driver for this brand new printer.
I went to the HPLIP site, and downloaded the tarball, and looked for a PPD file. I found the HP Deskjet D2600 series PPD, but when I loaded it, I got an error message that said that the "foomatic-rip-hplip" filter was not found. I opened the PPD file and found two lines that specified that filter. After a bit of googling, I found that I just needed to remove the "-hplip" from the filter name, and it worked!
Yay, so now I have a new printer, working perfectly on my Ubuntu Hardy server.
Apple, Bentley and sex in the mouth
Cabbage, Bacon, Sausage and Potato Soup
Howto install a satelite dish
Walnut – The anti-consumerist rocking horse
The Addis Mk-I P-Bass
Italian style bean and meat sauce – With Geek speak
Aggie, 1968 Mercedes Benz W108 280S
I R pimped my ride
The revolution.org.za is back
Geekdinner Cape Town: Quarrelsome Quince
Last night I attended the Quarrelsome Quince Geekdinner (wow it’s the end of November already!?). It was ok. The talks were good, Adrianna Pinska (aka confluence) did very well on the kareoke slideshow which was titled something like “The Winners of Safety at Work” which was a bunch of funny slides of people improvising at work mostly doing dangerous things. She did a great job since the slides were almost too easy since they were funny on their own, but she managed to be really quick on her feet and make up some really good stuff.

The food at Cafe Max were great and Delheim sponsored the wine. Even though the food and wine was good, I go to the geekdinners more for the geek part than the dinner part. I spent some time catching up with Andy about everything from off-line Wikipedia, tuXlabs, Ubuntu-NGO, Quebec, Canada and the French. I also got some mini-photography lessons from Joe and played with his nice Canon camera (which is why I haven’t took too many shots) but I’m sure he’ll have them up soon. After the geekdinner was officially finished I sat with Jeremy, Simon, Adrianna and Michael a bit, we looked through Jeremy’s xkcd book which was quite cool, besides having all the strips from the xkcd site, it also has lots of cool little puzzles that all fit together. Not sure what happens when you solve them all, but I want one of those books too now! They also talked about some of the problems in their Pyweek game called Rinkhals and somehow listening to them talking about problems in Python is always interesting even when I don’t completely understand. I have a lot going on this weekend but I’ll try to get to the CTPUG meeting tomorrow, I’ve only been to two of the CTPUG meetings before but I’ve always wanted to get more involved.
Oops, drifting a bit off-topic there, the next Geekdinner is at the end of January and if you’re interested you can subscribe to the announce mailing list where the details will be announced. Thanks to all the people who organised it!
Ubuntu-ZA Karmic Release Parties
For the Karmic release, Ubuntu-ZA had 4 release parties that took place in Stellenbosch, Cape Town, Pretoria and Brandford, that’s 4 release parties in the country for one release- a new record for our LoCo Team! I attended the Cape Town event at UCT yesterday which took place in the Shuttleworth Lab. Michael Gorven talked about netbooks and the Ubuntu Netbook Remix, I briefly went through the new features page on the Ubuntu website and did a little demo on gnome-shell. Lots of ISO images and repositories were copied around from external hard disks, the LEG mirror and from the Freedom Toaster (which didn’t work so well anymore later when one DVD writer was hot swapped :p).
There were some people who expected a bit more of a product-launch type event. I guess we need to get more markety type people involved so that we’ll have more fanfare next time, overall it was nice to see some familiar faces and finally meet some people that I’ve only known on the IRC channels and mailing lists before. David Rubin, our newest co-leader has already volunteered to organize the next release party for the Ubuntu 10.04 LTS (Lucid Lynx) release. We had some chat about Lucid and people are generally happy about a release that is more focused towards bug fixes rather then new features.
Kubuntu 9.10 Karmic Koala - Kwik, Kool and Krackerjack!
With the recent release of Ubuntu 9.10 there has been a spate of negative publicity for this latest release, with a lot of people bemoaning broken upgrades and various other installation issues. Having only had 1 failure out of 7 upgrades, I thought I'd blog about my experience with the upgrade, and my thoughts on the new version of Kubuntu (since that's the particular flavour of Ubuntu that I use).
Kubuntu 9.10 comes with KDE 4.3.2, a very worthy successor to KDE 4.2. While KDE 4.3 doesn't have any big new features, it does come with a number of small enhancements that I find make the desktop environment slicker, friendlier and easier to use.
One of the improvements that stands out for me is the notification system. There is now a little (i) information icon in the system tray which "houses" all your notifications. Notifications pop up for a few seconds, and then disappear back into the icon where the longer-lasting ones can be seen again with a simple click on the icon. File transfers, which have always used the notification system in KDE 4, now disappear after a few seconds, and their progress can be seen by the "throbber" that appears in place of the info icon.
One of the overall improvements which is not KDE-specific is the speed of the desktop. My machine is noticeably faster and more responsive. My computer at work, with it's 4 gigs of RAM, absolutely flies, and my computer at home, with 1 gig of RAM, no longer occasionally feels sluggish. Boot times have definitely decreased, though that's not a major selling point for me.
So, overall, I'm impressed with the Karmic Koala. I wasn't expecting this much of a difference, especially since I had already been running KDE 4.3 on my home computer for the last few months. It's a refreshing and pleasantly surprising upgrade!



