Category Archives: PSA

It’s Official, ML4ALL 2019, Machine Learning Conference 4 All v2!

It’s official, we’ve got dates and tickets are open for ML4ALL 2019! Our CFP will be open in a number of hours, not days, and I’ll do another update the second that we have that live.

What is ML4ALL?

ML4ALL stands for “Machine Learning for All“. Last year I enjoyed working with Alena Hall, Troy Howard, Glenn Block, Byron Gerlach, and Ben Acker on getting a great conference put together, and I’m looking forward to rounding up a team and doing a great job putting together another great conference for the community again this year!

Last year @lenadroid put together this great video of the event and some short interviews with speakers and attendees. It’s a solid watch, take a few minutes and check it out for a good idea of what the conference will be like.

Want to Attend? Help!

Tickets are on sale, but there’s a lot of other ways to get involved now. First, the super easy way to keep track of updates is to follow the Twitter account: @ml4all. The second way is a little bit more involved, but can be a much higher return on investment for you, by joining the ML4ALL Slack Group! There we discuss conference updates, talk about machine learning, introduce ourselves, and a range of other discussions.

If you work for a company in the machine learning domain, plying the wave of artificial intelligence and related business, you may want to get involved by sponsoring the conference. We’ve got a prospectus we can send you for the varying levels, just send an email to with the subject “Plz Prospectus”. We’ll send you the prospectus and we can start a conversation on which level works best for your company!


ML4ALL is a conference that will cover from beginner to advanced machine learning presentations, conversations, and community discussions. It’s a top conference choice to put on your schedule for April 28-30th, pick up tickets for, and submit a proposal to the CFP!


DevRel Data: Presentation & Deductions

Before diving into conclusions, let’s take a look at some answers to questions asked. This is a slice of answers, with totals for the charts and such. After a few months of answers I’ll have another follow up to see how things may or may not change.

Do you like video material?


What specifically do you, or would you like to watch in video? Screencasts, short videos, conversational, or some other type of videos?

  • Screencasts/tutorials
  • I love both screencasts going through big topics and short videos that cover smaller tips and gotchas.
  • Videos with a specific outcome as the goal, whether achieved or not. Showing the process of something.. like hey, here’s how you building out a Postgres cluster using streaming replication and repmgr and pgpool… Kind of thing.
  • Bite sized content, maybe 2 minutes, to teach me one thing.
  • Editing. No jokes, no “hey what’s up guys” with 60 second intros. Discuss the problem, then solve it.
  • Demos, learning a new way of doing something
  • Doesn’t matter short or long, but has to be deeply technical with code examples that I can actually apply
  • I watch videos mostly for fun.
  • Screencast
  • Short videos of say 5-10 minutes each covering different concept of the subject matter
  • (videos work best in a classroom setting where time/attention is precommitted, or as part of a tutorial)
  • conversational
  • Short videos.
  • If it’s too long, it ends up on my todo list forever (not good). So shorter is better. And something that benefits from visuals, rather than something that could just be written.
  • I also watch LinkedIn Learning when just starting a new tech. to get a general overview and pick up a tip or tow, then I read books and the Internet from there.
  • short videos

What kind of written material do you like?


Do you like other material mixed in that details the reason for the tech, the story, or such?


Is there anything that comes to mind, that you’d like to have me or the team I’m working with (@ DataStax) put together that you’d find useful, entertaining, or related.

  • Place priorities on designing materials for more depth (i.e., more linked material) as well as less attention-nuisance. That’s no criticism of your work, merely the gestalt of where we work — so less noise is a better way to stand out and make materials useful.
  • Maybe focus more on written material – code & architecture material (books, articles) rather than videos and twitch. It is much easier to consume and is easily googlable. Also I’d suggest making blog posts target a specific common issue or question – sometimes I see posts that I don’t really care about or the problem is so narrow that I don’t want to read about it. I’d read about building resilient and highly available architectures in various configurations.
  • Database reliability, scalability, migrations and such stuff is interesting.
  • Anything to do with machine learning.
  • Data model examples, starting up a Cassandra node, configuring YAML, etc


I’m going to go backwards through the questions and discuss what I’ve deducted, and in some ways what has surprised me among the answers!

First there’s the “Is there anything that comes to mind, that you’d like to have me or the team I’m working with (@ DataStax) put together that you’d find useful, entertaining, or related.” request and questions.

The answers here didn’t surprise me much at all. Within DevRel from Microsoft to DataStax to Google to many other organizations we have this ongoing battle between “write a whole book on it” or “make it 2 minutes short”. It’s wildly difficult to determine what format, what timing, and what structure material needs to be in for it to be most useful to people. So when I saw the answer that reads, “Place priorities on designing materials for more depth (i.e., more linked material) as well as less attention-nuisance.” I immediately thought, “yeah, for real, but ugh…” it’s difficult. However, I’m working on more thorough material, some of it will be paywalled via LinkedIn Learning or Pluralsight and other material may be available by book in the coming months. But there will be other material that will indeed be long form how to material on how to really put things together – from scratch and from the basis of “we have X thing and need to hack it so we can add a feature”.

The next answer I got in this section that I completely agree with is increasing the focus on written material. I’m making tons of video, and I’ve got that down to the point where it’s actually easier and faster to do most of it then it is to write things down. However I realized, especially from my own point of view, that written material actually ends up being vastly more useful than video material. That’s also why, even with the video material, when I’m covering specifics I aim to provide a linkable timeline and a blog entry with the code and other changes shown in the video. Thanks for reinforcing these efforts and giving me that indirect encouragement to make this process and the results even better. More written material is on its way!

As for the database reliability, scalability, migrations, machine learning, data modeling, Cassandra node starting, and all that it’s in the queue and I’m getting to it as fast as I possibly can.

Next question I asked is, “Do you like other material mixed in that details the reason for the tech, the story, or such?

It appears, albeit not a huge contingent of people, some people are curious about biking, train coding, and making good grub! Hey, that’s groovy cuz I’ve got a show coming out which is basically the behind the scenes videos about all those topics that make the coding and technology hacking possible!

The one outlier in this set however is clearly the request for “Ways to simplify life to dig through those algorithms faster, easier, better?” which I didn’t suspect would be any different then the other answers for this questions. Which left me surprised and ill-prepared on what to do about fulfilling what is clearly a demand. I’ll have to up level my blog posts around algorithms. I did do a couple a long while ago now in “Algorithms 101: Big Sums” which I completed in Go and another I wrote up “Algorithms 101: Roads & Town Centers” which I have 90% of the answer complete but I’ve never finished the blog entry! I guess it’s time to get the algorithm train coupled up and ready to depart!

Then the question, “What kind of written material do you like?

Two options lead by a healthy margin for this question: Demos w/ Write Up and Blog Articles. With this coupled up to the first question it’s clear that written material via blog and demoes via blog should and ought to be top priority. They are, however they’re a whole helluva lot of work, so I only get them produced but so fast. Got some gems coming on Go, Bash, Cassandra, and a few other demo, tech, and historical information.

Next up was single page cheat sheets and documentation, followed closely by books. I kind of expected documentation and books, but wow that single page cheat sheets option is higher rated than I would have suspected and by proxy I’ve immediately added that to my produce this type of material list! I put it in as a very secondary thought but it’s going to get into that increased focus queue.

The last one with some semblance of demand is pamphlet size short form. This one almost seems like a fluke, but I’ll ponder putting together some of these. I know O’Reilly has their short novelette size books which cover a particular topic. They hand these out for free at conferences and seem pretty solid. Maybe I’ll work one of those into the queue? Maybe.

The other three options scraped by with 1%, so somebody was choosing them. So the vi mug isn’t a priority nor the short explainer videos. Which seems in contention with video content demands around shorter content. I guess, explainer videos just doesn’t sound useful!

The next question I just put together a top three of the results, “What specifically do you, or would you like to watch in video? Screencasts, short videos, conversational, or some other type of videos?

  1. Make screen casts.
  2. Make screen casts generally short.
  3. Make screen cases that are short and on a specific and deep dive into a topic.

This seems kind of in conflict with itself, but I’m going to aim for it and try to hone the skill further. So that I can produce screen casts, screen casts that are generally short, and make sure that these screen casts that are short are on a specific and deep dive into a topic. Whew, got it.

Finally, “do you like video material?


At this time, 53.8% of you have said yes. I had guessed it would be around 50%.

I had guessed no would be about 25%, and at 23.1% I wasn’t to far off.

The other respective mishmash of answers made for interesting depth to the questions that followed this question.

Article Summary & TLDR

Produce more topic specific, detailed material around screen casts and blog entries!

End of story.

For more on this information, why I asked, and what I do check out my article titled “Evangelism, Advocacy, and Activism in The Technology Industry” and for some of the big victories for big corporations check out “The Developer Advocates – Observations on Microsoft’s New Competence“.


Recruiters -> Software Developer Referrals, I Know Em’, Here’s How You Know Them

This is a public letter to all recruiters, human resources or other professionals that are in a *hiring department* that would like to garner referrals from me. I like to categorize my referrals into junior and senior software developers. This is not my interaction process with startups & early round companies, I know you and you know me, things work differently, so if you’re in a startup and looking for people this doesn’t apply to you. This is a letter to help guide how I can help all parties involved in the best way possible.

NOTE: I’m not a recruiter, not intending to be, nor do I work for any recruitment agencies or groups. This is something I do because I enjoy being involved with the tech scene of Portland and have great sympathy for people looking to join good teams. I fought years to find good teams and have enjoyed working with these teams. Matter of fact, I’d say a good team is orders of magnitude more enjoyable to work with than the not good teams. In other words, I try to make things not suck for everybody involved!  😉

For junior developer referrals, I have a few basic requirements and information that I’d like to know if there is a specific job in mind. If you’d just like to talk, I’ll also put you in touch with a junior developer based on this criteria.

  1. For the junior developer the positions should be of reasonable commutes, especially in the current software development market. This means that the commute, one way, should not be anymore than 10-15 minutes either by biking, walking or taking transit. If they want to drive, that’s their concern, but I don’t want to condemn anyone to ever being stuck with a forced auto-dependent commute.
  2. Is there opportunity that the junior dev will be working with other senior developers who will pair code, do code review and otherwise support the individual in a positive and enthusiastic way?
  3. Is the company active in the local community and supportive of new employees and existing employees being involved? Will the encourage and allow the junior developer to get involved and possibly attend workshops, courses, meetups and even conferences that may be during business hours (but likely most are not)?

For senior software developers this gets to be even more particular, especially in Seattle, Portland, San Francisco, New York or Vancouver BC. If I’m going to refer anybody the following items are a baseline.

  1. Does the job offer remote work or some remote work days? How does the team currently communicate with remote employees and what is the split of remote employees vs. in office employees?
  2. Not just is there opportunity to, but is there active pairing, continuous integration or delivery setup and being used?
  3. What is the current management paradigm around architecture decisions, user experience (UX) and other items that are often peripheral to the software development that occurs?

If these questions can be answered in the affirmative then I have some referrals for you. Even if they aren’t, these questions and this information should become standard on any job description, in MANY ways more so than the technology list of skills that are all to common. This last part is something to note for people hiring, not just recruiters.

I’ve also talked more about this far in the past (in tech years). I’ve spent many solid years hiring, firing and generally building teams of people. The following has inadvertently become kind of a series about suggestions to fix the job posts, and where and what the baseline is for building a A-game Team. Much of these suggestions hold true still today.

Computer Repair Shit Storm

9 Ways To Survive The Shit Storm of Developer Evangelism

I started to write a blog entry a few months ago about my time doing developer evangelism. First in practice, along with product management and team leadership and then as a full time developer evangelist with Basho. Then I felt many different things, nothing which translated into a very useful blog entry. Well past any motivation to write up where and what I was doing at the time and why I decided it wasn’t something I wanted to keep pursuing, I ran into this blog entry titled “Developer Evangelism The Whole Story“. At that point I thought, “alright, I’m going to add my two cents after all”.

For one of the same reasons Keith Casey wrote his entry. People have asked me numerous times about becoming an evangelist or advocate. Be sure to read Casey’s write up, and here’s mine to throw more into that fire.


  • You’ll be able to go to all sorts of cities and meet a whole bunch of different people.
  • You’ll be on display and actually able to do something to improve the industry. Not just technologically but to help resolve sexism, discrimination and other issues and treat people well.
  • Do right by people as an evangelist and you’re set for a plethora of possibilities when you finally get burned out.
  • You get to play with all sorts of tech.
  • You get to travel a lot, which makes you really start to respect your home base, wherever that may be.


  • You’re barely ever home, usually you’re on the road with familiarity often becoming the stink of a plane or the confused expression as the TSA security circus actually recognizes you and just starts ignoring you.
  • Even though you can help improve the industry, you’re ability to make a home, make a difference where you live is dramatically reduced to basically nothing. For most people, considering civic involvement in the United States, this probably doesn’t even matter. For some, it’s destructively depressing.
  • If you get mis-portrayed, say something dumb out of jest, or the media mis-quotes you it can be anywhere from annoying to career limiting or ending. If you make the mistake of pissing of someone that has a lot of pull then it could also be super destructive – even if that person is a total jack ass and everyone routinely knows it and admits to it.
  • You get to play with all sorts of tech, but you lose a lot of credibility because you don’t actually build anything real anymore. This is a huge problem, and I’d even suggest most evangelists go work on an actual dev team every other year or so. It doesn’t matter who you are, you will start to be perceived as a shill of some sort by a reasonable amount of people, even though they could be extremely wrong in that perception.
  • Your home base, you often don’t get to have a real home base. You are a vagabond. For a musical definition, listen to Metallica’s “Wherever I May Roam”.

Now if you still think this is a great gig for you. Thicken up that skin, get some callouses and get ready for a bad ass trip that’ll teach you about all sorts of human interactions and more. But be prepared and keep a solid look out for burn out, the degradation of any of the situations mentioned above and you’ll likely do well. If you’re still interested, here’s a few things to get your kick start in developer evangelism:

  1. Get a social media presence, get it fast, and get a nick that you can use in almost all contexts. Don’t even pretend you can skip this step. The most successful evangelists have a huge social media presence and manage it. They manage it hard core, work it into a system, and learn efficient and positive ways to interact with that social media presence. Shut up, don’t even try to skip it, just go out there and manage it.
  2. Make sure to spend at least an hour a day doing something technical. Hacking on Docker, writing some scripts or heaven forbid writing some actual code. This is massively important because you’ll find yourself losing direction all the time from the task switching and not getting to do these little technical things that will help you keep your edge.
  3. Learn to speak. I don’t mean read a little book and think you know how to speak in front of a crowd. Likely, you really suck at it. I’m talking about practicing in the mirror, talk to yourself, record yourself and watch it and do all of these things without becoming nihilistic or pompous. Most of us tech speakers are so bad we’re lucky that the people in the industry are actually focused on the tech and not our stuttering horror of speaking abilities.
  4. Drop all fear to speak with people in positions of power. Remember, everybody is human, don’t get intimidated and don’t intimidate.
  5. Not that anybody in the software industry or tech industry or any industry needs told this but I’ll say it. Don’t overdo the drink. We’re all dangerously close all the time to being worthless drunkards. Some of us stay pretty functional on a drink or two, but that only lasts for a short time before you do indeed go downhill. Don’t deny yourself, you are NOT part of the one percent that can stay sharp and rot your brain. So keep the drink in check.
  6. Find a way, anyway, to stay physically healthy. If you don’t the travel can very likely kill you. I don’t mean like “I’m tired and want to go to bed” killed but more like “hmmm, Tory Joe McQuerty here sure did see like they were fine, too bad we’re putting them six feet under” killed. Oh, the “I’m tired and want to go to bed” will happen all the time too, just make sure you keep that as the only killed you get.
  7. Attain a huge amount of apathy for the extra overdose of everyone’s opinions about how everything sucks in the world. Many programmers are notoriously negative, especially if they work in the enterprise. It’s part of the daily war story if you get sucked in. Remember to stay focused on what’s important, your health and your loved ones, the job comes second. Anybody that tells you different, put them in that apathy category.
  8. Never feel like you have to explain yourself when you need to take some family time or personal time. Just say you need to and do it. Even if you’re pretty close to people on your team, they need to respect that and let you get some time in. This is extremely important.
  9. Don’t give to many fucks. Learn that at some point you gotta call it a day and turn in. Just drop it all and get a good night of sleep.

Summary: Think really hard about what you want when signing up for a dev evangelist or advocacy gig. It will wreck hell on your life, but it could be immensely rewarding too. But please, if you go into evangelism, practice at it and be prepared. I hate the idea of seeing more people burn themselves right out of the industry.

If you have anymore survival suggestions, please do comment!

Train wreck at Montparnasse_1895

Why Phone Calls Suck and Coders Hate You For Making Them

<[Rant On]>

During the work day some of the most disruptive events for a coder are phone calls, getting punched in the face or bum fights in the street. Why are these events so disruptive to programmers? Much of the answer lies in the maker versus manager schedule. Let’s talk a little bit about what someone does when they make a phone call and actually manage to disrupt a coder. NOTE: This could also apply to every musician, painter, coder, programmer, database SQL writer or other occupation that actually requires doing something around a creative solution that isn’t baked into some text book.

The Mental Train Wreck

This is what happens every time the coder’s brain is interrupted with a phone call, punched in the face or a bum fight erupts outside.

Because in all of those situations, the coder must stop what they’re doing, complete a mental dump of all the things they’d loaded into their mind, to pay attention to the phone call somebody has just interrupted them with, the punch in the face or the bum fight outside. Let’s take a dive into what this interruption actually means.

Mental Dump, Starting the Train Wreck

No Dumping Brain to Bay.

No Dumping Brain to Bay.

The mental dump is the hardest part of the disruption for a coder. For a musician or artist, it often means they’re going to look at you (or the phone) and an immediate loathing of your person will occur. For a coder most will have their phone on ignore, like I myself do. If they do pick up, the first words spoken by the person calling will probably be indistinguishable. The mental dump takes more than a second or two.

But if a coder picks up the phone, they do it quickly, it often means they’ve not completed the mental dump yet. This in turn means they’re not going to be able to communicate with you in a very easy to understand way. Often a very boolean response will occur, such as “uhuh” or “uhno“. They’re hating you at this moment, because they’ve been removed from coding or thinking through the problem they were working.

What has happened here is a huge decrease in productivity for a coder. Imagine that train wreck above in the picture. How many hours, days and weeks did it take for the crews to get the train back on the tracks. How much effort did it take and how much time was lost by having the train sitting there crammed outside of the building tilted over and down on the sidewalk? I’ll tell ya, a whole freakin’ bloody lot of time, effort and frustration.

Time wasted: ~2 minutes.  (and that’s just to GET the phone call)

Getting Frontal Cortex Loaded, AKA Re-railing The Train Wreck

This mental dump takes anywhere from 30 seconds to 2 minutes to effectively complete. At this point, a creative individual has been thrust from an effective and productive place in their mind. What’s it take to get things back on track?

The first step is to get off of the phone and settle down from the frustration of being disrupted. Getting disrupted by one of the aforementioned annoyances is very costly. Doing a mental dump is because so much has been loaded in the gray matter for use in the coding, painting, music playing or other activity. To get front loaded into a state in which actual music can be played or written, a painting can be created or coding can be done takes time. I’m not talking about a few minutes here or there either, I’m talking about 10 minutes being a low number. Often, it takes 30-45 minutes to get properly frontal cortex loaded. All of that time, upon the disruption is gone. All of it, every single minute. Sometimes a person can re-load a little bit faster then the initial loading, but often times not.

So what happens when the coder goes back to work? You guessed it, they have to get the frontal cortex loaded again. Yeah, your interruption just caused them many minutes, often 15-45 minutes just to pick up the bloody phone call.

Time wasted: ~15-45 minutes.

Maker Versus Manager Scheduling

Now we come to the serious problem. Not only did the phone call cause a disruption of epic proportions. The other massive problem is now the coder has to determine if it is even worth it to try to get the frontal cortex loaded and get back to work. Let’s take a few questions a coder has to ask themselves before getting back to work after such a disruption.

  • What if the phone call was 30 minutes before lunch? Nope, not worth it.
  • What if the phone call is 15 minutes before you’re going home? Nope, not worth it.
  • What if the phone call is 45 minutes before a meeting? Nope, that sure as hell isn’t worth it either. Meetings being a completely different topic that’s worth discussing, or ranting about sometime.

That’s just a few examples. So if the call disrupted the coder at a time before any other activity that requires they stop doing what they’re doing, it’s not even worth going back work on anything. With that in mind, if a coder is interrupted 30 minutes before lunch, that means another 30 minutes just got wasted because now the coder has to find some mundane task to do, or just surf the web ticked off that they got interrupted. Most programmers are often thinking of something that the great Captain Picard states so eloquently.

Captain Picard, not beating around the bush.

Captain Picard, not beating around the bush.

Time wasted: ~0-45 minutes or more.

Bum Fights & Punches In the Face

Punched in the face.

Punched in the face.

Ever been punched in the face? Ever had to deal with a bum fight? If you have you can totally relate to this type of interruption. The closest thing a manager is likely to experience is a bum fight or a punch in the face in comparison to a coder receiving a phone call.


The next time one thinks, “I’ll just give Bob the Programmer a call”, think again. Try not to be a complete douche bag in a land of naive obliviousness and maybe send an email or txt message. Maybe don’t even make the communication – because we all know how many times the answering box has a “hey I just called to say I called and you should call me so we can have a call“. That’s what one calls bullshit. EVERY PHONE ON EARTH has caller id, that’s a no shit sherlock moment.

So next time, please be considerate of your dear programmers, coders, SQL coders, painters, sketch artists, musicians, composers or others in your life. You’re not taking 5 minutes of their life when you call, you’re likely taking well over an hour and causing them much consternation.

Now that I’ve wasted 3 hours writing this post, mainly because I was interrupted by a phone call in the middle of writing it, I’ve got to get back to some work I was trying to wrap up post-turkey day comma.

<[/Rant Off]>

Oh yeah, this was indeed a sardonic post in case it wasn’t obvious. Oh and happy holidays!  😉

Write the Docs, Proper Portland Brew, Hack n’ Bike and Polyglot Conference 2013

Blog Entry Index:

I just wrapped up a long weekend of staycation. Monday kicked off Write the Docs this week and today, Tuesday, I’m getting back into the saddle.

Write the Docs

The Write the Docs Conference this week, a two day affair, has kicked off an expanding community around document creation. This conference is about what documentation is, how we create documentation as technical writers, writers, coders and others in the field.

Not only is it about those things it is about how people interact and why documentation is needed in projects. This is one of the things I find interesting, as it seems obvious, but is entirely not obvious because of the battle between good documentation, bad documentation or a complete lack of documentation. The later being the worse situation.

The Bloody War of Documentation!

At this conference it has been identified that the ideal documentation scenario is that building it starts before any software is even built. I do and don’t agree with this, because I know we must avoid BDUF (Big Design Up Front). But we must take this idea, of documentation first, in the appropriate context of how we’re speaking about documentation at the conference. Just as tests & behaviors identified up front, before the creation of the actual implementation is vital to solid, reliable, consistent, testable & high quality production software, good documentation is absolutely necessary.

There are some situations, the exceptions, such as with agencies that create software, in which the software is throwaway. I’m not and don’t think much of the conference is about those types of systems. What we’ve been speaking about at the conference is the systems, or ecosystems, in which software is built, maintained and used for many years. We’re talking about the APIs that are built and then used by dozens, hundreds or thousands of people. Think of Facebook, Github and Twitter. All of these have APIs that thousands upon thousands use everyday. They’re successful in large part, extremely so, because of stellar documentation. In the case of Facebook, there’s some love and hate to go around because they’ve gone between good documentation and bad documentation. However whenever it has been reliable, developers move forward with these APIs and have built billion dollar empires that employ hundreds of people and benefit thousands of people beyond that.

As developers that have been speaking at the conference, and developers in the audience, and this developer too all tend to agree, build that README file before you build a single other thing within the project. Keep that README updated, keep it marked up and easy to read, and make sure people know what your intent is as best you can. Simply put, document!

You might also have snarkily asked, does Write the Docs have docs,why yes, it does: <- Give em’ a read, they’re solid docs.

Portland Proper Brew

Today while using my iPhone, catching up on news & events over the time I had my staycation I took a photo. On that photo I used Stitch to put together some arrows. Kind of a Portland Proper Brew (PPB) with documentation. (see what I did there!) It exemplifies a great way to start the day.

Everyday I bike (or ride the train or bus) in to downtown Porltand anywhere from 5-9 kilometers and swing into Barista on 3rd. Barista is one of the finest coffee shops, in Portland & the world. If you don’t believe me, drag your butt up here and check it out. Absolutely stellar baristas, the best coffee (Coava, Ritual, Sightglass, Stumptown & others), and pretty sweet digs to get going in the morning.

I’ll have more information on a new project I’ve kicked off. Right now it’s called Bike n’ Hack, which will be a scavenger style code hacking & bicycle riding urban awesome game. If you’re interested in hearing more about this, the project, the game & how everything will work be sure to contact me via twitter @adron or jump into the bike n’ hack github organization and the team will be adding more information about who, what, where, when and why this project is going to be a blast!

Polyglot Conference & the Zombie Apocalypse

I’ll be teaching a tutorial, “Introduction to Distributed Databases” at Polyglot Conference in Vancouver in May!  So it has begun & I’m here for you! Come and check out how to get a Riak deployment running in your survival bunker’s data center. Zombies or just your pointy hair boss scenarios of apocalypse we’ll discuss how consistent hashing, hinted handoff and gossipping can help your systems survive infestations! Here’s a basic outline of what I’ll cover…

Introducing Riak, a database designed to survive the Zombie Plague. Riak Architecture & 5 Minute History of Riak & Zombies.

Architecture deep dive:

  • Consistent Hashing, managing to track changes when your kill zone is littered with Zombies.
  • Intelligent Replication, managing your data against each of your bunkers.
  • Data Re-distribution, sometimes they overtake a bunker, how your data is re-distributed.
  • Short Erlang Introduction, a language fit for managing post-civil society.
  • Getting Erlang

Installing Riak on…

  • Ubuntu, RHEL & the Linux Variety.
  • OS-X, the only user centered computers to survive the apocolypse.
  • From source, maintained and modernized for humanities survival.
  • Upgrading Riak, when a bunker is retaken from the zomibes, it’s time to update your Riak.
  • Setting up

Devrel – A developer’s machine w/ Riak – how to manage without zombie bunkers.

  • 5 nodes, a basic cluster
  • Operating Riak
  • Starting, stopping, and restarting
  • Scaling up & out
  • Managing uptime & data integrity
  • Accessing & writing data

Polyglot client libraries

  • JavaScript/Node.js & Erlang for the zombie curing mad scientists.
  • C#/.NET & Java for the zombie creating corporations.
  • Others, for those trying to just survive the zombie apocolypse.

If you haven’t registered for the Polyglot Conference yet, get registered ASAP as it could sell out!

Some of the other tutorials that are happening, that I wish I could clone myself for…

That’s it for updates right now, more code & news later. Cheers!

Surface & iPad Collision Course

Ok, I’d been looking around for a Surface I could try out. Even though I have my doubts about Windows 8 and especially RT I also am excited about a lot of the features that these operating system(s) have. But amid the parts that I hate and parts I love, there is the simple fact of the pure and simple comparison of Surface + Windows RT versus iPad + iOS 6. Thanks to Brad Wilson I was able to do a physical comparison between the Surface and the latest iPad. Here’s what I got out of both with a summary to wrap it all up nice and neat.

iPad vs. Surface

Surface & iPad Side by Side (Click for high rez image)

The first thing I did was take a good look and check out every physical corner, fold, rounded corner, seal, button (or lack thereof) flick panel and “kick stand”. This first comparison was done between only the tablets themselves, no keyboards were attached.

Screens & Touch

Both devices started fine. Both screens swiped the active panels or app icons back and forth with no problem. These things were smooth and simple. The applications started fast on the iPad, a bit slower on the Surface. Just to make sure I had some apples to apples comparisons, I loaded Google Maps via browser along with iOS 6 Maps (which are still horrible * ) and Bing Maps (which also are still horrible * ). Google Maps via browser of course is slow on tablets, regardless of which tablet. This makes for a frustrating experience with mapping and routing. I look forward to having a decent Google Maps app on either of these platforms again, I’m however not holding my breath, but if they’d just cooperate and stop their nonsensical fighting that would be splendid.


As for construction both devices are light years ahead of any other tablet out there. Weight however is a little frustrating, as both are pretty heavy devices to hold in one hand for any extended period of time. Many of the Android Tablets are dramatically lighter. The feel however, touch of the screens, the kick stand, and about every single thing is comparable in quality between both devices. To put it simply, Microsoft and Apple have done a spectacular job at hiring the right manufacturing facilities to build their devices and have done a good job in designing the devices.


Will the Surface hold up as well over time as the iPad? Especially with the kick stand and other parts, the Surface does have a little more risk around these elements. Give a 5 year old a Surface and I’d put hard money on the fact that 5 year old will make that kick stand give way in short order form regular wear and tear. The iPad of course, doesn’t have any of these concerns – it’s a single, well built, strong device. The screens I hear however, favor the Surface, but so far have seen no evidence that one or the other screen is stronger than the other.


Alright, this is where there is no competition. Surface has almost no applications in comparison to Apple’s iPad. This is of course barely a fair comparison at this time since it has been on market for a few weeks and the iPad for years. The iPad has had the App Store to build off of and millions of developers while the Surface has had almost nobody except Microsoft’s internal developers & immediate partners. Barely anything beyond that exists. This however, makes the few applications the Surface does have almost impressive. However…

The applications that do exist have one big problem. Especially the native application Microsoft itself has built, such as the messaging and email client. They’re buggy. It is state no simpler than, “They are buggy.” I’ve seen it over and over again on Twitter, Facebook and every other social media and critique outlet. Let’s take a few applications for a test drive.

Applications – iOS 6 Maps & Bing Maps

The maps, Bing and iOS 6 Maps are both complete crap. They’re years behind Google Maps. So in this case we’re comparing a limited feature map set against another limited feature map set. Overall as for options, Bing Maps at least has transit. On the driving front, since I don’t do this myself (*see below), the driving instructions and traffic are useless to me. However, I did check out driving directions and traffic – both are moderately competent at getting this information. No more so than Google Maps though. As for finding things in cities or urban areas that have high livability – such as Urban Seattle, Portland, San Francisco or New York – both are horrendous.

Biking, neither of the maps applications have biking directions. I guess the rather large contingent of developers that bike to work everyday in New York City, Portland, San Francisco just don’t matter to Microsoft or Apple. They’ve just left that out. It’s pathetic in my opinion, as Google Maps has extensive and informative biking information and logistics planning. Bing & iOS Maps 6 both I’d rate as unmitigated distaters except for those that live an average suburban auto dependent lifestyle. Everybody else – i.e. a dramatically large part of the tech sector for one, is left out.

Walking – again, both maps are broken. Transit, don’t even get me started on how behind and outdated both of these maps options are. Finding great coffee shops and…  oh just forget it. Don’t get either of these devices for the mapping. You want a mapping device get an Android Tablet or an Android Phone. Hands down, no competition.

Evernote is Free!

Evernote is Free!

Applications – Evernote

Evernote has simply become a huge part of my day to day flow. I pay for the unlimited or extreme or whatever version they call it. I don’t want any limites and I find it more than worth the money (they could even raise the price 2x and I’d still pay it). So how does Evernote play out on the Surface vs. iPad. Well two things made this interesting. Over the time I started and am finishing this write up, Evernote completely updated and revamped their user interface and thus the user experience changed. Fortunately for either product, for the better.

But… when I first logged into the Surface and tried to get Evernote going the swiping and determinig what a right click was or double tap was extremely frustrating. The Surface made the iPad Evernote version seem intuitive, simple and usable by comparison. Both allow almost identical functionality, but with the surface the challenge is finding out how to get at that functionality.

If you find it, this is what you get when you right click or double tap or whatever it's called.

If you find it, this is what you get when you right click or double tap or whatever it’s called.

So in this category, the iPad is hands down an easier to use Evernote device. Once you get used to it, does that really matter? Probably not. But I’m not sure why someone would want to buy, purposefully  a device that has a learning curb.

Evernote on Surface & iPad

Evernote on Surface & iPad


Overall, I found the Surface pretty sweet in a number of ways. However, I know for a fact, that those things I found sweet are things an early adopter, nerd, geek, techno type would find sweet. Not the person who just wants to get things done and carry on with life. The person who wants to just view internet content or write an email, go with an iPad. If you want some simple, suburban driving directions to help avoid traffic, either device will do. If you want to just get on with life with a sexy and easy to use device, the iPad is fine.

I could go on about the USB and this and that feature, but Microsoft has horribly missed the mark in that way. These are devices for short term use, not working. If you get a Surface with the intent to work, get ready to get a carpal tunnel operation in a few years. I wouldn’t advise using either device for any significant amount of work. If you want to do work, get a laptop or proper computer. Apple and Microsoft have many to choose from.

In the end, if you have an iPad, stick with it. If you have no tablet and want to get one – go with either an Android tablet or an iPad depending on if you want a controlled garden of elegance (iPad) or want total freedom of devices and interoperability (Android).

With that, cheers and good luck being happy with whatever you get.

* Some context needs to be added to the maps situation. I don’t drive, not because I can’t but simply because I find it a horrendous and wasteful activity for my time. I might sound or come off aloof, but I don’t mean to, but simply – I have zero use for a map application that only provides driving directions or traffic. I haven’t had to deal with these problems in almost a decade now, even back when I did drive. So thus, driving and path finding through traffic are not one of my problems. What I do use maps for however are walking, biking and transit directions. All the better if the transit directions actually provide real time information as Google Maps does in some of the more advanced partner cities like Portland, San Diego, etc. Also I want street level information that is accurate and defines the businesses and other related information. Google Maps does this, but iOS 6 Maps and Bing Maps are outdated and routinely provide inaccurate information compared to Google Maps. Not to say Google Maps couldn’t use improvement here or there, but it is by far years ahead in information and capabilities versus the other two.