Posts from 2003
-
:
Welcome
I’ve been meaning to put up a personal web site for a while now. This is it. Originally I had the usual ‘collection of random rubbish’ style of personal web site. This then grew to contain my technical ramblings and … -
:
Day 0
I have lots of stuff that I’ve been meaning to throw up onto the web for a while. Lots of stuff that’s been in my digital equivalent of an old cardboard box for several years. I’m going to be posting these old things from … -
:
Rifts character sketch
I’ve played fantasy role playing games since I was about 14. We used to play every weekend but now we’re lucky if we can get everyone together once a year. Most of the time we played AD&D, or our own “house … -
:
The importance of keeping the metaphor pure
Kent Beck and the XP guys have a lot to say about the ’the system metaphor’. In XP the metaphor replaces what most other methodologies call ’the architecture’. It’s a single, coherent, view of the system. It … -
:
Currently reading...
Updated: 23-May-2003 Questioning Extreme Programming by Pete McBreen A useful analysis of the claims that the XP community makes and comparisons between the XP way and other Agile Methodologies. I’m currently about half way through … -
:
Death by debug trace
In Asserts Redux Dan Dunham and Scott Shumaker are discussing how sometimes testers have to be able to work around assertion failures and how allowing them to do so dilutes the power of the assertions. The discussion moves on to how debug … -
:
The Order of the Silver Rose
The Order of the Silver Rose was a religious order of Knights in an AD&D campaign that I ran. The campaign was set in The Forgotten Realms and was based around the FRE1-3 scenario packs. Continue reading “The Order of the Silver … -
:
Understanding bad code
I always used to think that there was probably a good reason behind things I didn’t understand. Now I’m far quicker at deciding that the reason is that the person who created the thing didn’t understand either. I’m … -
:
What kind of thinker...
I just took the What kind of thinker are you test over on the BBC site. Interesting results… You are a Spatial Thinker *Spatial Thinkers: Tend to think in pictures, and can develop good mental models of the physical world. Think well … -
:
Sk8er boy
Last night I had my first inline skating lesson with city skate at Spitalfields. It’s been almost 20 years since I last skated on pavement. That in itself is kinda scary, I’m not sure I have something that I did 20 years ago … -
:
Little and often
The XP folks talk about the importance of making frequent small releases. This method has advantages over and above the obvious ones; not only do you get regular feedback from real users, you also get regular practice at doing a … -
:
The Joel Test
Joel Spolsky has a quick test to rate how good your software development process is. I thought it would be useful to see how the refactoring project scores. 1. Do you use source control? Yes. The main part of the team has always used CVS … -
:
New flat pictures
In March 2002 Vincent Hart, a freelance photographer, took some pictures of our flat with the intention of getting them published. His pictures appeared in the March 2003 edition of 25 Beautiful Homes. Some more of the pictures are now … -
:
On Cringely On Refactoring
Bob Cringely has been upsetting some programmers with his comments on refactoring. Initially, he had this to say: “Cleaning up code” is a terrible thing. Redesigning WORKING code into different WORKING code (also known as … -
:
Colorado 2003
In March we skied in Colorado. Beaver Creek, Vail, Breckenridge and Keystone. Excellent conditions. We were in Vail on the day after the big dump in March and had 18" fresh powder on top of the grooming. I took the video camera out … -
:
Busy week
Refactoring project going well; Just in time requirements project moving into a phase where we finally get end to end connectivity; skating hurts - lesson two, 2 falls and, well, my body is old :( I know why I ski and don’t … -
:
Dawn of the dead
One of the problems with the code base that we’re refactoring is that it’s full of dead code. This week we dealt with it… Throughout the system there were swathes of code that were commented out, there was very little in … -
:
Last orders...
Last night I had some beers with some guys I used to work with. They were celebrating the latest round of redundancies. What was interesting was that generally the people that I spoke to that were still employed seemed less happy than the … -
:
Refactoring project: Joel Test, reprise
Last week we were a 5.5, now we’re an 8. Not bad progress, but there’s still a long way to go until the project can get a ‘SaneMark’… We can now do a build in one step. We had several point releases last week … -
:
Just in time requirements
I’m currently developing an online game for a client using The Server Framework. I didn’t realise that it was an online game when they originally contracted me. It’s become a useful example of emergent requirements. Each … -
:
Skating and Skiing
Lesson three was on Monday. We did ‘going faster’, uneven surfaces, moving curb dismounts ;) and parallel turns. I got on well with both. It’s just a balance thing, which is good. The movements feel like they’re … -
:
Scribbly pen
I think best when I can scribble. When designing software I always draw boxes and lines. These diagrams give me an anchor to come back to if I get distracted. They get binned once they’re no longer needed. Pen and paper is the only … -
:
Slack - Tom DeMarco
I’ve always been a fan of DeMarco’s work. I tend to nod my head and agree as I read, and wish that all the software development managers that I work with would read his books. Slack is an excellent analysis of the problems … -
:
Can Do considered harmful
I come from a family of pessimists, but I think I got off lightly… I’m just slightly on the ‘doom and gloom’ side of centre. I expect this probably accounts for my attitude to risk. I assume bad things will happen. … -
:
Our first test
The refactoring project reached an exciting new stage on Friday. We were finally able to refactor some code to the point where several classes could be extracted from the application project and built in a library that the application then … -
:
Test-Driven Development (By Example) - Kent Beck
Kent Beck demonstrates the testing side of XP by separating it out into its own simple methodology. Test-Driven Development is exactly what it says it is. The entire design and development effort is driven by the tests that you write and … -
:
One step closer to sanity
Now that the refactoring project has tests it’s worth having a daily build so that it’s easy to spot if someone checks something in that breaks a test. I spent 30 mins or so first thing this morning writing a script that pulls … -
:
Crossover turns and going backwards
As promised this week’s lesson had us doing crossover turns and the start of skating backwards. Crossover turns aren’t actually that hard. Once you get used the the idea of doing it. Just lift the outside leg up during the turn, … -
:
We came. We saw. We did a little testing.
Another week another release. Well, almost. The plan was to release today. The plan ignored the fact that most of the team are at a wedding this weekend and nobody was around today and nobody’s around on Monday… The latest … -
:
Requirements overload
Today -1 Week: Them: So, here’s what we need by 9th June. Us: Ok, we can just about do that… Today: Them: Oh, add all of these things and put most of the things we asked for last week way down the list. Can you still do it by … -
:
Hello?
Just watched “28 Days Later” on dvd. Very cool. Very British - very non-Hollywood. Scary film. The best bit? Seeing the London streets so empty. If you live or work anywhere near London you’d know how impossible those … -
:
CSS, IE 5.x and the box model bug..
Ok, the blog looks crap in IE 5.x I’ve seen the stuff about hacking around the css bugs in IE but I’m not clever enough to hack the css sheet that I have to do that. If anyone knows what I need to do to fix it so that it looks … -
:
Bottle of Evian == cure for RSI?
I used to have pretty severe problems with my shoulders and right arm. Mostly mouse related; I think. When it was really bad I had a lot of shiatsu, which worked well and helped remove the residual tension in my shoulder. Now I seem to be … -
:
Victoria Park, The Crown, Matrix Reloaded
Skated in Victoria Park, lunch at The Crown, Matrix Reloaded and a pizza at Strada. Top day ;) We skated in Victoria Park this morning. It was pretty good. Lots of wide, quiet, paths with reasonable tarmac and nowhere near as busy as Hyde … -
:
Matrix Reloaded & Animatrix
Finally got around to seeing Matrix Reloaded on Sunday night. Then picked up the Animatrix yesterday. Before I read any reviews or blogs on the subject I thought I’d spout off on my own… (Contains spoilers and future plot … -
:
You don't want to do it like that....
During some simple refactoring today, a phase of ‘restricting access to data members’, I discovered an interesting little design ‘descision’. In the spirit of completely mixing up the business logic and the display … -
:
Infect me
I’m not test infected yet. I’m almost there. I want to be there. But I’m not there yet. I just spent an hour and a half fixing a couple of bugs in the online game system I’m writing. It took longer than it should … -
:
Stage complete. Time bonus...
This morning I wasted some time tracking down bugs in the multi-threaded online game engine that I’m writing for a client. Now I have tests. Tests are good. The bugs were little things, they always are. Most of the wasted time was … -
:
Blog is 1month old!
Well, the site is 1 month old and I’m still rambling on. I think I have about 4 readers now too ;) -
:
Final skate lesson
We had our last inline skating lesson tonight. Lots of recap on what we’ve done before, and lots of practice. The crossover turns are quite comfortable now in either direction, which is nice, and we did some simple slalom - note to … -
:
A coming together...
A good week for the refactoring project. The release procedures that are now in place mean that we’ve been able to react quickly to new functionality requests whilst continuing the new development efforts. Ah the wonders of a source … -
:
Evanescence
Miche did the spontaneous thing this week. After hearing “Bring me to Life” on the radio once she bought the Evanescence CD. Cool stuff. Very nice sound. Kind of All about Eve meets Skin from Skunk Anansie on vocals with a nice … -
:
Got skates, let's go!
Spent the afternoon at Decathlon in Surrey Quays. Came away with a pair of Rollerblade Lightning 03’s - which are probably a little over the top considering my lack of skill ;) but they were the most comfortable and smoothest skates I … -
:
I'm an exception, let me out of here...
We’re adding some new functionality to the refactoring project. Unfortunately the new functionality is located in the Heart of Darkness - the most twisty and poorly structured code in the whole system. Today I stumbled onto something … -
:
VS.Net 2003
Why oh why couldn’t the new VS.Net solution file format have either been compatible with VS.Net 2002 or have a different file extension… I’m in the process up updating my socket server code to build with VS.Net 2003. The … -
:
Developer buy in
The refactoring project rolls on and the code gets better. This week saw a marked change in attitute from some of the developers on the team… I was originally brought into this project because the lead developer was leaving and other … -
:
Socket Server code updates
The latest release of the free version of my asynchronous, windows, IOCP based, socket server framework can now be obtained from here at ServerFramework.com. For some time I’ve been promising to update the socket server articles to … -
:
Slacking
It’s a lovely day out there today… -
:
The slacking worked
Had one of those days where I couldn’t get started. I guess it was probably something to do with the beer last night. It was Darren’s birthday and we went to Namco on the South Bank and played on the arcade machines, drank beer, … -
:
Clean shutdown
No more zone just yet, wine’s just made me blabby. The testing I’ve just been doing with my server is real black box stuff. The build process fires off a script that kicks off the server and then runs the test harness which … -
:
Weekend's hosed
Michelle’s on her way home, but she’ll be working all weekend drafting an agreement that needs client sign off by Monday morning. So that’s her hair appointment down the pan and the 30th birthday party we were going to … -
:
MSDN Subscription blues
and reds and blacks and greens and, well, you get the idea. Every month when I get a shipment of disks I feel stupid. I just don’t get the way the MSDN Universal Sub is organised. I’d like a little hint card in each shipment … -
:
More socket server code updates
The latest release of the free version of my asynchronous, windows, IOCP based, socket server framework can now be obtained from here at ServerFramework.com. I’ve updated the code for two more of the socket server articles. More … -
:
Bluetooth blues
Obviously been one of those days… I was woken before 7 this morning as Miche rushed back to work - always a bad sign when people take a wash bag with them; she’s still not home… :( I was going to go back to sleep, but, … -
:
Why do I do that
One of the good things about working on a code base of questionable quality is that you get a chance to review the way you work as well as they way the original authors worked. It’s my job is to improve the quality of the code and the … -
:
New toy
My old laptop was a brick that didn’t run VS.Net fast enough for my liking, so I thought it was time for an upgrade. I went for the Sony Vaio PCG-Z1SP because of the weight, screen, wireless connectivity and the fact that I can slap … -
:
The colours thing bites
A while back I found what might politely be called “a mixing of business logic with display logic” issue in the refactoring project. Yesterday it bit me… So we have an object that has a set of named properties. These … -
:
Password policies
Someone in an organisation decides that people’s passwords aren’t secure enough. They implement a policy so that people are forced to change their passwords on a regular basis. People find that changing passwords is a pain so … -
:
Stuff
The refactoring project rolls on. This week was mainly taken up with managing a seemingly infinite number of minor releases. We decide to appear “responsive” by reacting to recently reported, low priority, issues quickly whilst … -
:
Real Greek
Went to a really cool local restaurant tonight. It’s Greek Jim but not as we know it. We’ve been to The Real Greek in Hoxton several times before. Tonight we did the meze stuff in the bar area. The bar’s really cool. A … -
:
New toy == good
The new laptop is way cool. All the stuff is now installed and it compiles nice and fast… The batteries last well, even when the screen is bright and the disk is quiet. I can sit on the sofa and code without being told off for … -
:
Working for Microsoft
Andy Hopper has written about what makes the thought of working for Microsoft appealing to a geek. “It’s presented as a tough place to work even if you’re a wizard coder. It’s also described as a meritocracy - … -
:
Bluetooth sockets
This morning I decided to investigate the Windows XP SP1 Bluetooth support. I played with the BluetoothXXXX and quickly became disapointed. I then moved on to looking at how to access the Bluetooth hardware using Winsock and decided that is … -
:
Sunny day in Kensington Gardens
We skated on The Broad Walk in Kensington Gardens on Saturday morning. Lovely place. Much nicer than “The Beach” in Hyde Park. Much quieter, wider, smoother and with a nice little hill… -
:
80 00 1A 00 0F D7
My dabbling with Bluetooth continues. Using WSASetService it’s pretty easy to get your device to advertise a standard Bluetooth service on one of its sockets. Simply create your socket with the Bluetooth address family, bind and … -
:
It's important who's driving
I’m a firm believer that software rots unless you’re very careful; and like apples, once one piece starts to go bad the rest quickly follows. The Pragmatic Programmers talk about Software Entropy and The Broken Window Theory … -
:
Timezone...
Just realised that my MT setup was wrong and that all my stuff is being posted with a timestamp of an hour in the future. Just fixed it, I wonder what will happen now… Hmm, nothing, so I’ve edited the timestamps on … -
:
Analysing my analysis
In my usual “don’t read the manual” style I crufted together a simple OBEX decoder, fudged a response to the connect message and watched my iPAQ send the first chunk of the file I’m using as my test. Now I’ll … -
:
Giving it away
I give a lot of source code away on the web. I have done for several years. Often when I tell people about this they try to convince me that I should be selling the code rather than giving it away. They don’t need my code and are way … -
:
Analysing my blogging
I see a trend here… So, I blogged, I ate, I had a little wine. And started thinking… Why did I write the last entry today? I’ve had it in my stack of ‘blog this’ emails that I send to myself for ages. I wrote … -
:
Switching to CVS
For my sins, I’ve used Source Safe for version control on quite a lot of my projects in the past few years. It’s got its faults but, well, the price is right… Now that I have a laptop that I can actually work on … -
:
Full bodied, or not?
So, I have the standard MT rss 1.0 syndication feed that I hacked to include the full body of each entry and I have the all new, funky, MT rss 2.0 feed that I have left as is and which doesn’t include the full body of the … -
:
That test driven development thing might just work
So, we have currency based limits and they’re in millions. Us: “Are they always going to be in millions for all ccys?” Them: “Yup.” Coded, tested, delivered. Them: “can we have the JPY limits in … -
:
OBEX and ISO8583
OBEX is a nice little protocol and reminds me a bit of a massively simplified version of ISO8583. It’s a pity about the warts on Connect… The OBEX spec defines objects (messages) in terms of a fixed opCode, followed by a 2 byte … -
:
Top tip
For those of us still working with VC 6… This page about all the clever things you can do in the debugger watch window is pretty cool. I knew all about s and su and hr but I didn’t know about m, that one’s way cool. Hmm, … -
:
Wise words
“The most successful method of programming is to begin a program as simply as possible, test it, and then add to the program until it performs the required job.” – The PDP-8/e Small Computer Handbook (DEC, 1972) - Chapter … -
:
Pinging down NetMeeting data channels
Back in 1999 Darren came up with a cunning plan to make lots of money. The plan was ‘device control over the internet’… In summary, we didn’t. Ideally this plan required an audio/visual link as well as a device … -
:
Changing the vinegar
A while ago I likened writing articles about code with pickling it to preserve it… It seems the last few days have been spent changing the vinegar… I’m moving most of my source to CVS. This was easy for the code that I … -
:
In the future, there will be robots!
The code generation crowd are at it again. So, “writing code” is stupid is it? Well what will we call writing the requirements in a form that the code generators can understand and why will it be easier to get the requirements … -
:
Untestable
It’s easy to write untestable code. It’s natural. Most code that we write will be hard to test unless we explicitly think about testing when we write it… This code is really simple, yet it’s untestable. Why? … -
:
The style sheet made me do it
If I don’t write enough blog entries then the way I have my CSS set up means that the front page starts to look ugly as the number of entries on the left side of the page shrinks and the columns on the right go all squigly… Is … -
:
Busy weekend
We tried the new Carluccios on Upper Street on Friday night. Great food and excellent service. Back to watch the final Buffy (season 6) on DVD (so sad); glass or two of Glenfiddich, bug hunting and to bed. Up early to bug hunt and then … -
:
My Name is Len Holgate, and I'm a workaholic
Given that the work I do goes on in my head and can be done anywhere I find that it’s often done everywhere. Anyone got any hints on how to switch off? Skiing and skating are good for me as I can’t think about other things when … -
:
Three bugs went into a program
Three bugs went into a program; a memory leak, a misunderstood interface and a deadlock… The memory leak was easy to track down as it was in the code that was covered by the test harness. So we just instrument the code with Bounds … -
:
Waltzing with Bears
Finally finished reading Waltzing with Bears: Managing Risk on Software Projects and it was well worth the read. Waltzing with Bears is a book about managing project risk. It’s a slim volume, but packed with useful information. As … -
:
Untestable 2
A couple of days ago I posted some untestable code. I’ve had a couple of emails saying that people couldn’t see why the code was untestable. Here’s why, and here’s how to fix it. The code shown manages a list of … -
:
Big ball of mud
Brian Foote and Joseph Yoder writing about software architecture (or the lack of it). Thanks to Bryan Boreham for the link. -
:
Twenty Eight
So there are 10 guys on a stag weekend in Amsterdam. Much drinking. Lots of foolish games with very fluid rules and fines for people who did not comply. Many fines were collected. At some point during the drinking games on the first … -
:
Unsound FX
We’ve been moving pretty quickly on the refactoring project. We had got to the point where we were doing at least two releases a week. Generally we would include user requested fixes in the first release and refactored code in the … -
:
Big blind, little blind
The online game approaches completion but recently the requirements were lacking and we couldn’t see the way forward. We’re finishing the game play and getting to the complicated special cases - I’m hoping that they … -
:
Free software integration code drop
The free source code integration project has its first code drop and then its second code drop… Almost complete. The integration has gone pretty well. The server code now has a neat little facade that allows it to impersonate the MFC … -
:
Keeping all the balls in the air
A while back Carson asked me how I managed to keep track of all the projects that I was working on; I said that I had practiced being productive over short time periods, tried to stay focused on one thing at a time and not to switch … -
:
Currently reading
Agile Software Development - Principles, Patterns, and Practices by Robert C. Martin This book is physically heavier than most of the books I’ve been reading lately but I’m still carrying it to work even though I only get around … -
:
The onset of infection
I’ve spent the morning doing test driven development, properly; writing tests first and everything. It works, it’s faster and it’s addictive. The current work item for the online game is to take the existing game play and … -
:
Site update
I want someone to quote for converting my company web site, www.jetbyte.com, to use Movable Type as its content management system. Anyone interested in the work? -
:
Uncle Bob talks lots of sense
So, I read my own blog and follow the links I put in the entries, does that make me a bad person? After writing the post on Bob Martin’s book I went off to read his blog, good stuff, read it! I especially like the “We will not … -
:
Tull
When we were in Amsterdam doing the stag thing I saw a Jethro Tull video on the local music station. I wasn’t actually aware that such a thing existed; but it sure brought back memories. It was a live version of “Living In The … -
:
Polishing
Hit a deadline early this afternoon and hadn’t chased up some requirements so I ran out of things to implement. Faced with a couple of hours spare I whipped out Gimpel Lint and started to polish… I’ve been a fan of … -
:
Learning by imitation vs learning by understanding
As I mentioned a while back, the refactoring project’s FX functionality was developed by guess work. We’re fixing that now by spending some time gaining an understanding of the problem domain as we refactor. I’ve always … -
:
The good thing about this web log lark is...
Writing stuff down makes you think about things. Take the “balls in the air” piece. I had a problem, I didn’t realise what the problem was until I wrote about it and now, a week later I see the problem coming up again and … -
:
FX refactoring
Bleugh! You are lost in a maze of crapy code, all alike (and much of it copy and pasted!). The last few days have been deep in the heart of darkness. Gently teasing the business logic and the display logic of the FX code apart so that we … -
:
The Black Stuff
We had a busy weekend. Michelle’s brother Chris married Hilary in Dublin. Good fun was had by all and it was a wonderful few days. The wedding was in Castleknock and the reception was at The Four Seasons in Ballsbridge. It was a bit … -
:
Skate Adicts
We couldn’t skate last weekend as we were in Dublin at the wedding. This weekend was going to be really hot in London (35C+) which isn’t ideal skating weather. We decided to get up a bit early and skate before it got too … -
:
The first FX test
On Friday we got to the point where the FX buiness logic code was suitably decoupled from the display logic that we could write our first test for the business logic. In the words of Homer Simpson, “Woo hoo!”. Test one was a … -
:
Here comes the snow...
So, it’s been 35c here in London for the last week and, strangely, my thoughts have turned to snow… We’re off to Saas Fee in September and I’m starting to do the ‘check the resort web cam daily’ thing. … -
:
You'll tick when I say so and not before!
Today we wrote some complicated FX business logic tests. Things like making sure that the FX library can calculate a EURUSDCAD 1M rate - it can; or a USDCAD ON rate - it can’t and nobody had spotted the fact that it was out because … -
:
Writing tests for new code vs writing tests for legacy code
I was working for my poker game client yesterday. This project now seems to be firmly test first. What was interesting with yesterday’s work was how the tests drove the design and how when I finally came to integrate the tested code … -
:
FogBUGZ
We’re approaching the end of this phase of the poker game project. The client has started reporting lots of little things that don’t quite work how he’d like them to. Some are bugs, most are feature requests, either way … -
:
FX Testing
By Friday our FX test harness was pretty much complete. We had coverage for all the nasty special cases that had caused us problems in the last few weeks. They were the hard things to write tests for so we wrote those tests first. If we can … -
:
Art - by Catherine Purves
We first saw Catherine Purves’ work at a Hoxton art show, both of us loved the colour and texture of the pieces. We saw more of her work whilst visiting other local art shows but none of the pieces were quite right for the spaces that … -
:
Decoupling the FX GUI
The rates engine was now easy to test but the interaction between the engine and the user wasn’t. This was unfortunate as the interaction is reasonably complex. We hadn’t built and tests for any of the GUI code yet, last week we … -
:
You can lead a horse to water...
Although the other developers on the refactoring project agree that the code needs to be made better sometimes they don’t seem to bother to make changes in a way that improves things… This week a major new piece of … -
:
What did I do to deserve...
So, family members having PCs that you feel obliged to look after for them. That’s some form of punishment for something, right? -
:
Insufficient coverage
Today the FX engine went into UAT. Well, the nearest thing we have to UAT; a user looked at it… 3 bugs, differences between the new code and the current production version. All slipped through our test coverage. :( I had actually … -
:
Eric Sink on instant gratification
Eric Sink has an amusing piece on how his problem solving skills have been spoiled by Visual Studio’s F5 rebuild and run option. He obviously isn’t developing test first, because if he was then going for the instant … -
:
Run away to the alps
I have a dream. I’ve just done coding for the day and I’m sitting in a hot tub on the deck of a glass fronted chalet overlooking the slopes; glass panels around the deck so that nothing obstructs the view. Think the really … -
:
So, who's the smart arse who thinks it's OK to move keys on a keyboard?
My space bar got sticky. I bought a Microsoft Wireless Multimedia keyboard on impulse. Why Oh Why was the ’end’ key moved? The keyboard itself has a nicer feel than the one I replaced. It’s thicker, you pretty much have to … -
:
Netgear MR814v2
Further to my recent wailings about being responsible for family member’s PCs… I decided to deal with the internet connection sharing issue at the hardware level… So far the Netgear MR814v2 firewalled, DSL router, WIFI … -
:
BenSkating
Michelle and I had a skate lesson with Ben Roberts on Saturday morning. It was a group lesson that ended up being just the two of us and which was really good and great value for money. Ben was my instructor when I had my course at … -
:
I blame the testing
It’s amazing what a day or two away can do. I came back to the tests with a fresh mind this morning and dealt with the issues that had caused me problems at the tail end of last week before I got my morning coffee. Ok, so I … -
:
I'm sorry but...
Who are you? and why are you here? `2003.09.05 11:11:45 62.188.56.137 ‘Len’ added entry #157 2003.09.05 11:45:49 62.188.56.137 ‘Len’ added entry #158 2003.09.06 13:26:52 4.64.105.117 Search: query for … -
:
iNTJ
So, I saw all this stuff over on Scoble and Chris Sells’ blogs about Microsoft being full of ENTJ’s and wondered what the hell they were on about. Myers-Briggs personality types; I took the test, apparently I’m an … -
:
Why do I code? Because I couldn't not do it...
Why do any of us do this stuff? Why do we read so many books on the subject? Go to user group meetings? Fly across the country to hear people talk? Why do you code? Seriously. I want to know. Rory Blyth - Neopoleon.com - WHY DO YOU CODE? … -
:
Introspection on INTJ
It seems that iNTj’s are big into contingency planning and, in general, most other people aren’t; that explains a lot… Whenever I find myself in an unexpected situation the first thing I always think is … -
:
Damned if they do, damned if they dont
I had just sold management in the company I am clienting for on the ability of W2K3 to avoid these, with the line that during the Windows Security Push, all 9,000+ Windows developers stopped and poured over essentially every line of Windows … -
:
I know it's trying to help, but..
I’m editing a wedding video at present. I’m using Pinnacle Expression to write it to DVD. I have a dual xeon 2ghz machine with hyper threading enabled and it insists on using no more than 25% of my cpu… It doesn’t … -
:
Things that make you go, Hmmm...
Just yesterday, I had a discussion with the CTO of a current client. He’s a 20 year industry veteran and he was wondering why Microsoft hadn’t stopped in their tracks and underwent some massive code reviews to get rid of the … -
:
We'll be right back, after this word
Normal service will resume shortly. Thank you for your patience. -
:
Back from Saas-Fee
The 2003/04 ski season has started. Well, for me at least. We spent the last week in Saas-Fee, Switzerland, in the hands of the Warren Smith Ski Academy. Great fun, hard work, highly recommended. The snow was wonderful for the time of year. … -
:
Images from Saas-Fee
Just holiday snaps… -
:
No, No, No! That way lies the army of muppets!
Krzysztof Kowalczyk on Alan Cooper on software business… “Alan Cooper argues in this article that a way to win in the software business is not by cutting costs of production (i.e. number of programmers and their salaries) but … -
:
Video editing
I’ve been editing videos on a PC for far too long. It’s a lot easier than it used to be, but it still feels like it’s not quite ready for prime time for non professionals. At least it’s now reasonable easy to find … -
:
Frankenstein programming
I’m spelunking around in some code for a client looking for a nasty bug that’s hard to reproduce. The code is less than ideal… It’s the kind of code that’s been put together by what I refer to as … -
:
'The sample code uses limited error handling'
I’m looking at adding SSPI security to the socket server code for a client; first stop is MDSN and the samples section. Although I can understand why the MSDN samples are generally just ‘here’s the API, this is the order … -
:
Back to the refactoring project
I’ve spent the last couple of days back with The Refactoring Project. They’ve done well in my absence. They managed 3 releases; all correctly tagged and repeatable. They started some refactoring of their own and, at first … -
:
Comment rot
There’s an interesting discussion going on on the ACCU’s mailing list at present. It’s about the value of comments in code. This is one of those topics that comes around every so often and this time I decided to dive in … -
:
Windows update should...
Windows update should let you flag updates as things you dont want. You should be able to add some text if you want; so it can remind you why you didnt want it, and say to it “don’t show me this one again unless I … -
:
Everyone there works on Word, I'm a bespoke tailor
Joe Bork explains why he now tells people he works on Word as a way of connecting with something people understand. I found that people seemed to understand what I did if I compared Word to a Moss Bros suit and then explained that I was a … -
:
Murphy's Law
This is a nice story about the birth of Murphy’s Law. Yes, there was really a Murphy… From the 2003 Ig Nobel prizes, via Barry. -
:
Does TDD lead to earlier integration?
I’m developing a POP3 server. I’ve been developing the protocol handler test first and it’s nearly done. I haven’t started on the mailstore itself yet but I could easilly integrate the POP3 code into the server code … -
:
Why objects should keep it on the inside
So, I’m integrating this POP3 code with my server and the first thing I do is create null message store. I haven’t implemented the message store yet, so in order for me to integrate I need a message store that just says yes to … -
:
Harvest Time
I had a bit of spare time today so I finished the POP3 server integration. It went nice and smoothly and I tested the result with telnet and Outlook. During the Outlook testing I noticed the ’this server requires a secure connection … -
:
I've got a brand new combine harvester and I'll give you the key...
The harvesting of the SSL server code took about an hour in all. It was simply a case of shuffling some code around, ripping it out of a project and into the library and then adjusting the original server and the POP3 server to suit. So, I … -
:
MSDN Reloaded
Wheee. I can throw all of my existing MSDN disks in the disk bucket and I don’t need to keep wondering which is the latest version. They’ve changed my subscription ‘for the better’… Hmm, it seems that now the … -
:
Exceptions are for exceptional situations
Like drumming up traffic to your site, perhaps? ;) On Monday Joel Spolsky wrote a controversial piece about exceptions; he hates them. Much blog cross linking and local discussion ensued. Today he’s followed that piece up with a piece … -
:
Tests and TDD in anger
This week we started to make some changes to the FX code. The existing code made some strange assumptions about some of the edge cases and the resulting display was occasionally inconsistent. We fixed that, and the tests saved us from a … -
:
Unexceptional examples
We’re going to run out of amusing titles for these exception related blog entries sooner or later… Joel wants Ned to rename the functions in his ’exceptions are better’ example. He wants InstallSoftware(), … -
:
Tangled testing?
Last night I started on my POP3 client code. I didn’t know where to start; I wasn’t really in the mood, so I wrote a test… That got the ball rolling. As usual the test first thing left me with a nicely decoupled class to … -
:
lessonOfTheWeek == !onesize.fits(all)
I’ve enjoyed the hoo har over exceptions this week. It’s made me think and analyse and reassess what I do. I’ll be continuing pretty much as before, but it’s worth spending the time to think about these things once … -
:
James Antill doesn't like TDD
And this is why I hate TDD, testing is a great thing. But testing too early is bad, and you are obviuosly doing that. First you need to know what your code has to do in full. For instance even if you wanted to have both sync. and async. … -
:
Dirty Little Secret: Test code is fun to write
I’ve been busy :( but it’s paid busy so I suppose I can’t complain… This evening I got some time to myself to finally sit down and see how hard it would be to use all of my previous test code plus the real … -
:
Sniff my packets!
Barry sent me an interesting link to a piece that points out just how easy it is to bypass wireless network security. I wonder if you can get a Bart Simpson shirt with him saying “Sniff my packets” rather than “Eat my … -
:
Way behind the curve
I know I’m way behind the curve with this, but… I downloaded Virtual PC from the MDSN subscriber downloads at the weekend. It rocks. I needed to try something out on a Windows 98 box and I didn’t fancy repaving one of my … -
:
POP3 Client almost complete
The test driven development of the POP3 client code is almost complete. The development proceeded in a similar manner to the server code and I’m left with the same thing to write; the message store… I was quite pleased that the … -
:
iPaq upgrade
Finally got the Pocket PC 2003 upgrade for my iPaq 3970. The upgrade went nice and smoothly and the iPaq feels quite a bit faster and everything seems a little more polished and easy to use. So far it seems that it was worth the … -
:
A sustainable pace
Ok, it’s that ‘wine’ time of the evening. Miche is working late, I’ve eaten and am close to finishing off a nice bottle of Pinot Noir and my thoughts turn to people being excited by refactoring editors… … -
:
I'd like a refactoring lint
So a refactoring editor doesn’t float my boat; a lint tool that warned me that there were bad smells in the code would… Right now I use Gimpel Lint as a code review tool. I run it, it tells me nasty things about the code, I … -
:
Dealing with the simplest things
The POP3 client is now complete. It can download messages from POP3 servers and store them in a message store. I’ve implemented a file system based message store that is compatible with the POP3 server code’s file system message … -
:
Bluetooth on XP
I never expected the Bluetooth sockets entry to be so popular … From the comments on that entry it seems a lot of people are having trouble with getting devices to work with XP’s bluetooth support. To help out a little … -
:
F Lock fix
Ok, I usually hate those ‘me too’ blog postings but… Here’s a “fix” for the fact that on Microsoft keyboards that have an “F Lock” key to change how the function keys work the default power … -
:
Filtering mail
Now that I can retrieve and serve it up again via a POP3 I want to do stuff to it in between retrieving it and serving it. The idea was to have a series of filters that get passed each message, Do Stuff ™ and either allow the message to be … -
:
The one where I dont use XML
So I have an email filter that can write messages to another mailbox. I need to supply it, and all other filters that I might write, with some configuration data. I could use XML but I dont… Filters are given an instance of an … -
:
Just enough RFC822
Second on my list of email filters was a filter that splits a ‘domain mailbox’ into several different mailboxes depending on the username that the email is addressed to. This is basically just an intelligent version of the … -
:
Rolling...
The first two filters were pretty easy. I was on a roll and the other filters were implemented just as quickly… Now that I could parse 822 addresses blacklists and whitelists were easy to implement. Some refactoring could be done to … -
:
Matrix Reloaded Revisited
We haven’t had time to go see Matrix Revolutions yet. Too much to do, too little time. We watched Reloaded on DVD last night and both enjoyed it much more than when we saw it originally at the cinema… I think we agreed that the … -
:
The Maytag customer service experience
We have a Maytag fridge and very nice it is too. However, sometimes it seems to be too cold and things freeze up. After far too long procrastinating and just excepting that cold was how fridges were supposed to be I called Maytag for … -
:
Bug hunt on the refactoring project
The refactoring project rolls on. Mostly it’s been more of the same so I haven’t bothered boring my reader with the details. This week we had an interesting bug to fix. The bug had appeared in a much earlier version, way back in … -
:
Promote a mock
I knew it would happen eventually… As mentioned earlier all of the email filtering code has been developed without any sign of a main(). Now that the time has come to create the actual filter program I found that I didn’t … -
:
Not a lot of coding going on
I’ve been really busy this last week. The building in which I live is having some issues with its managing agent. I’m on the board of directors for the “company” that runs the building and this week things finally … -
:
Edit my points
The refactoring project rumbles on but my time with it is drawing to a close. This week the currency traders decided that they wanted to be able to manually override the live data in some circumstances. They wanted to be able to edit a live … -
:
Mismanaging Agents
I still have my ‘director of the management company for a building of 78 apartments’ hat on. It seems to have one of those little straps that goes under your chin. I don’t seem to be able to undo the strap… I hope … -
:
Ski Weekend, Courmayer, Gressoney, Chamonix
We flew to Geneva last Thursday evening and skiied in Italy and France over the weekend. Just holiday snaps. We were travelling with Ski Weekend. They usually run you around the Chamonix resorts, but at this time of year there’s often … -
:
End of the refactoring project
My time working on the refactoring project has come to an end; at least for a while. Here’s a little look back over what we achieved. I’ve been working on the “Refactoring Project” for around 9 months now. I’ve … -
:
How times change
Today’s job is putting up the Christmas tree. That involves climbing around in our storage space “loft”. We didn’t use the tree last year, so it’s now got 2 year’s worth of stuff in front of it. I feel … -
:
Thinking, Discipline and Courage...
Wayne Allen asks why so much code is so bad? Why the majority of code, even new code, that he sees as a consultant is terrible. Meanwhile, Rory Blyth is complaining about “Paper bag” code. I think Wayne hits the nail on the head … -
:
Thought for the day
I have only ever made one prayer to God, a very short one: “O Lord, make my enemies ridiculous.” And God granted it. Voltaire From a comment in ESR’s blog. Given our current dealings with our building’s mismanaging … -
:
Retiring Princess Leia
A long time ago, in a galaxy far, far away… I made a contraption to enable me to strap a camcorder to my head whilst I skiied. As you can see, it wasn’t the most subtle of devices. Well, times change. I upgraded my camcorder …