HNHacker News
TopNewBestAskShowJobs

skipkey

456 karma · joined July 21, 2022

submissionscomments
skipkey··on How to embrace asynchronous communication for remote work
And I’m probably going to decline future meeting requests from you. Your project probably is only incidentally related to mine. If you give me time, usually a few days, I can probably help, when I get some free time. But if you are pushy, well, your manager can talk to mine, who will probably tell you no.
skipkey··on Japan's Space One rocket explodes seconds after liftoff
I vaguely remember reading about that actually happening some years ago. Control system written in C++, bad data comes in from a sensor causing a floating point exception which was not caught locally, and the outermost catch code was basically, “explode the rocket”.

Might have been in the c++ Users Journal or Dr Dobbs in the late 90s.

skipkey··on 40 Years of Programming
I will let you in on a little secret. Very few devs, full stack or otherwise, remember everything on any non-trivial system. What the experience gives you is the ability to read and comprehend code that is new to you very quickly. And “new to you” code includes code you wrote a year ago and haven’t touched since.
skipkey··on Bring back private offices
I generally left around 3pm to avoid the Austin rush hour traffic. Sure, I would occasionally stay late but I generally didn’t work much more than a 40 hour week. But this was Facebook games, with a daily release cycle, so there wasn’t really the crunch time that you would have seen at a AAA studio. They catered lunch every day but I almost always left and ate somewhere else.

Personally I appreciated the flexibility to work and leave early.

skipkey··on Bring back private offices
A few years back I was working in an open office setting at a games studio and I got in a discussion with the branch manager about it. He was convinced that open office was a productivity multiplier. I asked him who he thought the most productive developers were on the team. When he gave me names, I pointed out that every one of them were wearing big noise-canceling headphones to block out the collaboration he thought he was fostering. My solution was different, I usually got in at 6am when almost no one else came in before the 10am standup. I would get most of my work done by then and then circulate and help the kids as needed.

To be fair, it did seem like the artists did get some benefit, but it was definitely a net negative for most of the developers.

I’ve been in private offices, and cubes, and open office, and honestly the most productive environment was when I was in a set of cubicles that had sliding doors, around a bullpen with multiple tables. When you needed to go head-down to get some code down you could, but otherwise you hung out at the tables in the middle.

skipkey··on You've just inherited a legacy C++ codebase, now what?
Yes, plus a bunch of warnings for unsafe type conversions where the compiler did pointer to int, back to pointer conversions. In the process of cleaning it up I found at least a dozen serious bugs.
skipkey··on You've just inherited a legacy C++ codebase, now what?
Everyone who has been around this game for long enough has scars. At one point in the early 90s I was asked to take over maintenance of a vertical market accounting app that had a few hundred users. It had been written using Lattice C, but at the time was being built with the ultra modern MS C 5.1.

The first time I looked at it, I saw that the make file set the warning level to 0 and redirected the output to NUL. Removing that, I ran nmake and prayed. About 45 minutes later it finished building, evidently successfully. It turned out that having the warnings actually print added 10 minutes to the build.

It was averaging more than one error per line of code at /w3. And it was around 40k lines of code. Not large by the standards of today but huge back then for MSDOS. Peeking, it used K&R c and included no header files. So step 1 for me was to hook up some scaffolding using various tools from mks to make sure as I edited things that the error count didn’t increase.

The biggest thing I learned from this project was to not combine other coding with the warning removal or other cleanup. Makes it much easier to spot when you introduce bugs.

skipkey··on Useful Uses of cat
Or what I find myself doing often:

cat “filename.txt”

Up | grep “thing”

Up | grep -v “not thing”

Up | grep -v “other thing”

Etc. it’s just easier to build this way even if the initial cat is unnecessary.

skipkey··on Wyze security incident update
It’s just a WAG, but I bet someone used a timestamp as a unique key, or at least part of one, so you were unlikely to get collisions except under load.
skipkey··on Wi-Fi jamming to knock out cameras suspected in nine Minnesota burglaries
I’m fairly certain that I have seen this in our hood. Basically someone or something will cause the motion detection to trigger, and then the video cuts out. Sometimes it goes black, sometimes it’s noise. In the most recent case it was someone whom I don’t recognize walking his dog and holding what I thought was a phone in his hand, and 3 different cameras did the same thing in order, going to white noise.

We didn’t get the cameras for security, we got them to watch the feral cats in the area to help catch them for TNR, but security is a nice extra, so we are considering replacing the Rings with something wired.

skipkey··on Ask HN: Who wants to be hired? (February 2024)
ocation: Phoenix, AZ Remote: Yes Willing to relocate: No Technologies: Perl, Python, NodeJS, C#, c++, a little bit of everything Resume: on linkedin, or email me for formal resume Email: skipkey@gmail.com I like to say that I have 5 years experience in everything, over the last 35 years, but two of my last three jobs have involved modernizing old codebases, mostly in perl, moving them to modern languages and the cloud, with a short stint in SRE in the middle. I'd love to find another job doing that, or possibly someone who isn't very far along in their DevOps journey, where I can add a lot of value quickly.
skipkey··on How DOS was able to use most of the 1 MB address space of the 8086
They also had DOS/16M which targeted 286 protected mode. The company I worked for used it when moving the Clipper programming language to protected mode.
skipkey··on Most homes for sale in 2023 were not affordable for a typical U.S. household
Not really. The east side of the area where I live is bounded by mountains, so can’t really expand more. To the southeast they are putting in thousands of starter homes. I’m not sure where the water is going to come from.

The problem is twofold - one issue is there is a lot of the real estate tied up being used only during the cold weather months from snowbirds. The population goes up by roughly a third then. The other issue is folks moving here from other states, primarily California. The influx has greatly exceeded the rate of new construction.

skipkey··on Most homes for sale in 2023 were not affordable for a typical U.S. household
My house has roughly doubled in value in the Phoenix area in the 5.5 years since we bought it. We couldn’t afford it today if we were buying new.
skipkey··on Ask HN: Who wants to be hired? (December 2023)
Location: Phoenix, AZ Remote: Yes Willing to relocate: No Technologies: Perl, Python, NodeJS, C#, c++, a little bit of everything Resume: on linkedin, or email me for formal resume Email: skipkey@gmail.com

I like to say that I have 5 years experience in everything, over the last 35 years, but two of my last three jobs have involved modernizing old codebases, mostly in perl, moving them to modern languages and the cloud, with a short stint in SRE in the middle. I'd love to find another job doing that, or possibly someone who isn't very far along in their DevOps journey, where I can add a lot of value quickly.

skipkey··on Office Life in the 1980's (Vintage Photos) (2019)
In the 80s there would possibly be a smoking lounge in the bigger offices. Heck, my high school had one for teachers until probably 1986 or so.

By the mid 90’s they were all gone, smoking moved outside.

skipkey··on Office Life in the 1980's (Vintage Photos) (2019)
For me it wasn’t usually the balls, but the rollers that got all gunky. I kept a dental pick around to quickly clean them.
skipkey··on Quitting the full-time poker scene
I worked for a company that did this for awhile - they had custom written clients for all the major sites, just watching tables and recording the hand histories, which they provided as a subscription service. You could absolutely use the data to improve your margins. Think knowing how loose or tight your opponents were over thousands of hands.

Then we got acquired by Zynga and that business got sold off.

skipkey··on Wegovy's heart benefits due to more than weight loss, Novo says
From experience, appetite mostly goes away, and when I do get hungry it doesn’t take much to fill me up. My wife basically eats almost nothing, but I find I still need to eat a small amount several times a day.

I do tend to eat more candy tho than I did on other diets - several times a week I will get the feelings of low blood sugar, and a few bites usually fixes that without affecting weight loss.

skipkey··on Why Card Catalogs Matter (2017)
On a related note, I would really like to buy a used card catalog cabinet, but they’ve seemed excessively expensive when I’ve seen them.
skipkey··on Waymo Layoffs
> Which is to say, assuming you are not actively looking for the exit door, why even bother to do your job

There’s one reason - from experience, it’s a lot easier to find a job if you are currently employed. So if you think you will likely be a target in round 2 or 3, the rational thing to do is to try to stay employed as long as possible and switch jobs quickly. Also, the severance tends to get worse with each round. I saw one job where round one got 3 months severance plus a week per year, with insurance, round 2 got a month, and round 3 got 2 weeks. I found new employment between rounds 2 and 3.

It seems like there are quite a few people here who have never experienced a tight labor market.

skipkey··on Some Pixel owners still can't dial 911 during an emergency
I had this happen with my iPhone a few years ago. Basically there’s a setting where some combination of the side buttons pressed together calls 911. I was in a borrowed car and the cup holder was just the right width to do this when I hit a bump.

The very nice 911 operator told me it happened all the time. After the second time it happened I tracked down the setting to disable it.

skipkey··on SMS Security and Privacy Gaps
Yep. I have two group family chats, one with everyone and one that leaves off the two people on Android. I’m sure that social groups where the percentages go the other way do the same thing.
skipkey··on The casino in your pocket
Exactly. There is a server which is drawing bingo balls, against a card. Someone is going to eventually win. So if there is only one player, you will eventually win.

You can actually set up a situation where one player is guaranteed a win, which is why the systems will require at least two players.

skipkey··on The casino in your pocket
Vegas is well-regulated, but when you move outside that realm, things get a bit more loosely-defined.

I spent a couple of years in the mid-2000s working in the edges here, so I have a bit of knowledge. Note: I've been out of this industry for at least 15 years, so some of my knowledge might have aged, but I'm fairly certain that it's still true in the general sense.

First, under federal regulations, there are three classes of gambling. First, class I, which is basically, "I make a wager with you over the outcome of a sporting event". So if I'm playing golf with you and I bet you $10 a hole on outcome, that's class I. It's not regulated at federal level, and not generally regulated at state level.

The next class is Class II. This covers things like raffles, and mid-week church bingo. There are some limits, but it's not regulated by the states generally, and not by the feds at all.

Class III is what we think of as traditional gambling. Table games, traditional slot machines, etc. This is absolutely regulated by the states, and only allowed if the states allow it. This is what your Vegas and Atlantic City casinos operate under.

But there are Indian casinos outside of this in these markets operating. How do they operate, you ask? The simple answer is, if the games are operating as Class I or (more likely) class II games, the states have no say in them. And it's very easy to make a lotto drawing, or a bingo card, appear as a slot machine play. All random wins are basically equivalent to each other. If you go to an Indian casino, and you want to play a slot machine, but it's requiring you to wait on another player, you're dealing with a class II machine.

What about class III? Well, states are allowed to negotiate compacts with the various Native American tribes where they allow them to conduct class III games. A number of states have done this. This allows them to run, say, blackjack and poker, as well as slot machines that don't fall under class II. Interestingly, in a lot of jurisdictions, you're still basically following the ideas of class II, but just not requiring competition. So if you go to a casino in Oklahoma, you'll see that you are (most often) playing a game of instant bingo on each spin, or possibly a game of instant lotto on each spin. Because that's what the compact between the state of Oklahoma and the tribes there allows.

But there are still loopholes that allow you, in some jurisdictions, to run slot machines outside of these provisions. Let's say, you're allowed to run raffles that allow up to a $1000 prize on a $1 entry. These are just numbers to use to illustrate the concept, and they vary state to state. So I set up a slot machine that you pay $1 a spin, which is an entry in a lotto that pays maximum $1000, and after the total number of tickets allocated is depleted, will pay the house 10%. Perfectly legal, though local law enforcement in the bible belt in the south may disagree. I've coded a number of systems that implemented exactly this.

Other jurisdictions may allow you to have prizes up to, say, 25x the entry on machines, to allow the legality of the claw machines. This can also be (ab)used to make slot machines.

skipkey··on Car allergic to vanilla ice cream (2000)
I personally had a similar situation. We had an accounting firm whose servers we were maintaining, and occasionally the print server would reboot, always between 9 and 10 am. So I sat in there for a week between those hours and noticed the light would dim and occasionally the reboot would happen.

It turned out that the lawyer next door would come in, turn on his PC, printer and coffee pot simultaneously because they were all on the same power strip, and the drain was causing an undervoltage on the circuit the server was on during startup. We had it on a UPS, but it turns out that at the time consumer grade UPS systems only handled outages.

I measured drops as low as to 85 volts, in practice anything under 95 or sou would reboot.

skipkey··on Japan's Hometown Tax (2018)
It means that the donations to the church are generally tax deductible, and thus divert some money from the federal government to the church. And the church likely has many charitable activities.
skipkey··on The Uselessness of Phenylephrine (2022)
Not sure if it’s still the case, but a few years ago I was traveling and staying overnight near St Louis, and was shocked to find that it actually required a prescription there, but only in the county that St Louis was in.
skipkey··on A systematic approach to debugging
The one thing I would add is, if at all possible, write a unit test that fails, reproducing the bug. I have found when working on a code base that is only lightly unit tested, it’s one of the best ways to increase coverage.
skipkey··on Found in a Library Book (2022)
I picked up a copy of Old Mr Bostons cocktail guide that was printed in the sixties. From a note written in the front, it was clear that the book was a gift to a son for high school graduation.

Times sure were different then.

← PreviousPage 3 of 5Next →