Filed under: programming
Have you watched Avdi Grimm’s keynote “The Soul of Software”?
Avdi Grimm - The Soul of Software
The talk is one of the most thought-provoking I’ve heard; but one particular concept has stuck in my mind: saccades. Saccades affect our perception of reality. It’s another form of mental blind spots - we can’t change the fact that our brain does this; but we can become more aware of it.
In my experience, “saccades” aren’t just a visual trick. They occur during conversations as well. If you aren’t truly listening, your mind will fill in the blanks with its own version of the truth. A lot of early practitioners of active listening are surprised by how different “what was said” and “what I heard” can be.
Just another reminder to constantly practice mindfulness as often as possible.Continue reading
Filed under: consulting, work
The end result of most Waterfall-style projects looks like this:
How code quality evolves as the deadline approaches
The middle-to-end period of such projects is usually marked by vicious scope arguments, long hours, lots of bugs and lots of technical debt. Responding to change? Forget about it!
One common antidote is to start with an MVP (minimally viable product) to validate the larger project’s viability. Unfortunately, people who come from a Waterfall world usually treat MVPs as part of a 2-step process: e.g. doing a 6-week MVP to decide Go/No-go on a 2-year project. The leap from MVP to full project is still too large:Continue reading
Filed under: consulting, work
Once there was a carpenter who thought his apprentices weren’t smart enough to use hammers properly. So even though he’d buy the best tools on the market:
… he’d then forbid the use of certain “unsafe” features, leaving his apprentices with this:Continue reading
Filed under: work
Today at work, someone shared this framework for evaluating quality:
Filed under: agile
Here’s a controversial opinion: if your organization struggles with being agile, it’ll struggle with DevOps. DevOps cannot succeed where Agile has failed.
Why? Here’s my hypothesis:
Agile, DevOps, Lean are all manifestations of the same principles. Collaborate better, reduce waste, focus on customer value, continually improve.
These fundamental principles are either part of the culture already, or they’re not. As a result, for organizations that already grok agility, DevOps feels like a natural next step. For those that don’t, it feels like a challenge, a threat to existing systems, practices, and hierarchies.
Filed under: conferences
This week I was fortunate enough to present my first major conference talk - the 2018 Lead Developer conference at Austin TX. Wanted to jot down my reflections and notes for future talks.Continue reading
Filed under: general
Words matter. The metaphors we use can lead us down paths that lead to very different, very unintended outcomes.
Recently, I heard of a project idea to use Machine Learning to improve a company’s recruiting efficiency. Using candidates’ social profiles (Github, Stack Overflow, LinkedIn, Quora), the team wanted to predict candidates’ likelihood of getting hired - thus allowing HR to target candidates who wouldn’t have otherwise known of the company. This also meant establishing a baseline of data using current and past employees’ profiles.
Luckily, enough people spoke up about the legal and moral problems with this idea that it was nixed. Just as a sampler:Continue reading
Filed under: development, work
For a while now, I’ve tracked my time-to-first-commit on each new client project. i.e. how long is the time gap between starting on the project, and making my first meaningful commit to the code base?
Over the years, this number has varied from a few hours to several weeks. And with almost 100% correlation, the shorter that time gap, the happier I’ve been over the long term as a developer on that project.Continue reading
Filed under: inspirational, arts
My final post (for now) on the art and artists of my youth. This particular one is special to me: Raj Kapoor, because I inherited this love from my father. My father wasn’t a very expressive man, and I - as a child who wanted to be close to him and emulate him, started watching Raj Kapoor movies and listening to their music from an early age.
I always found it challenging to watch those movies. Alongside the humor was a deep sadness, a pathos, that hits hard and stays stuck in your mind.Continue reading
Filed under: inspirational, arts
A word on these two artists.
Mirza Ghalib is renowned as one of the greatest Urdu poets of all time. Like Shakespeare, his work is evergreen and rewards deeper analysis. His life was unhappy - and it reflects in his best couplets. Even after 150 years since passing, people all over the world organize poetry readings of his work.Continue reading
Filed under: inspirational
[Note: recently decided to write a little bit more about the inspirational artists I’ve encountered over time. And no better or easier place to start than with comedy.]
Humorists observe universal truths, then present them in ways that make you laugh and think. Some examples come to mind - Douglas Adams, Oscar Wilde, Stephen Colbert, P.G. Wodehouse.
One name from my youth in India doesn’t get much attention nowadays: Dr. Surendra Sharma, an exponent of हास्य रस कविता (humorous poetry) and awardee of the Padma Shri (India’s fourth-highest civilian honor.) His poker-faced, mild-mannered, monotonic rustic delivery of लुगाई (wife) jokes made him famous; but Dr. Sharma has way more depth than that.Continue reading
Filed under: agile, work, consulting
Note: This is the 3rd and final post in a series about how to truly adopt agility. The first post defined the problem pattern, the second post proposed the root cause. In this final post, we propose some ideas that may help.
Picking up from the last thread: how do you “be” agile? How do you do it at scale?
My own philosophy is to not reach for quick-fix solutions too soon. The inside-out route, though slower, yields better results over the long run.Continue reading
Filed under: agile, work, consulting
Note: This is the 2nd post in a series about how to truly adopt agility. The first post defined the problem pattern.
Developers are often encouraged to understand one level deeper than what they’re working at.
- Don’t just know WCF or Spring; understand how HTTP and REST work.
- Don’t just learn Power BI or Azure ML; learn some of the mathematical & statistical underpinnings of data science.
- Don’t just learn React or VueJS; understand a bit about how the DOM works.
We get this about our technology. But do we get it about our practices?Continue reading
Filed under: agile, work, consulting
Our industry is not short on great ideas. Agile, TDD, CI/CD, Lean, XP, Pair programming, DevOps are all great ideas.
At the same time, there’s a pattern of failure to adopt these ideas, that we have seen repeatedly. It happened with Agile, is happening now with Lean, and I’m afraid it will happen to DevOps as well. Here’s what it looks like:Continue reading
Filed under: life
Just coming back from the holiday season? Got those back-to-work blues and wishing you had better work-life balance?
Well, today I’m asking you to forget the concept of work-life balance. Here’s a better concept for you: the wobble.
“The Wobble” idea was taught to me by the wonderful John Humphrey when I was just a young consultant, and it stayed with me all these years.
The idea in brief
At any time, the many dimensions of your life are all pulling at you, demanding your time and attention:Continue reading
Filed under: life
I just attended a 1-hour video conference with an Executive Principal at my company, while cradling my newborn infant in my lap, at home, because we’re having a babysitter emergency today.
Yes, today I became that BBC dad.
Professor Robert Kelly and kids
And you know what? It turned out okay. We laughed about it, I made sure the baby was quiet, and we got things done. And I was so grateful for working with people who understand that work and life can’t always be 100% separate.Continue reading
Filed under: development
Some years ago, I heard Kent Beck at a conference say that he felt tremendous impostor syndrome when he started working at Facebook.
“Kent Beck?” I said to myself, “feels impostor syndrome?!!”
Made me feel a lot better about my own bouts of dealing with it.
Anyway, his latest post on tackling complexity is just brilliant. Please give it a thorough read:Continue reading
Filed under: work
In most places, a standup that lasts more than 10-15 minutes is an anti-pattern. As Jason Yip says on Martin Fowler’s blog (the de facto source of definitions for any controversial tech topic these days):
We stand up to keep the meeting short.
This has become such a nostrum that people have adopted extreme measures to avoid long standups:Continue reading
Filed under: life
Early in my career, I used to think about career growth like a school kid would about getting straight A’s. Work hard, show your smarts, check all the boxes, and you will be rewarded. I used to say my eventual ambition was to be CEO; because it was the corporate equivalent of being at the top of my class.
A mentor once told me that book-smart students often think that way. Like me, he had grown up in a typical working-class Asian household, and the pressure to succeed academically was huge. There’s a brilliant parody of this by Goodness Gracious Me:Continue reading
Filed under: communication
“make a sincere effort to overthink current scandals in a way that is useful and sensitive.”
In a world where being “internet famous” is an aspiration, and where “thought leadership” means being critical of others’ ideas or having strong opinions about everything; it’s refreshing to find people who are trying not to judge but to understand. Not to critique but to connect.Continue reading
Filed under: consulting
(Update 10/26/17: hear it directly from the man who taught me this lesson!)
When your current communication channel isn’t working, escalate!Continue reading
Filed under: thinking
Does hypocrisy invalidate an argument? Consider the following examples:
Person A: “Global warming is a real threat to human society.”
Person B: “But you drive 50 miles a day in your big SUV. You’re such a hypocrite!”
Person A: “I’m a vegan by choice, because I’m against cruelty towards animals.”
Person B: “Plants are living things too. You’re such a hypocrite!”
In these exchanges, person B seems to have negated person A’s claim. They have also, essentially, shut down the conversation that person A wanted to start.Continue reading
Filed under: security
So, quick question: have you done anything to protect your identity after the Equifax data breach? If you haven’t heard, or would prefer not to re-read the details, here’s a funny take by Stephen Colbert on the whole thing:Continue reading
Filed under: consulting
A question about code reviews on my company’s intranet recently piqued my interest:Continue reading
Filed under: general
I recently got a chance to work with the wonderful Adria Richards, only later realizing that she’s friends with many of my tech heroes - Brianna Wu, Scott Hanselman, Coraline Ada Ehmke among others. We also had a chance to discuss the problem of sexism and bias in the tech industry - examples being Coraline’s year at Github, Sarah Mei’s thread about Uncle Bob, and Adria’s own traumatic experience.
That conversation brought up an important question in my mind, something I’ve been asking myself ever since: what have I absorbed as “normal”, as “locker room talk”, as harmless - that actually isn’t?Continue reading
Filed under: agile
Bad implementations often ruin good ideas.
Take Scrum, for instance. It’s surprising to me how many organizations say “We’ve tried Scrum; it just didn’t work for us.” I am tempted to reply “You did it wrong!” but instead, I usually ask a bunch of questions that are strong indicators of trouble:Continue reading
Filed under: consulting
Everybody knows the consultant’s favorite answer to any question:
- probably trying to sell you their (predetermined) solution
- oversimplifying the situation
- unaware of your unique situation and constraints
- all of the above
Some will even put the blame on the questioner, arguing that a vague question deserves a vague answer.
While all those arguments have some truth, lately I’ve come to believe that “It depends” has become a conversational crutch for us.Continue reading
Filed under: technology, wix, windows installer
As software consultants we get to ride the wave of new technologies - learning new things, moving from project to project, staying on the bleeding edge, right?
Every now and then, a client project throws you a double-whammy: something hard to learn and with no prospects of long-term usefulness. Such projects test the consultant’s mettle. Do you say “screw this, I’m not working on outdated stuff,” or do you grit your teeth and get the job done?Continue reading
Filed under: leadership
I’ve been thinking a lot about exit interviews lately. Reading a bunch of farewell emails that folks have sent in the past, I was struck by how many of them contained a final note of advice. Here are some examples:
#1: We’ve talked about trust, and the dysfunctions of a team. If you can’t give each other the benefit of the doubt, if you can’t discuss differences of opinion openly with each other, instead using [the boss] as a proxy, you don’t have trust, and you will never pull together. You are all incredibly smart and talented. Imagine the things you could accomplish as a team.
#2: If you will permit me the indulgence of one final thought, I close with this: [the company]’s best future will come from maintaining a focus on creating a truly better way for knowledge workers to work and their organizations to support them. Achieve that goal and this company will better so many people’s lives - starting with everyone who works here.
The people who wrote these notes cared deeply about the organization and its people, and yet they were frustrated enough to quit.Continue reading
Filed under: job search
My friend and mentor Mike Stephenson gave me the best career advice ever:
Interview outside your company every 6 months, even if you don’t want to switch just now.
You may have heard a watered-down version: “You should always take the interview.” But Mike’s advice is more proactive: don’t just wait for the phone to ring, take the driver’s seat.
Over time, I’ve discovered that it’s the perfect antidote to everything developers hate about the job search:
- It keeps you from getting too lazy in your current position
- Your interview skills stay sharp
- You know the salary or billing rate you can command
Filed under: productivity
Recently HBR published a post on the power of saying “no”. The synopsis being: good bosses should encourage and coach their team members to say no more often, to avoid overcommitting.
Please read and share it - because it is so, so important.
This was a hard-learned lesson for me. Coming from India, the concept of always saying “yes” to authority was culturally embedded in me. And my career and mental health suffered because of it. It took a long time to weed that out, and some expert mentorship. I even went to martial arts classes to get over my conflict-avoidance syndrome. You might say the bad habits got choked out of me on the practice mats :)Continue reading
Filed under: leadership
Please answer the question in the title before you proceed any further.
But I’ve started to seriously question that belief after the last few months’ events at Uber.
You know about Uber’s recent woes, right? Susan Fowler’s blog post, Travis Kalanick’s meltdown in his own company’s car, lots of top execs leaving. It’s never been a big secret that Uber’s culture is a dumpster fire, much of it being a direct reflection of the CEO’s personality (read this, this, this, this, this, this, this, this or this.) But Q1 of 2017 was a perfect storm for the company.
In response, Kalanick said:Continue reading
Filed under: politics
Lately, some colleagues have asked me whether the new immigration policies will impact me and my family adversely. You see, they know I’m on an H-1B visa.
Usually I just respond with a vague “¯\_(ツ)_/¯ we’ll see.” As a legal immigrant in an increasingly anti-immigrant nation, I prefer to stay away from politics. Firstly, it’s too personal and you never know who you’ll offend. Also, as in most political discussions, people will leave with the same opinions they came in with, so what’s the point?
But given recent events, I feel a strong need to speak up about this. Recently, the Verge published an in-depth look at the H-1B visa system, which I shared with some folks. It’s very informative and balanced, and I highly recommend you read it. But it still leaves out that personal touch of lived experience.
And since it’s my goal to find a common thread of humanity in all this, I’ve tried to tell the story in terms of a common experience we’ve all shared: modern air travel.Continue reading
Filed under: programming
If there is one telltale sign of good software, it is the ability to change easily with time. Good code is easy to change, easy to maintain. And the SOLID principles show you how to write code that way.
The SOLID principles have been around long enough that it still surprises me when people say they don’t know them. Even amongst those who know them, people understand some rules better than others. S (single responsibility principle) is probably best known because it is easy to grasp. D (dependency injection) is also fairly mainstream by now. One of the less understood, though, is O (the Open/Closed principle).Continue reading
Filed under: programming
In the last post we covered the CAP theorem as the framework underlying most modern DDBSs. But we’re not out of the woods yet.
Around 2010, Daniel Abadi of Yale noted some shortcomings of how the CAP theorem had been understood and applied:Continue reading
Filed under: programming
In the last post we underlined the ACID parameters that define the guarantees that traditional RDBMSs like MS SQL Server, Oracle and MySQL make to us. All the ACID properties are, of course, highly desirable. The problem comes when they run up against the scale and volume of data in our modern world.
Traditional databases were not designed to handle that scale of data. In the early days of this problem, coping mechanisms began to pop up such as:Continue reading
Filed under: consulting, communication
Update 09/14/17: Glenn Burnside, who originally taught me this idea, has written his own blog post. Highly recommended that you read it first!
Ever been in a difficult conversation where you felt that the other side was trying to dismiss your concerns? Or maybe you were on the other side, trying to reassure someone that things weren’t so bad, but they wouldn’t listen?
Glenn Burnside once taught me a very effective communication technique for dealing with such situations on client projects. The beauty is that it works equally well in personal life, as a recent parenting crisis demonstrated to me.Continue reading
Filed under: programming
When an amazing feat of engineering becomes commonplace, we tend to take it for granted. Like airplane wi-fi. Or bridges. Or the original iPhone. It’s a weird twist on Arthur C. Clarke’s adage that “any sufficiently advanced technology is indistinguishable from magic”. Any sufficiently mainstream technology is doomed to lose its sense of wonder.Continue reading
Filed under: books
I recently picked up the audio version of the Lord of the Rings trilogy, narrated by Ron Inglis. What sheer pleasure! My last attempt at reading the trilogy was as a teenager fresh from the movies, so perhaps inevitablyContinue reading
Filed under: programming
Jimmy Bogard is in the middle of an excellent series on Refactoring towards Resilience. As it happens, I had the privilege of working with Jimmy on that project, and have an anecdote to relate that he’s probably unaware of.
A few days after the project went live, I received a frantic email from the client’s Finance department (names changed):Continue reading
Filed under: programming
Why do we do code katas? To drill the fundamentals, yes, but also because in the repetition of a simple task we may discover something profound.
Recently someone challenged me to implement JSON.Stringify() from scratch in C#, which led me down some interesting reading that I’d like to share here.Continue reading
Filed under: life skills
What is the difference between a horror story and an action adventure?
On the left is a movie about an evil spirit that is way more powerful than ordinary mortals.
On the right is also a movie about an evil spirit that is way more powerful than ordinary mortals.Continue reading
Filed under: communication
Are your daily standups an annoyance? An interruption from work that you hate? Do people leave with no clue as to what anyone’s doing?
At your next standup, pay close attention to the patterns of your team’s communication. If it sounds like this:
“I did some stuff yesterday, can’t remember exactly what. Today I’ll continue working more on it, or take care of whatever comes up. Oh btw, Johnny, can you forward me that email you said you would?”
Then you have a serious communication problem.Continue reading
Filed under: pop culture
Image Credit: RadioCusca via DeviantArt
Going back home to visit family always makes me sentimental. Especially since becoming a parent, I look for ways to explain to my kid why mom and dad are so excited about this vacation. In that frame of mind a song heard long ago, in an otherwise forgettable movie, came to mind.Continue reading
Filed under: programming
In a wonderful conversation about Internationalization on the Ruby Rogues podcast, I discovered a wealth of information about things that we programmers assume that… just aren’t so.Continue reading
Filed under: consulting, work
I have been reading a ton, and have 2 strong recommendations for you today.
The first is a big thumbs up for Louis Gerstner’s Who Says Elephants Can’t Dance? - it’s a great read.
I am generally wary of the CEO Autobiography - Jack Welch and Lee Iacocca wrote very good ones, but upon further scrutiny I found them to be poor role models. Their success went to their head. Welch now peddles Winning™ seminars & books with his new wife. Iacocca during his tenure came to be ridiculed as “I Am Chairman Of Chrysler Corporation Always”, tried a hostile takeover of Chrysler 3 years after retirement, and at one point considered running for president.Continue reading
Filed under: consulting
Aside from the technical lessons learnt, Gavin’s overall experiment is a great example of the problems early adopters typically face: a small ecosystem, buggy & unfinished features, missing documentation, lost productivity, and most importantly, a significant risk of failure. The article justified (in my head) a little rule I try to remember: avoid being an early adopter unless absolutely necessary.Continue reading
Filed under: problem solving, consulting
Have you ever come across an ad like this, where all roads lead to one choice?Continue reading
Filed under: book review, leadership
Oh. My. God. Ben Horowitz has written the Cliff’s Notes version of how to be a CEO of a startup. I can’t even begin to describe how much good information is in this book. Please go read it NOW.
Note: this is part of my 2016 reading list. Check out the complete list here.Continue reading
Filed under: goal setting, leadership
By this time of year, 90% of people who set new year’s resolutions on Jan 1st have completely forgotten about them. Why?
Last year we had everyone in the office come up with their 2-year, 1-year, and quarterly goals. But when we did the year end review, it turns out very few of the goals had been met. Why?Continue reading
Filed under: book review, leadership
This book is one of the best tactical manuals on empowering leaders I’ve read. A remarkable aspect is how freely David Marquet references other books and blogs for great ideas. Here’s someone who has thought about good leadership for a long time, tried and failed with the old models, and through experimentation in life-and-death situations come up with an answer that produced immediate and lasting results.
What follows are my favorite excerpts and quotes.
Filed under: money, work, book review
In 2005, when I was a penniless grad student, I worked the maximum allowed (for foreign students) 20 hours each week to pay for rent and groceries. These paid $6 to $10 per hour and consisted of repetitive labor-intensive work: restacking library books, grading assignments, serving food, and so on.
During those long hours I often wondered, sometimes with a jealous tinge, what my fully-sponsored classmates knew or did that was worth $15,000 a semester of tuition plus $3,000 a month of stipend. That was a king’s ransom! What’s worse, I was smarter than most of them! (Did I mention I was very naive back then?) It felt really unfair.Continue reading
Filed under: technology
While Mark Zuckerberg builds his own version of Iron Man’s Jarvis this year, I went ahead and built a less ambitious (but no less fun) bot for myself last month.
Hubot running on a Slack instanceContinue reading
Filed under: agile development
My boss Cedric once gave me an idea that reshaped how I thought about code reviews and about dev tasks:
The code review is an accountability conversation
Filed under: quotes
Raise your self to such a level
That before every decree,
God asks you Himself
“Tell me, what is your wish?”
Filed under: sales, people, values
One of the greatest things you can do for your employees is to ensure that your business is sustainable. Employees tend to take it for granted, but small startups know this is not the case.
There is a story about a business-school professor who was very frustrated with his class one day. Their assignment was simple - to identify “what is wrong with this business?” The students had pored over the company documents - balance sheets, mission statements, annual reports, and come up with tons of ideas, but none of them seemed to satisfy the professor. “No! No! No!” he shouted to every idea they came up with.Continue reading
Filed under: self-improvement, networking
Like most people, I don’t enjoy “networking” for its own sake, but it’s not a dirty word to me. It’s a part of business and a key component of taking charge of your career. But as an introvert, it’s not something that comes easily.
So as any good engineer would, I’ve tried to find a model of networking that fits my beliefs and that I can live with.
Now let’s examine this giving and what forms it might take.
The Godfather Model: “with strings attached”
This kind of person says I’m helping you now, with the expectation that you’ll return the favor at a later time.Continue reading
Filed under: self-improvement
Would you enthusiastically re-hire that employee, given a choice?
Would you take that job again, given a choice?
When it comes down to it, that’s the real test of whether a decision was regrettable or not.Continue reading
Filed under: books, charity
When it comes to books, I am a bit of a hoarder.
This is the smallest of my 3 bookshelves
It struck me recently that this is quite a sorry state of affairs.
First off, if you’ve really imbibed the lesson(s) of a book, you shouldn’t need it anymore. How does mere ownership help you anyway?Continue reading
Filed under: psychology, work
Does your team’s culture emphasize success, or Success Theater?
Remember, no one’s as happy as they seem on Facebook, as depressed as they seem on Twitter or as insufferable as they seem on Instagram
- Maura Quint
Filed under:I'm convinced that the most difficult thing is to convince another person of an idea that they don't buy into.Continue reading
Filed under:In a previous post, I looked back at instances of stagnation - in IT systems, careers, relationships. In this post I'll talk about why difficult times should be welcomed as a way to spark creative thinking and good habits. In the next post I'll share some ways I've found to keep those habits. Continue reading
Filed under: agility
Great tidbit of insight from Kent Beck today at hack.summit():
Q: “Do you use TDD at Facebook? Is it always good to do TDD?”
Kent: “TDD is not always the best thing to use. Some of the things we’re doing at Facebook have never been done before… no one has used memory or code in these ways before. You don’t even know what the outcome is going to be, so how will you write a test for it? It’s not about being religious about a methodology. It’s about the feedback loop - the faster you can get that feedback, the better, whether you use TDD or not.”Continue reading
“90% of success in life is about just showing up” - Woody Allen
“Showing up is not enough” - Dan Shipper
Filed under:Continue readingA great article by Brent Beshore, CEO of AdVentures. Some ideas I can take away immediately are:
Focus. Stop being busy, instead measure what you accomplished.
Specialize. Be the go-to person instead of hunting. Focus on being excellent at one or two things.
Build a history of success. Because services are judged on their history of success, unlike products which are judged on their features and merits.
Profits matter. Or as someone else said: "If there's no margin, there's no mission"
Filed under:*(Note: I’ve been cleaning out my drafts folder, and this post from a few years ago caught my eye - because of the link to Aaron Swartz’ blog. This was written before I even knew who Aaron was and before his tragic, highly public death. Decided to publish this anyway.)* An interesting post about the Kindle v/s iPad user experience. The author points out that even though the Kindle has a lot of delightful touches, it also has some WTFs, which in the end overpower the UX. Continue reading
Filed under:The truth of my IT career is this: most systems I've built for clients were Version 2.0 of a system that was left to stagnate for 12 years. This means that Continue reading
Filed under:A leader is steps ahead in thought, contingency spotting and planning.
A leader sees risks and outcomes better than a follower.
A leader's communication is strong, clear, succinct and decisive.
Filed under:Advice "to my former self" from my 30th year. The worst year of my life - but also the best because of the lessons it taught me. If I had to live it over again, here's what I'd wish I had known. Continue reading
Filed under:This is an apocryphal story that I came across, but as a father of the best 2-year old tyke ever, I'm a sucker for tales like this right now. Enjoy.Two small stories (they're connected) that show how the example we set today may help shape the character of generations tomorrow.STORY IWe all know about Al Capone. The notorious Mafia gangster who virtually owned Chicago. He was a crime boss who lorded over the windy city dealing with all sorts of crimes - from prostitution to murder - to you name it, and he escaped the law for many many years.It was because of one man, his lawyer nicknamed "Easy Eddie." Eddie was very good! In fact, Eddie's skill at legal maneuvering kept Big Al out of jail for a long time.To show his appreciation, Capone paid him very well. Continue reading
You’re a smart person, so you already know that most business and self-help books are BS.
However, many of my key insights in life have come when I’ve been reading something unrelated. Often it’s an idea I picked up from a serious book, but that only came back to hit me while I was reading a lightweight one. Maybe the secret is that mix of curiosity and mild skepticism (sign of an engaged, scientific brain) that automatically kicks in for certain kinds of books but not for a recognized classic like The 7 Habits.Continue reading
Filed under: programming
tl;dr: When working on a WTF bug, I always remember my friend and programming mentor Matthew Hayes’ advice: “Be scientific, and eliminate the possible causes one by one.”
Indulge me as I document my boneheadedness today.Continue reading
Filed under:Based on a poem by Shiv Kumar Batalvi, this song is about a woman who yearns for a child of her own. Her husband is away for long periods. She makes a clay doll that she treats as her child, singing it this lullaby. She sings that her child doesn't cry nor walk nor ask her for anything. She also realizes her jealousy toward other women who she sees happily playing with their children. Continue reading
Filed under: programming
This is a conclusion to Part 1 about adding parameterized tests to Fixie.
Last time we spoke about some approaches to adding parameters to Fixie, a la NUnit’s TestCaseSource parameter. I promised a better attempt than the first one.
The finished sample was submitted to Fixie, and Patrick did end up merging it into the Fixie source.
TestCaseSourceparameter can accept any method, property or field that returns an
IEnumerable<object>. Your test will be run once for each value in the
IEnumerable<>, with the
objectarray being the parameters that get passed in.
Filed under: humor
(came across this on a forum today - source is unknown, but I’m happy to add attribution if you ask)
Filed under: programming, fixie, unit testing
Situation: We want to run the same test for multiple values of an Enumeration class. For example:
- your SUT is a method whose output value depends on the item’s status; and you want to test for each possible status
- your SUT is the handler for an Edit form, and you want to run the test for each possible value in a select list
The NUnit solution:
NUnit has a
TestCaseSourceattribute that lets you do this easily. Any field, property or method that returns an IEnumerable can be used to send in parameters to your test case.
Just define your data source:
And add the data source as a
TestCaseSourceattribute to your test method. Your test will now run once for each value in the
I love this feature in NUnit, and wanted to use it for another project that uses Fixie, a convention-based testing framework from my colleague Patrick Lioi. (p.s. Check it out if you haven’t already, it’s now at version 1.0!)
The Fixie Solution
Looking for ways to do this, I found an example in Fixie’s documentation that lets you parameterize your tests with a custom
In this example the test will run twice - once for each repetition of the
This is close, but not quite what I envisioned, because for multiple parameters it gets messy quickly. Let’s say my Edit form had two select lists - one with 3 options and another with 2 - I would then need 6 Input attributes on my test method! Not to mention, what happens if I add a 3rd select list to the form, or some new options to my select list? A maintenance nightmare, that’s what:
What I’d really like is a convention that tells Fixie when some Enumeration parameters are being passed in, gets all the values of each enumeration, does the cartesian product, and runs the test for each combination of enumeration values:
Compare this to the previous screenshot. This test does not need to change anymore if you add another value to the Enumeration. As an added benefit, you get an actual Enumeration class instead of just a string/int/short value as your parameter.
The following gist shows how to add an
EnumeratedInputattribute to Fixie conventions, and use it in a test.
Example domain with 2 enumerations:
Assume we now have a domain with these two enumerations:
Example usage in Fixie tests
In the gist below, we have added an
EnumeratedInputattribute to the test, which takes 2 parameters. The result will run n1*n2 times, where n1 and n2 are the number of enumerations.
We’re still not all the way there; since our ultimate goal is to not just use enumerations, but to be able to define our own test case sources. But… we now know how to write a parameterized test using Fixie and how to write a convention that recognizes that parameter. This will come in handy for our next step. Stay tuned for the next blog post!
Thanks: Hat-tip to Sharon Cichelli and Patrick Lioi for helping me on this!
Update: next blog post is here!Continue reading
Filed under: programming
If you use Git for version control, then committing, branching, merging and rebasing are some of the most common tasks you perform. Multiple times a day, sometimes multiple times an hour. Why not speed them up a bit?Continue reading
Filed under:Magic Words: The Science and Secrets Behind Seven Words That Motivate, Engage, and Influence - by Tim David
Why this book?
We all want to lead and influence others, but nobody wants to be influenced. How then can you influence others as a leader?
I've had a strong fascination for the brain's cognitive biases, the fallacies we exhibit without even being aware of them. They can be used to move us in the right direction - as a good leader would, or to take advantage of us - as a con artist would. Knowing the biases and recognizing them day-to-day is something I'm practicing Continue reading
I took a long break from blogging as I tried to introspect and understand myself better. It was a challenging, sometimes rewarding journey. Now things are better - and I can start sharing and writing again.Continue reading
Filed under:As evidenced by the number of posts in 2013, this has been a hectic year. An amazing year, filled with ups and downs, but worthwhile because it was a year of proving out who I am and what I'm meant to be. The list below is just a catalog of its highlights as I see them today. Who knows what I'll remember 2, 5, 20 years from now, but it's worth remembering some of these things. Not just for myself, but for the people who helped me get here. I've come to realize and accept that I am a man of many deep flaws and only a few good qualities. Continue reading
Filed under:Samsung's legal arguments, whatever they may be, can't hide the fact that they are a me-too company with no sense of design aesthetics - albeit one with a great manufacturing arm.Continue reading
Rene Ritchie from iMore puts it best:
It's not that Samsung doesn't continuously push the limits of hardware specifications and capabilities as much if not more than anyone else. They do. But they do so by systematically, institutionally copying what other vendors have already done first. [...] Rather than setting a course for the future, they set out to subsume the present.
I can't wait to see what the judgement is - it is going to have massive implications on the mobility market, and certainly affect the patent cold war that Google, Apple, Microsoft have been fighting for a few years now.
More links: #, #
Filed under:Why do overachievers self-destruct? A very thought-provoking article from Subroto Bagchi that examines the problem and offers the antidote: humility.Continue readingIt's funny, the world does an excellent job of beating humility into "average" people. By age thirty, you have been told by a good number of people exactly is wrong with you and why you won't succeed in life. Sometimes you may even start to believe that talk, which then becomes a self-fulfilling prophecy.Overachievers have the opposite problem: they are elevated to demigod status by their teachers/coaches/bosses/agents. Every victory was ordained, every success was predestined because they were just that good. Consider Michael Phelps, or Kenneth Lay, or Tiger Woods, or the millions of shooting stars in the business or sports firmament. They all began well. Their early victories were forged with hard work, discipline, self-sacrifice and sheer force of will. Success soon arrived, followed by fame. They had it all and the media and the fans and friends and family believed they would never fail.But then they imploded. One tiny lapse, then another, and another... pretty soon the foundation of their success turned into rubble. Maybe they just didn't want to pay the price of success anymore - after all, it is heavy. Or maybe they felt like they didn't need to pay it anymore.Sometimes you get lucky and an external event or competitor brings you down to earth. Federer ruled the men's tennis world until Nadal came along, followed by Djokovic. Their mutual competition has kept them all humble and hard at work, and the level of tennis is breathtaking to behold. In contrast, Tiger Woods stood alone at the peak and subsequently self-destructed. A tough competitor or a handicap can be the best thing that ever happens to you. It keeps the fire burning in the belly.You should treat success like a landlord who demands a steep rent. If you stop paying, you will get booted out, no matter how much you've paid in the past. If you start feeling like things are getting too easy at work, if nothing raises that anxiety/excitement in your gut any more, watch out. Watch out. You may be headed for a fall.
Filed under:Continue reading
"If only I had an enemy bigger than my apathy I could have won" - Mumford & SonsHere you go. Get started on whatever you wanted to learn. For free.Now what's your excuse?
Filed under:Every design has some implicit assumptions about its users. Good designs often delight us by thinking about the edge cases and handling them gracefully (whether in software like iTunes, or physical products like the iPad). Bad designs are often designs by default - issues like accessibility, language barriers and tech savvy are not integral to the design process.Continue reading
The same applies to your "processes" at work. How are decisions made and conveyed? How is information shared? Are your meetings structured such that the loudest, most opinionated person wins? Is important detail often conveyed to your team via hallway conversations?
Think about which "users" you are leaving out.
What if a deaf person joins your team? http://davidpeter.me/stories/being-deaf
Or an introvert? http://blogs.hbr.org/cs/2012/07/how_to_manage_your_smartest_st.html
Processes, just like products, require utmost care in their design and must frequently be stress-tested to find their hidden assumptions. You'll be surprised how much they can improve.
Filed under:Just finished reading a story that I'd love to share.A native of a primitive tribe once came to Manhattan and was asked what he thought of it. His response: "They don't see the sky".Continue reading
Filed under:A number of articles in the last 2 days have been trying to make sense of a weird statistic: American worker productivity fell by nearly 1% in Q2 '10.Most of them have got the economic fallout spot on: employee productivity falling means that companies are reaching the limit of what they can achieve with the number of employees they have. And to continue growing they'll need to start recruiting.Over the next 2-3 months I expect the two numbers to do an inverse-correlation dance: as productivity declines, more people will get hired, thus increasing productivity, thus halting more hiring until the productivity declines again... and so on. But overall, I have no doubt that this is good news for the unemployed.Continue reading
Filed under:I'm in the middle of Seth Godin's book Meatball Sundae, which is quite insightful. One statement of his - "Marketing does not support the organization. The organization supports marketing." - has been rolling around my head for a while. Could it be true? If so, what are the implications for the way companies perform marketing today?More to come after some time to let that thought simmer.Continue reading
Filed under:Ingredients: one baby, standard size. Bunch of random household items. One creative mom. Outcome: an awesome, lovable blog.How innovative is that? And what a great way to build great memories with your child!p.s. If you have twins, you should totally do dreams within dreams, Inception-style!Continue reading
Filed under:I'm trying to teach myself how to invest, and how to perform financial analysis on a company. A part of this effort involves reading the financial news everyday.After several weeks of trying to make sense of all the stuff that comes out of Wall Street analysts' mouths, of trying to find patterns between a company's earnings report and its stock price movement, I've come to realize this: nearly all of the pseudo-journalistic babble coming out of financial media outlets is total nonsense. Crap. BS. Piggy-wiffle.Which leads me to Sturgeon's law: "90 percent of everything is crud".You may not have heard of Theodore Sturgeon until now, but you have to agree he's a genius! Seldom has such truth been spoken so succintly.Continue reading
Filed under:Michael Sheen has made a career portraying historical figures - mostly British - in movies and on stage. He's played David Frost in Frost/Nixon, Tony Blair in The Queen, Kenneth Williams, H.G. Wells, Brian Clough, Emperor Nero, and more.I think I've found the perfect next role for him. Coming soon to a theatre near you... Michael Sheen as BP CEO Tony Hayward in... "Top Gun 2: Top Kill"!Seriously... can you tell the difference?p.s. - Someone might make a cheap joke and say that Sheen already has the right experience, having played a vampire twice as well as Nero. Let me say here that Hayward seems to me to have done a fairly good job in the Gulf spill crisis - inasmuch as one human being under great stress can do. That is to say, there aren't many people in the world who could have done better under the circumstances. Aside from keeping his mouth shut, of course.Continue reading
Filed under:According to WSJ, lawyers looking to cash in on the Gulf oil spill disaster have some bad news - BP's $20 billion claims fund may be cutting them out. Interesting - perhaps this is one of the reasons BP agreed to set up the fund?As much as I am in favor of BP repaying those harmed by this tragedy, I am completely against lawyers/sharks trying to make a windfall from other people's misfortune. Serves them right, I say.Continue reading
Filed under:Continue readingNY Times points out that higher education costs are rising fast, even during a recession. That's bad news for students and families who took on tremendous debt - because if they can't pay it back (like most students who graduated without a job in 2008-09), bankruptcy is not an option. The article asks a good question: at what point will the cost get too prohibitive?It's true that Ivy league professors, like Wall Street bankers and Medicare doctors, get paid disproportionately high salaries relative to the benefits they provide to society. I call it the "NASA effect" - despite the trillions of dollars poured into NASA, the list of real societal benefits from that organization is rather banal. And yet nobody shuts it down or reins it in, because in the public's mind NASA stands for more... things like national pride and human achievement and mom and apple pie. There's too big a halo around it.Ditto with an Ivy league education.So here's the key question: what exactly is all that tuition money buying you? And can you get it cheaper elsewhere?I've studied at a top-10 institution (grad) and a softer, tier-2 one (undergrad). Here's my breakdown on what I got from the top school:Trade skills: To be honest, none of the courses I paid for have been relevant in any way since the day I left. Those skills could have definitely been obtained at a cheaper price elsewhere.Life skills: I did learn a lot of intangible lessons, though. Competing with the best and brightest in the world took me to levels I didn't know I could achieve. Learning from great minds and being inspired by their research was incredibly rewarding. And knowing that I survived and (to some extent) thrived in that environment is something nobody can take away - it's a level of self-confidence that is hard to achieve any other way. That benefit was certainly worth a lot. Maybe there are other cheaper ways to learn those life skills - internships/jobs at top companies, a stint in the armed forces, etc.Network: There's also the amazing bunch of people I met and befriended. The world has learnt all about the benefits of networking, of course, but there's networking and then there's bonding over a shared experience. Again, not something you can replicate easily. If you've seen two Aggies or two Gators meet, you'll know what I mean.Brand name: Finally, there's the halo effect that other people bestow upon you for being from a top institution.Now let's monetize these benefits. Say my overall tuition was $100. And you, as my parent/banker/sponsor, ask me to itemize that bill over these four areas. What would that breakdown look like?For someone in an Ivy league school, I'd bet the breakdown looks something like 10/40/30/20. That is, the coursework is only about 10% of the total educational value, the life skills about 40%, and the network and brand name are about 30% and 20% respectively. For students in certain fields like finance or MBA, the ratios might actually be closer to 5/35/30/30 (remember, their boardroom politics depends a lot on their MBA alma mater). And here's the kicker: if you change the numbers to reflect their value over your lifetime, they get skewed even further: more like 1/34/35/30.At the other extreme, for someone going to a trade school, the same ratios might look like 90/5/5/0. They're mainly paying to learn a skill; and they don't expect much from their fellow students or university after they leave. And those numbers won't change much over their lifetime.(Please note: I'm generalizing here, of course these numbers have no relation to anything in the real world. I'm merely using them for the purpose of this mental exercise).If you control for the value of the education, then just from these numbers, you can see that an Ivy Leaguer should be willing to pay 10 to 90 times the tuition of someone going to trade school. And when you actually start to factor in things like quality of education, professors' salaries, brand name cachet etc., that number goes up into multiples of 1000.Marketing 101 says you don't price an item based on how much it costs to produce; you price it based on what the market is willing to pay. Universities know that students are willing to pay through their nose for an entry. Students, in turn, know that the job market will reward them lifelong for having a top degree.Bottom line, most schools today are trying to strike a balance between what they offer in terms of value and what they charge in fees. But the truth is that when you account for lifetime returns, a college education is still fairly priced - perhaps even underpriced.Bonus: "Why do professional athletes make so much more money than teachers? Isn't education more valuable to society than entertainment?" Find the answer here.
Filed under:Continue readingWarren Buffett testified before the Financial Crisis Inquiry Commission this week. The financial media is calling his testimony a PR disaster for the legendary investor. I didn't see it that way at all. The whole event looked like a farce to me, and at the end only Buffett came out with the least mud on his shirt.Let's look at each of the players in turn:The Inquiry Commission (FCIC):What was their objective? If they really wanted to get deeper into the ratings business, why was only Moody's called to the hearing - where were Standard & Poor's and Fitch? And why such an insistence on getting Buffett - they had to get him under subpoena eventually.What were the board's qualifications to conduct such a hearing? The chairman, Phil Angelides, was California's State Treasurer from 1999 to 2007 - not the best credentials by the looks of their state budget. Ditto the Vice Chairman. If nothing else, you could be sure they had a personal axe to grind against big corporations.Moody'sBuffett was wrong in saying Moody's shouldn't be singled out. So what if everyone else missed the housing bubble? Moody's' culture of integrity was gone way before the bubble, as noted in this excellent Huffington Post article. That was their epic failure which led to everything else. They had a responsibility to the public, and they failed miserably.Maybe Buffett meant that Moody's shouldn't be singled out from the troika - Standard & Poor's and Fitch made the same mistakes, after all. But "everyone else is doing it" has never been a good argument. It didn't work on our mothers when we were young, and it doesn't work today.Financial MediaIt's so much fun to report on hearings like these, with millionaire CEOs getting humiliated and all those zingers flying back and forth. But where were you people when this crisis was unfolding? The culture at these agencies has been askew for more than half a decade - where was your investigative journalism then? Why wasn't anyone reporting on the excesses of Wall Street?Hindsight is 20/20, and I don't need your armchair opinions on Buffett and Moody's and Goldman today, thank you very much. A little more before-the-event diligence would have been appreciated.Investing publicBuffett's biggest point, one that went almost unreported: investors shouldn't have substituted any agency's ratings for their own due diligence. The people who trusted those ratings were a huge driver of this cycle of greed. By blindly trusting Moody's, people increased the desirability of their ratings, which meant ever more companies chased after those AAAs... coupled with the zero-integrity environment, you had a recipe for disaster.One might argue that by 2007, most of these financial instruments had become too opaque, too complex for the ordinary investor to understand the inherent risks. Major hedge fund operators and institutional investors should be sophisticated enough, but let's say they weren't (due to laziness or ignorance or both). So they began to rely on rating agencies to do the dirty work (a.k.a. analysis) for them. Ergo, it became even more important that the ratings agencies acted with integrity, and since they didn't, they are to blame for the market crash.While it's a decent argument, it doesn't help anyone. It's a bit like BP saying the Blowout Preventer should never have malfunctioned, and hence the oil spill is entirely Cameron International's fault (they made the device). And just like the leaking oil is BP's responsibility, what happens to your money is ultimately your responsibility. You invested in something you didn't understand, you were involved in the cycle of greed, so ignorance is neither a defense nor an appeal.If it were raining outside, would you go out wearing suntan lotion just because the weatherman predicted sunny skies?Warren BuffetRead the minutes from Buffett's testimony. You can tell he's in top form (and peak mental health, hooraah!). And if you've followed his speeches/letters for even a short while, you know that he was speaking his mind out there, without evasiveness or lying. Even that bit about Moody's not being singled out - I think he sincerely believes it and probably has good reasons for it.Like most of the businesses he owns, Buffett isn't involved in Moody's daily operations. His remarks indicate he isn't too happy with their performance either - and at present is only invested in the firm because he can't get a good enough price.Overall, I have little faith that these inquiries will get us anywhere. That's a shame because we really need some good legislation, and fast. Such public-shaming meetings achieve nothing.
Filed under:Bad things happen to us all. When they do, some confront the truth and try to make things better, while other go into a death spiral of blaming others.Recently, some people and corporations have stood out in my mind for the way they held themselves accountable:Continue reading
When you hear such stories in the news, pay close attention to how the accused person or company responds. Some, like Google, admit their mistakes publicly. They also learn from those mistakes quickly... which helps them recover faster. I will make a bet that BP, Goldman Sachs and Google will overcome their recent setbacks and be stronger than ever.The blame game has been everywhere in the news recently. The oil spill, Europe's economic woes, America's jobless recovery, Facebook and Google privacy concerns, Apple v/s Adobe, Apple v/s Jason Chen... how do you know who's right?People (especially politicians) love a scapegoat, because pinning the blame on someone else is easier than taking responsibility for fixing the problem. The media (formerly an honorable profession) also loves these stories because they fuel people's anger and sell more papers. Often they are wrong, and often they ignore bigger problems that get swept under the rug until it's too late.Cases in point:
- BP's open response to the Gulf oil spill. Specifically, them taking responsibility for all the cleanup costs and legitimate loss claims, over & above their legal liability.
- Obama coming clean to the nation about the Minerals Management Service (a federal agency) cozying up with oil corporations.
- Google apologizing for inadvertently capturing Wi-Fi data, and making amends at once.
- Google being honest with customers and investors about the Nexus One fiasco.
- Goldman Sachs' Lloyd Blankfein's behavior during the Senate hearings.
When watching a bad situation unfold, look for who is passing the buck, and who is acting responsibly and facing facts. That'll give you a hint about who will emerge stronger in the end.
- Greece looking to sue US banks over the market's lack of confidence in Greek bonds, never mind the role played by their government's years of financial mismanagement.
- Michigan senator Carl Levin leading the Senate witch hunt at Goldman Sachs, never mind the "sh***y" state of Michigan's economy that he's done nothing to help.
- Napolitano trying to make BP pay for every single claim related to the oil spill, blatantly ignoring current US liability laws, and making BP the target of every single jobless claim in Louisiana. Does she understand the difference between being "responsible" for something and being "culpable" for it?
- The people who blame Wall Street for the loss of their jobs and having no savings, forgetting their former live-beyond-your-means lifestyles.
Filed under:How do you justify Apple leaving out Flash support from the iPad?I couldn't figure it out. Yes, Steve Jobs' blog post was persuasive, and yes, Flash isn't ready for mobile devices with touch screens. But to leave out an industry-standard technology out of such an important product was quite risky. Asking the entire developer community to tag along to HTML5 was arrogant, too.Continue readingThat is what I thought. Until I chanced upon an interview Jobs did with Playboy magazine about 26 years ago. Here's an excerpt about the Macintosh:
Filed under:How are foreign students in America, recently graduated and unable to find jobs, coping with the recession?While shopping in an Indian grocery store today, I was approached by a twenty-something fellow with a big smile on his face, who asked me, "Excuse me, haven't I met you somewhere? Aren't you ___'s brother?" I said no, but he kept on trying to initiate a conversation- where do I work? Where was I from? Where did I get my degree? All in an extra friendly manner.I kept my guard up. I've encountered my fair share of Amway-Quixtar types in grocery stores, libraries and other random places. They always start conversations on a "you're Indian I'm Indian let's be friends" basis.Continue readingHe eventually gave up and just blurted out his situation: recently graduated from UT Dallas with a Masters degree, looking for a job, wondering if my company is hiring. I gave him our website, a number he could call (after all, I was in his situation once,) and wished him the best. Later I saw him with two friends hanging around the aisles, scoping potential targets.Is this what it's come to? I mean, ten on ten for innovation, and for having the guts to go through that, but minus five million for execution, right?p.s. - my wife likes to say that Indian men have absolutely no idea how to talk smooth... Americans are really good at this, they play it cool and handle conversations in a way that leaves both parties with an easy exit. Today, watching this guy fumble through an awkward agenda in such a creepy, off-putting manner, I just had to agree with her. Shape up, my desi brethren, prove her wrong!
Filed under:Verizon and AT&T are at the forefront of innovation again - in the field of fleecing the customer. Under the guise of per-byte billing, they're trying to change the current flat-fee data model for smartphones into one that will force you to pay a lot more.If you believe their rhetoric, you might think you'll be paying the same per-byte rate whether you used 1MB or 1000. Use nothing and you pay nothing. It's "only fair".But you'd be so wrong.What they're really pushing is a caps-and-overages system. Here's Verizon's version - each smartphone owner must pay a mandatory base charge of $10, for upto 25MB. If you want more data, you can upgrade to the "unlimited" (read 5GB) plan for $30 per month. Go over your limit, and you pay steep overage charges. How steep? Consider AT&T's recently released international 3G data plan for iPads - $25 for a paltry 20MB of data, $200 for 200MB.Given how ridiculously low the base limit is, most people are thus being nudged into a higher fee bracket. And if you're like most people, you're on a Wifi network at home or office 80% of the time. So you end up paying for a service you never use. More profit for the carriers, more money out of the customer's pocket.Despite public outcry and a lot of media backlash, I don't see the carriers holding their plans back very long. The only thing stopping them is a lack of cooperation. As long as Verizon, AT&T and Sprint see metered billing as a competitive difference, we the consumers are safe. The moment they all decide it's the right way to go, that's it.Continue reading
Filed under:A highly recommended read on the differences between baby boomers', Gen-X and Gen-Y's views on home buying... and why it's hurting a lot of boomers financially.There is a lot of good analysis here. Points that I found especially relevant:Continue reading
- People's real estate needs change as they get older. Folks who have stayed in or around Boston all their lives now want to move to warmer climes for retirement. But who's going to buy their million dollar palaces in the 'burbs?
- Predicting the future based on any single generation's characteristics is really hard. The author cites some famous economists whose predictions were 180 degrees off target - because they failed to account for immigrants or the boomers' continued prosperity.
- The boomers' classic mistake of tying up all their net worth in their houses; thinking that they'll always be able to sell it for more than they paid.
- The positive effect that upwardly mobile, highly educated immigrants bring to the community. In all the discussions of the financial crisis and its solutions, I've yet to come across a journalistic piece that is so articulate on exactly why America needs to open its doors to more immigrants.
- The conflict between short-term and long-term interests. Wealthy homeowners don't want lower-income people entering their communities and accessing the good schools their taxes paid for... but 20 years down the line, those well-educated kids will be same wealthy adults that today's homeowners will be selling to. It's an interesting give and take.
An old but excellent article from Newsweek that discusses the reality of America’s entitlement programs like Social Security, Medicare and Medicaid. Not only are these systems sinking financially, their weight is dragging America’s economy down with them.
In a previous post I said that our #1 priority in healthcare reform should be to make healthcare itself more affordable - i.e. the cost of going to a doctor or a hospital, the cost of prescriptions, etc. This has nothing to do with insurance - it has to do with what doctors, hospitals, pharmas etc. charge for their services - which I believe is totally askew. The debate currently focuses on insurance, and how to rearrange the numbers to make it all work. Everyone sees insurers as these evil megacorporations that are crushing the little people to squeeze some extra profit. That’s not entirely false, but it misses the point.
I originally said that removing the middlemen (i.e. the insurance agencies) would be a solution. Over the last few days I’ve researched more, and concluded that judgment hasty. The insurance agencies provide a lot of important services to the healthcare system - not least of which is keeping doctors/hospitals/pharmas in check. It’s a tough industry, with patients expecting them to pay for everything under the sun, and DHPs trying to squeeze out the maximum profit.
In light of my research, I think we can and should do a lot more to reform the entire system. Here are a few more suggestions.
1) Reform the medical training and recruiting process. I am an immigrant. An engineer by trade, I found it relatively easy to enter a great university for higher education, find a job and get my visa processed. I say relatively - because compared to me, most immigrant doctors have a hellish time getting into residency programs. And the number that actually does make it in is extremely small. This makes sense, since most residents’ tuition and expenses come out of the Medicare budget - which means eliminating waste in the Medicare system would be a way to open the gates to more qualified medical professionals.
2) Reform medical malpractice legislation. The whole system pays a huge cost (tangible and otherwise) to keep the malpractice sharks at bay - and that cost is ultimately borne by us. By encouraging frivolous lawsuits and awarding ridiculous payouts, the judicial system has seriously distorted the priorities of healthcare professionals. Why else do we hear horror stories of people not receiving care, waiting in the ER for hours and hours, because doctors won’t touch them until their insurance paperwork comes through?
3) Create better checks and balances on doctor’s fees and practices. Right now doctors name their own fees to Medicare and insurance agencies. It’s up to the insurers to fight doctors and hospitals on what procedures they deem necessary. The way this plays out is almost never to the benefit of the patient - simply because he’s out of the loop.
4) Educate people on their healthcare options. My friend recently had to pay everything out-of-pocket for a procedure for his visiting father (he didn’t have visitor’s insurance when coming over). While the cost was quite high, he was still able to slash the potential bills by almost half, by asking lots of questions and being persistent. He found that there are alternatives to almost everything - you don’t need a $15,000-per-night room for a procedure; you don’t have to accept the first thing that doctors, nurses and hospital staff tell you; and most importantly, negotiation is possible. The better informed you are, the better your chances of saving.
Sadly, almost everyone who has insurance is completely blind to these facts - something that doctors and hospitals count on so that they can get the maximum out of the insurance companies.
5) For all non-essential procedures, force doctors and hospitals to discuss all potential options, and their relative costs, with the patients or their PILO. According to my friend who designs IT systems for hospitals, doctors have complete lists of options on what procedures to perform, how much each one costs, etc. They are encouraged to opt for the most expensive ones by their superiors and by the pharmas. Such practices, when taken cumulatively, cause significant harm to the system.
Note: I am still educating myself on the whole healthcare system - how it operates and how it got this way. More thoughts and ideas to come soon. Any informative opinions welcome.Continue reading
Lately I’ve been getting tired of iPad owners proclaiming themselves “early adopters”. Why has it suddenly become such a badge of pride? Isn’t it annoying enough watching them parade the device around?
There’s good reason why the majority of people aren’t early adopters. The first generation of any product/technology is usually the worst. It’s buggy, expensive, unproven, and the ecosystem isn’t there yet to make it a value proposition. Later versions are packed with more features, important bug fixes and better support. And historically, it’s not the innovator company that profits when the product/technology finally goes mainstream… it’s someone else who came up with a better 2nd or 3rd generation, and had the staying power to cross the chasm.
Being an early adopter may be advantageous in certain situations. Tennis pros using better racket technology, swimmers wearing advanced suits (now banned), development teams using Agile methodologies, are examples of that. But for consumer products like the iPad, there’s no tangible reason for the buyer to be proud of early adoption. Can you imagine someone who proudly said they’re early adopters of Motorola’s Iridium phones? Or HD-DVDs?
iPadders are just trying to feel good about their purchase by rationalizing an impulsive decision. One day, we’ll look back on the iPad launch, and say this was the day Steve Jobs’ reality distortion field finally went mainstream.Continue reading
Note: in a follow-on post, I’ve penned a better-researched, more considered opinion on healthcare. This post is kept intact for historical purposes. Feel free to read this first, though, as I feel it documents the problem I see.
An interesting article from CNN.com. It basically blames the economic crisis on rising middle-class costs - healthcare and education. These increasing costs made people go on borrowing sprees, and China’s loose lending policy provided the fuel. While I don’t agree with all the arguments, I do want to zero in on the rising costs of healthcare.
The current healthcare reform debate ignores a stark reality: healthcare in America is just too expensive. No matter which way you spin the facts, that’s one thing none of the policymakers are discussing. I’m glad this article brings that point up.
I believe that American healthcare professionals are overpaid - exorbitantly so - for the amount of work they do. This isn’t just my observation as a patient - it’s been corroborated by several doctors & doctoral resident friends in top medical schools here. From the number of patients they see, the time they take to provide a diagnosis, to the number of unnecessary tests and procedures they perform, America’s doctors are woefully inefficient compared to the rest of the world.
There are many reasons this system is the way it is. The high cost of a medical degree, the shark-infested waters of malpractice lawsuits, the big pharmas that give doctors kickbacks to prescribe their overpriced drugs… but most importantly, the disconnect between the patients using the service and the insurance companies paying for it. Any time you disconnect the usage of a service from the payment of it, you create inefficiencies.
Medical insurance is a tricky game. Each of the three players has different and conflicting goals - patients want the best care at low cost, doctors want the most money for their work, and insurers want the most profits. The weakest party in this game is the patient. Doctors call the shots on what tests/procedures the patient needs - often ordering unnecessary but expensive tests that simply pad their bottom lines. The insurance giants call the shots on your healthcare premiums. The tug-of-war between those two creates high costs for patients.
An insurance-based model works only if more people are paying into the system than are withdrawing from it - like auto insurance. When that model gets skewed (look at Social Security), the system starts to collapse under its own weight. As America grows older, this model will get skewed badly. The relative size of 20-50 year olds is decreasing, and the aging population is too large for it to support. That younger group isn’t exactly healthy either - problems like teenage obesity, diabetes, smoking and other lifestyle-related diseases are growing.
To stay profitable, insurers have to (a) reduce the per-patient cost, (b) reduce the number of people/procedures they cover, or (c) increase their premiums to crazy levels. Today, all insurance agencies employ a combination of these tactics. And yet there’s no way to sustain this without being unfair to at least one group - either the healthy population will have to pay outrageous premiums, or the aging/unhealthy population will be denied the healthcare they need.
Something needs to be done.
I don’t claim to have all the answers, but here’s a suggestion: remove the middleman. Remove the insurance agencies. Let the market (patients) bring the cost of goods (doctor’s services, prescription drugs etc) down to a sustainable level. For those who cannot pay for their healthcare needs, let’s have the government provide financial assistance, or build up a public healthcare system.
That is why I am in favor or a public healthcare option. If Obama can actually see it through to completion, more power to him!Continue reading
I find it intriguing, and not the least bit annoying, when the same people who cry “Socialism!” at Obama’s healthcare program then go around expecting the government to dole out further benefits to the unemployed.
Yes, Main Street, the government gave you a bailout too. Unemployment benefits currently stand at an unprecedented 99 weeks. That’s close to two years of getting paid without a job. Can you do the math?
Disclaimer: I don’t have anything against the unemployed - especially those who are actually trying to reenter the workforce. Just against hypocrites.Continue reading
I want to talk about holding effective meetings. People have built entire careers on studying this sphere of human activity, and I don’t pretend to be as knowledgeable or scientific as them. But from my personal experience, there are 3 key factors to holding effective meetings: 1) Invite the right peopleContinue reading
Just have two quick anecdotes to relate about Apple’s user experience management.
#1: Last weekend, I was giving a tour of NYC to some visiting relatives. These folks live in a remote part of India. After a tour of Central Park, we went to the Apple store on 6th Avenue. The line was serpentine and there was a long, long wait to get to the iPads. My uncle, always an eager learner, got intrigued by all the iPad posters. He starts asking me all sorts of questions about the iPad, starts looking over people’s shoulders to see what they’re doing, how they’re using it. He seems impressed, but in a so-what kind of way. Then comes the following exchange:Continue reading
I highly, highly recommend Scott Berkun’s book on public speaking. It’s the most accessible and commonsense book I’ve read on this difficult art.
Even if you aren’t really interested in public speaking, you’ll enjoy Scott’s entertaining and conversational narrative. The first few chapters go into the mind of the speaker, as he/she prepares to stand naked (as it were) in front of a crowd and talk. He gently but expertly debunks the fears we’ve all experienced before presenting to a group.Continue reading
There has been a lot of talk lately about Apple’s new iPhone OS 4.0 restrictions. A lot of people are asking if Steve Jobs has gone mad, and if this will finally turn a lot of iPhone developers towards Google’s Android platform. Me? I’m not sure.Continue reading
Filed under: poetry
It little profits that an idle king,Continue reading
By this still hearth, among these barren crags,
Match’d with an aged wife, I mete and dole
Unequal laws unto a savage race,
That hoard, and sleep, and feed, and know not me.
Filed under: quotes
You know youve achieved perfection in design, not when you have nothing more to add, but when you have nothing more to take away - Antoine de Saint-Exupery
No distance of place or lapse of time can lessen the friendship of those who are thoroughly persuaded of each other’s worth - Robert Southey
subscribe via RSS