When securing an upload directory and changing a bunch of permissions on a web server, I came across this misleading error in the Apache error log (usr/local/apache/logs/error_log) :

Permission denied: /home/??/public_html/api/media/image/.htaccess pcfg_openfile: unable to check htaccess file, ensure it is readable, referer: http://**.**.**.**/??/api/media/image/00000003hpV76iNL.gif

I was searching high and low for this .htaccess file – assuming I needed to change its permissions so it was readable. Turns out though that it was the media directory itself that had bad permissions and there was no sign of an unreadble .htaccess file anywhere. Chmodding my images directory to 755 solved it.

PSN almost fully restored

I suppose I’ll believe it when I see it – but at least we have a more concrete date to expect PSN Store to be back up: http://blog.us.playstation.com/2011/05/30/full-psn-services-including-playstation-store-return-this-week/

Before this whole network outage the PlayStation Store wasn’t hugely popular among the online communities that I explored – but since Sony announced their ‘Welcome Back Package’ it seems to be creating a lot of noise. I’d go as far to say that many people wouldn’t be complaining that the PlayStation Store isn’t operational if it wasn’t for them desperately waiting to get their free games. I say it’s a good move from Sony – hopefully they’ll attract more customers to their PSN+ service and Store in genera. I’m certainly intrigued.

25 ways to ride a dead horse

Or in other words, 25 ways to combat the reality that a software project is dead – and continue to live in denial.

You would think that you wouldn’t need to be convinced to get off a dead or dying horse, right? Well I hate to be the one to ruin a party but you need to think again, because it’ happens all too often. People get stuck to their old ways and bad habits and become afraid to move forward, afraid to innovate and afraid to say ‘you know what, this project is dead and we can’t continue going like this and expect everything to be OK’.

We are just afraid to take ‘risks’ , and this isn’t generally a bad thing. It is bad however, if your understanding of ‘risk’ is compromised by some corporate assurance:

- “It’s worked like this for 25 years, why not continue riding this baby?”

- “Well boss, because it’s dead.”

Parkinson’s Law: Expanding Gas

Its pretty common that if it takes a developer two weeks to complete a task, it will also take them three, four, five, or even six weeks – depending on how long you originally gave them. This is called Parkinson’s Law, and unfortunately, it is very very real.

Compare it to a car tyre that you are filling with air. As you pump the air into the tyre, the air expands into as much volume as it can. Air of course is the developer; taking two weeks if he only needs one, or five weeks if he only needs two.

Now this is far from ideal – but it doesn’t mean that we should give a developer an unrealistic time to finish something just because we have a poor understanding of this law and think that they will be OK handling a large undertaking in a small time frame. Allow me to explain.

I want to start this article by first explaining that by simply dismissing an idea in software, you are being ignorant – and your evolution as a programmer will be severely stunted – so this is not a flame against using the Singleton pattern – it is a series of important points you should take into consideration before doing so.

Head First Design Patterns

One of my favourite books, one that I recommend to people to either refresh themselves, or to learn from scratch anything related to design patterns and the general concept of good object oriented practices is Head First’s book on design patterns.

I’m only endorsing it because I really love it’s approach and genuinely believe it can orient someone’s thought process to that of a more abstract, object oriented one. It’s pretty typical of Head First to write in such a way that engages your brain and really drills into you what you need to know, and when it comes to design patterns and OOP – it really works.

The examples are in Java, and they use real world analogies to support the uses and the best OOP practices. So if you haven’t already, read it. If you have already read it, read it again. I will.

The Cake Factory: Dependency Injection

The power of analogy is extremely… well, powerful and as such, I like to make analogies wherever possible when trying to explain something to someone who may not fully understand what would otherwise be a little too technical or complicated.

So, imagine you are a wealthy owner of a firm (if you don’t need to imagine, then good for you – but most of us probably need to) who needs to manage the construction of a factory that will be responsible for spewing out cakes. Strawberry cakes, chocolate cakes, banana cakes, beer flavoured cakes – you name it.

Powered by WordPress