HN user

kcartlidge

694 karma

UK Software Engineer (sometimes Lead). C#, Go, Node, Python, AWS.

Posts1
Comments566
View on HN

This reminds me, a couple of months ago I made my Z80 assembler public on GitHub [1] but never mentioned it anywhere.

It has the usual opcodes and directives, includes, relocation data etc, with a couple of other helpful output files alongside the expected binary one.

Because the driver for it was coding on the ZX Spectrum it will also create tap files with a BASIC loader and loading screen support. And it has a not very featuresome sprite editor built in for the Spectrum screen and attributes. Oh, and a PNG-to-SCR conversion process for loading screens that does a bit of work to show problem areas (as heatmaps).

It's only actually been used by myself and one other person so there may be a few hiccups, but it WOMM :)

[1] https://github.com/kcartlidge/GoZ80

Count Binface 8 days ago

That is so sad and even somewhat shocking.

It would be if it were a meaningful comparison, but it isn't. The comparison shouldn't be about the GDP per capita etc, but the life that gets you in the country you live - and there it fails.

There's a distinction.

- For the AI provider it is a massive money sink due to cost/revenue maths

- For the AI consumer it's not a massive money sink if you arrange things so your ongoing costs are lower than your savings

It isn't a simple yes or no overall, only per side of the fence.

With agentic stuff there's also a large amount of commits which are not code.

For instance with OpenClaw and similar, they often simulate institutional and short term memory with markdown files in folders. Other tooling that runs companies using agents as staff, for example, do the same - but also with files for inputs, outcomes, handovers etc.

All of this means a lot of extra churn as these kinds of files can be changing with every interaction not just every traditional commit point.

A 1-2-1 in this context likely refers to the 1-2-1 sessions some leads/managers have on a regular basis with each of their reports. One on one catch-ups on how they're doing.

As we're sharing pipelines:

- I write in Markdown files using VS Code and a custom syntax highlighter

- A custom C# tool stitches it together (with YAML metadata)

- It generates reports on chapters, dialogue, character presence etc

- It uses custom code to generate an EPUB (v2)

- It uses custom code to generate a DOCX (validated)

- It uses custom code to generate a PDF (print or with interactive links)

Works great and gives perfect results in seconds (beats Vellum, which I quite like). The only drawback is the yak shaving involved in my totally stand-alone solution leads to more time tinkering than writing.

dBase: 1979-2026 2 months ago

One of my trifecta of 'perfect' DOS software: DataEase 4.53, WordPerfect 4.2, and TopSpeed Modula-2. Given the restrictions of the day, all three were incredible.

I'm a fair bit lower than some others as I only use it outside of work hours on my own small projects, but my Cursor account shows (for a random recent date) 12,184,233 tokens in a day. That day feels pretty representative.

That's with 86 interactions spread intermittently over a couple of hours so if I did a full working day like that I'd be looking at maybe 40 to 50 million.

I like how their number one benefit is Order to Seat. In one fell swoop it shows that:

* Their priority is revenue above all else (fair enough; honest too)

* They are either deceptive or stupid

Re the deception/stupidity - if everyone is moving to using the same app, how does everyone "get served first" as per their bullet point?

So, a UK-only advice, and it strangely assumes that any other service in UK wouldn’t be bound by the same laws.

I suspect it's because whilst other services would be affected we only know about Apple currently and, thanks to iOS and Mac, a large percentage of the population will be using Apple by default for the services impacted. Only Google (Android) and Microsoft (Windows) really overlap in that regard.

Neither has the UK government.

* It wasn't the general election.

* They offered local councils the chance to request it if they were going through a reorganisation or devolution process.

* 18 councils requested and 9 were accepted as justified.

* And even those are only delayed until May next year (one year after the rest of the UK).

So to be clear the UK government not only didn't postpone the general elections but half the councils who requested the local elections were postponed were denied, with the other half having reasons and still doing it a year later anyway.

And all that is actually covered in the page you link to.

Why are we hearing that "studies" have "uncovered the concept of context rot as the number of tokens in the context window increases"? It's obvious, and we've always known this.

Agents are stateless, hence the need for context. This means that all they know about the ongoing session is what's in that context (generally speaking). As the context grows any particular element within it becomes a smaller and smaller percentage of the whole. The LLM is not 'losing focus'; it's being diluted with more tokens. But then I suppose anthropomorphism comes naturally to a company named Anthropic, and 'losing focus' does make it sound more human.

They didn't need a study and article, but it likely contributes towards the mystique. Hence the use of phrases like "this results in n² pairwise relationships for n tokens" to make it sound more erudite and revelatory.

Zig's Lovely Syntax 12 months ago

Thanks for the correction. I never read the spec, just started using it. And as I tend to balance my first and last line indentation I never realised.

Zig's Lovely Syntax 12 months ago

I much prefer C# 11's raw string literals. It takes the indentation of the first line and assumes the subsequent ones have the same indentation.

  string json = $"""
      <h1>{title}</h1>
      <article>
          Welcome to {sitename}.
      </article>
      """;
And it even allows for using embedded curly braces as real characters:
  string json = $$"""
      <h1>{{title}}</h1>
      <article>
          Welcome to {{sitename}}, which uses the <code>{sitename}</code> syntax.
      </article>
      """;
The $ (meaning to interpolate curly braces) appears twice, which switches interpolation to two curly braces, leaving the single ones untouched.

- Some mentions of Lazarus and FreePascal (so basically a cross-platform open source Delphi equivalent). And I'd agree with them.

- For C# I like AOT assemblies using Uno or Avalonia.

- For Go I like TCell (which does cross-platform console mode text GUIs [with cursor positioning, colours, mouse, etc]).

- If you're doing vibe coding I find it tends to work best with Electron.

- The big omission here is anything Python; I don't do desktop apps in Python so can offer nothing. Same for Ruby, though Hotwire Native looks interesting.

Reading through the comments there seems to be some misunderstandings leading to issues with a stance that the potential class action is not taking.

The class action doesn't relate to normal training based on legally acquired materials, which US courts have already said is fair use. It is concerned specifically with training on materials obtained illegally (pirated content).

That looks good (not actually cloned and tried it yet).

However the screenshots in the README show (for me anyway) as broken links, even though they work when clicked on. I can see you're linking to the images in the blobs. If it helps, for my own stuff in the README I link relative to the README file in the actual source. So for one of yours for example I'd use: ./ubiblio_menu.png

This also has the advantages of both being self-contained and also working locally (eg in the VS Code preview) before you've pushed the images.

I blog for the (admittedly infrequent) pleasure of it; I have no expectations, and my page hits confirm that.

In the last 180 days there's been 2507 visitors to the home page, 2803 to the robots file, and 5965 to a page that shows some domains I might sell (but otherwise has no content at all).

The actual article pages averaged between 90 and 170 visitors total per page over those 180 days.

As a numbers thing it isn't worth it (for me). However I have had recruiters cold-contacting me based on my blog (and github), and a publisher wanting me to edit and peer review a technical book. So it can open up new possibilities regardless of the scale of the readership.

(Edit: I don't re-post anywhere else as whilst I have accounts on the socials they are unused placeholders)

To avoid this problem, the scientists surgically implanted mice with electrodes and fiber optic filaments. Although the rodents are tethered to a set of cables, they can fall asleep normally while researchers track blood volume, electrical activity, and chemical levels and use light transmitted through the fiber optic lines to activate certain groups of neurons.

I detest this kind of medical research. It's horrific barbarity.

If the output is important enough for this kind of activity to take place, then it's important enough for humans to volunteer to be the subjects. If nobody volunteers then it isn't that important after all. Leave other species out of it.

I've been coding for around 45 years, the vast majority of them in a professional capacity. I still code an hour or more most evenings and at least triple that at the weekends.

I love writing software. Over the festive period I wrote a text-based double-entry bookkeeping system with balance sheets and income (p&l) statements. For no reason; I just wanted to.

And that's how it is for me. In my own time I code what I want and purely for pleasure. Sometimes it relates to work, but it is never actual work stuff.

My work-life balance has the usual family aspects, but the main thing for me is making that clear distinction on what my motivation is for what I'm working on. As long the motivation isn't for work benefit that's fine, even if the learning outcome does eventually help there.

After seeing people lose cryptocurrency first hand through the LastPass leaks

The reason for those losses was partially that LastPass was encrypting with extremely low iterations on long-standing accounts (it also may not have helped that they didn't encrypt URLs either). That was a terrible practice which isn't duplicated by credible alternatives.

As a matter of opinion you may still be right, though personally I consider the risks of a bad password to be higher than a leak purely because without a password manager making it simple to use long random passwords most do tend to be bad ones (duplicated/short/guessable/engineerable) as those are the only ones that are memorable.

It's the usual trade-off between security and usability, with the perfect being the enemy of the good, especially in regard to pushing less technical users to solutions which may not be ideal but are still much safer.

I loved DBase II and DBase III+ but then I switched to DataEase and did some huge database systems mostly running on Netware. Whilst I used Clipper, FoxPro, and others, for that genre of non-client-server text mode databases DataEase v4 was the ultimate (for my tastes). It didn't do well in the Windows transition and doesn't get much of a mention these days, although dataease.com is still developing and releasing stuff (the old DOS editions were the pinnacle and stuff since then is forgettable).

Dev Fonts 2 years ago

Dev fonts is usually synonymous with fixed width (mono) fonts, and for good reasons. Those reasons are discussed by iA Writer in interesting detail [1]. However they do so as a precursor to their own duospace font, "iA Writer Duo" [2].

It's a compromise, but one that works well (for me). Basically IBM Plex but with m, M, w, and W being 50% wider than all the other characters.

Sounds odd, but is very legible and usually fine depending upon the context of its use.

[1] https://ia.net/topics/in-search-of-the-perfect-writing-font

[2] https://github.com/iaolo/iA-Fonts