Node PDX – Introducing Zach Bobb, Paul Jungwirth, Forrest Norvell and Charlie Key

…and the fifth iteration of Node PDX Introductions!

Zach Bobb is presenting…

Building a Computer In Your Browser

Zach the TriMet Ticket Man!
Zach the TriMet Ticket Man!

Zach is a mobile engineer with GlobeSherpa working hard to bring you the app that will let you buy TriMet tickets on your phone.

Want to learn how computers work under the hood while learning Web technologies? Come learn about the Von Neumann 51, a series of tutorials that will take you through building a computer from the ground up in JavaScript, HTML5, and CSS3.

The talk will start by laying out some of the motivation behind the project and then demonstrate some of the components people will build through the tutorials: logic gates, adder circuits, displays, etc. The end of the talk will demo a prototype of the vN51.

Some of the technologies in this talk are:  D3 | A JavaScript library for dynamic data-driven SVG graphics HTML5 Canvas | Pixel manipulation for display output

Paul Jungwirth is presenting…

Handling Errors with Cluster and Domains

Paul
Paul

Paul will jump into,

Node’s callback pattern makes error handling difficult: throwing an exception kills the entire node process, terminating all current requests, and every callback initiates a new stack, so stacktraces are terse and don’t indicate how you got where you died. You can solve these problems using some newer features of Node called clusters and domains. This talk with explore using these tools for better error handling.

Forrest Norvell is presenting…

Do as I say, not as I do: Node in the real world

Forrest
Forrest

Forrest is a software engineer who has spent the better part of the last two years working with Node full-time, first working on bringing Singly’s Locker Project up to web scale, and then exploring the wilds of monitoring the performance of Node applications for New Relic. He has learned an unreasonable amount about JavaScript, V8, libuv, and making it all work well in the real world.

Forrest has spent the last year plumbing the depths of Node for New Relic, as he brings support for Node to New Relic. It’s a process that has required ingenuity, guile, and the willingness to break a lot of otherwise very sensible rules. He will take you on a tour of some of the more powerful but dangerous tools in the JavaScript toolbox: monkey patching, working with Node’s internals, and mixing synchronous and asynchronous code without setting your hair on fire.
Charlie Key is presenting…

Building a Multiplayer World for Pillow Pets

Charlie
Charlie

Charlie is Co-founder of Modulus, a premier Node.js hosting solution. He has spent the last six-years working in the software, where he has created over a dozen production websites and applications for many global brands.

He is also a core contributor on Pulse game engine and one of members of the team who developed Pillow Pets World.

The talk will dive into the design goals, architecture and end result of creating this massive virtual world. Come see how Pulse (a HTML5 game engine) and Node.js were combined to create a fast, expandable, mobile ready world. Targeting a game at 10,000,000 people? Then come and find out how Pillow Pets World was built. Pillow Pets World is a virtual world built for millions of kids. Scalability and performance were aspects that were included from the start.

The technologies included in this talk are:

Pulse | HTML5 Game Engine Node.js | Scalable small servers Socket.io | Real-time communication using Web sockets Redis | Small in memory storage used for pub/sub communication between servers

Are you signed up?  BUY YOUR TICKET FOR NODE PDX HERE

Want to learn more? http://nodepdx.org/

Want to know the dates? http://nodepdx.org/

Want to know who else is speaking? Stay tuned here or go check out http://nodepdx.org/!

Node PDX – Introducing Adam Ulvi, Aron Racho, Christopher Meiklejohn, Max Ogden and Brock Whitten!

…and the fourth iteration begins!

Adam Ulvi is presenting…

Put a Sensor On It!

Adam Ulvi
Adam Ulvi

Adam is a Portland native (straight out of the Simpsons) with a penchant for software and systems integration. 8-bit gamer, seasoned professional, perpertual noob. Specialization is for insects.

Learn how easy it is to create your own monitoring system! Hobbyist components and a rich ‘maker’ community puts advanced system designs well within the reach of your average software wonk. Stop planning and start building!

Our case study is ‘GroMon’, a solution for monitoring a tiny indoor lettuce garden. Our wireless sensor keeps track of temperature and humidity, if the plants get too hot or too cold then we are notified via text message.

We will discuss the design goals and architecture, as well as component selection, prototyping and debugging steps. With a little bit of programming skill and patience, anyone can build this network. Learn how to easily extend this solution for your own use.

Our stack is Node.js running on a Raspberry Pi. We connect over Bluetooth to an Arduino hosting a single sensor. All components can be purchased off-the-shelf, no soldering is required and the total cost is around $80. Code and bill of materials is available on GitHub, let’s hack!

Aron Racho is presenting…

Jive Purposeful Places SDK – A NodeJS Bromance

Aron
Aron

Aron Racho is a Senior Software Developer at Jive Software. Aron’s background has primarily been in Java, about 10 years in. He is a relatively recent convert to Javascript, and server-side Javascript in particular. Though relatively new to NodeJS, he has been smitten by its fluency, flexibility, and superb design. One might even say a Bromance has been started.

Ok, get ready, this description for this sessions is HUGE!

Jive Software’s latest cloud release enables 3rd party developers to easily push data marshalled from external systems of record such as Salesforce into Jive. Our aim is to publish a developer framework and API which makes it drop-dead simple — and fun — to get up-and-going from scratch, or easily integrate into an existing framework. We chose NodeJS precisely for those reasons:

  • High developer adoption
  • High velocity development — javascript! no compilation required
  • Best-in-class IDE support (IntelliJ for example)
  • Native support for REST and HTTP
  • Excellent package management system (NPM == maven the Good Parts)
  • Tons of great libraries
  • Amazing documentation, well organized, very easy to get started instantly

Our framework is built on Express, and is designed to be programmed by “convention: fill in the blanks with logic specific to your application, and as long as you’ve satisfied the contract, the framework automatically:

  • Wires up routes required for configuring your integration
  • Notifies your listeners for integration life cycle events (integration created; destroyed; updated, etc.)
  • Executes recurrent tasks you’ve scheduled
  • Handles persistence of required objects. We have support for 3 types of persistence out of the box — in-memory, file, and MondoDB.

The framework is designed for developers who want to as quickly as possible start integrating a 3rd party service with Jive, with minimum setup.

For those interested in integrating Jive into an existing NodeJS Express app, we are going to make the underlying API available to developers, allowing them finer grained control over the setup of their integration. This API will be the same one underlying the mechanics of the aforementioned framework.

For my presentation, I will be describe how we used NodeJS as the basis for this framework and API. Please note at the time of this proposal, we’ve created the framework, and are now in the process of refining the API so that it can be used independently of the framework.

Christopher Meiklejohn is presenting…

An Introduction to Functional Reactive Programming

Chris Meiklejohn
Chris Meiklejohn

Christopher Meiklejohn is a Software Engineer with Basho Technologies, Inc. where he focuses on building rich web applications for Riak using Erlang and JavaScript. Before joining Basho, he worked at Swipely, a loyalty program startup based in Providence where he maintained critical infrastructure components written in Ruby. Christopher currently serves as one of the maintainers of Rubygems.org.

Chris also knows a thing or three about this show… called The Wire… he could probably speak entirely in quotes solely from The Wire and still make complete sense. So throw a quote out, I bet he’ll catch it.

There is no doubt that todays web applications continue to grow in adoption, replacing their desktop counterparts in all areas of computation. Essential to their growth is their ability to provide near-native performance and rich user experiences. As these applications grow in essential complexity, they also grow in accidental complexity due to the imperative callback processing style found in most web applications. The asynchronous nature of most of these applications also further compounds the issues due to guarantees around message ordering, and a level of indirection required in callbacks handling events.

Functional reactive programming is one approach for mitigating accidental complexity, using a declarative and composable data-flow model. During this talk, we’ll look at the history of functional reactive programming, some JavaScript implementations of FRP, and finally some ClojureScript implementations of FRP and examples on how to get started with using functional reactive programming.

Max Ogden is presenting…

Minecraft.js

Max Ogden - Penciled and colored!
Max Ogden – Penciled and colored!

Max used to live here in Portland, and at some point defected to work on noble causes with Code for America. Since then he’s been an Oaktown Coder (Oakland, the other city near San Francisco).

In January of 2013 he started the Voxel.js Project. Since he and contributors have generatored nearly 100 node modules related to 3D game development and distribution. Examples including voxel rendering and first person controls and physics. On the main voxel-engine the project has received over 50 pull requests from 20 contributors. All of this since January. Max is going to dive into this effort and what inspiration people have taken to dive into game development with JavaScript.

Brock Whitten is presenting…

Mighty Messaging Patterns

Brock Whitten
Brock Whitten

Best know for having co-created PhoneGap, Brock went on to work at Joyent where he created the Public API for the beloved (and now sunset) No.de Platform. He’s now working on the Harp Platform where he’s worked with a team to have created a dead simple publishing platform that uses Dropbox as its deployment mechanism. Much has been learned, he’s read to share.

He describes his course as, “Messaging is the lifeblood of distributed systems yet it is often treated as an afterthought when applications are architected. Few get passed the point of tacking on a message queue to fire and forget tasks with no visibility into what is happening on the system. I’m here to tell you we can do better. That Messaging can do more for us than just put tasks in the background. By combining basic messaging paradigms we can build powerful distributed systems with full awareness of what is happening around the network. And we can do it all in pure JavaScript.

In this talk, I will start with a crash course on the basic messaging patterns push/pull, pub/sub, and request/reply and then show a real example of how we have combined these patterns to build a custom message broker that we have used to build a fully distributed and modular architecture for the Harp Platform. I will share details about what we have learned and common pitfalls to avoid when building a messaging system for your needs.

Basic outline for the talk:

  • how messaging can be useful
  • crash course on the basic message patterns
  • how to get started with zeromq/axon
  • common pitfalls when in production
  • proven trade secrets we have learned

By the end of the talk, my hope is that everyone will have a new appreciation for what can be achieved with massaging and will know where to begin when attempting to integrate messaging into their next project. I feel this aspect of building modern web applications is often overlooked and viable techniques need to be shared and discussed.

Are you signed up?  BUY YOUR TICKET FOR NODE PDX HERE

Want to learn more? http://nodepdx.org/

Want to know the dates? http://nodepdx.org/

Want to know who else is speaking? Stay tuned here or go check out http://nodepdx.org/!

Have a last minute request, idea, comment or a speaking proposal? http://nodepdx.org/

Getting Github : JavaScript Libraries Spilled EVERYWHERE! Series #003

This is an ongoing effort putting together some JavaScript app code on client and on server that started with blog entry series #001 and #002.

This how-to is going to kind of go all over the place. My goal is to get github data. The question however is, how and with what. I knew there were some available libraries, so writing straight and pulling straight off of the API myself seemed like it would be unnecessary work.

The github API documentation is located at http://developer.github.com/v3/ with the list of client libraries for ease of access listed at http://developer.github.com/v3/libraries/. The first two that I forked and cloned were the gh3 and npm installed the octonode and node-github libraries.

Node.js Based Github Libraries

The two node based projects install via npm, as things go with node and were super easy. The first one I gave a test drive to is the https://github.com/ajaxorg/node-github project. I forked it and dove right in.

[sourcecode language=”bash”]
$ npm install github
npm http GET https://registry.npmjs.org/github
npm http 200 https://registry.npmjs.org/github
npm http GET https://registry.npmjs.org/github/-/github-0.1.8.tgz
npm http 200 https://registry.npmjs.org/github/-/github-0.1.8.tgz
$
[/sourcecode]

After that quick install I took a stab at the test code they have in the README.md.

[sourcecode language=”javascript”]
var GitHubApi = require("github");

var github = new GitHubApi({
// required
version: "3.0.0",
// optional
timeout: 5000
});
github.user.getFollowingFromUser({
user: "adron"
}, function(err, res) {
console.log(JSON.stringify(res));
});
[/sourcecode]

This worked all well and good, so I moved on to some other examples. The following example however needed authentication. To authenticate you’ll need to add the little snippet below with the username and password. However there’s also a Oauth token method you can use too, which I’ve not documented below. To check out other auth methods check out the documentation.

[sourcecode language=”javascript”]
var GitHubApi = require("github");

var github = new GitHubApi({
version: "3.0.0", timeout: 5000,
});

github.authenticate({
type: "basic",
username: "adron",
password: "yoTurkiesGetYourOwn"
});

github.orgs.get({
org: "Basho"
}, function(err, res){
console.log(res);
});
[/sourcecode]

The result is prefect for putting together a good display page or something of the organizations.

[sourcecode language=”bash”]
$ node adron_test.js
{ login: ‘basho’,
id: 176293,
url: ‘https://api.github.com/orgs/basho’,
repos_url: ‘https://api.github.com/orgs/basho/repos’,
events_url: ‘https://api.github.com/orgs/basho/events’,
members_url: ‘https://api.github.com/orgs/basho/members{/member}’,
public_members_url: ‘https://api.github.com/orgs/basho/public_members{/member}’,
avatar_url: ‘https://secure.gravatar.com/avatar/ce5141b78d2fe237e8bfba49d6aff405?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-org-420.png’,
name: ‘Basho Technologies’,
company: Basho,
blog: ‘http://basho.com/blog/’,
location: ‘Cambridge, MA’,
email: null,
public_repos: 105,
public_gists: 0,
followers: 0,
following: 0,
html_url: ‘https://github.com/basho’,
created_at: ‘2010-01-04T19:05:19Z’,
updated_at: ‘2013-03-17T20:29:09Z’,
type: ‘Organization’,
total_private_repos: YYY,
owned_private_repos: XXX,
private_gists: 0,
disk_usage: 788016,
collaborators: 0,
billing_email: ‘not_a_valid_address@basho.com’,
plan: { name: ‘platinum’, space: 62914560, private_repos: billions },
meta: { ‘x-ratelimit-limit’: ‘5000’, ‘x-ratelimit-remaining’: ‘azillion’ }
}
[/sourcecode]

Now at this point there’s a few significant problems. Setting up tests of the integration variety for this library gets real tricky because you need to authenticate, or at least I do for the data that I want. This doesn’t bode well for sending any integration tests or otherwise to Travis-CI or otherwise. So even though this library works, and would be processed on the server-side and not on the client side, having it as a non-tested part of the code base bothers me a bit. What’s a good way to setup tests to verify that things are working? I’ll get that figured out shortly and it’ll have to be another blog entry, maybe. For now though, let’s jump into the client side library and see how it functions.

Client Side JavaScript Github

For the client side I started testing around with the gh3 library. It has two dependencies, jQuery and Underscore.js. jQuery is likely always going to be in your projects. Underscore.js is also pretty common, but sometimes you’ll find you’ll need to go download the library. Upon download and getting the additional libraries I needed installed, I gave the default sample a shot.

[sourcecode language=”html”]
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>gh3 Sample</title>
</head>
<body>
<ul id="user"></ul>
</body>
<script src="js/jquery-1.7.1.min.js"></script>
<script src="js/underscore-min.js"></script>
<script src="js/gh3.js"></script>
<script>
var adron = new Gh3.User("adron")
, userInfos = $("#user");

adron.fetch(function (err, resUser){
if(err) {
throw "outch …"
}
console.log(adron, resUser);
_.each(_.keys(resUser), function (prop) {
userInfos.append(
$(‘<li>’).append(prop+" : "+resUser[prop])
);
});
});
</script>
</html>
[/sourcecode]

This worked pretty seamlessly. Also it got me thinking, “what do I really want to do with the github library?” If it’s a server side service, obviously I’d want to use the Node.js libraries probably. However if it is client side data I want, is it even ideal that the server side actually pull the data anyway? The other issues around cross site scripting and related matters come into play too if it is a client side script, but this might be, even in spite of that, just what I needed. For now, that left me with some solid things to think about. But I was done for now… so until next entry, cheers!

January 2013 Meetups: TypeScript, Riak, .NET, JavaScript… re: Calagator

Here’s a few of the meetups I’m going to aim to attend this month. Hope to see some fellow coders there.

PADNUG…

…is having a TypeScript Introduction. There’s a lot of those made up marketing words thrown around in the description such as “Application-Scale JavaScript Development”. Maybe TypeScript is magic, but overall it seems to be suspicious. Also, this talk is about how TypeScript will help you write Windows 8 Apps, so you’ve been warned. The kool-aid will be in effect. If you want to learn more about it, go check out the PADNUG meetup on January the 8th at 6:00pm. Intel Hawthorn Farms 3 (HF3) Campus, 5200 NE Elam Young Parkway, Hillsobor, OR 97124.

Portland Ruby Brigade…

…is having their regular monthly meetup at Crowd Compass. If you want to know more about the topic, material or other information about the user group jump into the Google Group to get started. This is a very fluid and flexible group, sometimes having an open discussion, a presentation or some other type of event. Crowd Compass, 2505 SE 11th Ave, #300, Portland, OR 97202. The location is in the Ford Building, with the easiest access straight in to the Ford Food & Drink.

Portland Riak Users Group…

…will meet at AppFog (as of this time) at 6:30pm on January 28th, more info & address on the meetup page. We have a coder/hacker/databaser by the name of Jeremiah Peschka @peschkaj coming in to tell us about the open source project he and OJ @TheColonial have been working on called Corrugated Iron. Corrugated Iron is a .NET Client for Riak, so holds a lot of potential for .NET shops to get into the distributed database world. So come check out the meetup, we’ll be having pizza and likely a bucket full of beer!

There are others, but these are the events that caught my eye. Check them out, I might see you there and if not, let me know how they go. If you’re looking into some other meetups or events, check out Calagator, the Portland Tech Scene Calendar of events.  🙂

My Year of Coding, Messaging, Learning, Leading, Reconoitering, and Hacking in Photos

Hope you have a little patience, this blog entry is going to be pretty long. There was a multitude of conferences, more than a hundred pair coding sessions, more cities, hotels and other things as I criss crossed the country helping to knock out projects, code, fire off some open source projects and generally get some technology implemented. It has been a spectacular year. I also could add, it has thoroughly kicked my ass and I’ve loved it.

2012 Coding Projects

In 2012 I’ve taken the healm of the Iron Foundry Project which led to the creation of Tier 3 Web Fabric PaaS. A Cloud Foundry & Iron Foundry .NET based PaaS. From there the project led to an expansion of leading the efforts on the Thor Project, which is a Cloud Foundry User Interface for OS-X and Windows 7. Beyond that I’ve contributed to and participated in dozens of different projects in various ways over the year. I finished up this year by joining Basho in December and thus, joined the Riak & related Basho Projects.

Coding Project Aims For 2013

Some of the projects I’ve started, will join or hope to otherwise continue participation in include the following. Here’s to hoping 2013 is a hard core coding and contributing year of excellence!

  • Many of the Basho Organization’s Projects I’ll be diving into, including work around Rebar, Riak, Docs & a number of others.
  • Name Factory – a project I’ve started a while back of Riak + JavaScript around creating massive test data with JavaScript and also using Riak for the storage & searching on that data created.
  • Criollo – Criollo is one of the most common forms of cocoa, is a native OS-X Cocoa User Interface for distributed systems built on or using Riak.
  • SpikeOp – This I’ve dubbed the name of the iOS interface for distributed systems built on or using Riak.
  • I want to use and possibly contribute to Corrugated Iron, the .NET Client for Riak. Prospectively to use for a Windows 8 User Interface for distributed systems built on or using Riak.
  • I’ll continue to maintain and provide support for the Iron Foundry vcap-client Library currently available via Nuget for .NET.
  • Thor Project for Cocoa & Thor .NET for Cloud Foundry & Iron Foundry.
  • Expand on prospective services for Cloud Foundry, either I or efforts I may lead to do this.

…there are others, but they’ll have to be figured out during the course of events. Also, there are an easy dozen other projects I’ll be working that don’t particularly have to do with coding, two are listed below. For an easy way to keep up with the projects I’m coding on, leading, participating in or otherwise hit me up on Twitter @adron or ADN @adron.

Big Project Aims for 2013

Thrashing Code Project – This is sort of, kind of secret. It’s going to happen soon, I have a personal schedule for it and I’ll be releasing information accordingly when the site and twitter account goes live.

Tour Triumvirate – I intend to plan, and hopefully will take at least 2 of the three tech tours I setup. More information will be forthcoming, but the original notion is outlined in the blog entry I wrote titled “The Adron Code Tour, Let’s Hack, Bike and Talk Hard Core Technology“.

Books I’ve Read in 2012

All of these I’ve either read or re-read in 2012. I set a goal at the beginning of last year to get my ass in gear when it comes to reading. A focused, get it read, understood and learn approach. I think I did pretty good overall. Not a book a week, but I’m getting back in gear. Considering my best year of reading was 100+ books, it might be a difficult to reach that again since I’m a working citizen, versus a child with plenty of time on their hands. But, it’s good to have goals.  😉

  • The Clean Coder: A Code of Conduct for Professional Programmers
  • The Rails 3 Way
  • Eloquent Ruby
  • The Economics of Freedom: What Your Professors Won’t Tell You, Selected Works of Frederic Bastiat
  • The Myth of the Robber Barons
  • Excellence Without a Soul: Does Liberal Education Have a Future?
  • Seven Databases in Seven Weeks: A Guide to Modern Databases and the NoSQL Movement
  • Surely You’re Joking, Mr. Feynman!
  • The Innovator’s Dilemma: The Revolutionary Book That Will Change the Way You Do Business
  • The Lean Startup: How Today’s Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses
  • 8 Things We Hate About IT: How to Move Beyond the Frustrations to Form a New Partnership with IT
  • Smart and Gets Things Done: Joel Spolsky’s Concise Guide to Finding the Best Technical Talent
  • Rework
  • Steve Jobs
  • Eloquent JavaScript: A Modern Introduction to Programming
  • JavaScript: The Good Parts
  • Node for Front-End Developers
  • First Contact (In Her Name: The Last War, #1)
  • Cloudonomics: The Business Value of Cloud Computing
  • The REST API Design Handbook
  • HTML5 Canvas
  • HTML5: Up and Running
  • Triumph of the City: How Our Greatest Invention Makes Us Richer, Smarter, Greener, Healthier, and Happier
  • Traffic

Book Reading Aims for 2013

  • Natural Capitalism
  • How God Changes Your Brain: Breakthrough Findings from a Leading Neuroscientist
  • Discourse on the Method of Rightly Conducting One’s Reason and of Seeking Truth in the Sciences
  • Political Ideals
  • The Autobiography of Benjamin Franklin
  • Wrestling with Moses: How Jane Jacobs Took On New York’s Master Builder and Transformed the American City
  • Bikenomics: An Introduction to the Bicycle Economy
  • Everyday Bicycling: How to Ride a Bike for Transportation (Whatever Your Lifestyle)
  • Just Ride: A Radically Practical Guide to Riding Your Bike
  • Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation
  • Erlang Programming
  • Building Web Applications with Erlang: Working with REST and Web Sockets on Yaws
  • Think Complexity: Complexity Science and Computational Modeling
  • Async JavaScript
  • Smashing Node.js: JavaScript Everywhere (Smashing Magazine Book Series)
  • Windows PowerShell for Developers
  • How to Use the Unix-Linux vi Text Editor
  • Sketching User Experiences: The Workbook
  • Designing Interfaces
  • Information Architecture for the World Wide Web: Designing Large-Scale Web Sites
  • Consider Phlebas
  • Snow Crash
  • How to Change the World: Social Entrepreneurs and the Power of New Ideas
  • Mission, Inc.: The Practitioner’s Guide to Social Enterprise
  • Simply Complexity
  • Complex Adaptive Systems: An Introduction to Computational Models of Social Life (Princeton Studies in Complexity)
  • Thinking In Systems: A Primer
  • Thinking, Fast and Slow
  • Programming in Objective-C
  • Learning iPad Programming: A Hands-on Guide to Building iPad Apps with iOS 5
  • Cocoa Programming for Mac OS X
  • Getting Started with GEO, CouchDB, and Node.js
  • JavaScript Web Applications
  • Suburban Nation: The Rise of Sprawl and the Decline of the American Dream
  • Design Patterns in Ruby

…and the two books I’d like to re-read this year because they’re just absurdly entertaining and I’d like a refresher of the stories.

  • A Confederacy of Dunces (I’ll be reading this for the 2nd time)
  • The Hitchhiker’s Guide to the Galaxy (Yup, just want to read it again)

My 2012 Coder’s Year in Photos

What I’ve put together here is a photo story of the year, hopefully it’s entertaining in some way. With that, here’s a review of the year, cheers and happy new year! 2012 started with one of my last hack sessions as a Seattle Resident at Ruby at Racer weekly meetup.

Ruby at Racer Meetup
Ruby at Racer Meetup

Meanwhile some of my last views from Russell Investments. Absolutely beautiful, epic and awe inspiring views of the Puget Sound from the Emerald City of Seattle.

View from Russell Investments Seattle Headquarters, stunning!
View from Russell Investments Seattle Headquarters, stunning!

Then a fitting image, from the business meeting floor of the same building, the settings sun for my departure.

Overlooking the Puget Sound, Japanese Garden in the forefront from the Russell Investments Building in Seattle.
Overlooking the Puget Sound, Japanese Garden in the forefront from the Russell Investments Building in Seattle.

February of 2012 kicked of with my return to Portland, Oregon. Stumptown regularly welcomed me back more than a few moments.

Stumptown Morning Brew
Stumptown Morning Brew

One of the first meetups I attended back in Portland was the DevOps Meetup.

DevOps DevOpers Hanging around pre-meeting at PuppetLabs in Portland.
DevOps DevOpers Hanging around pre-meeting at PuppetLabs in Portland.

That DevOps meetup just happened to have a session on one of the code bases I was working with, Cloud Foundry.

Cloud Foundry preso on how the pull requests and such where going to be built into a process, which still today is rather cumbersome for community involvement. However, it's still moving forward, albeit at a slower pace than it could if it was streamlined around github instead of github being an
Cloud Foundry preso on how the pull requests and such where going to be built into a process, which still today is rather cumbersome for community involvement. However, it’s still moving forward, albeit at a slower pace than it could if it was streamlined around github instead of github being an “end point” read only repository…

While my move consisted of many a couch, as I just couch surfed for the first 45 or so days I was back in Portland, I finally moved into a place at the Indigo in downtown.

My New Place, priorities as they are my system sits in the corner ready for use.
My New Place, priorities as they are my system sits in the corner ready for use.

The new system, albeit a great Christmas present from 2011, became the defacto work system of 2012 and remains one of my top machines. Mac Book Air w/ 4GB RAM, i5 Proc, 256 GB SSD. Not a bad machine.

2011 Mac Book Air, settled into it's workspace cradle.
2011 Mac Book Air, settled into it’s workspace cradle.

A view from on high, looking down upon the streets of San Francisco from the New Relic Offices. Thanks for the invite and the visit, it was great meeting the great team at New Relic San Francisco!

New Relic San Francisco View
New Relic San Francisco View

Getting around on my first trip to San Francisco of 2012. Thanks to John, Bjorn, Bill, John and the whole team in Portland and San Francisco for the invite. Great talking to you guys.

MUNI Streetcar FTW!
MUNI Streetcar FTW!

On the same trip it began pouring rain as I’d never seen before in San Francisco. I sat by Duboche Park, staying warm and away from drowning! Arriving outside was one of the MUNIs that eventually I was rescued by from the torrential floods and returned to downtown, dry and intact!

MUNI to the rescue on the torrential downpour of the year in San Francisco.
MUNI to the rescue on the torrential downpour of the year in San Francisco.

…and Julia thanks for the tour around San Francisco and the extra tasty lunch at EAT!! Good times!

Eating at the EAT sign!
Eating at the EAT sign!

Amidst all these images, I threw together some into a collage. There are a number of awesome coders & hackers of all sorts in these images. Shout out to Jerry Sievert, Eric Sterling,

Snikies, a collage I made!!!! (This one you can click on for a full size image)
Snikies, a collage I made!!!! (This one you can click on for a full size image)

…and alas I’ll have another zillion images and such as we all roll into 2013 and onward. Cheers! For some more new years posts I’ve found useful check out this list, which I’ll be adding to over the next few days.