MurphyA/hacker-news huggingface dataset:
Show HN: I recreated Windows XP as my portfolio
by mitchivin | 2025-09-07 01:44:19+00:00
Years ago I stumbled across a basic version of this concept and it stuck with me. I knew if I was ever going to take on such a project, it would need to be flawless, but without coding experience it was just another idea that would never happen. By the end of 2024, as AI coding tools exploded everywhere, I finally had a way to make it real.

I started from zero knowledge and spent months collaborating with AI agents as a learning experience. Every pixel and every function went through me. The AI translated what I asked for into code, but every decision was human. I didn't use existing OS frameworks because the goal was learning how basic coding languages worked while also developing my skills with AI collaboration. Apart from basic libraries like xp.css and paint.js, it's all original code.

The result is a fully functional Windows XP recreation running in your browser. Complete experience with sounds, animations, and working applications. Even works properly on mobile, which required rebuilding everything to maintain the authentic feel without becoming unusable on touchscreens.

This project taught me more about coding and AI collaboration than I ever expected. Would love to hear your thoughts on the execution and any feedback on the technical approach.
by staplung | 2025-09-07 01:44:21+00:00
The Wired article is paywalled now unfortunately. Here's an archived version:

https://web.archive.org/web/20210107003422/https://www.wired...

The Verge also has a great article which is more recent and more specifically about a repair ship:

https://web.archive.org/web/20240422050805/https://www.theve...
by neuralkoi | 2025-09-07 01:45:31+00:00
I am genuinely curious how this was working as a subsidy. My understanding is that now parcels valued at $800 or less are no longer exempt from tariffs, but it doesn't say anything about shipping costs subsidies. Surely those shipping costs will remain the same?

I know the article shows some pictures of USPS trucks, but is USPS the primary delivery service in other countries? I also believe the USPS does not receive tax dollars to support its operations.

Also, if you now go buy something across the street, wont it also be at a higher price since they are likely also shipping it in from abroad?
by mketab | 2025-09-07 01:45:52+00:00
Great feedback, will consider it for the next update. BTW, if you haven't noticed, you can write a message in any language yourself and send to AI to translate it optionally if it is not in English then send it or send it directly. This is the most authentic way, the AI-crafted message is for the users who prefer simpler way to spread kindness.
by lostlogin | 2025-09-07 01:46:04+00:00
I wish New Zealand did more of this.

We have a whole fleet of geothermal plants (15ish), making about 20% of our power. However the largest plant is only 160MW.

The impact in comparison to our other renewables seems fairly minimal.

https://en.wikipedia.org/wiki/Geothermal_power_in_New_Zealan...
by aw1621107 | 2025-09-07 01:46:10+00:00
> Surely all good things come to an end, but where?

As long as there are people willing to put in the work to convince the standards committee that the proposals they champion are worth adding to C++ (and as long as there is a committee to convince, I suppose), then new versions of C++ will continue to be released.

> there is no way in hell i will still be staying up to date with C++43. Personally I've already cut the cord at C++11.

Sure, different developers will find different features compelling and so will be comfortable living with different standards. That one group is fine with existing features shouldn't automatically prevent another from continuing to improve the language if they can gain consensus, though.
by ranger_danger | 2025-09-07 01:46:36+00:00
Hard disagree, I think there is very important context missing here, notably:

> 2. computer programs for the purpose of the commission of such an offence

Big huge emphasis on "for the purpose of", meaning there must be clear intent to cause harm or break the law, especially for a criminal case. This assumes the purpose of the program is not inherently for hacking/criminal purposes, which I do not believe would be hard to argue that nmap is not designed as a "hacking tool".

Germany appears to have a similar standard to US criminal cases where you are presumed innocent until proven guilty "beyond a reasonable doubt": https://law.stackexchange.com/questions/40966/innocent-until...
by vandalism | 2025-09-07 01:46:44+00:00
The certificate is used for nothing more other than checking whether the launcher is "signed". The whole scheme is full of security holes, the certificate check mostly seems like it was a programming exercise for the author.

There is no need for the certificate installation with regards to any emulation functioning. Also, worth noting that this is an ongoing issue: this reboot of the game still has a decent daily player count and the CA installation concern has not been addressed, the launcher still does this.

(It's also not a server emulator, it's just a launcher for the game client, used by players of the game.)
by nodja | 2025-09-07 01:49:36+00:00
This is actually NOT recommended for a beginner.

Writing and speaking are effective at establishing long term memories, it's why we do it for other things, but a language learning beginner has no idea if what they're writing makes sense or if there's any subtle mistakes in how they're pronouncing words or how they're putting them together, etc.

Language learning experts don't recommend you start speaking/writing unless you have a coach or have reached an intermediate level so that you can discern when something sounds native or not. That way you can self evaluate with recordings, etc.

It is an effective tool for learning, but for self-learning you're gonna be shooting yourself in the foot long term. You should only do it if you have, say, a partner that speaks the language and doesn't mind correcting you all the time.

For Japanese I recommend that you do learn how to write kana/kanji from the start, and even some vocab if you want. But stop there. Don't write sentences, don't try to talk to japanese people on those apps/discord etc. and wait until you're at an intermediate level to do it, otherwise you'll form some very bad habits that are very hard to undo.
by smilekzs | 2025-09-07 01:49:39+00:00
Not OP but I think this could be an instance of leaky abstraction at work. Most of the time you hand-write an accelerator kernel hoping to optimize for runtime performance. If the abstraction/compiler does not fully insulate you from micro-architectural details affecting performance in non-trivial ways (e.g. memory bank conflict as mentioned in the article) then you end up still having per-vendor implementations, or compile-time if-else blocks all over the place. This is less than ideal, but still arguably better than working with separate vendor APIs, or worse, completely separate toolchains.
by maplethorpe | 2025-09-07 01:51:44+00:00
> We didn't have the same concept of OPSEC back in the early 2000's (lol Foursquare wtf were we thinking) and the idea of sitting down at the end of the day and pouring everything that happened into a journal entry was completely normal.

I was there, and we weren't all like this. I can remember being offended when a friend checked me into a location with foursquare, broadcasting my location out to the world. I felt similarly offended when I was "tagged" in photographs (and still am to this day).

This idea that we were all collectively oblivious and only recently made our way out of the fog really bothers me. Why did the majority of my generation never care about their own privacy?
by eviks | 2025-09-07 01:52:39+00:00
> But they can also do the opposite. They can make an interface feel unpredictable, slow, and annoying.

Indeed, just like the immediately following example, which slows down page scrolling, breaking predictability and consistency of one of the most frequently used and fundamental page operations

And its purpose is, of course, only fulfilled in the imagination of the designer

> This animation explains how Product Intelligence (Linear’s feature) works. We could have used a static asset, but the animated version helps the user understand what this feature does, straight in the initial viewport of the page.

It doesn't really do that: first, it's happening partially out of focus because I read top to bottom, so I'm still reading your title and leading paragraph, or did you want me to be distracted and skip the text? So I see the same thing on first focus: static image. And I can't rewind it to watch again since I missed it the first time.

Then it has a very weird angle which makes all the text harder to read, my guess is to help see the 3D nature of the animation when to show the arrival of the product as a separate overlay? So this would likely not exist in a static image and be an improvement.
by Jotalea | 2025-09-07 01:53:15+00:00
I personally LOVE when the software I use has smooth animations. Telegram, Hyprland, GNOME, iOS, those are some examples of it. but apparently, I am the only person that cares about animations at all. I made a mockup of an app with quite a lot of animations, and asked random people what did they think about it. not a single person mentioned animations.
by tombert | 2025-09-07 01:53:26+00:00
Pretty cool stuff.

Every time I see it, a part of me misses the styling of Windows XP. It was kind of the only well-regarded windows that tried to actually be fun; the fact that there was a little dog mascot in the search results, the fact that the bar on the bottom kind of looks like a Fisher Price toy, Clippy!

I kind of miss when professional programs were allowed to be goofy.

As a side note, I really like your avatar; has kind of a Simpsons/Bob's Burgers vibe that I find appealing.
by neilv | 2025-09-07 01:53:32+00:00
It mostly is, but the author asserts that the advice is also applicable to (the minority of?) people with other goals.

The author deals with the question of the advice recipient's goals near the start of the piece:

> For some people it means finding work they love. For others it’s about meaning. For many it’s just getting promoted. Still, here’s what I usually say.

The rest of the piece does sound like corporate ladder-climber advice. For example:

> [...] and people notice. That’s enough for a while. But eventually it’s not. Everyone around you is technically strong too. So for most of us, you won’t stand out anymore. You need to increase your impact in other ways. [...]

Where, to a ladder-climber, "impact" is corporate euphemism for recognition and promotion ("people notice" and "stand[ing] out").

And common corporate getting-recognition advice:

> And do it in the open. A common mistake is assuming work speaks for itself. It rarely does.

And even the closing words could be constructive advice for ladder-climbers:

> And in the long run, the best way to get what you want is to deserve it.

But it could also be applicable to the rare/mythical unicorns who just want to do good work within a corporate environment.
by esbranson | 2025-09-07 01:55:05+00:00
And the solution is rather easy, if draconian: absolute liability, sky-high civil penalties, and enforcement by private individuals (a la "qui tam" or the Texas Heartbeat Act). Let the average person (read: lawyer) sue the scrap yards into oblivion, and make it lucrative enough that the thieves themselves will turn them in. Fight greed with greed, it works. For those people who think it's being sent across the border: secure the border.
by jandrewrogers | 2025-09-07 01:56:21+00:00
The saving grace of C++ is that 80% of my complaints are really about the standard library rather than the language itself. I can replace the standard library with something else more consistent and modern without regard for legacy compatibility, and many people do.

Most of the rest of my complaints could be addressed by jettisoning backward compatibility and switching to more sensible defaults. I realize this will never happen.

C++ still has some unique strengths, particularly around metaprogramming compared to other popular systems languages. It also is pretty good at allowing you to build safe and efficient abstractions around some ugly edge cases that are unavoidable in systems programming. Languages like Rust are a bit too restrictive to handle some of these cases gracefully.
Ask HN: Significant reduction in AI related submissions?
by 3vidence | 2025-09-07 01:58:33+00:00
It's kind of meta but has anyone noticed a pretty significant change in the distribution of submissions?

I kind of stopped visiting HN for a couple of months because most submissions were AI related in some way and the conversation were not very interesting imo.

It's actually nice to see more balanced distribution of stories on different parts of tech, reminds me why I found this community so interesting.

There are still lots of AI stories but its closer to like 1 to 3 per 30.
by sudahtigabulan | 2025-09-07 01:59:37+00:00
Is there no getopt implementation for Typescript? The input this library tries to handle better looks to me like bad design.

"options that depend on options" should not be a thing. Every option should be optional. Even if you have working code that can handle some complex situation, this doesn't make the situation any less unintuitive for the users.

If you need more complex relationships, consider using arguments as well. Top level, or under an option. Yes, they are not named, but since they are mandatory anyway, you are likely to remember their meaning (spaced repetition and all that). They can still be optional (if they come last). Sometimes an argument may need to have multiple parts, like user@host:port You can still parse it instead of validating, if you want.

> mutually exclusive --json, --xml, --yaml.

Use something like -t TYPE instead, where TYPE can be one of json, xml, or yaml. (Make illegal states unrepresentable.)

> debug: optional(option("--debug")),

Again, I believe it's called "option" because it's meant to be optional already.

optional(optional(option("--common-sense")))

EOR
by hansvm | 2025-09-07 02:00:03+00:00
The heavy lifting happens in the definitions of `option` and `integer`. Those will take in whatever arguments they take in and output some sort of `Stream -> Result<Tuple<T, Stream>>` function.

That might sound messy but to the author's point about parser combinators not being complicated, they really don't take much time to get used to, and they're quite simple if you wanted to build such a library yourself. There's not much code (and certainly no magic) going on under the hood.

The advantage of that parsing approach:

It's reasonably declarative. This seems like the author's core point. Parser-combinator code largely looks like just writing out the object you want as a parse result, using your favorite combinator library as the building blocks, and everything automagically works, with amazing type-checking if your language has such features.

The disadvantages:

1. Like any parsing approach, you have to actually consider all the nuances of what you really want parsed (e.g., conditional rules around whitespace handling). It looks a little to me (just from the blog post, not having examined the inner workings yet) like this project side-stepped that by working with the `Stream` type as just the `argv` list, allowing you to be able to say things like "parse the next blob as a string" without also having to encode whitespace and blob boundaries.

2. It's definitely slower (and more memory-intensive) than a hand-rolled parser, and usually also worse in that regard than other sorts of "auto-generated" parsing code.

For CLI arguments, especially if they picked argv as their base stream type, those disadvantages mostly don't exist. I could see it performing poorly for argv parsing for something like `cp` though (maybe not -- maybe something like `git cp`, which has more potential parse failures from delimiters like `--`?), which has both options and potentially ginormous lists of files; if you're not very careful in your argument specification then you might have exponential backtracking issues, and where that would be blatantly obvious in a hand-rolled parser it'll probably get swept under the rug with parser combinators.
by acdha | 2025-09-07 02:00:28+00:00
This thread is a bit muddled since it’s mixing talk of citizen (not required to carry ID) and non-citizen (required, but cannot be stopped without reasonable suspicion outside of border areas and has the right to remain silent: i.e. ICE can’t go to a stadium and demand over the PA that everyone volunteer status) rights, and I think some of my comments about the former were confused with the latter. In any case, don’t trust me when you can get an actual lawyer’s summary:

https://internationalservices.gwu.edu/sites/g/files/zaxdzs64...

> immediately rejecting government data because it violates your desired world view is childish, especially when there's no reason to doubt it.

You appear to have confused me with someone else. That said, given both the highly politicized climate and the many recent examples of claims being dropped or falling apart in court, I think it’s prudent to only trust things defended in a court of law. It’s certainly plausible that there was a tip about immigration fraud which meant that they had clear cause for stopping people but it also wouldn’t be surprising if people under intense pressure to hit quotas made some bad calls. I’m sure that many of the numbers they report are valid - large chunks of the economy depend on foreign labor - but expect the final numbers will be substantially lower.
by rodrigorf | 2025-09-07 02:00:41+00:00
It's a minimalist web app that solves one simple problem: it gives you a clear, chronological view of all your bills so you never miss a payment and have peace of mind.

I built the app in just two weeks, focusing on simplicity and usability. There are no complex investment features or complicated budgets—just an intuitive way to stay on top of your payments.

The mission is simple: make bill management easy and visual. If that sounds useful to you, check it out and let me know what you think!"
by 0xCMP | 2025-09-07 02:00:58+00:00
We've collectively learned that besides the OPSEC concerns most of the "diary" type posting is very boring to consume (most people are boring) and therefore it's pretty likely your posts aren't that great either.

To make them interesting you must put effort, which we see some people doing, but anyone who has done it knows how the amount of effort needed detracts from the actual meaningful part of experiences/life/relationships.

In a way blogs are the worst medium now for this: Hard for people to consume casually, hard to meaningfully control the audience, and constantly scraped/archived by 3rd-parties. Most who still want to do this more causal, diary-type posting are better served by a private Instagram and posting occasionally, but mostly focusing on low-effort Stories. The key part/fix is the ephemeral nature of the majority of posts/content.

And there you see exactly how/why most people end up doing exactly that.
by didibus | 2025-09-07 02:01:41+00:00
Ya, an increased risk of 5-20% on an already very low risk.

That means mothers who don't take Tylenol have baseline 3% chance their child will be diagnosed with autism. And mothers who took Tylenol (at the levels of the study) may have a 3.15% to 3.6% chance (assuming causation, which has not been proven).

It seems unlikely we "cracked the code" here.

The best justification for the high increase we're seeing in the data is still just that the data itself has changed in how it's measured and tallied and so on.
by kjjoseph | 2025-09-07 02:01:49+00:00
Location: San Diego CA (USA)

Remote: Yes; I'm open to any combination of in-office or remote

Willing to relocate: Yes

Technologies: Mainly frontend: Javascript, Typescript, HTML, CSS, React, Vue, Sass; also have some backend experience: MySQL, Node.js, Go, PHP

Résumé/CV: https://kevinjoseph.net/resume

Email: kevin@kevinjoseph.net

Additional links: https://www.linkedin.com/in/kjjoseph/ https://github.com/kj-joseph
by sneak | 2025-09-07 02:02:45+00:00
I think the most important skill after the actual engineering is ability to write well (and inclination to do it early and often).

pg and tptacek and patio11 really drove that home to me - they are as well known and well regarded as they are because they tell people about it, well and often.

Even if it’s just on an internal wiki - get the stuff in your head out there.
by ChrisMarshallNY | 2025-09-07 02:03:31+00:00
It also means … ahem … a well-endowed gentleman.

I’m not sure that AI would necessarily make that mistake, but a semilterate mod, very much could.

I think the real issue is the absolute impossibility of appeal. This is a big problem, for outfits like Google or Microsoft, where stories of businesses being shut down for false positive bans are fairly common.

In my experience, on the other hand, Apple has always been responsive to appeal. I have released a lot of apps, and have had fairly frequent rejections. The process is annoying, because they seldom tell you exactly what caused the rejection, but I usually figure it out, after one or two exchanges. They are almost always word-choice issues, but not bad words. Rather, they don’t like stuff that can step on their brands.

I once had an app rejected, because it had the word “Finder” in its name (it was an app for finding things).

The annoying thing, was that the first rejection said it was because it was a simple re-skinning of a Web site. I’m positive that what happened, was that a human assessor accidentally tapped the wrong button on their dashboard.
by kstrauser | 2025-09-07 02:04:17+00:00
I think you’re right about the FAFO bit. I suspect Mangione will end up being simply the first. I mean that as a prediction, not an endorsement. Anyone who’s studied the French Revolution knows how these things can turn out, for many the same reasons.

But I’ll almost always be against vigilanteism outside extreme hypotheticals (“would you shoot Hitler?”). Even if I were morally ok with a specific instance, some time the person behind the gun might disagree with someone I support, and then where’s my moral ground to oppose their actions?

Edit: Furthermore, as much as I despise UHC and their leadership, I love the notion of our justice system more than I loathe them. When someone decides to be the judge and executioner, society devolves to “might makes right”. I served in Somalia. I don’t want to live there.
by gxs | 2025-09-07 02:05:40+00:00
I don’t know man, my point was more than I probably don’t lean the actual skill of writing fast, it wasn’t necessary lack of practice

All through college I had to write extensively and still never got anywhere near that speed

I do wonder about raw limits - unless you learn a specific shorthand, I can’t imagine writing out the word “something” faster than I can type it - unless as an example I used sm instead
by danaris | 2025-09-07 02:06:45+00:00
> It’s way easier for me to believe that an individual working alone, screwed over by a megacorp who earns more based on how many people they can deny healthcare to, had enough and went vigilante.

This does not contradict what I said.

I make no claims about just who or what the actual shooter was. I merely claim that it almost certainly wasn't Luigi Mangione.