Redesign?

WordPress annoys me.

It’s not a bad piece of software. It does its job. But I’m a coder, and I like having control over how things end up, and ever since I installed WordPress here years ago, I’ve been doing things its way. I don’t really love the look and feel of this site right now, but I do like how little I have to do to maintain it.

But there’s a growing movement of blogs and websites that are pure, static content, like I used to do back in the day. Once upon a time, my website was just a bunch of text files, mashed together in interesting ways by the m4 macro processor to produce static HTML as output. I started doing that in 1996, and 25 years later, the rest of the world has started doing that too, using Go and JavaScript and Ruby, among others: Static content has made a real comeback, now that modern JavaScript and CSS can fill in the interactive parts.

What I liked about using m4 back in the day was that the code simply did what I wanted: There were no database or administrative tools to get in the way, just powerful macros that constructed HTML from single sources of truth. I ran a lot of websites on that technology, for years, and I miss the elegance of it.

So I don’t know. I may spend some time hacking my website into a new shape. I haven’t redesigned things in some years, and maybe it’s time to export all my old content and rebuild this site in a brand new way.

Food for thought, at least.

Comments Off on Redesign?

Filed under Uncategorized

JS thought of the day

In the old days if you encountered a badly-coded website, you could often fix it with tools like TamperMonkey: Hack a little JavaScript, and you could fix the worst of the site’s abuses, or even make it nicer and add features the original developers didn’t (or couldn’t) add. Everything was fairly open, so you could just drop new script on the page, and even substitute out functions if you had a better implementation.

We now live in a reality driven by WebPack, where every website’s JavaScript is packed, minified, bundled, and, importantly, smashed together inside a closure, making all of its innards and mechanics hidden and encapsulated, hidden even from its own code.

That’s great for application stability, if you have good developers. But it also means that the app you get is the app you get: Every bug, every design flaw, and every misfeature is hidden away inside that bundled ball — which means that no matter how bad it is, you can’t fix somebody else’s broken website anymore.

Comments Off on JS thought of the day

Filed under Programming

Firefox Tip

I switched from Chrome to Firefox about four or five years ago, and I generally haven’t looked back. Firefox has its issues, to be sure, but Mozilla’s pretty open about them, and Firefox is free in a way that Chrome isn’t, and runs everywhere in a way that Chrome doesn’t, and the work they’re doing on Rust in it is nothing short of amazing. I wholeheartedly endorse using Firefox, and I only open other browsers for those bad pages out there that insist on being “designed for Chrome” (shame on you, what year is this, 2002?).

So a pro tip for all you Firefox users out there: Like so many browsers, Firefox can get a little twitchy if you leave it up and running long enough: Its memory footprint grows over time, and sometimes its CPU usage will creep up until it’s eating the universe, especially if you typically have forty to a hundred tabs open (like me!).

So here’s a way to easily put a safe “Restart Firefox” button in the corner of Firefox’s window, without installing any Extensions or Add-ons

Continue reading

Comments Off on Firefox Tip

Filed under Uncategorized

Now with 100% more robots!

I’m leaving my role at Suvoda. I’ve enjoyed my time there, and I made some good stuff, but thanks to fairly strict nondisclosure policies, I haven’t been able to talk here much about my job like I could when I worked at HomeNet and Cox. I made some new friends at Suvoda, and some of us will stay in touch after I leave. I’ll still be rooting for Suvoda from the sidelines: There’s a need for well-run clinical drug trials, and society is the benefactor.

But — !

IAM Robotics reached out to me a few weeks ago, and after some whirlwind interviews, I accepted a new role with them as a software architect. I’ll be starting in June, and I’m really excited: I have a big responsibility to help scale their robots to the next level, and I absolutely intend to deliver on it. They have really complex challenges for the kinds of software work they do, and that’s absolutely my kind of problem: Crazy sky’s-the-limit challenges where there’s no perfect answer and every option is on the table. I’ll be doing substantial coding for them, but as the title implies, it’s a lot more design-focused than my job has ever been: I always did architectural work in all of my jobs before, just never as my official title.

I hope in the coming months that I’ll be able to post here more often on topics of interest. I’ve been doing a lot of interesting things, and I have a lot to say about them. As always, stay tuned — the best is yet to come!

Comments Off on Now with 100% more robots!

Filed under Uncategorized

I hate being right

Some years ago, circa November 2016, I told my wife that under Donald Trump, we’d eventually reach the point where U.S. Army tanks would roll through Times Square in New York City to quell protests.

For the better part of three years, she’s told me, “It’s still not that bad.”

Well, would you look at that. Washington, DC is on fire, there are protests in every major city, the National Guard is helping the police to hold the riots back, and Trump has just called up every active duty serviceman to ensure “perfect law and order.” Tonight she told me with a very pale, sober face that she’s thought for three years that she was sure it was just an exaggeration, that there was no way Trump would send the military into the streets.

I hate being right.

Well, actually, I’m pleased to say I wasn’t right this time. There are no tanks in Times Square. Yet.

So let’s do some more prognosticating. If there’s still an Internet next year to read this on, you can all grade me on how the next six months play out.

  1. Trump will send Army servicemen into a city that doesn’t actually want them to quiet the protests.
  2. A shot will be fired by an Army serviceman. A civilian will die.
  3. That will change the nature of the protests from “A lot of policemen are racist” to “The entire government is out to get us.”
  4. The protests will get bigger.
  5. COVID-19 will get worse, thanks to all that close contact, and even more people will die.
  6. Trump will double down on the protests and summon more servicemen into the cities.
  7. People will fight back, increasingly seriously, and a lot of civilians will die in the crossfire. The summer of 2020 will be bad.
  8. Trump will declare Martial Law, even though that’s not an actual power of the presidency.
  9. The election of November 2020 will be suspended for safety concerns, even though the Constitution forbids its suspension.
  10. Trump will declare himself President “until further notice.”
  11. Every president selected in a year that ends in zero dies, usually by assassination.
  12. If there’s still a United States after all this, historians will easily rank Donald Trump as the worst president ever, because James Buchanan at least tried to prevent a Civil War, even if he failed badly.

I’m really, really hoping this timeline doesn’t play out. Maybe we’ll get lucky and it won’t. Maybe one of Trump’s advisers will manage to pull him back from the brink. Maybe the protests will burn themselves out before the military makes a mistake we all can’t go back from. Maybe this year won’t play out like 1968 on steroids.

I can hope, can’t I?

Comments Off on I hate being right

Filed under Politics

React Considered Harmful

This is one of those strange posts I never thought I’d write.

For the record, I love ReactJS. The principle of being able to build an entire website using forward-only data flow was sheer raw brilliance, and was a fundamental architectural shift in how website UIs work.

But —

Continue reading

Comments Off on React Considered Harmful

Filed under Programming

Decaf

I’m apparently a person who now drinks decaf.

I didn’t drink coffee at all for most of my life, and honestly for a long time I couldn’t stand it. But back in 2016 when my daughter was born, the options were “learn to drink coffee and survive having two kids,” or “die now.” Wisely, I chose coffee, and now, I can’t get through a day without a hit of caffeine in the morning.

This morning, after my first cup of coffee, I wanted something to sort-of maintain the alertness, but I didn’t want yesterday’s jitters from coffee, so I dared to brew a cup of decaf. I’m drinking it now, and it’s actually pretty good. This is a revelation to me: Not only have I taught my taste buds to tolerate coffee, but now I drink it just for the flavor.

Young me would be aghast. But young me isn’t young anymore. And here we are.

Comments Off on Decaf

Filed under Uncategorized

Hello, Suvoda!

I started my new job this week, working for a company called Suvoda, in Conshohocken, PA. They run clinical drug trials, which means that in a literal sense in my new job, I get to use advanced computer science to help cure cancer.

ROCK ON.

The place is really neat, and while I’m still getting used to it, I love the vibe there. We’re doing good things for the right reasons, and I get the absolutely delightful side benefit of working with a few old friends, too. The company is healthy and growing, and everybody’s been incredibly friendly. I’m looking forward to doing great things with their teams there and helping them to have no end of successes.




So why Suvoda? Why not somewhere else?

When I left my last job in April, I was looking for three things: I wanted to find a place (1) where the people were smart and dedicated, (2) where there was a focus on making good-quality software, and (3) where my job would be beneficial to humanity: Where I was doing good things for the right reasons, and not just to benefit the company’s bottom line. I interviewed at a lot of companies over the last six months, dozens and dozens of interviews, and while some jobs had some of those three criteria to varying degrees, Suvoda was the only one that really nailed all of them.

“Curing cancer” is a set phrase for “doing good in the world,” and Suvoda is literally in the business of curing cancer. I get the privilege to be a part of something that unequivocally makes the world a better place. My part is a small part of that whole equation, but if I can even slightly tie my work to somebody someday no longer suffering a terrible disease, I’ll be living a life that I can be proud of, and that matters: When you someday have to stand before Saint Peter at the Pearly Gates and he asks, “Well, so tell me, what did you do down there?” you want to have an answer far better than just, “I made lots of money!”

That said, there are a few downsides — no job is perfect! — but they’re small and manageable. The first is that the commute is longish, averaging about 45 minutes each way (best this week so far is 35 minutes, worst was about 70 minutes). I’ll be spending a bit more on gas than I used to.

The second is that since the commute is longish, my personal time is much shorter than it used to be: If you don’t hear back from me during the work week, it’s because we have kids to feed and water and put to bed in the evening, and 6:00 AM comes around pretty darn fast in the morning if you don’t get your keister heading to bed by nine. (Today’s a Saturday, and I “slept in” — I woke up at 6:30.)

And the third and final notable downside is that I’ve signed dozens of nondisclosure agreements this week, mostly for legal and safety and patient-privacy reasons — all of which are good reasons to be signing NDAs, and I’ve signed them quite willingly.

But that means I can’t tell you pretty much any more than I’ve already said about what I’ll be doing at Suvoda 🙂




But my job search is finally over, and I’ve found myself a new place to call home, a place where the people are nice, the pay and benefits are good, and the work is meaningful and the right thing to be spending my time and energy on. May all of you find such purpose.

Comments Off on Hello, Suvoda!

Filed under Uncategorized

The Search Begins Anew

I had myself a nice break of a couple months after leaving HomeNet — and I really needed that break! — but it’s time to go back to being employed somewhere. I miss having a source of external purpose in my life, and a team to make things with. So I’ve updated my résumé (or CV, for you Brits in the audience), updated my LinkedIn profile, and here we go off on a new adventure —


My résumé, July 2019.

I’m now talking to everybody, any recruiter willing to take my résumé, because I’m hoping that if I cast the net wide enough, I’ll eventually find that place that’s right, whatever it may be. So if you’re a recruiter or hiring manager and you think you have a good opening and you want to say hello, please don’t be shy about calling or e-mailing!

What am I looking for in a new job? I’m looking for three things:

  • I want to work with a team of dedicated, smart colleagues, who genuinely care about what they do and who really want to make great things. Don’t tell me you’re “working for the weekend.” It’s quite okay if you work nine-to-five — and you should have a life outside of work — but I want to be with people who when they’re in the office are truly passionate about what they do.
  • I want the company to care about quality. Lots of companies will give lip-service to quality work — of course we want to make good things! — but whenever there’s any pressure, quality goes out the door, and we have to ship yesterday. I don’t mind the occasional crunch time, but the intent matters: The company should care about making good products and should be occasionally willing to put their money where their mouth is.
  • I want the job to matter. Not just be necessary for the company’s bottom line, but to be meaningful in the world. That doesn’t mean we have to be curing cancer, but it does mean we have to be doing more than just fattening the CEO’s paycheck: In some small way, the company (or at least the role) should be making the world a better place. I need to be able to look in the mirror at the end of the day and say, “You did something important today.”

That’s it. It’s not really about technology: I’ve worked on dozens of technologies and technology stacks in my years, and I’m sure I’ll work on dozens more. Pure tech for the sake of tech doesn’t excite me anymore, if it ever really did. What I’m looking for is something a little bigger than that: It’s about making good things, with good people, for good reasons.

Think that’s something your company offers? Think you have a place for someone who’s a 10x programmer, who speaks dozens of programming languages, who likes writing documentation and unit tests, who likes training and mentoring others, and who thinks fixing bugs is an absolute delight? Feel free to send me an e-mail or call me!

Comments Off on The Search Begins Anew

Filed under Jobs

Goodbye

Today is my last day here at HomeNet.

It’s strange, surreal, and unbelievable; but it’s necessary.  I don’t know what’s next for me, but I know that it’s time for next to happen.  I did many good things here, some even worthy of note, and I think I had a good run — but everything must someday end, and the next page must be turned.  This chapter ends — but a new chapter begins, and though much of the wild cast who enthralled in the last will be gone in the next, I still hope my next will be as amazing and crazy and wonderful as this chapter before.

So to all of you, to all my friends and colleagues, to those whose stories continue here, I offer one last aspiration, one last wish, one last hope:  We each get only one chance to tell our story — a few short years in this world, and then our story is done, to make room for the stories that must come next.  So whatever it may entail, whatever future you may follow, whatever goals you may pursue, make your story amazing — because the great stories are the only ones worth telling.

With love and respect,

Sean Werkema
Principal Software Engineer
HomeNet Automotive

sean@werkema.com

Comments Off on Goodbye

Filed under Jobs