Archive for October, 2006

31 Oct 2006

Stephen King On Writing

1 Comment Uncategorized

A few weeks ago I finished reading a book by Stephen King on the craft of writing. I’ve never been a fan of Stephen King, nor do I plan on On Writingwriting a novel, but the book was very insightful and I enjoyed reading about the “craft of writing” a lot.

I’ve read one or two Stephen King books and found them to be pretty boring. I think his books read more like television than books. That may be their appeal. After reading On Writing, I have new respect for the man and his craft.

I’ve read a lot of books on writing. It’s an invaluable skill that is worth getting a professional’s perspective on.

Another very good book that I’ve read many times is On Writing Well by William Zinsser. Zinsser focuses more on non-fiction, but his philosophy is very similar to King’s–you must master the fundamentals.On Writing Well: The Classic Guide to Writing Nonfiction

Creativity alone will not make you a writer, at least not according to these two professionals. You must be able to use the language. Sentences should be complete (most of the time), pronouns should be clear, and superfluous adjectives should be removed. I’ve worked with writers before (well, they weren’t writers in profession as I was working with them), and I would love to know what they thought of these books.

30 Oct 2006

Security Photos

No Comments Uncategorized


I had to get my photo taken this morning for my new railcard. The dilemma is always the same: do I smile or not. I smiled big.

I hate it when people don’t smile for photos. In high school, the tough kids used to make stern intimidating faces for their yearbook photos. Now, in business, it’s middle managers.

I’ve worked in a few places where the identification photos was featured on a directory on the corporate intranet. Too many people looked like they should have a number plate below their chin for their mug shot.

Strangely, this trait only applies to men. Real men don’t smile for security photos, I guess.

30 Oct 2006

New Contract

No Comments Work

So today I started my new contract with a consulting firm. Funny thing, first days. You try not to seem a nuisance when all of your PC accounts and privileges are set up. It seems like a nice place and I’m looking forward to working on the cool project I’m assigned to.

The offices are located near London Bridge, close to the London Dungeon. It’s a nice area of London I haven’t really visited much.

25 Oct 2006

Busy, Busy, Busy

No Comments Work

I was doing really well with posting more regularly, but I got bogged down in loads of work recently.

Learning WPF is really a lot of fun. I’ve done the Microsoft learning courses and have started through Charles Petzold’s gigantic book on the subject (called Applications=Code+Markup). I’m really convinced that WPF will make a huge change in the way we use software in the future.

I’ve also taken on a contract (starting next week). I’ll be working for a London consultancy building MIS applications for another investment bank. I’ll give more details later (just in case it falls through at the last second).

I wasn’t looking for a project, but a friend called me about this one and it really took my fancy. I must be getting geekier–I wasn’t interested until he told me about the technologies they’re using. My CV wasn’t even up to date. I’m very excited about it.

So, in addition to the offshoring projects–I’m back into London to do some coding myself.

25 Oct 2006

TDD and the London DotNet User Group

No Comments Software Dev & Productivity

A week ago, I attended the DotNet User Group in London. I had never attended any of these events before, so it was a nice experience.

This developer event was held at the Microsoft House in central London in a room called the Swimming Pool. This room looked like an indoor pool with the audience sitting in the pool on pool-coloured carpet.

There were two speakers at the October meeting. The first speaker talked about a Dev Express object obfuscation application that was mildly interesting.

The second talk was about Test Driven Development. I’ve read about TDD before and tried to use Nunit many times, but because most of my applications were very much database-driven, it was difficult to write unit tests for (should I create and delete a record?). This meeting helped clear up some of my confusion about the issues. It was a very good talk.

I’ve written before about how beneficial the developer events are. This on was different that a lot of the other events hosted at Reading campus–it was less formal but appeared to have more die-hard developers in attendance.

If you get the chance, I highly encourage you to attend one of these events.

14 Oct 2006

Microsoft Learning has Free WPF course

No Comments C# Coding, Software Dev & Productivity

Microsoft learning has their WPF online course available for free. It will probably cost money at some time in the future after Vista is released.

The course is 6 hours long and pretty comprehensive. You might want to check it out:

https://www.microsoftelearning.com/eLearning/offerDetail.aspx?offerPriceId=109340

13 Oct 2006

WPF and XAML

No Comments C# Coding, Software Dev & Productivity

So I wrote yesterday a little bit about how difficult designing a GUI can be for a developer. We deliver the world of functionality, but get nagged about the font style. I once argued for hours with a business user whether a certain function should have been launched with a button or a hyperlink.

With Windows Vista, Microsoft will be releasing the Windows Presentation Foundation classes. These will be in Vista by default, but can also be installed on XP. WPF will be one quarter of the release being billed as “.Net 3.0″ (although you will find much debate on the web as to whether or not it deserves the label–it’s not really a new version of .Net).

WPF will add a new layer to Windows presentation. A new XML protocol called XAML (pronounced Zammel) will allow developers or designers to design GUI’s with a markup language similar to HTML.

If I want a button that says Click Me, the XAML would look like this:

<Button HorizontalAlignment=”Left” Margin=”122,194,0,228″ Width=”116″ x:Name=”btmMyButtonName” Content=”Click Me!”/>

By separating out the design from development, actual I’ve-been-to-art-school designers can develop GUI’s and developers can build robust systems.

If this was all that XAML could do, there would be a huge ‘so what’ factor, but the advances in GUI design are pretty spectacular.

One of the things that really used to bother me in the VB6 days was that every application we’d ever build would look that same. It was a square box with other square boxes on it. A lot of the time it was gray. We used to argue about whether to keep the system colours (and allow users to adjust the look of the form with their desktop theme) or jazz it up with some bitmaps and change the background color. Nothing we’d design would ever look like a cool app from the movies (Like, when someone gets an email in the movies, a giant envelope flies around the screen and opens up in front of them). Our apps were boring. .Net apps are that big an improvement. Although you can inherit the Form class and make a round form or something, it was more trouble than it was worth.

With XAML, the designer starts with a blank page and builds a GUI from thin air. He or she can easily change the appearance of all buttons, forms, listboxes, etc.

For designers, this would be as easy as drawing pictures on a palette.

Microsoft is releasing a suite of tools called Microsoft Expression. The three tools in this suite include Graphic Designer, Interactive, and Web Developer.

The Microsoft Expressions Graphic Designer application is basically a paint programme like Photoshop or PaintShopPro. The only difference is that it will export Vector graphics in XAML format which can easily be loaded into Expressions Interactive.Interactive Designer

Expressions Interactive Designer is an application that allows the designer to build GUI’s with a WYSIWYG editor. This produces the XAML–including mouseovers, button clicks, etc.

The third tool in the suite, “Web Designer”, is used for Web applications. (obviously).

I’ve always prided myself on being an HTML guy. I don’t do WYSIWYG. I’ve never trusted WYSIWYG-generated code to render consistently in all browsers. However, I think I will go the Expressions route when building XAML. Since we are talking single platform–single runtime– I see no reason not to use it.

I’ll save a post for Microsoft Expressions for another time. If you want to see Microsoft’s official Expressions website, click here. I’ve downloaded RC1 of the software and don’t have any problems with it so far.

12 Oct 2006

The Trials of GUI Design

No Comments Software Dev & Productivity

I’m a sucker for GUI design.

I know a lot of developers (especially non-Microsoft developers) who consider GUI design to be the worst part of a software project. It’s not difficult to see why. Imagine spending months working on a project–making sure everything works the way it should. You make sure that users can’t enter any illegal data, the application fails gracefully in a server outage, and it can hold the maximum amount of users. You also design the GUI so it is the most logical and user-friendly features.

What do UAT testers say to your Herculean efforts?

“I don’t like the font.”

They don’t like the font.

A two-minute afterthought on your part (“Should I use Arial or Times New Roman?”) and that is what they pick up on. “Yeah,” you recover, “but just go ahead and try to break the system. This thing is water-tight, baby!”

“Can’t we just change the font first?”

It is soul destroying, let me tell you.

I personally like GUI design, despite the criticism. Nothing feels better in a project than having the creative freedom to improve the user experience. When deprived of the freedom, it drives me crazy.

When I was at BBC, the development projects were divided into Designers and Developers (I was on the developer team). Designers would whip out cool looking graphics and html using Photoshop and Dreamweaver on their Macs (without having a clue as to how the application works in the background) and send the html and graphics to developers to add the plumbing.

For web applications, this division of developer and designer worked fine (well, it worked okay), but for desktop applications this was not really possible. Aside from sending screenshots to developers, there was little that could be done besides a developer trying to mimic the screenshot in the GUI (“You got the font wrong.”).

But now that all looks set to change with WPF in .Net 3. WPF, or Windows Presentation Foundation, is a set of libraries allowing an application present its GUI using a markup language with .Net 2 code facilitating the plumbing. Designers can use the Microsoft Expressions suite (a WYSIWYG XAML editor) to produce a GUI that developer can attach to their applications. Better yet, rather than waiting for designers to deliver the goods, developers and designers can work on the same project concurrently.

This post is going longer than I intended it to, so I will write more tomorrow about this. I’ve spent the last few days playing with XAML and Expressions Interactive Designer and am convinced that the era of GUI design is going to change quite a bit in the next few years.

09 Oct 2006

Nike+ Sensor for the Ipod Nano

2 Comments Miscellaneous Rants

When I left BNP Paribas, my wonderful colleagues bought me an IPOD Nano. This is something I never would have bought for myself, so it was perfect. I love it and run with it all the time.

This week, I tried out the new Nike+ Ipod sensor this week. This cool little gadget tracks your runs and allows you to listen to music at the same time.

A couple of months ago, Apple and Nike teamed up to produce the Nike+ running music system. This includes the IPOD Nano (which is perfect for running since it uses flash memory instead of a hard drive), a special receiver which attaches to the base of the Ipod and a small sensor which sits in the sole of a special Nike+ shoe.

ImageThe sensor in the shoe is picked up by the receiver in the Ipod and tracks your distance, calories burned, current speed, etc. By touching the centre button of the Ipod while running, you get a male of female voice give you a status report (ie. “Twenty-three minutes. Distance: 2.43 miles. Current Speed: 7:13 minutes per mile.” When you sync up your Ipod with iTunes at the end of your run, your workout details are uploaded to a secure page on the Nike website which tracks your running history, speed, etc. You can also, they say, challenge someone else to a distance race on the other side of the world.

This technology has been around for about a month or so. The sensor kit itself only costs about £20, which is not too steep if you already have the Nano. The real cost is the special Nike+ shoe that is “required” to use the kit. This little gadget ensures you are stuck with Ipod and Nike for the rest of your life.

However, after doing some web research, I found articles detailing how to use the sensor with Non-Nike+ shoes. It involves putting some Velcro on the tongue of your shoe and the the sensor and placing it under your laces. I’ve done that to my Nike (but non-Nike+) shoes. It worked great. The distance reported was very accurate and I found it alarming how slow my running speed was at times. For the base sensor kit, I got all the bells and whistles without the expensive shoes.

If you’ve found this post because you want to know if the velcro method of attaching the sensor works or not, I can attest that it does. It works very well. Now, I’m listening to music or audio books and keeping track of my miles accumulated.

I highly recommend the Nike+ Ipod sensor (but not the shoes).

You can buy the sensor from Apple Store. http://store.apple.com

05 Oct 2006

Chat Etiquette

No Comments Bumblings

I don’t know very much about chat etiquette. I can hold a normal conversation just fine. Email is easy enough. But the chat, that’s something all new to me.

Instant messaging is a great tool. It serves as a nice half-way point between email and phone call. I use it a lot for Overpass business. If I need to send you a message to say something like “Feel like going to lunch?” or “Are you watching the news right now?” then text chats are great. I don’t want to interrupt you with a phone call if your busy, but I don’t want to wait for you to check your email when it’s too late.

But when someone starts a chat message through Skype, MSN, or Yahoo and talks forever–I want to ask them for a voice conversation. I don’t like typing something and watching the “So-and-So is typing reply . . .” in the status bar. I start to get overly critical of their typing speed.

I often answer questions while they are typing new questions, which gets confusing.

There also seems to be no clear way to end a chat.

Otherperson: I’d better get going.

Me: Me too. See ya.

(I think it should end here, right? Close the chat window, but it pops up again)

Otherperson: Bye

Me: Bye

Otherperson: Have a good weekend.

Me: You too.

Otherperson: See you later.

Me (exasperated): Okay. Goodbye!

You see what I mean? It just goes on and on. I’ve spent twenty minutes in a chat conversation where my mind starts to wander and I surf while waiting for the other person to type a message before seeing “Otherperson: Are you still there?”

The needs to be chat rules. Anyone know of any?