HNHacker News
TopNewBestAskShowJobs

ablob

499 karma · joined July 22, 2022

submissionscomments
ablob··on Don't couple your Go code to GitHub
At least the fallout will be less if you have to resolve your custom domain differently in the intranet due to something like this.

If github is "taken down" you can't just resolve the whole domain differently, you need to only resolve the packages differently. If your "Golang domain" is taken down, it should be a lot easier to hotfix until something proper is implemented (the quickest and dirtiest would be a hostfile-entry).

ablob··on Why building a Rust LSP is hard
I assume that the result of the rename operation must be known. I.e. if it was successful or not, or which files were affected. That implies 2 function calls. One to start the operation, and one to query its result. That is, by definition, already an asynchronous interface. The only other (i.e. synchonous) way to achieve remote procedure calls is by blocking until it's finished.
ablob··on Why building a Rust LSP is hard
I don't know about you, but I do not want to block on every keystroke. Program analysis can take time, asynchronous feedback is a natural fit. None of the features I use from LSP should be synchronous.

I can almost guarantee you that a synchronous API would yield a much more complicated design just because many operations can not be expected to reliably work within a few milliseconds.

You want to rename something across multiple files? Well now you add file system overhead and blow straight past reliable frame timings. Good luck waiting for that operation to finish. Of course you could make the API beginRename, and queryRename, or whatever you fancy to see if the operation was successful, but now you're back to what you wanted to avoid: an asynchronous API. Do mind that the example is actually one of the better cases, as many things you might want to do with a codebase are actually more expensive. You will feel the hiccups from waiting in the UI thread and you will loathe the program for it.

ablob··on When the fractional part of a float fixes your shader
As far as I know you might want to read the GLSL or Vulkan specification. At least there (and by extension in SPIR-V) you can select different floating point behaviors.

Historically graphics programming has been more concerned with looking good rather than being accurate, and behavior is likely different on each GPU. It's a "hop into the water and learn to swim" kind of thing as far as I'm concerned. You will find errors for things you'll never have thought about and there is hardly any way to brace for it except trying on the go.

ablob··on Principles for Fast Tokio Applications
You don't need a build system to share code.

You can share with header files and respective (shared) object files regardless of the build system you're using. Likewise you could just share the source. None of this needs a build system.

ablob··on The Rust React Compiler is now native in Vite
I think the crowd will split into those who just cared about it being rust and those who wanted some kind of leverage to tempt others into doing something. The former crowd will cease being, while the latter looks for something new to push.

I believe that one does not need to be overly concerned here. As with most things you will never satisfy zealots so it is sufficient to reconsider every once in a while when the status quo changed enough to warrant the effort (i.e. the actual arguments change).

It is always a choice to participate in these "culture wars" or whatever you want to call this. If you can stick to a decision you can limit the impact quite a bit, I've come to realize.

ablob··on European Commission Revives Push for Encryption Backdoors in ProtectEU Strategy
A red herring is a bait planted specifically to derail a conversation. I will make an example to demonstrate this in a setting which is less loaded. Beware that all analogies are flawed in essence, so a direct transfer to our conversation will be difficult, especially since I am trying to be blatant. But since I want to answer your question of where the red herring lies I feel like that is the easiest way:

A (raising an issue): This hole in the wall sucks, I can't stand it. At least if we were in a tent we could sew it shut.

B (planter of herrings): So you'd rather live in a tent than in a house? Don't you know that tents are generally worse than houses?

C (the innocent bystander lead astray): I also much prefer houses. You hear so many bad things about them, but in the end nothing is better. No caves, no huts, and certainly no tents. I'd pick a house any day of the week.

Did you notice that we are no longer talking about the hole in the wall? The hole could be required for mold-prevention, it could just be an oversight that is actually fixable, it might be a trade-off. But since we are no longer talking about the hole we will never know.

> ... but ”With a dictator you have full responsibility concentrated in a single person” is simply not true. Dictorships are master minds of shifting blame.

This is you talking about the hole in the wall. I am also not convinced by the original argument, but I do believe that there is some substance to be explored.

> ... I’m obviously biased as a European but I’d pick the eu any day.

This is you falling for the red herring. We don't know if the original poster lives in the EU. We don't know if they prefer it to a dictatorship, but it also does not matter. The original qualms are that there is seemingly no single point you can go to to stop the endeavor once and for all, which in this context is encryption backdoors within the EU. We could be talking about how the same mechanics that make this so frustrating are useful elsewhere; find out or explain why the things are the way they are. We could be uncovering a valid flaw in the system just waiting to be fixed; conclude that things don't have to be this way. Instead, we ask ourselves if we like living in the EU better than in other places. We've lost the plot, so to speak: There is no more insight to be had.

This is what makes a red herring so obnoxious to deal with. It is an easy trap to lay if you don't want to think about something or hinder someone, but takes so much effort to recover from. In the tent-example it is easy to see that we completely derailed and stopped talking about what matters. Unfortunately, reality is much more subtle and not everyone has the same goals in mind. At least on HN I'd like to try and keep discovery in focus and once we reach the stage where it's only about opinions there is nothing more to discover.

ablob··on European Commission Revives Push for Encryption Backdoors in ProtectEU Strategy
They are saying that in bureaucratic countries there is not a single entity that can be held accountable, which means that "bad" decisions, are not easily undone. Likewise it means that "good" decisions are hard to change. It is a statement about the momentum of change, not about it's worth or intention.

There is no further comparison made between these governmental forms and how they affect their subjects.

Why would you create such a blatant red herring?

ablob··on Meta pays pro-Meta influencers when countries look into teen safety on Instagram
I don't find it particularly surprising that a company tries to influence legislation influencing their business.

What the headline is missing is that, according to the article, Meta is paying influencers to advertise for existing parental controls. If the issue is not that there are no controls, but that parents don't use them because they don't know about it, then I see hardly any evidence to support such a pretentious title.

Parents are supposed to care about what their kids do. The government can only mildly reduce this burden. To be honest, I think that there might not be enough information on how to effectively parent on the internet and this seems like a low hanging fruit to try. In the end a ban might be the best option, but exhausting other options first seems worth a shot.

One of the main arguments pro-Meta is that they at least try, even though a strong argument can be made that they don't try hard enough. I find it difficult to believe that preventing children from interacting online via social networks is achievable. As long as adults demonstrate the availability of these things kids might want to imitate/have the same interactions. I'm glad I don't have any stakes in this topic at the moment - foreseeing evasive behavior from either side is going to be a nightmare.

ablob··on Go is an ideal language for AI-assisted software engineering
Surely the King is doing it, so that must be the correct way. Look, the King even wears clothes and is totally not naked at all.

That the world runs on Kubernetes is no qualitative statement about the correctness of its Raft implementation. You can say that it's clearly good enough to not matter most of the time, but that is a different statement. No matter who you look at, they're just cooking with gas like you do, and they can make mistakes in just the same way.

Now; I'm only attacking your argument. I do neither know nor particularly care about the correctness of that implementation itself. There's been better refutations of the claim you replied to in other answers anyway.

ablob··on Compression is prediction
If you can predict other things by understanding something, is it truly lossy compression?
ablob··on Prevent cognitive debt by manually retyping LLM-generated code
So we are reduced to code monkeys mindlessly re-typing what an LLM wrote to increase potential understanding...

Whatever this approaches, it is not a state of software engineering I find desirable.

ablob··on Kill The Cookie Banner
I think that's a stretch. People can care, but be unwilling to spend the time researching it or accept the trade offs that come with small browsers (which are often unsupported for applications you might want to use). There are many things someone might care about and at some point you have to prioritize. This topic in particular is practically a cold war where you always have to catch up on how things are, lest you loose it all. The required effort is disproportionate to the result.

P.S.: No true Scotsman spotted

ablob··on Kill The Cookie Banner
It's a nag-box that appears every time someone visits a new website. Of course people are going to click it away as fast as possible. In the few cases you repeatedly visit a website one might want to reconsider, but by then it's out of mind due to not being shown after giving consent.

It is known that warnings and pop-ups that show up almost all the time yield diminishing returns. I think it was named "normalization of deviation" by some folks in a blog a while ago, and I believe that name fits. If you get warned about missing https all the time, or that something might be dangerous (even though it does precisely what you want it to do), it will loose its effect by the time you actually need it.

You can argue this is malicious compliance, but if you want it to go away it would probably be easier to go for banning tracking and personalized ads altogether. Eliminate the reason for this behavior, so to speak.

ablob··on Git rebase -i is not that scary
You can always set the editor in your --global or --local config though:

  git config core.editor "vim"
I do agree that using the default editor is a mostly a bad choice due to it being vi/vim rather often.
ablob··on Git rebase -I is not that scary
I think the only missing thing for me would be to group commits, essentially squashing them for a clean history while allowing to unsquash them in case you need it.
ablob··on Advertise in ChatGPT
I don't understand your question. The person you replied to never said anything about a boycott. They said that diversification is kind of necessary, so to use both Russian and American services, as both sides do censor/block different things.
ablob··on The EU is about to sell our most sensitive data to the US for visa-free travel
Given the recent chat control disaster I'd say our say is rather slim when it matters. Just put a decision into urgency mode (even though technically that's only allowed for the first hearing) and let it be a default pass unless two thirds reject the proposition. If it hits the courtrooms, rewrite it a little bit and effectively keep the status quo.

I might be misinformed, but I believe that American citizens have a way of forcing specific regulation instead of only forcing it to be considered. That would be something we don't have in the EU. So in the end it might just even out in that regard.

ablob··on Perfection Is Not Over-Engineering
I'd like to add an anecdote about machining. Some designers impose incredibly tight tolerances on part shapes that hardly change the overall behavior of the final machine, but are so difficult to produce that sometimes special tools have to be bought and instead of being able to produce 4 parts an hour it might just be one instead.

Maybe this sentiment stems from being software engineers, but at least for hardware it becomes abundantly clear that "good enough" is a desirable state unless you want to spend years in development. The only direct comparison I can find in software is computer graphics, where the endeavor often halts as soon as the average person can't perceive a difference anymore.

ablob··on EU ban on destruction of unsold clothes and shoes enters into application
You have to deal with this no matter what unless you can live with wasting storage space. You have to arrange extra sales or try and donate stuff (basically, go through all possible options that exclude it from being exempted) if you want to get rid of an item. Your estimates on sales count need to be pretty spot on to keep that low. Donations are still taxable where I live, by the way, so all that shenanigans is added too. It's not just about the report itself. You can't get rid of products not valuable enough to keep around without adapting your whole business model. Even if you are _not_ looking for an exemption, you will have to accommodate.

No one bothered to make any of the other options easier, only the previously simplest option was barred behind trying everything else. This is what over-bureaucratization looks like.

To use a different example: No one wants to switch to public transport (which is already crowded anyway)? No problem, just ban driving unless you can prove that it's orders of magnitude faster and it's not feasible to move your residence. No further preparation is done; no thought goes beyond the horizon. "Eat this rule and deal with it, you don't have to deal with the paperwork if you're willing to spend 2 hours more on commuting". That's the line of thought here. There are no plans to make it actually viable to use the train, the other options are just barred behind this veil of plausible optionality. You can do it, of course. The issue arises from doing this with literally anything you tackle.

You essentially only add rules and special cases without ever consolidating them or even considering possible impact on adjacent topics. Everything grinds to a halt by doing this and nothing ever gets simplified. It is a huge issue on a landscape that favored small businesses (that can't afford divisions dealing with this) when the way the law is written suddenly requires structures only big companies or consultancies can provide. It entombs the market structure and drowns any competition in regulatory capture. We haven't even seen what happens once the markets are dominated by oligopolies and monopolies. By that time the only way to deal with the fall out will be even more rules, as the competitive landscape will already be dead.

I'm not against the goal of this regulation, but the recent way the rules have been made favor a market structure I consider incompatible with the goals of the EU.

ablob··on PSA about abuse of cat(1) command. Don't abuse cats
funny enough,

  2>&1 >/dev/null cat file
appears to yield the same output. So i wonder where the not "order-independent" chimes in.
ablob··on GrapheneOS recommended for domestic abuse victims
Don't phones have identifiers outside of phone number anyway? I feel like you have to trust the hardware/os vendor anyway. So if you don't trust apple to not misbehave, maybe not getting an iphone is better than chasing the whole phone-number idea.
ablob··on Sleep regularity is a stronger predictor of mortality risk than sleep duration (2023)
I feel like your example is flawed, I just can't put my finger on it.

Maybe it's because I don't see how sleep regularity is a factor you can change as willingly as visits to the fridge, or maybe its because I don't see why people wouldn't just eat more before heading to bed.

It could also just be that I find a treatment of symptoms to be less desirable than causes.

ablob··on Good Tools Are Invisible
Sigh, I don't know why a blog-post against micro benchmarks should alter my opinion on this topic. There are more metrics than just "speed" regarding an interface. You also want it to be discoverable and visually distinct.

How someone interacts with your software is absolutely measurable and the results will vary by how a user is likely to use it in frequency and variety of function. Someone that needs to do something specific with your software every day will interact with it quite differently than someone that just hops onto it every now and then to do a different task each time.

All of this requires actual studies and observation of users over time. Micro benchmarks have no space there. Testing how fast a find and replace is is meaningless. In case of software for writing text you'd test a user actually writing prose, changing font sizes, title colors, and maybe replace a word over the file too. You would have commonly used functions mixed in with less commonly used functions over how the software is used under a specific use case. (For example, writing text, revising text, and polishing a graph representation are different use cases)

This is not easy, which probably why it's not done all too often, but it is also most definitely unlike a micro benchmark (which your link argues against).

All that being said, I don't know of any person strictly pitting mouse against keyboard when testing UI for possible improvements.

ablob··on Good Tools Are Invisible
Most knowledge about human computer interfaces was obtained through metrics. Groupings, menu bars, corner buttons, context menu orderings, and other things didn't just spawn into existence. There was a time where human pattern recognition and physiology was an active consideration for user interfaces. One of the reasons mouse input became popular is precisely because interfaces were created to be easy to use with it.

All of this brings me to my questions: Why do you reject measuring how good an interface is? Or given your dismay over keyboard based workflows, why do you think they would win most of the time?

I'd wager that if actually tested, in only a few scenarios the keyboard would win, while hybrids (with both mouse and keyboard input) perform best for most people.

ablob··on Why developers are ditching GitHub for Codeberg and self-hosting alternatives
The existence and growth of the codeberg project does, however.
ablob··on Chat Control 1.0 and 2.0 Explained
You're right it doesn't. At least not completely. I was thinking about precision (i.e.: if the test is positive, what are the odds that its prediction is true). It turns out, that accuracy is not defined as "true positive / (true pos. + true neg.)", but "correct predictions / all predictions". The whole point of OP's statement: "It's kind o remarkable how even a 99.9% accurate heuristic is insufficient at scale.", which you actually support with your example.

> There is an important difference between scenarios where we care about the relative versus absolute frequency of errors.

The context is chat control without probable cause over the whole population of Europe with a low prevalence. My point, and presumably that of OP, is that even a small relative frequency of errors will yield an unsustainably high absolute frequncy of errors.

> This is merely information provided to a human agent.

It will be in theory. In practice the human agent will just forward the decision. A human agent is not sufficient; you need to test only with probable cause for the kind of scenario we're talking about. The exact opposite of "Chat Control 1.0 and 2.0".

P.S.: The comment I originally replied to choose a very convoluted way of saying that the false discovery rate of the test matters for a proper evaluation. Both you and they explain this by throwing numbers without context in combination with slightly inaccurate definitions. I got the definitions mixed up differently, which led to this follow-up.

ablob··on Why skilled workers come to Germany and then leave again
There are implications by linguistics. If you learn a language you also passively obtain insight into cultural norms and expectations. Moreover, Learning a language is much easier if you're friends with natives and converse with them on a semi-regular basis. Being able to speak the language also means that there doesn't need to be a separate support structure for you, as you will be able to use the ones provided to everyone else.

I'd wager the sum of these things is something one may expect from a permanent resident (i.e.: cultural knowledge, some amount of integration, ability to function without specialized support structures). And it turns out, that language proficiency is a pretty good proxy for measuring that. Just because you don't accept the rationale behind the requirement it does not mean that there is none.

The requirements are not there to verify that you can live somewhere permanently, but if you _may_ live there permanently. Money is not the only dimension your so called "net positive" may be measured in.

ablob··on Chat Control 1.0 and 2.0 Explained
The mentioned accuracy in the comment you are replying to already encapsulates the relation of true positives to false positives.
ablob··on Using precision editing to study human embryo development shows master gene
There is no progress without possible failure in medicine. Each treatment starts with assumptions and you can only go so far until you start testing on actual people. Until we understand the mechanisms completely there is no way around that.

Genes are an important part of lifeforms. Of course, you may object to tinkering with them and wait until nature has done the tinkering for you. That will inevitably slow down progress by obtaining information so much slower that countless lives will be miserable due to missing cures and treatments. This is a zone where there is no clear moral answer. The only thing I would say with confidence is that gene editing is very likely the key to a plethora of treatments and preventative measures.

> Will they need to live their whole life for us to confirm the cure worked? People already do that right now without gene editing. A friend of mine is 10 years over the life expectancy of their condition just because their parents decided to have them live their whole life "to confirm the treatment worked". 9 out of 10 people with that condition died by the age of 12 if not within the first year of birth. I'd wager being part of a medical/scientific program to monitor your condition is the least of your concerns at that point.

Page 1 of 8Next →