Posts tagged with "AI"

Recently I found - 5

2 min read; 10 GFI

Introduction

An occasional collection of things I've recently found on the Internet and added to my bookmarks.

Airwave - an ATC Sim-Game

Flight sims have been my thing for decades. It might be fun to play at being the voice on the other end at some point.

CrashAtlas - Aviation Accident Database & Crash Map

I didn't know I needed an atlas of aircraft accidents. I'm not sure I do, but now I know there is one.

Snowflow

Someone's vibe-coded gaming experiment which, weirdly, is kind of satisfying to mess with.

Terminal graphics protocol

I should really get this into my Textual applications; there's a couple where this could work well.

Losing my heart to the rogallo smolnet browser

Someone had nice things to say about Rogallo.

The team is the product

A good take on something I've thought for a long time, and which is more important now than ever. The idea that a team of people is an unfortunate requirement to get stuff done is wild and short-sighted.

Whitby's Whale Bone Arch to be replaced by bronze replica

It turns out that I've walked through two different sets of whale bones at Whitby, and some time soon I'll encounter my third (albeit replicas this time).

Apple brings AppleCare One to the UK

I'm going to have to look into this, this might save me a couple of quid.

Don't be a meat proxy

I'm going to remember the phrase "meat proxy". In fact, I'm tempted to ask the question "Are you being a meat proxy?" the next time someone sends me something, a question or a reply, that is so obviously just a copy/paste from their chatbot.

LLMs reward expertise

Too many people who are pushing for LLMs and agents in a business environment seem to fail to understand that you can't replace expertise with them.

I feel many organisations will find this out too late.

AI is a bubble, just like dot-com

I do believe that AI is a bubble. I guess the question is: is it a crypto/NFT kind of bubble, or a dot-com kind of bubble?

Grid Bike

The first game I ever wrote, and the first bit of code I ever got paid for, listed on some random Vic20-oriented website!

Grid Bike revived

2 min read; 9 GFI

If you've ever visited my main web site you might have stumbled on Grid Bike. This was a game that teenage me wrote on my VIC-20. I was bold enough to submit it to Personal Computer News, and ended up having it published in the December 21st 1983 edition.

I still have my copy of that magazine. I've also kept a copy of scans of that page on most versions of my website. What I haven't done, since the early 1980s, is play the game.

I suppose, at some point, I could have grabbed a VIC-20 emulator and typed it in. Or, if I didn't want to type it in (and I don't), I suppose I could have tried to OCR it and get it into an emulator1. But of course I never did.

Then, a week or so back, I got to thinking: if I threw the two images at an agent, asked it to OCR the code, and then build me a web-based version of the game... could it manage it?

So, on a whim, yesterday evening, sat on a bed in a hotel in Whitby, I threw a prompt at Antigravity:

In this directory you will find grid-bike-page-1.jpg and grid-bike-page-2.jpg -- these are two scans from a magazine from the early 1980s, that contain a game I wrote for the VIC-20. I want you to OCR the images to pull out the code, understand the code, and then create a faithful recreation of the game as a standalone webpage, with the game written in JavaScript, so that I can play the game once again.

Initially it wanted to install PIL globally and kick off the work that way; I wasn't allowing that so I had to tell it to use uv instead and make a virtual environment in which to work. After that it didn't take too long to OCR the code, comprehend it, and write the website. The first version ended up looking far better than I was expecting.

What followed was about an hour of refinement as I got it to fix some visual problems (the characters it used for the lines didn't quite line up on the corners, for example), some audio problems (trying to get it to recreate the sound of the bike I had going on the VIC proved tricky, and it's still not how I remember it), and also a handful of playability issues when it came to mobile devices.

The desktop version

Eventually though it got to a point where, without question, I had a version of the original game, as I played it on my VIC, running in my browser -- both on desktop and on my iPhone.

The mobile version

I suspect it still needs some more refinement. The placement and layout of the opening text isn't quite right, I don't think, and the audio could still be better. Also, I'm finding the sound toggle button doesn't quite work as I think it should (depending on when you turn it off, it seems like it might or might not actually turn off the sound). I'm also not convinced the "Keyboard Controls" panel is as readable as it could be.

Without question though, it's playable and it's my original game, brought back off the page.

If you fancy having a muck about yourself, it's at grid-bike.davep.dev.


  1. And given how well this has gone, I might try that. 

Recently I found - 4

1 min read; 7 GFI

Introduction

An occasional collection of things I've recently found on the Internet and added to my bookmarks.

This blog is written in English

Yeah, it's okay to write in your own voice, and for yourself. Weird, huh?

GitFut

Got to love a stupid GitHub-based profile rating tool.

Lisp hax

Lots of really useful Lisp code. Hours of great reading.

Very Average Prototypes

Interesting article about some of the downsides of working with AI to create code. Says a few things I've also been saying about my journey with BlogMore.

GTA2js

GTA2. On the web.

Half-Life 2 on the web

Half-Life 2. With follow-ups. On the web.

The AI Hype Reckoning Is Upon Us

Good article about the gulf that does seem to exist between the hype around AI in business, and the actual benefits.

Mastodon, The Only Good Choice

Good article about what Mastodon delivers if you enjoy social media.

Please delete your repository

If you had never opened this repository, there is a 21% chance that we would have already cured cancer. Let that sink in.

I don't care if it's totally made up, it made me chuckle.

CSS-DOS

An entire PC built in CSS.

Human Emacs

I feel like this project is jumping the gun quite a bit, but I also appreciate that it exists. I did also see someone say the other day that it was worth running with anyway to "get away from RMS". Which is fair I guess.

Mastodon Most Followed

Because it's all about being popular...

Web Flight

A flight simulator, on the web. What's not to like?

Perfect to mess with during those boring Teams calls...

A Road to Lisp: Which Lisp

Good review of all the Lisp options you have available to you today.

A24 got embroiled in copyright strikes against online creations related to the Backrooms. People, unsurprisingly, got very angry. The issue seems solved, for the moment, but it says a lot about capitalist appropriation of mass-created popular culture.

ZeroVer

Fantastic list of well-known and popular applications that seem too afraid to ever evolve beyond v0.x.

AI Mania Is Eviscerating Global Decision-Making

I feel this so much. I wish the people who need to read this would read this.

Recently I found - 3

1 min read; 8 GFI

Introduction

An occasional collection of things I've recently found on the Internet and added to my bookmarks.

JSON-LD Explained for Personal Websites

Handy guide to how JSON-LD can be useful for personal websites.

TownSquare

On the one hand, this looks like a fun idea: sort of a Second Life for websites. On the other hand, it's the worst of the Internet, which is no surprise.

The AI Resist List

Does what it says in the title, pretty much.

Rest of the World

A good reminder that tech stories come from places other than the "western" world.

smolweb

A handy guide to all things relating to the small web, and related concepts.

Gemtext Is Not Accessible

A good reminder that, as fun and neat as Gemtext is, it's not terribly accessible.

Honesty gets Emacs patch rejected

The FSF, in effect, does what the FSF is there to do: defend the copyright of GNU Emacs (among other projects). Meanwhile someone attempts to contribute a patch written by a large language model, and seemingly gets offended that it's rejected. I think the worst part about it is they seem to think that being honest about using an LLM should let their contribution in.

The UnOfficial History of Second Life!

A pretty fun Reddit post that contains a potted history of the evolution of Second Life. I've had an account for a good chunk of that time, and it all reads about right to me.

Radial

I've long been a fan of pie menus. I wish macOS had adopted and used pie menus. This looks like something I need to try out at some point.

The AI Compass

It's one of those "compass" type quizzes that works out where you stand on the whole issue of AI. I landed on "The Skeptic".

Recently I found - 2

1 min read; 12 GFI

Introduction

An occasional collection of things I've recently found on the Internet and added to my bookmarks.

Gemini hypertext format specification

The specification for the hypertext format used by the Gemini protocol, also known as "gemtext". Currently I'm developing my own terminal-based Gemini client so this comes in very handy.

UK government's under-16s social-media ban

The press release from the UK government, covering the intended ban on social media for under-16s. Even if we were to assume this is a good thing (and I'm far from convinced it is), the proposal as it looks right now is hilariously bad and appears to be as ill-informed as any attempt to control the Internet that has gone before.

How to be mean to IIS-based servers

A funny, and kind of informative, post about how you can be mean to IIS servers. Not that I'd ever do that (no, really, I wouldn't, that's not my sort of thing), but it's fun to know that some folk actually do that.

NetNewsWire Status

I was very late coming to NetNewsWire, only discovering it in the last year; it's been one of my go-to RSS tools (along with OldNews, of course) on macOS and iOS ever since. Here the author talks about the progress made in the last year.

The LLMentalist Effect

An article in which the author talks about the con played by psychics, and how large language models pretty much do exactly the same thing.

Dialog attendance list

Does what it says on the tin: shows the list of people who were "leaked" on the Dialog website.

The Community is the Achievement; the Achievement is the Community

An article on how community is one of the important properties of where tech has taken us, and the threat that AI poses to this. As of the time of writing, this is still on my to-read list, but I strongly suspect it's going to be a good and useful read.

Copyright Nvidia

1 min read; 7 GFI

I've been trying, on and off, copilot.el. I'm kind of 50/50 on it most of the time. Sometimes it seems to really understand the code around what I'm working on and does a good job of helping complete the thing I'm about to type; other times it makes wild predictions that just annoy me and get in the way.

It's interesting to experiment with though.

But, just now, I saw something new1. I'd just started a fresh file and run funhead. That means that what had been typed into my buffer was:

##############################################################################
# _

and my cursor was sat where you see the _ above. Then Copilot made a suggestion:

Copilot doing its thing

Like, sure, we all know that this is what can happen, but damn. Still, of all the companies involved with or adjacent to AI, I guess they're the ones to care the least.


  1. To me, I know others have seen this sort of thing before. 

Wasat - A Gemini protocol library for Python

2 min read; 10 GFI

I can't remember how and where I saw it, but just over a week ago I ran into Project Gemini. Somehow I've never read or seen anything about this before, which is pretty wild considering it's been on the go for around seven years now. As I read up on it I got more and more intrigued. I had the urge to do... something with it.

I think the thing I want to do, and I know I'm far from the first, is write a client for the terminal. I'm envisioning something very similar to Hike, but obviously only targeting the gemini protocol itself, and only handling and rendering gemtext.

I will, obviously, be looking to write this in Python, and of course, will be looking to use Textual, which means that it would be useful to have a Python client library for the protocol, and ideally a client library that is async. I did some searching, found client libraries, but none of them seemed to be async-first.

With this in mind, and to kick-start the project, last night I fired up Antigravity1 and got a library up and going. Wasat is the result. For the moment this should be considered alpha-status software (hence v0.0.1). I've done some very rudimentary testing and experimenting with it and, so far, so good. It's also proving to be a good tool with which to get to know the protocol. It also gives me another project to use to experiment with an agent (this being the first project I've started from scratch using Antigravity).

Over the next few days I'm going to toy with the library more, clean up the code, look for any issues, and then I'll start on the client application. That will be hand-built; no AI. I have some ideas of fun things I want to do, especially when it comes to handling gemtext.

It'll be nice to have a new pet project that's a hand-coded project. The first significant one since OldNews.

Getting back to Wasat itself: I believe it has everything necessary to allow for writing such a client (which, to be fair, isn't much -- that's kind of the point of the protocol). It also comes with a simple CLI built in, which can be run with python -m wasat (if it's just installed as a library) or with wasat (if installed globally, along with any command scripts). The command itself is just a simple download tool for a "page" in a "capsule". For example, I can grab the content of a test capsule I've created:

$ wasat gemini://davep.gemcities.com/
# Introduction
Hey! I'm Dave. Normally you'd find me at:
=> https://www.davep.org My web site
or
=> https://blog.davep.org My blog
amongst other places. But I discovered Gemini and I'm really curious about
the idea, so here I am giving GemCities a go to get to know things a little
better.

(with thanks to GemCities for providing a neat little service).

As for where this is all going: there's no direction, really. I've found a neat new thing that I didn't know about before, the idea sits well with me, and I want to explore it more. It also gives me an excuse to do a thing I really enjoy doing: writing terminal-based TUI applications for the sake of it, and especially writing one that works just how I want.


  1. No, not that one, the other one

It got darker

3 min read; 9 GFI

By pure coincidence, it's six years ago tomorrow that I finally, after years of running Emacs with a bright white background, moved to using a dark theme. It took a little bit of getting used to but eventually I got very comfortable with it, and since then have run everything I can in a dark mode too.

On occasion, in the last year or so, I've had this urge to move to something darker. Also, in part, it's an urge to change things up a little. I felt it was time for a refresh of how my Emacs looks. I've tried a few themes, but none have ever stuck. When trying them I've run into various issues:

  • It just didn't look nice at all
  • Too many other things I use in Emacs didn't get themed
  • It looked like there was going to be too much work to do to really theme things well
  • It caused Emacs to crash1

However, yesterday evening, after making an effort to simplify my mode line, I was determined to find a darker theme that I would be happy with. I think I finally managed!

An even darker Emacs

I've settled on modus-vivendi from modus themes. Out of the box it felt right, and from what I can see in the documentation there's an amazing amount of customisation you can do. The key point there too is the documentation; there's so much of it, it's incredibly comprehensive.

For example: the default choice for the mode line is to have an unsubtle border around it -- presumably to create a good contrast. I found that far too distracting and was wondering what I could do about it. I didn't have to wonder long, the documentation addresses exactly that situation.

Another downside I ran into is that the colours that were showing in the mode line, when I switched to mood-line yesterday, were gone. I spent a short amount of time last night, and a good hour or so this morning, trying to wrangle mood-line into something I liked, but I just couldn't get anything sensible going. Eventually I cracked, fired up Antigravity, prompted it with:

I am using mood-line for my mode line -- see init.d/packages.d/melpa/mood-line.el and https://github.com/emacsmirror/mood-line

I am using https://protesilaos.com/emacs/modus-themes as my theme

I would like to have finer control over the parts of the mode line I've configured. For example, I'd like the buffer name to stand out in an informative colour, but one that is part of the modus theme's colour scheme.

Don't make changes yet, but help me understand how I should do this in a maintainable way.

and then spent about 20 minutes going back and forth, refining what I wanted; this got me a result I'm happy with from a visual point of view. I still need to fully review the code and the approach it took, but it isn't too far removed from what I'd been trying myself.

Overall I'm pleased with the result, and this is the longest I've stuck with a new theme (at this point I'm probably about 4 or 5 hours into working in it). I think that says something significant. I can see myself still wanting to tweak some aspects of it though. For example, the left-hand fringe doesn't feel quite right, in a way I can't quite put my finger on. While I want it to stand out from the main editing area, it feels... disconnected in some way. Also the background colour of the mode line still feels like it doesn't quite blend how I'd like.

Now to see if this lasts...


  1. Seriously, just the once, but that happened. I took that as a sign from the Lisp gods that I was doing something sinful. 

New GitHub Copilot billing is popular

1 min read; 8 GFI

So today is the day, today is when GitHub Copilot swaps to its new billing system. Watching the relevant subreddit suggests this might not be popular.

Some folk think it isn't the smartest move.

Not a good choice

Some don't feel too friendly towards it any more.

Friendship ended

It looks like some of those friendships have lasted a while.

2021-2026

Some saw the opportunity to create content out of the situation.

A cancellation video

Some have figured out that the thing that costs money, costs money.

It is too expensive

Someone used up half their monthly allowance on just 8 requests.

Half used after 8 requests

Although, of course, there's always someone who has to do it better.

Half after 1 request

To be fair though, at least one person loves the new system.

Love the new system

As for my subscription, which came about after I initially experimented with free access to the tool, I've not actually cancelled yet, but I can't see me making use of it much more. I might try a couple of prompts with it, along the lines of what I was doing while working on BlogMore, just to get a feel for how different the usage is now.

Meanwhile, though, I've found that I'm getting on a lot better with Antigravity and getting the bits done I want to do. I suspect this is how I'll keep tinkering with BlogMore, until Google come to their senses anyway.

BlogMore v2.35.0

1 min read; 9 GFI

Well, I wasn't expecting to release a new version of BlogMore quite so soon, given I made a release earlier today. But an issue came in that the Bluesky icon wasn't showing in the socials section on someone's blog, despite the fact that the docs suggested it should work.

Sure enough, the icon wasn't there despite the docs giving Bluesky as an example that should work. A quick check, and the reason for the problem was clear: the code was using a version of FontAwesome that didn't have that icon. An easy fix.

It's interesting to note that Copilot/Claude (which is what did this work originally) produced one thing in the code, and then made an unsupportable claim in the documentation. Furthermore, it didn't construct the tests to at least match the documentation's claims. None of this is a surprise, of course, but it is a good illustration of the fact that agent-based coding is just fancy auto-complete with no real ability to maintain a coherent view of the whole project.

Anyway, v2.35.0 is now available and I too can have a Bluesky link in my socials. Oddly, I hadn't thought to add it before now.