HN user

sadiq

5,054 karma

Computer Lab @ Cambridge, Co-founded Opsian, OCaml Multicore hacker

Posts161
Comments257
View on HN
notesfromalex.substack.com 5mo ago

Just Fix the Damned Potholes

sadiq
2pts0
jon.recoil.org 7mo ago

An SVG is all you need

sadiq
347pts148
kcsrk.info 8mo ago

Foundations for Hacking on OCaml

sadiq
2pts0
pytorch.org 8mo ago

KernelFalcon: Autonomous GPU Kernel Generation via Deep Agents

sadiq
3pts0
toao.com 10mo ago

Can a model trained on satellite data really find brambles on the ground?

sadiq
178pts53
github.com 1y ago

Unsloth Now Supports GRPO

sadiq
3pts0
www.youtube.com 2y ago

Beyond functional programming: a taste of Verse (Simon Peyton Jones) [video]

sadiq
2pts0
github.com 3y ago

OpenLLaMA: An Open Reproduction of LLaMA

sadiq
484pts180
lilianweng.github.io 3y ago

The Transformer Family Version 2.0

sadiq
2pts0
carper.ai 3y ago

Diff Models – A New Way to Edit Code

sadiq
237pts199
discuss.ocaml.org 3y ago

OCaml 5.0 Multicore is out

sadiq
465pts173
medium.com 4y ago

$10m bug bounty paid for Wormhole vulnerability

sadiq
2pts0
www.notebookcheck.net 4y ago

Third-party Framework expansion modules: MagSafe-style charging and RF support

sadiq
1pts0
github.com 4y ago

OCaml Multicore merged upstream

sadiq
320pts74
discuss.ocaml.org 4y ago

Multicore OCaml: September 2021 - Effect handlers will be in OCaml 5.0

sadiq
17pts3
discuss.ocaml.org 5y ago

Multicore OCaml: April 2021

sadiq
145pts89
discuss.ocaml.org 5y ago

Multicore OCaml: March 2021 update

sadiq
6pts0
www.ft.com 5y ago

WeWork to merge with Spac in $9bn deal

sadiq
2pts0
www.anandtech.com 5y ago

The Western Digital WD Black SN850 Review: A Fast PCIe 4.0 SSD

sadiq
149pts148
discuss.ocaml.org 5y ago

Multicore OCaml: Feb 2021 with new preprint on Effect Handlers

sadiq
119pts29
discuss.ocaml.org 5y ago

Multicore OCaml: Dec 2020 / Jan 2021

sadiq
3pts0
www.opsian.com 5y ago

Profiling can be about time.. but which time?

sadiq
3pts0
www.opsian.com 5y ago

What is profiling and how does it work?

sadiq
2pts0
discuss.ocaml.org 5y ago

Multicore OCaml: November 2020 update

sadiq
4pts0
discuss.ocaml.org 5y ago

Multicore OCaml: October 2020

sadiq
92pts9
www.opsian.com 5y ago

Continuous Allocation Profiling for the Java Virtual Machine

sadiq
1pts0
www.anandtech.com 5y ago

The Samsung 980 Pro PCIe 4.0 SSD – Anandtech

sadiq
1pts0
discuss.ocaml.org 5y ago

Multicore OCaml: August 2020

sadiq
4pts0
techcrunch.com 6y ago

Robinhood, the stock trading app, postpones UK launch ‘indefinitely’

sadiq
2pts0
discuss.ocaml.org 6y ago

Multicore OCaml: June 2020

sadiq
3pts0

I would try https://github.com/ucam-eo/tessera-interactive-map , this is relatively easy to get started with and has a nice interface for labeling.

https://github.com/ucam-eo/geotessera has an image showing our embedding coverage at the moment. Blue areas we have complete coverage for 2024, green areas we cover 2017-2024. We're slowly trying to populate everything 2017-2024 but the constraint is GPU and storage at the moment - each year takes ~20k GPU/200k CPU hours and requires storing and serving 200 terabytes of data. The world is big!

If there is an area you would like prioritised, there's an issue template on the geotessera github repo which we can use to move regions around in the processing queue.

It's possible to use embeddings as input to a convolutional network and then train that using labels. We've done that for at least one of the downstream tasks in the TESSERA paper: https://arxiv.org/abs/2506.20380 to estimate canopy height.

The downside of that approach is that you need to spend valuable labels on learning the spatial feature extraction during training. To fix that we're working on building some pre-trained spatial feature extractors that you should only need to minimally fine-tune.

I was a lot more optimistic about Gabriel's model than he was. It is essentially a presence-only species distribution model where accuracy depends largely on assumptions around prevalence and which really needs some presence-absence data to calibrate.

As I mentioned in one of the other comments, the model is also only pixel-wise. That is, it is not using spatial information for predictions.

We did note several places during the trip that didn't contain bramble. The hotspot in the middle of the residential area was also entirely isolated.

For a proper evaluation you would need to be more methodological but as a sanity-check we were very happy with it.

One other thing to point out about the bramble model is that it is pixel-wise. That is each prediction is exclusively only what is within the 10 metre pixel (give or take the georeferencing error).

It might work. TESSERA's embeddings are at a 10 metre resolution, so it might depend on the size of the features you are looking for. If those features have distinct changes in colour or texture over time or they scatter radar in different ways compared with their surroundings then you should be able to discriminate them.

The easiest way to test is to try out the interactive notebook and drop some labels in known areas.

If you have some GPS locations of truffles, you could use the notebook Anil mentioned here https://news.ycombinator.com/item?id=45378855 and give it a go.

There is the issue of just how visible truffles are from space though, if they grow under cover. That said, it may still work because you can find habitats that are very likely to have truffles. We've had some promising results looking at fungal biomass.

Hyperspectral data is really neat though it's worth pointing out that TESSERA is only trained on multispectral (optical + SAR) data.

You are very right on the temporal aspect though, that's what makes the representation so powerful. Crops grow and change colour or scatter patterns in distinct ways.

It's worth pointing out the model and training code is under an Apache2 license and the global embeddings are under a CC-BY-A. We have a python library that makes working with them pretty easy: https://github.com/ucam-eo/geotessera

Hi! You can find a bit more about Gabriel's model through some of his posts over the last few weeks: https://gabrielmahler.org/posts/

When it comes to the satellite images, the model actually used TESSERA (https://arxiv.org/abs/2506.20380) which is a model we trained to produce embeddings for every point on earth that encodes the temporal-spectral properties over a year.

Think of it like a compression of potentially fifty or a hundred observations of a particular point in earth down to a single 128 dimension vector.

Happy to answer any other questions.

This is good though it's not clear whether these papers will appear in the PMC Open Access subset (https://pmc.ncbi.nlm.nih.gov/tools/openftlist/) and be bulk downloadable.

I've been doing some work with colleagues at Cambridge and Imperial over the last year on using LLMs to improve evidence synthesis, primarily trying to find papers on the effectiveness of certain Conservation interventions. It's becoming clear that you really need to move beyond screening papers only by title and abstract - there's often information buried deep within papers that can only be found with access to full text. My colleague Anil Madhavapeddy has written a bit about our adventures in trying to ingest full-text academic papers: https://anil.recoil.org/notes/uk-national-data-lib

Also worth pointing out there's design constraints on the OCaml 5 GC imposed by some of OCaml's language features (looking at you ephemerons) and C API invariants.

There may be different constraints for other runtimes.

One thing to point out to anyone listening to that episode is that at the time the plan was to only upstream the multicore GC for 5.0 and then follow up with effects. Instead they both went in to 5.0.

(Was a very enjoyable episode though!)

Just to add to the sibling comment. To maintain backwards compatibility, OCaml 5 has both threads and domains.

Threads belong to a domain and only one thread can hold the runtime lock for the domain. This is the same behaviour as in OCaml 4.

With OCaml 5 you can have as many domains as you want though (we recommend no more than you have cores though).

There's definitely some work to build atop the new functionality available in 5.0 and make sure there's plenty of good learning material.

In terms of the compiler and runtime development, the OCaml and ML Workshops at ICFP in October have videos that cover some of the experimental work happening: https://watch.ocaml.org/video-channels/ocaml2022/videos and https://www.youtube.com/playlist?list=PLyrlk8Xaylp7f8T7L5SFF...

There's also a compiler development newsletter that's posted on the discuss at regular intervals which details some of the other work happening: https://discuss.ocaml.org/t/ocaml-compiler-development-newsl...