HNHacker News
TopNewBestAskShowJobs

adregan

1,087 karma · joined March 13, 2013

Former educator with an M.A. in English/Poetry.

HN@DUNCANREGAN.COM

submissionscomments
adregan··on Interview with Dr. Ken Iverson (1982)
The English translation that Iverson mentions was in Harper's magazine. Iverson says it “was a report of an interview with Professor Weizenbaum,” so I’m not sure how complete it is.

In spite of having developed Harper’s first Android application, I no longer have a subscription to the back catalog, but perhaps I can put my library card to use!

Thanks for the link to the French article.

adregan··on Interview with Dr. Ken Iverson (1982)
I thought it came across as genuine and reflected the sentiments of past interviews with I.P. Sharpers without the tint of rose colored glasses (as these interviews were made at the time).

As someone who has spent quite a bit of time in the lousy job market the last two years, the thing that stood out to me most was the philosophy of having an open door and allowing people in to see if they are a good fit (and ultimately allowing them make that decision for themselves). While I’m not sure if the interview-by-light-meter holds up, I can’t say that I feel that tech interviewing, as practiced today, holds up either.

Thank you so much for your work on this, Bob! I’m sure you spent a lot of time on it, and it really shows. Wonderful job.

P.S. Did you happen to come across the article with Professor Weizenbaum that Iverson quotes in the interview with Whitney Smith? I’d love to read it.

adregan··on Interview with Dr. Ken Iverson (1982)
The episode of Array Cast released prior to this one is also worth a listen: I.P. Sharp and Associates - A Company Ahead of its Time[1].

It is also pieced together with “found” audio of Iverson and others, and it’s narrated by Bob Therriault. Subjectively, it quickly became one of my favorite audio pieces of all time!

The I.P. Sharp company sounded like a truly incredible place to work.

1: https://www.arraycast.com/episodes/episode91-ipsharpdoc

adregan··on setBigTimeout
This reminds me of when I am trying to find something in a cabinet, but don’t really look very hard, and my wife will say “did you even try?” and find it in ~1second.

https://git.sr.ht/~evanhahn/setBigTimeout/tree/main/item/mod...

adregan··on Sqlite3 WebAssembly
It was there for a decade: https://caniuse.com/sql-storage
adregan··on Hire HTML and CSS People
As an additional example: when I was first cutting my teeth on the web as an amateur in high school, I remember reading about the ills of "mystery meat" navigation and I can recall the hard fought battle to excise it from UIs. Now 20+ years later, it's back in force.

Perhaps we expected that the lessons we collectively learned about good design would be self-evident to the next generation or that there would be a knowledge transfer, but that doesn't seem to be the case.

The web (and most software really) seems to go through such extreme cycles of destruction and rebirth for the sake of marketing—and resume building, if we are being honest—that it's sometimes hard to find a throughline from the designs of yesterday to today.

I think about it all the time when there is an OS update (mac) that moves the state of design off into a direction that is in conflict with the design ethos of the past. I realize then that the designers and engineers likely never even used a classic OS let alone read the work of Jef Raskin or the Macintosh HIG.

It's really weird that the industry casually sloughs off lessons of the past. I don't think we should be restricted to only designing as we did in the past, but I do think that it's beneficial to understand where we came from.

adregan··on A Curried Composition Puzzle
The first thing I did was head over to the Combinator Birds[0] site to see what this one is called. It’s the B3 combinator, also known as the Becard.

It’s really fun to puzzle out combinators made from smaller combinators, but it doesn’t take me long to find myself in the tall grass. SKI calculus goes from 0 to insane so quickly!

0: https://www.angelfire.com/tx4/cus/combinator/birds.html

adregan··on iPhone 16 Pro and iPhone 16 Pro Max
Oh my god, yes! I would love to not only understand my great grandfather as a real life person but also to have context of the world in which he lived.

Hell, I wish I had home movies of myself with my parents as a toddler/child that included audio. All our home movies were on soundless 8mm film.

adregan··on The Fennel Programming Language
I think about writing the config in fennel all the time, but I’m not a big config tinkerer and already worry about struggling with Lua when I have an upgrade gone awry.

I’ve found the neovim ecosystem to churn way more in recent years than it did when I initially started using it 8 years ago. It really reminds me of the JS ecosystem of the past decade: full featured plugin that works great decides to strip things back so that it’s functionality is all plugable and you suddenly have to wade through 2 major release’s migration docs to get things kind of working like they were before. I digress to point out why it might be hard to have yet another layer to translate through. Though if you don’t have kids, I’d say “go for it!”

adregan··on Greppability is an underrated code metric
Admittedly, I was being a bit hand-wavy and describing a bit more of how it feels rather than the way it is (I'm perpetually annoyed that promises can't be cancelled), but I was thinking of the code I've seen many times across many code bases:

    let results;
    try {
      results = await Promise.all(vals.map(someAsyncOp))
    } catch (err) {
      console.error(err)
    }
While you could pull that promises mapping into a variable and keep it thenable, 99% of the time I see the above instead. Promises have some rough edges because they are stateful, so I think it might be easier to recommend swapping that Promise.all for an Promise.allSettled, and using a shared utility for parsing the promise result.

I consider this issue akin to the relationship between `sort`, `reverse`, `splice`, the mutating operation APIs, and their non mutating counterparts `toSorted`, `toReversed`, `toSpliced`. Promise.all is kind of the mutating version of allSettled.

adregan··on Greppability is an underrated code metric
As an aside: It’s way less ergonomic, but you likely want `Promise.allSettled` rather than `Promise.all` as the first promise that throws aborts the rest.
adregan··on A network engineer in search of greener pastures
I’m part of a community that helps connect applicants interested in working in the climate change field with companies in that same space.

Companies browse the list of resumes and invite candidates directly to apply.

After being asked directly by a couple of companies to apply for a position, I was auto rejected nearly immediately leading to awkward follow-ups. In each case there was profuse apologies and eventual interviews (and job offers), but I wonder how many good candidates are getting squashed by a black box AI.

I hadn’t considered the prompt injection trick, but it might be the best defense for a candidate with 10+ years in the field but without a CS degree (but still a MA in an unrelated field).

adregan··on TinyPod – Apple Watch case with scroll wheel
I've always wanted to take an apple watch and use it like a flip phone! This is pretty fun! I've never wanted the distraction of an apple watch and I appreciate the ability to put this thing in a pocket.
adregan··on I am using AI to drop hats outside my window onto New Yorkers
I feel like such a killjoy, but the first thing I thought of is the ongoing lice “epidemic” among people with school aged children in NYC.

I have never liked it when the ACs drip on me in midtown let alone a hat dropping on my head!

adregan··on lsix: Like "ls", but for images
Do you happen to know if sixel is enabled when tmux is installed with brew?
adregan··on Erlang/OTP 27 Highlights
In fairness, it's doing a bit more than "just" pattern matching. It's very similar to the `with` expression in elixir: https://hexdocs.pm/elixir/1.16.3/Kernel.SpecialForms.html#wi...

You can use it to execute a series of functions returning `either`-ish tuples and build up a railway oriented program.

adregan··on Erlang/OTP 27 Highlights
Better still—they didn’t copy ExDoc, they are using it exactly as it is! It’s really refreshing to see the sharing between Erlang and Elixir.

Having been stuck in the js world my whole career, it’s really cool to watch a community that’s rooted in collaboration instead of competition.

adregan··on The problem with new URL(), and how URL.parse() fixes that
I’ve never gone so far as to pull in fp-ts into a work codebase because it often doesn’t feel that it’s worth the headache of arguing for it.

However, I check back in from time to time and was recently confused as to whether or not the community has moved onto effect-ts as it seems effect consumed the fp project?

Do you have any context on that?

adregan··on Array Languages: R vs. APL (2023)
Thanks. I think I parsed that as “isn’t on the list of languages that I had wanted to learn.”
adregan··on Array Languages: R vs. APL (2023)
I had been wanting to sign up for exercism, and I love APL, so this was a good nudge. However, I'm browsing the language tracks, and I don't see APL. I see this post is from July 2023—has the APL track been removed since then? Or am I just looking in the wrong place?
adregan··on Amid explosive demand, America is running out of power
There is a difference between shutting down a plant and decommissioning. I’m solely focusing on the company cleaning up the mess that politics caused.
adregan··on Amid explosive demand, America is running out of power
If the public doesn’t trust the organization that controls the nuclear waste, they will stand in the way of new nuclear plants.

Like I said, take a look at Indian Point. There was an uproar about releasing the nuclear waste into the river (on an accelerated timeline), an action which is now prohibited by law.

As a result, there are holding tanks full of radioactive water that no one knows what to do with and that pose a greater threat should they leak. There is public distrust for the company decommissioning the plant, and they are severely hamstrung (how _do_ they get that waste out of there when they can’t transport it anywhere?).

I should note, I’m not really looking to argue state vs non-state ownership. I’m saying that someone needs some real solutions to these types of problems before nuclear could be built at scale.

adregan··on Amid explosive demand, America is running out of power
To add to this:

Nuclear advocates would do well to keep up to date with the Indian Point decommissioning in order to propose solutions to the knottiest problem for nuclear: the plants are owned by corporations who do bad things.

If you want nuclear to prosper, there needs to be solutions to issues like a company announcing it will discharge nuclear waste into the Hudson River with no regard as to how it might affect local economies or residents.

I think nuclear energy is quite a powerful tool in our quest to decarbonize, but I have very little trust in the stewardship of for profit companies who have very little regard for the lifetimes of the materials when they live and die by the quarter (relatedly see PFAs, micro plastics, &c.).

adregan··on Consider the Pawpaw
Some people drape bacon on the limbs to attract flies to pollinate the pawpaws!

You can also try hand pollinating with a soft brush if you’re not interested in adorning the boughs with rotting meat.

adregan··on Meta's new LLM-based test generator
Isn’t that kind of what snapshot tests can do?
adregan··on Unicomp's "New" Model M Keyboard
Anecdotal, but ergodox flared up my RSI terribly. I think it might be the shear size of it and overstretching my pinkies with the shift keys pulling double duty with parenthesis.

I’m now a happy user of the kinesis advantage (though the configuration software pales in comparison to the ergodox) and feel so much better.

adregan··on Ask HN: Advice for a new father?
Yeah sure, but I’m talking infants here.
adregan··on Ask HN: Advice for a new father?
If it’s a boy, I would just let you know that he’s going to pee everywhere during diaper changes. Not all the time—only when you least expect it. Keep your cool and try not to leave stuff downstream that you wouldn’t want pee on.
adregan··on “Wherever you get your podcasts” is a radical statement
While it’s not necessarily simple to do so, having a raw unstyled xml feed is a choice not a requirement. You _can_ style rss feeds: https://darekkay.com/blog/rss-styling/
adregan··on Tear up unused parking lots, plant trees
You can build new soil on top of contaminated soil to bury it. Here’s a permaculture site in an old rail bed in nyc that has nasty stuff lurking beneath many layers of new soil[0].

Not really sure if trees uptake heavy metals.

0: https://youtu.be/UqyK_9iybD8?si=rx7iCjsTu1Zn6YbO

← PreviousPage 4 of 14Next →