Plotting Good Things in Portland :: pdxbridge.js / WTF Databases /

Several people got together yesterday to start planning things for 2014 in PDX. It ranged from coding workshops to PDX Node to Node PDX to what kind of food to eat at for lunch. Ya know, daily tactical things that come along with the big picture items. 😉

bridge.js badge.
bridge.js badge.

Two things that I want to bring up to the community out there. One is a workshop that I’ll likely lead efforts to organize and the other is something I’ll just call pdxbridge.js for now. The workshop will cover the topics of which and what databases to use for what data and how to implement. The pdxbridge.js project is about determining the raised or lowered state of the bridges here in Portland.

Some of the other projects, workshops and other topics we discussed included getting a workshop put together around unit, integration and testing code from a behavioral, test driven development or other approaches. This workshop we don’t have anyone to teach, but we’d (ok, so I really really would love to attend a workshop on this) really like to find somebody who would be willing to teach a workshop of this sort, with a focus on Javascript as the language. On that same topic however, if you’re into Java, Erlang, Scala, Haskell or others and would like to teach a TDD, BDD or related testing workshop please get in touch with me. We will work on making that happen! Ping me at adron at composite code dot com. 😉

Workshop: Intro to Databases & Data

(Relational, Key/Value, Distributed, Graph, Event Series, etc.)

This is a course I’ll lead and others will work with me on to put something extra useful together. We will then teach the workshop as a group, kind of a team paired programming teaching workshop. If there is anything in particular that you’d like to learn about, any questions that you have about data and usage in applications or otherwise add your two cents on this blog entries comments. Over the next month we’ll be putting together the material and have the course available sometime early this year. So if you’d like to attend, jump in at any time with the conversation or just keep a read here and I’ll have more information about the course as we get it put together.

Let’s Make pdxbridge.js Happen!

The pdxbridge.js project is all about determining if a bridge in Portland is up or down. Right now there are  several bridges that matter, that are on this list;

If we add other information to track about the bridges we might add the other 3 that exist and the new bridge that is being built. however the five listed are the only bridges that have a raised and lowered state, and in one case the Steel Bridge has a lowered, partially raised and fully raised state. As shown on the pdxbridge.js badge I threw together (shown above).

To get involved with pdxbridge.js go add your input on this issue I started to discuss our first meet, plan and hack.

2013 Dies, 2014 Lives… To a New Year!

My feelings on new years resolutions is pretty dry. Namely, I think they’re rather stupid. The main reason being this, if one is only checking their life, place and accomplishments once a year they’re forgetting most of them and remembering little if any accomplishments. It reminds me of the hierarchical nonsense of western European derived management culture. Something that is horribly out of space, time and element in today’s world. It has really shown it’s age but refuses to let go and disappear.

But, in humor of the past, to humor the age old hierarchical notions of the past, present and future. He’s my cheers to 2013 as it dies and my cheers to 2014 and what may come. First, what’s been done. As I was saying, I’m not a fan of wait a whole year to review things, and I’ve done plenty of reviewing over the last year. That’s include making hard decisions and kicking some serious ass. I’ve made huge changes, not just in my life, but in the direction I’m heading in my career (if you’d even call what I do a career, there isn’t exactly a defined path).

Accomplishments

I haven’t worked for a company in 4 months. I’d want to stop doing that for many months and strike out and try something of my own. Run a startup, build a startup, work as a purely individual contractor and contributor or something. Something were I wasn’t collecting a set pay check by a set company that could at whim do whatever it wanted with me, the project and such. I wanted a truly greenfield effort and a greenfield gig. So what did I do?

Beer

I sat on my porch for 2 months, enjoyed the waning summer and drank a few beers. Amazing and tasty brews from local brewers in San Francisco, Portland, Seattle and a few other locations. Most of them, from right here in the beer capital of the world Portland, Oregon. I spent a few evening just hanging out with friends, fellow coders, metal heads and musicians at heart at Bailey’s Tap Room. A lot of hanging out there, but it went further then that. I jammed with a multitude of street musicians, hoodie donned and pulled to. It was very enjoyable.

During all of this time I didn’t really throw a lick of code. I didn’t implement anything. I didn’t even really think that much about stuff. I read a few things here and there and did study a little bit. But mostly I just did a lot of hanging out, sitting, chilling and introspecting about what I wanted to do next.

The Changes: Change #1 a Calendar

After that 2 months of getting all fat and happy. Just enjoying life and pondering all that is the first big change happened. It’s kind of stupid, but it is a huge change for me. I updated my calendar to actually reflect what the hell I’m doing. I’ve made a point in the last 2 plus months to keep it up to date too. It’s amazing how much easier the day to day is when the calendar is up to date. It seems like a small thing. Something of the “well no shit Sherlock” category of obvious. But it has indeed shifted the way I work and the way I stay organized for the better.

The Changes: Change #2 Fukkit, OS-X & All the OSs it must be. Windows is officially dead to me.

With the last few months at Basho I’d bought an X1 Carbon, using mostly with Ubuntu but also having Windows 8 loaded on it. Windows 8 I grew to not just dislike, but loathed the horridness of so many things. It was Windows 7, with a nasty UI and stupid UX thrown on top. It took decades of UI know how and turned everything upside down.

So I killed it. I killed it dead. Ubuntu was the only US for me at that point but I wanted more. I wanted a high res screen (minimum of 1920×1080 work space at least) that I could do video editing and video rendering on. The Ubuntu and Carbon wasn’t cutting it for that. I wanted to be able to write OS-X, iOS, Windows or whatever code I wanted being able to switch between whichever OS on an efficient OS. The only one that enables all of that is OS-X with VMware Fusion loaded on it (or maybe Parallels or such). So I said to myself, screw it, get back on board that Apple wagon. I still had a Mac Book Air, but it wouldn’t cut it for all the needs, so I upgraded to a Mac Book Pro Retina with 16GB RAM and an i7. This sucker screams and does every single things I want. Change #2, easy, just plunked down a giant chunk of money and it was done. Whew.

The Changes: Change #3 Hedge My Work Decision, Then Decide on Something.

The final decision of this year was the biggest I’ve made in some time. I started doing some contract writing for blogs, all while checking into a few cool companies around Portland. I also started discussions with Aaron Gray about a prospective business. While looking at becoming the Vice President of Engineering for one company with an exciting product, writing blog entries and working with startups to help determine their paths, and looking at just doing simple contract work building out some large scale systems something came up.

Aaron and I decided to kick off Deconstructed.io. Yup, I’m co-founding a startup with Aaron Gray. Do you know him? Follow him on the tweetersphere @agray.

The Changes: Change #4 Yup, I’ve changed my blog theme again. It’s not a big deal, but it should be much more readable.

Happy new year to all, keep kicking ass and putting up the good fight.   \m/  \m/

Thugerdashery, Hacking, Designing, Thrashing, Hats, Hoodies, Beanies & Gats Yo!

I’m was hacking this Sunday after wrapping up a ton of work putting together the upcoming Docker screencast for Pluralsight, which I’m super stoked on it going live in the coming days. If you don’t have a subscription there you should go get one ASAP. However tonight, having wrapped that up I decided I’d work on some code for an upcoming project but then…

SQUIRREL! (Click for that scene)

https://twitter.com/caseyrosenthal/status/412367923378786304

…and then I got an idea to do a full stack implementation from Donnie…

https://twitter.com/dberkholz/status/412433361244663808

…so then I made it happen, enjoy.

http://vimeo.com/adronhall/thugerdashery

I did all of this instead, then wrote it down, made a video, threw together some stock images, edited the logo, some design, a theme, and some other elements all in about 35 minutes. Well, the site took 35 minutes, blogging it took way longer than that. But I needed a break from what I was doing, something to get myself out of the important code that I was working on so I could tackle it fresh again tomorrow. So with that I present to you, the Thugerdashery, the hat shop o’ thug life and a distraction of squirrely proportions. Enjoy…

Orchestrate.io JavaScript Client Library

Today I’m starting a project working with Orchestrate.io’s API & open source software collaborations. More about the project in a moment, let’s get up to speed on what I’ll be including in this project. My main focus is to build a client library to access Orchestrate.io. During building this I’ll dive into the key value, graph and other storage mechanisms that the client library will provide. Beyond that, I’ll take a stroll through building an NPM library and the pertinent JavaScript the library. So buckle up, we’re going on a code slinging hash writing hacking session.

Over the course of putting together this material, I’ll be posting most of the core material on Orchestrate.io’s blog, so subscribe for updates as they come out. Feedly is a good option, connect via searching for “orchestrate.io” or navigate over to the Orchestrate.io blog itself. 😉

Project Effort Context

During building the client I’ll take a dive into who, what, where, when, why and how to interact with the various data structures. I’ll aim for the client to follow the model of the existing Go Client Library that is available at Orchestrate Go Client on Github. It follows a basic model as shown below in Go language.

[sourcecode language=”cpp”]
c := client.NewClient("Your API Key")
// Get a value
value, _ := c.Get("collection", "key")
// Put a value
c.Put("collection", "key", strings.NewReader("Some JSON"))
// Search
results, _ := c.Search("collection", "A Lucene Query")
// Get Events
events, _ := c.GetEvents("collection", "key", "kind")
// Put Event
c.PutEvent("collection", "key", "kind", strings.NewReader("Some JSON"))
// Get Relations
relations, _ := c.GetRelations("collection", "key", []string{"kind", "kind"})
// Put Relation
c.PutRelation("sourceCollection", "sourceKey", "kind", "sinkCollection", "sinkKey")
[/sourcecode]

I’ll be working on this client, but don’t hold back on me, feel free to jump in with some of your own code or telling me I wrote some code wrong or whatever. I’d gladly accept any committers jumping in to help out. The more we all work together the more useful information I can provide during this project.

Once this project has produced a workable client pending interest from the community I’ll put together some material about where, how and some best uses around using the client in your Node.js Application. Even prospectively build a JavaScript client side library prospectively for use with Angular or other popular client side libraries.

References

Junction Two Weeks Bi-weekly Review : Issue #005

First the bad news, then the good news! That’s the appropriate way to present it right?

Schedule Break on Junction (The bad news)

I’m taking a break on Junction for a few weeks to get some other projects off the ground. In a few weeks the plan is to swing back around to Junction and make some changes to the project, which might be pretty big changes, but I’ll leave those as a surprise for now. So right now there isn’t a whole lot of functional code base that is working, partly because Windows 8 and all has left me a little devoid of urgency. If somebody out there really wants to see Windows 8 have a Riak user interface and management tool let me know, maybe we can work out some new urgency on the project! 😉

JavaScript, Go, Training and Orchestrations (The good news)

Over the next few months I’m working on putting together a lot of content for several great companies. One you might have guessed if you’ve read the last few blog entries, “PIE’s Third Class, You Better Keep an Eye on These Companies…” and “Orchestrate.io, Stop Dealing With the Database Infrastructure!” specifically, is some content around what Orchestrate.io is doing. That’ll be coming up real soon, but more about that later.

I’ve just wrapped up my first Pluralsight course that will be available on Riak. I’ll be diving back into working on a course around Docker & Vagrant in the coming days. I’ll be posting some of the work as I go along, of course not the whole thing, but an idea of what the material will be.

There’s also a few more, undisclosed so far, companies I’ll be putting together some content for. Prospectively some content teams even, so if you’re interested in contributing (or working on as a paid consultant) ping me. I might just have some interesting work for you.

So with all that, I’ll have more updates, more coding mischievousness and content coming up in the days and months ahead. Cheers! -Adron