// Richard Hart / Hates_

I recently had to serve a static file on a specific url in nginx. The requirement was that /sapm/jcb should show a specific page, but I of course forgot about the html extension so the end result was my file only appeared on /sapm/jcb.html.

An nginx conf change sorted it all out.

 location /sapm/jcb {
    try_files $uri $uri/ /sapm/jcb.html;
 }
Read More

iceberg_facebook

Iceberg features are where on the surface they seem small and simple while backed by a huge un-seeable chunks of functionality and processes. Like their real counterpart they come in many different shapes and sizes. From the “Oh, just add an extra field to this form”, which in-fact impacts the business logic, to “Just copy this feature on site X”, without taking into consideration the processes that go on behind the scenes. I’m sure we’ve all experienced the first sort of “small change” problem before, but the second one is a lot more subtle and easy to miss.

A lot of sites successful implement a “invite your friends” feature, which grabs a user’s address book and messages each of them asking them to join. The simplistic way of copying the functionality is to think that the road to success is simply grabbing the needed details and messaging them, thinking that what makes the functionality successful starts with the form and stops with the initial message. That’s just the tip of the feature iceberg. Is it successful for another site as they have a planned out set of campaign emails they send out to an invited person, with timed followups and different possible campaign routes depending on a user’s reactions. It may well be that having a naive imitation of the feature is better than not having one at all, but it’s the compromise of deciding what to do. Is a poorly imitated, half implemented and thought out feature better than a smaller, but more complete and well thought out one.

Read More

Five monkeys are caged together and there are some bananas hanging from the top of the cage. Some scientists attach an automated device for sensing if the bananas are moved; once a monkey tries to get any, an electric shock travels through the cage so that all monkeys get shocked. In the beginning, a single monkey climbs up to the bananas, touches them and every monkey gets shocked. So he doesn’t try anymore, but the other four monkeys try the same thing and the result comes to be the same. Therefore, the monkeys learn something in common: that is, do not get the bananas! You’ll get a painful electric shock! The scientists then replace one of the original monkeys with a new one. This new monkey sees the bananas and wants to get them right away, but the other four monkeys beat it when they see its actions. Since these original four monkeys think the new monkey will make them get shocked, they stop the new monkey from getting the bananas. This monkey tries a few times and the others beat it every time without it ever getting the bananas. Of course, all five monkeys don’t get shocked. The scientists then replace another of the original monkeys with a new one. This second new monkey sees the bananas and you bet it wants to get them immediately. But, sadly, the others beat it and the first new monkey beats the newest one even harder then the others (for the newest one is the rookie and has the lowest social status). Just like before, the newest monkey tries several times to get the bananas and is stopped by the others when they attack him. The scientists continue to replace all the original monkeys until no monkeys who actually felt the electric shock remain. Now none of the five new monkeys dare to touch the bananas yet none of them know why. They only know whomever wants to get the bananas will be beaten.

Frequently I write about doing what matters most and not getting caught up in the stuff that makes the least amount of difference. The tale above is a great story that leads on from that; Making sure you know why you’re doing something.

This recently came up in a conversation about re-designing the homepage of viewshound.com. One person thought the front page should be laid out one way, while another thought it should be laid out another way. The problem was, neither answered the question of firstly, why the homepage needed to change and secondly, what did we want to achieve by changing it. The naive answer to the second point is that we want to “increase page views”, but really in essence the answer is a lot more in-depth than that. Are we looking to drive first time visitors to individual articles or are we looking to drive people to category pages? Are we optimising for new arrivals or optimising for frequent readers? Once you rule out these sort of low-level questions, the route you take becomes a lot clearer, and changes for the sake of making changes becomes a problem of the past.

Read More

“It blows me away every time I walk into a nice home and meet its proud, overweight, out-of-shape owner. They just don’t get it. Your real home is not your apartment or your house or your city or even your country, but your body. It is the only thing you, your soul and your mind, will always live inside of so long as you walk the earth. It is the single most important physical thing in this world you can take care of.”

Mark Lauren

Read More

Imagine your business is a lovely big garden. You tend to the flowers, water the plants, and place your seeds carefully in the hope that a few months down the line they’ll blossom into a beautiful array of colours. But you don’t mow the lawn. As time goes by, your lawn gets overgrown and filled with weeds, eventually swallowing up all the hard work you put into your flower beds. Would you do this? Of course not, so why do we run our business like this then?

The lawn is the heart and soul of your garden. It’s plainest and simplest to maintain, but it is the easiest to neglect in favour of working on the things that are more attractive. Are you neglecting the core of what makes your business run, in favour of what’s more exciting? Blogs, SEO, Facebook, Twitter, Affiliates, Promotions are not your core concern. You need to be making sales. Don’t make the mistake of thinking this is how sales are made. They are fillers for an already churning sales engine. Pick up the phone, go and meet potential buyers. Start the engine of your lawn mower and mow your lawn.

Read More

I spent the day at Infusionsoft’s Customer Tour Conference. It was interesting to see some of the more advanced things that are possible using their product as well as listening to how some people are using it to market and sell their products. One of the things said during the day was in regards to  sequences and moving user’s through a series of steps and goals, but which applies quite heavily to programming, which was:

“Build your process assuming the user won’t do what you want them to do.”

I found this quite a succinct quote and an excellent rule of thumb for when designing pages. Once you reach a certain size, your clout allows you the freedom to get away with less than stellar design choices. For instance, personally I think the Amazon site is a mess, and this was re-affirmed to me recently while trying to show someone how to go about ordering things from it.

When it comes to Amazon their reputation means a user is more likely to jump through hoops to complete their order, but for a never heard of site, any signs of hassle and they’ll be out the window and onto the next (Unless your offering is just so amazing they can’t resist). News and unheard of sites that are successful, “reduced friction” for their users. They seamless move users from one stage of a process to the next without having to make them think or accidentally moving them onto the wrong path. A good site needs to be more than a set of CRUD pages. It needs to be an experience that helps the user achieve what they want, in the clearest way possible.

Read More

I dreamt last night that a load of “business” people had been suddenly injected into our company. I got into an argument over the difference between two different hosts, stating that they are the same while someone else jumped in stating that they are totally different while citing various technical reasons, that really made no difference to the delivery of the project.

A while back I turned down working on an idea some acquaintances had because I didn’t have time. It ended up that someone else I knew took up the project. When first going over it myself I remember thinking a pretty much complete MVP could be done in a month or so, but last I heard, the other developer was still working on the project backend framework a few months in, with no basic site or anything in sight.

This is a common problem with starting a new site. It’s easy to get bogged down in the technical aspects while missing out on delivering actual usable software. I always remind myself of the General Patton quote “A good plan violently executed now is better than a perfect plan executed next week” and so the same stands for programming. Better to launch something sloppy today, than something perfect in the future. If the project is successful you can alway incrementally improve the code you rushed in. If the project’s a flop, you’ll know a lot sooner.

Read More

Most dreams are driven by our desire to be like our idols. We all want to achieve what they have, whether that’s to be as successful/famous/rich/fit/etc as they are. So to do that, we naturally look at what they do and imitate that. If that’s what you’re doing, STOP! Imitating them as they are right now, is not going to get you to where you need to get to. To achieve the same, you need to go back and copy your idols as they were, not as they are right now.

What they do now does not make them successful, it only serves to fuel the success they have already created. The essence of what got them there, is totally different. It’s easy to look at a person or business and think “If it works for them it must work for me!”, but the difference between them and you is that they are at the stage where they are looking for small edges they can gain, where as you still need to get all the fundamentals down before you can work on the same things.

It’s the difference between having a painting that’s 99% finished and one that’s only 10% complete. The painting that’s almost finished needs only fine strokes to finish it off, where as the other still needs broad strokes to even make it meaningful.

So think about what your doing now to achieve goals and see if you’re working on the broad or fine details. If you’re working on the details and neglecting the bigger picture then reassess what it is you need to do and do it!

 

Read More

See Part 1, 2 and 3 here: On Your Bike Pt. 1 On Your Bike Pt. 2 On Your Bike Pt. 3

The final step of getting my bike licence finally arrived. The Mod 2 is a 30 minute ride on normal roads where you’re followed by an examiner who is in touch with you via radio. You’re expected to do some independent riding where the examiner will ask you to follow the signs towards a specific location, to see how well you pay attention to your surroundings and road signs. After that the examiner will take over and give you instructions on where to go so that they can see how your react to various situations, like junctions, hazards etc. You’re marked on things like observation, so forgetting to do your shoulder checks can result in a minor mark and if forget enough times you’ll get a major mark, which is an instant fail.

As my test was at 2:40pm I was able to get a good amount of riding time in before we had to make our way to the test centre. I hadn’t been able to sleep properly the night before and waking up to rain dampened my mood slightly. But the anxiousness/excitement kept me alert and to make life easier, the sun eventually came out. I knew that my riding was fine and that the only reason I might fail would be because I let nerves get the better of me. My instructor said that as long as I rode like I had been that same morning, I should pass fine. Finally test time came around and I was feeling pretty nervous, but next thing I know, I’m on the bike heading out. Disaster struck as soon we came out the test centre. I suddenly found myself  behind a learner driver, and with the examiner right up behind me I had the difficult task of taking the first junction extremely slowly while attempting to not hit the learner or examiner. Still behind the driver as we completed the turn the examiner told me to overtake them. I was worried that I had probably failed at that point as the examiner shouldn’t be telling me to overtake, that should be my decision. With that in mind I thought that if I had already failed, I’d just treat the rest of the test like a relaxed ride around town. It helped that the first part was the independent riding section as I was just left alone to calm down and make my own way onwards. So it was much to my surprise that at the end of my 30 minute ride I was told I passed with a clean sheet. No minor marks at all. I was ecstatic and so relieved that it was finally over. After a lot of stress and worrying I finally had my motorbike licence.

It’s been quite a long journey to getting my licence, considering I booked it all the way back at the start of July. I wouldn’t have done as well as I did if I didn’t have experience riding motorbikes/mopeds in the Philippines and Thailand as well as having ridden a bike around London since I was kid, not to mention driving consistently for the past 14 years. So I had a lot in my favour going into this. I can only imagine how difficult it must be for people doing a 5/6 day DAS with no bike experience at all. Couple that with the stress and anxiety of taking the tests and going in green must be extremely difficult, not to say that it’s impossible to do.

I was going to write my advice on how to get through your DAS, but this post is long enough so I will leave that for another time. I’ll write out some thoughts and advice that helped me get through it all as I’m sure that will be useful to many new riders out there. Special thanks to everyone at Off The Kerb Motorcycle Training in White City for getting me through my DAS. I can’t recommend them enough if you’re looking for training!

Read More

See Part 1 and 2 here: On Your Bike Pt. 1 On Your Bike Pt. 2

After a couple of days out on the bigger 600cc bikes it was time to take the first half of my full bike licence test, otherwise known as Mod 1. This part is made to test your ability to control the bike in slow situations as well as dealing with hazards. It’s a reasonably quick test (usually under ten minutes) and consists of 9 set exercises: Manual handling (moving a bike by hand), slalom, figure of eight, slow ride, u-turn, cornering, controlled stop, emergency braking and hazard avoidance.

Here is the layout of the course taken on the Mod 1 test:

All of these take place within an enclosed area. The test itself isn’t particularly difficult, but it’s extremely easy to let nerves get to you and cause you to make a mistake. If put a foot down or clip a cone it’s an instant fail. you’re expected to treat it like a proper road, so you must do all of your shoulder checks before proceeding to do any of the manoeuvres and you must perform certain exercises at a specific speed. Failure to check over your shoulder is a minor mark, and if you do it enough times that’s a fail. Some common mistakes are not starting off with enough speed when approaching the slalom  so come the second/third cone you’re in big trouble as well as crossing the marked lines on your u-turn. The girl who did her test before me clipped a cone on the final hazard avoidance test which meant she failed. It’s not un-common at all to fail the mod 1 test.  I received one minor mark for going through the speed trap on the hazard avoidance one kmph below the set speed of 50kmph. If you go 48 or 49 they will pass you with a minor mark, anything less and you’re given one more go to reach the required speed. I rolled off the throttle a little too soon, unlike on my emergency stop where I went a marked 55kmph through the speed trap (well above the required speed). It’s perhaps better to go a little faster than required. Don’t look at your speedo, get a feel for what your bike sounds like at 50kmph while in second and use that to judge approach. I heard of one person going over 70 through the trap, in the pouring rain for their emergency stop, they nearly ended up in the hedge and sadly didn’t pass.

A week until the second half which is a 30-40 minute ride on the road. I’m more confident about that, hopefully nerves won’t get the better of me.

Read More