Friday, July 30, 2004

Monday's post will be for newcomers

Just some advance warning that Monday's post will a bit on the elementary side for regular readers. Shortly after I post on Monday I'll be emailing all my friends, family and co-workers and providing them with a link to this site who for the most part don't know of it's existence.

Monday's post will try and answer some of their questions about what I'm doing and why I'm writing it all down here for everyone to read.

It's actually going to be a fairly significant milestone. Before now if I'd changed my mind and decided to go back to my day job, not many people would have been the wiser. From Monday onwards though just about everyone I know will be aware of what I'm doing. If I back out after Monday there's going to be a lot more people I'll have to explain myself to.

Thursday, July 29, 2004

Build it

While I've been doing this documentation and modeling I've been making some decisions about putting in place a build process. Central to this process will be FinalBuilder an automated build tool that I purchased recently. FinalBuilder has a graphical interface unlike open source tools like Ant which require you to write a build script by hand so to speak. It's very highly regarded and has been given great reviews by Joel Spolsky on his website and Mike Gunderloy in his recent book Coder to Developer.

I've only just started using FinalBuilder but already I've been able to make quite a sophisticated build script. The list of third party tools that FinalBuilder can automate is impressive and quite fortuitously everything I use is on that list.

Up until now I haven't really had call for an automated build routine and release management. All the software I've written for clients has been custom software where the latest release is the only version in use at any one time. My build routines have been manual processes since they involved only a few steps and weren't repeated very often.

Sydney will be a different kettle of fish to what I'm used to in this area. As soon as I release the slightest update to the originally shipping software I'm going to have to deal with release management issues. Two references I've found especially helpful in preparing the early fundamentals to support this are Luke Hohmann's Beyond Software Development which includes a great chapter on release management and Coder to Developer which I mentioned earlier and has extensive notes on version control and automated builds.

A goal I've set myself as part of my release management strategies is to be able to reproduce an exact replica of any build that I have previously publicly released. Being able to do this will mean that I'll be able to properly investigate bug reports for earlier versions, and then confirm whether or not the bug exists in the latest version.

If I use my main development machine to build these public releases as soon as I upgrade a third party library or update my compiler it won't be possible to reproduce the exact same version any more. I might be able to retrieve my code as it was for a prior version but there will be subtle (or perhaps not so subtle) differences in behaviour caused by the changes in library and compiler versions.

Some people get around this by storing everything in their version control system, third party libraries and even tools and compilers. I considered this approach but but decided against it. The time required to prepare, test and maintain such a setup would be too great to justify this approach.

What I decided to do instead was to continue to do my day to day development using my regular development machine but to compile all my release builds on a dedicated build server. By using a dedicated build server I can configure and reconfigure it as required to match a particular release without interfering with my development machine.

Build servers aren't anything out of the ordinary but my build server is a little different in that it's actually a VMWare virtual machine rather than a physical machine. On that VM I have installed Win2k, Delphi, StarTeam version control, Help and Manual and Finalbuilder.

I won't be doing any developing in that build server virtual machine. Rather when I want to produce a build I will load the VM and use FinalBuilder to retrieve the latest source code from Starteam. FinalBuilder will then build the project, run unit tests, create an install file and upload the new version to my website.

After I build and release a new version I'll then copy the whole VM file to a DVD and file it away. If at any point I need to rebuild a past version, I'll go to my archive of build server DVDs, copy the VM file back to my machine, and then use the exact same build server that built the original to rebuild the release. This way I won't have to worry about maintaining third party code in Starteam or manually setting up different versions of third party libraries.

So I now have my first build server VM up and running ready for the first public release of Sydney. When will that be? I'm not too sure but let's just say there's plenty of time to refine my FinalBuilder script between now and then.

Wednesday, July 28, 2004

Model this

An interesting announcement from Borland, especially as I've been doing some documentation and modeling over the last few days. Borland are releasing a free edition of their well-regarded Together modeling product called Together Designer Community Edition. I'm downloading it now, all 60MB over my dial-up link.

I'm not too sure exactly what it contains but I think this community edition is a straight modeling tool and doesn't include any code generation or reverse engineering features like the full Together product. Still a straight modeling tool would fill a gap in my current toolset. I'll let you know how it goes tomorrow.

Tuesday, July 27, 2004

Write on

I've been doing some documenting of my Sydney code for the past two days. I've mainly been using Notepad for this (I'm a plain text junkie) and now I've got about a dozen small TXT files on different topics.

That's fine for the time being but I can see that I'll need something more structured before too long. Even though I'm working on developer rather than end-user documentation it's important that I write the documentation with others in mind to ensure that it's understandable to myself and others a few months from now.

Writing the documentation in HTML seems the logical choice. It has most of the advantages of plain text and allows for navigation between documents and improved document structure.

What should I use to write the HTML documentation though? There are plenty of HTML editors out there, but I'm after an HTML word processor more than just an editor.

I could just continue to use Notepad but really I've got better things to do than close my own tags. I use (and like very much) TopStyle Pro for writing HTML but that's when i'm writing web pages, not documents. Like most HTML editors it makes for a poor word processor.

So why not use an actual word processor then save the text as HTML? MS Word has supported exporting to HTML since Office 97 but the HTML it creates is far too complex and bloated to really do anything useful with.

Maybe there's a simple word processor that out there that can create simple HTML files. If you know of one please let me know.

I was just about to resign myself to writing the documentation in Notepad then manually converting it to HTML using TopStyle when I remembered I had a copy of Help and Manual tucked away on my hard drive. I won this help file generator program a few years ago at an ADUG conference but I've never used it. Looking at it more closely it supports Winhelp, PDF, HTML help and straight HTML as well as several other formats. Any of the formats can be generated from the same text meaning that I could write my documentation once and then easily produce HTML, PDF and WinHelp versions. It even functions as an adequate word processor so I could use it not just as a publishing tool but as a editing tool too.

At the moment it looks pretty good but there are a few problems with it. Firstly it's strictly a single user program. If I ever involve someone else on this project only one person could ever be writing documentation at a time.

Secondly it stores it's data in a single proprietary binary format file which means it can't be "diffed" easily and will take up quite a bit of space in my version control system as it is modified.

And lastly although it supports styles within the word processor of the program it doesn't convert those styles to CSS when it creates the HTML. I guess this isn't a big problem but it annoys me to see all those font tags when CSS styles could be used instead.

So Help and Manual looks like it will make a pretty good documentation tool for the time being at least. If you know of something better suited to producing HTML documentation I'd be interested to take a look. If it's cheap I'll consider using it now, if it's not so cheap I'll keep it in mind for when I outgrow what I've currently got.

Monday, July 26, 2004

The world of high finance

I recently posted my new weekly personal spending budget

Trains, buses and taxis$30
Gas and electricity$5

The good news is that for the past three weeks I've by and large managed to keep to that budget, coming in $11 under in the first week, $4 under in the second and $21 over in the third. If it hadn't been for a spur of the moment $30 gift purchase on Friday that put me over budget I'd be sitting on a juicy $24 surplus right now.

A juicy $24 surplus.

I haven't referred to $24 as a juicy amount since I was a kid working at McDonalds.

I was also given a $30 CD voucher the other day and I'm really looking forward to using it. A few years ago I was buying 2 or 3 CDs a week, now I have to make do with gift vouchers.

It's quite a novelty being poor again. I do wonder how long that novelty will last though.

Sunday, July 25, 2004

What does that "R" stand for?

Documentation should never take a backseat no matter what the reason. How much easier would the life of a programmer be if this was the mantra of all programmers, including themselves?

It's been almost 2 months since I did any serious work on Sydney. I made the decision to shelve it temporarily to let me focus on finishing up at my day job. Once I left the day job I was kept busy servicing other business clients and organising the home computer help business.

This week though, I have very little on my plate and will be devoting the time almost entirely to recommencing the development of Sydney. That is once I work out what I was doing 2 months ago. I've spent a few hours this weekend looking at my code and although I think it's good, there's definitely room for improvement in the developer documentation area.

I guess the fact that I was squeezing it in before going off to my day job provided me with an excuse to not follow my own documentation standards quite so closely. Sydney currently consists of quite a few class hierachies and seperate projects. Individual classes and methods are reasonably well commented but their interactions are not. I'm having to relearn the structure of the program by stepping through the system in the debugger. Luckily I do have a reasonably good suite of unit tests which illustrate the most external interfaces of the system, leaving me to rediscover only the internal interfaces.

It looks like the first two or three days of this week need to be devoted to properly documenting the existing code base. Nothing too flash, some hand drawn sequence diagrams and a few more class diagrams will probably suffice. At the end of the week if I've got some time on my hands I might transfer a few of the most relevant ones to Modelmaker or Visio.

What about the mystery "R" I hear you say. The "R" in question formed part of the name of each of the seperate project executables. The project executables of which there are many currently all have acronyms for names that describe their function. For the life of me though I could not remember what R stood for in these acronyms. I even went so far as to go to the dictionary and start reading through the R's to try and jog my memory.

Of course it came to me when I least expected it. The "R" stands for RemObjects which is the remoting library that Sydney currently uses. It's included in the name in case I ever get so far as to implement a "D" version (DCOM) or a "C" version (CORBA).

Naming conventions are no good unless you can remember what they are. Documenting that project naming convention will be number one on the list for tomorrow, as long as I remember what "R" stands for come the morning.

Friday, July 23, 2004

What do I do?

I've just got off the phone from a teleconference with Leah, my business coach and some of her other clients. The topic under discussion was being able to decisively answer the question "What do you do?" when it arises in business and social settings. It was a good discussion, a bit wishy-washy at times for a techo like myself but I did come away with a better answer to that question.

Usually when I'm asked "What do you do with yourself?", I tend to umm and arr for few seconds while I consider my answer. Usually it's because I'm wondering which of the three different aspects of my business do I tell this person about. At present I keep these three aspects, the development of Sydney, the business consulting and the home troubleshooting quite separate. Those associated with one aspect usually know very little or nothing about the other two.

This may or may not be the best way to manage things, I'd have to say I'm undecided about it at present. It has prevented me from decisively answering the "What do you do?" question though.

During the teleconference the point was made that there is a common thread running through all three businesses and that is software. In the business consulting and home computer troubleshooting I'm primarily dealing with software, installing it, writing it, configuring or troubleshooting it. I do limited work with hardware but usually the hardest thing about installing a new piece of hardware is configuring the OS and the software for it.

So my answer to that question I guess could be something like

"I work with software primarily. I write my own software and install, configure and troubleshoot other people's software."

Seems like quite a good response to me. I like it better than saying I work in computers or IT which are impossibly general and real turn offs to some people.

Any thoughts?

Thursday, July 22, 2004

Happy New Financial Year (Part 2)

In my last post on this topic I spoke a bit about my financial situation, both business and personal, and what sort of measures I needed to take to be able to sustain myself over the next 12 months or more. I discussed how long I could last on the cash reserves I currently have and my current spending patterns. Since then I've finalised my budget and have begun forcing myself to stick to it.

In preparation for this over the past six months I've dramatically reduced my expenditure both on the business and personal sides. The biggest savings came from selling my car and moving out of my rented office. I do miss the office space but I'm doing pretty well without the car.

About the same time I also substantially reduced the wage I pay myself to become more accustomed to making do with less. I think this is one of the better moves I've made. While I've quite often overspent my budget during the past 6 months, I know why I have and now that the need to keep to that budget is more pressing I should be able to stick to it.

In my previous post I averaged my personal spending over a 6 week period and discovered that I was spending roughly $160 per week on miscellaneous expenses. Primarily these were cash transactions that I really couldn't account for. Since I was overspending my personal budget by about $70 a week they were the obvious thing to look at reducing.

My idea to try and reign in that miscellaneous spending was to make myself more conscious of exactly how much I've spent that week. When you can just keep going back to the ATM for more money, you can easily go over budget very quickly. So instead I'll make one visit to the ATM just after pay day and withdraw $90 in cash. That $90 will have to last me the whole week, and will pay for all my beer, movies, eating out, CDs etc etc. I won't allow myself to return to the ATM until the following week, no exceptions... well very few exceptions.

That $90 won't stretch very far so when I'm buying groceries or buying weekly bus and train tickets I'll use EFTPOS or my credit card. Since those costs are reasonably regular and don't tend to vary there shouldn't be any overspending issues with using my cards for those.

So here's my new personal budget dividing up my $325 per week. It needs a bit of work in the utilities sections but I'll do some further calculations when next bills arrive.

Trains, buses and taxis$30
Gas and electricity$5

If you're ever in a position of having to follow a strict personal budget I strongly recommend you just lump all cash transactions together and don't worry too much about them. Recording cash transactions is just too hard. You can never keep up, you always forget half of the transactions and you're continually making stuff up to try and compensate.

Just count how much money is left in your wallet once or twice a week and enter the difference into your personal accounting software under Miscellaneous. Pay for everything non-trivial with EFTPOS or credit cards. Your bank statements will then become a record of all your important spending which you can easily enter into your accounts.

We have a customer

That 15 minutes I spent delivering leaflets along my street last night has really paid off. I've just spoken to my first potential customer, he wanted a quote on getting his computer fixed. Something about IE6 not running anymore after he deleted some files a few weeks back. I told him I couldn't quote the job over the phone but that I do have a maximum charge which he was very pleased about. We couldn't find a time for this week to fit in with his schedule so he's going to ring again next week.

So that's a 1% success rate after the first day. From my limited knowledge of direct marketing that's a pretty good start.

The best part about it though is that this guy obviously lives on my street. More jobs like that please.

Wednesday, July 21, 2004

Work that footpath

I'm just back from distributing the first lot of 100 leaflets. It's a drop in the ocean that didn't even cover my own street but I'll do some more each afternoon for the next few weeks.

I'm starting at my house and working my way out in a slowly expanding circle. I don't want to have to travel far so hopefully the circle doesn't expand too much. When I get the amount of business I need I'll just stop distributing leaflets. I don't expect any calls or emails tonight but it would be nice to get one or two in the next week.

Today is the day

One week (and a day) late I'm ready to roll with the launch of my part time home computer troubleshooting business. The delay was mainly caused some unexpected work requests for my business IT consulting clients. I don't have too many of those clients, a legacy of focusing too much on a single major client, so I have to keep the one's I do have happy.

So here's the task list and how each is looking now.

  1. Register a business name
    This turned out to be unnecessary.

  2. Register a domain name

  3. Design some advertising material

  4. Develop a basic website

  5. Start up a relationship with a local hardware supplier

  6. Be able to accept payment by credit card or EFTPOS
    Organised but waiting on the bank

  7. Organise an answering service

So aside from accepting credit cards I'm good to go.

This afternoon I'll do a small print run maybe around 200 leaflets, and start distributing them between 4-5pm. At that time of day I'm hoping they'll sit on top of everything else in the letterbox and there won't be anything else to go on top of them before people get home and retrieve their mail.

The leaflet features the website address quite prominently so I'll use the website traffic stats as a rough guide to how many people find the leaflet interesting. I don't expect much but it would be good if say 2-4 potential customers come and take a look at the site soon after the first drop.

If you're curious about the website it would be good if you didn't go there for a few days as it will make it difficult to work out who's a potential customer and who's a blog reader. Here's a screen dump if you're really curious to see it. It's not much at this stage but it will for the short term.

Tuesday, July 20, 2004

Today was also supposed to be the day

On the train this morning on my way to visit a client I wrote what was to be today's blog entry announcing the launch of my part time home computer troubleshooting business. I was going to visit this client in the morning then return in the afternoon to put my plan into action.

Seven hours later I'm just home from visiting the client and the plan will have to wait until tomorrow. I'm starting to wonder if I've given up one day job for another. I shouldn't be too hasty though, this sudden upswing of work is bound to be temporary. Soon enough I'll be poor, underworked and able to immerse myself in Sydney I'm sure.

So tomorrow's the day, if I can get back in time from the visiting two clients I've got booked in already. At least I've got the blog entry written in advance.

Tuesday, July 13, 2004

Today was supposed to be the day

Today was my goal to be ready to launch my part time home computer troubleshooting business to help pay my rent and buy my groceries while I work on Sydney. Unfortunately I'm not ready. Here was my task list and how much progress I've made on each.
  1. Register a business name
    This turned out to be unnecessary.

  2. Register a domain name

  3. Design some advertising material

  4. Develop a basic website

  5. Start up a relationship with a local hardware supplier
    Partially complete

  6. Be able to accept payment by credit card or EFTPOS

  7. Organise an answering service

Hmmm... still 3.5 tasks to go.

The good news though is that I've been getting a lot of work from business consulting clients these past two weeks. My next time until bankruptcy countdown should be quite a bit healthier.

I've got to get on top of these tasks though. Sooner or later the business clients will become scarce and I'll need this part time income source established. I think I'll go to the bank today and see about setting up payment facilities for customers. Then tonight I'll try and get the rest of the basic website functionality set up.

As for the advertising material, maybe I'll be able to have it ready to start distributing Friday afternoon. If I miss Friday though, it will have to wait until next Tuesday. People's letterboxes get pretty full over the weekend, I want to minimise the chance my pamphlet will get lost in all the real estate and restaurant advertising.

For now though it's off to set up a network for a local business. One day soon, I just know I'm going to get a chance to write some code for Sydney again.

Monday, July 12, 2004

Finally the domain name

A few days ago I registered the domain name to be the website for my part-time beer and movie money business.

I went with my initial idea despite having received negative feedback for the name from some of you when I asked for your opinions 2 weeks ago. My apologies if you feel I wasted your time, but I did very seriously consider your suggestions straight after posting my "I am lazy" confession.

In the end I made an emotional decision which I believe also has some reasonably sound reasons behind it also. Here's why I think it's a good name for me:

  • I feel comfortable with the name. Some of the suggestions were a bit too assuming for me and also for the Australian character. A name with hero or genius in it just wouldn't go down well here.
  • It's a proven entity. I used it about 10 years ago when I was putting myself through Uni and worked well then.
  • It's approachable. Speaking with Leah she voiced the opinion that it conveys the casual image that I want for this part-time business.
  • It doesn't matter so much that it's long. If someone is typing the URL into their browser they will have a pamphlet in front of them that I've stuffed into their letterbox. That's the only form of advertising I'll be doing so I don't really need to worry about the recall factor of the name.

Interestingly the domain name has been registered also. New Zealand is close enough that I wonder if whoever registered the name ever lived in Sydney and received one of my original "Trouble with your computer" pamphlets in their letterbox back in 1994-95?

Once again thanks for the suggestions, even though I didn't go with them it was greatly appreciated.

Sunday, July 11, 2004

Happy New Financial Year (Part 1)

As of July 1st it's a new financial year here in Australia. Seeing as that's also coincided with the end of my day job, it's a good time to revise the budget for the next 12 months.

I've wondered how much detail to provide on this topic. Cash flow is the number one issue for a startup business and so vital to my discussions here but it is also quite private information. That said, I really I don't care if people know how much money I'm making, especially since I've made it no secret that the answer to that question is "not a lot". It's a deliberate choice I've made and so far I'm very happy with that choice.

So I've decided to talk about it and to post a fair amount of detail about both my business and personal finances. Since the business finances are a bit complicated I'll make it really simple and just state how long it would take before the business was bankrupt if there was no income coming in. The personal finances are nice and simple so I'll just talk about the actual dollar amounts.

The business finances

I think I've previously mentioned that I have a few months worth of expenses saved up. I won't mention the exact amount but as of today the business has enough cash reserves to pay my wage, the office portion of my rent and other expenses for approximately 9 weeks which is around the beginning of September. That sounds pretty grim but remember it assumes that I receive no further income whatsoever which won't be the case. It is the worst case scenario though so that seems like an appropriately pessimistic way to measure the health of the business.

My personal finances

When it comes to personal expenses I'm going week to week. There's no personal nest egg I can access although I can draw more from the business in emergencies.

I currently pay myself $325 per week after tax which is a very big drop compared to what I was paying myself 12 months ago. For those who aren't Australian the average weekly wage here is $948 per week ($722 after tax), unemployment benefits are $195 per week and a Big Mac costs around $3. I'm a single guy with no financial commitments which is really the only reason I can get away with such a comparitively small weekly wage.

So that's the income side of things, now for the expenses. For the last 6 weeks of the previous financial year my personal expenses averaged $394 per week. That's quite obviously more than I'm paying myself, $71 more, so something needs to be done.

Here's the breakdown of that $394 per week, see if you can spot where I'm planning to reduce my spending.

Trains, buses and taxis$21
Bank fees and interest$13

The miscellaneous category which is largely the money I spend on entertaining myself is the obvious candidate to make cuts to. Those bank fees are higher than I expected though. I'd rather spend that $13 on miscellaneous items like beer and movies than contribute to another record profit for the National Australia Bank.

I'll leave this for now and continue it later by properly defining my personal spending budget and laying down some strategies for sticking to it.

Monday, July 05, 2004

I am lazy

My name is Lachlan Gemmell and I am a lazy man

I feel better now.

When a programmer publicly proclaims their laziness it's usually an excuse to preach about best practices such as code reuse.

Fear not, you'll find none of that here. I'm just straight out lazy.

It's kind of an unfortunate trait for an entrepreneur to have. Ambition and drive probably top the scale for desireable traits in an entrepreneur and alas I appear to have only one of the two in abundance.

I was supposed to be well on my way to organising my part time home computer help business by now. In my last post I said I was going to consider the feedback I'd received on a business name and make my decision on Monday. Well over a week later I haven't even got around to properly looking at the suggestions that were given.

I have been busy though and therein lies the paradox. When I'm working for somebody else, as I have been with clients this week, I'm very conscientious and hardworking. When it comes to doing my own projects I waste hours just sitting in front of the computer, finding excuses not to get started. It's a shame I have this need to create my own business, I'd probably be a model employee otherwise.

So what am I going to do it about it?

Firstly I'm going to lighten up a bit, but only a bit. It's 13 days since I left my day job of around 8 years, and I guess a few days of idleness immediately afterwards aren't the end of the world. A few days is enough though. One thing I'm going to be short on in writing Sydney is time. Time to devote to writing the project and time until my savings run out. I need to create an alternate source of income that leaves me plenty of time to devote to Sydney and lengthens the amount of time it will take for my money to run out. So it's time to start working again.

So, I currently pay somebody to help stop myself from procrastinating like this. Leah, in the week or so since I last spoke to you I've done very little of what we had planned. Roughly half my time has been taken up with hours billed to clients but the other half I've wasted. There's still a bit more than a week until the date we planned for the launch of the part time home computer help business but I'm well behind where I wanted to be at this point.

OK, that's the bat-signal activated and illuminating the night sky. Now what am I going to do to help myself.

I'm not too sure.

I've tried to sort myself out in this regard several times before always with very limited success. So I guess I'll just try a little harder this time and throw a few different techniques into the mix and see how I go. The two main things I want to do are to capitalise on my strengths and try minimise the influence of my weaknesses.

Here's what I'm good at

  • Working "on the clock"
  • Maintaining focus for extended periods
  • Getting up in the morning

Here's what I'm not so good at

  • Starting work and
  • Ignoring distractions
  • Keeping my office organised
  • Working late

My first strength, working "on the clock", means that when I'm working for somebody else there's no goofing off. As soon as I clock on, using my billing software, I'm make sure that I keep working right up until I clock off.

I think I'll maximise that strength by recording not just hours billable to clients but to recording almost all my hours on any work related activity. Even though I won't be billing for the hours I spend on Sydney, I'll be clocking on and clocking off and at the end of each week I'll know exactly how I spent my time.

Next on the strengths list is being able to maintain focus for extended periods. By extended periods I mean around 5-7 hours without interruptions or breaks. As long as I'm not interrupted my concentration levels are high and my productivity is good. Working in these extended periods is my preferred way of working so I'll favour them over smaller blocks of time.

The last strength I can think of at present is getting up in the morning easily. This hasn't always been a strength, in fact I think I've oscillated between being a night and a morning person a few times in my life. At present though I'm a morning person and as soon as I jump out of bed I can pretty much start work if I want to. The danger is that sometimes I start work straight after getting out of bed, go into one of my 5 hour extended work periods and then have breakfast around midday. Probably not the best way to work so I'll need to be a bit more conscious about starting the day properly.

Now we come to my failings. Top of the list is that more often than not I simply cannot start working on a project. When I sit down at the machine I let myself get involved with emails, newsgroups and blogs before anything else and then before I know it it's nearly lunchtime or time to leave for my next appointment.

The simple answer there is to just start work straight away without checking my email and blogs. Easier said than done but I think I'll just have to try harder.

An inability to ignore distractions was my next bugbear. Once again email, newsgroups and blogs are big culprits here along with telephones, radio and television.

Willpower again has to play a big part but I've also done a few things to make it easier. Firstly my TV aerial broke and I deliberately haven't got it fixed. Life without a TV is surprisingly easy but I might talk about that another time. Telephones will be a special case, I need to minimise the amount of calls I receive but I want business clients to still be able to ring me. At this stage when I launch my home computer help business I won't be providing my direct telephone numbers to home customers. As for reading email and blogs I think I'm going to check only them at designated times of the day and place strict time limits on both.

Keeping my office organised... I'm really bad at this. I should put things away as I use them but of course I don't and so they pile up. That's not too bad though, I could just do a big cleanup every so often. Well I could except that I hate cleaning anything. This gets me into the situation where I can't start work because my desk is a disaster area but I won't clean it up because I can't bring myself to do it. I'm really not too sure what to do about this one. My current idea of clicking my heels together and reciting "there's no place like home, there's no place like home" has so far failed to improve the state of my office.

Last on my list is working late. Not too much to say here other than that since I don't watch TV anymore and I have trouble working in the evenings I think I'll just go to bed early as often as possible. Not as early as I was a few months back but definitely no later than 10pm if I can help it.

Oh and I guess writing shorter blog posts would save a bit of time too.