MurphyA/hacker-news huggingface dataset:
by jeswin | 2026-01-14 06:34:01+00:00
Well, there are some additions - thought it can be compiled via tsc into js that would never run. This is still useful though for IDE and tooling support, language servers etc.

The most important thing is that you have these types you can import. For example the "int" below:

import { int } from "@tsonic/core/types.js";

function fibonacci(n: int): int {

if (n <= 1) {
return n;
}

return fibonacci(n - 1) + fibonacci(n - 2);
}

Instead of making it a keyword, I decided to import these from core/types.ts - so that the code can still be compiled with tsc, and all the tooling would still work. Similarly (among others), you'd use ptr<long>, if you wanted a pointer to a long.
by LegitShady | 2026-01-14 06:35:09+00:00
Microsoft is renaming the company to copilot, all of its software to copilot, and CEO satya nadella is changing his name to copilot copilot copilot which is also his favourite feature, software, operating system, and the names of his dog, cat, children, and spouse.

Soon the company formerly known as Microsoft will turn into a garbage slop Pokémon capable of emoting only with its name, copilot.
by burnt-resistor | 2026-01-14 06:36:08+00:00
Neat. It'd be more "ASCII" if it used 8x16 pixel (but right extended to 9x16) characters in 80:133 width:height aspect ratio since 80x25 characters at 720x400 on 4:3 results in 80:133 pixels. An arbitrary sized canvas is cool so long as the aspect ratio is preserved.

The infamous MCGA/"VGA" mode 13h had pixels with an aspect ratio 6:5, while 320 x 240 Mode X was square (1:1).
by digi_wares | 2026-01-14 06:37:52+00:00
Hi HN, maker here.

I built MapMates because I moved to Bangkok and realized how hard it is to find your people when you're new somewhere. LinkedIn felt too formal, dating apps weren't right, and Facebook groups are just noise.

The idea is simple: drop a pin where you are, say what you do (founder, developer, designer, etc.), and see who else is nearby. If someone looks interesting, send a connection request with a message. If they accept, you can chat.
Some technical decisions:

- No signup required. I use Supabase anonymous auth combined with a device fingerprint hash. Your pin is tied to your device. If you clear your browser, you can recover it via email (if you added one) or a recovery code.

- Location is intentionally fuzzy. Pins are snapped to ~1km precision. Close enough to find people, not precise enough to be creepy.

- Rate limited connections. 10 requests per day. Forces you to actually read profiles instead of mass-messaging.

- Built with Next.js, Supabase, and Mapbox. Deployed on Vercel. The whole thing is pretty lightweight.

The target audience is digital nomads and expats - people who move a lot and need to rebuild their network every few months. Would love feedback from anyone who's been in that situation.

Happy to answer any questions about the tech, the target audience, or why I made certain decisions. Would love feedback on what's working and what's not.

thank you!
by eyelidlessness | 2026-01-14 06:37:58+00:00
> But let’s dissect that last suggestion; suppose I do modify the type to encode that. Suddenly pretty much every field more or less just because Maybe/Optional. Once everything is Optional, you don’t really have a “type” anymore, you have a a runtime check of the type everywhere. This isn’t radically different than regular dynamic typing.

Of course it’s different. You have a type that accurately reflects your domain/data model. Doing that helps to ensure you know to implement the necessary runtime checks, correctly. It can also help you avoid implementing a lot of superfluous runtime checks for conditions you don’t expect to handle (and to treat those conditions as invariant violations instead).
by sublinear | 2026-01-14 06:38:20+00:00
I'm not a parent, but I think encouraging anything creative is probably just as good.

Half the fun was not knowing how to do something. There was no other way to satisfy curiosity than to tinker endlessly and constantly seek out information. Stumbling upon unusually good programs made it seem like anything was possible regardless of the machine it ran on. Video games and the demoscene were like that for me, and now any modern machine really can run almost anything.

Programming can still be fun like that, but often in the context of existing ideas. My parents had similar feelings about new music and cars. The sense of wonder decreases when the bar is raised. That's not to say there isn't a ton left to explore, but that's the impression when curiosity is too easily satisfied. You have to keep up and find new ways to stay curious. We consume way more than we create these days.

The New Yorker had a memorable single panel comic by David Sipress with an old man saying "everything was better back when everything was worse". I just had to mention it.
by casparvitch | 2026-01-14 06:38:24+00:00
I agree with this wholeheartedly! Even something a small as fixing up some horrific diverged orphaned git history can help me on a hobby project. And the fact that I see the commands that, or the way a containerfile/caddyfile is written, helps me learn along the way. Not as good as a textbook, but like the author I'm reading a textbook for <this thing over here> not <that boring infra stuff>.
by array_key_first | 2026-01-14 06:39:21+00:00
The reality is people are stupid, and will believe whatever it is they want to believe. People just want to believe immigration is harming them because they are being harmed - by shit fiscal policy. The GOP pretty much exclusively writes the worst fiscal policy imaginable.

But it's very easy to tell people that it's not them, it's these brown people with a different culture. And the solution is simple, just build a wall or something equally braindead.

Does that solution work? Of course not. But it doesn't matter. That's populism. People have high confidence in solutions that are simple, because they can wrap their minds around it. And people love hearing that some other group that is distinct from their own is causing all their problems.

The truth is that it's truly trivial for the Republicans to stamp out illegal immigration for good. Just start throwing business owners in prison who hire undocumented people. But they won't do this, and they never will. They will, instead, implement showy, but worthless, non-solutions. Like walls and grabbing people off the street one at a time.

Why? Because most red states are economically defunct, and of the few that aren't, they all rely directly on immigration to have a viable economy. They can't hurt their constituency like that, and if they did, then the populism facade crumbles as people realize - oh wait, getting rid of immigration did not solve all our problems.

So they need to have a constant machine to keep up their rhetoric, and as such, they will never do anything that actually works.

From an election point of view, this strategy works. Populism works, and really well. That doesn't mean it's good.
by NoLinkToMe | 2026-01-14 06:39:30+00:00
Sorta, kinda, it depends.

In my house I only run LED lighting and an occasional oven, some phones and laptops, a cycling fridge and two weekly wash cycles, in other words, virtually no electricity. I'm at like 2 kWh per day.

The ~45 kWh a day for this family is gigantic compared to mine, like >20 of my homes in one.

But I don't have an electric car, nor electric heating or cooling, nor an electric stove.

If you have say a standard electric car like a Peugeot 208 which uses 15 kWh per 100km, and you both drive one hour (say 60km) to work and back, five days a week, that's already 25 kWh per day.

My heating bill (gas, europe) is an order of magnitude of my electric bill. Even if I'd electrify it (cheaper), it'd likely be an additional 10 kWh per day.

If you have slightly more fancy lifestyle (they run home-servers and a hottub for example), you can easily get to 45 kWh.

I think the fair comparison is to look at a household total energy expenditure (energy & $). My household has a low electrical share, theirs has an almost exclusive electrical share.
by dmurray | 2026-01-14 06:39:34+00:00
7 billion kg at the density of water would fit in a cube 200 m on each side.

All the plastic ever produced could be stuffed back into one medium size coal mine. There are thousands of such mines and they are already ecologically disruptive.

It's a large amount when you think about the logistics to move it around the world, but a small amount compared to the total amount of stuff we take out of the earth.
by anon373839 | 2026-01-14 06:39:45+00:00
> But it boggles the mind that apparently a large chunk of "developers" cannot see the insanity in writing XML to generate JavaScript which generates HTML and CSS because they want to write `<Button variant="primary">Save</Button>` rather than... `<button class="primary">Save</button>`.

I'm wondering if some of the disconnect here is that you don't have personal experience with this type of development, so you might not see what pain points it solves.

The first thing I would mention is that components encapsulate function and styling. Buttons don't illustrate this well because they're trivial. But you can imagine a `<DatePicker>` that takes a `variant` property ("range" or "single"), `month` and `year` properties, and perhaps a property called `annotations` which accepts an array of special dates and their categories (`[{date: "2026-07-04", code: "premium_rate"}, {date: "2027-07-07", code: "sold_out"} ...]`). The end result is an interactive picker that shows the desired span, with certain dates unselectable and others marked with special color codes or symbols. You're going to have a very unpleasant time implementing that with globally scoped CSS classes.

And this isn't a string sent over the wire. The "document" that the browser renders is changing continuously as you interact with it. If you were to open Chrome Devtools and look at the subtree of the DOM containing the date picker, you would see elements appearing and disappearing, gaining or losing classes and attributes, in real time as you select/deselect/skip forward/etc. That's what makes it work, rather than being a static drawing of a calendar.

I personally do not like the Javascript frontend ecosystem. It's hacks on top of hacks on top of hacks. But, do you know another way to deploy software that's cross-platform and basically free of gatekeepers? Sometimes we just have to do weird things because they're really useful.
by lukevp | 2026-01-14 06:39:46+00:00
Where did I claim in my post to have written music worth listening to or nontrivial code? Seems like you’re just insulting me in particular instead of providing a counter-argument.

There have already been AI-created #1 hits.

Sure, there’s music that has all of the attributes you lay out as “requisite” for “good” music, but this is classic moving of the goalposts. It’s how people always justify that AI is not here yet, because there’s this facet of it that’s not human enough.

A lot of the music people listen to is devoid of the depth, warmth and meaning you mention, even without AI involvement. It’s written and produced by tens or hundreds of people and there’s no single visionary behind it. It’s a product.

Similarly, there can be AI assisted music that has just as much depth, warmth and meaning as a human, BECAUSE a human is involved in the decision-making of that music.

Do you believe that if someone uses a sample, or uses a prebuilt drum loop, that their music automatically is bad? What level of assistance is acceptable? Where do you draw the line?
by Privavault | 2026-01-14 06:39:59+00:00
This reminds me of the "nothing to hide" fallacy. Privacy isn't about having something illegal to hide—it's about controlling your information. An immigration attorney needs to protect client privileged communications. A journalist needs to protect sources. A domestic violence survivor needs to keep their new address confidential from their abuser.

The technical challenge I keep coming back to is, how do you make proper encryption accessible enough that vulnerable populations actually use it? PGP has existed for decades but remains too friction-heavy for most people who need it most. E2EE cloud storage helps, but onboarding and key management are still barriers. The gap between "technically possible" and "practically usable by someone fleeing persecution" is enormous.

Anyone working on solutions in this space—I would love to hear what approaches you're taking to balance security with genuine usability for non-technical users.
by wolvoleo | 2026-01-14 06:40:43+00:00
When I say I want a self driving car I mean one that actually drives itself so I don't have to be involved other than setting the destination.

What Tesla is selling now is the worst of both worlds. You still have to pay attention but it's way more boring so it's really hard to do so. Well until it suddenly decides to ram a barrier at highway speeds.

Wake me up when I can have a beer and watch a movie while it's driving.
by hcs | 2026-01-14 06:40:59+00:00
If you don't have a good drive and a clean disc you'll get skipping/jitter and thus possibly never get a AR or CueTools DB match. (CTDB has parity records that can be used to repair some small errors.) This is the point of the elaborate re-read stuff Exact Audio Copy or cdparanoia does. Though even with a good drive you ought to be using a tool that checks for C2 errors, and that won't necessarily catch everything; error correction and detection is always probabilistic.

Also not everything is in AR/CTDB. Maybe 5% of the 1000+ CDs I've ripped had no checksums, so I ripped them again with EAC, which is set up to automatically do CTDB submission. (Usually I'm using the redumper tool which has some specialized features.) Without external verification it's import to dump it twice and ensure they're bit equal, preferably with a different drive to minimize error correlation.
by habinero | 2026-01-14 06:42:23+00:00
I sort of have to admire the kind of person that comes right out with "I have no firm principles or beliefs, and nobody else should either". That's certainly an ethos, I suppose.

Because yeah, if you can't imagine ever genuinely standing up for anything, of course the idea is gonna feel fake and embarrassing.

People genuinely feel his behavior sucked, dude, and it's not "performative" to say so, it's normal human social behavior. Shaming and scorn are powerful tools and we use them
to set norms.

So no, nobody cares if Scott Adams doesn't get $4 and has a sad. People care a lot about making it clear that egregious and ugly beliefs will be met with scorn. If that makes you feel bad, well, good. That's the point.
by simonw | 2026-01-14 06:42:34+00:00
I still do not see LLMs as replacements for programmers - they're tools for programmers to direct. If you don't know anything about programming you might be able to get a vibe coded prototype or simple tool out of them but that's a very different thing from a what happens when a skilled software developer uses these things to help accelerate their work.

My current setup is mainly Claude Code CLI on macOS and Claude Code for web driven by the iPhone all and macOS desktop app. I occasionally use Codex CLI too.

I expect I'll be on a different default combo of tools within a month or two.
by listenallyall | 2026-01-14 06:42:43+00:00
It's somewhat ironic to claim someone (who spoke every day for an hour about his thoughts) went "off the rails" on the same exact day an attorney representing the country's most prestigious civil-rights organization argued gender discrimination to the Supreme Court and yet was unable to provide a way to distinguish men from women.

You say the end of his life was sad, meanwhile he wrote of an "amazing life" in his final note and expressed immense joy in positively impacting thousands of people.

It's so strange how people like you classify other people's experiences that you actually know nothing about.

https://x.com/EithanHaim/status/2011221178535338244
by dagss | 2026-01-14 06:43:23+00:00
I don't have that much to offer... we just implemented it for a few different backends sitting on top of SQL. The concept works (obviously as there is not much there). The main challenge was getting safe export mechanisms from SQL, i.e. a column in tables you can safely use as cursor. The complexity in achieving that was our only problem really.

But because there wasn't any official spec it was a topic of bikeshedding organizationally. That would have been avoided by having more mature client libs and spec provided externally..

This spec is I a bit complex but it is complexity that is needed to support a wide range of backend/database technologies.. Simpler specs are possible by making more assumptions/hardcoding of how backend/DB works.

It has been a few years since I worked with this, but reading it again now I still like it in this version. (This spec was the 2nd iteration.)

The partition splitting etc was a nice idea that wasn't actually implemented/needed in the end. I just felt it was important that it was in the protocol at the time.
by bigstrat2003 | 2026-01-14 06:43:33+00:00
> Everybody makes fun of paper straws.

Yeah, because they suck. Uh, pun not intended. Paper straws get somewhat soggy and feel bad in your mouth. They are inferior to the plastic straws they purport to replace, so people resist them as much as they can.

If you want to actually make a difference with an environmental effort, you need to make something superior. Nobody makes fun of LED light bulbs because (up front cost aside) they are wildly superior to incandescent. People actually like having LED bulbs and seek them out. The same cannot be said, and likely never will be said, of paper straws.
by jeswin | 2026-01-14 06:43:42+00:00
Wow, I never came across it - thank you.

There are key differences though. What tsonic offers: (0) broad data type support, stack allocated types etc (1) nodejs and js compatibility libs, (2) the availability (in tsonic) of the entire .Net BCL, Asp.Net and EF Core as d.ts files (for example, in @tsonic/dotnet) so that tsc would still run, (3) bindings generator (tsbindgen) for any .net dll etc.

What tsonic is missing: (1) interpreter, (2) compile to .Net IL. Tsonic will only do native code.

I think these are two different approaches. With pros and cons for both.
by foresto | 2026-01-14 06:44:13+00:00
I recently learned about Bandcamp Fridays: "on which we waive our revenue share and pass the funds directly to artists & labels"

https://daily.bandcamp.com/features/bandcamp-fridays

I'm still sad about the company's sale to Epic and then Songtradr, but glad to see that the service hasn't turned to garbage yet.
We optimized Socket.IO for real-time SaaS analytics
by zoey922 | 2026-01-14 06:44:39+00:00
We recently migrated SaaSScout's analysis engine from a pure Serverless architecture (Vercel) to a containerized edge setup (Fly.io).

The Challenge:
Maintaining persistent WebSocket connections for real-time status updates in a Lambda-based environment resulted in high latency and frequent connection drops.

The Solution:
1. Migration to Fly.io: Utilizing persistent Node.js instances to handle the Socket.IO handshake and state.
2. Hybrid Transport Strategy: Implementing `transports: ['polling', 'websocket']`. This ensures that the initial connection is established via HTTP long-polling (highly compatible) before upgrading to WebSocket.
3. Edge Optimization: Deploying instances closer to the user to reduce the TCP handshake RTT.

The Result:
Analysis feedback latency dropped from ~2s (polling) to <150ms (WebSocket).

We'd love to hear your thoughts on infrastructure trade-offs for real-time SaaS apps.
by Qmppu842 | 2026-01-14 06:46:04+00:00
Long time ago, I was looking for game with some hidden rules, browsing random wikipedia.
I came across Mao [1].
It looked so cool, game that has it is culture.

I wanted to try, luckily using siblings is not considered war crime.
Since I had read about it in wikipedia we did not have culture to base it on.
It morphed to basically uno with normal playing card deck but winner gets to make new rule, any rule.
They will enforce it but they will not tell it to anyone else, they will just comment: "you broke rules, take penalty"

Since we played it way too much with siblings, we had times where my brother took 15 card penalty on game start.
There was ~4 day trip we played near 30h of Mao.

I still love it, but can't play it any more since people rarely have attention to detuct the hidden rules.
But also I feel creatively blocked since I can't make super complex rules when playing with new people, and the magic between my siblings has dimished bit.

[1] https://en.wikipedia.org/wiki/Mao_(card_game)
by butvacuum | 2026-01-14 06:46:22+00:00
> This is the most important part. The markets can be shifted in our favor if the consumers unite and vote with our wallets.

have you even glanced at what touching hardware manufacturing involves? The amount of NDAs alone ends this. anything with a smidge of processor performance requires it, same for virtually every method of manufacturing anything.

also, FSF did jack squat.
by zeroq | 2026-01-14 06:46:30+00:00
It is.

Motivation is a whimsical thing.

The fantastic element that explains the appeal of games to many developers is neither the fire-breathing monsters nor the milky-skinned, semi-clad sirens; it is the experience of carrying out a task from start to finish without any change in the user requirements.

As a lead or mgmt I set my highest priorities to:

(a) make sure that the goals are set to stone and crystal clear

(b) the team can do their work without any unnecessary distractions

(c) try to remove some of these "necessary" distractions as well

It can be really hard. And it can very ungrateful. I aim to be a nightwatchman, and I'm really proud of myself when the team thinks I'm getting paid for nothing. The bigger the structure the bigger the drama and I don't want them to be any part of it.

Meanwhile I struggle with stakeholders who are like "c'mon, you already build the skyscraper, we just want you to move the parking lot from the underground to second story, how hard can it be, you have all the parts in place, just move them around".
by daxfohl | 2026-01-14 06:46:38+00:00
Hard to say. In business we'll still have to make hard decisions about unique situations, coordinate and align across teams and customers, deal with real world constraints and complex problems that aren't suitable to feed to an LLM and let it decide. In particular, deciding whether or not to trust an LLM with a task will itself always be a human decision. I think there will always be a place for analytical thinking in business even if LLMs do most of the actual engineering. If nothing else, the speed at which they work will require an increase in human analytical effort, to maximize their efficacy while maintaining safety and control.

In the academic world, and math in particular, I'm not sure. In a way, you could say it doesn't change anything because proofs already "exist" long before we discover them, so AI just streamlines that discovery. Many mathematicians say that asking the right questions is more important than finding the answers. In which case, maybe math turns into something more akin to philosophy or even creative writing, and equivalently follows the direction that we set for AI in those fields. Which is, perhaps less than one would think: while AI can write a novel and it could even be pretty good, part of the value of a novel is the implicit bond between the author and the audience. "Meaning" has less value coming from a machine. And so maybe math continues that way, computers solving the problems but humans determining the meaning.

Or maybe it all turns to shit and the sheer ubiquity of "masterpieces" of STEM/art everything renders all human endeavor pointless. Then the only thing that's left worth doing is for the greedy, the narcissists, and the power hungry to take the world back to the middle ages where knowledge and search for meaning take a back seat to tribalism and war mongering until the datacenters power needs destroy the planet.

I'm hoping for something more like the former, but, it's anybody's guess.