How to become a programmer

In the last couple of days I repeated this more than four times, so let me post it here for any future references.

Two points for those who want to become a programmer.  First, there is no lack of information these days. There are numerous tutorials online and books in print.  There are magazines, classes, mailing lists, search engines, and everything and anything you need.  But all that information won’t make you into a programmer.  In order to become one, you have to program.  There is no way around it.  You have to design your programs, write the code, debug it, test it, document it, and maintain it.  And you should also read good code that other people wrote.  There is no lack of open source projects these days – take the most popular ones and you’ll learn a lot.

Secondly, among all those available resources, I can suggest two books and two books only.  If you read and study both of them, you won’t need to read another book about programming your life time.  The first book is “The C programming language” by Kernighan and Ritchie.  This is an all time classic.  The second book is “Programming Perl” by Larry Wall.  This is a piece of modern literature.

More polish with WordPress plugins

I am still polishing a few things here and there on this site. If you don’t follow my Twitter stream, then here is a quick update for you since I wrote about it the last time.

  • Installed 404 Notifier plugin. When somebody hits a non-existing page on my site (Error 404 – Not Found), I get an email telling me which page was missing, from where the visitor came, and what browser he used. Since I don’t have the time to monitor my web server logs closely, it was often that I missed something and didn’t know about it. Now, this plugin tells me if I need to fix something. First few days were a real something for my Inbox, but it seems that things are slowing down. Most of the stuff has been fixed and now it’s mostly notifications from SPAM bots and references from some really old web sites.
  • Installed Search Unleashed plugin (and removed Search Hilight plugin). Search Unleashed provides an extended (and much needed) functionality for WordPress searching. First of all, it does plenty of highlighting. When you search for something on this site, or if you came to this site from search results of one of the major search engines, you’ll see your query highlighted on the page. Secondly, Search Unleashed extends searching with patterns. So instead of searching for “Limassol” and then “Limasos”, you can now search for “Limas*”. You can also use quotes to search for an exact phrase. And you can even use some logic operators. If you are interested in these things, check plugin’s page for more information.
  • Installed WP-Cache plugin. This one should have improved the speed of the site quite a bit. Unfortunately, I can’t make sure of that myself, as my Internet connection is the real bottleneck. However, I do have a feeling that loading of the front page is a bit faster. On the other hand, I get a feeling that posting a comment now is a bit slower. If you noticed any speed changes here in the last few days, please let me know in the comments.
  • Installed Google (XML) Sitemaps Generator plugin. This one should help Google (and a couple of other search engines that support the standard) to index the web site better. Hopefully, this will bring more people to the site and increase the number of comments we have here.
  • Installed WP_PingPreserver plugin. I often publish posts with links to a few previous articles, and when I do it, only the first of the articles gets a pingback. With this plugin, all of the linked articles should be pinged.
  • Fixed Google Analytics code. Now my statistics will work again and I’ll know better who visits the site, when, from where, and why. Spotting problems will also be much easier.
  • Fixed plenty of links. Mostly these were links to my old photo albums. Before, I used to have them on my server, but then moved them to my Flickr photo stream. The links in the old posts were broken until recently. Now you’ll be redirected to the appropriate section in my Flickr archives.
  • Added protection from some major SPAM bots and other “bad guys”. This was done through .htaccess file with many of the tips coming from this article. If you suddenly get a “Forbidden” error message or get redirected somewhere that you shouldn’t, please let me know via comments. If comments don’t work for you, send me an email, SMS, or IM.

Update: Oh, and I’m still moving things around the sidebars.  This should stop eventually…

Growing technological expectations

While reading through this post which discusses several office applications and their approach to group collaboration and offline editing, I once again got amazed as to how fast our expectations of technology grow.  Just think about the complexity of the problem scope – synchronizing a document which has been edited by serveral people, some of who has probably worked online.  And we, end-users, just expect this stuff to work.  More so, we expect it to work in all available alternatives.  And even more so, we expect this functionality to be given to us for free…

I guess I’m just trying not to remind myself of how things used to be five, ten, or fifteen years ago…

Having fun with the Sidebar

I had a mood and a few moments to spend on making my blog better. This time I decided to take a closer look at the sidebar. I’m not finished yet, but the changes that you can see are the following:

  • Compressed archives. Archives have been taking too much of valuable space, so now they are compressed. You can either navigate (page by page) through archives for a particular year (which, I guess is not very useful), or click on a plug sign near the year that you are interested in. You’ll see the year expand into a list of months that have posts. Click on any month, and you’ll see the posts. If you want similar functionality for your blog, I used the Collapsible Archive Widget plugin.
  • On this day. I’ve been blogging for a few years now and managed to accumulate quite a few posts here. But neither me, nor most of the visitors to this blog ever went through the archives of this blog. It’s a shame, since there is plenty of cool stuff in there. I’ve installed On this day plugin, which shows up as a widget in the sidebar and shows a list of everything that got posted on this day in previous years. Also, if you are not on a front page, but reading a post, sidebar will show you more posts not from today, but from the day that post was published. It’s fun, like any other attempt of a time machine.

Update: Collapsible Archive Widget plugin has been replaced by Fancy Archives plugin, which is a bit more flexible and suits the need better.

Tip for web promoters

If you care about web promotion of your web site, if you post articles titled “10 steps to do XYZ” or “ABC in 3 minutes”, if you want your blog posts to be bookmarked across all social networks, if you follow your incoming links with more attention than your personal hygiene, then here is a tip for you.

Look at the limitations that social bookmarking services impose on their users.  Make sure that you provide a quick way to bookmark your site with sufficient information which is within those limitations.

Take del.icio.us for example. Which limitations does it impose on the users?  There are a few, but the main one is the length of the description.  Whenever I bookmark your web site, I can only post 255 characters of the description.  This is too much and this is too little.

This is too much if I will have to type my own description.  I don’t have the time to describe all the web sites that I bookmark.  For many of them, I don’t even have any idea of what to write, since I bookmark the web site to check it out later… So whenever I bookmark a web site, I look around for a quick way to generate that description.  And the easiest and fastest way is always a copy-paste.

That’s where that description length limitation becomes too small.  Most web sites have an “About” page these days.  But it’s too long for a description.  A couple of paragraphs could do, and I can almost always find those paragraphs to copy-paste, but they almost never fit into 255 characters.  That’s where you come in.

First of all, make sure that there is a piece of text, less than 255 characters long, that gives me an idea of what the article is or post or page or web site is about.  Secondly, make sure that I can find that piece of text easily.  Make it bold.  Put a border around it.   Slap a “Synopsis” or “About” or “In brief” label somewhere nearby.  You can even go as noisy as “del.icio.us users might want to use this as description: …”.

Why would you want to go into all that trouble?  Because this will help me, your visitor, to keep my bookmarks organized and annotated.  I will be able to find this bookmark much faster later on.  And that means that chances of me coming back, of me sending this link to someone else, or blogging about it are much higher.  And that is what you, as a web promoter, want.  Isn’t it?