HN user

citelao

138 karma

Me: https://ben.stolovitz.com

Posts7
Comments28
View on HN

Totally agree; I had to cut a few sentences about that :). (I also tried to steel-man the paper as much as possible).

Oddly enough, it seems like, although the value of "blind operation" is well-understood, it's not super well researched. As one of the papers I cite puts it:

Little research deals with the optimal design of haptic features and how haptic feedback can support the user in searching for control elements.

https://pmc.ncbi.nlm.nih.gov/articles/PMC6676796/

OP here: I always disliked touchscreens in cars, so I didn't understand why automakers kept shoving them in. I always assumed I was weird in some way, and that most consumers preferred touchscreens or something (Reddit seems to argue this in circles all the time). I planned to keep buying Mazdas, with their lovely buttons and stuff.

But when Mazda unveiled their button-lite 2026 CX-5 about a year ago, I started investigating.

I'm pretty convinced that touchscreens today are primarily a cost-saving measure, and every other justification is secondary. I hope I can convince you, too!

OP here: I really enjoyed learning about the history of industrial design for this.

I wanted to understand the parallels between software engineering and industrial design (well, chairmaking) through the Industrial Revolution. Matthew Bird's [History of Industrial Design series][1] was fantastic, especially this quote [from John Ruskin][2]:

Now it is a good and desirable thing, truly, to make many pins in a day; but if we could only see with what crystal sand their points were polished,—sand of human soul, much to be magnified before it can be discerned for what it is — we should think there might be some loss in it also.

I hope you enjoy!

[1] https://www.youtube.com/playlist?list=PLEANvcdpJW0lUKVPJ_8ee... [2]: https://www.gutenberg.org/files/30755/30755-h/30755-h.htm

Big Noun Pages 5 months ago

I've been using "Big noun pages" in my technical documentation for quite some time now, and I wanted to formally explain the concept to my teammates. Thus: this blog post!

I hope you find it helpful!

Perhaps this is a bit OT, since the article focuses more on self-development ("When training a muscle, you only get stronger with resistance"), but I wonder about the subtitle:

Every week there seems to be a new tool that promises to let anyone build applications 10x faster. The promise is always the same and so is the outcome.

Is the second sentence true? Regardless of AI, I think that programming (game development, web development, maybe app development) is easier than ever? Compare modern languages like Go & Rust to C & C++, simply for their ease-of-compilation and execution. Compare modern C# to early C#, or modern Java to early Java, even.

I'd like to think that our tools have made things easier, even if our software has gotten commensurately more complicated. If they haven't, what's missing? How can we build better tools for ourselves?

I Use AI 9 months ago

I agree on all counts! Some generated music is basically indistinguishable at this point, which scares me.

Also, kudos to HN’s title algorithm; it gave my article a punchier title. AI, right? :D

I Use AI 9 months ago

OP here: I thought it might be interesting to document how I (a random engineer) have been using AI day-to-day. I tried to ground everything with real examples, so you can judge for yourself :)

I started writing this the day before TikTok shutdown, but I kept dwelling on it for months. How much should we archive? Why?

The end result is TikTok will always be temporary. I hope you enjoy!

I updated my terminals to play a quiet sound when they finish long-running commands, and it's saved me many hours of wasted time.

I think modern software is missing a large opportunity to use unintrusive sound in "eyes-free" scenarios---to help us get back on track.

What a timely article! I've been thinking about writing something similar for a bit.

I was doom-and-gloomy about how programming is more complicated now, but then friends pointed out a bunch of things to me:

* Arduinos & ESP32s (<$5): program in a simple app, flash over USB, & you're programming bare metal. ESP32s have Wi-Fi & Bluetooth

* Raspberry Pi ($30-$80): program on a real, self-contained Linux OS. If you trash it, just reset the SD card. GPIO, Bluetooth, Wi-Fi.

* Web (free): like theoa points out, you can make apps that work on any modern computer/phone in a single file with no compilation & instant output (and share it on GitHub Pages).

* Go & Rust (free): 2 easy-to-build-and-install languages, & Rust feels "C enough" to sate anyone who wants to learn "low-level" programming.

* Pico8 ($15): fake 8-bit console w/ dev tools. [Celeste](https://maddymakesgamesinc.itch.io/celesteclassic) was first written for Pico8.

* Unreal Engine/[Unreal Editor for Fortnite](https://www.unrealengine.com/en-US/uses/uefn-unreal-editor-f... (free): make games using the same engines everyone else uses

* Roblox? (free???): make & share games with your friends

IMO, the hardest things in 2024 (hah) are native app development & "modern" web development/anything that includes a login.

I don't have enough context for your points about learning without adult supervision, but I know that all of these options are very well documented; I bet No Starch has some good books for each?

Thoughts?

I did that yesterday with a project: I took a Rust package that compiled a C project, then had the Rust project generate a C-compatible DLL that I could consume in dotnet.

It was so much easier (for me; I am bad at build systems) that I plan to do that for future projects.

There’s just something about `cargo run`…

There’s actually published evidence of exactly that!

Where Do Security Policies Come From found that the websites with the most aggressive policies were those with the least incentive to make the system easy-to-use. Big sites like Facebook and Paypal somehow manage to be safe without the strict password requirements of <random university intranet here>. Likely because they have financial incentive to make their systems easy-to-use.

https://www.microsoft.com/en-us/research/wp-content/uploads/...

(Disclaimer: I know one of the authors)

What would be a good, more academic overview of computing history? Do you have any specific book recommendations? I'd love to read a more "citation-based" version.

I'm not chaxor, but as far as I remember I think you're right:

If I had unzipped all the takeout directories into one giant folder, there'd be no conflicts.

Since I didn't do that, I had to do weird multi-pass parsing, since an album could be split across multiple ZIPs. I get a bit neurotic around backups like this, so I'd have loved some sort of virtualized filesystem that non-destructively represented all of those zips "merged together." But in retrospect, I should have just merged the directories into one folder---would have made parsing easier :)

I don't recall substantial problems with duplicates. Just weird renames and EXIF data mismatches. And since I was trying to archive my data, I definitely didn't want similar photos to be deduplicated.

My problems are probably different than chaxor's, though.

I would be extremely interested in a Google Takeout viewer if you ever end up releasing one.

I dealt with Google Takeout, trying to export my photos to Apple Photos (when Google was planning to charge money for old Google Workspace accounts), and I found it extremely difficult to deal with the file format. The script I wrote (https://github.com/citelao/google_photos_takeout_to_apple_ph...) ended up being decently reliable, but there were a ton of weird mismatches between the EXIF data in Google Photos metadata and the EXIF data in the photos themselves. Although some of that wonkiness was Apple Photos, not Google.

I'd love to see software that could wrangle the mess :)

I haven't used it, but the team (person?) that makes Buckets (https://www.budgetwithbuckets.com) makes SimpleFIN (https://www.simplefin.org), which seems like it exposes exactly what you want: simple transaction data from arbitrary banks.

Plaid offers transactions APIs (https://plaid.com/products/transactions/), but I guess to your point these APIs are geared towards fintech companies, not personal use.

EDIT: I don't know how well it works in general, though. You'd have to test it yourself.

I should apologize off-the-bat for not digging in too deeply, but how does this handle keyboard and screenreader accessibility?

W3C has some in-depth list of expected keyboard interactions, though I'm not sure how complete they are:

https://w3c.github.io/aria-practices/#TreeView

https://w3c.github.io/aria-practices/examples/treeview/treev...

I ask because I've tried to implement a [TreeGrid](https://w3c.github.io/aria-practices/#treegrid) myself before and... it's a lot of work. I'd love an accessible, keyboard-friendly React tree :).

This was my response when cookie labels started to pop up. But now general attitude has changed towards cookies because of them (at least among my non-tech friends)!

I had this moment where I realized I was dismissing a bad thing (cookie advertising tracking) just because it was pervasive.

I think labels like this have a real power to change industry norms.

I upvoted both this and the parent.

Without much experience in the industry, I would say that both perspectives are important:

The person most invested in your success is you, so leverage that and promote yourself.

But you absolutely deserve management and teammates who celebrate your accomplishments and help you get rewarded for them.

Discrimination and prejudice also affect this—it’s probably hard to advocate for yourself if your management just doesn’t believe you’re capable for some reason—but I’ve generally found solace in the synthesis of both attitudes.

Fight for yourself, but find people who fight with you. Maybe put it like this: if you yourself were a people manager, wouldn’t you want to advocate for your reports?

What do you mean by getting people to implicitly commit to finish the conversation?

Do you just ask them explicitly to spend the time with you? I’m confused by the word “implicit.”

Intuitively that seems a great way to reach a productive point of the conversation, since it forces both of you to seek resolution so that you can go do your laundry after.