Back with some brains!

Its been quite some time since I posted, I admit. The good news is, I’m back. Another good news is, I found something cool!

Gone are the days when the word artificial intelligence suddenly pulls up neural networks to your mind. Actually, gone are the days of artificial intelligence it seems. Cognitive computing is going to be the norm, or at least I hope so. Simply put, cognitivie computing is mimicing the way we humans think and making computers do the same.

“But I thought that was what artificial intelligence was all about”

Yes and no.

Though cognitive computing might actually qualify as a way of implementing intelligent machines, conventional artificial intelligence was problem specific. There was usually a separate “learning phase” where we have to feed tons of data to the supposedly intelligent machine. Cognitive computing is a significant improvement on this considering that these machines can learn online. That is, there is no separate learning phase. The machine learns as it work, just like we humans do.

Numenta is a company that deals with the above said “stuff”. They have built a platform (or is it a software?) called nupic (numenta platform for intelligent computing) which implements something known as hierarchichal temporal memory (HTM). And it uses a cortical learning algorithm (CLA) to mimic human brain. Basically, the nupic functions more or less like how we do.

Enough boring theory.

Visit numenta and nupic here : http://numenta.org/

The nupic is open source and you can get the source on github :

https://github.com/numenta/nupic

A warning though. The nupic has a steep learning curve. So get your hands dirty only if you have some time and patience. I couldn’t run the tests on the build (to check if nupic installed correctly) successfully and is still asking around for solutions (the mailing list is great).

And they have some awesome videos of previous hackathons and example programs that clearly demonstrates the power of nupic. Here’s a link.

Tokelau Beckons

EDIT: The domain I registered was taken away. I do not know what happened. Probably because it was free and they figured out I’m never going to upgrade. kevinkoder.tk is officially down. kevinkoder.hostei.com still works, though

Its been quite a while since my last post. But I’ve been busy : Skyrim, total war, FIFA, swimming lessons…..whew! And even though i DID do some coding all this while, I believe its too premature to share. And what now? There’s some news – Tokelau! Apparently, Tokelau is a territory of New Zealand in the south pacific. They’ve got coral reefs, great beaches, and everything else that fits the description of a ‘tropical paradise’.

Tokelau : smallest economy in the world, but drop dead gorgeous!

And what Tokelau has got to do with computers and coding might be of interest to many a soul – they give away free top level domain names. Top Level Domains (TLDs) are what you call domains like .com and .net. That is, the URL looks nice. If you’ve ever signed up for a free web hosting service before you’d know that your site gets a pretty weird name like yoursitename.freewebhosting.com . It certainly doesn’t look nice and it certainly isn’t a TLD. If you want to have something like http://www.mysite.com, you’ll have to register (ie pay) a domain.? Well, .tk is a TLD and you can register there for free. And one interesting news – Tokelau was able to achieve a 10% ¬†increase in its GDP through domain sales alone! So how do you get a http://www.mysite.tk site? Its pretty simple really.

First you’d need a host. A host is some server where you can place all your files (contents of your site) and programs. I recommend 000webhost. Setting up a site at 000webhost will give you a site with the URL http://www.kevinkoder.hostei.com or something similar. Set up a site with any name and upload the your .htm file at the public_html folder. If the previous sentence sounds very very alien to you, I strongly recommend that you learn some html from w3schools.com (its easy as saying 1,2,3,4… out aloud) and do some primary research on creating and uploading webpages. Your site at 000webhost is not going to have a nice URL, for now.

Second, you need to register a domain at dot tk. Goto http://www.dot.tk and register a domain. Registering a domain simply involves creating an account at dot.tk and giving your required URL. (eg : http://www.kevinkoder.tk). They will check if the domain name is already taken and will register it for you if it is not already registered by some one else.

Now, you have a site up and running at 000webhost (or some other web host) with a weird URL like kevinkoder.hostei.com and you have registered for a domain http://www.kevinkoder.tk. Now what you need to do is ‘point’ http://www.kevinkoder.tk to kevinkoder.hostei.com. That is when some one types in http://www.kevinkoder.tk into their browser, the browser should load the contents situated at http://www.kevinkoder.hostei.com (hosted at 000webhost or any other webhost).

To do this, you need to know the nameservers of your host. For 000webhost, this information is available at the ‘account details’ section inside the cpanel. Copy the adress of the nameservers and their ip adresses as well. Now log in to http://www.dot.tk and go to the domain panel. Click the modify button corresponding to your domain name. Now under the DNS settings, you will be prompted to use either their DNS, or just do domain forwarding, or use custom DNS. DNS stands for domain name system. Every site on the internet is actually represented by a string of numbers known as the ip adress. For example, facebook.com might actually be 192.168.16.1 or some other weird number. Everytime you access a site, you are actually connecting to the computer with the corresponding ip adress. But remembering all those numbers is a pain in the ass. That is why we map names to these numbers. DNS is a system which determine which names go to which numbers. To make http://www.kevinkoder.tk to point to the number represented by http://www.kevinkoder.hostei.com, we need to supply the ‘numbers’ at http://www.dot.tk. Select custom DNS. Now you’ll see two boxes with the titles ‘nameserver’ and ‘ip adress’. Paste the information you copied from account details at 000webhost into these 2 boxes. That’s it. You’ve done it.

But http://www.kevinkoder.tk won’t point to the contents of http://www.kevinkoder.hostei.com (or wherever you have hosted your site) until a few hours later. The thing is, it requires around 48 hours for the domain name to ‘propagate’ through the web. So give Tokelau some time and check back later. Mean while, as the deputy ambassador of Tokelau (check the ambassodors programme), you might want to consider persuading a few more people to join ūüėČ

Back to the Basics

I admit that what I am about to write will not really fit in with the ‘theme’ of the blog – share code. But yet, I feel compelled to share a tiny story happening around a windows xp iso image sitting inside a pendrive.

I have an old desktop at my home that is dying and in an attempt to make the remainder of its not so glorious life more useful, I decided to reinstall windows xp and installer a lighter version of linux (I deemed ubuntu 9.04 too heavy for my old war horse). ¬†Now there was a problem – my war horse didn’t have an optical disk drive. The CD-ROM drive was lost in battles long ago and the CD-RW drive that was put in there as a replacement has refused to show any sort of co-operation over the past few years. The damn thing just keeps on blinking whenever I give it a CD to read. So there was only one option left – the USB install.

Installing from a pen drive is a piece of cake as far as linux is concerned, but ¬†with windows xp, it was expected to get a lot more complicated and buggy. And fortunately, Novicorp’s WinToFlash came to the rescue and I was able to create a bootable windows xp installation disk in no time. I erased my entire hard drive using gparted (using a live linux boot from a pendrive) and then plugged in my windows xp bootable pendrive. Everything went fine initially – the ugly blue screen still gave me the creeps. But I had to wait until the setup had loaded all the files to encounter my very first (and hopefully the last) hurdle – the setup didnt recognise my hard disk. It showed the USB stick with the windows setup on it though. I could either change the USB to NTFS and install windows ¬†on it, or I could leave the USB as it is and install windows on it. And yes, I tried installing xp to the USB stick, and got a ‘drive corrupted’ error message. I simply couldn’t get the setup to recognize my hard disk! As usual I went with outstretched arms to my ever benevolent friend google and spent the ¬†next few hours reading forum posts and tutorials. And in the end, after 2 hours of toil, I found the solution – press ESC key when the set up shows the option to convert USB to NTFS!!! I tried it and there came my hard disk, arrayed in all the partitions that it could muster against a beautiful blue backdrop (suddenly blue didn’t look THAT bad).

And it perplexes me as to why I didn’t think of this earlier. Even though I do have the excuse that people don’t go pressing ESC button when things go unexpected, I can say that I would have pressed the ESC button had I been the computer-savvy 6th grader that I once were. And to make me feel even more sorry, it was written at the bottom of the screen ‘press ESC to cancel’. Yes yes, who would have thought that pressing ESC will give you a whole new menu instead of going back to the previous screen right? But given my past record, I can very well vouch that I would have pressed the ESC button just because it was mentioned at the bottom of the screen. This presents me with another dreadful thought – am I losing it? Am I becoming like them? Have my curiosity and knack of pressing the right keys at the right time finally left me? I’ve seen it happen with older people-the amazing guy who was so smart in the 80’s and who can fix his own car being sluggish with computers. They use computers like anybody else – change the wallpaper, set screen savers, and use internet explorer. But they will not by any means install teracopy or use ccleaner to do a clean up. Am I becoming like them? I used to always believe that if some one is not good with computers, if some one cannot figure out the solutions to his computer problems, then its just because he’s not looking around. I’ve always believed that craving to know “Oh, what does this button do?” will eventually lead you to all the wrong problems and all the right solutions.

And that’s quite an awful lot of thought to revolve around an ESC key. So the next time you’re in a fix, hit the damn ESC key first :p