Have you heard about Google’s Project Aristotle? It was a research project that aimed to find out what combination of personality types, skill sets, and backgrounds made up the most effective teams at Google. Are teams who hang out outside of work more effective? Do you group introverts with other introverts? Should teams share a preference for managerial style? Stuff like that.
(Bear with me—I promise this will tie back to retrospectives.)
So what did the researchers find out?
“We looked at 180 teams from all over the company,” Dubey said. “We had lots of data, but there was nothing showing that a mix of specific personality types or skills or backgrounds made any difference. The ‘who’ part of the equation didn’t seem to matter.”
—Charles Duhigg, What Google Learned From Its Quest to Build the Perfect Team
And later in the article:
Most confounding of all, two teams might have nearly identical makeups, with overlapping memberships, but radically different levels of effectiveness. “At Google, we’re good at finding patterns,” Dubey said. “There weren’t strong patterns here.”
Did you catch that? Let that sink in for a minute.
Researchers at Google, who have access to more teams and more data than perhaps at any other company in history, and who are experts at finding patterns could not find any strong patterns in what combination of individuals make up an effective team. “The ‘who’ part of the equation didn’t seem to matter.”
Share and Enjoy
So I come in to work this morning and notice that one of my WordPress sites is having problems reliably coming up. I had not received any alerts on my phone, but still, around 1/2 the time the main news-feed page wasn’t coming up. If you ever see a system that’s normally rock solid, suddenly running “a little funny”.. don’t put it off. Jump on and do a bit of poking around. I did that today and this post is documenting what I found, what I learned and what I had to do to secure my system. Continue reading
Share and Enjoy
In a post from last year, Steven Swenson explained how to use the Invoke-RestMethod cmdlet in PowerShell to query the Cloud Office REST API.
Since that time, I published Invoke-RsCloudOfficeRequest, a PowerShell module that takes all the work out of interacting with the Rackspace Cloud Office REST API. It handles:
- Passing the authentication header
- Encoding PowerShell input into the expected body format
- Parsing error responses into a meaningful format
- Unpaginating paged responses
- Storing API credentials so you don’t have to type them in every time (Optional)
But enough talk, let’s learn how to use it. Continue reading
Share and Enjoy
What could be simpler than returning HTTP status codes? Did the page render? Great, return
200. Does the page not exist? That’s a
404. Do I want to redirect the user to another page?
302, or maybe
Life is bliss, well… until someone tells you you’re not doing this REST thing. Next thing you know, you can’t sleep at night because you need to know if your new resource returns the RFC-compliant, Roy-Fielding-approved status code. Is it just a
200 here? Or should it really be a
204 No Content? No, definitely a
202 Accepted… or is that a
What complicates matters is that the official HTTP/1.1 guidelines — the RFC — was originally written in 1997.† That’s the year you went surfing the cyberweb in Netscape Navigator on your 33.6kbps modem. It’s a little like trying to apply Sun Tzu’s Art of War to modern business strategy. Timeless advice, to be sure, but I haven’t yet figured out how The Five Ways to Attack With Fire are going to help me do market validation. Continue reading
Share and Enjoy
The affable Cory House
recently posted a blog article about the technical issues
he had delivering the keynote at last year’s CodeStock conference
. I was at that keynote and remember the poise and calm he exhibited while dealing with multiple technical issues that were out of his control. Despite the projector going out multiple times, he stayed on topic and continued the talk through the long reboots. Reading his blog post I realized something: Your deck should help your talk, but it should not *be* your talk.
Cory understood this and was able to forge ahead despite not having a deck for a good quarter of his talk.
If your talk is on a technical subject then I can understand that you have a relatively high reliance on your laptop and projector. (Most of my talks are code related.) However if you’re waiting for a laptop to reboot, you should still be able to speak to the subject for a few minutes and not leave the audience looking at their phones. If your talk is more abstract, e.g. dev culture, like Cory’s was, then you should be able to deliver most of your talk without the deck. Believe it or not, people did this all the time before PowerPoint was invented, and I don’t recall seeing many PowerPoint presentations in the last thousand Ted talks I’ve viewed on YouTube. For my two most recent talks, my deck had almost no text at all. My talk on cloud computing I delivered to the local IEEE was just pictures and screen caps, and once I started talking I even stopped using the deck and ended up skipping the last 10 slides. The deck for my Enigma talk had little text, however was still very critical to the flow of the talk: it showed helpful diagrams on how the Enigma and Bombe work, and contained a lot of notes I needed to keep the talk on track. But, if necessary, I could have delivered the talk with just a white board. It’s important to understand your subject material in a way that you can explain it to the audience without notes, or just to someone you’re having drinks with. If you’re at a conference and your badge has that “speaker” ribbon across the bottom, people will constantly ask you what you’re speaking on. If you’re enthusiastic about the subject, that enthusiasm will infect the audience and they will leave the event both encouraged and impressed.
But despite my assertions above, having your technical ducks in a row is your responsibility as a speaker. Here’s some suggestions in addition to Cory’s:
- Bring an adapter. Last year at CodeStock, I did a lightening talk on password hashing. The projector in the small room only had a VGA cable attached to it, which most modern laptops don’t have anymore. Luckily the audience was only 4 people, so I was able to give the presentation directly off my laptop.
- Bring a long cable. I always bring a long HDMI cable. The twenty-five feet HDMI cable from Amazon is only $15.
- Have your deck, and any other files you need, on a USB drive. If your computer dies (or is stolen), there’s usually a plethora of other laptops you can grab to do a presentation, but that only works if you have the deck. Don’t rely on cloud accounts to retrieve a deck.
- Try not to rely on Internet access at all if possible. In this age of SaaS I know that’s not always possible, but I’ve seen many talks go off the rails because of a lack of reliable Internet access.
- Don’t ever rely on the venue’s Internet connection. If your talk absolutely requires Internet, you should count on using a cellular hot spot. I attended at least two talks last year where the talk was saved by a generous audience member volunteering their cellular hot spot to the speaker. Two years ago at the Dev-Link conference the Internet became highly unreliable for several hours because a single user was sucking up 50 Mbps with a torrent. Counting on a good Internet connection for your presentation without a contingency plan is probably the biggest and most common risk taken by presenters.
- Lastly, don’t forget the power supply to your laptop. I’ve done this before. You can usually find someone with a similar laptop that can loan you a power supply. Another solution is to go to the hotel desk and tell them you left a laptop power supply in the room on your last trip. Most hotels that cater to business travelers have huge bins full of cell phone and laptop power supplies that were left in rooms over the years. They will usually be happy to get rid of one or two.
Share and Enjoy
Many don’t know that the Cloud Office Control Panel also has a REST API. You can find the API documentation here. Most of the functionality available in the web control panel is also available in the REST API. In this blog post I’m going to walk through some PowerShell code that accesses the API.
In previous versions of PowerShell, users had to rely on the .NET framework and other secondary resources to use a REST API. However, v3 of Powershell includes a new cmdlet called Invoke-RestMethod. There were some limitations in v3 specific to how you set headers, but v4 of PowerShell allows you to have full control over your request. Be sure you’re using PowerShell v4 to run the examples below.
Of course the first thing we have to worry about is auth. The REST API requires an X-Api-Signature header, which is compiled by the Get-XApiSignature function. That function requires your api key, secret, and the value of the User-Agent header.
The next file, ListDomains.ps1, gets the XApiSignature header value, builds a hash for all the headers, and then makes the call to Invoke-RestMethod to retrieve a list of domains from the API. Invoke-RestMethod also parses the body of the response into an object (similar to how web-api works and is a huge time-saver!) This allows us to pipe the result directly into Format-Table to display the list of domains in a readable format.
In part two we’ll get fancy and create a mailbox.
Share and Enjoy
As I commit my changes to our team github repository, my droopy eyes tell me its time for my coffee. I pause the streaming music, remove my headphones and walk towards the closest of the four fueling stations in our office. I can hear my teammates discuss colorful kibana graphs that fill up our team television monitors. A teammate expresses his preference for the dashing framework, which sparks an animated banter of technical discussions. I pour myself a generous cup of coffee and look outside to see a little yellow airplane land at the Virginia Tech Airport. Warm sun, clear sky, lush greens, beautiful mountains, summer definitely is close. Walking back to my cube, I see my teammates have dispersed from the dashboard discussion, some back to building awesome Rackspace Cloud Office apps and others off for a Ping-Pong break. High on caffeine, I get back to figuring out my next chef recipe.
Racksburg (Rackspace + Blacksburg) gives you the platform to build awesomeness and at the same time provides ample benefits to balance work with your personal interests. Local gym memberships, bring your dog to work everyday, family outings, summer cookouts, holiday parties, community service, technical conferences, hackathons, tech talks, stem outreach programs are just some of the opportunities here that help you grow both professionally and personally.
This diverse and open work culture is precisely the reason why I love being part of Racksburg. If you want to experience the same make sure to check out our job openings.
Share and Enjoy