Get British Business Online

We recently helped set up a website for a friend (John Allwork, a gardening poet), who was looking for something very easy to configure and manage himself and with very low running costs.

We ran across the “Get British Business Online” initiative by Google and Yola, which offered free hosting and free domain registration for a year so we thought we’d try that out.

Overall, it seems like a good deal for a simple flat website (which was all John needed). It only took a few hours to get a 4 page site up and running. It’s very basic, but he didn’t need any more and he could manage it himself without any further techie help.

In the meantime we enjoyed his poems and his book and we’ve been out collecting more photographs from some of the beautiful gardens he looks after, which we’ll have to put up on the website!

 

Nice Guys Earn Less, Despite Better #Productivity

According to a recent report in the Journal of Personality and Social Psychology, agreeableness is inversely correlated with earnings for men. Woman fare better – you can be nice and still earn money. This is despite the fact that agreeableness is associated with better teamwork.

The upshot appeared to be that companies don’t seem to like the concept of pleasantness in men and see it as a negative trait. Women are allowed to be nicer with less of a detrimental effect on the perception of their effectiveness. What can we learn from this? Work for a woman ;-) (Our female CEO concurs)

Yes! And? Improv comedy can improve #productivity

according to Charlie Todd of @ImprovEvery. The key is agree and build (“yes, and”) rather than argue. I tend to agree. In our consultancy work we use a similar approach. Most ideas have something useful in them, even if they are not perfect or fully formed. Even the downright silly can have it’s uses (an individual’s enthusiasm if nothing else) . Your job is to find that useful part, incorporate it and build on it, not throw the whole thing out because there are elements of it you like less.

How to Change the Format of the Date in Qlockwork .csv Reports

We’ve just been helping a client with this so thought we should write it up. The client in question wanted to be able to sort more easily by date in her Qlockwork .csv reports. Her dates were showing up in the format “Friday, April 20, 2012″ but she wanted it to look more like “04 02 2012″.

Now Qlockwork just uses the default “long date” format from your PC in the csv file dates. The PCs’s long date format is configurable via the Windows Control panel:

  • Go to Start->Control Panel->Region and Language
  • Select the “Additional Settings” button
  • Go to tab  “Date”
  • Change the Long Date format to MM dd yyyy (for example)
  • Hit OK, the OK again
  • Restart Outlook

Now your dates in your csv files will have your desired format. However, be careful. You can’t use a forwardslash or a backslash character in the format you select because the long date is used in the csv file name and those are not valid characters in a file name. If you use a forward or a backslash in your long date format your csv file will disappear.

  • Hit OK, then OK again
  • Restart Outlook

#Outsourcing Options: Company or Individual?

We use outsourcing as and when we need to. For ongoing services, a company is a good idea as it provides holiday, sickness cover etc.. , which takes that pressure off you. For a one-off job though, an individual can work very well and be considerably cheaper. We usually make a decision on a case-by-case basis and then find the right candidate with Google searching. However, we’ve just trialed elance for the first time to find a new tester and are impressed with the service so far.

Users stabilised on IE, Firefox and Chrome

Interesting article on ZDNet about the browser share of market. It appears to have completely stabilised over the past 6 months with IE at ~50%, Chrome at ~ 20% and Firefox at ~20% too.

Debugging using a Windows Crash Dump and WinDBG

Qlockwork very rarely crashes, so we don’t get much practice with this (haven’t done it in 10 years!), so thought we’d write it up as we went along. Windows has a very neat feature called crash dumps. You can create these from a crashing application and it includes a snapshot of all of the application’s memory. Very handy!

  1. Reproduce the issue (application crash)
  2. Do not close the Application has stopped working window
  3. Run Windows Task Manager (press Ctrl-Shift-Esc or right click in the bar at the bottom of the screen and select “Start Task Manager”)
  4. The Task manager will open
  5. Go to the Processes tab and right-click on the crashed process (qlockmon.exe or qwtrackv3.exe)
  6. Select the Create Dump File item

Get your customer to send the .DMP file to you.

Now you need a debugger to read this. Install the windbg debugger, which you can get from downloading the “Windows Kit” for Windows 8.

Run Windbg.exe and choose File->Open Crash Dump to open your dump file.

Now choose View->Callstack to see the call stack at the time of failure.

Below is a callstack for an application called qlockmon that we are going to analyse:

The top is where the application crashed (in this case inside an unhandledexceptionfilter).

We want to know where in the code qlockmon+0x17785  is.

For that, you need the .map file and .cod files from your build.

A .map file is set of linker outputs that tell you where particular functions are within your code. a .map file is produced when you link with the linker option /map.

A .cod file is a mixture of the assembler and code for each function, which will tell you where a particular line is within a function and what code it corresponds to. To get a .cod file, compile (in VS) with the option /FAsc.

With an address like qlockmon+0×17785 your first port of call is the .map file for your executable or dll. At the top of this is  the preferred load address (typically 00400000 for an exe). Note this down.

Next, scoot down to the list of functions in columns. In this section you are interested in the columns “Publics by Value” (the function names), “Rva+Base” (the function start addresses) and “Lib:Object” (lib or exe).

Take qlockmon+0×17785 as our example. This is somewhere in a function in qlockmon, but which function?

first add the preferred load address for qlockwork to the supplied address:

x00400000 + 0×17785 = 0×00417785

Now, we need to find that in our rva+base column. Since this will be in the middle of a function, we just need to find which function contains the address (i.e. starts before the address and finishes after it).

Once we’ve done that, we note down the start address of that function. Let’s say the function was foobar() and it started at 0×00417700.

We are looking for the line of assembler at offset  0×00417785-0×00417700 = 0×85 within the identified function (foobar) .

We need to know which line in foobar() this offset refers to. For that we need the .cod file. Open the .cod file which contains the function. Search down through the file to find the function, then count off until you get to the assembly line offset x85 within that function. That should be the assembly line you crashed in. Step back up to the preceding code line that’s in your stack. Reconstruct your callstack, and you are 90% of the way to solving your problem.

 

 

 

 

 

Switching Between Tasks, Can you Multitask?

Scientific American have posted a test from the University of Newcastle in the UK, which is designed to tell you how good you are at multitasking. The results here were awful! Basically, we are very bad at multitasking, our dev team members are far better if we can focus on one task at once rather than switching between several.

This matches our experience with Qlockwork. If we have days where we have spent a long time on single task items in our Qlockwork calendar, we generally feel those have been productive days.

Time Tracking, Memory and the Brain

Apparently March is “brain awareness” month. Had we known that earlier, we would  probably have tried harder to be aware of our brains in March ;-)

To make up for this, we’ve been reading about studies on the effect of chronic stress on memory (rat experiments run at SUNY Buffalo). Apparently, chronic stress appears to be bad for the memory (at least in rats), which may mean you are less likely to fill out a timesheet accurately if you are stressed out.

To be honest, I think we would have guessed that. The more stressed you are, the less of a grasp you have of where your time is spent, which is always a bit of a vicious circle.

The researchers are looking at potential drugs that can reduce the effect of stress on memory loss. I’m in two minds about that. It would be rather better to reduce the stress, but that seems unfortunately less and less achievable.

 

 

Online Time Tracking with Qlockwork Cloud

Development continues apace with the new web version of Qlockwork. We are never going to stop development on our Outlook Add-in version of Qlockwork, but we’d also like to offer an online version for those folk who do not have Outlook.

We have completed the development and testing and are now getting an external security review done of the system. So far, we are very happy with what we have. It’s simple and low function compared to time tracking with Qlockwork for Outlook, but it’s a nice, usable product. We’re proud of it.

If anyone would like to join our beta testers for Qlockwork Cloud version, please let us know.