HNHacker News
TopNewBestAskShowJobs

simmons

1,128 karma · joined July 12, 2011

I'm a software engineer specializing in low-level system software such as device drivers, network protocols, graphics, and video. My current work interest is software platforms for consumer electronics in the television industry, however I often get diverted into other corners of the software development world. I'm based in Colorado, but work for clients located in a variety of locales.

Blog: Caffeinated Bitstream http://cafbit.com/ Mail: hackernews@tmp.davidsimmons.com

[ my public key: https://keybase.io/simmons; my proof: https://keybase.io/simmons/sigs/weZqDeRNgd2oiqXxOmCpqpLp87PpnhYnNdAHqnbBJOc ]

submissionscomments
simmons··on Ask HN: Were you in the early 2000s HTPC scene?
I can't claim to have hacked on MythTV or XBMC, but I certainly used them back then, and worked on television set-top box software for much of the ~2001-2017 time frame. As a systems programmer for these devices, I'm afraid I don't have much insight into high-level details like content licensing.

However, as a developer of commercial products in those days, I can say that our hands were tied in some ways. For example, showing the electronic program guide as a grid was problematic due to patents owned by TV Guide. I suspect the grassroots projects were able to play a bit more fast and loose with these things, thus leading to the UI differences you observed.

simmons··on Reddit's Stock Threads Become a Must-Read on Wall Street
I don't claim to be any kind of investment guru, but here's my two cents.

I've had solid returns from investments in industry segments I've worked in. The strategy outlined above by wegs2 reflects my thoughts almost exactly, including not investing more than 25% into these "personal experience" investments, since it inevitably means putting many eggs in few baskets. Most of your investments should be in lower-risk, highly diversified things like index funds.

I'd add a couple of additional things:

1. I'm pretty confident about predicting the success of an industry, but not individual companies. There's just too many factors in play to predict individual winners and losers. So within the "personal experience" investments, I hedge across several competitors who I think have good prospects. (Happily, all such companies have done well, so I guess I've avoided winner-takes-all outcomes.)

2. Even in industry segments I'm very familiar with, I avoid companies that are prominent household names. I think there's just too much investor psychology wrapped up in this, and overvaluations are more likely. So I avoid investing in companies like Google and Apple. (Granted, if I had invested in Apple it would have done well! But it being a household name gives me cold feet.) One way to avoid this is to consider upstream suppliers the general public may not be familiar with, but nonetheless produce great value and have good prospects.

simmons··on SC-IM – An ncurses spreadsheet program for the terminal
I used sc back in the day for many light tasks. I had no idea that James Gosling was an author. (Or didn't know who James Gosling was, at the time.) It's great to see that it's being maintained in some form!
simmons··on Reverse-engineering the Intel 8086's instruction register
I'll second this. From the original article:

> This is only a piece of the 8086's complex instruction handling. Other latches hold pieces of the instruction indicating register usage and the ALU operation, while a separate circuit controls the microcode engine...

I've always been amazed at how complex the 8086 instruction encoding is, especially compared to, say, the 6502 (which admittedly is a much less sophisticated microprocessor). I especially think this whenever I play around with a toy 8086 emulator I've written. :) It's never struck me as being greatly elegant from a software perspective, but I assume there are some good electrical engineering reasons. (And I'm intrigued about the mention of microcode... I always assumed that came later in the x86 series.)

simmons··on Ask HN: Should a remote employee’s salary be tied to their physical location?
I think the relationship of geography to salary is going to be dictated by the biggest factors in all pricing -- supply and demand. Cost of living adjustments are really just a proxy for acknowledging that a prospective remote worker in Des Moines will have fewer local opportunities (lower demand) than a similar worker in New York, and so will be in a less favorable negotiating position. If remote work continues to grow (thus making demand between geos more similar), the differences between locations will begin to diminish, of course.

I sometimes wonder if I worked for a company that was fixated on cost-of-living-based salaries, and I decided to move up to Aspen (high CoL, but low demand for software engineers) if I would get a commensurate increase in pay. I'm guessing probably not. ;)

simmons··on Claude Shannon Documentatry, “Bit Player”, Released Today
Great, I've been anxious to watch this! I literally just checked the web site yesterday to see if it was streaming anywhere yet. (And it looks like the web site still doesn't mention the Amazon streaming today.)

There are probably business considerations I don't understand since I'm not in the industry, but I've often been perplexed that indie films seem to spend years making the rounds in the film festivals, when they could be making money for the filmmaker from people like me who are eager to stream them.

simmons··on Reverse engineering a camera protocol for fun and profit
Many great people have come from Mississippi, or passed through on their journey in life. Sadly, I think most of these great people end up leaving, thus re-enforcing some of the problems the area faces.

I was thrilled to see a rigorous reverse engineering article. It's exactly the sort of thing I always hope to find when I browse HN. But I have to admit, it was a special delight to get to the end and find that the author was a fellow MSU alum. :)

simmons··on Commodore Basic as a Scripting Language
To be fair to Microsoft, the C64 BASIC was notoriously outdated when the C64 shipped. Jack Tramiel managed to buy an unlimited-use license to Microsoft's BASIC in 1977, and was determined to get his money's worth. On the bright side, the C64 BASIC was great at motivating new programmers to learn assembly programming so they could avoid it, and in the process finding out how computers really work. :)
simmons··on Twitter Will Allow Employees to Work at Home Forever
CoL adjustments have always seemed like a bit of a foreign idea to me, as someone who has been a freelancer for 20 years (WfH for 15). I'm not sure I would be able to sell my customers on the idea that I should get paid more because I live in X county. (Since my value proposition would be the same, assuming the customer wasn't in/near X.) On the other hand, if I lived in an area with a weaker tech scene, maybe my ability to negotiate would be weakened if they knew I didn't have a wealth of local options to fall back on?
simmons··on Amazon Isn’t the Only Shop Online
I think they must be adding slots fairly frequently. (But they might also be snatched up quickly.) My wife and I put in an Amazon Fresh order yesterday after doing a quick "dry run checkout" to confirm there was an available slot. While shopping, we got a notice that the slots were exhausted, but we continued in the interest of getting an order prepared. When we checked out, it again said there were no slots. I waited a minute and refreshed the browser, and a slot had opened up for tomorrow. I'm in Colorado, but I assume AF works the same everywhere.

So far, I've had a better experience with Amazon Fresh than with Instacart (King Soopers/Kroger) due to 1) the ability to "call dibs" on items instead of waiting for the shopper to see there's no stock and struggle to find a replacement, and 2) the quick 1-2 day delivery (but maybe I've just gotten lucky). On the other hand, lots of stuff is out of stock which makes shopping challenging.

We also put in an Amazon Pantry order yesterday. Expected delivery: April 26! :O

simmons··on Launch HN: Savvy (YC W20) – Give employees tax-free cash for health insurance
As a sibling comment points out, the value of ACA plans may vary quite a bit from state to state. I don't know how it is elsewhere, but here in Colorado the major insurance companies only provide a special, lousy version of their product on the marketplace. It's not uncommon to find health providers that claim to take Anthem or Cigna insurance, for example, only to show up and be told that "Anthem Pathway" and "Cigna Connect" don't count. Astonishingly, they don't seem to be willing to sell regular plans to individuals for any amount of money. (Source: self-employed.)
simmons··on WLW: America's 500,000 watt radio station (2015)
The station’s once groundbreaking transmitter is long retired but preserved, on-site, beside its modern counterpart.

I wonder if they ever offer tours. It would be neat to see some of this history the next time I'm passing through the Cincinnati area. On a related note, it looks like there's a "National Voice of America Museum of Broadcasting" just down the street from the WLW site.

simmons··on A Tandy / RadioShack TRS-80 Model 1 Clone
I didn't have an assembler however, so would write out all of the Z-80 instructions by hand on paper...

I'm glad I'm not the only one who hand-assembled like this! :) Only for me, it was several years later, on a C64 with 6502 assembly, and I had the extra step of converting the hex values to decimal for DATA statements. Assemblers cost money. And my friends were more into playing games, so none of them had an assembler I could "borrow".

simmons··on Ask HN: How do you justify taking unpaid vacation as self employed?
I've been self-employed for 20 years, and the idea that I would need to justify vacation is honestly a bit foreign. I assume that I'm going to be taking vacations, and if a customer has specific availability needs, then that's just something that needs to be negotiated. If a potential customer would only accept continuous work with no vacation, I imagine I'd pass. It's important to bill at a rate high enough that unpaid vacation is covered, and bench time between gigs is covered. (After all, employers budget for their employees to take vacation, so you should also budget similarly.)

When you bill by the hour, it's natural to start thinking of everything in terms of lost time and money. And I actually think it's reasonable to think about the cost of taking time off, but if this is keeping you from taking vacation and spending time with your family, then you are severely undervaluing your time off. You can think of time off as a sort of cost, but it's a very small cost compared to the value it provides.

I don't have experience with working for customers in different cultures and across international borders, so I'm afraid I don't have any insight there. If I was in that situation, I think it would still come down to negotiating the vacation that I need.

I also don't have much experience with juggling several (>2) projects at once. In my experience, people seldom need just a little software engineering. If someone wants some software engineering, they usually want a LOT of it and don't want to compete for your time with other projects. So I tend to work on one project at a time, take vacations, and when the gig comes to an end, I look forward to taking a few months off to study.

So I suppose if I was in your shoes, I would insist on vacation, and not worry too much if I lost a customer that wanted to burn me out. (I acknowledge that working in the software industry puts me in a rather privileged position where I can be picky.)

simmons··on A Third of America’s Economy Is Concentrated in Thirty-one Counties
Yes, a lot of these sorts of measurements tend to just be population heat maps. Going down the list of most populous metro areas in the U.S. [1] or the most populous counties [2], all the top places are represented in the list. Although there are a few outliers at the edges (e.g. Charlotte, NC seems to punch above its weight).

[1] https://en.wikipedia.org/wiki/List_of_metropolitan_statistic... [2] https://en.wikipedia.org/wiki/List_of_the_most_populous_coun...

simmons··on Over the past 35 years, views on privacy and Caller ID have flipped
Ah, this brings back memories. I signed up for Caller ID when it was first available to me in 1994. Not only did I have the regular caller ID box, but thanks to a fancy modem that could interpret the caller ID encoding, I rigged a daemon to send a zephyrgram instant message with the caller's name and number to my Sun workstation at work.

I distinctly remember people being a bit unnerved when I'd call them back and say "Hey, I saw you called...". My girlfriend at the time was particularly disturbed that I'd know she called even when she didn't leave a message. People were used to treating unanswered calls as if they never happened, and felt a bit violated when you knew that they had been investing effort into contacting you instead of making a casual "what's up?" call.

It's very strange to think about such attitudes in the context of modern communication. :)

simmons··on Where Have You Gone, Peter Norton? (2014)
I read Peter Norton's Inside the IBM PC (1986 edition) [1] a while back, out of an interest in computer history. It struck me as being quite a bit different than today's technical books. It had a very conversational writing style, and it seemed like it was aiming to accommodate computer hobbyists/enthusiasts who wanted to learn more about how their machine actually worked. There were probably a lot more such people back in the 80's than today.

[1] https://archive.org/details/insideibmpc00nort

simmons··on Flipping your Disk (1981)
Hmm, using a hole puncher is a pretty clever idea. If I had thought of that, instead of crudely sawing off a notch with scissors, maybe my success rate would have been higher. ;)

You can also punch holes in 3.5-inch double-density disks to attempt to turn them into high-density disks. :)

simmons··on Hard comp-fi reading list
While we're brainstorming, I'd add Rainbows End (Vernor Vinge) and Halting State (Charles Stross).
simmons··on Keyhut POS: Free Point-of-Sale Software for DOS
I'm a bit of a computer history buff, and dig around through old software archives from time to time. It seems to me that developers back in the 80's (at least in the PC / home computer world) were quite possessive of their source code, even for hobbyist projects that they gave away for free. It might seem a little odd to us today, although perhaps they had some rational motivation (e.g. hopes of productizing it or selling the IP later). So I'm not surprised that this program is also closed source, with some vague integrity/security reasons offered.

I say this with all due respect to the developer, who of course is free to distribute his software however he would like. It's a very cool project, and I often wish we could see a resurgence of such simplicity and distraction-free UX. :)

simmons··on The “mail is hard” myth
However, ‘Hard’ is a subjective term. The deeper you are in a trade or the longer you have done it, the easier it comes to feel.

I agree with this. I don't think mail is particularly harder than other serious Linux and network system administration tasks. But it does require those sysadmin skills, and it's not something I would recommend to a typical software developer unless they were interested in broadening their sysadmin skills or had a particular need that could benefit from a self-hosted mail server.

I've been operating mail servers continuously since 1992, so I guess that's the buffalo I'm milking.

simmons··on A Fedex package stuck in the system for over two months
I had a similar experience once, years ago, except it was probably my fault. It was the first time I tried using a FedEx account, printing out the form, putting in the clear sleeve, attaching it to the box, etc. I suspect I didn't get the sleeve attached correctly, but it eventually (somehow) made its way back to me a month or so later. I sympathize with the poster's frustration with the bureaucracy and confusing account situations. While I know people who are FedEx experts and have no problem jumping through their hoops, since my issue I've stuck to paying the extra few bucks to have someone at a FedEx (or UPS) retail store handle the shipping, in the hopes that this improves my chances of success.

I'm guessing that the package ended up in Mississippi because FedEx's main hub is in Memphis, TN very close to the MS state line. There are several big warehouses just over the state line, and maybe FedEx uses such a facility for packages that are in limbo.

simmons··on Is Ham Radio a Hobby, a Utility or Both? A Battle over Spectrum Heats Up
The concrete example provided by the article is the potential for opaque transmissions via Winlink, which could reduce transparency and thus raise the potential for abuse of the limited spectrum. I knew nothing of Winlink (or this petition) before today, but I was wondering why it necessarily has to be encrypted. A transparent Winlink service could surely be compatible with the spirit of Amateur Radio in the same way that packet radio is, right?

From a brief Googling leading to Winlink's web site, it sounds like Winlink isn't even encrypted at all [1]:

> Q260 While monitoring transmissions from WL2K stations, I notice that the content appears as “gibberish”. Isn’t this illegal?

> A260 The content looks that way because it is a compressed binary format called "B2F." This format is available to anyone, so the compressed data is not considered encryption or illegal for radio amateurs.

Is the concern that people are encrypting Winlink payloads anyway? And wouldn't this already be illegal under current rules?

[1] https://www.winlink.org/sites/default/files/wl2k_faq_2015031...

(Edit: formatting)

simmons··on 2015 MacBook Pro recall: batteries overheating
For whatever it's worth, it looks like not all "MacBook Pro (Retina, 15-inch, Mid 2015)" MacBooks are affected by this. I have one, entered my serial number, and it said that mine was not in the affected range of serial numbers.
simmons··on Network offloading in OpenWrt (2018) [pdf]
I'll chime in, since I moved to PC-based fanless router hardware about 5 years ago, and for my needs it's been fantastic.

One of my WAN connections is 100Mbps down (25 up), and I don't have any problem saturating it. I'm only using whatever hardware offloading Linux supports out of the box, which from the parent article I guess is pretty minimal (e.g. stuff like checksum offloading, I suppose). I haven't noticed any bottlenecks when routing between two gigabit LANs (I just ran a quick dd|nc test that measures 940Mbps). However, my needs may be relatively simple and I'm sure there must be more complex scenarios that would benefit from the offloading described in the parent article.

I bought a 4-port Intel NIC because I wanted discrete network interfaces for 2 LANs and 2 WANs. I ended up having to saw off some of the PCI-e edge connector segments to make it fit in my motherboard, so I'm presumably not getting the benefit of all the lanes the NIC could otherwise take advantage of, but nonetheless it seems satisfactory for my needs.

simmons··on Google Is Eating Our Mail
Contrary to popular opinion, I don't think the technical aspects of operating a mail server are all that hard. Perhaps I'm underestimating the learning curve since I've been doing it for 27 years. (If you're running your own mail server, you are the sysadmin.)

The frustration comes with scenarios such as the one outlined in this blog post, where small mail server operators get bullied even though they are doing everything right. I can completely understand not wanting to operate a mail server due to this situation, or not having interest in leveling-up server administration skills.

For those of us who do have expertise in running mail servers, it's a shame we have to deal with these obstacles.

simmons··on BASIC Computer Games
Like others have posted, my childhood included a lot of typing in BASIC programs from books and magazines. What I remember most is staying up late one night when I was ten years old to type in the text adventure game from the back of "Basic Fun with Adventure Games" [1] on my TRS-80 MC-10 with 4K RAM. Before I could finish typing it in, I was shocked to get "?OM ERROR" -- out of memory. My first ever experience with running out of resources. :) I knew I was going to need a better computer...

[1] https://www.amazon.com/Basic-Adventure-Games-Susan-Lipscomb/...

simmons··on Faxing is growing in popularity
It's not exactly a virus, but last fall some folks put together a PoC showing how certain fax machines could be compromised over the phone line, and used to gain access to their connected networks. [1]

[1] https://blog.checkpoint.com/2018/08/12/faxploit-hp-printer-f...

simmons··on Quotes from 1992
> OTOH, my laptop has more in common with a VAX running Unix than it has with a Commodore PET.

This was my thought upon reading the "Big computers and little computers are completely different beasts" quote, and it's also something I've been thinking about lately. Personal computers definitely represented a distinct development track from the multi-user/multitasking industrial/academic computing systems of the time. However, as PCs became more capable and merged key innovations from the higher-end computing branch (e.g. virtual memory, protected execution environments, and the operating systems that can leverage such features), we seem to have arrived at the same point -- a phone in my pocket that's more like a VAX 11/750 available in 1981 than an IBM PC from the same year. The "microcomputer" development track that included the Commodore PET and 8086-based PC systems was greatly useful for jumpstarting the PC industry, but was ultimately set aside.

So maybe it's not so much that small computers are completely different beasts than large computers, as their initial development required a unique approach to fit the constraints of that particular era.

As someone who has personally installed UNIX on a VAX 11/750, I do appreciate the attention to human factors that the microcomputer era has contributed to computing. :)

simmons··on Which American accent do you have? (2007)
Interesting. I also grew up in the Deep South, but people are always surprised to hear it, claim I "don't have an accent", etc. And yet, the quiz positively identified me as having a Southern accent.

I assume it's because this quiz is only asking about how we pronounce words, and doesn't measure any other speech metrics like tempo/cadence. I guess I don't have the drawl, but still pronounce words with a Southern accent. Maybe this is why it confuses me so much when my wife pronounces Don and Dawn the same, which was question #2 on the quiz. ("Wait, which person are you talking about?!")

Maybe you have the drawl but not the Southern pronunciation?

← PreviousPage 4 of 11Next →