Getting Distributed – BOOM! The Top 3 Course Selections

A few months ago I posted a poll to ask what courses I should put together next. I just wrapped up and am putting the final edits and finishing touches on a Pluralsight Course on distributed databases, focusing on Riak. On the poll the top three courses, by a decent percentage of votes included the following:

  1. Node.js Distributed Systems – Bringing the Node.js Nodes together for Distributed Noes of Availability and Compute @ 12.14% of the vote.
    1. A Quick Intro to Node.js
    2. Introduction to Relevant Distributed Patterns
    3. How Does Node.js Fit Into the Distribution
    4. Working With Distributed Systems (AKA Avoiding a Big Ball of Mud)
    5. Build a Demo
  2. Distributed Systems Programming with Javascript @ 10.4% of the vote.
    1. Patterns for Distributed Programming
    2. …and I’m figuring the other sections out still for this one…  got ideas? It needs to encompass the client side as well as the non-client code side of things. So it’s sort of like the above course, but I’m focusing more on the periphery of what one deals with when dealing with developing on and around distributed systems as well as distributed systems themselves.
  3. Vagrant OS-X, Windows and Linux – how to build, manage and ship machines to use for development and recreation of production environments.
    1. Vagrant, What is it?
    2. OS-X, Linux and Windows
    3. Using Vagrant Machines
    4. Building Vagrant Dev Machines
    5. Vagrant the Universe!

Now I might flip this list, but either way they’re all going to be super cool. So stay tuned and I’ll be working up these into courses. So far here’s the sub-bullets above are the basics of the curriculum I intend to put forward. Am I missing anything? Would you like to see anything specifically? Leave a comment and I’ll be sure to get everything as packed in there as possible!!

Farewell Basho, It’s Been Swell Yo!

Whew, it’s been a total blast working at Basho. I’ve accomplished a ton of things. Riak is a solid distributed database system and I’m glad to have worked with the team on advocating its use, teaching distributed systems ideas and concepts and generally spreading the knowledge. I’ve seen some truly great things that people are hacking together, setting up for projects and redesigning old systems to utilize newer, better, faster and more capable distributed systems concepts and ideas. Some of the things I’m happy to have contributed to in my time at Basho.

…and there has been a whole lot more. Suffice it to say, Basho has provided me with some sweet opportunities to work on some extremely interesting data projects from a very data sciency point of view (yeah I know sciency aint a word). There may be more Riak work and Riak meetups and Riak hacks and Riak who knows what coming from me, but the meetups & such are now at the hands of the core Riak crew and…

Where Am I Headed?

Right now, I’m moving 20 blocks away from where I currently live, setting up a couch to hack on and grabbing a beer. I’ve got a few personal projects I’ve been wanting to work on. Then I’m taking a few weeks to do some side projects that have been on the burner. Keep an eye out, I’ll be kicking off one, maybe two of these open source projects in the next few days. As @tsantero twitted…

…I’m going to attack my own notebook of ideas. Maybe I’ll even work on that Riak CS Video object store that Tom and I spoke about 10 months ago? Either way, whatever the projects are, I’ll have them posted right here. Until then…

Cheers & Happy Hacking!

Lenovo X1 Carbon Touch :: Opening, Setup and Failure

X1 Carbon with all the standard parts that come in box. (Click for full size image)
X1 Carbon with all the standard parts that come in box. (Click for full size image)

Yesterday I received my X1 Carbon Touch from Amazon. First part of this whole adventure is that I sent it to my old address in one part of town so that led to a little sleuth action to track it down. After a short bike ride up the street I arrived and the office staff had my X1 Carbon. Whew, disaster averted.

I went down to Ace Hotel were one of the local Stumptown locations is to open it up and see what I was in store for. Nothing like a good macchiato while I unpackaged the new machine. When I arrived I ran into Nathan Aschbacher and Eric Redmond. Two of my fellow Basho comrades. We all grabbed coffee and headed up to the roost for some hacking and conversation.

Unpacking

In the package, laptop sitting on the table at Ace Hotel's Stumptown Coffee.
In the package, laptop sitting on the table at Ace Hotel’s Stumptown Coffee. (Click for large image)

Unpacking the Lenovo X1 Carbon is a straight forward process. A simple box, no elegance, just a box with some labels and logos on it. Pulling the laptop out of the box, still just the bare minimum. No bells, no whistles, even the documentation is a 2-3 page pamphlet. Personally, I’m totally cool with this approach. I find Apple’s packaging to be an experience of sorts, however extensively wasteful.

One of the applications I found not available for Windows 8 was a native HipChat client. This actually makes sense, since most of their customers are likely using Linux or OS-X. It really shows how Windows has seriously lost the edge with developers.

Nathan and Eric both give a feel to see how light and strong the laptop is. Nobody actually threw the laptop, but we all wanted to, just to see how it would hold up. Maybe with somebody else’s hard earned Lenovo purchase. 😉

Nathan gives it a look.  (Click for full size image)
Nathan gives it a look. (Click for full size image)
Gleefully smiling at the laptop, Eric proposes we throw it over the guardrail to the first floor below. (Click for full size image)
Gleefully smiling at the laptop, Eric proposes we throw it over the guardrail to the first floor below. (Click for full size image)
No start? (Click for full size image)
No start? (Click for full image)

After Nathan and Eric threaten the poor laptop, I set her down and try and get her booted up. First thing I notice, it doesn’t start. I’m puzzled? Why doesn’t it start? I pick at my PC Tech experience and think, “oh yeah, probably gotta do something stupid an unintuitive like plug it in for some magically arbitrary amount of time first”.

Lenovo lives! (Click for full size)
Lenovo lives! (Click for full size)

So I plug it in and try again. A small light around the power button, kind of a halo, lights up and immediately I get the happiness. The machine is coming to life. A bright Lenovo logo pops on the screen with the notorious Windows 8 swirly working image below.

Move ya mouse! (click for full size image)
Move ya mouse! (click for full size image)

Windows 8 then shifts into a preparing windows workflow which basically means you fill out a few things and it does something to the OS to make it ready to run. I sit through a solid 7-10 minutes of these screens, these fluctuating colors. It’s rad, in a psychedelic waste of time kind of way. However, I’ll admit, my Mac Book Air is sitting beside me running just fine that I’m using to do work while I wait for all this process to finish. I’m no amateur at loading operating systems, I come prepared. 😉

A Problem Arises

I relocate to Bailey’s Taproom after setting up some basic things and installing Visual Studio 2012 on the machine. While working through updates and installing patches my track pointer (the little red button thingy in the middle of the keyboard, that Lenovo is famous for) stops working.

I toy around with the settings and see why the track pointer is shadowed out in the settings. I battle with Windows 8 trying to find the easiest way into the settings and out of the settings and to the desktop and to the start screen and back and forth. It’s somewhat tumultuous but in the end it’s helping me get used to the new system and where everything is. But still, I’ve no idea why the track pointer thingy doesn’t work. I consult the great Google.

Apparently the drivers that it ships with are the suck. I get pointed to this video by Jesse Anderson.

After I get the drivers installed, everything is working flawlessly again. Onward!

Flakiness o’ Windows 8

As I’m working on Windows 8 setting up some of the cool applications for the start menu (or whatever the metro dealio is called now) I get a really flaky behavior. This is the kind of behavior that screams “we don’t really pay attention to usability” or maybe it screams “we’ve no idea what we shipped” or maybe it’s just a simple example of “oh shit we shipped that stupid user experience“. Whatever the case is, this is it…

Notice something redundant here?
Notice something redundant here?

Yup, on a laptop with a HARDWARE LAPTOP ATTACHED Windows 8 is showing me the keyboard. WTF kind of pure idiocy of a UX is this? My mind is blown. After years of the iPad having this problem figured out (and Apple doesn’t even sell keyboards themselves). When you have a HARDWARE keyboard NEVER show anybody the stupid SOFTWARE keyboard EVER. Seriously, this has to be one of the dumbest UX situations that I’ve seen in ages. This is a total failure of logical flow. Note also, this screen doesn’t fold all the way around, this is a laptop pure and simple, not in any way a tablet. But there’s the SOFTWARE keyboard that one should only see on a tablet! Oh well, it aint the end of the world, it’s just DUMB.

I get everything else setup, zonk for the night after working through all the software installations and patches. All is right. All is cool.

Loading Ubuntu Linux

Loading Ubuntu (Click for full size)
Loading Ubuntu (Click for full size)
Ubuntu (Click for full size)
Ubuntu (Click for full size)

The next morning I rise early and get to working on the next phase of my installation. I don’t, by any means, intend to use Windows 8 all the time on this machine. I want to have a dual boot of Ubuntu and Windows 8 on this laptop so that I can have every OS (OS-X, Windows 8 and Ubuntu) running natively on at least one machine that I have.

I do a little research and find this information about making a bootable USB Stick for Ubuntu from Windows. That information points me to this application that makes it a no brainer to get a bootable USB stick ready for use via Linux Live USB.

Just As I Got Ubuntu Installed…

I shut down the computer after getting all of these things installed. Windows 8 was finally fully patched, Ubuntu was installed and running with all patches too. The X1 seemed to hang on the shutdown. So I held down the power button for about 8 seconds to hard reboot the machine. Thinking that it would startup no problem at a later time I packed it in my messenger bag and headed off to a meeting I had scheduled. I arrived at the meeting and went to start the laptop again.

…nothing.

So I tried to hold the button down for 7 seconds to start it back up.

…nothing.

I packed it back up and returned to a place I could plug it in and try to start it. I swung into Backspace and found an electrical jack. Plugged in, counted a few seconds just for good luck. I then held down the power button for 8 seconds to see if it would start plugged in.

…nothing.

SOS SOS SOS !!!!!
SOS SOS SOS !!!!!

(Click for large image)

I then sporadically pressed the button. I then used morse code to spell S.O.S. on the power button.

…nothing.

I resigned myself to now owning a large paper weight. Albeit a much lighter paper weight than what laptops traditionally weighed. My X1 Carbon Touch was dead. I called tech support.

Impressive Support

First thing that happens, I navigate through support quickly. The automated voice tells me I am now being connected to Lenovo Support in Atlanta, Georgia. At this point I was impressed. I’m getting to speak to someone in the country where I’ve bought the machine. That is cool.

I get connected to Tom in support. I fill him in on my sitrep. We walk through some basic troubleshooting. Such as the “pin in the battery reset hole” trick“.

…nothing.

Tom wastes no time as I’ve already laid out everything I have in this blog entry. He declares it dead and gets a box on its way to me for returning it to Lenovo. With a promised 7 day return after I ship it to them. Well hot damn, my laptop is dead by I’m stoked to have support like this. I don’t recall support this good since the late 90s!!

As I tweeted about this I got a lot of responses like this. I concur and I already have a mac, this is an machine specifically NOT for using the mac.  😛

So in the meantime, it’s back to Windows 8 via VMware Fusion on a good ole’ mac!

Windows 8 via VMware Fusion on OS-X. (Click for full size)
Windows 8 via VMware Fusion on OS-X. (Click for full size)

…so stay tuned, for the ongoing saga of Windows 8 & Ubuntu Linux Development on a Lenovo!

The Friday Wrap Up: Write The Docs, Basho Coworking Office Hours & Node PDX

Wow, so this week has been an intense return to Portland for me. I got back earlier in the week and hit the ground doing a bit of catch up after being on the rails for two weeks to Denver, over to San Francisco and then back up here to Portland. The whole time cramming my brain full of Erlang, getting ramped up on efforts to help bring Riak to everybody that it can help, expand the open source community and do what I do. Expand the community and the risk taking, code inventing, hacker of hardware, and curious ideas that we all have as best I can.

Turning from looking back and looking forward, getting into a proactive view of events coming up there are a couple things I want to let everybody know about. They’re all intertwined here in the Portland Tech Community and well beyond, with events in Seattle and Vancouver BC coming up sooner than later!

Basho Coworking Office Hours

The Riak Products; Riak, RiakCS and Riak EnterpriseDS
The Riak Products; Riak, RiakCS and Riak EnterpriseDS

These events are every two weeks, starting this Monday. The meet is at NedSpace, we’ll grab the excellent Butcher’s Block Table and converse, code together, implement or deploy Riak and generally answer, present or find the information you need. Feel free to come in and join at anytime during 9am-11am on Monday the 4th, and every two weeks hereafter. You can RSVP here (meetup.com) or here *(eventbrite). For those that are RSVPed and show we’ll have various swag. Prospectively after building some momentum we’ll start bringing in some premium coffee or other beverages to help kick off your day.

Write The Docs

Write The Docs
Write The Docs

This is a new conference here in Portland that is being put together around documentation, document driven development and topics surrounding this oft overlooked and extremely important aspect of software development. As one would expect, it has a github repo.

Currently there are some speakers, but the call for proposals is still open, so check it out and if you’re interested in speaking jump in there and add to the conference and growing conversation! Here’s a short description from the conference site about what Write The Docs is about,

“Write the Docs is a two-day conference focused on documentation systems, tech writing theory, and information delivery. It will be held on April 8-9 in Portland, Oregon.

Writing and maintaining documentation involves the talents of a multidisciplinary community of technical writers, designers, typesetters, developers, support teams, marketers, and many others.

This conference creates a time and a place for this community of documentarians to share information, discuss ideas, and work together to improve the art and science of documentation.

We invite all those who write the docs to spread the word:

Docs or it didn’t happen!”

Speakers so far… there are more coming!

Nóirín Plunkett Plunkett AKA @noirinp the Curator of People 

From the recent speaker announcement, “Nóirín Plunkett is a jack of all trades, and a master of several. By day, she works for Eucalyptus Systems, as a geek<->English translator, and general force multiplier. She’s passionate about community, communication, and collaboration. Nóirín got her open source start at Apache, helping out with the httpd documentation project.

Kenneth Reitz AKA @kennethreitz the Wandering street photographer and moral fallibilist & Pythoner

From the recent speaker announcement, “Kenneth Reitz is the product owner of Python at Heroku and a member of the Python Software Foundation. He embraces minimalism, elegant architecture, and simple interfaces. Kenneth is well known for his many open source projects, specifically Requests. His projects are always well documented, and he is the curator of the The Hitchhiker’s Guide to Python, which documents best practices for Python developers.

Jim R. Wilson AKA @helixb the jimbojw and helixb and…

From the recent speaker announcement, “Jim R. Wilson started hacking at the age of 13 and never looked back. He has contributed to open source projects such as MediaWiki and HBase, and managed the large-scale documentation system at Vistaprint. He’s co-author of one NoSQL book, and currently writing a node.js book.

The perpetrators of this conference are the reknown Troy Howard @thoward37, Eric Redmond @coderoshi and a fellow tech cohort I’ve recently met at The Side Door Eric Holscher @ericholscher.

Node PDX

There’s an announcement coming real soon about this!

140 Characters #FF Growing!

The ongoing and growing list of people I think you should be following.

Here’s the existing list…