skysight-inc/HackerNews huggingface dataset:
Thanks, that explains my mixed feelings. C# is very good to me, I feel very productive, but it also feels like "stricter Python" or something, which is not exactly what I expected, after being exposed to C++ for a great while. C++ occupies such a weird mix of formalism and "here's a knife, do something with the knife", but I've found that since a few years back I almost never have a program crash on me in C++. Just logic bugs. I must have found treaded garden paths.
I’d also add https://www.ghsa.org/resources/news-releases/pedestrians-pre...

> A combination of factors creates this deadly situation for people walking on U.S. roadways. A steep drop in traffic enforcement across the country since 2020 has enabled dangerous driving behaviors – including speeding and driving impaired – to flourish. At the same time, roads are largely designed to prioritize fast-moving vehicle traffic instead of slower speeds that are safer for people walking. Many parts of the country lack infrastructure – such as sidewalks, crosswalks and lighting – that help protect people on foot. The U.S. vehicle fleet is increasingly dominated by larger, heavier vehicles that are more likely to injure or kill people walking.

I think the pause on enforcement a lot of police departments did after the George Floyd protests is a contributing factor to that first point: it’s not just that the worst drivers realized that they could do whatever they want after buying some fake plates on Facebook[1] but that other drivers start feeling like suckers for still following the rules. I wouldn’t say the drivers here were ever great but they used to at least stop for the red light in front of the neighborhood elementary school.

1. This was incredibly blatant - clearly neither Facebook nor police were interested in doing anything about it. A local cyclist spent a few minutes looking and found tons of sellers:

https://tomlee.wtf/2023/02/03/fake-tags-are-a-real-problem/
I can give an example scenario.

Assuming "H" is the hash of the current state of the repository content, consider this initial state of the repository (most recent first):

H(3) Implement feature B
H(2) Implement feature A
H(1) Initial commit

Now you implement "shiny feature", so your history in your branch looks like this:

H(5) Shiny feature, improvements.
H(4) Shiny feature, initial implementation.
H(3) Implement feature B
H(2) Implement feature A
H(1) Initial commit

You tested H(4) and H(5), and everything looks good.

Then you `git pull --rebase`, and your history looks like this:

H(10) Shiny feature, improvements.
H(9) Shiny feature, initial implementation.
H(8) Pulled commit C
H(7) Pulled commit B
H(6) Pulled commit A
H(3) Implement feature B
H(2) Implement feature A
H(1) Initial commit

You test H(10) because it's the current state of your repo, looks good, and merge (or create PR, whatever).

With the usual pull request flows, `H(9)` (i.e. anything between your new "base" and your most recent commit) usually stays untested, entirely ignored by the developers, and you would only ever find out if you ever need to bisect.

Not usually a problem, unless you have a rule of "every commit should be verified/tested" and the untested commits have a change that doesn't prevent a build but still causes issues (e.g. something that's only visual, or a new config file was added to a "conf.d" directory and its presence changed some behavior, stuff like that).
Correct, which is why allowing no-store app delivery would unleash an even greater chaos. In a world where any random website can trick a user into downloading an app via sideloading, there's no hope to protect people from 'unclean' software.
For the lazy-but-not-so-lazy you can just install Proxmox, as weird as that sounds at first. Still Debian based, still supports root on ZFS with the GUI installer, and then you get a virtualization/container host with a friendly GUI on top for free. You can even make you NFS/SMB/Whatever shares as containers if you want to compartmentalize.
My understanding is that the UNIX socket based protocol which libsystemd wraps for this specific feature is documented, stable and simple.
Wonderful article. Protesilaos does great work, and doesn't indulge in popularity contests, or shy away from uncomfortable realities as he sees them (which apparently is difficult for some HN readers). Keep it up, Prot.
I would argue the same reason "quiet quitting" has become more of a norm. Corporate interests that are pushed to various media that becomes 'standard'.
It is mostly just an iOS under the hood. Apple separated the iOS and iPadOS, saying that this way they can develop for it separate exclusive features. While we have things like multitasking and stage manager, mostly it’s been an excuse to bring iOS features to the iPadOS with a delay for a year.
Finally UK does not have to deal with EU regulations. They just do it. Unironically congrats from the mainland.
Apple should walk away from the communism of the EU.
It's a principle shared by quite a few people, and about twenty to thirty years ago was quite culturally important. Wikipedia has a really interesting section on anti-tie sentiment: https://en.wikipedia.org/wiki/Necktie#Anti-necktie_sentiment The world has moved on so fast we have forgotten how recently this was a genuine issue where this stance was something people felt was relevant to them.

For RMS, it will likely be related to the counterculture, anti-business or anti-capitalism stance. For a long time, a suit _and tie_ was the uniform of going to work, until well into the eighties or later in many places. (The British didn't even stop wearing bowler hats to the office until the sixties!)

In the late nineties, wearing casual clothes to work in the office was seen as one of the perks of freedom the growing programmer culture had (this is back in the days when Google was 'don't be evil' and everyone was excited about tech.) I'm starting to feel old because while I was still in school at the time, I remember people dressing what today would be quite formally in the office, and it being a really big deal that tech companies had different standards. It was the kind of thing people on Slashdot (remember that?) celebrated about tech.

So - the symbolism of a tie, or being anti-tie, seems very in line with his old-school counterculture hacker ethos.
Ah that's great, because that's a category of apps that's not doing great in terms of privacy: https://foundation.mozilla.org/en/privacynotincluded/categor...

(And unfortunately this is also fairly sensitive data in some regions...)
I’m not talking about the LLM case, just the mantra of “don’t roll your own crypto” constantly. Comes off as unnecessarily gatekeepy.
I'm glad that didn't stick around, like ¥/₩ being used for directory separators like \. I can't imagine trying to read source code with those substitutions.
Raspberry Pi 5 vs. Intel N100 mini PC comparison
Thankyou, great story :)
> If you want something to be open, you have to accept it will also be open to entities and ideas you don't like. If you don't want that, you don't actually want "open".

sure, but i worry people see a single label like "open source" and derive a book-long prescriptivist explanation for the thing instead of seeing that it's just an incomplete, fuzzy short-hand. i don't care about "open source". i care (among other things) that when my environment isn't the way i like it, i have the power to improve it -- and in the digital space being able to access/modify the code is how i do that. if one were to bring that interpretation to a physical space, people would apply a much different label to it, even if it meant the same thing to everyone involved. "open source" is just a label: not a map.

> One way out of this specific situation would probably be a fork, which I suspect is what will happen.

one final thing from me: i believe hyprland (mentioned earlier) is a fork of sway, and despite the lead devs of the two being rather at odds with each other... the projects in fact still collaborate, just at a distance, on a common upstream (wlroots). alternately, `rofi` is very adamant to remain X11-only, and there's a sustained fork of it for wayland. but because it's plugin-based, a very large amount of contributions happen in areas completely unaffected by this split.

"forking", in the colloquial duplicate-the-codebase sense is just the most callous manner by which to provide separate spaces for those who can't share a space. plenty of projects out there are full of the same type of disagreements we see in NixOS, and have effectively forked (i.e. provided separate spaces or brands where there otherwise would be only one) but either did so very early on (by adopting something like a plugin model) or did so in a behind-the-scenes manner (by splitting components into separate spaces). i hope that's not too wishy-washy: i believe the technical structures and the social structure of NixOS will eventually settle into some convergent equilibrium, and i believe the result will be better if we're intentional in that process.
Entitled much?

I just learned to not care. I say "hi" to notify that I'm there and let them type. When an answer is required from me I pay attention, think and answer. Until then I ignore it.

I found it so much easier for me to learn not to be (too) distracted than to lose my mind trying to educate humanity to adapt to me.
> Using a telescope to look at things, one only sees a black and white image.

I remember seeing Jupiter in colors when looking at it from the backyard of a friend of mine.

That telescope didn't have a motor and we were constantly chasing Jupiter manually. It stays inside the ocular only for a few seconds, then Earth points us into another direction.
> They don't even know the difference between length and capacity.

High level languages go out of the way to make sure you don't need to worry about this stuff, so it's natural people just don't. And a lot of the time, the language runtime applies to many optimisations that you can't really know what will happen (and even if you know, that can probably change as the language may not guarantee the behaviour will never change).

If you do JS/Python/Ruby and similar languages, there's zero reason to know the difference between heap and stack. In fact, I think most of the time what may look like a heap allocation may be optimised by the JIT to become a simple variable on the stack!

But of course, if you want to up your game and do more low level stuff that can squeeze the most of performance from the hardware, it's important to learn that stuff. But you probably need a language that enables you to do that. Rust, C, D, Nim etc. all allow you to tell the compiler exactly how to manage memory. Which is a blessing or a curse depending on whether you care about it or not.

Languages like Java and C# are right in the middle: they do let you manage some stuff (e.g. ArrayList capacity that you mention) while hiding others (Java doesn't let you directly ask for some reference type to go on the stack but does escape analysis to try really hard to put your Object memory on the stack for you anyway).
My sister has this annoying behaviour on chats, she will send a "hi, how are you?" and wait for a reply to then proceed with the conversation. I don't reply messages promptly, usually leave it to be replied when I have idle time to get in the context of it, it's not a productivity thing but just something that eases me.

Sometimes it will go days with just that message lingering "hi, how are you?" until I reply to then after a few hours/a day I finally get what she wanted to ask. It's just annoying, I've told her I much rather receive a "hey, how are you? I need some help with X" or whatever else it is the conversation to be. It's just easier and effective async communication (we live in different timezones).
Same with PostgreSQL. You can choose between text output (one table row per line), XML or JSON. But none of them are ordered according to a strict execution order like bytecode would be. To me that makes perfect sense though because if represents what can be parallelized in the plan. The bytecode representation in SQLite seems to have the inherent limitation that it is single threaded.
> a solution to this problem

A solution is obvious – use await instead. Modern versions of the language even support async main function.
This might be an ignorant statement on my part - but I don't see how I am "locked-in" to using github.

If I have any software to share on a github page - it is simple a git repository. Whats stopping me moving that over to another web host?

If the projects are private -- can host them on my own server... or the company I work for.

All github really has it popularity. If you have created something really, really cool - it might not get the recognition if not on github. However, there are plenty of ways to advertise it - like on here, or other media outlets.

Not disagreeing with you and, yes, maybe I am missing the point here. I was sad when I heard M$ owned Github and I would not be surprised if there is a long tern goal in relation to the `EEE`

I work for companies that are all in on M$ products.. not just Office, etc.. but the development tools like SQL Server, .NET etc. Outside I will always push for alternatives.

EDIT -- added extra..
I think it will be interesting when large projects start to have issues with the slow M$ changes with github and decide to move away, or create their own. For example, the linux kernel! That would be pretty big news and might start rippling effect.
As I Understand I ? (First time i seethis abbreviation)
Let me get this right: you see an article on a new thing, which you have no problem with, but have an angry rant in the comments section anyway? And now you're baffled by people's reaction to that?

I'm not sure there's much point engaging further, I hope you have a good rest of the day.
The Iroquois had farms, you know. They grew corn and lived in a communal system where unused land was shared, but there was enough for everyone to have their own area as they wanted. Women had important roles in the labour force and political system. Famine was apparently quite rare, to the degree that the first Europeans across the pond were envious of their food security.

Down south, the Aztec capital was built in the middle of a lake, and had probably around as many people living in it as London, Paris, Venice, and Lisbon combined. The marketplace alone was around the size of a European capital. Tenochtitlan had aqueducts made out of terracotta, and the people bathed twice a day and drank spring water from a separate source. The palace had multiple zoos, gardens, and aquaria, and the nicer parts of the city were built entirely out of brick and masonry. The big temple in the middle was hundreds of feet tall, and only a couple meters shorter than Notre Dame in Paris.

Of course, all of that was destroyed, completely and utterly.

The myth of the romantic Age of Sail explorer is not compatible with the power structures of the time. What king would send perfectly good ships away "just to see what was on the other side", when there were political rivals to outcompete and usurp on this side? And what king would survive sending such resources away, if they did not gain a profit from doing so (through whatever tactics of exploitation were most expedient)?

Certainly the world would have been quite different if Columbus and Cortés decided to work on themselves, instead of concluding that the Earth is shaped like a tiny pear so they should raze a couple cities they just found out about, or whatever else was going on in those men's heads…
The UI elements on iPadOS are necessarily larger to accommodate touch.

It's just a lot less information dense than macOS, and making it the same scale will make using it as a touch device harder.
> Secondly, the Android ecosystem seems to be doing well

Android apps are notoriously pirated through and through.
For a smaller company in developed market anything Android is a second thought because monetization is much harder
Link should be:

https://en.wikipedia.org/wiki/Sama-Bajau#Free-diving_adaptat...
It’s the weird conspiratorial tone (see their other comments). There’s a century of precedent for safety equipment and from a privacy perspective this is a non-issue – I’d be far more concerned with data from things like OnStar which actually connect to a network or LPRs. There could be a good conversation about privacy and costs but I doubt it can start from that point.

I would also note that you can find the same general comments, almost word for word except the stuff about COVID restrictions, said about antilock brakes, seatbelts, daytime running lights, airbags, etc. Some people have an instinctive reaction to oppose any new requirement.
Yes - stay tuned for long context 70B
I mean, anecdotal, but... unhoused people, soldiers, campers, etc sure seem to get plenty tan when outdoors even when not taking regular hot showers.

Anyway, it's good to think outside the box, even if this theory is probably a miss.
> It's git.

Not really... Github offers bug-tracker and CI as well as "pages", user management, various automation APIs, Web access, of course... Also, integrations! Want to publish your documentation to readthedocs dot com? -- You need integration with that site! Some really shady languages also now want you to use GitHub Actions to publish packages "to ensure authenticity" (there was a thread on yc just a week or so ago). GitHub can also serve as a built releases repository.

Github tries very hard to make sure users don't migrate elsewhere.

By supporting GitHub (through hosting your code in it) the way it is right now, you will be helping MS to train their editor enhancing features. Bug-testing the free tier of their paid services...

I'm not sure the deal is worth it. I'm much more pro divorcing the private interest from the public good. I'd rather my taxes paid for free software hosting.
The guy built a programming language in the 2010's by ignoring everything that happened in the computer science community since his heyday, and tried to spin it as an improvement.

The ways people found to circumvent his hubris are pretty entertaining [1].

[1]: https://www.reddit.com/r/rust/comments/5penft/parallelizing_...
"Then, one day in February 2020, as COVID-19 swept the globe, access to FireChat was completely cut off without explanation."
Is it hard to implement? It must be forbidden to have loops in the potential call graph. So, basically no recursion, direct or indirect. In this case, compiler with global visibility can calculate maximum call stack depth.

I mean, it doesn't sound particularly hard technically, but is it too limiting for developer?
Sounds like we have a systemic problem where just growing the economy wont fix the wealth gap for basic shelter.
Aka missing out on all the delicious profiling information approaches with later translation enjoy. There's no simple best answer.
Is the humongous fungus bigger than Pando? I had heard that Pando is the biggest living thing on earth some time ago.

By which degree does this article make Pando bigger than the humongous fungus?

Edit: Wikipedia agrees with the article saying that Pando is considered the biggest organism by mass. But it also says the humongous fungus could be up to 35000 tons, which is almost six times Pando's mass
Lightweight, React IDE component with code execution
Hi there,

I built a React code editor component that also compiles, executes and returns the outputs of the program written in it. At the moment, only Python is supported but I think this will change in future.

Hope it helps someone out there - please feel free to reach out if I can assist.
Performance analysis indicates that SQLite spends very little time doing bytecode decoding and dispatch. Most CPU cycles are consumed in walking B-Trees, doing value comparisons, and decoding records - all of which happens in compiled C code. Bytecode dispatch is using less than 3% of the total CPU time, according to my measurements.

So at least in the case of SQLite, compiling all the way down to machine code might provide a performance boost 3% or less. That's not very much, considering the size, complexity, and portability costs involved.

A key point to keep in mind is that SQLite bytecodes tend to be very high-level (create a B-Tree cursor, position a B-Tree cursor, extract a specific column from a record, etc). You might have had prior experience with bytecode that is lower level (add two numbers, move a value from one memory location to another, jump if the result is non-zero, etc). The ratio of bytecode overhead to actual work done is much higher with low-level bytecode. SQLite also does these kinds of low-level bytecodes, but most of its time is spent inside of high-level bytecodes, where the bytecode overhead is negligible compared to the amount of work being done.
The article continues with all of the different ways you could do sync-over-async and all of them have downsides. There's no "good" solution that could be recommended.

The community consensus is to do `GetAwaiter().GetResult()` and simply accept it's not an ideal usage.
I have a Surface Pro and really like it. But for sure it is 100% a compromise experience, especially on the tablet side.

But part of it was reconditioning myself; the “proper tablet experience” largely comes from limitations of what they let you do with it. And with more features comes some complexity. For me it’s worth the tradeoff.
North America is populated mostly by desecandants of later immigrants to the continent that had nothing to do the original "exploration". The common folk in the colonizing countries had nothing to do with it either. The original local populations were all but wiped out by disease and war. The people who actually did most of the "exploring" were probably too busy worrying about surviving scurvy and and the winter to care about such romantic ideas. And at least one country (Scotland) was effectively bankrupted and lost its independence specifically because they spent an unreasonable amount of money on packing perfectly fine people onto ships to send to their deaths.

You could say we're better off as a civilization than we were a thousand years ago. But that's true in nearly all countries, regardless of their colonial history. I suspect it has more to do with the Haber process and refrigeration than James Cook or even Ferdinand Magellan.

Focusing inwards to grow isn't "languishing". And while I'm all for the platonic idea of exploration for exploring's sake, there is also a stage of (im)maturity where trying to go somewhere new just results in bringing all your old problems with you.
> Asynchrony is viral

> 1) Once you go async, all of your callers SHOULD be async, since efforts to be async amount to nothing unless the entire call stack is async.

> 2) In many cases, being partially asynchronous can be worse than being entirely synchronous.

> 3) Therefore it is best to go all in, and make everything async at once.

I agree that all callers should become async. But I disagree that all callees should also be async, which is what 2 and 3 seem to imply.

You don't async for async's sake; you async to route around delays caused by blocking calls.

In their good example,

public async Task<int> DoSomethingAsync()
{
var result = await CallDependencyAsync();
return result + 1;
}

they've included a line of business logic after the async machinery. If this logic grew to more than just (result + 1), I'd expect that code to be in a separate synchronous function.

I probably also wouldn't write out DoSomethingAsync() in full, either in the simple example above, or in a version with more complicated result-handling. Most of it is boilerplate:
start a function
call one function
un-async the result into one variable
do one thing to that variable
repack it as async
return it

If you want 'one bigger than CallDependencyAsync()', why not:

CallDependencyAsync().ContinueWith(r => r + 1)

and if the logic grows, then:

CallDependencyAsync().ContinueWith(r => handle(r))

private int handle(int result) {..}
Excellent, thanks for sharing! will definitely give it a shot!