skysight-inc/HackerNews huggingface dataset:
> Slightly unrelated, but all these media streaming apps and services like Netflix/Prime Video/Youtube e

Slightly related, but does anyone know how come Netflix's search algorithm (for lack of a better word) and its general search-related UI is so bad? A specific use-case that I had a few days ago was that I wanted to watch a nice comedy movie, preferably not from the last few years.

There was no easy filter on time periods, nor a filter on the country where that movie was made (I was thinking of filtering on France or Italy at some point), no way to tell Netflix "show me all the movies employing this actor" that you have in your catalogue, nothing of the sorts. In the end I think I searched for "Belmondo comedy" or something asinine like that, which, sure enough, after some horizontal scrolling (?!?!) ended up by recommending me a Tom Hanks comedy from the 1980s. I did not watch Netflix that evening.

How do people find stuff on this platform?
The average recommended amount is usually about 2 kg a month, actually. 4 kg is absolutely massive and I don't think it's sustainable for most people.

I eat the same stuff every day, weighing myself after going to the bathroom, etc, yet my weight easily varies at least 500 g from one day to the other. And if I eat just a little bit more carbs in a weekend, then well, it's like 2 kg of extra water weight on Monday.
I was thinking about this problem in the context of Telegram. I have a lot of chats and they constantly jump around. Way too often I misclick because the list has updated in the split second between me stopping my mouse/finger and actually clicking/tapping. It's not really doable on phones, but at least on computers one could pause the updating while the user is moving the mouse over the list.
Yes, my trick is to avoid the global search and go for a specific search, e.g. on the iPhone I go to the apps library and only then swipe down to get the search. That search is for apps only, so it's instant & responsive.
Yes, read Factifulness if you're not. Media has been increasingly tuned towards negative reactions since we're genetically wired to pay attention to them more for survival... which they've been doing an increasingly good job at recently.
There's no confirmation?...
> I think the jobs that have survived thousands of years will likely survive another 50

That's a strange assumption. So the world will completely change but for some reason only these ones will remain intact and untouched? Btw most farmers are out of job compared to the early 20th century. Now a single farmer produces what 100's or more produced before.
...but once you get your "textual description" to be as exact as it needs to be so code can be generated from it directly, it will be basically indistinguishable from code.
Running a whole 2D Game Engine in Unity
I created an open source 2D Game Engine in Haxe language and made it run inside Unity in order to extend its capabilities and support additional platforms like consoles. This post is a detailed technical overview of how it was achieved.
its already changing

The issue is that natural language is often ambiguous. So what you want is to define a formal language that takes out the ambiguity.

Over the last decades, we have grown from writing assembly languae, towards ever more generic languages, that allow us to express the same idea with less effort.

I see programming advancing in this direction. It will still require training to 'speak' the formal language to communicate with computers, but it will always become easier and easier, only leaving computer scientists as a niche occupation to actually build the layers supporting the higher levels.
I kinda disagree, I still find GCC's code generation better a lot of times. I have seen Clang generate some pretty crazy code.

While this is a different than warning you about errors it still is an important aspect of compiler.

Having used both compilers quite a bit they each have their own strengths. Although I will add clangs code generation as gotten a lot better over the years that it does not generate crazy bad machine code as often anymore, but I still see it happen.
While I applaud this endeavor, I don't watch YouTube on a computer that much. It's mainly via my TV...either on streaming box like AppleTV or others. I have this nice big 4K, 65" TV that can show those 4K YouTube videos in all their glory from the comfort of my couch.

I've also carefully cultivated my YouTube watching habits that it shows exactly what I want to see. No toxic or political things get through. I watch positive, uplifting, informative channels and creators.
> ounter-intuitively, in many cases age is a good predictor of future life span.

So people making swords was a job for 30 000 years but for some reason the Lindy Effect does not work with that one? That kind of logic does not work at all with all the jobs that disappeared in the 19th and 20th century.
A very prevalent misunderstanding/error though - 'comparing fractions of different things' in general.

i.e. here the basic issue is that it's really more like two different potatoes, each with different water content but the same amount of flesh; they're different potatoes so obviously they have different masses, and that's the denominator unit of the (water content ratio) fraction in a sense.
Blog updated and the following added:

Thanks to all the good people on Hacker News for their input, from which I've learned a lot. I should stress that any following advice is not from a professional plumber and is purely from my own experience as an idiot making a low pressure beer handling system. It should not be read as the proper way to do anything, especially if you are working on pressurised systems and definitely totally 100% not with gas fittings. Get someone in to do that, you lunatic. Seriously. Don't mess with gas.
Programming in 50 years would be then formulating the textual description accurate enough to the AI will not create garbage. So basically what programming already is.
That's just saying, "there is no disagreement because one side is clearly right, and the other is clearly wrong". Even if that were true, which is far from certain in this case, it doesn't preclude a disagreement.

The argument about proficiency has been bruoght up multiple times already -- but only by one of the parties involved in the discussion, which shows that there is disagreement -- and besides that, makes a visit in literally every single discussion about usability.
Considered using Bazel? Perfect for what you described.
It depends: is a programmer the same as the people who automated looms? designed steam engines? Because if we are, then we have some life left in us yet!
> but I haven't seen any concrete examples of AI generated art actually threatening the entire art industry

Because you have not waited long enough. AI generated pictures were just born yesterday.
My banking app takes this to extreme - it loads loan ads directly in place of "show payment authorization code" button, replacing it. Clicking it is not only loads chrome overlay with advertisement, but results with marketing phone call a few minutes after you close it.
> The debugger was always available, basically

Because ITS had the debugger (DDT) as its shell. ITS wasn't the only OS for which this was true – the same was effectively true of CTSS, since in CTSS debugging was just a bunch of shell commands, not launching a separate "debugger". The same is true of IBM VM/CMS, for assembler-level debugging. (Source-level debugging is launching a separate program though.)

One interesting feature of ITS – it had an API (called "valret" or "valretting") which an application could call to run a command in the OS shell/debugger. So basically, an application could actually control the debugger debugging it. I've never seen any other system with that feature, although it is possible to implement with GDB – allocate a buffer, put a "run this debugger command" request in it, pass it to a dummy function which just returns. Have a "processed" flag in the buffer – without a debugger, calling the dummy function will not set that flag, so the app knows no debugger is listening for commands. Now write a GDB Python script which sets a breakpoint on that function, when the breakpoint is hit, it reads the command out of the buffer, runs it, optionally writes any reply back in to it, sets the processed flag, then continues execution. The app can see the processed flag is set, so it knows the command was run, and can read any reply from the buffer too.

MS-DOS COMMAND.COM did have a somewhat related feature – INT 0x2E. You could use that to tell COMMAND.COM to run a command. The difference from e.g. the C system() function, is it didn't spawn a child process COMMAND.COM to run the command, it told the parent COMMAND.COM to run it for you.

(What many people today don't understand about MS-DOS, is it was actually a pseudo-multitasking operating system – it supported having multiple processes in memory at once, unlike many earlier operating systems such as CP/M which only supported having a single process in memory at a time – but unlike an actual multi-tasking OS, only the single foreground process could actually be running, all other processes would suspended – so you could have a child process, but you'd be suspended while it ran. An ancestor process could export an API to its descendant processes by installing an interrupt handler, which is exactly what COMMAND.COM did by installing a handler for INT 0x2E.)
Having a goal. I started in my teenage years so it's been a while, but coding small programs that take a number, double it and print it out gets boring after a while.

Then my father asked me if I could write a simple app that talked through the serial port to control a project of his. Having a goal, and external motivators, is what turns something you learn into something you use.

Have a well defined goal, and unless you're one of those with great internal motivation, share the goal with someone else.
Yeah, they installed mediawiki or something similar IIRC in the first years, but did they ever enabled public contributions through it? I recall the Assange committee have always tried to get the leaks through other means, the anonymous/encrypted version du jour of "send a letter to the newsroom".
Is it a bit much, though?

Unlike me, my children will never experience their home planet without microplastics everywhere, from the highest peak down to the deepest trench in the ocean. They will have to pay a hefty price for what we and those before us have done to the environment. I think that's a bit much.

Where's the cost-benefit for them of wrapped cucumbers?

Like I said, there are applications where plastic is justified, medical devices for example. Cucumbers, bread, smartphones, cutlery, plants, cereal, rice, potatoes, toys: I think there are plastic-free solutions that we should now absolutely and urgently go for.
https://archive.ph/eF6NI
I understood the parent comment like so: if your subject is not interesting, no amount of technical mumbo jumbo will make your photo truly great.

Whereas the counter point is: if you get the technical aspects right (especially composition and light), a simple piece of wrapper paper can become an interesting subject.
What's wrong with checked_add() and its friends in Rust?
I used to think creative jobs (arts, writing), programming and science will be last to automate, but this year completely destroyed my confidence in that.

Stable diffusion, DallE, Midjourney produce absolutely beautiful paintings, drawings, renders, photos of sculptures. We have AIs that write movie scripts, book plots. We are starting to get AIs that are okay at making music. We have transformer models that generate textured 3D models.

On the programming side we have Copilot, which can't yet replace a programmer, but it's definitely a first confident step.

On the science side we have AI tools that fold proteins, predict material properties of novel materials, the wet lab work is getting automated too.

I find it hard to name an area of human work that can't be automated. And not even work, any human activity.

It looks like all the problems that can be solved in software, will be solved first. Robotics will be lagging, but not very far behind. Once we perfect artificial muscles, it's game over. The rest is software and scaling everything up.
So they say, but nobody in the City thinks these things. My candidate for the true centre is the London Stone, legendarily set in place by King Lud himself when founding the city and whom it is named after. It's located at 111 Cannon Street, across the road from Cannon Street station.
To disappear: ICE car mechanics. Sure, we will need a few to service museum pieces, but it won't be a big occupation like it is now.
This is what The Guardian suffers from. It is slightly less-bad than it used to be, scrolling through an article on mobile would send you jumping around as new adverts spawned where you were reading - for the time being it appears to be within the first ~N seconds of load.

Steam suffers from it too - while clicking through your "Discovery Queue" it often displays a link to a video of someone streaming the game it recommended. Not that it matters now, Discovery Queue is hopelessly broken for me - only shows some very low-quality games i'm not interested in
Nonsense. Stopped reading when the author, apparently a mechanic with the Army, describes Musk's "neuralink" as nearly practical. I also saw "quantum" in the text.
I would say, Russia is actively at war where influencing public is their only chance.
What if the fork syscall failed if there was more than one thread? Would it be bad design then?

I guess the advantage of fork relative to other hypothetical methods of creating child processes is essentially just getting a copy of all the parent's state before the fork. So maybe the question is how often getting a copy of all the parent's state is actually useful?
This is like the 5th or 6th frontpage macOS container strategy this week. Wouldn't it be better to have native containers by just using Linux? What advantage do people get hy using macOS?
> It is undefined behaviour if I write GCC --hlep

No, it's not, and I don't know why you'd think so. UB is a concept applying to C programs, not GCC invocations.

> UD is supposed to allow C to be implemented on different architectures if you don't know whether it will overflow to INT_MIN it makes sense to leave the implementation open. If I, the user knows what happens when an int overflows then I should be able to make use of that and guard against it myself.

I think you're confusing UB with unspecified and implementation defined behavior. It's fine if you think something shouldn't be UB, but you have to go lobbying the C standard for that. Compiler writers aren't to blame here.
You must mean «his declared contempt against states of poor hallucination» (pls avoid improper ambiguity): no, he had contemptuous terms for drug users he worked with.
I'm failing to find any reference to this incident on any non US website. BBC, Deutsche Welle and the Guardian... All no.
If you pay very little of the money go to the creators, while the centralization and monopoly on content grows.
Plus, even more user tracking.
A Dry Cleaner pivoted to grow sales in dying industry
Dry Cleaners have taken a big hit in the past few years, and not just because of the pandemic. In a recent report by Bloomberg, dry cleaners in the US have been on a decline for almost two decades! This appears to be a similar trend globally.
The team that implemented the feature will likely have cited its "popularity" in their promotion packets :)
For stealing billions of dollars.
> Having implementation defined behavior would imply non-portability.

Not any more than UB does. Ie if you avoid the implementation defined behaviour, your code is perfectly portable.

(And otherwise your code could probe for what the implementation defined behaviour is, and adjust accordingly. No such luck with UB.)

However I do agree with you that it's hard to remove UB from the spec. The spec's failing is in having so much UB in the first place.
At $dayjob we have a pretty simple product page (e-commerce site) that has the requirement of 2 or 3 dropdown controls. In the early stages of the build I suggested we use the native browser <select> boxes. The idea was widely panned but I did it anyhow because we were short of time. It took me about 3 1/2 minutes to implement and another 2 hours to join it up with the back-end and write a few simple specs.

Fast forward to 6 months after launch. We've now replaced the native control with an "all singing/all dancing" javascript version written in Vue. Thing is, it doesn't know all the lyrics and it couldn't do a box-step if it was stepping off a box. We get bug reports literally every few days because it doesn't act like the native control. And we'll _never_ actually stop the bug reports because people on different systems expect it to act like the native one. Something that is literally impossible to do when writing it on your own.

So now, even with all the evidence pointing to it being a bad idea, nobody want to rip it out because the integration is too muddy and could cause further bugs.

:facepalm
Case in point, Sydney Au is starting water restrictions despite record rainfall due to quality of water in catchments.. Not that far from boiling water.

https://www.nsw.gov.au/environment-land-and-water/water-rest...
A controlling entity would not guarantee fairness. Currently the way to compete is to stand up your own equivalent YouTube, possibly saving yourself a lot of money by using YouTube's open sourced codecs.

If there were a controlling entity you'd have to stand up your own equivalent YouTube, and a load of government people to wine and dine.
Hey Anh - I didn't look deeper into the Lago page on GitHub (I just read the linked page) - I've been kicking around the idea of an open source billing platform for some time. Anyway, I might be interested in helping, and I'm looking forward to hearing from you.
we are driving towards an axiom here I believe. IMO the only way programming will change is the set of tools we are going to use on a daily basis, but no matter how evolved AI is going to be the need to formulate features in a formal manner will always be a requirement. Think of lawyers for instance. To a certain degree they are programmers acting within the boundaries of the law. Basically they are glueing together modules. I think programmers fate will be similar to that
I disagree. By definition, AI can generate average-ish work, but not new, disrupting, expressive work.
It would have never come up with cubism, magic realism, or any innovation that makes art, art.
They will improve at requiring less training data, less energy, come up with more likely possible works, polish out edges, sure.
AI can imitate, period. It is not small feat. It is a fantastic achievement that can be used for good.
Unless the AI is allowed to ask questions, like a regular programmer would?

I think we're getting close to strong AI there though, so I don't see it happening any time soon.
I feel like this take is a lot like saying that the invention of a car is going to obsolete the profession of carriage drivers. The job of a carriage driver isn't to drive a carriage, it's to drive a vehicle. It's the same with all of these new technologies you've listed: they alter the job description, but don't remove the job.
the bare minimum at one point was just ed(1), the line editor. vi (without the m) wasn't a guarantee. I had an all-purpose cshrc that added /usr/ucb because vi was installed there on some systems, along with other BSD programs
Microsoft's Unix derivative, Xenix, was a big influence on DOS 2.0, in particular the concept of directories, path name syntax, and replacing the CP/M-derived FCB API for file I/O with Unix-style file handles. That influence endures all the way from DOS 2.0 up to Windows 11.

People talk about Windows NT being influenced by OpenVMS, via Dave Cutler – the influence is very obvious in some areas (e.g. asynchronous IO), but path name syntax is one area in which Windows is much more influenced by Unix than by OpenVMS (even considering warts such as drive letters, support for backslash instead of forward slash, and reserved file names such as NUL and CON.)
I think this will depend hugely on the "where" part of the question. For instance I think self driving technology has near zero chance of being successful in places like Europe in the next 50 years. Streets are not built in grids and are super narrow with a lot of "complex" rules like multi lane roundabouts. Europe also has a lot of common sense driving with unspoken rules. Take a narrow road with two way traffic. It's common that both cars would drive at each other and both drivers see a gap where they know that one of the two cars will sideline to let the other car past it. Sometimes a car is already tucked aside and gives the oncoming car a light signal to indicate that they give them priority. Sometimes this is more formal, where you have narrow bridge crossings where there is an official traffic sign that tells who has priority in case of two cars coming at each other and so on. Then there are so many other things like height restrictions due to low bridges and so much more. Observing the "progress" that self driving cars made in the Valley it is clear that it would be a catastrophe anywhere else in their current state.

Having said this, I think we will see a lot more "service" jobs in the future. The wealth gap is widening and there will be more people with a lot of disposable income and many people who will want to make a small cut from those people by providing all sorts of services:

- intimacy (non sexual), this is already a thing in Tokyo where you can pay someone to cuddle with you or hug you

- friends to hire (e.g. someone to go to the theatre, etc.), again already a thing in Japan

- someone to stand in a queue for you in places where you can't make a reservation, Apple stores, etc. (already seen in some places)

- getting paid for a surrogacy pregnancy, for couples who want children but the women is too "busy" for being pregnant

- etc.

There is no end to the creativity of those "service" jobs. Initially it will be weird but in 200 years people will think it's a normal job, just like we think it is normal for someone to file the dead skin of your feet today, cut your nails or wax someone's harry back.

The most secure job will be Doctors and other medical professionals. People are getting older and every human being will require medical treatment in their lives and still we will all die from some medical condition. Healthcare is 100% immune to all other external factors such as how well the economy is doing or what not. People are always ill and the population will still grow to approx. 12 billion before it will start to decline and until then there will be an ever growing pressure on the medical sector. Any technology in that sector will see huge growth if they are not completely sh*t.
That still doesn’t solve things like extended syllables, or rhyming (for words like read that have multiple pronunciations)
You can already compile with `-fno-strict-overflow` to get twos-complement overflow for signed integers.

I meant to talk more abstractly about UB in general.
Do you really trust the author of that extension with god-mode access to the internals of your browser?

What about the buyer to whom they sell the extension because they're tired of maintaining it and they got a good offer?

And why are they able to make such good offers to buy extensions that have a large installed base?

Follow the money. And the data.