skysight-inc/HackerNews huggingface dataset:
> Ruby culture thinks it's a great idea to use global mutable state in lieu of request local state all over the place because the code looks so beautiful if you don't have all of these parameters and just grab stuff from the ether

That is utterly incorrect. Make it s/Ruby/Rails and you'd be somewhat more correct. Cue Rack, Sinatra, Hanami, Roda, and that's just web "frameworks".

> all of your dependency tree (three quarters of which probably had its last release in 2017)

I don't see how that could make sense. Some libraries can be mature and thus not warrant much, if any, update.

Also, the aforementioned pattern is only present on a small subset of Ruby gems, usually ones that are close in mindset to Rails.

Nothing prevents anyone to code in Ruby in a functional-like style, nor pick dependencies that are written with such sensibility. But if you wilfully pick Rails you can't really expect to veer too far from the philosophy that comes with it.
How extensive is the Unicode support?
I wish NNTP was still alive and widely used - it is easier/faster to subscribe to a newsgroup than to a maillist and once you've subscribed you can see old messages in your client and reply to them (not only new messages like with a maillist).
Surely no different from a human not understanding Japanese, because it was not in their 'training set'?
My bad, I should have written [he/she].
After years of using Ubuntu Mono, I've switched to IBM Plex Mono six years ago and I just can't find a better one now. That one feels weird, especially the curly braces.
If you go to https://www.ibm.com/plex/gallery/ and scroll down to "Plex will be mega-international.", you can replace that text with your own, for testing. But I agree that it's ridiculously overengineered and it took way too much time to find this.
Cerebras is the anti-chiplet approach, working at the wafer scale stitching together reticle sizes islands of logic using on wafer wiring.
I initially had this same reaction. Well, perhaps less stridently assembled, but my initial take on it was the same: that ligatures for coding fonts were objectively dumb.

But, I was wrong. In several years of using them now, there has never been even one case of the theoretical "mistaking a different glyph that looks similar to the ligature" or "mistaking a ligature character sequence for a single character".

It's never happened to me, and I have never heard of it happening to anybody else that I know either. If you have a U+2260 in your code, and that's not valid in your programming language but your editor isn't flagging it as an error, then you have way bigger problems than ligatures.

On the flip side, though, it has absolutely made it easier for me to scan and read my own code, and the code of other people. So what I initially thought was "all downside, no upside" turned out to be quite the reverse.

Note the "for me" qualifier, though; I get that not everybody benefits in these ways. YMMV. I like speed metal, avocado toast, ligatures, and Allman brace style. You may not like these things.

But only that last one has any effect on others. If I insist on using my favorite brace style, sure that's annoying if you have to regularly work with my code and you prefer one of the incorrect brace styles like K&R.

But ligatures don't affect you; they just make my life better. Therefore, it's not a topic worthy of controversy, or of trying to tell other people whether or not they should be using them.
Not a strong argument against it being hallucinated.
I just tried it with ChatGPT, and for both pronouns it gave the answer "the student"

I note it is now "ChatGPT May 12 Version". Maybe they've fixed this example of bias
Eager to test this system prompt with bigcode in chat mode. Wonder how will it affect answers quality in practice.
Ah, I don't read it frequently enough to have noticed such bias.
Let’s disregard the comparison to phrenology, now it’s clear it was done in bad faith. But what exactly is your position? Do you think it is impossible to not be racist and believe in racial media bias at the same time? Is it an obvious dog whistle that someone has to be either stupid or autistic to misunderstand?
The real world is a squiggly place, with blurred lines...everything is on a spectrum.
On non-Linux systems it just uses libev to for I/O readiness and for timers, and uses normal syscalls for the actual I/O.
Wow, thank you for your really helpful reply, and your thoughts on the matter of concurrency and the various approaches.

I would wonder if pipelines, and Kafka style and functional reactive programming and reactive designs could be adapted to be async.

I would love to know how you would approach the design of a fiber application.

From my limited understanding of fibers, I would start by drawing a diagram, probably a tree or graph of all the components and draw links between the connections between fibers and components.

From what I understand of the code, you can send fibers to other fibers with the "<<" operator.

This reminds me of Golang's channels and send and receive operators on channels.

I notice the use of the word "spin" to "create a fiber" which seems to be an analogy of fibers being literal fibers or strings that are attached to eachother and "pull" and "push".

I asked the following two questions on Stackoverflow.

What's the most efficient way to fork and join control flow multiple times in a multithreaded program?

https://stackoverflow.com/questions/75866966/whats-the-most-...

A while back I was trying to understand Python's asyncio and I asked this question:

What's the canonical approach to creating multiple producers and consumers with coroutines in python asyncio?
https://stackoverflow.com/questions/74420108/whats-the-canon...

I feel that wiring up asynchronous system components is kind of not ideal because you have dependencies have to refer to eachother and you don't want to solidify dependencies because you might want to reuse components.

This article highlights that problem of wiring up coroutines/fibers in the right order and which side refers to which.
https://www.chiark.greenend.org.uk/~sgtatham/coroutines.html

I wonder if there could be a pattern where every fiber receives a sequence of fibers that "configure" the fiber, like a calling convention of a method, this way runtime configuration can be separate from the definition of asynchronous an pipeline.

In my original code sample, my code refers to the children tasks. In your code sample, the parent refers to the children tasks. This seems to be a property of structured concurrency.
After double digit years in software development, terms keep confusing me and often the ease with which they are introduced often puzzle me. Like map, set, list, array, object, subject, collection and switch. The way every other language uses them in a slightly different way is confusing for English natives, let alone foreign languages. It is not only documentation that is lacking, it is also the way every other new kid on the block implements the same thing in a completely different way.
In class, when I mention Seinfeld, or for that matter, Friends, to illustrate a point, many of my students (law students, mostly in their early- to mid-20s) barely know what I'm talking about. You can imagine how my pop-culture references from the '60s and '70s sail right over their heads. (When that happens, I use the occasion to joke about my old-fart status.)
Also made the Grauniad - https://www.theguardian.com/money/2023/may/10/how-can-hp-blo...
Ya but we have not outlawed tools that create audio files nor have we outlawed audio formats. So?
From this kind of response, it's always so hard to tell whether it's easy for you because you have the relevant experience, or you just think it's easy because you don't.

A (very non-exhaustive) list of interesting questions about IR design are:

* What's your model for delayed UB and UB materialization?

* What's your provenance model?

* What's your strategy for information retention and handling of flow-sensitive facts?

* What inherent canonicality is there?

* What's your approach to target or domain specific extensions?

* What is your strategy for formal verification of refinements?

Questions like "What instructions does your IR support?" are fairly uninteresting, and are not what IR design is (mostly) about.

It's worth noting that LLVM's own IR design doesn't have a very good answer to some of those questions either, in part because making changes to an IR that is as widely used as LLVM IR is hard (been there, done that). It's easier to design a new IR than to change an existing one -- however, unless you just want to reinvent past mistakes, it is certainly helpful to have deep familiarity with an existing IR design and its problems.
It can be quite possible that we, humans, just cannot find uses of "you," "me" and "them" that require understanding of the concepts instead of statistical correlation. I think so because "you," "me" and "them" are very frequent words and most of their uses are very well covered by thousands of examples.
Cybernetic Culture Research Unit
Can Songs Replace Philosophy?
I have been following this space for really long time. I think closest competitor is Airplane.dev [1]. One of the most difficult thing to sell as a sales person is to sell an open ended workflow and UI engine and ask me to segment and prospect customers. It is not that you cant sell it, it is just too broad even for your customers to figure out a usecase, because theres always a specific tool to solve the usecase. For instance, stripe refund is one most common usecase posted by all of these platform, but there are actual tools that just does stripe refund and they solve it in depth. You can argue these tools are value for money but then if it involves build time, in long run it becomes expensive. Retool is actually captured the market really well. It is basically become the verb in the internal tool market, it is hard to compete with that even as an opensource project.

[1] https://airplane.dev
so if I am doing async calls on DBRepo inside that function they can not be moved to a different thread by a runtime like tokio?
What a fascinating list. It’s effectively guessing whether something is a business email, given that it’s blocking domains like gmail.com, outlook.com, fastmail.com, and yahoo.com.
Windows does a lot of things in the kernel that Linux lets userspace handle. Part of that is the way UI is dealt with: for Windows UI is part of the core system, whereas on Linux it's a userspace tool you can install if you really fancy it.

There's also the advantage of being able to add Rust to the build pipeline without someone complaining that you broke the build for their TI-83+ calculator because there's no Rust compiler for that platform. Windows deals with amd64, x86, aarch64, and maybe some simple 32 bit ARM, but that's about it. Nobody is going to care about support for MIPS or Power9 or Motorola 6800 or SPARC or Xtensa.
> It's not clear they ever will be;

It seems to me that the ability to reason ( though primitive it may still be) is an emergent property of sufficiently large differentiable hash/lookup tables (and if you think about the mechanism of reasoning, that seems... Reasonable).

According to "folks in the know", the scaling limits of GPT architecture seem to be nigh, but if it were a bit higher I wouldn't be surprised if LLMs would have made it.
Thanks!! I didn't know about these leaks.
I don't propose we worship AI, but objectively we need to learn its discoveries and keep up. And maybe AI will take the lead in finding the best way to do that.
I knew that breathing through the nose heats up the air before it hits the lungs but the energy recovery aspect is news to me. How does that work? Do we have a heat pump in our noses?
It's like the era of SQL injection or input validation all over again
I think this is fairly unsurprising.

My (partial/incomplete/buggy/experimental) Ruby compiler generates awful code, and still by far the biggest performance bottleneck is creation and garbage collection of objects that improving the low level code generation will have only marginal effects on.

E.g. finally adding type tagging for integers (instead of creating objects on the heap) sped up compiling itself by tens of times (taking it from unusually slow to comparable to MRI on that specific task) and there's nothing a low level optimizer will do to figure out transformations like that.

Maybe one day I'll get far enough on fixing the high level issues that it'll be worth even trying to do more complex low level optimizations, but that's a long time away.
I've been doing exactly the same thing for a number of years, and I find it a much more intuitive way to use TypeScript.

First, to ensure a focused discussion, I think it's a good idea to separate out TypeScript the transpiler, TypeScript the language, TypeScript the type-checker, and by extension, TypeScript 'types'.

Personally, I don't like transpilers. I never liked CoffeeScript and I hate not being able to see the 'actual' code when looking inside a Docker image in a K8s cluster. I also don't like using non-standard features in a language; I'd far rather live without something that is TS-specific, and if it turns out that this feature has legs, then just wait for it to be included in vanilla JS. (Not to mention that it smacks too much of vendor lock-in, for not much benefit.)

But I do get that this is to some extent because I'm primarily coding to Docker images, rather than multiple browsers. If I want to bump the version of Node to get some new feature, it's pretty easy. So I do recognise that for people working on the client side, where bundling and source maps and all that other chaos is the norm, then transpiliation is no big deal.

(Having said that, back in the day we all used to love that you could hack away on a web app using files on a file system, just loading HTML, JS, and CSS... It's a shame that we seem to have lost the 'vanilla first' approach to software, and leap to preprocessors for everything.)

Anyway... my first point is simply that TypeScript as a _transpiler_ doesn't have any appeal to me.

But I'm not about to throw the baby out with the bath water.

As with the original post, I love types! I think TS types are the best thing to happen in years. Where possible I like to use declaration files as the single source of truth (type first development). From there you can generate GraphQL and OpenAPI schemas, use them to drive contracts for implementation, share the files with other developers using other languages, and so on. And as with this post, I make the connection between the types in the declaration files and the code in the JS files, primarily through inference, and then as necessary through JSDoc.

As with many things, there is going to be a lot of personal preference to this. Since I like the way that Haskell puts type information on a separate line to the function that is being described, it's probably no surprise that I also find the JSDoc approach of putting the types in separately more intuitive.

And since it's easy to configure an editor/IDE to use TSC to lint and provide intellisense on JS files, you can get all of the advantages of TypeScript without having to transpile.

That seems like I pretty good deal to me!
I think many people, like me, found your other content through this link and took that as an opportunity to vote this link.
And yet the page renders text fine in both lynx and links in the terminal. I've noticed that with a few of these 'no javascript means no content in Firefox' Web sites.
Testing firmware is not the same as testing hardware.
Mailing lists should be a thing of the past. Even email itself as an infrastructure has degraded too much to be an adequate solution for being used by open source projects.
Well, yes. But if I send an email to a gmail address I know what I am doing and want it delivered.

When I send such email to a custom domain used by a Google office customer it's even worse. Then their admin gets to see my mail (not sure how much detail of it) in the admin interface.
How much of the Beatles do they recognize?
Haha we are all going to be replaced by AI / leverage it, so it better be open sourced!
I also prefer learning by reading. But there are some things you can only learn by doing. I usually don't like and try to avoid technology that I should be able to learn by reading, but which is so *uck*d up, that you can only learn it by doing.
> Not surprising. Linux is one of the few monolithic kernels.

This is an amusing claim, given that Microsoft's first use of Rust in the NT kernel is in win32k.sys, which is the in-kernel code that used to live in userspace back when NT was actually a microkernel. So pre-NT4, which was released in 1996.
Apparently not, but there is a video:

https://www.youtube.com/watch?v=5jKKVdJJqKY
I'll chime in here because it looks like you've had a terrible time with someone who's a [insert word of choice].

TDD "evangelism" is often toxic and abusive. The actual practice of a functioning TEAM (not just the devs) who know what it is and how it works, changes things fundamentally for the better.

Spikes are used to do the "whimsical" how the F do we do Y, parts. XP devs don't TDD those and the code is usually tossed out (with the good bits used to help build the production code.)

Similarly TDD isn't a religion, and only an fool would apply it like one. The good parts are, you get a test suite, you get developer examples of how to use a unit, you get an extra step to think about naming, so you're _slightly_ less likely to be saddled with a poorly thought out API / naming scheme.

It's broadly useful, helps teams integrate code, much faster.

Everyone needs to be playing the game, though, and they need to know the rules.

C2 wiki is about the best place to find organic conversations about XP and TDD (archived though, so no sanctimonious claptrap from the likes of me), and the wide internet is a great place to get polarized.

I'm sorry you got a bad taste, and it may have put you off, but a functioning TDD team is about the sanest, quickest, dev team you'll have the pleasure of working with. While, as you've found, an oppressive diktat to DO TDD PROPERLY when the team isn't really doing that, is hellish.
The whole thing is a sham but this guy is nuts to think prosecutors can't pull punches. I would agree with this guy if only I could be allowed to sue him when he over prosecuted or under prosecuted. What kind of a prosecutor does not appreciate prosecutorial discretion?

"The people" can fight for themselves by voting and they voted for his bosses. Fighting for the people means honoring their electoral decisions!

There is a lot being said between the lines here that I won't get into but this guy leaving the state and his job is a good thing for everyone involved.

You know, many developed countries are far more lenient on bail bonds,sentencing,etc... than even illinois. But the fact of the matter is, criminals can get caught and do get locked up even in his state but the police and his colleagues are worried about locking up drug dealers and users and overpolicing minorities to meet quotas. He and his cop buddies suck at their jobs and like their peers in other big cities they are conservative and blame their own incompetence on liberal elected politicians whom the people support.

Criminals they go after can't afford good lawyers like the ones that make ADA and overworked and resource starved public defenders can only do so much and this guy has the nerve to claim they are equally resourced like prosecutors are!

The more I think about it the more this guy pisses me off. Who told him locking up criminals and preventing victims was his job? His job is to prosecute in accordance with his elected boss's policies! Not appointed, but elected!
Maybe pivoting AT&T is a bit like pivoting a planet-sized supertanker.
Infiltrated? China has always openly pushed for the presence of CCP organization in business, state-owned definitely and more and more private ones - [1]

the CCP Constitution outlines more specific powers for party organizations within companies. It calls for party organizations to be formed in any company that has three or more party members. For SOEs [State Owned Enterprise], party organizations should “participate in making decisions on major questions in the enterprises.” The CCP Constitution sets a lower bar for party organizations within private enterprises, stating that they should “guide and oversee their enterprises’ observance of state laws and regulation.”

The article cited the example of Xiaomi, but of course it's the same deal with any other major companies, especially those doing substantial international business.

[1] - https://www.seafarerfunds.com/prevailing-winds/party-committ...
> Among popular server-side programming languages, Go is unique in its use of a garbage collector to manage memory.

Hmmmm....
This is similar to the "dual LLM" strategy proposed by TFA author elsewhere.
Data denormalization makes sense if the data is written once and never updated - like with a data warehouse / analytics.

If you need to update the data then denormalization can turn into a big source of trouble. For example you end up with many copies of the same stuff, and you must make an extra effort to update all the duplicates upon update.

Or you end up with multiple entries, where the validity of an entry is determined by some extra 'isValid == true' or 'deleted == false' field. Now all these 'invalid' entries then start to clog up the table/collection, and performance may quitely deteriorate.

I once had to use a denormalized schema for nested data, as lookup through too many reference would have suffered. But that wasn't funny at all.
I don't know existing tools for this kind of a task, but I think it wouldn't be that hard to write your own solution.
You're right! I was talking only about the structure of the document, in particular, providing context in second person.
Gravity /Information Equivalence
> You're basically saying workers don't do anything useful.

Not quite: bullshit jobs are when the workers themselves say their own job isn't doing anything useful. And apparently they comprise a sizeable portion of all workforce.

Of course, jobs people say are useless, jobs the workers themselves say are useless, and actually useless jobs, are 3 different sets. But I think we can confidently say something is wrong when so many workers say their own job is useless, even if they aren't: working a job you think is useless just isn't healthy.
You can tell it that you can buy white paint any yellow paint, but the white paint is more expensive. After 6 months the yellow paint will fade to white. If I want to paint my walls so that they will be white in 2 years, what is the cheapest way to do the job. It will tell you to paint the walls yellow.

There’s no question these things can do basic logical reasoning.
I'm not sure the location data aspects are great but yeah, there is some discrepancy between what the parent post was claiming and the policy states:

> Certain vehicles equipped with an interior, driver-facing camera [...] If you opt-in and link your user profile using the in-vehicle “Setup Face” process, the Face Identification feature may use your Facial Geometric Features and Profile Data... Your Facial Geometric Features will only be stored on your vehicle.

> External Vehicle Video Capture. Owners of certain vehicles equipped with [...] may also opt-in to participate in External Vehicle Video Capture...

> To use the App Suite, you must download the application and accept the End User License Agreement... We will use Voice Recordings to improve our responses and voice recognition. To facilitate functionality of your App Suite and linked third party services, your vehicle may share your Location Data and Voice Recordings transcriptions with your third party services...

(Emphasis mine)
The way to “configure” LLMs is training, yes!
> How much of the Beatles do they recognize?

Generally speaking, many of my students appear to know (vaguely) who the Beatles were, but that seems to be about it.
Because they want to monetise and own the entire thing, even more than the most successful "everything app" (iOS) already does.