Contests for bloggers

One of the best things about blogs is that you can actively participate and contribute in the happenings of the blogosphere instead of just being a passive consumer. Here are some contests for bloggers with some pretty neat prizes.

For all you music fans out there who have been wanting a portable mp3 player but for whatever reason haven’t got one yet, Ms. Danielle is giving away a free 30GB Microsoft Zune to one lucky blogger. MsDanielle’s  blog site has articles on a wide variety of topics including blogging tips, making money from blogs as well as random stuff like adopting a needy pet.

In case you were thinking about getting yourself a new monitor, you might just win one. You’ve probably heard of John Chow at John Chow dot com, who gives lots of advice on  making money online and now he’s also giving away a brand new 24″ wide screen LCD monitor by LG Electronics. The contest is being sponsored by BlueFur, a company who enjoys hosting Canada (as well as other parts of the world).

All you have to do is write a post about each contest and link to the sites. You’ll find more details on the contest pages. Have fun and see if Lady Luck is on your side.

3 Productivity Questions

Technology and productivity have been intimately linked for quite a long time and it’s still not really clear whether technology helps us or hinders us. I personally believe that it all depends on how much technology you use, what you use and how you use it. I’m not really a fan of productivity blogs, there are only two that I read on a regular basis: Productivity501 and Scott H. Young. Productivity501’s Mark Shead recently interviewed about 30 bloggers asking them three simple productivity-related questions. And now he has thrown it open to the public. Here’s my take:

1. What is the single biggest way people waste time without even realizing it?

I would have to say multitasking. A lot of people think that they will be able to get more done if they do a lot of things at the same time. While some people might be good at this, most people aren’t and they will end up simply wasting time. Remember that switching tasks requires changing your frame of mind to handle the new task, in effect, reloading your mental RAM. The more tasks you try to handle at the same time the more time you will spend moving between tasks and switching mindsets. Not only do you waste time, you will also tire out faster than if you devoted yourself to one task at a time.

When talking about computers, one fact that many people overlook is that out the dozen windows that some people keep open, only one or two are really being used for work. The rest are just there, more often distracting you than helping you. Please remember that reading blogs or chatting with friends while working on your project doesn’t lead to increased productivity.

2. What change has made the most difference in making you more effective in life.

This is an easy one for me to answer: making an sticking to an appropriate routine. Google Calendar is one productivity tool that I’ve come to depend on. Not too long I used to waste hours of time simply because I couldn’t remember or decide on what to do. Nowadays I spend the last fifteen minutes of my waking day making up next day’s routine. I have different calendars for different areas of my life (Academic, writing, social) etc. and they are each different color. I allocate between 1.5 to 3 hours to a single area and if my daily schedule is colorful enough, it means that I generally have a good balance. A large, uninterrupted swath of a single color probably means that I’m spending too much time on one thing and that I need to space out so that I don’t get bored.

Of course the times that I allocate aren’t always accurate. If I find myself unable to finish my work in the allocated time slab, I have to decide whether I can take a break to do something else and come back later or whether it is more important that I just get it over with no matter how much longer it takes. If I happen to finish early I pull up my simple pen-and-paper to-do list. This list contains “tit-bits”, tasks that aren’t important enough or long enough to warrant a place on my calendar. I can generally get them done in less than ten minutes without much of a mental or physical effort. I find that this combination of a proper daily schedule for longer block tasks and a sinmple to-do lists doe smaller things helps me save a rather large amount of time each day.

3. If someone were to read just one post from your site, which would you recommend and why?

A hard choice to make, because there are a number of articles that are close to my heart. However as a representative of this site, I would like to put forward my opinion piece on Mathematics: A Universal Language. Though I generally write about technology and computers, mathematics is something I’m very fond of and I personally consider a good grasp of Mathematics a prerequisites for anyone seriously interested in computer science. A lot of people who work with computers daily including many IT professionals, programmers and sytem administrators aren’t really aware of the deeper mathematical basis of what they are working with and I think a lot of this is because many people consider math to be very hard, simply because they were taught in a very uninteresting and rather tedious manner. This post outlines how I would like mathematics to be taught and how I try to teach myself mathematics. This post really doesn’t get much traffic on its own, but if there’s one post that I would like more people to read, it’s this one.

Is your music collection a mess?

If you own a computer, chances are you have a music collection weighing in at a good few gigabytes. My own collection is currently 5.3GB and that’s not counting the dozen or so CDs that I will rip before moving to college. The problem is that it can become very hard to find something that you’re looking for if your collection is not organized properly. If your music has lots of different sources, i.e. songs you’ve ripped yourself, songs your friends have given you, songs you’ve downloaded off the internet, you could find that there is very little order running through how your music files are named and organized.

It will take some time and a fair bit of manual work to get your collection sorted out, but you will probably find that it is worth it in the long run. Since most people tend to have primarily mp3 collection, I’ll make this mp3-centric. There are two aspects of an mp3 file that can be used to keep things organized: The file name and the Tag information. While most music players will give preference to the tag information, your filemanager probably cares more about the filename, so it’s a good idea to have them both in shape. But before you start diving in and renaming files, you’re going to have to decide on a proper organization scheme. One of the simplest and most effective ways is to organize by artist and then album. You create one big folder for all your music, inside which are subfolders for each individual artist. Inside each artist’s folder, you have one folder for each album. If you have a lot of singles or a lot of songs from various artists, you might want to create a Singles folder for each artist or one big Miscellaneous folder.

After that it is time to decide on a naming convention for your music files. There is a lot of information you would want to store about a file, but the filename isn’t the best place for it, that’s what Tags are for. One thing you would certainly want in a filename is the name of the song. After that you could add the artist name, but if your collection is already organized by artist, that could be redundant. On the flip side, if you move files around a lot, artist name could be a life saver. I personally put in the track number followed by the song title to make sure the files are properly sorted in the filemanager itself. If you’re going to be using track numbers, please make sure to use 2 digits otherwise the filemanager will probably show track 1 followed by track 10, 11 and so on until 19, 2, 20 etc.

A far better way to store data regarding your mp3 music is in the file’s ID3 tag. You can put in a variety of information including title, artist, album, track number, year, genre as well as comments. This information becomes part of the file itself and most media players use this information to sort playlists. Many media players include a way to edit these tags (so do some filemanagers). But you will probably want a separate editor program (I recommend mp3tag for Windows), especially if you want to change a lot of tags or exchange information between the tag and filename. Each editor generally has a slightly different way to edit tags but one feature many of them have is the ability to either rename the file itself using tag data or gather information from the filename and place it in the appropriate tags. It would be a good idea to learn to use these features as they can save you lots of time. In case your ID3 tags are very incomplete, many editors also allow you to lookup appropriate tag information from the Internet. Just make sure that you very what information has been retrieved before committing to a change, or you could end up with hopelessly incorrect tags.

I’ll end this post with a word about the Library feature provided by most modern players. These libraries generally use ID3 tags to organize your music, so it’s a good idea to make sure the tags are correct before relying on a library to manage. Some players like iTunes allow a lot of abstraction regarding exactly where in the filesystem your music files are located. While this may not be a problem if you use iTunes exclusively, you should probably take the time to find out where they are located in case you ever need to use your music collection without using the player. That being said, modern players provide a lot of additional features to organize your data (including my favourite: smart playlists) so by all maeans make the most of them. And let me know if you have any novel ways of organizing your music.

Choosing A Mac

I’m starting college this fall at Lafayette College, Pennsylvania and now that I have my visa and my ticket, it’s just a question of getting the details sorted (and packing). I know I’m going to need a computer, especially since I’m planning to major in computer engineering, but I’m not getting one here (here being India), because if anything goes wrong, support could be a pain in all the wrong places. I’ve already decided that I’m going to get a laptop, mostly for portability reasons (I’d like to bring it with me when I come home). And I’ve also decided to get an Apple. Why? Because I’ve always been fascinated by Apple, but never had the chance to handle one, and more importantly, Apple now uses Intel processors. This means that I can Windows (if I need to), but also that I can run Arch Linux without much of a hassle. I also get large student discounts of $100 to $200 depending on what I buy.

Apple has two lines of laptops: the MacBook and the MacBook Pro, each with 3 models. From the beginning the top MacBook Pro was out: it was simply too expensive. I seriously considered the middle MacBook, which would cost me $1199 and had good features. With a 2.16GHz Intel Core 2 Duo, 1GB RAM and a 120GB Hard Drive, it’s better than any computer I’ve ever used. And it looked great too. But there was a hitch: the screen was 13″. While that isn’t particularly small for a laptop, I wasn’t sure if it would be enough for me. Considering that this machine would be my primary (and possibly the only) computer for the next four years, I couldn’t buying something that I wouldn’t be able to use full time without regrets.

While I was considering this, Apple upgraded both the MacBook and MacBook Pro lines. I liked the bottom MacBook Pro a lot. Not only did it 15.4″ LED display and backlit keyboard, it sported 2GB RAM and a very attractive Nvidia 8600 GT video card. But was it worth $1799? The bigger screen was definitely a big advantage over the MacBook, and the better RAM and video card made it reasonably future-proof. In the end I decided to go with the MacBook Pro. It did cost a lot more, and buying it will probably mean no snacks for a long time, but since I’m making an investment for four years, I had better make a good one.

My plan was to manage my first semester with campus computers and buy around December or January. That would let me save some money from campus jobs so that it wouldn’t be completely out of my parents. It would also mean that I would get the new version of OS X: Leopard preinstalled (it’s due for release in October). But no sooner had I made up my mind, Apple came out with an offer I found very hard to resist: A free iPod Nano with every Mac bought with a student discount. Problem was, I had to buy before September 16. I really wasn’t looking to get an iPod, at least not now, but it’s hard to pass up free stuff. Unfortunately, if I wanted to get my Nano, not only would I have to pay almost as soon as I started college, I would also have to pay later to upgrade to Leopard, not something I wished to do.

It was time to do some serious thinking. I could stand to save $200 but if I was forced to upgrade later, it could cost me a lot more. So I search around the web and gather some data. First the free Nano wasn’t a free Nano at all, it was a rebate for $199, same price as a Nano. Secondly, for only $50 more I could get a full-fledged iPod, and still avail of the rebate. Third, the Leopard upgrade would probably cost $129, but with my student discount, it would only cost me $69. Fourth, there are some rumours that a new iPod might be announced soon and this offer is something like stock clearance. While a new iPod might be great news to some, it isn’t too much of a deal for me. I will be using it primarily for listening to music, keeping my contacts and calendar with me wherever I go, and occasionally for file storage. Since I won’t be watching videos or storing tons of pictures, I really don’t care for bigger screens or anything of the sort that might be introduced later. Ultimately it all came to a question of calculations:

If I took up the offer I would end up paying: $1799 +$249+ $69 – $199 = $1918, for a MacBook Pro, iPod and Leopard. If I waited a few months, and eventually got a Nano instead of a full iPod, I would still spend: $1799 +$199 = $1998. That’s a saving of $80 at the risk of a slightly outdated iPod and an early buy. Even if I have to pay the full $129 to upgrade to Leopard, I still save $30, and that sounds like a good deal to me.

If you’ve been wondering about similar deals, or about which Mac to get, I hope this has helped. I should mention that I’m still not sure whether I should get a 4GB Nano for $199 or a 30GB iPod for $249, but either way it’s a decent saving.

What is programming?

A lot of people (including both programmers and non-programmers) think that programming is the same as writing code. Not true. Programming is simply telling a computer what to do. Typed code stored in text files is just the way we go about it today. It wasn’t always the case, and may not be the case in the future.

The first computers were huge dinosaurs taking up entire hallways. It is debatable whether the first computers (such as the ENIAC) can be called programmable, because reprogramming them involved rewiring them and moving about hardware components. Software as we know it today didn’t really exist back then. But soon afterwards John von Neumann came up with a computer architecture where the computer’s operations weren’t an intrinsic property of it’s hardware configuration, but rather, you could store programs in the memory and changed without fiddling with the hardware. The invention of this stored program architecture can be taken to be the start of modern programming.

Of course, even though you could now store computer instructions in the memory, you needed a way to get those instructions into the memory in the first place. For quite some time the preferred way to do this was to put your program into bunches of punch cards which the computer could then read into memory. By the late 60s however, as computers became more powerful, the first computer terminals became available. In the beginning, these were teletypes wired up to computers. Teletypes were electro-mechanical typewriters which allowed you to send a message from one point to another (generally by a set of wires) and would print the reply onto paper like a typewriter. It was in the 1970s that visual electronic terminals first became widely available. By this time programming was very much similar to what we are familiar with today, except for a few superficial differences: terminals on their own had very little memory and were mostly used to connect to large mainframes. They couldn’t handle whole pages of text at a time, so for quite some time you had to edit your files one line at a time. But what if you didn’t have access to latest terminals and a mainframe to connect to?

At this the early Altair personal computers deserve a mention. While many computer manufacturers tried to give customers personal computers which were essentially terminals with processors incorporated, Altair was different. The Altair 8800 and later the IMSAI 8800 could be programmed by flipping switches up or down to represent binary numbers. These switches connected directly to the processor. But once you had loaded a bootstrap program by flipping switches you could use a punched tape reader to load other programs into memory. (One of these programs was a BASIC interpreter where you could type in programs the normal way.)

Even in the modern era of text programs, you can still program directly into hardware. Field Programmable Gate Arrays are semiconductor devices which contain a large number of logic components as well as programmable interconnections between them. A buyer can take a basic FPGA and using some specialized equipment, select which logic components are required and how they should be connected. Thus an FPGA can effectively be “programmed” into different hardware combinations which perform different operations.

The next step in computer programming is the elimination of the need to know a programming language, or enough to write any text. Graphical programming, in which a user can simply drag together various components and link them graphically to create a working program. A very good example is Yahoo! Pipes which makes creating feed filter systems almost as easy as playing with Lego. Applications like Zoho Creator are also going in the same general direction, although you still have to dabble with some code if you want a production standard application. MIT’s Scratch project is also extremely exciting and it will be interesting if it can be made into more than a learner’s tool. For the time being, the best example of the potential of graphical programming is probably the programming environment that is part of Lego Mindstorms, where you can actually program real-life robots by linking together programs blocks. But no matter how flashy programming gets in the future, it’s probably a good idea to keep in mind that it’s still just a question of getting data into the memory.