HNHacker News
TopNewBestAskShowJobs

npsimons

4,272 karma · joined March 8, 2012

Previously a programmer in the DoD world, now a solo software developer. Before that, I used to hack on RTLinux until FSMLabs couldn't afford to pay me any more. My personal interests include search and rescue and musical groups. Also tried my hand at consulting around 2000-2001, failed; tried another startup based on a GPS logger concept that never got off the ground. Would like to contribute to open source, but the aforementioned extra-curricular activities get in the way. Run my own email/web for personal stuff at hardcorehackers.com; can be reached at the usual (RFC) addresses there.

I despise Apple fanboys and Microsoft shills, but I'm getting better (mostly by laughing at the former and ignoring the latter).

I used to be what I considered a master of C++; nowadays I'm an unabashed Lisp elitist, but mainly I putter along working on personal projects. Not currently looking for work, but if your project is interesting enough . . .

Still of the opinion that Emacs is the last editor on the last OS (Debian GNU/Linux).

submissionscomments
npsimons··on Actuarial Life Table
> Meanwhile, my other three grandparents are enjoying their late 70's and early 80's - they travel, go hiking, play golf, play with the grand children and great-grandchildren, etc.

It's okay to slow down, but don't stop moving.

npsimons··on Actuarial Life Table
This is why I "soft retired" early. People haven't said it to my face, but I get the definite impression many think I'm crazy for "abandoning" work. I'm through hiking the PCT this year, something I never thought I would do until much older.

I'm not really a brave guy, I fear change, but you got to take your chances while you're still alive.

npsimons··on Ask HN: What bits of fundamental knowledge are productivity multipliers?
> just be good at two or three different fields and see what happens when you combine them.

"Jack of all trades, master of some." That's been my goal for most of my life.

npsimons··on How to work with me
I mean honestly, there's a whole bunch of shit that is considered "normal" in the work world that just should not be the way it is. The quarantines really opened (some) peoples' eyes to the reality that a lot of workplace "culture" is utter bullshit.

I could see a lot of people who are complaining here about TFA whinging 70 years ago when their secretary might push back on being sexually harassed.

Yeah, the document could have been written a bit better, but having open and honest communication about how to put people at ease and ensure they will be at optimal performance levels just seems like a good idea.

npsimons··on Maybe you should do less 'work'
No, I was in civil service. Something I've had explained to me since is that even if my boss wanted to (he didn't; very old-school thinking), they couldn't because my position wasn't "coded" for part time.

This was a problem I also bumped up against quite often as someone who has been doing "DevOps" things since before that term was coined, but the government very much wants to pigeonhole people and couldn't wrap it's head around someone with IT experience who was also a software engineer. Even with certs that I basically earned blindfolded, they wouldn't grant me a sysadmin letter, and I didn't want to re-code to IT/IM because I saw how burned out sysadmins got. The turnover in government IT was insane.

If I really wanted, I could go be a government contractor, but I've seen they still want even contractors on-site, and it's completely unnecessary. For now, I'm just "re-tooling" to tech stacks that have piqued my interest, exploring my options (eg, my brother the designer wants to build games with me).

Honestly, I'm not the first, and from people I've kept in touch with, I'm far from the last. Government agencies need a serious kick in the pants if they want to keep good talent. It's not so much about the money, that's always going to be below market rate due to the tradeoff in stability and benefits (and even benefits are dwindling), it's more about recognizing that WFH is a right, not a privilege, and being flexible in hours and horizontal job duty changes. I've watched many a better engineer than myself leave for greener pastures (Micron, Blue Origin, etc), and middle management is still in denial because they've been in the same role for 30+ years and think "nothing has changed", or if they do adopt business practices, it's always the worst ones (open floor plans, etc). FFS, I couldn't get the last project I worked on to enable CI on their GitLab instance.

npsimons··on Maybe you should do less 'work'
> made me really want to find a job that was less pay but also that low in hours

This was a very large factor in why I quit - old job wouldn't let me cut back hours, even at reduced pay, even framing it as "leave without pay", so I had no choice but to quit to get my time back, and I had enough money.

As it is, I'm content staying in that "learning and broadening" mode, even though I'm 20-ish years in on my career.

I don't think I'll go back, unless I absolutely have to, or a project catches my interest, but even then, no amount of money is going to convince me to work so many hours or ever in an office again (another reason I quit was they wanted us back in the office, despite my being much more effective working from home).

npsimons··on I don't need a VPS anymore
> If you're just returning JSON

I'm not. Not sure where you got that idea.

npsimons··on I don't need a VPS anymore
CL is Common Lisp.
npsimons··on I don't need a VPS anymore
> Nginx with a reverse proxy to Rails, Django, Express or Laravel

/me over here reverse proxying to Hunchentoot with CL framework of the week. Have yet to see a serverless setup that even has any idea what CL is . . .

npsimons··on I don't need a VPS anymore
> I really really dislike having to bend to unnecessary restrictions. I don't think I'm alone in that regard.

You aren't. I'm one who actually moved from a more managed product to a VPS precisely because I couldn't get what I needed from the managed solution.

It's great we have options, but it's absolutely a false dichotomy that the author is presenting. You can have SaaS solutions for things that fit well, while having VPSs to research and develop things that don't fit into a neat little package (yet).

npsimons··on The Beautiful Mind-Bending of Stanislaw Lem (2019)
> I'd instead advice to read the whole Ijon Tichy cycle starting from Star Diaries

That might help, I should probably do that. I started with "Cyberiad", then got into Lem's other works just sort of at random. It doesn't really feel like the Tichy series is grouped together in the way say the Heechee saga or a lot of other "serial" or "extended universe" works are.

npsimons··on The Beautiful Mind-Bending of Stanislaw Lem (2019)
"Cyberiad" is by far my favorite, whimsical, yet instructive to engineers.

"The Futurological Congress" is good, but not great; "The Congress" with Robin Wright was loosely based on it and had more of an impact for me.

"His Master's Voice" I read while still in civil service, and it hit pretty close to home, albeit it also reminded me of the bad parts of academia. I need to read that one again sometime.

npsimons··on How on earth I became an entrepreneur
I myself might be overreacting a bit; having "noped" out of a large bureaucracy relatively recently, my "stick it to the man!" mode gets triggered easily by such things, as well as such articles as OP.

Honestly, the line "had me question everything, including my self-worth, my identity, and purpose" resonated with me so deeply, not just the first time I was laid off, but even now 20 years later and having left by choice.

On the flipside, to get CYA-managery, but any time someone in management says anything approaching "you should quit" that can be a bit worrisome. They might be doing you a favor, but the org is more than likely to be hurt by you leaving.

npsimons··on How on earth I became an entrepreneur
> we should rethink ... place of work if compensation was important.

If that's not a glaring neon sign telling you to quit, and quit now, I don't know what is.

npsimons··on How on earth I became an entrepreneur
> I always wonder if this is just a poor understanding of the value individuals bring or just short shortsightedness on the part of management/the finance team.

I'm thoroughly of the jaded opinion that when it's not a power play (no one's lizard brain wants to admit there's someone smarter than them), it can actually be a sort-of-rational decision: don't be beholden to someone hard to replace. Hence why you see tons of PHP jobs, but few in languages like the Lisps or Haskell.

npsimons··on DigitalOcean acquires CSS-tricks
Honestly, as another satisfied customer, I jumped on the opportunity to buy some of their stock. I believe it's a solid investment.
npsimons··on The case for induction cooking
> you can't really use woks on induction.

I found a flat-bottomed induction compatible wok on Amazon when I got my induction cook top. I'm not a master stir fry cook, but it woks for me!

npsimons··on Face-to-face interaction enhances learning, innovation
> This sounds like more of one of those articles to manipulate people perception of back to the office.

My first thought exactly, and one I've easily debunked for at least myself.

Anecdata point of one, YMMV, but I definitely have learned more by myself than I ever have from a teacher or mentor. I can go at my own pace, stop to look things up, try things out, and never have to feel pressure due to falling behind or waiting for others.

Even in the case of the paper's specific area of learning (visual and spatial), I can watch a video, slow that video down, skip around, etc, much more effectively. And for many things, there are usually plenty of them - that's actually how I learned to tie a bowtie, after failing to learn from a friend who tried to show me.

npsimons··on Plans you're not supposed to talk about
> careful about painting with too broad a brush there.

Which is precisely what every single "plan" from the article does.

npsimons··on Plans you're not supposed to talk about
> just so story

Thank you, this is the term I was looking for, and indeed, pretty much all of the "plans" the author lays out are "just so stories", untestable and with the implication that they are the true reasons things are as they are.

npsimons··on Plans you're not supposed to talk about
> it seems to be happening on huge swaths of adults as we speak.

I am fully convinced there are vast swaths of legal "adults" who are not fully emotionally developed. On my really bad days, I'm one of them. The one thing that saves me is I tend to snap out of it eventually and think of the long term. I think that many "adults" never do.

Events in recent years have only reinforced this point of view.

npsimons··on Plans you're not supposed to talk about
I'm not any sort of expert, but the topics TFA article covers are many that weigh upon my mind, and quite frankly, the author comes across as smug and egotistical, ironically the traits he seems to rail against in the "edgelord" section.

For one thing, there is a lot of begging the question going on in most of these "plans that shall not be named", with a side order of heavy cultural colorings the author does not even appear to realize they operate under.

npsimons··on You click a link to a news site, to read an article that seems interesting
"Five minute precis" has been the dream since Gibson's "Count Zero." Unfortunately, getting something anywhere near worthwhile isn't easy.
npsimons··on You click a link to a news site, to read an article that seems interesting
Tempting as this is, it's a colossally bad idea: just as one point, how long do you think it would take for the usual operators of botnets (spammers, those attempting DDoS for other purposes, etc) to target the C&C for this botnet? Why go to the trouble of building a botnet when someone else has already done it for you!
npsimons··on Writing maintainable code is a communication skill
Wait, is this the same McIlroy who claimed that PL/I has features no other language has, then listed syntactic sugars and things that could be implemented easily in libraries?

Edit: After having read the link, yes, McIlroy has a point. For quick prototyping, a one off, above all else small project, the UNIX way fits, and fits well. It's a philosophy I agree with and use on a very regular basis as a sysadmin.

But as a developer on larger projects, where chunking them into pipeable tools would probably result in 1000 pipes, any one of which might break, and you want to hand it off to people who don't even know what a pipe is, well, I'm sorry, but I'm going to make something in the tools that they understand and use, and I'll make it more fault-tolerant to boot. And yes, I've run into exactly this sort of situation multiple times in my career.

I might prototype with pipes and commands, but Larry Wall invented Perl for a damn good reason.

Really, TL;DR is that Bentley picked an over simple problem (count words in a file), asked Knuth to write a program in the literate programming style, and McIlroy completely missed the point of the exercise. What a shame, he might have had something useful or insightful to say had he understood what Bentley and Knuth were trying to achieve.

npsimons··on Writing maintainable code is a communication skill
I am also on about the same timeline as you and GP, and in my humble experience, it's really just about having a lot of code/prose "under your fingers", so to speak.

I can't remember where I read it, but the wisdom I heard for writing is that until you've written a million words, your writing won't be worth reading. This feels to me like the 10,000 hour rule.

Code has the added problem that the reader must have additional fluency in it on top of human language, plus a whole bunch of idioms that may or may not be in vogue, or mayhap haven't been seen outside the organization they originated from (think silos; copyrights, secrecy and only getting binaries really don't help here). In some respects, we have code written by Chaucers, but is only from 50 years ago.

I do agree with you that Pareto principle definitely applies, but wherever possible I try to make my code as understandable as possible, with comments and ancillary documentation showing the "why". What I really wonder, is where are the world-class codebases we can point to as exemplars of what readable code looks like? Who can we cite as masters of the craft that make code others understand easily? Is Knuth one of them?

npsimons··on Ideal Monitor Rotation for Programmers
Keeps one alert and attentive too! The challenge probably also helps sharpen the mind.
npsimons··on Ideal Monitor Rotation for Programmers
> My contrarian take: I prefer to work from a small laptop, with a non-fullscreen terminal window, and no IDE.

Ah, the Joey Hess DE: https://usesthis.com/interviews/joey.hess/

npsimons··on Ideal Monitor Rotation for Programmers
> What I'd like: an editor with multiple tiled windows side by side, filling up a wide monitor, all showing the same text threaded through it. Line n at the bottom of one puts line n+1 at the top of the window to the right of it. Scrolling in one window scrolls them all.

> (Of course you could optionally split it up differently to see multiple files.)

Now I want to go write some elisp . . .

But for the moment, I'll let you know that C-x 3 will keep splitting an emacs "frame" (window) in half vertically until you hit something like 10 columns. Just need to write the elisp for the rest of your feature request.

npsimons··on Ideal Monitor Rotation for Programmers
> I find switching applications with keyboard shortcuts and focusing on one thing at a time has improved my productivity. Using two or more monitors made it so easy for me to get distracted.

I very much agree with this - alt-tabbing between browser, terminal and fullscreened Emacs are what I've been doing for years. But very recently I decided to make two significant changes:

1. Adding a second monitor for documentation or visualizing output. When I'm going through longer written works (tutorials on languages, toolkits, etc), it's rotated to portrait mode and I find it more conducive to typing and testing things on the first monitor (with Emacs still fullscreen, but C-x 2 for splitting it in half). Recently I've been playing with OpenSCAD and I've liked having the second monitor in landscape mode; then I edit files in Emacs, and OpenSCAD updates the render as soon as I save the file. Transcribing music from scans displayed on a portrait monitor into MuseScore in fullscreen on a landscape monitor is a third "topic" I find two monitors handy for. Lastly is IT/sysadmin where I have a 160x60 terminal with a tab per server on the landscape monitor, and dashboards or documentation on the second monitor rotated to landscape mode. Control PgUp and PgDown between server consoles, each running screen, where screen zero is colorized log output.

2. The second change might have a a bigger impact than the first: multiple virtual desktops, one for each "topic." For example, my virtual desktops are currently entitled "Main", "IT", "3D Modelling", "Programming", and "Music". Of course I switch between them with a keyboard shortcut. This really seems to help my focus, by putting things "out of reach" so that I can't just Alt-tab to Reddit or HN when I'm bored or stuck.

The key with any tool is to figure out how to make it work for you, not against you. Sounds like you've already made progress on this front, but I thought I'd provide my two cents.

← PreviousPage 4 of 34Next →