I run buchok.com, ltd. — a consultancy focused in the digital media world — video ad:tech (VAST & VPAID) and email marketing.
Hacker School alumnus.
I wish I was better as a music critic. I like to think about music. I like to talk about music. Not being a music critic makes penning these thoughts much harder…
The upcoming Future Islands record, Singles, has me thinking quite a bit about Tipping Point albums — those albums where we look back and can see a band transitioning into their new sound, with a massively bigger audience. Tipping Point albums are often the chasm between the old fans and the new fans.
I was introduced to Future Islands in 2010 right around the time that In Evening Air was released. Here’s the rocking Vireo’s Eye.
Lead singer Samuel T. Herring’s monstrous vocals and deep passion on that album at first had me confused, “What am I listening to?!” But it grew on me and I’ve really come to appreciate it.
I’ve seen the band a half-dozen times and have tickets to see them a few times on their current tour.
I was in Brooklyn last summer when they demoed their new tracks and I really liked them.
But the best part of even that small show at DBA? The powerjams from In Evening Air and Wave Like Home.
The new album, Singles, produced by Chris Coady, is well positioned to take Future Islands across the bridge from cult jam-masters to part of the “cool music” conversation across the country.
I am torn on the play to bring in Coady. I feel that he was the wrong choice for Delta Spirit’s 2012 self-titled album. Delta Spirit was in search of their Tipping Point album, and I got caught in the middle.
Delta Spirit’s first album, Ode to Sunshine, and their follow-up, History from Below, were well crafted rock’n’roll albums.
I visited Austin City Limits in 2008 and the only band on our list to see was Delta Spirit. Highlighted by Matt Vasquez’s powerful voice, my crew became instant fans and would catch them whenever and wherever we could.
But with Delta Spirit, Coady subdued Vasquez and brought in more reverb and electronic backing to the band. This fits the current trend in popular “rock” music, but not Delta Spirit’s core strength. The album was trying too hard and Delta Spirit was a very changed entity. It definitely was a Tipping Point album, but in such a way that I got thrown by the wayside.
I don’t jump at the chance to see Delta Spirit any longer.
Coady isn’t all to blame. His work with Beach House, Foals, Grizzly Bear and TV on the Radio lends itself to the sound Delta Spirit generated. And it could really play well with the sound Future Islands has been crafting for ten years in dance halls and clubs all over the world.
I’m looking forward to Singles, and I’m curious if it’s a Tipping Point album, or if its something else that will open up the band to bigger audiences all the while keeping me jamming enthusiastically.
This game is not available, due to NBA League Pass Broadband blackout rules.
This weekend I did something bad. Because of the cold, I skipped going to a friend’s birthday party. As a Minnesotan, it was 5,000% hypocritical. Yikes.
However, I did something of which you’ll be quite proud. I bought NBA League Pass broadband!
I can watch basketball whenever I want. Yikes.
Well, not really — the NBA is basically a liar.
For example, I root for the Minnesota Timberwolves — currently a game under .500 and always located in the least basketball-relevant part of the country. Of my two nights with NBA League Pass, the Timberwolves have been blacked out and I can’t view them.
How is it possible that I cannot watch my team? Well, the Wolves were on a West Coast road trip and playing the Warriors and Trailblazer in consecutive nights.
The Warriors and Trailblazers are really good, interesting teams.
And this means that the NBA — ESPN, TNT, NBA TV (not included in League Pass!) — will always show Warriors or Blazers games nationally when they can. The West Coast options are slim.
So what I’ve realized in just two days is this:
NBA League Pass basically means I get to watch the night’s most absolutely trivial games.
This bothers me considerably.
All is not lost
Most people say they don’t like the NBA, but I hold that either the NBA or the MLB is the true league for fans. There’s just too many games to casually pop-in and really understand the nuances of a given season.
I’d like to get into the groove as an NBA fan. Heck, my colleagues know more about the Timberwolves than I do. With my newfound passion, I learned that Ricky Rubio is leading the league steals, ¡qué bien!*
The last two nights I did get to watch the Indiana Pacers finishing up their road trip. Paul George is a beast. I’m becoming a better NBA fan. This is good.
Digital video is a thing
Watching video over the internet is totally there. I’ve spent the past year without cable and accessing most video through AppleTV. It works and it works well.
One knit though: where are the ads? The content providers’ agreements limit if/which ads get served over the internet’s tubes to our screens.
And we’re left with these lame-o splash screens blaring awful music through the :90, 1:30 or even 3:00 pods. Maybe I’m just saying this because I work in video ad:tech, but give me something decent in the form of some ads, please!
*I actually don’t think Ricky is the chosen one. If you can’t shoot at the 1,2 position the pick-and-roll game just becomes completely irrelevant.
I attended The Node Firm’s Performance Analysis Training two weeks ago.
I got to spend a bit of time working with node-core developer Trevor Norris on a fabricated problem: what’s more performant — rendering VAST XML from a Jade template, or using the vast-xml module?
And working through this silly problem, I became even more aware of how important small libraries are in within our code. Analyzing performance can be really complicated if there’s a lot of moving parts that affect the codebase’s speed.
I was particularly curious if the
vast-xml module offered any tangible benefit from just rendering XML via Jade. How do we test this?
My most common test pattern is to put my code onto a server and hit it with Loader.io or similar. This was easy and it gave me the “end-to-end” benefit that a given service could stand up to real load coming in across the internet.
If I wanted to avoid standing up a real server, I then would consider just running the HTTP server locally and hitting it with
ab. But this starts to get a little misleading; I only want to tell how the XML rendering if performing.
Moving further lower in the stack, we took a look at creating a much simpler TCP server that avoided any craziness with HTTP.
But that STILL isn’t quite as convenient, what about simply looping through [n] times and seeing how the modules perform. Yes! That can get us there.
Now, with the problem isolated, we were able to add probes and review where the different modules are spending their time. (This is its own blog post.)
So I started think about production projects I’d like to test — and am realizing that so much of the work I’m on is tightly coupled to another part of the app. Testing in isolation can be really hard.
Wishing I could go back in time and rip everything a part into much smaller modules.
As a Minnesotan, it never ends.
Not the cold.
Not the comments about the cold.
Over the past week I realized something: one is never really used to the cold, you just deal with it. You do the thing you have to do. And you complain about it the entire time. 20º, 0º, -20º … whatever.
I realized another thing, though — in Minnesota it is absolutely, certifiably 100% worse than in Manhattan.
The big difference between extreme cold and extreme heat is that you will die out there in the cold.
In fact, in high school we were literally instructed in Health class to wait for our friends to enter their homes when dropping them off at night. The reason? So that they didn’t (drunkenly) fall asleep on the stoop and die. Die!
I walked about two miles (uphill) both ways to the office on the coldest January 7th ever and it didn’t feel that bad. And I wonder if that’s because there’s never much doubt that at any point I could (a) catch a cab; (b) pop into the subway; (c) stop into any of the 12,349,506 bodegas for a respite.
Try that on the walk from between the two “downtown” Davanni’s at the depths of Minnesota cold. After 6 p.m.?! Forget about it.
It feels colder when you don’t have the options of instantly warming up. And that’s my point originally. In Minnesota, yes — it’s super cold. But if in a warm house, a toasty car on 394 on the way to work, or at dinner — you don’t ever really realize the cold, because it’s not an issue.
I told my colleagues I walked-in the other day and they acted like I’d jumped out of a Jack London story, and then attributed it to my Minnesota roots.
Maybe. Maybe not.
Online advertising’s promise is its challenge: measurement
The great advantage of digital advertising versus its traditional media siblings boils down to one simple factor: data.
Prior to the emergence of the internet, measuring advertising performance was conducted (and still is) through statistical sampling. In large part, Arbitron and Nielson ratings are based on “families” reporting their media consumption and, based on these samples, we get ratings points. When advertisers purchase Super Bowl ad slots, they do-so on the measurement that 108 million watch the game; obviously, this is based on a sample. We could never actually tally 108MM viewers one-by-one.
However, with advertising on the internet, we can do just that: there is no need for sampling families — we can track everyone, individually, one-by-one.
When advertisers purchase 1.2 billion banner ad impressions, each individual impression is measured.
It goes without saying that digital’s ability to measure has been and a huge selling point. This holds true for all of the stalwart and emerging media we consume on the internet: banner ads, search, videos, radio, social, email, etc.
However, the measurement of online advertising is not free of discrepancies and technical challenges.
The importance of impressions and click-throughs
Impressions are the most important metric to the actual business of online advertising; CPMs are the standard for selling and buying online media.
Ensuring that there is consistency in the measurement of impressions provides advertisers with confidence that their campaign ran correctly and allows publishers to properly monetize their supply.
While impressions are the most important unit for the buying and selling of online display media, click-throughs remain the standard display advertising performance metric.
Click-through rates (CTRs) give way to gauging — albeit very poorly — the performance of a campaign. Advertisers want to maximize their dollars and get the highest performance out of their media buy as possible. Similarly, publishers want to their product to be high-performance and encourage repeat business.
Ensuring that impressions and click-throughs are tracked with as little discrepancy as possible provides the entire ecosystem with the ability to run campaigns and review the performance.
How the internet tracks impressions and click-throughs
Exactly how impressions and click-throughs are tracked gets a bit technical, but is important to understanding the challenges in reporting discrepancies.
The internet runs on the Hypertext Transfer Protocol (http) — when visiting
buchok.com, the browser points itself to http://buchok.com. HTTP is a complicated, wonderful protocol, but for the sake of keeping this ad metrics discussion tightly scoped, let’s define HTTP as:
(1) HTTP requires a web browser to make a
requestto a web server, and then (2) that web server provide the browser with a
Between steps (1) and (2) above, the web server can do a lot of things. It can make a calculation, it can render a new web page or it could even record the incoming request into an analytics system.
This is exactly what happens when tracking online advertising. Let’s look at what happens once an online ad is loaded:
- Advertising Creative is loaded on publisher site EXAMPLE.com
- As soon as it is loaded, the Creative makes a call out to an analytics server
- The analytics server records the request and responds back that everything went OK (HTTP status code
Click-through tracking works similarly:
- A visitor to EXAMPLE.com clicks on a Creative
- a: The click-through directs the page to a redirect (in-band) OR b: The Creative makes a call out to an analytics server, simultaneously sending the click off to its desired destination (out-of-band)
- a: The analytics server records the request and redirects the browser to the desired destination
b: The analytics server records the request and response with that everything went OK (HTTP status code
Because tracking is vital to all parties involved in the process, the actual diagram involves many more players — all tracking the exact same thing.
The differences between these numbers is where discrepancies can arise.
Ensuring the measurement is consistent
In the early days, online advertising suffered measurement inconsistencies — a bit like measuring distance in feet and meters: it’s the same distance, but measured differently.
In November 2004, the IAB and its members, with the support of major global organizations involved in the advertising and research disciplines, joined together to issue a global standard for counting online ad impressions. The standard has evolved over the past eight years, as well introductions to video and rich media measurement are being tailored to serve the industry.
The IAB’s work has provided a solid backbone to ensure consistency within methodology behind online advertising measurements of all types.
Where tracking breaks-down
Why do reporting discrepancies still occur despite ad servers’ and publishers’ adherence to best practices in their technology and the IAB’s measurement guidelines?
The answer, for the majority of impression and click-through discrepancies, boils down simply to the reporting chain involving multiple parties.
This chain is extremely brittle in that it will break wherever a weak link exists at any given moment. Weaknesses arise from a variety of different situations.
We’ll take a look at a few causes in a future posting.
The job hunt ramped up pretty quickly as Hacker School finished.
I am planning to contract for some time, so the intensity to find a job is lessened considerably and provides me with some clarity seeing what else is out there.
By in large, I enjoy finding new clients and opportunities via networking. It makes contracting a nice fit for me.
I am not totally ruling out working on a team at a company, though.
I have spoken with several companies about full-time gigs and it’s interesting how the difference between a “traditional” recruiter and Hacker School.
Recruiters, in my experience, tend to insert themselves in the middle of the process. It feels isolating and that, as a candidate, I have very little exposure to a company.
Hacker School is the opposite. It puts us in touch with the employers — the developers themselves — from the get-go.
This is huge.
I am so much more interested in the “who” and “why” of a business, rather than the “what” and “how much” of a job offer.
The companies that Hacker School works with have been interesting, dynamic and engaging.
Traditional recruiters, meanwhile, just seem to see “Ruby on Rails” in a job posting and think there’s a fit.
It’s insane to even be able to write a post like this — that anyone considers me as a candidate for a role in their company is beyond fortunate — but it’s worth noting just how good of a job Hacker School does with the process.
Today was Nodebots Day all over the world.
After getting our feet wet, we aimed at a crude implementation of the classic game Bop It.
This was roughly the end result.
And here we are working with hardware — imagine, not just code, but stuff you can touch!
I primarily attended Nodebots Day because I like the Node community. Knowing that Rick Waldron, the author of the Johnny Five library, would be in attendance was important. Rick is extremely helpful and his attitude towards hardware hacking is first-rate.
NYC has a nice hub of Node developers and Nodebots Day was great to work through hardware hacking within a community I admire.
Admittedly, implementing a Bop It clone isn’t high on my to-do. Most of Arduino’s base capabilities seem very boring at surface level.
I went to Nodebots Day to improve my attitude about hardware hacking. I knew I couldn’t motivate myself in isolation to make little LEDs blink on and off.
It was fun.
It was productive.
And most importantly, I’m actually really energized about the really cool stuff that’s possible once diving into those little blinking lights.
I will continue hacking on hardware.
This weekend I was invited to Madrid to give a talk at Spain.js.
Thanks to all of the organizers for putting on a great conference at Spain.js 2013.
People are often what inspires us to be better.
The side conversations and relationships I’ve made at conferences have usually been some of the most eye-opening and important of my career.
Learning about other conferences, tips & tricks and more about speaking from Jakob — I hope we run into each other very soon.
Catching up with Israel and Enrique, two of the main organizers of the event. We met at LXJS 2012 in Lisbon. Undoubtedly that relationship is partially responsible for getting me out to Madrid in the first place — thanks buddies!!
Looking forward to seeing all these great people soon.