OS Bridge 2012 :: Day #1 :: How I Got Here…

All OS Bridge Attendees
The bikes of OS Bridge Attendees, we’re cool like that… (Click for full size image)

Today was the kick off of OS Bridge 2012. I jumped aboard my trusty steed (bicycle) for the mighty 6 block ride to the conference. Yeah, I could have just walked, but I just felt like getting their the fastest way possible. After arriving I was immediately faced with two great greetings. The first one went like this.

The “Do you do .NET still” Introduction

Hey Adron, how are you?

I’m good, and you?

Doing well, hey…  so are you still doing that .NET stuff?

OS Bridge 2012
OS Bridge 2012

Funny how after all this time of using JavaScript, working with Node.js, Ruby, deploying with Sinatra and Rails and even tweaking around with Objective-C that I still get this question. I’ve branched out, I’m not a limited, mono-language, mort Microsoft programmer. Technically I never have been, I’ve always had a passion for things besides the Microsoft ‘just feed me’ stack. It just happened to pay my bills for a while. What is really happening here though, to paraphrase, is someone asking “so are you working with any interesting problems these days?”

The sad fact that most programmers, even people who code with .NET everyday, feel and observe almost nothing interesting happening in the .NET stack these days. Generally almost no startups use it. The vast majority of scientists don’t. Overall there isn’t much of it in colleges either these days. All for a deluge of reasons.

Rest assured, I’ve observed this, and this is merely a single reason that I commonly use many other languages. This is the reason I never get mad when people ask me this. I understand the preloaded context, it’s ok. Microsoft & their communities did this to the .NET stack, it’s unfortunate.

The simple truth is that many companies trying to solve hard problems, do genomic research, figure out how to launch rockets, and other really exciting interesting problems use almost anything except Microsoft’s stack. So yes, I’m doing .NET stuff, but I do a ton of other things based on what the job requires. I’m a firm believer of using the right tool for the job, and sometimes that is indeed .NET. So what was my answer?

Yeah, still doing .NET. Along with Node.js with JavaScript, Ruby, working on learning some Scala, how to test better in Javascript and Ruby, and even trying to schedule myself some time to jump into Go!

Yup, I was more prepared for this question than I was in the past.

The next introduction that came at me was much simpler.

Hey Adron, how goes things?

Things go well

What is it you do these days? I know you’re working with Iron Foundry and blog with New Relic sometimes, but what do you actually do besides that?

I went on to explain my rather exhaustive range of work I do. Ranging from the coding to the organizational community things. All good stuff that led our conversation down different routes.

Both of these introductions went well and I dig both of them, albeit I need a pre-printed response to the .NET question. Breakfast muffins were great and then the several hundred people at the conference went to find seats in the main sanctuary room for the keynote.

The Keynote

A few key quotes from the keynote by Sumana Harihareswara (@brainwane), via Twitter.

“@demew: #osb12 is already off to a ridiculous start because of the KEYNOTE ORGANIST” Really?

to change open source girls have to be able to say about the local open source event “its okay mom, there will be other girls there”#osb12

“Help these kids fight their parents!” #osb12

The summary of the keynote is one that should resound loudly in America,

“…being free is better than being safe…”

Session Notes

NGINX Talk
NGINX Talk w/ Cliff Wells

Nginx, Overview and Deployment

The first session I attended was the session on Nginx by Cliff Wells (@cliff_wells). A few notes from this session:

  • NGINX is the #2 web server.  (Really? I figured it was Apache and then… hmmm, maybe this IS true.)
  • Get a static file serving boost from NGINX, ala, don’t make Node.js serve your static files. (Yup, know this all too well now.)
  • NGINX cannot spawn processes and cannot block.  (This is not Node.js, which is a good thing, it does the other work.)

There were a few other bits, but those were the main takeaways. The main reason I jumped into this session was because I wanted a more context around what NGINX is exactly. I got some of this, which is handy to know since this server is used in so many projects I’ve been working recently. Specifically it is readily used in Cloud Foundry.

How We Went Remote

This talk seemed like a keen match to a lot of the work I do. I’m remote for about 90% or more of my work these days. I code remotely, work up blog entries, articles, media calls, and related communications all from locations that are remote from their point of presence.

…errr, well, I tried to attend this one. Some work coding priorities trumped the evening session so I had to jet out of the conference. I did, as I coded away, kept an eye on all the tweets coming from the conference. It sounded like a great session. I have, unto the topic, a whole lot more to add. So maybe I can just spawn this into a blog entry at some point.

With that, have no fear, I’ll be back tomorrow for day #2 & the respective coverage of the event!

An Open Source Software ala VMware Guide :: A.K.A. Get Clarity on Contributing to the CloudFoundry Project!

I’ve jumped into committing some source code to the Cloud Foundry Project and I wanted to document the process so far. The Cloud Foundry project is a little trickier than most open source projects, because there are a host of tools around the process. As that is the case, it isn’t a simple github repository with easy to push pull requests and other flows. Instead, there’s a trick to it all and that’s what this blog entry is about. These observations about getting a first pull request submitted:

  • The instructions, sort of, are located here for contributions: http://cloudfoundry.org/contribute There however seems to be some key parts missing from these (or I didn’t find them on any of the immediate links). The main one being any connection, information, or workflow around the internal git repository that they have setup. That should be more prominently displayed. Can I submit a pull request for the contributions page?  🙂
  • The github repository. I won’t beat around the bush on this particular observation. The github repository is almost entirely useless. You can’t send pull requests to it, nobody communicates around it, and all the existing pull requests are dead. It is a read-only repo of the internal git repo. So don’t look there for any key pieces of information – check the Google Groups and other information I’ve linked in this blog entry.
  • The real code base is in an internal git repository held by VMware that has a gerrit (code review) + Jenkins (awesome build server). This is actually a pretty slick setup. Albeit I admit this is absolutely more work for contributors. But when you got a hot potato you gotta pass around the pain (is that even an colloquialism? Probably not, so I just made it up).
  • There are some very useful google groups that you should sign up for if you intend to contribute code to Cloud Foundry.  This is where all the super smart and also friendly Cloud Foundry core team hang out. Even if you aren’t going to commit code, go sign up anyway. You’ll be able to get a lot of very useful information from these guys related to setting up, using, and deploying Cloud Foundry. http://groups.google.com/a/cloudfoundry.org/groups/dir
  • They also ask you to sign a document related to contributions located here: http://cloudfoundry.org/individualcontribution.pdf basically promising you didn’t steal someone else’s code and that you won’t sue VMware for making this code public.
  • The JIRA site (another account login you’ll need to setup, it is worth it to, so get one if you intend to commit code. Otherwise if you just want to lurk then don’t really worry about the JIRA site too much.)
  • Once you are logged in to the Google Groups you can hit this link: https://groups.google.com/a/cloudfoundry.org/group/vcap-dev/browse_thread/thread/af205159a17ec358 which actually has the best instructions I’ve found on getting a good clone and submitting a pull request via the gerrit command line tool.
  • Another more immediate way to get help is to bounce into IRC via freenode and join the #cloudfoundry channel. The core devs plus a number of other coders hang out in that room.

Getting it Cloned

Per the instructions above, the first thing you’ll need is the code base. You’ll need to make sure you have a gerrit account first and that you’ve submitted your SSH public keys to gain access. Then get the vcap code base via the gerrit CLI:

[sourcecode language=”bash”]
$ sudo gem install gerrit-cli
Password:
Successfully installed gerrit-cli-0.0.11 gem installed
Installing ri documentation for gerrit-cli-0.0.1…
Installing RDoc documentation for gerrit-cli-0.0.1…
$
[/sourcecode]

I left the results of the command in just for familiarities sake. The next command is to clone the repo gerrit style.

[sourcecode language=”bash”]
$ gerrit clone ssh://adron@reviews.cloudfoundry.org:29418/vcap
Cloning into ‘vcap’…remote:
Counting objects: 12253, doneremote: Finding sources: 100% (12253/12253)Receiving objects: 89% (10961/12253), Receiving objects: 89% (10961/12253), Receiving objects: 89% (10961/12253), Receiving objects: 89% (10961/12253), Receiving objects: 89% (10961/12253), Receiving objects: 89% (10961/12253), 247.05Receiving objects: 94% (11631/12
Receiving objects: 94% (11631/12253), Receiving objects: 94% (11631/12253), Receiving objects: 94% (11631/12253), Receiving objects: 94% (11631/12253), 548.27 MiB | 105
remote: Total 12253 (delta 6438), reused 11765 (delta 6438)
Receiving objects: 100% (12253/12253), 773.92 MiB | 311 KiB/s, done.

Resolving deltas: 100% (6438/6438), done.

Installing commit-msg hooks into ‘vcap/.git/hooks’.commit-msg
100% 2331 2.3KB/s 00:00

Installing tracked git hooks:

$[/sourcecode]

NOTE: This will likely take a long while for the vcap repo. It took me about 45 minutes to clone. That’s based on two seperate machines on two different fast internet connections with two different operating systems.  So just be patient.

Then just cd vcap into the working directory and create your changes. Once the changes are committed then pull the latest, merging again if needed, and then push the pull request via the following command.

[sourcecode language=”bash”]
$ gerrit push[/sourcecode]

Once that is done your pull request will be put into the continuous integration build queue. Then someone from the core team will up vote your code or deny it with reasons. You can check out the status:

The OSS-Docs are located on Github, check those out here. They’re not super complete, but the information they do have in them is pretty solid. So check these out while hacking:  https://github.com/cloudfoundry/oss-docs.

In my next write up about my efforts with Cloud Foundry, I’ll dive into what I’m pushing and what for. So keep reading, I’ll be back with more good bits.

Learn About TDD, Cloud Foundry, OSS, and OS Bridge

I’ll be attending OS Bridge (you should attend too, it’s only a few hundred bucks!!) this year. Hopefully I’ll be presenting also but I need everybody’s help! If you would, favorite (with the star) my presentations/workshops. Also leave a note of feedback related to how you’d dig seeing me present!  (I’ll owe ya a beer, feel free to call me on it at OS Bridge and the round is on me!)

Presentation #1:  Putting It Together, Letting Apps Lead the Cycle, TDD in the Cloud (Click Here to Favorite)

I’ll be taking a deep dive into cloud architectures and how to build applications, generally at the PaaS level mixed with a little IaaS, to get people rolling with high velocity, high quality, and without the need to worry about the little things.

Description

Want to learn about why PaaS and cloud computing is altering the very fabric of the development cycle? Want to know how to dive in with some abstractions and behavioral practices on the cloud, using PaaS, to bring apps, prototypes, and UX to market faster than anyone else? I’ll be touching on all of these things during this long form session. The sessions will step through these core concepts and ideas.

  • How to get up and running using cloud computing technologies and specifically to take advantage of PaaS providers.
  • How to bring UX designs and prototypes into a usable state even faster.
  • How to bridge that gap between development, test, QA, user acceptance testing, staging, and production (or whatever environments…) without blowing the bank.
  • How to scale, once the cycle is in place and continuous deployment is ready.

Presentation #2: Removing the Operating System Barrier with Platform as a Service (Click Here to Favorite)

This session will cover the major advances of platform as a service technology, what’s available in the OSS space to enable faster, easier, higher quality software development cycles in the cloud. The session will complete with a demo of PAAS technology in use, deploying a highly scalable, distributed & dispersed web application.

Description

This presentation will show why PAAS is the way of the future for application deployments. Enterprise, small business, and especially startups will want to learn more about the available PAAS OSS technology and also learn about what is coming in the near future.

This presentation will build upon my New Relic Blog Series on “Removing the Operating System Barrier with Platform as a Service”:

OS Bridge 2012++ Hacker Lounge++

I’ve submitted some talks to OS Bridge so I hope to see a ton of people there! 🙂 The two sessions that I’ve put forth, if accepted of course, go something like this.


Removing the Operating System Barrier with Platform as a Service (PaaS) (45 minute session)

This session will cover the major advances of platform as a service technology, what’s available in the OSS space to enable faster, easier, higher quality software development cycles in the cloud. The session will complete with a demo of PAAS technology in use, deploying a highly scalable, distributed & dispersed web application.

This session will show why PAAS is the way of the future for application deployments. Enterprise, small business, and especially startups will want to learn more about the available PAAS OSS technology and also learn about what is coming in the near future.

The presentation is setup to not only cover the immediate technologies of IAAS and SAAS in relation to PAASbut also real life examples of how PAAS gives a competitive advantage to any software development effort.

I’ll be using a presentation, asking the audience questions to involve them, and also some prospective video along with a real production style deployment of code to involve the audience.

Putting It Together, Letting Apps Lead the Cycle, TDD in the Cloud (1 hr 45 min)

I’ll be taking a deep dive into cloud architectures and how to build applications, generally at the PaaS level mixed with a little IaaS, to get people rolling with high velocity, high quality, and without the need to worry about the little things.

Want to learn about why PaaS and cloud computing is altering the very fabric of the development cycle? Want to know how to dive in with some abstractions and behavioral practices on the cloud, using PaaS, to bring apps, prototypes, and UX to market faster than anyone else? I’ll be touching on all of these things during this long form session. The sessions will step through these core concepts and ideas.

  • How to get up and running using cloud computing technologies and specifically to take advantage of PaaS providers.
  • How to bring UX designs and prototypes into a usable state even faster.
  • How to bridge that gap between development, test, QA, user acceptance testing, staging, and production (or whatever environments…) without blowing the bank.
  • How to scale, once the cycle is in place and continuous deployment is ready.

OS Bridge == Great Time, Great Experience, and Lots of Learning

OS Bridge is by far one of the best conferences in the northwest, in addition it isn’t stupidly expensive (sign up now for a cheap $225 bills (in April it bounces up to $300, so hurry up, that $75 bucks will feed your for the whole week at the spectacular Portland food carts!)
Either way, I hope to see all you bad ass coders there so I can buy ya some drinks, eat some meals with everybody, and starting thinking about the next awesome thing!

Spotlight on HP Open Source

While at OSCON 2011 I spoke to a Phil Robb, Bryan Gartner, and Terri Molini with HP. Phil is heading up the Open Source Program Office for HP, which we spoke about.

Context and Clarity: I knew HP was involved in cloud computing to some degree, know they make tons of devices, hardware, printers, and know they are involved in open source. Beyond that I did not know too much about any particular aspect of HP, nor have I ever worked for them. So if I swoon in response to any of their products or open source efforts don’t think I’m just being a shill, because if you know me, you know better! With that, let’s hit on this discussion and exploration of HP.

The first BIG thing that HP announced, that we all learned about at once via OSCON is HP’s signing up to support the OpenStack Project!  This is pretty big news, as OpenStack is a big deal for future Cloud Computing Development focuses on enabling a company versus locking them into a single provider. For those that don’t know much about OpenStack, I’ll be publishing a Spotlight on OpenStack in the near future!

Cloud Computing, Not Just OpenStack

During our conversation, one of the things I really wanted to know about was HP’s efforts around cloud computing without any specific focus. I wanted to know where they are headed, what their plans are, and how they’re currently involved. Of course many of those questions can be answered just by looking at HP’s signing on with OpenStack! Me being the curious type, I wanted more though.

Phil laid out the focus for me with a great quote, “Open Source & Mobile is exceedingly important, and we’re right there with cloud technologies as well.”  As our conversation progressed it is evident that HP has many current inroads they’re making into cloud computing. Some of those include Linux (of course that’s a no brainer! :)), the LinuxCOE, and other deployment and management software.

Talking to Phil, Bryan, and some other HP Devs and Evangelists we discussed the various approachs HP is taking to get people “cloud enabled”. Their approach is open, as one might expect, and encompasses a wide breadth of capabilities. One of the approaches they have is the distribution of virtual images, regardless of your virtualization software. They’ve worked to provide additional ways to expand and distribute images as necessary.

Web OS, Webkit, and V8

HP also contributes or works with several technologies within the JavaScript Tech Stack including Node.js, V8, and Webkit. They also use these tools extensively in putting together solutions for WebOS or other tool stacks internally. I’m always stoked to hear about more companies and individuals stepping in and contributing even more to Node.js, V8, and that whole echelon of server side js technology.

Other tools, technologies and efforts they’re actively contributing to in some way or another include jQuery, PhoneGap Applications, and others. HP reviews several thousands projects monthly and makes decisions to get involved or contribute in other ways.

Summary

HP is a major contributor of several major open source projects. They contribute actively and are involved actively, making a positive impact to the community and projects themselves. HP’s ongoing efforts with cloud computing is continuing to grow, and with the recent boarding of the OpenStack train they’re in line to make some major steps into the cloud computing world. Overall, I’m impressed, to HP & the teams there, keep up the good work. You guys and gals are kicking ass!