skysight-inc/HackerNews huggingface dataset:
I hear you about debugging cmake (although in this specific case JetBrains has a CMake debugger: https://blog.jetbrains.com/clion/2022/10/clion-2022-3-eap-cm... ) but one can also concede that the magnitude of code one even needs to consider are not in the same universe as each other:

$ cd mozilla-central
$ find python/mach python/mozbuild/mozbuild -name '*.py' -exec cat '{}' ';' | wc -l
83088

$ find keepassxc -name CMakeLists.txt -o -name '*.cmake' -type f -exec cat '{}' ';' | wc -l
866

I am on-board with something like Starlark, which is allowed to make reasonable build decisions with the information available to it, but is prevented from mutating my system. I try to be very disciplined about reading every .gradle file carefully, because jokers love to do whatever they want when they have a full-blown programming language available to them
Yes to the steady trickle of vintage books! I too spend a considerable amount of time trying to find titles that are out of print, usually by way of following bibliographies in the books I'm already reading.
> Why are we stuck with nat in 2022 again? Why did we not map the 32 bits of ipv4 to ipv6?

Because it does not help. djb's “idea” was to change everybody's setup _first_ and then have a flag day where the entire world were moved from IPv4 to IPv6 in one big change. Good luck with that. (And only after that flag day, we could start actually using a larger address space to try to get rid of NATs.)

The ipv6mess essay is confused because it somehow thinks _getting addresses_ is the hard problem. It does not solve _any_ other configuration or coding part. You still need to upgrade DNS. You still need to have a different wire protocol. You still need every hop on the path from me to you to understand and route IPv6.

At least now with gradual rollout and dual stack, we're at 40% of endpoints and AFAIK a majority of traffic. With djb's plan, we'd still be at zero.
This is a pretty strong claim without any numbers, to be honest. You were probably already running your single database instance so being limited to a single sqlite instance isn't terribly different. This does limit you to a single app server, which unless you're CPU bound is also fine. Even if you are, you can get a lot of cores in a single instance these days.

Most things will never need to be scaled up
Go spread your thinly veiled propaganda elsewhere.

Even the mods notice how blatantly bullshit the post was and flagged it.
> like suddenly kill -9'ing all of user's nohup and screen processes when they exited their SSH sessions

This was surprising, I was unable to replicate it though. Did you set systemd to automatically clean up sessions?

From the man page of logind.conf,

KillUserProcesses= Takes a boolean argument. Configures whether the processes of a user should be killed when the user logs out. If true, the scope unit corresponding to the session and all processes inside that scope will be terminated.
> Tweet said unsigned ints

Which tweet?
No, it isn't.

It isn't what is taught in school, but it is a reasonably well-informed opinion, as my sibling comments show.
> The term thagomizer was coined by Gary Larson in jest. In a 1982 The Far Side comic, a group of cavemen are taught by a caveman lecturer that the spikes on a stegosaur's tail were named "after the late Thag Simmons".
If profit goes down somewhat, you don't layoff people. If do, well, as a manager / company you do your job poorly.

If profits turn down a lot, or funding runs out, you have to layoff people. If you don't, or do it to late or in not sufficient or too high numbers, as a manager / company you do your job poorly.

Saidly there seem to be companies that do their jobs badly. Currently I have the feeling that the second option applies in my case...
TBF, Emacs/vim today with pretty much every feature turned on also don't feel sluggish.

I think the 2 issues hitting modern text editors are they are FAR too synchronous (they are doing the syntax highlighting, fonts, etc, with every keystroke rather than in the background).

And rendering has gotten WAY too nuts. Seems like all modern text editors are full blown web browsers, usually so they can be easily cross platform.
Suppose I want to keyframe 200 birds or something, taking off two at at time about every second with a bit of randomness. Oh, I want there to be some variation in their colors. And I just realized I want the interpolation on all of them to be linear, not bezier. That's 50+hours of tedious gui work reduced to 4 hours with the API.
I use Blender's Python API for transforming 3d objects to render on my analog oscilloscope.

Demo: https://www.youtube.com/watch?v=thWgiEtQs7A

Blender Tutorial: https://www.youtube.com/watch?v=AQLimxRDFWc
This would be cool in Lisp.
I don't know if this will help (or even resonate) with anyone else, but it's helpful to me to view abstractions as a form of DRY.

All developers have created functions to de-duplicate their code. And all developers have consequently seen how the more code a function de-duplicates, the larger and more cumbersome a function becomes; how many more if statements and safety checks come into play.

Now imagine how complex - how many if statements and safety checks and introspection - have to go in to replacing hand-written SQL with custom constructors with an ORM.
Someone's gotta write rdu.
What's this whole open-source thing worth if we can't fix those to do it a better way?

Alternatively, just let programs opt-out of overcommit and also OOM killer. Then only badly behaving programs will be shot in the head randomly.
I don’t know if this corresponds to traffic, but my local DNS server shows that it’s returning more AAAA results that A results (_just_) nowadays.

This is a home cable connection in the Bay Area.
ISPs love NAT because it is an artificial distinction between producers and consumers, which means they can call the producers ‘pro’ of ‘enterprise’ and charge them through the nose while the consumers can’t cause trouble and just pay for download speed.
Companies have definitely improved, remember people being laid off via Zoom calls?
I don't get this sentiment that's been picking up around here, the company literally does not have to provide you severance, and in this case it's 16 weeks pay. That's 4 months to find another job, and you're being paid to do it!

Companies aren't these charitable job factories you make them out to be, they're trying to make money. And in this case, they messed up.

Any ideas what they should have done better? I mean I guess personally 10 years pay would be nice, wouldn't it?
I love how internally everyone refers to everyone as “resources” - the most dehumanizing.
What a boring article. Let people live how they want to live. Just because you don't like their lifestyle/personality/way of living doesn't mean you get to act like you're better than them.
Every single popup headlight never had issues.

In the winter they could freeze shut due to ice, then unsuspecting people would attempt to operate them sometimes damaging the motor.

Another key thing to note is, unlike other luxury features if this breaks you absolutely have to get it repaired.
> I know this feels trite but do other industries do a better job of messaging layoffs?

I don't think there's a better way to do layoffs. For all the groaning on HN about these announcements, at least they are:

* up front about it (maybe because they have to be, due to laws)

* being generous with severance and the other parts of the package

Hopefully the actual interaction at the person-to-person level is humane too (turning on video if done over video call, letting people know asap, having one to one meetings with each person).

The only better path I can think of is "okay, growth is slowing, tough times ahead, we're going to need to collectively tighten our belts and keep working. 25% haircut for everyone, but I screwed up, so a 50% haircut for me."

Here's an article about companies that did that during covid: https://www.nytimes.com/2020/05/24/business/economy/coronavi...

I don't know how typical that is in non-pandemic times.

Doing this would turn off some folks, but to me that feels better than layoffs. And I think it would go a long way towards improving company loyalty.
They probably should've called it the EU, then. "Europe" refers to the continent--the geographical landmass that the UK is definitely a part of.
I didn't know him personally, but immediately recognized the name and always enjoyed his comments here. Very sad.
Iirc, systemd-oomd comes from oomd which comes from Facebook who had issues with the kernel oom killer. (The kernel oom killer, especially with slow swap, can also take ages to activate, which means you're just down the entire time, and it's better to kill stuff more often than to sometimes freeze.)
Holy shit the bot does a great job at this. Ironically, I now get to fire a couple Communications Specialists and tell the HR team to just use the bot.

Thanks, you just unlocked value.
> I can't see any reason not using RDS other than it's more expensive.

We don’t all operate with unlimited VC money.
> They're both basically just ergonomic issues

Yes! Prefixing names as a way of emulating namespaces generally works well enough. We could get modules support the same way JS used to have them, ie. as hashes of closures. Or we could use something like the `nameless` package, which rewrites the code to add a prefix to definitions automatically. Yet nobody seems to be doing either: it's just too much of a pain with too small a gain. The situation would be different if we got first-class module support in the language, but if we're going to only emulate it anyway, then namespacing with prefixes is just the easiest way to do it that is still "good enough". Still, Racket-like modules would be great to have, can't deny that :-)
I've just heard from people claiming the absurd way NIC are named in systemd is good for server fleet types and the like. Because it's obviously terrible for human people with desktop computers. I guess I just assumed the bad design decisions had some purpose.
The main question of the quote is: if we introduce a system that rejects a "large" amount of Elixir code, will developers adopt it? If some language features are only available for "untyped" code, will developers often forego types only to get those features? And if that happens, could we end-up "forking" the Elixir community, where part of the community uses some idioms and the other part uses others (which is a common complaint about large languages)?

The goal is not to reject types but rather to find a theory that mirrors the language as close as possible. I believe balancing these trade-offs will be essential to the adoption and success of a type system in Elixir.
Vivaldi Builds Mastodon into Web Browser
Having been on the other end of it... the reality is harsh. People say they want to know, but in fact... they mostly don't. The reality of it is hard to deal with. It can go on and on.

People have a lot of misconceptions, sometimes for good reasons (it makes life easier to endure). It's a lot like the pushback on #metoo or #blacklivesmatter or <almost anything linked to traumatic experience>. They want to make it your fault because then its not something they have to think about.

I think depression is mostly orthogonal to where you work, although stress may make it worse.
North Korea wishes they could keep their population in a vacuum divorced from history, but wishing has been ineffective. Of course their upper echelon is passionately involved in international commerce.
> Immigration. For those on a work visa, we have dedicated immigration counsel that you will have access to for consultation and support.

While this looks good, in practice all this means is access to paralegals/assistants who send canned emails with standard options. There is no "support".
Has the mainstream media even bothered to write about some of the individual retail investors who were hoodwinked by these people, or are they just too busy running cover for the perpetrators?
Why wouldn’t you just shift them both right and add them?
Apologies for the GPT hijack, but I've been having a lot of fun creating procedurally-generated scenes in blender using GPT Chat.

For example "write code in python using blender libraries to create a scene that contains a procedurally-generated mobius strip"

Usually the results are pretty good.
I’d argue that abstraction is cheap. You should do it more. As often as possible.

Consider a world where the software industry state-of-the-art is completely nascent and isolated to every owner of a computing system. You buy these huge refrigerator-sized machines and get a bunch of manuals with them but nothing else. You have no operating system. No compiler. Nothing. The expense for this project can only be funded by a large university or government. The timeline to deliver is measured in years.

In todays world? We write programs that generate new programs, that emulate entire classes of machines, and we ship software projects in days, weeks, and months.

It’s so vastly complex that it’s a wonder it works at all let alone so well.

Abstraction is what makes it all work without toppling over when someone, somewhere in the stack, makes a slight change.
If you want to spread out you can do it without robbing the people who didn't to pay for your roads and utilities, and then banning them from building mid rise or transit.
I love Blender and hope to contribute some day soon. But hoo-boy the codebase is intimidating.
That's called a Tony Soprano layoff. HR comes to the employees cubicle at lunch, two silenced shots to the head, and they drag out the body.
Nobody sees nothing.

But everyone talks about it, and says "why isn't management honest with us?"
That's not insane, that's pretty cheap. If you buy IPv4 addresses in bulk (e.g. an entire /18 or so), they're ~$40 a piece these days.

When you buy cloud services from AWS or GCE, you're still paying for those IPv4 addresses, it's just baked into the price. Hetzner makes paying for it optional, which makes it so much more visible.
It could easily be downloaded separately in the background once the browser application is already up and running. Would be great to have it in the browser though for sure.
Do any other industries get free permits? If so, it's totally unfair to single out aviation to remove them from.
Yes, it's got critical mass.

I haven't looked at Telegram's blockchain thing yet, but the non-blockchain version is not very private (and the same applies to Signal).

xx Messenger (https://elixxir.io/; source https://git.xx.network/elixxir/) has very solid encryption, metadata protection and decentralized gateways. But it's less polished, blockchain-based, and has few users.

People complain about the use of blockchain in messengers, but they offer no solutions on how to address app sustainability or eliminate metadata centralization, censorship, or risk of having your data handed to the government by the organization running the network. We'll see how sustainable your centralized donation-ware is.

Btw somebody mentioned "only" 1:1 encrypted chats: who does it better?
xx Messenger can do group chats but you can't add people to a chat after the group has been created.
Most datacenters are a pretty good construction project, but afterwards staffing is minimal. They can use a lot of power, so it's nice to have it sited near a generator project. Depending on who runs it, datacenters can be dispatchable loads --- if the grid has low supply, they can ask the DC to shed load. If it's a single tenant DC, they'll be able to move traffic to other regions; if it's a cloudy DC, they'll be able to restrict services and push customers into other facilities; if it's a traditional colo with lots of individually managed machines owned by customers, it might not be very dispatchable, but they could tranfer the load to onsite backup generators.
They don’t need shit from an HN user, that’s for sure.
The SLAAC should not change after the host has generated it during installation / first connection, as long as you don't reinstall the OS etc.

It's basically no problem.

Even better: I can set my own ::/64 so personal servers at home can be ::d3ad:b33f and accessible from outside without NAT. It's beautiful. Firewall configuration is not hard either these days is it?
And if you die three weeks later, it was still OK!
archive.org is the wayback machine

archive.today is another archive website that somewhat flies under the radar.

first rule of archive.today club is you don't talk about archive.today club.
Awesome ChatGPT
One of the things I often hear said about people who attempt suicide but fail by jumping is that they have a moment of clarity on the way down that their problems are not a big deal and are solvable except the current one of imminent death.

Not sure if this is true in all cases and what the outcome for these people is after time passes, do they still feel depressed or are things better for them.

But, if that is the general experience, then it makes sense for society to stigmatize the action.
To use GitHub on an IPv6-only Hetzner instance, you'll need to use a NAT64 gateway. There's a list of public ones here: https://nat64.xyz/

This can just go into your /etc/hosts:

2a01:4f8:c2c:123f:64::140.82.121.3 github.com www.github.com
> You have to add a CF IPv6 it to the hosts file.

That's worse, yeah? You do see how that's worse?
I wouldn't say it's pathetic. People try and get power/control/ a sense of meaning anywhere they can. This man probably didn't have a great life and found his only refuge and belonging to be in IRC.
The alternative may have been to confront harsh reality and realize you're nobody to noone.
But the person who "is not a fan of funny-looking operators" still has to read them; and that's the part that makes funny-looking operators undesirable to them in the first place!
Ok, so we reached the point where AI can replace the team writing press announcments. Now make it able to provide texts that stand up to legal scrutiny, then...
Would that make it more difficult to implement the BEAM?
We can't really resolve this with the current data, because the current system encourages people to get as high a score as possible at the cost of maximum stress. How do we know whether changing the system would lead to a less stressed system where people just do enough to leap the bar, perhaps like the diving test?
> Blender as a Python Module

https://xkcd.com/353/ draws nearer and nearer.
It's the kind of edge case I know because I just read the article...and it's probably bad if you've been bitten and that bite is still driving how you handle this case.

Because while it is easy to be bitten by this on at 16 or 32 bits, if it happens at 64 bits (1.8446744e+19) it's almost certainly an abstraction error like arithmetic on identifiers rather than values.

Back around 2010, I wrote some code for the first time in a very long time and that code initialized a 10,000 integer array and my first thought was "that's too big to work." Kilobyte thinking in a gigabyte future.

To a first approximation, as an interview question it fights the last war...again embedded systems excepted.
If a news site wants customers to pay for the content, then they should put it behind a walled garden and not paywalls which only apply to certain used-agents and IPs.
> Granted I assume you can probably create a default DENY rule for inbound traffic and selectively open ports up as exceptions. Right?

Sure, of course. That’s how firewalls work for IPv4 as well— you have an implicit deny rule at the end, and then allow rules come before it.
> It was relevant then -and it is relevant now- because there are good lessons in how to migrate from thing A to thing B, even if some of the then-missing necessary bits are in place now.

it's irrelevant now because there are smoother approaches to migrating to future-proofed networks than existed at the time. the fact that it persists on the internet, unamended, to be regularly presented (two decades later) as some semblance of current realities of the challenges to ipv6 deployment is a disservice to the internet.

> Still, it's almost certainly the case that DJB's rant had no real effect, and that the necessary steps were bound to be taken as the cost of sticking with IPv4 rose.

i would maintain that "ipv6mess" had a NEGATIVE impact on ipv6 adoption overall, as people who saw djb as a tech god accepted his word as gospel, despite it fundamentally being a crybaby rant, & proliferated the misconceptions & opposition therein.

the fact that he explicitly rejected ipv6 patches to qmail & djbdns (resulting in a fork to at least qmail) should not be understated - he didn't just complain about ipv6, he actively sought to undermine its adoption.
I acknowledge exceptions.
Most "paywalls" can be bypassed with a clear-cookies or incognito window. They're not actually strong walls, they just want to be annoying enough that some people signup.
Those are all good points.

When we talk about macros and function parameters, however, we want to avoid spreading multiple constants across multiple modules, because they lead to compile-time dependencies (and potentially long compilation cycles), so my go-to approach has been to define a single module with all of my constants (they could be macros or not, it changes per project).

I wonder if this could be a matter of promoting certain styles rather than adding language features?
ranger and vifm instead of midnight commander (vim key bindings)

lsd instead of exa (better formatting, icons)

mosh instead of ssh for interactive sessions (maintains session even with bad connectivity)

hyprland instead of sway instead of i3 instead of XMonad
Too bad it’s basically impossible to deal with the possibility that you request memory and don’t get it, apart from crashing.
Tell HN: ChatGPT is having scaling issues
I first noticed this a few days ago. After every 10 or so entries, I would get an error to contact help.openai.com.

Today, I can't even submit an entry, and I'm seeing this message "We're experiencing exceptionally high demand. Please hang tight as we work on scaling our systems."

Maybe the OpenAI team should ask ChatGPT how to keep their site functioning.
ipv6 would be completely unnecessary. Only a handful of things on the internet actually need to be publicly addressable. Even something as simple as SRV record support in browsers would solve 99% of the invented ipv4 "crisis". Furthermore if people could come up with actual technical reasons why NAT is bad, rather than "I don't like it"... because guess what? It's here, it's now, and it's been working just fine for 30+ years.

That being said ipv6 offers some really nice features around flow-ids and getting rid of dumb and dangerous ipv4 flags. Credit is due where credit is due and these debugging features of ipv6 are worth mentioning as they really did get it right.

Despite this, in my opinion, we simply don't have a use case for ipv6. ipv4 + NAT + BGP (and maybe some SRV records) is all humanity needs, forever.

I will continue to disable ipv6 on all the networks and devices I manage, as it's an unnecessary and useless attack surface that ultimately offers me 0 benefit, just downsides.
Taylor Swift discussed ticketing arrangement involving NFTs with FTX
I mean, v6 is still mostly a failure, so (rightly or not) the situation is going to be blamed on the people that have been pushing v6. That's just the cost of trying to push the entire world towards a new standard.

(I know that v6 has been a success within datacenters and such.)
> Obviously wrong. America has an enormous amount of beautiful "old" architecture. [...] It all predates WW1

Your comment shows the difference between American "old" and European "old". In Europe, there are people who live in homes far older than that.
I'm only looking at own experience, where you couldn't just choose whether classes you liked.
Oh my god.

Haven’t watched the show, but that feels more like the wedding speech in Sherlock (“high functioning sociopath”).