skysight-inc/HackerNews huggingface dataset:
Ahh, the dynamic linking thing.

To some extent, I see that more as "Distros have ossified around the workflows and tooling that is essentially 'a third-party package manager like Conan for C++, but for C'".

How do you deal with the same monomorphization problems in C++ libraries? See https://blogs.gentoo.org/mgorny/2012/08/20/the-impact-of-cxx...

How do you deal with vendored single-header libraries and bespoke implementations brought about by C's lack of a cross-distro, cross-platform dependency handling story? You generally don't.

https://wiki.alopex.li/LetsBeRealAboutDependencies#gotta-go-...

As that article points out, Rust's approach to package management allows things to be shared between projects which, in practice, don't get shared between C projects.

With Crates.io not allowing existing crate versions to have their contents modified and Cargo.lock providing a SHA256-verified record of the exact dependencies your project used, you've got a record of what build dependency versions went into your package, which can be used by tools like `cargo audit`.

Yes, it means that you need tooling to automate rebuilding the binaries whenever they're statically linked but, as Michał Górny pointed out in 2012, that's already necessary with libraries that use C++ templates and, as was said in "Let's Be Real About Dependencies", "On the flip side, I wonder how many times vlc’s XML parser has been fuzzed?"

While it's slow going, discussion and an experimental prototype do exist for embedding full dependency versioning information inside Rust binaries to further help that approach: https://github.com/rust-lang/rfcs/pull/2801
Nowadays mythology often comes in the form of historical cliché, especially about the ancient Greeks.
> Can a foreign VPN provider refuse to comply? How much jurisdiction do these clowns have?

Then you will definitely piss them and block you. It wouldn't be hard for them to block them, especially that they have already blocked a lot more sites (and has proven capabilities for DPI tampering).
It's another way to favor incumbents with huge resources: it's an anti-competitive psyop to raise barriers to entry and stymie startups in endless shiny thing chasing, because the incumbents are scared of the disruption, so those big players that move a bit slower, seek ways to slow down the scrappy players that can move fast, while those "fast movers" get drunk on the koolaid of buzzwords manufactured on blogs from those incumbents, and trends like being agile, microservices, etc, while willingly injecting themselves with massive technical debt from overcomplicated frameworks, and nobody's allowed to question it otherwise it's civil flame war.

Even if you don't believe it's a conspiracy, you have to admit that: that dynamic favors incumbents, the big frameworks often come from the big incumbents, and if you are a big incumbent even if you weren't manufacturing this conspiracy but you saw its possibility I mean why not take advantage of it?

The outlier is the scrappy indie developer like Peter levels who runs his multi-million dollar a year business on his own basically on a single machine using PHP and only recently started using git. That may be an extreme example but it paints a picture of what radical effectiveness and efficiency looks like and it's vastly different to the Kool-Aid but don't mention it otherwise the mob will come for you.

May the no-code & indie scene save us all. Amen
Can you please explain your disdain for brew?
Shanghai residents turn to NFTs to record Covid-19 lockdown, combat censorship
Recently deployed Keycloak as a front end to hide legacy auth in our org and put OAuth in front of it. Despite the apparent complexity under the hood, it works great and no complaints so far. By and large, it just does what it says on the tin and works.
I've noticed this gap too, and started a (very alpha, experimental, and lately neglected) side project[0] that attempts to fit into this niche: a web server oriented explicitly towards "mildly dynamic" use cases. In its current form deployment/updates are definitely not as easy as with shared PHP hosting (I have ideas for how to improve that eventually) and it probably won't scale well to lots of traffic or lots of dynamism (e.g. it spins off separate processes to handle scripting/computation, just like CGI does), but it's been fun to work on and I think helps me cope with the ennui I feel whenever I'm faced with the modern "best practice" of "let's make everything a SPA".

[0]: https://github.com/mkantor/operator
Most Salvadorans have already ditched their national Bitcoin wallets
Geopolitics is political, and other hacker news insights.
In general, people only move their career by pushing for new things which inevitably become increasingly complex overtime as all the low hanging fruit is gone.
Nice! Having a deeper integration with services like AnonAddy or SimpleLogin would be even better.
I grew up in the 90s and computing was definitely a huge part of the mythology. Space wasn’t out but it was kind of back burner.

The author of this piece seems to think space is the ur myth of modernity which I don’t think it is. One of the characteristics of our age is many myth narratives that overlap and ebb and flow.

The coolest thing about our age though is that many of them come true to some limited extent at least. We don’t get Star Trek but we do go somewhere.
> Keycloaks documentation seems vast, but isn't. There is also no way to search inside their documentation.

This is one area where incentives don't align correctly for open source projects that offer commercial support.
We use the generic in-toto Attestation data model which could capture crev style reviews, but there are no other concrete plans that I'm aware of.

To be honest, crev is pretty elegant but I find manual code review like this to be pretty ineffective in stopping attacks.
Wishful thinking is mentioned several times in SICP, both in terms of to be implemented functions and in separation of concerns.

Oftentimes in the book, they will write out a function with reliance on a variety of other functions that haven't been written yet, but which show a blissfully declarative outline of exactly what the function does. Then you go and write the sub-functions.

Looking at the code after is quite nice, but it takes a bit to wrap your head around writing large swaths of code that can't run -- especially when you're used to writing REPL-driven code and consistently checking/"testing" it
Nim is easy to use but performance.

I'm releasing a (web) development platform for it this month. Just getting the code ready.
Tailscale raises $100M
Disagree. Business schools have upgraded the "Gentleman's C" to an A-minus, due to grade inflation. (I wouldn't use the word "gentleman", though; most of the people today have no culture.) Even at Ivy League colleges, while you can challenge yourself and learn a whole lot--there's nothing wrong with the programs, and the professors are often top-notch--you don't have to do so, because there are plenty of rich kids with no real talent or work ethic but who need a good enough GPA to get into investment banking.
I am unclear of the benefits of doing this as opposed to just using the password generator prompt and using it for a username. Seems fairly pointless as a feature to me.

In addition, in the extension I can't use pass-phrase like generated responses for my username but I can for the password?
Sway tower is 218 feet tall.

This wooden pagoda is 220 feet.

https://en.m.wikipedia.org/wiki/Pagoda_of_Fogong_Temple
Keycloak just assumes you know OIDC terminology, and it has some quirks that you might not expect (e.g. until recently, client credential grants created a refresh token).

It also, concerningly, uses some OIDC terminology outside of OIDC. There are two kinds of scopes in Keycloak. OIDC scopes (that are a set of mappers and represent permissions) and which client and realm roles can be included in a token (including the famous "Full Scope allowed" option that'll dump all roles into your token if you use the default OIDC scope).

A lot of behavior is also just implicit. Particularly in the Authentication Flow Editor. You just gotta know what you want if you want to customize them. The Audience mapper is another tricky one, relying on the (not OIDC) scope to figure out which client to put into the "aud" claim.
Audio I/O on Linux, specifically PulseAudio and JACK. It's a disaster compared to CoreAudio and WASAPI. Maybe pipewire won't suck and break regularly, but I doubt it.
Not sure what you mean. Rust has no functional programming either ...
"hand coded asm real mode x86 renderers"

a more elegant weapon, from a more civilized age, may the forth be with you ;)
Still failing to refute the central point: more harm is minimized by preventing an unwanted birth via abortion than via “caring about their mental health.”

Rhetorically, everyone recognizes that you’re just moving the goalposts by providing one onerous requirement after another.
I skimmed through it but still didn't see any part describing how is the local dev env is? Let's say that you work on a service that does something for ad serving, how do you write code for that and test it?

I understand unit tests and e2e tests are used but what I'm referring is just simple opening web browser, navigating to the localhost:3000/foo/bar/something and seeing if it's ok, I found this as much faster feedback loop while writing code in addition to the tests. Can anyone from Google share that?
Software ate the world, but didn't digest it quite properly, and now the world is in many ways broken.

I think some of the complexity stems from trying to make digital things that simply aren't or shouldn't be.
I found sites specializing in islands and castles in the U.K.

They have low price tags, but they likely are liabilities rather than assets.
i would use a real Win95,98,XP in virtualization, there could be many micro flaws using Wine with this old stuff :)
IIRC Jetbrains Datagrip supports ER diagram(s) too
I don't recall exactly, but at least a day each I would say? They were all performance critical, so had to put some effort. Two of them were for internal nginx patches, but were storing data a bit differently so code couldn't be quite reused. In languages with generics hashmaps are trivial to reuse with zero performance cost.
Turning cash into a gift card is not a thoughtful gesture. Gift cards are popular because they're easy, which is the opposite of thoughtful. I would be offended if my employer ever gave me a gift card instead of a cash bonus.
ORY is amazing, but it also requires significiant investment. It's a headless API (so you never have to touch OAuth/OIDC internals) for building your own IdP.
> superpower with a massive multi-decade empire only 3-4 decades ago

We’ve definitively put the final nail in the coffin on this one. Russia is a nuclear power. But it’s no longer a great power, let alone a superpower.
So, you have valid points, but...

1) some of these things (e.g. node, microservices) already peaked a few years back, being overapplied and now the pendulum is swinging the other way

2) others (e.g. Kubernetes, React, monorepo) were developed at large, profitable companies that others wish to emulate (or work at someday), so they find excuses to use them. This case takes longer to reach a point where things swing against it, because everyone wants to pretend their company is the size of FAANG or will be soon, but the same process of overapplication and backlash happens eventually

3) in the midst of all that noise, there are some new things which are in fact a good idea for most developers. I don't know Rust or Go, but perhaps they are examples of that.

The key for us as developers is, unless we wish to work at FAANG, try to spot (3) in the forest of (1) and (2), and don't let (justified) annoyance at (1) and (2) blind us to the fact that (3) is out there as well.
> Agreed, but I don’t think there’s a realistic world where you have dense urban cores immediately juxtaposed with forest, especially considering how m any people are advocating for accelerated urbanization (moving people from suburbs and rural areas).

At this point, maybe, because we’ve leveled any forests immediately around cities for suburban sprawl. But in the general case, if you’re starting fresh, urbanization makes it easier to leave the forest intact than if you sprawl out with low-density housing.

> Sure, that park looks pretty legit. I think that’s with pretty exceptional or those photos aren’t telling the full story—my city has similar parks but behind the photographer would be rows of houses and the city would still be loud around us.

I’ve hiked there a bunch and the photos are representative. If you’re near the edge of the park you’ll be able to hear cars as there are unfortunately large roadways nearby, but for the most part the trees tend to block out the noise.
Because you can't guarantee that every distro's package manager will have the packages you need.
It’s the second most efficient method of shipping behind barge (and technically sailboat).

Trains come in third, but they use more fuel.
Probably NT3.
> for code that’s supposed to be used in production it’s useless

Then ... don't use it. Others can use it and see what they learn from it, or even whether they find it productive to build stuff with. Even Brainfuck and Malbolge have devoted users who enjoy the challenges they pose, so I can promise you there's room enough in the world for this language. Let's just have some camomile tea and calm down a little.
Another thing to be mindful of with Render: currently there's no native high-availability Postgres / Redis.
It’s tedious to take a 2 hour drive to go hiking, but it’s basically impossible for most of us to make our cities considerably greener. Obviously if it were a realistic possibility, I would be all for it, but for most of us it depends on factors well outside of our control and anyway it would be a decades-long initiative.
This will save me some typing, as I already do the "catch-all" based emails exactly like this!

EDIT: See note below - this is for the Add Login dialog where it detects the domain you're signup for. (My initial tests were in the generic Generator function, which don't have the full functionality.)

> Website Name is limited to the Add/Edit screen on browser and desktop as it requires knowledge of the login's URI, in other locations the username generator will default to Random.
It's even stranger when you see advocates for climate change buy houses by the sea. For instance: https://www.houseandgarden.co.uk/gallery/obamas-new-house-ma...

It does seem at odds with the predictions they are popularising.
Yaaaaaaawn.
@dang could you fix the wrong headline?
> but most are just dismayed that they were wrong and these reasons are just coping mechanisms to avoid having to admit it.

Cryptocurrency proponents love parroting that idea. It’s like they are dismayed at the harm caused by cryptocurrencies but don’t want to give them up, so they fabricate scenarios where other people are petty as coping mechanisms to avoid having to admit it.
I need a couple for a project, and yeah... good luck.

RPI400 is available pretty much everywhere, but rpi3, 4 or zeroW like they never existed.
Sockpuppet alert: doldols = rosndo
The higher-ups might be unhappy if you use that excuse after committing a gigabyte of customer data.
Yes, but it has very little to do with any of the things you mentioned. Software became so prevalent that it became a mantra, "Software is eating the world" but people in IT have little to no choice in what's put on the plate. They've been convinced that positions of responsibility and authority are bad and should be left to the MBA's. Eschewed most industry groups that provide some semblance of protection that nearly every other professional organization has adopted. Doctors, lawyers, actuaries, accountants, all have professional organizations that are powerful and provide some protections. I believe that most of the pathology that you see is a result of a push and pull between management and IT as people in IT seek those protections in other ways.

Just one example, Scala. First, I'm not criticizing the language itself. It has it's place, but what I saw was programmers trying to create a protected space that would provide higher bill rates. Java was everywhere and hiring a Java developer was easy. Scala was new and had steep enough learning curve that you could drastically shrink the candidate pool while at the same time selling the shiny new toy to management. They could create complex, arcane code that kept new developers from getting up to speed while providing the excuse that they were inferior developers and weren't smart enough to keep up. It didn't work for very long as management caught on that they weren't getting much other than higher labor costs. Go seems to be the latest incarnation of that while Rust is a bridge too far to sell to management.

So it's this back and forth, provide something to management that they can sell to their superiors something new. Management buys into it as long as they can get promoted before it inevitably blows up and the developers who sold it move on to new projects, rinse and repeat.
If the author of Hare didn't want feedback on his language, or didn't want other people to use his language, he shouldn't have advertised it in blog posts and on sites like https://harelang.org/, which is clearly an advertisement for the language. As it happens, he has.

You might think "nobody will use the language", but if nobody pushes back and says why people shouldn't use the language, perhaps people will start to. It's really important that people do write feedback pieces like this, because it helps other people be informed about their choices.
I agree, right now I mostly use <servicename>@<mycatchalldomain>.com as usernames, that way I can directly see when something arrives at <servicename>@ that should not. I don't see the benefit of "randomizing" the <servicename> part.
I disagree that "supporting the manager's career" is necessarily at odds with creativity. Once you reach a certain level of knowledge in a workplace (problem domain knowledge, codebase knowledge, etc), different options appear to deal with each incoming Jira. You can solve them naively, or you can solve them creatively to produce better results and set up the codebase for more success in the future, or you can even (surprisingly often!) question some assumptions and find a way to not even do the work as-originally-specced but rather substitute some simpler version. These latter options make your team (and thus your manager) look even better, there's no conflict of interest here. Sure, this doesn't work with grunt-level "move this button over here" tasks, but presumably after you've actually built up the knowledge I was talking about earlier, you're assigned more interesting and challenging tasks (which are never in short supply).
It's like a medium sized container ship.
It actually also compares data when the two databases have different schemas! It's pretty nice for quickly comparing changes in datasets.
Clairnote: An alternative music notation system
The way I look at it is: there are more tools in the toolbox than ever before. Which makes our judgement (the thing they really pay us for) even more important. Kubernetes, for example, is a specific solution to a specific problem. The solution is complex but so is the problem. If k8s give you the right trade-offs for your situation, then it’s not busy work.

Of course, there are plenty of project where judgement Is thrown out the window in favor of adding a buzzword to everyone’s resume. I’ve heard it called “promotion-based architecture”, as in you pick the technology most likely to get you promoted. (If that works, it says all sorts of not great things about your organization).

Regardless, I don’t think the availability of tools is the root problem. It’s and industry-wide lack of emphasis on identifying and understanding the problem first.
The existing guard doesnt have to prove anything, theyre on the way out. C is a tough language and not a lot of people have the patience for it, and even less people are being forced to learn it like the rest of us in school. As this segment of the community ages out, we arent going to see more code written in C, so we have the new group with Rust, recreating all of the same issues in effigy of C, but with better string handling. It's not like it is terrible code, but as Nikola Tesla used to say "it is what it is, and it aint what it aint".

You see how parties completely unrelated to the fight got Linus ousted? That was not based on technical merit, it was due to the changing tide regarding outcomes when people are offended/mistreated. Rust has significant overlap with the community that gave way to this, don't think it is 100% open arms and welcomes, because that is not the case.

Every day we stray further from God.
It's time for pedestrians to take back the streets.
Interesting. Related: Source code for docker container name generation: https://github.com/moby/moby/blob/master/pkg/namesgenerator/...
I find that it’s very hard for me to make generalizations about a whole generation of people based on a sample size of 12.
Same for me. I have a bunch of tags I created early on, but I don't think I've created any since the 2000s. I just search.
This is an important point. Looking at open job reqs can give the impression that X is very successful, when the reality is that any organization using X has an explosion in how many developers they need, and also a high burnout rate in the ones they have. Plenty of other developers quietly and more-or-less-happily working with non-X, and you never see their job in the job boards.
Given supply chain attacks, that seems not only reasonable, but essential.
One other automixer problem: they are tuned for overly-sensitive laptop condenser mics with an assumption of massive fan noise. My dynamic mic with a hardware mute switch causes me all kinds of weird gain problems when I use the mute switch instead of the software muting.
I knew a guy who only used PHP (and a little JS) and he literally did not know the difference between hash maps, linked lists, and arrays. The SOB is a millionaire now.
1Password. They've taken a fantastic password manager and are slowly moving it to a subscription-based product. They're slapping in the face the very users that helped them get to where they are and are removing local vault syncing with the new 1Password 8. Now I'm faced with the choice to not continue updating the apps (which, if I do so in iOS, I'm screwed because I won't be able to downgrade it) or to start using a new password syncing solution.
Apart from the "no management engine" thing, GP's configuration looks remarkably similar to some of Intel's existing Xeon SKUs. Not exactly your typical sedan, but a slightly customized pickup truck maybe.
I don’t think you’re wrong in your observation (though perhaps a bit hyperbolic in the doom) but I’m perplexed why you think there’s “no way out”.

Software is malleable, people are generally smart. It may take longer than you hope it does but things will shake out just fine as teams/companies are forced to look critically at their infra spend vs utilization and adjust accordingly.
Even considered purely for the employment/salary purposes, the first year or two after joining the workforce does not define their future. As people work on different projects there are often plenty of opportunities. Those opportunities for a creative solution might not appear every day, or every month, but those who can seize those tend to benefit, employment-wise.

But even more important, to me, is that people who can think broadly are more resilient during crises: wars, emigrations (and in general being thrown into unfamiliar environments), societal upheavals. And as much as I hope not to see those, they are still hovering around. Just my 2c.