Saturday, October 22, 2011

Romancing the Stone

Yes, that Michael Douglas movie. The one which involves a lot of walking around Colombia. And my post today is about a lot of walking around in Colombo. See what I did there? Yeah Raisa, I didn't expect you to get the joke. *ka-ching* ;P

Aaaaanyway, this morning I got a haircut and walked all the way from Pannipitiya to home because I was too cheap to take the bus it reminded me of all the long walks I had taken. Good times.

And since I've run out of things to blog about I wanted to share all of them with you, here they are, the top 8 walks through the city I've taken. Nowhere as epic as Himal's, I'm sure, but yeah.


The walk that started it all. Earlier in the day I had taken the bus ride that had started it all. What's "it all"? Why, my rastiyadufying of course. :D

I had gone to watch the Royal Thomian regatta of 2009. And after it finished, I was hungry. Walked all the way to Burgers' King to grab a bite. Got stopped by an Air Force serviceman and got my ID checked and was told to walk on the other side of the road. Oops.

Distance: ~ 915 meters
Epicness: 5/5 (coz it was all new to me)


This one is here because I'm a Fort noob. There was another walk through Manning Market (Pettah) that I once took, but the landmarks on this one looked better. Got told off by the Presidential Security Division because I was going through a high security zone. There's this cool old police mess or something behind the World Trade Centre that they're renovating, and my walk took me right through that area. :D

Distance: ~ 975 meters
Epicness: 3/5


We had a Reach Out presentation at St. Peter's College, at some ungodly hour in the morning. Got down from a 138 at Redimola Junction and took the small gravel road near the canal. Apparently the canal usually stinks, but the night before it had rained very hard and it didn't stink at all. I even thought it might be a good place for a picnic. Erm.

Distance: ~ 1.2 km
Epicness: 3/5


This one happened last Sunday. :D I finished my exams a bit early, and visited a friend who lives close to uni. Afterwards, I was on the way back, and just when I was about to turn towards Indra traders (to take the backlane and get to Public Library to catch a bus), I saw a lecturer from uni. Not just ANY lecturer. A lecture who should be avoided at all costs. Did a quick 90 degree turn and was off to Slave Island. Indecision causes death.

This route is quite a frequent one I take. One night, some months back, after watching a movie with the gang at the aforementioned friend's place, I was walking towards Slave Island when a Maruti driven by a lady was almost rammed into by a police jeep. O_O The policemen shouted at her in filth, dragged her off to the back of the jeep and were off. Another policemen drove away in the car. Later I saw them checking a bunch of files in the car near the Slave Island traffic lights. Scary shit.

Distance: ~ 2.0 km
Epicness: It wasn't epic, it was just creepy


This. Was. A. Fail. Makuluwo wanted us to come for cupcakes at Galle Face, and my mom wanted me to pick up a birthday card for my cousin. So I get down at Town Hall, go around looking for birthday cards and find that all the shops are closed. On a Sunday. Of course as a matter of principle I don't shop at ODEL (I prefer soaking up their A/C and looking at books with faux-interest), and so I ended up walking the entire length of Union Place looking for a place that was open. Found none, ended up walking to Galle Face. At least the cupcakes were good. :)

Distance: ~ 2.5 km
Epicness: 2/5


This happened after exams. Meshak, Ino and I went to Pilawoos, but it was closed for prayers. So we loitered around Marine Drive, came back to Pilawoos, had some lunch, loitered around Bamba a bit more and finally went to Galle Face. I think there was something wrong with the food and Meshak threw up on the way home. :D Good times though.

Distance: ~ 2.6 km (sans walking around in Galle Face, but we took the bus)
Epicness: 4/5


This. This was epic. Bo, Tulie and I were supposed to write a script for a forum theatre. Tulie couldn't make it, so Bo and I were eating ice creams at McDonalds and trying to figure out something to write, but to no avail. So knowing this wasn't going to work, we went down Nimalka Gardens, hoping to get to Marine Drive, but we found an old beggar in a vacant lot instead. Basically ran back to Galle Road, took the next lane, loitered around Marine Drive for hours watching the ships and talking about suicide (haha) and walked all the way to Royal Skills Centre, where there was a BB/RO meeting. The whole thing involved a lot of walking but it was fun. :D

Distance: ~ 2.4 km
Epicness: 4/5


I rate this as probably the most fun outing ever. Makuluwo, Middle Child, Himal and I went to, wait for it, A POETRY JAM. It wasn't as bad as it sounds, I guess. So anyway, afterwards, we walked all the way from Green Path (where the poetry thing was) to Galle Face and flew 2 kites. The one I flew failed though. I blame Himal for this. He's bad at putting together those Chinese kites.

Distance: ~ 2.9 km
Epicness: 6/5

I was going through pics from that day, and I found this and couldn't resist sharing. :D Good times, yo.

Hamster-fu :D

Wednesday, October 19, 2011


Komari Beach. Picture by my friend the hiker

Exams will be over tomorrow. I've been waiting for this day for a long time. And my legs are itching to run fast and run far. I need to get away from this city. It no longer feels like home. I know, I know, I used to profess my undying love for her back in the day, but all of that feels like another lifetime now.

I've even been toying with this strange idea of just leaving for somewhere else (Trincomalee? IDK) and starting anew. Strange because it's so out of character, but I don't really know who I am any more. I blame deleting my Facebook account for this. :)

Other things I really need to do include learning some Haskell and polishing up on my driving, because I have a major urge to do something like this, soon:

Since I forgot to mention this: the footage is from a real early morning drive through Paris, in which the driver actually ran red lights and all. It's from a cult film called C'était un rendez-vous

Friday, October 14, 2011

Happiiibaaarthday, @thejester100! :D

My last two posts were (sadly) about dead people. Today's one is about a guy whom I hope lives to be 94: The funny man in the blogosphere is turning 22 today! :D w00t w00t!

Oh, and while the king was looking down
The jester stole his thorny crown
The courtroom was adjourned, no verdict was returned
We all have our fair share of crazy Jerry stories. My favourite second-hand Jerry story is, I believe, the one where he ran away from an elephant. I have a tendency to wear t-shirts with elephants on them, a fashion choice he always questions. Now I think I know why. ;)

Favourite Jerry story of my own: I think the one where he slapped Aruna hard on the cheek, said "Don't question me bitch", and ran for his life. It takes BALLS (and luck) to do that to the Dayanandanati and get away with it alive.

Since the thing he loves most is getting comments on his blog *cough*bloghoe*cough*, I'm going to link to a random post on his blog here.

Happy 22nd Jerry!!! We vuv ya, and demand cake. ;)

Thursday, October 13, 2011

For dmr

Logo I designed for Kottu, in tribute to dmr
Is October the month of tech's heroes dying, or something?

C was the very first language I learned at university. I had dabbled in bits and pieces of code before, with VB6 (ugh), a bit of C++ (utter failure) and maybe JavaScript. But C was my first proper language, and I fell in love. And I've seen many languages since, but none that were as easy to grasp, yet as useful as C. Today's languages are much fancier, but there's something about it that you can't beat.

Dennis MacAlistair Ritchie can be described in many words, but I would call him a true genius. In his own words: "Unix is simple. It just takes a genius to understand its simplicity". He, and the rest of the Bell labs team, took a very pragmatic approach to programming. They kept things simple, and put power in the hands of the user, with merely the warning to use it wisely. The theoreticians can say what they will, but in practical terms UNIX (and the C language it was written in - becoming one of the first major operating systems to be implemented in a high-level language) has responded by being one of the most successful operating systems in history. Today, a major part of the world's IT infrastructure runs on UNIX-derivatives and UNIX-clones. BSD (and its child Mac OSX) is wildly popular, and so is GNU/Linux. Even though the original UNIX code is not used in these implementations, the features, the layout of the file-system, the shell, the common utilities... the basic concepts and most of all the awesome little language that all of it is written in pretty much owe their existence to the work of the original Bell labs team.

Imagine what it must've been like to walk with giants? I would give everything I own to go back and work at circa-1970 Bell labs. :)

Rest in peace, Dr. Ritchie. Future generations will continue to read K&R, appreciate your genius and your contributions (and your humility about it all) and hopefully your life will be celebrated much more in the coming years. You deserved a much better send-off than that which you received today.

P.S. There was a quote of either Thompson's or Ritchie's that I've read and was trying to track down all day (if any of you guys know where it is, please send me the link) about how they never usually duplicated work while writing code, but once accidentally wrote the same utility in assembly code. They then went through the code, to find that they had implemented it almost identically - line for line. That story just blew my mind away. :)

Edit: Adding this cool Japan Prize video that I found today. The Japan Prize 2011 was awarded to Dennis and Ken.

Tuesday, October 11, 2011

On Kottu development, and oxygen for ideas

Kottu, after the 8.0 redesign

The thing with designing a software system you have no idea about is that you don't know how deep the water is, and you never will, until you jump right in. When Indi contacted me back in July with the proposal to join him at Kottu, I was stunned. It was truly a dream come true. I loved Kottu, Kottu was every young blogger's best friend. And it was where people could find good content, and sometimes even love

Coming back to the jumping in the water business: there is no way you can get something as complex and dynamic as Kottu right first time around. And I jumped right in, rewrote the whole code base from scratch. Every software best practice that I learned went flying out the window, and I cobbled up the least complicated thing that worked. No OOP, no comments, no nothing. Getting a working system out (no matter how ugly the code looked) was first priority. And only after going public with that did everything else flow along: documentation (still partial), code refactoring (check out the Posts class, which is basically what the whole back-end of Kottu looks like now) and more features.

When Kottu 7.8 beta first launched, we had no thumbnails, no categories and a bunch of those buggy Javascript social widgets that made loading the home page take ages. Only user feedback and time fixed those issues, and I don't think it is humanly possible for it to have happened any other way. Good systems don't just happen. Of course, there was UNIX, but let's not try to pretend we're Richie and Thompson, shall we? ;)

Right, then. The back-end of Kottu hit version 8.0 with some nice little refactoring (basically a revamped utils folder.) There are some development goals that I hope to achieve before we hit version 8.0 officially. (Note: These are not long-term goals like Indi has described here, but more of short-term, little, code-based goals)

  • Refactoring the front end

    There is a lot of code that gets duplicated in index.php and search.php and elsewhere in the front end. I hope to unify everything into a PageGen class to make generating pages easier and the code much cleaner.

  • Caching

    Kottu stupidly generates every page dynamically... every.single.time. I plan to put an end to this madness and store cached copies of several frequently accessed pages (or options within Kottu, say for example "Sinhala + Popular Today"). This would make me feel less guilty about running long and costly queries to give users a bit more of the beautiful data we have at Kottu. Don't tell anyone, but there will be graphs! ;) Shh!

  • Better documentation

    If you ask people why many open source projects fail, they would say that the two primary factors are developers losing interest, and lax user documentation. I've been a typical programmer, and been slacking off when I was supposed to be writing the f@#%ing manual (couldn't resist, sorry!) :D Yeah, there is a nice little markdown file on our Github, but we need more, including better on site documentation (not about the code, obviously, but think of a better About Us page).

  • Not-so-active blogs, what is?

    Okay, so there are active bloggers, and there are not-so-active bloggers. Thing about Kottu is we're dealing with limited resources, servers that might melt sooner or later, and other real world problems. We currently have 907 blogs listed on Kottu (wait, I'm sure that number was higher... dafuq?). What does FeedGet.php do? It takes 50 blogs (least recently polled), goes to each of those RSS feeds and adds any new posts to our database. Now, FeedGet.php is cronjob'd to run every 5 (!!!) minutes, the minimum limit allowed by our hosting provider, but still it takes approximately 1 hour 30 minutes to repoll a feed. So, if we polled your feed just before you posted a blog post, then, bro. You will have to wait for one and a half hours for your blogpost to appear on Kottu. (We can't poll more that 50 feeds at a time due to the fact that PHP is a freaking crack addict that gobbles up insane amounts of memory without de-allocating any)

    What do we do now? What do we do now that doesn't get me banned from the next blogger meetup? Maybe we should poll not-so-active blogs less frequently, giving priority to active blogs - which are more likely to have new posts. And as soon as a less-than-active blogger makes his comeback, his blog is made active again, and gets polled in the usual way. It's sort of evil, yes, but necessary if we're to increase the response time of Kottu. And it also encourages bloggers to be more active. Whaddaya think?

So, finally, don't let the version numbering and jibber jabber fool you. Kottu is pretty much a work in progress, and Indi and I will continue to tinker and attempt to make it better and faster and cuter. And hopefully, I will realise my dream of a happier, friendlier, active little Blogosphere, like we had back when I first started in February 2009. Those were the days, maaan! :')

P.S. The title of the post is from an awesome awesome article by the guy behind Wordpress. READ IT! It totally changed the way I view software, and contributed to numerous bugs on Kottu, and I highly recommend it for anybody, geek or Greek. :D

Thursday, October 6, 2011

A quick note on Steve Jobs

Our philosophies about software freedom and user choice were worlds apart, but I was an admirer of Steve, and the company that he built - basically out of his garage. He was the epitome of the American dream, a self made tycoon who (unlike most people) only sold products he was genuinely passionate about. There are stories of him getting a prototype matte black MacBook Pro (or Air, I don't exactly remember) and rejecting it because the coating attracted finger prints and body oils, and was hard to clean up. A design that would've sold millions and millions of units, but was rejected because Steve only released products that he was passionate about - products he himself would want to use. As developers, techies, designers or whatever other field we're in, there's a lot we can take from that.

Here are some interesting titbits of what I've seen written about him:

Many entrepreneurs idolize Steve Jobs. He’s such a perfectionist, they say. Nothing leaves the doors of 1 Infinite Loop in Cupertino without a polish and finish that makes geeks everywhere drool. No compromise!

I like Apple for the opposite reason: they’re not afraid of getting a rudimentary 1.0 out into the world. [...]

Now, the crazy thing about that release is when the original iPhone went public, flaws and all, you know that in a secret room somewhere on Apple’s campus they had a working prototype of the 3GS with a faster processor, better battery life, normal headphone jack… a perfect everything. Steve Jobs was probably already carrying around one in his pocket. How painful it must have been to have everyone criticizing them for all the flaws they had already fixed but couldn’t release yet because they were waiting for component prices to come down or for some bugs to be worked out of the app store.
- Matt Mullenweg, 1.0 Is the Loneliest Number

I laughed nervously. After all, while it was customary for Steve to call during the week upset about something, it was unusual for him to call me on Sunday and ask me to call his home. I wondered what was so important?

"So Vic, we have an urgent issue, one that I need addressed right away. I've already assigned someone from my team to help you, and I hope you can fix this tomorrow" said Steve.

"I've been looking at the Google logo on the iPhone and I'm not happy with the icon. The second O in Google doesn't have the right yellow gradient. It's just wrong and I'm going to have Greg fix it tomorrow. Is that okay with you?" [...]

But in the end, when I think about leadership, passion and attention to detail, I think back to the call I received from Steve Jobs on a Sunday morning in January. It was a lesson I'll never forget. CEOs should care about details. Even shades of yellow. On a Sunday.
- Vic Gundotra, Icon Ambulance

It's just the biggest loss that Silicon Valley has ever faced. And nothing will replace this visionary figure who made a company mocked for its small market share the most profitable business in the world, not by taking shortcuts and marketing bullshit to people, but by making actual awesome goodies that anyone would want to buy.

Design is not just what it looks like and feels like. Design is how it works.
- Steve Jobs (more quotes here)

Rest in peace, Steve. You will be missed.

Tuesday, October 4, 2011

How to track down the @himalkk


Today on Chavie's nature hour, we're going to track the elusive (and endemic) Himalus Kotelawalus, a distant cousin of the Melursus ursinus inornatus (The Sri Lankan sloth bear) and also of Foxus Houndus, but my editor told me to take that bit off

There is only one confirmed specimen of this species, which would put it somewhere between Extinct in the Wild (EW) and Critically Endangered (CR) in the IUCN Red List, a category I personally like to call "ZOMG Almost Gone WTFBBQ!!11 (ZAGW)"

While naturally found wandering aimlessly around MC and Marine Drive, habitat and climatic changes have forced Himalus Kotelawalus to move into other areas. While there is no guarantee that you might spot him, conservationists scored a massive victory by introducing a smartphone to the specimen, which has made tracking using foursquare a trivial process. Though sightings in the wild have been rare, some lucky trackers and conservationists have had the privilege of capuring the specimen on film, often in quite unexpected places:


Yeah, I'm that jobless. :P

Edit: Here are some more and a link to the PNG file, if anyone wants. ;)