I know what I’ll use the Galaxy Tab for: to show off Android.

Impressions · All the apps I tried ran just fine, including a couple of immersive games that really benefited from the extra inches. I’ve heard of a few apps that misbehave, but their problems were obvious & easy to fix; watch for details over on the Android Dev Blog, starting later today. ¶

Samsung has sprinkled some sugar on the out-of-the-box Google UI elements, and while the community’s opinions on hardware companies’ efforts to improve Android software have been, um, mixed (my own is extremely mixed), I have to say that the Samsungers have shown restraint, putting the extra real estate to good use in good places, for example the notifications pull-down. There may be some of that integrated-social-everything that frankly gets up my nose, but my nose remained clear around the Tab, so if it’s there it‘s at least easy to ignore.

It’s snappy, especially on games where that matters; maybe there are places where servicing the extra bits in the 1024x600 screen will hurt, but I didn’t run across them.

It’s got a phone but (at least on the pre-release model I used) you can’t hold it up to your head, which is a good thing as that would look supremely dorky.

Did I mention that the screen is beautiful? Also it feels really good in the hand and looks pretty nice, and is obviously in the first microsecond’s glance not an iPad.

 

in 10 years, data mining and modeling will be an important area in IT.

By 2020, the amount of data generated each year will reach 35 zettabytes, or about 35 million petabytes, according to market researcher IDC. That's enough data to fill a stack of DVDs reaching from the Earth to the moon and back, according to John Gantz, chief research officer at IDC.

Demand will be high for IT workers with the ability to not only analyze dizzying amounts of data, but also work with business units to define what data is needed and where to get it.

 

"debugging hell" - running code over and over, making random changes and seeing if they worked - HAHA!

My post on the nature of programming seems to have struck a nerve. Many commenters pondered what makes a developer great. “Ka” thought that:

“You [are] not born [a] good or great programmer, you become one with time and study and hard work. At the beginning, everybody is a bad programmer.”

I disagree. Developers are not born “great,” but greatness does not automatically come with experience. Conversely, lack of experience does not make a developer “bad.” The difference between a great developer and a bad developer is not in their domain knowledge, but their methodology. The distinguishing mark of a great developer is that he codes consciously. Put another way, a good developer always knows why he is doing something. From the perspective of personal ethics, this requires intellectual courage and integrity.

Let me give an illustration of what I mean from personal experience:

When I got into Objective-C development, I was a “bad” developer. Most of my experience is with .Net code. Jumping into the iPhone dev world was intimidating. As as a result, I lacked the courage to learn the architecture. I tried to manipulate blocks of code found on the web without understanding what they were doing. I would copy and paste blocks of code and just change variable names. When things didn’t work, I would look for another block of code to substitute for the failing one, or enter “debugging hell” – running code over and over, making random changes and seeing if they worked. This is the hallmark of a bad developer – imitating without understanding. I kept this up for over a year. It’s not that I didn’t try to learn the language. I got several books and watched iTunes U classes. But the way I used the learning materials was to memorize blocks of code and look for places to stuff them into my code. I wasn’t actually learning the platform, just collecting samples. Some developers spend their entire careers this way. They carry collections of old code everywhere they go, and just grab chunks to insert into new programs. They may never select File => New File or File => New Project in their whole career.

 

Casualness maximizes commonality among people. Formality maximizes difference.

These customs reveal certain underlying values in a society.

In an older post I discussed the cultural ethos of Formality vs. Casualness. Casualness -- in attire, in manner of speaking, in the way names are presented on paper -- maximizes commonality among people. Formality maximizes difference. A related dichotomy is Past vs. Future. Past emphasizes past accomplishments and titles, your family and cultural history, and gives great deference to elders. Future emphasizes what you are doing today and who you aspire to be tomorrow. Future-oriented cultures, for better or worse, favor the energy of youth over the wisdom of elders. America is a decidedly casual, future-oriented culture, and this is partly what makes it unique.

In any case, it's interesting that cultural values of this sort can appear so visibly in how events are staged and speakers introduced.

 

Computers in Patient Care: The Promise and the Challenge

A 29-year-old female from New York City comes in at 3 a.m. to an ED (emergency department) in California, complaining of severe acute abdominal pain that woke her up. She reports that she is in California attending a wedding and that she has suffered from similar abdominal pain in the recent past, most recently resulting in an appendectomy. The emergency physician performs an abdominal CAT scan and sees what he believes to be an artifact from the appendectomy in her abdominal cavity. He has no information about the patient's past history other than what she is able to tell him; he has no access to any images taken before or after the appendectomy, nor does he have any other vital information about the surgical operative note or follow-up. The physician is left with nothing more than what he can see in front of him. The woman is held overnight for observation and released the following morning symptomatically improved, but essentially undiagnosed.

A vital opportunity has been lost, and it will take several months and several more physicians and diagnostic studies (and quite a bit more abdominal pain) before an exploratory laparotomy will reveal that the woman suffered from a rare (but highly curable) condition, a Meckel's diverticulum. This might well have been discovered that night in California had the physician had access to complete historical information.

This case is recent, but the information problem at its root seems a holdover from an earlier age: Why is it that in terms of automating medical information, we are still attempting to implement concepts that are decades old? With all of the computerization of so many aspects of our daily lives, medical informatics has had limited impact on day-to-day patient care. We have witnessed slow progress in using technology to gather, process, and disseminate patient information, to guide medical practitioners in their provision of care and to couple them to appropriate medical information for their patients' care.

 

The magic number 150

Many people have asked me about some of the references for my Real Life Social Network talk. So here they are. I’m truly standing on the shoulders of others. For the most part, I’ve taken other people’s research and synthesized it, looking for patterns and trying to figure out how it all relates together. I hope the links here inspire you as much as they have inspired me.

Mapping people’s real life social networks.
I published a research paper in 2007 that detailed an early version of this process. I’ve since iterated on it a few times. The paper also contains some findings towards the end.

The magic number 150.
See this New York Post article where Robin Dunbar describes how different groups are made up of 150 people. Nicholas Christakis and James Fowler have also studied this in modern groups. For a great overview (with data) of Dunbar’s number and online games, see this blog post by Christopher Allen.

 

Sutukil time: with the Caresharing family.

 

Threadless: 10 years of awesomeness. :D

 

Dark angels, flying about and preying on fresh minds.

For young smart programmers who study a bit about the basic principles of making money, it’s pretty easy to get a steady income from the internet. It’s almost trivially easy, particularly at this point in time where there are many consumers of internet-based products and few producers.

But many people who try to make money on the internet are failing – and one of the main reason they fail is because of angels. Dark angels, flying about and preying on fresh minds.

You see, the angel investors, however benign the name may sound, are not investing money to help businesses get off the ground. They are not investing money so that others will get as rich as they themselves are. They are not doing a nice and social service – they are investing money because they want even more money back. That’s all they are – they are hawks looking to see where they can prey.

And one of their main bait methods is in their writing. Angel investors and others in their eco-system are writing on the internet about how to make money on the internet. These articles are what young programmers read, and the methods that these people write about is what the programmers end up using. Not knowing that they have fallen into a deadly trap that will maximize the potential profits of the angels, while rendering them nothing but statistical nothings, to be discarded at any time.

 

A startup that has a software-based product, must have a developer/programmer. Failure to have that is not an option.

 

Let's start a dipshit startup. Yes, dipshit, that sells for $25M to Google. :D

Let's get the self-aggrandizing plea for attention out of the way:

Please vote for my SxSW panel entitled "A Bootstrapped Geek Sifts Through the Bullshit."

It answers questions like "How do I get the courage to just start when I know so little about what it's really like at a startup?" and "How do I balance the utility of learning from others with wanting to go my own, unique way?"

Plus it's ironic; I'm giving advice about how to take advice. You know, like finding a black fly in your Chardonnay. (White flies are harder to see and therefore not ironic, you see.)

OK, now on to the good stuff...

Champion of the dipshits

Michael Arrington wrote an interesting piece today at TechCrunch about how VCs are pissed that great entrepreneurs are taking under $500k of angel money instead of $2m their money.

The real reason they're pissed is that VCs are increasingly unnecessary to get companies started, both because of inexpensive technology and marketing channels and because there are enough angel investors that founders don't have to sell the entire farm for ridiculous amounts of cash they don't really need.

And then, for the few companies that really do need VC-sized investments to take them from product/market fit to explosive growth, by the time they start touring Sand Hill Road their valuations are sky-high; they've already got all the trappings of a successful company, the major risks having been removed during the angel round.

All this is explained in clear detail in Paul Graham's his piece on the future of tech investing — a must-read for anyone interested in financing. He's is biased, of course, because he leads the 200+ company Y-Combinator incubator, but his predictions have already come true for many founders I know personally.

Of course the VCs aren't happy about this. This excerpt from the TechCrunch article made me livid:

The VCs, for their part, fight back more quietly. They point out that very few angel funded startups end up very big or interesting. “An entire generation of entrepreneurs are building dipshit companies and hoping that they sell to Google for $25 million,” lamented a venture capitalist to me recently. He believes that angel investors are pushing entrepreneurs to think small, and avoid the home run swings. And you don’t get a home run unless you swing hard, he says. When you play it safe you nearly always lose.

Rather than provide a cogent argument for why founders ought to take VC money anyway, the response is to call the company a "dipshit" and reveal the astounding arrogance that a few founders selling their company for $25m is somehow a failure.

To understand what's really being said here, you have to replace the word "you" with the actual antecedents.  So: "When you play it safe you nearly always lose" should read: "When founders play it safe VCs nearly always lose."

But founders often win.

That's what gets me about this entire attitude — it's about returns for their fund, not success for the founders. Which is how it should be, understand, because they have a fiduciary duty to their investors, not to the founders of the companies they invest in. It's OK for them — it's their job — but it's not OK for you. "You" being "you, entrepreneur, reading this, the one who matters."

At last year's Capital Factory Demo Day, Mike Maples Jr. gave the keynote address. He gave the statistic that only 9% of the companies they invest in succeeded. And his venture firm is considered one of the more successful ones. (By the way, Maples is now doing super-angel deals. Interesting.)

The math is simple: Only one in ten companies need to hit, but it needs to hit big, like 100x the original investment. Of course no one wants the rest to fail, but every one will be pushed into explosive growth, which means strapping a rocket to the back of each one, even if that means the vast majority will just blow apart.

Great for them, bad for the founders.

The last thing they want is for founders to wake up and realize that this isn't necessarily a good way to build a company. They don't want you to realize that if you shoot for reasonable, profitable growth, it's far more likely to work, far more likely to produce a company that not only pays the bills but is a valuable asset, one that you might sell someday for millions of dollars, like I did.

For them, a little, solid company for $25m to Google is dipshit material. For you and me, it's a life-altering home run.

Until I hear a rational argument for why super-angels, angels, or friends-and-family rounds are worse for founders than a standard A-round from a VC, I'm just going to ignore these emotional, self-serving statements.

And I suggest you do too.

Focus on building a company you're proud of, not how big and disruptive you can be. Focus on getting to profitability as the greatest measure of success. Focus on selling customers, not selling investors.

 

Threads (in Ruby): Enough Already

 

Someday, @tweetitow will be ready to help those in need by providing a way to coordinate and collaborate easily and cost-effectively.

I am still a few miles away from one of the worst floods in the history of Pakistan.  Still, I could not figure out the meaning of life and hope after losing your loved family, losing everything you built in your life in front of 30 feet high flood wave, where everything is completely devastated for millions of people.

I do not know how to save hopes of people in current situation. But as a technology and social entrepreneur, I have read hundreds of case studies and talks that a SMS is a ray of hope and decided to setup SMS based incident reporting. 

I want to bring first line of incident reporting live for millions of people in Pakistan. This requires technology, spreading the right word to millions, building team, Logistics, resources and coordinating all the incident reporting.

 

Good morning Mati boy.

 

Nice @tweetitow and @posterous integration is now back!

Now how to do this multi-paragraph SMS on my BB. Looks like the designers of BB focused more on the short aspect of SMS. That when I hit the return key, it sends the message instead of creating a new line.

Ahh never mind. Found it, just like on other appsn Shift-Enter. Alrighty, hope this goes through so I can now sleep.

 

Good morning

 

Good morning

 

Stay Hungry, Stay Crazy -- a CodrSchool inception plan

    There are a few students who will be visiting our office today, and here's an overview of the kind of talk i'm going to give later. What do you think, anything else i should add or take away? Of course, it also includes the mandatory Steve Jobs commencement talk viewing.

    Stay Hungry, Stay Crazy
    a CodrSchool inception plan

    *Figure out what you want to do in life.*

    • Figure out your vision, what's burning inside
    • Keep a vision as a guide, and execute for the short term.
    • Don't worry about 5 years, or 10 years. Just do it. Get it done. Do something.

    *Programming*

    • is not a job, not a profession
    • it's a lifestyle. it's who you are.
    • it's not an 8-to-5 job, it's something you live with.
    • day-in-day-out, you are a programmer, you constantly think about programming, about computers, about solving problems.
    • it's a natural type of job. it's what you really do.
    • it is a creative work, you're required to create/innovate, and not encode, or type source codes.
    • you can only master progamming through years and years of practice
    • earn your 10,000 hours to greatness
    • using a software tool or technology, will *NOT* make you a great programmer.

    *Opportunities now*

    • The world is flat. A com. sci. student in US is in the same playing field as we are. The Internet is a great leveler. We can compete. If they can code, so do we. If they can build Google or Microsoft or Apple, so do we.
    • Internet access is cheap, at least cheaper than 10 years ago.
    • More people has access to computers, an entry-level netbook is more than enough to start learning.
    • Open source has made it easier for all of us to learn, and improve our skills.

    *Learning Strategy*

    • Experiment a lot
    • Read lots of code -- lots of it, until your eyes pops-out
    • Don't worry about your parents or friends tell you that you spend too much time on computers. It's normal to be obsessed with computers. There-is-no-other-way.
    • Explore what programmers are doing
    • Download open-source codes
    • Ditch Windows or Mac, and exchange with Ubuntu, or Linux, or any of the hackers OSes (BSD?).
    • Use software tools that you have access to its code
    • Try to change parts of it, and compile, change more, and compile
    • Explore more, figure out how things work, why things work
    • Stop using F1, or don't read documentation. Read the code! Yes, turn-off auto-complete, that's for n00bs (alright, i know i'm going to be flamed for this, auto-complete n00bs!).
    • Learn at least 4 programming languages. Master a few core ones, like C. Yes, C. Yes, that C. Yes the one they all called to be dead already. C.
    • Then, master a few more, compiled, interpreted, or whatever. Try to learn Ruby, Python, PERL, sh, Javascript, PHP, all kinds. Or the exotic ones, Scala, Erlang, LISP, Clojure, Go. I'm sure there are more older, exotic ones.

    *Experimentation*

      • Change your main desktop to Ubuntu, or any Linux variant
      • Learn how to install server kind of tools; Web server, Database server, Proxy server, DNS server, SMTP server
      • Do it the hard way: Why? Because we're all programmers, we want to learn. Learn how things work, and don't stop on being just a user.
      • Build your own simple project, a simple application. Have other people use it, test it, critic it. Get feedback, go back and improve it, then release it again.
      • Take risk, try it. Failure is always an option. Fail once, fail more. Fail everyday.

      *Startup*

      • You don't need to work for a company to learn. Or, don't need to work for the sake of working.
      • Find what you want to do in life, and figure out a way to earn money from it.
      • You can start at home, start with your computer
      • Join mailing lists, contribute to open source
      • Try freelancing, learn on your own
      • Or, work in a company. No harm in that. Though, you won't learn a lot from a company, apart from what the company wants to extract from you.
      • There is more learning outside of what you do in a company. Yes, i operate a company, but i still say this, because it's true.

      *Read lots of codes. L-O-T-S*
      *EXPERIMENT A LOT*

      *SIDE BITS*

      • Discuss the difference between how learning is viewed now, versus what is really learning.
      • It's not about achievement, grades or honors. It's an external symbol, but only a symbol. It doesn't mean you have learned or not. It means, you have achieved something based on the criteria of the award.
      • Learn, because you want to learn. Not learn, so you will have something to use when you plan to work later on. It won't work like that. Of course, you can go on with it, but it is something not sustainable.
      • Imagine, cavemen going to college so they can apply at tech company later on. Impossible. Whoever invented education and work anyway? Of course, there's no point going back to stone age. There's a lot of benefit towards a good education and a good set of skills. That's it, beyond that, what you do, you don't have to work.

 

once you have bad programmers, you're doomed

In technology, once you have bad programmers, you're doomed. I can't think of an instance where a company has sunk into technical mediocrity and recovered. Good programmers want to work with other good programmers. So once the quality of programmers at your company starts to drop, you enter a death spiral from which there is no recovery.

http://www.paulgraham.com/yahoo.html

 

Rabbit somehow found his way on my Neo.