skysight-inc/HackerNews huggingface dataset:
One of the things that happened in the meantime is the rise of the social networks, which shifted public perception towards the most visible people on those networks.

As a result, the Right is seen as a bunch of bleach-injecting, QAnon-infested Russophiles with Confederate flags, while the Left is seen as a murder of nonbinary crow-identifying blue-haired individuals with rainbow flags; with both absolutely happy to trample the current societal order (and the national flag) into dust to achieve their Nirvana.

Doing anything constructive in such condition becomes a lot harder, because these stereotypes engender a lot of division, hate and distrust.
Given how many people made the same reading (even to the point of the same joke), I'd argue they're arbitrary rules applied largely consistently, except when some marketing droid shows up.
I'm waiting for the day when we will finally admit to ourselves that the Semantic Versioning experiment has failed.

The purpose of Semver is to allow software and people to determine, from the version number alone, whether and what has changed. But even though many projects claim adherence to the Semver standard nowadays, the ecosystem as a whole isn't, and never has been, anywhere close to the point where a reasonable engineer would actually rely on version numbers to decide whether to upgrade.

Imagine you see that one of your library dependencies, which professes adherence to Semver, has released version 1.2.3, up from version 1.2.2 which your project currently uses. Would you feel comfortable doing the update, without checking whether the project still compiles and passes its test suite afterwards?

If you answered "no", then you are basically admitting that Semver is worthless in practice. If you are going to test everything anyway, version numbers might as well be a simple incrementing integer, or a date, or a random string. Upgrading will still consist of trying the new version, and, on failure, rolling back – which is exactly what you are probably already doing anyway.

Semver doesn't work because you can't actually trust that all your dependencies have verified their claimed Semver compliance to the extent that would be necessary for your project to rely on it. You have to do that verification yourself, which makes the Semver version number at best an occasionally useful hint. And that's not even talking about all the other problems, such as different projects having different interpretations of what constitutes a "breaking" change, and almost none of the older, established libraries even claiming to follow Semver in the first place.
How do you incentivize IQ?
There might just be new functionality added with no change to existing behavior. And sure, someone might rely on undocumented behavior[1], but that's a bug in their program – nobody can reasonably complain that you've improved performance. Also, the compiler won't necessarily catch this – you might, say, change a Foo parameter to impl Into<Foo> and have it work fine for all your tests, but it might break type inference for some of your users.

[1] which may hint at deficiencies in your library
> Anytime you feel that scientists should be the ones running the world, you can look to incidents like this one to cure you of that thought.

There is no need for this kind of anti-science rhetoric. The people who develop and operate Starlink are also scientists.
Massively Parallel Fun with GPUs: Accelerating Tensors in Rust
A Comprehensive Guide to Understanding and Building a Python Reverse Shell
No, it was trying to stop their sales from being destroyed whenever a crypto crash happened and all the mining GPUs wound up in a firesale. So they made hardware that would guaranteed become e-waste in a few years instead.
i had read this before, and it has been posted here multiple times, but somehow i had missed:

> Thus the core C language escaped nearly unscathed from the standardization process, and the Standard emerged more as a better, careful codification than a new invention.

which made me grin.
> it would be really hard to do anything that is fully, end to end, open source. We've developed the code on Macs, hosted the code on GitHub, written plugins for Obsidian and GitHub, hosted the website on AWS.

Yeah, nobody did open source before those things existed...
> or something uncommon like zsh

By the time our lord and savior zsh appeared on the scene Perl was already at Perl 3. And, to be fair, I do not think many used zsh before 2.1 which was some time 1991 fall and by then the Camel Book was out for half a year or something like that. So the pre-Perl and the we-use-zsh days do not really overlap.

When Perl appeared the absolute hotness was the version of Korn shell what later became known as ksh88. https://github.com/weiss/original-bsd/tree/master/local/tool...
This might miss a (1993) tag.

Interestingly, some might print the same title about JavaScript.
Respectfully and for your own protection you should be aware that not all forms of excerpts or duplication are copyright infringement.

This reproduction can easily pass for fair use as it's quoting the answer to the question that only O'Reilly can answer authoritatively. Secondly O'Reilly is not compelled to bring a complaint against such use, unlike for example the protection of trademarks.

Unfortunately infringement of intellectual property rights are settled through complaints - so best practice is to never duplicate unless clearly falling into exceptions such as fair use, the TEACH act or if being used in face-to-face instructional settings.

If you do a mental exercise to think of all the ways that you see the content of others reproduced in other places, you can begin to appreciate the greyness of IP laws. (E.g. Google crawling then quoting the header lines from a website, news articles quoting documents, the public citing of evidence of harm and so on.)
I wouldn't be that strict. It's not like many PC laptop manufacturers provide drivers or documentation. Buying a laptop like Acer or other known brand, you're still relying on a few reverse engineered devices.
Gives us a starting point, please.
Video in question: https://youtu.be/r-GSGH2RxJs
is this really HN stuff?
> In America you can get into university (even a prestigious one) and start off at "College Algebra."

It may be possible to get into any given University and start off with college algebra, although I'm not entirely sure about that. However is certainly not the case that you can get into any program at any University and start off at college algebra.

Admission requirements for majors are determined by departments responsible for those majors, and they can and do set their own standards for what is acceptable when declaring that major.

For example anything remotely related to Stem at any of the UC schools is going to expect that you have, prior to entering the program, already completed at least the equivalent of Calculus BC, and usually linear algebra as well, in order to be accepted into the program. If you're starting off at college algebra in one of those schools you will never complete the math sequence necessary to start one of these programs and still graduate within 4 years.
Took a break and then recorded some updated footage of the Neo Geo game I'm working on as my "main side-project". Sharing as soon as YouTube is done processing.

Jumping on trying to fix that initial Zoom for Google Maps on ReactNative Web.
Although this crate likely enforces a higher alignment (to the page boundary with mmap) regardless of what is requested, you should request a higher alignment because malloc is guaranteed to be aligned to the largest C type, which is usually either 8 or 16 bytes.
A failback placeholder is a 404…

5xx is a failure to serve the page, which is not the case if a placeholder is served
Relying on a published guarantee of CPython is not technical debt!

What will happen is that extensions that don't work with the new behavior will be assimilated by the proponents. Support for the new behavior will be hacked in, probably with many mistakes.

The bad results will then be marketed as progress.
So the conclusion is, Rust will never be a success because everyone loves it ?
It's much worse than 2→3 transition as it seems to me.

Python is a very slow language whose main advantage is relatively cheap and easy FFI with bindings to all imaginable library already written.

With breaking FFI you'll lose all the libraries while adding SMP to still slow language. It's a cleare loss of value.
Apparently you (tuga) meant the former judging by your last comment 20 hours ago ... there wasn't any evidence prior to that I could see.
The social Justice Warrior: demands the project stop using some terminology they deem "problematic" while already having forked the project with a new name, just in case maintainers don't comply within 15 minutes.
Could preserving animals be turned into a market?

If companies can own the genetic code of the animals they protect, as long as those animals are alive, will the companies create the necessary structures to protect their animals?
Oh this is a lot less bleak than the title of the article suggested, as you can see I didn't actually read it. Anyway the irony is still palpable, I could almost taste it in the air when I saw the headline
I think your quote is contradicted by the heading

> Away teams accelerate software delivery [...]

So while it is compley and inefficient, it also accelerates delivery?

Also from the comments here I get that away teams are mostly stuck in meetings. So I find it interesting to use away teams as a solution where crushing bureaucracy seems the main issue.
Optimizing for test scores is an American phenomenon. AFAIK schools in most of the rest of the developed world are not worrying about these metrics. (They do worry about how many pupils go on to graduate college, for example.)

(Although of course nobody on here likely knows anything about more than a handful of countries’ systems at most.)
Reading this summarizes my feelings on what kind of new language we need.

Something that makes workloads usually delegated to find, grep, sed and awk coherent and easy to use, allows streaming data between functions/commands and can still be used to glue things together.

Can I use Perl instead of bash/as my command line ? Should I start learning Perl?
If you don't already know the original, then yeah, chances are that you will like it, it has the same theme and genre as the satire.
Michaelsoft Binbows [video]
Yeah I wouldn't have thought it to be HN stuff either, but it takes guts to write like that and everybody needs guts but few have it.

It might also seem to me a little churlish, to complain toooo much ...
This is nice assuming you also have a BE that is equally matched.

Remix run, for me, bring the FE and BE together with the same simplicity.
GCD Grid
EasyScan: A Lightweight Vulnerability Scanner
> this post is specifically about pascal - my comment about {} vs begin...end was intended for that context

That link was Pascal. It was just one of many dialects of Pascal.

> pascal has no way of defining variables within a local scope

I just did a quick search and turns out Pascal does support nesting variable scopes too.

> it was added to delphi as a kludge much later

Is it a kludge though? Or are you just calling it that because it disproves your point? The syntax is pretty similar to a lot of C-like languages. So you’d be calling their variable declarations a kludge too.

It feels like you’re being overly dismissive.

> i admit i should have said something like "... {} in C and C++".

it certainly would have helped your case to have opened with a little more context rather than assuming other people don’t understand how scoping works ;)

But even that aside, Pascal does support scoping inside compound statements.

Begin End and {} are just tokens to denote the start and end of a compound statement. Just like how Python uses indentation to group compounds.

Everything else you put is missing the point about how language grammar is parsed.
> Were there 9 of each color on the visible faces at least?

I never checked that closely. It is apparently still available (see link above) so you may be able to find enough images to piece it together.

However, two areas lack color: the display, which is 3 horizontal tiles in the center of the "front" face, and the bottom, where the battery compartment opens, which is unpainted black plastic.

So no, even if you could move the stickers around, there aren't enough for coverage, and why would you cover the display face? I mean, do you want a Rubik's Cube or an alarm clock in this bargain?
I always though it funny that in short term, LMMs are (or can be) much better at forgetting than humans can. If a person tells you, "I'm going to forget you ever said that", you know they won't actually forget. An LMM, on the other hand, can just drop the context, and they're literally going to forget it ever happened. They already train chatbot agents with a special "end the conversation" token, it would be easy to train them with a "drop the context" token too.
> Thanks for the hints. I was already concerned that I would have to analyze the source code directly myself, and so I started to build tools for this purpose (https://github.com/rochus-keller/FreePascal).

FWIW you may want to check out the fcl-passrc package[0] which provides units for scanning and creating a syntax tree from FPC source code, including some helpers like resolving references.

It is used by the fpdoc documentation generator and the pas2js transpiler that converts Free Pascal source code to JavaScript, both official FPC projects. fcl-passrc is itself part of Free Pascal.

> I read somewhere that there are issues with higher optimization levels. Can you confirm that?

AFAIK the main issue is that -O4 enables some optimizations that may break code that relies on things like having the exact same math output as non-optimized versions as it enables FASTMATH, code that relies on classes having specific field order (technically class field order is not guaranteed to remain the same) since -O4 enables reordering the fields to remove unnecessary padding and code that depends on runtime errors or exceptions being thrown from code that the compiler (in -O4) decided it has not explicit side effects and removed it.

These are not "issues" per-se but Lazarus labels -O4 as having "aggressive optimizations, beware" which might give a false impression.

Aside from that there might be bugs, but that is the case with any compiler.

[0] https://wiki.freepascal.org/fcl-passrc
Simone Weil: Une très belle femme qui regarde son image au miroir peut très bien croire qu’elle est cela. Une femme laide sait qu’elle n’est pas cela. ("A very beautiful woman who looks at her image in the mirror may very well believe that's what she is. An ugly woman knows it's not.")
Why I don't give investment advice
I want an ·easy· button for vim. I want to upgrade to a new version, be given new decoration and a new colorscheme to be angry over. but then I want it to have all the modern features. LLM code-complete that i can choose to pay a monthly SaaS for, a bevy of plugins like one to help me program my esp32 for my little iot project, super special handling for language-of-the-month.

but I also don't.
You can make super small hello world binaries if you try.

https://nathanotterness.com/2021/10/tiny_elf_modernized.html

has a 120 byte hello world program for x86_64 ELF.
> , "if average income in a year was greater than welfare eligibility for that year, no eligibility" doesn't sound kafkaesque.

It sounds like the definition of Kafkaesque to me, if the law says eligibility is determined based on your income over two weeks.
"HN stuff" is what HN users upvote and find interesting.
ugly on the inside, or outside?
> Would you feel comfortable doing the update, without checking whether the project still compiles and passes its test suite afterwards?

I don't trust saving a file that hasn't changed without checking if things compile/pass tests.

> If you answered "no", then you are basically admitting that Semver is worthless in practice

I hugely disagree. Version numbers give me a good idea about what level of changes to expect. Upgrading from 1 to 2 implies a larger review is needed, I'd not just check compile/tests. Upgrading from 1.4.656 to 1.4.657 and I don't expect to have to check the docs for major changes to how things work.

Dates, pure increments etc don't have this. Two releases a day apart can be wildly different - a patch release fixing a logging format and a fundamental API change.

It's a method of communication . Not being perfect doesn't make it useless.
For me in the current day, perl is too much like "real programming", while I'm fairly comfortable with grep and sed, and to a lesser extent, awk. Piping a bunch of stuff together is just easier to understand and gradually expand. One thing I do in a lot of scripts is read from and write to the clipboard, usually transforming text with sed and co. Stuff like turning YouTube shorts URLs into regular ones, taking just the last directory name from a long file path on my clipboard, making my clipboard lowercase, etc.

I barely get into loops and lists when trying to learn Python before losing interest/focus and not trying again for months. It feels very abstract and like it's not useful for day-to-day stuff without learning and writing a lot. Shell stuff is very short and powerful and feels more grounded in reality. To be clear, I am not using if/else and the like in my shell scripts either. Usually they're just a few lines with little to no logic, but they're immensely useful. I can't imagine learning perl and then using it for all this stuff.
no
is a necessary magic

no
draws a circle around you
with chalk
and says
I have given enought

- boundaries
Cut off date shouldn't matter for RAG
I wonder how much the pile of undefined behavior contributed to C's success. I can imagine that vendors picked C over alternatives due to C giving them more freedom with their implementation.
I just generated C99 with my Oberon+ example (see https://news.ycombinator.com/item?id=36652878) and compiled it with -O2. The generated Hello.c is 382 bytes, the Hello.h is 240 bytes, and the compiled Hello.o is 1264 bytes (compared to the 2048 bytes of the Hello.dll assembly). If I build a shared library which includes the runtime and some boiler-plate stuff the stripped version is 17760 bytes; if I instead build an executable, the stripped size is 17952 bytes (compared to the ~10 MB including mono and mscorlib.dll to run the assembly).
I think you're looking for too much out of a versioning scheme.

If you're seeing 1.2.3 -> 2.2.3, updates, i..e the dev is saying THIS 100% BREAKS SOMETHING IN MY OPINION, and you just do your normal set of analysis and walk away happy that's a bit scary.

If you do anything other than your normal analysis, you've just gone ahead and used semver.
wait but HN users are only supposed to upvote, like, esoteric programming languages and stuff. am I supposed to have well-rounded options of other stuff as well? that sounds hard. let's go coding.
Moreover, it can help to get the message across to attractive women who don't care that much about feminism and help them to ask deeper questions.
You are supposed to study datasheets before you start a car?

Please. There's nothing wrong with "hands-on first" approach. And the tortured metaphors completely kill your argument...
windows need 4 GB ram, so this is operating system...
Beans still require extra fertilizer. This corn species does not.

Also it is corn, and not beans...? Beans is used in crop rotation in service of corn harvests. What if all of a sudden you don't have to rotate crops?

This is a big deal. Don't pooh-pooh it.
List of places I worked from last month:

- my desk at home

- my couch at home

- my dinner table at home (in a boring call while preparing and eating lunch)

- my desk at work

- like 15 different meeting rooms in offices across two continents

- couch on terrace at work

- beanbag on terrace at work

- hotel room desk

- airport lounge

- airplane (if you count watching conference talks as working)

Flexibility is great!
motives for upvoting here have always been an opaque mystery to me.
The former is more abstract on individual component theory and dives more deeply into the maths as it goes along. It is best suited to study for an electronics certification (or to supplement a main cert such as electrical engineering) if you want to understand the whole gamut of basic principles because, for example, you will be designing complete analogue and digital circuits from scratch.

The Westcotts' book is more practical and gets stuck in to building things more quickly. It's not a course syllabus type book and is better for the hobbyist/tinkerer working with tried-and tested, classic chips (timers, amplifiers) and platforms (Raspberry Pi, Arduino).
Moreover, these differences tend to disappear with age, so being attached to one's looks is like making preparations for a big disappointment.
This is a 20 year-old's blog post talking about how she hasn't quite figured out what she wants from dates. It's definitely not as introspective as the title makes it seem.
People who still write C, honest question: Why?

C is full of quirks. From cryptic "undefined behaviors" to a type system that isn't really a type system (more like "size hints for the compiler"), the language doesn't feel easy to use/debug. Add to this CPP macros, a universally recognized bad idea, a clunky import system, and lack of a single reference implementation of the compiler/libC, and you have a language that is harsh to defend.

Also, documentation is all over the place. If a function isn't described in `man`, I have no idea where else to actually look for it.

I used to think "C presents the most honest representation of the low-level mechanisms of the computer", but... even this is shaky. I've been programming for almost 15 years now, and I don't think I've ever seen a computer where memory is actually a continuous array of bits sorted by memory address. The C representation of memory (and all the pointer arithmetic) is not a real representation of your hardware, and this too is an abstraction.

So, setting aside the need to maintain 30+ year old code, what would be modern reasons to start a new project in C?
Wow that's a blast from the past! I'd totally forgetten about it, thanks for the link I'm goung to have to rewatch it for some laughs whilst I feel old.
Hyrum's "law" may claim that somebody out there will run into trouble if I change the internals of my library, but it certainly doesn't say that I have any obligation to care about it.

If you're working for a big company with a monorepo where everyone is trying to live at head, maybe you have to care.

But if I'm giving away my software for free to anyone who cares to use it, I'm entirely comfortable in saying that if you relied on undocumented internals you get to keep both pieces when it breaks.
Isn't the other way around? Vendors already had picked C and they wanted to claim compliance to the then brand new C89 standard so anything they didn't want to give up on was deemed "implementation-defined behavior" and anything they couldn't give up on[0] was deemed "undefined behavior".

[0] because their machines worked very differently from the others' machines
it is now! just like that bill you didn't know you owed until it came in the mail, technical debt builds up regardless of when you know when it's owed.

keeping a gil when entering and exiting c extensions seems like an obvious steppingstone.
If excel is the right tool for the job, you're doing the wrong job.