Sunday, January 31, 2010

Reopening Consulting, With Some Changes

It's Jan 31st and I said I'd launch a new business every month in 2010, so I'm relaunching my consulting program. Prices will rise soon, because things are going well, and there are some other changes on the way, but for now the price is still just $97/month, so sign right up.

Saturday, January 30, 2010

Friday, January 29, 2010

Demand War Crimes Hearings

Several hundred thousand Iraqis -- at least -- were killed as a result of this war, with another 4 million being turned into refugees. As the Iraqi journalist and professor Ali Fadhil put it in 2008, on the fifth anniversary of the U.S. invasion: "basically, my assessment is we have a whole nation called Iraq, now it's wiped out." Contrary to self-justifying conventional wisdom, the alleged post-surge improvement in Iraqi civil society has not remotely mitigated the destruction spawned by the invasion. As The Economist detailed in September, 2009, the U.S.-supported Maliki government is relying increasingly on Saddam-era tactics of torture, censorship, lawless sectarian militias, and brutal punishment of dissent: "Human-rights violations are becoming more common. In private many Iraqis, especially educated ones, are asking if their country may go back to being a police state."

The invasion of Iraq was unquestionably one of the greatest crimes of the last several decades. Imagine what future historians will say about it -- a nakedly aggressive war launched under the falsest of pretenses, in brazen violation of every relevant precept of law, which destroyed an entire country, killed huge numbers of innocent people, and devastated the entire population. Have we even remotely treated it as what it is?


Audiopad is a composition and performance instrument for electronic music which tracks the positions of objects on a tabletop surface and converts their motion into music.

Thursday, January 28, 2010

Hacker Newspaper Makes iPad Links Invisible

This is just a temporary hack until the frenzy subsides. Hacker Newspaper automatically skips any story which mentions the iPad in the title.

All This Will Lie In Ruins

Stuck on the LA freeway yesterday morning, I had a vision of robots run wild on that freeway, killing and eating each other, and realized that the dawn of Cybertron was the death of Earth. If any human ever meets Optimus Prime, it's going to be Charlton Heston at the end of "Planet of the Apes."

The images that overcame my mind's eye were not the next Michael Bay extravaganzzzzzzza (I enjoy Bay's movies, but I'll never be able to fully understand them, because my heart condition prevents me from ever using cocaine) but capitalism's ecological metaphors turned literal.

We all know robot cars will overtake the highways. In around 2003-2005 I ranted and raved about the cost and efficiency benefits of self-driving transportation, as well as how in the future, every car will host a full Internet internally and run on the Google filesystem. That's pretty obvious now, but it seemed like an exciting insight at the time. The question: what happens next? It's only a matter of time before the line between corporations and robots blurs, and people design robots which exist solely to earn money for their owners, and then plug them into software which is designed to discover and exploit new money-making opportunities.

So you combine that with a fully- or highly-automated freeway, filled with self-driving robot cars, and you have two things: a colossal market for spare parts, and an environment in which it is very difficult to enforce laws against theft when that theft occurs between robots at very high speeds. The profit motive, and the relative efficiency of government vs. commerce in the US, will have all the best commercial vehicles moving faster than their law-enforcement equivalents can even monitor, let alone police. The tragedy of the commons dictates that if we have self-driving cars and near-automated freeways, that system's nature as a public resource means somebody will exploit it at the expense of everybody else.

You set a new kind of robot car loose on the freeway which has a few strong robot arms (and strong robot hands) on the front. Maybe some drills, some screwdrivers, and a laser. This car drives as fast as possible, as close to the other cars as possible, without ever causing an accident, just like all the other cars, just like in Minority Report - except it also disassembles the other cars in front of it, stealing parts from them, and if you steal enough parts from a moving car, the likelihood of an accident does in fact start going back up again. You can build this several ways; you can build aggressive predators which completely dissassemble the first car in front of them, then drive right up to the next car in line, take that apart too, and continue until their cargo areas are completely full of car parts and they need to head back to their master's junkyards to defecate profit; you can build nimble specialist robots who steal the same part from every car, never crashing anything; you can build passive parasite robots that attach hooks to other cars and turn their engines off, which will give them a terrific advantage in fuel efficiency, or even more passive parasites which siphon electricity, processor time, and network bandwidth from the other cars for their own economic purposes.

I saw a freeway filled with robots. Robot cars driving people to work; robot trucks transporting goods for sale and raw materials; sneaky parasite robots; huge bulky predator robot trucks, tearing cars apart, throwing car parts into their massive cargo bays, sometimes running over the passengers or throwing them into the churning mass of robot cars, who would part like the Red Sea and otherwise continue at their breakneck pace, leaving the injured passenger an island of stillness in an ocean of transit; higher-end robots, with predator detection systems, running scared off the freeways to the surface streets, gazelle-like in their terror at the merest network sniff of these robot predators and their relentless appetites; and a few desperate law-enforcement robots, struggling and failing to preserve any sense of order or safety in this savage Pre-Cambrian Cybertron of human design, where the profit motive had hit its apotheosis as a proxy for the drive to life itself, and transmuted from a proxy into the real thing.

I didn't realize that the post-apocalyptic robot cannibalism war zone playing out in my mind's eye paled in comparison to the nightmare which our politicans (especially the Republicans) have set in motion. I saw two things last night. In a gas station, I saw the guys who work at the counter there watching a TV behind their counter, listening to the newscasters explain AIG and Goldman Sachs and all the evil trickery behind it. The newscaster mentioned a CEO refusing to even answer questions and a government office behaving the same way, and I experienced a mild shock in seeing the reactions on the faces of these guys behind the counter.

I thought Fox News had brainwashed the world, that it was only us, the enlightened few with our iPhones and our iNternetz, who knew the real story with what just happened with the banks and how bad everybody got fucked. Far from it. Guys who work at a gas station don't make a lot of money. They aren't the iPhones and iNternetz crowd. They know too. The air in that place was grim.

After that, I came home, watched the Daily Show, and found out the real story with what just happened with the Supreme Court and how bad everybody just got fucked. I've been so busy that I assumed the Supreme Court just reaffirmed the demented but very old tenet that corporations are people under the law. I assumed somebody had challenged that and lost. I didn't realize that the Court had granted corporations new privileges which will result in greater political power for corporations and a system in the US which comes even closer to "one dollar, one vote" than ever before.

If we didn't do something to stop this shit, we'd get Presidents who made us think of George W as the last President who wasn't a retard - even though he was. (Molly Ivins link or story) Change Congress has a solution and is appealling to the iPhones and iNternetz crowd in hopes of making it happen, but the odds are against them. The guys in the gas station would support Change Congress if they knew about it, but they don't, and they're not finding out, because class division in the US is high enough that the people who have the money to get the word out aren't paying to do so - they're either assuming the gas station guys of the world already know, or that they're all too ignorant and foolish to help. Wasting the energy that the gas station guys of the world can use to help Change Congress won't spend that energy, however, and that makes riots likely, and indeed even terrorism from disenfranchised, poorly educated white Americans (like Timothy McVeigh).

Obviously, these outcomes are unacceptable. Give some money to Change Congress. Put your name on their petition.

Sunday, January 24, 2010

Clay Shirky's Rant: Fierce Women Are Everywhere (Else?)

Tim Bray did a writeup and link roundup in the wake of Clay Shirky's rant, and this reminded me of something I wanted to say about it: I've maybe seen a shortage of female self-promotion in technology, from time to time, but never in music or in acting. A guy who complains that women just aren't bold or aggressive enough to promote themselves has probably never talked to an actress in his life. Likewise, I follow a bunch of female DJs on Twitter and Facebook, and they're all constantly updating about their projects. They're relentless.

I have mixed feelings about Shirky's rant. I'm generally a Shirky fan, and I know a great book, very relevant, which I can't recommend enough:

Dr. Deborah Tannen, a linguist at Georgetown, has written many other books on gender differences in speech, one of which looks especially relevant. And there's plenty of research that shows subtle variations in communication patterns can cost money and lives.

However, you don't have to look hard to find female self-promotion in tech.

After screen-grabbing DJ Icon promoting her record, I asked myself where I might find an example of female self-promotion in tech. Amy Hoy was the first name I thought of, and the first tweet in her feed fit the bill. Seek and ye shall find!

If I were a parent or a young woman, I know exactly what I would do to solve this problem. I'd favor all-female schools. Girls do better at math and science in all-girls schools, for the same reason boys do better in arts classes at all-boys schools. Gender roles interfere with optimum performance. Create a situation without gender roles, and performance improves immediately. Problem solved.

But that only solves the problem within the limited, controlled environment of a school, ignoring the big wide world outside that environment; and there's a heated debate around whether a problem even exists or not in the first place. I don't want to get into that debate. It's loud, it's noisy, there's no data; it's a recipe for misunderstandings, anger, and wasted time.

Not only that, but Shirky says women should be willing to do anything to get to the top, and he's a middle-aged college professor with a name and great connections. If you're a middle-aged college professor who has the name and the connections to help a bunch of young, college-age women in their careers, and you're encouraging those women to do anything they can to get to the top, that's just the type of conversation which could go badly. So I'm going to hold off on saying anything more.

Consulting Program Working Well So Far

I have a consulting program for programmers who want to have great careers. The program's only been in action since December.

One of my consulting clients was worried about his education; he got an internship with a superstar programmer. Another wants a better job; he has an interview next week with one of the coolest companies in the world. Another wanted to deliver a great presentation, and from what I hear, he did exactly that, just the other day.

I can't say more than that, and I can't take credit for these accomplishments, and of course the typical response is far less dramatic - the typical response is "thanks, this is worth doing, let's do it again" - but it's still good news.

If you're interested in joining, I closed the program for the holidays, and I'm too busy to reopen it right now. Maybe next weekend; maybe next month.

Saturday, January 23, 2010

Graphing Affiliate Sales On Clickbank With Ruby

Here's my recent affiliate sales on ClickBank. I'm not yet a gazillionaire.

I've got two sites selling two ebooks, and I wanted to know which ones were making me money (relatively speaking). I hacked some code to generate this graph:

Here's the code (on GitHub).

It's extremely hacky, and obviously the graph lacks a lot of useful context, but it paints a very clear picture of which of my two sites is doing better than the other. Even in its current, crappy hack status, it's good enough to get the job done, and in a few months' time, if I start selling a few more products on ClickBank, this little script is going to prove very handy. All I need to do is add date labels and I've got something I can cross-reference against Google Analytics.

Genius: A Tool To Deceive And Slaughter

This object perpetually attempts to sell itself on eBay.

archival pdf | live auction

Thursday, January 21, 2010

January AI/Machine Learning Wishlist

Apropos of the last link, I actually forked an NLP project written in C at Carnegie-Mellon and put it on GitHub last year. I don't know C; I just made a tweak or two to make it easy to install the Ruby library which accesses this C project. I needed the library for a project to detect coherent comments on YouTube, which as many people realize is an epic needle/haystack problem.

I solved this problem, but I did it in a very hacky way. I had read just enough NLP to make me dangerous. I used Ruby-LinkParser to count the number of linkages in the link grammar and then simply set a threshold minimum, below which all comments would be considered incoherent. It wasn't really a measure of sentence coherence as much as sentence grammatical complexity, but on YouTube - where most "sentences" fail to contain even one linkage, or indeed one word of actual English - it came close enough to get the job done.

A sentence like:

It is, upon reflection, a discovery which could, under some circumstances, but not all, prove useful to other programmers and to other projects.

has many, many more places where a grammatical fragment links to another grammatical fragment than does a sentence like:

omg lol

We kicked around the idea of using Bayesian classifiers for this project, but I steered the discussion away from that approach as far and as fast as I could. I don't know Bayes inside-out, but I do know a researcher who worked on some of the top Bayesian research out there, and I have it on very good authority that Bayesian networks require a lot of data to deduce even the simplest, most obvious correlations.

Peter Norvig, the Google scientist who two fantastic books on AI and Lisp, is so into Bayes that he's popularized the "philosophical Bayesian" viewpoint. At a company like Google - which has more data on its hands than any other non-human entity has ever had in the known history of the planet - it's probably very easy for probability to become that magic hammer which makes every problem look like a nail. For example, many people have read Norvig's brief and powerful explanation of how it's easier to write a spellchecker around probability than is to write it around a dictionary.

However, if you've noticed that Google has in the past few years gotten less useful, it's because they lean too hard on Bayes and other probabilistic methods. Try googling "-background CSS" and finding a search result with the string '-background' in it. Even if you set the advanced search options to "this exact string" it won't happen. The probability that you typed that dash by accident is so much higher than the probability that you meant it literally that Google doesn't bother telling you - especially since the probability that you literally meant "this exact string" when you requested it is actually lower than the probability that the little dash was a typo. The result: Google's useless if you need to find an unusual string which is very similar to a much more common one.

I didn't want to write this YouTube coherency detector around probability, partly because we weren't dealing with a Google-style volume of data, partly because a system which requires lots of data to draw conclusions is never going to be able to draw conclusions about coherent YouTube comments because lots of coherent YouTube comments don't exist - only a few exist - but mostly because the problem space had literally nothing to do with Bayesian classifiers or what they're good at. I was able to get the desired result with a totally ghetto hack because I had spent a lot of time before that reading about AI and machine learning. Totally ghetto hacks can get you a long way in AI, as long as you know where and when to use them.

Anyway, I love AI, so I can't get wait to get these books, but one word of caution: getting into this type of programming can make everything else look kinda petty and stupid.

Some links in this blog post are affiliate links, which pay small sales commissions.

Sunday, January 17, 2010

Will Smith

Saturday, January 16, 2010

Great Article On Tribal Mountain Runners

Last year, a 32-year-old Seattle physical therapist named Scott Jurek pulled off a stunt that was, by conventional thinking, just this side of impossible. First, he won the Western States 100, the most prestigious and hotly contested ultramarathon in the world. Two weeks later, Jurek descended from the freezing mountains to Death Valley, one of the hottest places on the planet, and not only won the Badwater Ultra, but broke the record, racing 135 miles in just over 24 straight hours in temps that were north of 120°F.

Judging by Olympic marathoners, who take at least 4 months between races, or pro football players, who get a week's rest for 16 minutes of on-field time, there is no way Jurek's wasted muscles should have been able to rebuild that fast. But they did -- and without a speck of animal protein to help. Since he went vegan 8 years ago, Jurek has won Western States an astounding 7 years in a row.

Quote comes from page 5 / Article begins here

Thursday, January 14, 2010

Let Over Lambda: Can't Fucking Wait

I'm so looking forward to reading this one, I can taste how good it's going to be.

Let Over Lambda on Amazon (affiliate link) / Read several chapters free

Wednesday, January 13, 2010

Variable-Interval Reinforcement Schedules FTW

Ever since I discovered Twitter, I've been trying to stop using it. I've redirected it to in my hosts file, placed special anti-Twitter admonitions at so I would see them, plus declared brief Twitter diets and Twitter fasts. With Reddit and Hacker News, it's worse. After getting nowhere with hosts-file bans, I've deleted accounts, thrown away passwords, and deliberately antagonized entire userbases.

All to no avail (or, at least, all to less avail than I wanted). I'm still on all those sites, still frequently annoyed by how little value I actually get from them, and still struggling with a ridiculous, useless addiction to the Reload button.

However, I think I've accidentally discovered the cure.

A while ago I read this interesting article or blog post which claimed Twitter "addiction" might actually be a true addiction. It compared constantly checking Twitter (and Facebook, e-mail, etc.) with repeatedly pulling the lever on a one-armed bandit in Vegas. I haven't found the exact article, but here's one of the variants:

Dr Tom Stafford, a lecturer at the University of Sheffield and co-author of the book Mind Hacks, believes that the same fundamental learning mechanisms that drive gambling addicts are also at work in email users. "Both slot machines and email follow something called a 'variable-interval reinforcement schedule'," he says, "which has been established as the way to train in the strongest habits. This means that rather than reward an action every time it is performed, you reward it sometimes, but not in a predictable way. So with email, usually when I check it there is nothing interesting, but every so often there's something wonderful - an invite out, or maybe some juicy gossip - and I get a reward." This is enough to make it difficult for us to resist checking email, even when we've only just looked.

I remember at the time that these stories were circulating, I wrote something down as a note to myself - instructions to find a way to leverage this addictive pattern into doing something profitable over and over again. Then I forgot all about it. But these days, I'm checking Clickbank and Amazon's affiliate program site pretty regularly.

I've blogged about Clickbank and Amazon's affiliate programs before, so I won't go into too much detail. Long story short, both are web sites where I could be making money, and both are web sites which I check often, and both are web sites where I sometimes am making money and sometimes am not. That's a variable-interval reinforcement schedule, the same phenomenon that Twitter kicks my ass with, but put to a more obviously useful purpose.

It's too early to say, but this might be the cure for Twitter. I might be able to transfer the reload-button habit from one site to another one - one which moves at a slower pace, produces less blog wars, and makes me some cash. It's kind of like if methadone were made of vitamins. You not only shift your addiction to something much safer, you also get a great side effect.

Tuesday, January 12, 2010

Live-Coding VST Plugins With JRuby

The Steinberg VST API is supported by virtually all professional audio applications on Windows, Linux and Mac OSX...

Opaz PlugDK is an experiment that allows you to develop VST Plug-ins using the Ruby language (via JRuby)...The plugin reloads instantly when a file is changed, e.g. code changes are audible immediately.

It also comes with an IRB console ... [and] wraps the VST API in a very nice DSL.

BTW: Sorry for the stuttering audio track. The screen-recording software ate most of the cpu cycles on the machine I was using to record.

Opaz PlugDK Demo

Doing Is Real; Being Is A Social Fiction

The other day someone sent me an IM and thanked me for my open source contributions. They then said something about wishing they had my gem/code creation talents. I didn’t miss a beat and informed them that I have no talent.

It is true. I have no talent. What I do have is a lot of practice.

Taking Pictures Is Still Against The Cops

Not against the law; just against the cops. It opposes the existing systems and is guaranteed to continue doing so for some time. Saw it on Hacker News today; blogged it two years ago.

Monday, January 11, 2010

What Are We? Listen To Francis Hwang at CUSEC

(btw, CUSEC is a fantastic conference.)

Saturday, January 9, 2010

Liking A Lot Of Structure

Somebody said about me the other day "I think Giles is a person who likes a lot of structure" and it just floored me to hear that. I could name countless people whose minds would just boggle at that statement, because at many, many times, it would have been an utterly inaccurate characterization.

But it's actually become true over the last few months. I turned into a hyper-organized person almost overnight and I still can't totally explain it. Here's an attempt.

The missing link: I hypnotized myself to become organized. I actually have pretty great training in hypnosis. It's a long story but for many, many years, hypnosis was my primary interest, and I studied in great detail under great teachers. So I combined hypnosis mp3s with a process of visualization, plus I did a bunch of reading here and there on time management. And then, I just woke up organized one day.

My research indicated that forming habits is essential to becoming organized. So I had started a few systems with the idea of establishing better habits, and pretty much the moment those systems became habits, the habits took over. Not only did my self-organizing efforts go on autopilot, but I began doing other organized things as well.

The funny thing is that I planned this, yet it surprised me. The particular details surprised me, and the speed and intensity with which it happened surprised me more, but I knew about the general principle and so I expected some results of that nature. The hypnotic perspective on human consciousness is that the brain is essentially a giant pattern recognition machine. Actually, this is the perspective of a particular school of hypnosis, filtered through my mind and translated into geek-friendly terms. Anyway, the point is, with your conscious mind you can choose a thought or an action, but most of your thoughts and actions come automatically from your subconscious. But since your brain is basically just a pattern recognition machine, if you choose the same thought or action over and over again, your brain turns that into a habit. This means that "reprogramming" yourself is very easy. All it takes is repetition.

A lot of people might say you have personal characteristics and you have habits, and these are different things. This perspective on hypnosis says that a personal characteristic is nothing more than a very firmly established abstract habit which your subconscious mind generalizes across many different particular behaviors. Since your brain is just a very powerful pattern recognition machine, all you need to do to cultivate a new abstract habit is adopt more than one concrete habit which expresses the characteristic that this abstract habit will become. To put it another way, all you need in order for you brain to generalize an abstract habit across different particular behaviors is create a few concrete habits which it can generalize that abstract habit from. If you do it that way, your brain does all the work for you, and it's easy as π.

To put it another way, a personal characteristic is an adjective describing a person. Establish a few habits which that adjective can also describe, and the powerful, always-on pattern recognition mechanism that is your brain will automatically discover that characteristic as a commonality and apply it to all of your behavior across the board. This is what happened to me, and even though I understood the theory behind it, it still surprised me.

Every morning, now, I get up early and start going through a schedule created the night before and/or a checklist I've been running daily for months now: make music every day, do a hypnosis mp3 every day, work out every day, clean something every day, make some money every day, etc. I blogged this before in more detail; here's an image from that post.

I use a ruler now, so the lines aren't so squiggly, but it's the same basic system. Horizontal lines happen every day. Vertical lines happen every week. This week serves as a pretty good example, actually, because you can see the checklist is incomplete more often than not. That's fine; I still get way more done every day than I used to. I used to have a vague goal of doing the dishes more often; now I have a specific goal of doing one cleaning thing of any kind every day. I don't usually hit that goal. I get to mark that off the checklist about once or twice a week, on average, but I still live in a much cleaner home as a result.

Here's a daily checklist, from my organizer:

There's definitely a lot of structure in there. When I'm going to floss, what I'm going to watch on TV, when I'm going to watch it - it's all planned ahead. An X means it didn't happen, a check mark means it happened as planned, and a time next to it means it happened but at a different time. Things almost always happen at different times from when I planned them, but they also almost always happen, period.

(This day's also a little unusual in that a friend got a screening copy of Sherlock Holmes, so I changed the schedule to go see it at their house, but then they had to change their schedule to mail something to their agent or something.)

The fact that I schedule when I'm going to floss is actually a pretty great example. I used to never even brush my teeth. A dental hygienist told me I had to floss every day, and explained how to do it right. I tried and it really hurt. That plus my bad habit of not even brushing my teeth every day meant flossing just wasn't happening at all. This was when I was a teenager or something like that. More recently I decided it was high time I started flossing every day, but I didn't want to deal with anything that hurt, so I figured I'd just start doing it wrong and have a dental hygienist show me the right way later. It'll be a lot easier to switch from doing it wrong to doing it right than to switch to doing it right from not doing it at all.

This attitude, where I value creating habits over getting results, produces much, much better results than any of my past efforts at getting organized, all of which have emphasized results.

Anyway, the other reasons flossing is a good example are because it's so silly to schedule an appointment in your calendar with yourself about flossing, and because it's so different from the chaotic way I've managed my time in the past. That will probably fade from my calendar at some point, but probably not until long after it's faded into habit - which is the real point of the whole exercise.

Also, it might seem silly to care that you missed your flossing schedule by 10 minutes (or whatever) but it's actually incredibly useful information. If you want to schedule your time, you need to know how long it takes you to do stuff. As obvious as this is, if I recall correctly, no time management system I have ever read has ever addressed it except mine (and one other). I'm not writing down the times to punish myself or because the times themselves matter; the goal is to acquire dependable, concrete data on how much time I actually need for breakfast every morning (for example). The schedules I make these days are much, much easier to follow than the schedules I started with a few months ago. Since they contain self-correction mechanisms, it's easy to make them better.

Friday, January 8, 2010

LTJ Bukem Dubstep: Saw It Coming

Seriously, I was waiting for this to happen. Didn't know how cool it would be, though.

Thursday, January 7, 2010

Note To Self: Basslines Hack

Here's how you do basslines without having to bother with Markov chains. Notes have their own probability matrix. Basslines have arrays of notes. For the first pass, you just take the average of the note array, and use that number as a weight on your lynchpin number which drives the note probability matrix. You could even make a matrix of weights; for instance, you're in G, every time you add a G to the array, you decrease the probability of hearing that root again, and increase the probability of hearing the 5, the 7, or the 3.

A hack like this is not going to replace Flea with robots, but what it can do is give you automated bass lines in a weekend.

Wednesday, January 6, 2010

Two Internet Marketers I Love

I've been getting some weird demented hate about my affiliate links, but here's the thing you've got to get: if you spend enough time studying programming, you're going to reach a point where none of the available work is as awesome as the projects you create for yourself. This is because the only limit on what a programmer can do is that programmer's imagination, and the uninformed imaginations of people who don't understand code include arbitrary limitations that are irrelevant in the informed imaginations of people who know for a fact exactly what they can and can't do. So any programmer who takes it upon themselves to get good is going to hit this event horizon where nobody can ever give you a project half as good as the projects you'll think of.

I think that's probably already true for DHH, for Chris Wanstrath, for Evan Phoenix, and for basically every other programmer operating at that same level. Two out of those three guys I named as examples have their own profitable web apps, and the third, Evan, has a great company backing his open source project. Pretty much everybody at that level gets paid to work on what they want to work on. They solved the "nobody can give me better work than the work I think of" problem by making their work profitable. But what do you do when profitability is harder to attain? For instance, when you create a music AI that nobody will pay you to work on, but which is more awesome than any available work anybody in the industry could offer you?

If you're me, you go back to the drawing board and you come up with Towelie, my repetition detector for Ruby which (unlike Archaeopteryx) has obvious commercial usefulness - a tool to clean your code - and which (like Archaeopteryx) leverages some stuff from the world of AI, does a few very impressive tricks, and is complete only in proof-of-concept form. Then you sit down to do the math to figure out how long it'll take you to turn Towelie into a profitable automated refactoring browser which runs on the Web and uses statistical AI to data-mine existing Ruby projects on GitHub.

Then you say, "fuck that, this shit is going to take for fucking ever," and you decide that you need to learn a little about business models.

I've spent several months researching the hell out of business models, and my favorites come from three Internet marketers: Chris Rempel, Eben Pagan, and Russell Brunson.

I've already blogged about Chris. He's in affiliate marketing. For information products, you should start with Eben, and then go on to Russell.


Watch these videos.


Now watch this. Russell's got an awesome business model. Probably the best. Check out this video. It's an hour and it's absolutely worth it.

Tuesday, January 5, 2010

Submit Proposals For MtnWest RubyConf and LA RubyConf!

LA RubyConf

MountainWest RubyConf

I went to almost every Ruby conference in the country in 2008, and a couple outside of it. MountainWest RubyConf was one of the best, with great talks and a palpable excitement in the hallways. I skipped all conferences in 2009, just exhausted beyond words, so I missed the first LA RubyConf, but I heard great things, especially about flying robots.

Both these conferences are coming up soon - Feb 19th/20th for LA RubyConf, and Mar 11-12 for MountainWest - but there's still time to submit talk proposals if you're quick. I did so today. You should too!

LA RubyConf

MountainWest RubyConf

Monday, January 4, 2010

Hooker With A Penis

Somebody called me a sellout on the Internet. I hear the solution for that is to say "hooker with a penis." I'm not superstitious or anything, but hey, just in case, hooker with a penis.

Anyway, the sellout thing was due to my affiliate links, which make me money when people buy stuff. So I figured I'd give everybody a peek into my Amazon shopping cart, in case you wanted to buy something and just couldn't make up your mind what you should buy.

I have four books on the way from Amazon:

How To Get Control Of Your Time And Your Life

The Jewish Phenomenon

The Art of Mackin' (10 Year Anniversary Edition)

No BS Business Success In The New Economy

Amazon affiliate links paid for all these books, so thanks loyal readers for your lucrative ADD. Keep clicking every random link you see, because you never know, there might be something cool.

Sunday, January 3, 2010

Tired Of People Hating On Avatar

Storytelling risks are for movies that don't require $237 million in upfront development costs. You try telling an investor you need $237 million so you can take risks with new technologies, methodologies, AND storytelling. "I need $237 million. You might get some of it back." People who give other people $237 million don't like to hear about storytelling experiments - especially not from people who are already doing huge experiments with those millions in other areas.

People who blaze new trails open up opportunities for others to do better. If you think there's a better movie to make with 3D sci-fi, believe me, there are people all over Los Angeles who would do anything to get behind you if you can really make it happen.

You may or may not care, but from here on in, you criticize Avatar, I unfollow you. To paraphrase why the lucky stiff, make a better movie or shut the fuck up. Life's too short for any third option.

(why, of course, said it in a much nicer way: "when you don't create things, you become defined by your tastes rather than ability. your tastes only narrow & exclude people. so create.")

How To Do Your Laundry

I made a video explaining how to do your laundry. I was wearing a Hashrocket t-shirt. This is because I am a huge fan of Hashrocket. Also because I had just woken up and I use conference t-shirts for pajamas and for working out.

In this video I explain my amazing system for doing my laundry. Also for some insane reason I refer to my cleaners as "a place that does free laundry." By "free laundry" I mean "you drop the laundry off and pick it up a week later, and you don't have to do anything but give them money." I have to admit this is a pretty unusual definition of "free." However, I had just woken up. (Also, they usually have it ready a few days later, but I prefer to just pick up at the same time I drop off.)

Despite the total inanity of this video, I think it might be useful to some of my viewers, especially the young, single programmers fresh out of my college, many of whom seem to need to learn about laundry.

More information about the sysadmin time management book here. And yes, I really did need to read a book on time management, optimized for programmers and sysadmins, in order to figure out that I should do my laundry once per week.

Seriously, though, you do it on a regular schedule in a way that requires minimal effort and mostly consists of paying somebody else to do it - this is actually a great way to do almost anything.

Affiliate Marketing, Links, And Silicon Valley

A guy wrote a blog post which drove 535 visitors to Amazon, and he got $25.20 for it.

My blog post drove a lot of value to Amazon that is not totally captured by the 40 purchases...or even the 118 transactions that were done by those visitors in the past two days. The value of that link, in my opinion, is significantly greater than $25.20 and as a result bloggers and other users of affiliate services are getting undercompensated for the value they are providing.

He then brings up research that shows repeat viewings sell things.

Caterina Fake, in the comments:

This is why all the money goes to Google and whichever sites can position themselves in the last moment before a purchase is made, at the end of that process...

The "introducing" sites are not being tracked or compensated at all. But companies that are able to figure out which those introducing sites are, and spend their advertising dollars on those sites will have a significant advantage over sites that are spending most of their SEM dollars with Google not knowing the original referrer was AVC. They might find that advertising on cNet -- or AVC-- brings in more actual new leads than Google.

And some other tech blogger responded:

100% correct...

Big problem, and big opportunity for those who can figure it out!

Yes. Those who can figure it out have a huge opportunity. Especially those who can figure out that this is already a solved problem.

Some links in this post are affiliate links, which pay small sales commissions.

Reiterating Caterina's initial comment:

all the money goes to Google and whichever sites can position themselves in the last moment before a purchase is made, at the end of that process...

The solution to this is simple: you position yourself at the last moment before a purchase is made. There's a whole business model around that. It requires very little effort. (I've only made $25 with it myself so far, but it's a tiny side business, I just got started, other people have made a lot more, $25 is more profit than many startups ever see, and again, it requires very little effort.)

You'll never hear about this business model from any other tech blogger but me - it's cheesy, it's cheap, it's not prestigious, VCs can't invest in it, people at Silicon Valley parties don't think it's "cool", nobody in a sweater vest will ever care, and in short, it's not good for anything except making money - but it's really this simple: these Silicon Valley people are talking about the brave exciting future we're going to live in when somebody solves a problem that has in fact already been solved.

Caterina's referring to the process of learning about a product, hemming, hawing, thinking about it, and then finally googling it and buying it. This business model captures and harvests that traffic.

Back to the rest of Caterina's comments:

The "introducing" sites are not being tracked or compensated at all. But companies that are able to figure out which those introducing sites are, and spend their advertising dollars on those sites will have a significant advantage over sites that are spending most of their SEM dollars with Google not knowing the original referrer was AVC. They might find that advertising on cNet -- or AVC-- brings in more actual new leads than Google.

The original poster started things off talking about a blog post where he reviewed a book and included an affiliate link to Amazon. But here, Caterina's talking about paid advertizing, which is a completely different animal. Also, the whole argument here is that you're better off advertizing on the site which introduces a product, but doesn't lead to a person buying it, than you are advertizing on the site which leads to a person buying something, but doesn't introduce them to it.

I don't understand that logic at all. Do you want people to hear about your product, or buy it? Why would I be happier buying a mention than a sale? I think Caterina's reasoning is incorrect. You save paid advertizing for the venues that bring in sales. You set up affiliate programs because they sometimes work and they cost you nothing. Caterina's reasoning that the advertizer gets more bang for their buck has nothing to do with affiliate programs; affiliate programs have no bang-to-buck ratio in any case, because the buck is zero. You can't divide by zero.

Last but not least, as far as I can tell, all this reasoning is meaningless, because when I make affiliate sales on Amazon, lots of people buy things that are totally unrelated to what I'm blogging about. I suppose that means it's not even about the product you refer, it's about driving traffic to Amazon - but I'm not sure yet, and I don't care. Amazon affiliate sales are like looking at a picture of a puppy, apropos of absolutely nothing. It doesn't have to make sense to make you happy.

PS: If you're a subscriber to my paid, private blog, I'm going to give you a rundown of how I'm doing with this business model. (If I don't remember to do it soon, please nag me about it.)

Saturday, January 2, 2010