Development Process Links

Whilst reading chapter 2 about development process in UML Distilled, 3rd Ed. (by Martin Fowler), I came across these links related to Software Development.

xUnit Regression Tests – There are flavours of JUnit for many different languages. See this link for more information.

Refactoring – The force within you is strong. refactoring.com

Manifesto of Agile Software Development – Agile refers to the type of development process. In a Star Wars theme, it would go along the lines of: Get together with others who share the force. Some telepathy or other human communication will be nice. See agileManifesto.org for a definitoin.

Extreme Programming (XP) – is the best known Agile process around. See http://www.xprogramming.com and http://www.extremeprogramming.org for more.

Worth also noting about Agile processes are that they are lightweight processes, low in ceremony. Jedi’s don’t like having to document things and find that a strict set of rules on how to perform their task, interferes with their light saber use.

Patterns – The search for the holy grail ends here.

Project Retrospective – When you have finished something big, review it, warts and all. Learn from your mistakes. Pat yourself on the back (some people forget to do this, very important!)

OpenWRT Client Mode HOWNOT

http://wiki.openwrt.org/ClientModeHowto

I’ve got a new place that is much bigger, and a spare WRT54G router, so my natural thought was to use the WRT54G as a wireless client for my desktop which is now out of wired ethernets way. There is a selection of specialist firmware for the WRT54G which allows client mode. I’d been eyeing OpenWRT for a while and thought this was the way to go.

The first thing is to enable boot_wait on the router so you can install the firmware. As you are probably aware by reading a few different sites, the linksys has a hack where you can inject commands via the Diagnostics-> Ping address. Whilst subsequent firmware versions prevent this hack, some clever monkeys devised some javascript to exploit the ping_times field on the latest firmware. Check the forums for more info.

This was done by installing the OpenWRT firmware but I’ve had hours and hours of headaches getting the thing to work.

My problem was that I jumped straight into the web interface and changed many things from their defaults. I was also trying to follow the various how to’s and guides on the internet and so when it actually came time to try and do some connecting my router had some very confusing settings. Reading the nvram settings too was difficult because the old linksys firmwares settings were still there too.

The answer was to erase the nvram, reboot and run the firstboot command (as per the troubleshooting page). I then followed the instructions to configure a Bridged client (disable dhcp by disabling access to the dnsmasq script in etc/init.d, connect to wireless network). After I plugged the desktop into the Lan, it used my internet routers DHCP server to obtain an IP and obviously the gateway had now been set to go via the main router.

That said, the foray into the WRT improved my *nix and networking knowledge ever so slightly (what doesn’t kill you only makes you stronger)