Programming
New linux kernel license! (alright, I'm sensationalizing, but still)
zypper update brought me a kernel update this afternoon, which gave me an intriguing prompt:
Overall download size: 158.1 M. After the operation, additional 2.2 M will be used.
Continue? [yes/no]: yes
kernel patch license:
This update can be used to install a new kernel.
If you decide to use the kernel update, we recommend that you reboot
your system upon completion of the YaST Online Update, as additional
kernel modules may be needed which can only be loaded after the system
is rebooted.
In order to install this package, you must agree to terms of the above licencse. Continue? [yes/no]:
That I think is as close as one gets in an urxvt window to replicating the windows functionality of prompting for reboots after updates.
I'm not entirely sure how good an idea it is to make the suggestion to reboot in a license exhibit for GPL'ed software. It just doesn't work on so many levels...
eurobrussels.com python screenscraper
Much like unjobs.org, eurobrussels.com is an excellent resource for vacancies in Europe with multilateral organizations and all form of interesting private enterprises.
Unfortunately, the site is still RSS-disabled and the process of looking on the site for new jobs is temrinally inconvenient. So what's a python programmer to do?
Out comes BeautifulSoup and PyRSS2Gen. A quick examination of the source code reveals that the geeks there are good enough netizens to use (relatively) reasonable CSS classes. A little bit of time, and you've got a nice screenscraper for your RSS generator.
Find the python script attached to this post.
UNJobs.org Screenscraper and RSS Generator
The UN Jobs site is useful as a compendium of what postings are being opened where, but as an information system it is nigh on useless. There is no way to track what you have seen and what you haven't seen, and no way to tell precisely what is new between now and the last time you visited (the new postings page notwithstanding).
I've written a small screenscraper which pulls down all the postings and converts them to an rss file. I don't know about other feed readers, but liferea can read from a local file. There's a ton of dependencies like BeautifulSoup and PyRSS2Gen, but anyone with a little motivation should be able to get this working.
pycurl CurlMulti mini-HOWTO
In the course of writing a little python command line RSS engine, I naturally came to a point where I needed to download the RSS feeds to store them and work with them.
My options looked like this:
- Use
urllib2.urlopenwhich would download the feeds serially. When you have hundreds of feeds in your opml file, that takes too long. Besides, what do I have ADSL for? - Use Twisted. But, my application is not a web app and frankly, switching the whole thing over to the Twisted event-driven model is overkill and unnecessarily complicated.
- Use wget with threads. The problem with that would have been that I'd have to jump through hoops to pass the data from the threads back to the main application, possibly with messy kludges like temporary files. No thanks!
- Use libcurl through the pycurl library. Ah, yes, perfect. Or so I thought.
Better notifications with xosd and the at daemon
Here is a neat little application which extends the UNIX at daemon with the XOSD (X on screen display) for very effective, non-blocking, and simple notifications.
Software Requirements Specification: A Modern Look at How the Enterprise Determines What It Thinks It Needs
Most modern schools of requirements gathering and system specification development are user driven; this can often be the death of a development project. The truth which is known to the more successful technology development outfits is this: the user is irrelevant, the user does not know what is good for the system, and the user will often try to mislead you into developing software which does something they find useful.
Why do we develop software requirements specifications?
Five tips to better variable naming practises
This article is aimed at the enterprise programmer. It aims to introduce sound practises around the naming of variables, with the objective of making life more productively busy for the maintenance programmer and keeping the technical writers busy enough to hang on to their meaningless little jobs.
Mail sanity checker, new edition
This version is ported to python (don't bother checking my code, it isnt pythonic; I take the approach that I learn the standard libraries by practise and let the pythonisms adopt me).
Added feature of checking whether a reply has had enough quoted material trimmed, user-configurable.
I'll start versioning these things if it ever gets bigger than 500 LoC, but till then it's just a useful little trifle.
Tag Cloud
Popular content
All time:
- KDE 5.0 Available
- The iptables Rate-Limiting Module
- Cavalier Egyptian Attitudes to Trademarks
- Five tips to better variable naming practises
- New Windows!
- Software Requirements Specification: A Modern Look at How the Enterprise Determines What It Thinks It Needs
- pycurl CurlMulti mini-HOWTO
- UNJobs.org Screenscraper and RSS Generator
- My Resumé

