PDX Tech Talks Monthly #6 - pdxdevops

A few weeks back, despite my busy late-summer schedule, I finally made it to Portland’s DevOps user group: pdxdevops. It’s been at the top of my "must check out" list for quite some time. Why? Well, a big game changer in software development over the last decade has been the commodification of hardware. We can now spin up dozens of Amazon EC2 web servers at a reasonable price, but who will configure them all? Traditionally someone from the Ops department would build a server or two, then install your company's web app. If you have to manage 50 servers, that could take hours of clicks and manual effort!

So, what can we do? Eventually, developers and operations folks started conspiring to automate this type of work. Some organizations historically separated these departments, but others have brought them back together, because automating this stuff requires expertise from both specialties: coding, scripting, network/server administration and monitoring. The hybrid role, dubbed "DevOps", is starting to appear in job postings. There are also tools and best practices emerging, and I’ve been curious to hear what local DevOps gurus think about the options available today.

Carl Hall describing DevOps tools

The Event - PDX Dev Ops

The meet-up was hosted at Cloudability, a local start-up and PIE graduate that helps companies track their cloud spending. They use cloud servers (Heroku, AWS) to run their service, and use the DevOps tools and techniques to automate the provisioning of their servers. Being a new start-up, their office downtown is packed with cool stuff:  shiny new iMacs, framed articles from the tech press (TechCrunch, WSJ, etc), and tasty beverages on tap in the kitchen (beer and Kombucha!).

Last month’s topic was Ansible, a new DevOps framework that Cloudability had been evaluating. Carl Hall presented and compared Ansible to the other popular infrastructure orchestration tools: Puppet, Chef, Salt, and custom scripts. Carl posted his slides up here, which include great comparison charts that explain the different approaches and features of each platform. 

Who I Met

I "stole" this from the Cloudabilty t-shirt rack

I met Brad Heller and Carl Hall from Cloudability’s dev team. Both had fun cloud-management war stories from the trenches of the start-up battle. Their summer intern, Colby Aley, showed me his awesome "company dashboard" project. My team’s summer intern also made a corporate dashboard, so apparently it’s the new hot side-project. I also met Lindsay Smith, a fellow PDX tech meet-up enthusiast, and we compared notes on the most interesting local user groups.

What I Learned

The two main styles of DevOps platforms are Imperative (listing out each step for building a new server) and Declarative (say what you want on the new server, the tool will figure out how to make it happen). Some tools like Puppet and Chef have a custom DSL (domain specific language) and a steep learning curve, but are very powerful once mastered. Other tools, like Ansible, are helpful additions to existing custom scripts. They do a few things well, and are easy to integrate if you already have scripts that automate your deployment.

One example of how these tools are different was the management of secret passwords (SSH keys). The more mature tools like Puppet and Chef had solutions for moving around private keys, which ensure access security on your brand new servers. For the more light-weight tools like Ansible, they had to use "Sneakernet" to walk the keys over to a co-workers workstation.

Wrap Up

I’m a DevOps novice, so I learned a ton. Most of the tools discussed helped with automating deployment on Linux. Even though my company develops mainly for Windows server, the high-level DevOps concepts are applicable to any OS. Also, I noticed that Puppet and Chef both offer Windows support.

It’s nice that Puppet Labs, another local company, is such a major player in the emerging DevOps tool market. Several employees from Puppet attended and offered their insider perspective on various tools and features. If you’re a DevOps newbie like me, I highly recommend swinging by pdxdevops. Their monthly meetings are listed on Calagator, and they announce the agenda on their Google Group. They also mentioned that the upcoming DevOps Day conference (Nov. 4-5th) will be a great place to learn more.

Next Month

I’m presently touring around Romania, but right after I return to the states TAO is hosting Ignite Health at OHSU. All the lightning talks will be related to healthcare software.  I’m definitely planning to attend and several of my Kryptiq co-workers will be there too.

Quantify Thyself

Socrates was a fan of the ancient Greek maxim carved into the walls of the Temple of Apollo: “Know Thyself.” He even took it up a notch by saying “The unexamined life is not worth living.” Now, 2400 years later, technology is making it a lot easier for you to know yourself. The Quantitative Self Movement seems to really be gaining momentum. Every week I hear about new ways people are using apps, wearable devices, and websites to track information about their activities, then geeking-out over the wealth of data collected. Mature products like the Nike Fuel Band and the FitBit are coming to market and becoming increasingly easier to use by the average consumer. Will the rumored Apple iWatch be the easiest one to use yet? It definitely seems like a convenient time to join this trend, if you haven’t already.

Here are some of the apps and websites I’ve been using lately to track my own behavior:

Lift  (iPhone App)

The Lift iPhone app lets you identify some positive habits (e.g. floss, exercise), then quickly “check-in” each time you do them. I recently read “The Power of Habit” and was interested in finding ways to establish good habits. A habit I wanted to develop is reading more books. Although I listen to audio books during my commute, physical books tend to put me to sleep at the end of a long day. I have a stack of “guilt books” in my room that lie there unread while I pick up the iPad and watch another Game of Thrones episode.

So, I started checking-in on the Lift app every day I read my book. I looked forward to marking my progress as a reward for my efforts. Lift started sending me emails congratulating me for a “3-day reading streak!” Before I knew it my book was finished. The digital encouragement was surprisingly effective. On to the next one!​

​Nike+  (iPhone and Android App)

Before jumping onto the elliptical for some cardio, I open up the Nike+ Running App, initiate a new “Run” and then slip my iPhone into my pocket. The app uses the iPhone’s accelerometer to calculate how far I’ve gone. A friendly voice interrupts the podcast I’m listening to, informs me when I’ve gone a mile and tells me my pace. After my workout, various famous athletes from around the world chime in to congratulate me for achieving some milestone or another (most miles in a week, fastest mile yet, etc). As with the Lift app, I found the encouragement highly effective. I’m not used to receiving praise after exercise. I find myself saying “thanks” out loud. Yes, I’m now the weird guy that talks to his phone at the gym.

I can see all my running stats on my phone or by logging into the Nike+ website. It’s nice to know that my data will follow me around as I upgrade devices. Nike has done a great job on the UI/UX. It’s a simple, intuitive and consistent user experience across web and mobile.

​Mint.com  (Web Service)

Mint.com is a popular, free website that helps track your finances. After linking up your financial accounts it starts tracking how you’re spending your money. You can log in and see detailed graphs that categorize your spending habits. I analyzed six months of my financial data to help create my monthly budget for 2013. Mint.com sends me a weekly email with a summary of my spending that shows where my money went. It points out when spending in a category is much higher than normal. Sometimes I feel like it’s sending me too many email alerts, but you can go into the settings and turn off any annoying ones.

One very helpful email I received from Mint alerted me that my bank had charged me a service fee. I called up the bank, learned they’d changed their free checking policy, and got it corrected. I may not have noticed that $13 monthly charge without the helpful hint.

Rescue Time  (Desktop App)

Ever wonder exactly where the work day went? RescueTime can tell you by measuring how you spend time on your computer. After installing it on your PC it will run in the background, silently tracking the applications and websites you use most. The results may surprise you. RescueTime has a sense of which activities are productive and which are distracting, but you can specify the category for each app/website yourself. Each week you’ll receive an email summarizing the time you spent on productive vs. distracting apps.

After it becomes clear which program you’re using most, it makes sense to increase your expertise with that application. Another observation is that I now subconsciously avoid lingering on addictive web sites (I have a weakness for Hacker News and TechMeme) as I know my productivity report card will suffer next week if I do.

Conclusion

What is it, exactly, that you do? Would you like to know? The computers in our pocket, our car, and the clouds can track us and help answer that question. Soon there will be smaller computers in more places, tracking us in new and interesting ways. All that monitoring may feel a little creepy, but it can also be empowering. Once you see the data, you may decide to make a change.

Do you have a favorite app or device in this category? I’d love to hear about it!

Create a Peer-Powered Magazine Using Flipboard's Timeline Links

 

Would you read an aesthetically pleasing digital magazine that is custom tailored to your interests? That would be awesome, right? I believe I’ve found this exact product by using a combination of Twitter, Flipboard, and the “Your Timeline Links” feature… and I think you’d like it too.

I'm always on the look-out for apps and websites that help me stay informed on the topics I care about most. The trouble is: everyone likes different stuff. We all have unique tastes. So, which website or app is the best to read? One solution I’ve found is to follow the recommendations of people I trust most.

I’ve mentioned that Twitter shows you what your peers are thinking, and importantly, the links they’re sharing. However, after following dozens of people, the tweets really add up. If you follow a lot of folks on Twitter you know what I’m talking about. Any given time of day that you check Twitter there’ll be a ton of thoughts, photos, and links to read through. Did you miss a good link from 10am? Shouldn’t there be a “Best of Twitter” list? There should, and there is. You can find it using Flipboard.

Flipboard started out as a highly acclaimed iPad app. It “wows” people. The first thing you do is link it to your Twitter and/or Facebook accounts. It then displays your social streams in a beautifully rendered magazine-like format. This is quite impressive, but I really found value when I discovered the “Your Timeline Links” feature. This view filters your Twitter stream down to the important news, photos, and blog posts that someone in your social network found valuable enough to share.

Here’s what it looks like on the iPad and iPhone (it’s also available on Android devices, if that’s how you roll):

 

iPhone:

iPad:

 

 

Be sure to add “Your Timeline Links” to your Flipboard homepage:

 

 

Now I find myself checking into Fliboard in the morning and evening to see what people are sharing. What do you think? If there’s anything better out there I’d love to hear about it.

 

The Joy of Instapaper

I started using Instapaper after hearing Scott Hanselman explain its benefits during his talk about increasing personal productivity. The tool helps you read web articles on your own time schedule. I think you'd like it. I'd heard about Instapaper a while back, but didn't understand how handy it is until I saw it in use.

The Problem

There are many, many ways to find great things to read on the web. People are always linking to interesting articles on Twitter. Some sites, like Hacker News, aggregate the most interesting articles of the day on a certain topic. Everywhere you look there's intriguing content on the web, and the most interesting stuff is more than two paragraphs long.

However, the moment when you find a great new article isn't always the best time to read it. If you're checking Twitter in line at the grocery store, you probably don't have time to finish that four-page New York Times article. Or, if you're taking a quick five-minute break from work, you may not have time to power through the interesting-but-distracting article your friend emailed you about raising urban chickens. Eventually you could end up having 20 tabs of unfinished articles in your browser, all of which you think you'll read eventually, but will only end up confusing you.

The Solution - "Read It Later"

Instapaper is a simple tool that lets you mark interesting webpages, then come back and read them later on the device of your choice. You set it up by dragging the Instapaper's "Read Later" bookmarklet up to you bookmark toolbar.

 

When you're hunting around for great articles, just click "Read Later" and it's saved. Then, when it's convenient, you can return to the Instapaper website (or iPhone/iPad app ) and browse through your treasure trove of brain-enhancing blog posts. I end up getting a lot of Instapaper reading in at the end of the day in bed. TMI?

Here's what Instapaper looks like in action:

 

Instapaper Website

 

Instapaper iPhone App

 

Do you use Instapaper? Maybe some other great productivity-enhancing tool?

brain-enhancing blog posts.