I’ve just had an article published by Sitepoint that aims to introduce Git to people who may not have programming experience and are more comfortable using a GUI rather the command Line. “Git: Your New Best Friend“
Archive for the ‘Open Source Software’ Category
Easy Introduction to Git
Posted by Alec on 4 September 2009
Posted in Cygwin, Git, Open Source Software, Software Development, Web, Windows, Work Practices | Leave a Comment »
What tools does Alec use?
Posted by Alec on 9 July 2009
After Perl Mongers last night there was a short discussion over tools. Here is my preferred list
- Vim editor
- Git version control (and GitHub to host my remote repos)
- Linux operating system
- Perl and CPAN for programming. Not a prefect language, but has wide applicability to the the types of problems I solve
- Google search engine
- Email (gmail)
- Bash and the UNIX command line tools (sort, find, grep etc etc)
- OpenOffice
- Paper journal/notebook (currently using a Moleskine, but I prefer a Miquelrius)
Posted in LinkedIn, Linux, Open Source Software, Work Practices, ego | Leave a Comment »
Top Tip: Upgrade Git on Cygwin
Posted by Alec on 21 January 2009
The current version of git installed with Cygwin (1.5.x) has at least one annoying bug so it’s worth building the latest version (NB I have almost all of Cygwin installed – you may need to install additional development tools and libs):
- Download and unpack the source code. Pointer here
- Run ‘./configure –prefix=/usr/local’
- Run ‘make test’
- Ignore errors relating to not detecting unwritable repos
- run ‘make install’
- run ‘hash -r’
- Make sure it’s installed with ‘type git’ and ‘git –version’
Update March/09 — I found more detailed instructions
Posted in Cygwin, Git, LinkedIn, Open Source Software, Software Development | 2 Comments »
Application deployment and change auditing with git
Posted by Alec on 10 January 2009
Updated 6/Feb/09
I’m currently working on on a project to deploy some complex banking systems and we have some somewhere in the region of 40 environments (various testing, production and development instances)
I’ve written some Perl to automatically configure environments using Text::Template. Now I’d like to automate deployment and have some form of change auditing (c.f.AIDE or Tripwire).
So a new project (which I hope will also have some useful ideas for others):
- Project Outline and User stories
- General Approach using git (other tools could probably be used)
- Define a staging repo
- Create a remote branch of each deployment environment
- Create a repo on each environment
- Define a custom merge driver that overwrites (old files with new releases)
- For each release
- Create a new branch (overkill?)
- Add new release to new branch
- tag
- To deploy
- Merge (using new driver) onto environment branch
- tag
- Push to remote
- On remote perform
git reset --hard HEAD - configure
- add and commit configuration changes
- on staging pull config changes from remote repo
- Now use git status etc. on environments to track any changes
- Staging should have historical record of changes
Posted in Change Audit, Git, Open Source Software, Perl | Leave a Comment »
Top Tips: Using the EEEPC 1000H
Posted by Alec on 2 January 2009
I’ve has my EEEPC 1000H for over a week now and I’m so totally enamoured of the small device that it’s become my sole platform for all my computing. Obviously this has involved some adjustments.
- The keyboard requires considerable patience — at least for someone with my large fingers
- My fingers are having to learn new positions to try and stop keep brushing the trackpad and moving the cursor to somewhere completely different. This is currently the most frustrating aspect of using the machine.
Some things to try.
- Get a bluetooth mouse
- Try the LXDE desktop and the Xfce4 desktop. They are both tuned for low resource use
- Consider using DevilsPie to reduce the amount of screen space used by removing the title bar and forcing all screens to be full maxiumum, partucurly of your screen is smaller than 10″
- Configure Skype to use the hda sound devices
- Carry a short USB cable for thumb drives etc. Thy can’t always fit in space you have at the side of the netbook
- Get used to using keyboard shortcuts — it mush easier than using the trackpad
- Try using Vim and it’s plugins rather than a large IDE
- Try using an alternative email and PIM program to Evolution. Thunderbird for instance works better on the smaller screen and is faster
- Use multiple desktops and flip between them using <ctrl><alt><arrow> (Gnome default), for instance when referring to other material in the middle of witing an email. It’s an easier way of switching back and forth between two applications that using something like <alt><tab>
- Use the <F11> in Firefox to move into full screen mode (many other applications have a similar feature)
- Do as much as possible by typing at the terminal
Posted in EEE PC, Linux, Open Source Software, Software Development | 2 Comments »
Thanks to git I’m releasing IP into the wild!
Posted by Alec on 1 January 2009
This week I at last did something I’d wanted to do for a long time and release some of Voga’s intellectual property to the wider world.
I have already made material available either through this blog or via Slideshare. However for a geek it’s obviously better to publish complete projects in an Open Source manner so they can be freely copied, modified and shared.
For historical reasons this had been inconvenient to do as I used to hold everything in a single Subversion repository. Not only did this contain my potentially open material, but also my customers private data and my business records (yes, I keep my accounts database in a version control repository!). A few months I migrated my Subversion repo to git, but I still had a single large repo and no time or skill to fix it.
However today I bit the bullet
- Removed all my possibly public data to another directory structure
- Tidy up my current repo by removing all the old ‘trunk’ directories — as a solo consultant I was lucky and had never had to branch my projects. Commit my new streamlined repo
Now to work on the the public projects
- Identify a complete project and make sure it had no proprietary data. This is potentially time consuming
- Tidy up some of the names
- Create a new git repo; add the project files; and commit
- Create a new repo on Github for my project
- Follow the simple instructions to upload my project to github
To Do
- Update existing references to my projects I can find and update to point to the repo
- Add the correct license files
- Start again for as many projects as possible, please be patient
I’ll still keep presentation copies on Slideshare because that is much more convient for most people.
A big thank you to the git developers and github for making this so easy
Posted in Git, LinkedIn, Open Source Software, Software Development, Work Practices | Leave a Comment »
Surely it can’t be so hard to be a better (Emacs and Docbook) geek?
Posted by Alec on 24 October 2008
I recently decided, despite using nothing but Linux on my laptop, that I had become a suite using purely graphical Office tools (Evolution for calendar, email etc, OpenOffice to write documents and presentations and so on). I was becoming a very rusty geek!
Time for Plan A. Migrate email, task management etc to emacs, start using Docbook for presentations and document creation (in Emacs of course) with git to protect my precious work.
However so far it all feels a bit hard… There is no consensus on the best way to configure Emacs for laptop email using IMAP services (mix and match any of Dovecot, fetchmail, Gnus, RM, procmail, etc etc); and getting a decent fop processor working is harder than it should be (I got going instead with dblatex in the end) — now writing Docbook documents seems hard as well — all that XML *sigh*. I’m not even feeling at home with git yet
.
Update 29/Aug/08: Sacha Chua has some great advice to share on using Gnus for email
Anyone have some tips or encouragement to share?
Posted in Linux, Open Source Software, Work Practices, ego | Leave a Comment »
All you developers will belong to us
Posted by Alec on 5 August 2008
Linux.com :: Why Microsoft cozied up to open source at OSCON
The company [Microsoft] wants to lure those developers back. Its open source play is aimed squarely at them, and at independent software vendors (ISV). They mean potential sales, and Microsoft has embraced the open source development model in order to tempt them away from the open source platform and over to the Windows platform.
A fairly insightful article on why MS turned up at PDX for OSCON last month. Given the huge market developers could have for any applications they develop using the MS ‘Open Source’ model this has to something that is taken seriously. The pleasing thing is that MS now sees OSS as such a threat — however now that the communities have Redmond’s attention it is going to be a tough battle for mind share.
Let’s keep doing what we do and stay frosty.
Posted in Business, Open Source Software, Personal Opinion, Windows | Leave a Comment »
Well deserved recognition for jarich
Posted by Alec on 24 July 2008
use Perl | White Camel Awards 2008
The first White Camel recipient for 2008 is Jacinta Richardson. She has been credited for saving more than one Perl Monger group from dying and has been heralded as the “gardener of the Australian Perl Community”, in the sense that she provides energy while subtly encouraging others to take responsibility. She is an active member in every Monger group in Australia, as well as many other FLOSS groups in the area. She has helped organize OSDC, Linux.conf.au, and SAGE conferences. She works with Perl Training Australia in supporting the Perl community with such ventures as perl.net.au and Perl Tips.
In in Australia we often punch above our weight in many areas, not just sport, and our communities for users of FLOSS are world class. It’s people like Jacinta (a.k.a jarich) who help make it happen and it’s good that we recognise the hard work she (and others) do to keep this infrastructure going.
And in further proof of Australian class from OSCON this year:
schwern’s status on Thursday, 24-Jul-08 00:29:13 UTC – Identi.ca
In Paul Fenwick’s “Illustrated History of Failure” and so far it’s brilliant. #OSCON
Posted in Open Source Software, Perl | 1 Comment »
emacs Tramp on Windows
Posted by Alec on 15 May 2008
Updated Oct/08
I am using emacs with the tramp extension to edit files on a remote server using ssh. I had to pull in various hacks to get it to work so I hope these notes might help others.
- Install Emacs for Windows and Cygwin with OpenSSH
- Upgrade emacs Tramp to the latest version. This is best done using Cygwin bash and Cygwin make (in particular ensure that –with-lispdir and –infodir options are set correctly when running configure).
- Handy tip — leave the tramp build directory hanging around. When you next upgrade Emacs it’s just
make install(providing you use same directory names)
- Handy tip — leave the tramp build directory hanging around. When you next upgrade Emacs it’s just
- Ensure that the Cygwin bin directory is on the Windows system path
- At the Cygwin bash prompt test ssh connection to your host
- Generate public/private keys and upload to the host
- Test ssh again to see if public authentication works (it did not for me because it had been disabled by the UNIX admin)
- Configure emacs to use tramp
(require 'tramp)
;;(setq tramp-debug-buffer t)
;;(setq tramp-verbose 10)
(setq tramp-auto-save-directory "c:\\tmp")
(setq tramp-default-method "plink") - Start emacs and test connection (C-x C-f) using cygwin ssh/scp/sftp. If it works skip to step 14. I had issues so I continued with step 9
- Install the Putty program suite
- Test the connection using putty
- Ensure the Putty install directory is on the system PATH
- In emacs visit the host (C-x C-f) using the method ‘plink’. If that does not work you are on your own (but see troubleshooting below)
- If the public keys worked in ssh then import your OpenSSH keys into Putty
- Use emacs bookmarks to save your common host locations
Troubleshooting:
- Getting rid of the “Couldn’t find exit status of `test -e …” error message by deleting ~/emacs.d/tramp file. This clears cached settings as documented at http://www.nabble.com/Emacs-tramp-troubles-with-old-Sun-tt13607411.html.
- If Tramp and Emacs does not work for you try these alternatives:
YMMV
With many thanks to all the folks on the web who documented their experiences and Michael Albinus on the tramp-devl mailing list.
Posted in Cygwin, LinkedIn, Open Source Software, Security, Software Development, Windows, Work Practices | 1 Comment »
Emacs!
Posted by Alec on 13 May 2008
Posted in Open Source Software, Work Practices, ego | 3 Comments »
Top Tip: bcm43xx on nx6125
Posted by Alec on 18 April 2008
WifiDocs/Driver/bcm43xx/Feisty No-Fluff – Community Ubuntu Documentation
Step 2b: sp33008 Driver Download/Extraction
First off I’d like to thank Broadcomm for being such a bunch of peasants as to make life hard for people not running operating systems from the West Coast USA.
Here is my contribution to the many, many, comments on the web on how to get the bmc wireless hardware working. Note that there seems to be a lot a variation in peoples’ experience — you would probably be advised to slaughter a chicken and sprinkle the warm blood over your laptop first (it can’t hurt)
ndiswrapper
I used the ndiswrapper route as the native OSS driver did not work for me. Also note that I am running KDE (kubuntu)
- Download the latest driver package from hp.com. NB This is distributed as a Windows exe file but you can extract it using wine (
sudo apt-get install wine), the file will end up in somewhere like~/.wine/drive_c/SWSetup/SP34152A/ - Make sure the native driver is disabled (instructions on URL above)
- Run ndiswrapper -i … (as explained in URL above) but use the HP driver package you downloaded
- In System settings/Network settings/ make sure the eth1 interface is configured for dhcp and then disabled.
- Install KWiFiManager
- Use kWifi Manager to confgure your WiFi connection and then activate it.
Please note that I did not follwo such a direct route so I have limited confidence this would work exactly as documented. I took me 3 days of fiddling around so please be patient.
Posted in Linux, Open Source Software | Leave a Comment »
Handy Hack: Making the most of limited hardware
Posted by Alec on 25 March 2008
I have recently been setting up an old PC as a backup system for my office enviroment. However 10 year old hardware does have it’s limitations so I had to go through a few hoops to get it to my liking.
- Install latest Debian as Ubuntu got a little upset with the old BIOS and disk drives
- Make sure that the system has sshd installed, i.e.
apt-get install ssh - Stop the graphical login running by executing
update-rc.d -f gdm remove - Install xfce4 (it uses less resources than KDE or GNOME),
apt-get install xfce4 - Make xfce4 the X window manager by creating a file
~/.Xsessionwith the line ‘exec xfce4-seesion‘
Now you can log onto the Linux console and type startx or use a remote X server display, e.g. X11 on OS/X using ssh X tunnelling.
e.g. ssh -X -l <userName> <machineName>
When using a remote X server there can be problems if you do not start some programs in an X term displayed by the X server and for which you started your X tunnel. e.g. xclock does not care, GNUCash crashes the X server. So make sure your X server displays an X term of some description.
Posted in Linux, Open Source Software, Work Practices | Leave a Comment »
Oh My! How the world has changed
Posted by Alec on 22 February 2008
Microsoft will covenant not to sue open source developers for development and non-commercial distribution of implementations of these Open Protocols.
FLOSS developers and users used to be communists in the eyes of the Redmond giant, but now we are all one big happy family.
I notice that the list of products to which these principles apply it fairly limited (“Windows Vista including the .NET Framework, Windows Server 2008, SQL Server 2008, Office 2007, Exchange 2007, and Office SharePoint Server 2007″)
Let’s also see what ‘non-commercial distribution’ means…
Updated 25/Feb/08 — Groklaw is not impressed either.
Posted in Business, Open Source Software | Leave a Comment »
Learning Haskell
Posted by Alec on 22 November 2007
With thanks to Jao, a tutorial from this year’s OSCON on Haskell. Haskell has become famous because Pugs, written in Haskell by Audrey Tang as a learning exercise, re-energised the development of Perl 6 by providing an alternative implementation of the Parrot runtime engine.
Have a copy of the slides handy when you watch
Posted in Open Source Software, Software Development | Leave a Comment »
Notes from Securecon
Posted by Alec on 11 November 2007
Last week I attended SecureCon. Here are a few rough notes:
- At an attendance cost of $0 it was stunning value for money
- Damn Vulnerable Linux is a really useful sample of cracking tools and information for the professional
- Security attacks continue to get worse and there is serious money involved
- Defence in depth (firewalls, OS patches, bandwidth throttles, user education, VLANS to separate traffic types, security zones, policies and policy updating, continues testing, application architecture and design for security,….)
- Assume everything is evil, including traffic from your own network
- Protect the data
- Constant demands for new functions and access mitigate against closed security (e.g. Javascript is about to get access to the local file system)
- New devices (e.g. mobile devices) and new services (in particular VOIP) increase the attack surface, sometimes by an order of magnitude.
Posted in Open Source Software, Security | Leave a Comment »
A great Christmas present for the cracker in your family
Posted by Alec on 7 November 2007
Damn Vulnerable Linux – The most vulnerable and exploitable operating system ever – DVL Overview
Damn Vulnerable Linux (DVL) is a Linux-based tool for IT-Security
Been playing with this at SecureCon this morning, loads of fun and a great resource for security testing and training.
But do remember what your mummy told you about running around with scissors…
Powered by ScribeFire.
Posted in Open Source Software, Security | Leave a Comment »
What I add to Firefox to make it better
Posted by Alec on 22 September 2007
One of the first things I install on any new machine is Firefox (Linux of course usually has it already). However after have done that there a couple of extentions I always add
- Scribefire for blog posting
- Del.icio.us extension — rather complicated but I love the sidebar
I also always try and remember to change the download location before my desktop get’s too cluttered.
Posted in Open Source Software, Work Practices | 2 Comments »
Getting git-svn working on the Mac
Posted by Alec on 20 September 2007
Fraser Speirs – Getting git-svn working on the Mac
Or, for the lazy MacPorts users, sudo port install git-core +svn
Even if you already installed SVN by some other means
Posted in Mac, Open Source Software, Software Configuration Management, Software Development, Work Practices | 2 Comments »
Installing James MTA on Windows
Posted by Alec on 12 September 2007
It’s often useful to run a POP3/SMTP server on your system to demo/test/use the email functions when using applications. Apache James is the only free option I have come across so far – here are some installation notes to help get you started on Windows (but remember YMMV):
- Download from the James website
- Make sure you have admin privilege
- Unpack the James archive into an empty directory. I chose not to have spaces in the directory path as they cause problems (even if you try to use the 8.3 format name)
- Make sure no other SMTP or POP3 servers (or NNTP) are running
- In a command prompt change to the installation directory and run
bin/run.bat - Hit control-C to stop James running
- You are now probably in the bin directory, so run the command ‘
cd ..‘ - Edit the file apps\james\SAR-INF\config.xml. Change any ports you need to (I would suggest POP3 and SMTP) and disable the NNTP server. You may also want to change the default admin account credentials. You will need to use a proper editor (e.g. Vim) as this file is in UNIX format.
- In a command prompt run
bin/run.bat - In another command prompt windows run a telnet session as follows
telnet localhost 4555 - Login with the James admin credentials (default is root/root)
- Issue the command
adduser <userid> <password>(use the commandquitwhen finished) - Configure an email client to talk to James using the correct port settings and user credentials
- Send yourself a test email
- Hit control-C to stop James running
cd bin- Run the command
wrapper -i ..\conf\wrapper.conf - Run the command
net start "James 2.3.0"(or whatever version number was installed)
Posted in Open Source Software | 7 Comments »

