Recently in Personal Category

Updated WoodwardWeb

| 3 Comments

To celebrate my 5 year anniversary of blogging, I gave this site a long overdue refresh over the weekend.  While I've been publishing stuff on the Woodwardweb.com domain since 1999, that was initially just putting pages up with notepad and Dreamweaver.  I didn't start proper blogging until 2003 and have had the same site design since early 2004.  Back then blog software was in its infancy and I only had about 8 readers anyway so I really didn't need to worry about niceties like site navigation, good handling of comments etc. 

 woodwardwebevolution

None of the designs I've had on my site have had particularly long spent on them and the current one is no exception, however it does contain a comic book rendition of me which is courtesy of the highly talented SourceGear marketing department.  Apart from the obvious UI changes, I've updated my blog software (Moveable Type) and introduced a better commenting system as well as moving to tags and search as the main navigation mechanisms.

I'd be interested to hear what you think about the new site, please do let me know what you think and any problems you have in finding stuff.

Pocket Knife LanguageAs a professional programmer, the languages I code in during the day are very much dependant on the particular project I am working on.  Also as a programmer I have a very low threshold for repetitive or complex tasks - basically if I have to do something more than twice then I'll probably write a quick program to do it for me (sometimes taking longer than the repetitive task would have done, but I have a lot more fun along the way :-) ).  These little programs are throwaway pieces of code.  I'll probably never run them more than once - I'll almost certainly never come back to them and I'm certain that no-one else will see them.

I find it interesting what language people choose to write these little disposal programs with - I call it your "Pocket Knife Language".  Currently I would usually use C#, despite that fact that I code all day in Java.  I would normally use C# just because it is that much easier to access the bits of the operating system I normally run on (Windows) - but there are a huge number of libraries and methods in the .NET framework to do the heavy lifting for me.  Jumping between C# and Java is pretty easy for my brain to cope with.

But It's not always been like this for me.  I guess my first pocket knife language was probably Excel and then I quickly moved on to Visual Basic.  I stayed with VB for a while. At the time I was earning a living writing mainframe code - anything that requires you to write a 30 line program (in JCL) to just compile and run your code is not suitable for inclusion in anyone's coding pocket knife :-)  In my professional career I then moved into web development, it was around this time that Java started to appear on the scene and I moved into J2EE work and at some point, I'm not quite sure when, I started using Java as my pocket knife language.  I went through a brief spell when I was doing a lot of front end web development that I dispensed with IDE's and compilers completely and JavaScript and the DOM actually became my pocket knife of first choice.  However I quickly saw the light.  Once I started working on .NET projects professionally it didn't take me long to move to C# as my pocket knife language and it has stuck there for a few years now despite moving back to Java on the professional front.

I was having a chat at the weekend with a friend of mine who is currently doing some very clever and complex work down at a pretty low level which requires him to be coding in C++ all day long - however I found it interesting that he was using Java as his pocket knife language.  Other people I work with would use Perl or Python as theirs.

So, dear reader, what is your pocket knife language and why?

Apple - The New Real?

| 2 Comments

Apple Software Update <rant>Sigh.  Apple are really starting to get on my nerves.  Not only is iTunes on Windows consistently very buggy, slow and foreign looking in the Windows OS - they are now trying to trick Windows users into installing Safari.  On this particular machine I have never installed Safari, and I never want to.  At first I thought the offering of Safari via Apple Update (as a default option) was just a mistake, I figured out how to tell the installer to ignore the update and moved on.  The second time I gave them the benefit of the doubt - but here they are again.  Today I got the following fantastic message from Apple Update.  "WhichDescription()" indeed.  Gives you a wonderful feeling that they've spent a lot of time on this one.  So from today - Apple update is now disabled on my machine and will stay that way until Apple trick me into switching it back on again.

This is incredibly bad form and reminds me of all the rubbish that Real software used to get up to when they were still relevant.  The worse thing is that it will condition people to disable updaters when we live in a time that I would prefer people kept their systems up to date and patched.  I know that people will have said this in other places and in better ways - but if Microsoft pulled this sort of trick, just imagine the reaction.  This kind of move feels like one of desperation or arrogance - possibly both.</rant>

Apologies for the rant - normally I keep this sort of thing off my blog but this one really annoyed me.

"Electricity Gone" Moment

| 1 Comment

This morning while I was preparing for a customer demo that I'll be doing over LiveMeeting later today, my DSL connection stopped working.  I have a reasonably complicated home office network arrangement - but it is most often my VPN connection or my unmanaged gigabit switch that are the problem. This morning however, my DSL was down.  Not a surprise to a lot of people, but I am with Nildram and this sort of thing hardly ever happens (BTW - I cannot say enough good things about Nildram as a broadband provider).

Anyway, I was kinda connected (the LCP was allowed to come up - whatever that means, and the ADSL light was green on the router), but I wasn't able to get my IP address or anything.  I have a static IP for my DSL connection so that is a little unusual.  While the demo is over 10 hours away, it still focuses the mind a little - I may have to change my plans for the day and fall back to my "disaster recovery office" (the spare room in my mother-in-law's house) if I'm not going to be able to get connected to the LiveMeeting from my home office.

So I began to try and resolve the situation.  Hmm, I wonder what "LCP was allowed to come up" means? I thought to myself.  I know - I'll check Google.  D'oh.   Hmm - how do I gel hold of Nildram customer services? I know I'll look up the phone number on their website and give them a call.  D'oh.  In the end, I fired up the browser on my mobile phone because my brain just didn't seem to know what to do without an Internet connection to refer to.  I found the number of customer support (which is open 24x7) and started to dial (on my cell phone, after having first picked up my VoIP phone to wonder why there was no dial tone...).  The moment I did that the DSL connection popped back into life (spooky - are they that good?).  Panic over - I guess some maintenance or something was going on somewhere - it was 6.30 am and it only lasted 15 minutes or so - nothing worth worrying about really.

However, It did remind me of the stupid things I do when the electricity goes out - constantly forgetting that with the TV not working I cannot switch on a light and read either.  Do I really take always available internet for granted as much as I take always available electricity for granted now-a-days?  Very strange - I know, I'll blog about that...

My First Computers

| 1 Comment

So, at the risk of starting one of those annoying meme's, I've kinda had this conversation with a few folks before and people of my age always seem to enjoy it so here goes.  My first computers.

My First Computer

The computer I first learnt to code on was a Commodore Vic-20.  My parents bought it because they saw William Shatner advertising it on the telly and suspected that these computer things might catch on one day and I should probably learn about them.  We spent hours sitting and typing in code from printouts in magazines and then debugging our typing mistakes.  Unlike some people, we were lucky enough to have a tape drive to save our work before we switched it off.  The following year I got the 8k expansion pack which doubled my available memory.  The Vic-20 was when I learned binary arithmetic because a poke instruction was needed to draw a character to the screen that was not a standard Alpha-numeric - what you were actually doing was writing directly to the 6560 Video Interface Chip after which the computer was named (VIC - geddit?).  Any spare squared paper I could find was always covered with little grids with drawings in them of graphics for potential games.  I still use this skill today but more often for bitwise flags than for coding space invaders.  My favorite game for the Vic-20 was "Psycho Shopper" - a game who's premise escapes me but I seem to remember it had something to do with old women and walking frames.

shopper

I remember that after using the Vic-20 I happened upon a book that described the Teletext system that was going to be coming soon if you owned an expensive TV.  I was amazed at the quality of the graphics when I first saw Ceefax.  Later in life the Vic-20 got replaced by a Commodore Plus/4 which was a bit of a failure but allowed you to play most of the Commodore-64 games I had been very jealous of.  The Commodore Plus/4 had a built in Word processor and spreadsheet and I never hand-wrote a school assignment again after we got that in 1984.

First Games Console

Atari2600

Before the VIC-20, we had an Atari 2600.  This was early in my career as a gamer (I was probably around about 3 or 4 years old at the time) but I remember that it had the most exquisite multi-position switches and the paddle controlled  "tennis" game was exquisite in it's interactivity - only recently surpassed by the Wii controllers.

First PDA

lz Ahh, my lovely Psion LZ (or Lizzy as us Psion fanboys used to call them).  While I did use this as a PDA, the Psion was a remarkable device that had a very comprehensive programing language in OPL.  Hear that Apple - a personal organizer that shipped with it's own IDE, and was designed to be coded...  OPL was like BASIC and had all the constructs you needed to do some serious stuff.  The Psion Organiser II's also had a very neat Database system that was easy to program which made it suitable for business use and found many vertical niches.  Marks and Spencer's in the UK used to run their entire retail operation by having Psion organiser at each till and would send the "Datapaks" (physical solid state storage cartidges) of data down to their branch offices each day.

I did some serious hacking LZ (which had a massive 4 lines to work in).  Again, using the binary arithmatic learnt on the Vic-20, I was able to do some nice graphics work and had several games to my credit.  After the Psion LZ's came the Series 3's which I could never justify the expense.  As mentioned in a post a while ago, Robert Parsons was the master of Series 3 hacking in my playground.  He even managed to fake grayscale by switching the black of the LCD very rapidly (a-la early Gameboy devices).  He even wrote a fractal generator, 3D graphics and the most addictive game ever (Bobman).

First Self-Built Microprocessor System (kinda)

ScienceFair_MicroTrainer_System When I was 7 or 8, I went into my local Tandy's store in Arnold and spent my parents hard earned money on the Science Fair Microcomputer Trainer (based on a Texas Instruments TMS1100 CPU).  I'd previously gone through nearly every X-in-1 electronics kit from that Tandy store (in fact, looking at this page I owned all of those and can still remember the particular "hot electronics combined with cardboard and metal of the springs" smell that I used to enjoy on opening the boxes.  When I saw the Science Fair Microcomputer Trainer sat high on the top shelf, I was smitten.  To be honest, at that age it was pretty complicated but it did teach me most of what I know now about how computers work at a low level - it was all about putting stuff onto the stack and incrementing etc.  It also taught me how to wire fast and neat which I put to good use in my Electronic's GCSE. 

While I used to enjoy typing then playing the included "Rat Bashing" game - my crowning achievement was when I wrote my first "Hello World!" program.  Well it said "hEll0", but still, not bad considering the display was a single numeric LED character.  Internet legend has it that this devices was overclocked, making it my first overclocked computer.

First PC

compaqI Easy - an original Compaq luggable.  Also my first "laptop" I guess - but it was a little on the heavy side.  I seem to remember that the reason this machine was at home was because it had a spreadsheet system (Lotus-123?).  It was great because it had two 5-1/4 floppy drives so you could have your boot disc (with DOS, BASIC etc) in one and use the other for storage.  Floppy disks amazed me because of the random access - previously everything else I had used was tape.  I think that this was the only machine then typing "B:" took me straight to the B drive and didn't give me a prompt to insert a different disk in Drive A.  I wonder - do kids today know why the hard drive on a Windows machine starts at "C"?

We had a copy of California games that ran on this machine (a little strange because the game was in color, but the machine's screen was a green-screen).  I remember that I hacked the resource files in California games to change the annoying America phrases "That's rad dude" to more British phrases I understood.  Countless hours of amusement followed when I did a good half-pipe or surf trick and got sworn at in the best anglo-saxon.

First Windows Machine

ibmmodel55 An IBM PS/2 Model 55 SX.  To be fair, this belonged to my Dad's company but he used to bring it home evenings and weekends and we would set it up and I would help him do his work on it.  It had an amazing 20Mb (but loud) Hard Disk (my first machine with a Hard Disk), and the IT department had coded an awesome initial menu script in the autoexec.bat of DOS when you booted it up.  These start menus were all the rage at the time.

The machine originally came with Windows 2.0 which didn't really get used much.  I remember the Paint program that came with 2.0 as more advanced that the version of Paint we get in Windows Vista today - it had some isometic drawing mode that was quite strange.  However, it did only draw in black or white.  Taking a look at some of the dialogs from back then, it is amazing how familiar some still are.  Also, the DOS version of Word was pretty decent - you could draw nice boxes using the cursor keys and it would put in the appropriate "_|" characters etc.  It also used bold text for bold writing unlike Wordperfect at the time.  It was nearly WYSIWYG.

I still remember seeing the review of Windows 3.0 in PC World I think it was.  The cover that issue was "Windows 3.0, Child's Play" and had a picture of a baby in a nappy (diaper) holding a mouse.  The Microsoft Mouse 2.0 that was purchased along with that copy of Windows was a masterpiece of the mouse art, and still one of the best mice produced.

Well, that's enough trawling through memory lane.  Happy Thanksgiving to all my American friends.  If anyone fancies taking on this meme and detailing their computer firsts then be sure to let me know - however you are probably a lot less geeky than me and would rather keep those memories to yourself.

TechEd Developers RegistrationI'm joining my good friend Brian Randell to do a session on Team Build 2008 at TechEd Developers in Barcelona on November 8th.  If you are at TechEd then please do come along - it is shaping up to be a fun talk.  If you can't make it to the talk, then I'll be loitering around the Team System Ask The Experts area during other times.  Feel free to drop me a line if you want to meet up.

TLA316 Code It and Ship It with Team Build 2008
Brian Randell , Martin Woodward

This session covers how to define an end-to-end build process using Team System and Team Build 2008. First you'll learn what's new and changed from Team Build 2005. You'll learn how to manage the build, do desktop builds, and how you can setup Team Build to work in a continuous integration environment. You'll then learn how to customize the build process to perform all your build steps including running unit tests, creating custom build actions, generating setup programs and deploying to staging servers. Finally, you'll get a crash course in the new managed API for working with Team Build 2008.

Thu Nov 8 09:00 - 10:15 Room 115

Do you come here often?

| 3 Comments

An odd smirk followed by "You come here a lot" is not what you want to hear when at the customs desk waiting to come into the US.  Immediately I expected the worst - an armed SWAT team absailing from the ceiling to lead me off into a quiet room for interrogation while the snapping sounds of latex gloves ricochet out of the distant bowels of the customs hall.

When travelling for work, you get asked some interesting and always flummoxing questions on your way in to a country - one particular favorite appears to be "When did you last come to the United States", the other more boring question is "what is the purpose of your visit to the United States, Business? - what kind of business?".  After 8 hours sat on a plane cursing myself for choosing chicken over beef again - the questions at customs always seem to throw me.  So much so that as I stand in line for hours waiting to have questions fired at me by the seriously grumpy immigration official, I prepare answers to all the questions I have had before so that I don't freeze during my passport stamping/fingerprinting session.

However, this particular incident did not start well.  The person in front of me was obviously not familiar with customs procedures and had even more difficulty than me in coming up with plausible answers to strangely suprising questions.  Then I made matters worse because I waited to be called. Usually not waiting to be called is a shoutable offence. But in this particular case, unbeknown to me, I was expected to go forwards without being called.  In the end I got shouted at for my hesitation - not a good start.

Then came the swipe of the passport and some tapping at the computer followed by an evil smirk and the words "you come here a lot."  I was expecting a question - this was clearly a statement of fact.  The lack of a question mark left me in a spin - should I respond to a statement?  What was that visible (if fleeting) display of emotion all about? - I'd never seen such a brazen display of humanity at the customs booth before.  This was clearly an un-usual encounter and it clearly wasn't going to end well.

The official simply said "I did you the last 3 times".  He didn't bother asking any questions - he just stamped my passport, performed the fingerprinting/photo taking dance without another word (though when I knew to swap fingers and then look at the camera at the correct time it raised another smile).  He then sent me on my way.  As I look at my passport now I can see that of the 12 US entrance stamps in my couple-year-old passport, his writing is on 7 of them. 

However, the encounter left me stunned - this was almost a conversation (albeit a little one-sided).  As I left the customs hall I nearly thought of a clever response but by then the opportunity had been lost.

At least I have a new scenario to mull over for the next time I find myself waiting hours to get through customs.

Archives

Creative Commons License
This blog is licensed under a Creative Commons License.