I’m not much for resolutions… but I do have some goals for this year.

  1. Start going by Will instead of BJ. I’ve been meaning to do this for years. Decades. Going to do it.
  2. Focus on working with my kids more.
  3. Build a website with Elixir.
  4. Design 2 physical products (maybe a keyboard and a IoT planter, we’ll see).
  5. Finish my many house projects including our kitchen, fixing up the garage and building an armoire for our bedroom.
  6. Learn how to design things in 3D software. This is probably a subpoint of 4.

Lean into it

I’ve changed my mind.

First, let me step back.

For the last few years, I’ve been one of a (growing) minority of folks that has been promoting the idea of going against the grain, and not building Rails apps “The Rails Way”. In fact, I even have an unpublished draft on my blog dated June 9, 2011 called “The Downfall of Rails”. I was pretty sure Rails, as we knew it, was totally over. I haven’t been a proponent of DCI, but I have been a proponent of things like mustache, Isolate, Jammit, and a number of competing (and, I still stand by this, better) technologies. I have been one of those people who might lecture you about service oriented design, how ridiculous bundler is, and how rails isn’t actually OOP and a whole number of anti-Rails things like that if you give me the chance.

Here’s the thing. It’s actually not that helpful.

A good number of folks that read that will say “But we have to have the conversation, it has to start somewhere.” Maybe. But I feel like we’ve had it (many times, the first one being the long nightmare merb merge), and it’s just not worth having over and over again.

There are two points here, that I don’t think can be debated:

  1. DHH doesn’t care.
  2. We all chose Rails because it’s opinionated.

Those are, for better or worse, facts. And if DHH just doesn’t care, and if we choose Rails *because* we wanted opinionated software, these conversations just really aren’t that helpful.

So what am I actually suggesting here? Stop talking about “Proper OOP” and DCI (in rails) and “Objects on Rails” and whatever else falls in this category.

Here’s the deal, if you want to do “Proper OOP” (not that anyone can even agree on what that is), do it. There are frameworks and tools out there. Build something “proper” on Rack. Use webmachine. Webmachine is amazing. It’s a totally different way to think about web software and it’s pretty close to “proper oop” to me. And it’s not trying to shoe horn some idea you got on top of Rails.

But if you’re going to be a Rails Developer™, lean into it. Lets bring the conversation back to what the “Rails way” to do things is and lets grow those ideas. And lets talk about how to move Rails, keeping it’s conventions and opinions, forward. And, importantly, lets just agree that it isn’t DCI and “Proper OOP”. Because that isn’t the future of Rails. That might be the future of Ruby web apps, and that’s great, I hope it is, but it’s not the future of Rails.

Footnote: I’m not against SOLID or clean code or learning from smalltalk or listening to the great neckbeards of the past. Lets do all those things. Lets all be better programmers. I don’t think DCI and it’s ilk is any of those things.

Speaking of Turds (A Technological Term)


I use the term “turd” often when talking about products, either hardware or software but I’m not always sure people know what I mean.

A turd is something your company “has to do”. Sometimes they sink and sometimes they float, but they are always mandatory.

A turd can be polished and it can be of any shape or size, but at it’s core, it’s still excrement.

Turds always come from somewhere. Sometimes, usually the ones that float, turds come from good things. The right things. Things like user needs, innovation, obvious holes in the market demanding to be filled.  Many times, however, turds come from bad places, these are usually the ones that sink (and stink). Stinky turds come from fear, they come from reactions to competitors, they come from “obligations”.

Everyone makes turds. The iPod Touch is a floating turd. Apple was obligated to make it. How could they resist? They’ve sold a ton because of the branding and the apps and the advertising, so it’s a shiny turd, but a turd no less.

Most (all?) of the iPad “killers” are turds. They are reactionary. They aren’t innovations, they are year late catchups powered by software that went from being something new to a turd the day the App Store launched.

The Facebook platform was, in it’s inception, pretty awesome. It’s turned in to a turd through, what I can only imagine has been, some epic bikeshedding,  beauracracy and abuse. I bet Zuck would kill it if he could, but instead he’s “obligated” to keep it going.

I don’t even think turds are bad. Turds can be great. They can be just what a company needs. But lets call a spade, a spade, or a turd.

Summer Has Arrived

Since the weather was so wonderful here in Portland today, my wife and I decided to make fajitas for dinner. Instead of your regular “grill some chicken, fry some veggies” fajitas, I decided to do a version I saw Alton Brown do on good eats.

Skirt steak cooked directly on charcol

The interesting thing here is that I’m cooking the meat (skirt steak) directly on the charcoal. No grill, no foil, no pan, just meat directly to red hot glowing chunk charcoal. This develops and intensely smokey flavor in the meat. You can see there are large areas of “burnt” meat, but it’s not actually burnt, it’s just caramelized and full of flavor. I’ve never had skirt steak so tasty, very caveman, in a good way.

When the steak was done (3 minutes per side, don’t even think about touching it while it cooks, and then let it rest 15 minutes), I put a cast iron skillet directly on to the coals and let it get smoking hot. I put the standard white onion and green/red pepper that I drizzled with a little olive oil and salt and pepper. The skillet was so hot the veggies instantly started to caramelize and you have to stir them almost constantly or you will get a little burning. Cooking the veggies takes less than 5 minutes (definately don’t over cook them) and the flavor is also amazing. If you ever wonder why veggies take so much better in good chinese food, it’s because they cook them super super hot like this. As a side note, if you want to make really great stir fry and don’t have a really nice gas wok stove, this is actually a good way to do it.

Enjoy with a Cascadian Black Ale and plenty of guacamole, preferably on your beautiful patio with your bride.

Twitter Claim Chowder

Today both Microsoft and Google announced partnerships with Twitter for including tweets in their search results. If I had to guess, I would think they were paying for this data. In other words, Twitter just figured out how to make some money.

Remember when Jason Calacanis said he’d pay $250k to be a “suggested” follow and TechCrunch said this was how twitter would make money:

If other companies feel the same way, sellingthese slots could be a lucrative side business for Twitter. At $120,000 a pop, 20 slots would generate $2.4 million in revenues the first year.

And then there was Sam Gustin on Wired.com on 8/04/08 lamenting that waiting to make money was going to hurt them:

Stone’s hesitance to “monetize” Twitter echoes that of other major Web 2.0 companies, such asFacebook and YouTube, whose founders have said they’d build their audience first and find revenue streams later. But those giants have shown that converting eyeballs into money hasn’t exactly been easy; Facebook has yet to start generating meaningful profit, and Google has said on a number of occasions that it has yet to find the right business model for monetizing YouTube’s considerable traffic. Twitter, despite some plans Stone has up his sleeve, may very well find itself in the same position.

Remember when Fred Wilson said that Twitter would make money the same way Facebook would:

I think you have to look no farther than facebook to see where all of this is headed. They are the Google of social media. They are going to figure it out When they do something that works (becoming a platform for third party apps) others will follow in their wake. When they make a mistake (beacon version one) others will learn from that mistake. I am not saying that twitter is going to monetize exactly the way facebook is going, but I think that’s a good place to look for inspiration right now.

Remember when Bernard Lunn (10/15/2008) was complaining because Twitter wouldn’t tell us how they planned to make money? Oh noes:

Twitter is the poster child for the ‘scale first, don’t even think about revenue at launch, monetize much, much later’ model of startup. In the current climate, ventures like that probably won’t get funded. Which is a shame. Twitter is addictive and fun and even occasionally useful. If anybody can pull this business model off, it will be Twitter. It has scale, seem to be moving mainstream and they’ve even fixed their reliability issues.

But Twitter won’t survive if it doesn’t find a great revenue model. This matters to all of us.

So, what now that they know how they are going to make monies?