Alan Dean

CTO, Developer, Agile Practitioner

Photograph of Alan Dean

Saturday, February 28, 2009

Working out a writing schedule

This is the top-level view of my book:

  • Introduction (20 pages)
  • Chapter 1: Introducing the Project (10 pages)
  • Chapter 2: The Product Data Store (20 pages)
  • Chapter 3: User Authentication (50 pages)
  • Chapter 4: Product Management (80 pages)
  • Chapter 5: Product Pages (50 pages)
  • Chapter 6: The Shopping Cart (100 pages)
  • Chapter 7: Checkout (150 pages)
  • Chapter 8: Personalization (100 pages)
  • Chapter 9: Deployment, Monitoring and Management (50 pages)

My next task is to work out a writing schedule to accomplish these chapters. This is my first book, so I am on a steep learning curve.

Aside from community commitments, I will be devoting my weekends to writing and my weekday evenings to preparation, editorial and revisions.

I will backload the Introduction and Chapter 1. Luckily Chapters 2 to 4 form an ‘up ramp’ in terms of page count, which I hope will allow me to accelerate into the writing rather than needing to be at high velocity from the start (an objective I would be unlikely to achieve). Another piece of luck is that the UK Bank Holiday season falls right in the middle of the schedule, just at the point where I have the largest pieces of work to accomplish.

So, thinking in units of ‘weekend’ my initial plan is as follows:

  • Feb 28 = Environment Prep & Ancillary Tasks
  • Mar 07 = Chapter 2: The Product Data Store (20 pages)
  • Mar 14 = Chapter 3: User Authentication (50 pages)
  • Mar 21 = Chapter 4: Product Management (80 pages)
  • Mar 28 = Chapter 4: Product Management (80 pages) [Open Space Coding Day]
  • Apr 04 = Chapter 5: Product Pages (50 pages) [DDD Belfast]
  • Apr 11 = Chapter 6: The Shopping Cart (100 pages) [Easter Bank Holidays]
  • Apr 18 = Chapter 6: The Shopping Cart (100 pages)
  • Apr 25 = Chapter 6: The Shopping Cart (100 pages)
  • May 02 = Chapter 7: Checkout (150 pages) [DDD Scotland], [May Day Bank Holiday]
  • May 09 = Chapter 7: Checkout (150 pages)
  • May 16 = Chapter 7: Checkout (150 pages)
  • May 23 = Chapter 8: Personalization (100 pages) [Whitsun Bank Holiday]
  • May 30 = Chapter 8: Personalization (100 pages) [Open Space Coding Day]
  • Jun 06 = Chapter 9: Deployment, Monitoring and Management (50 pages)
  • Jun 13 = Introduction, Chapter 1
  • Jun 20 = (manuscript)

A tough schedule, I know, but I really want this book out on the shelves by the time that PDC ‘09 rolls around.

Preparation for Book Screenshots

Wiley have sent me a bunch of preparation guidelines in order to produce printable screenshots. They made it easy by providing theme files for Windows XP or Vista, However, I’m using a Server 2008 in Virtual PC because I’m developing for Azure so I had to step through their guide and carry out the configuration manually. The end result is not aesthetically pleasing on-screen but I am assured that it makes for good print stock:

Anyway, if any other Wiley authors want to skip the manual process on Server 2008 then just put the following into a .theme file and double-click it:

; Copyright © Microsoft Corp. 1995-2001

[Theme]

; My Computer
[CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}\DefaultIcon]
DefaultValue=%SystemRoot%\System32\imageres.dll,-109

; My Documents
[CLSID\{450D8FBA-AD25-11D0-98A8-0800361B1103}\DefaultIcon]
DefaultValue=%WinDir%SYSTEM32\mydocs.dll,0

; My Network Places - SHIDI_MYNETWORK
[CLSID\{208D2C60-3AEA-1069-A2D7-08002B30309D}\DefaultIcon]
DefaultValue=%WinDir%SYSTEM32\imageres.dll,-25

; Recycle Bin
[CLSID\{645FF040-5081-101B-9F08-00AA002F954E}\DefaultIcon]
full=%SystemRoot%\System32\imageres.dll,-54
empty=%SystemRoot%\System32\imageres.dll,-55

[Control Panel\Colors]
ActiveTitle=0 0 0
Background=128 128 128
Hilight=0 0 0
HilightText=255 255 255
TitleText=255 255 255
Window=255 255 255
WindowText=0 0 0
Scrollbar=224 224 224
InactiveTitle=128 128 128
Menu=192 192 192
WindowFrame=0 0 0
MenuText=0 0 0
ActiveBorder=192 192 192
InactiveBorder=192 192 192
AppWorkspace=128 128 128
ButtonFace=192 192 192
ButtonShadow=127 127 127
GrayText=127 127 127
ButtonText=0 0 0
InactiveTitleText=192 192 192
ButtonHilight=224 224 224
ButtonDkShadow=64 64 64
ButtonLight=192 192 192
InfoText=0 0 0
InfoWindow=192 192 192
GradientActiveTitle=0 0 0
GradientInactiveTitle=128 128 128
ButtonAlternateFace=181 181 181
HotTrackingColor=0 0 128
MenuHilight=10 36 106
MenuBar=212 208 200

[Control Panel\Desktop]
Wallpaper=
TileWallpaper=0
WallpaperStyle=2
Pattern=
ScreenSaveActive=0

[Control Panel\Desktop\WindowMetrics]

[Metrics]
IconMetrics=76 0 0 0 82 0 0 0 82 0 0 0 1 0 0 0 245 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 144 1 0 0 0 0 0 1 0 0 0 0 84 97 104 111 109 97 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
NonclientMetrics=84 1 0 0 1 0 0 0 16 0 0 0 16 0 0 0 18 0 0 0 18 0 0 0 243 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 65 114 105 97 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0 18 0 0 0 243 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 65 114 105 97 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 0 0 0 18 0 0 0 243 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 65 114 105 97 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 243 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 65 114 105 97 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 243 255 255 255 0 0 0 0 0 0 0 0 0 0 0 0 188 2 0 0 0 0 0 0 0 0 0 0 65 114 105 97 108 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
PaddedBorderWidth=0

[MasterThemeSelector]
MTSM=DABJDKT
ThemeColorBPP=4

[VisualStyles]
Path=
ColorStyle=@themeui.dll,-855
Size=@themeui.dll,-2019

Book Cover Photoshoot

Now that I have a signed contract for my “RESTful Applications with Microsoft Azure” I went for my for my book cover photoshoot of the author portrait that is the Wrox ‘signature’.

This is the one that seems to be getting the most positive feedback:

These are the others that have been sent to the publisher:

Thursday, February 12, 2009

REST goes travelling

I am taking my “Separating REST Facts from Fallacies” on the road next week:

NxtGenUG at Microsoft Research Cambridge

Tuesday 17th February 2009 (map)

 

LondonDotNet User Group at Conchango

Thursday 19th February 2009 (map)

Tuesday, February 3, 2009

Community Code Spike

After the Open Space Coding Day last Saturday there were a number of discussions about how the event format might be improved. One of those discussions got me thinking about how you might combine the extreme programming practice of Code Spiking along with the collaborative style of Open Spaces.

So I decided that I would try out another experimental format, which I am going to call “Community Code Spike”. The recipe is as follows:

  • Get 6 to 8 developers together.
  • Pre-define a topic (fairly specific rather than generic).
  • One day to spike code

I was inspired by a conversation with Jamie Thomson to propose “working out what is the best way to abstract the DAL in a web application to make the business logic agnostic to being self-hosted or Azure hosted.” as the first spike topic – to be held at the MoveMe.com offices on 14th March at Buckingham Gate, London.

All notes and code will be checked-in to Google Code under the MIT license in order that the community has access to the output of the spike.

At the moment, I have 6 developers lined up:

  1. Alan Dean
  2. James Enock
  3. Jamie Thomson
  4. Simon Evans
  5. David de Florinier
  6. Yucel Evrimer

I suspect that 6 will be a good number for the event – I also think that it is the appropriate number for our offices (any more and we would need to find a bigger place to host it).

Like the Open Space Coding Day, this will not be a one-off event. On the other hand, it is a format that suits ad-hoc arrangements so I won’t be hosting it on a schedule. Instead, I will put together groups of people according to the topic ‘at hand’ based on what I know of their interest and work out what is the right date for that group.

If you like the idea – why not try it out yourself?

Monday, February 2, 2009

Open Space Coding in Amsterdam?

You just gotta love twitter.

During yesterday, there was a chat with Mendelt Siebenga and Kees Dijk who liked the sound of what we did in London from reading the twitterstream. They may put together an Open Space Coding Day of their own in Amsterdam. If this turns out to be a viral meme, then I will be a happy man :-) the more, the merrier!

Wrapping up the first Open Space Coding Day

I felt that the first Open Space Coding Day on Saturday validated my belief that if you get a group of geeks together who care enough, great things happen.

Some of the attendees have already posted about their experience:

People were twittering during the event as well:

 

The morning sessions that the attendees voted for were:

  1. Reusable build scripts
  2. Testability: HTML, JavaScript and ASP.NET MVC
  3. OpenRasta, including static reflection

The afternoon sessions were:

  1. Hands-on secure development with Barry Dorrans
  2. Learning F# and the Euler Project
  3. Using MEF

The concept for Open Space Coding is “all about doing, not about talking”. So, no PowerPoint slide decks and no speakers. People really seemed to take this emphasis on board and the atmosphere was totally different to other events that I have attended – it felt very ‘studious’ to me. Someone else described it to me as ‘collegiate’.

I took on the role of being ‘host-at-large’ during the day, checking in on the different rooms to see if things were running smoothly. This wasn’t onerous, but it did allow me to pass on effective practices that were being used in one room to other rooms. One takeaway is that next time, we need to have instructions beforehand on setting up access to the repository so that less time is lost wheel-spinning in the first 30 minutes.

The event repository is http://code.google.com/p/openspacecode/

Thank you to EMC Conchango for kindly hosting us for the day – it really makes a difference having a company who is so open to engagement with the community. Thanks also to Michelle Flynn for all her help. Conchango have a Microsoft Surface table, so at lunch there was a chance to play with this cool technology:

Of course, no geek event is complete without the social element and we adjourned to The George on Borough High Street after the event for a well-deserved drink.

I will be posting over the next few days about the feedback from the Retrospective and about other ideas that I would like to take community feedback about.