Archive: December, 2017

2017 Review

posted by Jeff | Sunday, December 31, 2017, 5:00 PM | comments: 0

I've been doing these year-end retrospectives for a long time now, and like most things broadly characterized as "social media," this too is a habit more for my records than anything else. As a history enthusiast, I understand more than ever the value of understanding where you've been to make better decisions about where you're going. I will say, however, that it's hard to package life into a year, because a lot can change in that time.

Career

While it was, and is, hard to not have the daily contact that I did with folks at AgileThought, after leaving just over a year ago, I can say with certainty that joining novi AMS was the right choice. Long-term product work does prove to be more satisfying, and I'm flexing a lot of muscles that I didn't previously get to use as much. I get to run a dev team, I brought solid process into the company and because we're still relatively small, I've organically filled in some other blanks that appeal to my strengths. I'm trusted with maintaining the company "zen" and doing quite a bit of professional development, which are things that I truly believe can't be left to chance, especially as you scale. I jokingly tell people that I'm the "VP of Puppies and Rainbows," but it's partly true!

I had to hire three people this year, and it took most of the year. That took its toll in terms of stress. As much as I have a streamlined funnel process to narrow down the candidate pool, it's so time consuming. If I were tracking the time, I bet it took around 20% of my time this year. Fortunately, being a distributed team means that we were able to cast a broad net. One person was in Oklahoma City (then moved here) and another is in Virginia. Only one local from the three. You've got more options when you're not constrained to geography. I'm really excited about our team and its ability.

I was painfully self-aware about my inability to deliver on a major new version of the software this year, and to this day it grates on me. In the end, it comes six months later than anticipated. Granted, the long hiring process was part of the issue, and then normal things that come up during the course of business further pushed it back. The hardest thing about being a technologist is accepting that business does not occur independent of technical needs and wants, so you balance them the best you can. Fortunately, this particular fog is lifting as we get customers on to the new product.

The other hard thing has been keeping the work and the rest of life balanced. When you like what you're doing, it's harder to just switch off and do other things. Sometimes you need to hear your kid say from the other room, "Why is Daddy still working?" The only time that I took off in the second half of the year was to move and do a long cruise weekend, so really just two days, and that's not cool. That's why I took the holiday week off, even if I wasn't going anywhere. I need to be more aware of this, because mental fatigue is real.

Looking forward, we're starting to pivot from survival and reactionary effort to innovation. That's a sweet spot that's completely unusual, but if you can get into that groove, and the business is good, it can last for many years. I'm pretty excited about that.

This was also a good year for Diana, even in a part-time job. She's been a lead usher for a few years now at the big theater complex in Orlando, and she's the go-to person there on the front-of-house side for part-timers. There may be some new opportunities for her, too.

The business

For years I've been doing a separate blog post about where "the business" went, but this year, I'm not. I wrote previously about how revenue these days is something Google owns you for, and the audience prefers largely now to do everything on Facebook. I'm still making a little money, but it's been the same story on CoasterBuzz every year... more unique users, for less money. PointBuzz has seen user declines to 2012 levels, which wouldn't matter that much because it's better off in terms of traffic than 2007-2011, with far fewer visitors, but making way less. (Page views are harder to measure, and maybe matter less, because around that time the forums became "infinite scroll," so the views matter less.)

Obviously, a huge part of the shift has to do with going mobile. Half of our traffic comes from phones now. It's not that we don't show ads to mobile viewers, it's that they're not worth much, and they don't fill much of the inventory. Combine that with the reluctance of people to leave the walled garden of Facebook, and it's not good news for the niche publisher.

I'm not bitter about all of this, just disappointed. The fun of the Internet in the oughts was that you could find all of this crazy stuff built by people who were really into some specific thing, and it was weird, sometimes crappy but very real and exciting. Most people now don't even remember this, but CoasterBuzz was started in large part as a directory to all of the stuff people were building out there in the world of roller coaster fandom. When a site in our directory had a news item posted, sometimes they'd get shut down from all of the traffic. I didn't need to post news as much because everyone else was doing it. PointBuzz is a rarity... there are very few community sites now committed to a single park that isn't in Orlando.

That said, we'll keep doing it probably because it's hard to stop something you've done for two decades. The sites still let us stretch our legs to build stuff we don't get to do in our day jobs. I'll keep maintaining that damn forum project on the latest bits. I'll keep posting photos and do a video doc now and then. I just won't expect to make any money on it.

If I do endeavor to do anything new, it will largely be for the purpose of asking people for money in return for something. That dashboarding project I've had on the shelf for years, I may yet some day polish it and launch it now that the costs to scale it and charge credit cards is so low. If it makes a hundred bucks even, I'll feel validated, because it's something I want myself anyway.

We invested in a long-arm quilting machine for Diana, which in theory could make a few bucks here and there. It's a really long-term play though, because even if she has the bandwidth, desire and customers, making the money back will take years. So mostly, it's something cool that allows her the creative freedom to make stuff, and any income after that is gravy.

Health

I spent a lot of time in the late summer being lazy, because it's hot, and as I wrote in the fall, the timing is such that my daily checkup reveals that I need to get off my ass, move around more and be a little less ridiculous about how I'm eating. My blood pressure was a little higher than last year, which was already just a little over normal, but having a good doctor meant telling me what to do about it without prescribing drugs. My cholesterol still favored the "bad" by a little, so after talking about what I eat, he wanted me to take Omega-3 supplements. Sure enough after doing that for six weeks, my blood pressure was down significantly, though the top number was at the high end of normal.

It's obvious that I still need to lose weight if I'm to get the cholesterol and blood pressure to more long-term normal numbers, and that's not going to get any easier with age. I just have to decide to prioritize it, which is hard because so many things compete for brain cycles, and frankly this particular thing is largely abstract and only poses a theoretical risk.

The health of my family is a bigger concern. Diana's migraine situation hit a new low this year, and Simon's struggles with ADHD and ASD also cause him to compulsively pick his skin all over and it keeps getting worse. He has a dozen bandages on right now, and it doesn't stop him from just picking whatever random skin he can touch. It's frustrating and heartbreaking.

Parenting

I'm not sure how to approach writing about this, and I've avoided doing so for much of the year. This year was extremely difficult. When you combine ASD, ADHD and regular 7-year-old behavior, it's fairly easy to be overwhelmed, frustrated and defeated. He's on three different drugs now, and as of right now has no less than 15 band-aids to cover all of the places he's picked to the point of bleeding, including his finger tips. Few things cause anxiety and sadness for me the way seeing my kid unable to stop harming himself does. And just this week, quite suddenly, he's obsessively putting his fingers in his mouth.

If that weren't bad enough, I know that Diana takes the worst of it, with the daily struggle to get through homework (which is of marginal educational value to begin with). He gets so anxious about failure that he doesn't even want to attempt anything even mildly challenging, and we get entirely blank sheets of work coming home from school. There is some question about whether or not this is a learning disability, but I'm not convinced that it is. He flips out about not being able to do a challenging task in a video game, and that's something he loves. I think his intelligence is fine, but he doesn't cope well with adversity. That might be our fault to an extent, because we've given him plenty of shortcuts over the years for even the most mundane things, and often more for our benefit than his. It's hard to pick those battles.

He also doesn't stay on task... for anything. Getting dressed or eating breakfast in an exercise in constant distraction. I know the amphetamines he takes on school days helps, but his pediatric psych is still experimenting with dosages and drug mix. This iterative process isn't fast enough. Add in his general disregard for social contracts (like parents don't need a reason to tell you what to do) and a complete non-understanding of consequences, or cause and effect in general, and you can imagine how things go some days.

I end up having a fair number of evenings with him alone, when Diana is working, and I've been trying to use that time to focus on positive interaction with him, to talk about all of the things he does well. When we're correcting him for almost everything, he may feel as though he's totally broken, and I don't want that. We see him reading more, including some comic book style books about science stuff, and I praise him for that. I'm trying to figure out how to get him to engage in service and kind acts toward others, even if it's just us, because he struggles with that.

Eating is a huge struggle. We don't go out to dinner as a family, ever, anymore, because he won't eat anything that isn't macaroni and cheese, grilled cheese or a hot dog.

I imagine that this will all get better, and if not easier, then replaced with other hard things, but this year wasn't easy. I lost my cool way too frequently, and it shouldn't be a mystery about why he does the same when I'm his teacher. I'm self-aware though, and I know I've been getting better at it throughout the year.

He's a sweet kid. You definitely love your kid in a different way than any other human being, and that's probably why it can be so hard at times to keep perspective. It's hard to match the joy of a few laps in the lazy river at Legoland with him, or the screams on Big Thunder Mountain Railroad. We're lucky to have access to the theme parks, because I feel like they appeal to so many of his interests... the science and technology of rides, the jobs of ride operators, putting on a show of sorts. And of course, he always feels like he belongs, because that's what they do.

Vacationing

Once again, we knocked out three cruises this year, but the most important one was in the fall, when it involved just me and Diana. It was way too short, but it was awesome. It's honestly the most quality one-on-one time we've had in a couple of years.

While not strictly vacationing, we did make a few beach trips early in the year, and then we kind of forgot. We have a pass for the Canaveral National Seashore, which is a wonderful beach. I also made a short run to Cincinnati to open the new ride at Kings Island. I had two work trips, to Austin for SXSW, then a long weekend for a hackathon at Intuit's campus in Mountain View.

But the thing is, we didn't really vacation very hard this year, and that's kind of a regret. Mind you, that has a lot to do with the new house, but it still seems like we should have done more. We didn't do a single road trip, though the usual annual one didn't happen because my in-laws no longer live in North Carolina. I only took two days off from early June to Christmas, if you don't count the two days for moving (I certainly don't).

Dollars and sense

Speaking of not spending a lot on vacations, there was a lot of financial discipline to endure because mortgage companies are all up in your bank statements when you're buying a house. That experience culminates in mostly draining your savings, so in some ways it's like we have to start over. After my Cleveland house experience, I don't just assume that money you sink into a house is going to be there later, so it's a lifestyle choice you make, and not necessarily an investment.

We're behind in terms of retirement saving/investing, depending on the advice you follow. That advice is a little inconsistent, because it assumes that you should be spending the same amount in retirement, which I hope isn't the case since by then your kid is on his own and you hopefully don't have a mortgage. That might be naive. Regardless, we'll be able to somewhat offset the additional cost of the new house with cuts in other places this year, by trading in the Model S and going solar (along with the tax credits for both). There will be anxiety in the short term until we close on the house sale. Maybe it's just age, but I have more anxiety instead of less about my financial well being, and it's been fairly stable now for about seven years. It wasn't really unstable before that, I just did a lot of stupid things.

Irma

We experienced our first real hurricane when Irma rolled through. Impossibly, we didn't even lose power, despite the storm center passing about 40 miles west of us. A lot of people were anxious to call this the "eye," but after dragging across most of the southern part of the state, it was most like a loosely organized center of rotation. Despite the TV news hysteria, no part of Orange County even measured hurricane force winds, sustained at 74 mph or higher. Our sustained wind topped out around 50 mph, gusting to the low 70's. We didn't have any real damage to speak of other than down trees (which the HOA propped back up), but we did have a little water seep up through the base of one wall. In our area, most of the issues were with down trees, roof shingle damage and electricity outages that lasted days. It was actually the wind on the Atlantic coast that was the worst.

It could have been worse for us, but to be worse it would have had to of hit one of the coasts a little further north, or stay off shore and be bigger. What I learned is that it's best to just monitor the updates from NWS and NHC, and ignore the local TV stations entirely. They don't communicate the science, they just dangerously have people stand outside and show you radar. The whole "eye of the storm" thing was particularly annoying, because it doesn't really mean anything in this case, as the most damaging winds in our area were near Canaveral, further away from the storm center.

Yet another move

Diana's quilting machine is 10-feet long, and to make it fit, we had to remove the closet doors in her sewing room. It was very cramped.

Frankly, I was feeling squeezed as well, after working remotely for four out of the last five years. Then my best friend started building a big ass house with her new husband, and I started to do the math in my head. We could do that too without significantly changing our lifestyle. Once I got over the feelings of guilt for buying something nice for myself, and the stress of figuring out the financing was done, I started to enjoy thinking about how we would outfit the place. Mind you, a month in, I got a little tired of hanging light fixtures and curtains, because it's easier to watch it on HGTV than actually do the work.

It has been a nice change though. The other house took longer to sell than I would have liked, but we're really comfortable. We didn't have to buy furniture or anything, because it's the same number of rooms, they're just bigger.

The world

This year felt like another shit show outside my immediate sphere. Nazis, mass-shootings, massive hurricanes, wild fires, starvation, nuclear proliferation and my country is being represented by a man with no moral compass or coherent policy direction beyond "fear brown people and blame everyone for your failures." As discouraging as this is, it's extraordinarily disconnected from what I see close to me. In the circles where I run, diverse people are changing the world and living together. They're demanding more of the people we elect and holding them accountable. They set examples of how people should treat other. And hey, we ended the year with a new Star Wars and Pitch Perfect movie, so it can't be all bad.

That global shit show reminds me of where my greatest accountability is: To raise a child who is good, kind and wants to leave the world better off than the way he found it. That's where my focus has to be, no matter how difficult it is.

Am I happy?

Again, this year, that's a tricky question. I felt a lot of pressure to keep things together when Diana was enduring her headaches and Simon was everything that he was. I felt overwhelmed a lot. I would say that I was intermittently unhappy because of the overwhelming situations. It felt a little like a coaching year for me, because coaches have to hold everything together. I would have these great victories at work and then that night have what I thought was a total parenting failure. I spent a lot of time feeling helpless to get Diana the right help outside of the suggestion that her doctor sucked (I think I was right about that).

It got better later in the year. I felt a little more zen, most of the time. Christmas and Broadway shows have a way of lifting the spirit, certainly. I'm excited about the coming year, with some of the travel we have planned, the roadmap at work, summer in the suburbs (the neighbor kids are outside a ton). The year was a bit of a draw... ups and downs, strikes and gutters.


f/13 at 2.5 seconds

posted by Jeff | Sunday, December 31, 2017, 12:55 AM | comments: 0

I've been trying to photograph fireworks for 20-something years, and mostly it has been a total failure. That's not a big deal in the digital days, but it sure was expensive in the film days. When I lived in the Cleveland suburbs, I had a great view from home for the yearly Independence Day show in town, and I got lucky a few times there. I was less lucky with Cedar Point fireworks, but I also didn't see those as often (because the park was a zoo those days). Now, my front door is 10,348 feet from the place they launch fireworks every night for Magic Kingdom at Walt Disney World. You might say that there's plenty of time to practice.

So a couple of times a year, I bust out the tripod and put a camera on it, usually for the new year and Independence Day, and I rattle off a bunch of shots and hope one doesn't suck. The timing is still hard to get right, even if you know what to expect, but at least I can say consistently what the best exposure is. It's f/13 at 2.5 seconds (ISO 100). Actually, the time can vary depending on how much streaky you want, but for my tastes, you can't beat 2.5 seconds. If you stop down any less, the color tends to wash out, and if you stop down any more, it just looks underexposed.

There is also some luck in how the show is performed. A bunch of bursts in the same spot, or in your line of sight, just result in a big bright blur of light. Nothing you can do about that, but if it's a good show, they probably spread out the stuff. The big special holiday shows at Magic Kingdom include shells launched from all around the park, so the finale is pretty well spread out. In my case, I do get some overlap during the finale, but it generally looks pretty great.


The 2017 Playlist

posted by Jeff | Friday, December 29, 2017, 6:10 PM | comments: 0

Here it is, my annual compilation of songs that I felt were good enough to associate with an entire year. Only two more than last year, despite a strong start. It's not a super long list, but I feel like there's a lot of quality and diversity. Some great new finds this year, like K.Flay and Alice Merton, and some great new efforts from Lorde, Muse and Thirty Seconds to Mars. Even Tracy Bonham came back with a stellar remake of her own "Mother Mother." A few songs were largely for Simon's benefit (thus the Moana tunes and Imagine Dragons). Hamilton was again present. The Kimbra track just snuck in, and it's blowing my mind.

For fun, I've linked to videos for everything. Most of them are kind of stupid, but I like some of them. I love how little Lorde cares that she's a freak when she dances. "Immigrants" is super political, but awesome. The Muse video has a ridiculous premise but it's so satisfying. Check out the live performances from The Naked And Famous and Tracy Bonham. Thirty Seconds To Mars have something interesting to see.


Of house and home

posted by Jeff | Friday, December 29, 2017, 11:38 AM | comments: 0

My mom visited us today, first time since the move. Showing her, or anyone, around is kind of weird, because the reaction is that we sure have a lot of space. I wouldn't describe it as embarrassing, but it makes me uncomfortable for some reason. At no point in our lives has it ever been a goal to have a house of any particular size, and in fact it wasn't until fairly recently that we felt like we wanted more. When I look back through the years, writing about house and home, I realize now that it has been something of an obsessive topic for me. For more than a decade, I think I've been trying to figure out what home is supposed to be, and what it means. The physical place (house) and the abstract thing (home) have been hard for me to reconcile.

It was more simple when I was a kid. I grew up at 3411 W. 47th Street in Cleveland, a weird 1,300 sq. ft. house built in 1895 that was at some point in the 50's converted to a duplex unit, then combined later back to a single-family house. It was weird, because there was a back mud room of sorts that was added on to the back, with a bathroom (that wasn't used as such, and I almost never went in), that you had to go through to get to the stairs. It wasn't heated, so it was cold to go through in the winter. Then at the top of the stairs, you had to cross through my parents' bedroom to get to the other two bedrooms, and my brother's room had a kitchen sink in it. It was heated with a gas heater you had to light, and somehow we never died of carbon monoxide poisoning. Incredibly, much of my extended family would come over there on Christmas Eve. We'd get 20 people in that house, somehow. The back yard had three epic pine trees, the tallest of which was probably 40 feet tall. There was a sandbox and a swing set, and the pop-up camper fit next to the garage, which was falling apart. As a kid, I didn't know any better about the size of the house, or that it was in a bad neighborhood.

I drove by it some years ago, maybe in 2007, with Diana. It was in decent shape, and Zillow said it had last sold for an astounding $92k two years before that. The neighborhood was a mixed bag, filled with houses in decay and some that had experienced complete renovations. The photo below shows it as photographed by Google in 2014, the boarded up window saying "NO PVC OR COPPER," meaning the plumbing had long since been stolen. The garage was obviously long gone.

A part of me would really like to see the inside of that place, if it's even still there. I'm curious to know what was changed starting in 1988.

When we moved to Brunswick, the suburbs, our 1969 house was technically smaller at 1,100 sq. ft., but the basement effectively doubled the size of the house, and it was usable space. We would have a ton of people for Christmas at that house as well. For some reason, that house never really felt like "home" to me, I guess because high school was kind of difficult for me, and in some ways I resented the town. What a conflict of feelings there, because I credit some of the most positive influences in my life to teachers and coaches there, and I obviously didn't resent it enough to not buy my first house in the same town.

I had three different dorm rooms in college, four if you count the transient time in summer housing, plus a rental house at the edge of campus. It's weird how I think of all of those places as cold. The dorms seemed to mostly be heated to excess so you could open the window to regulate it. Those old buildings were not energy efficient, that's for sure. I made a lot of memories in those places, but they never quite felt like home either, maybe because they were transient stops on the way to some future.

I spent nearly a year at my parents' house after school, which as you might expect resulted in a lot of self-loathing, but I still had this idea in my head that I was going to have a radio career where I made enough to move out. After I abandoned it late that winter, I eventually got the government TV job in the neighboring town, and that summer I had my first grownup apartment, with around 600 sq. ft. of space. Stephanie and I were still dating at that point, but she didn't move in until the middle of that school year, graduating a semester early.

After that first year, we moved to a really nice, fairly new, 2-bedroom place, a block away, with a comfortable 1,090 sq. ft. We ended up being there for nearly four years. I have a lot of fond memories of that place, having little parties, my first real furniture, playing computer games at my "cockpit" style desk in the spare bedroom (so much Rollercoaster Tycoon!). I got married the first time while living there. While I didn't care for sharing the laundry room with the other tenants, I liked living there. It felt like home. I theorize that it's because it was the first time in my life that I generally felt confident about where I belonged. I was good at my job, I was in a relationship, I had a functional car, I had a great circle of friends... I'm not a box-checking checklist kind of guy, but everything was generally in order.

This world continued for me in my first house, and it was my comfort place for what would end up being seven or eight chaotic years that involved layoffs, divorce, dating, second marriage, conception and ultimately, questions about what house and home really meant. The chaos forced me to realize that my attachment to the physical location of the house limited my options and my world view. I was so busy retreating into my cocoon that I failed to see the possibilities.

I rebooted life in Seattle. A new wife, new job, new baby, three time zones away was exactly what I needed. Our first apartment there was a shock to the system, but in a good way. While initially enthusiastic about it, I grew to hate it because it was a bit of a fishbowl (everything in the Seattle area is on a hill, and in this case, anyone in the parking lot could see into every room in the place). But our second place, a rental house (half of a duplex), was pretty exciting. It was almost as big as our Cleveland house. The floor plan was a little awkward, but the location was amazing. We weren't far from my brother-in-law's house, we were walking distance to a small grocery store and an Irish pub, view of the mountains... it was awesome.

Unfortunately, I still couldn't sell my house in Cleveland, and in the story I've told many times, we made the terrible decision to move back, save a bunch of money, etc. It's a regret that I have such a hard time letting go of. I fucking resented that place the day I got back, and the winter made it worse. For the 20 months we lived back there, I felt like a stranger in the very area where I spent more than three decades. During that time, I had my first always-remote job, and I realized that working from home was awesome, even if I wasn't sure what home was. I never felt like any of the situation made sense, that I belonged where I was.

By July 2013, we were living in a rental in Orange County, Florida, where rent is totally irrational and we were paying Seattle rent prices for houses that cost half as much. We were on the ground 30 days before we pulled the trigger on a new build, because for all of the loss around selling that damn Cleveland house, financially it did make sense against the high rent of the area. Diana and I finally had a place that was "ours" and we had not just a house, but a home.

This year I realized that the house was still important, even if it doesn't make it a home, and the years of remote work made it clear that space is pretty important when you live and work in the same place. In the average week, I'm probably lucky to get a dozen hours away from the house. Comfort and room to move around are vitally important. Furthermore, I've worked very hard the last six years to right our financial ship, and I'm not going to feel bad about buying that comfort and room to move around. Despite all of the challenges that have come with parenting, I feel like I belong in the place that I am, which is definitely not something that you can buy. It's a long way from 3411 W. 47th Street.


Phone cameras are getting amazing

posted by Jeff | Tuesday, December 26, 2017, 11:47 PM | comments: 0

I've been a photo nerd for my entire life. I shot black-and-white film for yearbook in high school, and as a grownup I required a nice collection of Canon lenses and a couple of bodies. I even have a Micro-4/3 camera with a really great lens that I adore using on vacation. But what shocks me is how good the cell phone cameras are getting. Now, you're not going to capture what you can get with a thousand-dollar lens and 18 million pixels, and you shouldn't shoot engagement photos with a cell phone, but for every day use, in the place you are with the device in your pocket, they sure are getting solid.

Right now, the tech press is having a good time debating which is better, the iPhone X or the Pixel 2. Many are leaning toward the Pixel, which, yay, that's the one I have, but I think a lot of the difference comes down to preferences over technical ability. I think photographers may lean toward the Pixel because the processing leans toward more realistic color processing and dynamic range that's ready to be used. (Apple likes to over-saturate color... just look at their menu screens.) I will maintain that $650 for a phone is way too much, especially when you consider the battery lifetime is at best three years of being useful. A grand is even more insane, because that phone isn't $350 better by any measurement. I'm not saying these aren't great devices, I'm just saying they're too expensive. I sound like a hypocrite since I did actually buy a Pixel 2, but with the service credits, trade and Google Home promo, I came in under $500, and I can justify that.

The first Pixel, and even the inexpensive Nexus 5X before that had pretty remarkable cameras, and I'm impressed with Google's continued improvement. I've had the Pixel 2 now for a little more than three weeks, and it keeps surprising me. The depth-of-field trick is accomplished by mapping distance, using a few algorithmic tricks, one of which is based on dual-pixel auto-focus, which is something Canon has been doing in their video cameras for some time (and it's awesome). So if you know distance, you can fake blur (bokeh) backgrounds and foregrounds as if you had actual limited depth-of-field, optically in the lens. Combine this with having lots of pixels and high dynamic range (the distance between "bright" and "dark"), and you can make some really amazing photographs.

The results are impressive, and that's largely because of the result relative to the portability of a phone. Yes, I can get better results out of my SLR's, or even the M4/3 camera, but I don't carry those around. The phone is never far away from me. So for landscape views and the occasional closeup of humans at close range, this is amazing. The biggest gap in the #TeamPixel story is that you can't exactly slap a 400mm lens on it and start shooting sports. Maybe they'll figure that out too at some point (I'm somewhat skeptical because the glass is what makes things awesome, but they're getting pretty close with short range stuff).

I've been excited about some of these photos, so here's a sample.


The Microsoft developer ecosystem has become too... asynchronous

posted by Jeff | Tuesday, December 26, 2017, 7:38 PM | comments: 0

If there has been any constant in my professional life (once I got out of the broadcast world), it has been Microsoft. After HTML and CSS, and a little Perl, I was introduced to Active Server Pages at my first real Web job, and the "evil empire" has been with me ever since. I admired it so much that I worked there for a couple of years, and sometimes regret leaving. The change at the company has been extraordinary, and I don't think we've ever had so many fun tools to play with as we do now. Unfortunately, it's not at all consistent, as the sprawling set of tools suffer from a synchronicity problem. If I sound critical, yes, I am, but stay with me for a moment.

In my two years at Microsoft, I happened to be there for a massive, coordinated release. In 2010, we saw the simultaneous release of .NET v4, Visual Studio 2010, MVC 2 and a bunch of other stuff I don't remember (but I'm sure I still have the T-shirt somewhere). There also happened to be a massive release party outdoors for all of DevDiv, which at the time I'm pretty sure involved more than 10,000 people. It was a pretty big deal, after a long beta period. I was working on the MSDN forums and profiles at the time, and we were also spinning up the reputation system (scoring game) that worked across the various properties and is still around today. We were pretty bleeding edge, and an early internal customer of Azure.

This was, in every way, a classic "big bang" release, with a lot of bits shipping all at once. The company famously handed out "ship it" plaques to people for big events like this, which for us was a little weird since we were deploying new stuff every few weeks. I still have mine, with a single tile filled for something having to do with MSDN that, frankly, was just a part of our typical cycle. The big bang was pretty normal, as anyone looking from the outside in could imagine. New versions of Windows, Office and indeed Visual Studio, were annual affairs at best, with long beta periods before the release. It was a normal that felt a little antiquated for anyone working on a web-based product.

But the nice thing about it was that all of that new shiny stuff hit at once, and if you were playing along during the beta period, you could probably start using it all on the first day. Having maintained POP Forums even in those days, this was usually how I would roll, with my own releases pretty close to those big product releases (even though I didn't start hosting on the late CodePlex and later Github until late in 2010).

Those days are long gone. The .NET Framework was rebooted as Core in a completely open source manner. That reboot took a couple of painful years, and the second version took more than a year. Visual Studio seems like it's modular enough now that the frequent updates will largely replace wholesale version changes. Now we have Azure and its huge collection of cloud services, along with a bunch of SDK's, to build and deploy stuff. ALM is easily handled via Visual Studio Team Services (VSTS), handling all of the build and release tasks, work tracking and such, without having to install anything yourself. It's a vastly different world, but it comes at a price.

In the new world, the lack of big bang moments means that new stuff comes out, and the various components don't work with each other. For example, a couple of weeks ago at work, we were excited to bring the .NET Framework version up to the latest bits, and only six week after it was released! My enthusiasm was dashed when the project wouldn't build in VSTS, because their build images didn't have the new framework on them. I love the changes in ASP.NET Core, but none of my sites run on it (after two years) because they still haven't shipped a new version of SignalR (the websockets signaling framework) to go along with it. That's a key thing for me. Then tonight I thought I'd mess around with my forum project and move the background processing (optionally) to Azure Functions. But nope, the SDK doesn't work with Core, or maybe not Core 2.0. I'm not even sure yet.

Nothing seems to work together, at the same time, and it has become a hinderance to using any of it. In a world where we're relying more on distributed architecture (often adding unnecessary complexity, but that's another topic), you'd think that this would be less of an issue, but it seems to be getting worse instead of better.

I admit that I might be overly critical. One could argue that the new world is better because it allows for more frequent innovation, better stuff coming to market faster. That might generally be true, but if it doesn't work on the latest framework versions, that's a big issue. Let's be clear, the frameworks are the slowest moving parts, and rightfully so because your foundation should not be a moving target. They also have long beta periods, so when they do ship, it's not really a surprise to anyone. So when an SDK doesn't work on the the latest framework, or the cloud tools can't build on it, or a peripheral component hasn't been updated after several years, it's frustrating.

It's pretty weird that (if you don't count my blog, and I wouldn't) I don't have anything written for .NET Core in production. I was such a bleeding edge kind of guy back in the day. I think that's partly just my change in priorities, which in my day job is shipping stuff that works today, and in my hobbies is being perfectly OK with the status quo. But I want to be using the latest stuff, I just don't have the will to overcome what isn't current.


Physically owning your music

posted by Jeff | Sunday, December 24, 2017, 12:12 AM | comments: 0

I remember the first few cassettes that I received as a kid, and how excited I was to have them. They included the Beverly Hills Cop 2 soundtrack and Genesis' Invisible Touch. There was something amazing about having those little boxes, lined up on a shelf in my bedroom. You could fold out the liner notes for those tapes and read the lyrics to all of the songs. By the end of my junior year of high school, I bought a CD player, and that magic continued in to college, with the magic of Columbia House subscriptions. Walking into the music room of my college radio station for the first time was something of a religious moment for me.

But I loved collecting those things. Any time I had a new CD, I'd play it and crash on my bed, listening to it start to finish, and looking at the little book in the CD case. I imagine that part of the reason for this is that there was a limit to how many CD's you could have, especially as a poor college student. Even if the music wasn't very good, you had to listen to it, end to end. I would say that I probably had an 80% success rate, maybe better, with the music I would buy.

I remember while Stephanie was working at a CompUSA while in grad school, she scored a tiny little MP3 player, which I think was actually Windows Media at the time, and you could put maybe 25 songs on it. I didn't see the point, but I started to get it when I brought it to a volleyball tournament while coaching. Then a dude at work showed me this thing, iTunes, on his Mac, and I thought, "Why would you want all of your music stuck on your computer?" Then I saw an iPod, and I bought the third generation one, with a 10 gig hard drive. It changed everything. I would only buy one other, the fifth generation with a 30 gig hard drive, and it played video. The iPhones and other smart phones came after that.

The transition was weird tough. I bought a lot of songs on iTunes, despite my concern about the DRM at the time. I would burn every one of them to CD, which was practical for playing in the car and for having a backup. By 2007, I stopped making the CD's, and just made sure I had backups on other hard drives. I think it wasn't long after that when Apple "released" all of the music from DRM and let you convert most of it to standard MP3 or AAC.

While all of this was going on, of course people were stealing and trading music, sending the whole industry into chaos. While I admittedly "acquired" some 80's tracks here and there, I've been a content creator my whole life, and never felt right about taking "free" music, so I kept paying for it. My collection habits shifted from the physical to the virtual. While something felt lost without liner notes (though some albums did include PDF's of them), I still wholly felt that at least I could keep these sounds for eternity.

But the whole mess with synchronizing your music from your computer to your devices sucked. iTunes was always awful. By 2010, I was buying most of my music from Amazon's MP3 store, because they were often cheaper than iTunes, and MP3 vs. AAC always felt more device agnostic to me. That was also the year that Amazon announced their music service, which included a locker component. You could upload all of your music to their cloud, and listen to it in your browser. At the very least, this was the perfect backup solution, and a steal at $25 a year. I signed up the first day, and started uploading all of my ripped CD's to their service.

In the years after, I was still manually syncing music to my phone, because I held on to Windows Phone for too long, but I did use the Amazon music app on my iPad. When I flipped to Android, I had it there, too. Then a year ago I bought a bunch of Echo Dots, and I could just shout into the air what I wanted to hear, and it magically played. That's amazing.

Then, yesterday, it was all over the news sites that Amazon would very slowly sunset the locker service, holding on to only the music that you bought from them. While that's still most of the music I have, it doesn't include the prior two decades of my music, not to mention random audio files of things I made, my podcast archive or old recordings of me on the radio. To say that I'm annoyed doesn't quite cover it. It's hard to say what happens next, because at the very least it will continue to work into 2019, but the language is vague and suggests that you could stay on it as long as you keep renewing annually.

The weird part in all of this is how the tech coverage describes this as an obvious outcome and no big deal, because "most people" just use streaming subscription services anyway. I don't buy that. I can't be an outlier freak. My objection with the streaming services is that my memories and life soundtrack are at the whim of the licensing deals with the record companies, which means stuff comes and goes or simply isn't available. It's not my collection, which is always mine. I use the streaming features of Amazon Prime now and then, to try new things or hear something I don't care about enough to buy, but I don't rely on it. I'm not cool with that arrangement.

I also don't want to go back to managing data. I want it all in the cloud, accessible from anywhere on anything. Synchronizing music between objects is a terrible way to do things. My video game saves, my documents, photos, and increasingly, my movies, live somewhere else. I don't want to go backwards. But I do want to collect stuff, so that it's mine forever, regardless of where it lives. I'll probably have to go to Google next, and hope they don't also kick collectors to the curb.


Home improvement in a new home

posted by Jeff | Thursday, December 21, 2017, 11:35 PM | comments: 0

I've mentioned before how it's pretty cool to build a house (having done it three times) because you really do get a blank slate to start with. But also, you have a blank slate to start with. Every wall is "agreeable gray," and because you don't want to pay a grand for some crappy light fixture that costs the builder $40, you have a lot of round plates covering electrical boxes on the ceiling.

At this point, we've been in the house for about seven weeks, and while the volume of work (and the crushing blow to my wallet) isn't what it was at first, I'm still not finished. If there's any tool that was worth every penny, it's the DeWalt drill I bought about six years ago. I thought it would be fun to tally up the stuff I've installed so far:

  • 8 light fixtures
  • 2 ceiling fans
  • 4 shelves
  • 1 Ring doorbell ($50 off right now!)
  • 2 Nest E thermostats
  • 1 24v transformer (to power the doorbell and address number sign)
  • 10 curtain rods
  • 1 window blind
  • 3 towel rings
  • 1 WiFi light switch
  • 2 ceiling speakers
  • 10 Philips Hue bulbs (OK, so you just screw those in)
  • 1 removed door (laundry room)
  • 1 5-port network switch

Still not done:

  • 2 curtain rods
  • 2 light fixtures
  • ~75 cabinet handles (kitchen and all bathrooms)
  • 1 kitchen faucet to replace the cheap piece of standard crap
  • 4 under-counter lights because the ones the builder installed get very hot
  • Lots of picture frames
  • 1 rug to tie the room together, man

We haven't really begun to decorate, beyond the curtains and some pictures in my office, but it does feel more or less like we live here now. I think with all of our moves, this was probably the most gradual settling process. In fact, since it was all out and didn't have a home anyway, Diana went to the Christmas decorations within a week of moving in, early November. We might not have pictures of my kid on the wall, but we've got three Christmas trees (acquired over the years). We can finally start to enjoy it without the anxiety about the previous house, also, since we've got a sale contract, finally. Having two mortgages is still gonna sting, even for a month.


Fed up with Google, ads to run a web site

posted by Jeff | Saturday, December 16, 2017, 8:12 PM | comments: 0

PointBuzz (Guide to The Point) and CoasterBuzz have been with me now for almost two decades. The early days were a lot more fun because of the wild west nature of the Internet. It delivered on the promise that anyone, anywhere, could create something with somewhat limitless potential, as long as they could pay for the cost to host it. That was a challenge for sure, in the early years, even when at one point I was hosting stuff on a T-1 to my house on my own servers, but that eventually gave way to rented servers, and then to the cloud. But even now, it's definitely not free, especially if you want to do it right.

The path to doing this was always advertising, which was generally lucrative enough to pay the bills, and during the recession and layoffs, enough for me to pay my mortgage as well. When Doubleclick (then an agency that sold ads on behalf of publishers) dropped me in 2001, it would have been devastating if I didn't start the CoasterBuzz Club, because my hosting costs alone in those days were over a grand. Fortunately, people didn't expect everything on the Internet to be free, and they stepped up.

Things have changed a lot. Before you even get to the issue of financing a niche community site, there's the fact that people aren't that interested in niche community sites in most cases, or at least not if it isn't a really big niche. People are content to use Facebook for most anything. Original content isn't valued very much. Attention spans suck too, so discourse on the Internet has largely been reduced to 120 characters of stupid by the likes of people like the president. It's all very discouraging. For years I've watched more individuals come to CoasterBuzz, but spend less time there.

But the money problem is worse. Google and Facebook own more than half of the ad market, and of that, obviously Facebook ads only appear on Facebook. That leaves scraps for the various small players, and few of them service small publishers like me. While Google has actually improved its CPM's for our sites, they aren't filling all of the ad inventory. That by itself wouldn't be that big of a deal if it weren't for the fact that all of the secondary ad providers have either shriveled up and died or pay so poorly that they're not worth using.

This year I'll technically take a loss, because I count my travel expenses to the business, and rightfully so, as those are largely a function of maintaining the relationships I've built over the last few decades. There's still some room to squeeze out more savings from the hosting, but not very much.

And here's the pisser: Google has been reducing my payout by as much as a third after the end of the month, attributing it to "invalid traffic." Mind you, there's no human who you can call to ask them about this... I'm just out a couple grand with no recourse. It's infuriating.

I don't know how many more years I'll be up for that. Ironically, the same company that's fucking me and the ad business is also the one that provides a ton of organic traffic. There are 80,000 pages indexed on CB alone. It's just that the traffic isn't worth much these days.


I forgot how to take time off

posted by Jeff | Tuesday, December 12, 2017, 9:38 PM | comments: 0

I realized early in my professional life that it's important to take time off to recharge, see stuff, do stuff. When I switched careers and started making software, this became even more obvious to me, I suppose because it can be mentally exhausting at times. Later, when I started managing people, I got kind of religious in making sure people understood the importance of taking time off to avoid burnout. I think I secretly believed that the breaks were also a way to cope with jobs you don't like, too.

But now I have a job that I really like, and I think it might be worse. As we got to the end of this year, I realized that I only used about half of my time. I was checking because I was starting to feel it. I've only taken two days off in the last five months, and then I had the move (those days don't count), a weekend with my team in California, and more weekends of hanging lights, ceiling fans and curtain rods.

One of the challenges is that I feel like time off should be used to travel, but that's harder now that Simon is in grade school. We can't easily just yank him out of school for days, so booking vacations during the school year is hard. The holidays aren't ideal because everything everywhere is crowded. Summer isn't as bad, but it's also not very long. But those two days I did take off were with Simon staying with friends, and that was practically life changing. Best 67 hours or so Diana and I have had in a while!

If I were the type to make resolutions, it would be to use my time off better. My brain needs it.


My HVAC education

posted by Jeff | Sunday, December 10, 2017, 10:45 PM | comments: 0

When I built/bought my first house, it had an old school Honeywell thermostat with a mercury switch. That was a pretty straight forward device, closing the circuit to make the heat (or air conditioning) turn on. I had crazy high gas and electric bills, though it got better when Ohio separated transmission costs from source of energy, meaning you could choose where your energy came from. A rare, forward moment for Ohio.

Fast forward 16 years to my third house (all three have been new construction), and I had no idea what I was really walking into. Stuff has changed a bunch, but I hung out just enough with the field manager to understand a little of what was going on, though not enough to get my Nest installation right, it turns out. First off, the installation contains two systems, each with a blower and an outdoor heat pump. One set feeds the upstairs, the other downstairs. Already we've seen how remarkably efficient this is, even if the up front cost is higher. We have 57% more space than in the last house but already our November electric bill was about 15% lower. They're apparently doing this even with smaller floor plans now. That's a big change even in the four years since we started our last house.

The other new thing is that the outdoor units are now bidirectional heat pumps. This was my new discovery, as I didn't really know this was even a thing. Air conditioning isn't all that complicated. It's the process of taking heat out of the air (not putting "cold" into it). It stands to reason that if you can pull heat out of a tiny refrigerator and make the coils on the back slightly warm, you can pull heat out of the cold outside air and put it in your house. It's just the same process that the AC does, just in reverse. So the primary heat comes out of your ducts, not as hot as normal gas or electric heat, but the fan runs longer and heats over more time, ultimately using less energy. When the heat pump can't suck enough energy from the outside, it can supplement with traditional heating coils (in our case, since we don't have natural gas).

This is where the Nest actually does its best work, because over time it will learn what the most efficient combination of heat pump heat and typical electric coil heat is, factoring in the outdoor temperature and ambient heat from the other unit. A regular thermostat simply uses a cut off temperature, where it resorts to the internal heating when the outside gets below a certain temperature. We don't benefit from the thing learning when we're home (because I work from home... we're home most of the time), but for a few weeks each winter we get this algorithmic magic.

The thing I got wrong about the Nest installation was configuring it. I didn't know that it was a heat pump arrangement, and I just guessed on the wiring configuration well enough that air conditioning worked. Last night, I noticed the fan had been blowing for hours, but we were at 67 degrees and not getting any closer to 69. That's when I started learning about what the different wire conductors to the thermostat were used for, and the orange one, sure enough, went directly to the outside, where convention indicated it went to the reversing valve on the heat pump. That does what it sounds like it does... it turns it from an air conditioner to a heater by putting heat into the system instead of pulling it out. Then I remembered that my warranty registration also described the units as heat pumps, and I realized I configured the Nests wrong, without the primary and secondary heat.

After I got it right (at 4 a.m.), I ran a test to find that "auxiliary heat" was traditionally hot, while the standard heat was just warmish, as you would expect if you understood how the system works. Some hours earlier, I did not have that understanding. But by morning, the house was toasty as the outside hit 39, and to hit the programed 72 downstairs by 8 a.m., I imagine the heat pump was already running and the fan blowing.

I'm pretty excited about all of this energy efficiency, and I'm hoping that the other house sells for our target price so we have enough money to install solar and live in the inevitable future. Sustainable energy is not a goal so we can be smug, it's a goal for science and moving forward, proving that it's real and possible today, so others will follow. We can't wait for the government to make it happen, so this is how we can do our part.


Accountability over outrage

posted by Jeff | Wednesday, December 6, 2017, 8:00 PM | comments: 0

I don't write about politics the way that I used to. There are a lot of reasons for that, not the least of which is a suspicion that no one is listening. Another reason is that I think it just adds to the noise. When it comes to politics, I've frankly been outraged most of my adult life. Some presidents are better than others, but I honestly believe they were all decent human beings with good intentions, even when they failed. Donald Trump is not one of those decent human beings.

But being outraged over his latest shit show doesn't change anything. Indeed, I think the fatigue has set in already, which leads to either acceptance or uprising. Fortunately, it seems to be leaning toward the latter. In terms of what any individual can do about it, outrage has few results. Accountability, however, does get results.

We've seen a man rise to power who takes no responsibility for his actions, which isn't itself as disappointing as the people who will overlook those actions (the subject of another post). However, what we're seeing is that those who support a fundamentally immoral person are being called out and held accountable. It's happening in backlash to people in Congress. It's happening at the state and local level. It's happening in the courts. Corporations, educational institutions and non-profits are feeling it. The message being sent is clear: If you choose to be on the wrong side of history, where racism, misogyny, homophobia, xenophobia and hate are the order of business, people will remember. We can have spirited debate about economic policy, and that's cool, but when you fundamentally appeal to the worst traits of humanity, people will remember. You will be held accountable.

And keep in mind, it's not a left or right issue. There is plenty of ridiculous behavior to go around.

Activism is not likes and shares on social media... that's just outrage. It is our duty as Americans to hold those accountable that work so hard to tear down 200 years of slow progress. Let your elected officials know they are accountable. They work for you (this includes the president). Support those organizations that engage in accountability.

Outrage takes too much energy to sustain. Use that energy to demand accountability.


We upgraded our phones to Pixel 2

posted by Jeff | Tuesday, December 5, 2017, 9:50 PM | comments: 0

I was fully expecting that I would hang on to my original Pixel (in Really Blue) for the full two years, but I was thinking about what to do for Diana. Her Nexus 5X just kind of died after two years. It came back to life once for me, but has since been deceased. She took my 5X then, which is the same age. Then Google did a Black Friday deal with a $100 of Fi credits and trade-ins, in what amounts to cutting a Pixel 2 cost in half, or a BOGO deal. So while I didn't need a new phone, the deal brought the cost down to something reasonable, and Diana doesn't have a hand-me-down.

Most importantly though, we get the new cameras, which are arguably the best (or tied for best) on any phone. I took 1,600+ photos in the last year, so that's important.

First impressions: It's a Pixel. The first version of this phone was fantastic, and the second improves on it in most every way. I know some people complain that the design is "meh," but I'm not sure how many more variations on a rectangle you can have. On this one, they reduced the glass on the back to just the top fifth. No glass on the back would be better (especially if you don't use cases), but I understand the radios need some breathing room. I got the white one, and it looks great. The metal has a less slick texture than the previous model, for the better. I kind of wish they did the front bezel in white, because I liked that about my blue Pixel. I know everyone loves the thin/no bezel thing, but as someone who has a tick where I rub the edges of the case, I'm OK with bezels. Also, the room for the speakers makes for pretty good speakers. (Sidebar: Spigen makes really solid, inexpensive cases that protect the phones without hiding them. This is my third phone with one of theirs.) I'm super annoyed about Google (and everyone else) ditching the headphone jack, but at least they put a dongle in the box. I imagine they partly did it for the water resistance, but it still sucks.

The screen is another great OLED (can't believe Apple is still doing backlit LCD on the 8), and unlike the original Pixel, this one isn't tweaked out. I had to use a developer option to tone down the color on the old one, but this one has an option in settings for "Boosted," "Natural" and "Saturated." Saturated was the default color space of the old one, but this one landed on Boosted. Natural feels a little flat to me. I like the always-on time and notifications on the screen, which on OLED doesn't take much energy to sustain.

A primary consideration for going all-in was the new camera, as I said, but I haven't done much with it yet. I can tell you that the power button double-tap to taking a picture is nearly instant. The processing, even when you turn on portrait mode, is crazy fast as well, and they haven't yet turned on the dedicated photo processor chip yet, which I believe is supposed to offload the HDR and depth of field stuff at a lower energy cost. That update is starting to roll out now with Android 8.1. Instead of having two cameras, they use what sounds like Canon's dual-pixel trick, where pixels next to each other can calculate distance (used on the Canons for auto-focus improvement) as well as computationally arrive at wider dynamic range. Google is using it to aid in the portrait mode and whatever other visual effects they decide to roll out.

My "tolerance" for Android was opened up a few years ago (as Windows Phone continued to die a slow death) with Google keeping its own phones on the latest bits, and they're at a pretty amazing place now. Widgets are the answer to WP live tiles, and contextual menus are occasionally useful. The live backgrounds are fun. Mostly, the OS gets out of the way now. The fine grained control of notifications has evolved to near perfection, and it's contextual to each notification. Careful logging of energy usage and data makes it easy to find the occasional rogue app (I'm looking at you, Walt Disney World).

The transition was fairly easy. Contacts have been synced in whatever service you prefer for years, and since mine are all in Gmail, this "just works." They now have some merging and copying capabilities too, in case you have your stuff spread across multiple accounts. From a security standpoint, it makes sense that not all passwords and accounts get copied, but with Google's auto-fill functionality, most recent apps that I've installed don't make me guess the passwords. The only thing that really bothered me in the move to the new device is that Google is hell bent on changing notification sounds every new model. I really liked the "Hey!" notification for texts in the last Pixel, so I downloaded the file and restored that. I also like a "real" phone ring, and for whatever reason, that carried over for me.

Net cost for these phones was $350 with the trades and Project Fi service credits. And remember we're averaging about $55 per month total. These are top of the line phones, state of the art, and it doesn't involve a grand for the phone on top of typical carrier pricing.


The innovation stage for tech companies

posted by Jeff | Friday, December 1, 2017, 11:12 PM | comments: 0

One of the things I've tried to do in various jobs is keep stakeholders and other people around a business in the loop on how the software development effort is going. Sometimes this involves just summarizing major accomplishments and velocity in a sprint, sometimes it means more widely distributed, generalized information. At my current job, I do a monthly update to the whole company, and share the accomplishments of the development team and the themes around the work we're doing.

Last month I reviewed the last year in my update, because I just crossed my first work anniversary. This month I was thinking a lot about where we were headed, and it got me to thinking about a major innovation phase. When I really stopped to think about it and look for innovation as a pattern, I realized that it's one of the few generalized phases that young technology companies often go through.

I've seen this go both ways. A lot of companies, or their internal software/IT efforts, are in a continuous battle to just barely stay ahead, and never get around to breaking new ground to serve their customers, internal or external, in a better way. In companies where the effort is just a cost center that supports a bigger business, they can kind of limp along this way, but for pure technology players, it's bound to lead to certain death.

On the other hand, when I worked at Insurance.com, my longest gig on a single product and in a technology company, I joined around the time that the innovation phase was just beginning. (A lack of innovation is not what eventually killed that company... that's another story.) In the years prior to me joining, the had been through the struggles and pain of trying to scale and figure out what the product was supposed to be. In my time there, we were dreaming up all kinds of things and building on a pretty stable platform where we could measure everything. We did nutty things that people take for granted today, like decide what kind of picture on a form resulted in higher sales conversion for specific demographics. I'm not sure that we measured the ROI on those projects, but it was still pretty cool.

The idea that we're headed into this phase is pretty exhilarating. It's what every technologist wants to be a part of, but honestly, we don't get to do it very often. As someone who has always struggled with job satisfaction, it's personally important.