Sunday, January 30, 2011

My Habit Calendar System: Levelling Up With A Habit Budget

I started using the Seinfeld calendar system in mid 2009, and evolved it into my own multi-mode (daily and weekly) calendar system within about three months. I've been using that for about a year and a quarter now, maybe a little longer, and I've gotten the hang of it. So it's time to take it up a notch.



Blue, obviously, indicates unfinished areas and unanswered questions. If you check out the "needs more stuff" yellow callout box, you'll see I realized that I was budgeting much more of my time for programming than I was for acting. I already had a vague awareness of this, but it's much easier to spot on paper (or, actually, on a screen, in this case the screen of my iPad).



There's actually another section on the business of acting, with a similar yellow callout box, but it's not visible here, because I've only screencapped enough of the budget to get the point across. What I'm doing here is simple: figuring out what habits I want to create, and making sure that the most important goals get the largest number of habits created to support them.

If you set about to do something similar, I strongly advise you start simple. I started with one habit, uploading an mp3 daily, and only added habits gradually, over the course of at least a year and a half. Likewise, I wouldn't recommend a habit budget at all until you've already spent a good amount of time using my habit calendar system successfully. Not just because you'd be doing something overambitious and setting yourself up for failure, but also because it's silly to make a budget without first tracking spending. It's true for money and it's just as true for time.

(I am very much not an expert in money management, but, for exactly that reason, I've been researching it pretty obsessively in the past few months, and this is a very consistent theme in financial advice. In fact, speaking of money, there's an irony here, given that I'm telling you how great my calendar system is, because the video which explains how to use it in more depth is currently off the market, despite some pretty great reviews, because I'm rebuilding my info marketing business on much better systems.)

Anyway, over the past year and a half, I've not only used my calendar system to continually provide myself with fresh daily and weekly checklists, but also to chart my success in keeping to those checklists. The daily and weekly checklists, all together on one calendar page, form an implicit dashboard which you can review at any time. For instance, I set up another spreadsheet on my iPad to track my acting efforts monthly, and one of the rows in the spreadsheet is for my consistency percentage with a particular daily acting habit. Consistency percentage simply means the number of days I have the habit planned for, divided by the number of days on which I actually do it. I'm able to track this because my calendar system generates its implicit dashboard byproduct. (I got this idea from 37Signals; they were talking about selling byproducts rather than reusing them, but the core idea of leveraging them is the same.)

As a concrete example, look at the difference between June and July of 2010 for me.





You can tell immediately that I was much better organized in June than I was in July. Another interesting thing is that I had remembered the month of June as the beginning of a yearlong trend of utter failure in my use of the habit calendar. In fact, as I began writing this blog post, I felt pangs of guilt and shame for even mentioning the calendar. I was very surprised to see how well I did in June, and, having just looked at all the actual pages for last year, this alleged "trend" turns out not to have existed. I did have somewhat worse consistency in the second half of 2010 than the first, but the only really remarkable failures were two specific months - July and December - and they were spaced six months apart.

Not only that, the actual habits I was tracking changed after each collapse month. I don't actually see any harm in giving myself a complete month off to regroup; the whole point of this system is consistency over perfection. At this point, I'm expecting to do a new habit budget six months from now. Of course, when I do, I'll blog any interesting discoveries.

It should be easy to see how this thing works:



Shades of orange mark category and subcategory. Blue and yellow are TODO and FIXME, respectively; headers specify what the action is, whether it's daily, weekly, or monthly, and the "when" column is an experimental feature which I think I'm going to throw away. I'll be using ChecklistWrangler to make the monthly stuff happen, and I'm using it quite happily for a morning checklist - to make sure I remember to floss every day, for example - so I could in theory schedule everything on here, but I think that level of granularity risks overburdening the system and almost guaranteeing failures. Speaking of which, I want to reiterate, wait on a habit budget until after you've already been successful with a habit calendar, both to ensure you can handle it and so that you've got some data to base it on.

(Speaking of checklists, if this stuff interests you, you absolutely must read The Checklist Manifesto.)

Incredibly Cheap Robot Attack Drone

Tuesday, January 25, 2011

Police States And Criminal Armies


Modern science fiction dwells on police states, and a lot of police states exist (including quite possibly the United States). But the natural polar opposite of a police state exists also: transnational criminal gangs, in many cases, have their own armies. Transnational criminal armies are nothing to sneeze at, and while the police state is probably the wrong response, it's important to realize that nothing is ever one-sided. There's an old saying: "The road to hell is paved with good intentions." I think it's pretty likely that the roads away from hell are paved with clear thinking.

The two major questions of this blog are: how do we minimize the possible danger of robot weapons, and how can we achieve peaceful societies in the context of massive technological change, which brings with it as a natural consequence massive societal change?

The rapid near-future proliferation of robot weapons is a near-certain technological, economic, and political inevitability. Robots are becoming fast, cheap, and incredibly useful. It's going to happen, and when it happens, it'll be sudden, because Moore's Law makes slippery slopes so fast and steep that they look like instant transformations. Already, SWAT teams in Texas are using unarmed aerial robots.

The larger political questions are very difficult. Representative democracies often devolve into contests to see which ethnicity or social class can most effectively seize control of the "democratic" apparatus. This is a serious problem in former European colonies, where representative democracy is imposed without any of the cultural conditions that enabled its evolution, and is a risk elsewhere. Although societies are becoming more diverse at the macro level, the places we live are becoming more homogenous, and the increased vitriol in American politics traces directly to this source. Jared Loughner is an inexplicable mystery, unless you look at the conflict in "swing states" as a tribal conflict, and assume that the Red State tribe chooses its warriors from its lunatics.

Pretty much the whole point of representative democracy is to prevent conflicting tribes within a larger society from choosing warriors in the first place, but it operates with the assumption that tribes will choose sane warriors in a conscious, deliberate process. The Red State tribe sends its warriors into battle by filling their head with lurid imagery and then protesting that they didn't mean it. It's what they did right before they killed JFK. It's not a conscious, deliberate process, and again, although I don't like the trends towards police states, especially not in countries where I live or have family or friends, if the major threat to a peaceful society is isolated crazy people with guns, there's a certain logic to a police state whose only goal is a peaceful society.

However, a police state whose only initial goal is a peaceful society can still be used to accomplish a variety of other, much less admirable goals the moment it's in operation. I think it's wise to have compassion and respect for the people who are turning our countries into police states through good intentions, but allowing it to happen would be insane. But I think the only way to prevent it is to come up with a better model.

This is some of the stuff I'll be addressing in this blog. My hope is to figure out a better model.

cross-posted from Robot Warriors Will Destroy America

A Victory For Sanity

A six-woman Bernalillo County Metropolitan Court jury has found Phil Mocek “NOT GUILTY” of all of the charges brought against him following his arrest in November 2009 at the TSA checkpoint at the Albuquerque airport...

Mr. Mocek did not testify, and the defense rested on Friday without calling any witnesses or presenting any evidence. The jury found that even without rebuttal, the TSA and Albuquerque police had failed to satisfy their burden of proving any of the four charges: concealing his identity, refusing to obey a lawful order (it was never entirely clear whether this was supposed to have been an order to turn off his camera, an order to leave the airport despite having a valid ticket, or an order to show ID, none of which would have been lawful orders), trespassing, and disorderly conduct.

The best evidence in the case was the video from Mr. Mocek’s digital camera that both the TSA and the police had tried to stop Mr. Mocek from filming, and which ended when they seized his camera out of his hands and shut it off. In her closing argument, defense counsel Molly Schmidt-Nowara argued that the police and TSA witnesses were not credible, that their testimony was contradicted by the video and by common sense, that what they really objected to was having Mr. Mocek legally take pictures, and that any disorderly conduct was on the part of the police and TSA.

Papers, Please!

cross-posted from Robot Warriors Will Destroy America

Sunday, January 23, 2011

Working On A Proposal For A Book On Algorithmic Music With Ruby



If you want to make suggestions or requests, check out the full-size mindmap.

Announcing: THE WRINKLEFUCKER



The Wrinklefucker is a simple tool for translating Morse code into human speech.

It's based on code by David Brady and makes it easier to read Homestuck.

Cyberpunk Blog

Simple Math

Saturday, January 22, 2011

Possible Model For Identifying Real Twitter Follower Count

I'm assuming your real Twitter follower count is the follower count Twitter gives you, minus the number of spammer bots who follow you for no good reason, minus the number of random people who act like spammer bots for no discernible reason. I think you can form a very good estimate of that number by analyzing the social graph.

First, examine your Twitter feeds. Find the Twitter followers you converse with most frequently. They are considered known valid followers. Find known valid followers of these known valid followers. If these people are also following you, add them to your list of known valid followers, giving them a slightly smaller degree of validity. Continue until you exceed a threshold of iterations or fall past a threshold of validity.

The algorithm has three constants - the iterations threshold, a threshold degree of validity, and a threshold which defines frequent conversation. A value of 1 for that would consider anyone 100% valid if you @acknowledged them even once; a value of 100 or more sets a much more snobbish standard. You tweak the constants for a bit and you're done.

Tuesday, January 18, 2011

Don't Let Zuckerberg Madoff You (Whether Accidentally Or On Purpose)

The argument is similar to how Paul Graham describes that Yahoo was a pyramid scheme in 1998.

Facebook posts huge revenues. In fact, recent reports are that Facebook is very profitable. This boosts both their respect in the world and their valuation. However, these returns, while real, are unsustainable. They exist and are sustained in the same manner that Ponzi schemes are.

Have you ever bought a Facebook ad? I have. I have talked to many, many people who have. We have spent hundreds, many have spent thousands or even more, experimenting with Facebook ads. They are worthless. Nobody ever looks at them, and nobody ever clicks on them...

People go to Facebook to interact with their friends. It is fundamentally different from the ad platform that is Google. People go to Google to find something they need, possibly ready to buy, which a good percentage of the time can in fact be solved by someone's ad. Facebook ads, on the other hand, annoy users. They yield no real value, and thus no profits...

Eventually, though, and this might take a long time, but it is finite, everyone will have tried Facebook ads and know that they are useless. Eventually, after 10 million businesses have invested $1000 each, and Facebook has earned $10 billion in revenue in total, then they will have run out of new customers and their revenue will dry up. A useless product is never sustainable. I wish I could short Facebook...

It's possible that they do not even realize that they are like a Ponzi scheme.

That's right, they may not even realize that their ad platform is completely useless because they always get new clients signing up and giving up their offering to the god of web 2.0 hype. They may be blind, as I used to be. They may be truly surprised when the supply of suckers runs dry.

More likely, in the end, they will get teenagers to pay a monthly fee to host all of their party photos. Of course, then the next VC-funded Facebook (just as MySpace killed Friendster, and Facebook killed MySpace, so will NextFB kill Facebook) will offer the same services and be free and take over the "market." The cycle repeats itself.

Monday, January 17, 2011

No New Languages In 2011; Nothing New At All

You might expect me to launch a new monthly project system for 2011 like I did for 2010 and 2009. Not in the cards. I've started so many things in recent years that I'm going to spend 2011 developing good ideas I've left unfinished.

I'll very probably resume working on Archaeopteryx, and advance it in some significant and interesting ways. I'll continue working on Twitter Newspaper and my automated refactoring code (working title Epic Towelie, but expect a better name before it goes live). I'll continue my acting classes, and expand my efforts both in developing my skills and in marketing myself as an actor. Expect to see professional work in that field soon.

I'll take one of my favorite, under-rated blog posts from years ago and develop it more fully with the new Robot Warriors Will Destroy America blog (currently tiny and barely developed at all). I'll continue working on my health, with a new goal of 150 pounds and 9% BMI (I've got a long way to go before I hit that target). I'll probably bring back the @djgoatboy daily mp3 Twitter account, continue developing my skills in hypnosis (I'm professionally trained), and, later this year, get back into information marketing.

I'm also creating music for PeepCode screencasts, possibly writing a book for a print publisher, and possibly further developing a YouTube music/entrepreneurialism experiment from last year. That experiment never went live, so nobody's seen it, but it began as part of 2010's business-a-month project. Likewise, the print publisher got in touch with me last year, and you can already hear music I've made in several PeepCodes.

I've started so much over the past several years that if I were to finish up any one of these ideas the results would be wild and awesome. I'm planning to finish them all. I'm also expecting it to take me a while.

And I lied. There is one new thing. I'm going to be blogging about my sex life, and no, I'm not giving out the URL. My parents read this blog, and even if that weren't the case, some things require a certain level of privacy, and there's actually terrific privacy in anonymity. But even that is in many ways a return to past projects. I used to spend a lot more time chasing girls than I do these days, and I'm looking forward to reinstating that project.

Speaking at LA Hacker News Meetup and LA RubyConf

The meetup:

A Year Of Entrepreneurial Experiments

In 2009 I created a miniapp every month (in actuality only several months). In 2010 I launched a minibusiness every month (in actuality only several products and a few minibusinesses). When I began at the end of 2008, my plan was to combine the two in 2011, by launching a serious tech startup or two, and that's one of the things I'll be doing this year. But I had interesting surprises along the way that made me question the whole idea of using tech to make money at all, when I discovered the existence of simpler and probably superior ways of achieving wealth, security, and similar goals. I'll talk about my successes, my failures, and why Hacker News brought tons of traffic to my blog - until the year I actually began making money as an entrepreneur.


The conf:

Easy Node.js Web Apps With Lisp

Lisp is a programming language which allows you to manipulate its abstract syntax tree directly. The popular quote about every other language being a partial implementation of Lisp is not just snark; all programming languages use an abstract syntax tree, so Lisp is literally and mathematically either equal to, or a superset of, every other programming language. However, if you've wanted to build anything actually useful with Lisp, you've historically been in the position of having no vibrant, powerful open source community to draw on. Not many people enjoyed this tradeoff, but fortunately, it is no longer the case. Sibilant is a Lisp written on top of Node.js, a new server-side JavaScript library for writing servers. Node has an active open source community, and it runs on the lightning-fast V8 JavaScript interpreter (written and supported by Google). Thanks to V8, Node, and Sibilant, it is now trivially easy to write web servers, command-line utilities, and applications (server-side, client-side, or both) in a fast, well-supported Lisp. This talk will show you how.

Sunday, January 16, 2011

Video Ad Links Removed

I'm pulling that stuff offline, and revising later. 2010 was an excellent year of business experiments, but 2011 is going to be a bit different. I usually announce my plans for the coming year well in advance, but this year I'm a little behind on that. I've already got plans in motion, and have described some of them already, but others are secret or incomplete. More about that later.

New Blog: Robot Warriors Will Destroy America

Robot Warriors Will Destroy America

Miniapp: Clueful Google

This is my silliest miniapp yet. The premise is simple:



The dream is real at http://clueful-google.gilesb.com/

America Knows Robot Warriors Will Destroy America

I've set up a new blog for my apocalyptic futurism, but I'm having some DNS issues, so I'll get into it here as well. (Given the shock value in the title, you might want to check the original post.)

These guns were found recently in rural Georgia:



"Three shotguns were set up on a platform and linked to a Web-accessible camera system that allows the guns to be fired via an Internet connection."

The owner of the land set them up to shoot feral hogs which were eating food he was growing.

A utility contractor encountered the setup, snapped a few photos and reported the odd apparatus to the Georgia Wildlife Resources Division, which in turn notified the U.S. Office of Homeland Security...

Several business ventures explored the idea of cyber hunting in recent years, but the practice has been banned in at least 25 states, the bulletin said, adding that officers should be aware of the existence of such devices...


Any reasonable farmer in the state of Georgia will tell you that what happens on his property is his business, and has been since the first colonist landed on these shores. Any reasonable hacker will tell you that modifying hardware you own has been 100% legal since the first day somebody sold something, and is in fact implicit in the concept of ownership, trade, and property in the first place. So you might expect libertarian outrage at the Department of Homeland Security investigating a guy for shooting wild pigs. (And wild pigs are a serious thing in the South.)



However, while I think it's indisputable that, like many Bush Administration legacies, the Department of Homeland Security represents a dangerous slide towards fascism, I actually can't blame anybody in law enforcement for keeping an eye on this kind of thing. In the short-term, reporting this to the DHS was a paranoid over-reaction, but in the long term, it might be entirely appropriate. As I said in the original post, cheap, commodified weaponry which users can control anonymously and at a significant distance changes EVERYTHING about armed conflict. It's unprecedented and in a few decades it will transform politics on multiple scales and at multiple levels.

In the same way that computers have gradually taken over nearly every business, robots will gradually take over every army; and in the same way that the ludicrous visions of giant computronic brains gave way to the reality of everybody carrying a tiny computer in their pocket and calling it a phone, the Hollywood and anime visions of massive, giant robots will give away to miniaturization, commoditization, and the obvious tactical and logistical superiority of tiny, cheap robots to giant, expensive ones.



Consider a spectrum of assholes. At one end you have Sarah Palin, who talks about guns as a tool of politics because she's confident in the assumption that nobody takes her seriously or literally - in other words, because, like most politicians, she's a calculating, insincere asshole. At the other end, you have the terrorist Jared Lee Loughner, who used guns as a tool of political change because, like most terrorists, he's an insane, violent asshole. What might you find in the middle if you had an asshole who was violent but not insane, and calculating but not insincere? You would have on your hands the type of asshole who you would NEVER want anywhere near computer-controlled weapons.

The cheaper and more technologically trivial that computer-controlled weapons become to make, the higher the probability of finding such weapons in the hands and under the control of assholes matching this description. And these things are getting cheap, and technologically trivial, at a very rapid pace. That's why I'm creating my new blog, named Robot Warriors Will Destroy America (just like the original post). I'm hoping to amass interesting research on the blog, expand my argument, figure out possible solutions, and turn it into a book and/or a documentary. I'll post more about that once the DNS sorts itself out.

Why I Block People On Twitter For Talking Shit About Astrology

Astrology shares some interesting similarities with marketing.

First, most programmers hate it; second, more women do it than men; third, both are intensely systematic. I emphasize this because it makes an interesting contrast with the widespread geek antipathy toward either subject. After all, geeks love systems.

A further interesting similarity: programmers generally hate marketing for being unethical, without being aware of the systems it runs on, and programmers generally hate astrology for being invalid, without being aware of the systems it runs on.

I'm considering blocking somebody on Twitter after he made the following tweet:



I'm not just a programmer, but also a musician and actor, and this astrology thing is a big topic of conversation in the communities around two out of three of those identities. I don't appreciate random hostility or the arrogant presumption that my nerd peeps get to tell me how to talk to my other peeps. And "{barf}" is pretty typical of the level of discourse you get from programmers whenever you mention astrology. The same's often true for marketing (although less so in programming language communities which see a high incidence of entrepreneurialism).

I went to a school called St. John's College, where we discussed the Great Books. I was only there a year, but during the year, I read, and discussed, many things I disagreed with. When discussing things in class, I had to refer to my classmates with "Mr." or "Ms." and their last names. "{barf}" would never have been an acceptable contribution to the discussion.

I'm not interested in humoring people when they splash me with the stink of their prejudices. This applies to obvious, culturally taboo prejudices such as racism, and applies equally to culturally tolerated prejudices like the "scientific" prejudice against astrology. I say "scientific" because although this prejudice is found among people with a scientific background, it is not actually backed with science. I've never met a skeptic of astrology whose skepticism was founded in research. In fact, I've met few skeptics of astrology who were aware of astrology's systematic, mathematical nature.

And again, the same is mostly true of marketing and its skeptics. In fact, this brings us back to the gender thing, in an interesting way. One reason programmers hate marketers is because, in many corporate environments, you have a constant tribal standoff, where the two groups do not understand each other, but marketers always win. This is because marketers bring money in the door. I think one reason programmers hate astrology is because most programmers are men, most astrologers are women, and, in many social environments, the two groups do not understand each other, but women always win. This is because women have it and men want it.

Although I doubt this will prevent or even stem the flood of tiresome, brainless contempt, let me also just point out that I am not asserting astrology has any validity at all. I am merely asserting that it has a mathematical and systematic nature. Consider again this tweet:



It's actually very fair to use the word "clueless" for an expert from one field who makes claims about another field without any knowledge of the systems that second field runs on. Whether astrology works or not is a separate question from whether or not it has a system which runs on rules so invariant that you can program a computer to perform the whole process.

I would be fascinated and thrilled to have a discussion with programmers about the systems at work in marketing and astrology. However, I am absolutely not interested in discussing the ethics of marketing (or lack thereof) with anybody who has not read Plato, Aristotle, and the Tao Te Ching. If you are not interested in ethics enough to read the basics, then I don't have time for your opinions about ethics. Likewise, if you want to come to me with evidence of tackling astrology's validity or invalidity seriously, such as addressing it with statistical analysis, I'm interested, but I don't want to hear opinion with no research behind it.

In general, if you haven't taken your own opinion seriously, I'm not going to take it seriously either. Forming your opinion seriously means doing research and reading the classic works in the field. If all you have is ill-mannered prejudice, I am not interested in hearing it, and I am not going to hear it twice.

Saturday, January 15, 2011

Essential: 10 Most Common Mistakes In Changing Behavior

Top 10 Mistakes in Behavior Change

For The Record

I've been carless in Los Angeles since the 18th of December, so, just a few days short of a month. Today was the first time it seriously inconvenienced me - and the only reason the inconvenience was serious was because my main debit card got identity-thieved, so I had to cancel it, and I don't know the PIN number on my backup (which I previously only used for charitable donations online as a Visa). If it weren't for that, I could say I've gone carless in LA for a month without significant inconvenience.

Friday, January 14, 2011

Fruit Fly Neural Network Design

“It is such a simple and intuitive solution, I can’t believe we did not think of this 25 years ago,” said co-author Noga Alon, a mathematician and computer scientist at Tel Aviv University and the Institute for Advanced Study in Princeton, N.J.

...

“Computational and mathematical models have long been used by scientists to analyze biological systems,” said Bar-Joseph, a member of the Lane Center for Computational Biology in Carnegie Mellon’s School of Computer Science. “Here we’ve reversed the strategy, studying a biological system to solve a long-standing computer science problem.”

Your Astrological Sign Didn't Change

This will probably baffle most of you, being literal-minded programmers, but if you (like me) have actor friends or musician friends, you're going to hear this bullshit a lot. Your astrological sign did not change. The procession of the equinoxes does not mean SHIT. A Greek astrologer-astronomer (there was no difference back in the day) discovered it in 125 AD, which means Western astrology has known about it, and been able to plan for it, for just under two thousand years.

Just to show you what horseshit this is, CNN interviewed the astrologer Susan Miller, who told them the "new signs" thing was bullshit, and they quoted her as saying "read both your old sign and your new sign."

@astrologyzone vs CNN 1
@astrologyzone vs CNN 2
@astrologyzone vs CNN 3

I'm not even saying astrology has any value, I'm just saying, if you're going to talk about astrology, talk to an expert, don't just repeat whatever you hear from the mainstream media - everybody knows they lie just to fill airtime - and if you've got two thousand years to plan for something, you're probably going to be able to figure out a plan for it. If you see something coming from two thousand years away, and you don't put together a plan for it, it's probably not a big deal.

So, if you have friends who are into astrology, explain to them that if this had any validity at all, they would have been hearing about it for decades already. Consider the dawning of the age of Aquarius, which occurred in 1997. This is an actual astrological thing related to the procession of the equinoxes. People sang and recorded countless folk songs about it in the 60s. There were books, there were lectures, there were deranged theories, and it even showed up in a KRS-ONE rap in the 90s. People knew it was coming for decades. Whether you attribute any meaning to astrology or not, a system based on the movement of the planets in space is not going to be a system which gets taken by surprise all that frequently. These objects are large and slow-moving and it is easy to predict their movements very, very far in advance.

Wednesday, January 12, 2011

Morse Code Converter For MS Paint Adventures

This script, ghetto-forked from David Brady, can come in handy reading this comic, especially pages like this.

Dan North Blah Blah Blah Blah Horseshit

Today my name is Cranky McFuckoff. Just so you know. The reasons have to do with my struggle with caffeine addiction. I was off caffeine for a year and a half. Then I needed to turn out a video to sell in a fucking hurry, so I went down to my neighborhood cafe, a lovely place just a block away, and got a hefty dose of caffeine served to me by a small squad of lovely tattooed hipster chicks. It was like Foxforce Five in plaid. These sultry bohemian drug dealers hooked me on their nefarious wares.

Then, just a few days ago I contracted an awful cold, and, figuring I'd have to deal with headaches and nausea anyway, figured I'd kick caffeine at the same time and kill two birds with one stone. EPIC FAIL. By the time the caffeine withdrawal kicked in, I had forgotten all about my malformed little scheme, and became convinced I had contracted the Ebola virus and was going to start puking blood all over innocent bus riders. In desperation I drank half a cup of coffee at 8pm. Not having had caffeine in a few days, the effect was more powerful than usual, and the coffee was damn strong. I got maybe two hours sleep last night, max, and I just want to apologize to Dan North right now for being in the kind of mood which relishes an easy target.

And boy is this an easy target. North wrote this ridiculous illogical ramble called Programming Is Not A Craft, which got retweeted and/or placed on Hacker Newspaper. I don't know why, exactly, but I've got at least two sources directing me to read this, and they're both wrong. Check this out:

So from a purely demographics perspective we can see that the vast majority of people in the IT industry are there because a) it’s a well paid alternative to other white collar office work or even manual labour, and b) there is no incentive to make it anything other than a commodity numbers game.

The first part, A, makes sense as a description of the vast majority of people in the field, but B is complete horseshit, by North's own logic. He states that what makes excellent programmers excellent is their passion, and then says:

The oft-quoted figures of tenfold increase in productivity of expert versus novice programmers are wrong by orders of magnitude in my experience. A really great programmer (and I’ve been lucky enough to work with a handful over the years) can out-perform a doing-it-for-the-money programmer by orders of literally hundreds, delivering in hours or days what would take an average developer weeks or months.

So seeing programming as a craft to love and master wins you epic productivity advantages, but there's no incentive to make it anything other than a commodity numbers game? Epic productivity advantages constitute "no incentive?" Have you noticed that there's a power law in the value of Internet startups? Most are worth nothing, a few are worth billions? And yet there's no financial incentive to a process which gains you an epic productivity advantage?

I admire the balls of anybody who can publish such illogical horseshit and blatant self-contradiction under his own verifiable identity, but other than that, North's argument should be taken out back behind the woodshed and shot point-blank in the cranium.

Maybe he doesn't mean financial incentives, and the incentive of becoming a billionaire is therefore inadmissible. Maybe he means there's no psychological or quality of life incentive to an attitude to your work which involves loving it and caring about every minute of it. If that's the case, he needs to read Flow. I'll never understand why motherfuckers prefer saying shit to making sense or doing research by such a wide motherfucking margin.

Undaunted, North continues babbling, like a demented schizophrenic at a bus stop with nothing but a can of soup and a shitload of free time:

With a craft, the product has intrinsic beauty in its own right. A cathedral is really a big hut for people to meet in and worship. Make it from stone by all means, so it lasts longer than a wooden hut, but why all the fancy decorative stuff? Of course it is there to engender a sense of majesty and wonder, and cause us to engage the part of ourselves that appreciates beauty and magnificence, so we enter the cathedral reverently and humbled, ready to worship. What makes it a craft is the work above and beyond its basic utility to give it intrinsic, aesthetic beauty.

This example is so fucking ridiculous as to be borderline illiterate. Architecture is not a craft, it's an art. That's why you can't take architecture in most high schools or community colleges, but you can take it at just about any art school on the planet. If you're going to write about semantics, your semantics should at least be on a level with what I can find in a fucking dictionary. This paragraph does not even fucking compile.

I should point out that both lack of sleep and caffeine usage increase aggressiveness. My bad.

This part, at least, is good:

How are [passionate, excellent programmers] supposed to differentiate themselves? And how can they help others in the industry who have a real love and appreciation for the software they write? We need some sort of apprenticeship model, and a way to identify masters, both to apprentices and other masters. That sounds like the sort of model that craftsmen use. And it also appeals to the average alpha geek’s romantic streak, possibly incorporating a system of secret signs and handshakes.

Good, but not great. We have a terrific apprenticeship model, it's called open source. But the idea of setting up a consulting business along these lines has indeed always applied to me on sentimental (rather than mercenary or even rational) grounds.

After this stuff North then proceeds to criticize programmers for indulging in romantic fantasies of programming as an art, and babbles endlessly about martial arts and drawing. I know for a fact that most programmers don't have my background or skills in drawing, so I'm sure it's worth reading for most people, but for me negative space was a tired, overrated concept when I was still in high school, before I even hit senior year and did AP art. Likewise, I learnt a little judo when I was still in elementary school -- just enough to get the basics -- so that part was a tired rehash for me as well. That might be worth reading for you, but it mostly depends on whether or not you've ever heard of Ruby koans or seen any anime ever in your life.

Calling programming a trade takes nothing away from the desire for professionalism, experience and expertise. In the same way I want an expert electrician wiring up my house rather than a cowboy, I want an expert programmer enabling my business. What I don’t want, however, is a prima donna plumber who insists on talking about the elegance, beauty or art of plumbing, or who insists that I appreciate the aesthetic beauty of his joinery, or will “only work with other rock star plumbers, who only practise copper-driven plumbing.” The best software should be understated and unobtrusive (as, maybe, should be the best programmers). I don’t want to hear the clanking of information as it rattles from one poorly-implemented system to another, through ill-conceived interfaces.

This is ridiculous. If you don't care about the workmanship when you buy or build a house, you're going to lose a fucking epic shit-ton of money. I hope North was just too scatter-brained to think of this, because if not, he could be in for some fucking trouble if he buys a house. It also doesn't make sense to criticize plumbers for having high standards:

What I don’t want, however, is a prima donna plumber who insists on talking about the elegance, beauty or art of plumbing, or who insists that I appreciate the aesthetic beauty of his joinery, or will “only work with other rock star plumbers, who only practise copper-driven plumbing.”

...right before complaining about code which uses bad plumbing:

I don’t want to hear the clanking of information as it rattles from one poorly-implemented system to another, through ill-conceived interfaces.

The only shred of sense in the above paragraph is North's repeated insistence that he doesn't want programmers who insist on things. I agree with him on that.

It's also very easy to agree with him when he says he doesn't want to hear what other programmers have to say about programming. He shouldn't listen to what other programmers have to say about the craft, because he doesn't think about the topic seriously enough to avoid contradicting himself from one sentence to the next. A guy who doesn't even listen to himself is never going to learn anything from listening to other people.

North concludes:

If you’ve read this far, then thank you.

You're fucking welcome, and you fucking owe me. I hope to God my experience will serve as a warning. Avoid coffee, and avoid Programming Is Not A Craft.

He finishes with a call to action:

I do think there should be a Software Craftsmanship Manifesto, but not the thing that’s currently out there. I think it should be a call-to-arms, feisty, opinionated, brash and everything that a good manifesto should be (I’m channelling Kevlin Henney here).

I have no idea what this Software Craftmanship Manifesto is, but I pity anybody who has an opinion about it one way or the other. It's obviously not the kind of thing any sensible person would give a shit about.

I also think there should be a way for passionate, skilled programmers to differentiate themselves from the mainstream commodity bodies, and also to recognise one another, and demonstrate their value to potential employers.

Open source, conference presentations, blogs not clogged with bad logic, and profitable, innovative businesses are all good ways for passionate, skilled programmers to differentiate themselves from the mainstream commodity yadda yadda. You can check follower count, fork count, and/or actual code on GitHub to identify good programmers, whether you're another programmer or an employer. This is the easiest call to action ever. All you have to do is realize everything North is asking for already exists.

My God, that was awful. I apologize for the negativity and I swear to God I'm getting un-addicted one way or another. It's going to take at least a couple days of 100% free time, though.

The Big Sort Explains Giffords

I was surprised when I heard about it, but nowhere near as surprised as I would have liked to have been. Don't waste my time with opinions about politics if you haven't read the research.

Currently Reading: Music And Probability, by David Temperley

Highly recommended. Academic in the extreme, the book tackles Bayesian probabilistic analysis and its implications for musical cognition.

At CUSEC 2009, Avi Bryant told the crowd of engineering students to disregard blogs (no matter how well-formatted) in favor of academic papers in computer science and mathematics. It's good advice. This book is giving me ideas on how to awaken Archaeopteryx from its long slumber, and while my automated refactoring experiments draw on only a few comparable projects, the academic papers on the subject are fascinating and promising (the strongest area of research appears to be graph theory).

Tuesday, January 11, 2011

Sunday, January 9, 2011

A Quick Note: December's Micro-Biz

If you've been following my monthly mini-biz program for 2010, and you spotted the gap in December, it's not because I didn't set anything up; it's because what I set up was a mess. I'll probably put it online for the sake of documentation and the fun of it, but it'll cost about $40, while netting me in all likelihood nada. I did learn something from it, though, so if I do put it online at some point, I'll blog it as well. Pardon my being so cryptic, but I spent most of the weekend in a Nyquil coma and there's more of that in my immediate future. This morning I had so much Nyquil in my system that I attempted to kill a piece of lint, convinced it was some kind of insect; and then, when I determined I could not kill it, inferred from its invulnerability and casual, serene fearlessness that it was some kind of tiny, immortal god. I then attempted to ask it deep spiritual questions before finally realizing it was in fact inanimate fuzz. Therefore I'm staying silent on 2010's final monthly entrepeneurial experiment until I have time to make sense.

Thursday, January 6, 2011

My Blog In A Nutshell

Wednesday, January 5, 2011

Exactly!



This is why I don't use Facebook, except to play Scrabble with my parents. (And I'm planning to buy them iPods or iPads so we can upgrade to Words With Friends, at which point I plan to abandon Facebook again.) It's also why I think Facebook is overvalued.

My five main social groups on Facebook: programmers, actors, family, friends from high school, and friends from the San Francisco rave scene. In high school, my main interest was classical languages. When I was a raver, my main interest was going to raves. These two groups of people have ideas of who I am which diverge wildly. You see similar divergence between the sensibilities of actors and programmers, and the way I communicate with my family differs a great deal from how I communicate with any other group.

It's simply impossible to come up with status updates that make sense to every group. For instance, my parents recently encountered rattlesnakes on their property, and I proposed a system for preventing this which they rejected for, as far as I can tell, being too logical and too likely to succeed. If this was a topic of discussion on my Facebook page, my programmer friends would focus on the system, my actor friends would focus on the experience of encountering rattlesnakes - as well as the experience of attempting to talk sense into crazy people - while my high school friends would tell me what was going on with their own parents, and my raver friends would go off on a crazy tangent and start making jokes about peyote.

These are all pretty great ways to deal with this kind of news, but not at the same time. A Facebook discussion like this would travel down several different paths simultaneously and I'd be stuck in the middle trying to participate with all subgroups in whichever way I normally interact with each. This has happened to me several times (although not with this specific example). It's like being pulled in several directions at once, and the result is I just feel Facebook is completely useless for communicating with people.

It's a systemic problem. The second-best solution would be to create five Facebook pages, one for each group of friends, but the best solution is much simpler:
  1. Facebook is a piece of crap
  2. don't use it.
And that's the solution I've chosen. It works really nicely and was a breeze to set up.

The reason I think this means Facebook is overvalued: eventually, once everybody's used to being able to communicate this way, people will want to be able to separate their groups and communicate with them in a more human manner. New sites will emerge which match these more sophisticated idioms, and what will Facebook do? They'll probably have to bolt new, sophisticated ideas onto a framework they built around cruder assumptions. That kind of effort doesn't usually succeed. The basic question with Facebook's valuation is, how long do they have, and how much money can they make during that time? My hunch is that mobile will exacerbate the issues this presentation reveals, ending Facebook's reign sooner rather than later, but it's just a guess.

Update: I guess this says pathetic things about my social life, but fuck it.

YES

Recon Instruments' $430 CAD "Transcend" goggles include a GPS receiver and a heads-up display. According to the website, it is "completely non-obtrusive for front and peripheral vision, making this real-time head mounted display the ultimate solution for use in fast-paced environments."

Sunday, January 2, 2011

Homelessness And Tribal Hunter-Gatherers

I had a thought a few months back, that homeless people live in a way similar to tribal hunter-gatherers, and that to some extent it's a testament to the extraordinary abundance of our society that it supports the mode of survival we evolved with. But there are serious flaws in this theory.

First, tribal hunter-gatherers are tribal - they move in groups. Homeless people tend to be solitary. Second, tribal hunter-gatherers hunt as well as gathering. Homeless people typically just gather. You might see them going through the trash but you never see them chasing a rabbit with a spear.

Personally, I think that would be kind of cool. In downtown Los Angeles, I see a lot of homeless people, and in Elysian Park, I see a lot of wildlife. It'd be kind of cool to combine the two. I would love to see a whole pack of homeless people hunting squirrels with bows and arrows. They'd probably train the local coyotes to act as hunting dogs, and believe me, there are enough coyotes in Elysian Park that we could spare them a few. There's a ton of geese down the road in Echo Park, too, I bet one of those things could feed three or four homeless guys.

Unfortunately, however, this is not what you see homeless people doing in Los Angeles. They don't attack the geese or train the coyotes. Since this is obviously the only sane response to homelessness, this leads me to conclude that all homeless people are mentally ill. (I am obviously qualified to make such a proclamation.) And this is a problem, because homeless shelters don't seem to solve anything, giving mentally ill people money to spend is not really going to solve their problems, and Reagan closed all the insane asylums, despite the fact that he clearly belonged in one.



Bonus fun fact: "Ronald Wilson Reagan" is an anagram for "Insane Anglo Warlord."

Obviously, also, the solution is not to train homeless people to make bows and arrows. I think I'd get in trouble with the law if I tried that one. So I still haven't figured it out.

Handling To-Do Lists And Denial

Typically, when people start using to-do lists, they start out motivated, but their motivation peters out. This phenomenon is well-documented.

A variety of factors drive this gradual shift. One thing which saps people's motivation: discovering a written record of things they procrastinate on. Procrastination is a form of denial - when you're procrastinating, you're deciding not to do something, but selling yourself the lie that you'll do it later. Reviewing a to-do list then means confronting yourself with a list of tired lies.

In a situation like this, the solution is obvious.



Any type of to-do list system needs periodic review, and that review must include taking out the trash. To-do lists with expired or invalid tasks are like the Lizard of Guilt, and should be thrown out the window. Otherwise, stale hypocrisies cobweb your system, and nothing gets done.

Related: you're not doing Agile if you're not doing retrospectives.

Prepare For The Geek Mafia

Patton Oswalt went on Wired to waft horseshit under the noses of the blogosphere, and everybody and his grandma thought it smelled like cherry pie.

Oswalt doesn't really have an argument, but I can summarize the idea he rants about the most, and which comes closest to being an argument: Pop Will Eat Itself. It's easy to summarize because it's an antique idea. Music journalist David Quantick coined the phrase during the 1980s, in the pages of the then-essential music magazine NME, writing about how the now long-forgotten band Jamie Wednesday appeared to create all its music by recycling the ideas of pop music that came before them. After the UK discovered Public Enemy and kids all over England traded in their guitars for samplers, another, much brasher band from Sheffield (northern England) took the phrase as its name to represent the apotheosis of the plunderphonic sound. Pop Will Eat Itself pioneered a sample-centric indie rock territory along with bands like the Shamen, Carter the Unstoppable Sex Machine, EMF, and the under-rated Jesus Jones (a one-hit wonder in the States but something bigger in the UK).



Oswalt's not the only one recirculating the meme; the London newspaper The Independent brought it back to dither about how multi-millionaire musicians are making the sky fall on the music industry:

Pop will eat itself

Today's hottest musicians are too busy making movies and selling perfume. What they don't understand is that the secret of a long career is a decent back catalogue – and their indifference is killing the music industry. Paul Gambaccini reports


Oswalt expands the Pop Will Eat Itself argument from music to movies, renaming it Etewaf (Everything That Ever Was, Forever).

Here’s the danger: That creates weak otakus. Etewaf doesn’t produce a new generation of artists—just an army of sated consumers. Why create anything new when there’s a mountain of freshly excavated pop culture to recut, repurpose, and manipulate on your iMovie? The Shining can be remade into a comedy trailer. Both movie versions of the Joker can be sent to battle each another. The Dude is in The Matrix.

The coming decades—the 21st-century’s ’20s, ’30s, and ’40s—have the potential to be one long, unbroken, recut spoof in which everything in Avatar farts while Keyboard Cat plays eerily in the background.


Oswalt's pop-culture Malthusianism flies in the face of the absurd profusion of online comics, which rivals the Cambrian explosion in the suddenness of its diversity and abundance, not to mention the similar rapid proliferation of new species of otaku. Homestuck cosplay, anyone?


they're playing Vriska and Terezi. if you don't know who the fuck Vriska and Terezi are, well, that's kind of the point.

Music has seen similar developments online, and was headed that way before the Web; similar phenomena occur in video, with YouTube "celebrities" making six figures using cheap webcams despite the fact that most people have never heard of them. Pretty much everything Oswalt says in his rant can be disspelled with one of three points: 1) Malthusianism is bullshit; 2) there's lots of culture online that this guy knows nothing about; 3) the 80s are over. The only reason I'm blogging about this at all is because it made me notice something interesting.

There's an interesting and somewhat alarming correlation between culture based on recycling other culture and organized crime. For instance, hip-hop pioneered cultural recycling with its use of sampled beats, grooves, and other elements of pre-existing material. Organized crime features in a lot of hip-hop, both in its subject matter and in its key business figures. Although many in hip-hop decry this correlation or work against it, it's still there. When Jay-Z says "the year's 94 and my trunk is raw," he's not saying he forgot to cook his elephant. He's saying that before he became a multi-millionaire businessman, one of the top entrepreneurs in the world, he made his money illegally.


"I don't sell drugs. No. Hov did that" means "I don't sell drugs any more."

Another form of music which recycles itself relentlessly, rave and club music - where every successful track sees a gazillion remixes, both legal and otherwise, while staggering numbers of records sample other records with no royalties paid - also shows a strong correlation with organized crime. Again, while many in the relevant musical community decry or oppose this correlation, the correlation persists. Many ravers and clubbers use illegal drugs, and those drugs have to come from somewhere.



In Europe, they mostly came from chemistry labs in the former Soviet Union, and in 2000, when the demand for these drugs dried up after a late 90s peak in popularity, the same criminal networks which brought them into Western Europe started bringing in guns instead to make up for their lost profits. (Side note: criminalizing entertainment chemicals creates massive profit incentive for illegal smuggling networks, which makes the criminalization of arbitrary entertainment chemicals a ridiculously dangerous public policy decision in the age of potential suitcase nukes.)

Anyway, a lot of people would argue that music scenes have always had an association with organized crime in our society, going at least as far back as Sinatra's still-unproven links with the Mob, with the Rolling Stones' insanely bad decisions at the Altamont music festival being a prime example (they hired the Hell's Angels, a notorious criminal motorcycle gang, to handle security, and innocent people were killed). So let's look beyond music. For instance, let's look at a web site which hosts more mashups than any other.



In 2007, the notoriously hit-or-miss tech blogger Jeff Atwood wrote that

Virtually everything of interest on YouTube is copyrighted content.

[YouTube's copyright policy] is perhaps the ultimate case of cognitive dissonance: by YouTube's own rules, YouTube cannot exist. And yet it does.


I disagreed with some elements of Jeff's post, but he certainly had a point. Copyright violation played a huge role in YouTube's early days, establishing its popularity; Clay Shirky even claims in Cognitive Surplus that YouTube leapt ahead of the pack of contemporaneous video-hosting startups almost entirely because of the viral video "Lazy Sunday," no longer available legally without a laugh track, due to a combination of NBC lawyers doing their jobs very effectively, and some other group of people at NBC not having the good sense to realize how much better it was without a laugh track.

Sorry, that's just a huge pet peeve for me. It was so much better without the laugh track. Moving on, the point here is that YouTube is another place where you see a strong correlation between remix culture and organized crime. I dig YouTube, no doubt about it, but hosting all that copyrighted content wasn't legal, and it took organization to do it. It is therefore reasonable to wonder if Pop Eating Itself or Everything That Ever Was being available Forever in "geek" culture (Oswalt uses the term to refer to what a programming geek like myself might call otaku culture instead) might correlate with an increase in "geek" (otaku) organized crime.

I'd say the increase in otaku organized crime is already well underway.

Here's an unlicensed, trademark-diluting graffiti Boba Fett t-shirt graphic from a guy who (as I understand it) gets paid for the shirt even though George Lucas doesn't:



Here's MS Paint Adventures dancing on the provocative edge of fair use:



Technically, this unlicensed, fan-made Batman movie is organized crime:



It took organization to put it together, and if it's not licensed, it's not legal. Every single poster Tyler Stout creates for the Alamo Drafthouse theater in Austin, TX might fall into this category too - I'm not sure. I read somewhere that his Scott Pilgrim poster was legal, but I don't know about this Iron Man one.


I have one of the limited edition prints of this, by the way - the rarest one, printed on metal. It's three or four feet tall.

Obviously, the type of organized crime you find in otaku scenes is less alarming than hip-hop, where you have Snoop Dogg bragging about his gang affiliation and his AK-47 and Suge Knight dangling Vanilla Ice by his feet out of a hotel window, or dance music, where the incredibly unreliable safety standards in the black market for drugs results occasionally in people selling stuff that makes your eyes bleed and calling it "Ecstasy."

(Health note: Ecstasy is pure MDMA; pure MDMA does not make your eyes bleed; while I am not advocating illegal behavior, if you make choices of that nature, please remember to avoid buying anything that makes your eyes bleed. Political note: I believe pure MDMA should be legal, and calling stuff that makes your eyes bleed "Ecstasy" should be illegal.)

I talked to some kids in New Mexico who got "bad X" one time at a party and they told me everybody was running around with their eyes bleeding. I decided not to go to any raves in New Mexico, but that's another story, and apparently everything turned out okay anyway, because these were small-town kids and they didn't seem that phased. Either way, it's a whole lot more intense than George Lucas not getting royalties on a $20 t-shirt that isn't even around any more and probably only sold in a very short run (I had to go on Google Cache just to track down the image). By "advertizing" Star Wars, and recontexualizing it as something graffiti kids can consider cool, this shirt in a sense is free advertizing for Lucas, adapting his material for a sub-sub-demographic, so the insidious aspect you might expect to hear with something like "organized crime" isn't really there. There's a fascinating tension between innovators and the law whenever society changes faster than the law can keep pace, and it's covered in fantastic detail in a great book called The Pirate's Dilemma. It's a great read and I totally recommend it.

I have a theory about all this, but I can't prove it. My theory is that the massively multiplayer tribalism in Neal Stephenson's Snow Crash is happening, and remix culture plays a significant role in that, as it establishes multiple communities around multiple interpretations of the same shared cultural history. In practical terms, you might hear wildly variant versions of the same song at your gym or in a warehouse rave; the context becomes part of the cultural product. In the late 90s, tons of kids never heard "Jungle Brother" until Aphrodite remixed it.



Long story short, if Patton Oswalt looks at all this and sees nothing but Keyboard Cat, the man is missing something.

Saturday, January 1, 2011

Ubuntu Is The Rich Man's OS X

I tweeted that I was considering making my next box an Ubuntu machine, rather than OS X. One of the many responses:



This was probably intended as praise, but I think it's actually a very significant mistake, and the truth is precisely opposite.

In 2010, from Feburary to around October or November, I worked for nobody but myself. I went back to working for other people after some painful business fumbles, and of course I'm planning my return to free-range status. As part of this process, I'm doing a lot of research into money management and the experiences of successful entrepreneurs in order to identify my mistakes and put together an accurate post-mortem to inform my next moves.

Dr. Thomas Stanley wrote a pair of terrific and very relevant books. If there's one thing I just don't have time for, it's opinion delivered without research to back it up. Stanley approached the issue of wealth-building scientifically, by surveying large numbers of millionaires.

When he first began, he encountered several surprises. One came when he arranged a small focus group made up entirely of decamillionaires, which is to say, individuals with eight-digit net worth. He and his research team acquired caviar, fine wines, and expensive cheeses in order to make the decamillionaires feel comfortable. It did not make the decamillionaires feel comfortable at all. The first guy there told Dr. Stanley, "I only drink two kinds of beer: Bud, and free." Every single decamillionaire in attendance that day showed up in working-class clothes, driving a cheap, crappy car. None of them touched the fancy cheese.

If I'd read Stanley in 2009, I might still be working only for myself. Here's an excerpt:

I have never interviewed one successful business owner who is not cost-sensitive. It matters little if it's a retail hardware operation, a legal practice, or a junkyard...paying very close attention to expenses is the foundation of productivity.

Stanley found that the overwhelming majority of American millionaires are extremely thrifty. The #1 car driven by millionaires in America, for instance, is the Toyota Corolla. Most millionaires do not drive luxury cars, and most drivers of luxury cars are not millionaires.

In fact, the negative correlation with luxury goods is, in Stanley's opinion, the main reason why most American millionaires have made their wealth in blue-collar businesses rather than white-collar ones. While he has encountered many millionaire lawyers and doctors, Stanley reports that millionaire blue-collar business owners outnumber them by at least an order of magnitude, and he theorizes that the savvy investment which characterizes millionaires cannot happen in the context of an upper-middle-class lifestyle, with the luxury spending and expensive trinkets such a life involves.

This is an awkward thing for me, because I do enjoy my expensive gadgets, and I'm not actually decided on Ubuntu - I might go for a Hackintosh instead - but there's no question in my mind after reviewing the relevant research that choosing Ubuntu over OS X is the rich man's (or woman's) move.

The "private" Keyword Disregards Professional Courtesy

Five years ago (ish), when Ruby on Rails first became an issue for part-time interweb microjournalists to nadger each other about, the arena's 900-pound gorilla was Java. This gorilla's worshippers, to mix metaphors, launched a religious war against the red, jewel-y intruder and its champions. The principal issue in contention: language features.

[picture here a battlefield; an army of coffee-drinking gorillas doing battle with a small, fierce cabal of wizards and pugnacious upstarts armed only with transparent red daggers and exotic magics]

Java, its adherents claimed, was more scalable, not only due to its superior server technologies (which claim had some merit at the time), but also due to the fact that you couldn't make certain types of mistakes. Java was a power tool, an Instrument of Serious Business™, and as such it had safeguards, in the same way that a chainsaw ships with a built-in hand guard to prevent you from lacerating and/or decimating your own appendages. Access control keywords like private, protected, and public, along with the most insanely complex reflection framework known to humanity or indeed any other spacefaring species, prevented programmers from doing any scary "magical" "metaprogramming."

Rubyists countered that it was impossible to prevent bad programmers from fucking up; such restrictions only resulted in a straitjacket which prevented great programmers from doing great work.

Rails saw a huge adoption curve, Ruby went from a bizarre and obscure hobby to an Instrument of Serious Business™ in its own right, and even the fiercest critics of Rails ended up copying its ideas all over the place. Most of us who were around at the time consider the battle firmly decided in Ruby's favor, and consequently consider the larger matter, of programming power vs training wheels, to be an overwhelming victory for the advocates of powerful language features and laissez-faire language design.

But all you young whippersnappers don't seem to remember this. And thus Ruby's own private keyword still sees use, despite the fact that it messes up my code indentation and urinates all over professional courtesy.

We turn now to some ranting from Twitter. Loren Segal asked how on earth somebody was supposed to refactor their code's internals while providing programmers with a consistent API in the absence of a private keyword; I replied that the solution is to simply separate the "private" methods by file and by name, marking them as unsupported and internal, but without enforcing it in the language. Strife ensued.



As with most strife, nothing was resolved. Loren did not change his mind and I have yet to seize control of the Papacy. And so an uneasy tension will persist until the Chosen Day when the the foreign movie that is God anoints me Its Supreme Scribbler of Subtitles. Soon, my brethren. Sooooooon.

In the meantime, I can only rest serene in the knowledge that somewhere out there, in some alternate universe, some Alternate Universe Giles has written a book called Ruby: the Good Parts, and while this book is much thicker than JavaScript: the Good Parts, and much more fun to read, you will not find private on any one of its pages, any more than you would the Perl-y special variables like $:.

"You Should Follow Me On Twitter" Meme Is Cargo-Cult Bullshit

A guy on Hacker News this year A/B-tested phrases to see which phrase got him the highest number of Twitter followers. The phrase: "you should follow me on Twitter here."

A/B-testing is extremely contextual. It is also extremely situational, which is to say, contextual with respect to time. It does not assign causality and it does not have any method to reach blanket conclusions which would apply to any and all users of Hacker News.

If you are wondering what phrase will get you the most Twitter followers, the answer is not necessarily "you should follow me on Twitter here." The answer is to A/B test and find out. Likewise, if you tell people that they should follow you on Twitter, omitting the word "here" - which word was in fact the money shot in the A/B testing guy's analysis - you cannot guarantee a rise in Twitter followers, and you cannot guarantee the accuracy of the statement either. In practice, most people who tell me through the Internet that I should follow them on Twitter are incorrect.

ALSO, any metric of Twitter followers which does not consider who those followers are is an insane and useless metric to begin with.

You should follow me on Twitter here.