HNHacker News
TopNewBestAskShowJobs

calpaterson

4,910 karma · joined May 6, 2008

meet.hn/city/fi-Helsinki

Socials: - github.com/calpaterson

---

https://calpaterson.com

cal - AT - calpaterson - DOT - com

submissionscomments
calpaterson··on Agent memory as a file format
I'm not sure I understand - the schema is set and doesn't get changed by agents as they work
calpaterson··on Agent memory as a file format
You don't have to regenerate a zipfile each time you do something - the zipfile is just to give a single file for distribution. It's just a zip of the directory.

Git is supported in the spec, though the tool doesn't yet handle it (soon! git is nice as you get a log "for free" which helps agents understand more about the memories).

As for sqlite in git: yes you can gitignore it, you could use git-lfs, you could use an out of band database. It would be great if there were another format more amenable to git to store vectors in. I looked at csv closely, but I was worried about float formatting/representational bugs. There is a gap in the market for a format here.

calpaterson··on Agent memory as a file format
Thanks for pointing out recfiles. I was not aware of it and will investigate whether we can reuse anything. That said Markdown with YAML frontmatter is not exactly my own invention!
calpaterson··on Agent memory as a file format
I find that semantic search is substantially better than keyword search even for small corpuses. Being able to find "related" material that doesn't match the keyword is a big advance over traditional full text search.
calpaterson··on Agent memory as a file format
What I propose is only a very slightly more formal version of what you describe.

Just to start with: memoryfields are possible to use in a server/client system. That was a key aim and I do already use them over Amazon S3 (though not always).

I started, like you did, with a personal library of prompts. But the issue is that as your library of little pieces of prompts increases a) you get tired of constantly editing them yourself b) you have no easy way to export and share them with others c) it's frustrating that the agent doesn't "automatically" find your little bit of prompt on X even when clearly it is relevant - hence sem search.

I think a lot of people are still using the "personal library of bits of prompt" model. It is ok. But I wanted to propose an minimal, interchangeable standard for sharing them. So the idea of being an institution and having a shared memoryfield: that's something I want as well!

The spec, feedback greatly welcome:

https://github.com/calpaterson/memoryfield-spec/blob/main/SP...

calpaterson··on Agent Memory as a File Format
Just retrieving usually doesn't count as memory. "Memory" tends to imply writing too.

And I agree: it's not a very special thing. That's why I propose: Markdown + a simple embedding.

calpaterson··on Helsinki Hacker News Meetup
Most welcome
calpaterson··on Helsinki Hacker News Meetup
We also meet in the evenings sometimes, so I would join now and figure it out later.
calpaterson··on Helsinki Hacker News Meetup
You pray that people either have their contact details in their HN profile or that they attached some social networks to their meet.hn post.

Then you trawl through your set of qualified leads :)

calpaterson··on Helsinki Hacker News Meetup
There is https://meet.hn/, which is a good way to bootstrap (and indeed, how I bootstrapped this meetup)
calpaterson··on Helsinki Hacker News Meetup
Having it be an open invitation meetup would attract a very different cohort and would have a very different character. Feel free to start that meetup - I might give it a try. But I wouldn't be interested in spending my personal time organising it
calpaterson··on Helsinki Hacker News Meetup
You were added :) See you in person
calpaterson··on Helsinki Hacker News Meetup
There is a conscientious objector to every communication system. As was said above: WhatsApp had the fewest.
calpaterson··on Helsinki Hacker News Meetup
We've been organising this for a while (a year? more?). It's quite relaxed - just a coffee morning every month or two.

I'm sure there are other HN local meetups who could post in this thread - please do if you have a local meetup

calpaterson··on How the words we teach English language learners changed
There was a good explanation when they published the mechanism

https://news.ycombinator.com/item?id=26998309

calpaterson··on How the words we teach English language learners changed
That is indeed how it works

https://news.ycombinator.com/pool

But not in this case. It's a slow Sunday afternoon and getting a few upvotes quickly is enough

calpaterson··on Dubious research tied to Red Bull has shaped energy drink policy
> Consuming that much caffeine is terrible for your heart.

He's talking about 800mg, and I doubt it. 400mg is well known to be a safe daily level. I doubt by doubling it you will experience massive negative side effects.

Here in Finland (possibly highest caffeine consumption per capita in the world?) there are people who have been drinking well over >1000mg/day for decades and life expectancy and heart health among the population is normal.

calpaterson··on An oral history of Bank Python (2021)
Interestingly, after writing this (some years ago) I spoke to some of the original authors. They had never used Smalltalk. So I suppose they invented this stuff independently
calpaterson··on An oral history of Bank Python (2021)
No, no, there is a single world ring. the 16mb limit is for values
calpaterson··on An oral history of Bank Python (2021)
Well, I say "more or less" :). But the fact that there is a single global database doesn't mean that you can read every key or value (but generally, yes, you can _read_ everything). I mention in passing prolog-style permission systems for evaluating perms.

But anyway, specific trades are rarely private to one part of the bank for many reasons. For example regulatory: these days you have to notify the regulator about every trade.

calpaterson··on An oral history of Bank Python (2021)
They don't use pip, you just import the module and it is pulled from barbara
calpaterson··on In praise of memcached
Mostly is no rule, adding a cache can just save you from having to buy a bigger database instance in many cases.

The most common first thing to cache is getting the current user, because this ends up being a very hot path for most stateless systems. Because you need to get the current user for almost every request, it's quite easy for getting the current user to be 50% of database load: first you get the user, then you do the thing. tada, user lookup is now half your app by volume

calpaterson··on In praise of memcached
Once someone decides they want to use redis as something other than a cache, you sort of do have 2 cache technologies anyway. You can't use a redis instance that is configured for caching for any other purpose (caching instance must have eviction, non-caching instance must not have eviction). You need a second redis with a different configuration.

Honestly designing your app to have a "memcache-friedly cache layout" is the same thing as designing it to have a redis-friendly cache layout. The pattern for this kind of application cache is identical: "get, and if not there, calculate and set".

calpaterson··on Claude Opus 4.8
Yes I switched from claude code to opencode with deepseek recently.

It is basically indistinguishable from sonnet. At this point my own prompts, AGENTS.md, background docs and so on matter a great deal more than the differences between models.

And deepseek v4 flash (the sonnet comparable) costs 3% of what sonnet does.

calpaterson··on Instructure pays ransom to Canvas hackers
It often is illegal to pay them. They are often on sanctions lists, or indeed in embargoed countries. And it's just generally not allowed to pay unidentifiable parties for basic anti-money laundering reasons. And a lot of countries are bringing in new legislation to make paying illegal, starting with public sector organisations. I'm sure that will only expand.

Frankly, you pay a ransom at your peril. If it turns out it was North Korea you may well go to jail for it.

calpaterson··on BookStack Moves from GitHub to Codeberg
Fair enough. I didn't say so but - bookstack is great. Thanks so much for it.
calpaterson··on BookStack Moves from GitHub to Codeberg
As best I can see, bookstack has not experienced much in the way of concrete issues with Github. And there there are no concrete benefits from migrating to Codeberg. It is his project, his perogative, completely. But the major disbenefit of being on some other forge is that people are less likely to find the software and so less likely to adopt it.

I use Bookstack for a family wiki. I probably would not have gone with it if it had not be hosted on Github as the visible activity on Github makes it clear that it's a project with momentum (18k stars, lot's of activity) etc.

I can't help but feel that moving will make the project less successful than otherwise...

calpaterson··on Using the internet like it's 1999
"56k" meant 7 kilobytes per second as a theoretical max. So 4.4 was ok. Everything with networks is done as bits, I think honestly for marketing reasons now
calpaterson··on 中文 Literacy Speedrun II: Character Cyclotron
Interesting process. I wonder if he considered doing this with Anki. That would have given him a good SRS algo for free and Anki cards are also HTML+CSS+JS. I probably wouldn't try to put LLM calls onto my cards though
calpaterson··on Dependency cooldowns turn you into a free-rider
> The only oversight I think in the proposal is staggered distributions so that projects declare a UUID and the distribution queue progressively makes it available rather than all or nothing

That is indeed an oversight - I wish I had thought of that idea!

Page 1 of 31Next →