Friday, January 29, 2010

Blog Readership

I recently began syndicating my blog posts into facebook. I'm not entirely sure if it is a good or bad idea.

The pro of syndication, is of course, that my social group on facebook gets to read what I write.

But sometimes i wonder, as not all my posts have them as the target audience. Some of them are rather heavy in technical details. Well to the uninterested they are just irrelevant blabbering.

On the other hand, this actually drives readership from my blog itself on blogger. Though I have to wonder. Who reads them anyway? Who am I writing to?

Well honestly, it doesn't matter too much. I love to write. I enjoy long, blabbering posts. Rambling on and on. Sometimes it discourages me, thinking no one reads them. So, in the early days, I probably do targetted writing. I write technical blog posts. Hoping they get index by google and have visitors.

But I stopped that. Technical blog posts are really hard to write. They take a lot of time and effort.

I realized that I just loved to express myself. I am slowly getting used to rambling in this sense. And my blog posts have been changing from technical to including opinions, and hope that soon they might even include personal and spritually.

The content might scare readers off. But I ask myself. Who am I writing for? Not the readers. Those are bonus. I write to express myself.

At times I wonder if I should seperate my blog posts. Perhaps my blog could contain everything, and facebook would be more social blog posts. I wonder if linkedin has blog syndication. Perhaps use posterous to control where my blog goes. But then again, being seen as a more regular blogger seemed to outweigh such benefits. If the technical blog was not updated for a long time, reader might felt it dead and ignored it. Might as well post everything and let the reader do their own sifting. Perhaps technical readers might be interested in non technical posts too.

I also pondered on posting links to my blog entries, instead of full syndication. But that's like shutting off the bulk of the readers, who might just happened on your update on facebook but do not wish to read furthur if they had to be brought elsewhere. Better to slam the post right in their face. Maybe I could link it on Twitter, but that's due to te nature of the platform.

Of all I'm curious on who my readers are, who either accidentally read my posts, or actually follow them. I signed up with google analytics, but those stats seemed to indicate that they found my posts via google, when they were looking for programming topics.

I also uses feedburner, and I seriously wonder who those 60+ subscribers are.

It comforts me vaguely that people read what I write.

Even if that person might be a bot or spider.

Monday, January 25, 2010

iPhone multi-tasking

As long as the iPhone had been out, we had been wishing for multi-tasking. Well, at least those of us overly-geeky enough to have a certain need to be satisfied. Most consumer would probably care less about it.

But there are at least two main cases which I can see multi-tasking can be helpful. Or rather, the proper term to use for this is background processing. Having the 'application' run in the background.

There are a few radio applications in the App Store (though sadly we don't have anything like Shazam or Pandora in Singapore). We really really would like a way to have the radio music carry on playing, just like iPod, even when the application is 'closed'. Imagine an SMS come in, and you launch the SMS. Your music that was previously playing would stop, because the application is considered to be closed! Surely, there must be a better approach.

Well, Apple surely could allow a simple new API call to allow application to register their music for background playing. And at any one time only a single stream of music (and associated application) could use it. And it would carry on playing even after the application is closed. Not too much to ask for, is it?

Another case is data download. Sure, Apple argued that Push Notifications is a more elegant solution. But when I use the in-built Safari browser, I really want to like, open up multiple pages, wait for them to finish loading, and read them one by one. From what I feel or observed, when I switch to a different page, the old page stops loading. And sometimes the memory gets swapped out.

You would argue that people only need to read one page at a time. Sure, that's what I'm doing. But as I read, I want to be able to go to the next page immediately, without waiting for the page to be downloaded. The download should happen in the background, and if I am on a computer, that's what I am doing. Opening the new page in the background so that I can read it next. Erm, yes, I have a slow ISP (or rather not fast enough). I could go blame them too...

So, beside Safari browser, another case which I might need background data download is my rss reader with Google Reader, using byline. Byline helps to cache the web page offline for quick read, and I set it up to do that for new items. But, as far as I know, this does not have push notifications, and it probably does not make sense too. I do not need byline to keep notifying me of all the news every second. It should behave like the manual fetch settings for my email accounts. Check every, say, 15 mins and download new content.

Could Apple not come up with a restrictive API for that? Queue an app to connect to the internet to download new content? It's technically possible, but because of battery drain and user experience, they are not doing that.

Maybe they could move the responsiblity to the consumers. Just like how applications ask to enable push notifications and GPS location checks, ask to enable background processing too. Let them know that it will affect battery power. Give background processes much lower priority so that they do not affect the running exclusive apps.

It's really very troublesome to do manual download of content, or open an app just to listen to music. When I launch an application, I want it to be ready for my use. Immediately. Not having it stay opened so that it can be in the process of 'getting ready to be used'.

Friday, January 22, 2010

Code comments

I used to have a rather strong stance on comments in code. Mostly in the form of avoiding them. I believe that the code IS the comment. If you had written clear code, you had no need to write comments. They would just be clutter in the most cases.

I still believe in what I just said, but recently, I had began writing more and more comments in my code.

That's because that despite clear code, sometimes it's useful to explain, in the code, why some things are done in some way.

To the coder (person who wrote the code), everything is clear. He might write two loops over the same list of objects, modifying them in different ways. He might have done that to keep the objects in a consistent state, to finish one set of operations before another.

Now, sometime later (or maybe just days), someone came along and notice this code. Why did the coder not merge both operations in a single loop? That would help in performance. He did not ask the coder, as the coder was unavailable. So he made the changes, run some basic tests, and check the code in.

And then a whole set of bugs appeared in the next few days.

This could have been avoided if the coder had commented in the code why he seperated the operations as two loops.

It is the same way in documentations. Rather than document just how things work, the documentation should explain why things work this way, why an approach was chosen, and why others might be discarded.

Anyone can figure out how things work, or how the code flow. But it is the why that is many a times missing. And we definitely need to document them in, both in code and doumentations.

Tuesday, January 19, 2010

Haiti earthquakes - my thoughts on Singapore's reaction

It was with great disappointment that I learnt that the Singapore government pledged only USD $50000 as aid to the Haiti who were just recently struck by a 7.0 earthquake on 12 Jan 2009. It was a terrible disaster, with over 200000 death so far.

The Haiti disaster has so far been described as the worst disaster the United Nation has experienced. Much of the Haitian government were destroyed. No not just the buildings, but the people too. 3 million people were affected, and the country is seriously damaged. The Port-au-Prince is a critical port of the country, where many resources are docked and unloaded to the country. With the port no longer in service due to the damages, many aids were unable to go into the country, with planes hovering around the airport trying to land but there were no space to.

Haiti had been a very poor country, the poorest in the western hemisphere, ranked 149th of the 182 countries registered.

Due to the massive amount of death, they are burying people in mass graves - Digging a big hole and dumping the dead bodies in. There was no time to do proper identification of the dead. Their concern had been to dispose of the bodies quickly to make room for those alive. Which means, a family can never know if a missing family member is dead or alive.

And food is running out of the country, and people are getting violent. The healthy people at least, had began looting. The others? Probably missing a limb or two, or still buried under the rambles.

So, 3 million people affected. USD $50000 of aid. That amounts to USD $0.0017 per person. Even Angelina Jolie and Brad Pitt is donating USD $1 million.

So, what could we do?

Well, we could be here and grumble about how much more the government should do and could do. Make complains and protests. While the haitians are suffering.

Or we could do our part. We could make our own donations or aids. World Vision Singapore is accepting online donations at http://www.worldvision.org.sg/CF-General.php?catID=18. And Singapore Red Cross is taking cheque donations and walk-in donations (refer to http://www.redcross.org.sg/Singapore-Red-Cross-Assists-IFRC-in-channeling-donations-for-relief-in-Haiti.phtml).

The government of Singapore might not be able to do much, but the people of Singapore can. And, if you want to protest against the government, do it positively. Make a donation today, so that the donation from the people of Singapore exceeds the amount the government is pledging. Make it a shame to them, that the people are contributing more to humanitarian cause, than the government is.

When others talk about Singapore, let them not remember about how little the Singapore government had donated, but rather how much the Singapore people did. We represent Singapore, our country. The country do not just belong to the government. The country is not just about the government. You and me make up the country.

Monday, January 18, 2010

Rebuilding the trust in your GTD system

I realized, to my dismay, recently that I had actually stopped using Things (a mac/iPhone todo list manager) that often.

So I stepped back and asked myself.. why?

Because I no longer have 100% trust in the system anymore.

How did that happen? Earlier on I had decided to reduce the clutter in Things. Move out a bunch of future purchases, library loans, etc to other applications like Safari bookmarks, iCal, amazon, etc.

It was a logical decision, and seemed like a good idea. But the inability to have a quick way to review my information proved deadly. I am just not that good in having multiple tools meld together as a single GTD system. I especially don't trust my calendar that well.

My next step? Logically it us to move everything back into Things! That took an hour. But just by knowing that it captured all my information in a single spot gave me much higher confidence in the system.

The next step is a more problematic one. I had to be disciplined enough to keep capture new actions into the system. But the iPhone fail rather bad in this aspect. I was much more disciplined with the desktop version of Things.

it's just that it's harder to type, and takes longer as you gotta fire up the app. On the desktop, Things is always launched (for me).

I should probably explore capturing actions or information with the camera or microphone, as opposed to text. Might be much faster.

Friday, January 15, 2010

Avoid promoting unrighteous actions

The title begs clarification, but I just could not think up a more suitable name.

The situation is actually like this, for example. I was watching the television, and the show was about a lady becoming a third party to a married couple, and managed to oust the wife out of the marriage, taking over her place.

I am very tempted to ask the third party lady this: Could you trust a man who gave up his wife to be with you?

Likely, the answer that they would give me is a loud shout of YES. But I highly doubt that this is what will happen. In fact, I think that was what this story was about. A korean drama that describe how the wife came back for revenge, by seducing her ex-husband, after a facial surgery I think. I could be wrong on the details.

But that is something that rings very true. One might call me unforgiving, that I should be giving the person a second chance. But forgiveness and second chances come, only if the person feel that he is in the wrong, and truely repent of the wrong doing.

So, apply that in the above example, you snatched the person you love from their current relationship. I hardly see any admission of wrong-doing, or repentence in it. What is worse is that, you would very likely justify the action, and convince them that what they did are right!

If they could be convinced that their action is right, they would not have much trouble doing it again in the future.

This does not apply to only relationships. I could give a more extreme example, where a person encourage someone to commit murder. And then justifying his actions was for the good of the people around. I think in most movies, you would see a twist in the plot where the murderer would go on killing more, and even killing the original person who encouraged him to do all these.

Or maybe it could apply to things that happen in the workplace too. Your company encourages you to cut corners in sale deals, cheating the clients or playing legal wars to maximize profit. The more you do it, the more the company encourages it. Like a cycle, indirectly you are promoting such actions by doing it. And slowly the company culture becomes very profit-driven. Soon it will be cutting corners with your salary. It would be pressuring you, exploiting you with longer working hours, and lesser rewards and bonuses. By participating in the actions, you have promoted and encouraged it, and so the same thing is happening to you eventually.

That probably will be one of the way of how to determine if a company is worth staying. If the company does not treat the people (outside company) they work with well, there is furthur more no reason for them to treat the people in their company well.

So regardless in work or personal life, we should all avoid encouraging and participating in unrighteous actions (the only term I can think of to describe these). By 'promoting' 'evil', it will only feed upon itself and struck us back tenfold.

Monday, January 11, 2010

15" Macbook Pro: Do I really want that?

My 13" Macbook is old. Well not that old. Just somewhat over 3 years old. I bought it in the spring of 2006. it's now 2010 Spring.

I had been looking at the recent MacBook and MacBook pro offerings. What I want ideally is portable power.

A 15" almost fit the bill. It had the 7200rpm harddisk, higher CPU core. A bigger screen sounds good too. Though the pricepoint seems high, but I you average out over 24 months or more, it seems rather affordable.

But then again, think about it. 15" means that it is bigger. The added weight and bulkiness. Bigger screen is a plus, but if I had to buy a bigger laptop bag? Carry more around?

After furthur debate, I realized that I probably might not need the added power too. My initial thought had been to run windows vmware in unity mode. But I looked at when I last ran windows, and why. It was to run visual c# for a one time project for a month, as well as to test some website rendering in Internet Explorer browser.

To be fair, I'm a fairly power user. This MacBook is both my personal and work laptop. At its peak it probably have an IDE (netbeans), database (MySQL, i could not figure out how to run oracle on it) and an application server (glassfish). I might even run eclipse if I needed the integrated JAD decompiler.

Now, where do I use my MacBook? Well, everywhere! When I'm at home, when I'm in the office, at the client's site, overseas assignment, and even vacation!

it's clear that I need portability, with acceptable performance. Not performance, with acceptable portability. I don't need a 15" MacBook Pro.

Guess I'll see if I can put it off until a usb3 MacBook comes out in time :)

PS. A MacBook Air is definitely appealing, but the price, and what I heard about the performance, is definitely a deterrant.

Friday, January 8, 2010

Digital content, Apple Store, and maybe the Tablet

I am actually on my flight again, reading the in-flight magazine, when I saw an article with blog links and Twitter accounts.

It was at that moment that I wished that I could bring up my iPhone and 'download' these links to my phone. Alas, instead I had to type them in my notes for furthur reading.

And more random thoughts came to mind. Would it not be cool if we could download content from the magazine to read later? I'm not speaking of the usual web content download. I'm already consuming too many of those. But they are never a strong form of content nor product discovery. I am restricted to what I am already consuming, never venturing beyond those. Probably I should invest in such a content delivery tool like lazyfeed.

But that's not the point of my ramble here. Here I'm wishing that this magazine I have here has some mechanism for me to download content to my phone. It could be a tablet, or it could embed a bunch of RFID chips that I could later lookup and connect to a central server to download the actual content on.

I could see how dramatic and different such a style of consuming content could be. Imagine a future where you walk into a shop and there are simply a bunch of tablets with content on them. You browse them, and consume the content you desire into your phone. Perhaps before you leave you would connect to the server in the wifi zone of the shop to perform a checkout, which involves payment and then downloading the actual content you had marked for purchase with your phone.

But the more powerful scenario comes when you had no intention to be making purchases (that is, conciously visiting the shop). You could be on the move, in a plane like I am or some other tools for commuting. And they provided such tablets which had replaced magazines. They likely contain short articles or even product advertisements. And you see something of interest. You could either make the purchase there direct with the service provider, download the content, or have it delivered to your place if it is a physical product.

Or maybe it need not be a tablet you hold, but a tv a few people are sharing to see. You might like the movie but had to go. So you mark it for purchase. Video on demand!

It almost seemed natural for Apple to be the one doing this, thanks to their itunes store.

I can imagine how much poorer I could be in such a future, being such an impulse buyer. Maybe it's time to be on the attack, by buying Apple stocks.

Monday, January 4, 2010

You don't need to keep everything

I confess that I have a terrible obsession. I like to keep things.

I look around in my room. I have a lot of comic books. I have a lot of story books. Lots of IT related books too. And then there are a few discs, harddisks, etc.

I have a thirst for data, and keeping them. I look at my cupboard, and see various bills from even way back 2006. It somehow seemed so hard to just dispose of them.

All this will change soon, I hope.

First off, I have stopped purchases of comic books totally. Finally outgrown them.

Next, I stopped purchases of new story books. The books I bought used to have high ROI (Returns on Investments), in that I re-read them over and over again back then. But nowadays, I realized that there are just too many content in the world out there to let me afford to re-read them.

Same for IT books. Most of them did not have me returning to them for references. Many of them are one-off reads. Hardly worth the purchases.

And so I began visiting the National Library recently. Gotta make full use of the government facilities ;) I make reservations for books to have them deliver to a nearby library, and pick them up, for a minimal fee of SGD 1.55. That's cheap compared to the 20+ I might have to pay if I am to purchase the book. And if the book is worthwhile after the read, I could put it in my wish list of to purchase. But it must first pass the 'high re-read' value, which not a lot of books do nowadays ('Reason for God', 'SOA in Practice', and '4 hour workweek' would fall under this category).

Most fantasy books would not have a re-read value, as much as I like the story.

So with this stroke (of utilizing the library), I save on both money, and space. Though sometimes I do have to wait for months to borrow a book, as there are 700+ other people waiting in queue like me...

And as for digital data.. I recently realized that I have data from back in 2001 or so. Some of them are chat logs, saved files, documents, etc. Most of which however, are residing on my backup/archive harddisk. I have yet to touch them for ages. Which goes to say that they are highly likely no longer needed. After all, out of sight, out of mind! If you no longer remember they exist, what makes you think you would need them anymore?

Next on the list, bills, letters, from older years. I would think it's safe to assume that anything older than one year is safe to shred. Though I'm still holding my reservations on this. I thought of keeping them as digital copies too. Scan them in, and throw the original away. Oh well..

Discs. This is an interesting aspect. For music CDs, I definitely like them to be digital on my computer. But I'm pretty sure that the local legal laws does not view that as legal... As for VCD and DVD, well... I don't really watch them after the initial viewing most of the time. Maybe I could get away with rentals instead. Or digitalize them. But again, legal aspects are tricky on that. (Funny how we *think* it's legal to pass original discs around and not for digital copies. Maybe even for original discs we are bound and not allowed to share them too?)

After thinking through and reviewing all that I have on hold, I realized that I really do not need most if not all of them! Quite a waste of money in fact, and I took so long to realize that!

So now, I have totally stop purchases of new things. And I am slowly reducing the clutter in my room and freeing up space by figuring out how to get rid of the current things. Hopefully I can end up with a minimalistic room eventually. And having much more savings on hand.