HNHacker News
TopNewBestAskShowJobs

don-code

1,806 karma · joined September 13, 2020

President, Boston DevOps Network

https://hardwarehacks.org

submissionscomments
don-code··on At this company, we are family
When I was young, I worked at a company that said things like "we are family" - and knew exactly how to manipulate with it.

I'd had a pretty rough year, my last year there - a recent breakup, a deteriorating domestic situation, and a death march at work. Management was aware of all three. In the end, I decided to leave the company. The attempt to retain me was not more money, or really anything around comp - it was something along the lines of (a rough quote): "You really shouldn't leave. We're your family. In times like yours, people can push the people closest to them away, to their own self detriment." And I was shared some links to psychology sites, talking about how folks in crisis can push close loved ones away from them.

Being young and naive, I gave some profuse thanks for enlightening me, promised to stay, reneged on the offer with the other employer... and a few days later, thought, "what on earth did they just do?!"

Needless to say, I put my notice back in, took the other job, and never looked back. The silver lining is that I now have a pretty good radar for management using the "family" argument in manipulative ways.

don-code··on Unauthenticated RCE on a RIGOL oscilloscope
Sadly, to my current understanding, my alma mater still does this. At the time it was extremely convenient - we had labs full of Solaris and Linux boxes, which could be remotely accessed from home without any issue. And I also seem to remember that basically nothing on IT's part had to be done during the Xbox 360 / Xbox Live craze, unlike my peers at other schools.

Even then, though, the downsides of consumer network security (mostly) relying on NAT were obvious. Common ports (80, 25, etc) were blocked inbound; the school's printers basically had to be on their own network, or get spammed all day.

don-code··on 6 days to change 1 line of code (2015)
There's another failure mode not described here: "product management doesn't understand the change".

I'm in the (perhaps enviable, perhaps unenviable) position of getting a small subset of my marching orders directly from our CTO. Engineering at my company is organized in such a way that, while engineers report to the CTO, product management (part of engineering) does not. When the CTO asks me to priority-override a new feature, or even a small change, I've sometimes gotten into arguments with product management over how this wasn't planned for, and how they need time to adjust schedules and collect requirements before I can begin work. Unfortunately, I can't use the "talk to your boss" excuse, due to that quirk of the reporting structure.

One memorable example of this was a feature request which came in hot in mid-June, which I had code complete later that day. We actually shipped it a few days ago. To product management's credit, they _did_ come up with requirements that were not met by my initial change, but I question whether releasing fast and iterating, or releasing correct after four weeks, was better for the customer.

don-code··on To save money on insurance, drivers agree to intrusive monitoring technology
Massachusetts has a concept of "managed competition" to avoid exactly this: http://www.mass.gov/doc/autoinsuranceexecsummarypdf/download
don-code··on To save money on insurance, drivers agree to intrusive monitoring technology
The data doesn't need to be used now, today, for this purpose. What happens when an insurance company foists a new privacy policy on you, the insured, saying that it'll be using back data that it's collected for new purposes? To my knowledge, there are no laws on the books in the US that prevent that kind of behavior (ex-post-facto only applies to the legal system), and I'd imagine few would change insurance providers because of a privacy policy change.
don-code··on To save money on insurance, drivers agree to intrusive monitoring technology
Is respect for social contracts really all that's necessary? I don't see it as adversarial, so much as I see it as "normal _and_..." for many vendors.

For instance, even if I could buy a TV and then return it for free, why not return it and charge a fee? Most people are willing to pay the fee, even if they wouldn't return it, so what's the incentive for any vendor to not charge the fee?

don-code··on To save money on insurance, drivers agree to intrusive monitoring technology
How do these apps work, in practice? The article states:

> If you’re at the wheel focused on the road, but someone in the passenger seat is changing the music on your phone, the app may think it’s observing distracted driving and count it against you.

Is the app running on the car, or on the user's phone, which somehow detects that the user is driving a car? Is there some way that a paired phone (Bluetooth - or maybe this is a feature of CarPlay / Android Auto) can tell a car that it's being used?

don-code··on Oregon finally legalizes pumping your own gas
I periodically deliver flowers for a florist in Weymouth. I've never had an attendant operate the pump there.
don-code··on My father may be gone, but ‘our’ radio is still going
I did a walk-up amateur radio workshop with the Girl Scouts at a STEM festival a few months ago. I likewise was very surprised by two things: the younger kids had _no idea_ what they were looking at (isn't the radio in the phones? Spotify?), and they were also completely enamored with the gear. Some of the older kids (14-ish if I had to guess?) spent a lot of time with it.

For the younger (7-10 year old) kids who came to our table, we actually didn't do anything terribly technical - we just asked them, "What's your favorite type of music?", showed them how to tune to an appropriate local FM station, and let them see the waterfall plot of the station, put the big headphones on, and that sort of thing. If any of them showed an interest, I'd hand them a hand-held CB radio, one of the big clunky 80s ones from Stranger Things, and let them make "their own radio station", then showed them how to pick it up like the FM station. We got a lot of younger visitors this way!

don-code··on An America-Less Internet
One problem with this approach is that the systems underpinning many of the still-accessible sites are likely still located in the US. CDNs like Cloudflare or Fastly may make them look like they're coming from a local point of presence, but the data is still somewhere else entirely.

Some sites are good about having a split between "www." (static assets, which can go behind a CDN) and "api." (requests which are live and mostly uncacheable), some aren't - so the data is just being proxied.

don-code··on Redditor creates working anime QR codes using Stable Diffusion
> Next, they fed existing QR codes into the Stable Diffusion AI image generator and used ControlNet to maintain the QR code's data positioning despite synthesizing an image around it, likely using a written prompt.

A few months ago, after seeing that ChatGPT could produce reasonably accurate MD5 hashes, I tried generating QR codes with a Midjourney prompt. It failed in a really interesting way - it generated _symmetric_ QR codes, even though QR codes are explicitly designed to be asymmetric (think of the timing pattern, the three large blocks). So while I could claim ChatGPT "understood" MD5 hashes, I can't claim that Midjourney "understands" QR codes.

How long until generative models can produce working QR codes on their own?

don-code··on Anything can be a message queue if you use it wrongly enough
I actually did this once (over SMB on Windows, though) - and unintentionally crippled our corporate SAN with all of its polling and locking activity. I had a cluster of 20 workers which would poll every five seconds for messages, and I believe we had an EMC VNX storage appliance. I never did figure out why that was enough to bring the whole thing to its knees, but IT was very quick to track the problem back to me.
don-code··on Still Love Telnet
I end up back on campus now and then, despite having graduated and moved away ten years ago - it's definitely just as interesting to see what's changed as what _hasn't_ changed.

I graduated right before the quarter-to-semester conversion happened, and heard more than my share of horror stories about lagging 10-week classes getting taught in 15, or worse, two 10-week classes smashed into a 20-week class, then taught in 15. Luckily, the writing was on the wall, so I ended up taking 32 course credits off-campus, and providing three years of pay stubs so that I could count part-time work as a co-op block, just so that I could graduate early.

don-code··on Still Love Telnet
I got to experience the old VAX-based system for a few years, before it was migrated to Oracle Peoplesoft in 2011 (?) - which created as many problems as it solved.

Interestingly, I'd never heard of the telnet interface to course registration before today. I did hear about the modem bank - and being the one with the old laptop (2006 vintage), got to use the modem with the campus's 5-digit dialing to get a session on it. This was, by far, more performant than trying to use the Web interface that everybody else was hitting, but interestingly it also didn't have the silly "we're closed from 6pm to 6am" stipulation.

don-code··on Kanboard: free and open source Kanban project management software
I also use a physical Kanban board on my kitchen fridge with Post-its. I have four columns (To Do, In Progress, Blocked, and Done) and three swimlanes (Everything Else on top, Books in the middle, and a Recurring lane at the bottom, where some cards temporarily park in Blocked until needing to happen again). The Done column works a little bit differently from a traditional Kanban, where it's reaped on a rolling basis - e.g. I work my way down the fridge, then start replacing the post-its at the top.

An interesting feature-not-bug is that my In Progress column is capped at four tickets, physically, by the ice maker.

don-code··on A $200 mini-laptop with a Intel 8088 chip and 640KB
I actually do use three 24" 16:9 screens, side by side. Though small by anyone else's standards, 24" is sort of the perfect size for the three monitor setup. It doesn't make me strain my neck _too_ much, but also isn't so gargantuan that I can't fit three on my 5-foot desk.

I split each monitor down the middle, treating it essentially as a viewport for two windows. Optionally I sometimes fill one screen with a single window, but I never overlap screens. On my home computer running Linux (Cinnamon) this functionality is built in; on my work laptop running macOS, I use Rectangle to accomplish the same thing.

I did have three 19" 4:3 CRTs, way back when - beautiful Sun Trinitrons. They took up the entire desk, but I could conveniently stack equipment on top of them (speakers, a clock, an FM radio, etc), because they were so large. But my workflow for those was different - each monitor _was_ a single window, as splitting them resulted in windows that were too narrow to be useful.

don-code··on Poll: Do you get along with your parents?
I get along well with my parents today, and generally always have (for some definition of "get along"). That said, it took me into my 30s to really figure out where my parents fit in my life. In spite of the dynamic we had through the earlier half of my 20s, I don't have to act as they do, or think what they think.

I've since learned that some of my own dissonant thoughts are really just echoes of things that my parents would say. Recognizing that has helped me eliminate many of them. Step one was being my own person, which I could do while I still had those types of thoughts, but step 2 was realizing why the thoughts were there, and being able to move past them.

I still think the best thing I did to improve my relationship with them was move out.

don-code··on Average age of a car in the US is more than 13 years
I'm not sure if your indestructible 8mpg truck example was facetious, but you've actually, very accurately, described the Grumman Long-Life Vehicle - also known as the truck that delivers mail in most of the United States: https://en.wikipedia.org/wiki/Grumman_LLV.
don-code··on Electrical Characteristics of Telephone Lines (2023)
During our last extended (3 day) power outage, I was surprised to learn that even though I have all of my gear on a very large UPS, the cable network also ceases to function after a few hours. Local nodes apparently only have backup power for a short time. To their credit, I saw Comcast deploying small gas generators to nearby street poles the next day.

The cell network, on the other hand, continued working without a hiccup. This might have been because the nearest cell tower still had power, but even if it didn't, I'd assume that I'd just be able to connect to the nearest in-range tower that _did_ have power.

don-code··on Half of vinyl buyers in the U.S. don’t have a record player: study
For several years, I bought older vinyl not for the vinyl itself, but for the cover art, which I hung on my living room walls with Records on Walls: https://www.recordsonwalls.com/. Many of them have an aesthetic quality all of their own, like the gatefold of Led Zeppelin IV, or the subtle yet iconic "EKG" from Dark Side of the Moon.

It's much more recently that I acquired a turntable and a preamp, so that I can actually listen to them.

don-code··on US warship collides with tugboat in disastrous launch
A few years ago, I erroneously started a process on an unclean dataset, thinking it had been cleaned. This caused messages to be delivered to customers, asking them to take action, when in fact no action should have been taken on their part.

The cause? In a status update, the person cleaning the dataset said that she was "ready to begin". I interpreted that as "the processing process is ready to begin", not "the cleaning process is ready to begin".

When stakes are high, clear communication helps us all - even when whatever's happening is an SOP that you run every day.

don-code··on A Rubyist's Walk Along the C-Side (Part 10): Benchmarking
A couple of years ago, I was dealing with a Redis database that was leaking keys. One day the number of keys started to climb dramatically, and I had a difficult time querying Redis itself to ask what the keys were, without it running out of memory as I did so.

We were a Ruby shop, so I wrote a small Ruby tool to analyze the on-disk dump file. It would let me query the keyset, and count both the number and size (in bytes) of their data, matching some conditions. A pass of that tool took about 900 seconds to run on our dump.

In between runs, I started rewriting the tool in C++ for better performance. This ultimately yielded a tool which took... 800 seconds to run.

What I'd forgotten is that good, performant C code takes brain cells to write. I was able to get the C++ version's execution time down to 150 seconds, just with better memory management.

The moral of my story is that Ruby isn't, on its face, considerably slower than "equivalent" C or C++ code. Rather, those languages allow more expressiveness in what the machine is going to do, under the hood, leading to more opportunities to optimize performance.

don-code··on Control EMI, Don’t Dump AM Receivers
My take is that the article argues for keeping it on the grounds of technical merit, not of purpose.

Senator Ed Markey makes (https://www.markey.senate.gov/imo/media/doc/letter_to_automa...) some better points about it:

> Broadcast AM radio remains a crucial, cost-free source of news, sports, and weather, and, more importantly, is an essential medium for public safety officials — including the president — to communicate with the public during emergencies,

There are several "clear channel" AM radio stations in the United States - that is, they are guaranteed no interference from FCC assignments to other stations elsewhere in the country, unlike the majority of stations which share the spectrum based on their geographic location. Because of that, they're allowed to broadcast at power levels considerably higher than other stations. This makes clear channel stations incredibly useful in the event of a public emergency (war, natural disaster, etc.).

WBZ is based out of Sen. Markey's home state of Massachusetts - specifically a suburb of Boston - and I've personally been able to pick it up as far away as Erie, Pennsylvania.

don-code··on The origin of Joy Division’s Unknown Pleasures album cover art (2015)
I have this album hanging on the wall in my living room. The inside sleeve has a comparably small illustration of a hand opening a door from the inside of the room.

It turns out that this is also a well-known image, stolen from newspaper clippings but actually from a respected artist, Ralph Gibson: https://web.archive.org/web/20130405184348/http://www.tate.o...

Of course, it's much rarer to take the entire sleeve out unless you're rotating it 90 degrees.

don-code··on My quest to re-create Street Fighter’s long-lost pneumatic controls
The way I remember it, Time Crisis had a slide that moved. It emulated the kick of a real firearm - albeit poorly, but as a teenager I had no idea otherwise.
don-code··on Starbucks CEO will work a shift at the company’s cafes once a month
I can say that this was not Amazon.
don-code··on Starbucks CEO will work a shift at the company’s cafes once a month
I understand that your post is sarcasm, but it does bring up the underlying issue of who's been empowered to make changes, and ultimately, who's had (correctly or incorrectly) trust placed in them.

An interesting thing happened at a company I worked for: the engineers were, during a time of intense labor pressure, asked to staff the fulfillment center. The fulfillment staff worked under a supervisor, and were supposed to perform the same rote tasks all day long: hook this device up to the bench, pack this box, unpack that box, and so on. The engineers worked under their engineering managers, and were supposed to perform the _exact samesame_ rote tasks all day: configure devices, pack and unpack boxes.

What really happened was that the engineers found all sorts of ways to optimize the process as they went - and they made them largely without asking anybody. They then shared the optimizations with the other engineers, who followed suit. And they were rewarded by engineering management for finding those optimizations. Later, they propagated back down to the supervisors, who propagated them down to the fulfillment staff.

If the fulfillment staff deviated from their rote tasks, though? They'd have most likely been fired.

don-code··on Unpopular Opinion: Don’t Use a Raspberry Pi for That
My homelab, up until the beginning of last year, consisted completely of Raspberry Pi's - gen 1 through 4. Because they're so resource constrained, adding new services in my homelab meant adding more Pi's. Pi's themselves then became near-impossible to buy, which meant I couldn't expand anymore.

I bought a set of four 10-year-old HP rackmount servers instead - 56 cores, 88GB of RAM, and 12TB of storage total (note: I pay for the electricity solely with home solar, so the ~400w idle isn't a financial concern). They run Kubernetes for workload scheduling. All told, it cost about $500 to acquire all of the equipment.

Honestly, I haven't looked back to the Pi days. Provisioning a new service in my homelab used to have a lead time of two weeks (acquire a Pi, image it, install services, etc.), and now I can deploy something new in 15-30 minutes. I learned a ton through running systems on resource-constrained ARM32 devices like those, but it's ultimately not a great use for them.

don-code··on Oxide pays all employees $191,227 (Bay Area startup)
This is a fantastic example of _framing_ - how what's generally interpreted as a positive good can, with the right changes to presentation, be re-framed as a negative. The more classic framing example is a child tax credit (generally seen positively), which doesn't substantially differ from a childlessness tax in other ways than how it's framed.

For more information on that topic and how it's frequently used in arguments like these, I highly recommend _Thinking, Fast and Slow_ by Daniel Kahneman.

don-code··on Show HN: Usage 2.0 – Cut AWS Spend by 57% in 5 Minutes
For my own curiosity, what's the benefit of a one-time engagement with Usage AI over a continuing engagement with a tool (plus proserv, if merited) like CloudHealth? Much of the trouble with AWS spend is due to deltas as the platform changes, rather than a single realization that AWS costs too much.

(Disclaimer: I was an engineer at CloudHealth four years ago.)

← PreviousPage 5 of 12Next →