HNHacker News
TopNewBestAskShowJobs

diarrhea

2,214 karma · joined May 26, 2020

no
submissionscomments
diarrhea··on AI copilots are changing how coding is taught
Exactly.

In Rust, Python and Go you can trace every symbol back to its source by just reading source code. `cat file` would suffice.

In C#, that’s impossible by design, as you say. C# imports work like wildcard imports in Rust and Python, which are wildly frowned upon for very good reason (except for specific cases like preludes in Rust).

diarrhea··on PHP Doesn't Suck Anymore
Well said! I once heard C# referred to as a “blue collar language”. Perhaps snarky, but it mirrors my experience.

There’s little in the way of fun in the ecosystem. Not a lot of true open source in the conventional sense, lots of Microsoft MVP consultant types with blogs promoting their services. Those websites look like time capsules from 2011. You won’t find many beautiful, “handcrafted” blogs on .NET topics. A perhaps bizarre metric, but it helped me well in gauging an ecosystem’s vibe (Rust, Go, Python and others pass that vibe check, for example).

diarrhea··on AI copilots are changing how coding is taught
A language where every definition is global is the worst starting point imaginable. Of course, solutions to that will remain severely lacking. Prefixed variables as you propose were abandoned for good reason.

Perhaps give Rust or Python, maybe Go a spin, and see how they do namespaces, imports and such. I find that mostly sane and readable, as they retain the full chain of custody (you can always trace where a symbol comes from by its qualification or import statement, unlike in less sane ecosystems such as C/C++/C#/Java, and apparently the insane version PHP uses).

diarrhea··on TypeScript: Branded Types
As a TypeScript beginner, I was bitten by this. Typing in TypeScript feels quite bad for some reason; a lot of effort for effects which are still potentially wrong at runtime. I didn’t struggle so much in Python, Rust or C#, for example. Python is surprisingly… sound? in comparison. It can do nominal as well as structural typing.
diarrhea··on Some Fritz!Box modems might have been hijacked
I meant: legitimate use cases.

And I don’t buy into .zip being made part of automatic URL detection in tools, for all the illegitimate reasons it’ll be used for. Vendors of email clients, messengers and chat applications tend to stick to a core of well-known TLDs.

diarrhea··on Some Fritz!Box modems might have been hijacked
Is there a place where one can sign up for announcements on new TLDs? I don’t want to sign up for every registrant under the sun.
diarrhea··on Some Fritz!Box modems might have been hijacked
I own a domain along the lines of 'invoice.zip', I thought it’d be fun. But so far, it’s just been useless and expensive.

Should I keep it? What are uses cases for such a 'misguided' domain? I thought about putting a blog on it but fear it’d get flagged as malicious left and right. It’d look odd to say the least.

If I don’t renew, scammers might get their hands on the domain.

diarrhea··on Bringing Exchange Support to Thunderbird
> There isn’t a single end feature that you can deliver in Rust but not C.

There are! Namely, when it’s open source with volunteer-ish developers, who cannot be arsed to not use Rust, as it’s simply that much more pleasant to be spending your time with.

So in some sense, it’s either done in Rust because the implementers want to for one reason or another, or just not at all, as no one can be forced.

diarrhea··on Bringing Exchange Support to Thunderbird
It is the worst search I have ever used in any product.
diarrhea··on Zed Decoded: Async Rust
Is the content also useful if one isn't interested in GUIs at all?
diarrhea··on Easy Mode Rust
In VSCode it’s just a command away (on the command palette).
diarrhea··on Easy Mode Rust
I don’t think I’ve ever seen code of this shape in general, ever. Lists are homogeneous in their semantics, aka items stand for the same semantic thing. This is in contrast to tuples. Both lists and tuples exist in both Rust and Python as well was a bunch of other languages.

After you’re done with the above iteration, what are you going to do with the items list? It’ll contain a mix of semantically different things (all original entries as well as filtered and modified entries).

For example, say items originally is a list of file names. We want to only process image files (the predicate), and want to normalize paths beforehand (modify). Makes sense. But it requires a separate results list. Processed results cannot go at the end of the original list.

(The idiomatic way would be to process outright and not needlessly allocate and populate new lists, but let’s put that aside)

diarrhea··on Someone has been attempting to DDoS us for weeks and we do nothing
That’s different from the runtime-free binaries produced by Rust and Go (binaries ship with tiny runtime) though. These are truly dependency-free, requiring only that you can execute ELF files.
diarrhea··on Someone has been attempting to DDoS us for weeks and we do nothing
I never understood how one “breaches an app through the frontend”. SQLi messes with your data store, natively (no RCE). XSS messes with other users, laterally. But how does one reach from the frontend all the way through, liberally? Are people running JavaScript interpreters with shell access inside of their Go API services and call eval on user input? It’s just so far fetched, on a technical level.
diarrhea··on Why choose async/await over threads?
Make `a + b` `A * B` then, multiplication of two potentially huge matrices. Same argument still holds, but now it's blocking (still just performing addition, only an enormous number of times).
diarrhea··on We were wizards – a foreword to Learning Perl (1993)
I wonder, is Perl more ubiquitous than Python for these cases?
diarrhea··on Parsing URLs in Python
Yeah, that tuple API is bizarre. It really doesn’t play well with type annotations either.
diarrhea··on AutoDev: Automated AI-driven development by Microsoft
This is an excellent point. A sibling comment of yours called it ossification. There hasn’t been much innovation or change in Instruction Set Architectures, and there can’t be as the entire world of software relies on these. Only true disruption, such as ARM is for x86, can very slowly change that. So with that in mind it seems plausible that for example pandas becomes the ossified, low level standard high-level code “compiles” down to. I’m sure tons of such API wrappers already exist, but AI might make it so that we truly never need to interact with the lower layers. We wouldn’t care if it was pandas or something else. I personally am not bullish on that. If at all, this is still a decade out at least, and there’s always demand for people working at all layers of the stack. Languages like C and beyond didn’t fully alleviate the need for Assembly engineering.

In fact, in some sense, the number of Assembly engineers might not have decreased at all, aka wasn’t impacted. There were simply new avenues for new sorts of engineers to enter the field and start producing (C back then, web development today as the tech furthest removed from low levels).

diarrhea··on Redefining Observability
The section under “Hazels definition” leaves a narcissistic aftertaste. The domain name weirdly adds to it.
diarrhea··on Ask HN: What is not going to change in future?
A base install isn't too hard, correct. The main downside there is that a full LaTeX distribution is gigabytes in size, but that's manageable. Just takes time. Leaving out docs or using a distribution with on-the-fly package installation can solve this.

Trouble arises when you're looking to use latexmk (requires Perl), bib2gls (requires a Java runtime), minted (requires Python), latexindent (requires specific Perl libraries), including SVG (requires InkScape, and I believe ImageMagick), ...

Any notion of a powerful, sane, batteries-included development environment (think Rust and Go) requires jumping through insane hoops, resulting in bespoke setups, always on the brink of breakage. I really don't want to manage Python venvs!

The LaTeX crowd is very old school and tooling isn't natively available or built with containerization in mind. I've grown to like single-binary approaches (Caddy, typst, ...). I find vanilla LaTeX documents (the type that will compile in 20 years to come) very weak. UTF-8 still isn't standard in "vanilla LaTeX" (pdflatex)!

diarrhea··on Ask HN: What is not going to change in future?
What a killjoy. Who cares? Let me toy around.
diarrhea··on Ask HN: What is not going to change in future?
You're probably right in that LaTeX won't change, but I am beyond happy having left and picking up typst for a recent project. Despite existing limitations and beta-ness, it's already fantastic, and most importantly promising (has financial backing by now). Instant preview and precise as well as legible error messages alone make it so.

I had an initial document and development environment running within twenty minutes. That's impossible with LaTeX. In fact, for years, I had a tailor-made Docker image just for keeping LaTeX running, compiling and sane (I use more advanced features to make LaTeX bearable in $CURRENT_YEAR). That setup broke the other day.

I never investigated why, because an ecosystem where one has to go to such lengths in the first place, only to have it break, is not one I want to be a part of any longer. For typst, I can just grab the binary of the version I used and it will just work forever (or just compile it, which I have confidence will also be pretty stable for many years to come thanks to Rust).

diarrhea··on What if AGI is not coming?
I don't see that as a threat just yet. It seems simpler: stock value prices expected future growth. Nvidia has already grown to a highly dominant position. I don't see how it can grow much more to fill expectations of the staggering stock price. I'm expecting more of a regression to the mean soon, with Nvidia losing a bit of their lead.

I have no data or sources to back this up.

diarrhea··on What if AGI is not coming?
I feel like the space has already plateaued. Lots of improvements up to GPT4 were genuine milestones, but that’s now a year ago and everything since was marginal.

I’m not invested in any sense in the space. I’m actually more frequently turning off Copilot in VSCode recently. I’d like to see further breakthroughs as much as anyone, but am not holding my breath. In fact, shorting NVIDIA seems like one of the better ideas currently.

diarrhea··on Microsoft is ending support for the Windows Subsystem for Android (WSA)
I was under the impression ML/AI development works fine under Windows, as that’s where a lot of (data) scientists already are.
diarrhea··on Leaving LinkedIn
The site makes me sad whenever I visit.

On my beefy desktop, load times for the home page are at around three seconds. On my feeble (but still enormously expensive: a Microsoft Surface) laptop, it’s well in excess of 10 seconds. Both tests run on the very same network, so my conclusion is that load times are CPU bound, aka there’s huge amounts of JavaScript running, for one reason or another.

diarrhea··on Cloudflare Announces Firewall for AI
Right. Last I checked they fronted 4chan, but did kick 8chan off their services on moral grounds.
diarrhea··on Known Meta Sites
Anyone can set CNAMES, it doesn’t mean Meta owns the domain.
diarrhea··on Pingora: build fast, reliable and programmable networked systems
This person seems to be a Rust contributor, so if this isn't a jab against Rust, I'm not sure what their point is.
diarrhea··on Pingora: build fast, reliable and programmable networked systems
Very cool. Would play around with this in a heartbeat in the home lab, but Caddy's automatic HTTPS (ACME HTTP-01 and DNS-01 challenges) would be sorely missed.

I suppose one can supplement certbot in this setup? Or use the "highly programmable" APIs Pingora provides directly?

← PreviousPage 4 of 25Next →