MurphyA/hacker-news huggingface dataset:
by legitster | 2025-10-29 21:31:01+00:00
It's really hard to understate how deforestation ravaged China - their forestry cover declined by almost half during The Great Leap Forward as the CCCP at the time pushed hard to exploit the land. As a result, there were severe and noticeable problems with flooding and desertification. So starting in the 70s they invested heavily in the "Three-North Shelter Forest Program" (aka the Great Green Wall). Although, probably more importantly, economic liberalization meant farming became more efficient and people could move towards cities and free up the land again.

I think more fascinating has been Russia's surge in forestry growth, also very notable in the report. Unlike China their forests have expanded almost completely accidentally. Communist-era collective farmlands have slowly been getting abandoned. Their frontier has been shrinking and the forests have crept in, tree growth being aided by longer growing period and thawing permafrost.
by Jtsummers | 2025-10-29 21:31:13+00:00
Can you point to a successful Waterfall project? A multi-million or billion dollar, 3+ year software development effort where a team figured out all the requirements correctly before writing a single line of code. Where they wrote every line of code correctly before testing it. And where testing was so spectacularly successful that they didn't have to go back and renegotiate the project requirements or dates to get extensions or reduced project scope.

If you can do this, then I might believe you about Waterfall being the best approach out there.

Right now your counter example is "teams with little experience" which is not much of an argument. Teams with little experience fail all the time, because they are inexperienced. Give them a $100 million Waterfall project to plan and execute over 3+ years and their failure would be even more spectacular.
GlyphGL: Open-Source C/C++ header only lightweight OpenGL text renderer
by DareksCoffee | 2025-10-29 21:32:03+00:00
Hi y'all I'm very happy to share GlyphGL, a new minimal project I wrote from scratch that requires zero dependencies It's a cross-platform (Windows, Linux, Macos) header only C/C++ library designed for simplicity and absolute control (still under development) No FreeType: It contains it's own ttf parser, rasterizer and renderer No OpenGL Loader: GlyphGL includes it's own built in loader that handles all necessary OpenGL functions and pointers across many platforms, although it can be disabled using GLYPH_NO_GL_LOADER Compatibility: GlyphGL is written with C99 syntax, meaning it can be ported easily to other platforms Performance: Although still under development and lacking heavy optimizations (like SDF rendering and other advanced techniques), GlyphGL remains notably fast thanks to its efficient batch rendering system

i'm open to criticism to help this project improve and grow, so if you find any issues, bug or need some clarifications, please comment in the thread or pull an issue in the repo!

repo: https://github.com/DareksCoffee/GlyphGL
by dboon | 2025-10-29 21:32:15+00:00
If you look at the script, this is indeed more or less what happens. Except the folks over there are very clever about ergonomics, so the script is quite long so it can detect your architecture, OS, and even libc to give you an appropriate binary. There’s a tool that they use (which they wrote) which generates such install scripts for you

It’s really excellent stuff
by Johanx64 | 2025-10-29 21:32:25+00:00
"Most is software is written using a some text editor."

What an astute fucking observation you've made, mate!

And so it happens, that webdevs and web infra people (which is the extent of your understanding of "high quality shit") tend to use unixes and consequently vim/emacs as their text editor. No fucking way!

Perhaps, you can even tell just by looking at a piece of code - oh, this is beautiful, clean and clear, bugfree, this surely must have been written vim OR emacs?

Or maybe, just maybe, you're just making shit up on the spot and thinking backwards and attributing software quality metrics and outcomes to choice of a fucking text editor and how riced it is.
by troyvit | 2025-10-29 21:32:27+00:00
> Those are the players that demand excessive control over end-user devices, and thus the ultimate driver behind the problem we're discussing.

But they don't demand the same control over laptops and desktops. Only phones. Why is that? Granted I can't deposit a check with my laptop but I can do any other banking I wish to do.

So to me it's more that they see the chance to gain this control where they didn't see it before. Phone providers are only too happy to get on that bandwagon because they get to deploy all kinds of surveillance capitalism in the name of security ("hey the banks want it!").

Granted these freedoms are slowly leaching away from laptops and desktop too with stuff like TPM, so I don't know. I've about had it though.
by zeppelin101 | 2025-10-29 21:32:40+00:00
I have a very silly primary reason for preferring the Kitty terminal - I configured it to look very minimalistic and compact. It doesn't even have the customary app titlebar at the top. The other benefit is that it's actually a lot faster to start up than Terminal.app when you first invoke it. I know iTerm2 is really well-liked, but to me, it gave the "Breakin' 2: Electric Boogaloo" vibes.
by 1718627440 | 2025-10-29 21:33:05+00:00
> where precision matters (like train stations or airports).

That is true. That is called e.g. 'Bahnhofszeit' and follows different rules than normal time telling. You should include that in the game description, otherwise learners may think that is how you tell the time to each other in everyday life.

I think it is less about precision as e.g. 'zwei vor dreiviertel Elf' is as precise as 'zehn Uhr dreiundvierzig', but more about the way of measuring times. E.g. you do round normal time, but truncate 'train station time'.
by DemocracyFTW2 | 2025-10-29 21:33:14+00:00
As someone who moved from Python to NodeJS/npm ~10yrs ago I can fully support that statement. Dissatisfaction with Python's refusal to get its dependency/package-management act together and seeing how reasonably the task is being dealt with by `npm`—notably with all its flaws—made me firmly stay with NodeJS. Actually virtualenv was for me another reason to keep my fingers out of whatever they're doing now over there in Python-land, but maybe `uv` can change that.
by kevinsync | 2025-10-29 21:33:50+00:00
I left a comment [0] on the other thread, and this is irrelevant if you aren't using Photoshop, but there's a plugin called DITHERTONE Pro that gives you a lot of control over the dither algorithm used + color grade. For actual design, I tend to use this since I'm already in PS cobbling together an image, and you can tweak the results in realtime to dial it in how you want.

I also have used didder [1] a couple times for dithering via CLI / script. Its results can be pretty good too, just more for repeatable batch operations and you need to make sure your palettes and chosen algorithms will produce what you're actually looking for.

[0] https://news.ycombinator.com/item?id=45726845

[1] https://github.com/makew0rld/didder
by reaperducer | 2025-10-29 21:34:41+00:00
Not sure how actively AOL is used

Perhaps more than you think.

I was recently looking through an e-mail distribution list that my company uses and was surprised how many @aol.coms were on there. Easily hundreds.

People in the tech bubble vastly underestimate the number of @aol.com, @yahoo.com, @hotmail.com, @earthlink.net and other legacy e-mail addresses regular people still use. After all, it's their e-mail address. Why would they ever change it?
by legitster | 2025-10-29 21:34:51+00:00
> Steven Pinker's concept that as nations get richer they become more environmentally conscious, cause they can afford to care about it.

I think in this case it's more of a correlating factor. The countries struggling with deforestation have very little state capacity to enforce property rights or any sort of environmental regulations. Whereas in the developed world it's much easier to stop illegal logging or homesteading.
by tomck | 2025-10-29 21:35:12+00:00
I think you replied to the wrong person.

That being said, I don't understand your `is_something_true` example.

> It's very often used to do 1 thing at a time when N things could be done instead

That's true, but I don't think e.g. fibres fare any better here. I would say that expressing that type of parallel execution is much more convenient with async/await and Promise.all() or whatever alternative, compared to e.g. raw promises or fibres.
by CupricTea | 2025-10-29 21:35:45+00:00
It's an open secret that encyclopedia authors, dictionary authors, and map makers all plagiarize one another, to the point where cartographers have added fictitious "trap streets" to catch others from plagiarizing their maps, and lexicographers have added Mountweazels.

It doesn't surprise me nor does it upset me that Grokipedia would include Wikipedia as an input source, nor do I feel like they're hypocritical for doing so given their stated goals. If you think a source has a bias problem, it makes sense to use that source for reference while applying your own bias checking to it.
by blackcatsec | 2025-10-29 21:35:57+00:00
Sure, but that isn't the prevailing norm anymore? What hardware doesn't effectively make you sign up for an account? Even Google does this under the hood with devices managed via Android Enterprise. Managed Google Play devices just create a device-specific account under the hood that isn't visible to the user. But it's still there. The requirement for this and the software infrastructure is still there.

Hell, even internet-of-shit devices make you sign up for an account to manage the hardware you buy (Ring, Nest, smart LEDs, etc.)

I'd give that on pure number of raw technical devices deployed to the internet today, some form of account and/or internet connectivity is a requirement moreso than not.
by burnte | 2025-10-29 21:36:28+00:00
Yep! Ever seen Pulp Fiction? Do you know what's in the briefcase? No one does. It's a McGuffin. The Torment Nexus is also a McGuffin, it's a poorly defined thing that the actual definition of is irrelevant to the plot, only how it creates motivation for the characters.

In this joke the "Torment Nexus" by name is clearly something you don't want, no one wants to be tormented. It's also the McGuffin because something named a Torment Nexus would HOPEFULLY be something someone wouldn't build, but the joke is "hey this guy went and built the horrible thing we didn't want!"

Ever heard anyone make a Soylent Green joke? Same thing. All we know is that "soylent green in people" but we don't know HOW it's people, but it doesn't matter because we simply don't want to eat people under any condition.
by Quekid5 | 2025-10-29 21:36:48+00:00
> I can't imagine building something like a graphics framework without some subtyping.

While React technically uses some OOP, in practice it's a pretty non-OOP way do UI. Same with e.g. ImGUI (C++), Clay (C). I suppose for the React case there's still an OOP thing called the DOM underneath, but that's pretty abstracted.

In practice most of the useful parts of OOP can be done with a "bag/record of functions". (Though not all. OCaml has some interesting stuff wrt. the FP+OOP combo which hasn't been done elsewhere, but that may just be because it wasn't ultimately all that useful.)
by Brett_Riverboat | 2025-10-29 21:36:59+00:00
defaultUser0 is used by windows for the OOBE if you don't delete it along with the registry keys it will just boot back to the OOBE again. defaultUser0 gets removed by the OOBE after setup leaving your system vulnerable. The administrator account is a built in account that is disabled by default but won't be disabled if you completely bypass the OOBE or don't use the old local account setup which you no longer can do because of microsofts removal of the feature.
by progmetaldev | 2025-10-29 21:37:00+00:00
I was having issues a few hours ago. I'm now able to access the portal, although I get lots of errors in the browser console, and things are loading slowly. I have services in the US-East region.

I have been having issues with GitHub and the winget tool for updates throughout the day as well. I imagine things are pulling from the same locations on Azure for some of the software I needed to update (NPM dependencies, and some .NET tooling).
by agarv | 2025-10-29 21:37:07+00:00
Color dithering is very similar black and white dithering, the difference is that instead of 2 colors (black and white), you have n colors, and you want to find the one that has the shortest distance to the current pixel. There are various formulas[1] to determine which color is closest, and which formula you choose will have an effect on the results. I built a dithering app[2] that lets you choose the distance formula, so you can see for yourself.

[1] https://en.wikipedia.org/wiki/Color_difference [2] https://dithermark.com
by troyvit | 2025-10-29 21:37:36+00:00
I agree. I also think though that it's a different kind of trust. They trust Google, Apple, and Microsoft because they _think_ they'll be held accountable by some legal system, but judging by the wrist slaps meted out for their massive security lapses (especially you M$) or their constant breakage of their own privacy policies to spy on people it actually seems worse than trusting individual app developers.
by spwa4 | 2025-10-29 21:37:52+00:00
N100 is my homelab, for playing. For instance I have a kubernetes cluster running KubeVirt, which runs 5 VMs, which ... have a kubernetes installation (so I have multiple worker nodes doing a "distributed filesystem" all of which is resharing disks from the same SSD). My production servers are generally older Xeons with ECC ram, which are also running kubernetes.
by Areibman | 2025-10-29 21:38:23+00:00
My biggest frustration is the lack of a good universal REPL to just play around with. It's frustrating how I have to run `uvx --with x,y,z ipython` every single time I just want to spin up some python code which may or may not use packages. (Hard to overstate how annoying it is to type out the modules list).

To me, Python's best feature is the ability to quickly experiment without a second thought. Conda is nice since it keeps everything installed globally so I can just run `python` or iPython/Jupyter anywhere and know I won't have to reinstall everything every single time.
by Karrot_Kream | 2025-10-29 21:38:58+00:00
Java is pretty easy to decompile and it's not a huge amount of effort to poke into the generated JVM code and start doing things. If you have a decent idea of how VMs work, C-like languages work, and how object dispatch works it's really not that hard. Also the early modding scene for Minecraft was really fun. I was a huge Minecraft player at the time and was early into the deobfuscating -> modding scene and the community was one of the most fun computing communities I've been in. Due to how focused it was on the game and its output it wasn't bogged down in nearly as much bikeshedding and philosophy as most FOSS projects get. Honestly one of the highlights of the coding I've done in my life.
by Fwirt | 2025-10-29 21:39:08+00:00
My point was more along the lines of the fact that below a certain price point, you can't be sure whether you're paying $3500 for actual build quality and features or marketing. A $500 fridge could last forever, or it could last exactly as long as the (very short) warranty period. Also, cheap stuff may last forever in some ways, but it's been cost optimized in a million different ways that make it more annoying to use. In my case the compressor is fine, but the plastic interior has some inexplicable cracks in it and the feet broke off. But at least it will never advertise to me.
by JohnMakin | 2025-10-29 21:39:29+00:00
I'm not sure what documents you think entail getting a REAL ID but they are typically proof of permanent residence, such as US passport, birth certificate, or green card. Its requirements are actually stricter than what entails getting a passport, because you also have to prove you actually live in the state you're applying in.

As for the rest of your post, I don't really know what you're babbling about has to do with what I wrote.
by noosphr | 2025-10-29 21:39:42+00:00
JavaScript has truly rotted the brains of software developers.

You include the security patch of whatever your dependencies are into your local vetted pypi repository. You control what you consider liabilities and you don't get shocked by breakages in what should be minor versions.

Of course you have to be able to develop software and not just snap Lego's together to manage a setup like that. Which is why uv is so popular.
by agoodusername63 | 2025-10-29 21:39:43+00:00
Yeah I'm one of them. Started as an on-site Linux sysadmin. Moved to cloud SRE because remote is plentiful and it pays better.

I get crap recruiters in my inbox and LinkedIn every other week with the worst offers to go back to on-site bare metal admin. 30% less pay, on-site requirements, and it's a contracted position?

I need that Futurama "oh you're serious, let me laugh harder" gif

If companies want to whine that good Linux datacenter ops doesn't exist anymore, laugh in their faces.
by dekhn | 2025-10-29 21:40:20+00:00
I've programmed all those languages before (learned C in '87, C++ in 93, Go in 2015 or so) and to be honest, while I still love C, I absolutely hate what C++ has become, Go never appealed to me (they really ignored numeric work for a long time). Rust feels like somebody wanted to make a better C with more standard libraries, without going the crazy path C++ took.
by stefs | 2025-10-29 21:40:30+00:00
i'm not sure this is an easily solvable problem. i remember reading an article arguing that your cloud provider is part of your tech stack and it's close to impossible/a huge PITA to make a non-trivial service provider-agnostic. they'd have to run their own openstack in different datacenters, which would be costly and have their own points of failure.
by sampo | 2025-10-29 21:40:31+00:00
> If India can have voters vote and tally all the votes in one day, then so can everyone else.

In most countries, in the elections you vote or the member of parliament you want. Presidential elections, and city council elections are held separately, but are also equally simple. But in one election you cast your vote for one person, and that's it.

With this kind of elections, many countries manage to hold the elections on paper ballots, count them all by hand, and publish results by midnight.

But on an American ballot, you vote for, for example:

- US president - US senator - US member of congress - state governor - state senator - state member of congress - several votes for several different state judge positions - several other state officer positions - several votes for several local county officers - local sheriff - local school board member - several yes/no votes for several proposed laws, whether they should be passed or not

I don't think it would be possible to calculate all these 20 or 40 votes, if calculated by hand. That's why they use voting machines in America.

https://ballotpedia.org/Official_sample_ballots,_2020
by JuniperMesos | 2025-10-29 21:40:33+00:00
Huge numbers of Venezuelans would want to leave Venezuela and immigrate to the US if they legally could, regardless of anything Trump does or doesn't do, because the US is a much richer and better-run country than Venezuela is. Working illegally for poor wages in the US is a better deal for many people than physically being in Venezuela. There's also nothing special about Venezuela in this respect, much of the world is so much poorer and badly run than the US that many people from many different places would prefer to live in the US compared to their own countries.
by forrestthewoods | 2025-10-29 21:40:48+00:00
uv is spectacular

But I’m utterly shocked that UV doesn’t support “system dependencies”. It’s not a whole conda replacement. Which is a shame because I bloody hate Conda.

Dependencies like Cuda and random C++ libraries really really ought to be handled by UV. I want a true genuine one stop shop for running Python programs. UV is like 80% of the way there. But the last 20% is still painful.

Ideally UV would obsolete the need for docker. Docker shouldn’t be a requirement to reliable run a program.
by conductr | 2025-10-29 21:40:50+00:00
> as nations get richer they become more environmentally conscious, cause they can afford to care about it.

Thus far, getting rich has been dirty business. This is what leads people to care more so than them being able to afford to care. Their richness is a side effect of their pollution, thus, caring is a side effect of richness but that's not the root cause. Pollution -> Money -> Caring. If you removed the money, people still care they just can't afford to do anything about it.

I'm not familiar with Pinker or this theory, just poking at it :)
by Hikikomori | 2025-10-29 21:41:49+00:00
I mean its not that complicated. Rent space in another location, get separate fibers/wavelength between them, redundant internet connection.

But if you're in a growth/startup phase it doesn't make much sense to spend engineering time on this, not that multi region setups in Aws is one button either. Once you're past that and paying aws a million per week or so I think it can make sense to offload expensive services to your own hardware.
by embeng4096 | 2025-10-29 21:41:50+00:00
Would creating a `main.py` with the dependencies installed either as a uv project or inline work for you?

One thing I did recently was create a one-off script with functions to exercise a piece of equipment connected to the PC via USB, and pass that to my coworkers. I created a `main.py` and uv add'ed the library. Then when I wanted to use the script in the REPL, I just did `uv run python -i main.py`.

This let me just call functions I defined in there, like `set_led_on_equipment(led='green', on=True)` directly in the REPL, rather than having to modify the script body and re-run it every time.

Edit: another idea that I just had is to use just[0] and modify your justfile accordingly, e.g. `just pything` and in your justfile, `pything` target is actually `uv run --with x,y,z ipython`

Edit edit: I guess the above doesn't even require just, it could be a command alias or something, I probably am overengineering that lol.

[0]: https://github.com/casey/just
by avadodin | 2025-10-29 21:41:53+00:00
The paper that triggered this thread "breaking" PCG sees it as potentially in the same class of issues as using RANDU.

> our results […] do mean that [PCG']s output has detectable properties. Whether these properties may affect the result of Monte-Carlo numerical simulations is another matter entirely.

Again this is on PCG which required a breaking effort.

The short version of Xorshift as originally presented by Marsaglia outputting its whole state for example is bound to have behaviors like my room-generation example emerging fairly easily. Particularly, with low hamming-weight states.

I doubt Xoshiro's output is that bad but if presented as trivial to recover vs PCG, that to me indicates potential issues when using the output for simulation.
by convolvatron | 2025-10-29 21:43:09+00:00
its still pretty easy to screw up. how does the system you're using handle back pressure and how does that behavior affect other parts of your system. if you have two systems that each do back pressure, are you certain that the system remains closed? that is if those systems aren't coupled implicitly through the scheduler or explicitly in some other way, then you can balloon state or drop results between them.