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)

Brain structures and role of neurotransmitters in …

Brain structures and role of neurotransmitters in information processing in the brain

This site is wicked, its a great intro into the areas of the brain, one of the fundamental things we covered in Computational NeuroScience last year. I like how the author uses offtopic facts to introduce and help you remember different terms – ie

You create a coronal section when you slice bread…
a area that is different in size between men and women – the corpus callosum

If you are interested in Brain Function then please check it out.

WG511U worked out of the box

Here I was expecting the worst, googling around told me how to make such a card compatible, but from online reports, the card would be identified, but not be able to work without help from ndiswrapper.

Today I simply configured my wireless network via Yast and lo and behold I connect, get a DHCP and I am browsing the net as you see here. No ndiswrapper looking for ini files, no hw/if up/down, just entering the wireless settings in yast – KInternet was shut too.

Funny how the simplest things work the best

Process Lasso

Process Lasso is a diarrhaetic for windows processes that hog the cpu and block the responsiveness of your machine.

With the out of the box settings it makes the system more user friendly so whilst one process is falling on its arse, the next can continue without problem.

Edit: I’ve since uninstalled Process Lasso, it was interfering with a few other apps but whilst it would recover usability to my machine when in dire straights – it would also reduce the priority of important foreground processes when I needed them running at regular priority. I’m sure that if you were persistant, you could tweak the settings and the thresholds before lassoing comes into practice, but rather than do all that, I decided to investigate the source of the problem (being GDS accessing the hard disk too often and do something about it.

Printing and Linux

http://www.networkcomputing.com/showitem.jhtml?articleID=160910914&pgno=1

With back to school sales there are a lot of multifunction printers on the cheap. Essentially the Canon Pixma MP150 or HP PSC1410 are both offered for $89AUD. Generally, this will allow me to get rid of the current Canon scanner and Lexmark P707 combo I have at the moment and give back much need desk space. Given the lexmarks poor quality, annoying drivers and unreliability coupled with expensive cartridges is why I’m looking at the options available.

So a quick shopping list of what I need (no particular order)
– cheap cartridges
– ability to print in linux (although the print server is a Windows box, it is feasable that linux drivers can be avoided)
– good milleage on print media
– durable

The printer will, as it is currently, connected to the Windows machine. Laptop printing will be facilitated by Windows Networking.

Through my investigations I learnt that Epson and HP models are best for Linux printing. Although a little dated, this linuxprinting.org article about picking the best printer was helpful. Canon’s should be avoided like the plague.

That said, the thought entered my head about the Print Server taking on the task of preparing the print job. Perhaps the linux device would create the print job in a postscript format to which the Windows side would re-render and print the job. This means the linux support is indifferent (but inflexible, you can’t expedite a big print job by connecting your laptop directly to the printer and if the desktop is unavailable so is your printing).

In the article attached Windows to Linux Printing (and Vice Versa) explains about how to set something up along those lines, using CUPS and Samba. It also explains the difference between a print server, spooler, queue and how tasks are delegated between machines and the CUPS/Samba subsystems.

The most important concept is that in the ‘default’ networked printing environment, (platform independent), the client computer has the print drivers for the target printer installed and creates a RAW print file. When the file is ready, it is passed along the printer to the spooler and the spooler organises the printing of the document.

I thought I could implement this on my current setup before purchasing any hardware and learnt that I didn’t have to. Some clever monkey had built a Lexmark driver for the P707 based on the Z55 drivers lexmark have released.

No one had implemented drivers for new canon printers, even support from third party vendors such as TurboPrint and EPS was lacking.

Whilst HP didn’t support the printer directly, they do have drivers for the model down, PSC1400 and someone had used this to get a slowly working version going.

One side note to these requirements is to get a laser printer. The HP Laserjet 1020 is $149 AU and whilst it wouldn’t solve space problems. Again linux support is experimental but being a laser it would be more easy to support with a PCL/PPD type interface.

Decision forthcoming with the next edit. Its just good to know what is out there though.