Friday, December 24, 2010
Also factor in the kind of lifestyle that the startup will offer. This heavily depends on the startup's culture, but don't ignore that factor. For some people, the alternative will be working for a large corporation, which will result in a very different lifestyle.
Wednesday, December 22, 2010
4 - They don't seem to mind honest criticism. I'm currently reading a draft of a forthcoming Google book, and was amused to find that it includes an email that I sent back in 2000 trashing our then most recent product launch. It's painful for me to not tell people what I think, so for the most part I try to find people who don't mind hearing the truth (or my take on it, rather). Much of my interaction with startups consists of me telling them everything that I don't like about their product (and then they thank me!). I've worked for a lot of different companies, and Google was the only one where me speaking my mind never seemed to cause a problem. I'm not claiming that I'm always right, because obviously I'm not, but systems (or individuals) that don't welcome negative feedback are doomed. Cultures that don't laugh at themselves are cults.
.. and discussion about building a startup community here in Cebu. A discussion led by Mark John Buenconsejo.
General Manager/Senior Programmer at Caresharing (http://caresharing.eu...) Programmer, entrepreneur Personal site: markjeee.com, linkedin.com/in/markjeee
Introduction by everyone, shameless plugging (important for now, since we want to know who's who) Building an online identity Build an online startup community, across Meetup.com, Twitter, Blogs, etc. How will a startup community help each other Discuss challenges of doing a startup locally Discuss demo days Product demo by 2 startup teams (tentative, will disclose when i have confirmation)
If you are in a startup; or would like to join one or form one, come to this meetup and help build a startup community in Cebu. Please come prepared to share your thoughts. Also, share with your friends who you think might be interested to participate.
What: Discussion about Startups
When: Thursday, January 20, 2011
Time: 6:00pm to 10pm
For the challenges/topics, to make the meetup efficient, please post the challenges you have encountered in your startup on this meetup page, ahead. Also, for questions or topics you want to be discussed during the meetup, please post them here. I will pick at least 6 topics that we will discuss, and posters will get one from any of these books:
'The Art of the Start' by Guy Kawasaki (http://amzn.com/15918...) 'Founders at Work' by Jessica Levingston (http://amzn.com/14302...) 'Toilet Paper Entrepreneur' by Mike Michalowicz (http://amzn.com/09818...)
This meetup will also have some food and drinks, and will depend on the venue and the sponsor. Hopefully, we'll be able to finalize this soon.
Limitation: The discussions in this meetup will be limited to the business of software and IT, and most likely also be global/online market, or anything web-based. I'm sure there are others who have experienced doing other kinds of startups or market, and hopefully we'll hear from them on the meetup. :D No need to be a programmer to attend, though interest and passion towards computing and Internet will probably come in handy.
Please RSVP, so we have an idea how many are attending.
RSVP at the Meetup.com page:
Tuesday, December 21, 2010
Monday, December 20, 2010
Sunday, December 19, 2010
16. Does your company or product have a personality?
This is the squishiest of the questions -- but it's important. Great software companies today have a personality and a voice. They're distinctive and remarkable. Whether it's through their blog, through the copywriting in the product (like error messages), or through in-person interactions, some companies just have personality.
Put your faces in your website, and link them to your personal social network accounts.
“If you want to be an entrepreneur, it’s not a job, it’s a lifestyle. It defines you. Forget about vacations, about going home at 6pm — last thing at night you’ll send emails, first thing in the morning you’ll read emails, and you’ll wake up in the middle of the night. But it’s hugely rewarding as you’re fulfilling something for yourself.”
Startups: It's hard work, don't be afraid to fail, think globally - Niklas Zennstrom, Skype co-founder
- “It’s hard work. When a business becomes successful seemingly overnight, no one knows about all the months and years you’ve invested, all the projects you’ve tried before that didn’t work.”
- “You shouldn’t be afraid of failure — when something fails, you think, ‘What did I learn from that experience, I can do better next time.’ Then kill that project and move on to the next. Don’t get disappointed.”
- “Often you’re the only one who believes in what you’re doing. Everyone around you will say, ‘Why not give up? Don’t you see it won’t work?’ You then have to find out, are they right or am I right? It took a year to raise money for Skype: we went to 26 different venture capitalists, asking for 1.5 million euros and prepared to give away a third of the company. But no one wanted to invest.”
- “Surround yourself with smart, dedicated people — to build something isn’t a one-man show. It’s more important to have smart people who really believe in what you’re doing than really experienced people who may not share your dream.”
- “Try to prove there are people actually interested in your product before you spend money building a business. Test it on your mother, sister, friends — I tried Skype on them very early on. Though you never know with the ‘mum test’ if they’re saying good things because they just want to be nice.”
- “Think globally. If you don’t think big, it’s unlikely you’ll become big. We made sure from day one that Skype was an international business — we were incorporated in Luxembourg, we had software developers in Estonia, we moved to London. The internet has no country boundaries.”
Saturday, December 18, 2010
Went on a tour of UP TBI's facility, and it looks like it's ready for crazy startups to locate. Watyawatingfor?
Friday, December 17, 2010
Tuesday, December 14, 2010
Saturday, December 11, 2010
Definitely our ability to attract and sustain a super-talented art community that submits amazing things day after day. This happened right from the beginning because Threadless was born as a project within an existing online art community.
Anyone can build a website like Threadless has, or make and sell t-shirts as Threadless has, but our secret sauce is all of the amazing artists around the world that are contributing. That’s not easy to replicate.
Friday, December 10, 2010
Wednesday, December 8, 2010
Tuesday, December 7, 2010
Monday, December 6, 2010
Saturday, December 4, 2010
The Web is exciting for two reasons. One, it's ubiquitous... And anything that's ubiquitous gets interesting. And so is SMS.
The desktop computer industry is dead. Innovation has virtually ceased. Microsoft dominates with very little innovation. That's over. Apple lost. The desktop market has entered the dark ages, and it's going to be in the dark ages for the next 10 years, or certainly for the rest of this decade.
It's like when IBM drove a lot of innovation out of the computer industry before the microprocessor came along. Eventually, Microsoft will crumble because of complacency, and maybe some new things will grow. But until that happens, until there's some fundamental technology shift, it's just over.
The most exciting things happening today are objects and the Web. The Web is exciting for two reasons. One, it's ubiquitous. There will be Web dial tone everywhere. And anything that's ubiquitous gets interesting. Two, I don't think Microsoft will figure out a way to own it. There's going to be a lot more innovation, and that will create a place where there isn't this dark cloud of dominance.
Friday, December 3, 2010
A "full-stack programmer" is a generalist, someone who can create a non-trivial application by themselves. People who develop broad skills also tend to develop a good mental model of how different layers of a system behave. This turns out to be especially valuable for performance & optimization work. No one can know everything about everything, but you should be able to visualize what happens up and down the stack as an application does its thing. An application is shaped by the requirements of its data, and performance is shaped by how quickly hardware can throw data around.
Wednesday, December 1, 2010
Books kids (5 to 8 yrs) love to read. Watdapak is twilight doing in this list? And, what is that hunger book?
Friday, November 26, 2010
Wednesday, November 24, 2010
Tuesday, November 23, 2010
Monday, November 22, 2010
Sunday, November 21, 2010
It says 12 mons prior and at least 12 mons consecutive of no diagnosis of having been ill. What the fuck? Who the fuck are they selling this to? They probably only cover fever and colds.This is no insurance, it's a scam. It shouldn't be called insurance, perhaps pre-need health plan, that's backed by mutual fund investments. That's if there's a mutual fund to it, this looks like outright expense insurance to me. I think getting a life plan backed by mutual fund, and also a pension plan/retirement plan is way better; or even invest it in "stable" bonds. Get multiple plans to cover different types of expenses later in your life. But don't get any of these Health BS insurance plan now. It's a scam.
Friday, November 19, 2010
After recording 87 episodes of TechZing it occurred to me that we now have a goldmine of audio information about how to start a successful bootstrapped web app business. I’ve assembled our best shows on the subject into an 12 hour audio seminar!
If you are really serious about going out on your own, leaving your day job, and starting your very own successful web app business you owe it to yourself to listen. Each show is an interview with a guest about their successful business. As they tell their story each entrepreneur teaches us valuable lessons. I’ve grouped shows into over arching themes to make them easy to navigate.
Wednesday, November 17, 2010
Tuesday, November 16, 2010
Why you need to start a starup? You Will Have The Time Of Your Life -- i know i did in the past 10yrs.
This post has been ruminating with me for a while. It's not a sudden "a-ha" moment that made it form, but a collective group of "a-has!" over the past few months. Consider this the uplifting post to counter last week's "The 11 Harsh Realities Of Entrepreneurship". Just because it's a harsh reality, doesn't mean you shouldn't be an entrepreneur. The best time to start a startup is not tomorrow, not next week, and certainly not next year. The time is right now, at this very second. Here's why:
You Will Have The Time Of Your LifeI put this first, because it's the reason that will motivate you the most to start a startup. Doing this may be hell at times, but boy is it fun. It's an adventure that you will remember for the rest of your life whether things go very well or things go poorly. They used to say that everyone should try to be a rockstar at least once in their lifetime. I'm going to add to that and say that in-between being a rockstar and something else, you should be an entrepreneur at some point just for the adventure. Writing this article makes me realize how much I truly love doing this - the uncertainty, the victory, the failure, the connections with customers, the press,etc. I couldn't see myself doing anything else and if this is truly for you, you will eventually feel the same.
Friday, November 12, 2010
in one or two respects modern machinery is basically more difficult to handle than the old machinery.
Two opinions about programming date from those days. I mention them now, I shall return to them later. The one opinion was that a really competent programmer should be puzzle-minded and very fond of clever tricks; the other opinon was that programming was nothing more than optimizing the efficiency of the computational process, in one direction or the other.
The latter opinion was the result of the frequent circumstance that, indeed, the available equipment was a painfully pinching shoe, and in those days one often encountered the naive expectation that, once more powerful machines were available, programming would no longer be a problem, for then the struggle to push the machine to its limits would no longer be necessary and that was all what programming was about, wasn't it? But in the next decades something completely different happened: more powerful machines became available, not just an order of magnitude more powerful, even several orders of magnitude more powerful. But instead of finding ourselves in the state of eternal bliss of all progamming problems solved, we found ourselves up to our necks in the software crisis! How come?
There is a minor cause: in one or two respects modern machinery is basically more difficult to handle than the old machinery. Firstly, we have got the I/O interrupts, occurring at unpredictable and irreproducible moments; compared with the old sequential machine that pretended to be a fully deterministic automaton, this has been a dramatic change and many a systems programmer's grey hair bears witness to the fact that we should not talk lightly about the logical problems created by that feature. Secondly, we have got machines equipped with multi-level stores, presenting us problems of management strategy that, in spite of the extensive literature on the subject, still remain rather elusive. So much for the added complication due to structural changes of the actual machines.
Monday, November 8, 2010
Get Comfortable with Firing
I’m the kind of guy who intensely likes and appreciates other people. I form bonds easily and make fast friends with those around me. In nearly every aspect of life, this has been great, but it’s made for some tough times in building my startup.
I haven’t always been as careful with hiring as I should have, and I’ve been extremely reluctant to let employees go, even when it’s been clear for a long time that the fit isn’t right. One of my biggest fears has always been the well-being of the employee, but in every case so far, folks who’ve left or those we’ve let go have landed on their feet and are happier in their new roles than the old.
When things aren’t working out between a startup and an employee, it’s better for both of them to end the relationship. I shouldn’t have felt bad for letting people go – they’ve gone on to find better fits, and frankly, for as long as things were going sour, my reluctance to act likely held them back as much as it did the company.
Friday, November 5, 2010
Things you should do when you are just starting up:- make sure you have the right team. if you are doing a consumer web startup, you *need* someone on the team who is native web product person. if you are doing real tech, you need someone who is true native techie.- hire a good startup law firm (i like gunderson) and get standardized incorporation, vesting etc docs. it's worth it. (but try to only pay $5K or so with promise to pay more later when you get funding etc).- talk to everyone you can about your idea. collect feedback, criticism, maybe garner some allies along the way (even advisors which can help build your credibility).- if you don't already, read all tech blogs everyday. Techcrunch, gigaom, business insider, mashable, rww, etc. read vc blogs like fred wilson, mark suster, and eric reis. go back and read back articles too.- start blogging & tweeting if you don't already. don't over think this. your blog posts don't need to be shakespeare - just do minimal viable blogging. document your startup adventures, thoughts on tech, respond to others blogging/tweeting - whatever. just get out there and write.- go to all good startup events and talk to everyone- how googleable are you? if you aren't winning the first page of google when you type in your name, that means you aren't doing a good job building your web presence.- try to work out of an office with other early stage startups. good energy.- apply to ycombinator, techstars etc. no brainer to at least apply.- if you don't code, don't try to teach yourself and code for your startup. partner with someone who is great at it. programming is an art & science and takes years to get good at.- if you really want to do a startup, be ready to spend the next 5 years of your life doing it. if you aren't ready for that level of commitment, don't do it.
Thursday, November 4, 2010
It wasn’t the first time that Thiel has been dumped on by media observers. The 42-year old—who made his first fortune as a PayPal cofounder and now oversees a New York-based hedge fund, a San Francisco-based venture capital firm, and sits on several startups’ boards, including Facebook—has numerous interests that make him an easy target.
The newest of these, and the overwhelming focus of Slate’s scorn, is the Thiel Fellowship, a program that plans to give $100,000 to 20 applicants under age 20 to “stop out of school” and pursue any entrepreneurial ambitions they might harbor.
Slate called the idea “nasty,” and an effort for Thiel to “clone” himself, and though it seemed that Slate grossly overstated its case, I didn’t particularly understand the need for the program, either. Thiel tried to explain it to me yesterday. Our conversation, edited for length, follows.
If we are just considering the round ones, then they are round by definition. That statement is a tautology.
Interviewer: Now comes the part of the interview where we ask a question to test your creative thinking ability. Don't think too hard about it, just apply everyday common sense, and describe your reasoning process.
Here's the question: Why are manhole covers round?
Feynman: They're not. Some manhole covers are square. It's true that there are SOME round ones, but I've seen square ones, and rectangular ones.
Interviewer: But just considering the round ones, why are they round?
Feynman: If we are just considering the round ones, then they are round by definition. That statement is a tautology.
Interviewer: I mean, why are there round ones at all? Is there some particular value to having round ones?
Feynman: Yes. Round covers are used when the hole they are covering up is also round. It's simplest to cover a round hole with a round cover.
Interviewer: Can you think of a property of round covers that gives them an advantage over square ones?
Feynman: We have to look at what is under the cover to answer that question. The hole below the cover is round because a cylinder is the strongest shape against the compression of the earth around it. Also, the term "manhole" implies a passage big enough for a man, and a human being climbing down a ladder is roughly circular in cross-section. So a cylindrical pipe is the natural shape for manholes. The covers are simply the shape needed to cover up a cylinder.
The environment that nutures creative programmers kills management and marketing types - and vice versa. Programming is the Great Game. It consumes you, body and soul. When you're caught up in it, nothing else matters. When you emerge into daylight, you might well discover that you're a hundred pounds overweight, your underwear is older than the average first grader, and judging from the number of pizza boxes lying around, it must be spring already. But you don't care, because your program runs, and the code is fast and clever and tight. You won. You're aware that some people think you're a nerd. So what? They're not players. They've never jousted with Windows or gone hand to hand with DOS. To them C++ is a decent grade, almost a B - not a language. They barely exist. Like soldiers or artists, you don't care about the opinions of civilians. You're building something intricate and fine. They'll never understand it. BEEKEEPING Here's the secret that every successful software company is based on: You can domesticate programmers the way beekeepers tame bees. You can't exactly communicate with them, but you can get them to swarm in one place and when they're not looking, you can carry off the honey. You keep these bees from stinging by paying them money. More money than they know what to do with. But that's less than you might think. You see, all these programmers keep hearing their fathers' voices in their heads saying "When are you going to join the real world?" All you have to pay them is enough money that they can answer (also in their heads) "Geez, Dad, I'm making more than you." On average, this is cheap. And you get them to stay in the hive by giving them other coders to swarm with. The only person whose praise matters is another programmer. Less-talented programmers will idolize them; evenly matched ones will challenge and goad one another; and if you want to get a good swarm, you make sure that you have at least one certified genius coder that they can all look up to, even if he glances at other people's code only long enough to sneer at it. He's a Player, thinks the junior programmer. He looked at my code. That is enough. If a software company provides such a hive, the coders will give up sleep, love, health, and clean laundry, while the company keeps the bulk of the money.
Programmers are like bees. You keep them from stinging by paying them money. More money than they know what to do with. And when they're not looking, you take away their honey.
Wednesday, November 3, 2010
Perhaps most importantly though, thinking about startups as a career makes it easier to really commit. It's too easy to half-ass it if you are going to do one and be done with it. There are just too many fall-backs, and you can fall into traps that kill your startup from the inside.If you're on the startup career path though, this is it. You become a real member of the small startup community, and are, at least in my book, immediately respected for drawing that line in the sand.
Monday, November 1, 2010
Saturday, October 30, 2010
Startup community: It takes a core group of leaders.. to commit to provide leadership over at least 20 years
I’ve lived in Boulder for 15 years after living in Boston for a dozen. While I’ve spent a lot of time in Silicon Valley — both as an angel and venture capital investor — I’ve never lived there. While the firm I’m a partner in — Foundry Group — invests all over the United States, I regularly hear statements like, “The only place to start a tech company is in Silicon Valley.”
When David Cohen (CEO of TechStars) and I co-founded TechStars in Boulder, Colo., in 2006, we had two goals in mind. The first was to energize the early stage software/Internet entrepreneurial community in Boulder. The second was to get new first-time entrepreneurs involved more deeply in the Boulder entrepreneurial community. Four years later, we feel like we really understand how entrepreneurial communities grow and evolve.
First is the recognition that Silicon Valley is a special place. It’s futile to try to be the next Silicon Valley. Instead, recognize that Silicon Valley has strengths and weaknesses. Learn from the strengths and incorporate the ones that fit with your community while trying to avoid the weaknesses. Leverage the natural resources of your community and be the best, unique entrepreneurial community that you can be. Basically, play to your strengths.
Next, get ready for a 20-year journey. Most entrepreneurial communities ramp up over a three- to five-year period and then stall or collapse, with the early leaders getting bored, moving away, getting rich and changing their priorities, or just disengaging. It takes a core group of leaders — at least half a dozen — to commit to provide leadership over at least 20 years.
But these two things — playing to the strengths of your community and going on a 20-year journey — are table stakes. Without them, you won’t get anywhere, but you need more. In Boulder, we’ve figured out two critical things for creating a sustainable entrepreneurial community.
Friday, October 29, 2010
I’ve been looking at what on earth is going on at Amazon – actually a massively large organization these days, with so much software that has to scale so radically that they simply could not adopt ANY conventional wisdom. They had the massive front end code base, the massive back end code base, and every holiday season things nearly fell off the cliff. The simply could not scale large enough, fast enough, and every attempt to scale brought decreasing increments of value relative to the additional cost. So Amazon changed its architecture. There is no such thing, really, as a database anymore; there are only services. You want data, you want something done, you ask a service to do it.
In order for this to work (=scale) services had to be small and independent. In fact CTO Werner Vogels says that anything which needs agreement will eventually fail at scale. Thus services run locally. There is no central control to fail (much like the Internet). And guess what. He found that each service could have its own team. This team does it all – customer interaction, deciding what to develop, development, deployment, operations, support. I mean everything. No handoffs. And the size of each team is no more people than can be fed with 2 pizzas.
Now there are many, many 2-pizzas teams, each completely owning a service, cradle to grave. But note – there are no standards for configuration management, IDE’s, languages, nothing. Teams can do whatever they want, although some supported tools are easier to use, so they are more common. The idea that anything which needs agreement will eventually fail at scale applies to people as well as software.
The not-so-amazing thing is that this works. Amazingly well. So Pete, while I agree that there is a size beyond which you have to have to have standards outside the team, I also see that there is an even bigger size beyond which you simply no longer have that luxury. Anything which needs agreement will eventually fail at scale.
3. If I'm seriously expected to think of this as a netbook, I really resent that it costs almost $1000 more than the last netbook I bought.
3a. That netbook cost a lot less, but did a lot more. Longer battery life. Larger disk capacity. Three USB's not two. Ethernet. SD card slot. I know why we need all those things. All of them. Why does Apple think it can ship so much less and charge so much more and not force product comparisons? They're depending on the Reality Distortion Field keeping from people from being even slightly pragmatic in reviewing this product.
Most entrepreneurs, when asked, will tell you that hiring the “right people” is one of the most important things they do for their companies. However, what many entrepreneurs won’t tell you is that despite their best efforts, they suck at picking the best people during the recruitment process. I definitely fall into this camp.
This doesn’t just apply to hiring in the management ranks and technical staff, it applies to everyone. During most of the years I’ve run startups, I’ve always considered myself pretty good at detecting startup talent. But, the empirical data suggests that I’m almost as likely to screw it up completely as I am to get it right. Over time, as a startup founder, you learn not to rely on all the conventional proxies for trying to predict the probability of success of any given hire. Things like interviews (however intense), tests, grades, top universities, etc. are all only somewhat effective in raising your odds of making the right decision. After all is said and done, you’re likely to screw it up more often than you realize – or are likely willing to admit. And, the problem is not just limited to you – others on the team are not that much better at it.
Thursday, October 28, 2010
As of December 2007, I have the freedom to work on any project I want for the rest of my life while simultaneously providing for my family, never again worrying about bills, debt, having a place to sleep, or sending our daughter to any college she wants.
I can stay home with my wife and new baby girl for as long as I want, having all the precious time and experiences and memories that they say money can’t buy.
But, in the sense of securing that freedom, it can.
And by crossing the line, I did.
16. Find yourself a “sherpa.” This is someone who has done it before — raised money, done deals, worked with startups. Give this person 1 to 2% of your company in exchange for their time. Rely on them to open doors to future investors. Use them as a sounding board for corporate development issues. Don’t do this by committee. Advisory boards never amount to much. Find one person, make them your sherpa, and lean on them.
Sunday, October 24, 2010
Forming a startup is much less risky when you are younger. After mentioning that I was in high school, almost every person I talked to between sessions said it’s a great idea to start young. Now that I think of it, in some situations there is zero risk involved in starting a startup, in which case it becomes purely a learning experience. This is what they told me: starting young will help you gain a better sense of what type of team is needed for a successful startup in the future or the inevitable ininsanity involved in starting those one-person startups. Additionally, a number of speakers stressed the importance of doing things NOW: Don’t wait if you have an idea. Quit now if you are failing and don’t be afraid to fail.
Get involved at a startup. Almost all of the venture capitalists and angel investors that talked on stage said the best way to approach them is through someone they already know. It almost seems to be a reoccurring pattern that some of the most successful startups today came from people with experience working at other startups. This made me really realize the importance of getting out there and really networking with people in the startup scene. Keeping this in mind, It’s probably far more worthwhile to intern at a startup than an established company.
This has turned out to be the most important quality in startup founders. We thought when we started Y Combinator that the most important quality would be intelligence. That's the myth in the Valley. And certainly you don't want founders to be stupid. But as long as you're over a certain threshold of intelligence, what matters most is determination. You're going to hit a lot of obstacles. You can't be the sort of person who gets demoralized easily.
Bill Clerico and Rich Aberman of WePay are a good example. They're doing a finance startup, which means endless negotiations with big, bureaucratic companies. When you're starting a startup that depends on deals with big companies to exist, it often feels like they're trying to ignore you out of existence. But when Bill Clerico starts calling you, you may as well do what he asks, because he is not going away.
Saturday, October 23, 2010
People who think that a book—even R.L. Stine's grossest masterpiece—can compete with the powerful stimulation of an electronic screen are kidding themselves. But on the level playing field of a quiet den or bedroom, a good book like "Treasure Island" will hold a boy's attention quite as well as "Zombie Butts from Uranus." Who knows—a boy deprived of electronic stimulation might even become desperate enough to read Jane Austen.
Most importantly, a boy raised on great literature is more likely to grow up to think, to speak, and to write like a civilized man. Whom would you prefer to have shaped the boyhood imagination of your daughter's husband—Raymond Bean or Robert Louis Stevenson?
Scott Adams Blog: with the advent of touchscreen devices we are being transformed from producers into consumers.
Another interesting phenomenon of the iPhone and iPad era is that we are being transformed from producers of content into consumers. With my BlackBerry, I probably created as much data as I consumed. It was easy to thumb-type long explanations, directions, and even jokes and observations. With my iPhone, I try to avoid creating any message that are over one sentence long. But I use the iPhone browser to consume information a hundred times more than I did with the BlackBerry. I wonder if this will change people over time, in some subtle way that isn't predictable. What happens when people become trained to think of information and entertainment as something they receive and not something they create? I think this could be a fork in the road for human evolution. Perhaps in a million years, humans will feel no conversational obligation to entertain or provide useful information. That will be the function of the Internet. Someday a scientist will identify the introduction of the iPhone as the point where evolution began to remove conversation from the list of human capabilities. And when the scientist forms this realization, he won't tell his spouse because conversation won't exist. He'll put it on the Internet.
Touchscreens are great for passively browsing, as Scott Adams noted:
Another interesting phenomenon of the iPhone and iPad era is that we are being transformed from producers of content into consumers. With my BlackBerry, I probably created as much data as I consumed. It was easy to thumb-type long explanations, directions, and even jokes and observations. With my iPhone, I try to avoid creating any message that are over one sentence long. But I use the iPhone browser to consume information a hundred times more than I did with the BlackBerry. I wonder if this will change people over time, in some subtle way that isn't predictable. What happens when people become trained to think of information and entertainment as something they receive and not something they create?
Because we run an entire network of websites devoted to learning by typing words on a page, it's difficult for me to get past this.
Friday, October 22, 2010
Thursday, October 21, 2010
Test-First Teaching provides a fundamental shift in the way people learn software development. Initially, it helps the student focus on learning very basic syntax, able to independently confirm when they have successfully completed an exercise. That immediate feedback is valuable for cementing knowledge.
Test-first teaching also teaches an understanding of all of the arcane error messages in a low stress situation. The first thing you see, before you have written a line of code, is an error. Then you discover what you need to do to fix that error. Test-first teaching helps people intuitively understand that mistakes are a natural part of the software development process.
In traditional programming exercises, you are either given a fairly large task and asked to implement the whole thing, or you are provided with "skeleton code" -- source code that has been eviscerated to remove key sections, which you are asked to fill in.
"Large task" exercises are often challenging to students because of their sheer size. Many lines of code need to be written before you receive any positive reinforcement. This can be frustrating to beginners, and boring for advanced students.
"Skeleton code" exercises are also frustrating. The task of the student should be to figure out how to write code that will accomplish the given task. With skeleton code, you are first presented with the task of figuring out what the original author was trying to do; of reading through the code (often littered with idiosyncratic idioms and obscure comments); and then of trying to implement just one part of the algorithm, without necessarily understanding the larger picture. If the fill-in-the-blank code section is too complicated, the student may never complete the assignment; if it's too simple, no learning may be gained by the exercise.
Finally, in both types of traditional exercises, as a student you don't really know when you are finished! Sometimes, you will succeed in the task, but neglect to print the results, and will keep at it, believing you are still missing something; other times, you might write code that seems to work but is crucially flawed in some way or another. This is one of the most powerful features of test-first development -- you code until the test passes, and then you stop coding. The test provides a map, informing you of where to begin, and where to end.
Test-first teaching is appropriate for both guided and solo use. Students in a classroom may rely on classmates or teachers for guidance; but if alone, the tests provide some measure of feedback and guidance (although unit tests can never actually debug and fix the code).
Perhaps the most important aspect of test-first teaching is that it teaches the whole process, from opening a new file in a text editor to compiling and running. At the end of the day, the students can say, "At least I know how to write a program." Many exercises, especially skeletons but also those based on tools and toy problems, end up skipping the fundamentals that are vital not just for coding on a day-to-day basis, but also for cementing the higher-level concepts into habits and skills.
Wednesday, October 20, 2010
Twitter and Facebook based activism gathers less motivated participants, compared to an offline, harder to participate version.
But how did the campaign get so many people to sign up? By not asking too much of them. That’s the only way you can get someone you don’t really know to do something on your behalf. You can get thousands of people to sign up for a donor registry, because doing so is pretty easy. You have to send in a cheek swab and—in the highly unlikely event that your bone marrow is a good match for someone in need—spend a few hours at the hospital. Donating bone marrow isn’t a trivial matter. But it doesn’t involve financial or personal risk; it doesn’t mean spending a summer being chased by armed men in pickup trucks. It doesn’t require that you confront socially entrenched norms and practices. In fact, it’s the kind of commitment that will bring only social acknowledgment and praise.
The evangelists of social media don’t understand this distinction; they seem to believe that a Facebook friend is the same as a real friend and that signing up for a donor registry in Silicon Valley today is activism in the same sense as sitting at a segregated lunch counter in Greensboro in 1960. “Social networks are particularly effective at increasing motivation,” Aaker and Smith write. But that’s not true. Social networks are effective at increasing participation—by lessening the level of motivation that participation requires. The Facebook page of the Save Darfur Coalition has 1,282,339 members, who have donated an average of nine cents apiece. The next biggest Darfur charity on Facebook has 22,073 members, who have donated an average of thirty-five cents. Help Save Darfur has 2,797 members, who have given, on average, fifteen cents. A spokesperson for the Save Darfur Coalition told Newsweek, “We wouldn’t necessarily gauge someone’s value to the advocacy movement based on what they’ve given. This is a powerful mechanism to engage this critical population. They inform their community, attend events, volunteer. It’s not something you can measure by looking at a ledger.” In other words, Facebook activism succeeds not by motivating people to make a real sacrifice but by motivating them to do the things that people do when they are not motivated enough to make a real sacrifice. We are a long way from the lunch counters of Greensboro.
It actually makes sense. If the requirement to participate is just to click the 'Like' button, then i think a lot more are willing to participate, compared to wearing a black shirt and march downtown under the heat at noon time. Yes, so this can mean a lot more (way more) participants. However, the quality of these participants and their motivations to do so, might be less compared to the ones who really made the decision to intentionally endure the heat to join the cause. That, if we really need a real revolution, ones that requires people to die (think Che Guevarra and Fidel Castro), it's questionable how effective Twitter and Facebook will be.
Ok, this can probably work in a situation where there's a larger mass, with weaker ties showing both weak support, boosting morale and motivation of the ones with stronger ties who are willing to show strong support. Often, this is already enough to fuel the revolution. You can imagine, that some will take up arms and go into the mountains to fight an unending rebellion, and then the supporters just stay on with their lives, but still supporting them anyway they can from their standpoint.
Tuesday, October 19, 2010
Many times, when working with Git, you may want to revise your commit history for some reason. One of the great things about Git is that it allows you to make decisions at the last possible moment. You can decide what files go into which commits right before you commit with the staging area, you can decide that you didn’t mean to be working on something yet with the stash command, and you can rewrite commits that already happened so they look like they happened in a different way. This can involve changing the order of the commits, changing messages or modifying files in a commit, squashing together or splitting apart commits, or removing commits entirely — all before you share your work with others.
In this section, you’ll cover how to accomplish these very useful tasks so that you can make your commit history look the way you want before you share it with others.
Monday, October 18, 2010
After visiting Okinawa, Japan, and meeting with global experts on innovation, I’ve come to the conclusion that Silicon Valley’s greatest advantage isn’t its diversity; it is the fact that it accepts and glorifies failure. Like many other countries, Japan has tried replicating Silicon Valley. It built fancy tech parks, provided subsidies for R&D, and even created a magnificent new research university. Yet there are few tech startups, and there is little innovation; Japan’s economy is stagnant.
There is a reason for this stagnation.
Sunday, October 17, 2010
Cocoa Development in Emacs
Where the future was made yesterday.
By Mark Dalrymple on March 24, 2002.
Presented here for your amusement are some directions on how I use emacs (rather than Project Builder) as the primary focus for my Cocoa development time. These may be of interest to folks who like to use emacs for everything, or for those folks coming from other unix platforms and don't like using Project Builder to edit source code.
This is my typical workspace
I've moved the motivation for all of this to the rants section at the end. I figured most folks aren't interested in my ego my history and just want to get to the good stuff.
The instructions presented here match my particular development style. I don't mind my build environment having some rough edges. I don't mind having to expend a little extra mental energy when doing my work. I also want to minimize keystrokes when it makes sense. I do want my compile and running and debugging turnarounds to be as fast as possible. (Make Mistakes Faster was the advertising tag line for a classic Mac C compiler) Once my emacs buffers get warmed up, I've gotten my compiling and running down to two keystrokes each (well, three if you count "return". From here on I'm not counting the "return" key. nyah). With everything running in one emacs process, I never have to touch the mouse (or the annoying TiBook trackpad) while I'm reading or editing source code or browsing the system header files. I do use Mail.app for mail reading and iCab to read the Cocoa documentation, so I'm not a complete GUI luddite.
With that said, I presume you're somewhat familiar with emacs, how to open files, how to move around, and how keystrokes are described. For example, M-x goto-line [ret] 321 [ret] is press meta/escape, then x, type goto-line (with tab completion if you so desire), return, 321, return), and that you know what the .emacs startup initialization file is and how to add stuff to it. If you don't know emacs, you might want to run the built-in tutorial. (start emacs. Press escape, then 'x', then type 'help', press return, press 't', then follow along) O'Reilly (of course) has a book on emacs
He (Steve) did not respect large organizations. He felt that they were bureaucratic and ineffective. He would call them "bozos."
I remember going into Steve’s house and he had almost no furniture in it. He just had a picture of Einstein, whom he admired greatly, and he had a Tiffany lamp and a chair and a bed. He just didn’t believe in having lots of things around but he was incredibly careful in what he selected. The same thing was true with Apple. Here’s someone who starts with the user experience, who believes that industrial design shouldn’t be compared to what other people were doing with technology products but it should be compared to people were doing with jewelry… Go back to my lock example, and hinges and a door with beautiful brass, finely machined, mechanical devices. And I think that reflects everything that I have ever seen that Steve has touched.
When I first saw the Macintosh — it was in the process of being created — it was basically just a series of components over what is called a bread board. It wasn’t anything, but Steve had this ability to reach out to find the absolute best, smartest people he felt were out there. He was extremely charismatic and extremely compelling in getting people to join up with him and he got people to believe in his visions even before the products existed. When I met the Mac team, which eventually got to 100 people but the time I met him it was much smaller, the average age was 22.
These were people who had clearly never built a commercial product before but they believed in Steve and they believed in his vision. He was able to work in multiple levels in parallel.
On one level he is working at the “change the world,” the big concept. At the other level he is working down at the details of what it takes to actually build a product and design the software, the hardware, the systems design and eventually the applications, the peripheral products that connect to it.
In each case, he always reached out for the very best people he could find in the field. And he personally did all the recruiting for his team. He never delegated that to anybody else.
The other thing about Steve was that he did not respect large organizations. He felt that they were bureaucratic and ineffective. He would basically call them “bozos.” That was his term for organizations that he didn’t respect.