Bratty Redhead

the sarcasm is free!

Coffee Nerdery: Chromatic Coffee

Chromatic Coffee
Location: Santa Clara, CA, a few miles from the Apple campus
Espresso: Emperor
Hardware: La Marzocco and heavily modded grinders of unknown origin (see picture)
Coffee Art: heck yeah
Wifi: Yes
Drink: Cappuccino
Served in: 5oz ceramic cups
Visited: Daily in February and March 2013

I first met Chromatic Coffee when it was a franchise under another name in June 2012. For the record, it was super then too. I recently acquired a client in Santa Clara, CA and knew I would be traveling out here every week. Strangely, Silicon Valley does NOT have a great artisan coffee shop on every corner. A lot of the area is actually office park and strip mall hell. When I found this place last year, I drove 8 miles from the Hyatt Convention Hotel to get some decent coffee. (For the other record, all of the espresso served at the Hyatt is utterly vile).

So I immediately thought of this location when I set up weekly trips to California. In the meantime I discovered the shop had changed its name to Chromatic Coffee but was the same crew of awesome baristas that I’d met last year. I actually managed to find a good hotel near the shop, putting me about 5 miles from the client but worth every commuting minute, knowing I’d have decent coffee at least once a day (I work in office park hell).

I am happy to say that breaking off on their own has only improved things over here. In my chats with the baristas, I’ve learned that the owner is a tech obsessed uber coffee nerd. You can see this in the fact that they are their own roastery and hey, check out the grinders. Heavily modded, the barista couldn’t remember the original brand on them, but informed me that the owner is actually working on his own equipment as well. (uber techie coffee nerds unite!).

So I can’t tell you enough how much I love Chromatic. Everyone there is super nice and super knowledgeable about the coffee and will happily nerd out over coffee talk when it’s not busy. There’s also a Hario pourover bar and they tell me they make cold brew as well, which I will be sampling next week. In addition to all the other awesome, they hold classes on everything from pour-over technique to barista art.

Bonus: They are not snooty coffee snobs here. You can order your drink with skim milk or to go and no one will look down their nose at your or inform you snottily that they only use whole milk from locally approved cows.

I wish I could keep gushing, but you should really get in here and try them for yourself. Don’t be fooled by their strip mall exterior. They are beyond awesome.

Shell Scripts Are Like Gremlins

Today I ended up in a heated discussion with some team mates over deployment strategies. As is often the case with this team, myself included when I don’t stop and think, we often leap right to arguing over which tool is best before discussing the problem we want to solve. It wasn’t the first time.

The source of this discussion was brought on while we were reviewing some chef work I’m doing with a development team. My work was mainly to assist them in getting to functioning cookbooks that also had their app logic separate from global cookbooks. I basically copied their intent wherever it made sense while shoring up design and Chef styling. One of the things they were doing was making a call to our Artifactory server for a latest snapshot of a WAR file, downloading it into the Tomcat directory and restarting Tomcat. Works for me.

Getting to this point in the review triggered a long, heated debate over

  1. whether you ever wanted this to happen,
  2. whether you should use Chef to manage deployments, use Jenkins to kick off shell scripts or use some other orchestration tool to do something else or
  3. just copy the world by hand (well, no one really believes that last is a good idea).

I was like, geez guys, I’m just mimicking the dev team’s functionality, why are we are arguing about this? But this has been a topic of discussion often recently and, with another team announcing yesterday they were writing a homegrown tool to manage jboss, deploy ATG ears and manage config files all retrieved from Artifactory, I don’t expect the subject to die soon.

I don’t think there’s one right answer to how you deploy your code, but I think there are many poorly thought out ones. I’m not here to necessarily make an argument for Chef as a deployment orchestrator. While there are people deploying with Chef at scale, I am not one of them, nor have I been. My work with Chef has been mainly in development with some provisioning and so I have a lot of theories, but that’s really all. What I do want to talk about is why I don’t like shell scripts for deployments or orchestration and what I want in a deployment system. This is the first part of at least a 2 on this topic.

Shell Scripts are like Gremlins. You start out with one adorably cute shell script. You commented it and it does one thing really well. It’s easy to read, everyone can use it. It’s awesome! Then you accidentally spill some water on it, or feed it late one night and omgwtf is happening!?

The Fixer: Someone else comes along and found an edge case your shell script doesn’t deal with. They add in some logic for the edge case, voila, problem solved.

The Refiner: Eventually someone realizes the logic for the edge case is not specific enough and is causing deployments to fail sometimes, so they refine the logic.

The Slippery Slope: After that, someone might decide it’s a good idea to automate stopping the apache server from sending traffic during deployments and decides to do it in the same script. Great idea! That’s such an awesome idea that everyone starts adding functionality to the tiny beautiful shell script, now no longer tiny nor beautiful.

OMG GREMLINS! Then you come back along and find all the extra stuff in your shell script that doesn’t belong there. You’re horrified. You might even be feeling a little bit violated (come on, we’ve all been there at least once). So what do you do? You pour some water on it. You break out the shell script into several functional bits. Now we have LOTS of gremlins instead of just one. Now you have a suite of scripts that are once again beautiful. But now the deployment is complex. You have a suite of bash perl ruby python scripts that also need a wiki page to describe intended flow, what to do if something doesn’t work and any edge cases that you haven’t gotten around to scripting yet.

The Exodus: Next up: You get a call from a buddy who is dying to have you come work for his Next Big Thing startup. So you quit your job, pack your bags and move to Silicon Valley Sitcom with ne’er a backwards glance, leaving a couple of forlorn junior sysadmins desperately reading wiki pages trying to figure out what to do with your shell scripts as a new application is launched that requires a bunch of new logic for deployment. These guys do the best they can and start tacking on if statements everywhere they need to in order to make the deployments go.

Subsistance Living: 6 months later, one of these guys leaves and the company hires 3 more guys with no understanding of the history of the deployment scripts. Sometimes they work, sometimes they don’t, people aren’t entirely sure why and just self correct by hand at the command line until things work(phew!). Everyone is afraid to touch them because they are fragile, the code connecting them is obscure and there are similar logic blocks found in several sections, sometimes commented out, sometimes used, but you’re not really sure whether it’s necessary. The original wiki page gets updated sometimes but not often and not usually by the person maintaining the scripts but by the people using them in the middle of the night.

And that’s why I hate shell scripts and think you should never use them for deployment scaffolding.

True story: my first venture with Chef involved deconstructing an organically grown Kickstart post that had been originally written for Red Hat 3 and subsequently updated for RH 4, 5 and 6. I was removing functionality from the postscript and rewriting it in Chef blocks when one of the admins came and yelled at me for omitting a block of host names from /etc/hosts and I was like, GUYS, those host names are for servers in a data center that was decommissioned when I started here 3 years ago.

You can tune in for the second half of this blog post, what I want in a decent deployment system, when it goes up next week on the Sysadvent blog. Woohoo!

Coffee Nerdery: Blue Ox, Minneapolis

Blue Ox
Location: Chicago and 38th St, South Minneapolis, MN
Espresso: Counter Culture
Hardware: Mazzer and La Marzocco
Coffee Art: Yes
Drink: cappuccino
Served in: 6oz ceramic cups
Visited: 2012 often

The Blue Ox coffee shop opened up about 3 blocks from my house in 2011. I love them. I love that they opened up in what I consider a marginalized area of Minneapolis, albeit one that people are working to revitalize. I love that I can walk 3 blocks to get wonderful artisan coffee. Sadly, I’m super lazy and often stay home and make my own substandard not-really-artisan coffee instead.

Blue Ox always has local art on the walls. Furnished with several second hand dinette tables and chairs, they also have a comfy futon and you’ll often find the windows open and the ceiling fans running instead of a/c.

Baristas here are always willing to talk the finer points of espresso and coffee with you. They have individually brewed coffee, pour over and they’ll make you an AeroPress Aerobie coffee if you ask. I’ve chatted with them and I know they calibrate the espresso grind and length of the pull at least every morning, sometimes more.

They’ve cycled through a few different brands of coffee and have recently started serving Counter Culture beans. When paired with the local milk used here, these produce a lovely, sweet espresso drink.

Warning, Blue Ox only serves whole milk. There is no skim or 2% here. They probably have soy, although I haven’t asked. They have locally baked pastries but no hot food. Today when I came in, they were also offering chips and hummus or salsa.

When you combine the laid back atmosphere and super yummy coffee combined with proximity to my house, Blue Ox pretty much wins my “favorite coffee shop in Minneapolis” award. That’s not to say there aren’t other places just as good and I’ll be getting to those in future posts.

Coffee Nerdery: Irving Farm, New York

Irving Farm Coffee Roasters
Location: New York, 14th St & 7th Ave, Uptownish
Espresso: Irving Farms
Machines: La Marzocco & Doge
Coffee Art: yes
WiFi: Unknown
Served in: 8oz ceramic cup
Drink: skim cap
Visited: 9/2/12

Verdict: Noms. Seems like a lot of places in NYC are serving Intelligentsia coffee. While I don’t object necessarily, it’s nice to see a coffee shop using locally roasted or even better, roasting its own. My drink was mild and reminded me a bit of Stumptown with it’s citric tinge. They heated the milk a bit more than some places but it was still drinkable and I like my milk with a smidge of heat so the drink doesn’t cool off too soon. I’m guessing they heat to 145-150.

There are four small tables and a wall bench at this location, so the lounge factor isn’t high. However, the was an elderly man enjoying his newspaper when I got here and so I’m guessing foot traffic isn’t too obnoxious. The shop is small and unassuming from the outside and I wouldn’t have noticed except I got off the subway there and was looking for friends.

Fyi, no public bathroom

Final Word: Noms.

Coffee Nerdery: Financier, New York

Financier Coffee
Location: New York, Cedar & William, Downtown, Financial District
Espresso: Financier (roasted in Park Slope, Brooklyn)
Machine: La Marzocco & Mazzer
Coffee Art: No
WiFi: kind of (“It’s not working right now”)
Served in: 8oz ceramic cups after I asked twice for “here”
Drink: skim cappuccino
Visited: 9/2/2012

This drink had the potential to taste good. Unfortunately the barista had no concept of micro foam or craftsmanship. The taste is a little harsh but I can see that it could taste awesome if prepared correctly.

Financier prepares and roasts their own beans and so I may come back again and check as it has the advantage of being close to where I’m staying and the subway stations are totally horked with construction this weekend. (n.b. I didn’t. I walked to Kaffe 1668 in search of a sure thing).

The pasty case looks amazing but I won’t be able to report on that. The store has long bar seating at the window plus some table in the back. While I prefer the dark hipster coffee shops, this is still ok. The music is kind of pop/r&b dreadful. There’s no public bathroom either btw.

Also, beware, a small cappuccino is really only one shot. They divide the shots. When I saw that, I asked for the second. This annoyed me.

Pros: cap tastes good despite mangled prep, bright and airy if you like that, PASTRIES!
Cons: Inexperienced baristas, Split shots (who are you, Starbucks?), crappy wifi

Final word: Beats Starbucks and the nearby Blue Spoon

Why Isn’t This Funny?

tl;dr: As a sysadmin, whenever someone tweets something snarky about sysadmins, I feel a little put down. As a result, I try to think twice about snarky stuff I might tweet about devs or other teams. And so, I think sysadmins posting snarky captioned images about devs and then adding the devops hashtag is mean and inappropriate.

I’ve seen this captioned image circulating all day with the devops hashtag on Twitter. For the record, I don’t think this picture is funny. In the right context, it might be funny. If it were, say, a slide in a deck pointing to how things are or used to be without devops, I’d laugh. My issue is seeing tweeted with the devops hashtag and having it billed as funny.

Now I love me some snark. But I think it’s too easy to be snarky and mean on Twitter, because there isn’t a lot of consequence and we tend to live within a circle of our peers who often think alike. The snark factor often goes up around conference time when many of us are congregating in once place and competing to sound smart and funny in 140 characters or less. I’ve commented before that I think people are too often mean on Twitter in the name of being witty or complaining about speakers without ever thinking about what that speaker might feel if he sees that tweet later.

So why does this caption bother me? I have a long history of unfiltered snark and smart ass remarks. Consulting since 2006 taught me a lot about active filtering and my introduction to DevOps caused me to implement additional filtering for the sake of my emotional attachment to an ideal.

As someone who’s signed on as a big fan of DevOps culture, I spend a lot of patrolling my cynicism and preventing disparaging remarks from escaping the filter. I think when you espouse certain ideals, you’re responsible all the time for representing them.

I sometimes see cynical, catty remarks about sysadmins or ops from people who can only have come from a long life of development and, even though I haven’t technically done ops in 7 years, I’ve been sysadminly all my long life and I am affronted every time by those remarks. Recently I heard a professional dev say to someone in a beginners programming workshop, “If you want to understand/master the install of the programming tools, you’re probably better off as a sysadmin not a programmer.” The guy who said is a super nice guy, but that remark still got a side-eye from me.

If DevOps is a movement that promotes collaboration, communication, respect and friendship between functional teams, I don’t think a sincere proponent would post this kind of caption. While it makes some folks feel validated, it’s just fueling the fire that walls people off from each other. I don’t think we can all get along when folks are throwing up cynical remarks perpetuating stereotypes of bad development practices.

While there are many successful DevOps teams out there, there are far more silos in transition or bitter adversaries who haven’t yet heard of DevOps. I can’t believe that only some developers or sysadmins are capable of transcending the usual barriers; I have to believe that any and all are able to transcend them or what’s the point? But it’s the more entrenched and cynical cases that will be the most difficult to move ideologically and emotionally and I feel that humor like this can only alienate.

I don’t want to pick on anyone specifically because I see this kind of humor from all disciplines all the time and it makes me increasingly uncomfortable each time. If we’re actually going to all be in this together, we need to jump in with both feet. So I thought I would speak up for a moment and say something. If a thing can only be funny by being rude about someone else, maybe it’s not actually funny at all.

Coffee Nerdery: La Colombe

La Colombe
Location: New York, NoHo@400 Lafayette
Espresso: La Colombe
Machines: La Marzocco & Mazzer
Coffee Art: yes
Wifi: unknown
Served in: 8oz ceramic
Drink: skim cap
Visited: 9/2/12

This was a quick stop while out shopping with a friend. There’s ample seating and it’s a light, airy space. My coffee was ok, although it was a smidge bitter. I’d probably have to try again to see how I liked the coffee. However, it’s a great place, good for meeting a friend or stopping in and they take their coffee production pretty seriously. I didn’t actually see a menu anywhere although I wasn’t looking.

They did have an adorable water “fountain” that offered room temperature, cold or carbonated water and they’ll offer you a water cup no problem. The staff is professional and fast. This coffee shop had the most starbucksian feel to it of all the shops I’ve been too, but I don’t really mean that in a derogatory way. I just mean that they turned out product quickly. The product they turned out was definitely far superior to anything Starbucks will serve you. I still prefer low-lit, shabby, hipster joints, but I’d have no problem coming back here.

Pros: Fast, good coffee
Cons: None really

Coffee Nerdery: Macchiato, NYC

Location: near Times Square
Espresso: Macchiatto 44 roasted by Seattle-based Fonte Micro Roasters
Hardware: Fonte branded
Coffee Art: No
WiFi: unknown
Served in: 12oz cardboard cups
Drink: skim cappuccino
Visited: 8/29/2012

Sorry, no picture. This was on the run with friends.

Macchiato is a local two-shop chain in NY. It’s a restaurant as well as coffee bar and appears to have a brisk lunch crowd. Seating is small tables and chairs. This was a spontaneous stop after having lunch with friends near Times Square. We stood in a long but efficient line. I was alarmed at the amount of milk they poured in my 12oz drink and thought it would taste more like milk than coffee. While I would have preferred less milk, the taste was still sweet, I could still taste coffee and the micro foam was lovely. The temperature of the drink was fine without a sleeve and the taste was nicely sweet, leading me to suspect they probably use local and/or premium milk. I prefer my caps with less milk, but if you aren’t picky about lattes vs caps, you’ll probably like it. If I’d actually ordered a macchiato, it probably would have been lovely.

Pros: Fast service, lovely taste, great micro foam
Cons: Busy and lacking in attention to detail.

Final word: I would go here if I were near but wouldn’t go out of my way to get some and I might look around for something different if I were planning ahead. I think 12oz cups are way too big for most drinks, but it did taste good, so YMMV. It makes me interested in checking out Fonte Coffee Roasters in Seattle!

Coffee Nerdery: Blue Spoon

Blue Spoon
Location: New York, Downtown (Williams and Platt)
Espresso: Intelligentsia
Hardware: La Marzocco + Mazzer
Coffee Art: No
WiFi: yes, from the park across the street (NY DTA), sketchy
Served In: 8oz cardboard
Drink: skim cappuccino
Visited: 8/31/2012

This is a small shop at corner of William and Platt in the Financial District. The coffee is too hot leading me to guess they overcook the milk. I ate half a bagel waiting for it to cool off. If I had been walking, I would have wanted a sleeve, which I generally never need with artisan coffee joints. It was interesting that the beans were Intelligentsia as the taste seemed to have a lot more licorice or citrus than the other locations serving the same beans. Reminded me a bit of Stumptown when it’s pulled too long.

Other, non-coffee specific: It’s hot in here. It’s a very small space and I think there’s some a/c near the counter, but I’m about 8 feet away at a window bar and sweating while drinking my coffee. Also, despite ordering “for here,” I received cups with lids on them and a bagel toasted but wrapped up in wax paper and a lunch bag.

Pros: They’re 2 blocks from where I’m staying and bagel noms.
Cons: scalded milk, bitter, citric taste, location heat.

Followup: It was 90 degrees Friday afternoon, so I opted to walk back here despite the meh experience of the morning. I got the same kind of drink that I think had even more milk than my morning cups. Very disappointing experience for a shop that actually has a La Marzocco in residence.

Final word: Despite the La Marzocco, this shop is not serving artisan coffee and I don’t recommend it. It beats Starbucks, but just barely. Intelligentsia should investigate the crimes being committed against their beans in this location.

Coffee Nerdery: Kaffe 1668

Kaffe 1668
Location: New York, Tribeca a few blocks from the GZ Memorial
Espresso: Intelligentsia
Hardware: Synesso & Mazzer
Coffee Art: Yes
WiFi: yes
Drink: skim cappuccino
Served in: 6oz ceramic cups
Visited: 2012 Aug30, Sep1 & 3

This coffee shop was recommended to me by a casual Facebook friend who moved to NYC from Minneapolis and used to be a barista himself.

Kaffe 1668 is a lovely little shop with dark wood tables and benches. It’s quite dim inside and I really like it. They serve espresso drinks and individually brewed coffee. My cappuccinos were low temperature and actually cooled rather quickly as I was lollygagging. However, they were very good and I enjoyed every drop. In a world where too many drinks are made with scalded milk, I’m ok with the consequences of low temps. The shop has cold pastries. I had a scone on my first visit and a breakfast sandwich on a baguette on the next. The scone was good, the baguette was chewy(I know nothing about french breads so take that fwiw).

Your wait for coffee can be significant. The line moved a bit slow and it took a while for my drinks to be made. However, it’s worth it as the baristas are perfectionists and won’t serve a substandard drink. On my first visit I was informed that my second cup was late because they were remaking it. I understand they recalibrate espresso pulls throughout the day here which is awesome.

One thing worth mentioning is that it seems to be a stroller destination on Saturday mornings. It’s still worth it for good coffee which seems to be missing in most of Downtown, but cranky babies can be a bit tough on the ears in the early morning.

Bonus: They’re open on Labor Day. Guess where I’m going when I get up tomorrow?