It’s Happening Again, Seattle Code Camp!

I’ve got two presentations happening this year at Seattle Code Camp! Are you signed up? If not, hit this and get signed up ASAP:  https://seattlecodecamp2013.eventbrite.com/

My two presentations are:

Distributed Databases – An Introduction to Riak

Presenter:Adron Hall

I’ll dive in with a quick definition and context of what distributed databases are. From there we’ll quickly move into what Riak is, how its architecture lends it toward being one of the premier distributed database solutions on the market today. We’ll take a walk through vector clocks to consistent hashs, clusters and rings managing the world of the distributed systems. Then we’ll dive into a use case with a put and pull of data from a walkthrough implementation of Riak.

…and…

Developer Workflow: From Angular.js, Riak, Testing and Vagrant Dev Environments

Presenter:Adron Hall

Each developer has to come up with a workflow that works well for them. Sometimes a lot of the workflow is dictated but there is still a lot that’s left up to the individual. With many modern tools you have a selection of everything from text editor, to IDE to actual operating system distribution. In this presentation I’m going to walk through some of the tooling to help keep all of these things under control during the course of programming efforts. …and yes, this will go beyond just the IDE (or text editor, etc)

…and others to check out!

Much Ado About Hadoop

By now you’ve heard the words “Big Data” and “Hadoop”, but you’re not sure what they mean, much less how to get started. You’re struggling with storing a lot of data, rapidly processing a huge volume of data, or maybe you’re just curious. There are a bewildering array of options and use cases within the Hadoop ecosystem. Every day I help customers understand their data problems, understand where Hadoop fits into their environment, and determine how they can use Hadoop to solve their problem. This session provides an introduction to what Hadoop is, when it’s appropriate to use Hadoop, and guidance on how to get started.

Unit Testing Web Development

Presenter:Mark Michaelis

When it comes to testing, Web Development is fraught with challenges whether it be from variations in browser behavior, the lack of compilation on JavaScript, or the traditional coupling between the UI and the code. In this session we walk through the complexities surrounding the testing of web projects and cover how to overcome these. This includes leveraging everything from source code analysis and JavaScript unit testing to UI and performance testing. Don’t miss this session to learn a multitude ways to significantly improve the quality of your web development.

Riak in a .NET World

Developers have a lot of choices when it comes to storing data. In this session, we’ll introduce .NET developers to Riak, a distributed key-value database. Through a combination of concepts and practical examples, attendees will learn when Riak might be appropriate, how to get started with Riak using CorrugatedIron (a full-featured .NET client for Riak), and how to solve data modeling problems they’re likely to encounter. This talk is for developers who are interested in backing their applications with a fault-tolerant, distributed database.

Introduction to Ember.js

Presenter:Jon Cortez

Ember.js is an open-source client-side JavaScript web application framework based on the Model-View-Controller (MVC) software architectural pattern. It is designed to help developers build scalable Single Page Applications (SPAs) by incorporating common idioms and best practices into a framework that provides a rich object model, declarative two-way data binding, computed properties, automatically-updating templates, and a router for managing application state. In this session, you will learn the key concepts of Ember.js and how to use it to create a simple Single Page Application.

Think Like a Dev: Cognitive Pitfalls in Software Development

Presenter:Michael Ibarra

Our own minds are often working against us. What makes estimating so hard? Is there real value in planning poker? How effective are weekly retrospectives, really? Let’s explore how our minds may be working against us in ways we might not realize. We’ll examine the sources of some common cognitive biases, how they apply to our work efforts, and discuss some “strategery” for overcoming them.

Building a Server Appliance in Node.js

Presenter:Eugenio Pace

Auth0 is a server/service to drastically simplify authentication, identity federation & SSO scenarios; for web & mobile apps. It’s our first big project on node. One of the reasons we decided to build it entirely on node, is the ability to package it and deploy it anywhere: as a service in the public cloud, as a virtual appliance on private cloud, or as an appliance on-premises. In this session we’ll show how we built it. How we use JS for extensibility and easy customization. What worked well, what didn’t. Tools we used, etc.

Hope to see you there. Cheers!

OSCON : Conversations, Deployments, Architecture, Docker and the Future?

I wrote about my first day of OSCON “OSCON : Day 1, Windows Just Doesn’t Do Cloud Foundry… but, there’s a fix for that…“. The rest of the week was most excellent. I caught up with friends and past coworkers. I heard about people working on some amazing new projects. Some things I will try to write up in the coming days, as I’m sure some of it will be making the tech news (if not the regular people news too).

Conversations

Had some great conversations about the direction of enterprise and paas uptake. It’s great to hear that there is some movement in that space finally. As one would expect however, there is still a lot of distance for the enterprise to catch up on, but they’ll get there – or fall apart in the meantime.

There were also tons of conversation about the Indiegogo Ubuntu Edge mobile device. This device is a great looking and sounds like a solid idea. The questions arise in the fact that they’re working to make this a purely crowd funded project. This wouldn’t be a concern if they were trying to just get a few million in capital, but they’re aiming for $32 million! Overall though, with 128 GB, Dual LTE Antennas for Europe and the US, a top tier screen in quality and design, a metal body and also multiple other features that put this phone ahead of anything out there. I hope it’s successful, but I must admit my own hesitance. What’s your take on the device?

Deployments

Over the course of the conference I talked to and worked with a number of other individuals playing around with Cloud Foundry and also OpenShift. The primary aspect that we worked on was strategies around deployment of these PaaS Technologies.

We also worked with Iron Foundry to extend Cloud Foundry to support .NET. If you love .NET or hate .NET, wherever in that spectrum, it has an absolutely huge user base still. Primarily because .NET spent the last decade and a few years going head to head against Java in the Enterprise, and we all know the enterprise is slow to shift anything. So for now and the foreseeable future .NET is an extremely large part of the development world. Having it work in your PaaS is fundamental to gaining significant enterprise share. Cloud Foundry is the only open source, internally usable PaaS on the market today. There are closed source options available, but that obviously doens’t come up at OSCON.

While at OSCON, I also got to discuss architecture and deployment of Riak with a number of people. The usage of Riak continues to grow and the environments, use cases and tooling that people are using Riak with and for is always an interesting space for me. I also got to discuss deployment of Cassandra and even some Neo4j, Redis and Riak side by side deployments. People have used an interesting mix of NoSQL solutions out there to pull their respective data together for their needs.

Among all these deployments, conversations regularly returned to a known topic of mine. Cloud computing and who is capable of what, where and when. AWS is still an easy leader in cloud computing, not just in customers but in technology. This also brought up the concerns and apathy that some have around OpenStack (hat tip to Ben Kepes for the write up) working more homogeneously with AWS. Whatever the case might be, the path for OpenStack needs to be clarified regularly. I imagine the next movement is going to be away from being too concerned with infrastructure and increased concern with portability of applications and development of applications.

Another growing topic of discussion was around building applications for, on and with Windows Azure. Microsoft has actually become dramatically more involved in open source in an honest and more integrity based way. I’m honestly amazed at how far they’ve come from the declaration years ago that “open source is a cancer” and the all too famous, “linux is communism“. Whatever that was supposed to mean, they didn’t seem to get it back then. Now however, they regularly contribute to open source projects on codeplex but also github and other places. Microsoft has even contributed to the Linux kernal a few months ago.

That leads me to the next topic that came up a number of times…

Architecture

There’s been a lot of discussion about architecture around PaaS, containers (more on that in a moment), distributed systems in general and distributed databases. As I wrote about recently, “Architectural PaaS Cracks or Crack PaaS” the world of distributed systems and distributed databases has more than a few issues when working together in a PaaS environment. This brought up the discussion about what solutions exist today, solutions I look forward to writing and building in the coming months.

The most immediate solution to scalable data sources is still to run your operational data sources such as Neo4j, Redis, Riak or other database autonomously but residing close to your PaaS System. The current public PaaS Providers do exactly this and in some cases extend that to offer the databases and data sources as services through add-ons. These are currently great solutions, but require time, effort and custom development work when setting up internally.

This leads me to the last topic…

The Story of a Container – Docker

Well, not just Docker, but containers in general and Docker specifically. First some context about what a container is.

Container – In this particular context I’m writing about a container, or more specifically a runtime-container, that isolates resources for applications or services. Containers are common in PaaS technologies to help isolate the specific services or applications when they’re on a single physical machine or instance. For each of the respective PaaS systems that came up at OSCON we have dotCloud from the same team that created Docker, Cloud Foundry has Warden and OpenShift has gears and Red Hat Enterprise Linux OS specific containers.

I’ve studied Warden a little in the past while I was working with AppFog and Tier 3 around Cloud Foundry. Warden is a great piece of technology. However the star at OSCON was clearly Docker. I jumped into a number of conversations around Docker. This conversation would then take the direction to containers becoming the key to PaaS tooling and systems growth and increasing capabilities. That leads me back to my previous blog entry “Architectural PaaS Cracks or Crack PaaS” and one of the key solutions to the data tier issue.

Containers, A Solution for Scaling the Data Tier

One of the issues that comes up when trying to scale any distributed database in a PaaS Environment is how to provide multi-tenancy without spooling up new instances for each and every single installation of a node within that distributed database. Here’s an example diagram of the requirements behind a scalable distributed database.

Masterless, Distributed Cluster of Nodes
Masterless, Distributed Cluster of Nodes

In a default configuration you’d want each node to be running on a physical machine or dedicated virtual instance. This is for performance reasons as well as reasons for load balancing, security, data integrity and a host of others. This is the natural beginning state of a highly available distributed database or distributed system.

Trying to deploy something like this into a PaaS environment is tricky. Take into account that there is no such thing in application or service speak as an instance, and especially not anything such as a physical server. The real division between process and resources are containers. These containers are what actually needs to run the distributed system node. This becomes possible, if a distributed system node can be deployed to and executed from within a container.

Enter Docker

After reviewing Docker, the capabilities around it and the requirements of a distributed database, it looks like an ideal marriage of the two technologies. Already Docker has Redis and other database technologies running on it. The Container technology around Docker looks like an ideal fit to extend distributed systems to run autonomously of a single physical machine or single instance per node. This would enable nodes to be deployed as resources are available to provide a more seamless and PaaS style deployment for systems like Cassandra, Riak and related distributed systems. Could this be the next evolution of affordable distributed systems, containers to the rescue?

I’ll be reporting back on my progress, this could be cool!

Stay tuned for a write up on Docker in the near future. For more information now check out http://www.docker.io.

OSCON : Day 1, Windows Just Doesn’t Do Cloud Foundry… but, there’s a fix for that…

 The day before yesterday was day one, for me, of OSCON. I’d been out of town on business meet on Monday, so skipped out on the intro day. However the second day, my first, was a good time. There was already a good dose of “oh dear, I can’t attend ALL of the sessions I want to – BLASTED CONCURRENCY ISSUES!” problem. I was pondering the Intro to Erlang, then the backbone.js session, but in the end settled on Dr Nic’s @drnic session on how to deploy Cloud Foundry with BOSH.

Windows Just Doesn’t Do It

The first issue we ran into was actually the issue of prerequisites. About 30% of the audience was running Windows. To clarify the Windows question, there is no PaaS Solution that meets the following requirements:

– All Services Running on Windows
– Open Source Software
– Free or Cost

For those of you running Windows, the closest thing you can get – and I might add it’s a damn good solution – is Iron Foundry. But you’ll have to accept that there will still be some Linux involved for the Cloud Foundry parts that don’t run on Windows.

OSCON Ongoing

After the session I footed it over to the booths were a food & beer crawl of sorts was occurring, which I think might have been the first booth crawl, of two booth crawls. This was a good time, as the booth crawls usually are. It’s also fun seeing and learning about all the companies that are participating. Since everybody involved is ideally open sourced 100%, and most are at least a large percent open sourced, I always like hearing about the business models that are being used around the various products and services.

With that, this is day 1 coverage, I’ll leave you with a few photos of my first day:

The Chalk Art Wall o' Companies & Messages (Click for full size)
The Chalk Art Wall o’ Companies & Messages (Click for full size)
ESRI hanging out below the Samsung Sign... or is that perception?  (Click for full size)
ESRI hanging out below the Samsung Sign… or is that perception? (Click for full size)
Riot Games just before the deluge! (Click for full size)
Riot Games just before the deluge! (Click for full size)

…and with that, I’ll have a follow up post on the following days following this post. Cheers!

OS Bridge Day 1… Coffee, Missing Angular JS, Distributed Systems, Lego, Hardware, Terraformer…

OS Bridge Day 1 kicked off. I had more than a few goals to achieve for the day.

  1. Give my presentation “Data and Applications Across the Void :: Distributing Systems“, the first with this layout, of key topics and concepts around distributed systems.
  2. Meet Jason Denizac @_jden for coffee at Public Domain and catch up.
  3. Attend Beer Um’ Tuesday Too (i.e. B.U.T.T.) the almost unknown yet known beer meetup from the mind of genius Jerry Sievert @jerrysievert and march over with a contingent from OS Bridge.
  4. Attend the following: Kicking Impostor Syndrome in the Head, Test Driven Development with Angular JS and Terraformer.
  5. Plot next steps involving Bosh, Cloud Foundry, Riak and OpenShift.

Upon arriving I checked in and got the super sweet water bottle that the OS Bridge team got for speaker gifts. Gotta say good job, something a bit different, something that’s quality and something worth keeping! I dig it. I immediately washed it out and carried it around for thirst quenching the rest of the day.

Kicking Impostor Syndrome in the Head

This talk tackled the ideas of how to be more inclusive, allow people to actually gain buy in and confidence in the work they’re doing. This is a hugely important set of ideas that most of the large corporate world has no clue about. Thus the dramatically lower productivity, individual leadership, pride and happiness that people have working in large corporate enterprises & especially Government. This is a space that should be an extremely high priority for those businesses to study.

Mistakes...
Mistakes…

Denise Paolucci did a great job engaging the crowd and relaying the ideas of how to improve work environments to really bring out the best in people. Simply, it occurred to me this could be summarized as, “Don’t be a dick, how to kick ass, and build the whole team to do just that!”

The talk included ideas such as making it safe to fail, don’t scapegoat someone around an idea that doesn’t work, but try a new path and move toward succeeding. Don’t setup people to fail, because that drags everybody down. Document things even when everybody supposedly knows those things. The list goes on, but that’s a good base for the ideas.

Check out Dreamwith Studios for more of Denise’s work.

Test Driven Development with Angular JS

This session was presented by Joe Eames @josepheames. I really wanted to go check this out, as I’ve been keen on AngularJS the last couple months but have not been able to work with it as much as I’d like to. So any exposure is good exposure in my book. This is when the bad news kicked in, I had to run off and take care of some minor priorities. Errands, ugh.

For those like me, that either weren’t at OS Bridge or missed this session, this one will be put up live at some point so keep an eye out for the videos being posted. For an immediate fix, Joe has a podcast at JavaScript Jabber. He’s also got a site related to doing TDD & JavaScript at Test Driven JS.

The standard mode of arrival at OS Bridge.
The standard mode of arrival at OS Bridge.

DIY Electric Vehicles

My friend, beverage connoisseur and JavaScripting genius Jerry Sievert @jerrysievert strolled by and mentioned DIY Electric Vehicles, DIY Electric Cars, DIY Electric Bikes and DIY DIY DIY DIY Stuffs. So I packed and headed to this workshop without any original plan to attend anything at this time.

This was a solid session with an introduction to electric vehicles, what they look like, how they work, what types of batteries are good for this use and coverage of Benjamin Kero’s @bkero DIY Electric Bike. Really cool stuff, and something that I really want to expand on and connect even more tech, similar to this plus something like Helios Bars.

Next up…

Terraformer

Terraformer is a project kicked off by Jerry Sievert @jerrysievert that provides some pretty solid mapping toolkit. For more information on this project, check out these links:

Jerry showing off other cool Terraformer features.
Jerry showing off other cool Terraformer features.

Hacker Lounge

During and after all the sessions OS Bridge is fairly well known for its awesome Hacker Lounge. Before many arrived, early in the morning just before the first keynote I snapped a wide angle of the Hacker Lounge…

Hacker Lounge, unoccupied.
Hacker Lounge, unoccupied.

…and here’s a few shots of the Hacker Lounge in full effect.

A wide angle of activity ala the Hacker Lounge. Click for full size image.
A wide angle of activity ala the Hacker Lounge. Click for full size image.

…the Lego table for solutions…

Lego table!
Lego table!

…and hardware hacking.

Hardware hacking, a little soldering brings together different worlds.
Hardware hacking, a little soldering brings together different worlds.

That’s it for day one. Happy hacking.

Conference Recap – The awe inspiring quality & number of conferences in Cascadia!

Rails 2013 Conf (April 29th-May 1st)

The Rails 2013 Conference kicked off for me, with a short bike ride through town to the conference center. The Portland conference center is one of the most connected conference centers I’ve seen; light rail, streetcar, bus, bicycle boulevards, trails & of course pedestrian access is all available. I personally have no idea if you can drive to it, but I hear there is parking & such for drivers.

Streetcars
Streetcars

Rails Conf however clearly places itself in the category of a conference of people that give a shit! This is evident in so many things among the community, from the inclusive nature creating one of the most diverse groups of developers to the fact they handed out 7 day transit passes upon picking up your Rails Conf Pass!

Bikes!
Bikes!

The keynote was by DHH (obviously right?). He laid out where the Rails stack is, some roadmap topics & drew out how much the community had grown. Overall, Rails is now in the state of maintain and grow the ideal. Considering its inclusive nature I hope to see it continue to grow and to increase options out there for people getting into software development.

Railsconf 2013
Railsconf 2013

I also met a number of people while at the conference. One person I ran into again was Travis, who lives out yonder in Jacksonville, Florida and works with Hashrocket. Travis & I, besides the pure metal, have Jacksonville as common stomping ground. Last year I’d met him while the Hash Rocket Crew were in town. We discussed Portland, where to go and how to get there, plus what Hashrocket has been up to in regards to use around Mongo, other databases and how Ruby on Rails was treating them. The conclusion, all good on the dev front!

One of these days though, the Hashrocket crew is just gonna have to move to Portland. Sorry Jacksonville, we’ll visit one day. 😉

For the later half of the conferene I actually dove out and headed down for some client discussions in the country of Southern California. Nathan Aschbacher headed up Basho attendance at the conference from this point on. Which reminds me, I’ve gotta get a sitrep with Nathan…

RICON East (May 13th & 14th)

RICON East
RICON East

Ok, so I didn’t actually attend RICON East (sad face), I had far too many things to handle over here in Portlandia – but I watched over 1/3rd of the talks via the 1080p live stream. The basic idea of the RICON Conferences, is a conference series focused on distributed systems. Riak is of course a distributed database, falling into that category, but RICON is by no means merely about Riak at all. At RICON the talks range from competing products to acedemic heavy hitting talks about how, where and why distributed systems are the future of computing. They may touch on things you may be familiar with such as;

  • PaaS (Platform as a Service)
  • Existing databases and how they may fit into the fabric of distributed systems (such as Postgresql)
  • How to scale distributed across AWS Cloud Services, Azure or other cloud providers
RICON East
RICON East

As the videos are posted online I’ll be providing some blog entries around the talks. It will however be extremely difficult to choose the first to review, just as RICON back in October of 2012, every single talk was far above the modicum of the median!

Two immediate two talks that stand out was Christopher Meiklejohn’s @cmeik talk, doing a bit o’ proofs and all, in realtime off the cuff and all. It was merely a 5 minute lightnight talk, but holy shit this guy can roll through and hand off intelligence via a talk so fast in blew my mind!

The other talk was Kyle’s, AKA @aphry, who went through network partitions with databases. Basically destroying any comfort you might have with your database being effective at getting reads in a partition event. Kyle knows his stuff, that is without doubt.

There are many others, so subscribe keep reading and I’ll be posting them in the coming weeks.

Node PDX 2013 (May 16th & 17th)

Horse_js and other characters, planning some JavaScript hacking!
Horse_js and other characters, planning some JavaScript hacking!

Holy moley we did it, again! Thanks to EVERYBODY out there in the community for helping us pull together another kick ass Node PDX event! That’s two years in a row now! My fellow cohort of Troy Howard @thoward37 and Luc Perkins @lucperkins had hustled like some crazed worker bees to get everything together and ready – as always a lot always comes together the last minute and we don’t get a wink of sleep until its all done and everybody has had a good time!

Node PDX Sticker Selection was WICKED COOL!
Node PDX Sticker Selection was WICKED COOL!

Node PDX, it’s pretty self descriptive. It’s a one Node.js conference that also includes topics on hardware, javascript on the client side and a host of other topics. It’s also Portland specific. We have Portland Local Roasted Coffee (thanks Ristretto for the pour over & Coava for the custom roast!), Portland Beer (thanks brew capital of the world!), Portland Food (thanks Nicolas’!), Portland DJs (thanks Monika Mhz!), Portland Bands and tons of Portland wierdness all over the place. It’s always a good time! We get the notion at Node PDX, with all the Portlandia spread all over it’s one of the reasons that 8-12 people move to and get hired in Portland after this conference every year (it might become a larger range, as there are a few people planning to make the move in the coming months!).

A wide angle view of Holocene where Node PDX magic happened!
A wide angle view of Holocene where Node PDX magic happened!

The talks this year increased in number, but maintained a solid range of topics. We had a node.js disco talk, client side JavaScript, sensors and node.js, and even heard about people’s personal stories of how they got into programming JavaScript. Excellent talks, and as with RICON, I’ll be posting a blog entry and adding a few penny thoughts of my own to each talk.

Polyglot Conference 2013 (May 24th Workshops, 25th Conference)

Tea & Chris kick off Polyglot Conference 2013!
Tea & Chris kick off Polyglot Conference 2013!
A smiling crowd!
A smiling crowd!

Polyglot Conference was held in Vancouver again this year, with clear intent to expand to Portland and Seattle in the coming year or two. I’m super stoked about this and will definitely be looking to help out – if you’re interested in helping let me know and I’ll get you in contact with the entire crew that’s been handling things so far!

Polyglot Conference itself is a yearly conference held as an open spaces event. The way open space conferences work is described well on Wikipedia were it is referred to as Open Spaces Technology.

The crowds amass to order the chaos of tracks.
The crowds amass to order the chaos of tracks.

The biggest problem with this conference, is that it’s technically only one day. I hope that we can extend it to two days for next year – and hopefully even have the Seattle and Portland branches go with an extended two day itenerary.

A counting system...
A counting system…

This year the break out sessions that that I attended included “Dev Tools”, “How to Be a Better Programmer”, “Go (Language) Noises”, other great sessions and I threw down a session of my own on “Distributed Systems”. Overall, great time and great sessions! I had a blast and am looking forward to next year.

By the way, I’m not sure if I’ve mentioned this at the beginning of this blog entry, but this is only THE BEGINNING OF SUMMER IN CASCADIA! I’ll have more coverage of these events and others coming up, the roadmap includes OS Bridge (where I’m also speaking) and Portland’s notorious OSCON.

Until the next conference, keep hacking on that next bad ass piece of software, cheers!