Today's Question:  What does your personal desk look like?        GIVE A SHOUT

SEARCH KEYWORD -- 2011



  Pair Programming: The disadvantages of 100% pairing

I’ve written a lot of blog posts in the past about pair programming and the advantages that I’ve seen from using this technique but lately I find myself increasingly frustrated at the need to pair 100% of the time which happens on most teams I work on. From my experience it’s certainly useful as a coaching tool, as I’ve mentioned before I think it’s a very useful for increasing the amount of collaboration between team members and an excellent way for ensuring ...

   Software development,Paring,Disadvantage     2012-01-11 12:08:47

  Language Complexity?

Some languages are complex, others are simple … right?  C++ versus just about anything else is a good example here.  But, it begs the question: what makes a language complex? So, I’ve just been reading Bruce Eckel’s Artima article on Scala.  It’s actually a nice article, and I enjoyed it.  But, one thing bugged me — and, it’s nicely summarised in this quote: But you can see from the code above that learning Scala should be a lot eas...

   Programming language,complexity     2011-06-15 02:16:05

  How Many Hours Can a Programmer Program?

I am a little late to this party where Michael Arrington says that startups mean working hard and sleeping under your desk. But I will add a few words. I read a lot of commentary about how such death marches can be counter-productive and ultimately unsuccessful, and also the real dangers they pose to the well-being (short-term and long-term) of the lives of the programmers. But I didn’t see many people actually do a quantitative analysis. So here it is. Your average working day...

   Programmer,Working hour,Efficiency     2012-01-28 07:17:17

  Don't Overload #nil?

There’s a popular post on Hacker News about writing confident code by, among other things, overloading Object#nil? and returning “null objects” instead of nil itself.DO NOT DO THIS.In Ruby, all objects (except nil itself) coerce to the boolean value true. Your object will be nil and true at the same time. Bad things will happen. Your coworkers will cry. Sad people from around the world will ask bewildering questions on your mailing list.Here’s what happen...

   Ruby,#nil,Overload,Object     2011-11-10 10:50:22

  Why do people hate Windows?

Windows brought us into PC era, it becomes the most widely used OS in the past 20 or so years. But unfortunately there are still many people hate Windows. Is it because we may encounter the notorious blue screen issue now and then?  People hate Microsoft Windows for the same reason they hate Comcast, United Airlines, or Paypal.Once Microsoft gained a dominant market position, it completely and utterly took its customers for granted. It became arrogant and complacent, causing customers to fe...

   Windows,Hate     2013-08-02 21:13:53

  What matters in life (and what doesn’t)

I’m probably too young to be writing on this topic but observing countless souls distressed by daily life made me think hard on what is that really matters in life. Undoubtedly, there are happy and sad phases and that’s part-and-parcel of life. But what I’m really bothered about is general, daily bitching about how miserable one’s life has become. You find people complaining about work, commute, relationships, other people’s attitudes & personalit...

   Life,Matater,Relationship,Experience,Material possession,Ego     2011-10-24 11:57:27

  Programming Achievements: How to Level Up as a Developer

How does a good developer become a great developer?Forget greatness for a moment: How does a decent developer become a good developer?There is no definitive path from Step 1 to Step n. Heck, it's not even clear what Step n is. And as logically-minded developer types, the lack of a well-defined route can make for a daunting journey from novice to master.I've spent a fair bit of time over the last few years bumping up against this conundrum. What's next? How do I go from being a goo...

   Good developer,Great developer,Comparison,Knowledge,Skill,Platform     2011-11-09 02:12:58

  The Problem With Client-Side Analytics

Client-side analytics is broken. The numbers produced by it are trivially spoofable by competitors and nefarious characters. Most websites use client-side analytics of one type or another and the only way to get numbers you can trust is to compare numbers from multiple providers and to take an average of the closest two.This post highlights the problem and proposes a partial solution that substantially mitigates the issues with minimal effort. Our proposed solution is simply to include a digital...

   Client side,Analysis,Problem,Tricks,ASP.NET,spoof     2011-10-22 12:58:51

  A Month With Scala

Although I’ve played around with Scala for the few months, these efforts largely involved simple scripts and casual reading. It wasn’t until last month that the opportunity to use Scala in a large scale project finally arose and I dove right in. The project was a typical REST based web service built on top of Amazon’s Elastic Beanstalk, SimpleDB, S3 and Redis*. First off let’s talk about why I chose Scala in the first place. After spending a good deal of my las...

   Scala,Functional,OOP,Java,Iteration     2011-12-10 06:03:23

  Investment Banking in China — What I’ve Learned & Unlearned

Anyone seeking to succeed in investment banking in China should live by one rule alone: it’s not who you know, but how well you know them. In China, more than any other country where I’ve worked, the professional is also the personal. Comradeship, if not friendship, is always a necessary precondition to doing business together. If you haven’t shared a meal – and more importantly, shared a few hundred laughs – you will never share a business deal. Competence, ex...

   Business,China,Relationship,Cooperation,Advice     2011-11-18 09:13:49