skysight-inc/HackerNews huggingface dataset:
One thing important to remember about futex is that it is not a lock, despite its name similar to mutex. Futex is a conditional sleep mechanism. The kernel wakes up the caller when the futex flag's state changes. When awaken and returns from the futux() call, you don't get the lock. It just means the state of the lock has changed and it's time to check and attempt to acquire the lock again. Actually multiple threads sleeping on the futex flag can be awaken at the same time (depending on the FUTEX_WAKE command's parameter). All of them need to do compare-and-set to acquire the lock.
I'm not convinced disarming citizens would be a good move for an agent. It would cost a lot of political capital to pull off, and the benefit only materialized in the unlikely event of physically occupying the US (which would be decades in the future). Keeping guns readily available also seems to come at a cost to health and safety of the population, benefitting the goals of a Russian agent.

Weakening the U.S. military sounds like a more worthwile goal. Reducing their budget would be one way to do that, but that's easily undone. I would go for more a more sublte approach to inflict better long-term damage. Try to restructure and reprioritise to get less done with more money. Try to get rid of important military installations abroad. Try to burn bridges with allies to make sure the US military has to take a larger burden in foreign interventions. If you're feeling really bold, try to establish entirely new arms of the military to further decrease effectiveness and increase spending. Try to do all of that in a way that's hard to undo by the next president.
What you said about malloc on Windows is true, but I wouldn’t blame it on symbols not being exported by default – but rather on Windows’ choice to ship N different C runtime libraries, one for each MSVC version, as separate DLLs. Most applications and libraries link to one of those DLLs, and if two images link to the same DLL, they do share C runtime state, including the malloc heap [1]. But that’s only possible if they were compiled with the same MSVC version. (There is also an option, -MT, to fully statically link the C runtime, but it’s less commonly used.)

In contrast, both Linux and Darwin have only one C runtime library for the system, in libc.so.6 (typically) or libSystem.dylib respectively, which maintains backwards compatibility over a longer time period. Sometimes there’s a need to make changes to libc that would normally be ABI-breaking, e.g. when off_t was changed to be 64 bits to support >4GB file sizes on 32-bit platforms. But to avoid breakage, special mechanisms are used to provide two different versions of the same symbol within the same library, for each affected symbol; existing binaries will use the old version, while programs compiled and linked on a newer system will automatically use the new version. (On Linux, a complicated mechanism called symbol versioning is used for this, while Darwin just renames symbols with the asm() directive in header files.)

On Linux, it is possible to statically link any of various libcs, but programs that do that typically can’t use shared libraries * at all*, so the issue of malloc across library boundaries doesn’t come up.

Oh, and for the record, apparently Windows 10 has a new “universal” CRT DLL for new code that will be maintained in place going forward, but it’s still separate from all the pre-existing versioned DLLs, and there’s a debug variant that’s a separate DLL from the normal one and probably doesn’t share state with it.

[1] https://msdn.microsoft.com/en-us/library/ms235460.aspx
I wonder if absolutes are not coloring this incorrectly... As well as maybe an underlying "I want it now" expectation?

I work part time and earn a full time income doing something that is _mostly_ fun... But sometimes it is not fun, and it took me 25+ years to get to this point.

Luck and perseverance both had roles to play for me...
I can't compare to XPS myself, but:

Pen support is better than the original surface pro's, which I believe were wacom. Hard to pin that on pen tech vs OS improvements, though. The pen needing a Quad-A battery is a bit annoying, but they're not too hard to find, and just one lasts a long time.

Battery life with a detached screen is short, but you'll only really need it detached if you're walking around with it. If you're sitting or lying down, you can just attach it backwards and fold it back onto the keyboard. Heavier, but not to the point of annoyance, and it gives it a nice tilt for reading things if it's on a desk.

Battery life with the keyboard attached is incredible, especially if you can dim the monitor a bit and run in battery saving mode. (The battery saver mode does have a pretty significant perf hit, though). Just don't try to use it at full speed, at least with an i7 and discrete GPU - I can kill my battery in under 2 hours if I try to run something like a graphics-intensive game. For dev stuff I've never had a problem.

Multi-OS support is probably an issue, though WSL does seem to do a pretty good job of most things.
mod·ern
ˈmädərn/
adjective
adjective: modern

1.
relating to the present or recent times as opposed to the remote past.
"the pace of modern life"
I'm not sure that properly written C version would have bigger size (assuming that unnecessary code is stripped, of course).
I just don't understand the grief over that. Even if you do use a notebook for programming, would you actually use the laptop keyboard all the time?

I always have an external keyboard around for any serious dev work. That way you can pick any style you want, clicky mechanical or wireless or whatever.
I am (mostly sadly) pretty well aquainted with Vegas. Unfortunately, the monorail/tram systems are pretty disjoint. And even if it just involves walking through a casino can still be quite a hike.

And I, by no means mind walking, though there was the time I went to Vegas on a business trip and was on crutches with no weight on foot allowed. Though the high point was that a porter showed me how to use the crutches more effectively; he was an (aspiring?) ballet dancer who had apparently spent more than his share of time on crutches :-)
Slightly off topic, but I don't get environment variables. To me they look like implicit options that are based on what shell session you're currently in. Stuff that hangs around waiting to kill you when you're not looking, like a cecum.

Why would anyone want environment variables when you can have config files or explicit options instead?
Oh, did you check the spam folder?

We are using sendmail to dispatch mails from digital ocean servers where the app is hosted, so it's quite possible it's getting picked up as a spam based solely on the IP :(
Google Express has had some awesome coupons lately too. I’ve been using it to order from WalMart and Target. Happy thus far.
On Instagram I have not had the experience you had. I follow a lot of nice-to-look-at accounts and it makes me just a little bit happier. Also some are comedians and some are corporate media accounts for travel-related companies, things to maybe daydream about later.

I don't visit every day but it is a nice break.

I mostly ignore stories.
Please don't post unless you have something civil and substantive to say.

https://news.ycombinator.com/newsguidelines.html
They might be referencing stuff like art/diamonds?
You don't need to invade a country to conquer it.
Some may find Feliks Koneczny's categorization and analysis[0] of civilizations based on legal system and its relation to ethics, the distinction between private and public law, the distinction between religious and secular law, and so on.

[0] https://www.scribd.com/doc/4464979/ON-THE-PLURALITY-OF-CIVIL...
(Disclaimer: Debezium lead here)

While the basic idea of using PG logical decoding for CDC is the same, Debezium is a completely different code base than Bottled Water. Also we provide connectors for a variety of databases (MySQL, Postgres, MongoDB; Oracle and MongoDB connectors are in the workings). If you like, you can also use Debezium independently of Kafka by embedding it as a library into your own application, e.g. if you don't need to persist change events or want to connect it to other streaming solutions than Kafka.

In terms of CDC use cases, I keep seeing more and more the longer I work on it. Besides replication e.g. updates of full-text search indexes and caches, propagatating data between microservices, facilitating the extraction of microservices from monoliths (by streaming changes from writes to the old monoliths to new microservices), maintaining read models in CQRS architectures, life-updating UIs (by streaming data changes to Web Sockets clients) etc. I touch on a few in my Debezium talk (https://speakerdeck.com/gunnarmorling/data-streaming-for-mic...).
I concur. The author of the piece was there, which passes notacoward's (IMO too-)strict requirement that those who were not there should not talk about it.

I also think the author's description of '"gatekeeper" behavior' is a good description of this view point.

Going back to notacoward's comments, starting with "trolling back in the Usenet was generally less serious back then".

1993 is when one of my students tried to email me a death threat anonymously. Yes, I know email isn't Usenet. I bring it up because one of the negatives of looking through one's personal experience is that past often looks rosier than it was. So much of it is new, and you don't know what's happening with others.

I think the author already addressed notacoward's comment with:

> But what everyone really remembers about these proverbial times isn’t their purity. It’s how they didn’t see the big deal back then. They remember how they felt a sense of permission, a belief that it was all okay. But that was only true for those who were like them, who thought exactly like they did. All the while, someone else was getting stepped on and bullied while others laughed. The story of the internet has always been the same story: disaffected young men thinking their boorish and cruel behavior was justified or permissible.

I think the author also addressed notacoward's comment "you could leave or even come back under another name" by quoting Quinn: “The internet was my home, and treating it like a magical alternate dimension where nothing of consequence happens was insulting. Telling a victim of a mob calling for their head online to not go online anymore is like telling someone who has a hate group camped in their yard to just not go outside.”

Notacoward also proposes "administrators need to take a more active approach". This is also what the author proposes, saying:

> “Don’t feed the trolls” also ignores an obvious method for addressing online abuse: skilled moderation and the willingness to kick people off platforms for violating rules about abuse. At one website I used to write for, everyone constantly remarked that we had the most amazing, thoughtful commenters. How did we achieve this? Easy: a one-strike policy.

Notacoward wrote "but some of their and your facile generalizations about the past are still rather amusing."

Would you care to point out some of those facile generalizations about the past? I started on BITNET with Listserv back in 1989, so I am also a member of the old-fogey/pre-Eternal September club. I didn't see anything which came close to an amusing generalization.

And yes, I remember the trolls calling for "free speech" even back then, as cover to permit continued abusive behavior.
Or just white men investing in other white men.
Fair point, but if I can't tell that the good is fake, even after using it, I don't care that much.

It could be I'll order Dove soap, get counterfeit, and incorrectly assume Dove soap sucks, but mostly I'm ordering brands too obscure to bother faking, or brands I'm familiar enough with to realize the bad counterfeit isn't the real thing. (But like ma2rten, I don't think I've ever gotten a counterfeit.)
Supreme Commander – Graphics Study
We’re headed towards a new caste system in America: those who inherit houses / tax concessions / rent control in productive places, and those who don’t. In many ways this will be a rebalancing, as the middle-class from places on the way down gets locked out of the labor force and the poor from places on the way up find themselves with exclusive access to booming jobs markets. But I’d anticipate some serious civil unrest before the border controls around wealth centers like the Bay Area are truly solidified.
According to who / what?
Uncleft Beholding – Atomic Theory in Anglish
Is it overboard to consider Paul Manafort a Russian asset? He seems to have influenced Trump and his governing style pretty drastically.

I don't think anything in my comment was particularly inflammatory.
VMG – Vuex module generator
I didn't get any real interest in my office, but I applied TLA+ to a debugging challenge. I described a well-specified system (abbreviated, for instance data was just "DATA", not the actual myriad number of message types that could be sent). The intention was to understand a bug and possibly identify which of three suspected locations it was occurring in. I had enough of the specification for each part implemented:

Two sender/receivers (sending messages back and forth) and a data bus. For some reason, we seemed to be getting bad data (but not consistently). My "debugging" was actually more like "bugging". I took a correct TLA+ spec, and weakened constraints on different parts until I recreated the behavior we were seeing (it was the data bus). But the nice thing was being able to show that the particular bug couldn't happen from the sender/receivers. Their interaction with the data bus were correct (per the specification) and they were the only parts I could directly inspect (as I didn't have the files on how they implemented the data bus itself).

Once I found the right constraints on the data bus to weaken, I recreated the errors we were seeing in the model itself. This led to devising several more test programs that could more reliably produce the error. From there we were able to better communicate the problem with the contractors involved and get things corrected ("proof" that we weren't the problem).

A particularly nice thing was being able to model abstract versions of the system. I didn't need the fine details (what message specifically is being sent, didn't matter). But I also found I needed more details than my first pass and was able to refine the data bus specification (in TLA+) as needed to provide the necessary level of detail and extend it to add new capabilities.
good timing. i've been using zfs on macos for years (and different flavors as well), but in a very basic way, manual snapshotting on occasion, that kind of thing. i'm on a pretty old macos now, for fear of updating.

i've recently wanted to have a globally available privately hosted filesystem. ie, not icloud, not dropbox, not google drive. AFS (auristorfs) would fit the bill quite nicely except getting it backed by ZFS would be too much of a chore. The days where I had time to deploy and time to maintain such things are past.

but in perfect timing with this article, i've also just learned that BTMM can make filesystems globally available. Apparently I won't see the files via the same pathname everywhere, but I can live with that in exchange for the ease of use.
There are a few browser extensions that automatically compare prices from some major retailers based on whether they ship to you.

Give one of them a try, sometimes they find you nicer prices.
That's what they do; Ask any economist or financial analyst.

Not only are the numbers fluffed up, there is zero transparency on what exactly the figure represents, what the progress made was, what the outcomes were - all to please their "benevolent" dictator
How do you account for the cost of the ASICs then if it was bought with dirty money? Or the method is to start a legit business and make it waaaaay more profitable on paper (with all the dirty money)? (Like it "used to" be with laundries and/or casinos?)
Everyone, at the very least, believes their arguments to be correct

No. Some people want their conclusion and really don't care about the argument and how it gets there. It sounds impolite but some people lie.
Because the "a.b" is not a key, but a table "a" that contains an entry with key "b". If you write "a.b = 1" then that integer is not a table, and can't have an entry called "c".

Because it avoids these problems, your "name.alternative.first" example seems perfectly sensible to me. Alternatively, the name might be an array:

[[name]]
first = "Bob"
last = "Smith

[[name]]
first = "Robert"

It's probably best to think of TOML as convenient syntax for creating a JSON-like structure. What kind of JSON would you expect as the result of your config examples?
This discussion here and Dhall's Github Readme seemed promising, so I went through the tutorial. I've recently had to write a lot of YAML like language with custom templating (think Ansible), so naturally I felt there was a way out with Dhall. I was hoping the author could perhaps point me towards explanations to what I noticed bothering me by this (admittedly short) experience that left me puzzled.

I saw that lists can have only one type of elements without annotating their types. With type annotation list can have differently typed values, but only if each element is explicitly stated (note: this is my understanding that might not be correct) meaning there's no dynamic content in a list. In same vein a map of maps needs to have all its keys stated by type annotation.

To me this seems too restrictive since the structure of data gets lost in the more verbose annotations. Not to mention the work of writing this annotation or the functionality to produce the same. In TypeScript I'd write something like this { [string] : [ Number | String ] } and I'd have my string keyed object with values of lists containing numbers and strings. Having a language like Dhall to help with creation of correct configuration code seems really useful instead of this messy combination of declarative and template language. I would like to understand things that can get better by using such an type system.
Pushing a serialized object into a distributed hash definitely solves some problems.

And you have finite time, so if the choice is between that solution that you can do now and searching for another solution that may or may not be better, it's often reasonable to go with the known solution. In economics, this is known as "rational ignorance."

The value proposition of learning will change, though. You will find it's worth it, especially if you move beyond hobby projects and have to deal with any kind of business logic, to spend some time learning how databases work, and maybe even the math behind them, the relational model.

There are a lot of mediocre or awful references out there. If you need a good text on the subject, I recommend CJ Date's "Introduction to Database Systems." Note, though, I said good, not easy.
Wifi and Bluetooth would both be great to be upgradable.
-Godel, Escher, Bach / There was an article on here a short while back writing about how they didn't like the book. I figured if the book was important enough that it was noteworthy when someone wrote that they DIDN'T like it, I should check it out.

-Salt, fat, acid heat / A no-nonsense approach to cooking that's made me feel a lot more confident in the kitchen

-It's your ship / Required reading for a PM class
Facebook’s value add isn’t features, it’s money (in the form of ad sales).
It's quite common. "Embedded" doesn't mean just "low power and little number crunching ability", it's just a fancy way of saying "special purpose". E.g.: https://buy.advantech.com/Industrial-Computers/Fanless-Indus... is an industrial computer; https://www.edge-core.com/productsInfo.php?cls=&cls2=&cls3=1... is a "whitebox" switch, but it's a representative of many OEM/ODM designs.

x86-64 is a great architecture for many applications. It's cheap (due to volume), well-understood, has great compatibility, and is pretty much the best-supported architecture when it comes to software.

Edit: that being said, no, this doesn't have any embedded use today. Embedded x86 isn't 386 processors anymore. The typical scenario for an embedded x86-64 is "I need to drive this specific application and I want to leverage the Linux/FreeBSD/Windows environment for programming". That already puts you way ahead of the point where writing assembly code is useful performance-wise, and you probably don't want to put ASM code you downloaded off the Internet in a network-facing position :-).
I utterly loathe the horrible photocopied books which sometimes turn up in place of proper printed editions. Have become better at spotting them, but it's a really unpleasant situation which dissuades proper publishers from reissuing out-of-print public domain works.
Doesn't answer the question
> I'd like to contribute to reducing the cost of care, by shopping around for more efficient/more affordable/better dollar for value doctors/hospitals, but I haven't the foggiest idea of where to start.

Not to mention that this is almost completely out of your hands if you're unconscious or otherwise not able-bodied. If you get in a car accident and are unconscious, you're likely to go to whichever hospital the ambulance takes you to, and you're on the hook for that ambulance ride now, too. Before you even get to the hospital, your bill can already be over $1000.
15 minutes of synchronous time waiting at the store versus 1 week of asynchronous time while you live your life though.
To this day, there is no official way to unlock the bootloader of any Nokia/HMD phone. Despite their hollow promises.
Most content creators I follow primarily use stories, not the feed.
Coinbase Exploring Altcoins: ADA, BAT, XLM, ZEC, and ZRX
Maybe, but you'll have to spell out the metaphor in order to make this a substantive comment.

https://news.ycombinator.com/newsguidelines.html

(Edit: *automaton)
When I wanted to buy a Hakko Soldering Iron, I heard that there are counterfeit ones on Amazon. So instead of getting 2 day shipping, I got the nearly 1+ week shipping direct from Hakko. But I know it'll be authentic.

Same with Adafruit products, and I'm increasingly noticing that if I want to make sure something absolutely won't be fake, I buy direct from the retailer.

It sucks. You get spoiled by Amazon's amazing "free" shipping especially if you're a prime member.

But it's more important to me that a product is genuine. I'll learn to be a bit more patient.
I’m assuming that there is a need to dynamically configure things like the port in the parent’s environment.
However, for an assembly tool, it might make sense to simply have it hard coded and save the extra complexity. My launcher script suggestion is a possible solution to this, but I would just hard code the port and ship it without a launcher myself.
The suckless projects make use of hard coded configurations in their C programs. The principle is the same.
Worth keeping in mind is that it is only slightly better than even odds this was actually an astrophysical neutrino.
Would you mind sharing some insight on what elite schools are looking for in transfer students? I'll be starting community college this fall and it's hard to picture what the criteria are for these schools with 1-2% transfer rates.
I suspect the defense (whether it's valid or not is for lawyers to debate) is that if 68% of Amazon's sales are the result of other sellers using their marketplace, it isn't quite accurate to say that these sales belong to Amazon.
Coinbase Is Exploring Cardano, BAT, Stellar Lumens, Zcash, and 0x
To clarify: let's say I have servers in two locations A and B that are 200ms from each other. When I issue a write to the db in A I don't want to wait (multiples) of the 200ms before it returns. I don't really care whether the write appears to a reader at B in 5s or 50 minutes but of course the writes have to be at least causally consistent.

I won't have millions (realistically not even thousands) of users and the database will be comparatively small.

I've looked at NDB cluster but it feels quite complicated to setup and maintain