tensixtyone

Rants of Andrew Williams / Nik_Doof

Archive for the ‘General’ Category

Hacking the ZTE MF627

with 7 comments

ZTE MF627 3G DongleIts 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.

Written by Andrew Williams

June 10th, 2009 at 10:31 pm

Posted in General, Technology

Tagged with , , , , ,

LUGRadio Live 2009

without comments

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.

Written by Andrew Williams

May 11th, 2009 at 12:30 pm

Posted in General

Tagged with , , ,

Woes of Webmin

with 7 comments

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.

Written by Andrew Williams

April 21st, 2009 at 11:50 am

Posted in General, Soapbox

Tagged with , , ,

Importing History into Git

without comments

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.

Written by Andrew Williams

April 15th, 2009 at 1:31 pm

Posted in General, Technology

Tagged with , ,

OBLogout 0.2 Released

without comments

I have to say, hell has actually froze over. I’ve been promising this release for months now and I never thought i’d actually get it out the door. Due to numerous showstopping bugs and hitches this release has seen numerous delays. Finally, we’re there.

OBLogout is a logout and shutdown script designed with Openbox in mind, it’s simple, themeable, extendable, and useable even on a low powered machine like a EeePC. This new release sports alot of new features:

  • Keyboard shortcuts - each button can have a shortcut key assigned to it
  • Customisable commands - allows for you to modify what each button does.
  • PolicyKit support - allows for everything to work well with HAL.
  • Better theme support - themes are easier to setup and change.

If your interested, drop over to the Launchpad project page. At the moment i’ve got packages for Ubuntu Intrepid and also Arch, if anyone wants to contribute any others then please drop me a mail.

So now I storm onto the 0.3 release, I’ve got a few blueprints that I want to clear on this release but i’m always welcome to new ideas. If you have any suggestions then raise a blueprint on Launchpad.

Written by Andrew Williams

April 13th, 2009 at 11:06 pm

The version controlled home directory

without comments

For the last year or two i’ve been using SVN to store my common configuration files, this has worked wonders and has enabled me to move my config seamlessly between systems with a few simple commands. In the last day or so i’ve decided to move from SVN to Git as my control system, and now I think it’s a time to do a post on why exactly i’m doing this.

The idea of a version controlled home directory stemmed from people storing their /etc config files in CVS, this allowed for any modifications to be tracked, tested, and if worse came to worse, rolled back without much hassle. These ideas can be very useful for the end user, imagine you want to fiddle around with your terminal settings but forget to make a backup of your original settings, the time you spend trying to fix it back can be avoid with a simple vcs command. Another situation that I often get into is when you format or move to another system, a few quick commands can return your config and no pain of trying to remember your favourite settings.

So, how do we do this?

Each person has their own method, and hopefully I’ll describe my little world to everyone in a easily digestible way. It’s neither pretty or easy but it works for me.

My SVN version was very simplistic, a single repository broke down into “packages”, which contained the batch of config files for each program, such as “irssi” or “bash”, these would live under “trunk” in the repository.

~/trunk
$ ls
abook          gtk2     ikog   keepass-private  mutt  ssh          tin
gnupg-private  hamachi  irssi  mozilla          pine  ssh-private  xchat

For each machine I made a new branch under “branches” then I would use the “externals” properties to pull in the packages that I needed from trunk. So, when I wanted to pull in my configuration I would simply checkout that machine’s branch into a folder then symlink the required files over as needed.

~/branches
$ ls
ithaca  manex  orion  vektor

This took time to setup but once the initial linking was done it was a simple matter of managing the files in the single checkout folder.

This system served me well for a year or two, but with the increase of machines and the general pain of symlinks I decided I needed a new method. I reviewed a few examples but the one that stuck with me was Martin Krafft’s system using Git, MR and a few handy scripts. I’ve now managed to rework this into a similar system for myself.

First of all, you need a method of getting the configuration files in the location you require. Git has this excellent feature to having detached worktrees, this allows you to remove the need for symlinking all together. For example, we can setup a git repository in a storage directory then tell the repo to checkout the files to your home directory.

$ mkdir -p ~/.dotfiles/test.git
$ cd ~/.dotfiles/test.git
$ git init --bare
$ git config core.worktree ../../

So now, you have the test.git repository, and the worktree is your home directory. Now it’s simply a case of checking in the files you require and commit them to the repo. This scenario is a little different from the original Git idea so a little bit of a workaround is needed to actually use the repo in this way. Two variables need to be configured for Git to use the detached worktree as desired.

$ export GIT_DIR=~/.dotfiles/test.git
$ export GIT_WORK_TREE=~/.dotfiles/test.git/../../

Now, you can use the Git command as if you were in a normal Git worktree. This is a pain to work with by hand but luckily Martin also created a little shell script to set these variables as needed. It’s based on zsh but i’m in the process to converting this to bash to avoid a extra unneeded dependency on my part.

So, we can get the configuration files to the place they need to be, now we move onto actually packaging and distributing the files. I decided that Martin’s method works the best, using the mr tool you can configure and manage multiple repositories and automate the checkout and update of these. This with tool the management of your packages can be done by simply changing the config file of mr.

mr supports importing extra configuration files based on wildcards, this allows for a global configuration to be setup which will only include configuration on a per machine basis. For example in the current .mrconfig I have this.

[DEFAULT]
include = cat ~/tools/mr/lib/* ~/.mr/* 2>/dev/null || :

Simply put, this will include any files in my ~/tools/mr/lib/ and ~/.mr/ folder. Then in my .mr folder I have a file for each type of package I have available

[.dotfiles/mr.git]
checkout = git_fake_bare_checkout 'ssh://git.tensixtyone.com/mr.git' 'mr.git' '../../'

[.dotfiles/bash.git]
checkout = git_fake_bare_checkout 'ssh://git.tensixtyone.com/bash.git' 'bash.git' '../../'

[.dotfiles/bin.git]
checkout = git_fake_bare_checkout 'ssh://git.tensixtyone.com/bin.git' 'bin.git' '../../'

[.dotfiles/ssh.git]
checkout = git_fake_bare_checkout 'ssh://git.tensixtyone.com/ssh.git' 'ssh.git' '../../'

So when I execute the mr command this will checkout each of those repositories as needed. If I require any extra packages I can pull in another config file and drop it into the .mr folder.

Now we have the method and the configuration sorted, how do we get this onto a bare machine? Again, Martin has come to the rescue in a form of a script he has setup to do the initial bootstrapping of a fresh account, it pulls in the basic configuration for mr and then it’s a case of dropping in the require config files into the .mr folder. Job done.

While my system isn’t perfect yet, it is workable and very flexible. The benefit of being able to move my active configuration between machines with a few commands outweighs the time needed to setup and configure the system. If you are interested my public configuration files are available via gitweb, hopefully from the mass of files you can work out what i’m doing. For the bootstrapping script check the setup.git repository, for my mr configuration files check mr.git.

If your interested in setting up a version controlled home directory, I’d advise you to join the vcs-home mailing list and check out their archives and wiki. Also, remember there’s no all ruling version control system to use for your home directory, Git works well for me but it doesn’t for everyone. The idea is to have a system that works for you, while I’ve followed Martin’s example very closely, again, this wont fit all.

Written by Andrew Williams

April 13th, 2009 at 2:02 am

Posted in General, Projects

Tagged with , , ,

UKUUG OpenTech 2009

without comments

The UKUUG has announced OpenTech 2009 to be held in London:

What is OpenTech 2009?
Open Tech 2009 is an informal, low cost, one-day conference on slightly different approaches to technology, democracy and community.  Thanks to 4IP for sponsoring the event.

What do we need?

  • Proposals from people who want to give a presentation, run a panel,  organise a tutorial, or run a demo of something new and interesting  on something that they think matters or getting people to help.
  • Publicity - please blog this announcement, write a newspaper article,  forward to mailing lists, and tell your friends!

What topics do we hope to cover?

  • Mashups, open data and security
  • Disaster politics and technology
  • Future of media distribution
  • Community engagement
  • Democracy 2.0
  • Highlights, lowlights and lessons learnt
  • Long term thinking on big problems and massive Opportunities
  • Tutorials & Workshops - share what you know

If you’ve got an interesting proposal that doesn’t fit into any of the categories above, please send it in anyway!

What have we already got talks or sessions about?

  • ID, surveillance and data-sharing
  • mySociety
  • international disaster management technologies

We’re still looking for more talks on all our topics, so if you want to offer something, we’re waiting to hear your ideas.

How do I submit a proposal?

Can I buy or reserve a ticket to the event?

Register at http://www.ukuug.org/events/opentech2009/list and we’ll email you nearer the time with more information

Any other questions?

Read the Submission page or email opentech@ukuug.org

More information at http://www.ukuug.org/events/opentech2009/

Hopefully, If the price is right, I’ll be able to make it down for the event. July is getting to be quite a packed month for events, with LUGRadio Live and State Of The Map.

Written by Andrew Williams

February 9th, 2009 at 1:45 pm

Posted in General

Liverpool LUG February Meet

with one comment

It’s that time of the month again, Liverpool LUG has snuck up again and it’s time for me to post the details.

Liverpool LUG Meeting
4th February 2009 @ 7:00pm
Liverpool Social Centre, 96 Bold St, Liverpool, L1

This month is a little different, thanks to the Liverpool Social Centre we have a meeting space available to use for this and future meetings.

This months talk will be given by Vladimir Jakubovskij and is regarding his recent research paper “Open Source perspective: The current situation with online music piracy and the future of free music distribution”. Vladimir will be discussing the topics in his paper at the talk. The paper will be published under the CC license at a later date.

If Vladimir is unable to give the talk for some reason or another, Then Joanne Roberts will (hopefully) have a quick talk devised on Open Street Map.

This will be our first meeting at the Liverpool Social Centre on Bold Street. Access is currently through the door next to the News From Nowhere bookshop entrance. Ring the doorbell (the small white one to the left of the main buzzer) for admittance. If you have any difficulties finding the event, please call 07530 709 263. I’ll be in Liverpool quite early to make arrangements and organise things.

Afterwards, we’ll head to a local drinking hole for a few off topic drinks and banter.

The Liverpool Social Centre is a non-profit volunteer ran operation who usually charge for their space, but they’ve offered this location on a free basis in return of support for their compute cluster. For the first month it would be good to give a small donation of £5-£10 from the group to cover costs, so if you could bring 50p or so to donate they would appreciate it. For more details about the location check the website.

Hope to see you all there

On an additional note, I’ll be there with my Tikitag reader and related software to show off my pyTikitag stack for reading the tags in Python and also to generally fool around with them.

Written by Andrew Williams

February 3rd, 2009 at 1:50 pm

January Liverpool LUG

without comments

It’s a rare occurrence that I post about Liverpool LUG and the meetings, as I thought a few people are not signed up to the mailing list it’ll only help to post it elsewhere. So to save rewriting what has already been posted, here is the original notification email.

Liverpool LUG Meeting
7th January 2009 @ 7:00pm
The Bar, 1st Floor, FACT, 88 Wood St, Liverpool, L1 4DQ

It’s coming up to that time of the month again, as it’s so damn close to new year I think we’ll keep it as a social night, unless someone wants to step up and give a talk.

As per usual, we’ll start at FACT and move on to another place if we feel the need to. We’ll be located in the Bar on the 1st Floor outside Gallery 2, keep an eye out for UMPCs, beards, and a plushie Tux. If a talk is on we’ll usually move from the bar to the conference room at about 7:15pm, if you arrive late you can get to the conference room via the lift (head to the 3rd floor) or if the lift is disabled ask a security guard.

Hope to see you all there

http://upcoming.yahoo.com/event/1423955
http://identi.ca/livlug
http://twitter.com/livlug
http://jaiku.com/channel/livlug

 If you’re thinking of heading down and not sure of the location then drop me a email, I’ll be getting into Liverpool at about 6:30pm at Liverpool Lime Street.

Written by Andrew Williams

January 6th, 2009 at 10:32 am

Posted in General

Tagged with , , , ,

The Commuters vs. East Midlands

without comments

For quite a while now, commuters on the heavily loaded Liverpool to Norwich service have suffered with cramped conditions and late trains. Personally, I’ve been travelling this service for nearly four years and seen the highs and lows.

Originally the service was handled by Central Trains, who at their best used to run a terrible service, many people complained and nothing happened. November 2007 gave new hope, Central Trains were finally pushed to the sidelines and a new franchise took over the running of this critical route for Liverpool-Manchester commuters. At first many rejoiced at the sight of four carriages and a return to the level of service we expect. Trains ran on time, fully formed, and working well. Six months later, it’s a different story. What we saw was a reduction in service back to the good old Central Trains days. The issue now is that this service is worse than Central Trains ever was; four carriages are the oddity of the service, not the norm.

So enter Train Sardine, a new website for the disgruntled commuters who have to put up with this service. This group aims to give one voice for the the route and hopefully give some marked improvement, only time will tell but if your interested in helping out then check out the website.

Written by Andrew Williams

November 24th, 2008 at 11:41 am