Posts categorized “MicroISV”.

Never Check Your Email First Or Last

Never Check Your Email First Or Last at LifeDev

I’m really bad for this, and have been for a very long time. Even though I once announced my new regime would include not checking email first thing so that I could concentrate on getting stuff done, it wasn’t long until I slipped back into the habit.

At the time I was working for only myself, at home, and so had the flexibility to manage my own schedule throughout the day, but these days I don’t have that luxury any more, now that most of my day is spent on someone else’s budget.

So I don’t see anyway that I can keep things responsive for my customers unless I check my email and forums first thing in the morning while eating breakfast, as otherwise I can’t check until lunch time. I’ll have to keep the habit of checking email first thing for now.

Checking email last thing at night is also a habit I’ve acquired over the years, and it affects me just as described by Glen, it tends to take much longer than “just a couple of minutes”, drastically eating into my much needed slumber time.

This one I can and should tackle, from now on I’m going to close down my email client, news-reader (another bad habit along the same lines), and web browser long before finishing up on any work I might be doing in the evening. I will not be opening said offending apps until morning.

No more “I’m just going to check my email” before going to bed, it can wait until I’m fresh and rested from a good night’s sleep.

Mac OS X Server Admin app bug + SORBS = undelivered mail

Last week I had an “Undelivered Mail” message bounced back email for an email I sent to a good mate of mine. A bit strange, but I just figured it was one of those things that happens now and then, maybe an over zealous SPAM filter or something at his end.

So I re-sent the mail, letting him know that he possibly had a problem, and didn’t think any further of it.

A few days later I hadn’t had a reply, but we ended up actually conversing via phone anyway, imagine that, a real conversation with audio, whatever will they think of next! That evening I got a second bounce, Gordon definitely had a problem!

Then yesterday I had to call someone because they hadn’t responded to an important email I sent last week, they said they hadn’t received an email from me. Hmmm, that’s curious, but I’ve had problems with this particular person having “not got the email” before, so I just figured they were up to their old tricks.

Then this morning I got a couple of Undelivered Mail messages into my FogBugz server. This happens every now and then when a SPAM mail slips through the FogBugz SPAM filters and the auto-response gets bounced. But this time there were no SPAM messages in my inbox, so I took a closer look at the two error reports.

The first was indeed a bounced auto-response, but I recognised the email address, it was for someone who’d been using the CaseDetective trial and had a couple of questions. That’s not good, why did that email fail?

The second was an email that I’d sent to that same person in answer to their questions, which apparently they never got the answers to. Oh dear.

On closer inspection it looked like an outfit called SORBS had bounced the emails because the IP address of the sending server is on a dynamic IP address. A quick check of their database showed that my IP address was in their list of dynamic IP addresses that should not therefore be sending email (there’s a link in the error message that included my IP address).

Now, I have a static IP address, it’s one of the reasons I’m with the ISP I’m with, I need a static IP address for hosting my FogBugz server as it harvests automatic bug reports submitted by my customers through ScountSubmit directly from CaseDetective. I also like my static IP address because I can access my email on my little server through SquirrelMail when I’m away from the office etc.

So, SORBS has got it wrong, and for them to change their mind I have to get my ISP to get in contact with them and put them straight.

So I logged a support request with my ISP, and they quickly responded to clarify the situation, an are now going to get in touch with SORBS to get the IP address block I’m on removed from their dynamic IP address database. But it could take several days for it to happen. Bugger!

The support guy at my ISP didn’t have a very high opinion of SORBS, and I can see why, their policy of blocking dynamic IP addresses is all very well, I can see the logic in what they are doing, but if you’re going to do something so severe you’d better get it bloomin’ right, or else you’re going to piss off a lot of innocent bystanders, such as people like me!

The ISP support guy mentioned that I should use their relay host in the mean time, which made me think because I thought I was already using it, but obviously couldn’t be if I was getting this problem. Hmmmm…

After a few tests and much perusing of raw email headers I deduced that although my email server was set to use my ISP’s relay host, it wasn’t doing so, my email server was definitely sending email direct. Double bugger!

A quick search of the Apple support forums came up with another person with the same problem, and a response that there seems to be a bug with the Mac OS X Server Admin GUI when writing out the config file for postfix.

It seems that the Server Admin app is setting the relayhost variable to blank, which means the mail server can obviously only go direct when sending mail out.

I stopped my mail server, quickly edited postfix’s main.cf file to set the relayhost variable to my ISP’s host, started my mail service again and ran a quick test … job done, mail is now being routed via my ISP’s relay host.

So apologies to those who didn’t get expected emails in the last week, and a special apology to those who’ve now just got an email from me dated sometime last week!

2,115 miles later…

We’re back from our two week holiday to Yorkshire, East Sussex, Wiltshire, and Lancashire.

lambs.jpgIn those two weeks we clocked up over 2,115 miles in the car, and I dare say we added a good portion of those miles while going up and down dale and around in circles in spectacular Herriot country. We loved our time in Yorkshire and are already planning to go back soon.

East Sussex was great, that’s where I was born and spent my formative years, and is where the majority of my family is. I don’t see my family anywhere near as much as I’d like, so it was very nice to have a few days to visit. Even though we had 5 days in East Sussex, time seemed very short and I wish we could have spent more time there. Did however have time to get a new tyre for the car as somewhere along the way we’d picked up 4 punctures in just the one tyre!

cheekymonkey.jpgWe spent a glorious day at Longleat where we saw the fantastic house, Lord Bath’s amazing murals (an open mind required), and some wonderful wildlife in the safari park. The cheeky monkeys stripped off with my rear windscreen wiper rubber and ran off with the rear wash nozzle, so there’s yet more expense for the car. But they had a hard time getting to the sticker on the inside of the window!

It was then up to Liverpool, where we visited some family and friends in Southport and Crosby, but just like the rest of the holiday time seemed too short and soon we were enjoying a very pleasant last evening dining outside a restaurant in Liverpool’s Albert Dock as the sun set.

And so to Monday morning and my first proper day on the new contract, which has been very good and surprisingly productive, with all software installed, dev environment set up, source checked out and built and some time spent familiarising myself with the application. I also got started reading the requirements specification for the project, it definitely looks as though I’ll have plenty to keep me busy for the forthcoming year!

Now it’s back to trying to schedule my spare time to enable me to continue to develop CaseDetective as well as have some semblance of a family life and time to relax. I’m going to experiment with a few ideas on that front, I’ll post about it as and when I have time! ;-)

Out of the office for the next two weeks.

I’ll be out of the office for the next two weeks, which unfortunately means much reduced support during this time.

I should be back in the office and answering email etc by the 4th of July.

Back from the abyss

The last week or so has been pretty exhausting for two reasons.

First was the release of CaseDetective 1.1.1, 1.1.2 and 1.1.3 to fix up little problems found in CaseDetective 1.1. There’s still one user with a problem that I simply can not decipher, it makes absolutely no sense and no one else has seen it. I’ll maybe have to see if I can get a CoPilot session going to fathom it out.

The second is that since Tuesday last week I’ve been getting steadily more and more ill until Friday I finally came down with a really nasty cold. I was totally wiped out all day Saturday and Sunday and then started to feel better and better yesterday as the day wore on. I missed all the really nice weather we’ve had over the weekend, but at least I didn’t miss the football!

Today I feel much much better, still full of gunk, but should be OK for doing my first day of consultancy at the new contract tomorrow.

My new client wants me to go in for a day to meet various people and generally settle in so that I can hit the road running when I come back off of holiday.

Bit of a shame that it’s tomorrow they picked as it’s Mandy’s birthday and we’d planned on going out for the day, but she’s going to see her Mum and sister instead and we’ll do something on Thursday if it’s OK out. So hopefully it’s going to all work out well.

It’s taking me ages to write this as my attention keeps veering off to the Brazil vs Croatia match on my second monitor (got to love EyeTV), so I’ll stop fighting the temptation and wrap up this little update post. Speak to you soon.

CaseDetective 1.1.2 Released, Oops!

CaseDetective 1.1.2 is just a little update to make sure Attachments are sync’d before Bugs and BugEvents to ensure referential consistency, particularly if the app is quit before the sync completes. This was broken by today’s v1.1.1 release.

Should have known better than to release software on the 6th day of the 6 month in the year 06! :-)

Maybe the fact that this is build 222 will help?

Hi ho, hi ho, it's back to contracting I go!

On Friday I had an interview for a year long contract (240 days over 52 weeks). To be honest I didn’t think I had any chance as I knew I was the third candidate to be interviewed and was being interviewed on the Friday afternoon before the Monday that they had to have their decision made (so the agent told me).

Guess what, I only went and got the bloomin’ job!

It was the most relaxed and low key interview I’ve been to, although that doesn’t mean much as I’ve only been to a couple of interviews in my entire working life, and only one for a contract, usually I get my jobs through recommendations.

The two guys that interviewed me were really nice, friendly and easy to talk to, in fact I thought I’d blown it because I rambled on too much a couple of times. The whole thing was more like having a chat about this and that to do with what they do, what I’ve done, what I thought about methodologies and so on.

Anyway, to cut a long story short, I left the office at about 3:30pm and drove home. When I got in I started telling Mandy about the interview, how nice the people and their new offices were, that the project sounded really interesting … when she cut me off and said “have you not listened to your messages?”

“No”, says I, “I’ve been driving.”

“Your agent called, you’ve got the job! He called your mobile, left a message and then called the house.”

Turns out my agent left the message on my mobile at 3:45, just fifteen minutes after I left the interview. Now that’s a quick decision!

I won’t say where I’ll be working, I’ve never talked about clients on my blog, probably never will, plus I have no idea whether they have any policies about that kind of thing.

I’ll be starting on July 3rd, which gives me two weeks to get the wrinkles ironed out of CaseDetective 1.1, and then I’m off on holiday for a couple of weeks.

It’s a real relief to know I’ve got the job, one of the worst things about the last few months has been not having the disposable income I’ve become accustomed to.

Finally I can satisfy my iTunes addiction again! :-)

CaseDetective 1.1 Released.

CaseDetective 1_1 Released.jpg

CaseDetective 1.1 has finally hit the server, and is now ready for download from it’s shiny new website.

I was tempted to call this release “2.0″ as it’s changed so much from 1.0.1, but in the end I decided 1.1 felt more natural and true to my intentions.

This release took a lot longer than planned, mainly due to the huge change in the way cases are retrieved from the server for faster filter browsing.

But I’ve “sneak peeked” that before on this here blog, so I won’t go over that again, or anything else that I’ve already written about.

What I can write about for the first time is the Preview Pane, an area under the list of cases that shows details of the currently selected case and the history of comments, emails and changes that have occurred. In fact, I’m not even going to write about it, I’ll just show you a picture of what you can get if you right-click on it and save it as an image…

Preview Pane.jpg

Current users of CaseDetective should start to see update notices the next day they start CaseDetective (if they have automatic updates turned on) or the next time they “Check for update”.

I’ll be sending out a short newsletter in the not too distant future too.

CaseDetective 1.1 for FogBugz is a free update for all current users. New users can buy CaseDetective for $69, and there is a free 30 day usage trial available.

Documentation, bleugh!

CaseDetective for FogBugz 1.1 is done, finished, complete … almost. Just need to get the documentation done.

It’s always the last thing to be done, we developers always put it off to the last moment and generally see it as that horrid task sent by the devil to torment us.

Except this time I’m not minding it too much for some reason.

Maybe it’s because I’ve decided to really shake up the documentation and website this time round, last time it was a little half hearted and I’m feeling I need to make a big push this time to get a much better quality set of docs there.

Since releasing CaseDetective last year I’ve had a fair few support requests that really shouldn’t have been there, documentation should have nipped them in the bud. Whether that be information on the website for prospective downloaders or in the help docs for those looking to get a little more from CaseDetective. Obviously my docs just weren’t up to scratch.

At first I’m just getting the basic documentation framework back into shape before private beta as I’m changing the way I produce them a little, it won’t be anywhere near complete but should give an idea as to the format (placeholders will abound).

Originally I authored my documentation and CaseDetective website in separate RapidWeaver files and then processed the documentation output through HelpLogic to get the final help files and separate docs website. There are pros and cons to doing this.

On the plus side it was easy to set up the documentation file so that it didn’t use any index.html files, HelpLogic doesn’t allow them as they conflict with files it has to create. It also meant I could have a nice docs website that looked and performed just like a normal help file, with searching, contents, index and everything.

On the minus side is the fact that I was maintaining two separate files which shared a lot of the same information, such as support contacts, features overview etc. Also, that separate docs website may be searchable by itself, but not from Google and other search engines as it uses frames, so does not contribute much to my marketing effort (when I actually start to do some that is). The separate docs site also doesn’t have my CaseDetective theme, it’s totally different so doesn’t look part of the main CaseDetective website. Both the searching and not being integrated into the main site are potentially big hindrances to getting free marketing from the content (when it improves) and looking professional.

So I’m now using one RapidWeaver file for my CaseDetective website and just rejigging it so that I only have one index.html, the main one which would never be included in the help files anyway.

My (new) website will have fully integrated documentation using the same theme as the rest of the site and will of course be searchable by search engines. And when building my in-application help files I simply switch the theme to a plain theme I’ve created and extract to a folder that HelpLogic will pick up from. Then I just delete the index.html file and it’s associated resource files and use HelpLogic to reformat everything for Windows and Mac help formats. A quick compile to CHM format with the free Windows HTMLHelp Studio and index the Mac OS X Help Book with the free Help Indexer and we’re ready to build the Windows setup file and Mac disk image. It takes much less time than it did to write this paragraph, honest!

Well, I guess I should get back to it, those private beta testers must be chomping at the bit by now, desperate to get their hands on CaseDetective 1.1b1!

CaseDetective 1.1 Sneak Peek #4: Graphs

So far the sneak peeks for CaseDetective 1.1 haven’t been all that enthralling, even I am able to admit that the features I’ve shown aren’t that big a deal to most users of CaseDetective and FogBugz.

This one may turn a few heads though, CaseDetective for FogBugz 1.1 will include the ability to view some “potted” graphs, just like this one:

SimpleGraphS.jpg

The above graph was grabbed from the new “Overview” pane, which includes the previously sneak peeked Last 50 Events list. To be able to include graphs of statistics from FogBugz in your reports, all you have to do is select an appropriate filter and pick the type of graph you want, then simply copy and paste the graph into your report. It’s as simple as 1-2-3!

SimpleGraphWithPopUpS.jpg

And as you can see from the above screenshot (click it for a better view), when you hover your cursor over a “node” you get a little yellow pop-up with a bit of info about it, such as the number of cases (Y value).

For some people this could be a real time saver, as it’s a very quick way of finding out how many of your FogBugz Cases are in a particular Priority, Status, Release and so on, there are quite a few fields you can graph:

GraphFieldsS.jpg

And of course, you need to be able to see when it was that you had that sudden spike in feature requests opened, resolved, closed or last updated:

DateLineGraphS.jpg

Being able to quickly see patterns in your FogBugz data through graphs and charts in CaseDetective for FogBugz should hopefully help a lot people get through their day that little bit quicker when it comes to getting those reports out.