Category Archives: miscellaneous

iPhone 057

How to build a gym in your garden

Human physiology has evolved for a challenging existence on the African savannah. It doesn’t cope well with sitting in front of a computer all day, with high energy foods constantly within easy reach. But going to the gym is a hassle: get your gear together, drive to the gym, get changed, do your workout, have a shower, get changed back, drive home. Even just going for a run means 2 changes of clothes and a shower. I wanted something high intensity that I could do in a few minutes every day. I work from home, so I built a gym in my garden, right outside my office. I posted some pictures of it on social media and a few people asked for details of how I made it. So I thought I would write it up here, in case anyone else was interested.

Construction materials:

  • 3.0m x 0.1m x 0.1m fence posts (2 of)
  • 1.8m x 0.1m x 0.1m fence posts (3 of)
  • 1.2m outdoor pull-up bars with fixings (coach bolts and washers) (3 of)
  • 20kg bags of Postcrete (19 of)
  • 20kg bags of gravel (2 of)

The total cost of all the above was about £240, including delivery of the fence posts and pull-up bars.

You should be able to get the fence posts from any fencing supplier. Make sure they are pressure treated, so they don’t rot away in a few years. Anything narrower than 0.1m x 0.1m might not be strong enough. Anything bigger is going to be pretty unwieldy to work with.

You can buy outdoor pull-up bars from various sources. I got mine here. Make sure the bars and their fixings are either galvanized or powder coated, so they don’t rust. I choose bars long enough that I have the option to do wide-grip pull-ups.

Postcrete is a special form of concrete for fence posts (I think it might be called Quickcrete is some countries). You just add water and it sets solid in minutes. Leave it to ‘cure’ for 24 hours before putting any weight on it. I used 5 bags of Postcrete for each of the 3.0m pull-up posts and 3 bags of Postcrete for each of the 1.8m dips posts. You could probably get away with less, but I preferred to ‘over-engineer’ it. I also threw some old bricks and hardcore into the holes for extra bulk. You can  use standard cement, which is cheaper, but not as convenient.

scan013.jpg

You need to dig your post holes according to the height and spacing you want for the bars, which will depend on your height. The pull-up bar should be roughly the same height as your knuckles with your arms full outstretched above your head. The dips bars should be slightly more than shoulder width apart and level with your lower ribs. If you are very tall, you might need longer posts than I did. The holes should be approximately 3 times the width of the fence posts. Put approximately 0.1m of gravel in the bottom of each hole for drainage. The gravel also helps with getting the posts at the same level.

Digging a 1.0m deep by 0.1m x 0.1m across hole is difficult using a spade. I recommend you use a post hole digging tool. I bought one from building supplier Wickes for £25. The bolts were a bit loose, but once I had tightened them up it was fine. You can also rent them, but 3 days rental was as expensive as buying one new.post hole digging toolDigging the holes is hard work! I did 30 minutes of digging every now and then. Usually when I got fed up with whatever I was working on. Tip: Cover the loose dirt from the hole with something waterproof as it is much harder to move later if it gets wet.

Attaching the bars before you set the posts isn’t practical. Setting all the posts before attaching any bars is asking for trouble. So we alternated setting the posts and attaching the bars.

Setting the posts and attaching the bars is definitely not a one-person job, so I conscripted the family to help. We used rubber bands to hold 2 spirit levels onto 2 adjacent sides of a post, to make sure it was completely vertical (you can also buy specialist post levellers). One person then held the post while the other one added the Postcrete and water. To attach the bars just drill 4 pilot holes into a post and then use a socket and ratchet to tighten the coach bolts onto the washers.

iPhone 040.jpg

I also bought a heavy duty rubber mat and post caps to finish things off.

Normally I only create digital things (software, websites, documentation, blog posts etc) so it was really nice to make something physical for a change. Given my modest DIY skills, I am very pleased with how it turned out. It feels very solid and everything is pretty straight and level. Not bad for a software engineer!

Pull-ups, dips and leg raises cover a lot of the major muscle groups between them. Currently I am trying to do pull-ups and dips on alternate days. I usually do 3 sets of as many as I can, with at least a few minutes rest in between. I also do some negative reps. A negative pull-up is where you jump up and then lower yourself as slooooooowly as you can. This sort of eccentric training is very good for building strength (and also useful if you aren’t yet strong enough to do a pull-up). Just hanging from the bar is good for stretching your back muscles.

Because my gym is right outside my office and only takes a minute or so per set, there is no excuse. I also have a reminder set up in the Balanced app on my iPhone. In a few weeks I have gone from 3 pull-ups to 8 pull-ups (with good form). Once I have improved my strength futher and reached a plateau on those exercises, I may try some more exotic exercises. I hope eventually to be able to do a ‘muscle up’!

Muscle-up

estes-helicat-rocket

Rocket Science

My son, my wife and I have been messing around with model rockets. They seem to be a big thing in the USA, but are a lot less common here in the UK. They are a lot of fun.

I bought the above rocket + launch pad + launch controller kit from a local model shop, with some recovery wadding and 3 class C rocket motors with igniters:

rocket kit amazon.co.uk link

rocket kit amazon.com link

The total cost was £30.

Making the rocket involved a bit of glueing and assembly, but was fairly straightforward. Then we inserted some wadding (to protect the internals from the hot gas of the rocket motor), the recovery parachute and the nose cone with rotors. When it was finished we took it to a big open space, inserted a rocket motor and igniter, put it on the launch pad and used the 9v battery operated remote control to launch it.

We had a few non-launches because the crocodile clips (connecting the launch control to the igniter) touched, causing a short-circuit, or fell off. Not a great design. Once we had sorted that out we successfully launched and the rocket went well over 100 metres in the air. Cool!

In theory the motor should burn for a couple of seconds and then a little explosive charge fires to separate the nose cone from the main body. The main body then floats down on the parachute while the nose cone deploys spring-loaded rotors and auto-rotates down. In theory.  However, in our inexperience, we put in too much wadding and packed it too tightly. Consequently the rocket blew itself apart in mid-air and the parachute and rotors didn’t deploy. We managed to recover all the bits. The parachute was ok, but the rotor blades were too damaged to use again.

A video of our first launch

So we cut off the damaged section and added the nose cone back on to make a new, shorter rocket and did 2 more launches. Being lighter with the same motor it went a lot higher. Possibly over 200 metres!

We made a new rocket from the nose cone and tail of the kit, plus a long cardboard tube and lots of duct tape. We did another 3 launches using C class rocket motors. Even managing to get one successful parachute deployment. However as the new rocket was  heavier it got noticeablely less height, probably less than 100 metres.

A few things we learnt along the way:

  • Don’t force the parachute and nose cone in too hard or use too much wadding.
  • If the parachute doesn’t deploy the rocket can survive hitting the ground at speed surprisingly well. But they make quite a hole in the ground, so you REALLY don’t want to get in the way.
  • Even in light wind the rockets can land a fair distance away. Especially if the parachute deploys successfully. So pick a still day for the launch. You can also cut some extra vents in the parachute to make it fall faster.
  • You need a BIG open space, free from other people, animals and trees. Preferably at least 200 metres across, if you want to stand a good chance of recovering your rocket for another launch.
  • The maximum height of your rocket depends critically on the thrust to weight ratio.

Hopefully it goes without saying that pyrotechnics and objects travelling at high speed are potentially dangerous and require common sense and adult supervision.

Being a software geek with a physics background I couldn’t resist doing a few calculations. Here is a little Python script I wrote to calculate the maximum height and flight time based on the mass of the rocket and the thrust and duration of the motor. It applies a simple time-step approach to F=ma. Just modify the mass, thrust and duration variables.

rocket science codeIt assumes the rocket goes straight up and doesn’t allow for air resistance. But the values it calculates seem fairly plausible based on my observations. You can get the code via this link:

Python rocket calculation code

For example with a thrust of 6N for 1.6s I calculate a maximum height of:

Mass (Kg) Max height (Metres)
0.1 388
0.15 156
0.2 78
0.25 43

So you can see how critically important thrust to weight ratio is to maximum height.

Presumably it is possible to derive an analytic solution as well. I leave that as an exercise for the interested reader. ;0)

I think we will try a D-class motor next time (each step up the alphabet doubles the impulse). This seems to be the biggest that you can get hold of in the UK without a license. Watch out passing aircraft.

To infinity and beyond!

It’s great to be in the software products business

hard at work on my software businessThose of us who own software product businesses sometimes grumble about what a difficult business it is. Although its indoor work with no heavy lifting, it has it’s frustrations: software piracy, customers who moan about paying a whole $0.99 for thousands of hours of work, buggy third party software, RSI, chargebacks and the catastrophic consequence of accidentally offending the great god Google, to name but a few.

But reading Kitchen Confidential brought home to me just what a hard business it is to run a restaurant. You have to make a major financial outlay to fit out the restaurant and kitchen. You have rent and staff salaries to pay every month, regardless of whether customers come or not. Staff turnover is generally very high in the catering business, so you are continually having to hire new staff. You have to deal with drunken, unreasonable and dishonest customers. Possibly also drunken, unreasonable and dishonest staff, who have ready access to sharp knives and boiling liquids. Theft by staff can be a real problem. You have highly perishable stock. If you don’t order enough, you have to turn people away. If you order too much, you have to throw away the excess or risk poisoning your customers. You have endless deliveries from suppliers, which you have to check to ensure they are the correct amount and quality. You have to keep the restaurant clean. Extremely long hours are standard. Even if you are doing well, you can’t seat more people than the restaurant can physically hold. A restaurant that has to turn people away Fridays and Saturdays might be empty on Monday. And success brings its own problems as you can only increase the scale of the operation by expensive and disruptive  measures such as opening a new restaurant or moving venue. The relentless overheads of staff, rent and stock mean that cash flow is a huge issue. It’s no wonder that restaurants fail so frequently.

Running a software product business is pretty cushy by comparison. You can start your own software product business with just a PC and a generous dollop of time. Nearly all the issues related to manufacturing, suppliers, stock and shipping go away when you are dealing with electrons rather than atoms. If you do make a mistake, you can usually put it right just by making another release. The worst a disgruntled customer is likely to do is post a snarky comment on a forum or send you a nasty email. High margins and low overheads means that cash flow is much less of an issue than for most other businesses. Software businesses also scale much more easily than other businesses. You aren’t tied to a particular location and don’t even need to rent an office building (billion dollar company Automattic has a fully distributed workforce and no company office).

The software business is a great business to be in!

 

The mystery of the Chinese downloads

A spider (probably not Chinese)It’s a good to idea to regularly look through the logs of your website. You’ll often find something interesting. In March 2013 I was looking through the web logs for my seating planner software and I noticed the number of downloads of the Windows version of my software had gone up by a factor of 5, compared to the previous month. Everything else stayed pretty much the same:

  • The number of visits to the download page hardly changed.
  • The number of completed Windows installs hardly changed.
  • The number of downloads of my Mac installer hardly changed.

Odd. On further investigation it turned out that a number of Chinese IP addresses were downloading my Windows installer again and again. My software is not localised into Chinese and I get very few sales from China. Also there were no installs from these IP addresses (my software puts up a ‘thank you for trying’ page when it is first run). It was a substantial increase in bandwidth, but not enough to be a serious denial of service attack. Very odd.

I am on an unlimited bandwidth hosting contract so I wasn’t paying for the extra bandwidth. But I was worried that the volume of requests would slow down my web site. So I put a .htaccess file in the downloads directory to block the worst offenders.

After a few months I got the bandwidth from China down from ~30GB per day to ~100MB per day. I have been playing this game of ‘whack a mole’ every since. Currently I have some 1700 Chinese IP addresses blocked.

downloads per month

PerfectTablePlan for Windows downloads per month 2013/2014

As an example I recently blocked IP 211.136.10.56, which was downloading PerfectTablePlan around 20 times per day, but never visiting a page on my website.

Here are the logs from one day (via Web Log Storming), picked at random before I blocked their IP:

logsAnd here is one of those records in more detail:

logWeb Log Storming classifies it as a ‘spider’.  whois.domaintools.com says the IP belongs to ‘China Mobile Communications Corporation’. The IP is not listed on projecthoneypot.org and I wasn’t able to find out any more from casual Googling.

To block the this IP I just added this line to my .htaccess file:

Deny from 211.136.10.56

But it is a bit of a nuisance to keep having to do this.

Other software companies are having similar issues. But I haven’t come across any compelling answers about why this is happening. Perhaps it is a way of masking some other nefarious activity? Does anyone have any idea what is going on?

10 years a microISV

I have been running my own one-man software company for 10 years today. Coincidentally it is also my 49th birthday, so it is perhaps a good time for a bit of reflection.

I did a physics degree and then worked full-time as an employee for nearly 20 years. I developed systems in FORTRAN, C and then C++ for operational research, satellite image processing, printed circuit board design, environmental modelling and distributed systems. I learnt a lot and met some great people, but I yearned to strike out on my own.

I set up my own company in January 2005. I was a techie and had very little experience on the business, sales and marketing side of things. It was quite scary.

I released v1 of my table planner software PerfectTablePlan at the end of February 2005. It was very rough and ready, but I sold my first licence in less than 24 hours. PerfectTablePlan has exceeded all my expectations and is still selling well. I have sold over 40,000 licences with revenue well into 7 figures (£) to date.

I started this blog in April 2007. It has had over 2 million hits to date and has been helpful for promoting my consulting. But mostly I do it because I like writing, when I can find the time.

I started offering a consulting service in January 2008. I have provided consulting to lots of other software businesses, mostly 1 day engagements concentrating on marketing. That has been very interesting and has added some variety to my work. It has also been helpful to find out what works and doesn’t in other businesses.

I ran a weekend face-to-face training course for people wanting to start their own software business in November 2013 and March 2014 in the UK. The course is 460 slides + various exercises. I enjoyed doing it and the feedback was very positive. But it was hard work to get enough people in one place at one time to make it viable. I could do it online, but I think it would lose a lot of the interactivity that made it work so well. I would like to run it again in 2015. Email me if you’re interested.

I released v1 of my AdWords keyword tool Keyword Funnel in March 2014. This was a commercial quality re-implementation of various tools I had written to help myself run my long tail AdWords campaign for PerfectTablePlan. The plan was to produce v1 within a couple of months, part-time. But it ended up taking nearer to 6 months. Feedback became more patchy and ambivalent as I got closer to v1. But, having got that far, I decided to push it out anyway. It didn’t sell well, for various reasons which I might go into in a future post. I also decided I didn’t want to spend all day thinking about AdWords. So I stopped selling it and took the site down. But it seems a shame to have wasted that work, so I may resurrect it later this year as a free product.

I am just about to release v1 of my visual planning software Hyper Plan. I have worked on this part time since September 2014. I am very pleased with how it has turned out. But I have no idea how successful it will be (as was the case with PerfectTablePlan and Keyword Funnel). I think a lot of people could benefit from it, but it is in a crowded market. Watch this space.

I have attended various conferences for small software businesses and spoken at MicroConf (Europe), ESWC and SIC. It is always great to meet other people in the business.

I am a moderator and regular contributor on the Business of Software and bootstrapped.fm forums.

All sorts of strange and wonderful things have happened, including:

  • PerfectTablePlan has been used for some very famous organizations for some very famous events (which I sadly don’t have permission to mention). It has seated royalty, celebrities and heads of state.
  • PerfectTablePlan was used as part of a demonstration of the (controversial) first commercial quantum computer by D-Wave.
  • A mock-up of PerfectTablePlan, including icons I did myself, was used without my permission by Sony in their ‘Big day’ TV comedy series.
  • I got to grapple with some interesting problems, including the mathematics of large combinatorial problems and elliptical tables. Some of my customers are now seating 4,000 guests and 4000! (4000x3999x3998 .. x 1) is a mind-bogglingly huge number.
  • A well known wedding magazine ran a promotion with a valid licence key clearly visible in a photograph of a PerfectTablePlan CD. I worked through the night to release a new version of PerfectTablePlan that didn’t work with this key.
  • I found out that CDs are edible.
  • An early article I wrote for the blog generated 56k hits in a day and got me a mention in the Guardian newspaper.

I employed my wife as bookkeeper a few years back. But decided I didn’t want to take on any other employees. I outsource a few things that I can’t do, but I still do most things myself.

It has been hard work and a bit of a roller coaster ride. But overall, it has been great! I wonder what the next 10 years will bring?

See also:

Lifestyle programming

A Business Idea : Individualized Mandelbrot Shirts

Mandelbrot

I have more ideas for business and products than I have the time, energy or skills to pursue. I am throwing this one out there in the hope that someone else might run with it. You’re welcome.

Idea

1. You zoom into a region of the Mandelbrot set you like the look of. You have an the option to customize the colours.

2. You are shown a visualization of what this would look like on a shirt (front and rear).

3. If you like what you see, you click a button to order the shirt, choose your size and pay. It is then shipped to you.

Pricing

The fact you can design your own shirt and there is a vanishly small probability that anyone else will have the same design, means you can charge a big premium. Perhaps £50/$80 for a long sleeve shirt?

Feasibility

The software side of this business is fairly straightforward. After all the Madelbrot set is based on just z=z^2+c and you wouldn’t have to generate a high resolution image for the preview. But I know nothing about the clothing industry. I have no idea what it would cost to individually print a shirt or what printing technology you would use. Perhaps there are good economic reasons why no-one is already doing this (if they are, they aren’t very good at SEO).

I will be your first customer!

Image from Wikipedia by Wolfgang Beyer

“Wrong Way” Corrigan

While on holiday in Ireland I came across the wonderful story of “Wrong Way” Corrigan. Here is a summary from history.com :

Eleven years earlier, American Charles A. Lindbergh had become an international celebrity with his solo nonstop flight across the Atlantic. Corrigan was among the mechanics who had worked on Lindbergh’s Spirit of St. Louis aircraft, but that mere footnote in the history of flight was not enough for the Texas-born aviator. In 1938, he bought a 1929 Curtiss Robin aircraft off a trash heap, rebuilt it, and modified it for long-distance flight. In July 1938, Corrigan piloted the single-engine plane nonstop from California to New York. Although the transcontinental flight was far from unprecedented, Corrigan received national attention simply because the press was amazed that his rattletrap aircraft had survived the journey.

Almost immediately after arriving in New York, he filed plans for a transatlantic flight, but aviation authorities deemed it a suicide flight, and he was promptly denied. Instead, they would allow Corrigan to fly back to the West Coast, and on July 17 he took off from Floyd Bennett field, ostentatiously pointed west. However, a few minutes later, he made a 180-degree turn and vanished into a cloud bank to the puzzlement of a few onlookers.

Twenty-eight hours later, Corrigan landed his plane in Dublin, Ireland, stepped out of his plane, and exclaimed, “Just got in from New York. Where am I?” He claimed that he lost his direction in the clouds and that his compass had malfunctioned. The authorities didn’t buy the story and suspended his license, but Corrigan stuck to it to the amusement of the public on both sides of the Atlantic. By the time “Wrong Way” Corrigan and his crated plane returned to New York by ship, his license suspension had been lifted, he was a national celebrity, and a mob of autograph seekers met him on the gangway.

Sometimes it is better to hope for forgiveness than to ask for permission.