Lane Sawyer🌹

Just trying to leave the world a little better than I found it.

Feeding the Trolls

A major rule on the Internet is "don't feed the trolls". It's good advice and a rule I generally follow. But sometimes you wind up talking to a troll unknowingly! This post is about my latest experience with an Internet troll, and a space for me to decompress and learn from the experience. The Troll Recently I went back and forth with someone on the Internet debating some details about the funding of a public agency here in the Seattle area. The general vibe of that online space was that this...
Read post

I Won an NIH Award!

Recently I was notified that my team won the "Exemplary Achievement Award for Data Reuse" award from the National Institutes of Health! We built the Cell Type Knowledge Explorer. I was involved in building out the front-end API and website components that display the scientific information, while other teams and organizations handled the preparation and serving of the data to us. This is the first time I've won a government award and it feels nice! We worked hard on the project. And while ther...
Read post

2022 Year In Review

Heyyyy 2022 wasn't half bad, right? And compared to the last few years we've had, 2022 was downright awesome. While I didn't complete all my goals from my "52 Things" list, I managed to complete 29 of them, which I think is a new high (but I'm too lazy to go check). The list is always incredibly aspirational and gives me a wide variety of things to shoot for through the year, so I'm really happy with what I actually got done. Here are some highlights: Volunteered over 52 hours by programming...
Read post

VOTE

Midterms are coming up. GO VOTE! While I obviously have my preferences, I won't tell you how to vote, just to go do it. There's one qualification on that: do not vote for election deniers. Our elections are safe and secure. It's a federated system that would take a multi-state conspiracy to enact, with thousands upon thousands of people needing to be involved. It's not happening. So don't vote for the idiots saying it is. That's how you get fascism. You've only got until Tuesday, November 8th...
Read post

The Impact of Smart Tech, Faceless Corporations, and Labor Exploitation

Today my apartment complex locked me into my apartment. Upon that realization, I had a panic attack. It ruined my day to the point where I'm still on edge almost twelve hours later. Part of addressing the lingering symptoms of my panic attack is writing this blog post, where I'm sharing my experience to relieve stress. As such, it will likely be a bit more rambling and jumpy compared to my other posts. Panic attacks jumble your thinking, so please forgive the drop in quality here. As a bonus,...
Read post

One Simple Thing: Switch to Firefox

The Internet is an incredible invention, likely to go down as one of the most consequential technologies in human history, right up there with agriculture, government, electricity, and industrial processes. For a large chunk of humanity, the web is already an integral part of our everyday lives. We pay our bills, chat with friends, apply for jobs, or even make a living from this incredible technology. But the Internet would not be nearly as useful without another invention: web browsers. Web b...
Read post

Microsoft Can't Unzip tar Files: My Azure Experience

Recently I was working on getting a basic Node.js REST API running on Microsoft Azure's App Service platform. I've only used AWS professionally, but I wanted to get a sense of what it would take to run a simple website off of Azure so I decided to give it a whirl. The experience left a sour taste in my mouth and helped me understand why AWS is currently winning the Cloud Wars. Let's start with the most jarring difference: documentation. Azure documentation is sorely lacking in discoverability...
Read post

It's Time to Upgrade Your JavaScript Developer Tools

JavaScript is everywhere. As the most popular language in the world right now, it's almost unavoidable. Especially if you're building things for the web. I personally hate JavaScript and tolerate TypeScript, but it's currently the best option for building websites, so I use it every day at work. While WASM is promising and will eventually bring all major programming languages to the web, we're stuck with JavaScript when writing code for web browsers. But thankfully, all of the developer tooling...
Read post

Remote Work is a Life Changer

Now that I've been working remotely for more than two years, I figured it's worth sitting down to hammer out my thoughts and reflect on what I do and don't like about a fully remote job. I'm going to try to be careful to separate remote work from the realities of pandemic life, but since the pandemic is ongoing, it might be difficult to tease out the differences. Recently my job has started allowing the technical folks back into the office (the scientists have been on-premise the entire pandemi...
Read post

Why I've Yet to Publish a Blog Post on Veganism

Surprisingly, I haven’t written anything about one of the most meaningful decisions I've ever made. About six years ago I became a vegan! This isn't a secret to anyone who knows me, but I also don't really bring it up unless it's absolutely relevant (like when making sure I'll have food to eat at various events I attend). I would like to bring it up more often, since it's an ethical belief that I hold dearly and I want others to consider making the same choice, but talking about veganism can be...
Read post

SEATTLE IS HOSTING THE WORLD CUP!

I'm so stoked! Obviously, FIFA is a garbage organization run by criminals, but also... THE WORLD CUP IS COMING TO SEATTLE. So yeah, mixed feelings, but I'm excited to show the world how amazing our emerald city really is. ...
Read post

When Are We Going to Do Something?

I said I'm not writing about this again, but I will continue chaining together my periodic posts about gun violence in the United States every time something particularly egregious happens again. We just had the racist shooting in Buffalo. Now we've got the senseless Uvalde, Texas shooting. At this point I've given up hope that we'll do anything regarding gun control. There is so much we could do without even coming close to running afoul of the 2nd Ammendment, but we don't because our legisla...
Read post

SEATTLE SOUNDERS ARE CONCACAF CHAMPIONS

We won the CONCACAF Champions League title tonight! It was the best soccer match I've ever attended. We set the CONCACAF Champion League attendance record with 68k+ people screaming out hearts out as we scored each of our three goals to win the championship! Next up for the Sounders is the 2023 FIFA Club World Cup against some of the best clubs across the world. And now that our CCL run is over we can get back to focusing on MLS play. What. A. Game. What. A. Team. What. A. City. I love Se...
Read post

Hacking Legacy Sites for Fun and (Non)profit

Audience This post is written for an audience of software engineers and assumes general Internet experience. Some definitions are provided below to provide context for those without a background in developing software. Definitions GDPR (General Data Protection Regulation): A European Union law focusing on data protection and privacy. California has a similar one called the CCPA (California Consumer Privacy Act). There is no federal law in the USA providing data privacy protection. Cookie ba...
Read post

What Should We Expect From FOSS?

Audience This post is written for an audience of software engineers and assumes general Internet experience. Some definitions are provided below to provide context for those without a background in developing software. Definitions Free and Open Source Software (FOSS): Software with published source code that anyone is free to use, study, or modify JavaScript: The world's most popular programming language Node Package Manager (NPM): An online collection of JavaScript code and associated set ...
Read post

Pandemic Life: Year Two

Year two is over! I figured I would write a follow up to last year's post about what it's been like to live in a pandemic. I was desperately hoping there would be no need for a second one because the pandemic was over, but here we are. Thankfully, the naive optimism of my first year post largely worked out despite the pandemic entering its second year of changing the world. I was fully vaccinated in May and got my booster in December. Thanks to that I was able to see friends and family way mor...
Read post

Static Code Analysis: Reducing Your Team’s Cognitive Burden

Have you ever run into a pull request that seemed impossible to merge? One with hundreds of comments from a dozen people, with two folks passionately arguing about choosing variable names, which language features to use, or whether to delete that unused method that might get used someday. Nobody can seem to agree on a set of standards, and with no ultimate authority to turn to, the code review devolves into a contest of wills. Those pull requests from hell result in a lot of wasted time for a s...
Read post

Book Review: This Is How You Lose the Time War

Go read it. This Is How You Lost the Time War is one of the most beautifully written pieces of fiction I've ever read. I even read parts of it out loud because the words were that delicious. I don't read out loud. Ever. I loved this book too much to write a detailed review. I'm still reeling from the experience and I can't wait to read it again. In short, it's a love story scattered through time and space, giving you a peek into the worlds of two intergalactic time soldiers while leaving a ...
Read post

Yew Hooks with GraphQL

Over the last year or so I've been occasionally hacking away at a web app called Dicebag, which will eventually become a collection of useful tools to facilitate in-person Dungeons & Dragons games. Part of this project stems from my lack of satisfaction with other tools I've found. Most tend to focus on running a game online or preparing for games in advance. I'm wanting something that enhances the player and DM experience by presenting contextual data depending on what's happening in the g...
Read post

2021 Year In Review

As the first year of the decade comes to a close, I can breath a sigh of relief. While 2021 wasn't great, at least this wasn't 2020. Personally, I had a pretty solid year. As a country and global society, things could've gone much better. Let's get the global bad out of the way first: The January 6th Insurrection, which will be discussed as one of the lower points in US history for decades Carbon emissions went back up after a slight lull from the pandemic The pandemic remained a pandemic, e...
Read post

Government as a Service (GaaS): How the Federal Government Could Streamline State Management

Last week, the Missouri governor showed the world his technological illiteracy by vowing to prosecute a "hacker" that brought a major data leak to the government's attention. The entire tech community had a big laugh, since the government itself was sending Social Security Numbers to users that could be easily found with the barest modicum of tech know-how. The governor's public blunder never should have happened. The fact that he publicly stated his ignorance in such an embarrassing manner dem...
Read post

Podcasting's Walled Garden Problem

If you know me well, you know I'm a tad bit into podcasts. I listen to 28 different shows regularly, with 40 other shows I pick and choose from when I have the time. If I'm not listening to an audiobook, chances are I'm devouring a podcast. I've been in love with Podcasts since I discovered them over a decade ago. It's basically internet radio, except you're the DJ. Distributed through the ubiquitous RSS feed technology, they're easy to find, share, and consume. But Spotify (and some other med...
Read post

Living with Seattle's Long Dark

It's that time of year again, where the sun sets before 7 PM and a perpetually gray blanket of clouds once again descends on the Emerald City. The Long Dark in Seattle has begun. As an introvert, fall and winter are two of my favorite seasons here in Seattle. The city slows down, social events become less frequent but more cozy, and I get to snuggle up in a blanket and read while listening to the rain drumming on the porch. But as someone with depression, fall and winter can be the most diffi...
Read post

The Why and How of Rust Declarative Macros

In order to prepare to conduct a technical interview of a potential future co-worker, I decided to try to solve the problem we would be presenting to the candidate. I chose to do it in Rust (even though we don't use Rust on my team) so that I could approach the problem with a fresh perspective and potentially learn some new things about my favorite programming language. It turns out revisiting an old problem using a dramatically different programming language will teach you a lot! I wrote four ...
Read post

COVID Summer

I thought this was supposed to be over. The vaccine would show up, everybody would take it, and life would get back to that "new normal" everyone was talking about. But instead, we're seeing a fourth spike thanks to a brutal combo of the delta variant, vaccine hesitance, anti-vax propaganda, and a general unwillingness to make personal decisions while keeping the general public's health in mind. Thankfully this hasn't been the worst summer. Last year easily takes the title for worst year ever....
Read post

The Future of the Web: Why It Doesn't Have to Be JavaScript

I am a professional web developer. I use JavaScript on a daily basis, but to be honest I harbor a bit of hate for the language. Don't get me wrong, it does its job and does it well enough, but... there's a reason TypeScript exists. Despite its glaring flaws, JavaScript is currently the most widely used programming language in the world. JavaScript's stratospheric growth is largely driven by the growth of the Internet and web technologies. And while JavaScript exists on the server, it was born f...
Read post

Vaccinated!

I got my second poke yesterday! A few hours after getting my second dose of the COVID-19 vaccine, I was very tired and took a five hour nap, waking up just in time to go to bed. Unfortunately, I woke up in the middle of the night soaked in sweat with a pounding headache and a variety of bad dreams marching through my brain. It was an awful night, but I eventually got back to sleep and woke up at 10 A.M. feeling great. The next day was filled with dog park adventures, cooking delicious food, re...
Read post

First Dose of COVID-19 Vaccine!

I got my first poke last weekend. Next one is on May 8th! My life is about to become very different, very soon. I can't wait! Go get your vaccine folks! It's a game changer. Life won't be back to "normal" (or whatever new normal we end up with) for quite a while, but being able to hang out with friends indoors playing board games or D&D will be an incredibly welcome change. ...
Read post

A Year of Pandemic Life

It's been a whole year. One that feels like a lifetime. A year ago I left my office at work for the very last time. I expected to be back in a couple months, but those months dragged on. I got a pay cut, which spurred me to find a new job. And even if I hadn't changed jobs, I still would not have revisited my old desk to this day. Worldwide tragedies have a way of shaking things up, and I'm sure others have felt the whiplash of well-laid plans being abandoned and replaced with activities that ...
Read post

Farewell Flash!

Today, Mozilla shipped Firefox 85, in which they completely ripped out Adobe Flash functionality. And while Google hasn't quite shipped their Flash-less Chrome release yet, I don't care because Chrome is essentially Google-branded spyware that has no business being on my machines. So, in my world, Flash is dead. 💥💀⚰️ For those of you who didn't grow up in the early '00s playing online Flash games or watching Flash cartoons, Adobe Flash was an easy-to-use technology for building interactive cont...
Read post