Docker Course, Ubuntu, WordPress, Angular.js, Notes, Rich Hickey, Datomic…

Updates, updates, updates…

Docker Course @ Pluralsight

I added a new course on Docker to my Pluralsight list of courses today. This joins my one other course on Riak, which I’m aiming to have more added to that list in the future! Check those out and let me know what you think, how I could improve, what I did right and what you learned (or already knew). I’d greatly appreciate it!

Rich Hickey, Datomic, Clojure, Angular.js and Notes

I started a section on the blog here for notes on topics I’m studying. The first two I’ve hit on are Angular.js and Rich Hickey, Clojure and Hammock Driven Development. I’ll be adding to these over time and will likely report whenever I add good chunks of info or helpful tutorials, how-to docs or just whatever I deem worth mentioning. Simply put I won’t broadcast it much, unless I add some real goodies that are worth it.  😉

Ubuntu & WordPress

I needed a kind of WordPress Workstation to hack around testing some WordPress so I put together quick notes on the fastest and cleanest way to setup a WordPress VM from scratch.

Until later, happy coding, have a metal \m/ \m/ Friday!

Sexism, Racism and t-shirts… Why Stop There?

I attend a lot of technical conferences, hackathons, workshops and all sorts of events where I get loaded up with t-shirts. Ridiculous amounts of t-shirts. Generally I love this! I have had a basic standard about all of these t-shirts. If it is a company and product that I know has done well by its users, by the community and the people involved have tried to do good by what they’re advocating, I’ll wear the t-shirt. Thus, I have a lot of tech t-shirts to wear.

However…

American Apparel is one of the top suppliers of t-shirts for tech companies to print their stuff on and bring to trade shows, hackathons or wherever they’re going. American Apparel definitely has some positive attributes, here’s a list:

  • the products for the USA are made in the USA.
  • the workers make almost 2x as much as other factory workers in the surrounding areas (Los Angeles)
  • paid time off
  • sick leave
  • health care
  • company-subsidized lunches
  • bus passes
  • free English as an additional language classes
  • on-site massage therapists
  • free bicycles
  • on-site bike mechanics
  • free parking
  • proper lighting and ventilation

Now some of these things, many, to the tech industry seem like a joke. But these are very serious benefits for labor. In general, American Apparel does good by it’s employees. At least, in the United States.

The Problems

In China they do not hold these same standards, they hold the standards of labor practices in China for Chinese Factories. These are, dramatically lower than standards in factories in the United States. The conditions there are harsh, but there is no shortage of labor and it is considered an honor to get work. It’s a perverse irony, but it exists.

Then there is the problem that American Apparel has with sexism. There ads have obvious double standards in so many places. In England they’ve actually managed to get some ads banned. That’s an accomplishment since the English and Europeans are often far more liberal about things than US Citizens are. Namely, we as a population in the US are prudes by comparison, so if it got banned in England, holy moly I’m sure it would have raised absolute hell in the United States.

So on Twitter Red Hat evangelist @TheSteve0 posted this tweet.

Pointing to an article on the double standards of American Apparel. I’m all about stepping back and buying product, that has all the above positives in the company and has higher integrity in marketing than American Apparel, but what are the choices? That’s where another tweet a few minute later rallying several other fellow technical evangelists to stop using American Apparel as the top t-shirt.

More Thoughts

This leads me to another thought too, why hand out throwaway t-shirts in the first place? Why hand out anything that’s throw away? Why not hold ourselves to even higher standards? Why not only give away things that people will keep and really use. I can’t imagine how many t-shirts people take and then throw away. We as an industry should absolutely do better.

Some of the things that @thoward37 and I often do is haul excess cloths down to the local Goodwill or Homeless Shelter. Notice how cold it is right now in parts of the country? People are dying (nope, not exaggerating) right now from the cold. Because they don’t have blankets, shelter space and other simple amenities. The least we as an industry could do is provide our excess to those most in need so they can at least stay alive!

Solutions (These are NSFW)

  • Organize efforts at conferences to call-out companies that are being sexist, racist or otherwise discriminatory. Do it was a conference, as a group, as a whole and make it count. Our industry actually gives a shit and we can make things happen. Don’t pretend we can’t.
  • Pull your head out of your ass if you think that buying t-shirts from some sweat shop from X company is a good idea. Do better, if your company doesn’t have the money to buy good product, the DON’T BUY PRODUCT.
  • When you provide swag or whatever to conference goers, treat the conference attendees with respect and actually get them something they can use, that they’ll be happy to say, “yeah, I got this at X conference, it so rocked in so many ways!”
  • Think outside the box, do we really need another thousand t-shirts floating around? If we do have them floating around are you really going to be able to give them away? To people that will wear them? Just think about these things a little. Every single technical evangelist I know is smart enough this takes about 2 seconds. So just spend that 2 seconds and help out.
  • Also, there are more and more women getting involved in tech, in spite of the trolls that waste so much of all our time. Think about this when you’re ordering products, don’t just get a bunch of giant t-shirts. Sure, get some, but realize the community is quickly diversifying and many if not most of the community that is stepping up to take leadership of the tech industry is not going to be one size fits all anymore. (thank goodness)
  • Last one is simple. Just stop and think about what would matter to people. What do you want to give to others that would actually matter. I mean, it really boils down to basic GOOD, high integrity marketing. Don’t treat people like shit, treat them like they’re important. They’re prospective customers, they pay money and put food on your table. So just simply, easily, give a shit.  🙂

On this same topic, I’ll have another post soon about what you’d like to see at Node PDX for swag. What in general would you find to be excellent swag to receive at a conference that you’d be proud to lug home and wear, use or otherwise not throw it away? Until then, please comment and we’ll get some round table conversation going.

Cheers & happy hacking!

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.

Help Out Getting a List and Finding The Most Bad Ass Conferences of 2014!!

A Smiling Crowd!
A Smiling Crowd!

Last year I kicked off something that turned into one of the most comprehensive lists of conferences out there. I’d love to get the communities’ help again! Are you going to any conferences? Looking for conferences to attend? Looking to submit talks, hear someone speak or figuring out what conferences are in places you want to visit?

Node PDX
Node PDX

Dive into the list in this public Google Doc and help update it with 2014 conferences. New year, time for a new list! In case the link doesn’t copy and paste the link below into your browser, it’ll get you navigated straight into the spreadsheet.

https://docs.google.com/spreadsheet/ccc?key=0AjzoXvTKg56mdDdBLXhfbHFwNE1hSlNKZzBCR2hBNUE

So far I’ve kicked off the list with Node PDX, missing a few details since it’s unannounced so far, but I know they’ll be announced soon enough. Cheers!

  • Node PDX 2014 (still shows old site, but get info on it by checking out the site!)

So, what’s next on the list?

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/