Hard Deadlines

On almost every single project I’ve worked on, hard deadlines have nearly always been the cause of any stress or frustration that arises. One day you’re asked to make rough estimates and then next thing you know they become pegged to a date in the future that you must meet at all cost (But you said you think it would only take X days!). Even worse is when someone non-technical makes the estimates for you and passes them down from on high (Look, this is the all the time we have, I’m sure you’ll be fine!).

Why do we still insist on having hard deadlines? Yeah I know, we asked for more features but now the project is “late” so you’ve failed to do your job. Yet, if the deadline wasn’t concrete, the project would have more features then initially scoped and delivered in a timely fashion, you’re a success!

New features are always requested, changes are always wanted and bugs will always be found. If everyone just accepted (understood) that writing software isn’t exact science then we’d all have a lot less stress to deal with and we can stop feeling like a failure for not meeting that pie-in-the-sky deadline.

The Internet is a Shit Hole

Recently I’ve been teaching a person older than me (60+) how to use a computer for the first time as well as how to get to grips with using the internet and email. While it’s been a test of all my patience, one thing is for sure, that trying to show someone how to search for something is a nightmare because every result is filled with ads and filler, and more than half the time the actual content doesn’t start until way below the fold. Just imagine how crazy that is for someone who is still struggling to use the scrollbar!

After so many years of using the internet, you learn to just filter out all the noise and just quickly scann each page to see if it’s relevant or not, but sitting with someone new to all of this is staggering. They just don’t know what they’re looking at or where to even go for what they really want. Search results are down the pan and content providers are just optimising for revenue. Content sites are 90% filler and nothing but subtle attempts to direct you to other pages.

The internet is just a ghetto full of shit.

‘FBML’ [undefined] is not an object

First let me state how much I dislike developing for the Facebook platform. It’s just one constant headache. Things are always changing and breaking things. Anyways, I’ve been banging my head against the wall all day trying to get some FBJS running on a canvas application that’s embedded on a Fan Page tab. No matter what I did, I kept getting the error:

Even using Facebook’s own FBJS examples left my tab in a hung state, with the spinner just continuing forever. After hours of playing around, the problem is that I’m trying to use Javascript one page deep into the application (The landing page itself has no FBJS). Once I added an opening and closing script tag to the landing page, my FBJS woes vanished.

Skype on OSX

There’s just something about the way Skype looks on OSX that really bugs me. I can’t tell what it is, but the UI just feels really intrusive. Then again, it’s probably not supposed to be kept visible like I do with my contact list in Adium, which has a brilliant transparent and borderless option.

Customer Service

I suffered some pretty poor service when I returned to JEM Ltd to have the faulty valve fixed. I won’t go into details but here are what I think are ways of offering good customer service:

Apologise

Whether or not a customer’s complaint is valid and even not your fault. Just say sorry and try to understand where the customer is coming from. At rather then just being told “We’re really sorry, we’ll do our best to help.” they tried to wriggle out of having anything to do with the problem. Although a short term win for them, I’ll never be returning and will be making sure I make it known to anyone I can to never go there. Any short term loss involved with rectifying my problem would be repaid through repeat business and word of mouth about the quality of service. Washing your hands of a customer’s problems is not a recipe for success.

Listen

When a customer is angry, don’t point it out, you’ll only make them more angry. Saying things like “Before you get angry” or “If you’ll just calm down” will only infuriate them more. I’m not normally one to get angry and wasn’t at the time, but wow, did this push me over the edge. People get angry when they fell like they aren’t being listened to. Shouting is a way of making yourself heard. So if a customer is shouting at you, double your efforts to listen to them. As corny as it is, God gave us two ears and one mouth for a reason.

If I was Microsoft

Microsoft recently started their new ad campaign where seemingly normal people try to buy a new computer. They’re given a budget and if they find one that fills their requirements, they can keep it.

The first advert follows Lauren with a budget of $1000. She wants a laptop that’s fast, has a comfortable keyboard and a 17” screen. On her quest for a laptop she visits the Apple store and comes out saying they are over her budget and that she’s just not cool enough to be a Mac person. She has no trouble finding a suitable laptop in regular electronics store and ends up purchasing a HP Pavilion. The second advert follows Giampaolo with a slightly bigger budget of $1500. He wants a laptop that’s portable, has good battery life and power. Once again there is a poke at Apple. This time they are more about aesthetics rather then power and that he doesn’t want to be paying for a brand. And once again he ends up with a HP Pavilion (Oh, HP, that’ll be the brand you just paid for then).

My problem with the adverts isn’t the poke at Apple, but rather they are promoting a non-message. If I’m going out to buy a new computer and I don’t want a Mac or want a Mac but don’t want to save for it, I have no choice but to buy a PC. I can’t see them swaying the people who have made the choice to switch and have the money ready to buy a Mac. So who are these adverts aimed at? There’s no competition in the sub $1500-$2000 range, so is it even worth doing at all. Honda make ads to stand out amongst Toyota, Ford etc. They don’t make adverts in the hope that they’ll stop people that are thinking of splashing out on an expensive sports car, and sway them to settle for a Civic instead. This and the previous ”I’m a PC” series of adverts just end up legitimising Apple’s presence. Apple is a tiny dog biting at the heels of a giant, yet Microsoft feel like they need to gear their entire consumer TV advertising campaign to take them on. The campaign may well be just insurance for Microsoft. How many heads would roll if they decided to ignore Apple completely, or not even bother advertising to consumers, and then their market share tanked. Perhaps it’s better to appear to do something, then to not do anything at all. On the other hand though, could all that money be better spent doing something else.

All of which leads me onto what I would do if I was Microsoft. Simply, I would advertise Windows 7 and IE8. I’d give people hope once again in Microsoft products (Hopefully the products would match the hype). But I’d ram it down people’s throats day and night. “Forget what you thought about Vista, Windows 7 is coming”. “Experience the web like you’ve never done before. IE8 has arrived”. That sort of stuff.

Perhaps that’s what I find so alluring about the “Apple way”. When you see them in use, you feel like you’re being taken to a time and place beyond the normal preconceptions of how technology works. Microsoft used to have that. Microsoft used to ask “Where do you want to go today?”, with the promise of taking you there, no matter how far fetched your dreams were. Now they just state “Your potential. Our passion.”, which leaves you with the sinking feeling that really over the years a massive void has grown between us and them.

Removing Coding Horror on Twitter

After reading the Jeff Atwood’s arrogant post on IMVU’s brilliant technical success’s, reading this was the final straw in clicking the remove button on his Twitter feed. What does arrogance have to do with making a business decision not to do a netbook? Sometimes things just don’t make business sense. When you brand yourself in a certain way, why would you want to potentially harm that perception with a bad product. It only takes one bad decision to unravel years of good ideas and brilliant execution.

They’ve learnt well from their own past and other people’s mistakes of trying to do everything and be everything to everyone. They’re not a “me-too” company, and becoming one would probably be the end for them. They don’t need to do X and they don’t need to do Y just to satisfy investors or the public at large. They owe no-one a netbook.

Java Security Stupidity

No matter how many times you click cancel, this dialog won’t go away. You’re left with no choice but to click run. Can someone explain the point? If I click cancel, don’t run the embeded Java application, simple, don’t spawn the dialog endlessly.

Investing in Your Own IT – The Ultimate No Brainer Pt. 2

This is a follow up to my previous post about investing in your own IT. The more I think about the more I keep coming back to the thought that it’s not about investing in IT, it’s really about investing in your people. After all, without your people you’re nothing. Yes, without your people you are nothing. Zilch, nada, zero, nil, null.

You’re not spending money on new computers so that tasks are done faster or made easy to achieve. To claim that is to say that the key to success lies within the tools. It doesn’t. It lies within the people. “Well”, you may say, “then it doesn’t matter what equipment I give them then!”, and with that you would join the many number of managers I’ve heard say the exact same thing and who I believe had no a clue as to what their people actually did. Good tools do not create good developers, but bad tools do create bad ones. And I don’t mean bad in the sense that all of a sudden they start writing bad code, but that they become de-motivated, uncaring and uninterested in their work, to the point where it has a significant impact on their deliverables.

Now you could say that a developer worth a dime will rise above and make best with what they’ve got, but we’re a proud bunch of people and of course want nothing more than to do good. But if you begin to even start to feel like you’re being set-up to fail or that you are not important, then it’s lights out and that is going to have a major impact on your motivation and which will affect anything that you are supposed to deliver. A motivated developer will always create something faster, better and stronger then one that isn’t. A motivated developer is a productive developer.

“Hey, I’m paying these monkeys! So they can just lump it or get the hell out.”

Well at least you are brave enough to admit that you’re paying people to put up with your shit. But why? Why be shit? Isn’t there some part of you, deep down, that just wants to blow the fuck off the roof and do extraordinary things? It all comes down to self-development, whether that be the self as an individual or the self as an entity, like a company. I touched very briefly on the subject in my post about typing, the short of it being, if you have the opportunity to improve, why would you not do it? There are, of course, reasons not to. Perhaps it’s fear. There is the fear that if you make the effort to try, that you will fail and others will laugh at you, or there is the fear that the actual process of trying to improve will only expose your flaws, and no one one wants to be exposed as being a complete moron (You know who you are). Perhaps it’s monetary. To get better, you may need to buy new equipment, new materials, go on courses, whatever. It’s easier to steer the course then it is to make waves. There are always reasons not to do something, but does that mean we shouldn’t do anything? Of course not. Let’s give our developers a moral boost. Let’s motivate them. Let’s make them feel important. Don’t stick them on shitty machines with small monitor/s.

Fuck it, where’s my new machine?

[Flowchart modified from the Panflute Flowchart]

“It works 60% of the time, all the time!”

You can’t get a little bit pregnant. – Lou Mannheim

There’s a story about a manager that said his team was doing scrum/xp. When pressed as to the details of what that meant, the manager replied that they were doing ‘no documentation’. Scrum is the in project management methodology of the moment. Quality? Scrum! Clear deliverables? Scrum! Happy developers? Scrum! Pole dancing midgets covered in maple syrup? Scru… Hey wait a minute!

So yes, Scrum and what does it have to do with getting a little pregnant. My point is, if you’re going to do it, you need to go the whole way. It’s not enough to just dip your toes in the water. You may refer to your current load of work as a sprint, refer to units of work as stories and may even refer to your working capacity as your velocity. But, scrum is not about giving names to concepts, or about having a backlog, or having a burndown chart etc. Even if you did all of theses things together, you would still not be doing Scrum, because it is more then the sum of its parts. And I can guarantee you that if you start going down this path of faux Scrum, when things start to move slightly off course and panic starts to creep in, you’ll dip into your old ways to “fix” the immediate problems and then when the shit really starts to hit the fan, you’ll give up on it completely and deem the whole exercise a failure. That’s why you can’t get a little bit pregnant. You’ve got to go all the way and get to fourth base.

“Woah, Joe, all theses companies are succeeding with Scrum, we should do it too!”, “Yeah lets!” – High five! The product backlog gets written up, the burndown chart gets drawn and every morning there’s a stand up meeting with some people to discuss ‘work’. A week or two goes by and it really starts to feel like the wheels are greased and progress is being made. Then an urgent client request pops up, a massive bug has been found, or that feature they asked for two months ago and which they’ve just seen (Hey, we’re retrofitting Scrum to primarily waterfall driven project), isn’t what they wanted. Well the request is fine, we’ll go through the current sprint’s backlog with them and they can decide what they would like pushed back. Oh, they don’t even know what a sprint is, “What did you say? Spinelog?”. Well the bug is not a big deal, we’ll just run our tests, make the amends and get it sorted real quick. Oh there aren’t any tests. Ok well at least the incorrect functionality we can handle, we’ll just plan it into the current or next sprint and continuous integration means they can monitor the progress as we go a long. Spontaneous combustion? Fuck me. It’s not good enough to pretend, or for the development team to do it in isolation from the stakeholders or customers. To succeed you need buy-in across all the people involved with bringing the project to fruition. Everyone needs to understand the process and understand the role that they play. Pretending to do it ends up giving the team (mostly management) a false sense of security and that can really come round to bite you in the arse.

Don’t get me wrong, I’m not saying that doing Scrum in the above fashion is always wrong, because sometimes your circumstances leave you with little choice. But, what I am saying is that proclaiming to be doing Scrum without understanding it all the while living in blissful ignorance of the flaws of your own processes, is bad and harmful. I don’t mind mistakes or doing things the wrong way when you start out, because really you need to start walking the path before you can get to where want to be. I just can’t stand people saying their walking the path when really their just sitting on their fat arse, biding their time.

Man looks into the Abyss, and there’s nothin’ staring back at him. At that moment, man finds his character, and that’s what keeps him out of the Abyss. – Lou Mannheim

Steve Ballmer on the Mac

I’m very sensitive to exactly what mouse I have on my laptop. Can you find a range of choices? [for the Mac] Of course you can’t find a range of choices. You know, anyway — can you find the applications you want on the Mac? Well, you don’t really get full Microsoft Office.

Steve Ballmer

Seriously, come on. Next he’ll be telling us how you can’t even right click on a Mac. It’s tiring enough to hear this sort of BS from everyday Windows users, but from the CEO of MS? *yawn*

Investing in Your Own IT – The Ultimate No Brainer

I’ve been cursing my work computer all morning and am once again considering either bringing in my computer from home or just buying one outright (It wouldn’t be a first. I paid for my own monitor here at work. Go figure). Kris Kemper wrote a good post on the subject a few days ago.

I’ve seen this on every project I’ve been on. We are given slow machines, and time is lost. It may be lost because I’m running grep over a lot of files, it may be because when I have my all my development tools open and the machine slows down.

To me, when you’re in the business of developing software, investing in your own companies IT is a complete no brainer. Companies are normally extremely quick to spend on server hardware, but when it comes to development machines, spending is often few and far between. My machine here at work isn’t a “horrible” machine, but the agony it puts me through makes me feel that it’s perhaps not best suited to the task of developing on. But then even simple tasks seem to thwart it with constant disk grinding. I tried deleting an old repository checkout, no more then 200mb on the disk, and stopped it after it had only reached 14% done in 10 minutes. Virus checking my update of DirectoryOpus took nearly 3 minutes. Maybe it’s just a build issue and not so much a hardware one. Vista complains that all off the Office 2007 apps are not valid Win32 applications or the Snipping tool politely tells me it’s not working “right now”. Yes, I can see that. Whatever it is, it’s not the sort of shit that you need when you’re in the middle of something. Whatever, they should have got me a Mac.

I can understand that sometimes you just can’t afford whizzy machines or the latest version of software. Just don’t let me catch you running a .NET stack and complaining about not being able to afford machines fast enough to run it.

No Thanks

A deal that would cost each American taxpayer $5,300 to rescue the banking system and save the world economy from catastrophe was agreed in outline tonight.

Reading that the US Goverment has coughed up $700m to bail out the banks is one thing, reading it in the context of how it’s going to affect all 240m odd adult Americans is mind blowing.

Mac Spore Startup Freeze

If, like me, Spore freezes on the splash screen when you start it up, with one running process and one non-responding one, then all you have to do is*:

  1. Browse to the SPORE application in Finder
  2. Right-click the spore application and select “Show Package Contents”
  3. In the new finder window browser into the the MacOS directory and move the “cider_noui” file away to another location, like your desktop.
  4. Launch Spore again and keep your fingers crossed.

I found this piece of information through MacRumors.

* I do not take any responsibility for any damage these steps may cause. You follow them at your own risk and understanding that they may cause further issues and that they not work in all circumstances.

Concrete boo-boo

Right so we can safely say that the iPhone does not mix well with concrete. The bloody thing dropped out my pocket when getting out the car. I see that replacement screens are around £15 with the tools required to do the job, which isn’t too bad. The only downside is, it looks like a complete ball ache to actually do. I’ll see how I feel about the screen in a couple of weeks.

My cars got a wonky butt.

Someone liked my car so much, they decided to take a closer look with the front of theirs :(As I’m at no fault, it shouldn’t be too much of a pain to get it sorted out. Fingers crossed it’s not a write off!

Mistakes and Mis-judgements

Oh well, shit happens. Confronted with another car in the already tight underground car park, I managed to avoid hitting the other car but managed to scrape my rear panel on one of the many concrete pillars. Of course me being me, rather then take a breath and back up, I powered through :D Thankfully after some t-cut, it’s not actually that bad. I’m still alive, the car still drives. It’s all good in the end. At the time I was extremely gutted, but buffing it out with t-cut proved very therapeutic. I don’t know why but I was more angry the day I first kerbed my wheels. I’m not going to waste my money getting it sorted. The £1k-£2k it would take to put right would be better off either going towards something else or getting the car to 450+ bhp. Sod having a “perfect” rear panel when I can have a proper mental car.

Pre T-Cut:

Post T-cut:

Whiney Weightloss

Sometimes when I run out of stuff to read on the Mens Health and T-Nation forums I have a quick flick through the WeightLossResources one in case theres something interesting happening. I can’t begin to describe how much this forum pisses me off. Maybe I keep coming back in the hope that someone will have written something sensible for once but its the same mindless drivel every single fucking time. 99% of the time it’s a women moaning about how they totally pigged out because of something like they broke a nail or someone said something mean at work. So everyone piles on the sympathy and I’m just left thinking “Wait lets face up to the reality of that instead of making her feel alright about it and trying to justify it”. We’re not even talking about eating maybe a Snickers bar or maybe a packet of crisps but some proper BBW pigging out. There are also a lot of posts along the lines of “OMG I had a big dinner last night and this morning I’ve put on 2lbs. I’m not going to eat for a week.” or “I’ve saved up enough calories this week/month/year to eat whatever I like without putting on weight.”.

Maybe it’s just the attitude I picked up from the Mens Health ones in that if you want to look good you’re going to have to work at it and give it 110%. It’s good to eat the things you like sometimes, but gorging yourself is just going to undo all the hard work you’ve put in.

Well I’m hardly one to talk as I’m no where near my goals yet. I measured myself at ~17/18% bodyfat at 189lbs. So I’ve got to drop at least another 14-15lbs of fat before I can start to think about builking.