Subscribe to feed

[ad#content2]I’ve been attempting to write a blog post for the last 15 minutes, and have struggled to write more than 40 words. In addition, I’ve attempted to write on 3 different ideas, and none of them have been successful.

Writer’s block is a real pain in the behind. You could waste hours just trying to put together an article, when it should only take you 30 minutes.

In a day I’ve got a limited amount of time for blogging, and if I’m unable to actually write something in the time I’ve allocated, I’m in a spot of bother.

However, writer’s block can be relatively easy to overcome. You just have to get the creative juices flowing.

I’d first of all recommend having a long list of potential post ideas that are ready to go. If I had a good idea to go with in the first place, I mightn’t have had to start this post 3 times.

Even if you have a good idea to go with, and still can’t write, it’s probably time you went for a walk. Know what you want to write about, and then go for a walk. Don’t actually think about your idea, just be aware of it. Let your thoughts stew.

If you still find it hard to write, you might have to change your idea.

[ad#content2]Although it’s not necessary to break a news story first, it is useful to get in on it early. That’s why over the last week or so, I’ve been building up a list of RSS feeds. It’s my attempt at keeping abreast with the latest news in web development.

Clearly, the best way to get news first is to get it from the source. Therefore, I’ve subscribed to many company, and project blogs. For example, I follow Google’s feed, and the CakePHP project’s feed.

However, this isn’t the quickest way to get interesting news first. The quickest way is to have companies, and projects submit news to you. But, you have to make it worthwhile for people to submit news to your site. Unfortunately, I don’t have the visitor numbers to make it worthwhile (though I might have someday).

That leaves me with having to search for the news myself. I already use the method I mentioned above, and there’s one other information medium I’d like to utilise – Twitter.

@breakingnewson is already beating the big news to reporting news. However, there is one large problem with using Twitter, and that’s volume. There are so many tweets everyday, that it’s tough to find the actual news.

So, I’m on the lookout out for a Twitter tool to help me find the news. If you know any such tools, leave me a comment.

[ad#content2]I got an iPhone for Christmas, and even though I don’t want to sound like a fan boy, I just have to say it – it’s as amazing as I thought it was going to be, and then sum. I’ve already got plenty of apps on it, most of which are proving to be very useful.

The most useful apps are probably those that come as standard. Both Safari, and Mail make the phone worth its price, never mind the plethora of others apps which you can download.

Of the apps I’ve downloaded myself, the most useful is Google’s. It makes searching an awful lot faster, and makes accessing Google Services easier. Two taps and I can read all of my RSS feeds in Google Reader. The voice search is also a nice feature, though it’s not ready for prime time – a voice search for my name returns “thailand clothing”.

I use Things multiple times throughout the day. It’s basically a to-do list with a few additional bells, and whistles. It allows you to schedule taks to be done today, or someday, and also allows you to designate your next actions. A feature fans of the Getting Things Done way of life will enjoy.

Other apps I use on a regular basis include Lists, the Evernote app, and the Wordpress app. I don’t need to explain Lists. It simply allows me to keep track of lists. The Evernote app is really useful, and allows me to make text, and photo notes which are then uploaded to my Evernote account, and the Wordpress app enables me to update this blog.

I’m sure everyone has their favourite iPhone apps, leave me a comment telling me about yours.

[ad#content2]I’ve always built my web apps, and scripts using PHP. In fact, PHP is the only language I’ve ever really programmed in. I’ve built basic bits and pieces in other languages, but nothing of more than 100 lines of code. Perhaps I should give another language a chance?

It’s important to diversify your skill set, you want to be able to program in a few languages. Then when you’re faced with a problem, you can choose the right “tool” for the job.

The languages you learn need to be different – learning C, and then C++ doesn’t truly count as diversification. You don’t count a hammer, and a mallet as two completely different tools, do you?

So, what language should I learn next?

I’ve dipped my feet in Ruby, and quite liked it, but I’ve always come running back to PHP after a while. I’d like to try something completely different.

I thought I’d try something radical. Something by Microsoft.

ASP .NET, and C# intrigue me for one big reason – they’re used by so many different software companies, and when I look at job boards, skills in ASP .NET or C# seem to be in demand. Also, C# is just behind PHP in popularity, which is a clear indicator of its importance.

So I’m going to play around with a little C#. I’m not going to invest too much time in it, but I’d just like to see what it’s all about.

[ad#content2]There have been tonnes of debates over which font is the best for programming. Everyone has their preference. My current preference is TheSans Condensed Mono by LucasFonts.

The font is used in all of O’Reilly’s programming books, and that’s how I originally found out about it. It has got all the attributes of a great programming font – it’s monospaced, and characters which are normally similar in appearance (O, and 0) are easy to tell apart. Most importantly of all, it’s stunning. It’s a beautiful font to code in. Nevertheless, it is a little pricey. For some free alternatives, check out these resources.

I’m a little notorius for being picky about the programming font I use. For example, the reason I don’t use Consolas is because its semi-colon looks ugly. If you’ve got the same picky nature as me, TheSans Condensed Mono might be the font for you.

[ad#content2]The recent security breach over at Twitter (which I’m sure you’ve all heard about) has thrown the topic of web application security firmly into the limelight. An application of such a size, popularity, and importance, should have had a few better security measures in place.

In fact the security measures Twitter should have implemented have been around for years.

I’ve already mentioned OWASP in a previous post on security, but I can’t highlight just how valuable it is as a resource. They’ve produced lots of information on web application security, and the information is kept up-to-date. So as new threats, and hacks are discovered, new ways of preventing them are created and publicised.

If you develop web applications, I’d recommend subscribing to their moderated news feed. OWASP members review information from over 130 sources, and choose the best and most useful information to display in their feed. It means you won’t have to sift through the plethora of web app security news yourself.

I’d also like to highlight a series of article produced by a security consultancy practise called Securosis. They’ve put together 8 posts on building a web application security platform. It makes for valuable reading, and will give you a good grounding on what kind of security your app will need.

[ad#content2]I’ve been meaning to learn how to type properly for a long time, but only really started to learn over the last few months. What really encouraged me to start learning this basic, but very important skill was a blog post by Jeff Atwood. Essentially, he puts forward the argument that not knowing how to type properly is like digging a hole without a shovel.

My own “make it up as you go along” method had a speed of around 50 words per minute which is a little poor after having used a computer for the last 10 years of my life. As Jeff said, “We are typists first and programmers second.” However the need to be able to type properly, and with speed doesn’t just apply to programmers. It applies to everyone who uses a keyboard.

I learnt all of the basics from a series of tutorials, and exercises by Dave Bartlett. After learning the basics, you have to practise, practise, practise. And then practise some more. You can use the following games to get some practise.

It takes a lot to change a habit which I’ve developed over the last 10 years, but I’m slowly breaking it. I can just about touch type as fast as I can type using my own method. It took me 10 years to develop that kind of speed (50 WPM) using my own method, and took me only a few months with using the proper method (granted my previous 10 years of experience were useful in learning to touch type).

Nevertheless, I’ve found it difficult to actually use my new skill. For example, even though I’ve been touch typing for the last few months, this is the first post I’ve typed properly. Learning’s one thing, but you actually have to use what you’ve learnt. Otherwise, your new knowledge will be worthless. So, I’ve just to touch type everything I type.

Also, I’d reccomend learning the keyboard shortcuts for the applications you use. It means you won’t have to remove your hands from the home row.

[ad#content2]Browsers can only display fonts which are installed on a user’s machine. To make your page design consistent across different computers, you’re limited to using only a few fonts which are installed on most computers. As a result, the typography of your website can be difficult to get right.

The following fonts are deemed web safe

  • Arial
  • Courier New
  • Georgia
  • Times New Roman
  • Verdana
  • Trebuchet MS
  • Lucida Sans

There are a number of solutions, one of which I stumbled upon yesterday. It’s called sIFR, and it allows you to embed any TrueType font that you want onto a web page. However, it has its own limitations.

It uses a combination of CSS, JavaScript, and Flash. Therefore, if a user has JavaScript turned off, or hasn’t got the Flash plugin installed, this method won’t work. But, if either of those conditions are met, the sIFR method will revert to using CSS, so the user won’t know the page is being displayed incorrectly.

The method requires the use of .swf files. If you’ve got Adobe Flash CS3, you’re sorted. If not – don’t worry – there are free tools. Both sIFR Font Embedder (Windows users) and OpensIRF for (Mac) will help you create the necessary files.

You can download the latest sIRF version here, and learn all you need to about it here.

[ad#content2]The security of your web application is important. There’s no point in releasing a great application if it’s just going to be taken advantage of. Users need to feel secure, otherwise you’re app will be a flop. The Browser Security Handbook (I’m calling it BSH for short) will help you lock down your applications.

The BSH is split up into 3 parts.

  1. How web browsers work – the DOM, URLs, and more. The section makes for good reading, even if you’re not interested in browser security.
  2. Standard browser security features – how browsers protect themselves.
  3. Experimental and legacy security mechanisms – old, and new security mechanisms.

The BSH covers all of the major browsers – IE6, IE7, Mozilla FireFox 2 & 3, Apple Safari, Opera, Google Chrome, and even the browser embedded into Android. The book also provides a number of test cases, which allow you to test for vulnerabilities in browsers which the book itself doesn’t cover.

The book has around 10 active contributors, so hopefully, it will be well maintained, and updated.

If you want a little bit more information on security (perhaps from a server-side perspective), why not try the Open Web Application Security Project (OWASP). They’ve also got plenty of information to make you think twice about prematurely releasing your app into the wild.

Update: security really is important, just look at what has happened to Twitter.

[ad#content2]I set 5 goals back at the beginning of 2008, and it’s time to have a peak at how I got on with them. Some I’ve managed to achieve, and others which I’ve been completely unsuccessful in. The 5 goals I set are as follows.

1. Make over $1000 from this blog Failed

Well, I achieved nowhere near my target figure. However, with the $50 this blog did earn, I was able to cover startup costs. It’s clear where I went wrong with this goal – I didn’t put enough work into writing good, quality content. Even worse than that, I didn’t even update regularly for the second half of the year. As a result, visitor numbers dwindled, and I made no money.

2. 100 unique visitors per week Achieved

I managed to achieve this goal, with a little room to spare. I wanted this blog to receive 100 unique visitors per week, and if I do the maths (11,789 unique visitors divided by 52.177457) I calculate that, on average, this blog was visited by 225 absolute unique visitors per week.

This goal was a little to easy in the first place, however. If I was to achieve my first goal of earning over $1000, I was going to have to have way more visitors. As my blog made $50 averaging 225 unique visitors per week, I’d say that I would have needed around 5000 unique visitors to make $1000.

3. Connect with others Failed

My third goal was to network, and I believe that I made a little headway with that goal. For a start, this blog is now connected with three other blogs (see the footer). Nevertheless, I don’t think I’ve achieved this goal, and will have to step-up my efforts in 2009.

4. Develop a cash cow Failed

Although technically this was another failure, I did make a little headway. I’ve identified a niche, and have started to work on a site which is already well ranked on Google. If I add more content and monetise it correctly, it should turn into a nice cash cow.

5. Become a better programmer Achieved

I definitely made significant progress with this goal.

I started out with the intention of  this goal with Ruby. But about mid-way through the year, I switched to my old programming friend PHP. The switch was a smart move. My programming skills, as well as the way in which I tackle problems, have improved considerably. I bought a few intermediate books, and even started to get to grips with frameworks, and how they work.

My goals for 2009

Although my goal record for 2008 was a little rough (I achieved only 2), I do want to set a few goals for 2009.

1. Update this blog on a regular basis

This is essentially a get back into blogging goal, as in the second half of ‘08, I bowed out. I want to pick a format, update regularly, and hopefully make this blog a success.

2. Further develop that cash cow

I’d like to finish of developing the site I’ve started building. I then want to monetise it, and see if I can make it grow even further. I’m also looking to identify a few more potential cash cows.

3. Become a better programmer

This goal is exactly like the goal I set last year. I want to improve my problem solving skills, and I want to become a better PHP developer.I’ve already joined a PHP-based project on SourceForge, so hopefully I’ll do well with this goal.

    I’m sure 2009 will be an interesting year, just as 2008 has been. I wish everyone all of the best in 2009, and work hard at the goals you’ve set for yourself.