Author Archive
Winter Trees
Unneeded Dependencies
$ sudo apt-get install bzr Reading package lists... Done Building dependency tree Reading state information... Done The following extra packages will be installed: bzrtools defoma file fontconfig fontconfig-config graphviz libcairo2 libdatrie0 libdirectfb-1.0-0 libfontconfig1 libfontenc1 libgraphviz4 libice6 libpango1.0-0 libpango1.0-common libpixman-1-0 libsm6 libsysfs2 libthai-data libthai0 libts-0.0-0 libxaw7 libxcb-render-util0 libxcb-render0 libxext6 libxfont1 libxft2 libxmu6 libxpm4 libxrender1 libxt6 python-paramiko ttf-dejavu ttf-dejavu-core ttf-dejavu-extra ttf-liberation x-ttcidfont-conf x11-common xfonts-encodings xfonts-utils Suggested packages: bzr-gtk bzr-svn python-pycurl xdg-utils pybaz librsvg2-bin defoma-doc dfontmgr psfontmgr gsfonts graphviz-doc ttf-kochi-gothic ttf-kochi-mincho ttf-thryomanes ttf-baekmuk ttf-arphic-gbsn00lp ttf-arphic-bsmi00lp ttf-arphic-gkai00mp ttf-arphic-bkai00mp Recommended packages: libft-perl The following NEW packages will be installed bzr bzrtools defoma file fontconfig fontconfig-config graphviz libcairo2 libdatrie0 libdirectfb-1.0-0 libfontconfig1 libfontenc1 libgraphviz4 libice6 libpango1.0-0 libpango1.0-common libpixman-1-0 libsm6 libsysfs2 libthai-data libthai0 libts-0.0-0 libxaw7 libxcb-render-util0 libxcb-render0 libxext6 libxfont1 libxft2 libxmu6 libxpm4 libxrender1 libxt6 python-paramiko ttf-dejavu ttf-dejavu-core ttf-dejavu-extra ttf-liberation x-ttcidfont-conf x11-common xfonts-encodings xfonts-utils 0 upgraded, 41 newly installed, 0 to remove and 7 not upgraded. Need to get 16.1MB of archives. After this operation, 38.9MB of additional disk space will be used. Do you want to continue [Y/n]?
That is why it pays to have the following settings in your apt preferences if you want to keep things to a minimum:
APT::Install-Recommends "false"; APT::Install-Suggests "false";
Upgrade Pains
Yesterday I learned a lesson the hard way. I upgraded a “production” system (My home MythTV box) to the latest testing version of Debian and suffered numerous small failures. The knock on effects ment the MythTV system was unavailable for recording for about five hours, much to the fustration of the other half.
The idea came to me at first when I spotted that MythTV 0.22 has been released and maybe it was time to upgrade to get up to speed, of course I didn’t read through the new features list or check out what was happening in the world of MythTV. As it turns out, nothing changed that affected me or improved the situation . I did a senseless upgrade when I didn’t need to.
So, from now on i’ll follow a simple checklist:
- Do you need to upgrade? Will it fix a bug or a ongoing issue?
- Do you REALLY need to upgrade? Will the upgrade fix a world shattering issue?
- No, DO YOU REALLY NEED TO UPGRADE?
Production systems usually run old software for a reason, I learned that today.
Olympus Trip 35
Ever since Jo got her hands on a Olympus Trip i’ve been gagging to get one also. After a few days and a few eBay auctions I finally got two. One is for Jo to use as a continual black and white camera, the other is just for me.
Unfortunately it looks like the one that Jo is going to have has an issue with the aperture blades, it looks like they’re gunked up and stopping the rest of the mechanism from working correctly. Hopefully with some helpful guides I’ll be able to get this old camera back to working condition.
Not allowed to disconnect from Virgin Media?
I’m really unhappy with Virgin Media, the most I’ve ever been.
Virgin have provided a bad service for the last few months, their traffic management is just a insult on top of the bad service. A few weeks ago I got Be installed and I finally started the long process of disconnecting from Virgin, or so I thought.
Turns out you can’t disconnect from Virgin if you have a outstanding balance, You have to pay 100% up front or they wont do anything, instead leaving your line connected racking up more service fees and late payment fees.
Very nice.
My Virgin bill is around £90, an amount I can’t just drop at a seconds notice. I thought that I’d be able to give 30 days notice then pay off the balance once I get my final bill in August.
Silly me.
*Edit*
Virgin Media has now decided to accept my disconnection on the basis of this blog post. Thank you, thats all I was asking for!
Working with SPARC
Nearly two weeks ago I replied to a email offering up some old hardware on the Manchester Linux Users list, Tim was offering up a few SPARC machines amongst other things, and due to my interest in different CPU architectures I bit his hand off.
I’m now the lucky owner of two amazing little workhorses, a SPARCStation 20 and a UltraSPARC IV, both true workhorses of the Sun/Solaris era. The SPARCStation is a old world SPARC machine, in its pizza-box format and the interesting MBUS and SBUS connection interfaces with a sprinkle of SCSI, the Ultra on the other hand is more modern PCI and IDE so I was able to get fast network cards and big disks without much issue. due to the old nature of the SPARCStation hardware I’ve not really invested much time into it, I’ll have to poke at it sometime this weekend and get the old thing up and running.
For the moment I was far more interested in getting the Ultra running as a OpenBSD firewall / router, the Ultra is relatively small (but large when compared to the SPARCStation) and allowed me to tuck it under a table to run, much to the disappointment of my other half. The existing DD-WRT based Linksys was starting to show its age and was becoming flaky after a few years of running overclocked without added cooling. The SPARC machine presented an excellent opportunity due to the good support of OpenBSD and the amazing pf packet filtering included.
The next few days were spent faffing with the hardware and re-installing OpenBSD 4.5, I had numerous small issues that were all down to a faulty network card, possibly a faulty PCI slot but i’ve not had the time to push it further. The PCI issue was quite difficult to diagnose for someone whose had no experiences of the platform before hand, I’ve now had a days crash course in OpenBoot. I have to say, that OpenBoot is a fantastic platform and it aided me a lot in diagnosing the strange issues.
Unfortunately, there’s always one problem you can never get to the bottom of. I updated the box with a new PCI network card, a old CDROM and a fresh HDD, A day or so passed and no matter what I tried I couldn’t get the machine to boot from CDROM, it refused to detect media and even some times the drive. Thankfully, the previous owner had left a basic OpenBSD install on the machine that allowed me to download the install image and write to the swap partition, allowing for a quick and simple reinstall using the swap partition as the boot media. The CDROM works perfectly in OpenBSD, I don’t have the energy to chase down this bug any further.
Finally, after what feels like a week of work, I have a small footprint firewall that kicks the arse out of my existing DD-WRT box. While it may not be a amazing icon to show off, like Chris as his SGI coffee table, it gives me warm fuzzies that technology that would generally be disposable by modern standards has its use somewhere. Now the box is up and working, it’ll slowly disappear from my radar and the experiences I had with this individual bit of hardware will slip away, that is, until OpenBSD 4.6 or another hardware failure.
Fingers crossed eh?
Hacking the ZTE MF627
Its been a while since I’ve done a good hack article. so again I’m back onto my favourite topic of 3G modems. Thanks to the generous promotions at 3dongles4free I’ve been able to pickup a new Three dongle for next to nothing. As I’ve already got my E160G I didn’t really need this to be on the Three network.
After a quick search around and a few suggestions from existing mailing lists I’ve found out that a hacked firmware exists and these cheap and cheerful dongles can be flashed to allow any SIM card to be used. This should be a simple job of updating the software and using the new SIM card.
First of all, grab the software pack from Rapidshare, due to the questionable nature of this copy of the firmware no one has been willing to host it on their own hosting, and I’ll keep to that idea. Extract the files from the RAR and you should have a firmware upgrade, and a installation folder for the connection software. As the existing Three connection software is very limited, the software package includes the Telstra version which allows you to define your own settings.
Before you attempt the software upgrade, you need to remove any existing Three software, install the Telstra version and remove your SIM card from the dongle, then simply plug it in and run the firmware upgrade. This process will take around 15-25 minutes and once it’s done it’ll give you a prompt. During the upgrade do not power off your PC or remove the dongle from the USB socket. This will brick your dongle rendering it completely useless.
Now, put in your non-Three SIM card and plug it back into your PC, the Telstra software should start-up and try detect the device, you need to configure the software for your provider’s APN settings, but the PDF document included with the software package will give you all the details you need.
Remember, I take no responsibility for people bricking their equipment, you have been warned.
LUGRadio Live 2009
Jono Bacon has announcedthat LUGRadio Live 2009 is happening and the basic website is now up and available. So for all that have not heard about LUGRadio Live before, let me give you a brief overview.
LUGRadio Live was a spin-off of the successful LUGRadio podcast, the guys decided that there was no decent open source conferences in the UK so decided to setup their own. The conference is in its fourth year, even though the podcast has finished. LUGRadio Live is described as a “rock conference”, everything is light-hearted and easy going but it attracts some big speakers right across the open source community.
If it sounds interesting, checkout the website, register your interest on Upcoming or Facebook, and follow the Twitter or Identi.ca users.
Woes of Webmin
My name is Andrew Williams, and I used to be a Webmin user.
During the last year or so, I’ve used Webmin and Virtualmin to manage my VPS hosting. For those who don’t know, Webmin is a web based server management console built on Perl, it allows each service to be managed by the use of modules, which you can install/uninstall to create a customised interface for your machine. With the addition of Virtualmin, the Webmin interface becomes a virtual hosting console much the same as Plesk or CPanel.
Webmin has a murky past, several high profile exploits existed for the system and it’s been advised for the last 10 years or so not to install it unless you really need to. Giving world access to Webmin was generally advised as stupid and silly. While Webmin is now up to date with it’s security it still leaves a bitter taste in the mouth of the administrator world and people who use it are usually noted as “newbies”.
I originally went with Webmin/Virtualmin as I was still hosting the few remaining customers of Blueshift Media. While I have the technical skills to work without it, the customers didn’t. The system gave a simple interface for the users and allowed them to add in basic stuff like new email addresses and aliases. To work around the security issue I only allowed access via SSH and port tunnelling, that way the user would have to be authenticated with the server before accessing the system.
Over the next year or two I started using Webmin to do my daily administration tasks, as working outside of Webmin once it’s installed can open you to a world of pain, Webmin keeps track of some configuration in it’s internal database, not in the external configuration files. Over time I become comfortable with the system and my technical skills slowly slip away from me, why do I need to know the in and outs of a program if Webmin can do it all for me?
Today, I learnt the hard way. I had a issue with Postfix content filters and I spent 10 minutes faffing in the Webmin console only for it to be a five second fix in the main.cf file. In a further similar fault I had to read up on Postfix Virtual file format as I’ve totally forgot how it’s supposed to be formatted, somehow the file had got munged and I had to reconstruct what I could.
Then it clicked.
Since I’ve installed Webmin I have been wrapped up in cotton wool, not actually touching the underlying the system and just using this fluffy interface to do my work. This is all well and good in the desktop world but in the server world your risking security and your knowledge of the underlying system.
So, today, I’ve officially removed Webmin, and I’ll never to return again. It’s time to actually learn my trade again and start using the distributions as they’re meant to be.
Importing History into Git
With my recent move over to Git for my VCS Home solution I decided to start afresh with new repositories and not migrating the history over, in the last few days i’ve noted that it was a very bad decision and having the full history will always be useful. Now i’m stuck in the situation of two repos with different histories. How do you reconcile these two trees into one full history tree?
First of all we need a working Git version of your existing repo, in my case, it’s in SVN, so I used the git-svn tool to import my svn repository.
$ cd ~/dev/ $ git svn clone http://tensixtyone.com/svn/home/trunk/bash
Git then downloads each SVN commit and imports it, this can be quite slow on large repositories but thankfully mine was only 20 or so commits. Now you have your originally repository in Git format the few final steps will bring in the changes you have done in the new repository.
To import the history we are going to generate a set of diffs, while this sounds less than ideal it is really the only clean way to get your new commits into your old repository, attempting to pull the commits in will throw errors as the commit hashes will not match.
First of all you need to find out the hash of your first commit in your new repository
$ cd ~/.dotfiles/bash
$ git log
...
commit ec508803a080f2146231fb4cd396cc18a2906a9b
Author: Andrew Williams
Date: Sat Apr 11 02:32:07 2009 +0100
Imported initial bash files
Then generate the diffs since that initial commit
$ git format-patch ec508803a080f2146231fb4cd396cc18a2906a9b..HEAD 0001-Added-bash_logout-file.patch 0002-Updated-bash-config-files.patch 0003-Updated-a-few-aliases.patch 0004-Updated-prompt-to-detect-if-we-re-using-vcsh.patch 0005-Fixed-nano-alias.patch
Now you have your fresh diffs, you need to import them into your existing repository. In addition i’m importing these into a new branch.
$ cd ~/dev/bash/ $ git branch new-bash $ git am ~/*.patch
The am command is mostly used to apply patches from a mailbox but for this case we can just tell it to use the patch files instead. After the command has completed you should be able to check git log and be able to see all the new commits.
Once your happy with the patches, it’s a case of switching to master and merging the changes.
$ git checkout master $ git merge new-bash
One thing to note, after this process the commits will have different hashes, so it wont be a simple case of pushing to your remote repo. I’d only recommend doing this if you have to, i’m sure that a better proceedure exists but this is what worked for me.


