HN user

jbarrow

787 karma

https://jbarrow.ai

Senior Research Scientist @ Adobe Research

Previously: - Head of ML @ Pattern Data - NLP PhD from University of Maryland

Posts38
Comments92
View on HN
huggingface.co 28d ago

Show HN: Locus-v1, a dataset of 2.2M local laws and ordinances

jbarrow
2pts0
jbarrow.ai 2mo ago

Building a 1-Outlet, 4-GPU Workstation

jbarrow
2pts0
jbarrow.ai 2mo ago

Agents Have (Information) Needs

jbarrow
2pts0
www.liquid.ai 3mo ago

LFM2.5-350M: No Size Left Behind

jbarrow
3pts1
www.itu.dk 4mo ago

What every computer scientist should know about floating-point arithmetic (1991) [pdf]

jbarrow
125pts56
github.com 9mo ago

Show HN: CommonForms – open models to auto-detect PDF form fields

jbarrow
1pts1
detect.penpusher.app 1y ago

Show HN: Automatically Turn PDFs into Fillable Forms

jbarrow
3pts2
softwaredoug.com 1y ago

Turning my laptop into a Search Relevance Judge with local LLMs

jbarrow
3pts0
arxiv.org 1y ago

Question Answering is a Format; When is it Useful?

jbarrow
1pts0
arxiv.org 1y ago

Do LVLMs Understand Charts?

jbarrow
1pts0
github.com 1y ago

Show HN: Tinyhnsw – The Littlest Vector Database

jbarrow
17pts0
notes.penpusher.app 1y ago

Google Gemini 101 – Object Detection with Vision and Structured Outputs

jbarrow
1pts0
laion.ai 3y ago

OpenFlamingo v2: New Models and Enhanced Training Setup

jbarrow
6pts0
www.arxiv-vanity.com 3y ago

Multi Hash Embeddings in SpaCy

jbarrow
1pts0
github.com 11y ago

Show HN: LambdaNet – A functional neural network library written in Haskell

jbarrow
56pts7
codingforlawyers.com 11y ago

Coding for Lawyers

jbarrow
91pts43
karczmarczuk.users.greyc.fr 11y ago

Church Numerals

jbarrow
30pts9
thinkster.io 11y ago

A Better Way to Learn AngularJS

jbarrow
1pts0
www.youtube.com 11y ago

The Next Generation of Neural Networks (2007)

jbarrow
3pts0
archive.fosdem.org 11y ago

Scientific GPU Computing in Go

jbarrow
5pts0
www.popularmechanics.com 11y ago

Why we should encrypt everyone's email

jbarrow
2pts0
neuralnetworksanddeeplearning.com 11y ago

A visual proof that neural nets can compute any function

jbarrow
217pts80
www.kingarthurflour.com 11y ago

Basic Bread Formulas

jbarrow
2pts0
nuit-blanche.blogspot.com 11y ago

Yoshua Bengio on Deep Learning

jbarrow
5pts0
nowiknow.com 11y ago

Now I Know: A Daily Newsletter of Interesting Things

jbarrow
1pts0
www.virgin.com 11y ago

Will astronauts be the norm in 50 years?

jbarrow
1pts0
blog.eyewire.org 11y ago

Behind the Science: An Introduction to Connectomics

jbarrow
1pts0
googleresearch.blogspot.com 11y ago

Google Research Awards: Summer 2014

jbarrow
3pts0
www.binpress.com 11y ago

Creating a City Building Game with SFML

jbarrow
1pts0
boingboing.net 11y ago

The Singularity is Far: A Neuroscientist's View

jbarrow
7pts0

I'm always glad to see more multi-page work in VLM-based OCR. Especially single-pass. One of the few other multi-page papers from recently, MinerU-Popo, treats fixing up multi-page outputs as a post-processing correction step (https://arxiv.org/abs/2605.24973). Interesting to see the drop-off in quality as you up page count, though.

I also think the attention approach (always attend to the image/prefix, with a sliding window for local context) is neat!

I do wish they updated their comparison table to include more recent work (that scores marginally better on OmniDocBench), like dots.mocr.

Very cool to see a company pushing what's possible with (relatively) tiny models! A 350M parameter trained on 28T tokens that, from the benchmarks, is competitive with Qwen3.5-0.8B.

Comparing the architecture to Qwen3.5, it seems:

- fewer, wider layers

- mixing full attention and conv's, instead of the full+linear attention of Qwen3.5

- the vocab is about 1/4 the size

Shared this because I was having fun thinking through floating point numbers the other day.

I worked through what fp6 (e3m2) would look like, doing manual additions and multiplications, showing cases where the operations are non-associative, etc. and then I wanted something more rigorous to read.

For anyone interested in floating point numbers, I highly recommend working through fp6 as an activity! Felt like I truly came away with a much deeper understanding of floats. Anything less than fp6 felt too simple/constrained, and anything more than fp6 felt like too much to write out by hand. For fp6 you can enumerate all 64 possible values on a small sheet of paper.

For anyone not (yet) interested in floating point numbers, I’d still recommend giving it a shot.

I've been noticing a _lot_ more AI-generated/edited content of late, both comments and stories. It's gotten to the point that I spend a lot less time on HN than I used to, and if it continues to get worse I expect I'll quit altogether.

At the end of the day, I'm here because of all the thoughtful commenters and people sharing interesting stories.

Watsi is incredibly inspiring!

I’ve been a monthly donor since ~the beginning when I was just an undergraduate, and I still read the stories and emails I receive. I’m glad that you opted for the steady growth path, and that you’ve made it a sustainable thing.

The whole thing feels AI written, generated from the codebase.*

*this is incorrect per the author’s response, my apologies.

For instance, it goes into (nano)vLLM internals and doesn’t mention PagedAttention once (one of the core ideas that vLLM is based on)[1].

Also mentions that Part 2 will cover dense vs MoE’s, which is weird because nanovllm hardcodes a dense Qwen3 into the source.

Here are better (imo) explainers about how vLLM works:

- https://hamzaelshafie.bearblog.dev/paged-attention-from-firs...

- https://www.aleksagordic.com/blog/vllm

- https://huggingface.co/blog/continuous_batching

Aleksa’s blog is a bit in the weeds for my taste but it’s really worth working through.

A lot of the magic of vLLM happens in the PagedAttention kernels, which are really succinctly implanted in nanovllm. And the codebase is great and readable by itself!

1. https://arxiv.org/abs/2309.06180

Training ML models for PDF forms. You can try out what I’ve got so far with this service that automatically detects where fields should go and makes PDFs fillable: https://detect.semanticdocs.org/ Code and models are at: https://github.com/jbarrow/commonforms

That’s built on a dataset and paper I wrote called CommonForms, where I scraped CommonCrawl for hundreds of thousands of fillable form pages and used that as a training set:

https://arxiv.org/abs/2509.16506

Next step is training and releasing some DETRs, which I think will drive quality even higher. But the ultimate end goal is working on automatic form accessibility.

Existing “auto-fillable” tools are pretty lackluster in my experience. CommonForms is tooling that can automatically detect form fields in PDFs and turn those PDFs into fillable documents. The dataset is ~500k form pages pulled from Common Crawl, which I trained the object detectors on. For being vision only, the results are pretty remarkable!

Releasing the dataset, paper, models, and (imo most importantly) simple/convenient tooling to automatically prepare any PDF.

Links: Repo: https://github.com/jbarrow/commonforms - Paper: https://arxiv.org/abs/2509.16506

I’m personally a huge fan of Modal, and have been using their serverless scale-to-zero GPUs for a while. We’ve seen some nice cost reductions from using them, while also being able to scale WAY UP when needed. All with minimal development effort.

Interesting to see a big provider entering this space. Originally swapped to Modal because big providers weren’t offering this (e.g. AWS lambdas can’t run on GPU instances). Assuming all providers are going to start moving towards offering this?

Editing text in PDFs is _really_ hard compared to other document formats because most PDFs don't really encode the "physics" of the document. I.e. there isn't a notion of a "text block with word wrapping," it's more "glyphs inserted at location X with font Y."

If the PDF hasn't been made accessible, you have to do a lot of inferencing based on the layout about how things are grouped and how they should flow if you want to be able to make meaningful edits. Not impossible (Acrobat does it), but very challenging.

It's part of the legacy of PDF as a format for presentation and print jobs, rather than typesetting.

Wonderful! Inserted form-fields show up in Preview and Acrobat, which is not a trivial task. I run a little AI-powered tool that automatically figures out where form fields should go (https://detect.penpusher.app) and robustly adding form fields to the PDF was the hardest part.

Fwiw, I do see the issue with being unable to scroll down across both Safari and Chrome.

I'm sorry I missed this earlier, but I absolutely believe that it could do that. Do you have any pointers to PDF forms that work well or don't work well with screen readers? I'd be happy to take a look, and see if I can improve this tool based on that.

In addition, did you try the "enhanced" pipeline? It gives each field a meaningful name based on the label, which might help with accessibility.

PDF accessibility is a huge issue that _should_ be easily solved, but isn't, unfortunately.

Unfortunately Gemini really seems to struggle on this, and no matter how we tried prompting it, it would generate wildly inaccurate bounding boxes

Qwen2.5 VL was trained on a special HTML format for doing OCR with bounding boxes. [1] The resulting boxes aren't quite as accurate as something like Textract/Surya, but I've found they're much more accurate than Gemini or any other LLM.

[1] https://qwenlm.github.io/blog/qwen2.5-vl/

Mostly because OpenAI's vision offerings aren't particularly compelling:

- 4o can't really do localization, and ime is worse than Gemini 2.0 and Qwen2.5 at document tasks

- 4o mini isn't cheaper than 4o for images because it uses a lot of tokens per image compared to 4o (~5600/tile vs 170/tile, where each tile is 512x512)

- o1 has support for vision but is wildly expensive and slow

- o3-mini doesn't yet have support for vision, and o1-mini never did

I've been very impressed by Gemini 2.0 Flash for multimodal tasks, including object detection and localization[1], plus document tasks. But the 15 requests per minute limit was a severe limiter while it was experimental. I'm really excited to be able to actually _do_ things with the model.

In my experience, I'd reach for Gemini 2.0 Flash over 4o in a lot of multimodal/document use cases. Especially given the differences in price ($0.10/million input and $0.40/million output versus $2.50/million input and $10.00/million output).

That being said, Qwen2.5 VL 72B and 7B seem even better at document image tasks and localization.

[1] https://notes.penpusher.app/Misc/Google+Gemini+101+-+Object+...

Loved the one in Kansas City! There are some great, thematically-similar museums in other countries as well, if you ever find yourself there:

- the Vasa in Stockholm, Sweden is a ship dredged from the harbor and stabilized, sank in 1628

- the Mary Rose in Portsmouth, England is a Tudor ship that sank in 1545 that was raised and stabilized

In both cases a ton of work was done to stabilize and preserve the remains of the ships that is, imo, almost more interesting than the ship itself.

There will be more cloud-based products turned to bricks by manufacturers that go bankrupt or simply stop caring.

This one feels like a gimme. The recent Garmin outage that partially bricked the Connect app was a bit of a surprise; so much of what Garmin Connect does _should be_ local to the phone. Plus it's a free service (after you've paid for the device).

"You'll own nothing and you'll be happy" doesn't only apply to media/digital goods, but a lot of hardware at this point. :/

This trick is also the way to teach adults, if you're teaching or learning to ride!

For children, there are companies that sell progressive balance bikes[1][2], that start off as balance bikes but can be converted to pedal bikes later. In the US, I've seen tons of cheap Strider bikes on Craigslist, and then you can get the pedal conversion kit separately (you have to get the 14", not the 12").

[1] https://striderbikes.co.uk/collections/14x-balance-pedal-bik...

[2] https://www.littlebigbikes.com/shop/convertible-balance-bike...

Research community is definitely not agreed on this, and there are a number of different camps. Broadly, 2 perspectives from the NLP community:

The 2020 Bender and Koller paper[1] that argues that meaning is not learnable from form, and LLMs are trained on form. They propose a thought experiment ("The Octopus Test" section of the paper) featuring an octopus that can intercept the conversation two humans are having, but "having only form available as training data, [the Octopus] did not learn meaning."

And a contradicting response from Yoav Goldberg (another NLP researcher)[2] with a much more informal discussion of "groundedness" and what LLMs learn. His argument is broadly that instruction tuning + post-training can meaningfully grounds terms like "summarize" etc.

[1] https://aclanthology.org/2020.acl-main.463/

[2] https://gist.github.com/yoavg/59d174608e92e845c8994ac2e234c8...

Yes, though how you do it depends on what you're doing.

I do a lot of training of encoders, multimodal, and vision models, which are typically small enough to fit on a single GPU; multiple GPUs enables data parallelism, where the data is spread to an independent copy of each model.

Occasionally fine-tuning large models and need to use model-parallelism, where the model is split across GPUs. This is also necessary for inference of the really big models, as well.

But most tooling for training/inference of all kinds of models supports using multiple cards pretty easily.

The increasing TDP trend is going crazy for the top-tier consumer cards:

3090 - 350W

3090 Ti - 450W

4090 - 450W

5090 - 575W

3x3090 (1050W) is less than 2x5090 (1150W), plus you get 72GB of VRAM instead of 64GB, if you can find a motherboard that supports 3 massive cards or good enough risers (apparently near impossible?).