Reflections of a scattered Mind!!

"Not all scattered pieces are of broken glass"

On Hold

After much thought, I’ve decided to put this blog on hold for a while… Let me list the excuses I’ve behind this decision:

  1. I’m busy, and unable to allocate time to this.
  2. I’ve moved away from PHP, and this blog runs on PHP.
  3. Writing is not the skill I have.
But what’s the actual reason?
  1. Commitment - seems like I lack it w.r.t this blog. You can see this from the inconsistent gaps between the posts.
  2. A lot of things are pending in my queue for a long time. Its time to trim down some areas, so that I focus on the better things.
I hope this is temporary, and would come back to this sonner. Until then, adieu.

What Do I Regret the Most?

Its life.. Things happen.. Some things you never wanted to happen, somethings you never thought could happen, some bad things, and some surprisingly life-changing things… Out of everything, there is one thing I truly regret, wish it never happened – Growing up.

So, what did growing up do to me, you may wonder..

  • It made me a killer. Forced me kill some many of my own dreams.
  • Showed me its not easy to make a choice, and later made me realize that some choices could turn out to be really bad ones..
  • Showed me you could end up in a big mess even with no wrong decision taken.
  • Its not impossible to repeat that one big mistake you’d never ever want to.
  • Surprisingly and shockingly, you can’t choose people. They come in to your life, maybe turn around our world without your knowledge, but you can’t choose / control if they are going to stay.
  • It made me experience that there are things you can’t move on from, you just need to live with it forever.

Maybe nothing else could express this better than this song.

Now, I miss that little stupid and ignorant boy, who believed that everything could be simple if you don’t complicate, and trying to find answer to his only big question – why does people complicate everything unnecessarily?

Ignorance is truly bliss.

Maybe its time to accept that life isn’t going to be easy just like that, it takes effort, and more importantly belief that “that some day” is right around the corner, maybe.

Recap of My Life: The Last Two Weeks

So, this time I guess there has not been much technical readings… The only readings I have done are and techcrunch… Unread posts in my Google Reader, Quora & even on Twitter has increased a lot… The major factor has been to live without a laptop (since the display doesn’t work anymore).

So, there are a few things that changed in my life: I’m trying early to bed, early to rise for the last two days, and it has turned decent so far…. (I still believe that nocturnal life is best, though)..  I think its time to keep Windows away for a while and move into Mac / Linux (I’m typing this post on a MacBook). All my life, I used Windows and always thought on moving into Ubuntu, but couldn’t because of all kinds of games… Oh, though I used Mac earlier, MacBook Pro is pretty good and I’m loving its multi-touch gestures… :)

Apart from doing nothing, played a decent amount of Dota 2 on roommates laptop. One thing that came out of gaming is I kind of started thinking about having a interactive 360° virtual trial room (inspired from hero’s animation from Dota 2 game load screen). But, this for for sometime later, maybe a month or two or even later…

For this week and next, I’m majorly going to spend time learning mojito, some basic selenium and maybe a good Unit Testing framework (need to figure that one out).

I couldn’t resist not putting the below comic here (credit: gultRage)

This site contains very good quality comics, particularly for telugu folks..

PS: Dear KeePass, since you do not support Mac, I’m having hell lot of trouble accessing my passwords. Need to downgrade the database, and move to KeePassX for now… But, for longterm, I’m considering hosting a private web-based KeePass client (which I’m planning to search / develop)

This Week in My Life

This is really getting ridiculous.. My last post on this blog was 4 months ago, and the one before that 9 months ago.. This is not how I meant to do things.. This is also not the way things are supposed to go… Its true that more than sometimes, it is very hard, time-taking and exhaustive to put your thoughts on paper (err, keyboard)..  But, if I keep doing it at this pace, this blog shall do more harm to me than any good. Its time this thing changes… So, from this week, I shall put something like a weekly report which shall contain sharing things I found interesting, what I’m thinking hard etc…  Hopefully, this shall become a habit, a good habit actually…

Geekiness infiniti (You can never run out of geekiness :P)

Non-technical musings

  • A Good Place to Work - The author (a CEO) explains why having regular 1:1s is a must to make your workplace better. He even went further to forcing his managers to have regular 1:1s (or else get fired). This seems ridiculous to me - Companies claim of open-door policy, and the same companies ask for formal 1:1 discussion. If you have open-door policy, and you discuss everything with your manager in general in day-to-day life, what else can you talk about in the 1:1, except for staring at each other? The right thing seems to be to ensure the right communications (in any way) between employees and managers, but remember that 1:1s doesn’t work for everyone (that includes me).
  • So I was wishing @flawsophy for his birthday… - Funny, but with insights into the current state of wishing on birthdays in India. Its true, there is no more bigger insult than not wishing him/her on his/her birthday. And if you two are in relationship, expect a break-up message if you are not the first and last to wish them “Happy birthday”.. Oh, there is also a non-bailable Birthday Offence. Seriously, whats wrong with people? As if you are getting a new beginning every year on your birthday?

Garbage inside my mind

How do you take a good decision in life? You can never be sure. You can either choose a decision and pray that it will turn out to be good decision (which has 0.5 probability). Else, put all your effort to make sure this decision turns out to be a good one.

Limited time – All I’ve got is limited time. The piled up pending tasks shows how important it is for me to manage my limited time properly. Its time to take Time Management seriously, any tips here would be appreciated..

Ahh… end of the post.. See you next week my dear blog…

Impressed With Myself

Disclaimer: Just another personal rant written with sleepy eyes & confused mind (as always). Helps in killing a minute or two of your time (better to kill the time by yourself, rather than allowing it to die by itself, isn’t it?)

If you knew me personally, you’d certainly remember me complaining that I completely wasted my 4-years of time during my under-graduation. No I’m not denying that now.. Its still holds true… However, like Milton said “Every cloud has a silver lining”, I realized just a couple of days ago that my college days weren’t as worse as I always believed (in terms of learning & profession).

Hmm.. lets see.. What could it be that changed my mind? Some things (which I can share in public), that, well not exactly proud of, but feel-good things I did or happened during those interesting (like that Chinese curse – May you live in the interesting times) years.

  • My first semi-serious PHP site, self-learning, and doing all things by myself (design, backend, security, database etc.) came out pretty well than I expected. Site is archived here. (Well, thanks to CodeIgniter for making a lot of stuff easier :) )
  • Again PHP, a complete rewrite of the above site using Kohana & a fresh new design.. Actually, I copied basic idea of UI from IITB’s Techfest site (maybe, 2008), changed the color theme, changed & improved few elements, but I still consider it my best UI design yet (apart, from the top banner & menu). And the best part - the site is still in use actively (since 2008).
  • Breaking into Technozion site (NIT, Warangal’s Technical fest) and worse, I kind of defaced it. Did things like changing the password’s of all accounts once in every few hours, modifying database records of some particular users etc. (Thanks to some simple SQL injections). It was really fun, but I realized lately it wasn’t very moral thing to do. (actually, I passed the vulnerability info their web team, but they fixed it only partially, which kind of drove me crazy to do all that stuff).
  • Thanks to @sumit_bindal for reminding me how much I used to enjoy the puzzles on I used to spend my free-time on this site very much & certainly gave me a new angle of thought while writing code. Maybe, I should start again on those puzzles & see where I stand today…
  • It certainly feels good when you are only the one who solved the problem (with correct answer) in your lab exam. Doesn’t it? Thankfully, it was open-book exam, or else who would remember what is meant by articulation points, connected components etc. when you always know Google will help you anytime you need it..
  • B-Tree implementation, which took me some 7 hours, and yet I was really really excited that I could do that… solving the 8-queen problem in my 1st year of C++, without using 8 loops (sadly, I can’t think of any solution even today). Credit certainly goes to K.Ramesh for showing that programming is fun, and nothing else.. :). After all, I ended up being “not the worst programmer ever”..
  • Getting a job in the first campus placement company itself. I was shocked, so was the complete college (considering how bad my academics were, and the other students who got selected were the class-toppers of the course). Actually, this became a memory I relish, not because of getting a job, but how awesome it was to fool @harikine for 2 complete days making him believe I didn’t get that job, but everyone else knew the truth… (Trust me, it wasn’t easy, but a lot of people helped in hiding it from him..) Certainly a contender for my best moment of my college life…

Ouch… just 7 points… The silver lining seems to be very slim, but nevertheless, it exists.. And I can even say I’m impressed with myself, for the joy of something coming out from what you believe as a black hole…

Learning Android : Why I Moved Away From Eclipse

So, after a very long break, I started back with getting familiar with Android development… Felt happy seeing that Google has made a lot of improvements / features in the ADT. But, everything evaporated when I tried to debug an app on my machine, and got this error: “Android Packaging Problem: resources.ap_ does not exist”. I tried cleaning the project, restarted Eclipse, and re-creating the Eclipse project and this error didn’t go away… Googling it also didn’t help much… Then, I went to sleep….

The next day, to my surprise, there was no error and I was able to debug my app, at last… But, it didn’t last long… After 3 hours, the same error is back…. It looked like this ADT solves everything else (Resource Editors, WYSIWYG Editor etc.) but the basic task it is supposed to do (Basic compiling / packaging / debugging)…

Now that perfect mood is set to go hunting for a new and reliable IDE, I searched in for answers… Found some thread saying IntelliJ IDEA is good…. So, downloaded it, downloaded its dependencies (JSDK 1.6) and installed them… And there is no turning back… I don’t miss the resource.ap_ error at all…

The Pros of IDEA:

  1. Reliable (unlike ADT for Eclipse) at compiling and packaging…
  2. Supports the Android “Library” projects also… (Tried it with GreenDroid, and worked without a glitch)
  3. Import Eclipse projects directly…
  4. Integrated github support (and a few more Version Controls)
  5. Decent enough features, for Refactoring, Imports optimization, Code completion etc.

The Cons:

This could become a big list, but the reliability when compared to Eclipse beats everything in the below list least for me…

  1. Page Scrolling - Cannot use the Mouse Scroll.. Need to click on scrollbar and scroll it down.. :(
  2. Logcat sucks!! The one in Eclipse is hell lot better.. Seriously needs Filter by Application, Colored text based on log level, and saved searches.. A simple textarea doesn’t justify such an important feature..
  3. The keyboard shortcuts are completely different from Eclipse.. Why doesn’t IDEs come with keyboard binding set of other IDEs that user can choose to use? :(
  4. Memory hogger, seems to be more than Eclipse.. Could it be because of Swing & Java?
  5. Basic XML Editor - There are no Android Resource Editors…. I prefer to write XML files by hand, though…
  6. Some code warnings may misguide you.. It keeps telling me that Cursor cannot be NULL, though I have personally seen cases where it will be…

In simpler words, IDEA may not be as good as Eclipse in general, but for Android development, it is certainly a better choice… at least for now..

Atleast, you’ll know you are frustrated not because of IDE… (Trust me, frustration because of an IDE, instead of logic/code isn’t even worth trying to know.. )

Square One

You begin at the Square One, you go forward with hopes and dreams, and most importantly with no idea what the future holds for you. You go non-stop until that day comes when completely unexpected happens, and you’ll be just thrown out back on to Square One.

You get dejected, depressed and lose all your hopes that everything got ruined. You live in darkness of the past, until one day you say to yourself “Enough! You got to get moving”… And, you start moving into that unknown future, with fear still in your mind…. You try to take one step at a time, but you haven’t gotten over your prior experiences. Yet, when you start getting over past and start moving forward with confidence, it happens again! You’ll land in the Square One again, now with no knowledge on how, when and why….

This time, you begin your journey again into those unknown lands, but instead of fear, this time you have that strange confidence – “Not to fear… I can get over even if the worse happens again!”

Geeks Are Awesome!

You got to love the geeks! For their unique talent & ability to transform any topic (including philosophy) into a discussion topic of bytes, pointers, stacks, exceptions etc…. They can convert every topic in this world to their area of expertise.. :D

A small geeky conversation from my wall on Facebook  

Dedicated to the geeks Shrey Banga & Sharad Banka :D :D

Update (11 September, 2011): Updated the image to include a missing comment (missed earlier since the account was then in deactivated state..)

Browser Wars: Learning From Each Other

The most popular browsers from the country I come from (where Mac is rare) are Google Chrome, Mozilla Firefox & Microsoft Internet Explorer. Like any other browser, these all have the same goal – to make browsing experience richer & better. Yet, there are a lot of differences in their ways and some are better than other in some ways.

If I ever have to make a generic purpose browser, I’d certainly pick good (for inclusion) & bad (for exclusion) things from the current browsers.

Google Chrome:

The recent one and certainly a game changer. It has improved the user expectations from a browser by 100x.

The Good:

  • The crashless browser -  protect the user even from the crashes in external plug-ins (Thankfully, Firefox also implemented out-of-box plugins)
  • Faster startup time - Do things that are only absolutely needed. Nothing more. Defer everything else, to post-startup (in parallel with the user’s browsing).
  • Sandboxing - Whatever you do on web stays on web. Protect the machine from all the various security issues.
  • Explicit permissions listed for Extensions - user must know what an extension is capable of (despite of what it claims to do)
  • Silent updation: Push updates only when it is good for users. Then, who would say “no” to better browsing experience? So, there is no point in showing an annoying dialog “Updates Available” when you already know the user clicks “yes”.
  • Incognito Mode starts a new session without closing the current session (sadly, Firefox does that)

The Bad:

  • Weakest & the most limited extension model - So limited that it may give you a feeling that the word “extension” doesn’t suit it.
  • Still an immature platform for developers. Extension Model hasn’t moved but the other parts (rendering, UI etc.) are moving forward at a very fast pace. Even, many bugs in the chrome extensions are not getting fixed for many months.
Mozilla Firefox

The Good:

  • Super cool extension model. There is almost nothing that can’t be done by the addons. And, XPCOM works across all the platforms.
  • Known to be the developer-friendly browser from long time. One of the early browsers that emphasized on standards and innovation from its early days.

The Bad:

  • Known to be memory hog. Not efficient at Memory management. Have issues with Intel’s hyperthreading.
  • MaxVersion in addons is mandatory and is limited to current version (you can’t just use * for maxversion). The only issue with this is each and every addon is to be updated (you add features or not) with every major version release (which is once in 12 weeks as of now).
  • Private browsing closes the current session and starts a new one. After closing private session, it restores the earlier session. This means you can’t do both (with default command line options)
  • Every extension have complete control (including a binary component), because of lack of a permission model. You can never trust an extension because of this!
Internet Explorer

The Good:

  • Its never late to catch up with the standards, speed & security (with IE 9 & IE 10)
  • Native 64-bit for 64-bit OS. (I can’t believe Firefox and Chrome do not have them for Windows)

The Bad:

  • Still maintains the completely idiotic ‘Quirks Mode’. I don’t see the greater cause of maintaining a version which is full of bugs, extremely slow and follows no standards, and also all developers hate it.
  • Extension Model - Its a big pain. You need to be comfortable with COM to get started with. Its much comfortable to think addons don’t exist at all for this version.
  • Supports ActiveX plugins when the whole world uses NPAPI plugins.

Disclaimer: All the above are my own thoughts, and I’ve to confess I haven’t researched every point. So, not all the above may be true, but is to the best of my knowledge.

5 Reasons I Dislike Flash

The times have changed to where we spend most of our lives on the web. But, web is far from perfect. It has annoyances lurking around at every corner. Most of the times I get annoyed is because of the bad code (in HTML, CSS, Javascript) by the developers. The next big annoyance is from Flash content, but I can’t blame the content developers for their code. Its the design issue of the Flash runtime itself…

The top 5 things in Flash that annoys me daily:

  1. Browser shortcuts (like, Ctrl+W, Ctrl+T) do not work when focused on flash elements, since it consumes all the keyboard events. I’d expect it to at least pass them to browser if it doesn’t handle a key event, but it doesn’t even bother.
  2. Zoom doesn’t work - Ctrl++, Ctrl+- are useless. You have to read the content in SWF in the published size itself. You cannot increase or decrease it size. :(
  3. Middle Click doesn’t work - I can’t open a link in new tabs. Opening links in new tabs from SWF is a small-size challenge.
  4. I can’t find the text I’m looking for with Ctrl + F. You can’t just search in Flash content, unless the SWF itself contains a search box & search implementation.
  5. Its pretty famous & is gonna stay there longer. And the worst part - everyone uses it in their site, though there is absolutely no need for it (making my browsing experience annoying) :(

Disclaimer: The above view is completely personal and has absolutely nothing to do with anything (including friends & employer also) else.