MurphyA/hacker-news huggingface dataset:
by Myrmornis | 2026-01-05 00:41:46+00:00
In particular, and speaking as a backend engineer with zero web design skills, building things with charts/graphs is amazing nowadays! You can literally just operate at the level of "add another line representing the foo data", "add a scatterplot below it", "make them line up", "actually, make it a more reddish pink" etc. In the past I've had opinions about d3 and vega-lite and altair and matplotlib etc and learned how to use those ones at a superficial level at least. In my last personal UI with charts I didn't even ask it what framework it had chosen (chart.js is the answer)
by soldthat | 2026-01-05 00:42:16+00:00
War isn’t genocide and Gaza isn’t Israel.

There are 2 million Israeli Arabs. They are judges, doctors, soldiers, and members of the Israeli parliament.

There are zero Jews in Yemen. There are zero Jews in areas of the West Bank under full control of the Palestinian Authority. There were zero Jews in Gaza between 2005 and 2023.

One side is actually practicing ethnic cleaning while shouting that the other is doing it.
by DarkNova6 | 2026-01-05 00:42:17+00:00
> While null-pointers are possibly under #1 it seems much more likely that you'd produce other kinds of invalid pointers(out of bounds, unaligned etc) than nullptr. The use of null pointers to signal absence and failure is surely the most common source of them in C (and relatives).

Fair point. Still, it just leaves a bitter taste when you want to express something as non-null but can't technically exclude it...
by aebtebeten | 2026-01-05 00:42:26+00:00
> Leaders prefer small coalitions, because small coalitions are cheaper to keep happy.

is somewhat interesting in conjunction* with:

> Having dismantled much of the ... policy infrastructure since he came to power, [he] depends on a small number of trusted personnel and business associates to handle core issues

And then, from a different summary:

> Ideally, you will also be able to capture the former dictator and retrieve some of his war chests.

( ' -')?

* https://www.washingtonpost.com/national-security/2026/01/04/...
by anonymous908213 | 2026-01-05 00:42:36+00:00
I don't think it's very much worth thinking about. It's a pseudointellectual quip that sounds superficially clever but which holds zero substance.

The overwhelming majority of humanity's problems, such as they might be described, stem from the biological drive to survive and procreate. The quip presupposes that man naturally has a room to sit quietly in; this is not the case. The procurement of a room to sit in requires a significant amount of effort. It can entail the securing of territory and building of the shelter oneself, or it can entail the education, advanced skill development, and daily labour required to pay to reap the results of other people having secured the territory and built the shelter. To say nothing of food, mating, and rearing of offspring.

Pascal was born well-to-do, so perhaps he was removed from the general human experience. He was provided with the room to sit quietly in by the efforts of others, and may never have had to work a day in his life, affording him the luxury to make that statement. He also did not marry or reproduce. If everyone had lived the life he lived, there would be no rooms to sit in and indeed no men to sit in them. Being charitable, I suppose it's true that if all mankind were to stop reproducing, there would shortly be no more problems for humanity on account of humanity no longer existing.
by delaminator | 2026-01-05 00:42:37+00:00
I've hardly read a line of code for 6 months, out of hundreds of 1000s of lines. Tbh for half of my projects I can't even review them if I wanted. I get Claude to use RUST half the time and I have never written a RUST program in my life.

I don't even have time to test the all programs I'm creating, let alone review the LOCs. I build stuff on a whim and it's in my "did it work" pile. I've also got a "looks ok, I'll deploy it sometime" list.

Embrace it. Enjoy it. Ship solutions to problems not lines of code.
by oofbey | 2026-01-05 00:43:08+00:00
That’s closer still. But even closer would be:

x = tokenize(input)
i = 0
finish = 0
do {
p, x = layers(x)
finish += p
} while(finish < 0.95 && i++ < t_max);
output = lm_head(x)

Except the accumulation of the stop probabilities isn’t linear like that - it’s more like a weighted coin model.
by ggm | 2026-01-05 00:43:27+00:00
Some people play warhammer to win.

Some people play warhammer for the cameraderie.

Some people play warhammer to get outreache to sell their 3D printed components, which probably started out as a "hey look at me" but like all side gigs can, has become foundational in who they are, and now occupies them more than cameraderie or winning.
by londons_explore | 2026-01-05 00:43:27+00:00
I would like to see a nation whose laws are limited to what people can remember.

Ie. In a court, a jury makes their decision about if the accused has broken the law simply on their recollection of the law.

In turn, this means all rules must necessarily be far simpler and less precise.

Lawmakers wouldn't write laws so much as advertise what they think the law should be, and if the population remembered and agreed with the new law then it becomes the law, since that would be what the courts are enforcing.
by treesknees | 2026-01-05 00:43:35+00:00
You can use Hugo to generate/update an rss feed of your blog. There are tools to post rss feed updates as posts on mastodon.

As far as comments, I’ve seen it done, but as far as I know it’s a bunch of custom code. One example I found: https://andreas.scherbaum.la/post/2024-05-23_client-side-com...
by Panzer04 | 2026-01-05 00:43:52+00:00
And they will have to go find another job instead. It feels weird but this is how we raise living standards - removing human labor from production (or, in other words, increasing the amount produced per human)

Automation is a game of diffuse societal benefit at the expense of a few workers. Well, I guess owners also benefit but in the long term that extra profit is competed away.
by int_19h | 2026-01-05 00:44:09+00:00
> That sounds reasonable to me. AI is best at generating super basic and common code

I'm currently using AI (Claude Code) to write a new Lojban parser in Haskell from scratch, which is hardly something "super basic and common". It works pretty well in practice, so I don't think that assertion is valid anymore. There are certainly differences between different tasks in terms of what works better with coding agents, but it's not as simple as "super basic".
by NoraCodes | 2026-01-05 00:44:11+00:00
> Harvard President Alan M. Garber ’76 said the University “went wrong” by allowing professors to inject their personal views into the classroom, arguing that faculty activism had chilled free speech and debate on campus.

The university does not "allow" professors to express their opinions; that is a fundamental tenet of academic freedom, and is critically important to free speech in and of itself. The idea that a university could _prevent_ professors from giving their opinions in class is laughable anyway; if we didn't value the opinions of professors, we wouldn't need them at all, and could get away with lecturers without PhDs or research obligations. (Of course, many university administrators would quite like that.)

It seems to me that Garber is less interested in preventing faculty from expressing opinions in general and more that he is interested in suppressing a particular set of opinions he and his donors disagree with.
by moron4hire | 2026-01-05 00:44:40+00:00
It doesn't matter if software has no marginal cost of production. Production cost has nothing to do with what you can charge for something. What you can charge for something, minus what it cost you to make it, is of course your profit and will help you decide if the effort is worthwhile, but it doesn't change the fact that the input cost has nothing to do with the output price
by layer8 | 2026-01-05 00:44:56+00:00
The first recorded use seems to be by Stan Ulam in 1958, who was paraphrasing John von Neumann: https://ntrs.nasa.gov/api/citations/19940022856/downloads/19...

“One conversation centered on the ever accelerating progress of technology and changes in the mode of human life, which gives the appearance of approaching some essential singularity in the history of the race beyond which human affairs, as we know them, could not continue.”
by spion | 2026-01-05 00:45:49+00:00
There is nothing about Go (the language) that achieves this - its mostly cultural. (Go creators and community being very outspoken about handling errors)

Technically speaking, Rust has way better tools for this. See for example https://docs.rs/color-eyre/latest/color_eyre/

It does expect you to use `wrap_err` to get the benefits, though. Which is easier to do than what Go requires you to do for good contextual errors, too, and even easier if you want reasonable-looking formatting from the Go version.
by ggm | 2026-01-05 00:46:40+00:00
Mentions Hemingway, if you have watched "midnight in paris" you will get a feel for the popular didacticism implicit in his recommendations to style, baby shoes aside.

Doesn't mention Thomas Mann, or Proust. Two exemplars of people who felt the comma and semicolon justified parenthetical statements which run to the page count length, not the word count length, in coruscating piles. I think Proust was having a lend of us, it's "tristram shandy" shaggy dog stories brought into the modern era by an aesthete. I think Thomas Mann just didn't know how to stop.
by inkyoto | 2026-01-05 00:48:42+00:00
> But we don't have a linear address space, unless you're working with a tiny MCU.

We actually do, albeit for a brief duration of time – upon a cold start of the system when the MCU is inactive yet, no address translation is performed, and the entire memory space is treated as a single linear, contiguous block (even if there are physical holes in it).

When a system is powered on, the CPU runs in the privileged mode to allow an operating system kernel to set up the MCU and activate it, which takes place early on in the boot sequence. But until then, virtual memory is not available.
by nipperkinfeet | 2026-01-05 00:48:50+00:00
For me, Spotify is only for discovery. I've been collecting MP3s of my favorite tracks for over 25 years, long before streaming became popular, and I still do it today. I organize my collection by the year each track was created using a folder structure on my hard drive instead of playlists, and it's all stored locally. I could go even further with this amazing software called MP3tag. Audio Dedupe is great at finding duplicates.
by norseboar | 2026-01-05 00:48:54+00:00
I love Claude Code, but this feels a bit like the perennial "our team spent a year on project X and then some intern built the same thing in a hackathon" claims. The hard part isn't writing the code, it's investigating, testing, integrating, etc. A rule of thumb I've seen in some places (Google certainly seems applicable) is the project will take a month for every day it takes to make the prototype.

Which is no shade on Claude Code, but given everything CC has already done, this seems pretty normal.
Show HN: Airgapped Android Setup with a Makefile
by thisago | 2026-01-05 00:48:56+00:00
Hello guys,

I can't deny that I see the world of mobile devices as a threat to privacy, but at same time, smartphones are pretty convenient pocket computers. So I think there's a lot of room for improvement.

I've been working the last weeks in a personal challenge to setup my Android phone without any external connection on it. Neither a hotspot.

I really liked the process, and despite it's status being pretty much a prototype, it's usable, and brought me some thoughts, and I'd like to open the discussion here. About the project, and also the perspectives about the area. The repo URL https://codeberg.org/thisago/phoneSetup

But at same time, there might be a reason (which I don't know) for this appearent lack of hackers as we have in the unix community.

I'm not a insider in the mobile niche (never really liked to be honest), but I can't super-protect my computers and ignore the phone lying in the same desk.

I'd love to hear your opinion!

Thanks.
by aetherspawn | 2026-01-05 00:49:11+00:00
The latency is a little intense from Australia … but surprisingly not as bad as I thought it would be.

It was playable.

I wonder if you can use speculative execution to play the game a few frames ahead and then the client picks what to display based on user input, or something like that.

Each frame is 16ms, so you’d have to work ahead 6 frames to conquer the nominal latency of around 100ms, which may actually be 200ms round trip.

(In that case, something like Haskell would be a good candidate to build a DSL to build the decision tree to send to the JS client…)
by fragmede | 2026-01-05 00:49:12+00:00
The question is, is it actually better for it? I have a bit of software I've created. It's a reimplementation of a commerical product. It scratches my itch. It would also scratch the itch for most of that company's paying users. Do I a) Keep it to myself and a couple of close friends b) sell it for slightly cheaper c) sell it for slightly more d) give it away for free. There is a whole company out there with people that depend on this app to pay their bills. Giving it away for free puts that whole company out of business! Everyone working there is would then be out of a job. Sharing this thing with the world for free might be generous of me, but who am I to fuck over the people at that company. There's probably a person who's not a software developer who's struggling to pay the bills as is. Giving my software away for free puts her out of a job.
by malco_2001 | 2026-01-05 00:49:25+00:00
I used elementary the past and appreciated the visual design. It just never went far enough for me by not having global menus, application bundles, etc. I think given a little more time here this year Gershwin will catch up so to speak. Then we will have not only how it looks, how it is designed, how it operates, how it runs on nearly anything, cross platform support, etc.

I recently began porting Ladybird from QT to GNUstep and the results are a 20 minute build on low powered raspberry pi vs 3 hours using most of the same APIs from AppKit. I believe I can take the same code, and make it build on Windows. I suppose this is my elevator pitch as to why.
by zahlman | 2026-01-05 00:49:46+00:00
Funny how my Python code doesn't have those arrow issues. In C code, I understand some standard idioms, but I haven't really ever seen a goto I liked. (Those few people who are trying to outsmart the compiler would make a better impression on me by just showing the assembly.)

IMX, people mainly defend goto in C because of memory management and other forms of resource-acquisition/cleanup problems. But really it comes across to me that they just don't want to pay more function-call overhead (risk the compiler not inlining things). Otherwise you can easily have patterns like:

int get_resources_and_do_thing() {
RESOURCE_A* a = acquire_a();
int result = a ? get_other_resource_and_do_thing(a) : -1;
cleanup_a(a);
return result;
}

int get_other_resource_and_do_thing(RESOURCE_A* a) {
RESOURCE_B* b = acquire_b();
int result = b ? do_thing_with(a, b) : -2;
cleanup_b(b);
return result;
}

(I prefer for handling NULL to be the cleanup function's responsibility, as with `free()`.)

Maybe sometimes you'd inline the two acquisitions; since all the business logic is elsewhere (in `do_thing_with`), the cleanup stuff is simple enough that you don't really benefit from using `goto` to express it.

In the really interesting cases, `do_thing_with` could be a passed-in function pointer:

int get_resources_and_do(int(*thing_to_do)(RESOURCE_A*, RESOURCE_B*)) {
RESOURCE_A* a;
RESOURCE_B* b;
int result;
a = acquire_a();
if (!a) return -1;
b = acquire_b();
if (!b) { cleanup_a(a); return -2; }
result = thing_to_do(a, b);
cleanup_b(b); cleanup_a(a);
return result;
}

And then you only write that pattern once for all the functions that need the resources.

Of course, this is a contrived example, but the common uses I've seen do seem to be fairly similar. Yeah, people sometimes don't like this kind of pattern because `cleanup_a` appears twice — so don't go crazy with it. But I really think that `result = 2; goto a_cleanup;` (and introducing that label) is not better than `cleanup_a(a); return 2;`. Only at three or four steps of resource acquisition does that really save any effort, and that's a code smell anyway.

(And, of course, in C++ you get all the nice RAII idioms instead.)
by ggm | 2026-01-05 00:50:11+00:00
Historically, a lot of systems software was given away. Operating System source code. Text formatting systems. The annual issuance of the DECUS tape, covering pdp11 and Vax and Tops-10 systems is where I intersected with this.

And of course, this in turn fed into other trends. People shared code routinely because they had always shared code routinely. The emergence of expensive code, could be held to be an anomoly: Most code of the day outside of commerce and military and secret places was written in publicly funded institutions, and shared as a matter of course, or at worst sold for cost-recovery prices.

This also relates to the emergence of "hold harmless" licencing terms. If you give something away, you want to be sure nobody comes back at you for redress.

Stallman's GNU Manifesto was a reaction to change in this landscape. It wasn't "hey, lets break the dam wall of sold software by inventing free software" it was "this modern trend to locking software up is wrong. I want to return to the roots of free software, which has always existed"
by paxys | 2026-01-05 00:50:56+00:00
I leave this comment whenever a new game with this "one game a day" model pops up:

You are not Wordle. You are never going to recreate the virality of of Wordle. The artificial restriction on gameplay does not help you because 99.999% of your users are going to play it and move on rather than bookmark your site, set a reminder and come back the next day. Instead let them play a bunch of games NOW and they may get hooked.
by jmward01 | 2026-01-05 00:51:19+00:00
I think part of this is that software is new. I mean really new. If we all just landed on a new continent and started a new civilization we would probably see a lot of 'free' happening as the community built the essentials. Slowly over time new community would come together less to help each other build houses and more and more a robust economy of services and goods would take over. This metaphor doesn't totally explain the opensource world, but I think it is a major driver for a lot of it.
by jerf | 2026-01-05 00:51:22+00:00
Everyone's brain builds a model of the world.

One of those higher levels of maturity that some people never reach is to realize that when your model becomes incorrect, that doesn't necessarily mean the world is broken, or that somebody is out to get you, or perhaps most generally, that it is the world's responsibility to get back in line with your internal model. It isn't.

This is just people complaining about the world not conforming to their internal model. It may sound like they have a reason, but the given reason is clearly a post hoc rationalization for what is basically just that their world model doesn't fit. You can learn to recognize these after a while. People are terrible at explaining to each other or even themselves why they feel the way they feel.

The solution is to be sympathetic, to consider their input for whether or not there is some deeper principle or insight to be found... but also to just wait a month or three to see if the objection just dissolves without a trace because their world models have had time to update and now they would be every bit as upset, if not more so, if you returned to the old slow loading time. Because now, not only would that violate their updated world models, but also it would be a huge waste of their time!

Thoughtful people should learn what a world model violation "feels like" internally so they can short-circuit the automatic rationalization circuits that seem to come stock on the homo sapiens floor model and run such feelings through conscious analysis (System 2, as it is sometimes called, though I really hate this nomenclature) rather than the default handling (System 1).
by cryptica | 2026-01-05 00:52:05+00:00
Thanks for posting this. I also struggle to understand this.

I also struggle to understand why some people will build their entire business on top of software they don't own on top of third-party platform code that they can't even see.

The software industry is weird to me. Saying this as someone who has been in it for almost 2 decades. I wish someone could explain it to me.

I cannot make sense of the relationship between people and software.
by Imustaskforhelp | 2026-01-05 00:52:12+00:00
I have this idea where similar to railway's kickback program, a more customizable and more free way could be built where the developer sets the pricing of the server

so it might be more pricey if you are using it a lot compared to self hosting itself but then again, the deployment hassle of it and some management aspects can be handled by the person who built the code and has expertise on it

So like for simple usd$, lets say that we can charge like 10$ instead of 5$ for a simple vps and this % thing scale (obviously 100% feel wrong but also transparent compared to how most Saas work)

Like perhaps its like byok but I have never seen it really that much widespread/easy and byok is usually only popular in large businesses cloud solutions themselves and not so much in hosted options/indie people like you and me
by Edmond | 2026-01-05 00:52:15+00:00
Not to make excuses for plagiarism, I am looking at the code itself and somewhat scratching my head since it seems quite...trivial?

I don't mean to belittle the effort but at least in terms of volume of code and level of effort, I wouldn't recognize it as mine if someone had copied it from my work and passed it off as theirs.

Regarding the charge of plagiarism, is it possible that the PR attribution reflects someone eager to contribute something to a larger effort as opposed to simply trying to "steal" someone else's work?

One could reasonably interpret the PR and attribution as "I integrated this code into this project thus I am taking credit for it". In other words there is probably a stronger charge for misguided clout-chasing than plagiarisms.
by mmooss | 2026-01-05 00:52:37+00:00
It's not just giving away, but getting. You get an enormous amount for free and it fuels the software industry: Operating systems, programming languages, network protocols, Unicode, applications like the web and email, codecs, information about almost everything (e.g., on HN), ... almost infinitely more.

Would things work better if you paid for every one of those? How much free do you have to contribute to get all these things in return? The network effect creates an incredible ratio, in part because moving bits is nearly free.

Ask the inverse question: Why would we pay when we can exchange these things for free?

Edit: Also, if you want to change the world, to contribute to it, freedom often facilitates that.
by darth_avocado | 2026-01-05 00:52:54+00:00
> I have not heard of a single person actually losing their job to AI

People are losing jobs to AI. It is in the form of layoffs so that companies can invest in AI, it is in the form of lower hiring of junior engineers because AI is supposed to do those jobs, it is in the form of silent reductions because less people are expected to do more using AI, it is in the form of entire job roles being replaced (customer success), it is in the form of second order market effects of reduced spending from people who lost their jobs, and much more.