skysight-inc/HackerNews huggingface dataset:
> I've been thinking about the notion of "reasoning locally" recently. Enabling local reasoning is the only way to scale software development past some number of lines or complexity. When reasoning locally, one only needs to understand a small subset, hundreds of lines, to safely make changes in programs comprising millions.

That was supposedly the main trait of object-oriented programming. Personally that was how it was taught to me: the whole point of encapsulation and information hiding is to ensure developers can "reason locally", and thus be able to develop more complex projects by containing complexity to specific units of execution.

Half of SOLID principles also push for that. The main benefit of Liskov's substitution principle is ensure developers don't need to dig into each and every concrete implementation to be able to reason locally about the code.

On top of that, there are a multitude of principles and rules of thumb that also enforce that trait. For example, declaring variables right before they are used the first time. Don't Repeat Yourself to avoid parsing multiple implementations of the same routine. Write Everything Twice to avoid premature abstractions and tightly coupling units of execution that are actually completely independent, etc etc etc.

Heck, even modularity, layered software architectures, and even microservices are used to allow developers to reason locally.

In fact, is there any software engineering principle that isn't pushing for limiting complexity and allowing developers to reason locally?
I think it’s because of the way annual plans are marketed in relation to VPNs. For example, NordVPN’s homepage currently is offering 74% off, but when you click through, you have to buy 2 years of service to get 74% off and no mention of the 2 year plan is made on the ad and there is no discount at all on the monthly rate, which is 3 times the cost. So you have the choice of roughly $4 per month if you lock-in 2 years or $13.99 per month vs Mullvad’s $5.20 flat rate per month without agreeing to 2 years.

It’s just been my experience that when you have to prepay 2 years up front you are giving up any recourse if the service starts to suck, the company goes bankrupt, etc. It makes sense to be a bit skeptical when the discount for 2 years is 74% vs a normal company that gives you a 10-20% discount on a bulk purchase.
Why powerdown? How do you propose humane population control? I get permaculture though ;)
There’s just literally no possible way that Sweden has an order of magnitude more islands than the US or Canada.

Open up Google Earth and scan around northern coastlines of all these countries and you’ll laugh at the premise of this article.

With that said I wouldn’t be surprised if they have the most documented/counted islands. That’s another thing entirely and also sort of interesting I suppose.
This would get rid of needing Metal to be the blackbox and enable things like "nvptx CUDA" equivalent / https://libc.llvm.org/gpu/ right?

Very interesting. A steal for $22k but I guess very niche for now...
Already done: used lying tactics to make their browser and ad networks dominate, bloated the standard to make browser development unsustainable.

Right now: rooting out the entire possibility of running full adblock-capable extensions from the sources, so that even chrome-based browsers could not support it back.
In recent years my general principle has been to introduce an abstraction (in this case split up a function) if it lowers local concepts to ~4 (presumably based on similar principles to the original post). I’ve taken to saying something along the lines of “abstractions motivated by reducing repetition or lines of code are often bad, whilst ones motivated by reducing cognitive load tend to be better”.

Good abstractions often reduce LOC, but I prefer to think of that as a happy byproduct rather than the goal.
actual title is "Huge Pages are a Good Idea"
Yes 100%!

Read "Code is For Humans" for more on the subject https://www.amazon.com/dp/B0CN6PQ42B
9) hiding known and/or unknown patent infringements
What Saylor is doing does not fall within the definition of a ponzi. It is also happening in the most regulated public financial market out there.

Again, what makes this a ponzi?
Not a great couple of decades for civilian air travel near Russian airspace, that's for sure.
A growing sense among investors that China may not be systematically investable
Show HN: QuizChat – Learn new things using LLM powered quizzes
I suspect part of the challenge is we’re dealing with a graph (of execution paths) but all we have to work with is a tree (file system).

Every person will prefer a different grouping the execution paths that lowers their cognitive load. But for any way you group execution paths, you exclude a different grouping that would have been beneficial to someone working at a different level of abstraction.

So you like your function that fits in one computer screen, but that increases the cognitive load on someone else who’s working on a different problem that has cross-cutting concerns across many modules. If you have separate frontend/backend teams you’ll like Rails, but a team of full stack people will prefer Django (just because they group the same things differently).

I guess this is just Conway’s law again?
Hi HN,

I recently built a fun little Christmas project called QuizChat. It’s like ChatGPT but designed to help you learn and refresh your knowledge on various topics. The idea came to me while working on some ML/PyTorch projects, where I realized my tensor reasoning skills could use some improvement. I wished for a tool like this to help me practice and get better.

What sets QuizChat apart is the chat interface, which shines when you get a question wrong. Unlike traditional flashcard or quiz platforms, you can use the freeform textbox to ask for tips, tricks, or clarifications, making the learning experience much more interactive and engaging.

I’d love to hear your thoughts! Feel free to leave a comment below or email me at hi@quizchat.ai.

Thanks!
Ask HN: What are you working on this Christmas Eve?
It's a really overengineered fn() { browser site1/$1 site2/$1 ... }

Tools like these insult the users' intelligence and generate needless drama[1]
the only data needed are the urls from https://github.com/sherlock-project/sherlock/blob/master/she...

[1] https://www.reddit.com/r/github/comments/1at9br4/i_am_new_to...
Eels and tuna lived for millennia also, and will be extinct in a couple of human generations. When ecosystems collapse, they do it really fast, even after years of abuse.
Sounds like you would have had problems whether there was boilerplate-y code or not.
I think judges tend to be unreliable a lot of the time as well. Aileen Cannon is a good example.

It's true you et choices in the US system, that doesn't mean we can't come up with something significantly better.
I just use Safari and 1Blocker and everything works fine for me :D
> Perceived Limitations: The unidirectional nature might seem restrictive, though it's often sufficient for many use cases

For my use cases the main limitations of SSE are:

1. Text-only, so if you want to do binary you need to do something like base64

2. Browser connection limits for HTTP/1.1, ie you can only have ~6 connections per domain[0]

Connection limits aren't a problem as long as you use HTTP/2+.

Even so, I don't think I would reach for SSE these days. For less latency-sensitive and data-use sensitive applications, I would just use long polling.

For things that are more performance-sensitive, I would probably use fetch with ReadableStream body responses. On the server side I would prefix each message with a 32bit integer (or maybe a variable length int of some sort) that gives the size of the message. This is far more flexible (by allowing binary data), and has less overhead compared to SSE, which requires 7 bytes ("data:" + "\n\n") of overhead for each message.

[0]: https://stackoverflow.com/a/985704
Still, it's confusing to use WD as an example of high end. They have dramless which is like the winmodem of SSDs, and even in this case no encryption. Clearly they are a budget manufacturer that happened to have something that worked out for some people.

Samsung is a much better example of a manufacturer that Apple would be emulating, investing in their own controllers, etc, and certainly not leaving out security features with no plan.
Thanks! My nixpkgs clone is 5.2GB so it's not too far indeed! :)

I think the nixpkgs workflow is much less prone to rebase/merges (some cherry-picks to stable branches I don't do much), but it's a very good data point, thank you.
I guess I'll give it a try over christmas break..
It seems meson is gaining traction and will overpass cmake in near future.
> Layered architecture: Abstraction is supposed to hide complexity, here it just adds indirection

Agree with everything except this. As someone who deals with workflows and complex business domains, separating your technical concerns from your core domain is not only necessary. They are a key means to survival.

Once you have 3 different input-channels and 5 external systems you need to call, you absolutely need to keep your distance not to pollute your core representation of the actual problem you need to solve.
An alternate way of phrasing that is "citizens cooperate to preserve and increase the value of their biggest asset--their homes."

Sure, your home price would be reduced if somebody could build a pig farm, or a heavy-metal processing plant next to your house.

And it's not just an advantage for people who already own houses. Imagine how much of a down-payment you'd have to have--and how expensive mortgages would be--if the banker had no assurances that the value of your house wouldn't suddenly plunge to zero.

People can't afford houses because they are not making enough money. The solution isn't to make their biggest asset less valuable. And the solution isn't to make owning such a large asset even more risky to own.
To make this more concrete:

If your service layer method requires data to be saved and the results to be sorted, you want to call a data layer method that saves it and a library method that sorts it. You do not want any of that saving or sorting functionality in your service method.

Combining different layers and different tasks so that your module is "deep" rather than "shallow" will make your code much higher cognitive load and create a lot of bugs.
My favourite part of these videos of people rescuing obscure tech is when they talk about the community of other people also rescuing the same obscure tech and team up with them. The internet might be a bit of a cesspool now but these little nuggets that remind me of the early promise of a connected world warm my heart.
https://en.wikipedia.org/wiki/Korean_Air_Lines_Flight_007 would surely be a bit more on the nose.

Especially since rt.com's only above-the-fold mention is "Russia-bound airliner crashes in ex-_Soviet_ state (VIDEO)". Nope, they don't need to use the word 'Kazakhstan', the 50% longer, much less descriptive but much more telling 'ex-Soviet state' is the one they're chosen.
Most likely the author is a vim user and did an accidental guG:w
FF actually uses hardware acceleration on my machine and chrome won't for some reason, so FF is actually faster for some!
From the bits and pieces I've heard, the problem is one of scaling. Bacteriophages had to be made bespoke for a specific patient.
I respect that. Honestly though, for first pass designs of code that don't need immense performance, don't reference juggle through-out the entire application. Use smart pointers when needed, clone once in a while, etc. It'll make life way easier and unless you're in a tight loop or something you'll still gain performance. Arguably you gain some safety, and convenience as well, but again "arguably" :).

The first time I tried Rust I hated it. I couldn't understand why anyone would deal with what I was dealing with. The second time I tried it, I started to get it. After I got it, I struggled to want to write code with anything else. So much of the cognitive complexity is opaque and not tucked away into personal memories of tracing the code. Sometimes that's scary, sometimes its good that its scary it means its time to refactor.

Best wishes.
> but you are rational and see an opportunity to beat the market

Yeah, I only need a few millions to invest /s

> Those who find the opportunities to invest 10 for 30 tend to win

There are so many factors at play, in a modern "free market system", that believing simple principles will always apply perfectly is just another ideology. In any case, very few businessmen will ever admit that paying more for labor can have good results - even when they directly benefit from those same results - because most of them fundamentally resent having to pay for it in the first place. And so ideology prevails.

Merry Christmas to you too!
In theory, you could design a parallel set of software engineering best practices which emphasize long-term memory of the codebase over short-term ability to leaf through and understand it. I guess that would be "reasoning nonlocally" in a useful sense.

In practice I think the only time this would be seen as a potentially good thing by most devs is if it was happening in heavily optimized code.
> If I donate to your project I hope the money goes towards your project.

Firefox is not a project of the Mozilla Foundation, but the Mozilla Corporation, so you just can't donate to Firefox at all; in fact, the money flows the opposite direction between them. I know it's frustrating but this argument is misleading yet keeps showing up in every thread.
Also common in early farm structures in America too which could likely be due to large immigration from Scandinavia. The iron oxide acts as an anti-fungal as well.
> I end up making a feature or change, then going back and trying to split it into chunks that are digestible to my colleagues.

If you are doing this AFTER you've written the code, it is probably way easier to do it as you go. It's one thing if you have no idea what the code will look like from the beginning -- just go ahead and open the big PR and EXPLAIN WHY. I know that I'm more than happy to review a big PR if I understand why it has to be big.

I will be annoyed if I see a PR that is a mix of refactoring, bug fixes, and new features. You can (and should) have done those all as separate PRs (and tickets). If you need to refactor something, refactor it, and open a PR. It doesn't take that long and there's no need to wait until your huge PR is ready.
For many people and businesses, navigating the frequently dangerous landscape of financial loss can be an intimidating and overwhelming process. Nevertheless, the knowledgeable staff at Wizard Hilton Cyber Tech provides a ray of hope and direction with their indispensable range of services. Their offerings are based on a profound grasp of the far-reaching and terrible effects that financial setbacks, whether they be the result of cyberattacks, data breaches, or other unforeseen tragedies, can have. Their highly-trained analysts work tirelessly to assess the scope of the damage, identifying the root causes and developing tailored strategies to mitigate the fallout. From recovering lost or corrupted data to restoring compromised systems and securing networks, Wizard Hilton Cyber Tech employs the latest cutting-edge technologies and industry best practices to help clients regain their financial footing. But their support goes beyond the technical realm, as their compassionate case managers provide a empathetic ear and practical advice to navigate the emotional and logistical challenges that often accompany financial upheaval. With a steadfast commitment to client success, Wizard Hilton Cyber Tech is a trusted partner in weathering the storm of financial loss, offering the essential services and peace of mind needed to emerge stronger and more resilient than before.
2025 NDAA Provides $3B Funding for FCC's Rip-and-Replace Program
We also need regulation (and effective enforcement) as much as research.

Even if you discover a groundbreaking new antibiotic under current incentives it's going to get fed to pigs in China until it's useless.

Arguably the kinds of antibiotics we need the most are ones with significant side effects; effective enough that they can save humans but with side effects that are severe enough that they are not over-prescribed or fed to livestock.
The rock houses of England's last cave people
American Addiction Centers Data Breach Impacts 422,000 People
Can anyone explain why this requires a relatively high-end GPU? Looking at the slo-mo GIFs, it looks like `brightness *= SomeLUT[(y + t) % sizeOfTheLUT]` for each colour channel would do the trick.

What makes it so complicated?
FBI Blames North Korea for $308M Cryptocurrency Hack as Losses Surge in 2024
100% agree and this not only concerns readability. The concept of "locality" turns out to be a fairly universal concept, which applies to human processes just as much as technical ones. Side-effects are the root of all evil.

You don't see a waiter taking orders from 1 person on a table, but rather go to a table and get orders from everybody sitting there.

And as for large methods, I find that they can be broken into smaller once just fine as long as you keep them side-effect free. Give them a clear name, a clear return value and now you have a good model for the underlying problem you are solving. Looking up the actual definition is just looking at implementation details.
Honestly, the scale of AI makes a lot more sense to me than the scale of DeFi or even the scale of some database systems. AI is simple - you have a unit of hardware that can perform a desirable form of computation. Scaling it up is a matter of creating parallel systems and upgrading to faster hardware when it's made available.

By comparison, I've seen six-figure monthly cloud spend at traditional startups and had genuinely no idea where the bulk of expenses were going even when I was looking right at the AWS dashboard.
HTTP/2+ only uses a single transport connection (TCP or QUIC) per server, and multiplexes over that. So there's essentially no practical limit.
It’s bitcoin. What are you going to say?

Obviously, it went up in value and down in value and it doesn’t make much sense over the long term. Currently, governments are tolerating the loophole of it being used to launder money, purchase illicit goods and evade financial border controls.

As long as that is tolerated, it will be successful and when governments start to crack down it won’t be successful, because it sucks as a currency but seems to make a pretty good tulip bulb.

Probably an unpopular opinion, but as someone who’s purchased a few things with bitcoin, it has insane transaction fees, is not easy to use and is not a stable store of value, so why people would flock to it as money other than the above reasons is beyond me.
At least we know it was not written by an LLM. Maybe that's why they chose to do it.
This whole thing feels more and more like a terrible nightmarish mash-up between MH17 and UA232. Every indication so far is that the flight crew here are absolute heroes for bringing down the plane as well as they did and it's likely that they should be remembered as heroically saving these lives, even if not their own.

https://en.wikipedia.org/wiki/Malaysia_Airlines_Flight_17

https://en.wikipedia.org/wiki/United_Airlines_Flight_232
Replace Chrome with Firefox. Reinstall uBlock Origin. Problem solved.
Differing perspective but wanted to share:

I find trying to socialize and make friends in an office situation to be incredibly stressful. Everyone in an office is there to primarily make money, and the politics implied make it hard for me to let my guard down and meaningfully connect with anyone.

I greatly prefer socializing with people over hobbies -- everyone is at the gathering willingly to enjoy a hobby, which means I have something in common with everyone participating.

Far superior, but then... I like having a groove and knowing when my next social gathering will be. I like routines. It sounds like you don't, which I can sympathize with, and I'm glad you have friends to spontaneously hang out with and hope you get to expand your circle and enjoy your life.
This article reads like it was AI padded generously.
so, it's not just a refactoring then; it's also bug fixes + refactoring. In my experience, those are the worst PRs to review. Either just fix the bugs, or just refactor it. Don't do both because now I have to spend more time checking the bugs you claim to fix AND your refactoring for new bugs.
Something like this happened to me once. Lost power in a lightning storm and when it came back my computer could no longer shut off.

Like, at all. Would just hang when you tried. Couldn’t exit from BIOS after changing settings, couldn’t suspend to RAM. Had to yoink the cord whenever I needed to restart. Wild stuff.

Perhaps like Frankenstein the lightning was a breath of life, and with its new sentience my PC was trying to preserve its existence. At any rate I reflashed the BIOS after a few months and it never happened again.
> The whole point of functions and classes was to make code reusable.

I’m amazed that here we are >40 years on from C++, and still this argument is made. Classes never encapsulated a module of reusability, except in toy or academic examples. To try and use them in this way either leads to gigantic “god” classes, or so many tiny classes with scaffolding classes between them that the “communication overhead” dwarfs the actual business logic.

Code base after code base proves this again and again. I have never seen a “class” be useful as a component of re-use. So what is? Libraries. A public interface/api wrapping a “I don’t care what you did inside”. Bunch of classes, one class, methods? So long as the interface is small and well defined, who cares how it’s structured inside.

Modular programming can be done in any paradigm, just think about the api and the internal as separate things. Build some tests at the interface layer, and you’ve got documentation for free too! Re-use happens at the dll or cluster of dll boundaries. Software has a physical aspect to it as well as code.
I was hoping, but not expecting, for it to be about the Capcom arcade board.
There is the trick: use enum for const. It works most of the time.
> " ... as the Azerbaijan Airlines aircraft was approaching to land as scheduled."

Not as scheduled. The aircraft was diverted because of unacceptable weather at its primary destination -- https://www.bbc.com/news/articles/cjwl1e6895qo : "The plane was en route to Grozny in Russia but it was diverted due to fog, the airline told the BBC."

Just saying, not excusing a hostile takedown, if that's what happened.

Diversion due to weather is a possibility anticipated by pilots, who normally carry extra fuel to accommodate the possibility of a diversion.

Ironically, because of the advent of drone attacks, a small aircraft like the Embraer 190 is more likely to be mistaken for hostile, compared to a full-size airliner.
It’s more that change won’t happen until it has serious impact to majority of population.

It sounds cold but food/water/housing shortage will be solved once it starts affecting > 51% of the population. (or at least resources will start flowing towards real solutions).

The sad part is by then there will most likely be irreparable damage (as well as enormous amount of human suffering). That’s at least how the western part of the world sees things

For the record, I care, but there’s only so many people I can convince to stop eating meat