Managers and makers

posted by Jeff | Friday, September 20, 2019, 5:36 PM | comments: 0

My time working at Microsoft was extraordinary. There was so much change, so fast in my life then, with the getting married, procreating and moving 2,500 miles to a new city all in the course of one year, that I'm not sure I really was able to take everything in. The seeds of the amazing transition that the company would make were already planted then, even before Satya took over as CEO. I saw it here and there, and it was exciting.

One of the lingering problems at the company was its stupid stack ranking system for its employees. The short version of the story was that it deliberately looked at churning the "bottom" 15% or so in terms of performance reviews, where managers would fight for the people they thought were the best. I don't have to explain to you why this was toxic and gave people incentive not to collaborate with their peers. It didn't really adversely affect me in my two years there, but I saw how it could if I didn't find an ideal path for myself. This was made worse by the expectation that if you weren't moving up in the company, you were destined to be in the bottom of the stack rank. What that meant, essentially, was that you had to eventually be a manager if you wanted to keep in it.

There was a program manager (a title that means a million different things) that I worked with who was enduring this kind of nonsense, and eventually he left the company. He enjoyed his job, he was good at it, and he had no interest in managing other people. He was a maker, not a manager, and that was OK. It wasn't so great for his career within the company in that scene. They did ditch the stack ranking after I left, and from what I understand, there is room for makers to be productive contributors for the long haul now.

Still, that observation really affected my world review. Year's later, when I read The Manager's Path, it became even more clear that there's a larger cultural expectation that you have to be a manager to succeed and advance. Heck, some professions arbitrarily pin "manager" on the title of beginners, even, when frankly they don't really manage anything, they just do a job.

There are a couple of problems. People advance in their career and often are promoted to a manager position arbitrarily. We do this in technology constantly (something Path points out plainly). How often does an amazing sales person get promoted to sales manager, and they suck at it? We do the same thing with software developers. And then we pin the failure on the person, who frankly may not have wanted to do that. Indeed, they are makers, not managers.

I struggled with this for the better part of 10 years. I've been in software for nearly two decades, so if you're doing math, yeah, that's half of my career. At some point, I had to think very hard about what I'm good at. As an in-the-weeds software developer, at least with the technologies and platforms that I'm intimately familiar with, I'm a slightly better than average developer. It took me a long time to get there. Back in 2009-ish, I discovered that I was really good at assembling a small team and delivering stuff. Since then, I've bounced back and forth between maker and manager, sometimes doing both, until I landed where I am now, and have to be mostly manager with a much larger team. It hasn't been easy, but I can see now that it's the right future.

This doesn't change what I learned in Redmond, though. In any profession, we have to respect that makers are vitally important to the success of any organization. We put a lot of faith and emphasis on managers to deliver, as we should, but I wouldn't go as far as to say that they're more important than makers. It's just a different role. You can't have one without the other.


Build and deploy and cloud magic

posted by Jeff | Thursday, September 19, 2019, 10:58 PM | comments: 0

I've really got a drive to build out a software project that I've been thinking about for awhile. I've been committing a lot of time to it because I now have a practical use for it. One of the early steps you get into on these kinds of projects is setting up all kinds of automation to build and deploy it all. That's particularly relevant because we're doing some of the same things at work right now on some new and replacement stuff (when I say "we," I really mean my team).

This kind of set up seems like something I do only once a year at best, and usually it's even less often. Even when I was working consulting gigs, most of the time all of the magic was set up for me already by a previous team, so it's like I have to relearn it every time. It changes a lot, too, so the infrequency adds to the friction. But once you get it all done, you feel good pretty much every time it runs. For the non-technical, what this work really means is to write some code, and when you save it, it triggers all kinds of magic that makes it run on the Internets.

The coolest thing about this is that it's all pretty much free. I use a product called Azure DevOps, and it can literally do anything that I need it to do to get bits on the air. In fact, the lack of constraints is one of the things that sometimes makes it hard to learn, because without a box you have to really think through what you intend to do. But now, when I commit code, within about three minutes, the web app, the functions and the database update are all done with no manual intervention. We live in the future!

I'm also amazed at how far we've come in terms of the cost of the technology, and the speed with which you can start using it. I can provision all of the databases that I need, and my code runs on Linux, which is a big deal for a guy who specialized on tech that used to only run on Windows. And even then, it doesn't really matter, because with cloud services, all of the underlying details are abstracted from you anyway. All I know for sure is that it lights up way faster.

I'll share more about the project when it gets further along. I've been so excited about it that I've actually asked a designer to make a new logo for me!


Six years of Fitbit

posted by Jeff | Friday, September 13, 2019, 10:00 AM | comments: 0

About six years ago, I bought the tiny little Fitbit One. Moving to Orange County, Florida, was something of a life reboot, and holding myself accountable to regular movement was something that I felt strongly about. I really wanted to improve my eating habits as well. The little fitness tracker and the app where I could log food made it non-ambiguous about how I was eating and moving. Two months in I could demonstrate weight loss.

I have stuck with the movement tracking, but have wavered in commitment to exercise and eating. The last year in particular was bad, because I did a whole lot of stress eating. That means that the measurement mostly serves to shame me, which doesn't feel good, but I'm getting to a point where I can simply treat it as self-awareness. I really like having it, because even on relatively inactive days, I know what it means to be truly sedentary, as I often was in my early 30's. I'm never like that anymore.

This tiny thing cost $90 back in 2013, and I struggled for days about whether or not to buy it. But a few weeks ago, it had very suddenly given me a low battery warning just two days after charging it, which was unusual because I used to go three weeks between charges. Then the other day, it outright died the same day that I charged it. It appeared that six years was the limit. Diana, who bought hers about six months after I did, lost hers a few months ago. She replaced hers with one of the newer models, now $70 and with a wristband and some notifications sent from your phone. I was reluctant until I found they had an optional belt clip this week so you didn't have to wear it on your wrist. I bought the replacement.

In six years, I might have had one or two days tops that I wasn't wearing it. In that time, I logged 13,047,796 steps, or 5,814 miles. It also includes 18,945 floors (I'm sure hundreds of which include cruise ship climbs). Unfortunately, the new one does not track stairs, but that's OK.

These trackers are valuable, because as they say in business, you can't improve what you can't measure. A lot of technology has questionable value (like 90% of the time wasters on smartphones), but there's little question in my mind that these devices and software are valuable.


Going to a different school is different

posted by Jeff | Friday, September 6, 2019, 10:11 PM | comments: 0

We're a couple of weeks into school now, after Simon missed the entire first week due to illness, and already, it's like a completely different world. What a difference the principal makes in setting the tone. He switched schools this year because the constant growth had us rezoned to yet another new building.

First off, there isn't any homework. Well, not technically... there is some social studies reading and writing they have to do on Fridays, and if they don't finish it, they can take it home. But that's it. He gets to come home and be a 4th grader and do kid stuff instead of more school stuff. I'm not categorically against homework, but having it every day in grade school strikes me as silly and there's no real proof that it changes outcomes.

More importantly though, there is zero emphasis on standardized testing at this school. It's just not a thing. We were incredibly fortunate that the new principal agreed to attend Simon's IEP at the end of last year, at the previous school, and she was in total advocate mode. In the course of that conversation, we talked about his anxiety, to the extent that he's medicated for it, and how the FSA testing pressure kind of wrecked him for the better part of several weeks. This was not the fault of his teacher, mind you, it was a school-wide thing. The new principal, maybe as a dig to the previous school, said something to the effect of, "We don't use the letters 'FSA.'"

If you're wondering, Simon got a 3 for the reading part of the FSA, the average and the automatic pass beyond having to prove other ways to be promoted. For math, he got the maximum 5. So explain to me again why all of that fucking pressure is necessary and comes at the cost of real learning.

The net result is that he at least seems to be pretty engaged, and even excited to learn. He has his subject preferences, for sure, but we know they're never going to cut science time to teach test taking strategies. He still has his social challenges, as I'm sure he always will given the ASD, but there's little doubt in my mind that hating school the way he did last year, despite having the sweetest, most caring teacher, would do him harm.

Now if we could just find kids that he really identified with. I know it's hard. I had very few friends in school. It's still hard for me to form deep friendships.


Old hardware doesn't have to be obsolete

posted by Jeff | Thursday, September 5, 2019, 10:07 PM | comments: 0

Android 10 came out today, so I updated my phone once I was done for the day. I haven't quite had it for two years, but I seem to recall it shipped with 8, so I'm glad that it's current. Unfortunately, that's not the case with stuff as it gets older, and I'm kind of annoyed with that.

First off, I went to get the Lego Powered Up app to put on Simon's iPad, because it controls all of the new train models. I went to install it, and it couldn't because it doesn't support the version of iOS on it. I wasn't paying attention, but it looks like it stopped updating the OS quite awhile ago. This iPad came out in 2012, so yes, it's 7-years-old, but so what? The thing about computing devices is that, computationally, they tend to last way longer than they did back in the day. This is especially true for tablets and phones.

While I'm picking on Apple, I also flattened our aging first iMac, as it's getting close to 10 years now. It's been on Simon's desk for years, but since I built a desktop I wanted to pass down my 2015 iMac to him. I couldn't update that older iMac to any remotely recent version of MacOS, and that's super annoying. That computer is still viable considering almost everything you'd do with it these days is in a browser anyway. If you don't develop software or play games in 4K, you don't need a ton of hardware. (And soon, you won't need it even for those tasks.) Stop making stuff disposable!

I complain about Windows and all of the baggage it still carries, but I hilariously still use QuickBooks'99 to keep the books for the business, so there's something to be said for that. We don't have to throw away technology all of the time. Phones aren't making any serious improvement year to year. Computers last five to ten years. I think this unnecessary upgrade cycle is forced by the companies who sell the gear and our irrational consumerism. That's gotta be legit if me, the technologist, feels that way.


All the feelings, as an artist and human

posted by Jeff | Wednesday, September 4, 2019, 3:00 PM | comments: 0

One of the cool things about spending a lot of time seeing musicals is that the people in them tend to be interesting, and often young artists. In the last year, we've started following a number of people who were on the Hamilton #PhilipTour, and pretty much most of The Prom original Broadway cast. A number of people from the Ham tour just peeled off (those guys are endlessly entertaining on Instagram), and Prom just ended entirely, prematurely, if you ask me. That group in particular was pretty emotional about it, because it was an important, almost universally loved show. I was catching up on my RSS feeds and found a blog post from one of the women there who found that closing the show was pretty much the worst. There's a lot of intense feelings there. I imagine that working on a show is a lot like a really long summer camp, sometimes for years. Making a movie seems like that too, only shorter in duration as far as the actual shooting goes.

Art makes us feel, for sure. For me it can be pretty intense, and I'm just consuming it, not making it (most of the time). The thing is, I love that feeling, and it's the thing that makes me feel alive. Certainly live musical theater does this better than anything, in my opinion, but even a good 4-minute song can have that effect. If this feels so good, or bad, as the case may be, and that's what makes us feel the most human, do we try to find it in everything we do? These musical theater folks, they're a wreck, a lot, but not in a bad way. I'd love it if my day job made me feel that intensely. (I think... maybe it would be a bit much.)

Some parts of life are inherently prone to intense feelings, starting with parenting. Sometimes, when I put Simon to bed, and we're lying there for a minute talking about our day or whatever, I run the whole range of feels, from the wonder that he quite literally did not exist ten years ago, and now he has opinions, to the reality that he won't want to talk like that for many more years. Then as I'm walking away, I wonder if the things I did today helped him, or just irreparably fucked him up. There's stress or psychic weight around that, for sure, but I'd rather have it than not.

Work was this way more when I was doing more creative work, in radio and video back in the day. When I flipped to software developer, getting laid-off two years into it, I was guarded for a very, very long time and cautious not to get too emotionally invested in the work. In more recent years, I've injected more of that into it, but almost to a fault in some cases. Being more manager than technologist makes this even worse, because I'm responsible for the livelihood of a bunch of people. That's weird, having the intense feelings without the primarily creative intent.

This is a weird thing to ponder, because I'm simultaneously frustrated with the willful ignorance that people engage in, especially with science, and a general lack of critical thinking. But deep feeling is good when it makes us better people, to ourselves and others. I'd like to have more of that.


Dodging Dorian, and the different rules inland

posted by Jeff | Tuesday, September 3, 2019, 8:08 PM | comments: 0

We got pretty luck with this hurricane, largely at the expense of the northern islands of the Bahamas. Had the track from last week stuck, we probably would have seen a direct hit on the coast in the category 3 range, which is really bad news for the coast, but for us would have just been bad... -ish.

When Irma hit almost two years ago, I confirmed what I already kind of knew. The highest recorded sustained wind speed in Orlando proper was about 86 mph in 2004, with Hurricane Charley. That was pretty serious, certainly, and I remember seeing all of the blue tarps on houses on my next trip here. But while roof damage is possible, maybe even likely if you have an aging or poorly built roof, new construction since 2010, as a result of that year's hurricanes, prompted higher standards for much of the state. Andrew already in 1992 prompted higher standards. For us in most of Orange County, new houses have to be able to withstand 3-second bursts of wind at 130 mph. The science suggests this is a "700 year" scenario, where sustained winds would likely be around 100 mph. Again, the recorded history tops out at 86 for Orlando (presumably measured at MCO).

That's why Walt built his theme parks here. There's a good trade-off between the risk of serious weather and endless summer. Heck, if things were to get super serious, I'd consider a stay on-property, because they have their own power company and it's unlikely that their Internet would go down. They also happen to be in the business of feeding tens of thousands of people at a time.

So it's not really a place that you evacuate from. It doesn't mean your house, even if it's new, won't take damage, but having built two of them now down here, I understand some of the fundamental design considerations that make them pretty durable. The roofs are tied down all the way to the foundation with a series of beams, straps and such. The first floor is all concrete block, the exterior is stucco. The difference compared to a Midwest house is staggering. You also don't need to stock up on gas and food this far inland, because it's unlikely that you're going to go weeks without. This is the opposite of being on an island. There won't be shortages or any real delay longer than two or three days. Heck, the Amazon Prime delay would be even shorter.

That said, you don't want to be cavalier about the safety or short-term potential for pain. Power can and will go out, maybe for days, so you have to plan accordingly. You could lose water as well for a few days, so you fill a tub up so you can at least flush your poop. You definitely bring in everything from your patio or porch. Plan on being inside for at least 24 hours, maybe 36, because it's not the wind itself that's dangerous, it's the stuff that gets airborne.

For Irma, I believe our sustained winds were in the mid 50's, gusts in the 70's. That was certainly "exciting." A direct hit from Dorian would've likely been a little more intense than that, but not seriously so.

We have a beautiful sunset right now, with the clouds moving by incredibly fast. Our sustained winds are about 20 mph, and it's gusty on top of that. Morning will bring the peek, probably not more than mid-20's. We got lucky this time.


Lightning repairs complete, now Dorian

posted by Jeff | Saturday, August 31, 2019, 10:09 AM | comments: 0

After a stressful week, things were restored to normal late yesterday afternoon. Monday's lightning hit ended up costing over $2,600 to repair. Most of that cost was the air conditioning repair. Insurance already cut a check, but that's after the $1,000 deductible, so that's not exactly ideal.

On the stress side, we ended up sleeping downstairs on couches and a kids' Ikea mattress, because the upstairs was over 80 degrees. Every morning, I woke up with stuff hurting more than the day before, so that was not ideal. Also stressful, the metering mechanism in our power gateway, which determines how to distribute power with our solar and backup, was dead, meaning that in the event of a power outage, we couldn't run off of the battery and disconnect from the grid. With a hurricane on the way, you can understand why that's bad news. Tesla is completely fucking terrible at supporting their energy products, as I've said before, so after I finally convinced them to send a guy out, he came and went in the morning and didn't fix the problem. The service request didn't even detail the problem, so as far as he was concerned, it was working. I had to call scheduling to convince them otherwise. Anyway, we're back up, ready to go if the power goes out. We can't run the high voltage stuff, like the AC or oven, but we'll have lights and a cold fridge.

On a happier note, I posted on the Twitter the scorch marks inside the Nest thermostat base, and the Google reached out to me. They asked me to send in the serial numbers of my fried thermostats, and they sent me new ones, even though they were certainly out of warranty and destroyed by an "act of god" anyway. That's pretty great of them. Of course, they also know we're good customers, with five of their phones in the last four years, five Google Home speakers, two Nests and a Chromecast, so it wasn't bullshit when their email said, "Since you're a valued customer."

Now we sit around and wait through the long weekend for Dorian to roll in. Regardless of its eventual track, which keeps changing, the consistent forecast for Orlando proper is winds in the low 70 mph range. Because we're inland, it's not likely to go higher than that, but I guess it could go lower if the storm weakens. I expect it to be a lot like Irma almost two years ago. As long as nothing gets airborne and hits the house, we should be fine. I imagine we'll get some water intrusion here and there, but we'll see.

What I don't understand is the way people this far inland react. Everyone is so concerned with having a tank of gas and weeks worth of food, as if the storm will cause massive delays to getting stuff here. The gas in particular I don't understand, because you're not going to be driving anywhere for at least 36 hours, and even then, you're not going to go 300 miles to anywhere.

We have a little extra water, stockpiled some ice, not fundamentally changed our food stock, have adequate propane for cooking, and we'll fill the bath tub for flushing if we lose pressure. We also have a lot of liquor. What does suck about hurricane insurance is that the deductible is huge, but it's intended to cover the catastrophic scenario.


The great lightning strike of 2019

posted by Jeff | Wednesday, August 28, 2019, 10:43 PM | comments: 0

Monday, our house took a nearly direct lightning strike. I don't think it was the house itself since I imagine asphalt roofs and stucco walls aren't particularly conductive, and also because our neighbors also lost rooms full of electronics, pool filtration systems and who knows what else. We lost a bunch of stuff.

First and most serious is that one of the AC heat pumps outside seemed to take the brunt of it, while introducing the electricity into our house. The HVAC tech hooked up pressurized air and immediately you could hear leaking. He took it apart to find a big old hole just off the compressor, and another in the coils. This happens to be the unit that feeds the bedrooms upstairs, so we've been camping out on the couch for three nights so far, still waiting for the shop to get back to us with parts. They've been non-communicative for a day, which is not encouraging. This seems to be par for the course, which is pretty weird in a place where it's damn hot all summer. I guess, on the plus side, we're using far less power than usual. The fix is going to be expensive, for sure, and it looks like my homeowners deductible is a grand.

That hit also fed through the transformers in both air handlers that power the thermostats, and both were fried. These are Nest E thermostats (the less expensive ones), and it was actually the bases that burned out. I didn't know this, but they have a bunch of electronics in them. I took them apart to find a big circuit board inside, and the charred remains of some component that fed the common wire power into the unit. Google doesn't sell just the bases, so I complained about being out $350 to replace them on the Twitter. Amazingly, Google asked me to get in touch with them, and an hour later, they offered to send replacements. How great is that?

When the hit happened, it also did something naughty to our lights. Actually, at least a half-dozen LED bulbs in the recessed lightning got hosed, but the bigger problem was that the entire circuit that feeds our kitchen, pantry and dining room lights was permanently tripped. I thought maybe it was the breaker, so I replaced that, but it still tripped. Finally got an electrician out today, who started looking in switches and outlets to find some wires that welded themselves together. But on the plus side, the breaker replacement was legit, and better me spending $45 than $80 by the electrician. Just cost the labor at $100.

Internet went out to, and that was the worst part of waking hours. Half the neighborhood went out, and when they "fixed" that, a bunch of us were still down. Me and my neighbor both had the fiber to coax converters get zapped, which seemed strange since the fiber wouldn't carry a current. However, the converter is powered by a $2 transformer inside the house, which in our case got blown out in the hit and fed that down to the converter. Once those were all replaced, we were back to streaming Netflix comedy specials, and without spending money.

The meter sensors in our power gateway apparently stopped working, which is bad news, because it means we can't do the switching to charge the battery and cover us in a power outage, which is the whole point. Tesla is going to try to get us back up before Dorian gets here, but I'm not optimistic. They don't have a great track record for delivery.

The couch sleeping is getting kind of rough though. My back was feeling pretty bad all day. If the AC doesn't get repaired soon, I might be wrestling the mattress downstairs. Not sure where to though, because in front of the massive patio windows isn't a good idea during a hurricane.

I'm glad we've got all of the lighting and internal power back to normal, but the HVAC is going to hurt, physically and financially for a bit.


Photo management after a decade

posted by Jeff | Sunday, August 25, 2019, 7:50 PM | comments: 0

About a decade ago, I bought Apple's Aperture software to manage photos on my computer. I generally liked it, because you could make the basic edits you would want and it would retain your tweaks to exposure and such. I also liked that it worked on a file reference arrangement, meaning you could organize the actual files any way that you wanted, and reference them with a folder and album structure however you wanted inside of the software.

Some weeks ago, I decided to build a computer for the first time in forever (I'm loving it, by the way), and that meant abandoning the Mac. I had to abandon Aperture eventually no matter what, because they stopped maintaining it years ago, and future versions of MacOS wouldn't support it at all. And if that weren't enough, I was still using a version of Adobe's Creative Suite that I bought in 2011, before they switched to a subscription model. That was a bummer, because I would generally buy new versions of the Adobe stuff every three or four years. While $1,800+ for the software was high, it wasn't so bad if I could use it for three years or more. Alas, even Photoshop stopped working right in the most current MacOS versions on high resolution screens.

I had been considering jumping in to Adobe's $10/month Lightroom and Photoshop plan for a long time, so moving over to a Windows computer seemed like the right time. Functionally, Lightroom works about the same way as Aperture, but it doesn't do referenced files. Instead, it uploads a copy to their servers for backup and safe keeping. I guess this is OK, but to accommodate the 350 gigs of photos I have, it meant having to upgrade to their bigger storage plan, an extra $5 per month with a current promotion. This is kind of redundant, because I already use a backup service, but I suppose there's no such thing as having too much backup. I'm just being kind of cheap.

What I didn't like about Lightroom is that it stages the photos in a hidden data directory until they get uploaded, so at first I thought this was a huge fail, because I was using an extra 350 gigs of disk space for no reason. Then after reading up, I discovered that they were removed once in the cloud. I wish they'd just do referenced files.

It is kind of neat to use a version of Photoshop that isn't 8-years-old. It's faster and more responsive, too. I don't completely hate Adobe for the subscription model, but it makes justifying the whole suite, for which I used Illustrator, Premier and After Effects on a semi-frequent basis, a lot harder. Sometimes I get a promotional rate of $40/month, but normally it's $60. I know that's not terrible considering what I used to shell out, but on a 3-year upgrade cycle I essentially paid $50/month, and it went down to $37 if I stretched it to four years. I know, I make software for a living. I should probably get over it.


Do people experience wonder anymore?

posted by Jeff | Saturday, August 24, 2019, 10:00 PM | comments: 0

I had a lap around Kennedy Space Center today, and I'm still in awe of the Space Shuttle Atlantis. Sure, it ended up being an over-engineered and suboptimal vehicle (the cost and turnaround time for reuse was pretty terrible, despite that being the stated goal), but it was still an extraordinary achievement to be able to fly that thing, people and countless cargo pieces into space. We, mankind, achieved something.

But I couldn't help but notice people bowing to their phones, seemingly bored minutes after seeing it for the first time. I'm not being judgmental about kids here either, it was people of all ages. I appreciate that the Shuttle program was more special for a kid who grew up with it, witnessed the horror of the Challenger explosion (and disbelief of Columbia's demise 17 years later), but space flight is an extraordinary thing, and this big thing went there 33 times.

This admittedly is a cynical view, but does anyone experience wonder about anything anymore? Our culture is completely preoccupied with narcissism and tribalism, colored with a side of entitlement. No one seems to believe that anything is amazing. That makes me sad.

Sometimes I find wonder in things we otherwise take for granted. Sometimes I look at my phone, and I realize that I have a tiny supercomputer in my hand that's connected to nearly all of the world's information. That's extraordinary, and the power that comes from that is part of the reason that I've been able to craft a successful career, and maybe make the world a little better than it was when I came into it, however small that impact might be. Sure, it's easy to find wonder in my phone, when growing up telephones were things wired to walls with dials on them, and the closest I could get to a computer was a desktop calculator.

I'm suggesting it doesn't even have to be something about technological advancement. Whether it's the mountains of Alaska, the pounding surf of the Atlantic Ocean, or the awesome force of a hurricane, it strikes me as impossible not to feel overwhelmed. Heck, I've lived in Florida for six years, and geckos, those tiny dinosaurs, inspire wonder and joy every time I see them (and I giggle when I catch them procreating). 

Or how's this for wonder: I met another person who wants to be my partner for the rest of our brief time in the world, and together we made this little human that keeps getting larger, has opinions, and expresses love toward us. That should inspire wonder.

It's so easy to get lost in all of the bullshit. In the cosmic sense of things, we're meaningless and absurdly temporary. It's all bigger than us, and to me that's a reason of wonder. Exploring all that inspires wonder is the point, it is our reason for being.


In defense of curated radio

posted by Jeff | Friday, August 23, 2019, 10:10 PM | comments: 0

We've had SiriusXM radio in our cars for about nine years, and we've really liked having it. Sure, you can load up your phone and listen to whatever, or a streaming service if you're not bandwidth constricted, but there's something to be said for curated radio, even with DJ's. Our favorites are AltNation, First Wave, Broadway, Lithium and others. They recently started including their streaming service with no extra charge, and now we find ourselves listening at home pretty much all of the time. It's awesome.

Certainly, it would not surprise anyone that I have a soft spot for radio, having worked in it for a few years during and after college. I romanticized it in my teenage years, too (working in it definitely could have ruined it for me!). Even though I actually buy music still, loving the world of playlists, there's still something great about the experience of listening to curated radio.

The thing I really loved about the Internet before the turn of the century is that it seemed like it was going to be this great democratizing force for content. Literally anyone could create things, and potentially find an audience. As it turns out, that's exactly what happened to some extent, but it also let a lot of crap float to the top. In fact, I think we have to take a lot of the bad with the good as far as the Internet's effect on culture. The thing is, the limited scope, having taste makers between us and the flood of content, wasn't always a terrible thing.

Music is a very subjective thing, and I get that. I probably don't fit the mold because I'm surprisingly not nostalgic about it. I don't generally listen to what I did in high school or college (two radically different eras of music), and I'm always looking for new stuff, especially in the alt rock realm. To that end, having a dedicated radio channel that sifts through all of the crap and delivers (mostly) good stuff is great. There's a real skill to have the right ear for composing a playlist that seems coherent. I did it one summer in college, and I can tell you I wasn't very good at it.

So here's to the relatively small pool of people who are music directors out in the world. Respect.


Our current theme park usage

posted by Jeff | Sunday, August 18, 2019, 2:57 PM | comments: 0

We've now lived in The OC for a little over six years. We acquired Walt Disney World passes quite literally the day after Simon and Diana arrived (I was down a week earlier). We were in the midst of the rainiest July on record for Orlando, but it felt totally amazing. To this day, I can enter those parks and have fuzzy feelings that remind me of vacationing here.

While it does feel more routine at this point, I still don't take it for granted at all. It's hard not to have a little smile as you walk over the bridge and see the Tree of Life, or take in the smells on your first Food & Wine Festival visit, or whatever. This year, renewing our passes had a little more sting though, as the total cost for three of us was $1,900, about $500 more than it was when we arrived in 2013. We went about 22 times last year, which is the fewest of any year if I had to guess, so the per-person cost for each visit was $28. Keep in mind most visits are around four or five hours, not full days.

This is a really weird situation now: We have passes to all three of the majors. Disney has been continuous, but now we have SeaWorld (which includes Aquatica and Busch Gardens Tampa), because a friend working at corporate generously gave us his friends-and-family passes, and Universal, because they had an 18-month deal for the price of 12 that I could not resist. Since April, we've visited each park at least once per month, so I think our total park visit count has actually increased a bit.

One consistent theme is that I see the different standards that the parks operate on. SeaWorld parks are beautiful and have pretty good food, but ride operations just aren't very good. Last weekend we watched a kid start the kiddie train with a mom still fastening her kid's seatbelt (and they let him keep operating with a supervisor watching). Universal has generally poor quality food at every turn, but ride operations are hit or miss depending on the ride. Disney is on another level with everything they do, and even counter service food is more than passable as a meal.

The Epcot Food & Wine Festival is around the corner, which will mean a lot of spontaneous visits, even for lunch now and then. The concert lineup isn't very strong this year, but last year they did a good job with more chicken dishes and fruity drinks. I can't wait.

There's never a shortage of things to do here, that's for sure. Theme parks aren't everyone's thing, and that's OK, but our family has a good time year-round visiting, and it's particularly nice to go when friends from out-of-town are here.


The struggle is (always) real

posted by Jeff | Thursday, August 15, 2019, 8:56 PM | comments: 0

This has been a tough week. Simon has completely missed his first week of school, and given the timing of his last fever, he should technically stay home tomorrow. There's literally nothing I can do about it, but it breaks my heart to see him miss the first week and all of the getting-to-know-you stuff. Work has been very challenging lately, in part for reasons I can control, but also reasons I can't. We worked through a big issue with the HOA this week, which I honestly wasn't that deep into, but I still had to contribute in any way that I could. I'm also preparing to entertain family this week. I'm mentally pretty spent.

Here's what really freaks me out though: It seems like regardless of your achievement, success (whatever that even means), age or experience, life is always something of a struggle. I think about the challenges that Simon has, and he's only 9, relating them to my own childhood experience. I think about Diana and her migraines. I think about my completely strange career path and all of the turbulence to get here. No amount of cruises or driving in electric space cars makes life feel like less of a struggle. I am not a Type-A overachiever personality by any stretch, but is anything ever easy? Is life a struggle in every context, or do we make it that hard?

I'm sensitive to this in part because I've largely tried to avoid miserable people. I don't want to be that guy. I know that I don't need permission to feel overwhelmed, exhausted or otherwise suboptimal, but I don't want to be one of the people who never seem happy. There's a whole lot of happy in my life, but some days it's hard to see when I feel so beat down. It comes in waves, and I'm in a big wave right now.

Meh, I just need to vent. After all these years, I'm still not good at balancing out life. I see a therpaist about every six weeks, and it's almost always the topic... understanding myself and how I move through the world in a way that leaves a positive effect without giving twice what I take. That's harder than it sounds. Idealistic, 20-year-old me would be horrified to know how deeply I want to leave a positive mark. I don't need the recognition (well, maybe a little recognition), monuments, fame or anything like that, I just want to die knowing I moved the needle in the right direction. That's hard when it's a struggle.

Six weeks ago, I was flinging bread off the side of a boat at fish over a tropical reef in the Bahamas. That was not a struggle. Gotta keep that in perspective.


Behold, the Lego Millennium Falcon

posted by Jeff | Sunday, August 11, 2019, 5:12 PM | comments: 0

I waited about 20 months, which is pretty good self-control, before I finally bought the Ultimate Collector Series Millennium Falcon. But it was my birthday, and I decided that I deserved it. It is, in fact, glorious.

Judge me if you want, but spending $800 on the biggest Lego set ever created is pretty much what any adult Lego fan with disposable income would do. There are over 7,500 pieces in this thing. The next largest set in my collection is the roller coaster at 4,124 pieces, then the Disney Castle at 4,080. I'm not sure what the total build time was, but if I had to guess, it was probably around 30 hours.

I find myself stressed more than I'd like lately. I imagine it's a combination of work, parenting and just every day life. But the one thing that sets me at ease consistently is sitting down to build one of these big sets. I put on some tunes, grab a beverage, and start at step 1. I'm using my hands and my mind and turning a mess on the table into something cool. It's very satisfying.

Simon has a few of the small Star Wars sets, but I haven't bought any of them myself. The Death Star always seemed kind of neat, but I never pulled the trigger. The Millennium Falcon is arguably the most unique and junky space ship in science fiction, and it's an enduring work of art. I'm gonna cry a little when I finally see the one next door at Disney's Hollywood Studios. What makes it so interesting, and such a great candidate for a Lego model, is all of the detail and texture. Most of the surfaces on this thing are rich in that detail, and it looks amazing.

The build starts with a frame, and from there you snap the interior rooms into it, and then attach panels around everything. You don't want to "fly" it around making "pew! pew!" noises, because it's not durable like that. One of the last pages in the instructions actually shows how to carry it around so as not to break it.

The finished product has the original radar dish, which you can swap out for the replacement that appears in the newer movies, since the original was clipped off in the final Death Star battle. It comes with old Han Solo and the younger version minifigs, so you can pair them with Rey and Leia as appropriate. You'll also find BB-8, C-3PO and of course Chewbacca. There's a pair of little porgs too. The instruction book has a rich history of Millennium Falcon Lego sets, and stuff about the design of the ship in the movies. Also you should know the book is spiral bound and weighs 7 pounds.

I didn't find anything super challenging about the build, because they're really good at writing instructions, but some of that texture on certain panels can be a little tedious at times. You definitely have to count out all of the parts before each step to make sure you get them all on the model. There's a lot of rotating and flipping given the scope of this beast.

I really enjoyed this build, more than any other set (the Disney Castle is a close second, if you're wondering). The disassembly should be interesting. As I mentioned last year, I do disassemble to the numbered bags used in the original packaging. The fun is the building, not just the finished product. I wouldn't drop $800 to build it once. This one will probably be pretty easy, if a little time consuming, because most of the 17 bags are just panels over the frame.

Overall, I strongly endorse this set. When it was announced, it seemed a little ridiculous, but I think it's entirely worth it now that I've got it. I look forward to rebuilding it for years to come.


I wrote a tiny library: POP Identity

posted by Jeff | Sunday, August 11, 2019, 4:20 PM | comments: 0

Many years ago, I decided to take advantage of the third-party "social" logins that were available in conjunction with the evolving ASP.NET frameworks. Being able to sign in to something using a Google or Facebook account is convenient. When I went down that road, the tough part is that it was so heavily baked into the Identity libraries and Entity Framework. After much digging and looking at source code, I was able to decouple it enough to use it in POP Forums, but what a pain. It evolved a little when ASP.NET Core finally shipped, but it was still a lot of magic.

A few months ago I started looking at ways to make the forums run in a multi-tenant environment, and the external login stuff just wasn't compatible, because it has to be configured at start up. That doesn't work when every tenant has different client ID's and secrets. I started to think about this as high level as possible. What was I really after? All I wanted was to get the third-party's ID for the user, and maybe the name and email if I could get it. Most of these services are using OAuth2, which is a pretty simple protocol to use, where you bounce the user off of their server, and exchange the resulting token for the claims you're looking for. All of that complexity seemed pretty unnecessary.

So I wrote a little library to make it work called POP Identity. I put the intention right in the readme:

This is for people who think that the existing ASP.NET Core external login system is too much magic, or too tightly coupled to Identity and/or EntityFramework. It didn't evolve much from the old OWIN days. It has the following goals:

  • Be super light-weight, handing off just enough mundane detail to the library.
  • Allow code to change client ID's, secrets and other parameters at request time, as opposed to the built-in framework that sets this all at startup. This makes it appropriate for multi-tenant situations.
  • Allow the developer to persist the resulting data (external ID's, name, email, etc.) in whatever manner makes sense. This library has no persistence.
  • Defer authorization logic to the developer. It doesn't setup any claims identity... that's up to you.

Phil Haack recently made the correct observation that it's pretty rare that you get identity claims from third-parties and make it durable for use in your application (a few days after I started this mini-project... timely!). There really isn't a need for auth schemes and more configuration in startup to enable all of this if you're not using the Identity libraries and the persistence that goes with it. My sample shows how you can get these basics and bake them into whatever you need them for. In POP Forums, I get a little more serious, first with a single controller action that redirects you to the appropriate service, then a callback action that either logs you in based on an ID and provider match, or starts a workflow to associate your social account with a new or existing account in the forum app. No references to the Identity libraries. The only part I'm leveraging from the framework is the sign-in mechanism that creates a cookie to identify the user. From then on, I use simple middleware to check that the user's request is legit and that they are in fact still a user in good standing (and cache the user data for the duration of the request). That might all require a longer post to describe, but the important part is the calls to POP Identity.

I haven't built anything for general use in a long time, and I remember why I don't want to ever write frameworks or generic libraries. Even if you're the clever idiot who figures out how to break it, you have to try and account for those situations. That's exhausting! I figured this was so limited in scope that it would be easy, but I started poking holes in it right away when I added it to the forums. For now though, it supports Google, Facebook, Microsoft and any generic OAuth2 provider that returns JWT's. Twitter still uses old OAuth, so I didn't bother with them.


A 9-year-old view on mass shootings, Trump and other news

posted by Jeff | Monday, August 5, 2019, 7:56 PM | comments: 0

Diana and I will typically watch the evening world news, generally NBC's 6:30 show. With a journalism education, I can't say that I always agree with how they rank things as newsworthy, but I do believe they report truthfully and have an appropriate amount of depth for a 22-minute show. Simon tends to wander in or out, and we're generally pretty careful about not letting him see anything particularly disturbing, but we instinctively didn't think we should hide the weekend's shootings from him. He has to do active shooter drills at school, and a little context seems appropriate.

The distraught family members mourning their loss seemed to upset him the most. But it's interesting to hear his angle on things that we've never really talked about. On guns: "You should only have guns to protect yourself, not murder lots of people!" He associated "big" guns with bad guys. I explained to him that it's not so much the size as what the technology enables.

"When I grow up, I want to have cameras around my house so it's secure." I felt like I had to ease his fears a little there, and explain that it's pretty rare that anyone gets shot, but especially at home.

The next story was about President Trump, and his carefully scripted speech denouncing hate crimes. Understandably, the story showed how contradictory he has been, with any number of things that he's said previously. This is an area that I've been particularly careful with, because while I think the guy is a toxic embarrassment to our nation, I don't want to diminish the seriousness and importance of the office. Again, a child's view is one that adults often willingly dismiss. "Why does anyone like him? He's so mean to everybody. He's not nice to people." That isn't the first time he's said that in response to news, and I've tried to explain to him that no other president in my lifetime has ever been like that. (I didn't tell him "from either party," because he's not going to know what that means.) The kid is no stranger to bullies or unkind people. Kids can be real dicks to each other, and he knows what that looks like.

Maybe this is partly the ASD, and his general disregard for social contracts he can't reconcile, but racism is completely over his head. I mean, I'm happy that's the case, but he can't rationalize that it even exists. Certainly that makes sense, given that he's never gone to school in or lived in a place where most everyone around him was white. I hope his generation does better than every one before it.

He has weighed in on other topics as well. Weather stories are disturbing to him, and he's asked about the frequency of tornadoes and hurricanes. The science is a little mixed on that, I told him, because there is possible correlation between location, strength and other factors, but frequency is a harder one to pin down. But there are clearer links between climate change, which is scientifically attributed to human causes, with sea level rise, drought and wildfires. He doesn't understand why gasoline cars are still a thing either, because they're "stinky." That's five years of EV-driving for him.

Simon is fond of the kicker stories in the news, which inevitably involve a person overcoming adversity, or something with pets, or anything that otherwise reminds you that human beings don't all suck. It's a relatively simple truth that we all need to be reminded of. Sometimes 9-year-olds have the best view.


Wanting to retreat

posted by Jeff | Sunday, August 4, 2019, 12:51 PM | comments: 0

There was only one notification on my phone when I woke up this morning. It was from the New York Times, mentioning the shootings in Dayton, a day after those in El Paso, and a few more after the deaths in Gilroy.

This is not unfamiliar territory. On the morning of June 12, 2016, Facebook was encouraging me to check in and mark myself "safe," for reasons that weren't immediately clear. A few minutes later I was watching TV, where every local affiliate was on Orange Avenue, blocks away from where Diana and I work, reporting that someone shot a bunch of people at Pulse, and no one was really sure how bad it all was. Knowing that Pulse was primarily a gay nightclub, I frantically started checking the social media of my local friends, hoping they were OK. By Tuesday, I found all of my friends were not involved, but they were far from fine. It was their community that was attacked, and few people were more than one person away from someone who had died.

The next few days will be predictable. People rightfully outraged by the violence, especially given its hate and racist fueled origins in El Paso, will demand action. Gun rights advocates will insist that there's nothing anyone can do, that the guns aren't the problem. They might even suggest more people should be armed, which is a wholly insane suggestion when it happens in a Walmart in Texas.

And then nothing will change.

The same cycle will occur with the environment, which is also objectively in trouble. Money in politics will continue to keep the system broken, and it won't change either. The president will say something else that's racist, and people will cheer him on.

I look at my boy, and wonder how things are going to turn out for him. I'm not optimistic. I thought that after the last recession, we as a society were moving in a responsible and accountable direction. In the last four or five years, I've seen the opposite. It makes me want to retreat into a cocoon somewhere, sleep it off, and hope things are better when I wake up. Hope, unfortunately, is not a strategy.


Today was a good day

posted by Jeff | Friday, August 2, 2019, 9:48 PM | comments: 0

 I was talking with a candidate at work about time off, which happens to be unlimited. Maybe that sounds like something ripe for abuse, but on average I believe people take about three weeks off per year. All things considered, that's actually pretty good in America, if well below what Europeans take.

For people at my career stage, you'd probably start with four weeks off even if they keep track. In my first year, I took 16 days off, and none of that time was five straight days that included a non-holiday. You could look at that two ways. The first is that I'm really dedicated to my job, and that's good. The second is that I may have been neglecting my priorities as a father and spouse. The reality is probably somewhere in the middle.

Summer went by fast, and suddenly I realized that we were coming up again on the start of school. Simon has one last camp next week, and then it's back to the classroom. My window for family time was slamming shut. So last week, faced with an insane amount of meetings, I made a day off for today happen. Originally we planned to go to Busch Gardens Tampa, but the rain forecast was dire, so we went to Universal instead (where most of the rides are indoors). When the rains did come, I spent time with Diana just binge watching some Veronica Mars.

Today was a good day.

I can't let time get away from me like that anymore.


Being heard is a skill

posted by Jeff | Friday, July 26, 2019, 2:30 PM | comments: 0

I pride myself on being a thorough communicator. I think I write reasonably well, and I try to be clear and concise to convey the right information at the right time. As it turns out though, being heard is really a separate skill. Just because you're saying the right things to the right people at the right time doesn't mean that you're being heard.

This is an important distinction, and one I've learned about again this week. I've been expressing a series of concerns at work for some time, putting the words on "paper," but haven't followed up to make sure that the message was received. The concerns manifested themselves in a production problem, which got people's attention, but that's certainly not the kind of attention that anyone really wants. I take responsibility, because the larger category of work that I was advocating for should have already had buy-in and started, but I wasn't heard.

Being heard means that you can confirm that your message was received, it was considered, and it was acted upon (even if that means confirming that it was being dismissed). It's the follow-up. As my career has progressed, and I've had to operate in larger operating units, I've learned that this is an important skill. The more moving parts there are, the more important it is.