skysight-inc/HackerNews huggingface dataset:
I think that, in 2024, a lot of these problems aren't as bad as they once were, but when this article was written in 2016, SPAs really were a mess. Since then, people have mostly solved the URL problem and the back-button problem, and I think that if your organization has the headcount to support it, there are advantages to having the kind of very clean separation between your backend and your user interface that an SPA can provide. For instance, They can be developed by different teams, on different release schedules. Or, you can replatform your backend without rewriting your frontend.

Even so, I kind of wish that most websites still used old-school server-rendered HTML. I still run into all kinds of glitches that just could not possibly happen on a server-rendered site. As an example, I like to visit the Deutsche Welle website to catch up on European news stories that don't make their way to the US, and sometimes their site just flat-out doesn't load, because of some caching problem that I don't care about, because it isn't my problem as someone who just wants to read the news. Since the best DW's SPA architecture can possibly do is to make it look like server-rendered HTML, it's just nothing but downside to me personally. It might make sense for Deutsche Welle itself, but I don't work for DW, and I don't get paid to care about their problems.

In the end, I think the overall message of the article still resonates in 2024, even if it doesn't resonate as strongly now as it did when it was written. I think SPAs are good technology when they are used in the right way for the right reasons. But there's a kind of dogma surrounding heavyweight JavaScript frameworks, and I think it pays to be a little skeptical as a result.
That article in particular was the one that was debunked. It was based on a false rumor.
Are there schools attached to correctional institutions in NYC driving up the $38,000 per student spending? If we at just guessing, how about: New Yorkers are just bad at running public services?

We actually had a natural experiment with this during COVID. Schools in Western Europe and Asia quickly got students back in the classroom. But in places like NYC, teachers refused to go back to work for a year or more.
I'm 30, I can effortlessly save 100k a year after spending money on everything you listed.

If you're happier in the EU that's fine, but the math definitely doesn't check out for people focused on finances: even when you take soft benefits into account
Theres nothing criminal about bad advice. McKinsey's problem with the opioid crisis was that they were advising Purdue to commit crimes.
Health coverage is only worth a few thousand dollars. It's not a $50k bonus. They earn well below a typical developer salary. It's not like our cushy jobs. Yes they have extra vacation time but have to use a lot of that on unpaid planning time or additional study for ongoing certification requirements.
Two of those three are simple content sites. Why even use JS at all? I feel like we're reinventing the wheel with a ton of added complexity these days.
I concur. They're not looking in the right places. Musicians and artists would know about these sorts of hustles, but not your typical HN bubble dweller.
your example shows a few reasons why this is not done more often.

it's confusing because we are used to getting directions from a superior (teachers in school). managers are likewise used to give directions to subordinates.

there are also a few things which i feel i would do differently.

tying compensation to reviews is one. some companies tie compensation to seniority and to an average experience level (like junior->mid->senior). i'd also tie compensation changes to a team, in order to get people to help each other (we all get paid more if the team performs better), or even to the company as a whole. (everyone gets a bonus if profits go up) individual reviews that affect compensation lead to competition, which i believe is unhealthy.

and the other i don't even understand. why do people on one team report to different people leaders?

you have the right attitude at least and i believe anyone who gets to work with you should consider themselves privileged.

i hope some day i'll be in a similar position and able to act like that as well.
It just killed my momentum when reader shut down. At that time there was nothing else that came close to reader's functionality on web and mobile. So I just gave up. Never recovered. Lost all my feeds. Nowadays most websites don't even have a feed.
Who has the financial ability to switch careers like that on a dime? The only place that such a move is feasible would be a state that doesn't require a degree to teach.

So...Arizona, California, Kentucky, Mississippi, Missouri, Texas, and Wisconsin. Otherwise, pony up the cash for another degree and probably put your other career on hold.
Summary of "Unveiling the submerged secrets: bumblebee queens' resilience to flooding" paper, submitted https://news.ycombinator.com/item?id=40077199
Debunked where? The only response is from Amazon (in the same article), who are disputing the number but still admitting that the team did intervene when needed.
Perhaps this is obvious, but if you liked this article, check out the works referenced in it! The Eighth Day of Creation, The Machinery of Life, A Computer Scientist’s Guide to Cell Biology, and GEB are all outsanding.
It’s worth considering that the presumption of intellectual superiority is what led the west to this point
> Complex things requires easy to use systems that reflect that complexity...how do we build these methods of communication and understanding?

We've had the wetware for understanding complex systems for thousands of years. We added symbolics for communicating complex things later.

Nowadays, many people weak in symbolics are excellent in understanding, and many people expert in symbolics are novice in understanding.

I am not sure whether we are missing a symbolic form that is closer aligned to understanding, or whether we've simply overvalued symbolics at the expense of understanding.
My impression has been that it is common in the US for jerks to call the cops and/or CPS if they see kids playing outside without an adult around. A couple examples:

https://www.nydailynews.com/2014/09/17/neighbor-calls-cops-c...

https://reason.com/2023/03/09/teaneck-new-jersey-arrest-kids...
Doesn’t look like I can edit this. See below about how efficient and effective state governments are when it comes to budget initiatives.

https://calmatters.org/housing/homelessness/2024/04/californ...
> How is centralized identity necessary or sufficient to solve this?

To give you an idea of just how low the fruit is hanging, approximately 100K fake children "vanished" from Australia's welfare system when the government introduced a system where you had to list each dependent child's Tax File Number (TFN) to claim welfare benefits. (Prior to that, you just had to put down how many children you were claiming benefits for.)

If you can get ID papers from random brokerages, then how is the government to perform a simple uniqueness check across brokerages?

It always boils down to the same thing: Someone, somewhere has to have a table with a primary key on it.
Which is why the system needs to be built on consent, not extortion.

In the military we had a saying: "There is only one thief; Everyone else is just trying to get their shit back."

The same applies to the monopoly on force, extorting individuals and corporations, but corporations can actually afford paying off and directing government towards their competition (and us individuals).
We've done a bit of both for our screen seachable loom-like screen recorder, the problem is that the accessibility APIs differ greatly between Mac and Windows if you want to be OS agnostic and even on Windows all the apps tend to do things a little differently making it hard to say what did you actually "see", with some apps missing key data or implementing it incorrectly. OCR ends up being easier many times desptie thinking accessibility would be.
Playdate has sold 150k games in the last year
I think it’s incredibly useful today to have both of these annotations.

I frequently scan for all instances of `?` or `.await` in functions (though, unfortunately, for various reasons this won’t show you everywhere these effects are produced).

I would rather not have to rely on an IDE to get that functionality.
A lot of these features remind me of GNOME Calculator: https://apps.gnome.org/Calculator/

> You'll even reportedly be able to resize the calculator. If you make it bigger, the round buttons get stretched and turn pill-shaped, though they go back to their original form if you make the calculator smaller again.

> A new history tape that you can access with the click of a button

> Finally, the new calculator will make it easier to work with numbers in different currencies by incorporating the conversion tool into its user interface.

I guess time will tell what the app actually looks like, but if this is "genre defining" then I guess the genre is pretty well-defined already.
they also seem to have shifted to hardware/"AI" wearables (lavalier mics?). hardware is not a promising shift imho
VNC is available for pretty much any Wayland window manager but your distro may opt to default build the more modern RDP instead (e.g. Ubuntu Gnome).
RecurrentGemma: Moving Past Transformers for Efficient Open Language Models
Tourism here, as in most places overrun with tourism, isn't advancing by consolidating all prior tourist locations into a single more efficient tourist hotspot, it's proceeding by adding on additional tourist mega plexes.
Manually with:

gcc -c -O0 -no-pie main.c

Probably also be worth throwing in -nostdlib while learning to keep it bare-bones, otherwise will need to link the c runtime.

Assemble the emitted .S file:

as -o main.o main.S

Link with c runtime

ld -o main -lc main.o crt1.o crti.o crtn.o --entry main

If using -nostdlib, add your own start.S with a simple entry which calls main with no command line arguments.

BITS 64

%define SYS_exit 60

global _start

_start:
xor edi, edi
xor esi, esi
call main
xor eax, eax
mov al, SYS_exit
xor edi, edi
syscall

Assemble with:

nasm -felf64 -o start.o start.S

And link both:

ld -o main main.o start.o --strip-debug

Check the result:

objdump -x -S main

To keep even more minimal, add your own link.ld file instead of using the default:

OUTPUT_FORMAT("elf64-x86-64")
OUTPUT(main)
ENTRY(_start)

INPUT(main.o)
INPUT(start.o)

SECTIONS
{
PROVIDE (__executable_start = SEGMENT_START("text-segment", 0x400000));
. = SEGMENT_START("text-segment", 0x400000) + SIZEOF_HEADERS;
.text : { *(.text) }
.eh_frame : { *(.eh_frame) ; }
.data : { *(.data) ; }
.bss : { *(.bss) ; }
}

Link with:

ld -T link.ld
I gave a small talk on how to really push using hooks for logging intermediate values (including capturing gradients from torch & fx scripted modules) that may be useful: https://static.sched.com/hosted_files/pytorch2023/40/Interme...
You didn't really respond directly to anything I said, nor anything I said in the blog I linked (that I also wrote). You also seem to be speaking to me as if I'm some spring chicken. I'm not. I'm on the Rust libs-api team and I'm in favor of the &str/String API design (including its UTF-8 requirement). I wrote ripgrep. I've spent 10 years working on regex engines. I understand text encodings and the design space of string data types. I've implemented string data types. It might help to understand things a little better by perusing the bstr crate API[1]. Notice that it doesn't require valid UTF-8, yet assumes by convention that the string is UTF-8. And this assumption provides a path to implementing things like "iterate over all grapheme clusters" with sensible semantics when invalid UTF-8 is seen.

You'll notice that I didn't say "Go's string design is good and we should all use it." I made an argument that's Go's string design is not poor and provided an argument for why that is. In particular, I described trade offs and a particular pragmatic point on which abdicating the UTF-8 requirement makes for a more seamless experience when dealing with arbitrary file content.

> but as long as you know that it's mostly easy. [..snip..] Or text where you don't know the encoding.

You don't know. That was my whole point! I gave real-world concrete examples of popular things (Mozilla and CPython repositories) that contain text files that aren't entirely valid UTF-8. They are only mostly valid UTF-8. If I instead treated them as malformed and refused to process them in my command line utilities or libraries, I would get instant bug reports.

> Go strings aren't necessarily text.

I would generally consider this to be an incorrect statement. The more precise statement is that Go strings may contain invalid UTF-8. But the operations defined on strings treat strings as text. For example, if you iterate over the codepoints in a Go string, you'll get U+FFFD for bytes that are invalid UTF-8. By your own reasoning, U+FFFD must be considered text because it can also appear in a Rust &str/String. Despite the fact that a Go string and a []byte can represent arbitrary sequences of bytes, a Go string is not the same thing as a []byte. Aside from mutability and growability, the operations on them (both those provided as a library and those provided by the language definition itself) are what distinguish them. They are what make a `string` text, even when it contains invalid UTF-8.

There are deep trade offs here, but the UTF-8-is-required does have downsides that UTF-8-by-convention does not have. And of course, vice versa.

[1]: https://docs.rs/bstr
I really like this book, is more than a refresher imo, it really goes from NAND gates all the way up to building a CPU using a Verilog-like language, its assembler language, then a higher-level language, etc.

The only thing that is not as nice is the tooling, it's GUI based and uses Java. One of the projects on my backburner is to attempt to write a better toolset for it. Or maybe I should just wait for someone else to do it haha (to be clear, there's nothing wrong with the existing tooling, I'd just rather something not based on Java that I could run on a normal IDE, say, VS Code).
really? i tend to look to them for ideas
This sounds so true. Before you had 1 or 2 bosses to report to, now you have 10, rotating in and out, whenever they please. If you've experienced the joy of a semi-yearly peer review system in a MegaCorp (e.g., Meta), imagine this happening all the time, with less structure, and even less shielding.
The question is whether that's all they ever do, or whether gradually some parts of Windows begin to decide to be UTF-8 first and their W functions now translate the opposite way. This must be tempting for some networking stuff, where you're otherwise taking a perf hit compared to Linux.
In socal, the dev interns I was managing a couple years ago were paid $50/hr. That is a bit over $100k/yr
Corvids are special! I wonder what tools dinosaurs used..
The US is only really deploying broad sanctions on technology that might have applications in military and security competition. And sanctions are proving hard to really enforce if the entities involved never use dollars.

EU defense and government contractors might not have a lot of agency, but plenty of other businesses do depending on the country.
I cannot fathom the error in logic that yields the conclusion that elected governments having a SQL table with a primary key constraint is somehow "the same thing" as the authoritarian abuses of power by a single-party communist dictatorship.

A number on a piece of paper is not the root cause of secret police brutally cracking down on dissidents!
> The funding to make up the difference in difficulty is… I dunno, astronomical. Maybe pay for their family’s entire living expenses or something.

Yeah, these days I lean towards housing as the root of a lot of these problems but that feels kind of that that “now draw the rest of the owl” joke. There’s so much pent up demand for affordable housing and each density improvement takes long enough that the kids affected today will probably be adults by the time we see improvements.
Please note that this article appears to be humor rather than fact. I'm posting it as I figure the HN crowd will enjoy it :)
Selling Butter at 54% Profit: Leaked Docs Show Loblaws' Exorbitant Markups
Also a strategy to lengthen copyright/IP terms around the world for the sake of “harmonization”, harmonization meaning raise the terms to what US lobbyists negotiated there.

It’s a miracle that the TPP went down in flames. It had great marketing as an anti-China bill but mostly served to enrich a small minority of notorious tax evaders, namely companies that revolve around state granted monopolies to Intellectual Property.
That's like asking "who, within Bitcoin, controls the Bitcoin network".

Each person with a wallet and private keys contains neither more nor less than what they are entitled to control. Smart contracts manage collective decision making.

You should learn about "abstract accounts", i.e. smart contracts on the blockchain being the owners of different things, and acting on behalf of multiple people. This is far more secure, there is no one private key that can leak, but rather the smart contract has business logic, that everyone knows what the rules are. It's like a constitution of a country.

If you wanted to point the DNS to another IP address, for instance, you could have a rule that requires a proposal to be made, and for people to have a chance to vote on it during a voting period, with vote weights being equal or proportional to how much of a token people hold. Votes could be delegated. I wrote about all this on CoinDesk in 2020: https://www.coindesk.com/tech/2020/03/12/in-defense-of-block...

In fact, as more things become decentralized, the need to host a website at a particular IP address will go away, too. All of these Web 2.0 things are too centralized and prone to be rugpulled and changed, and the idea that someone must pay all the hosting costs is stupid, when even in 2004 BitTorrent participants also had to "seed" the same files they were "leeching". The reliability is actually necessary to the MEMBERS of the community who use it every day (exactly who you're talking about), rather than the LEADERS.

You can host static web sites on IPFS, for instance, and use smart contracts on the blockchain for business logic. That's what happens with NFTs, for instance, but that's just a first-generation technology, like the games Space Invaders and Pong.
How did humanity respond the last time this happened?
Zipline Hits 1M Deliveries
Meta E5 (~4 yoe) is 520k, and E6 is 760k (~7-8 yoe) according to levels.fyi

Seems close to what I have seen offered there.
A hard to attain science and engineering task is often 5 years away for a long time until 5 years before it is actually delivered. Unlike building widgets building something never done before entails an awful lot of hard to estimate work. Anyone doing software engineering should be familiar with this.

The “5 years for 10 years” meme seems to be confusing a lack of accuracy when giving a precise answer to a difficult to estimate task for either foolishness or fraud, or perhaps both. To me it reads like every software and research estimate I’ve ever seen - a sliding estimate on something you know will deliver but hard to pin down exactly all the unknowables are worked out.
You Need a Budget (YNAB) has worked great for me for about 8 years now. The budgeting concept is a little different (proactive instead of reactive financial planning), but once you wrap your head around the concept, it's so liberating.

Are there some quirks with the app? Sure. But it's very feature rich and does everything I need it to do.
IMO that is not a good starting point for beginners to assembly.

They can go for it later, after learning assembly basics.
GPUs are great at doing the same math on every item of a large multidimensional array.

Therefore, unsurprisingly, the cost per item of inference on a batch of items is significantly lower when the batch is e.g. 8 than 1 (in the case of Transformers there are further gains to be made because roughly half of the attention calculations in token k+1 are identical to the calculations of token k and can be easily reused by writing the formulas a certain way, the keyword to look for is causal attention mask).

In any reasonable GPU inference setup the weights would be preloaded.
Eh, I would have agreed maybe a decade ago, but the past years have seriously eroded USD buying power[1]. For example, for that 100k in 2014 to be equivalent in 2024, you would need 133k or that your adjusted for inflation dollars are 76K ( and that is BLS ).

100k is the floor, because 100k used to actually mean real money. I no longer think it is. I earn more than that and I believe we are struggling. I don't know how other people manage.

[1]https://data.bls.gov/cgi-bin/cpicalc.pl?cost1=100%2C000.00&y...
No one is suggesting that. The question is how automated was the system? According to the article 70% of all transactions were manually checked out because the algorithm didn't have enough confidence in its prediction. Amazon has disputed the number, but not the fact that the manual intervention was happening.
Business is fundamentally a question of how to rip someone off without pissing them off.
From the paper:

While the entire globe has warmed, the subpolar North Atlantic has resisted and even cooled. This is exactly the region where the AMOC delivers much of its heat, and exactly the region where climate models have long predicted cooling as a result of the AMOC slowing down.

[A] cold subpolar North Atlantic correlates with summer heat in Europe (Duchez et al., 2016).

For example, in summer 2015, the subpolar Atlantic was the coldest since records began in the nineteenth century— while Europe suffered a strong heatwave. Subsequent study has shown that heatwaves are increasing three to four times faster in Europe than in other regions of the Northern Hemisphere [...]
All you really need is an instruction set reference, such as:
https://www.felixcloutier.com/x86/index.html
and have a compiler that supports an inline assembler, like the D compiler, with Intel assembler syntax and use it like:

private uint asmBitswap32(uint x) @trusted pure
{
asm pure nothrow @nogc { naked; }

version (D_InlineAsm_X86_64)
{
version (Win64)
asm pure nothrow @nogc { mov EAX, ECX; }
else
asm pure nothrow @nogc { mov EAX, EDI; }
}

asm pure nothrow @nogc
{
// Author: Tiago Gasiba.
mov EDX, EAX;
shr EAX, 1;
and EDX, 0x5555_5555;
and EAX, 0x5555_5555;
shl EDX, 1;
or EAX, EDX;
mov EDX, EAX;
shr EAX, 2;
and EDX, 0x3333_3333;
and EAX, 0x3333_3333;
shl EDX, 2;
or EAX, EDX;
mov EDX, EAX;
shr EAX, 4;
and EDX, 0x0f0f_0f0f;
and EAX, 0x0f0f_0f0f;
shl EDX, 4;
or EAX, EDX;
bswap EAX;
ret;
}
}

The compiler will handle all the program setup and teardown, and you can just concentrate on the assembler part. You can also compile programs with the -vasm switch and the compiler will emit the asm corresponding to the code:

int square(int x) { return x * x; }

compiling:

dmd -c test.d -vasm

prints:

_D4test6squareFiZi:
0000: 0F AF C0 imul EAX,EAX
0003: C3 ret

By trying simple expressions like `x * x` and looking at what the compiler generates, and looking at the instructions in the referenced link, you'll get the hang of it pretty quick.
So you get the list of potentially hundreds of people from the database, and then loop and do thousands of queries to the database? Query for Alice get 1, query for Bob get 1, query for Charlie there's none, query for Damien there's none, query for Emily get 1, ... eventually you have 100 and you send that many queries again to mark them as RUNNING?

tbh it really irks me that you can read this well-written, 3000-word article and go "I would just solve it trivially by not doing that on the server or something". There's a reason this has to run in the database.
> modern assembler

For long out of date assembler this YouTube channel: https://www.youtube.com/@ChibiAkumas

For modern assembler this YouTube channel: https://www.youtube.com/@WhatsACreel