When this mix came out, I had it on constant repeat in my car for months. It defined the sound of new-school breaks, which soon after took over every party in San Francisco.
I'm a fan of the marketer and business writer Dan Kennedy. One of his rules is "Good is good enough." To see an example, check out Jeff Atwood's latest post on Coding Horror.
The blog post itself is reasonable enough. The important part is just one tiny sentence fragment:
I am stunned, but not entirely surprised
This is of course ABSOLULTELY IMPOSSIBLE. It's like saying, "I was as surprised as is humanly possible, but I wasn't entirely surprised." Or, "I was terrified to the point of near insanity, but I wasn't afraid at all." I would expect that kind of thing from a random sentence generator, but it's kind of disgusting seeing it come from a human being. Atwood's writing is full of this kind of casual disregard for basic semantics, a blatant inattention to the meaning of the words he uses. But it doesn't matter in one respect: his blog is still a very successful blog.
This is a prime example of Kennedy's rule. "Good is good enough" means that if you do everything necessary to succeed, you'll succeed, and perfectionism is not actually necessary. If you combine mediocre writing with a diligent daily schedule and a reasonably interesting selection of topics, you can have a very successful blog. In this post, for example, Atwood fails at words, but he gets his point across anyway, and it's a point worth thinking about. It's not great, but it's good, and good is good enough.
This is why I launched my career coaching program before I had any system in place to manage it, with less marketing build-up than I should have had, less scheduling support, less market research, and no automated e-mail handling at all. A person who loved good business organization would freak out at my haphazard "system" the way a person who loves good sentence organization freaks out when attempting to digest Atwood's muddled "thoughts", but Atwood's blog does really well, and my coaching program is ramen profitable and keeping me afloat without a 9 to 5. "Good is good enough" is really just another way to say "YAGNI."
You've got a Web app to promote. You've already got it on LifeHacker, CNN, and other media outlets. But there's always more people out there who could become customers. What do you do?
One thing you can do: become a reseller of an existing gadget, add your software and your marketing mojo, sell it at the exact same price, and get geeks everywhere excited to give your software a free trial the moment they get their new toy out of its box.
While these guys were building this thing, and struggling to keep it from falling apart, I went from zero to ramen profitable in two months, part-time, with very little effort. For the skeptics, I suppose you could say it took eight months, if you count the six months of studying Internet, affiliate, and information marketing beforehand; or even five years, if you want to include the years of blogging and conference presentations that gathered my audience. The true skeptic would also count the conference presentations as a business expense, and by that measure I'm still a long way from profitable, but on the one hand, the conference presentations helped me get various programming jobs and therefore, in a sense, paid for themselves, while on the other hand, true skeptics are boring people who deny the obvious truth that I was abducted by UFOs several times in the late 70s and early 80s. So fuck those guys.
By the way, on the topic of "fuck those guys", let me just say something. There was a theme on Hacker News of posts arguing against ad hominem attacks. I run afoul of ad hominem all the time. Whenever I say anything controversial on HN or Reddit in the comments, I usually leave more than one comment; a comment that makes people mad will not only get downvoted, it'll lead to the immediate, punitive downvoting of innocent, unrelated remarks. However, I think that's fine. I also think the anti-ad hominem theme was really a bit hypocritical and precious.
Anyway, even given the idea that trolls are people (like Socrates) who make other people get off their asses and think for a change, this is still probably more trolling than I can get away with in one post. So let me wrap up. Ten years ago, as a programmer in San Francisco just before the dot-com crash, I looked around and realized that every business that I or my friends ever got into was complete bullshit (with the exception of the parties and club nights we put on). We were mostly Web programmers, and at the time, the only business making real money on the Internet was porn.
This insight led to an unfortunate period where I decided I should become a pornographer and even embarked on a series of experiments in art-film porn. In some ways I'm very glad that time is over but in a certain sense, it's happening again. In 2001, the only people who really knew how to make money on the Internet were pornographers - the scuzzy, low-class people who everybody else looked down on. In 2010, I have a ramen-profitable business based on information marketing tactics, specifically tactics from Dan Kennedy - tactics that we fancy Web people often look down on and associate with get-rich-quick schemes.
There's something very insane and dysfunctional about how the American class system manifests itself on the Internet. Chances are, if you're on the Internet, and people look down on you and think of you as scuzzy, it means you're doing business and they're building a company which won't last nine months. I think that runs backwards. Before Ruby on Rails, the same dynamic drove language perception: if people looked down on your scripting language and its open source framework, it meant you were writing good code and they weren't. With Rails, I think the battle is long over and the dust long settled, but we've not yet seen an equivalent change in how businesses are perceived.
As a concrete example, I decided I was going to create a complete track, and then promptly stopped working on music at all. It took me two days to notice the connection, and that's with an external reminder system making the fact obvious. In the past, I probably would have struggled with that for two years before I noticed. I'm not even speaking hypothetically here; that's pretty much a real-world example.
Just like with fast-running tests that pass or fail quickly, showing you in real time whether or not your code is any good, the win is immediate response. Since I noticed quickly, it's easy for me to throw away the delay-inducing idea and switch to something new. I had decided I was going to sit down and make a particular type of drum and bass track, in a particular key, with a particular melody, using Archaeopteryx in a particular way. But all that planning now looks counter-productive.
Seeing that the result is across-the-board productivity fail, I'm going to go with something different. My new plan is to develop the next musical idea I like into a complete six-minute track by an arbitrary deadline (Saturday the 27th) and then call it done, one way or another, when that arbitrary deadline arrives. That might work better; if not, I can do another course correction later. In the context of immediate feedback and objective measurement, you can run a lot of experiments. The calendar enables me to catch fail early and modify what I'm doing to eliminate the fail.
For a long time, this would have been very unlike me. I literally just woke up organized one day, after years of being disorganized. Having struggled with scheduling and organization for such a long time, it's downright spooky how easy it's becoming for me. The same is true of my weight loss, but that's a different post. In each case, hypnosis and visualization were a (deliberate) part of the plan, which is where the spooky factor comes in: when you put the subconscious mind on track to make things happen, the things sometimes happen in weird ways that you'd never have thought of. But that's another post, too.
In my Godless Communistcoaching program, one of my clients wanted to know more about producing electronic dance music, and I spent some time teaching him. His initial question was how much theory you have to know to make dance music. It's an interesting question.
Nobody thinks of DJs practicing their asses off and working hard studying theory. The typical DJ image is very different.
It's important to keep in mind, however, that metal guitarists have a similar wild image, and yet they spend a lot of their time idolizing Beethoven. And of course there are plenty of women in dance music who literally occupy more elevated positions than the one in this picture. Always take sensationalistic images with a grain of salt.
I don't go out a lot these days, but when I did, two of the best DJs I knew personally were both very well versed in music theory. One (a woman) had spent years in music school and held a degree in piano. It's difficult to tell with famous DJs, but I do know (for instance) that Sasha has employees who catalog his new music, when it arrives, by key signature. (I think I got that from How To DJ Right.) It's very easy to say this much with absolute certainty: to make good electronic music, you need to understand key signatures, chord progressions, the fundamentals of harmony, and basic drum patterns.
Whether you need any more than that is a judgement call. Given the ready availability of excellent sample libraries, you could probably skate through a lot of production without going extremely deep into music theory, and the areas of theory that you do need will vary by genre. If you want to make trance, experience with harmonic counterpoint will help you. If you want to make jazzy drum and bass, you'll need to understand jazz chords. Neither harmony or chords matter a great deal in techno, however, although of course they don't hurt, but by the same token, the intricate attention to meter and rhythm which is essential to techno might not help you at all in trance.
Something else complicates the question: engineering. You absolutely need some engineering theory, enough to understand analog synths, sidechain compression, frequency ranges, high-pass filters, low-pass filters, how to set up a sampler patch, sound design, etc. When the whole world becomes obsessed with the latest bassline, you need to understand how to make the patch on your favorite synth, if only just to contextualize the fascination.
In fact, this is why I use Propellerhead Reason. Reason models analog synths and a variety of other studio equipment. There's not much distance between learning Reason and learning the equipment that Reason models, but there's much, much less overhead. Many people don't take Reason seriously as a tool (although other people have made chart-topping records with it), but what's fantastic about it is that the energy and time you invest in learning Reason mostly doubles as investment in other studio gear as well.
Anyway, if you want to learn more about producing dance music, you should sign up for my coaching program before prices go up, or just stay tuned, because I think I'm going to have more to say on the subject soon.
Update:Jose Valim corrects me on this: your application being created with bundler is just a default, as with prototype, activerecord, erb and test/unit.
Rumors abound regarding Bundler annoying people in various ways. Before I earn myself a stern talking-to, let me stress that the rumors which abound are indeed rumors, and they may only abound because that's what rumors do. I mean how many times have you heard of a pickle abounding? Rumors abound. The Dude abides. That's how it is.
I haven't used Bundler myself, and Jeremy McAnally says Bundler is awesome. Always take rumors with a grain of salt. All I know is people are talking. I've even seen Bundler cause the odd interwebz skirmish here and there. I hear it changed too much, too fast. I hear it breaks Heroku. I hear it's the best thing since sliced bread. I hear a ton of talk and none of it interests me. None of it means anything.
Bundler is not the only way to manage gem dependencies in the Ruby ecosystem. In fact gems themselves are not the only packaging system in the Ruby ecosystem. The moment I get some spare time, I plan to get in the habit of using Rip, and if everything goes according to my plans, I'm never using gems again in my life after about mid-2010. I just think gems are the spawn of the devil. So I don't give a damn about Bundler, because I don't want to use it either way. I don't care how good it is; in my opinion, its foundation is too rotten to redeem. I hear great things about the OS X Subversion wrapper app Versions, but I'm never going to use it, because I favor Git over Subversion. RubyGems are a Subversion that have not yet met their Git.
(I mean that very precisely. I knew the CollabNet people when they first started building Subversion, back in 98 or 99. I was in their offices, helping them set up furniture. They did the world a gigantic favor moving everybody off of CVS. But there were more moves to make, and Git changed my life. Likewise, RubyGems were a fantastic move for 2003, but theirsunissetting. It's only a matter of time.)
It's ridiculous to see people fighting over whether or not Bundler is The One True Way in the same moment as Rails core wraps up its vast, sweeping, across-the-board transformation, making Rails ORM-agnostic, JavaScript-framework-agnostic, test-framework-agnostic, and templating-engine-agnostic. It's even sillier when the same people who tell you Bundler is The One True Way also drove the transition to a modular and agnostic philosophy throughout every other area of the code base. I'd be very surprised if I saw anybody squeeze that genie back into its bottle. Modular and agnostic means modular and agnostic.
It's in Google's interest to promote their new product. It's also in the company's interest to make the existing customers happy. In a private company charging consumers money for a product, it's easy to see which of these two priorities is more important. In a public company, where neither product is directly tied to the revenue stream, the prioritization will be made internally via an entirely opaque process of corporate politics that has nothing to do with pleasing customers and which places a much higher priority on impressing "journalists" like Mike Arrington, who may have the ability to raise the company's stock price.
This is a special case of the tragedy of the commons, in which the best free product in a company's stable becomes the launch point for many other inferior products which cannot stand on their own. The tragedy of the commons is an economic rule of thumb which basically says that any common property will eventually be wasted in the pursuit of a relatively less valuable personal gain by some member of the group that owns the property in common. In tech corporations, the less valuable personal gains have to do with jockeying for position: whoever is in charge of maintaining the valuable existing property Gmail was less important in the corporate political games at Google than whichever fool "pioneered" the Facebook/Twitter "me-too" product Buzz. The Buzz muppet found a way to shit on the Gmail monkey's project, every Gmail user suffered as a result, and no feedback will make its way back to Google in an appreciable way, because the absence of any economic give-and-take between Gmail and its users means that communication between Gmail and its users about new features and their sanity or insanity is fundamentally one-sided and slow.
The other night I spoke with a member of my career consulting program who lives in San Francisco and actually gets a higher hourly rate than I do. I felt like an idiot and for a few moments wished I still lived in San Francisco. The disgusting spectacle of Buzz pissing on Gmail, the most beautiful thing that Google ever did, has completely eradicated that feeling. Silicon Valley is infested with monsters.
...Sam Bowles and Herb Gintis, two economists, in their work on the American educational system some years back... pointed out that the educational system is divided into fragments. The part that's directed toward working people and the general population is indeed designed to impose obedience. But the education for elites can't quite do that. It has to allow creativity and independence. Otherwise they won't be able to do their job of making money. You find the same thing in the press. That's why I read the Wall Street Journal and the Financial Times and Business Week. They just have to tell the truth.
This beast comes from Cybertron's Paleolithic era.
It's also an art piece by Theo Jansen. That's not a coincidence. All the classic elements of the Transformers story are in place, except for one very important difference: the Autobots and Decepticons are not enemies when the Ark crash-lands on Earth. They're different tribes, but not yet enemies. (And obviously, each tribe has sub-tribes.)
In this alternate version, the Transformers discover that they haven't travelled in space, but in time. Earth sees a Cambrian explosion in pre-living robotics in the very near future. A hybrid world of robots and living creatures persists for some time. Eventually, robots replace all their living counterparts, become alive, and Earth becomes Cybertron.
It takes the Transformers years to discover this, and during those years, a rift develops between the pacifist Autobots and the more warlike, predatory Decepticons. But the gradual divide turns into a sharp split when the scientists Jetfire (a Decepticon) and Perceptor (an Autobot) uncover definitive evidence that Earth is in fact Cybertron. (Which explains the otherwise extraordinarily bizarre coincidence that Transformers usually look like people, when in robot form.)
The Decepticons take the attitude that they can wipe out any and all organic life, and/or pre-living machines, since it's their planet anyway. The Autobots are the tree-hugging hippies in this scenario. Things go downhill from there.
You hear this now and again from advocates of AI in music. But they're missing a very important point. Ask yourself if these people are listening to music alone:
The answer is no. Customizing music to context is a great idea, but an individual human being is the wrong context. What do you think would make more money - a piece of music customized to you at a particular moment, or a piece of music customized to you and your spouse at a particular moment?
If it's you, maybe there's a market. Maybe. If it's you and your spouse, the market is easy. All you have to do is add one person and you have a business model.
There's probably a bright, exciting future for adaptive AI music, but it's not going to be in some autistic backwater of composing music for solitary individuals at particular moments. Like anything else, the technology gets much more compelling the moment it becomes social.
People often rail against spam blogs. Spam blogs never contain original content; they scrape other sites to generate their content. People despise spam blogs because they're parasitic spam.
Last year I built a bunch of miniapps; my favorite was (and is) Hacker Newspaper. Hacker Newspaper never contains original content; it scrapes another site, Hacker News, to generate its content. Hacker Newspaper is parasitic. But I don't know of anybody who despises it.
Hacker Newspaper is an automated repurposer, just like every spam blog, but although it never contributes content, it does contribute opinionated presentation and occasional filtering. Spam blogs look uglier than the blogs they plagiarize; Hacker Newspaper is prettier and more legible than Hacker News. A story on Hacker News which comes from codinghorror.com or techcrunch.com will never appear on Hacker Newspaper, and at the moment Hacker Newspaper also rejects any story about the iPad, because the chatter was overwhelming. In either case, Hacker Newspaper improves on its original.
Spam blogs are scummy things, yet the same tactic that spam blogs revolve around - automated republishing of existing web sites - powers Hacker Newspaper, making it a site I use every day, and which I prefer over its original, Hacker News, by a gigantic margin. The difference is where spammers look to steal stuff, Hacker Newspaper looks to improve it.
When I think about internet marketing, I think about Hacker Newspaper. A technique is just a technique; how you use the technique, not the technique itself, determines whether what you're doing is positive or negative.
Are you a hacker who likes to make music? You know how you feel precise control when you write code you understand, but you have to filter your understanding of your music through oversimplified GUIs which sometimes have terrible UX? I made a series of videos which teaches you how to write music sequencing software in Node.js and CoffeeScript. When I do it, I experience a clarity which makes it easy for me to make more exciting sounds. You may have the same experience. Upcoming episodes will also teach you how to use simple probabilistic artificial intelligence to write code which writes its own music (which I've already done in Ruby).