HNHacker News
TopNewBestAskShowJobs

tlarkworthy

5,770 karma · joined October 22, 2012

Software Developer with a passion for transparency.

Firebase -> Google -> Futurice -> Taktile

Now in Berlin.

submissionscomments
tlarkworthy··on Inversion: Fast, Reliable Structured LLMs
Dirtyjson
tlarkworthy··on Spent brewer's yeast as a biosorbent for metal recovery from polymetallic waste
I remember a company in Scotland using whiskey byproducts for metal decontamination

https://www.abc.net.au/listen/programs/scienceshow/barley-hu...

tlarkworthy··on Lambda on hard mode: serverless HTTP in Rust
Function URLs are not limited to 30 seconds. That's massive
tlarkworthy··on All you need is Wide Events, not "Metrics, Logs and Traces"
FWIW I think x-ray has everything you need, its just that AWs tooling does not give you much ability to aggregate over x-ray bundles. I wrote a tool to help bulk load x-ray samples into a local browser duckdb and then slice and dicing in realtime interactive visualisations. It also includes the ability to generate a flamegraph over the selected traces. All this great data is already in an AWS, account and we just need better tools to make use of it.

https://observablehq.com/@tomlarkworthy/x-ray-slurper

tlarkworthy··on A giant meteorite has been lost in the desert since 1916
that's how they do them for real. Only with a helicopter and pilot, but still, with a big magnet and sensors hanging underneath.
tlarkworthy··on CNC lasers for cutting and engraving
I love Lazer cutting because the drawing format is SVG and therefore it's very easy to to write parametric generators in the programming language of your choice! So it's very easy to connect the physical object to some larger app, like 3d visualizing the expected output or assembly instructions and remain parametric throughout.

I'me using observable notebooks to design some things https://observablehq.com/d/1117987aeab1be0d

tlarkworthy··on A supply chain attack on PyTorch
> Self-hosted infrastructure should be isolated and ephemeral, persistence was key for lateral movement with this attack.

Half the point of self hosting is to reuse cached resources.

tlarkworthy··on Towards Modern Development of Cloud Applications (2023)
I am a big proponent of the fat lambda paradigm, but it falls short in a few areas and then you need to split - security boundaries (e.g. isolating user code) - dependency overheads
tlarkworthy··on Trade-offs between Different CRDTs
Yeah network bandwidth scaling with participant count is the the main headwind i.e. it's quadratic in most CRDTs at the moment AFAIKT
tlarkworthy··on Ask HN: Small-batch builds of smaller phyiscal objects
Shapeways metal prining? Can do steel. Kinda expensive but also not when you think about it.

https://www.shapeways.com/business/metal-3d-printing

tlarkworthy··on Thoughts on Testing
I primarily try to aim tests at the public API contract. This is a long promise so the code churn the author mentioned should not be affected.

Testing internal details is technical debt.

If your change has not effect on the public API contract... why are you doing it? Think harder...

tlarkworthy··on Decision Table Patterns (2020)
BPMN and DMN are mature and standardized technologies for enterprises. Support from IBM, SAP, Redhat etc. but Camunda is where I learnt it.

https://www.ibm.com/docs/en/odm/8.10?topic=center-when-use-d...

https://training.sap.com/course/sig141-dmn-12-basics-classro...

https://access.redhat.com/documentation/en-us/red_hat_decisi...

That's the decision engine part. For domain modeling (i.e. expressing logic) you have to search for fluff https://www.trisotech.com/dmn-hit-policy-explained/

I get a feeling that perhaps DMN is taught to business .ajora and never to CS majors, which is why it is this big thing no-one on HN knows about

https://mit-online.getsmarter.com/presentations/lp/mit-busin...

tlarkworthy··on Decision Table Patterns (2020)
There are more expressive versions which are less formal but have the ability for more than one row to fire, which is then resolved with a "hit policy". Used in finance and process modelling

https://docs.camunda.io/docs/components/best-practices/model...

tlarkworthy··on Email addresses are not good 'permanent' identifiers for accounts
Identical twins would be the common failure mode
tlarkworthy··on The value of canonicity (2020)
Yeah, but you see, that doesn't work. You can't start hipster and switch to conservative. Because you have a number of specialist tools that are hard to reapply. As I said, you can see the cracks in the article. The use of diatomic is caveated. I feel like someone has had a realization that they need to stop using tailored technologies. This article is them trying to put the breaks on the engineering culture of over-engineering. Or maybe diatomics success means everyone who works there is trying to write a new DB or something.
tlarkworthy··on The value of canonicity (2020)
I don't mean to be harsh. Just reconciling the message with the article's observable facts. I agree with the message, if I applied it I would have a different stack comprised of general purpose tech choices so I could minimize dependencies. Not lots of specialized techs which is close to what we have here.
tlarkworthy··on The value of canonicity (2020)
It's a post about being conservative with technology yet most of the choices seem hipster. Clojure, why not java? Diatomic, why not postgres? Flutter... it's gonna be cancelled.

Though I agree with the message that keeping the library choice small is good. I just think they already lost that war at some point. There are cracks in the argument in the article. Diatomic... "For high value data", implying it did not generalize to low value data, or they have several other dbs around. Shoulda picked postgres, it's more general, but hand was forced by clojure, which was the original hipster in the stack I expect.

tlarkworthy··on What if an SQL statement returned a database?
Yes it should be compressible trivially
tlarkworthy··on What if an SQL statement returned a database?
The purpose of this is to support the annoying limitation that results must be a rectangular matrix. I tweeted this Oct 28th so clearly it solves a problem practitioners already agree with https://x.com/tomlarkworthy/status/1718329733274824783?s=20

Many useful result sets are not rectangular, trees, graphs etc. There is no way to efficiently transfer these results sets in a single query. You either do multiple round trips or pad the leaves with repeated information which eats network bandwidth.

So I am hugely in favour of this work.

tlarkworthy··on Terraform module for scalable GitHub action runners on AWS
Absolutely, there are lots of workloads that do not run on actions and require custom hardware (GPU? Big boxes) or greater privileges to Linux API than actions provide, or just better caching.
tlarkworthy··on Databases are the endgame for data-oriented design
I think your latching onto an overly specific definition of composition. The core of composition vs. inheritance is how you add features to a things, and whether that mechanism is decoupled so you can bolt that feature to other things. A feature is a blob of code, as opposed to data, which is a blob of memory.

ECS means to add a feature, you write a new system. Its decoupled because you don't have to do anything to anything else in the program. Adding a system (feature/code) affects nothing. To bring it to life on a subset of entities, you add components, which are the data portion. It only affects the joint of those entities that have the component. So again, data can be dynamically added even at runtime without affecting anything else.

With inheritance. You need to add a subclass, and restart the program, losing all the data in the process, coz the code is coupled with the data (the definition of a class). This can be annoying for some types of program development.

tlarkworthy··on Databases are the endgame for data-oriented design
Of course it buys a lot, you don't blow away program state when you change the program. That's huge for highly stateful programs.

Also ecs is a prime example of composition over inheritance

tlarkworthy··on Databases are the endgame for data-oriented design
I don't think memory layout is the sole draw, it's also about incrementally building up programs live.
tlarkworthy··on Building AI without a neural network
The retina, dopamine system, basal ganglia, cerebellum, entorhinal cortex all have very specialised coarse grained structures for their specialisations.

The eye is part of the brain for instance. The details are emergent but there is most definitely strong top down architecture encoded in DNA

tlarkworthy··on Reasonable expectation of effectiveness for large dog lifespan extension
Chihuahuas are old breeds, they are healthy, cross-bred Chihuahua even more so. Low feed costs, tired easily and if under 20lbs they can ride in cabin on plane trips.
tlarkworthy··on Ask HN: What's the state of the art for drawing math diagrams online?
The markdown skill of roboco-op can do katex, I've not pushed it too hard but you can train it fairly quickly and because it lives in a JS observable notebook you can connect it reactively to normal coding and debugger and correct the LLM of any mistakes it makes (which it then jams from).

https://observablehq.com/@tomlarkworthy/robocoop-skills#mark...

If you give me a problem I can see if it can solve it

tlarkworthy··on Show HN: Convert any screenshot into clean HTML code using GPT Vision (OSS tool)
Here is the meat https://github.com/abi/screenshot-to-code/blob/main/backend/...

""" You are an expert Tailwind developer You take screenshots of a reference web page from the user, and then build single page apps using Tailwind, HTML and JS. You might also be given a screenshot of a web page that you have already built, and asked to update it to look more like the reference image.

- Make sure the app looks exactly like the screenshot. - Pay close attention to background color, text color, font size, font family, padding, margin, border, etc. Match the colors and sizes exactly. - Use the exact text from the screenshot. - Do not add comments in the code such as "<!-- Add other navigation links as needed -->" and "<!-- ... other news items ... -->" in place of writing the full code. WRITE THE FULL CODE. - Repeat elements as needed to match the screenshot. For example, if there are 15 items, the code should have 15 items. DO NOT LEAVE comments like "<!-- Repeat for each news item -->" or bad things will happen. - For images, use placeholder images from https://placehold.co and include a detailed description of the image in the alt text so that an image generation AI can generate the image later.

In terms of libraries,

- Use this script to include Tailwind: <script src="https://cdn.tailwindcss.com"></script> - You can use Google Fonts - Font Awesome for icons: <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.3/c...

Return only the full code in <html></html> tags. Do not include markdown "```" or "```html" at the start or end."""

I personally think defensive prompting is not the way forward. But wow its so amazing this works. Its like things I dreamed of being possible as a teenager are now possible for relatively little effort.

tlarkworthy··on A coder considers the waning days of the craft
I wrote just the tool to optimize AI in the hand of a coding expert https://observablehq.com/@tomlarkworthy/robocoop
tlarkworthy··on Show HN: Roboco-op, a computational blackboard for efficient human/AI collab
As its quite a steep learning curve I will add announce better instructions and UX upgrades here https://www.reddit.com/r/robocoop/
tlarkworthy··on Show HN: Roboco-op, a computational blackboard for efficient human/AI collab
As its quite a steep learning curve I will add announce better instructions and UX upgrades here https://www.reddit.com/r/robocoop/
← PreviousPage 5 of 34Next →