skysight-inc/HackerNews huggingface dataset:
"If you want blocking code to run asynchronously, just run it on another task."

This highlights one of the main disconnects between "async advocates" and "sync advocates", which is, when we say something is blocking, what, exactly, is it blocking?

If you think in async terms, it is blocking your entire event loop for some executor, which stands a reasonable chance of being your only executor, which is horrible, so yes, the blocking code is the imposition. Creating new execution contexts is hard and expensive, so you need to preserve the ones you have.

If you think in sync terms, where you have some easy and cheap ability to spawn some sort of "execution context", be it a Haskell spark, an Erlang or Go cheap thread, or even are just in a context where a full OS thread doesn't particularly bother you (a situation more people are in than realize it), then the fact that some code is blocking is not necessarily a big deal. The thing it is blocking is cheap, I can readily get more, and so I'm not so worried about it.

This creates a barrier in communication where the two groups don't quite mean the same thing by "sync" and "async".

I'm unapologetically on Team Sync because I have been programming in contexts where a new Erlang process or goroutine is very cheap for many years now, and I strongly prefer its stronger integration with structured programming. I get all the guarantees about what has been executed since when that structured programming brings, and I can read them right out of the source code.
An LLM is an application that runs on an operating system like any other application. That the vendor of the operating system has tied it to the operating system is purely a marketing/force-it-onto-your-device/force-it-in-front-of-your-face play. It's forced bundling, just like Microsoft did with Internet Explorer 20 years ago.
Was thinking the same thing. Very fun idea, nice work!
Same as two people blocked from continuing down the hallway of a house they agree feels haunted?
The letter "æ" as used in Old English does indeed correspond to /æ/, but we don't use that letter (or even digraph) for this purpose anymore. In all the words where it is still occasionally used, it corresponds not to Old English "æ", but to Latin "ae", which is [ae̯].
Claim is LLM exhibit reasoning, particularly in coding and logic. Observation is mere parroting of training data. Observations trump claims.
>Our digital memory shouldn't be in the hands of a small number of organizations in my view.

I would wager at least 95% of "digital memory" archived is just absolute garbage from SEO spam to just some small websites holding no actual value.

The true digital memory of the world is almost entirely behind the walls of reddit, twitter, facebook, and very few other sites. The internet landscape has changed massively from the 90s and 2000s.
Humble Bundle. Various Linux iso
The biggest reason to be skeptical is that these tools are not open to extension in the same way that JavaScript is.

Webpack has an enormous community of third-party plugins, it would be very hard to do something similar with e.g. Go or Zig.
Wow! Rare to see someone get it. MMT follower ? Would add that the money printing is being distributed proportionaly to the wealthy under a Deomcrat regime. Pretty sad.
Why would they never run on another machine? It's not that hard to write portable code, and done very often. Nowadays for example, you rarely ever think about whether you're on arm or x86.

If you write non-portal code, there might be an important reason (like writing OS components, which you won't do in JS).
That's a corporate law question but I'm not aware of any law prohibiting Iranian citizens from establishing a company in the U.S. and yes, once the company is established (and certain minimal/easy company-related requirements are met), the company can sponsor the founder for an O-1 visa.
The manufacturer is not losing money on the device. Google/Amazon are paying them to get their spyware crap on the device.

> You got a cheaper TV, didn't hand over any of your info...

But you are still enabling Surveillance Capitalism. Even if you think you personal data is safe, the system still exploits the majority of the consumer market.
You're right; my bad. What you said was:

> I guess I'm a bit at a loss about why these app developers feel they need access to things like medical records stored on the work phone of everybody at your doctor's office.

...which isn't a strawman. It's begging the question by presuming that authors actually feel such a need. I'm fairly certain the devs involved do not want or care about accessing medical records.

As to OPEN_DOCUMENT_TREE, to my naive eyes that's what it looks like to me, too. That said, I'm confident that the devs we've discussed here, particularly the ones who sell the related apps for their livelihood, are clever enough to read the docs and that they've ruled it out for some reason. I certainly don't think the Syncthing team is too incompetent to use a documented method if it magically did the right thing.
Email me. There are but I have to give that some thought.
It's not just a matter of “picking the correct algorithm”. Algorithmic-interview exercises are algorithmic-interview exercices. They are barely related to real-world software engineering.
> I swear some JS devs will go out of their way to avoid learning anything else, whilst simultaneously and breathlessly espousing that we rewrite everything else in JS.

The JStockholm syndrome.
I think we’re reading too far into the authors impostor syndrome.

He’s making contributions in Rust already. His opinion isn’t invalid just because he has a bias, he opens by acknowledging his bias.
We believe things are probabilistic, but we don't know it is so. To the best of our ability to measure it looks that way. I don't think we can say any more than that.

I am not denying that the transistor is useful and that science does useful things.

I believe a "successful theory" is one that should produce provably good predictions. Quantum computing cannot prove it works yet despite having made promises for a long time.

But you're right, I'm not a scientist, and anyone reading this should know that.

I will change my opinion on quantum stuff when we find it produces unfalsifiable quantum computing results that factor products of large prime numbers (or whatever else they promise to do). But as of right now I believe there is something wrong in quantum computing.
It is analogues discussion to C vs Rust. Sure Rust is memory safe, but whole ecosystem I am using today is C based. Compiler, SDK, drivers, RTOS, ... Nobody sane is going to rewrite it for the sake of rewriting it into a different language.
Ask Argentina about that. They started finally reducing rates and its working some.
> That's clearly talking about current notions, and ...

written by somebody other than myself.

> Your request for me to "read more carefully" is

again restated. Please read more carefully, pay attention to who said what, and don't falsely take the wrong people to task over what other people said.

We all make mistakes, perhaps you can now recognise and acknowledge yours.

Okay?
With traditional matching there are up to five different things:

- if x then y else z. This is roughly like a match with a true and false case but it depends on the language how much that is

- match e with { p -> e }. This is the classic pattern match case

- if let p = e then x. This is roughly equivalent to (match e with p -> x | _ -> ())

- match e with { p when e -> e }. This is matching with a guard but I’ve counted it as a special case because it doesn’t easily designate into a match because of the binding/evaluation order, and the guard is special because it can only go at the top level of the match clause so it isn’t just a special kind of pattern (though maybe it could be)

- let p = e. This is one-case pattern matching used for binding variables or destructuring.

The paper proposes a way to make the first four cases obvious parts of one more unified thing, which makes the language potentially simpler and may reduce some weird warts like where guards can go.
That's a fair question. We also do a lot of pro bono work on both the family and employment side.
> This is literally torrents. Just give up

Most casual visitors to IA don't know that. Which is the point.

Giving up is for others.
I’ll say the unholy combination of managing the python GIL, concurrency, and connection reuse is not my favorite topic.
> knows that the language doesn’t matter so much as your algorithm.

I know what you’re referring to but these problems have also taught me a lot about language performance. python and JS array access is just 100x slower than C. Some difficult problems become much harder due to this limitation.
I'm not sure if JavaScript supports it, but some Python libraries allow you to choose whether to install a more optimized binary version or the pure Python implementation.

For example, if you install psycopg you'll get a pure Python implementation which is easy to debug and hack. But you can also install psycopg[binary] to obtain a faster, compiled version of the library. https://www.psycopg.org/psycopg3/docs/basic/install.html
Choosing the right algorithm is usually the prerequisite for fast code. Optimizing the constant factors is often pretty useless if you pick an algorithm with a runtime that grows quadratically, when there are much better options available.
JavaScript isn't really all that portable? Heck just making it run on the different JS engines and runtimes is a big pain sometimes
I believe Ubuntu has been a positive for the Linux community. While there definitely were distributions before Ubuntu that focused on the user experience (Mandrake Linux and Lindows/Linspire come to mind), there are many people whose first experience with desktop Linux was through Ubuntu. Although I personally prefer FreeBSD for my Unix needs and Debian if I need actual Linux, Ubuntu is the distribution I recommend to those who are coming from Windows or macOS who want to try out desktop Linux. The last few times I used Ubuntu, whether it's on actual hardware or inside a VM, it seems to be reasonably simple to install, has sensible defaults, and supports a wide range of hardware.
Returning to this post in 5 years when FSD has been solved with just vision.
Sure, I'm just thinking there is a chance we might actually get some platforms that are fully open.

Unlike the the existing platforms where we know almost for sure the few companies running them will keep the code and implementation details to themselves and its unlikely this will change in the future.
Why computational predictive toxicology is hard
Nice! Will replace the screenshot with a gif, if that doesn’t work for me I guess ffmpeg may be able do that too, thanks!
Is there a high level explanation of the model?
I read the article as referring to documentation for end users -- not internal documentation / comments written by developers who thought they knew what the code they wrote was doing.
Their torrents suck and IME don’t update to changes in the archive.
> turning the enthusiasts and code-curious into amateurs vs. empowering professionals.

I'm firmly in #2. My other comment goes over how.

I'm intrigued to see how devs in #1 grow. One might be wary those devs would grow into bad habits and not thinking for themselves, but it might be a case of the ancient Greek rant against written books hindering memorization. Could be that they'll actually grow to be even better devs unburdened by time wasted on trivial details.
I think it will be much harder to get an H-1B petition approved, at least initially like last go-round, and there could be high salary requirements, which almost went into effect last time.
Advice to Australians - use this once you have your joint (bank) accounts sorted out, otherwise your life will get more difficult.

It may apply to some other services as well.
> So a software engineer job is the tech equivalent of taking out the trash and sweeping the floor?

Actually it was you who said that. I said it was title inflation.
I recently moved to a 'cheap' ISP because I could get double the speed for half the price. They use CG-NAT and it's been awful.

I don't need to forward any ports but seemingly because I share an IP with a billion people I get Captchas everywhere (Google, Cloudflare etc.). I was even blocked from accessing Reddit without an account at some point.
I see. Thank you for the insight.
What's wrong with Polygon?
Show HN: Semantic Macros Text Editor
interesting, didn’t know about that feature, thanks for sharing!
Everything you're saying is plausibly possible in the absurdly large search space of all possible scenarios. The author's premise, however, is rooted in the specific scenario they lay out, with historical supporting examples which you can look into. Even then, the premise before all that was essentially: Redlock does not do what people might expect of a distributed lock. Btw I do have responses to your questions, but often times in these sorts of discussions, I find that there can always be an objection to an objection to ... etc. The "sense" (or flavor) in this case is that "we are taking a complex topic too lightly". In fact, I should probably continue reading the author's book (DDIA) at some point...
This is a very nice counterexample, but it's not actually a counter example without an example.

Also, this was a thing before Rust. I've rewritten several things in C or Cpp for python back ends, and most pytbon performance-critical code is already an API to a shared library. You'd be surprised to run OR tools and find Fortran libraries loaded by your python code.
A few points.

* It's down right now - connection timeout. Surely an 8 point story on HN couldn't lead to it being hugged to death, but then a voice in the back of my mind whispers "2016 census".

* When I tried to use it when a family member died recently, with a death certificate firmly in hand, it didn't recognise him.

* I ended up being glad it didn't. Turns out when businesses monitor this their usual reaction is to disable all services. When you are trying to chase down all the loose ends of a deceased estate, the bank deleting all credit card statements so you can continue paying insurance, rates, mobile phone bills for 2FA and so on is less than helpful. Yes, CommBank really did that. "We will immediately shut down his credit card so no new charges can appear". Me: yes, good idea, but can I have the statements so I see who to pay so important services continue? Them: "no, me terminating the account a few minutes ago deleted all the statements".

My advice: using this service to tidy up loose ends at the very end is probably a good idea. But until you have everything you know about under control, avoid it.
>JavaScript is so slow that you have to optimize stuff

This raises the question, is JavaScript more prone to premature optimization?
I recall reading a mail exchange posted on some usenet group about, IIRC, some boss or similar higher-up being shocked to discover the UNIX systems they ran were full of demons, and as a devout christian wanted the sysadmin to put an end to that immediately. The sysadmin was repeatedly trying to explain that a daemon was not the same as a demon, without success.

Tried to find the post again, but no dice :(
Sorry I should have said "some guy with no expertise writes blog post to claim he has more expertise than literal experts".
What makes you think that the sluggishness of these tools is in any way related to not “choosing the right algorithm”?
Often languages like Javascript and Python don't allow optimal runtime complexity, because the types baked in to external interfaces fundamentally disallow the desired operation. And these languages are too slow to rewrite the core logic in the language itself.

(but of course, the vast majority of the code, even in widely used tools, isn't properly designed for optimization in the first place)

I only dabble in javascript, but `tsc` is abominable.
Asking if a single-celled organism is conscious kind of feels like asking whether quantum theory is statically typed. Like applying a descriptor from one category to objects in another.
Show HN: One-dot-per-vote comparison map of US Election Results
Source code and more info here: https://github.com/votermap/votermap.github.io/tree/main

The core idea is to take precinct-level election results and visualize them with one dot per vote, but distribute those dots based on block-level population density. For both maps, this uses 2020 Census block non-incarcerated voting-age population totals to place the dots (most of the work to generate these block-level vote and population numbers was done by the redistrictingdatahub.org, with the exception of DC, CA, and PA).

The map uses MapLibre for the front end and a vector-tile service called Tippecanoe to generate the tiles.

I was inspired by maps like this one: https://x.com/kennethfield/status/1363974716826869760 (the author has an excellent book of 101 visualizations of US Election data), but wanted to make a version that uses precinct-level data and offers the side-by-side comparison of 2016 vs 2020.

I hope it's okay to post this here despite the political nature - it was an interesting project from a tech/cartography standpoint and it's cool to see the political geography of the US.
Being a statically-typed compiled language has its perks (especially when doing systems programming). Regardless, JS runtimes can and will push forward (like JVM / ART did), given there's healthy competition for both v8 & Node.
We might be even earlier — the 90s was a famous boom with a fast bust, but to me this feels closer to the dawn of the personal computer in the late 70s and early 80s: we can automate things now that were impossible to automate before. We might have a long time before seeing diminishing returns.
Well, can we really call it premature optimization if it's needed?
That cost is excluding grid stability and transmission costs.

From what I’ve understood PG&E’s largest problem is the massive payouts and infrastructure upgrades needed from the wildfires, not the cost of the electricity itself.
The Library of Congress should be archiving the Internet and it should have the budget required to do so.

This is in line with its mission as the "Library of Congress". Being able to have an accurate record of what was on the Internet at a specific point in time would be helpful when discussing legislation or potential regulation involving the internet.
Evolution is a blind, dumb optimizer. You can have a mutation that is over-kill and if it doesn't actively impede you in some way, it just stays. It's not like it goes, "Ok we need to reduce this to the point where it's just beneficial enough etc".

That said, i definitely would not say the Ocean is particularly less diverse or demanding.

Even with our limited understanding, there must be adaptations for Pressure, Salinity, light, Energy, Buoyancy, Underwater Current etc that all vary significantly by depth and location.

And the bottlenose dolphin for instance lives in every ocean of the world except the Arctic and the Antarctic oceans.
I listened to a Drew Carey interview once.. the man is passionate about Monopoly. I don’t think there’s too much strategy there besides “don’t let property go unsold” and “hoard houses” but he disagrees.
Lost Media: Pokémon Fever (1999) VHS Tape
Literate programming, as originally described by Knuth, is a good essential idea embodied as a bunch of accidental instantiations of the idea that have gone badly out of date. Knuth's ideas at the time add a layer on top of programming languages to allow you to rearrange the code in a lot of ways that the languages at the time didn't support well or at all. It essentially adds an independent concept of "function", and adds on top of any ability the language had to have documentation its own documentation overlay on top.

Problem is, in the meantime, languages got a lot better at functions, got more flexible in their organization, built in better capabilities for documentation and comments, and it all goes a different direction than the languages did. The result in the modern era is a rather bizarre multi-headed hydra of conflicting ideas about how things should be documented and tested.

If someone wanted to resurrect the ideas, they need to not just try to get people to do what Knuth laid out decades ago super harder... they really need to sit down from the very beginning and work out how to update it in the modern era to be less redundant to what we already have. It could be as simple as taking modern doc strings and upgrading them a bit to allow highly-formatted comments to be embedded into code. Or, instead of trying to "weave" the code into a static book, allow the user to specify an entry point and then follow through everything that happens in the functions that it calls and turn that into a book, e.g., say "I'm going to enter this web framework through this path, tell me everything that happens". Or some other idea I don't have yet. Something that harmonizes with modern languages instead of fighting them.
What makes you think they're not? I don't know why these tools are sluggish, but I disagree with the notion that algorithms don't matter for "real-world software engineering".

The world is full of slow software because one chose the wrong algorithm:
https://randomascii.wordpress.com/2019/04/21/on2-in-createpr...
https://randomascii.wordpress.com/2019/12/08/on2-again-now-i...
https://randomascii.wordpress.com/2021/02/16/arranging-invis... ...
One of my biggest issue is: how do you even detect exfil when ICMP is mandatory in IPv6 for the other protocols to even just work?

IPv6 looks so Rube-Goldbergy to my eyes that if I squint just a little tiny bit and put a very thin thinfoil hat on, I could nearly swear this complexity is there by design. For example so backdoors allowing exfil through ICMP are impossible to detect.

IPv6 is chatty. So chatty.

There are networks where a single unaccounted for packet means something abnormal is going on (and at the very least requires enquiry): how does that work with IPv6?

An issue with these big design-by-committee thinggies is that often one or two in the committees are little rats working for the man.
The process that owns the lock is never heard from again.
Coward, use `tail -c +0` like the rest of us useless command cowboys
Someday soon I hope webasm gets another decent compiled language targeted for JS speedups. Something interoperable with JS.

For analogies, look no further than ASM in the early days and the motivations that brought us C, but with the lessons learned as well.

Rust is fine for this, except for interoperability.
Soviet coins were specifically designed with this in mind:

1 kopeck - 1g

2 kopecks - 2g

3 kopecks - 3g

5 kopecks - 5g

(They didn't keep it proportional for 10+ probably because 5g is already a fairly hefty coin.)
There was an NVDA earnings watch party in NY this summer and Jensen signed some boobs earlier this year. There are some signs but still room to run
Hopefully the lot includes that writing stuff in low level languages isn't worth the pain most of the time.
yes it has for early adopters but there are still lots of dinosaurs out there just now trying it out.
> Whereas if it’s written in a native language, I’d need to check out the source code and compile it myself – a big barrier to entry.

Is it though? Rust/Zig/Go programs are pretty much all incredibly easy to checkout and compile, it's one of the big selling points of those languages. And at the end of the day how often are javascript developers fixing the tooling they use even when it's written in javascript?

I've always felt learning new languages give me not only new tools to use but shapes the way I think about solving problems.
most static type systems are verbose, probably due to linguistic verbosity, so one obvious thing that static type systems have probably done to a lot of people is given them pain from typing so much.
Works fine in FreeBSD/ufs :p