2024-07-27 Tired of programming

My summer break has begun, and I am tired.

I wanted to work on some sort of editor. I contributed some lines to Anvil, an Acme-inspired editor, and then I figured I should go back to text editing because writing acceptable GUI editing is just sooo much effort. So now I’m trying to use ed again… I'm experimenting with using `rlwrap` around `ed` and it's not so bad if you're just writing, like writing an email. But really writing, organizing, moving things around… it really doesn't work all that well. I had imagined a sort of conversational UI – which I guess ed has? – if ed is your grumpiest of companions! – and I guess I was looking at my Oddmu site generator and Markdown file server and thinking: what sort of editor would I need to maintain this? What sort of minimal SVG editing capabilities would be nice to have? That was my starting point. Then I dropped the graphics because writing that seemed like a pain. Then I started thinking about the GUI components: using fonts with Harfbuzz, Unicode support, hyphenation (per language), spell-checking (per language), and on and on. It's too much.

But where does that leave me? Adding a few features to ed? Am I in fact reinventing vi, badly?

2024-06-01 Fonts are important, 2024-06-13 Anvil Editor and multiple cursors, 2024-07-24 My ed, wondering

2024-06-01 Fonts are important

2024-06-13 Anvil Editor and multiple cursors

2024-07-24 My ed, wondering

I wanted to work on a local Gridmapper variant, written in Common Lisp. I already have a working prototype in Common Lisp and I already have a Javascript web application in production. This is a single file, a stand-alone SVG+Javascript web application. It works online and offline. Thus, my entire tinkering with CL right now has as its goal to produce a native application that would work without a browser.

Whenever I start working on native GUI stuff, like working with SDL2 or Cairo or similar libraries, my eyes start bleeding. Vanilla JS and the browser really is a pretty nice virtual machine available to many of us. Having spent a day trying to get SDL2, SDL2 gfx and Cairo sorted out for this Common Lisp app I'm looking at really makes me want to drop it all for another two years and focus on JavaScript instead. It can't be that bad! Javascript gives me the DOM and SVG and all that, practically for free…

And three different bindings Common Lisp bindings for SDL2 in various states of neglect is draining. Switching from one to the other is tricky since the first one had many idiomatic helpers functions that the other is lacking. But the first one is lacking a gfx port. Then again, I guess I can add circle drawing using lines.

Everything takes so long. So damn long.

2022-07-20 Gridmapper CL 5, 2024-07-24 Gridmapper Local

2022-07-20 Gridmapper CL 5

2024-07-24 Gridmapper Local

A while ago I started collecting links with quotes instead of relying on browser bookmarks or third parties. I remember at one point my bookmarks were just HTML files generated by the browser. Good times! And there was Delicious, a service now defunct, I guess. So now I keep bookmarks on this site. It's great.

bookmarks on this site

I wondered whether I should write a tool that monitors those pages, and when new items get added, a feed is updated. Just a little program… it doesn't seem hard. So I gave it try. I like documentation first, these days so I began with a man page for it. Good, good. Then I though that perhaps I should use the same Markdown parser as Oddmu uses. So I needed to write this tool in Go. How hard can it be? It's a bit harder than writing it in Perl. Oh, and I needed to parse the RSS file, too. Or use SQLite to store data. It keeps getting harder.

Well, I spent some time on it and now I'm tired again. This too, takes too long!

I feel defeated. Am I too impatient?

I should read a book.

​#Programming

# hipster shell
alias ls='echo Using exa instead;exa'
alias du='echo Using dust instead;dust'
alias top='echo Using htop instead;htop'
alias find='echo Using fd instead;fd'
alias grep='echo Using rg instead;rg'
alias files='echo Using yazi instead;yazi'
alias cal='echo Using khal instead;khal'
alias screenshot='grimshot'
alias copy='wl-copy'
alias paste='wl-paste'

I set up `khal` and `khard` which required me to set up `vdirsyncer` to sync the remote calendars (and contacts) to local copies. This is also good for backup, I guess.

Let me know if you know of other such tools.

RSS

bookmark-feed

I installed a daily cron job:

47  23  *  *   *     /usr/bin/nice /home/alex/perl5/perlbrew/perls/perl-5.40.0/bin/bookmark-feed /home/alex/alexschroeder.ch/wiki/*_Bookmarks.md /home/alex/alexschroeder.ch/wiki/*-bookmarks.md /home/alex/alexschroeder.ch/wiki/bookmarks.rss

The readable variant is this: `bookmark-feed markdown-files… feed-file`. The files it looks at once a day are my Bookmarks. The feed it generates is bookmarks.rss. The database it uses is bookmarks.db.

Bookmarks

bookmarks.rss

bookmarks.db

It doesn't do expiration from the database but uses only the last 40 items for the feed.

When populating the database, all I had was the timestamp of the Markdown pages, so the existing bookmarks are all relatively unsorted – they are sorted by the timestamp of the most recent addition to the whole category, which pretty weird.