Hacker Newsnew | past | comments | ask | show | jobs | submit | arjie's commentslogin

These things are common. For instance, we pay dockworkers to not work so that they would let us do containerization. When they say they're striking, half of those striking dockworkers wouldn't be working anyway. They're paid not to so that we could use containers. When US ports finally automate, it will be the same. The boss of that union wears a Rolex because he's good at extracting these concessions from us. So here's a variant for them:

> His specialty was containers, and he made a good thing out of not loading any. Ever since containerization came in, he was paid handsomely for every crate he did not touch. The more containers he did not load, the more money he was given, and he spent every penny he didn’t earn on securing more seniority on the docks to increase the amount of cargo he did not handle. He worked without rest at not working the piers. On long evenings he lingered by the hiring hall and did not sling a single hook, and he sprang out of bed at the crack of noon every day just to make certain that no breakbulk cargo had somehow returned.

Enjoy.


As much as I agree the longshoremen situation is "unappealing" from a policy perspective, it's not really a valid equivalence to compare a trade union trying to protect itself from being automated out of existence with a multinational corporation asking an historically corrupt government to let them use the $1bn that they were given for something other than its intended purpose.

> These things include your OS, py version, CPU architecture, Linux distro, whether you're in CI. All baked into the User-Agent header via something called "linehaul". We ripped that out. Now it just sends fyn/0.10.13. That's it.

I imagine it's just that the User-Agent is something that we've grown accustomed to passing information in. I am fairly biased since I'd always opt-in even to popcon. I think it's useful to have such usage information.


This is so useful, I'm shocked they even make a big thing out of it. And now I'm questioning whether this is even their real intention, or just a diversion?

Theyre saying "we removed telemetry" with the hopes of getting an emotional response from people who are privacy-focused, to get quick stars/attention.

Everyone has a tendency to support the system they went through. I've done it numerous times for standardized tests and I went through them. I think the information value of a person who was certified capable by system X recommending system X is probably low.

After all, if you flipped the script and the US used standardized tests and you were then told that China uses a committee of experts that will certify incoming applicants' stated political positions, race, and cultural background in order to "craft a class" (as an admissions officer calls it in SAT Wars) with a carve-out for the children of those who have already attended, you would be informed of the need for meritocracy, the tendency towards nepotism, and the obvious racial biases that will affect individuals in such a system.

Likewise, you would doubtless be informed that the East's more holistic look at the total student is a superior form of student selection since it is driven by a Confucian focus on the gestalt human rather than on the reductive metrics of the West.

What is interesting to me is to hear from those who have succeeded in some system but nonetheless wish it were different.


There's millions of Chinese diaspora who went through relatively zero-sum gaokao and have their kids go through western systems. IMO general consensus will will tell you centralized test will produce superior results but it's so tough / high stakes they won't want to put their kids through it. Many of them are also gaokao flunkies who had alternate pathways in era where with more easy/shady opportunities that are now gated behind actual gaokao performance, and they know statistically their kids can't hack it. So course they want system to be different in the same way US system is different - some nebulous holistic system, aka one where there's ample opportunities for their money to corrupt/capture. TBH last 1000s of years of Chinese history is interrogation of monied merchant class trying to capture (more) merited scholar class, the lessons learned (repeatedly) is venturing away from standardized/merit is just opening up to deregulated corruption.

China also bans test tutoring as a commercial service. Without a doubt people will still be able to find tutors if they're sufficiently capable, but the scale of this problem should be vastly altered by that action.

I was hoping that the article would present some mechanism. It might well be true, but simply asserting "this will make him rich" is not interesting unless you say in what way. This is an example of what's in there:

> What does Trump get out of it? Perhaps Club Med Mar-a-Lago or Trump Tower Tel Aviv.

That's just the beginning of the article but if you read through it's like that all the way to the end. This does not actually live up to "Operation Epic Fury Explained" as a title and has more the sense of a struggle session than of an explanation.


“Operation Epic Fury might turn Iran into a luxury resort destination” is a compelling argument only to the small subset of people who are against luxury resorts on principle.

That’s not to say that there aren’t more compelling arguments against attacking Iran.


Luxury resort destination? Isn't the Persian gulf expected to be one of the first uninhabitable places on Earth within this century?

https://news.mit.edu/2015/study-persian-gulf-deadly-heat-102...


Yeah, this is really just a rant, there's nothing substantive here, other than a warning against assuming that the political/voting blowback will be meaningful, or assuming that Trump cannot hold out indefinitely.

The truth is you can't get anyone to do what you want. You can try to make them do what you want but they're someone else in the end. Sir Walter Raleigh's beloved friend and lieutenant was Lawrence Kemys. When Raleigh was pardoned and sent back to find El Dorado, the conditions set were that he should not attack the Spaniards. He goes out to South America, and puts a detachment ashore led by his close friend and confidant - as aligned a person as you can imagine. Kemys attacks a Spanish outpost against express orders, gets Raleigh's son killed, returns to Raleigh to inform him of this, and promptly commits suicide. None of this is going to help Raleigh, though, because the conditions of his pardon now having been violated he is executed as promised.

What's the tok/s you get these days? Does it actually work well when you use more of that context?

By the way, it's been a long time since I last saw your username. You're the guy who launched Neovim! Boy what a success. Definitely the Kickstarter/Bountysource I've been a tiny part of that had the best outcome. I use it every day.


> What's the tok/s you get these days?

I ran llama-bench a couple of weeks ago when there was a big speed improvement on llama.cpp (https://github.com/ggml-org/llama.cpp/pull/20361#issuecommen...):

    % llama-bench -m ~/ml-models/huggingface/ubergarm/Qwen3.5-397B-A17B-GGUF/smol-IQ2_XS/Qwen3.5-397B-A17B-smol-IQ2_XS-00001-of-00004.gguf -fa 1 -t 1 -ngl 99 -b 2048 -ub 2048 -d 0,10000,20000,30000,40000,50000,60000,70000,80000,90000,100000,150000,200000,250000
    ggml_metal_device_init: tensor API disabled for pre-M5 and pre-A19 devices
    ggml_metal_library_init: using embedded metal library
    ggml_metal_library_init: loaded in 0.008 sec
    ggml_metal_rsets_init: creating a residency set collection (keep_alive = 180 s)
    ggml_metal_device_init: GPU name:   MTL0
    ggml_metal_device_init: GPU family: MTLGPUFamilyApple7  (1007)
    ggml_metal_device_init: GPU family: MTLGPUFamilyCommon3 (3003)
    ggml_metal_device_init: GPU family: MTLGPUFamilyMetal3  (5001)
    ggml_metal_device_init: simdgroup reduction   = true
    ggml_metal_device_init: simdgroup matrix mul. = true
    ggml_metal_device_init: has unified memory    = true
    ggml_metal_device_init: has bfloat            = true
    ggml_metal_device_init: has tensor            = false
    ggml_metal_device_init: use residency sets    = true
    ggml_metal_device_init: use shared buffers    = true
    ggml_metal_device_init: recommendedMaxWorkingSetSize  = 134217.73 MB
    | ------------------------------ | ---------: | ---------: | ---------- | ------: | -------: | -: | --------------: | -------------------: |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |           pp512 |        189.67 ± 1.98 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |           tg128 |         19.98 ± 0.01 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d10000 |        168.92 ± 0.55 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d10000 |         18.93 ± 0.02 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d20000 |        152.42 ± 0.22 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d20000 |         17.87 ± 0.01 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d30000 |        139.37 ± 0.28 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d30000 |         17.12 ± 0.01 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d40000 |        128.38 ± 0.33 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d40000 |         16.38 ± 0.00 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d50000 |        118.07 ± 0.55 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d50000 |         15.66 ± 0.00 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d60000 |        108.44 ± 0.38 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d60000 |         14.98 ± 0.01 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d70000 |         98.85 ± 0.18 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d70000 |         14.36 ± 0.00 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d80000 |         91.39 ± 0.49 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d80000 |         13.84 ± 0.00 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  pp512 @ d90000 |         85.76 ± 0.24 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 |  tg128 @ d90000 |         13.30 ± 0.00 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | pp512 @ d100000 |         80.19 ± 0.83 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | tg128 @ d100000 |         12.82 ± 0.00 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | pp512 @ d150000 |         54.46 ± 0.33 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | tg128 @ d150000 |         10.17 ± 0.09 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | pp512 @ d200000 |         47.05 ± 0.15 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | tg128 @ d200000 |          9.04 ± 0.02 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | pp512 @ d250000 |         40.71 ± 0.26 |
    | qwen35moe 397B.A17B Q8_0       | 113.41 GiB |   396.35 B | MTL,BLAS   |       1 |     2048 |  1 | tg128 @ d250000 |          8.01 ± 0.02 |

    build: d28961d81 (8299)
So it starts at 20 tps tg and 190 tps pp with empty context and ends at 8 tps tg and 40 tps pp with 250k prefill.

I suspect that there are still a lot of optimizations to be implemented for Qwen 3.5 on llama.cpp, wouldn't be surprised to reach 25 tps in a few months.

> You're the guy who launched Neovim!

That's me ;D

> I use it every day.

So do I for the past 12 years! Though I admit in the past year I greatly reduced the amount of code I write by hand :/


Apologies to others for the offtopic comment, but thank you so much for neovim. I started using Vim 25 years ago and I almost don't know how to type without a proper Vi-based editor. I don't write as much code these days, but I write other stuff (which definitely needs to be mostly hand written) in neovim and I feel so grateful that this tool is still receiving love and getting new updates.

> in neovim and I feel so grateful that this tool is still receiving love and getting new updates.

@justinmk deserves the credit for this!


Thank you for NeoVim! I also use it every day, mostly for thinking / text / markdown though these days.

Have you compared against MLX? Sometimes I’m getting much faster responses but it feels like the quality is worse (eg tool calls not working, etc)


> Have you compared against MLX?

I don't think MLX supports similar 2-bit quants, so I never tried 397B with MLX.

However I did try 4-bit MLX with other Qwen 3.5 models and yes it is significantly faster. I still prefer llama.cpp due to it being a one in all package:

- SOTA dynamic quants (especially ik_llama.cpp) - amazing web ui with MCP support - anthropic/openai compatible endpoints (means it can be used with virtually any harness) - JSON constrained output which basically ensures tool call correctness. - routing mode


That's surprisingly fast. Thanks for sharing.

It cannot be that, surely since the page prior to the CTA actually shows the shirt with the string composited. So is it perhaps doing some live pricing based on a collection of vendors on the backend? Better to show an initial price and then a progress bar that moves up as the vendors return prices I think. Either way, I reflexively almost clicked away as soon as the 20 s started.

Damn, ok. Good feedback. I heard that from someone else, too. Our attention spans are fried, lol. Can't wait 20 seconds for a shirt preview! It's true though. So the first "preview" is just rendering text on top of a blank shirt mockup, and the the second one (after you click and go to /preview) actually sends the text to the Printful API to get a render of how the shirt will actually appear. That's the delay, waiting for the final image to come back from Printful.

Everyone feels Eternal September sooner or later. I recommend blocking users on this site. Having hit about 800 or so blocks I find that the conversation quality has skyrocketed. You still get one or two low quality users on a thread like this (I hadn’t blocked this guy) but the truth is that it’s usually a few people.

Any time a user gives me a flash of annoyance with a nonsensical comment that’s the last time I see them. This isn’t a native feature but Claude will implement it for you in a really short amount of time. If you want a feature set to copy or a list of users to seed, you can just copy mine (in profile).


Yeah, unfortunate that it's come to that, but I think you're right.

I started to write a comment about having some (additional) ideas for a Chrome extension, clicked your profile, watched the YouTube video. Fantastic. I think it already does everything I wanted.

Thank you for making and open sourcing this!


Ha! I’m glad that scratching my own itch helped you :)

Telegram has the best programmatic integration. Trivial to get working. You can be up and running in minutes. I use it to talk to a claw-style agent and it's truly unbelievable what you get for free.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: