I've not had a website for some time now, at least nothing that
had any useful information for anyone else. I'll start with a very brief history of my websites and reasons for not bothering, then reasons for this one. Don't know if you'll find it useful but it should explain some things.
(update 20030525 - too busy to finish, will continue later)
(update 20050524 - okay, apparently not)
1975 (aged 0) Born in Salisbury (Wiltshire), England. There are computers in the world but normal people can't afford them. My dad tries to convince my mum that getting a "Big Track" for me (aged about 2 I think) is a good idea, obviously it was for him to play. Not exactly a computer but getting there. Before computers I was well in to Lego (Technic) and inventing things, I built a 1/10th sized cardboard car and installed an ejector seat for teddy and realistic gear-stick. I was very young remember :) (non computing paragraph) I get in to athletics, make loads of friends, all the normal things. Although, my dad is in the Army so we tend to move around to different parts of Germany or England every 3-4 years, this means I haven't kept in contact with anyone further back than about 1985. 1981 (aged 6) Dad gets a Sinclair ZX81, I get in to the use of the computer, loading games and watching dad as he gets in to more complex projects on it. Probably his most advanced was hi-res gfx, which is hard on the ZX81. He also "chipped" his ZX81 so it had inverted display output (white on black). I start to play with BASIC as he's moved to assembly language. I get myself a ZX81 short while later, 2nd hand - 20quid I think. Initially adapting other games, later writing BASIC programs from scratch. Dad and I build a "Big Track"-a-like out of Lego using racks and cogs interspersed on boards you fed in to the vehicle like a punchcard. As the years go by I find I need to use Z80 assembly language for speed. Also by this time I have upgraded a few times from Spectrum+ to Spectrum+3. I also find that as my friends have other architectures and my brother has an Atari ST, that learning loads of assembly languages is both fun and useful. These include but are not limited to 6502, ARM, 68000, 8086. For the most part, I stick to 8086 and Z80, coding a Z80 emulator in 8086 at about age 15, before my GCSEs. (non computing paragraph) I take Maths, CDT: Design Technology, Computer Studies, Geography, Double Science (Physics+Chemistry+Biology, as two GCSEs), English, German, English Literature. (AAABBBCCC in that order). 1991 (aged 16) I finish my GCSE qualifications, my Computer Studies coursework was a Z80 disassembler written in Spectrum BASIC. It worked well, but was _WAY_ over the top for what was needed for the GCSE :) Likewise another techie friend of mine wrote a printed circuit board (PCB) designing application, cursor/mouse driven, entirely in 6502 assembly. (non computing paragraph) Don't worry I was still in to normal activities too, having run for Avon County and often over the years getting my name in the paper for doing well for Frome Athletics Club. My dad has left the Army and I can make close friends who I keep in touch with to this day. I do Maths, Further Maths and Physics (ACC). My dad gets a compuserve account. During my A-Levels I played with the the school network, writing a small .com program in debug which replaces occurances of your username with any alternative. This was an RM Nimbus based system (not quite DOS), but I suspect the same technique would work on a dos client on NFS even to this day. I also played with basic TSR code and drew the semi graphical RM Nimbus login screen in Nimbus BASIC which people would happily take as the real login screen. My Spectrum +3 was getting a little old by this time and my Multiface3 was getting a tad flakey. So I wrote some code to load Multiface3 saved snapshots without requiring the Multiface3, using screen memory for the executable assembly code variable store and stack. I also toyed with interupt handlers on my brothers 68000 based ST, hacking out some in-game music played on a 50interupts/sec trap (in the ST/TOS world they say trap when you'd normally say interupt) and reusing the code as TOS based TSR-a-like trap handler. Getting interupt handling working on the Spectrum was much harder, but obviously that was all the more fun, I worked on getting charactors on the border by waiting for an interupt then alternating the border colour via the OUT instruction as fast as the Z80 could do it using some self generating and self adjusting code. My dad gets a demon internet account and lets me receive email at Damion@MYates.demon.co.uk Already advanced at software hacking, disassembly of z80 and 8086 to aid my knowledge of computer systems, good BASIC coding skill, dos commandline and batchfile experience... I assumed a University degree in Computer Science would be easier than my A-Level in Further Maths (normally agreed to be the hardest a-level). 1993 (aged 18) (non computing paragraph) I start a Computer Science degree at the University of Sheffield The first year doesn't count to the degree, you just have to get a pass to get to the 2nd year (40% or more), I get this with ease, especially as a core module was basically a repeat of A-Level maths, which I was strong at. I don't know why they bothered asking for A-C at Maths if they are just going to go over basic complex numbers and calculus again. The predicate logic was new, but lets face it, that's piss easy for a techie who's been using computers since age 6. This was the first time I'd lived away from home and I feel my time at University was incredibly valuable for my learning to be self sufficient. I found that drinking can be great fun, I also found that I liked curry and staying up late wondering the streets of Sheffield with my mates. This left loads of spare time which was extremely useful as the computer systems were SunOS and I quickly start to learn everything about UNIX. I basically fell in love with UNIX and the first signs of the Internet IRC, Usenet, archie+ftp (early warez). The University had 24x7 access and I'd spend many a night after getting slaughtered in the pub learning how to hack in the UNIX ways. I also kept up my DOS/x86 coding skills learning the 386 enhancements Intel had made (32bit), coded some comedy TSRs and learned a good deal about Novell Netware3, which was used on the main academic computers. I typically started X sessions and connected to UNIX hosts for the most spodding, learning, hacking and spodding on talkers and bbs. When I'd started I was given access to what was essentially free broadband on the University network. They obviously spent money linking Uni to Uni, and *.*.uk was predominantly *.ac.uk at this time. Modems were 14,400 (and that was considered super fast), but this was pitiful compared to JANET. I've never really used a modem then, or to this day, I find it offensive for the term Broadband to be used indicating anything new, it's modems that were new, ruining a fast interconnected UK for about a decade. I used firstname.lastname@example.org and D.M.Yates@uk.ac.sheffield (this isn't a typo). This was then used as D.M.Yates@shef.ac.uk once Sheffield stopped using PAD and Joined SuperJANET. During the summer holidays I asked Bath University (the nearest to where my Parents live in Frome), if I could have access. They were shockingly accommodating, providing me with email@example.com, an account on a near supercomputer Sun with loads of CPUs (30 I think). The most important thing of course was webspace, anything content under ~/public_html/ went live as http://www.bath.ac.uk/~exxdmy/ This was my 1st website. It looked like every other personal website for anyone who had a website in 1993. This was early days, Xmosaic was the main browser, with the exciting Netscape releases slow to take over all of the Xmosaic users. I believe it may even have been possible to view the WWW from Windows by this time. I can't really mock up what it looked like, but it'll have had a picture of me, a HR tag and some blurb and maybe links to my favourite sites. No tables, or frames, I'm not sure they even existed? There were VERY few sites at all, so most peoples links were all the same. Archie and ftp to document repositories were still much more popular than search engines and of course Usenet Internet News. I became almost addicted to Usenet, comp.sys.sinclair, rec.sport.unicycling, comp.editors were a few of my haunts. CuSeeMe for live action free porn, I mean video conferencing ;) Jpeg files were only just starting to be used, forget about MP3s! Porn was free, available on fsp and hidden directories on ftp servers, IRC was used to trade. Builtin Boards were popular, but I only ever used ISCA and Mono (and CASS/USIT/??? that existed only at sheffield for DOS). I still use Mono, I think ISCA died. Basically the Internet would have been quite bleak for anyone used to the browser oriented and frankly, MS focused easy access it has today. You basically had to be quite UNIX able and probably connect via a UNIX system to use the Internet. This included the WWW. I also used Egham Hills 90210 a technical talker where I learnt many a useful thing. I also used talk and ytalk, finger and write along with email these things which many who read this don't recognise will know as something like AIM. There has of course been a slow and steady switch on the Internet to a very Windows biased environment, VOIP clients only available for Windows, IM clients the same, websites designed for IE. Considering the roots it's very annoying seeing it go this way. I remember downloading .wav files to my local /dev/audio device file and implementing what you could call, streaming media using UNIX cmdline ftp. I also remember when the latest Netscape browser was released on SunOS then Linux and if you were lucky, Windows a few weeks later. IE hardly existed. Having got 3 email addresses, I decided to focus on the one main address D.M.Yates@sheffield.ac.uk was forwarded to UNIX accounts (it was Netware) and I only used the department of CS addresses (which for some bonkers reason changed each year), internally if I could. firstname.lastname@example.org for the second year and email@example.com for my final year. You can find Usenet posts with these addresses. When the Shuttle docced with Mir I hosted a copy of the webcam slideshow that NASA were putting on with the (new hah!) META refresh capability some browsers had. This was hugely popular and quite a moment of history. Bath let me have a website and email for many years, I could even use their 24x7 computer room during my holidays at home. I also had dial in, it didn't end until about 1997! (non computing paragraph) I met my ex Andrea at the very end of my 2nd year I think, she helped me get on with my degree, revising and working on my thesis. We went out for about 5 years. I got a 2:ii from Sheffield (close to a 2:i from what I can remember from the results board in 1996) which I really need to thank her for. My thesis was part of the larger kroc project (kent retargetable occam compiler). Occam is a good language for dealing with parallel processing problems. spoc (I think it was called) parsed the occam in to C and then used an optimised C compiler, which was sensible as multiple platforms had very good optimised C compilers. However Occam and Transputer assembly language go hand in hand, it's almost possible to just sed/awk occam in to assembly! So kroc was about converting transputer assembly language in to alternative platforms. Mine was the MCS-96 Intel Microcontroller. I scored quite highly on this, but then again it was clear from my viva that my lecturers knew I'd learnt the subject very well and I guess trusted me, it didn't see they'd read my whole thesis ;) It was 86 pages of possibly dry, dull waffle about transputer assembly, so to somebody uninterested in that area it would have been a hard read. The Transputer actually implemented a stack for general arithmetic calculations, where you might implement this by hand (well, typically library routines) for most CPUs to do any maths sensibly with reverse polish notation as it's the obvious thing to do, the transputer did it anyway, you had a 3 word stack (that's all) which were all CPU registers, not a real memory based stack (which it had too), and you'd do something like "ADD" which would leave you with one less size of stack and the result in register A. See! Some of you found that okay, others are probably trying to kill themselves now after just 100 words on the subject. I /upgraded/ my Spectrum +3 to an 80186 diskless grayscale RM nimbus PC. Okay it was hardly an upgrade, but it was ample. Before long I spent a few hundred quid on a 386dx40 with 5meg, this was ample for minilinux and slackware on a 250M PIO IDE disk. I upgraded the m/board+cpu and added disks ending with it being a 486DX66 with 12M ram and about 4G disk storage, and DOUBLE speed cdrom wow, I also got a 16bit soundcard, upgrading the one I'd got with the m/board from my mate Andrew. This I kept for years, but eventually left it with my ex c2001. 1996 (aged 21) (non computing paragraph) I start work on about 16k for ICL, that seemed like loads considering I'd been living on 3k a year. I continued to live like a student and cleared any debts I had, in a very short space of time. I was supporting a DOS/Netware installation of the DSS (Department of Social Security). It was a recently outsourced department of public servants who thought they had a job for life with nice final salary pension etc, there was some decreased morale but on the whole it was a very positive experience. I did most of the work via a Linux box and played with the netware support I also spent loads of time learning more and more about Linux after I'd opened a hole in the networks to be able to browse. I provided a proxy to my colleagues, using a beta apache with proxy support and re-read config on SIGUSR1 support (useful as I had a few users towards the end). I tried out new X window managers and the latest Linux webbrowsers on the machines available there, which were reasonably new Pentiums compared to my 486 (which I still had with me at this time). I set up an isdn routed mini-home lan (I refused to downgrade to modem after uni) with ip masqurading support, which was new to me at the time in Linux. I soon grew tired of the Windows/DOS nature of the support role, I felt my coding skills decreasing by the minute, despite oodles of spare time (I couldn't believe the difference between uni and a civil service job, no homework, no coursework, nothing!) after work ended at ~6pm. I'd written a few gems of C code at uni, like an audio biff equivalent to mimic the openlook mailtool beeping when mail arrives, when you're at a console and a few DOS TSRs for implementing improved ANSI support for dos full screen colour terminal sessions (rather than load the netware windows 3.11 and then wait for hummingbird X to start, which I'd only then do if I knew I was spodding for hours). I started to code more shell code and got back to DOS batch files for the job, but it was obviously time to move after just 1.5 years. I got a transfer to another part of ICL based in Manchester (I was in Lytham St-Annes near Blackpool) to work on the PLI assembly language emulation project using jit based techniques to breath some more life in to the ICL mainframe market, ICLs cash cow. It was obvious by now that the x86 and compatible CPUs was vastly cheaper and faster than the mainframes. I was rather excited by this, it was right in my area of expertise and could have been fantastic, however I had also applied to work with a friend at the BBC that I'd met online on Egham Hills 90210 and Mono and whom I'd been to see a few times in "gatherings" over the last few years. I got the job at the BBC offering 25k and it was Internet focused rather than assembly language focused, so I thought I'd enjoy it more. I turned up for the 1st week, as there was an overlap of start dates and I had nothing better to do. They told me not to bother on the 1st day there, which was a pity as I'd just sorted free accommodation with one of my best mates and was looking forward to it. I had also left (and obviously lost for good) my wallet on the train that morning so it was all a big arse. 1998 (late January after my 24th Birthday on the 7th) I started working at the BBC [ TODO ] 2001 They moved us from BBC to BBC Technology (who are unpopular as they also do the noddy windows desktop support). 2003 We're migrated to a trading near Slough from the lovely mansion in the Surrey countryside where we used to love working. Siemens purchase BBC Technology. 2006 I'm married expecting our first child soon, so obviously I spent a few nights coding using the Perl FUSE bindings :) I've made a filesystem for gphoto2. It's nothing special, but it's been a while since I've been in to development rather than UNIX system engineering/admin/support. Oh actually I did code a Bluetooth basic dumb terminal by hacking around with the p3nfs Symbian client and crosscompiling on Linux to get a way to spod for free on my wifes nokia 9300 (for text at least). But that was last year. I'm now pursuing a job at Google, so as they're likely to come across my website I decided to update a few of the pages and projects. Gawds knows why I felt I should update the history pages rather than the actual project pages. But anyway here you go. It's now 20060509-00:07 It's now 20060805, the Google recruitment went right up to my waiting for an offer. They then made me wait 2 months and said the job was now to be in Dublin! When I phoned the main recruiter they sounded as annoyed as I was, by efforts they had gone to and the pack they had spent time preparing to sent to the board.. It was a new strategy apparently, and she did ask if I would consider relocating. (200607xx) I'm now working at Positive Internet. (200707xx) I'm now working at Google. (20081017) I'm still working at Google, I _REALLY_ should update this page!