Oops! Something went sideways.

Looks like the styling got goofed up. Sorry about that, unless it's what you wanted. If this isn't what you were looking for, try force refreshing your page. You can do that by pressing Shift + F5, or holding Shift and clicking on the "reload" icon. (It's the weird circle arrow thing "⟳" just above this page, usually next to where it says https://blog.unitedheroes.net...)

isn't quite ashamed enough to present

jr conlin's ink stained banana

:: Work Will Never Love You, but Your Co-workers May

It’s absolutely true that your work will never love you back. This is proven by the recent rash of tech layoffs alongside quarterly reports of increased revenue. For most employers, you are a resource, just like the coffee makers and copy machines. You just cost more and want to take weekends off for some reason.

That doesn’t necessarily reflect how your co-workers may feel, though.

For all the discussion of Big Tech, it’s actually composed of a number of fairly small factions. There are clusters of folk that tend to bump into each other at various jobs, which makes sense, because those jobs tend to look for the same sort of skills. If you write game code, you tend to work for gaming companies. If you write Java, you tend to work for B2B sorts of companies. i work on large data backends for websites, so i tend to bump into a lot of folk that i’ve met at other jobs. Colleagues float between companies because, frankly, that’s the only way to get a raise that’s actually above inflation rate.

What’s more, we all talk to each other. Probably a lot more than the companies we work for would prefer. There are whisper networks about how some companies are worse than others about certain things, and how some companies absolutely nail the right approaches to other things. No company is perfect. No industry is either. We all have our scars and habits grown from the weary battles and share stories at conferences and meetups.

i mean, tech folk aren’t special. We’re no different than any other professional group. Lawyers will talk with other lawyers about their craft, as will plumbers, pizza delivery folk, brain surgeons and rocket scientists.

This is one of the reasons that i can’t believe that the state of mentoring in our industry is so, damn, awful. Mentoring is a key way to foster a network of folk you can rely on. They’re the web of trust you have to check your assumptions, and are the first to reach out a hand when you need it. What’s more, for the same reason you don’t put all your servers in one colo or region, smart folk are ALWAYS looking to grow their network to include more people. Mentoring (and being mentored) is an absolutely fabulous way to do that.

The Lone Coder valiantly hacking away and building something from scratch is a myth made up by the same folk that thought having two people type on a keyboard was a good idea. Don’t believe it. Great Coders have a strong network of people they rely on.

:: The Process Manager

A while ago, i had a discussion with a coworker about their boss. My coworker was venting a bit about a number of patterns that i recognized from my experience with various managers.

First off, let me say that i’m not a manager. i was a manager for a while and was terrible at it, so not being one to want to repeat mistakes, i haven’t pursued being one since. Being a good manager is incredibly difficult and requires a number of talents that are not included in WSJ Productive Resource Engagement books or whatever the current trend is.

What i do have a lot of experience in is managing my manager. Each manager has their own quirks, but there are certain types of managers that i’ve learned how to train and deal with.

Let me talk a bit about Process Managers.

Process Managers are folk that are in love with the process of management. These are folks smitten by things like JIRA, AGILE, SCRUM, and all the other things that either add or remove things from various checklists that they fetish over. These are people who “want to see progress” and expect their reports to have complete, analytical breakdowns of tasks done within minutes of being assigned. These folk do not do well with things like “discussion” or “revision”, since that requires them to alter the carefully crafted charts and diagrams that they spent all week putting together to impress their own manager.

Some folk might feel that these sorts of managers like to micro-manage, and a number do, but mostly, they’re looking for the dopamine hit of “number goes up” (or down, but basically not “stayed the same” so that they can show “the process works!”).

As a software engineer, we know full well that Life Does Not Work That Way. Asking how long a given task might take is like asking “how long will it take to carve this statue?” You have a rough idea, and can show progress, but as an artist, you have no idea what’s actually in the stone and if you it something unexpected, you have to deal with that. Sometimes you need to alter the design a bit. Sometimes you have to start over. It’s the nature of the art, and that is completely incomprehensible to the Process Manager.

So, how do you manage a Process Manager? You feed them the dopamine they’re looking for. Give them short updates where you specify the work that’s been done and the very short scale work that lies ahead. Give them little things that they can check off of a list. If you need to alter a design or the scale of something changed, give them a new checklist of things to tick off. Track Everything via the ticketing system of choice (Jira, bugzilla, Postit notes on the cube wall, whatever). They’ll grouse, but you gave them delicious mental candy, so they won’t stay mad for long.

Play the game they want to play and they stay happy.

On the other side, realize that they are not invested in your growth and career unless it maps to some form of progress they can chart. So, if you want to go to a conference or learn about something, you need to absolutely qualify it with all the bells and whistles they want to see. Put together an Impact Assessment that highlights what percentage points of improvement you expect to deliver or whatever.

(bit of a side note: Process managers tend to think of reports as ‘resources’. You know, like the copy machine or coffee maker. Mind you, when the coffee maker has a bad day, i replace it, because coffee makers very seldomly self correct. A coffee machine doesn’t perform poorly because it’s kid was up until 3 AM, or because a parent just got a cancer diagnosis. People do, and they’re not going to tell their manager or coworker about that for lots of reasons. People have off days and weeks, and a good manager knows and works with that. The coffee machine also doesn’t angle to get the copy machine’s job, but that’s a different matter.)

i kinda spelled all that out for my co-worker, with the added point that “all of this is temporary”, none of it is actually personal, particularly since the senior engineer on the project has zero complaints, and frankly the stuff the Process Manager is complaining about is stuff like “too much discussion in PRs”. Uhm, you want discussion in PRs. That’s documentation. It also means that folk aren’t just rubber-stamping future bugs into the code. i’d rather there be good conversation in a PR than a bunch of issues being re-opened.

i also gave a bunch of other tips for how to deal with a Process Manager, and maybe i’ll write those up sometime.

A key aspect of a good engineer’s life is dealing with non-technical issues like these. A key aspect of a senior engineer’s life is giving junior folk the insights needed to become a good engineer. Dealing with iffy managers definitely falls into that category.

:: A Simple Upgrade

Note: The following is sweary.

Let me first point out that all of this is mostly self inflicted.

Let me secondly point out that i think i understand the appeal of laptops now…

The Triggering Event
i had an Acer Spin 13 for years. The idea being that i have a cheap-ish “walk around” for when i travel, or i’m sitting on the couch. It ran ChromeOS, mostly because i could install a Linux VM on it and run apps like VS Code and Firefox that way. The real beef was my custom built tower: 64GB of memory, way too much disk space, and an i7. It was my everyday workhorse. i mean, sure, that i7 was maybe gen2 or so, and the MB was subject to Heartbleed and other attacks, but it worked well enough.

So, for various reasons, i decided to get myself a Framework PC.

This PC is amazing. It’s exactly how PCs should be made and offered. Yeah, dropping a K on a “walk around” makes it a wee bit more concerning should i lose or damage it, but the form factor, weight, power, and features definitely make it worth it. Installing Lubuntu on it was a dream.

Then, just for giggles, i installed Rust on it and compiled `autopush-rs`.

Oh, dear.

What normally took minutes on my “powerhouse”, took just shy of a minute on my laptop. It was time to upgrade the beast.

Rolling the dice
Doing a modern build is like trying to put together a well-rounded stereo system. It’s possible, but there are so many scams and “BUILT FOR X-TREME GAMERZ” bullshit that it requires a ludicrous amount of attention. As noted elsewhere, i’m not a fan of a 3.2GHz clown cars.

So i put together a system that, i felt would work ok:

i planned to reuse as much of my old system as possible (ha-ha).
i mean, i figured the worst part would be (Ha Ha) having to re-authorize Windows 10 (HA HA).
How bad could it be? (HAHAHAHA sob sob)

i pulled my car out of the garage, and set up a computer surgery center. i even told my wife, “i should be done in around 4 hours” (Oh, sweet innocence…)

The Struggle, Part 1

After cleaning out the case and wiping out the fans (which i do every year anyway. Leaf blowers are amazing for that.), i got to work carefully extracting the old motherboard and cooling stack from the old system. It was annoying, of course, but went fairly well. i wiped the old thermal paste off of the bottom of the cooler and the CPU with a bit of rubbing alcohol, and set them to dry.

Then, it was a simple matter of setting the CPU (why the hell is there so much packaging?) and memory (wait, the slots are 1 and 2 not 0 and 1, and which ones are the primary?). Now for the cooler. Wait, where are the mounting pots? There are holes, but… Oh for fuck’s sake.

So, apparently modern motherboards no longer have pre-built mount points for coolers. Awesome.
So, off i go to the local computer parts place to get a new cooler. Oh, hey, the old power supply was kinda noisy (why don’t they offer db ratings for those?) let me swap it out for a newer quieter one. Power connectors are standardized. (Ha-ha-ha)

The Struggle, Part 2
So around $300 later (cooler and power supply, i set about building things again. i fix the base, apply some paste, and get to mounting the cooling– crap, this thing isn’t balanced and keeps slipping off the– dammit, i have to get the grodding mounting screw through the fan ducting– crap it fell out? Where the frak did that screw– DAMMIT the cooler slipped off again!? Wait, what was that snap?

Turns out that one of my memory chips was about 1mm too tall. Yes, apparently, that’s a thing. i mean the bit that cracked was part of the decorative X-TREME GAMERZ ONLY crap, so nothing critical, but still, might want to get vertical dimensions for your DIMMS along with base clearance for your CPU coolers from now on.

Well, no big i’ll just run a cable from this to the garage monitor… that’s DVI, because it’s old. Fuuuuuu….

i brought the system into my office to fire up because that’s the closest HDMI/DisplayPort monitor i have.


Well, taint truffles, it’d be nice if you had something that actually NOTED THAT ON THE GODDAM BOARD or HAD A FECKING MANUAL THAT INDICATED THAT now wouldn’t it?

Insert another hour (yeah, hour) of me removing the cooling stack, moving the memory to the proper slots, and reattaching the stack. By this point, the thermal paste is a complete mess and i’m fully aware that i’m going to have to reapply it eventually. THAT WILL BE ANOTHER DAY.

Fine, it’s all bolted up. Finally, i can power it up and see if the License key still works…

The Struggle, Parts W & L

Guru meditation keyword: HYPERVISOR_ERROR

Well… shit. That’s unexpected.

Apparently, the new config is causing whatever bits of clever Microsoft did to get Hyper-V running to fail dramatically. i can’t boot it at all, even in safe mode. i go through the various recovery mechanisms, and no soap.

Ah well, i was kinda prepared for this, so let me grab my LiveDisk copy of Lubuntu 22.04 boot, and then install to the partition, restart and…

Initramfs: Out of memory

Wait, what? You have 64 GB of memory. how the hell can you be out of memory just booting up!? You’re Fscking Linux, for Crissakes! You run on crap that has 64MB of memory.

insert 80’s montage of me scrubbing through various docs and sites that basically work out to :man-shrugging:, and me adding increasingly obscure swear words to my growing list There’s some weird problem with MSI motherboards, built in video, and overly large boot images being generated.

Wait, what? Turning off `silent` from the boot options fixed it!? SERIOUSLY!?, Well, pisskidney, sure, i’ll let it spew it’s brains out on boot.

The Struggle, Part ?
So, as of now, i have Lubuntu on my main system, and it’s compiling autopush-rs in about 30s, which is a literal magnitude better than it was prior. i have Windows currently updating from an original install going in a VMWare instance, where i’ll confine things like some games and other windows only sort of things.

My main system is currently running Lubuntu, and i’m basically building it up as my main, which means installing lots of stuff and moving bits over. i still plan on swapping the guts out of my garage server for my old motherboard, power, and cooling fan, but that’s going to be some other weekend’s project.

But yeah, definitely starting to see the appeal of laptop only lifestyles.

Blogs of note
personal Christopher Conlin USMC Henriette's Herbal Blog My Mastodon musings Where have all the good blogs gone?
geek ultramookie

Powered by WordPress
Hosted on Dreamhost.