skysight-inc/HackerNews huggingface dataset:
As an example, the options where I am right now (thankfully temporary) are:

- $55/mo. 3 Mbps DSL

- $80/mo. 300 Mbps cable (or even more expensive, faster cable)

- $120/mo. 100+ Mbps (if you're lucky) Starlink

- A few other heavily restricted, very expensive satellite options (e.g. HughesNet), to which the aforementioned fleet of ill-trained carrier pigeons might be preferable

Only one of those is practical and (mostly) reliable for anything remotely approaching something like remote work.

Back home it's such a luxury to be able to choose DSL, cable, or fiber. I can only dream that all markets will have an actual choice between Internet service providers someday.
I had to do that with on-prem anyway.

In addition to the servers.

In addition to patching the routers.
Something like this is implemented in russian 1C system. They use an extended query language (bilingual as the whole system) and the query executor returns a special dataset object with all values wrapped into regular business-logic classes. So when you “select …, agent, … from … join …”, you can access record.agent.manager.phone in your code later. Everyone knows the difference between selecting it in query and in code. All primitive types get wrapped too: dates to dates, bools to bools. It has no static typing, but the query result fields are all of “platform” types, not raw values like ids or json/int dates.

Don’t get me wrong, 1C products are regular enterprise crap on top of shitty language that stuck in the last century. The latest attempt to refit it as-is to www was a paradigmal disaster. But the platform (the runtime) itself may teach Django a volume or two about query integration. They do it since the '90s and 1C developers who traditionally weren’t even considered developers had no issues with programming these systems without any deep stack knowledge. There’s no stack basically, it’s all homogeneous once you learn the fundamentals.

Edit: yes, I find it very strange too. There’s no popular/generic and simple open source platform which could bind it all together into a nice runtime. The whole ORM vs SQL and pitfalls feels so strange, as it’s not something hard in my book.
They have cache servers deployed into the ISP networks close to your home. The ISPs allow them to do this because they also benefit from it: Their bottleneck is the connection from their own network into the wider internet backbone, and having cache servers for the big CDNs takes a huge chunk of load away from that bottleneck. Here's documentation about a similar setup for Netflix: https://openconnect.netflix.com/
Leave no trace: Finland removes litter bins from national parks
This is some awesome analysis - great job! And I’ve seen it first-hand from my own job hunt with different success looking for data scientist vs ML/AI engineer positions.

I think it really comes down to a lot of marketing, which you touch upon a bit. AI is in a hype cycle right now and people want it on their products and in their companies, so they want people that are capable of bringing those skills to the table.
I agree with you.

The point I'm making is: Before I put any real effort into a fix, I test if they are receptible to something that was easy for me to make, and should be easy for them to validate, e.g. a typo fix.

Because what you often find out is that people are not interested in being active maintainers.
Good answers in sibling comments, but for those who don't want to grovel through a lot of stackexchange answers here is the TLDR: There are two reasons:

1. When TCAS was originally developed, the direction information to the other aircraft was not very accurate, being obtained only via the TCAS antenna. Nowadays GPS information is transmitted via ADS-B and so it's much more accurate, but taking advantage of this would require a major redesign. It may happen eventually, but...

2. Aircraft can change altitude faster than they can change heading. Also, most aircraft can change pitch faster than they can roll, and they are longer and wider than they are high. So effecting enough altitude change to avoid a collision can be done faster than effecting enough heading change to do so.
Interesting how so many countries kept their ancient artifacts safely buried rather than in museums where they could be seen and studied, or hidden in plain sight as bedpans or soup pots.
The people running these things turn over. Individual people don't change much but stick a new CEO in and it's another roll of the dice.
Ask HN: Are you training and running custom LLMs and how are you doing it?
I have been researching methods and projects built around training and running LLMs locally. I'm interested in what others have been using on this front (including straight up Pytorch/Transformers). Here's what I've gathered so far:

Engines/APIs:

- vllm: Inference and serving engine for LLMs (none quantized models only?) [1]
- ollama: Go project to run, create and share LLMs [2]
- llama.cpp: Inference of LLaMA models in C/C++ w/UI (including quantized models) [3]
- llama-cpp-python: run OpenAI compatible API bindings for llama.cpp [4]
- llm-engine: engine for fine-tuning and serving LLMs [5]
- Lamini: hosted? closed source? solution for training LLMs [6]
- GPT4All: free, locally run chatbot [7]
- SkyPilot: framework for running LLMs, AI, and batch jobs [8]
- HuggingFace Transformers: APIs and tools to download and train models (via Pytorch) [9]
- RAGStack: Deploy a private ChatGPT alternative hosted within your VPC [14]

UI/Interface:

- Simon's `llm` tool [15]

Quantization Bits:

- AutoGPTQ: GPTQ algorithm based quantization package [10]
- QLoRA: finetuning of quantized LLMs [11]
- bitsandbytes: CUDA functions for PyTorch [12]
- SkyPilot QLoRA [13]

Video Guides:

- https://www.youtube.com/watch?v=eeM6V5aPjhk
- https://www.youtube.com/watch?v=TYgtG2Th6fI (jawerty's example)

Reference:

- [1] https://github.com/vllm-project/vllm
- [2] https://github.com/jmorganca/ollama
- [3] https://github.com/ggerganov/llama.cpp
- [4] https://github.com/abetlen/llama-cpp-python
- [5] https://github.com/scaleapi/llm-engine
- [6] https://www.lamini.ai/
- [7] https://github.com/nomic-ai/gpt4all
- [8] https://github.com/skypilot-org/skypilot
- [9] https://github.com/huggingface/transformers/releases
- [10] https://github.com/PanQiWei/AutoGPTQ
- [11] https://github.com/artidoro/qlora
- [12] https://github.com/TimDettmers/bitsandbytes
- [13] https://github.com/artidoro/qlora/pull/132
- [14] https://github.com/psychic-api/rag-stack
- [15] https://simonwillison.net/2023/Aug/1/llama-2-mac/
> not immediately firing the engineering firm

I think calling it an engineering firm is insulting to the normal users of the term.

This is a startup that labels itself as "MIT" big brained and clearly incompetent at even calculating travel times on the very routes they print out.

Unfortunately, government is the easiest customer to fleece by a shitty company.
You just need to disable breakpoints in the 'Sources' tab of dev tools and refresh. Then you can get the .mp4 or .m3u4 url that can be used with yt-dlp.
I would expect that they are only able to see the current balance.

For me, I charge and pay every month so never pay interest. But my credit report always shows a 2-5k balance (or whatever I charged).

Theoretically, if I paid off the balance BEFORE my statement period ends it would show $0, but I never do this because I have 25 days of 0% interest to pay, so I do.

I don’t think credit reports track interest paid but that would be one way to track if it’s “real” credit card debt or people just cycling.

But also you could look at average. I average $3k over the past 10-30 years or whatever. If this increased to some new stable level it would mean an increase in income. But if it increased at some rate or increased sporadically then it means I’m taking on more debt.

So I expect if credit card debt increases in total it probably means more debt and not more people paying their balance in full each month.
I've been looking for a job for some time and I don't understand the complaints. For every job opening that is available for someone in Asia (that's me) there's like a hundred openings that are US-only.
In my ex-Google experience, here are the stages of denial about something that Google does which is good but the industry doesn't yet embrace.

Stage 1: "We're not Google, we don't need [[whatever]]";

Stage 2: Foreseeable disaster for which [[whatever]] was intended to address happens;

Stage 3: Giant circus of P0/SEV0 action items while everyone assiduously ignores the [[whatever]];

Stage 4: Quiet accretion, over several years, of the [[whatever]] by people who understand it.

And the [[whatever]] ranges from things that are obviously beneficial like pre-commit code review to other clear winners like multi-tenant machines, unit testing, user data encryption, etc etc. It is an extremely strange industry that fails to study and adopt the ways of their extremely successful competitors.
This paper is about convergence speed, not flops, so I'm not sure why this observation would be relevant.

And at any rate, Adam being fastest assumes that second-order methods require much more computation per iteration than first-order ones, which isn't true for a lot of practical problems. Classical optimization theory favored second-order methods because their faster convergence on many problems outweighed the extra computation per iteration.

The idea that Adam is best isn't a general principle, it's an empirical observation that, as far as I know, is limited to the context of training large neural networks.
There were very well documented campaigns of extermination and forced relocation of the natives, conducted by the immigrants. No matter what was the situation before the arrival of the immigrants. That's just an undeniable fact.

Since I'm not a true hacker, I won't pretend that the people living in America today have any blame for that. But it doesn't mean that we have to let that be repeated. Mass migration with the goal to colonize and replace natives is an act of war, and it is being conducted in many places around the world right now, fueled by an ideology of hatred.
Right, I’m agreeing with you.
> If you're willing to take the risk generally speaking you can be offensive and get away with it.

We have a whole small news channel dedicated to it now! ;-)

Offensiveness on the whole is not policed, at all. (Except by Facebook, of course.)

Offensiveness that rises to the level of a crime can end up policed. The guidance around that is still poorly defined, so it's very unusual to see a charge or a conviction and it's for sure wasteful of resources.

I'm obviously not arguing that it's always a good idea to prosecute when people are just offended -- of course it's not remotely a good idea to have that standard. But I do think we in this country should be allowed to draw a slightly different line on racism or hate speech or trolling/griefing/abuse campaigns without being insulted for our lack of "principle", which is the routine HN argument.

It is, in my estimation, unprincipled to stand around and do nothing while people are harassed online, driven from their online activities, doxxed, abused with poster and letter writing campaigns, or incited against by conspiracy newspapers. Freedom of speech can have different limits than those chosen by the US constitution without being morally defective.
Floating point might be expensive on die room, right now I think it's mostly integer, bit manipulation, and compare-and-swap, which is already a lot and may help with quantized network. Curious whether someone implemented FP32/16 or some non-IEEE754 floats in there.

My worry with all these archs is the ease of debug, tracing and grokking whatever the hell is happening. Disaggregation of compute will make programs very hard to write and understand...
> I found out that the culture seems to have drastically changed.

Can you explain in detail?
> If you understand English

See that's where your assumptions already fall apart; keep in mind a lot of developers do not have English as their first language, let alone the cultural differences and nuances if they seem to have a good grasp of the language. "Can you change this please?" can be seen as a friendly request by one, a helpful suggestion that can be ignored by someone else, or a passive-aggressive "You Have To Change This Or Else" reply by yet another. It's not as straightforward as you wish it was or as you experience it to be.

Besides, English is not even a good international language; it's three different languages in a trenchcoat.
There is a good article approaching it from the other side here: https://mtlynch.io/code-review-love/ - I am not the author, but it's one of the few things I have bookmarked.
I used to work there and feel about the same. Google’s internal tech is really good where it needs to be, and barely good enough where it doesn’t. Borg, Blaze, d, google3, codesearch, etc. are all very good. Almost everything else falls by the wayside.

Generally programmers at Google are better than programmers I’ve worked with outside of the company. But not by leaps and bounds. And in my opinion it doesn’t matter as your pace of development is so much slower it matters little how good of a programmer you are.
I can read fine.

1) You provided that example directly in response to the question "Can you show some sources for how Brave is scamming people out of privacy".

2) That example, I think we agree, is explicitly NOT "scamming people out of privacy".

You're wrong. It's okay though. Just acknowledge that you misspoke, clarify what you were trying to say, and move on. No need to be childish.
Anti Warez Association, 1 (1993)
I’d be interested in the perspective of a high schooler/fresh college grad on this too. I was in college when Google appeared on the scene and my impression was very much that it was an engineering paradise (20% time had a lot to do with that!), in the many years since most of the interactions I’ve had with Google have changed that perception a ton. But I’m not sure what it looks like to someone just starting out.
Expect to see a ChatGPT bankruptcy in 2024
how is it called in the docs ?
Probably a bit off-topic, but since I'm a bit triggered by the 'abseil' in the domain name:

I wish Google would relax their 'guidelines' when it comes to software that's also published outside of Google. Case in point: the Dawn C++ library (Google's native WebGPU implementation) has a dependency on abseil, and from what I've seen when glancing over the code, the only reason seems to be some minor string-related stuff.

I can only assume that there must be some interal NIH rule inside Google to use abseil in place of the C++ stdlib (of course I would prefer if Dawn would use neither abseil nor the stdlib, especially since it looks like the only component that's used are related to strings, which definitely isn't the focus of a 3D API).

...and then there's of course the use of 'Google Depot Tools' and of course they are using their own build system [1] (however at least there the Dawn team rebelled and also provides cmake build files).

All those Google specifics make it increadibly difficult to integrate Google C++ projects into any non-Google project, and because of this "Google C++ bubble" I would seriously hesitate taking any advice from them about software engineering as gospel, at least when it comes to C++.

[1] https://chromium.googlesource.com/chromium/src/tools/gn/+/48...
I think a NAS is fine when you lock it down to sleep when it's not being used. Sure, means you have to wait for it to wake up every time you want to use it, but I mostly use mine (a 4 bay Synology) to back up photos (raws) from a camera so I only need access sparingly.
The 20 is symmetrical, so if you aim for the center, and are slightly off to the left or to the right, you are equally likely to still hit, compared to the 19 which is at an angle and thus biased to one side. Therefore, when shooting for the 19 you'd have to rotate your point of symmetry which means adjusting the angle, speed, AND left/right.

I personally don't have any data to support this, but it seems extremely intuitive and so I think the burden should be on you to show 19 is equally easy to hit if for some reason you think it is.

20 also has the advantage of getting you closer to 0 if you don't shoot a perfect game, which is pretty much always, so 20 is BETTER unless 19 is significantly easier to hit.
Show HN: Find exchanges to buy or sell your desired cryptocurrencies on
I really don't know what your real argument is, since you seem to have abandoned the “They are under the impression that it has to be TNG cast or not-at-all” for a bunch of different and directly contradictory arguments, from which the only coherent thing is you don't like new Trek and everything, and that's fine, like what you like and dislike what you dislike, but I don’t think there is anything that supports productive discussion here.
You're wrong, it very much does work for debugger
Are you expanding and clarifying for yourself or for others?
"1: Do what TCAS is telling you to do.

2: Air Traffic Control does NOT have the final responsibility for your plane, you do."

I wonder if there is some human bias that preferences human directions/instruction over technologically manufactured ones (TCAS).

Especially when it's a stressful, fast paced situation.
Some of these are very odd for someone in a position that almost certainly implies they've studied the source material and the nations that followed it.

The line about the Crusades particularly stands out, since it doesn't seem to match Marx nor match the takes of Communist bloc historians, who were somewhat compelled to tinge their works with Marxist orthodoxy.
> Also in other news, Germany wants to ban “far-right” political party. If that doesn’t sound authoritarian, I’m not sure what would.

Apparently that party is becoming pretty popular, too, and polling better than their current prime minister's party (https://www.telegraph.co.uk/news/2023/08/13/afd-party-ban-ge..., https://www.politico.eu/europe-poll-of-polls/germany/).

I agree, it's not a good look. Talk like that makes Western democracy look like a sham, though a more subtle sham than Soviet democracy. You can vote for any party you want as long as it's 1) approved by the political elites or 2) has no chance of holding power.

It would be a lot less toxic to democracy if those elites just compromised with the democratic reality and moderated their unpopular policies and address the issues they're leaving unresolved.
Fanatics Is Building a Weird Monopoly over Sports Trading Cards
Zeroscope: Text-to-Video
Could we maybe clear up the title (even though the original article gets it wrong too)?

A threat about a bomb was never made by anyone. It was a suspicious package.

Here is the official statement: https://twitter.com/defcon/status/1690740778124115969
> issues with Django's ORM due to the query laziness making performance tricky to reason about

It's infuriating that this is still not a thing you can disable (https://code.djangoproject.com/ticket/30874). Pretty much my only gripe with the Django ORM which I'm a huge fan of (and I also write lots of SQL).
You never get causation from statistical procedures, regardless how well you control for variables.

You'll always have to augment statistical associations with further knowledge of the world, so you can get to causes.
To be fair he probably expected it to not be heard of at all.

Looking it up, the county only has a population of ~11.8k[0], and the town only has 1.9k residents[1]. Which is on the verge of "doesn't exist" usually for news.

Also editing the original comment, because apparently he's also their chief of police.[2]

[0]: https://en.wikipedia.org/wiki/Marion_County,_Kansas

[1]: https://en.wikipedia.org/wiki/Marion,_Kansas

[2]: https://web.archive.org/web/20230215034526/https://www.mario...

> The County Attorney is the chief law enforcement officer in Marion County.
Using JavaScript as the language that the framework uses is one thing, but it seems to me that suggesting that it be built around css is basically suggesting that it should be a fundamentally different thing.
I wonder what its opinion is on the topic of graven images.
I think this is broadly correct but I do think their cloud services business holds some promise. Although a distant third at best behind AWS/Azure (and maybe fourth behind OCI), I have seen some pretty large shops with a ton of volume of all of their compute to GCP. It does seem like the immense infrastructure Google had to build to power this firehose of money has the skeleton of a great product to power the cloud workloads of many other businesses, in ways that can compete with AWS on their home turf. But this is conjecture from my end, I haven't used GCP in the heat of production.
Same as: "Here is a pile of crap in a spreadsheet, turn it into a product!" That is our job.
In abandoning Gandi due to recent changes, I've been quite happy with Netim, also France based.

I've also been happy with Purelymail for email. More than happy.
One use case for the question label is a bit of code that you're unfamiliar with, but which is commonly used by more experienced developers. That said, it can be a good primer for the author to update the code, add explanation, or use simpler code structures so the code becomes more obvious.

Like, "what does ??= mean? I've never seen it before" in modern JS. I've had to adjust to code like that for a bit because I've been doing JS since ES3/4 and may have missed some developments (or the general availability of those).
> Their solution is so simple yet effective: Recompiling the browser with the debugger keyword renamed

Not exactly what I'd call simple...
It's possible that such techniques are unreasonable in low margin companies, and it could also be said that perhaps these engineering techniques have been a factor in allowing Google to keep its margins high as it scaled up by many orders of magnitude. Google in 2003 was making less than $1bn/year in revenue... 200x growth in 20 years
I'd say it's a tradeoff. If you are entirely driven by tests that include your deps, they will be slow. Unit tests are good at catching basic behavior issues that would show up with an integration test, but it's easier to see the cause.

I'm of the opinion that both are needed, but don't put all your eggs in unit tests (they don't need to be perfect). That extra time being spent on integration tests tend to be better for maintaining system health.
One situation a grandparent can find themselves in: they connect to a free wi-fi network that should show you a welcome screen, where you agree to something, before actually turning on the internet. Quite often this welcome screen fails to appear on at least some devices. A very useful workaround is to open a browser and go to 10.0.0.1; the agree-and-join page is quite likely to appear then.
> I can study a topic and then have hours of conversation with the model through the voice based interface on the iOS app. The ability to ask any question about any topic in your own words and instantaneously get a response from a machine that’s likely been trained on every text book ever written is absolutely insane.

It's also likely trained on nearly every website ever, including the wildest of wild conspiracy theories and bunk science. Try asking it detailed questions about something you would consider yourself an expert in and see how often it gets details completely wrong.
No, I'm familiar with CAP. My theorem is different.

Reliable: A system can be available but not reliable; if a machine is down 6 minutes every hour, it's 90% availabile but less than 1 hour reliable. A networked distributed system can be reliable but not accurate if you keep it online while it slowly accrues errors, such as the mentioned link/unlink race condition. The machine still works, it just has occasional corruption. It tends not to be very fast if it's reliable.

Fast: You can do whatever you want quickly. Think UDP, or filesystems that don't commit their log journal frequently. Tends not to be reliable or accurate.

Accurate: Whatever you do has no corrupted state. Think ACID. Most systems don't do this because it's expensive/complicated.