MurphyA/hacker-news huggingface dataset:
by josephg | 2025-11-29 21:18:44+00:00
I’m not really sure how checks like this can rival rust. Rust does an awful lot of checks at compile time - sometimes even to the point of forcing the developer to restructure their code or add special annotations just to help the compiler prove safety. You can’t trivially reproduce those all those guardrails at runtime. Certainly not without a large performance hit. Even debug mode stdc++ - with all checks enabled - still doesn’t protect against many bugs the rust compiler can find and prevent.

I’m all for C++ making these changes. For a lot of people, adding a bit of safety to the language they’re going to use anyway is a big win. But in general guarding against threading bugs, or use after free, or a lot of more obscure memory issues requires either expensive GC like runtime checks (Fil-C has 0.5x-4x performance overhead and a large memory overhead). Or compile time checks. And C++ will never get rust’s extensive compile time checks.
by phendrenad2 | 2025-11-29 21:18:48+00:00
If a viable Office 365 alternative appears, it won't be a big top-down bureaucratic initiative from the government, or even the universities. It'll be a nimble EU-based startup company building a full office suite and making it available not just to government organizations via a "contact sales" link (you hear that, NextCloud and OpenDesk?), but via one-click deploy to AWS EU region, docker/k8s, and whatever EU-based cloud hosts exist, so you and your friends can test it out at home.

(If the EU never figures out how to allow nimble startups companies to exist, then forget about it)
by bravura | 2025-11-29 21:19:21+00:00
Agreed, to me they are very different takes on what is a punk attitude.

Palahniuk: Underneath the veneer of the banal, you will discover everything is rotten and sycophantic but somehow tender and relatable.

Bourdain: Underneath the veneer of the banal, you will discover an honest struggle for something far more respectable than what is typically venerated. Eat their food, dance to their music, and you will enjoy.
by trollbridge | 2025-11-29 21:20:22+00:00
That's exactly what I was thinking of. Cogeneration plant goes up right next to datacentre, and then various municipal services are built near that - including other factories, high density commercial and high density residential that can take advantage of cogeneration and use district heat. In particular commercial and industrial uses actually do need heat in the summer.

In some areas, natural-gas fired cogeneration only is really necessary in the winter during dark months/cold weather - which is an ideal situation to be producing district heat.
by prewett | 2025-11-29 21:20:47+00:00
I'm think that ObjC's dynamic dispatch is reasonably fast. I remember reading something about being able to do millions of dynamic dispatch calls per second (so less 1 us per) a long time ago (2018-ish?), but I can't think how to find it. The best I could come up with is [1], which benchmarks it as 2.8 times faster than a Python call, and something like 20% slower than Swift's static calling. In the Aqua time-frame I think that it would not have been slow enough to need animations to cover for it.

[1] https://forums.swift.org/t/performance-of-swift/26911
by mentalgear | 2025-11-29 21:21:06+00:00
Mostly Tauri claimed their main advantage was smaller app sizes since it's using the native WebView. What they didn't say is how a bottomless pit it is to try standardizing rendering on X different webviews, multiplied by X different webview versions (outdated, not updated systems) ; so now they have pivoted to shipping their own build-in browser ; Competition in open-space is okay but it shouldn't be made by only pushing its perceived advantages while withholding the systemic disadvantages.
by rantallion | 2025-11-29 21:21:51+00:00
> Let's say I have a religion that, as part of practicing it, restricts my diet. > If I try to make you - a non-practitioner - eat that diet, then your reply makes sense. It's a personal matter; I don't get to force it on you or anyone else.

In the UK, it's becoming increasingly difficult to find restaurants whose meat is not halal. One could argue that a religious diet is in fact being forced upon those who do not practise Islam.
by godelski | 2025-11-29 21:21:52+00:00
I think bosses are like cats, when training them you have to make it think it is their idea. As I said in a sister comment the best way to do this is to not say the word "no" but to ask clarifying questions[0] so that all the puzzle pieces get placed on the table. Together you can assemble most of the puzzle, taking the lead but not lecturing them. But the final pieces have to be put together by them. Management is egotistical and if you just tell them then they get upset.

Your loyalty should be to the company, not the person. So by just "falling in line" you are failing the company.

Remember, if the project fails (and it will fail if it is impossible) people get fired anyways. Sure, getting fired later is better than sooner but it is still gonna happen.

[0] In your exact case, find out what they are actually after. Sounds like it might be a budgeting problem and they only know how to pull a few levers. They're business people, not technical people and they're working in a world that is highly technical. They're really a fish out of water and they don't know it[1]. It might be greed or panic too, which are harder to deal with and in those cases yeah, you should start looking for new work.

[1] I'm not saying a techie as a CEO or in a management position wouldn't be a fish out of water either. That'd be similarly as naive. But a well functioning workplace has to understand that these are different skillsets and we have to intermingle. You can't know everything so we have to work together to leverage our niche expertise.
by avidiax | 2025-11-29 21:21:54+00:00
Sounds like some meta-feedback that should be delivered to her. Of course, this kind of person has lots of ways to deflect, so they have to actually genuinely believe in open feedback as a value, and be willing to understand how they are falling short of living up to that value.

In the worst case, they only want to present as open to feedback, while they are using that feedback to build the list of detractors who will be laid off, not promoted, etc. And this kind of personal feedback can really trigger this sort of person.
by bewal416 | 2025-11-29 21:22:00+00:00
Okay- just spent the whole day tinkering wit this:

1) I create a baseline set of views I want my customers to have 2) For each new customer, I’ll run a script that create a replica of those views- filtered by their customer ID 3) I’ll allow my customers to write pure SQL- limiting them to only SELECT queries and a couple niche business rules, as well as masking any DB-level errors, because that just feels wrong

How does that approach sound?
by tomhow | 2025-11-29 21:22:25+00:00
Please don't sneer, including at the rest of the community. - https://news.ycombinator.com/newsguidelines.html

Comments in Show HN threads are generally curious and supportive. Yes, there are notable exceptions.

We detached this comment from https://news.ycombinator.com/item?id=46081918 and marked it off topic.
by trollbridge | 2025-11-29 21:22:33+00:00
Slight nitpick: this isn't "natively booting" System 7, nor is any other PowerPC Mac. This is simply an emulator, no different than using vMac, qemu, etc. - it just happens to be an emulator that Apple has been shipping with PowerPC Macs since it introduced the Power Mac 6100, which "natively" booted System 7.1.2.

Nonetheless, this is an impressive accomplishment.
by netfortius | 2025-11-29 21:22:40+00:00
Creating and using tons of python scripts under Homebrew, I had to learn by heart:

$ python3 -m venv .venv # Create a virtual environment

$ source .venv/bin/activate # Activate the virtual environment

(.venv) pip install <whatever you need> # Install stuff within the virtual environment

...

(.venv) deactivate

$ [sudo] rm -fR .venv
by trollbridge | 2025-11-29 21:23:18+00:00
Seems more of a curiousity than something practical - in particular, the System 7 "native" on the Mac mini G4 is missing a lot of drivers. There aren't that many situations where software runs well on System 7 tha doesn't on Mac OS 9.2.2, and for the rare case that it does, emulation in something like vMac is sufficient.
by degamad | 2025-11-29 21:23:20+00:00
Yep - I'm just not sure if any of those proofs implicitly assume Pythagoras, and haven't thought through them properly.

I was initially going to say we know that det R = 1 by using the trigonometric identity cos²x+sin²x=1, but then found out that all the proofs of it seem to assume Pythagoras, and in fact, the identity is called the Pythagorean trigonometric identity.
by throwaway643384 | 2025-11-29 21:24:20+00:00
The “one that works out” can also give you a misrepresentation of how the world works and a false sense of how lucky one should expect to be over a long period of time.

At an earlier point in my life, I had been applying to many well-known big tech companies right out of school (not a top school either). I never got a reply from any of them so I ended up accepting a local job with a non-tech company after months of searching.

But I didn’t give up my hopes and kept applying to big tech, and while I did manage to get the occasional interview with some mediocre companies or the random startup, I also miserably failed all of them too.

At some point during my long period of despair at never getting a better job, my very top pick (and arguably one of the best tech companies in the world at the time) reached out to me. Even more miraculously, I somehow passed their interview (the only tech interview I passed in the prior year) and accepted a job there.

I really enjoyed working there. Some of the best years of my life. And my performance reviews were great too, so the imposter syndrome from having failed so many tech job interviews sort of faded into the background. But after a while, perhaps due to the “hedonic treadmill” mentality, I thought I could do better. So I left to join a startup.

Well, the startup failed, as startups tend to do, but what I didn’t expect and what caught me off guard was that I was now back in the same situation I was in right after graduating from college. Don’t get me wrong—having “the name” on my resume now meant I could get at least one chance at an interview about anywhere. But much like the first round that I tried to forget about, I once again failed all the interviews.

Unfortunately, this second time around never procured a “get out of jail free” card.

So I guess my lesson is: 1) there’s a lot of luck involved in these things, 2) if life gives you a winning lottery ticket at some point, don’t throw it away for the chance to win an even bigger lottery, and 3) that famous saying about “the only actions regretted are those not taken” is absolutely, totally wrong—almost all of my regrets in life relate to taking some action I shouldn’t have rather than inaction.
by godelski | 2025-11-29 21:24:43+00:00
The GP has been homeless and lived off of discarded food.

You're right that saying "no" is a privilege. But also there's nothing as empowering as knowing that it's not going to be as bad as it was before.

Stop making assumptions about me and start trying to communicate with me. We can't talk if you want me to be wrong and just reinforce your position.

And sorry, I'm not as good as doing the cat wrangling in social settings as I am in technical ones. It's a different set of tools to work with and much harder to do in an online setting.
by WCSTombs | 2025-11-29 21:24:51+00:00
To be fair, I'm constrained by plain text on Hacker News. The argument I wrote down requires a diagram to be fully understood, so I described it in words expecting the reader to draw it themselves, or at least mentally visualize it (for those used to doing it).

To be clear though, as far as I know every proof of the Pythagorean Theorem requires some sort of diagram, and the one I gave requires literally the least amount of drawing out of all the proofs (which is a bold claim, but call it a conjecture). That's why I felt comfortable writing out the proof just in words.
by fpoling | 2025-11-29 21:26:03+00:00
A modern small and medium-sized car in Europe consumes like 4-6 liters/100 km. Even if one drives 15 thousands km/year (way above average) that gives like 900 liters of gasoline per year or like 1500-1700 euros with typical European prices.

And electricity is not free especially when using fast chargers. So at the end the savings is about 500-1000 euros per year. Which still is a good deal, but explains why people prefer to buy small gasoline cars. I think electric car premium must be below 2 thousand euros plus infrastructure must improve before gasoline car sales in Europe start to collapse.
by woodruffw | 2025-11-29 21:26:55+00:00
This is a great writeup, kudos for the PostHog folks.

Curious: would you be able to make your original exploitable workflow available for analysis? You note that a static analysis tool flagged it as potentially exploitable, but that the finding was suppressed under the belief that it was a false positive. I'm curious if there are additional indicators the tool could have detected that would have reduced the likelihood of premature suppression here.

(I tried to search for it, but couldn't immediately find it. I might be looking in the wrong repository, though.)
by icedchai | 2025-11-29 21:26:58+00:00
I worked at a company that was delivering a client-side app in Java launched from IE. I think we had an ActiveX plugin as the "launcher." This predated "Java Web Start." It was hysterically bad. We were targeting 32 meg Win 98 systems and they were comically slow and unstable. Most of our developers had 64 and 128 meg boxes with NT 4.0. I mostly worked on the server side stuff, and used them as a terminal into the Solaris and Linux systems.
by Nextgrid | 2025-11-29 21:27:28+00:00
Here we go, someone's throwing around the S word again. Based on my experience, every time someone mentions "scalability" in a web application context I smell red flags.

Now we don't have details on what the comments service in Reddit entails - maybe it does indeed do a lot of CPU-intensive processing, in which case moving to Golang will definitely help.

But maybe it's also just a trivial "read from DB, spit out JSON", in which case the bottleneck will always be the DB, and "scalability" is just an excuse to justify the work.

The fact this is part of a move off a "legacy" system to "modern" "microservices" suggests there's a huge amount of developers having fun and are incentivized to justify continuing getting paid to have fun replacing a perfectly functioning system, rather than an actual hard blocker to scalability that can't be solved in a simpler way like by throwing more hardware at it.
by skanaley | 2025-11-29 21:27:52+00:00
I don't have the creds to give a definitive answer, but I like C structs, JS dicts, Java object access, Haskell lenses, etc -- any kind of dot syntax.

Default Racket: (potato-skin-color apotato)

JS: apotato.skinColor

The extra potato upsets me. Some libraries exist to address this but I believe they all have caveats.

With copying or mutation, it's even worse:

Racket copy: (struct-copy potato apotato [skin-color 'brown])

Racket mutate: (set-potato-skin-color! apotato 'brown)

JS copy: { ...apotato, skinColor: 'brown' }

JS mutate: apotato.skinColor = 'brown'

None of this really ruins the language for me, considering pros vs cons as a whole, but sometimes I'm slowed down in that by the time I finish mentally spelling out and typing the struct accessing I half forget the context I was in, and in general I'm sensitive to "eye bleed". Sometimes Racket looks like:

(define define match-define define define-values define begin cond define define)

when the real meat of the algorithm is more like:

cond

...and where Haskell's "where"s, "|"s, and "="s shine.

I'm sure I've over-answered your question but it's the holidays and I'm bored :)

edit: Since Racket uses dot already, it would probably have to be a different character, or the other way around.
by zingar | 2025-11-29 21:28:15+00:00
There’s another side to this I see - and have been guilty of committing - where “it took so long because I found some code that felt wrong and while trying to fix that I found something else that felt wrong and while trying to fix that…” at some point you just have to settle for making one thing better and then getting the job done while leaving some other ugliness still in place.

The complaints in this thread seem to ignore cases like that and I’m not getting the sense that it’s because everyone is spectacular at avoiding rabbit holes.
by machomaster | 2025-11-29 21:28:26+00:00
Sometimes blocking the process is the best way to do. Blocking gives leverage and allows to fix long-standing inbalances.

Imagine that you have been slaving for low salary with abusive boss, who constantly promises but never delivers. If shit hit the fan and you are desperately needed, this is the perfect time to talk and solidify improvements. Game does not run on gratitude.

The same rule unfortunately also applies to relationships.
by flunhat | 2025-11-29 21:28:30+00:00
Curious, I pressed "X" on the blog post. It went away, leaving me with the fake desktop view at "posthog.com". Ok, fine. How do I get back?

I pressed the back button on my browser. The URL updated to be the blog post's URL. A good start. But the UI did not change, leaving me at the desktop view.

Many moments like these if you use Posthog
by TeMPOraL | 2025-11-29 21:28:42+00:00
Bait & switch, though.

“All it takes is for one to work out.” is not the same as "You just need the one [job] that’s the right fit." or "You just need the one [house] that feels like home." or "You just need the one [life partner]."

Author's examples are, spiritually, the opposite of their friend's advice - in fact, "all it takes is for one to work out" is something often said to people who lost hope because they got lost being too picky.
by josephg | 2025-11-29 21:28:56+00:00
Sure they are. Eg, 911 call centers. Flight control. These systems aren’t on the open internet, but they’re absolutely networked. Do they apply regular security patches? If they do, they open themselves up to new bugs. If not, there are known security vulnerabilities just waiting for someone to use to slip into their network and exploit.

And what makes you think buggy software only causes problems when hackers get in? Memory bugs cause memory corruption and crashes. I don’t want my pacemaker running somebody’s cowboy C++, even if the device is never connected to the internet.
by fluoridation | 2025-11-29 21:29:08+00:00
I really think those are bad examples. I don't see how someone making what you consider to be an unreasonable request can make one feel dehumanized. Insulted or demeaned? Maybe, sure. But dehumanized? What does that say about your opinion of people who do do coffee runs or who like to work in offices? Nevertheless, I'll roll with it.

I would say it comes down to common practices. Commonly, engineers don't do coffee runs. Commonly, office jobs have always been done in an office, and this status quo has only changed fairly recently (let's say in the last 20 years). History could have played out such that it became common practice for coffee run duty to cycle over everyone in the office, regardless of role, in which case asking you to do it would have been perfectly reasonable, and someone would be right to ask what makes you so special than you can't do something everyone else does. Likewise for remote work. Some places allow it, some don't, and some may transition from one to the other. Since this is known to be the case (no one will believe you if you try to feign ignorance on this), it is reasonable to require to come to the office, no matter how many years you've been doing remote work.

>having expectations change without my consent (e.g. being told after multiple years working remotely that I need to start going into an office or "voluntarily" leave).

When expectations change unilaterally, that usually calls for a renegotiation. The correct response to "we want you to start coming to the office every day" is "okay, then I want $x more every year to cover my additional expenses". Now, it could be that either or neither party is willing to negotiate on such terms, or even that they do negotiate but no consensus is reached, in which case you just have to dissolve the business relationship. What else can you do?
by flir | 2025-11-29 21:29:48+00:00
Makes sense, fair enough.

> as a starting point

Even you disagree with the author :) But yeah, a team with the power to change its own processes, rather than have Agile imposed on it, isn't a team that's cargo-culting an Agile Brand).

(Last couple of months I've been introduced to "retrospective story points"; we're supposed to fill in how many points the ticket actually took after we've done it. I haven't yet found the words to express how pointless I think this is).
by ralphc | 2025-11-29 21:30:29+00:00
I worked at a perfectly reasonable company that was acquired by Oracle. This was in the 2000s. We were working on a big Java project and were using ADF, the "Oracle Application Developer Framework". It was a piece of crap. One time I asked my manager why we were using it and he said that the project would probably fail and if we used something else the higher ups would blame it on not using ADF and fire him, so...
by digitalPhonix | 2025-11-29 21:30:47+00:00
Actually, thinking about this a bit more - saying that there's no "Nobody but us backdoor" to prove there's no backdoor is a poor argument.

As an example - if there's a weakness that affects 50% of keys (replace with whatever hypothetical number), NSA can make sure it doesn't use those affected keys but still retain the ability to decrypt 50% of everyone else's communications. And using the entropy analysis from this post, that would require 1 bit hidden in the parameters which is clearly within the entropy budget.
by throwaway150 | 2025-11-29 21:31:17+00:00
> instead try to denigrate the goals of this initiative because of the chosen character

Incorrect. Nobody is denigrating the goals of the initiative. All criticism I see is directed at the choice of the mascot only.

You know... people can love an initiative and criticize its mascot at the same time. The two are not incompatible.

> Clippy would have been evil but that's the point, it wasn't back then.

I was around when Clippy was introduced. It was universally hated. If anything, Clippy would be a good mascot for intrusive AI tools and services that harvest our data without regard for our privacy, not least because Clippy constantly monitored user actions just so that it could interrupt them.

If we want a mascot for tools that respect our data, it should definitely be something far less evil than Clippy.
by riazrizvi | 2025-11-29 21:31:33+00:00
Maybe consider that we are all calibrated to standards that are this hodgepodge of other people’s messaging of what standards should be, and they communicate them for a variety of reasons, very few of which are truly designed for your reality, your situation.

So when you say, ‘kinda sucks’, perhaps ask if the opinion is grounded in (your) reality?

Once recalibrated to accept that what we are in, is inescapable true life, then we stop looking for something better, and instead focus on the challenge of making it better than it should naturally be.

Happiness I believe, is a decision, we choose it when we feel it’s a sustainable perspective. I think it’s sustainable to allow ourselves to be happy, whenever we achieve marginal improvement on what is natural.