HN user

ninkendo

8,383 karma
Posts7
Comments2,231
View on HN

Related: I wish there were a portable way for xargs to treat newlines as delimeters but not other spaces. Since 99.9% of the time that's what you want. (GNU's has this with -d/--delimiter, but BSD's, and thus macOS's, doesn't.)

--null/-0 is portable and helps, but it means the input has to be NUL-delimited, which is... rare. Sure, find has -print0 but (a) I wish I didn't need to do that, and (b) sometimes it's nice to just pipe `ls` output into xargs, without a `... | while read i; do echo -ne "${i}\0"; done | ...` kludge in the pipeline.

Because spaces in filenames is just common enough to be something that will bite you eventually, but newlines in filenames are a straight evil that you can basically always say is the filename's fault.

If Russia's national objective is to have access to the sea, and doing so means they have to take access from another nation, then no, I don't see how the things are different, except for maybe in magnitude (Hitler just did what Putin is doing, but more. France was building defense infrastructure along its border with Germany too, if you don't recall.) It's the exact same logic though: If you excuse states for invading each other because they have "national security concerns" that involve taking what they want from other nations, the same logic excuses Hitler's actions too. Putin has also made it very clear that one of Russia's goals is to essentially reestablish the soviet union (similar to hitler's feelings about germany's humiliation after WW1), the parallels here are stark.

The US could easily say today that it has a national security concern that it needs Greenland in order to have a good defensive posture against Russia now that the north sea is becoming more navigable. Does that make it morally right to just... invade and take Greenland? I assume that is your position, because it's essentially exactly what Russia is doing. (You don't need to respond if your answer is "Yes". This thread is getting long and if your position is indeed that countries can take what they want if they have "national security concerns", we're far enough apart that there's no reason to continue debating.)

I love the example you gave because it is demonstrative of one of the most important distinctions between your moral language and the language of geopolitics. If a Muslim attacks someone in a western country, then they will have violated a law.

Lol so we can only pass judgement on something if there exists a law that it violates, and an authority that can prosecute it. If there’s no ability to prosecute something, it must be fine, just fine!

On the world stage, there is no higher authority, rights, or laws. What you have are a set of nations, which by definition, are agents seeking to secure prosperity for themselves.

This is a classic example of powers butting heads

I keep imagine you looking at Hitler’s actions in the 1930s and concluding “there’s no higher authority than nation states, so this is all just geopolitics, powers butting heads” and refusing to make a judgement on good vs bad.

Maybe a good checksum on your world views is “if it results in what Hitler did being fine, maybe I need to reevaluate”.

--

I'll edit this to add: You bring up "distinctions between [my] moral language and the language of geopolitics"... that's what the whole objection to Kagi's founder is about. Confusing geopolitical decision making like "what should U.S. foreign policy be, if we want to maximize the chance of peace", and moral judgements, like "is invading your neighbors to get what you want ok", is the very thing Kagi's founder is doing that I find objectionable. Because you should be able to pass a moral judgement on an action without conflating that with whether the U.S. and its allies made the right strategic moves. It doesn't matter that Russia signaled their actions in advance, it's still not ok to invade another nation. One should be able to clearly see this to be true, and not just sweep it under "it's just politics." Calling it politics is both strictly speaking true, and also a cop-out, because you get to avoid actually making a judgement about whether you think it's right. Kagi's founder did that, and you're doing that here.

Please look up "victim blaming" and understand how it applies in this context. If Islamic terrorists say "if you depict Muhammad, we will attack you", and someone depicts Muhammad and are attacked, we don't say "wow, they really shouldn't have depicted Muhammad, this is their fault". We say "wow, those terrorists are awful." Russia's red lines were never acceptable in the first place, and their existence does not justify war crimes.

However, the US has pursued broad economic sanctions against Russia since the annexation of Crimea

Oh those poor Russians, they can't even violently annex neighboring territory without getting sanctioned. I feel so bad for them. We should have just uttered "tsk, tsk" and kicked them out of the olympics. That'll teach 'em!

No, the "economic tranquility" was the period after the Soviet Union fell and the entire western world was welcoming Russia in with open arms, and the economic integration was well under way. Until Putin came in and decided "no, I like things the way they were" and has been trying to bring back the USSR ever since. He doesn't want any economy he can't directly control by force. You think Putin wants economic integration? He wants his soviet union back.

None of what you're talking about is "politics" unless you think Russia actually has a leg to stand on with any of this. They don't. They never have. They're the aggressor here and none of the "warnings" they gave justify any of this.

So let me see if I understand your argument here.

Ukraine wanted to join NATO because it sees Russia as a threat (I dunno, maybe because Russia had just invaded Crimea and "annexed" it).

Russia's response is to invade Ukraine, slaughtering countless civilians, and has stated that it wants to take more territory around other former-soviet states.

And your reaction, to a country exercising its sovereignty, and another country invading it as a result, is "yup, that's just politics for ya"? That countries have the right to invade other countries if they feel disadvantaged by their neighbor's decisions?

Framing Russia’s unprovoked invasion of their neighbor as “politics” actually makes me less trusting of Kagi than before I read your link. It’s really not a good look.

Maybe english is not his first language, but at least in America we use the word “politics” to describe things like party association, arguing over wedge issues, treating elections as a “team sport”, rhetoric, etc. We don’t use it to describe an attempt by one nation to wipe out another one.

I’ve been a Kagi user for several years now but, ugh, now I have to think about it a lot more and I’m probably not going to be as enthusiastic about recommending it.

I’m against corn production for ethanol too: that AI datacenters aren’t as bad as one of the worst ideas our country has ever had, isn’t much praise.

You know what instantly outs someone as unserious on the topic for me? When they give an unqualified “none of that is true” when someone talks about water use. I agree discussion should carry the nuance, but this conversation started with none of it.

A modern 100MW scale datacenter uses about as much water as a 5-10k population municipality. And provides about as many jobs as a medium-sized wal-mart. Whether that’s a lot to you or not certainly depends on where the proposed datacenter is being built. But it does nobody any good to simply say “nuh uh, you’re wrong” when someone talks about the water use. Nor does bringing up any number of other high-water-using industrial sites that people also wouldn’t want in their back yard.

I wonder what fallacy you’re going to use to justify GPU-heavy data centers using zero water: are you going to take the “they’re closed loop” path, and conveniently ignore that they need to be continually topped off, and that effectively makes them open loop anyway (or that they heat exchange with a separate loop that is evaporated?) Or maybe you’ll just say “sure the water evaporates, but it’ll rain down somewhere so it’s still zero” ignoring that the water is taken from a place it’s needed (a municipality) to a place it’s not (the ocean)? Or maybe you’ll point to some extremely rare designs that don’t continually consume water, and pretend they’re representative of all of them (when the number of truly closed loop data centers effectively rounds to zero.)

I eagerly await your response.

Yeah, I'm not convinced it's really the site's fault... I can understand the logic of wanting the back button to go back a channel, but also I generally want to go "out" of a page when I hit the back button, so there's no real one-size-fits-all answer.

But speaking only for myself, if history.pushState was removed from my browser I would probably be happier in the end. JavaScript SPA's abuse it 10x more often than they use it appropriately, I'd rather that if you're an SPA anyway, you implement your own in-app navigation and let my browser's mean "get me out of this app". Lord knows SPA's already reinvent every other web standard, why not one more...

Back button works

Maybe a little too well... I tried a whole bunch of channels to get an idea of which ones work, and my history was too full to get out of the site. Maybe every channel change doesn't need to push to your history list.

Git has many orders of magnitude more users than other VCS's. The assumption should be that you'd find many orders of magnitude more people finding it confusing than other VCS's. Even if the UX was more or less the same.

I'm also not claiming git isn't confusing (I've explained that it is, in another post), I'm claiming its reputation is undeserved, in that it's not as confusing as people make it out to be. You seem to reject the notion that such a statement is even valid, claiming that reputations are always deserved. I find that to be bullshit.

You've made one and only one point in this thread so far: I'm addressing only that point. You've provided no other elaborations. You're saying "it has a reputation for being confusing, therefore it is confusing." That's a bullshit statement, IMO.

If you made any other elaborations on why you disagree with the post you were arguing against, we'd have something else to discuss. But right now you're just posting shallow dismissals with fallacious arguments. You can do better.

I've elaborated on why I think git's reputation is undeserved in sibling comments. kreco's contention is that "it has a reputation of being confusing, therefore it is confusing", which I think is bollocks. They're throwing accusations of "gaslighting" around.

It's valid to think "yes it has a reputation for being confusing, but much of it is undeserved". It's not black-and-white.

With tools like GitHub Actions and some added constraints, it's not always possible. You literally need a commit to trigger the CI workflow and it starts to trash your branch

I'm with you on your overall point, but as a side note: this state of affairs is so tragic. It's been normalized for there to be test suites that nobody can run except the CI runner, and the only real way to run all the tests is to have GitHub do it. It's pure lock-in, and it's very sad that everything's moved this way.

CI actions should be a simple file of "action: command" lines, with at most a separate file that describes when given actions should run. All actions should be runnable locally just as easily as they are in CI. Or if the actions are so complicated they need a complex-ish environment, that environment should be the kind of thing you could run locally too with your hypervisor of choice, without having to think about it. But every VCS host that has an actions/pipelines product is financially incentivized to encourage you not to set things up this way, to preserve their lock-in.

If your product has a reputation to confuse users compared to other products, your product confuses users.

Is your contention that all reputations are deserved, by definition? That’s certainly an interesting take. It leaves zero room for the concept of an “unfair reputation” for example. Maybe you should rethink your argument here.

You just did though…

Maybe try and explain in more than one-sentence quips why you think git deserves its reputation? Otherwise you’re just coming off as a bit of a troll. Have a nice day.

There’s this important word in the sentence you seem to be ignoring: “as”

GP isn’t saying “git isn’t confusing”, they’re saying “git isn’t as confusing as people make it out to be”

The point being, people exaggerate git’s confusingness when discussing it. There’s an element of irrationality here that’s worth bringing up, especially when it comes to comparing it to competing software. Once it has a reputation for being confusing, you’re more likely to be scared of certain workflows, you avoid them, and the problem compounds. Similarly if a VCS has a reputation for being “simple”, people might gravitate to it, learn it first, then parrot conclusions that git is too complicated because they never really gave git a chance in the first place (often they do take the time to read the other VCS’s documentation, and if they would have done the same for git they would have had no problems.)

It doesn’t help that there are so many bad tutorials out there that simply give you what commands to run, and tell you dumb stuff like “just make another clone if you get stuck”, and that makes the problem so much worse, and isn’t git’s fault.

Git is a bit confusing sometimes, but it’s mostly for reasons like “the reset and checkout commands do too much”, and “some low level commands are easy to confuse with high level commands” not because it’s a fundamentally confusing tool.

GPT‑Live 14 days ago

A year ago I tried using the voice mode to be the worlds most over engineered golf score card: I basically said “ok I’m golfing with some friends, mind if I tell you the scores as we get them and you tell us the running totals?”

It was awful, it kept overhearing us talking and thought we were talking to it, interjecting with nonsense because it couldn’t really understand what we were talking about. And when I would say “ok render a score card” it couldn’t drop to the text interface or anything, it had to stay as voice, so it fumbled around trying to read the scores back to us.

It’s a very stupid use case but I viewed it as a stress test to see how well the voice mode and multi-modality could work. It failed miserably, but I’ll be interested to see if this new version does any better (not that I actually need this use case, writing on a card with a pencil is just fine.)

To continue your point, one use case where I’m always glad I have CarPlay is when I searched for the hours of some business on my phone via Maps, then seeing they’re still open, get in my car, and the same business’s address is pre-loaded on the CarPlay maps screen ready for me to tap “go”. Ditto any Calendar event that’s coming up where I have the location field already filled in. Just tap Go.

My car’s integrated nav is… fine. But having to re-enter addresses drops the convenience considerably.

How can we reconcile AI coding a functional X server with the assertions that AI is overrated and we’re in a bubble?

The dot com boom in 1999 was a bubble, but the internet was still useful and important and obviously survived.

The bubble is due to the skyrocketing valuations and questionable financial future of the companies involved, not because AI isn’t useful.

Then it would likely not be nearly as “obvious” that I’m not adding value, if all it takes is some time to pass before I’m suddenly needed. If we’re on a topic that will eventually make its way to something I can help with, I should be able to see that coming.

But if you say “but what if you don’t know” then it’s the same as if literally anyone else at the company is needed at the second half of a meeting: you say “let’s loop in mrhottakes, this seems like it’s his expertise” and you get looped in.

Preemptively adding every single person on the off chance they may be needed can lead to madness: at the limit you may as well add the whole company to the invite. After all, what if they’re needed at some point? It’s extremely wasteful. Multiply the number of people by their hourly salary: that’s how much a hour meeting “costs”. Don’t be wasteful.

Walk out of a meeting or drop off a call as soon as it is obvious you aren't adding value

I’d be interested to hear more about the context for this, since it sounds perfectly reasonable, enough that it’s triggering some cognitive dissonance with my general hatred for Musk.

It’s a truism in most companies that meetings tend to have too many people for no good reason. It’s just too easy to add extra people “just in case”, or adding whole teams when you only really needed one person, etc… and as an IC I’ve been in roles where I was in back to back meetings literally all day, leaving no time to actually get my work done. A policy of “if it’s obvious to you that a meeting doesn’t need you, feel free to walk out” sounds very reasonable to me.

To me it’s distracting to think about duplicating vs creating an abstraction, because the answer is always “it depends”, which is not really an answer.

To me, the question is: can you look at this abstraction and understand why it exists, without knowing who’s calling it? If so, it’s probably fine.

If an abstraction only makes sense because of the particular weird details of these 3 callers that have to pass mutually exclusive arguments to it to get their desired behavior, it’s probably wrong. An abstraction needs “a place to live” in your architecture. It needs to be self-evident in justifying its existence.

If you find yourself repeating code, but de-duping it would create these sort of weird non-self-justifying abstractions, your architecture is probably a bad fit for the problem you’re trying to solve. Maybe that’s because the problem changed since the software started (which is a bit of a pickle: do you re-architect, or do you continue writing weird inscrutable code?) or maybe it’s because you just picked the wrong abstraction in the first place. But you should recognize it: duplicating vs wrong-abstraction is about choosing the lesser evil. If the abstraction was a natural fit for the problem, you wouldn’t need to answer this question in the first place.

Using Apple’s preferred practice of using no article before iPhone (ie. never “an iPhone” or “the iPhone” or even “iPhones”) makes you come off as a shill, by the way. It’s like if you unironically put a trademark symbol after it.

What does rust have to do with it?

The pattern I see here is people vibing slop rewrites of GPL projects to get them under more favorable licenses. Rust just happens to be the language this one picked (for various reasons that are not very relevant here.)

Profitability of space flight has a hard maximum. It’s not anywhere close to what their valuation would suggest.

There’s a reason Elon keeps trying to get investors to believe his “data centers in space” lunacy, because you need that sort of magic pixie dust to justify why any of this valuation makes sense, let alone have anywhere to go but down.