Friday, July 30, 2010

This literature is not saying never program. Rather, it's a bad way to start.

This literature is not saying never program.  Rather, it's a bad way to start. Students need the opportunity to gain knowledge first, before programming, just as with reading External Link.  Later, there is a expertise reversal effect, where the worked example effect disappears then reverses.  Intermediate students do learn better with real programming, real problem-solving.  There is a place for minimally guided student activity, including programming.  It's just not at the beginning.

Overall, I find this literature unintuitive.  It seems obvious to me that the way to learn to program is by programming.  It seems obvious to me that real programming can be motivating.  But KSC respond to this, too.

Why do outstanding scientists who demand rigorous proof for scientific assertions in their research continue to use and, indeed defend on the bias of intuition alone, teaching methods that are not the most effective?

This literature doesn't offer a lot of obvious answers for how to do computing education better.  It does, however, provide strong evidence that what we're doing wrong, and offers pointers to how other disciplines have done it better.  It's a challenge to us to question our practice.

Posted via email from markjeee.com

test posterous

I'm impressed, just bought a license for Win7 HP online, directly from Microsoft's site. Well done.

Activated online and actual package arrived 3 days later, via FedEx from SG. The activation happened right after I made the online purchase.

Posted via email from markjeee.com

If you want to release a version for the iGroan and iBad, I suggest that you stop dealing with iTunes. - RMS

4. miserlou: I'm a person who makes my living by porting and writing free software
and then selling it for a profit. Unfortunately, I have to use
proprietary, corporate controlled markets (Android Market, iPhone App
Store, etc) to do this. How do you feel about digital software markets
as a financial support structure for Free software?

RMS: I don't think of them under the rubric of finance, because what
preoccupies me is the restrictions they impose. For instance, Apple's
terms for the iGroan/iBad app store have the effect that any
executable received through the app store cannot be free software.
There are free software source licenses that permit you to distribute
an executable through Apple's app store, but that executable won't
itself be free.

As far as I know, there is no such problem with Android Market.

If you want to release a version for the iGroan and iBad, I suggest
that you stop dealing with iTunes. Instead, distribute it youself and
invite people to jailbreak in order to install it.

Posted via email from markjeee.com

Thursday, July 29, 2010

Startups don't generate jobs; unless they're successful & scale up. In short: When they're no longer a startup.

Friedman is wrong. Startups are a wonderful thing, but they cannot by themselves increase tech employment. Equally important is what comes after that mythical moment of creation in the garage, as technology goes from prototype to mass production. This is the phase where companies scale up. They work out design details, figure out how to make things affordably, build factories, and hire people by the thousands. Scaling is hard work but necessary to make innovation matter.

The scaling process is no longer happening in the U.S. And as long as that’s the case, plowing capital into young companies that build their factories elsewhere will continue to yield a bad return in terms of American jobs.

Scaling used to work well in Silicon Valley. Entrepreneurs came up with an invention. Investors gave them money to build their business. If the founders and their investors were lucky, the company grew and had an initial public offering, which brought in money that financed further growth.

Posted via email from markjeee.com

In 2008, Dutch care providers spent an estimated 1.7B euro on Healthcare IT. In this update: National EHR delayed due impractical pull (centralized) approach.

In the Dutch healthcare system care providers pay their own ICT investments (and make their own software choices). A late 2009 report by M&I Partners calculated that Dutch care providers in 2008 spent about €1.7 billion on healthcare IT.

Specific figures on EHR expenditure by the government were not given, but are estimated to have been at about €100m in 2008.

The total amount of €1.8 billion is quite high as compared to the health IT spend of the English National Health Service, which in 2008/2009 spent approximately €2 billion.

The figures suggest that The Netherlands (with a population almost exactly one third of England) spends about 2.5 times as much per capita on healthcare IT.

Posted via email from markjeee.com

$139 WiFi version. Awesome. Seriously. Awesome. Who wants one?

Saturday, July 24, 2010

IMG00027-20100724-1402.jpg

Just the right amount of sunlight for some fun on the beach.

Posted via email from markjeee.com

Friday, July 23, 2010

When incompetent people are managing the chain, they have the mandate but don't have that courage.

Interview A couple of months ago, a book appeared in Finland which has become a minor sensation. In the book, a former senior Nokia executive gives his diagnosis of the company, and prescribes some radical and surprising solutions. Up until now, the book has not been covered at all in the English language. This is the first review of the proposals outlined in Uusi Nokia (New Nokia - the manuscript) and draws on three hours of interviews with its author, Juhani Risku.

Posted via email from markjeee.com

it's hard to do a really good job on anything you don't think about in the shower

July 2010

I realized recently that what one thinks about in the shower in the morning is more important than I'd thought. I knew it was a good time to have ideas. Now I'd go further: now I'd say it's hard to do a really good job on anything you don't think about in the shower.

Everyone who's worked on difficult problems is probably familiar with the phenomenon of working hard to figure something out, failing, and then suddenly seeing the answer a bit later while doing something else. There's a kind of thinking you do without trying to. I'm increasingly convinced this type of thinking is not merely helpful in solving hard problems, but necessary. The tricky part is, you can only control it indirectly. [1]

I think most people have one top idea in their mind at any given time. That's the idea their thoughts will drift toward when they're allowed to drift freely. And this idea will thus tend to get all the benefit of that type of thinking, while others are starved of it. Which means it's a disaster to let the wrong idea become the top one in your mind.

Posted via email from markjeee.com

Tuesday, July 20, 2010

Happy morning pancit Meg!

Startup Competitive Advantages that Work

To summarize: Anything that can be copied will be copied, including features, marketing copy, and pricing. Anything you read on popular blogs is also read by everyone else. You don't have an "edge" just because you're passionate, hard-working, or "lean."

The only real competitive advantage is that which cannot be copied and cannot be bought.

Posted via email from markjeee.com

Start recruiting great design and user experience talent now. They’re in-demand and hard to find, so it might take a while.

Sometimes we wonder what we've all been fighting for?

China: eight of the nine members of the Standing Committee of the Political Bureau, including the President, have engineering degrees.

In China, eight of the nine members of the Standing Committee of the Political Bureau, including the Chinese president, Hu Jintao, have engineering degrees

Posted via email from markjeee.com

Monday, July 19, 2010

Saturday, July 17, 2010

Pain is temporary, Glory is forever. No time for pain at the Tour.

Official statement from Research In Motion in response to Apple

"Apple's attempt to draw RIM into Apple's self-made debacle is unacceptable. Apple's claims about RIM products appear to be deliberate attempts to distort the public's understanding of an antenna design issue and to deflect attention from Apple's difficult situation. RIM is a global leader in antenna design and has been successfully designing industry-leading wireless data products with efficient and effective radio performance for over 20 years. During that time, RIM has avoided designs like the one Apple used in the iPhone 4 and instead has used innovative designs which reduce the risk for dropped calls, especially in areas of lower coverage. One thing is for certain, RIM's customers don't need to use a case for their BlackBerry smartphone to maintain proper connectivity. Apple clearly made certain design decisions and it should take responsibility for these decisions rather than trying to draw RIM and others into a situation that relates specifically to Apple."

- Mike Lazaridis and Jim Balsillie

Disclosure: I am an anything kind of mobile user but an iPhone user. I will soon buy an iPhone just to get a feel of all these mud slinging back and forth.

Posted via email from markjeee.com

Saturday morning outdoor picnic

Thursday, July 15, 2010

Saturday, July 10, 2010

Go: "Hello, Android!"

Chatting to bradfitz this morning, he mentioned he was going to try using Go to do some scripting-style tasks on the Android platform.

It turns out getting Go running on an ARM-based Android phone is easy. First, build Go for linux/arm:

~/go$ hg update -r release 22 files updated, 0 files merged, 1 files removed, 0 files unresolved ~/go$ GOOS=linux ~/go$ GOARCH=arm ~/go$ cd src ~/go/src$ ./all.bash

For testing purposes, we’ll use the most trivial of all Go programs:

package main  func main() { println("Hello, Android!") }

Compile and link it (the ARM compiler and linker is called 5g/5l):

~$ 5g hello.go && 5l hello.5

This will produce a binary called 5.out, that we now need to transfer to the phone itself. To do this, enable USB debugging on the phone, plug it into your computer, and use the ‘adb’ tool from the Android SDK to upload the file:

~$ adb push 5.out /data/local/hellogo 1036 KB/s (155648 bytes in 0.146s)

Our binary will now be at /data/local/hellogo. Now we need to open a shell on the phone, and execute the program:

~$ adb shell $ data/local/hellogo Hello, Android!

Posted via email from markjeee.com

Hi Harm! I'm your no. 1 fan! :D

Friday, July 9, 2010

When Startup Founders Start to Flounder

PositionForGrowth

Once you are able to achieve some real “traction” with your business (paying customers, revenue stream), it may seem the time to relax a bit, but in fact this is the point where many founders start to flounder. All the skills and instincts you needed to get to this level can actually start working against you, and you fail to scale.

Investors often say that successfully navigating the early stages of a startup requires lots of street smarts, guts, and luck. For successful scaling of the business, there has to be a transition to “executive” mode in the more traditional business sense. Certain behaviors between these two modes are incompatible, and can cause real problems.

Way back in 2002, John Hamm published some early work on this subject in "Why Entrepreneurs Don't Scale." From my experience, here is my interpretation of that work, identifying some strengths of an entrepreneur during early startup stages which can become problems for scaling:

  • Perseverance. This is generally a required quality for a successful entrepreneur, but it can turn into an unhealthy stubbornness during the scaling stage. The key is to make decisions from data and feedback, once your business has real customers and real products. Trusting your gut at this stage isn’t good enough.
  • Absolute control. During the early stages, you are the company, processes are not documented, you don’t have much help, so you need a fanatical attention to detail. To scale the business, you have to find people who can do the tasks, and delegate appropriately. Control freaks are doomed to failure.
  • Individual loyalty. Most founders form very close relationships with the small team that gets the startup off the ground, and that is important. Scaling requires that you expand the team, probably with people you haven’t known. You also have to deal with the inevitable personnel challenges, even within the original team. Total loyalty can be toxic.
  • Isolated and insulated. Working in isolation is fine during the creative phase of the startup, where the founder is often the designer and architect, as well as the builder. Now this same individual has to step into the spotlight, and meet with customers, analysts, and investors. Insulation from the real world will not work during scaling.
  • Tactical versus strategic. Early stage startup founders have to think tactically. Even business school courses don’t teach you to operate strategically, deal with people objectively, and create loyalty within a diverse workforce. These are areas where past stumbles are the best teachers. Investors don’t want to fund your stumbles.

Every founder moving into the executive role has to step back and take a hard look at what works, and what doesn’t work. The best ones can do that, and they adapt. Investors and advisors see this as a critical part of their role, and often are the “bad guys” who ask the founder to step aside, while they bring in a “more experienced” CEO to take over the helm.

Unfortunately, some founders won’t adapt, and won’t step aside. Even if they are pushed out, they can cause terminal damage to the business by negative versions of their strengths, now seen as stubbornness, unwillingness to give up control, testing loyalty, and hiding from reality.

Thus my best recommendation, if you want to scale and to survive, is to open up and work closely with an “outsider” that you trust, such as a respected board member, a coach, a mentor, or an investor. The key is to expedite your learning, and take deliberate steps to confront your shortcomings. That way, you will become the leader your company needs, learn to stop floundering, and begin to fly.

Marty Zwilling

Posted via email from markjeee.com

New books to read. What they have in common? They're all crazy enough to think they can change the world.

Thursday, July 8, 2010

What other areas of study would improve a graduate's ability to be a great software designer?

What other areas of study would improve a graduate's ability to be a great software designer?

  1. Algorithms and data structures is the most essential study.
  2. Computer hardware architecture.
  3. Application areas, especially business data processing, database techniques and data mining.
  4. Psychology, especially perceptual psychology, since the user is all-important.

Posted via email from markjeee.com

Monday, July 5, 2010

If it can be done, it will be done.

Startup no more

I'm having some problem coping up with the non-startup life. Ever since at college, i've been involved in a lot of failed startup ideas. I'm used to the ups and downs of a startup. If a business goes bankrupt or i will lose my work today, i can always change direction on that same day, and then move on with the next challenge. I'd like to say, that i'm good at building/being/doing a startup, from zero to 60 in 3 years. But beyond that, there's the fog of war.

Now, Caresharing is probably the longest startup-turn-bigger company i've been. I've been with it since it was just a 2006 meetup at Vienna's Cafe house at Mango Square. It has grown from a few people (me & Harm) at the beginning to almost 30 now. And i expect it will grow to add more people in the coming years, as we grow to expand our capabilities and offerings in Healthcare.

My problem with living in a non-startup company is the slow non-eventful, slow pace of life (did i just say slow there twice?). Don't get me wrong, often people tell me that's success (WTF?), that's it's time to enjoy it. Sometimes, i think maybe i can push the company to move fast or be more crazy, however i realize it takes a lot of effort to do that or sometimes it's just impossible, almost suicidal (yes, that's why its called crazy). Note, fast and slow here is relative. Fast in my world is going from zero to 60 then to crash in 6 months.

I don't think there's something wrong with a non-startup, i think there's just me and the non-startup/crazy life. I'm used to the crazy life for a long time, that on weekends, i still tell myself to "work" to do the next big thing. Or, work late at night to fix the problems or else the company will go down at 8am. And every Monday after weekends, i come back and realized, nothing's bad is going to happen, since there are other people in the company who's going to be there to make it *not* happen. I felt this more in the past months, where i have been trying to find the next holy grail. I think i have become more crazier in the past months.

Anyway, just like that, i'm startup no more, for now. This doesn't mean i need to change for anything. This just means, this is something i haven't figured out how to live with, yet. Maybe i can go back to my startup crazy days in a few years time again or on the side, who knows. Hopefully, TweeTiTow and BrewedCast will keep my startup world alive. :)

Posted via email from markjeee.com

Startup Teams Should Dip but not Skip

1. Dipping:
As a decision maker you rely on information being passed to you by the people who report to you.  You’ll get sales information from your VP of Sales, marketing information from your VP Marketing, tech information from your CTO and so on.  But as a CEO you can’t rely solely on this information.  You need to “dip” down into your organization and learn directly from employees at all levels and with all skills.

It’s not just a Reaganesque “trust, but verify” issue although that’s certainly part of it.  As a leader you need to have an intuitive sense of your business that can only be formed by hearing directly from staff in every corner of your businesses.  Think of it kind of like running a national chain of restaurants and occasionally stopping in to wait tables to have a more intuitive sense for your processes, work conditions and the quality of your products.

An obvious example would be in sales.  As a CEO you never stop needing to go on sales calls (or to work the phones in telesales or customer support) and ceasing to do this as your company grows because you’re focusing on investors, recruiting, PR or whatever is a mistake.  By going on sales calls you pick up directly the feedback of what customers want and also what they’re telling you about competition.  You’re also learning directly about the skills of your sales staff by observing them in action.  It might tell you that you need better sales training or to hone your key selling messages.  They will tell you directly which features they think are necessary to win more deals (take this information as data points rather than conclusions).

I also liked to sit in on sales pipeline meetings.  I didn’t lead the calls – our VP of Sales or country managers did – but I listened in to hear about deal specific dynamics so when it came time for forecasting between the VP of Sales and myself I had direct knowledge of the deals from having heard the sales reps talk about their individual pipelines.

Similarly I liked to keep myself apprised of the technical decisions we were making.  I had long ago ceded the knowledge and responsibility for making the detailed technical recommendations about platforms, databases, hosting solutions, etc.  But I knew that to be a good decision maker I needed first hand knowledge rather than just a summary from my CTO.  So I would go to lunch with our senior architect and ask 50 questions about the differences between Postgres, MySQL and Oracle databases.

At my first company we went with Oracle because it had better handling of “clustering” at the time where we could have multiple instances of databases that we could keep synchronized.  By the time of my second company MySQL was a much more robust solution and worked well when you had to read a lot of information but was less performant on “write” activities.  As a content management system we had lots of write activities and went with Postgres.

I helped make this decision by “triangulating” between our DBA, lead technical architect and our VP of Engineering (who had a better grasp of the financial costs & development costs of each decision).  I could never have been involved in this decision without “dipping” below my CTO to understand the details.  If my CTO would have given me his update much detail would have been lost in translation.

I provide this level of technical detail because I want to remind CEO’s that you need to own these decisions.  If your company is small then make sure you’re asking CTO’s of other companies how they made their decisions about whether to self host or go with Amazon AWS.  How did they decide whether to use RightScale or to manage AWS themselves?  You might be a business person rather than technical but for key decisions you need information to make the best decisions.

It’s why when I’m evaluating an investment I often ask the CEO lots of detailed questions about all parts of their business.  Attention to detail matters.

Posted via email from markjeee.com

Friday, July 2, 2010

the key aspect that separates the “developer geniuses” from the rest is that they are constantly learning, everyone else just sucks at life - the L word

Everybody Wants A Developer Ninja/King/Expert/….

There are a million words to describe a qualified developer. The most critical thing all companies want to avoid is a developer who will drag their feet or simply doesn’t know how to program efficiently. If you are a developer and you can’t program efficiently and keep churning out crappy code, don’t be too hard on yourself, just realize that the key aspect that separates the “developer geniuses” from the rest is that they are constantly learning, everyone else just sucks at life.

Granted, talent is important. If you aren’t the most logical (or intelligent) person on the block, you may want to try another profession and leverage your strengths. However if you are a curious individual, programming may be the profession for you. Best of all, developer salaries are rising quickly. Every company I know is looking to hire developers. Yes, you need experience. Don’t have experience? Sharpen those swords ninja!! Practice makes perfect so start building the “next hot app” and even if it doesn’t work out, you’ll at least improve your programming skills.

Posted via email from markjeee.com

Finally booted Android 2.1 on the IGEP board. Whew took a while to do it without the debug serial cable.