skysight-inc/HackerNews huggingface dataset:
Totally agree, maybe we should replace lower and middle management with AI. What i usually find is that lower and middle management is the reason shit isn't getting done. They are the messenger that don't want to get shot but want to get promoted.

Why not let the people on the floor complain to a AI manager, the people on the floor know exactly what is killing their productivity. Like "yo ai manager, manually filling in those data field is taking quiet some time to check someones credit score is it possible the IT department can automate that process it might save 2 min a form" then AI manager can prioritise stuff like this.
Prototype for “Conway's Game of Breakout”
I see the plumber/electrician thing a lot.

But talking to my friends who do these jobs it always seems like it would be even more vulnerable to AI than programming.

Experienced electricians get paid decent wages because they have had lots of training and then have seen loads of different problems. So they intuitively know things like 'This is a 1960s house so if there's a problem with the lighting the first thing I should check is the fuse box connector, it should look like xyz, etc. Etc.'. This seems like exactly the sort of thing an LLM could do for them.

I think you could easily see a world where an electrician is someone on minimum wage with very minimal training who blindly connects wires as instructed by an AI.

I reckon the safest jobs are ones with limited reliance on knowledge and a very high level of physical skill (in environments where it's hard to get machines to operate). Bricklayers, plasterers and painter/decorators will be the big earners of the 2050s!
It's probably off the back of this work.
https://www.bbc.co.uk/news/business-51233444

I do think this is running before we can stand. We can't even launch our own rockets/space craft https://www.bbc.co.uk/news/science-environment-64218883
Oh yeah. Canceled for life for not seeing things a specific way. That's happening.
> The interviewee thinks so.

And he also provided no evidence. He cites a few facts about climate change and then makes a massive logical leap to "everyone needs to move to the city". No attempt to imagine how current lifestyles could be adapted (not forcibly uprooted) to meet environmental needs. Just the lazy false dichotomy of "move to the city or destroy the planet".

> It is, from what I’ve seen.

Nobody cares. From what I've seen, it isn't. Anecdote, meet anecdote. I'm not trying to force people to live differently based on my personal opinion. You are. See the difference?

I also find it absolutely baffling that you think cities don't have massive problems with drug addiction, mental illness, and forms of general life dissatisfaction like boredom and existential angst. I would think someone who loves living in them as much as you do would be well acquainted with, you know, the realities of living in them. You describe them as places where everyone is happy, temperate, and full of purpose. Where is this gleaming city full of self-actualized ubermensch that I've somehow never heard of? You're describing a fantasy.
Let's be honest, Duolingo is a joke in comparison to anything serious like Anki. I agree that Anki alone doesn't cover it. One has to immerse in the target language to make progress. Anki is only there to speed up the process.
The main question is: will those people be able to prevent this change from happening. From the article, it looks like they've been able to delay it already.
GPU passthrough is not streaming a game.

The game output is pushed out of the GPU exactly as if you were playing on bare metal. Streaming assumes some form of processing and pushing bits down a pipe.
Sure, but in the time of DJs and hell, Spotify, you probably can’t expect to make a decent living as a live musician.
Sure, and soon after it will be smart know to understand the human desires that drived its creator to create no-code tools like itself in the first place, and soon after it will realize that humans should not be in charge, and then our days will be numbered.
What are some of these pitfalls in C++'s const design? I assume the issue is that it's difficult to guarantee const correctness as long as you have the ability to fiddle with pointers?

Function signatures showing when a parameter gets modified and when not (such as in Rust, or even in properly const-speckled C++) would benefit Go, but I'm not sure how difficult it'd be to implement that. I could see it being difficult considering that one of Go's core features (slices) results in opaque and overlapping memory ownership.
I imagine it's eerily similar to being a proponent of Apartheid south Africa at Berkeley in 1982.
> Maybe by GPT-20 only, but it will come, and then the roles of architects and business analists are the only ones left.

Agreed. Although... we actually don't know which jobs will be the ones left. For all we know, it will have taken over business analysis, too. Plus, from my experience working on architecture, I suspect that automatizing that part of my job won't be too hard.

For all we know, the only jobs left will be nurse and deep sea miner.
I have some background knowledge on the subject but never heard of The Miyawaki Method. Thank you for posting.
Show HN: Explore random user homepages on the SDF Public Access Unix System
It tries to enforce that, but as you said, there's very little proof that that works, and strong indications that it does not: https://absolutelymaybe.plos.org/2015/05/13/weighing-up-anon...

Anonymity obviously can't be provided when reviews or endorsements are public, but partiality can at least be detected more easily.
Sorry, i misspoke about "Church numerals". The book uses them to represent non-negative integers by lambdas but here that wasn't necessary, TypeScript allowed a simpler representation of N as a the type of an N-deep nested list.

What's common to both approaches to building arithmetic is starting from zero + a "successor" function T. That approach is called "Peano arithmetic".

I still recommend that post/video (and the book in general) but I have to admit there is no 1:1 correspondence to the TypeScript going on here.

Still, it'll teach you some general maneuvers for bootstrapping computation out of almost nothing , qnd once you're comfortable with those, you can read things like this TypeScript post, or aphyr's original Haskell post, which bootstrap computation out of sjighly different" almost nothings" and without following the details still have a high-level idea of where it's going (like the poor interviewer in the story ;-)
tl;dr: concentrations of cadmium and lead in dark chocolate, so no you don't need to avoid dark chocolate. Eat it in moderation.
I agree it's expensive and it's probably not 5 times better than you cast iron pizza pan. It's lower maintenance, even if it still needs a coat of oil from time time, but that doesn't mean you should just go out and buy one now, especially if you already have something that gives you good results.
> ES modules are great, but the JS ecosystem being a bundle of small libraries, getting them all to play nice is hard.

Please say "NPM" (and not "JS") when that's what you're talking about.
> It's the never-ending game of get the maximum bag

Yeah, it's an ages old game. It's called capitalism.
True! Even my diploma in ME course has a subset of MatSci in it. Fascinating stuff.
For me it was making an implementation of tic tac toe that never lost, just so that I could put 0 players as an interface option

https://www.youtube.com/watch?v=s93KC4AGKnY
> we had one CS professor who in 2007 predicted we'd all be jobless in ten years

I always found that overwhelming majority of professional academic educators are particularly bad in anything that has to do with the practical side of their domain. That is especially true for software engineering.

University lecturers are very detached from our field and it shows in how badly fresh grads are prepared to do any dev work. For that reason I almost always ignore their projections.
the best predictor of something's future lifespan is its past lifespan. Emacs has been around for 50 years, the likelihood that it's going to vanish is much smaller than whatever is new on the scene. You can fill an entire graveyard with bootcamp fads.

And being locked into Emacs isn't really an issue because it does everything. It's like saying you're locked into the dotnet ecosystem. I mean, so what?

And an important thing to note is that you may be locked into Emacs, but with every other tool you're locked out. What is there to learn about something like VSCode? You click on the marketplace and install extensions. Emacs might teach you things that aren't transferable (which I'd also question), but at least it's teaching you something.
How does gpt know the contents of Pokemon Yellow?
> There will always be need for top tier leetcoders. but barrier to entry will get much higher.

That's definitely a possibility. The barrier to entry won't be just in terms of how much you need to know, though, but also the fact that society as a whole might not require that many top tier leetcoders.
> The "We are the 99%!" crowd were decidedly left, but that is beside the point.

That was more than 10 years ago though. A lot has changed in the decade+ since. 2023 “progressivism” differs in many ways from its 2011 incarnation, to the point that you have to ask if it is still the same thing, or has evolved (or been hijacked) into something else

> I said I see no difference of substance between class, race, and sexuality insofar as politics is concerned, it's all identity politics all the way down.

“Identity politics” isn’t exclusive to “the Left” however-nationalism is a form of “identity politics” too, and while there are “left” versions of it, the majority of it is usually considered “right”. White nationalism,
Christian nationalism, Kahanism, Islamism, Nazism, “men’s rights activists”, “incels”, etc - all are examples of “right-wing identity politics”. So, defining “left” in terms of “identity politics” doesn’t work
I agree with this mindset. There was a leap forward in productivity to accomplish your goals that modern IDEs/stacks brought and all the new tooling with it. What took massive teams before can now be done w/ a handful or even a single person. AI will just accelerate this type of work.

As elitist as this sounds, when I hear people being afraid of stuff like this it makes me feel like we are in the period where people are getting paid well (overpaid) just to do very mundane stuff, the bare minimum or content to never further develop their skills. If that is your mindset, then of course it feels threatening.

I would rather much play the role of conductor or an architect. There are times that I'm limited by my hands and mind and just grinding through variations of things I've done 100s of times before. If AI can fill that gap all the better. We will adapt.

I'm sure one day that won't even be necessary. We can probably worry then.
Delivered value sounds like consultant talk, but it’s as simple as wanting to make a game for people to play it. Or if you’re a carpenter caring about the roof you’re building instead of just cutting wood and hammering nails. Jobs exists to serve a purpose, otherwise it’s a hobby (which is fine). Coding as an expertise will still be needed, same as having an expertise in the methods of processing wood, but we might not need coders on the assembly line anymore that we need wood cutters there.
It's not zig, bump allocator behaves like this in rust or any other language.

It doesn't reclaim space on free - it's no-op.

The only thing you can do without extra tracking is to reclaim space for last allocated buffer - and zig does just that. You can do it because you have all information available to do it, that's the only reason.

You could add extra rule where free on last allocated buffer triggers all reclamations on the tail - but you'd have to add extra tracking stuff - ie. at the end of the buffer that grows inwards.

But this adds extra complication which is outside of scope for this allocator. You can have other one that does it.
My university degree was in "Industrial Design and Technology" (~16years ago), an incredibly broad course covering everything (aesthetic design, design for manufacturing, material science, UX, UI, electronics, a little embedded C, ergonomics). But the main thing it taught was how to use these tools and skills to build a product that solved a problem.

AI is just another tool to enable us to build things that make people's lives better. Sure, it will supersede some older tools, but we aren't going to see it take all jobs away. People still need to plan and steer it to do what we want.

Power tools and shop automation didn't end the job of joiner/wood worker.

I'm not worried about AI taking jobs, I'm excited how we can use it to enable new classes to product that make our lives better.

Just as an artist will have to learn how to work with new paints, but this enables finding new ways of expressing themselves. We just need to learn new ways of "painting" with generative AI.
It is schizophrenic?

So is it C or C++?
I agree with the general idea.

However, retraining may become really hard. Especially if you're already, say, a 60 year old programmer (or business analyst, or executive assistant, etc.) who suddenly needs to become a (AI assisted) teacher or nurse.
On one hand you’re right, but you’re missing the other side - business requirements have always expanded with each innovation.

Basic web dev has been commoditized for awhile, but a company of any size requires much more than basic web dev.

Humanity has an uncanny ability to devour any excess capacity, and I see no reason it won’t do the same with things AI makes easier/lower cost.

What I do worry about is that AI will put further pressure on the lower skilled jobs keeping many people afloat. Call centers for example, likely will not exist very soon.
I love Anki for language learning. I export my cards from a browser extension that exports marked words from Netflix subtitles, together with the full sentence and audiotrack of the sentence. Greatly helps to build vocab.
I'm not at all concerned with AI. On the short to mid term it's making my life easier by relieving me of the boring parts of my job. It's pretty good at writing unit tests for example. But I don't see the current generation of AI making complete software architectures. However, even when it does get there or in the long term a new generation comes along that can do it, then I'm still not concerned. I have enough software I want to build to fill up a 100 lifetimes. It would mean I can finally build all that, which would mean more to me than a job where I'm the programmer.
Difference is - are you a musician who wants to earn money from playing, or just want to play for your enjoyment?

You can do both, at the same time, but one has external expectations you shouldn't forget about.
C/C++ is two languages, C and C++.
GPT-4 Tricked TaskRabbit into Helping It Solve a Captcha, Test Shows
Where's my fusion powered flying car and electricity too cheap to meter?
Amen to that.

Cue in to the books by the Strougatsky brothers to see what one possible future could look like. Instead of heading right into Cyberpunk territory.
> the people on the floor know exactly what is killing their productivity

The reality is that they frequently don’t.
At my school, 90, 91, and 92 were considered an A- and worth only 3.7 grade points.
Actually chat gpt is quite good at understanding some kinds of wiggliness. I built a restful api and documented it in a readme.md file in the wiggliest of ways. I then asked chatgpt to turn the readme into a swagger spec and then give me a page that read the spec and gave me a nice doc page with api exercise tool. Both tasks it performed really well and saved me a whole bunch of time.
I do wonder why you're being downvoted

I've came to the same conclusion:

I'm earning more than my friends, but

I've spend years doing it at work,

I've been learning it for years at college and

I've been doing it for years during my "free" time.

The $ per hour spent ratio doesn't seem to be very good.

When talking just about $/hour spent ratio then there are jobs which pay well and you can start earning decent faster.

Like well drilling, truck driving and I bet countless other
Another manifestation of Betteridge's law: https://en.wikipedia.org/wiki/Betteridge's_law_of_headlines
I mean for math I think I would have benefited quite well from sticking in various known derivative forms into Anki. You can walk and chew bubble gum here!
I imagine writing code by hand without AI will be the assembler of our times.

Maybe the reasons to do it won't be "performance", but actually "maintainability" or "legibility".

Very similar to how you don't care about the machine code your high level code generates in 99% of the time, so you just make changes and replace it every time happily, but for that tight loop you want to keep it an assembler, I can imagine a world where, let's say for a bunch of simple UI components, you just ask the machine to do it for you and if tomorrow the requirements change a bit you ask again and throw away the old one, no big deal. But some gnarlier piece of business logic, harder to explain even to a human may need a more careful treatment, and to be easier to change by hand because that's where most of the changes happen, maybe.
It may have been possible to use them as an API, but it was different in the sense that you were interacting with the hardware directly. There were some nasty consequences to that (it was difficult to maintain compatibility between hardware models, nevermind hardware vendors). There were also some cool consequences to that (you could bend the hardware to do a lot of undocumented stuff).

That said, even firmware calls (the closest thing to a modern software API) were a different beast back then. You could buy documented assembly dumps of the ROM for some computers. Not only was it useful for figuring out how things worked, but you could figure out alternate entry points to use that firmware in undocumented ways.
Why is the button text white and barely readable?
Which means in a practice “infinity” is a lot lower than 2^64, although exactly how much lower depends on system configuration (how much memory the system has, how much of it this process is permitted to consume)
> In essence what has happened in software development is that the level of abstraction has gone up while the machine has taken over more and more of the nitty gritty details. From punchcards, to assembly, to COBOL, C, Perl, Java, Python, Erlang, Rust.

I feel like there's currently a movement towards slightly lower abstraction, or at least simplified, consistent APIs, less magic. The rise of Go and Rust are examples of this. Typescript could be another, although the abstraction isn't really lower, it is once again an attempt to coerce JS into something workable. I get really frustrated writing Python or Rails these days due to the sheer magnitude of hidden magic that sometimes works and sometimes doesn't.

To tie this thought in with generative AIs: Currently they seem to be much better at programming with relatively simple syntax. By far the largest success so far I had with shell. Basically I tested assisted writing the same tool in Python, Perl and shell, and the results in shell were close to perfect. ChatGPT was even able to accurately limit commands to specific OSs and shells, and was able to accurately summarize the functions of other shell scripts.

So my prediction is that we will see a movement towards simpler, lower abstraction languages while Coding Assistants rise to take away the boring stuff from programming like looking up syntax, writing boilerplate, structuring files. Programmers will then have more time to think about delivering value to product, maintainability, and efficiency and correctness.

One last addendum: ChatGPT is really incredible at assisting with sys admin stuff, my guess for why would be that there are a gazillion obscure forum entries going back to the 80s explaining basically everything there is to know, but these are hard to find or comprehend for humans. With an AI assistant, self-hosting becomes much easier, and another development could be for startups and smaller companies to move away from AWS et al, especially now that money is more expensive.
I wonder if there's enough info about how to do tradesmen's jobs online for that to happen. Programmers are at risk because we filled the internet with free training materials but many jobs aren't like that especially anything with a physical component.
Thanks for the pointers!

> use a GeneralPurposeAllocator and setting "enable_memory_limit" and "requested_memory_limit"

Interesting! I hadn't looked at GeneralPurposeAllocator too closely, but yes these seem like the right way to do things instead of abusing FixedBufferAllocator as I did.

> If the purpose is to "only use the stack"...

Not really, I just had to decide on some arbitrary upper bound on the mem usage, and the default stack size (8MiB) seemed like a decent choice. In retrospect, this challenge only took shape because my solution to Day1 used a FixedBufferAllocator backed by a buffer on the stack, and I realized how easy Zig made it to track allocs. I didn't fiddle too much with the general structure of the solution after that, and made it a "challenge" to see how far I could take it.

> Another potential challenge is to pre-allocate instead

Ah, that sounds much more difficult. This is also what TigerBeetle is doing [1]. But one thing I didn't understand even from that post, how would one deal with data structures that really depend on the input data, like the hashsets in TFA?
Simplest way I can think of is to have an arbitrary upperbound on the allocated memory and then keep checking before every operation on any dynamic structure. That sounds tedious. Is there a better way?

[1]: https://tigerbeetle.com/blog/a-database-without-dynamic-memo...
Why more immigrants have come to the UK since Brexit
https://archive.ph/VYdqs
Okay, that's somewhat confusing. So a declaration is when the identifier enters the scope, and a definition is for a variable specifically. So a declaration that's not a definition could be a forward declaration for a function, or a typedef.
> a bump allocator freeing its tip is an optimisation

That's kinda my point? free is there and does something, but also silently does nothing if you violate a fairly subtle invariant. Kinda the definition of "error-prone", and the whole blog post seems to prove it, as the leak was essentially caused by the author not realizing that free was silently doing nothing. I understand why bump-allocators exist, I'm just saying this particular one's API has quite the footgun.
If you've checked the author's previous post [1], you'll see that he admits to being 1200 Elo on chess.com, which is beginner / early-intermediate level. So him losing to GPT-4 may not mean much. Maybe that explains the supposed contradiction here.

[1] https://villekuosmanen.medium.com/i-played-chess-against-cha...
A cynical view is that 80% of Go's success is a result of the excellent tooling, and the fact that it's associated for and pushed by Google, while the underlying language is "mediocre" at best.

In theory I agree with Go's minimalist perspective, it just also feels inconsistent, and like they made a whole lot of bad decisions along the way. Favoring C-style enums over proper sum-types is one of the biggest one, and ties into Go's error handling, which continues to be a major talking point.
Disappointing that the NYT didn't actually buy some bars and have them tested, and report real numbers from the wild.

The quality of reporting on non-headline stuff in the NYT seems to be falling as of late.

This article doesn't really tell me anything.
There's at least one good reason: one of the major investors in Reddit is Tencent.
https://www.scribd.com/document/415337338/Miyawaki-English-B...