Net Neutrality: Google offered a proposal in a spirit of compromise. No more white knight in shiny armor.

That’s fancy language for: Verizon and the nation’s telecoms have yet again won, Google officially became a net neutrality surrender monkey, and you — as an American — have lost.

Update: Google defends its reversal, saying through a spokeswoman: “We have taken a backseat to no one in our support for an open internet. We offered this proposal in the spirit of compromise. Others might have done it differently, but we think locking in key enforceable protections for consumers is progress and preferable to no protection.”

 

Happy Birthday Miggy men

 

A bio of a Board of Director from a social startup. Please tell me what did he do? (real names withheld, of course)

X, Executive Director

One of the founders of the Y and the organization’s Executive Director, X is an entrepreneur, technologist and activist whose work centers on developing Internet-based technologies to facilitate the rapid transfer of knowledge between people, groups, and organizations. He is the recipient of the A award, runner-up in the B competition, and a finalist in the 2010 C awards. Prior to establishing Y, X was a Chief Technology Officer at an Internet firm serving Fortune 50 companies where he developed technologies that simultaneously optimized users’ networking and personalization within and between online communities and organizations. X has also been involved in the creation of social media applications.  He holds a B.S. from Z College.

a BS - X

This is actually from a valid bio template, you can substitute X with your name, Y with the name of your startup company, Z where you graduated with BS, A is some award you won, B is another competition you almost beat, and C is the award you almost got, but haven't -- almost. Let's be honest nobody's perfect.

Then you can buy a domain at GoDaddy, sign-up for a Wordpress.com account (or Squarespace, if you like the dark, gothic look), put in your bio based on the template above, preferably put a big 'Donate' PayPal button beside your smiling, outdoorsy photo (mostly effective with a Sky diving photo or the one where you were almost (almost again, nobody's perfect) swallowed by a shark or being chased by a bear while crapping in the woods), and slap a slogan, 'Green is the next big thing', 'Social means business', or 'The most inconvenient truth revealed' or 'We are social, You are social, You are We, We are you. It's all about You, and We'.

Good luck! :D NOW is the time to do it.

Wait, there's more, sign-up for a Twitter and a Facebook account, then create a Facebook Fan page for your Y startup. Then buy a database of quotes, and whip-up a look-ma-no-hands Ruby on Rails (what else, you should use what the best hackers -- hackers of the year -- use) code to send Twitter status updates every 4 hours (thanks to Guy K for this advice) from that database, interleaved that with your "branding" message -- or, best add a suffix (i know, it is cool engineering) like [via Y]. Can't go wrong with that.

And e-mail... what e-mail?!, e-mail marketing is soooo old school, i highly suggest against doing that, e-mail is not social. Remember when Google tried to insert Buzz to Gmail? Yeah right, it's dead. E-mail is not social. Period. Only grandmas check those. and... chimpanzees.

 

Shut up and ship

But perhaps I should give Austin Heap (Haystack's mastermind) the final word:

“I hope we are ready to take on the next country,” he replied. “We will systematically take on each repressive country that censors its people. We have a list. Don’t piss off hackers who will have their way with you. A mischievous kid will show you how the Internet works.”

I think I just threw up in my mouth a little.

 

Ilarawan ang Filipino: looks just like every other john and jane doe's in the world. So what's the point?

 

If you want people to do a good job, give them a good job to do.

Most pundits who attempt this question focus on the personal characteristics of the developer as an individual. Accordingly, some say it’s about technical skills, some about abstract reasoning, some about the ability to work in a team, some about an improvement attitude, some about hard-working dedication, some about systems thinking… yadda yadda.

I have a different take.

Dr. Deming has taught us that 95% of the performance of an organization is attributable to the system (processes, technology, work design, regulations, etc.) and just 5% are attributable to the individual. If we accept this (and I certainly do), then all the discussion about attributes of the individual becomes essentially moot.

Take an outstanding developer from one system (e.g. team, business) and place them into another system, and their performance will depend almost entirely on the system they’re now working within. And NOT on their own personal attributes, skills, talent, or whatever.

 

Future of Startup Funding: "Make something people want" applies to us (Investors) too.

Investors have no idea that when they maltreat one startup, they're preventing 10 others from happening, but they are. Indirectly, but they are. So when investors stop trying to squeeze a little more out of their existing deals, they'll find they're net ahead, because so many more new deals appear.

One of our axioms at Y Combinator is not to think of deal flow as a zero-sum game. Our main focus is to encourage more startups to happen, not to win a larger share of the existing stream. We've found this principle very useful, and we think as it spreads outward it will help later stage investors as well.

 

Mati inserting his agenda with the girls.

 

I have not forgotten, my $1M will come soon, then I can buy a gaming rig anytime I want.

 

Nexus One: a phone designed to be hacked. Awesome. I know it's not a user-centric device, but i've never been a user anyway.

The Nexus One combines an up-to-the-minute platform (Android 2.2), modern hardware, and the pure Android software suite. It's a good choice both for people who want to build Android applications using either the SDK or the NDK, and those who want to experiment with modified versions of the Android platform. Note that the Nexus One still ships with Android 2.1 but will download 2.2 soon after you turn it on; make sure you’re near a fast network.

As well as being an outstanding developer platform, it's a really nice everyday phone; we're really happy to have connected the right dots to make this happen.

 

Meg's creative artwork.

 

Google stops Wave. Plans to integrate tech into other projects. I wonder what will happen to the Wave on Google Apps?

But despite these wins, and numerous loyal fans, Wave has not seen the user adoption we would have liked. We don’t plan to continue developing Wave as a standalone product, but we will maintain the site at least through the end of the year and extend the technology for use in other Google projects. The central parts of the code, as well as the protocols that have driven many of Wave’s innovations, like drag-and-drop and character-by-character live typing, are already available as open source, so customers and partners can continue the innovation we began. In addition, we will work on tools so that users can easily “liberate” their content from Wave.

 

Hiring Bad Programmers kills startups, according to PG. Yes, psychopathic, retarded, crazy programmers.

But when I think about what killed most of the startups in the e-commerce business back in the 90s, it was bad programmers. A lot of those companies were started by business guys who thought the way startups worked was that you had some clever idea and then hired programmers to implement it. That's actually much harder than it sounds—almost impossibly hard in fact—because business guys can't tell which are the good programmers. They don't even get a shot at the best ones, because no one really good wants a job implementing the vision of a business guy.

 

Hmmmm... interesting.

 

We constantly refresh the BS content on ....

Instead of videos showing the iPhone 4 and other phones losing reception bars after being held in certain ways, visitors to apple.com/antenna see a slide show of Apple’s impressive antenna test lab and an explanation that all cellphone antennas have weak spots.

“We constantly refresh the content on Apple.com,” Apple spokeswoman Natalie Harris told Wired.com, echoing an earlier statement sent out by the company over the weekend. “If you’d like to access the videos, you can find them archived on YouTube.com/Apple.”

 

But use it exactly how I tell you to use it, because fuck you, it's my code. I'll decide who's the goddamn grown-up around here.

Guy Faulkner, a 51-year-old Python developer in Seattle, was amused by the Wikileaks announcement. "When Python developers release Open Source code, they are saying: Here, I worked hard on this. I hope you like it. Use it however you think best. Some stuff is documented as being subject to change in the future, but we're all adults here so use your best judgment."

Faulkner shook his head sadly. "Whereas Java developers who release Open Source are code are saying: Here, I worked hard on this. I hope you like it. But use it exactly how I tell you to use it, because fuck you, it's my code. I'll decide who's the goddamn grown-up around here."

"But why didn't they write that Perl script in Python?" Faulkner asked.

 

DVD region encoding: doing additional work in order to achieve less

You know, the technological crippling that means a DVD bought in the USA won’t work in Europe and vice versa.

Back in the days of video tapes, there was good (if not great) reason why videos from one region wouldn’t work in the other: they were encoded with different numbers of lines per frame, to match the TVs available in the region (NTSC in America, PAL in Europe).  This was not a good situation, but one could see how it came about.

But DVDs intrinsically work anywhere — at least, playing NTSC DVDs on PAL players isn’t a problem.  So: here’s how DVD region encoding works.  Each DVD contains a data field saying “Region 1″, or 2, or whatever.  And each DVD player also has such a field telling where it was bought.  When you put a DVD in the player, the player runs code that checks whether the DVD’s region matches its own, and if not, refuses to play.

Just think about that for a moment.  The hardware Just Works.  And the software contains extra code, added to prevent it from working.  That, my friends, is a pretty good definition of stupidity: “doing additional work in order to achieve less”.

 

"it'll be total Hollywood bullshit, because what I really will have said was 'gaming'"

Another perspective I gained was that decorating your mansion with works of art you know nothing about is amazingly rewarding, as long as you can mix it up by leaping across rooftops and assassinating bad guys and hanging with your buddy Leonardo. I swear, if they ever make a movie about my life, the handsome and dashing actor who plays me, when asked on his deathbed which of life's pleasures had given him the greatest happiness, will say something cheesy that makes the audience ooh and aww with appreciation, but it'll be total Hollywood bullshit, because what I really will have said was "gaming".

 

we're not teaching programming and we should be: learn how to read code, lots of it.

By Dave Winer on Sunday, August 01, 2010 at 11:57 AM.

A picture named bikewide.gif

I love that David Weinberger is narrating his fumbling programming work on his blog. It's great for a lot of reasons. Permanent link to this item in the archive.

Everyone goes through what he's going through. Permanent link to this item in the archive.

You never stop going through it, even if you've been programming for 37 years, as I have. You'd think after all this time I would remember the basic lessons I learned the hard way when I was in my early 20s. But nope, I often forget them. Permanent link to this item in the archive.

It's very useful for me to read his narrative. I'm going to teach this stuff, and I have to remember that what seems second-nature to me now, once didn't. Permanent link to this item in the archive.

One of the things I talk about with everyone I meet at NYU if they're willing to listen is that we're not teaching programming and we should be. I think every person who graduates with a bachelor's degree should have one semester of programming, just as they should have one semester of journalism.  Permanent link to this item in the archive.

If I ever get my book together, there will be a chapter on programming in it, where we'll cover the basics. Logic, looping, variables. I seriously think we can get political science students to experience a teeny bit of the magic of programming. It'll be a challenge for sure. Permanent link to this item in the archive.

But it's a serious situation because there aren't enough students taking up computer science. New York wants to become a tech center, but it'll never happen as long as there are so few programmers graduating from our universities. Another way of saying this is that every student graduating with a compsci degree is much sought-after. They have their choice of jobs. This, in a major recession. Permanent link to this item in the archive.

A picture named bike.gifNow, my advice for David, and anyone else who is staring at code wondering how it could possibly be behaving as badly as it is.  Permanent link to this item in the archive.

Of course you're going to think it's the system that's screwing up. We all do. But that is so rarely the cause of the problem that it pays to put the theory aside and get the computer to reveal its logic to you. It's coming up with what you think is the wrong answer, but when you finally figure it out, you'll see why it's the right answer. You can't move on until you see this. Permanent link to this item in the archive.

So step through it in the debugger, and watch what it does with your data. Eventually you will see it do something that isn't what you expected. Now figure out why and change the code, and test again. Permanent link to this item in the archive.

I once stared at some code that was supposed to return the value 26 but it was returning 251. Must be a bug in the math processing code, because how could 25 plus 1 yield 251. But it did, ever damned time the code ran. Until I realized that the 1 was a string and the 25 was a number and the language coerced the number to a string so it could concatenate them. What was imperfect was not the machine, but my understanding of the machine.  Permanent link to this item in the archive.

BTW, I can only remember one time that a problem turned out to be a bug in the system. I spent a week chasing a bug in IBM's Pascal compiler in the early IBM PC. Of course there was no way to file a bug report, so once I understood what it was (I had to look into the code it was generating) I just worked around it.  Permanent link to this item in the archive.

A picture named kong.gifAnother time, there was some bad memory in my system. This was in the very early days of PCs, when there was no memory management. So I put a comment around the bad memory in my source, and was very careful not to add any code above it -- in all my source files.  Permanent link to this item in the archive.

Very early in my career as a programmer, I had an office in the Empire State Building, on the 39th Floor, with windows that open. I was there late one night, trying in vain to figure out which of the computers that was running my code had the bug. My problem was I had no idea how to approach the problem. That's 98 percent of the battle, clearing your mind, rolling up your sleeves, accepting the responsibility that it's your bug not some programmer in New Jersey, or the guy who wrote the operating system. I remember thinking, staring out into the NYC night that they shouldn't put young programmers in skyscrapers with windows that open. :-) Permanent link to this item in the archive.


View the forum thread.

 

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.

 

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.