frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

I canceled my book deal

https://austinhenley.com/blog/canceledbookdeal.html
224•azhenley•3h ago•137 comments

Privacy and control. My tech setup

https://toidiu.com/blog/2025-12-25-privacy-and-control/
84•todsacerdoti•3h ago•42 comments

All-optical synthesis chip for large-scale intelligent semantic vision

https://www.science.org/doi/10.1126/science.adv7434
19•QueensGambit•1h ago•1 comments

Demystifying DVDs

https://hiddenpalace.org/News/One_Bad_Ass_Hedgehog_-_Shadow_the_Hedgehog#Demystifying_DVDs
44•boltzmann-brain•2d ago•4 comments

The compiler is your best friend

https://blog.daniel-beskin.com/2025-12-22-the-compiler-is-your-best-friend-stop-lying-to-it
116•based2•6h ago•72 comments

Scaffolding to Superhuman: How Curriculum Learning Solved 2048 and Tetris

https://kywch.github.io/blog/2025/12/curriculum-learning-2048-tetris/
96•a1k0n•5h ago•20 comments

Akin's Laws of Spacecraft Design [pdf] (2011)

https://www.ece.uvic.ca/~elec399/201409/Akin%27s%20Laws%20of%20Spacecraft%20Design.pdf
242•tosh•11h ago•64 comments

Microtonal Spiral Piano

https://shih1.github.io/spiral/
44•phoenix_ashes•5d ago•9 comments

My role as a founder-CTO: year 8

https://miguelcarranza.es/cto-year-8
39•ridruejo•5d ago•47 comments

When square pixels aren't square

https://alexwlchan.net/2025/square-pixels/
85•PaulHoule•8h ago•39 comments

Show HN: Use Claude Code to Query 600 GB Indexes over Hacker News, ArXiv, etc.

https://exopriors.com/scry
272•Xyra•13h ago•97 comments

The most famous transcendental numbers

https://sprott.physics.wisc.edu/pickover/trans.html
116•vismit2000•9h ago•64 comments

Stewart Cheifet, creator of The Computer Chronicles, has died

https://obits.goldsteinsfuneral.com/stewart-cheifet
112•spankibalt•4h ago•38 comments

Efficient method to capture carbon dioxide from the atmosphere

https://www.helsinki.fi/en/news/innovations/efficient-method-capture-carbon-dioxide-atmosphere-de...
229•lrasinen•7h ago•240 comments

SigNoz (YC W21, open source observability platform) is hiring across roles

https://signoz.io/careers
1•pranay01•4h ago

Show HN: Frockly – A visual editor for understanding complex Excel formulas

8•jack_ruru•6d ago•2 comments

The rise of industrial software

https://chrisloy.dev/post/2025/12/30/the-rise-of-industrial-software
191•chrisloy•12h ago•146 comments

Doom in Django: testing the limits of LiveView at 600.000 divs/segundo

https://en.andros.dev/blog/7b1b607b/doom-in-django-testing-the-limits-of-liveview-at-600000-divss...
153•andros•3d ago•47 comments

Kitchen optimizations

https://www.natemeyvis.com/kitchen-optimizations/
43•Theaetetus•1w ago•83 comments

Back to the future: the story of Squeak, a practical Smalltalk written in itself [pdf] (1997)

http://www.vpri.org/pdf/tr1997001_backto.pdf
81•fanf2•1w ago•22 comments

How AI labs are solving the power problem

https://newsletter.semianalysis.com/p/how-ai-labs-are-solving-the-power
80•Symmetry•7h ago•154 comments

39C3 Grafana Dashboard

https://dashboard.congress.ccc.de/public-dashboards/e6cf86b287304662b4d1b8eb31b5ab50
13•immibis•4d ago•5 comments

Who invented the transistor?

https://people.idsia.ch/~juergen/who-invented-the-transistor.html
51•todsacerdoti•9h ago•45 comments

Nvidia GB10's Memory Subsystem, from the CPU Side

https://chipsandcheese.com/p/inside-nvidia-gb10s-memory-subsystem
52•ingve•9h ago•4 comments

Meta created 'playbook' to fend off pressure to crack down on scammers

https://www.reuters.com/investigations/meta-created-playbook-fend-off-pressure-crack-down-scammer...
160•lossolo•3h ago•69 comments

France targets Australia-style social media ban for children next year

https://www.theguardian.com/world/2025/dec/31/france-plans-social-media-ban-for-under-15s-from-se...
145•belter•6h ago•180 comments

Tixl: Open-source realtime motion graphics

https://github.com/tixl3d/tixl
162•nateb2022•5d ago•25 comments

Stardew Valley developer made a $125k donation to the FOSS C# framework MonoGame

https://monogame.net/blog/2025-12-30-385-new-sponsor-announcement/
478•haunter•6h ago•204 comments

RoboCop – Breaking the Law. H0ffman Cracks RoboCop Arcade from DataEast

https://hoffman.home.blog/2025/12/26/robocop-breaking-the-law/
70•birdculture•4d ago•3 comments

Court report detailing ChatGPT's involvement with a recent murder suicide [pdf]

https://storage.courtlistener.com/recap/gov.uscourts.cand.461878/gov.uscourts.cand.461878.1.0.pdf
102•Mgtyalx•3h ago•85 comments
Open in hackernews

The Speed of VITs and CNNs

https://lucasb.eyer.be/articles/vit_cnn_speed.html
74•jxmorris12•8mo ago

Comments

GaggiX•8mo ago
>text in photos, phone screens, diagrams and charts, 448px² is enough

Not in the graph you provided as an example.

yorwba•8mo ago
It has this note at the bottom:

"Note that I chose an unusually long chart to exemplify an extreme case of aspect ratio stretching. Still, 512px² is enough.

This is two_col_40643 from ChartQA validation set. Original resolution: 800x1556."

But yeah, ultimately which resolution you need depends on the image content, and if you need to squeeze out every bit of accuracy, processing at the original resolution is unavoidable.

zamadatix•8mo ago
It's enough, especially if you select one of the sharper options like Lanczos, but 512px is sure a lot easier for a human.
ninamoss•8mo ago
Really appreciated the post, very insightful. We also use VITs for some of our models and find that between model compilation and hyperparameter tuning we are able to get sub second evaluation of images on commodity hardware while maintaining a high precision and recall.
John7878781•8mo ago
In the Twitter thread the article mentions, LeCun makes his claim only for "high-resolution" images and the article assumes 1024x1024 to fall under this category. To me, 1024x1024 is not "high-resolution." This assumption is flawed imo

I currently use convnext for image classification at a size of 4096x2048 (definitely counts as "high-resolution"). For my use case, it would never be practical to use VITs for this. I can't downscale the resolution because extremely fine details need to be preserved.

I don't think LeCun's comment was a "knee-jerk reaction" as the article claims.

hedgehog•8mo ago
LeCun's technical assessments have borne out over a lot of years. The likely next step in scaling vision transformers is to treat the image as a MIP pyramid and use the transformer to adaptively sample out of that. Requires RL to train (tricky) but it would decouple compute footprint from input size.
tbalsam•8mo ago
As someone who has worked in computer vision ML for nearly a decade, this sounds like a terrible idea.

You don't need RL remotely for this usecase. Image resolution pyramids are pretty normal tho and handling them well/efficiently is the big thing. Using RL for this would be like trying to use graphene to make a computer screen because it's new and flashy and everyone's talking about it. RL is inherently very sample inefficient, and is there to approximate when you don't have certain defined informative components, which we do have in computer vision in spades. Crossentropy losses (and the like) are (generally, IME/IMO) what RL losses try to approximate, only on a much larger (and more poorly-defined) scale.

Please mark speculation as such -- I've seen people see confident statements like this and spend a lot of time/manhours on it (because it seems plausible). It is not a bad idea from a creativity standpoint, but practically is most certainly not the way to go about it.

(That being said, you can try for dynamic sparsity stuff, it has some painful tradeoffs that generally don't scale but no way in Illinois do you need RL for that)

hedgehog•8mo ago
SPECULATION ALERT! I think there's reasonable motivation though. In the last few years there has been a steady drip of papers in the general area, at least insofar as they use vision transformers and image pyramids, and work on applying RL to object detection goes back before that. IoU and the general way SSD and YOLO descendants are set up is kind of wacky so I don't think it's much of a stretch to try to both 1) avoid attending to or materializing most of the pyramid, and 2) go directly to feature proposals without worrying about box anchors or grid cells or any of that. Now with that context if you still think it's a terrible idea, well, you're probably more current than I am.
tbalsam•8mo ago
Not bad frustrations at all. That said -- IoU is how the final box scores are calculated, that doesn't change how you do feature aggregation, this will happen in basically any technique you use.

Modern SSD/YOLO-style detectors use efficient feature pyramids, you need that to know where to propose where things are in the image.

This sounds a lot like going back to the old school object detection techniques which end up being more inefficient in general, generally very compute inefficient.

dimatura•8mo ago
There's been a huge amount of work on image transformers since the original VIT. A lot of it has explored different schemes to slice up the image in tokens, and I've definitely seen some of it using a multiresolution pyramid. Not sure about the RL part - after all, the higher/low-res levels of the pyramid would add less tokens than the base/high-res level, so it doesn't seem that necessary. But given the sheer volume of work out there I can bet someone has explored this idea or something pretty close to it already.
djoldman•8mo ago
Interesting. Can you run your images through a segment model first and then only classify interesting boxes?
lairv•8mo ago
Curious what kind of classification problems requires full 4096x2048 images, couldn't you feed multiple 512x512 overlapping crops instead?
threeducks•8mo ago
ConvNeXT's architecture contains an AdaptiveAvgPool2d layer: https://github.com/pytorch/vision/blob/5f03dc524bdb7529bb4f2...

This means that you can split your image into tiles, process each tile individually, average the results, apply a final classification layer to the average and get exactly the same result. For reference, see the demonstration below.

You could of course do exactly the same thing with a vision transformer instead of a convolutional neural network.

That being said, architecture is wildly overemphasized in my opinion. Data is everything.

    import torch, torchvision.models

    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    model = torchvision.models.convnext_small()
    model.to(device)
    tile_size, image_size = 32, 224 # note that 32 divides 224 evenly
    image = torch.randn((1, 3, image_size, image_size), device=device)

    # Process image as usual
    x_expected = model(image)

    # Process image as tiles (using for-loops for educational purposes; should use .view and .permute instead for performance)
    features = [
        model.features(image[:, :, y:y + tile_size, x:x + tile_size])
        for y in range(0, image_size, tile_size)
        for x in range(0, image_size, tile_size)]
    x = model.classifier(sum(features) / len(features))

    print(f"Mean squared error: {(x - x_expected).pow(2).mean().item():.20f}")
tbalsam•8mo ago
As someone who's done a fair bit of architecture work -- both are important! Making it either or is a very silly thing, both are the limiting factor for the other and there are no two ways about it.

Also, for classification, MaxPooling is often far superior, you can learn an average smoothing filter in your convolutions beforehand in a data-dependent manner so that Nyquist sampling stuff is properly preserved.

Also, please do smoothed crossentropy for image class stuff (generally speaking, unless maybe data is hilariously large), MSE won't nearly cut it!

But that being said, adaptive stuff certainly is great when doing classification. Something to note is that batching does become an issue at a certain point -- as well as certain other fine-grained details if you're simply going to average it all down to one single vector (IIUC).

threeducks•8mo ago
> Also, please do smoothed crossentropy for image class stuff (generally speaking, unless maybe data is hilariously large), MSE won't nearly cut it!

Of course. The MSE here is not intended to be a training loss, but as a means to demonstrate that both approaches lead to almost the same result except for some rounding error. The MSE is somewhere in the order of 10^-9.

> Also, for classification, MaxPooling is often far superior, you can learn an average smoothing filter in your convolutions beforehand in a data-dependent manner so that Nyquist sampling stuff is properly preserved.

I don't think that max pooling the last feature maps would be a good idea here, because it would cut off about 98 % of the gradients and training would take much longer. (The shape of the input feature layer is (1, 768, 7, 7), pooled to (1, 768, 1, 1).)

> Something to note is that batching does become an issue at a certain point

Could you elaborate on that?

tbalsam•8mo ago
> The MSE here is not intended to be a training loss, but as a means to demonstrate that both approaches lead to almost the same result except for some rounding error.

Ah, gotcha

> I don't think that max pooling the last feature maps would be a good idea here, because it would cut off about 98 % of the gradients and training would take much longer. (The shape of the input feature layer is (1, 768, 7, 7), pooled to (1, 768, 1, 1).)

MaxPooling is generally only useful if you're training your network for it, but in most cases it ends up performing better. That sparsity actually ends up being a good thing -- you generally need to suppress all of those unused activations! It ends up being quite a wide gap in practice (and, if you have convolutions beforehand -- using avgpooling2d is a bit of extra wasted extra computation blurring the input)

> Could you elaborate on that?

Variable-sized inputs don't batch easily as the input dims need to match, you can go down the padding route but that has its own particularly hellacious costs with it that end up taking away from compute that you could be using for other useful things.

dimatura•8mo ago
Slicing up images to analyze them is definitely something people do - in many cases, such as satellite imagery, there is not much alternative. But it should be done mindfully, especially if there are differences between the training and testing steps. Depending on the architecture and the application, it's not the same as processing the whole image at once. Some differences are more or less obvious (for example, you might have border artifacts), but others are more subtle. For example, contrary to the expected positional equivariance of convolutional nets, they can implicitly encode positional information based on where they see border padding during training. For some types of normalization such as instance normalization, the statistics of the normalization may vary significantly when applied across patches or whole images.
kookamamie•8mo ago
> You don't need very high resolution

Yes, you do. Also, 1024x1024 is not high resolution.

An example is segmenting basic 1920x1080 (FHD) video in 60 Hz formats.

CHY872•8mo ago
The article basically argues: You would expect to get similarly good results with subsampling in practice. E.g. no need to process at 1920x1080 when you can do 960x540. Separately, you can break down many problems into smaller tiles and get similar quality results without the compute overheads of a high res ViT.
dimatura•8mo ago
Yeah, the article was painting with a bit too of a broad stroke IMO, though they did briefly acknowledge "special exceptions" such as satellite or medical imagery. It's very application-dependent.

That said, in my experience beginners do often overestimate how much image resolution is needed for a given task for some reason. I often find myself asking to retry their experiments with a lower resolution. There's a surprising amount of information in 128x128 or even smaller images.

magicalhippo•8mo ago
I have a vivid memory of playing Rise of the Triad[1] against my buddy over serial cable. As most PC games from back then, it used mode 13h[2], so 320x200 resolution with a 256 color palette.

I have the distinct memory of firing a rocket at him from far away because I thought that one pixel had the wrong color, and killing him to his great frustration. Good times.

You can play the shareware portion of the game here[3] to get an idea.

[1]: https://en.wikipedia.org/wiki/Rise_of_the_Triad

[2]: https://en.wikipedia.org/wiki/Mode_13h

[3]: https://www.dosgames.com/game/rise-of-the-triad/

jacobgorm•8mo ago
A nice feature of CNNs is that you can change the resolution at inference time without retraining. For instance, when the user plugs in a camera with a different aspect or decides to the change the orientation of his phone from landscape to portrait. It is not clear to me if VITs can support aspect or resolution changes without any retraining?
lava_pidgeon•8mo ago
Can you elaborate? In my experience it is the opposite: CNNs are highly depend on the input tensor shapes thus resolution change need even an architectional change. While resolution changes in ViT lead to more tokens, a ViT model can handle that (for image classification e.g. you always take the CLS token, Segmentation maps and similar task have the same output as in the input).