MurphyA/hacker-news huggingface dataset:
by raxxorraxor | 2025-05-28 08:23:52+00:00
Since the inception of AI and everyone firing their AI generated scripts towards random infrastructure, I have significantly more work and it isn't the work where I can take this stuff, throw it to an AI and get a solution. It is the usual development work. Part of it is our own fault, since we supplied AI agents left and right for any user.

I tried to formalize and embed information about infrastructure, so AI generated code can adapt to that, but there are serious challenges. I wish I would get an AI secretary, but in that case please be a real human.

AI is much better at creating code line by line with small context windows. If it gets too big and complicated, the code will certainly not run or work. Statistical certainty with the same mechanisms that make AI work in the first place.

If an AI can create a project, it has to be completely self-contained. Still useful, but also restricted.

And AI embedding is another pain in the arse and even the large tech firms fail here. It is so much work to prepare data for embedding. Human work, since AI isn't fit to do that yet. Maybe it will, but it would be naive to estimate that you can finally rest as a developer. There will be other bullshit to deal with.
by mzl | 2025-05-28 08:24:32+00:00
I think you are underestimating the massive amounts of Python code that is built around these things. Also, a lot of businesses are not really interested in using an API for an LLM, instead they will modify and fine-tune their own models and deploy in their own data-centers (virtual or physical), and that means even more Python code.

Sure, a system that only relies on token factory LLM APIs can be written in any language, but that is not the full width and breadth of the AI hype.
by saqibtahir | 2025-05-28 08:25:09+00:00
I think it really depends on culture to culture. Where I am from (and a lot of parts in MENA) - referral (or sometimes called 'wasta') is a really good way to land a role.

And companies also even prefer hiring someone who is through a known source since job boards/hiring tools are still not that 'as common' as the west.

HR and Recruiters are still owning all new hiring, and hence, knowing one or two, can be the way you get your next gig.
by rob_c | 2025-05-28 08:25:13+00:00
No they point is there's really advanced PoW challenges out there to prove you're not a bot (those websites that take >3s to fingerprint you are doing this!)

The idea is to abuse the abusers and if you suspect it's a bot change the PoW from a GPU/machine/die fingerprint computation to something like a few ticks of Monero or whatever the crypto of choice is this week.

Sounds useless, but you forget 0.5s of that on their farm x1e4 scraping nodes and you're into something.

The catch is not getting caught out by impacting the 0.1% of tor running anti ad "users" out there who will try and decompile your code when their personal chrome build fails to work. I say "users" because they will be visiting a non free site espousing their perceived right to be there, no different to a bot for someone paying the bills.
by rtpg | 2025-05-28 08:25:37+00:00
It's possible to write a Django typecheck shim using descriptors. There's some annoying stuff on the edges though, and for example if you are changing up fields in `__init__` then those aren't going to show up in your types.

Ultimately you can get typing for the usual cases, but it won't be complete because you can outright change the shape of your models in Django at runtime (actions that aren't type safe of course)
by lostlogin | 2025-05-28 08:26:07+00:00
- less safe in accidents for all other cars (electric cars are heavier) My leaf is smaller than most cars.

- increased electricity prices for everyone

I use solar.

- tax payer subsidies

I wish.

- high upfront carbon cost

All cars are terrible at this, and I did not doubt EVs a terrible too.

- higher lifetime co2 emissions (until we build out nuclear)

Or solar, or wind, or hydro.

- charging infrastructure is poor, short lived, painful to use.

I plug it in at home. This is 99.9% of our charging. This is the best feature of EVs, we never visit petrol stations.
by pjmlp | 2025-05-28 08:27:20+00:00
Correct, the Chrome team is responsible for killing the WebGL 2.0 Compute shaders effort with the reasoning WebGPU is just around the corner.

https://github.com/9ballsyndrome/WebGL_Compute_shader/issues...

Now five years later, how well are those WebGPU compute shaders adoption going on?
by PokerFacowaty | 2025-05-28 08:29:05+00:00
I recently spent 2 hours on finding the bug, precisely because JS can't comprehend dates/times without a Unix timestamp underneath. I'd take a date from Postgres as e.x. "2025-05-24" and the first time somewhere deep in the package I was using, when JS encountered that, it needed to add a time (midnight, that's sane) and timezone (local time :) ). I was trying to use UTC everywhere and since the read dates had midnight of UTC+2 as the time, they were all a day behind in UTC.

Special shoutouts to the author of node-postgres saying the PG's date type is better not used for dates in this case.[1] I love programming.

[1] https://node-postgres.com/features/types#date--timestamp--ti...
by austin-cheney | 2025-05-28 08:30:18+00:00
If you need a framework to do the job you were hired to perform then, clearly, that framework is the most important tool. You likely don’t exist professionally without it.

For people with higher confidence, those of us who have been around the block a few times, the article is correct. The supporting tools you mention are beneficial, but they aren’t the most important tool. The most important tool is soft skills and taking notes.
by chrismatheson | 2025-05-28 08:31:11+00:00
just to be the person ...

> AI Mode feels cleaner and more useful because it skips the clutter Google’s own algorithm helped create.

I dont think this one can be blamed solely on google. SEO has been gaming pure "best results" search algo for decades. Clickbait BS headlines, listicles and all sorts have made it harder and harder to produce what the searching person desires. Answers / Results.

Personally, much to my own annoyance, I find myself reading to LLM's for an answer more and more when the alternative is sifting through pages and pages of low quality "articles" with a personal bio & life history above the fold before the answer I want to find.

(edit) typo
by CGamesPlay | 2025-05-28 08:31:46+00:00
That is one view of the problem, but the one people are fixing with proof of work systems is the (unintentional) DDoS that LLM scrapers are operating against these sites. Just reducing the amount of traffic to manageable levels lets me get back to the work of doing whatever my site is supposed to be doing. I personally don't care if Sam Altman has a copy of my git server's rendition of the blame of every commit in my open source repo, because he could have just cloned my git repo and gotten the same result.
by tanelpoder | 2025-05-28 08:31:55+00:00
Yep indeed, that's a tradeoff, if your DB fits into a single volume. I'm not that deeply familiar with databases other than Oracle (that has its own ways to work work around this), so for ease of use, everything on a single volume keeps things simpler.

One thing that I try to achieve anyway, is to spread & "smoothen" the database checkpoint & fsync activity over time via database checkpointing parameters, so you won't have huge "IO storms" every 15 minutes, but just steady writing of dirty buffers going on all the time. So, even if all your files are stored on the same blockdevice, you'll less likely see a case where your WAL writes wait behind 50000 checkpoint write requests issued just before.
by oersted | 2025-05-28 08:32:19+00:00
Do they look like singularities? As I understand it, any object that crosses a certain density threshold, to a point where light cannot escape its gravitational pull, is effectively a black-hole (even if the mathematical model for them is more purist, only described by a handful of parameters). I don't think they need to be infinitely dense to explain our observations.

You could say that we do observe a singularity, not in the centre of the black-hole but in its event horizon. But technically that's just an infinity in the maths not a physical singularity, in the sense that if you were there it would just seem like normal space.
by voidUpdate | 2025-05-28 08:32:35+00:00
I don't tend to use it extensively, but I find it much easier to work out things, especially graphical things, when I can doodle it on some paper rather than having to type it into notepad. For example, yesterday I was working out how to generate a mesh of triangles and needed to work out the vertex indices. It was quicker to doodle a net of triangles and note number them than to try and do it on the computer. It's probably because I'm a very visual thinker. It's also easier to work out an equation on paper than on a computer when I've got fractions and powers and stuff that are annoying at best to represent in plain text
by palata | 2025-05-28 08:33:15+00:00
> What would be better is for the countries to break the monopolies of the US tech giants by making it legal to reverse-engineer, jailbreak, and modify American products and services. Let companies jailbreak Teslas and deliver all of the features that ship in the cars, but are disabled by software, for one price; that is a much better way to hurt Elon Musk, rather than by expressing outrage at his Nazi salutes, since he loves the attention. "Kick him in the dongle."

> Or, let a Canadian company set up an App Store that only charges 3% for payment processing, which will give any content producer an immediate 25% raise, so publishers will flock to it.
by proxynoproxy | 2025-05-28 08:34:09+00:00
You don’t really get how mining pools work. It’s not a monolithic thing. well OK MARA is a proprietary pool, but the rest are made up of people contributing hash. If a state actor took over a pool, we could spin up another quick smart. Hash is fluid. Try that with slashing and stake lockups and others nonsense PoS invents to do a worse job.
by gherkinnn | 2025-05-28 08:34:47+00:00
As in "the most important accessory beyond a computer and a text editor", I absolutely agree for how I work and think.

Nothing I have tried comes close. No iPad, writing code directly, talking it through, thinking it through, sketching it out on whatever drawing tool you might like. Pencil and paper are all I want.

Now, let's argue about our favourite colours and why teal is objectively the best.
by cjs_ac | 2025-05-28 08:34:59+00:00
'Lord Privy Seal' is actually an abbreviation for the 'Lord Keeper of the Privy Seal', i.e., the person who (nominally) looks after the seal used to authenticate personal documents 'signed' by the monarch before written signatures came into use. The post of Lord Keeper of the Privy Seal is now usually given to the governing party's leader in the House of Lords, and the monarch's personal seals (which no longer serve any official purpose) are held by the Lord Chamberlain, who is part of the Royal Household and not the Government.
by hs586 | 2025-05-28 08:35:19+00:00
I was pouring tea from an expensive porcelain teapot, and was annoyed that it was dripping from the spout while we have some very cheap ones at home that get it right.

After the initial "hey, this would be fun to model" thought, realized that it's not that simple after all with a number of recent papers on it. The blog is a nice summary.

Lesson: Take some water with you to teapot shopping!
by hnbad | 2025-05-28 08:35:19+00:00
It's documented undefined behavior, really. Implementations are allowed to accept other input than ISO strings and interpret them how they like.

The real "bug" in the example is 2025/05/28 being May 28th because the implementation ignores timezones for that format.

The issue with `Date` is that it is based on the original `java.util.Date` class and inherits all of its problems: https://docs.oracle.com/en/java/javase/21/docs/api/java.base... - this is also where the wonky zero-indexed month value comes from. Note that Java deprecated all versions of the constructor other than the one taking a millisecond value or nothing, which JS can't do for backwards compatibility reasons.

Hopefully `Temporal` will solve these problems but how long that spec has been in the works should tell you how difficult this is to get right when anything you put on the web is forever.
by slippy | 2025-05-28 08:36:17+00:00
It's also worth noting that in systems that get as large as Google's that you end up with commits landing around the clock. It gets so that it's impossible to test everything for an individual commit, so you have a 2nd kind of test that launches all tests for all branches and monitors their status. At Google, we called this the Test Automation Platform (TAP). One cool thing was that it continuously started a new testing run of all testable builds every so often -- say, 15 minutes, and then your team had a status based on the flaky test failures vs solid test failures of if anyone in any dependency broke your code.

So if your code is testing fine, and someone makes a major refactor across the main codebase, and then your code fails, you have narrowed the commit window to only 15 minutes of changes to sort through. As a result, people who commit changes that break a lot of things that their pre-commit testing would be too large to determine can validate their commits after the fact.

There's always some amount of uncertainty with any change, but the test it all methodology helps raise confidence in a timely fashion. Also decent coding practices include: Don't submit your code at the end of the day right before becoming unavailable for your commute...
by kennu | 2025-05-28 08:36:58+00:00
I understand the sentiment, but I don't get how you could draw more complex software plans by hand. I usually use Draw.io/Diagrams.net, and the drawings get pretty large and need reorganizing dozens of boxes several times while planning the architecture.

OTOH if the plan is very simple and obvious, and can be drawn out in one go, it doesn't really need a diagram in the first place, so I skip spending time drawing the obvious stuff.
by oarsinsync | 2025-05-28 08:38:12+00:00
> > even Microsoft gave up ... and they got the definition of almost infinite resources at their disposal

> Ah yes, Microsoft, the defenders of the free world.

No, Microsoft, one of the few businesses in the world that has both the technical ability, and the financial muscle, to be able to develop their own browser engine.

Who still chose not to. Leaving us stuck in the duopoly of Apple and Google, even outside of our mobile phones.
by jeroenhd | 2025-05-28 08:38:33+00:00
This is rather unfortunate, but the way Anubis works, you will only get the PoW test once.

Scrapers, on the other hand, keep throwing out their session cookies (because you could easily limit their access by using cookies if they didn't). They will need to run the PoW workload every page load.

If you're visiting loads of different websites, that does suck, but most people won't be affected all that much in practice.

There are alternatives, of course. Several attempts at standardising remote attestation have been done. Apple has included remote attestation into Safari years ago. Basically, Apple/Google/Cloudflare give each user a limited set of "tokens" after verifying that they're a real person on real hardware (using TPMs and whatnot), and you exchange those tokens for website visits. Every user gets a load of usable tokens, but bots quickly run out and get denied access. For this approach to work, that means locking out Linux users, people with secure boot disabled, and things like outdated or rooted phones, but in return you don't get PoW walls or Cloudflare CAPTCHAs.

In the end, LLM scrapers are why we can't have nice things. The web will only get worse now that these bots are on the loose.
by badmintonbaseba | 2025-05-28 08:38:59+00:00
There are already barriers like that at the edges of the common:

https://maps.app.goo.gl/1anrXAPRE3Dp3ZFo9

https://maps.app.goo.gl/YTfAYamG55SftWay6

https://maps.app.goo.gl/AWKxr76HUzgvSqBG7

People have free access to the river and the field, any physical barrier would limit that.
by gofreddygo | 2025-05-28 08:39:23+00:00
First there's a work notebook and a personal one. both are semi structured, but work one has more structure.

first page is always for index, split vertically and you get roughly 80 entries with about 3-4 words each. one for each page that i number as i go writing through the book. index usually has just pointers to days when i get interesting ideas.

each right page is for 1 week that i label up top. a small margin is dedicated for recurring meetings. using only the right side allows quickly flipping through. rest of the page is for todos and logs.

left pages are for related thoughts, ideas, etc from that week. sometimes overflows but not by much.

For wordy stuff, i use pages from the back of the book. I don't use sentences much. Just few words with lines connecting them.

Thats pretty much it - index, numbered pages and using just the right side per week. It works wonders for how simple it is. You'll find something else that works for you. Don't overthink this. Just start with a structure and let it evolve.

side note - i do use a folder for plain text notes on my work laptop (that i keep open in sublime) for links and text that benefits from copy and paste. i would not care if it all got deleted or leaked out to the world. I also have another folder of interesting bookmarks and articles exported to pdf for reading on a flight on my phone. i have a dozen or so google docs with my thoughts on topics i'm interested in.
by yc-kraln | 2025-05-28 08:39:53+00:00
The answer, of course, is "it depends".

We have something like ~40 repos in our private gitlab repo, and each one has its own CI system, which compiles, runs tests, builds packages for distribution, etc. Then there's a CI task which integrates a file system image from those ~40 repo's packages, runs integration tasks, etc.

Many of those components communicate with each other with a flatbuffers-defined message, which of course itself is a submodule. Luckily, flatbuffers allows for progressive enhancement, but I digress--essentially, these components have some sort of inter-dependency on them which at the absolute latest surfaces at the integration phase.

Is this actually a multi-repo, or is it just a mono-repo with lots of sub-modules? Would we have benefits if we moved to a mono-repo (the current round-trip CI time for full integration is ~35 minutes, many of the components compile and test in under 10s)? Maybe.

Everything is a tradeoff. Anything can work, it's about what kinds of frustrations you're willing to put up with.
by olex | 2025-05-28 08:40:15+00:00
Which one do you have? I had the same issues with my '19 M3P, all the brakes were badly corroded a year into the lease. Apparently the software to keep this under control came a bit later into the lifecycle, and is not very effective if the problem is already apparent. Anecdotally, what was _very_ effective at cleaning up the brakes was blasting it for a couple laps around the Nürburgring Nordschleife - the grooves / corrosion went away almost completely :D

Now I have a RWD Model 3 with an LFP pack (SR+/"base model"), and have to use the brakes much more than with the old car (that had an NMC pack and almost never limited regen). Over two years in, brakes seem good as new, hopefully they stay this way.
by jasode | 2025-05-28 08:41:29+00:00
> on a language without a standard library?

Because the other languages & with bigger runtimes and more comprehensive standard libraries such as Java applets, Microsoft Silverlight, Macromedia Flash that were promoted for browsers to create "rich fat clients" were ultimately rejected for various reasons. The plugins had performance problems, security problems, browser crashes, etc.

Java applets was positioned by Sun & Netscape to be the "serious professional" language. Javascript was intended to be the "toy" language.

In 1999, Microsoft added XMLHttpRequest() to IE's Javascript engine to enable Outlook-for-web email that acted dynamically like Outlook-on-desktop without page refreshes. Other browsers copied that. (We described the early "web apps" with jargon such as "DHTML" DynamicHTML and "AJAX".) In 2004, Google further proved out Javascript capabilities for "rich interactive clients" with Gmail and Google Maps. Smoothly drag map tiles around and zooming in and out without Macromedia Flash. Even without any deliberate coordinated agenda, the industry collectively begins to turn Javascript from a toy language into the dominant language for all serious web apps. Javascript now had huge momentum. A language runtime being built into the browser without a standard library like Javascript was prioritized by the industry more than the other options like plugins that had a bigger "batteries included" library. This overwhelming industry preference for Javascript happened before Node.js for server-side apps in 2009 and before Steve Jobs supposedly killed Flash in 2010.

The situation today of Node.js devs using npm to download "leftpad()" and a hundred other dependencies to "fill in the gaps" of basic functionality comes from the history of Javascript's adoption.
by armini | 2025-05-28 08:42:17+00:00
I appreciate your candid feedback. Kuky is actually built on evidence-based peer support principles. Key research supporting our approach: • Shalaby & Agyapong (2020), JMIR Mental Health – Peer support improves wellbeing and reduces stigma. https://mental.jmir.org/2020/6/e15572 • Cooper et al. (2024), BMC Medicine – Peer-led interventions boost empowerment, hope, and connection. https://bmcmedicine.biomedcentral.com/articles/10.1186/s1291...
by jeroenhd | 2025-05-28 08:42:58+00:00
I've caught Huawei and Tencent IPs scraping the same image over and over again, with different query parameters. Sure, the image was only 260KiB and I don't use Amazon or GCP or Azure so it didn't cost me anything, but it still spammed my logs and caused a constant drain on my servers' resources.

The bots keep coming back too, ignoring HTTP status codes, permanent redirects, and what else I can think of to tell them to fuck off. Robots.txt obviously doesn't help. Filtering traffic from data centers didn't help either, because soon after I did that, residential IPs started doing the same thing. I don't know if this is a Chinese ISP abusing their IP ranges or if China just has a massive botnet problem, but either way the traditional ways to get rid of these bots hasn't helped.

In the end, I'm now blocking all of China and Singapore. That stops the endless flow of bullshit requests for now, though I see some familiar user agents appearing in other east Asian countries as well.
by nssnsjsjsjs | 2025-05-28 08:44:15+00:00
> Any operation over your repository that needs to be fast must be O(change) and not O(repo).

This is a good thought! It actually needs to be O(1/commit rate) though, so that having the monorepo doesn't create long queues of commits.

Or have some process batch passing ready to merge PRs into a combined PR and try to merge that. And best guess on the failing PR if it fails.
by yetihehe | 2025-05-28 08:45:23+00:00
Debuggers are important tool, but not all debugger are good and not all problems require debugger. That's why I wrote a simple tool, which given a list of methods and classes will printf to log every invocation and exit of selected functions (via java reflection and function rewriting). It was much better than a normal debugger at finding actual flow of data in very complex multi-program system, so essentially machinegun-printf saved the day.
by opello | 2025-05-28 08:46:39+00:00
Having had that a few times, and recently relaxing Firefox's referer policy for some other site compatibility which had avoided it before, I came to this workaround with uBlock Origin:

jwz.org##^responseheader(set-cookie) jwz.org##^responseheader(location)

Hopefully documenting it doesn't perpetuate the arms race.