follow me on Twitter

    Latest Gallery Images

    I know you're watching us!
    Kite surfing in the bay
    PHP Women
    LinuxChix
    Blogs By Women
    Creative Commons Licence

    Archive for January, 2009

    Last night a MacBook saved my life!

    Thursday, January 22nd, 2009

    Actually it wasn’t last night it was the whole of yesterday. Yesterday the worst nightmare of the jet-setting software engineer happened and my work laptop developed a bad fault. The Dell’s hard drive became very unreliable! It wouldn’t boot properly, spent time just thrashing, and generally was show signs of hardware faults an imminent failure.

    Combined with virtualization my MacBook came to the rescue. I dislike Fedora as a Linux distribution however, for the current client, I have to use it. On the Dell I run Ubuntu with Windows XP in a virtual machine so it is a simple matter to run Fedora Core 8 in a virtual machine as well.

    So when I realised that my Dell would just not boot I set VMWare Fusion and Slax, a lightweight distribution with XFS support, downloading on my MacBook and headed off to Frys Electronics. At Frys I bought a USB2.0 to IDE/SATA cable, a new 200Gb 7200RPM 2.5 inch Toshiba HD, a 320Gb 2.5 inch Maxtor external USB HD and some blank CDs.

    When I got back to the office I set up work e-mail on my Mac and Skyped and wrote e-mails until Slax had downloaded. I then burnt that to a CD and used it to boot the Dell and tried to access the failing HD. I did manage to read my home directory so I copied across the virtual machine files and some other data on to the Maxtor USB drive. This took some time so I then set the download of an ISO image of Ubuntu 8.04 going so that I could install it on the new HD I had just bought.

    Once the data had been copied on to the Maxtor I installed MacFuse and NTFS-3G on to my Mac so that I could read and write NTFS (by default OS X can only read NTFS). Fired up VMWare, pointed it at the VM files I had copied, and it just worked! I have to say that VMWare on OS X is a delight. I will write more about this in another post. Having the same virtual machine running meant I could start working again. This was some five hours after starting the working day.

    In between waiting for builds, CVS and other time consuming processes, I swapped the Dell’s old hard drive with the new one I had bought at Frys. I then set an install of Ubuntu going from another CD burnt using my Mac. Finally I used the USB 2.0 to IDE/SATA cable to connect the old hard drive and recovered more data.

    This morning I was back to using my Dell If I had still had my old iBook I would have been held up somewhat more since I could not have run VMWare or the virtual machines on PowerPC architecture. And because it is a Mac it comes supplied with an awful lot of useful software which just made bringing the Dell back up easier. I am so relieved I had it with me.

    Melanie’s Mad Projects #1 – Ethernet for a Beeb!

    Friday, January 16th, 2009

    Writing about my Beeb yesterday got me thinking about a project I consider every now and then and that is adding an ethernet adapter to my Beeb.

    When I first thought about this I was working on a driver for a small embedded ethernet chip that was destined for a set top box. The chip was pretty simple and could be used on an 8 or 16 bit data bus. It could have been interfaced to my Beeb relatively easily but would have required me to write a whole TCP/IP stack for the machine. Something I could have done but not a quick task. Also you’d need memory buffers to build the packets in which, in a memory starved machine, are a costly overhead. Work got busier and I had more important things to do with my free time so I put the idea to bed.

    I started thinking about the project again after reading about a chip that communicated using SPI. It was intended to be used with micro-controllers so seemed more suited to my needs. Except there were two issues. Firstly a BBC Micro doesn’t have SPI. In theory the 6522 VIA, of which there are two in the Beeb, can do SPI like IO. Unfortunately there’s actually a bug in the chip that means it doesn’t work properly. So either I would have to bit bang or I would have to use a second chip, probably a micro-controller, to communicate with the ethernet chip and the BBC Micro would interface with the micro-controller. Again other things became a priority and it got forgotten about.

    So today I started thinking about it again. As more and more devices have become internet enabled some neat chips have been released. These chips have built in micro-controllers which have a TCP/IP stack built in. They do all the hard work. So I started Googling and I found this article on the W5100 which seems to be ideal. Specifically the W5100 is a fully hardwired TCP/IP stack with support for TCP, UDP, ICMP, IPv4 ARP, IGMP, PPPoE protocols. Features include 10BaseT/100BaseTX Ethernet MAC/PHY embedded support and ADSL connection (with PPPoE Protocol with PAP/CHAP Authentication mode). You can interface with it using a parallel data bus and it basically provides a socket level interface at the software level. Set up the MAC address, IP address and gateway address and you can ping the chip with no further work from the host machine.

    The W5100 comes in quite a small package. Circuit board technology has come a long way since I last built anything complicated. To solder most modern packages is beyond the of the average amateur electronics engineer due pin density or the requirement for solder ovens or flow technologies. This could have put a damper on this project except I found the WIZ810MJ module. Its basically the W5100 chip on a pre built module. It seems perfect so I’m getting one.

    I will need to provide a 3.3v supply but this can be relatively simply provided with a small regulator chip from the 5v supply of the Beeb. The IO on the module is 5v tolerant so it can be interfaced with directly. The module has an 8 bit data bus and address lines A0-A14, i.e. 32KB of address space. The Beeb supports Sideways ROMs, basically paged ROMs which occupy the same address space. These are 16KB in size so I intend utilizing this together with a latch to bank the address space in to two banks. The remaining IO lines can be supported relatively easily.

    So this is my first mad project. Watch this space!

    Apple Fan Girl Squee!

    Wednesday, January 14th, 2009

    The post below is based on a comment I made in a friend’s blog. Reading it back I realised it would make a good post in my own blog…


    The first computer I ever used was an Altair 8800. It had a single 8 inch floppy and you had to toggle the boot sequence using the front panel switches. The first machine I ever really programmed in earnest was my father’s TRS-80. When I should have been listening to the teacher at the back of my math class I would be thumbing through a well used copy of Rodney Zaks – Programming the Z80 and hand writing assembler in my exercise book. I wrote a full screen memory editor that way.

    Eventually I got my own machine. My trusty Beeb with all of its IO taught me all about programming hardware and is probably why I am an embedded software engineer today. It was the British equivalent of the Apple ][ which I lusted after but could never had afforded at its British price. However I loved my Beeb and was a total Acorn fan girl for years.

    I first used a Mac back in 1988. It was an SE and was an all-in-one luggable which was smaller than PCs, but not much, and they had 9 inch screens. They were slow 680×0 machines. Then the PowerPC came along and the machines got better. But just before they did the Acorn Archimedes came along with their 32 bit RISC powered offering pipping Apple to the position of having an affordable desktop RISC workstation. These were machines I was used to; the 32 bit machines had a nice multi-tasking operating system; and macs were expensive; so bought myself an Acorn A3000 and I stuck with my Acorn machines through to relatively late in the 90s. I still have my Beeb, my A3000 and my Acorn RISC PC.

    I have always liked Macs but, to be honest, as they went from System 6 through 7, 8 and 9 the operating system became more and more unweildy and showed its age. They were also incredibly costly, a reputation they still haven’t really lost. The hardware was being beaten by PCs and a PC running Linux seemed a far better choice. Jobs was ousted from Apple and Apple looked doomed. Then he came back. With him he brought NextStep. This eventually became the basis of OS X and is still reflected in the naming of Cocoa classes. Macs looked interesting again but were sill out of my price range.

    Then a few years ago I was offered an old Blue and White Mac for $100 which I upgraded to running Panther. I loved OS X. Unix with useability and none of the unfinished faffiness of Linux. My PC was rapidly left abandoned even though it was more powerful. I then bought myself an iBook G4. I also acquired a used Power Mac G4 which became my desktop machine. The iBook and G4 have served me for several years with the iBook being my constant companion. The PC sat under the desk virtually unused, turned off for months at a time.

    OS X has had a beneficial effect on Linux. It has raised the bar. Modern Ubuntu has more than a few ideas borrowed from OS X which is not a bad thing. So recently the PC was re-installed and is now a development server. But Linux still hasn’t got the sheer useabilty of OS X and Apple kit. And today I took delivery of a shiny new unibody MacBook. My love affair with the Mac continues. I am a total fangirl!