HNHacker News
TopNewBestAskShowJobs

schmichael

4,656 karma · joined January 6, 2010

  Live:    Portland, OR
  Work:    ▲ | ex-HashiCorp Nomad Eng Lead
schmichael most places on the internet, hmu
submissionscomments
schmichael··on Marc Benioff: I no longer believe National Guard is needed for SF
> Benioff said he “avidly supported President Trump”

http://timesofindia.indiatimes.com/articleshow/124475145.cms

schmichael··on Two things LLM coding agents are still bad at
The snippet included in the search result does not include or highlight the relevant fact. I feel like you’re not willing to take simple actions to confirm your assertions.
schmichael··on Two things LLM coding agents are still bad at
I do, and so does Google. When I googled "When was John Howard elected?" the correct answer came back faster in the AI Overview than I could find the answer in the results. The source the AI Overview links even provides confirmation of the correct answer.
schmichael··on Cancellations in async Rust
I'm a Go developer and this was still useful for me! Obviously Rust devs are more accustomed to more assistance from their tools than Go devs, but just about every gotcha listed is something that can happen in Go with goroutines, channels, select, and other shared concurrency primitives.
schmichael··on Less is safer: Reducing the risk of supply chain attacks
Sadly capabilities are older than emacs. I’d welcome advancements here but their practical utility is clearly not a foregone conclusion.
schmichael··on Less is safer: Reducing the risk of supply chain attacks
vim and emacs are over 30 years old and therefore living with an architecture created when most code was trusted. Encrypting network protocols was extremely rare, much less disks or secrets. I don't think anything about the security posture of vim and emacs should be emulated by modern software.

I would say VSCode has no excuse. It's based on a browser which does have capabilities to limit extensions. Huge miss on their part, and one that I wish drew more ire.

schmichael··on Less is safer: Reducing the risk of supply chain attacks
One of the large dependencies they call out is an excellent example: pdf.js.

There is no reason for pdf.js to ever access anything other than the files you wish to export. The Export to PDF process could spawn a containerized subprocess with 0 filesystem or network access and constrained cpu and memory limits. Files could sent to the Export process over stdin, and the resulting PDF could be streamed back over stdout with stderr used for logging.

There are lots of plugin systems that work this way. I wish it were commodofied and universally available. AFAIK there's very little cross-platform tooling to help you solve this problem easily, and that's a pity.

schmichael··on Less is safer: Reducing the risk of supply chain attacks
The Simpsons Springfield Nuclear Plant Security scene in real life.

https://www.youtube.com/watch?v=eU2Or5rCN_Y

schmichael··on Shipping 100 hardware units in under eight weeks
People with motor disabilities seems like a great use case! Cooking and watching TV are two activities that benefit from voice control (due to dirty hands and remotes going missing). Nursing mothers often literally have their hands full.

Lots of folks in safety critical situations rely on multitasking and voice commands: law enforcement, firefighters, pilots, heavy equipment operators, armed forces, etc. Many of them are in situations in which not multitasking isn't an option and receive special training to minimize risks. That being said now you're entering heavily regulated industries where the stakes couldn't be higher... not exactly an easy place for LLMs and startups to play.

On the other end of the spectrum there is a tried and true industry for tech innovations where the stakes couldn't be lower: adult entertainment. There's millions of adults wishing they could operate screens without needing a hand free. Might not be as glamorous as helping firefighters and people with motor disabilities, but we all need to make a living.

Best wishes!

schmichael··on Shipping 100 hardware units in under eight weeks
Please stop multitasking while driving.

The tech seems neat and all but please stop multitasking while driving, encouraging others to multitask while driving, and building products specifically designed to encourage multitasking while driving.

If you want to work while you're in transit: take public transit.

schmichael··on One person was able to claim 20M IPs
> So there’s really nothing meaningful here.

If it’s not meaningful it should be trivial to beat right? ;)

This seems like a super fun game to find the upper bound on IPv4 addresses someone can open a socket from!

schmichael··on We rewrote the Ghostty GTK application
Hey Mitchell! Leave it to me to bait the comments. :)

Thanks for validating my assumption that once you introduce a big blob o' C all bets are off and you're back to Valgrind (or similar tooling).

> One argument is that the richer, more proven ecosystem of wrapper libraries may have prevented it

Yeah but where's the fun in that? ;)

schmichael··on We rewrote the Ghostty GTK application
Indeed, but I'm curious about the second class of memory correctness issue he mentions:

> 2. All other memory issues revolved around C API boundaries.

Is this something Rust, or any other language, has the ability to prevent any more than any other language? Or once you introduce a C API boundary is it back to tools like Valgrind?

schmichael··on We rewrote the Ghostty GTK application
I'm curious if Rust would have prevented the memory correctness errors assuming it replaced Zig in this scenario. It sounds like the vast majority were due to Zig/C interactions which makes me believe Rust would have had the same issues, but as a Go developer I am only guessing. I'm curious if there is a language that provides more tools to ensure correctness even when you're interacting with a huge amount of C.
schmichael··on Tell HN: Beware confidentiality agreements that act as lifetime non competes
Oregon at least makes it 50% IIRC. Anything less than 100% seems useless though. Usually when taking a new job in the same industry you expect a pay bump, so even a 100% rate is likely leaving money on the table.
schmichael··on A bit more on Twitter/X's new encrypted messaging
Pushing a malicious app update creates an inspectable artifact. Researchers can discover exactly when it happened and therefore who is vulnerable and which messages.

This is a much much much better situation than handing someone your keys and letting them MITM you at any time with no hope of knowing.

schmichael··on AI Angst
> Writing forces you

I agree entirely with you except for the word "forces." Writing can cause synthesis. It should. It should be graded to encourage that...

...but all of that is a whole lot of work for everyone involved: student and teacher alike.

And that kind of synthesis is in no way unique to essays! All of the other mediums I mention can make synthesis more readily apparent then paragraphs of (often very low quality) prose. A clever meme lampooning the "mere merchant" status of the Medici family could demonstrate a level of understanding that would take paragraphs of prose to convey.

schmichael··on AI Angst
> I really don’t think there’s a coherent pro-genAI case to be made in the education context.

I think it’s simple: the reign of the essay is over. Educators must find a new way to judge a student’s understanding.

Presentations, artwork, in class writing, media, discussions and debates, skits, even good old fashioned quizzes all still work fine for getting students to demonstrate understanding.

As the son of two teachers I remember my parents spending hours in the evenings grading essays. While writing is a critical skill, and essays contain a good bit of information, I’m not sure education wasn’t overindexing on them already. They’re easy to assign and grade, but there’s so much toil on both ends unrelated to the core subject matter.

schmichael··on I used AI-powered calorie counting apps, and they were even worse than expected
My unprofessional nutritional advice is: do what works for you! So if that’s calorie counting: great! No need to give it a second thought.

But if you are interested in critiques, a fair summary might be: calorie counting is at best extremely imprecise, both on how we measure the calories in food and how we estimate energy expenditure by activities. A little googling should lead to numerous discussions. I really enjoy the podcast maintenance phase, and even if you don’t want to listen to the episode they helpfully include tons of links: https://maintenancephase.buzzsprout.com/1411126/episodes/106...

schmichael··on Space Selfie
Same! Mark Rober is what changed my mind about YouTube for kids. He's a wildly popular creator that's even shilling a product and yet... I'm ok with all of it? He seems to very legitimately care about sharing getting kids excited about STEM, and if he gets rich doing it: great! The product is less offensive than the sugary cereal I watched commercials for while watching Saturday morning cartoons as a kid. Definitely one of the few YouTube channels I let my kids watch unattended.
schmichael··on Will the AI backlash spill into the streets?
[Citation needed]
schmichael··on Show HN: Undetectag, track stolen items with AirTag
The concert/bar example allows stalking without knowing someone’s name.
schmichael··on Show HN: Undetectag, track stolen items with AirTag
That’s perfect for finding out where someone lives. Drop it in their bag or jacket at a concert/bar/work/whatever-in-the-evening, and the place they’re likely at in 4 hours is their home.

Not trying to be creepy, I’m just trying to demonstrate how we all need to think like adversaries (eg creeps) when designing products.

schmichael··on Rust’s dependencies are starting to worry me
A great point! All of the libraries I mentioned are created and maintained by corporations. Hobbyists, as always, are free to do as they please without judgement from me. :)

I will say I get great satisfaction from the little envparse library I wrote needing near-0 maintenance. It’s a rare treat to be able to consider any project truly done.

schmichael··on Rust’s dependencies are starting to worry me
We need a term like “Mature” or similar for dependencies that are done. Mature dependencies have two characteristics:

1. Well defined scope

2. Infrequent changes

Nomad has many of these (msgpack, envparse, cli, etc). These dependencies go years without changing so the dependency management burden rapidly approaches zero. This is an especially useful property for “leaf” dependencies with no dependencies of their own.

I wish libraries could advertise their intent to be Mature. I’d choose a Mature protobuf library over one that constantly tweaked its ergonomics and performance. Continual iterative improvement is often a boon, but sometimes it’s not worth the cost.

schmichael··on Cursor IDE support hallucinates lockout policy, causes user cancellations
> You're not supposed to trust the tool

This is just an incredible statement. I can't think of another development tool we'd say this about. I'm not saying you're wrong, or that it's wrong to have tools we can't just, just... wow... what a sea change.

schmichael··on HyperShell X Outdoor PowerSuit Exoskeleton
I need glasses to see and still find sight invigorating.

I love cycling. Even without electric assist I find using mechanical advantage invigorating.

No one is forcing an exoskeleton or ebike on you. Why can’t you be happy for the people whose mobility it improves? What have you lost by their gain?

schmichael··on HyperShell X Outdoor PowerSuit Exoskeleton
I don't think you have to be paraplegic to have a condition that prevents you from enjoying an invigorating hike. If this gets more people who aren't in perfect health out and exercising, what an incredible win.
schmichael··on British tourist detained by US authorities for 10 days over visa issue
Lots of HN are not US Citizens who frequently visit the US for work, school, and/or vacation.
schmichael··on IBM completes acquisition of HashiCorp
Thanks for supporting us!
← PreviousPage 3 of 23Next →