skysight-inc/HackerNews huggingface dataset:
So let me see if I understand this in a simplified scenario. You're saying your code might be something like:

class X { void inform_shutdown(); void run(); };
class A { std::jthread t; };
class B { X x; ~B() { x.inform_shutdown(); } };
class C { A a; B b; };

and initially all is fine, because A's destructor only runs after B is destroyed, and thus messages are exchanged before ~A blocks on the thread, but then the code eventually involves to something like:

class C { B b; A a; };

and suddenly now ~B can't send shutdown messages and hence the thread won't know to exit in the first place. Is this an example of what you're saying?

To me, it sounds like the underlying issue is something else here. It's hard to say without a concrete example, but if the above is accurate, it might be that a hidden dependency that needs to be made explicit. If X::run is running (say) an infinite work loop on its own thread, it is coupled to that thread in some fashion. For example, it might have some kind of message queue to pull from, and that queue belongs to the thread (i.e. you would put the message queue in A). That means X needs a dependency on A just as much as C does, meaning you'd want to hold std::shared_ptr<A> instead of A, and hence you won't have this blocking issue anymore because it will only occur when the last user of A is destroyed.

Obviously your scenario might have some differences from this, but it seems quite plausible to me that the problem might have a different solution than non-joining threads.
In addition to ENIAC being built after the German Z1 (1938) and Z3 (1941), as others here have stated, it was also built after the UK's Colossus[0] (1943).

If we're talking "first real computer", though, and depending on your definition of "real", the Manchester Baby[1] (1948) was the first stored-program computer. The Colossus and ENIAC machines all needed to be re-wired to change what computations they could make and the Z3's instructions came only from the input tape.

[0] https://en.wikipedia.org/wiki/Colossus_computer

[1] https://en.wikipedia.org/wiki/Manchester_Baby
Yes technology is like fashion. All these SRE thing are just common sense that sysadmin/DevOP people know how to do. Many things are not needed. Do we really need docker and the cloud provider can just take a snapshot? It really comes down to basically systemadmin skills.
A lot more things can be parallelised than we do today.

Consider this: We mostly parallelize compilation today at the unit of a single compilation unit.

We do this for two reasons: It's simple, for languages where separate compilation is possible, and it's good enough when you have a small-ish (smaller than the number of compilation units) number of fast cores.

But a lot of compilation can be reduced into far more fine-grained parallel steps.

E.g. parsing can be turned into a chain of array operations along the line of finding possible start/ends of tokens, finding possible starts and ends of quoted segments, finding possible starting points for matches against various rules based on the possible token starts etc. You can further build syntax trees as arrays of vectors. If you have many enough cores it may pay off to subdivide the work to extreme levels like that.

But it's hard to reason about. We're not used to it, and most of us are no good at conceptualising it. Some are.

For a real-life example of a compiler that actually runs on GPU's and aims for massive parallelisation (it compiles a subset of Dyalog APL), check out "co-dfn" by Aaron Hsu. It's very terse and complex to read, and frankly I've only spent time looking at it very superficially, but it's an amazing piece of work. Now, if it was easier for mere mortals to actually write code like that, and we had a more compelling reason (many, but slower cores), we'd probably see a lot more parallelisation. In the short run it'd be extremely painful, but in the long run it might well benefit us.
>he reality is thousands of these units have shipped and from those screenshots, many have already racked up 2-4 years wear in a matter of weeks

What "2-4 years wear"?

It's 1% of usage in 2 months. That's par for the course for any SSD in any laptop with regular usage, and it should last long before the laptop is updated in 6 or so years...

Heck, 50% "percentage used" would take 8 years with this rate...
I'm still amazed at how Python code with type hints looks so different to Python without them. Consider the program near the end of the article - if we remove the type hints:

- The `AstNode` abstract base class becomes completely unnecessary and can be deleted.

- We can't use `@dataclass` and are forced to write an `__init__` method for each class. But this is good, right? "Explicit is better than implicit"?

- It's then clear that our three classes each have two methods, one of which is __init__. Following the advice from "Stop Writing Classes" [0], each class should just be a function (in this case, a generator).

These changes reduce the code above "AST representation of the Ruby statement" from 70 lines to 40, and simplify some of those lines as well - for example, `arg_reprs = (arg.representations() for arg in self.args or [])` becomes simply `arg_reprs = args`.

The knock-on effects of type annotations seem to be doubling the complexity of the code. This is why I'm far from convinced that static type checking in Python is worth the cost.

[0] https://www.youtube.com/watch?v=o9pEzgHorH0
Verify Legitimate Businesses and Merchants in Tunisia
Trovit is a service offered to entrepreneurs a simple way to verify legitimate businesses and merchants in Tunisia based on the national database of companies
> That is two big assumptions: assuming linear degradation and assuming the mac is usable until it reaches 0%.

I thought i already accounted for that by stating "most users will get a decade of use". That's roughly 66% of linear degradation to 0%.

> and that by the time it is at least 90% on a 256gb or even 512gb SSD it will be effectivly unusable.

As i understand it, the "lifetime" is a reflection of the spare sectors, meaning once the spare sectors run out you'll start seeing errors instead of relocated sectors. It will probably continue for some time after that.

Knowing Apple, if it becomes a problem anytime within the first 5-6 years, they'll replace it for free. I had a 2008 iMac with a manufacturing problem on the Seagate 1TB drive it shipped with, and 5 years after purchase (2013), i was able to get the drive replaced for free despite my machine showing no signs of the error. 5 years after purchase, and a full 3 years after most consumer laws stop protecting you.

Other than that, the only reason this is a "problem" is because SSDs has an indicator that tells you when they'll expire. Spinning rust doesn't have that, but some spinning rust will also expire after 5-6 years, and most will have expired by the time a decade has passed (assuming daily usage).
https://www.akkadia.org/drepper/tls.pdf is also a great write-up
Huh nice article. This is my second time reading about something like this that mentions the PMC. I recall when I first heard about it, I tried to search the web for any documentation or information hackers had found. I found absolutely nothing related to x86.

Anyway I’ve since given up trying to understand the modern x86 PC platform in any detail, but it always fascinates me all the crap involved.
>Bitlocker by default on windows will happily depend on these broken implications...

This was changed September 2019, when Microsoft pushed an update that defaults Bitlocker to software encryption.
> Exclusive use of jQuery, not using browser drag and drop (manually edits element position), using JS to animate and fade/transition instead of CSS, etc.

What's wrong with any of these?

I get that you may not personally want to work on a project like this, but as a tool you either use or don't, what does it matter whether localStorage is the only "modern" concept being used?

Not saying this to be polemic, I would genuinely like to know why as programmers we're always so critical of each others' tools.
It's not. In fact, look up what micro code is. Computers have been intentionally compromised for years in order to "catch the bad guys". Open source hardware that is subjected to intense security reviews is the way out of state sponsored hardware backdoors.
db seeding with dummy data, migration, analytics db sync etc.
Hmm, perhaps we should start passing laws to break up the mob think then.

Also you’re being hyperbolic or are a very well spoken 4 year old.
It's almost as if the OP is deliberately missing this point.
Since you didn't specify which method exactly,

print((30).to_bytes(2, byteorder='big'))
Well if your specifying columns your not by definition doing a select *
Building and sustaining a forest on the other hand does bind carbon, because there are always new trees to take up the carbon from the dead ones.

It just takes land.
But who is making the decision, is it "you", or is it the fabric of the Universe itself, the quarks, which is making the "decision" for you?
I'm using SQLite at the moment; on the one side there's a 'legacy' (read: poorly written 2012) application, on the other there's the new and rebuilt version. The old one was not built very well, it does not use foreign keys or any kind of database constraints (it references other entries by name in a column of comma-separated values) and it runs like trash. But the performance problem is not in the dozen queries it runs to load the data, it's in the fact that it converts the query result to XML (via string concatenation, because of course) and that is converted to JSON; the conversion is at least 60% of each request. The other problem is that it writes and re-queries the data whenever you leave one of the hundreds of form fields in the application.

I'm rebuilding the application in a modern tech stack, still using SQLite but properly this time, along with Go and React. API requests take 20-40ms instead of 300-1500ms, and there's much less of them.

The main downside to using SQLite is that it does not support "proper" database migrations; you cannot alter a column. You can add columns to an existing table, but you can't change existing columns. The database abstraction I'm using at the moment, Gorm (a different subject entirely) work around this by moving stuff to a temp table, recreating the table with the updated columns and moving stuff back, I believe.

Anyway TL;DR sqlite is not the bottleneck.
exactly. SSH is the only thing needed. BTW, debian with only ssh enabled is also pretty good. Wonder how it stack against openbsd in that regard.
Any of you would help me to run it on Windows/Linux?
I would need some help with the system calls
>it doesn't really matter

This way can be argued for almost every language, as they almost all allow some form of passing a piece of code to a function. The difference is what matters - whether that's elegant enough to be widely used or not. Ruby is, frankly, somewhere in between.
I don't really see it as such a problem. When interacting with the database you either use an ORM with your strongly-typed business objects or you write the SQL and use parameters (again strongly typed)
At the time Venice was the capital of the Republic of Venice, so its inhabitants would think of themselves as first and foremost Venetians.

Also Venice isn't located strictly on the peninsula.
I've stopped purchasing items sold by 3rd party sellers on Amazon and it becomes a much better site.

Unfortunately it seems you can no longer filter search results by "Sold and Shipped by Amazon", you have to filter by "Available from Amazon Prime/free shipping" and then filter manually which is a pain.
The Tuxedo Polaris: A Daring Linux Gaming Laptop
>You’re right, I’m convinced

I don't think you are convinced. You were just meant to say so.
I have only worked with PostgreSQL and when the wife(Accounting Professor) needed a DB to teach their students SQL, I heartily took her down the SQLite path because of its simplicity. It may not have been the best decision as I see her now fighting with its warts like

1. No type checking! Declare a column as int in DDL, and insert a text, SQLite happily stores it without an error :-(

2. No full outer join... instead my wife taught the students the standard SQL syntax and told them to use UNION with SQLite because it does not support that syntax. This is where it gets annoying.

I can’t recollect, but there were issues with views as well which sounded really weird.

I now think the choice of SQLite is more nuanced than I believed it to be.
A recent example:

> The New York Times Guild Once Again Demands Censorship of Colleagues

https://news.ycombinator.com/item?id=24763382
Bitrise release Trace beta with Android support and iOS crash reporting
> bring a deck of cards or a guitar

GUITAR!? Please, no. That would be the second worst thing on a flight after crying babies.
For a backdoor like this to work it has to be able to phone home, and that means getting transmissions out of the DC network. This would require knowledge about the target network infrastructure

I don't think knowledge about the target network is required, just the ability to detect what default route is used by the OS. It also wouldn't need to "phone home", just phone into a controlled network. It wouldn't be a complete fantasy to assume that some software telemetry/update endpoints are compromised.

And steganography using TCP sequence numbers is a real possibility, so once a link to a friendly endpoint is established, the backdoor wouldn't even need to generate its own packets.
Yes, it is to a large degree AMD's fault, but NVIDIA also actively acted maliciously by neglecting OpenCL support, which meant that during the critical time 5-6 years ago, there was no realistic chance for the open alternative to succeed.

While developing a small competitor to Tensorflow back then (Leaf), we were one of the few frameworks that also tried to support OpenCL, but the additional dev work made it unfeasible.
Node has a http client built in. This one seems faster, but also does not support all the features.
By that logic ...

Apple phones had antenna problems. You probably should not buy that brand anymore.
It's a lot like Loki's wager. We can't decide where the head ends and the neck begins, so these things must be outside the realm of science.

[1]: https://en.wikipedia.org/wiki/Loki%27s_Wager
Yeah, and that's not what first-class usually means. I simply can't say "my_method = Kernel.puts" the same way I can say "my_class = Kernel". Ruby authors seemed to want to make parentheses optional by any price, and that killed the opportunity to make methods first class.
Yeah I wish they'd just let me perma-select prime. Not even risking getting burned.

I didn't know they used to have that filter though. That would be super useful to make a comeback
Seller B got their hands on the rejected cables from seller A. They were in fact paid to scrap them and instead are selling them after putting a sticker over a label.
I love it. It goes to show why I love/hate Haskell. . Im pretty sure most of you just look at signatures(colors) only, further I think most of you just tried a couple of different options until "type" clicks.

It is pretty evident that during this you involve yourself in code puzzle / code golf. Rather than understanding the problem at hand. This is fine - until some of your "low-level" stuff leaks or your understanding of it leaks. There is also third possibility for failure - trusting the system too much, despite types being expressive they hide away a lot of "internal" logic, sometimes something looks the same, but it's not and type system doesn't capture it.
What Are Web APIs?
Nice! Shame it shows 404 when accessing sub directories.
Work at a large:ish private bank i Sweden basically doing "digitization" of all customer processes.
It doesn't prevent China from developing expertise. That's inevitable. It prevents the US from falling dramatically behind.
> JS or even Python (both were not OO in first version)

This isn't true for Python. Quoting Guido: "classes were added late during Python’s first year of development at CWI, though well before the first public release" [0].

I don't think it's true for JS either - the first versions didn't have classes, but I believe they already had prototype-based OO.

[0] http://python-history.blogspot.com/2009/02/adding-support-fo...
> Do you expect them to treat people they'd prefer to shut down better than garbage if they weren't allowed to shut them down?

Yes, because they would at least have to come up with a valid reason for refusing you a service. You won't just wake up one day to see everything completely gone, without any explanation.

> Is there nobody among Parler's millions of users who'd be able and willing to host them so they don't have to worry about alignment of interests anymore?

Maybe there is, I don't know. But it doesn't end on hosting. Even if you manage to successfully keep your hosting, someone else will come after you. Like the domain registrar, payment processor, DDOS protection and the final bosses - Visa and MasterCard.
It's called second quantization and is taught in the course of theoretical physics. https://en.wikipedia.org/wiki/Second_quantization
These are electronic versions of official forms. The user interface and reports should show what is actually being sent or has been sent.

Sure we could deal with it, but there are quite a number of tables due to different forms and messages, and then there's all the reports. Many custom ones thanks to to local officials wanting data from a certain customer in a certain way...
I hope to make the modest point that, if you package your data in a SQLite file or a zip file, then you have both packaging and data problems.

MyCoolSQLApp may read and write a SQLite file with its own schema, but it can't handle an arbitrary SQLite file. Likewise MyCoolZipApp can't handle an arbitrary zip file.
Octagon Houses
I have worked on it few years because I would like to use it on a custom computer design I have in mind. Something like 80s BASIC computers with a more modern language and quicker speed.
We might not have better commercial tools for building pixel-perfect UIs for apps that are going to run on a narrow range of devices in terms of capabilities and display sizes.

We've got better F/OSS tools for, well, everything else, desktop or otherwise, than the commercial tools of that time, though.
The one with the customers won't work because creating a new account is trivial.

Actually, I think so is creating a new company to sell stuff on Amazon. Mind you, if your company is kicked off Marketplace, it has to rebuild its reputation and inventory and stuff.

But yeah, they should definitely mark companies that pay for reviews as dodgy. I don't think they would ban them - because ANYONE selling stuff on Amazon is earning them money - but they could do more.

I don't think the problem hurts Amazon enough though. It's not like people stop using Amazon because of bad reviews. And I'm sure Amazon is undercutting the market so that any competitor with good reviews is unable to compete.

Price beats everything, when it comes down to it.
There are other motivations than self-interest. People may altruistically care about other consumers' welfare. They may be reciprocal, taking revenge for a bad product by writing a bad review, and rewarding a good one. Or they may just like to express their opinions!
> Relative coordinates. You can hack around this by using other SVG documents inside an SVG document, but this is really just a hack.

You can also use <def/> to achieve something like that.
I’m curious how most Americans feel about Vietnam. Yes, it’s been 50 years, but the war was a huge part of a decade of internal turmoil and a pretty significant defeat for our military.

Samsung may feel that it’s risky to trade on that name in the U.S. market.
Build2: Complete C++20 Modules Support with GCC
Retailers in EU(and EEA and UK) have to take the product back if you don't agree with the licence, the problem is that this is not what customers usually want. People want to buy a laptop, disagree with the licence, and get money back just for the licence. Instead retailers will(or should) offer you a refund for the entire device, which is not what most people want.
Never buy 1st Gen Mac hardware. As true today as it was in 1995
Duckdb is like sqlite but with the postgres SQL parser.
> And obviously, people see evidence of malice, which is why we’re having this whole debate.

Because the entire point of attempting to force one to take a stance is to further whatever the narrative may be, or to cancel counter narratives. There is no other point. There’s nothing wrong with arriving at your own conclusion but stop there if you don’t agree. Don’t cancel, dox, or otherwise force their opinion to match yours.
Cross-platform conda packages for ROS
> they take a lot of 'short term losses in exchange for trust' decisions

I'm sorry, but I don't believe your statement. They're not doing enough about fake reviews, and definitely aren't doing enough about poor quality products, fake products, and poor products squatting over good / brand products. Their marketplace is not curated enough, and buying a product is a gamble.

There are a few posts about that; one I remember is that someone bought a book off Amazon, but got a fake / copy / low quality reproduction instead.
Yeah this is likely. Not sure about other browsers but I haven't noticed any of such issues myself anymore. And hey, if it ain't broke...
It would be a nice for browsermakers to implement such a testsuite tho, but until then its just too easy to just clear data. Average user has all data synced to their respective cloud accounts anyway or don't care enough.
Although it's tough to use "raw" git from a browser (it is possible, but probably out of scope to include an entire Javascript git client), it would be neat if you could use the git(hub/lab/etc) API as a remote storage option. It would allow for rolling back pretty easily. I'm thinking each board could be it's own directory, and each item could be a .md file. The naming scheme could probably be related to the position of each board's index. Ie: gitrepo/0/0.md could be the first item of the first board.
Not only that, it enables us to to CRUD operations, list the commands, sort them by time, do limits, pagination, bundle a bunch of commands that enable a certain functionality in a transaction etc. SQLite has all of those and more and also avoids data corruption issues by design. Anyway, the path we took was to move everything to MySQL just because most of the other data is also in a MySQL database. Otherwise we would have definitely used SQLite.
Design for Developers – A practical guide to improve your design skills as a dev
What Is the Data Lakehouse Pattern?
Can you ever (safely) include credentials in a URL?
Exactly. I have the feeling there is just a little bit too much sqlite-hype going on lately.
As a white person from a poor post communist country with no colonial history (99.999% white) I cringe when some local SJW parrots the "white privilege" agenda. It just makes no sense in large parts of the world other than US.
The parent comment has exactly demonstrated that is already meaningful. Coherence is tricky, because there are a lot of concepts and words already that we use every day, that are certainly meaningful and useful, but that would have a hard time to pass your "coherence" test.
The hardware is the plastic, the metal and the silicon, software is ultimately the fleeting electrical signals. That's how I see it too and a pretty common view, I think.

What I read from the parent comment is different though. It's more akin to electricity belongs to the physical world, software is the non-physical.
You still have the brand problem with shopify - anyone can spin up a shopify store selling low quality products.

If you can run a shopify site as part of a known brand that helps of course.