HNHacker News
TopNewBestAskShowJobs

scratcheee

394 karma · joined May 13, 2021

submissionscomments
scratcheee··on Show HN: Penumbra, a perceptually optimized color palette based on natural light
Feel free!
scratcheee··on MiniRust
I mean, I don't think they were claiming the rust way is the only possible form, but rather that any solution as expressive and safe as the rust method will be about as complicated, which doesn't seem to disagree all that much with what you are saying to be honest.

The interesting question is whether there exists some system fundamentally/significantly simpler than the rust approach which still gives you comparable freedom and safety (without excessive runtime overhead).

As far as I know that is unsolved and a matter for research, not some obvious solution that the rust team totally missed when designing their language.

If your goal is lower than total memory safety, then obviously you'll have more options, but when it comes to memory models, you have to be quite careful in where you allow violations, since they tend to infect everything quickly if you don't find exactly the right way to encapsulate them, so having a "half-safe" language often just means you have an unsafe language. Part of the reason unsafe rust is so painful is they're adding exactly that sort of hole in the memory model, and suddenly anyone exposed to it can't deal with the "simple" memory model of rust, they have to deal with all the gory details _creating_ that simple model. Any language adding larger holes than unsafe will need more people to be aware of the full complexity of modern compilation more of the time, which doesn't seem like a win. Rust's unsafe works because it's almost never used. If unsafe was half the codebase, rust would be a failed language.

Another solution is to absolutely refuse to take advantage of your safer memory model in the compiler - so minimal optimizations, just compile literally and throw barriers all over the code, then anyone using a downgraded model doesn't need to know the additional rules they would otherwise need to follow to interact with the full model. That sounds pretty awful though, probably more expensive than just using a garbage collector.

Is there a better solution? Sure, probably, but I don't think humanity has discovered it yet.

The real problem is pretty much any model that doesn't shoot for complete memory safety (or a unsafety that is strongly discouraged and well encapsulated) is going to end up containing all the complexity that comes from unsafety, rust justifies its complexity by all the complexity it also removed (undefined behaviour is basically not a thing in Rust), if you half the complexity compared to rust but retain half the undefined behaviour complexity of C++, I think you'll have just grafted the worst of both together. I'm unconvinced there's a sweet spot in the middle, more like a mountain of extreme complexity (ala rust unsafe) between 2 valleys of relative simplicity (C-like, rust-like).

scratcheee··on UK's largest tunnel cutting head lowered into its London shaft
Better yet if the old tunnel was turned into pedestrian/cycle.

Then you get proper bus options through the taller tunnel, and proper human-powered options with nobody to run them over, win win.

And I guess we're not replacing lorries/vans for a while yet, so they can use the big tunnel with the busses I guess.

And cars can go via the m25, no need for them in the city. Maybe multi-pasenger/disabled only (incentivises carpooling, helps families who need a cubic meter of junk per baby, and disabled people have genuine needs for their adapted vehicles).

But yeah, the harder cars are to use in cities, the better for everyone (even the drivers often enough, still takes them the same time, but now they're not trapped queuing in a fuming tunnel, instead they're dancing playfully through one-way puzzles... ok, maybe it's not much better for them, but not _much_ worse either).

scratcheee··on Show HN: Penumbra, a perceptually optimized color palette based on natural light
It's really "syntax classification by color" rather than highlighting. The goal is to make related parts of syntax the same color so the brain doesn't have to handle the classification itself (which it's bad at and will short circuit and get wrong sometimes, and take too long other times), sp the goal should usually be to just differentiate parts, not to emphasise/highlight parts (though emphasising code over comments is fairly justifiable, I admit).
scratcheee··on Hyundai rolls out 27 heavy-duty hydrogen trucks in Germany
You're right because internal combustion engines are so inefficient that more than 50% of energy is wasted before it can even contribute anything. But in terms of useful energy leaving the engine it's a different question.

Once you get to long-haul speeds, the energy cost is almost entirely split between air resistance and rolling resistance, but air resistance has the edge, (about 50%), rolling (30%), drivetrain (5%), and everything else (10%).

scratcheee··on Why intuitive troubleshooting has stopped working
Things may change when(if) our machines get smarter than us.

Currently we're constantly expanding the complexity of our systems, but since they don't understand their underlying purpose, they can't help us manage that complexity without drastically limiting their flexibility, there's no working around that.

But if they knew what they were doing, instead of "I need to reorganise this database stack to reduce overhead" we'll be giving simple commands like "please stop taking over the world" and letting the machines handle the complex details.

scratcheee··on Arguing from compassion (2021)
Agreed that patting someone on the head and telling them they're a good boy despite their nazi views isn't the right move, though that's pretty clearly a strawman of what's being suggested here.
scratcheee··on Arguing from compassion (2021)
To just convey ideas? Of course it's not necessary. To convince someone to change their world view? This is nowhere near _enough_, just a small start.

They were not talking about couching every fact or snippet taught in physics class getting couched in all this extra "sugarcoating". They were talking about the kind of conversations that almost never go well at all - they're trying to improve the odds of an interaction convincing someone to change their polarized viewpoint from 0.01% to 0.03%.

For that use-case, obviously there's value in exploring different techniques, given the typical technique (scream at them and then block them) doesn't work well at all at actually changing their mind.

scratcheee··on The world is awful, the world is much better, the world can be much better
>as a result of that, the world's population has been growing and growing

At first yes, but not recently, now the opposite is true, if anything. We haven't had exponential growth since the 60s and are currently headed towards a steady state population because of improved standards of living. Turns out health and properity leads to smaller families.

We do still have significant growth, but that is largely because we're filling out the older demographics in many countries, the birth rate is largely under control already, and once the current generations spread through we'll be in a stead state (around 11 billion). In fact, there's no way to _stop_ this growth now, short of killing or sterilising people, since the birthrate is already under control, we're just waiting for the last exponential generations to get old.

see https://www.youtube.com/watch?v=2LyzBoHo5EI

Long term, we probably should encourage (slightly) sub-2 children per family to let the total population shrink, but that will take a long time (unless something disasterous happens)

scratcheee··on Gamedevs not baking in monetization are “fucking idiots”, says Unity CEO
The way the psychology of gambling has entered the games industry has indeed produced more money, but at the same kind of costs that the gambling industry has always created.

I don't advocate for killing this new gaming industry, just as I don't advocate for killing the more traditional gambling industry, but both need much stricter supervision than most markets because they attack a weak point in human psychology, and taken too far, they harm humanity more than they generate value.

In the end any "distortion" of the market requires a strong justification, but I think the justifications used against the gambling industry have always been pretty compelling, and they appear to apply just as well to modern games industry techniques.

Another way to put it is that the "value to society" of modern games techniques contains a negative externality: damage to the players comparable to that of gambling addictions. You could solve it with the equivalent of a carbon tax, though defining the cost of different tactics feels impossible, so I'd argue that the traditional gambling restrictions are a better fit (illegal in many places, illegal for children, legal limits, requiring various warnings and protections to discourage extreme behaviours, high taxes, etc).

Many families play boardgames with their children at home. Fewer visit blackjack tables. I think theres a fair argument that these broadly match the different financial strategies in the games industry. How much of this behaviour is parental wisdom and how much is limited accessibility thanks to legal restrictions is a hard question to answer, but I have a suspicion that the world would be a worse place with unrestricted gambling. But kids _do_ sit at home opening lootboxes as their parents watch tv, I'm not sure if the effects are much different.

scratcheee··on The Preprocessor Iceberg Meme
The parent comment explained pretty well the advantages over __LINE__ imo.

Crafting macros is often black magic, but using them shouldn't be (if they're well crafted). Having an implicit rule in your macro that it cannot be used twice in the same line is surprising and potentially dangerous.

Another example is where you have a macro doing lots of work, if it needs to use a submacro multiple times that itself needs a unique identifier, then __LINE__ is no longer sufficient.

__UEXP_COUNTER__ is a little more difficult to imagine a use-case for, I'll admit (I can see it allows passing counters around, but I can't see why a parameter couldn't do the same).

Again, preprocessor macros are black magic, these additions seem a lot simpler to understand than `__VA_OPT__` (and its predecessor `##__VA_ARGS__`) or MSVCs awful stringify problems, as you brought up.

scratcheee··on Apple's claim is that it bans other browsers for security
>Most developers that release iOS software seem to be doing ok with those “unreasonable” rules.

Surely given survivorship bias that means very little though?

If you did a survey today of living people you'd discover a 0% death rate, clearly humans are immortal.

scratcheee··on Energy crunch concerns lead Japan’s government to call for reduced AC use
The only way to avoid all-eggs-in-one-basket is to convince everyone to have hybrid everything (ie a gas boiler _and_ a heat pump, and their own personal generator), which would be insanely expensive (note: having mixed infrastructure of electricity for devices and gas for heating is not the same thing, having a charged mobile phone is cold comfort is you can't heat or cook, and having heating doesn't help you economically if a brown out takes down your computer so you can't work), so if we're going to have only 1 method of doing each thing, making that 1 method be electricity means we at least get the flexibility of producing the power from a range of sources and changing that generation on the fly.

Electricity can be produced pretty efficiently from almost any sources. Whilst it has a lead time, that lead time is measured in years to build power generation, rather than decades in replacing peoples devices and the transportation infrastructure.

Alternatives are almost always much less flexible, and are a much bigger danger of getting caught out by a volatile market.

scratcheee··on Improved Process Isolation in Firefox 100
The isolated content processes shouldn't have access to the other processes memory. There might be shared memory regions, but it seems unlikely they'd store the keys to the kingdom in shared memory.
scratcheee··on I finally understand methane lifetimes
Yeah, and to simplify further, the atmosphere's got a fixed amount of methane-removing capability, and as we exceed this capability it can't absorb methane any faster, so the ratio of methane that gets absorbed starts dropping even though the amount being absorbed doesn't drop.

The reality is more complicated because the cut off is very blurry - absorbsion does still increase as methane increases, just not fast enough to keep up, and it falls further behind the more methane we put out.

scratcheee··on E Ink Gallery 3
I disagree, it is in fact a very polite and fair minded way to respond to claim you find dubious. If anything they were being more polite than later in the comment when they suggested the claimed results should be impossible (though that's still a reasonable claim to make if they beleive it to be true).

Rather than saying the equivalent to "I think this cannot be true", a request for citation merely means "I am interested in this claim and would like to know the source" (even if phrased more tersely). The content is more indicative of the intent than the phrasing, and requesting a citation is not an accusation at all, it is a request for a source for further research.

scratcheee··on Cryogenic CO2 could end rail delays caused by leaves on the line
liquid nitrogen would require better insulation at the least, since its much colder.

I suspect they're also taking advantage of the fact that dry ice is solid, so they're effectively sand-blasting the track (rather than merely pressure-washing it), but they're using sand that helpfully sublimates into the atmosphere without leaving residue (or poisoning anyone).

I imagine blasting sand or chemicals has the downside of leaving residue that can build up, meaning regular cleanup is required, and care required to use enough but not too much, with this you can spray as much as you can afford to buy/carry on the train and you don't have to worry about over-doing it.

Dry ice blasting is already a thing, so I guess they just realised it was a particularly promising technology for this application.

scratcheee··on London’s Lost Ringways
Rail lines have more than 10x the throughput though, so you need vastly less of them to do vastly more work.

A city with enough roads for 100% car usage is approaching not being a city anymore, just an unending suburban hellscape, but a city with barely any roads and more rail than it really needs can still be a beautiful city.

To add to that, underground railways exist in many cities, but underground road networks effectively don't. The throughput by volume dug out the ground is viable for a rail service, its totally non-viable to bury an equivalent throughput 20 lane highway underground.

scratcheee··on The Beatle Who Got Away
It's possible that it might be deterministic, but there is not currently any basis for certainty other than the fact that so many things we've seen turned out to be deterministic that it feels like everything "should" be.

>there is a single phenomenon in physics that has any chance of being non-deterministic

In other words, we've managed to prove pretty much all of physics is built atop this one single phenomenon. You might as well say we've simulated lots of universe models on computers, and yet there is only a single universe model that has any chance of not being simulated on a computer (ie the one we're in), therefore all universes are probably simulated on computers. Sure, its a valid theory, but it begs the question of whether there is a universe at the bottom that isn't on a computer, or is it really an infinite line of computers stretching forever?

Non-determinism is inherently going to be at the bottom of the "layers" of physics, if it exists. If it feeds up to higher layers it will have to feed through each layer of the chain, so inherently we'd expect most layers of physics to deterministic, even if it exists. Therefore our intuition from higher layers isn't helpful in predicting lower layers unless we think those lower layers are built atop even lower layers below them.

Currently the most widely concidered deterministic theory is that there's a deterministic multiverse (ie all events we currently see as random are simply deterministic branches within the tree of all possibilities). But effectively that means the universe isn't actually deterministic, in the same way that if you have 5 boxes with 5 numbers in them, opening a box at random is not deterministic, even though opening all 5 simultaneously without an order _would_ be. The non-determinism is what we end up experiencing, rather than what happens within the multiverse, but it's still there (well, its not from a multiverse perspective, but it is from our perspective unless and until we find a way to see outside our branch of the multiverse).

There's other deterministic theories, but pretty much every theory is untestable, so more a question of faith than science.

Einstein famously agreed with your interpretation, but his invoking of god to make his case is quite appropriate.

scratcheee··on Ask HN: Is Public WiFi Dangerous?
The attack surface is large, so even if you've mitigated all the known vectors, there may be more you didn't know about.

I wouldn't blame you for just accepting the risk, situationally I might do the same, but it _is_ a risk.

scratcheee··on C Isn't a Programming Language Anymore
That would be more compelling if their success was more directly coupled with their technical design.

Unix is not technically incompetent (certainly given the needs of the times it was designed in), but its real success now is largely based on it already being an incombent, and being open enough for projects to work from.

Original Unix is dead, it lives on through copy-cats, and they copied it mostly because an experienced user-base makes adoption easier.

In other words, the only time Unix was primarly selected for technical reasons was very short lived. Now its technical benefits are little more relevant than the technical benefits of a qwerty keyboard.

scratcheee··on Dual use of artificial-intelligence-powered drug discovery
Quantity is a quality all of its own.

Being able to identify many such compounds very quickly implies some new threat models that are a bit disturbing.

Of the 40000 substances identified, perhaps one of them has another interesting characteristic we've never seen in a toxic compound before? Perhaps such characteristics could be idenfified and filtered for, and perhaps someone could pin down something entirely unique and outside of any threat-assessment anyone's produced.

>and not surprising at all it's obvious in retrospect, but they claim that the threat vector had not been seriously concidered before, and I see no reason to doubt their assessment. Many things aren't surprising once they've been pointed out, but were missed for far too long beforehand, and I personally had never concidered this before, despite seeing multiple articles about AI-generated substances for positive purposes.

scratcheee··on Dual use of artificial-intelligence-powered drug discovery
I disagree with your interpretation.

Would it be better if nobody had access to easier ways to produce new and innovative nerve agents? Yes, of course it would be better.

Do I prefer a world where only state actors can build nerve agents, vs a world that includes state actors plus more? Yes, less sources of nerve agents is more good.

You might as well complain how pointless it is to block proliferation of nuclear weapons when malicious state actors already have them.

The world wont be safer by spreading nuclear weapons to more people, and similarly for nerve agents.

Fortunately, this sounds similar to nuclear weapons in another way, designing the weapon is not the hard part that limits them to state actors, its producing them that's hard.

Still, nuclear powers don't tend to publish their weapon plans publicly, for good reason, and the same logic should apply here.

I'm not using the comparison to imply this is as serious as nuclear proliferation btw, just that it's a useful example of knowledge that really should be kept limited.

scratcheee··on Tokamak Energy sets a temperature record among commercial fusion companies
commercial fusion as in the sense of the title is probably meant to mean "making profit", so significantly harder than just sustained fution, which will likely be obtained much earlier.

But it doesn't really matter, for now that's just an aspirational goal, not an imminent reality.

scratcheee··on Don't ask to ask, just ask (2019)
In my experience status is not that reliable, but that doesn't change the result, as you mention at the end.

>And even if my status is green but I happen to still be busy for some reason, a chat notification is a chat notification. Saying "hello" is as much an intrusion as saying "hello, I have this problem with <x>, can you help me?" -- except if you just say "hello", then I have to respond and then wait more time for a second intrusive notification to find out what you need.

Yup, that's the key. The cost per distracting notification is _vastly_ higher than the cost per word read, so chat notifications should be crafted to minimise individual notifications more than words.

scratcheee··on Wartime Is a Bad Time to Mess with the Internet
You're right, but I think they were making a different point in the title than that the pressure of war would lead to unwise decisions (though they may have been going for both at once).

They were also pointing out that the internet is likely to do more good than harm as far as de-escalating tensions goes, if you want to end a war, then turning off the internet is probably not a good policy, since it closes off an opportunity for dialogue and shared perspectives, so could do more harm than any potential good caused by the economic/social pressure.

So "[As a sanction during] Wartime is a Bad Time to Mess with the Internet [if the eventual intent is to de-escalate the war]" is a more reasonable interpretation of the title.

scratcheee··on The Unlicense is an inferior license wrapped in an atrocious name
Why does the concept of "public domain" actually matter though?

It's clearly a legally frought concept, and nobody actually believes in public domain itself as an ideal (as far as I know), its just seen as a means to an end, the end being a release of all "legal entanglement" upon the work.

If that means is problematic, why not use a less problematic means?

Specifically, there exist licenses that give everyone every possible right that they can be given without needing to invoke public domain at all, and that should be sufficient for anyone who doesn't want to retain their default rights, so why is public domain anything more than a legal dead-end? (ignoring of course that it's still relevant as the eventual end of copyright once someone's been dead for longer than Walt Disney)

scratcheee··on Flow Browser: Flow makes HTML faster
Plenty of multi-threading in browsers, but multi-threaded layout is rare, as I understand it. Mozilla made an attempt with Servo, but their first attempt got too complicated and they dropped Servo before the second attempt got anywhere ( https://github.com/servo/servo/wiki/Layout-2020 ).

Given Flow isn't trying to support _everything_ , perhaps they made the task easier by ignoring the complex bits.

scratcheee··on US DOE to offer $6B to keep struggling nuclear reactors online
I agree they must be taken into account, but the obvious counter is to take the cost of energy storage into account for solar/wind, which currently weakens its position significantly.

Long term that cost will go down, but it's always going to make the calculation much less simple than it seems at first glance, solar might be the cheapest form of power at the moment, but it's not the cheapest single source to run an electricity grid by a wide margin.

scratcheee··on That wild Ask a Manager story
To be fair, the equivalent solution for the name field example would be solving it by insisting everyone specify how many names they have before letting them enter their name - there's a reason that isn't the recommended solution, people don't want to deal with minutia that doesn't matter to them, one field works fine for everyone.

The obvious solution is to just not use pronouns - it's a messy part of the language that is currently in flux, so why wade in?

Obviously, some sites are dedicated to these issues, so they can justifiably ask on sign up, but if you don't _need_ to care about people's personal details, better not to ask at all.

← PreviousPage 3 of 4Next →