My name is Faye Williams, and I create all the tutorials on this site. I’m based in Hampshire in the UK.

I write accessible, friendly, and easy to read guides that will never be boring or make you want to tear your hair out in frustration.

How did you end up doing this?

I’ve worked on embedded systems running variants of Linux for over a decade. Eventually I started a blog to record little how-tos that I thought others might find useful.

Got any formal qualifications?

Yup. A masters degree in Software Engineering, awarded with distinction 😉
Oh, and a handy degree in Economics.

First software engineering job 🙂

For those of you that want to know a little bit more about me, read on…

Early Days

I wrote my first program on my Dad’s BBC Microcomputer – remember those?



Now I feel old.

Growing up, computing wasn’t really the done thing at school, but we always had one at home, along with games consoles like the Megadrive, Saturn and PlayStation, so I guess my love of all things geek comes from those days. My Dad is an engineer too, so he was always busy building, fixing and sometimes even inventing.

Early Career

I did Economics at university, and after that I worked at, of all things, a publishing start-up in London.

However, I think my love affair with computers was just meant to be. I fell into helping out with a company website when the webmaster unexpectedly left. Then, when we finally got a replacement, and I had to hand the website back over, I realised that I liked working with the internet more than I liked being a print editor.

So, a friend recommended me for a job as an online editor at another company, and from there I progressed to being a content manager for another startup website.

For a while, I toyed with the idea of Microsoft courses and certification, dabbled in a bit of Java development, and did a short course in C++ programming.

Software Engineering

I loved the C++ course so much I dropped my hours to part-time and went back to university to complete a masters in Software Engineering. I discovered Linux, open source software and a world of freedom in programming. It was amazing.

After I graduated, I got my first ‘proper’ software engineering job at an enterprise storage company.

And the rest, so they say, is history.

I’ve been lucky enough to spend over a decade working on embedded systems, in both the UK and the US, even freelancing for some of that time as a C++/Linux consultant.

Some of the things I’ve loved:

  • Working on the Sony Cell Processor (PS3 chip).
  • Living just down the road from Apple HQ in Cupertino.
  • Visiting the Microsoft campus in Seattle (my only Windows-based development experience!)
  • Attending a plugfest for RAID drivers.
  • Debugging a project with 2.3 million lines of code (yup).
  • Managing amazing outsourced developers in Russia and Poland.
  • The creation of a hardware emulator for a team of 17 while waiting for prototype delivery.
  • The opportunity to work on so many Linux variants.
  • Working with so many super-clever software engineers.
  • Greenfield development on cutting edge RAID products.
  • Code porting from ARM9 to Linux.
  • Code porting from Windows to Linux.
  • Code porting from GameOS to Linux.
  • I’ve done a lot of code porting, and I still love it!

And some of the platforms and processors I’ve worked on:

  • Linux: Yellow Dog, MontaVista, Fedora, Gentoo, Red Hat
  • Solaris
  • ThreadX
  • ARM 7, ARM 9, PPC405
  • Cell Broadband Engine Architecture
  • Intel, Intel Dual Core

And debuggers I’ve used:

  • GDB
  • Greenhills
  • Lauterback
  • Visual Studio 6!
  • And lots more GDB…
Hmm, I can see an LED flashing…

Oh, I could go on and on.

But you get the picture right?

I truly love programming and computers.

I started this site just to share little bits and pieces in a way that was accessible and easy to read.

I am a very happy developer indeed, and I really hope that I can help you in your journey to create better software :-).