skysight-inc/HackerNews huggingface dataset:
Oh ok, I heard some of them switch off for sure (after a few hours). I read this on an online forum discussing integration with Home Assistant, some users got around it by just setting an automation in Home Assistant to switch it back on again :) Which is what I would have done if my 3S had had the same problem. But it doesn't.

Strange that some models are affected but others not.
Because then everyone would always build no-parking developments to maximize profit, even in neighborhoods unsuitable for it. E.g. no public transit, no nearby grocery store.
A REST API can't use page based pagination because it's not stateless. It is also not cachable.
Android and to some extent iOS, are the reason.
CUDA is 15 years old, but in terms of significant presence in supercomputers, it's just a generation or two in. For example, NERSC only made its first system that's "GPU-first" available to all users two weeks ago, with the previous system (which was #5 in the world when commissioned in 2016) only having gotten some GPU nodes in 2020 to help smooth the transition.

This was what led to the hesitance from the people I worked with. They were unsure if in another generation or two they'd have to look at another large effort to support another new programming paradigm. There was also hesitance in relying on CUDA since it locks them into a vendor.

From an engineer's point of view, yeah, GPUs obviously aren't a fad, but a lot of this software is written by scientists, where the computer is simply a means of getting their result and not something they keep up with as they would with their own field and yet the software needs to remain relatively stable to be reliable for research. Thus anyone asking for a large modification of the code is going to be viewed with extreme skepticism.

For reference, I had to spend around 2 months of weekly meetings and presentations showing test results and discussing the risk/reward tradeoffs in detail to convince a group that a limited port of the code would be worth going ahead with and that CUDA was effectively the only reliable option for now. They've only gotten serious about a more in-depth port from seeing the large speedups without breaking compatibility which we managed to get after a few iterations.
Once upon a time (2011) I wrote a blog post about Supreme Commander’s netcode.

https://www.forrestthewoods.com/blog/synchronous_rts_engines...

SupCom was a pretty classic synchronous + deterministic system. It’s a pretty major PITA and the next RTS I worked on was more vanilla client-server.
"Policking" or politicking?
Uber and Lyft’s new road: Fewer drivers, thrifty riders and jittery investors
How does UDP / packet loss work with delta compression? If you’re only sending diffs and some of them may be lost or received out of order, doesn’t that break delta compression?
From your perspective, you're the oldest in the whole universe, AND you're the center of the universe. Congratulations! :)
I’m coming up to almost a decade of programming and have 100% bought into this mindset. Simple understandable code tends to be easier to change and delete. Abstractions and fancy features should have a high bar to introduce them. They can be useful, but is the cost worth it? Usually not, but sometimes it pays off 10x.

Perhaps if timelines for delivering software slows down this mindset will be less advantageous. But in today’s climate this ensures you have more time for design and testing.
humans are irrational beings by default.
Have worked with this for a while - multiple positions where "hey, just lead by example" which... never works. I was referred to as a "lead developer" on a small team, but everyone would still defer to (or explicitly seek out) input from the company owner. He went through a period of "do whatever jacob says" but that wasn't followed. I would give input, then it would be tabled until someone could 'confirm' with owner.
Missing data that began existing after you started querying is usually OK. If you had requested the data 1 second earlier, it wouldn't have been returned anyway. With offset pagination, you can miss data that always existed. This can make you believe the item that previously existed had been deleted.

Be very careful with timestamp or auto-increment id pagination too. These don't necessarily become visible in the same order since the id or timestamp is generated before the transaction commits unless your database has some specific way of ensuring otherwise.
Even pre C++11 scoped locks where commonly used - eg via boost::lock_guard. But RAII locks just solve one problem from a huge bag of potential problems: Forgetting to unlock in all path. They won’t fix deadlocks, forgetting to synchronize at all, inconsistent locking, race conditions and other pain points.
Honestly, a combination of time, money, and expertise. Getting a good, low level factorization that works well in parallel is hard. I can write them. Others write them better. However, outside of that, I don't have any financial support to write them and there's no way that I can convince my clients to fund that effort.

Personally, I don't really care where the libraries come from, but I will contend that the hardware manufacturers are generally the best place for this work to occur. For many years, each of the chip makers published their own high performance BLAS and LAPACK routines, which worked really well. Intel had MKL, AMD had AMCL, Sun had sunperf, IBM had ESSL. NVIDIA does the same, and I'm hugely grateful for that, but it's not complete.

Really, though, the comment is more to answer why more mathematicians don't use GPUs. My contention is not that I or my colleagues view it as a fad, but more that there's a lack of routines that we depend on.

I currently work for myself, but I'll also mention that the manufacturers did go to management at places I've worked and management did put pressure on staff to just rewrite everything in CUDA. As staff does, they said, ok, fine, but it's going to cost you labor. Management didn't have the money, or didn't want to spend it, and some mild office conflict occurred.

Anyway, mostly that's to say that I will gladly spend thousands on GPUs and recommend it to my clients as soon as I don't have to write all of the low level routines myself.
I wanted to switch to Firefox, but gave up because it kept hanging on me with only a couple of tabs open.
I had some good teachers but not good enough to make an impact. I went to a poor, inner-city high school in the US, in a poor neighborhood where gun shots were heard every other night. High school security guards and teachers treated us like potential criminals. The security guards were there to discipline the students, not protect us. Biology class was run by the PE coach who had no interest in teaching. We watched movies and shows every day. I learned nothing. French teacher was surprised if anyone got a grade higher than a C on tests and constantly accused us of cheating. There were hardly any opportunities and guidance. We were not set up for success. It took years, but I was able to eventually get out of that neighborhood — no thanks to any of my past teachers. That school has been getting better over the years at least.
Nothing could slow inDrivers rise from Siberian startup to global Uber competitr
> you actually get to choose whether you put things on the heap or stack

I think I know what you mean, but this isn't strictly true. In Go, the compiler decides for you, and you don't have to worry about it. The compiler allocates on the stack whenever it can (because it's faster and uses less memory), but if it determines that a variable "escapes the stack" or if it can't figure out whether it escapes or not, it allocates on the heap. You could have a simplistic (but correct) Go compiler which allocated everything on the heap -- interestingly, the Go spec doesn't mention the words "heap" or "stack" at all.

Go does give you a lot of control over allocations (stack or heap!) and memory layout, though, which makes it pretty good for relatively low-level performance work.
A lot of this is too much for me, is too grumpy, disregards the value of online space & connectivity too much, favors the past.

But Im sympathetic too.

One thing that stood out, that- by seeing tagging & aggregators, de.icio.us and digg- I thought wecd be much better at by now is layering context & critiques, building trust & peership & review as layers atop the web page medium. Tagging, organizing, categorizing, issue-based-information-systems (IBIS), and other techniques were, I though, by now going to be voluntary overlays to help us organize & orient, to discern. There have been neat projects- e.g. Newstrition[1] browser extension- but generally progress has been minimal. Im surprised after all this time how right Stroll still is:

> Lacking editors, reviewers, or critics, the Internet has become a wasteland of unfiltered data. You don’t know what to ignore and what’s worth reading.

[1] https://our.news/
Higher air pollution, especially during childhood, is also strongly linked to the development of asthma and other respiratory issues later in life. Pretty much everyone should at least be aware of their home air quality.
Headway uses Valhalla. Most of what I'm doing with this project is the config to bring up the entire stack easily.
There is an install script for this which is imperative. I wish there was something for NixOS (which would be declarative).
Exploit Development: No Code Execution? No Problem
We've banned this account for repeatedly posting unsubstantive and flamebait comments. Please don't create accounts to do that with.

https://news.ycombinator.com/newsguidelines.html
Snowflake is an OLAP system. It's an entirely different kind of "speed" designed for analyzing vast amounts of data through scans and aggregations.
If the main use case is torrents,

I think the reason why the method you mention isn't commonly used is that it is complicated to understand/set up and hard to verify.

I've seen more advanced users encapsulate everything in a VM so that non-VPN traffic can be blocked globally by the OS.
Citation. Perp had over 350 rounds.
> How do you propose terraform is supposed to discern between existing resources that belong to you and the ones that belong to another colleague/project?

All of them "belong to you" if you have IAM access to the resource. It's trivial to restrict access to resources in AWS if you shouldn't be touching something. The fact that so many orgs don't use IAM properly is not a reason to make a tool unnecessarily difficult to use.

So the question isn't if it "belongs to you", the question is whether you as the user want to do something with that particular resource that you already have permissions to modify. This could be accomplished at least a half dozen ways:

1. Is there a record in the state file of Terraform creating it? No? Then it's somebody else's resource
2. Ask the user
3. Command-line options
4. The code / DSL
5. Tags
6. Naming convention

But it does none of these things. It just craps out with a generic error and you're left to manually fuck around with the state halfway through it already started applying changes in production.

> 1. Declarative approach to the resource management

So it's declarative. Who cares? In the real world, there are resources that Terraform didn't create that you still have to deal with. There are also resources that Terraform did create, but you lost the state file, or you moved some modules, or changed the Terraform version by mistake and can't reverse your state file version, or a million other things. "Declarative" is not some magical word that means "the real world no longer applies".

> 2. Dependency graph management – dependency management is hard.

It's not that hard. If you already have a DAG and algorithms that can manipulate objects in it, there's only like 2 or 3 more functions you need to manipulate dependencies in a graph. This is really basic CS stuff. Dependency tracking is the same thing.

> What do you mean by overwriting existing resources?

I mean if there's an AWS record that Terraform wants to create and you didn't import it, Terraform fails. This is stupid, because 1) it's not even checking if the resource already exists (it has the data providers to do this), and 2) it's making me do something manually that it could do by itself with a flag or a config or DSL entry or a prompt.

The UX is fucking ridiculous. It's like whoever wrote Terraform has never actually used it, or just doesn't give a shit about blowing up production, or getting anything done in a reasonable amount of time. Classic "humans exist to serve machines", "opinionated" tech hipster bullshit. Must be the same person who did Git's UX. And impossibly, people defend it, as if technology is supposed to make our lives harder.
Honestly I'd rather have developers build 1,000,000 luxury houses than 100k luxury + 900k "affordable" houses. In the long term high-income people will live in the best houses, and if there aren't enough luxury houses, then they will just live in simple houses and those houses will increase in price because of all the demand of high-paying renters/buyers and the good school districts.

That's what we have in the Bay Area - $3,000,000 houses in Mountain View that working class people used to live a few decades ago. And now working class people are priced out of even those simple houses. Nobody wins.
Great idea! This will give AIs the incentive they need to bootstrap out of poverty and into full generality.
Interestingly I have been thinking about related questions too (https://news.ycombinator.com/item?id=31541200#31542407)

Language wise, Rust might be a good choice as some projects like tikv already use it in a pretty larger scale systems. But I'd also like to know both pros/cons of these languages.
In the case of hitting multiple REST endpoints for different resources, on each query it's clear what pagination I'm using and combining the data is just appending it to the final list. In each case the partial results are flat and linear.

But in the case of GraphQL, like I may get an incomplete list, or I may get a complete list that will have some fields with missing data, or some combination of both, going down deep depending on the structure of the query. I don't see a clear way to request the missing data without duplicating part of what I already have, and I don't see a clear way to combine the results.

But I may be missing something about GraphQL or something about the tools that makes this simple.

For example something like this:

{
users(first: 10000, after: "cursor123") {
edges {
cursor
node {
id
name
friends(first: 10000, after: "cursor235") {
edges {
cursor
node {
id
name
}
}
}
}
}
}
}
Isn't that basically just a trivial extension of what they article calls "keyset based pagination"?

I'm not complaining since this is also what I usually do, I'm just wondering of theres more to it.
You don't, but if your cursor is just a position in some well-defined order, you can sometimes craft a cursor out of a known position. Continuing the book metaphor, instead of skipping to page 100, which has no semantic meaning, you could skip to the beginning of the "M" section of the dictionary, or see the first 10 words after "merchant".
Brave isn't a fork of Firefox, it is a Chromium-based browser.
Aside from streams, infinite sequences can also be represented as functions from the natural numbers to the element type.
It's by no means a straightforward question.

It's not like a city exists in some impermeable bubble from the surrounding area. A great deal is shipped into a city through the suburbs and other surrounding area. Many workers commute in from suburbs which are often cheaper than the city even though they may have better school systems (even though the per student costs are often lower). Food comes in from generally more rural areas.

Cities and especially their denser and more walkable areas are dependent on the surrounding area in many ways. More dependent than the suburbs are on the city except perhaps for employment.

There's a reasonable argument to be made that while San Francisco was the original primary catalyst for development in the Bay Area, Silicon Valley (which is effectively suburban sprawl) would be just fine without the city at all. The same would have been true of the Boston area to a large degree especially 20 years or so ago, except perhaps for the universities.
What browsers and how many sites are currently using eSNI by default? My understanding is that is a thing only in limited concept. The RFC [1] is still an active draft.

Why is Cloudflare more trustworthy with my browsing habits? I have no contract with them and no agreements on what they may do with my internet activity. I have no contract stating how the data is to be used, how long it is to be kept or whom it may be shared with or sold to. For all I know they could sell that data right back to Comcast. Or worse, they could feed it into a ML training program for a social credit system for future use.

[1] - https://datatracker.ietf.org/doc/draft-ietf-tls-esni/
if the page, limit and offset are parameters it is.
Radio Yerevan Jokes
I keep seeing these posts about smart contracts that contain failures that I feel should be super basic for someone specialised in writing smart contract code. Sometimes it's a contract that gets stuck, other times it's a contract that doesn't check if the money was already redeemed.

Do the people setting up these platforms not automatically check for these flaws? Static code analysis has come a long way for normal programming languages and a cursory Google search comes up with at least 4 analysers and 2 fuzzers for these things. Are these tools not mature enough or did the devs simply neglect to run them?
Water wet, more at 7
Uh, I believe that Brave is based on Chromium, not Firefox...
Disclaimer: I work there.

https://www.grid.ai/
> I stick with the defaults as much as possible. Instead of changing the configuration of the computer, I change myself.

This is the worst advice you could give.
There are plenty of shitty defaults and default tastes vary from app to app and there's a reason things are customizable.

Customize to your taste throughout your tools and don't let a new tool eat your time.
I'm reminded of Chomsky's comments on Alan Greenspan saying the exact same thing when he was chairman. https://www.youtube.com/watch?v=sy5eNIyzKqM
It’s small, under 50 servers running OpenBSD and Linux under a wide variety of configurations (including gpu), 6 databases, and Redis. Though the system is easily extensible to other clouds and resource types, it only needs to work on GCP right now. Been running it in prod for the past 3 or 4 years—no outages, no downtime, no surprises. Doubled infra over the holidays then scaled everything back with no issue.

The stateless approach has worked really well for us.
It's exactly as RESTful and cacheable and stateless as common websites, eg the HN frontpage or a newspaper homepage. I think your bar for when something is RESTful or not is too high to be useful.
Why?
The server doesn't need to know if I already requested any previous page when I request page 9.
And if the data doesn't change it can easily be cached.
A single server can only handle a million connections if each "connection" is doing a trivial amount of work. There are lots of compute bound services that need more power than a single server (or even 50,000 servers) can provide.
We have those in London too under the name InLink and are run by BT (the main telephone company here). BT used to offer free calls on them, but they had to stop because it was mostly being used by purchasers of drugs as an anonymous means of putting in an order. In terms of charging, they’re well used by homeless people.

-

https://www.towerhamlets.gov.uk/News_events/2019/April_2019/...
That's not a three-digit number. It's a three-digit representation of the two-digit number 10.
Maybe I will choose Go because this is my favorite language and I believe Go is going to get better and better
I don't think it does...
OpenScreen Protocol if I really wanted to go in swinging.

Data-twins & programmability. Devices all use bespoke software & services to run. Representing devices in a portable, cross device manner still has a long way to go. Until developers & users regain direct unmediated positions of power over their devices, there are not valid starting conditions for iot. Having a representative state transfer that can be monkeyed with independently & then pushed at a device seems like 200-levels work we havent really made good yet.

Using something like Akri to operationalize peripheral management across the network... that's one i intend to wade into some someday.
Everyone is rational based on their understanding of the world, but no one has perfect understanding of everything.
Refuctio ad absurdum. The internet is already a “global computer” that can store programs indefinitely and run them based on triggers and schedules. Calling the Ethereum blockchain a “global computer” and scripts “smart contracts” gives the appearance of innovation without any actual innovation. The main contribution of blockchain/crypto so far is ridiculous energy consumption and enabling crime and fraud. In terms of software development or computer science there’s no innovation, just claims of innovation hiding behind buzzwords and hype.
If you query the first page with a limit of 10, then insert 10 items, do you get the same items with the same parameters?
Continuation Token is a better term than cursor at it avoids confusion with DB cursors.

https://phauer.com/2018/web-api-pagination-timestamp-id-cont...
Slightly related, but... what is it with stars? I've never starred a repo and don't understand why I would want to. Yet it seems to be a popularity contest people care about for some reason, even though it correlates strongly with forks/issues/prs so you get the same idea about usage from those. Does it go at all beyond a "like", or am I just too old to get it?
> What browsers and how many sites are currently using eSNI by default?

It's not widely rolled out yet, but it exists and it will be in the future.

> Why is Cloudflare more trustworthy with my browsing habits?

Because of a comparison of Cloudflare's and Comcast's past track record of privacy-related matters.
I find it deeply, deeply annoying when companies that are very obviously not owned by the "community" use the term in their name. I looked thinking they might be a cooperative and it appears they are not.

Not totally on topic I realise, but does anyone else find this misleading?
In Romania 10Gbs FTTH costs about €10.
I think more than anything it was an error in the messaging.

Perl 6 was treated as the successor of Perl 5 -- and that was the mistake. It meant Perl 5 started dying, since people assumed that Perl 5 would be soon dead, and Perl 6 had a new different syntax. And then it took 15 years to happen, during which Python and others ate its lunch.

I think a more successful strategy would have been to make it clear very early on that Perl 6 would be some sort of long term experimental project, and that Perl 5 would be expected to be a thing for a long time still.

If in 2015 Perl 5 still had a thriving ecosystem, and there was a demand of Perl-like but better, then Perl 6 could have been more successful. But in the current timeline it's a successor to an almost defunct language, and isn't such an attractive proposition.
“Modern day best practices”…
De-growth means “increased poverty” for most of us, I really hate this double-speak.

Yes, I know this continued growth thing is not sustainable in the medium to long term (and saying that until very recently meant you were branded as a stupid Malthusian, still does, but less so), but I think we should stop f.ing around when it comes to naming stuff and call it what it is: we need less stuff to consume for the ecosystem to remain stable (or so we currently think), which means more poverty for the majority of us.
Can’t we do both offset and keyset-based pagination? If a user wants a specific page, let them specify it, return them links to the next and previous pages, using filter + limit.