Hacker Newsnew | past | comments | ask | show | jobs | submit | jason_oster's commentslogin

When was the last time you watched Idiocracy?

Every team has incompetence at some level. If every team was perfect, there would be no more work left to do, because they would always get the right product built correctly the first time. No bug fix releases, no feature refreshes, no version 2.

Beware, your ego may steer you astray.


been hacking 31 years with the same ego but you never know. and if I learned anything in these years is to get out the heck out of any place that treats people not by their skills but by how long ago their Mom gave them birth

I have wasted too much time wishing I could find the motivation to work on coding projects. And there are times that I was able to force myself to just get started. Spin up the flywheel and let momentum carry me.

But I'm talking about a consistent problem for more than 25 years. AI agents didn't do this to me. At least in my anecdotal case, this isn't atrophy. It's just the way it has always been. Now I actually have much less friction in getting a project going. I can just type a few of my thoughts at an agent and away it goes. The momentum is almost free, now.


Writing better, safer software is more of a cultural problem than a language problem. Languages can only do so much.

Neither of these are available on Apple TV. Otherwise, you make a good suggestion; install them where available.


At least for SponsorBlock you can run iSponsorBlockTV[1] on another computer on the same network - in addition to skipping sponsored segments, it also mutes YouTube’s own ads and auto-skips them as soon as it can.

[1] https://github.com/dmunozv04/iSponsorBlockTV


I've been using this for a while. It's certainly better than nothing, but there are limitations. Most notably for me, automatic muting doesn't work when HomePods are the default output[1]

[1] https://github.com/dmunozv04/iSponsorBlockTV/issues/60#issue...


Thanks, it looks like a helpful workaround for now. Hoping someday SponsorBlock can be ported to tvOS.


It’s pretty good, I run this on my little server.


Optimize for your users above all else. Yes, even above developer experience. If that means optimize for performance, you optimize for performance.

The only thing that matters is what your users feel when using your product. Everything else is a waste of time. OOP, FP, language choice, it's all just fluff.


I think this is a wonderful philosophy, but many times the actually more important thing is "optimize for the client's budget"


Sometimes the client just can't afford your services. There is nothing wrong with that. :)


I am grateful for grocery and food delivery services so that I do not have to brave the grocery store.

It gets worse. I haven't left my apartment in a few weeks. The last time I went out into the world is because I had to appear in court for jury duty. (Yes, it sucked. No, I didn't want to ask for a hardship.)

People experience things in a wide variety of ways. Things that most people believe are trivial can be an anxiety trigger for others.

And for what it's worth, I am not put off or patronized by "Brave the grocery store." That's an accurate description of what I feel every time I have to go to the pharmacy.


> You just cobble something together to sell. It need not be any good. As long as you can fool people into buying it, you can always try to make better versions later.

> So then you get these version numbers, even with decimals: version 2.6 or 2.7. That nonsense. While version 1 should have been the finished product.

E.W. Dijkstra

Translated from the original Dutch [1] [2].

Dijkstra was convinced that programming was a formal application of mathematics. If the program has a bug, the math is wrong. If the program is missing a feature, the math is incomplete.

Personally, I feel that building software like a bridge is the better path. You don't want the bridge patched with new supports and "stability improvements" every time another fatal design flaw is discovered any more than you want to update your OS and system libraries every time a new CVE is announced. These scenarios are both disruptive and costly. But somehow, we have been collectively tricked into accepting it as an unchangeable fact of software.

The advantage of software is that I can "replace the whole bridge" with a completely different design if I wish. Not merely patching an existing bridge in place, with whatever poor aesthetics and integrity problems that leaves behind.

[1] https://www.cs.utexas.edu/~EWD/video-audio/NoorderlichtVideo...

[2] https://youtu.be/-Uae9_pgZzE?si=twwh7k7cPKRB2gvJ&t=50


Small correction: The Arc is for sharing across threads, the Mutex is for mutation. But you are generally correct that they can be used independently.


Of course. But if you’re using a channel then it hides the inner constructs.

Comparing writing a web service in Go and rust you would likely also utilize Tokio which has a wide variety of well designed sync primitives.

https://docs.rs/tokio/latest/tokio/sync/index.html


The copyright notice in the footer has the year range 2001-2014. Presumably the timespan that the essay went through various edits.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: