skysight-inc/HackerNews huggingface dataset:
Well, clones can sometimes make it faster (e.g. when you use multiple threads that can work independently, synchronization will have a much higher overhead than a literally insanely fast, predictable memory-to-memory copy). And then the compiler may very well be able to elide the copy, it only needs it for semantics.
What did you expect from a western city government that cannot provide clean water?
No, that logically doesn't make sense. The program cannot know whether it is going through a particular execution ahead of time without actually executing all the side effects along that path first (which in this case would include the fflush()). The very difference between a "program" and a "program execution" is the fact that an execution includes the interactions of the program with the external world (as defined by the standard, all of which I loosely called "inputs" in my previous comment). The interactions basically extend prefixes of the execution through performing the semantics of the program according to the abstract machine and observing the responses from the external world. You don't have an "execution" of the program until the point of UB, until the interactions (aka side effects) up to that point have first occurred (and the responses of the system observed for continuing the execution).

P.S. Have you ever seen a single example of a compiler time-traveling UB through observable behavior like this? I sure haven't. If you have, I'd love to see it, because despite all the crazy ways compilers take advantage of UB, I've never seen C/C++ compilers actually agree with the stance that this way would be somehow legal (if it's even logically possible).
Meanwhile clang has lost steam in regards to ISO C++ support, being now the third place in C++20 compliance.

I guess it isn't as bad as some other compilers still catching up with ISO C++14 and C++17 in embedded space and classical UNIX.
freetube cannot be opened because the developer cannot be verified -- well, i tried.
The LG C1 TV (and possibly any LG TV?) has a "Clear Voice" sound mode which make watching things using the TV speakers much better.
will survive:

doctor

bricklayer

programmer

Reasons all the same: difficult to automate with AI due to non-repeating nature of work. However repeating parts will be automated, hence GP likely to be a bot, also things like co-pilot will replace most web-devs. also houses can be mass built in container-like pods and stacked. so this is very nuanced. check-mate cheeky comment section.

will not survive:

retail worker non-luxury goods

delivery driver in cities with regular grid-like streets aka most of the US

truck drivers between cities

Twitter content moderator

Reasons all the same: easy to automate with AI due to repeating nature of work.

I think the common theme is that if you want something nice like seeing a human doctor, some personlised service, or a nice brick house you are going to see a human. But this will cost tremenduously. So rich people will interact with humans for most services/products while poor people will be interacting with bots. It's already happening (auto-bot callcentre helplines). Overall very distopian.
Spam Obscuring News of Protests
Hey and thanks for your reply. This is done easily in the cscli with the 'decisions' command: https://doc.crowdsec.net/docs/next/cscli/cscli_decisions. 'sudo cscli decisions list' lists all local decisions as you request :-). If you want to look into a decision, 'explain' is your friend: https://doc.crowdsec.net/docs/next/cscli/cscli_explain or simply look in /var/log/crowdsec.log (on Linux).
I hope this answers your question. If not, you're welcome to ask again or join our Discord at https://discord.gg/crowdsec (which is by far the best way to get help fast).
Rutland Roman villa: More finds discovered beneath farmer's field
Yes of course, if one has time, studying a place in various times is highly valuable
I don’t think there was that one “aha!”-Moment, but I always found out when something seemed to hard, if I would revisit it after couple weeks it suddenly seemed so easy. I guess there is a lot of cross-knowledge you can apply from learning thing A to things B and C. So I guess the best advice is never stop learning, just ingest knowledge; the actual programming topic doesn’t really matter.

However a couple things stand out:

- learning to use a debugger

- test driven development

- static typing

- learning a systems language (stack, heap, memory management, pointers etc.)
Some seriously interesting stuff! Who knew film had layers to it? I just figured it'd be a homogeneous emulsion.
also... in menu you have 'close', where in fact it deletes.
Go on https://www.rtings.com/ and buy any decent OLED TV. Solves this problem entirely.

HDR can help if you’re watching HDR content, which most new content is starting to be.
I’ve written a lot of Clojure and Clojurescript over the past ~12 years and I find it a very natural way to program to the point that it’s the single biggest thing I miss when I work in other languages like javascript and Python.
C23 replaces them with proper keywords.
Recipe, please? These sound easy to make, easy to store, and healthy. That’s the trifecta! If they are delicious too, billions!
I like that the compiler removes comparisons that always have the same result.

It means I can write clear code, guard things rather than explain in a comment why the guard isn't needed, and know that the compiler will remove the inefficient code.
In general, optimizing compilers mean that taking the clearer option is much less of a performance loss. I like that.

In many of these UB cases, the annoying things is that the compiler removes the safety feature you explicitly added, but there are plenty of alternatives.
To add to that beautiful quote:

https://humanparts.medium.com/laziness-does-not-exist-3af27e...
My parents used to do a version of this when I was a child. They'd make coffee, add a little coffee on top (about a quarter of the amount normally used), and then brew that mixture of grounds. This was done in a drop machine: I can't remember if they did this with the percolator.

They stopped when they had enough money to use fresh grounds daily. If it wasn't inferior, I'm not sure they would have stopped.
There's discussions in progress about adding the ability to capture a single toplevel window to the screencopy protocol. Nobody's decided that it's a bad idea, it merely hasn't been implemented yet.

Regarding the fact that GNOME doesn't implement a lot of functionality: I don't think it's fair to criticise the protocol and architecture because one implementation decides not to implement a given feature. This is like saying "C sucks because some specific compiler doesn't support the feature I need". It's the compiler you've chosen that sucks in that case, not the language.

I'm sure there's some X server implementation out there that's also lacking features you want -- but you wouldn't blame the protocol itself for that implementation's shortcomings.
Additional sources of revenue for fisheries will increase the scope of which stocks are financially viable to destroy.

If world fisheries had shown that it was possible to control extraction such that we did not destroy stocks, then this would be a great way to meet a significant (~10%, it seems?) portion of world packaging plastics needs. However, it seems pretty clear that the fishing industry as a whole has any interest in ensuring sustainable production.
Also Apple’s various search across products (music, spotlight, ios) is so damn slow it exacerbates this issue hugely
The paper that sanxiyn linked is a great read. My summary is that forking and multithreading are a terrible mix. You have two bad options:

- Duplicate all threads. No one does this because it would be total chaos. If another thread was writing to a file or a socket, parts of those writes might happen twice, etc.

- Duplicate only the calling thread. This isn't total chaos, so everyone does this, but this also sucks. Any locks that were held by any other threads will never be released in the new process, so you need to make sure not to touch any locks at all post-fork. But that's a huge restriction, because e.g. malloc() touches locks sometimes. Code that runs post-fork ends up being as restricted as code that runs in signal handlers.
Thanks for that lwn article.

I had read it a long time ago, and had since forgotten the source. I've spent a few hours trying to find it in bug-trackers. really glad to have the link now, thanks!
Trivial, assuming that one codes in the subset that is understood by all compilers.

Good luck trying C++20 with clang.
My master's degree is a 2 year period when I realised that regardless of the scale and complexity of a problem, if you have a systematic learning approach and resolve, you can overcome it.
I've got two TVs, and a soundbar on one and all 3 have an audio normalisation mods, fwiw.
And HAL is an important component of WNT.
Will a soundbar help me understand accents? That is my main problem. Almost every show I watch has heavy accents for flair (fantasy) or because it was cheaper to do with non-US actors (action). I either have to watch with subs and miss the beautiful shots because I'm reading or rewind a couple times per episode when I can't get something.

Off the top of my head - Northman, just watched it today, great movie, definitely stuff I didn't understand. House of the Dragon. Peripheral. It really feels like every show now.
I wonder why they defined the centre as St Paul's rather than Charring Cross? Very unusual. I don't think I've ever seen that anywhere else.
I don't think this is a fair comparison as this is all based on implicit inferences by the compiler.

If the programmer had specifically invoked the "__assert_valid_pointer(p)" standard function (which does not exists) to promise the compile that the pointer was valid then it would be fine.

The problem is that there are a lot of places where the compiler makes these assumptions.
>For instance, my IP changes when I travel, but I’m an American who speaks English, and yet YouTube insists in showing me local ads in different languages when I’m in foreign countries, despite having my home address (verified with my credit card no less!!!) That’s just laughable.

Funny, my experience with YouTube is the opposite. I'm Italian, but I've emigrated a decade ago. I've tried to purge my Google account of all traces of Italian, changed my languages in my Google profile, settings, and all the places I could find. Google also has my credit card through Google Pay.

And yet they keep switching my YouTube interface to Italian at least once a week. I set it back to English every time but within days it's back.

The Italian interface is perfectly fine, mind you, but they insist on auto-translating the titles of English videos, which a) often results in barely coherent titles and b) the videos are still in English!
Same issue: when im typing something and then a popup appears out of nowhere and then I accidentaly hit “OK” or whatever the default button is by pressing space on MacOS! Wtf!?!?
Streaming? Bluray? The video bitrate can easily be 5+ times higher on bluray
Ask HN: Best books for future project managers?
Hi, the company of my son was just acquired and my son was moved from an "overall does everything" customer support, documentation, testing, creating and chasing tickets, ... role to a more formal junior project management role of the bigger org.

What is the crucial reading he should do?
It would be really nice if modern browsers just waited to load all the images (or at least their sizes) before rendering any text on a page. Yeah, it would be slow as hell! It would force web designers to start compressing their images again and specifying sizes in the layouts. Obviously this isn't really possible anymore because of the range of screens we're dealing with. Okay, then here's an alternative:

A browser plugin that reads the image heights and page heights on each page you visit, along with your window size, and reports that back. Then pre-sizes the height of the window and the elements for other users with the same plugin based on what it recorded.
Idk. I’ve worked with tools like he mentioned.

Recently I set up a media server and didn’t want to mess with Ansible to provision the VMs and containers or Kubernetes to manage the configs. I figured I’d be wasting time getting stuck on little devops details when I can just hand-roll everything once and make a backup. Well, it’s been a couple of weeks and I’m still making changes here and there - and there’s no infrastructure in place to rebuild it from a clean slate. That’s ok, I guess for home use, but it doesn’t feel ideal.

I had another project which was a server+iOS app which got canceled and I wanted to rebuild it recently. There wasn’t any of this automatic infrastructure in place anymore, well, it wasn’t open source so I’m not sure if I could have even done it like that on GitHub. But yeah, when I pulled it down it was nearly impossible to run without changes and adaptations to the code in order to get 2018 code (and dependencies) running on 2020+ systems and language versions, and building in XCode. Actually the easiest way to build the iOS app seemed to be to use a machine with Catalina still installed and an older version of XCode. I’m sure you’ve all been there before.

Anyways, yeah, it feels like a headache to pile on a bunch of best practices and “infrastructure” anytime I want to do something with code, whether that’s write a small web service or a script that runs on laptops. But, if you make it a part of your daily process, and you have a repeatable way to init new projects quickly with identical tooling, maybe the tools get out of your way and you can ultimately be more productive and ship more reliable code? I think that’s what the author is getting at.
Show HN: Prometheus Exporter to monitor usage/availability of Docker IPs
https://www.coingecko.com/en/coins/shitcoin

But it's just a token on Ethereum, so more like shittoken...
Mainly that it‘s impossible to go back a step! Sorry if my comment sounded negative — I learnt a lot just by clicking through the steps. Very easy to follow. The steps are just the right size of complexity, the code is very clear.
No. I've never been an optimist, but I'm now cynical about nearly everything.

The world seems to be marching inevitably towards WWIII, authoritarianism is resurgent, and domestic politics are more divided than ever. Not much optimism to be found there.

Personally, all my friends are dead, I have no prospects, and living seems increasingly to be just a chore I keep doing out of habit. I'm tired of it all...
> If a situation has been statically determined to invoke UB that should be a compile time error.

But you typically can’t prove that. There’s lots of code where you could prove it might happen at runtime for some inputs, but proving that such inputs occur would, at least, require whole-program analysis. The moment a program reads outside data at runtime, chances are it becomes impossible.

If you want to ban all code that might invoke it it boils down to requiring programmers to think about adding checks around every addition, multiplication, subtraction, etc. in their code, and add them to most of them. Programmers then would want the compiler to include such checks for them, and C would no longer be C.

If, as you seem to say, you want to ban a subset that’s easily provable, I think enabling all warnings already does that. See for example https://clang.llvm.org/docs/DiagnosticsReference.html#wargum..., https://clang.llvm.org/docs/DiagnosticsReference.html#warray..., https://clang.llvm.org/docs/DiagnosticsReference.html#winteg... , https://clang.llvm.org/docs/DiagnosticsReference.html#wcompa...
Portals are a really weird thing. They're mostly pushed via the Flatpak/GNOME crowd, and are intended to be cross platform by using an external messaging bus: d-bus (e.g.: they don't use the X protocol and Wayland). The same interface can be used in both Xorg and Wayland, and that's the only upside of portals.

However, their implementation is not meant for native applications and are pretty inefficient. For example, the screenshot portal will save the image into disk and return its path -- so if you wanted to render the image on screen, you now need to read and decode a file. The screenshot is encoded, serialised to disk, serialised FROM disk and then decoded again just to get pixels from the compositor back into the compositor.

Portal really don't make sense if you're writing native wayland clients, since portals just really end up using the wayland protocol under the hood, with two or three services in the middle handing messages over just to expose a "standard" API.
https://en.wikipedia.org/wiki/PRISM

> NSA databank, with its years of collected communications, allows analysts to search that database and listen "to the calls or read the emails of everything that the NSA has stored, or look at the browsing histories or Google search terms that you've entered, and it also alerts them to any further activity that people connected to that email address or that IP address do in the future."
The compiler doesn't make assumptions that are incorrect (it is what it is, basically, if it assumes no integer overflows there better not be).

Your application, and the application programmer, instead fail to fulfill those compiler assumptions.
I replaced the batteries on my three US Dreamcasts earlier this year. Each one had a different sized battery.

My VA0 revision console, with a date code of July 1999, had the largest battery with a Sanyo ML2430. My other two were VA1 revisions made in March 2000, and one had a Maxwell ML2032 and the other had a Panasonic ML2020. (With coin cells, the first two digits is the battery's diameter in millimeters, and the last two is the thickness in 10ths of a millimeter. So a 2032 is 20 millimeters wide, and 3.2 millimeters thick.)

Apparently, Sega of Japan planned for a US$299 price point, but Sega of America wanted to sell it at $199, so SOJ ended up doing redesigns on the internals to bring down the manufacturing cost. I guess using cheaper batteries (whatever they could get a hold of, screw consistency) was one way they did that.
It's not even typed in Futhark.
Not sure about polypropylene, but both nylon and PET are known to shed billions of micro/nano-plastic particles into 95 °C water.

https://pubs.acs.org/doi/10.1021/acs.est.9b02540

Note they studied mesh bags. Flat surfaces with less exposed area should have lower emission rates. Still not great.

Edit: apparently polypropylene does too. https://www.theguardian.com/environment/2020/oct/19/bottle-f...
Food wraps make the food completely unedible, whilst an allergic person could avoid the straw but still consume the drink??

Best argument I could come up with.
So not a golden calf then?
User software is allowed to switch their stack, too, and user software must be able to be interrupted. Sure, it may be possible to work around this in software with some careful elaborate protocol that involves making sure some value of SP is usable with any value of SS, and prescribing that anything at all adhere to that (because any code at all can be interrupted by an NMI), but that not only means the use of this protocol for all stack layouts, but also implies that every single “MOV SS” or “POP SS” becomes part of some elaborate sequence of instructions (something like “push some other register on the stack, save current SP, in that register, change SP to the magic value, change SS… extra fun if you wanted POP SS, restore SP from the other register, restore the other register”).

That’s a lot to put up with, and in my mind qualifies as a design bug with no palpable software workaround. Not great for wanting folks to use your brand new CPU.

The protected mode transitions that you mentioned are much more palpable because they only happen in very bespoke parts of the OS kernel, usually only in bootstrap in any non-ancient OS.
Yes, that's why I was moving to LocalStorage based model but this created two different sources of truth which was the whole cause of bug. I'll fix all the issues and delete all data in cloud ASAP. :)
Neal Stephenson on the Future of the Metaverse [audio]
More informative article with better pics:

https://www.dailymail.co.uk/news/article-11408375/Elon-Musk-...

It's Elon's head on the body of a goat riding a rocket.
While you could describe just about anything with a monadic type (or, indeed, any "Turing-complete" programming language in any other), this isn't functional programming because the central idea of functional programming is that the meaning (denotation) of every term (expression) is a value which is an object of the program, while this is neither the case nor the point for the synchronous paradigm.
I came up with a poker-wordle-ish game idea, and that was higher/lower.
You enter a hand, and it told you if your hand was higher or lower.

Maybe a bit basic though, adding a texas holdem flop-river reveal could have made it more interesting
Duplicate of: https://news.ycombinator.com/item?id=33769877
Title says "on macOS".

That's the key part: Your positive experience is with PCs running linux I guess.
vscode is really good.
Tapered pipe threads are actually
much larger than you’d expect given the nominal diameter. 1/4 inch tapered pipe threads have a maximum outer diameter of more than 1/2 inch and 18 threads per inch. They will sort of work with a 1/4 inch straight thread but not by fully screwing in.
I wanted to view user's activities to make sure the puzzles aren't too easy or too hard. But seems using IP to do this is wrong.
It's physically impossible to dedicate one satellite to time synchronization. The satellites broadcasts a time signal, but that's the time at the moment of transmission, not the moment of reception. Since the receiver by definition doesn't know where it is yet, it doesn't know the propagation delay from the satellite, and it can't calculate the time at the reception site (to the accuracy needed for positioning, anyway).
> you still can't trivially freeze a process, tweak a few values in its memory, and resume it as an integrated part of the operating system

Can't you do this with gdb? Running `gdb -p <some pid>` pauses that process, you can inspect it, set breakpoints, change values in memory, etc, and then resume execution.
A new line of work will be created; Butlerian Jihadi.
“If it were truly AI, then they would make more money offering their own CAPTCHA service instead of a CAPTCHA-breaking service.”

Please elaborate.

“workers (ie humans)”

Do you know what we call a process that takes tasks from a queue?
Have recent versions of macOS fixed the reliability of Time Machine over network (especially over Wi-Fi)?

It used to be that after a while (varies from a couple of weeks to months) Time Machine would complain that the spare disk image on the NAS was corrupted and you'd have to start from scratch, which completely defeats the purpose of backup.
I wish all media came with a "proper nouns only" caption mode. All these fantasy and sci-fi shows can make picking up names and places very difficult.
The Whitepaper Magazine: voice for Chinese freedom of speech
This is an extraordinary, historic moment in China.
Protests are breaking out across the country-from Beijing, to elite colleges, to other major cities, and even far flung places. We have no freedom of speech, every dissident article gets banned, then people start using "◾◾◾◾" to express their voices. However, this also is prohibited. People have nothing to do but take a white paper to protest the government. We need support from all over the world. Thanks.

Here is the github repo: https://github.com/thewhitepaper/thewhitepaper.github.io
One is not like the other. Java is much much closer to C/Rust than Python is to Java.