markjgsmith

Notes

2023/08/31 #

  • Unblocking myself - I've been listening to quite a few podcasts the past 48 hours, yet for whatever reason, no major interesting thoughts have been arising to explore via notes. I'm not sure what it is, perhaps it's because I'm not thinking about code, or maybe the topics covered are too distant for me to have any strong opnions. Or maybe the very notion that I'm blocked from coding is causing me to be blocked in my writting too. So I'm writing this note to see if it unblocks me. #

  • That ambient stagnation feeling - I'm reading this Verge piece about Google and search and how AI is changing all the dynamics of the web. It's part historical, looking at the past, but also very much about the future, yet for some reason I'm reading and reading and it just feels like I'm watching paint dry. I don't think it's terrible writting, it's the sort of article I usually am really into.

    I'm reading it in Pocket so all the website styles have been removed. The article looks very dull, black text on white background. That seems like a plausible explanation, though I do often read articles in Pocket where that doesn't occur. Am I just in a bad mood? I'm feeling quite chill, but I have an ambient sense of stagnation that's difficult to shake. I kind of know already before I start anything that it won't get resolved. So why bother?

    Well I managed this note didn't I? Take that stagnation.

    What is that and where does it come from? #

  • Remember to listen to music more often - Sometimes no matter what you do life just feels flat. The weather today has been particularly lousy, just grey and an on/off drisley rain, that won't make it's mind up. I decided to stop listening to tech podcasts, for some reason most episodes in my podcatcher look to be bitcoin and crypto related and I'm feeling like I have reached digital money podcast saturation.

    Decided to change track completely abd listened to the latest Rest is History podcast about Sixties Fashion. Interesting, fun, colorful and such a fascinating period culturally. The Teenage Revolution and Swinging London definitely worth a listen. Cheered me up a bit.

    Continuing on in the same anything-but-tech approach to the day, now I'm listening to A History of Rock Music in 500 Songs podcast. I'd already listenned to the start of the Dark Star by the Grateful Dead episode week before last. It's epically long so not likely to get through it all today, but it's nice to get out of tech and programming for a little while and into music. I have to remember to listen to music more often. #

2023/08/30 #

  • What if it was no longer possible to distinguish between WMD and CND? #

2023/08/29 #

  • How much worse? - Quite a lot of people are worried about the prospect of the metaverse, where we spend all day with a mask strapped to our faces. I wonder whether the lesson here is that that's not far off what we are already doing. How much worse is it than staring at a monitor / laptop screen all day long? It can literally be measured in centimeters. #

  • I've had this quote going around in my head that I heard David Sachs mention on the All-in podcast last week.

    "We know they are lying, they know they are lying, they know we know they are lying, we know they know we know they are lying, but they are still lying." – Attributed to Aleksandr Isayevich Solzhenitsyn

    It's heck of a quote, made all the more viceral by the picture of a Solzhenitsyn juxtaposed. #

2023/08/28 #

  • Double meanings across cultures and languages - This is my first attempt at writing about this so it might not make a lot of sense. Mixing cultures is complicated, especially when there is a language barrier. One thing that makes it very confusing for everybody is double meanings. Double meanings are just part of a language, sort of unavoidable, but as well as causing confusion they can create amusing situations, but also arguments. The point is it’s important to be aware of them, which isn’t easy, but over the course of a lifetime your brain gets better at it.

    This note birthed the blog post: Double meanings across cultures and languages. #

2023/08/26 #

  • UK politics cognitive disonance - I was listening to the US politics discussion on the latest All-in Podcast earlier, it's very good you should give it a listen, and I was struck with how much more grandiose US politics is than UK politics. It makes sense because they are the world super power so everything they do is in that context.

    This note birthed the blog post: UK politics cognitive disonance. #

2023/08/24 #

  • Nostr is fancy RSS - Instead of static files over HTTP, it's JSON messages over web sockets with added public key cryptography. So you get realtime and much better authenticity guarenties. But it's basically RSS. #

  • Hardware product idea: Portable cloud native in a box - I'd like to be able to do cloud native web development completely offline. I think this could be achieved with a special developer device that creates a minimal dev environment, with mock web services, all accessible over wifi.

    Physical description:

    • Device size of a mobile phone chargeable battery
    • Can run off power outlet or connected to rechargeable battery
    • WIFI hub

    Software features:

    • Browser / mobile app interface
    • One click install of apps
    • Github actions style CI/CD
    • Mocks of all popular cloud services (S3, Dynamo DB, Queues etc)
    • Security / IAM / firewalls

    Changelog did an interesting homelab episode, somewhat related, included a section on raspberry pie running proxmox. #

2023/08/23 #

  • It's quite frustrating not being able to publish new content to the website because of not having any build minutes. Of course this happens both as I'm starting to use the new notes feature that I added, which is leading to me writting a lot more, and as I'm coming up with lots of new ideas for code improvements. I don't want to code until I have build minutes otherwise I'll end up in another feature branch merge extravaganza.

    The other thing that is absolutely typical is that now that I'm not coding, everything around me is relatively quiet. It's so odd, when I'm coding things are chaotic and problematic. This happens literally everytine, it can't possibly be random. I mention this because maybe some day it will become obvious what has been going on and perhaps this data point will be useful in getting to that place. #

  • AI progressive enhancement - Politico Tech has an interview with Google's Kent Walker where they discuss how providers of critical infrastructure should deal with AI. They mention an AI off switch. That got me wondering whether this is similar in some way to progressive enhancement that we use in modern web development. Perhaps a similar approach is necessary for designing these large systems. It should be possible to remove AI and the system should continue to function, though perhaps in a degraded state. #

2023/08/22 #

  • I ran out of build minutes, so that's the end of new content on the website until next month. It's the same thing that happened last month. Last month I ended up going on a bit of a coding frenzy. Of course I couldn't test any of the code so I ended up with around 25 feature branches that I then had to merge in once the new billing cycle started and I had a fresh set of build minutes. That merge extravaganza was in a way what led to me running out of build minutes this month.

    This note birthed the blog post: I ran out of build minutes. #

  • I've been meaning to write a blog post about the Vision Pro for several weeks now. It keeps getting relegated on my various todo lists in favour of other more pressing items. I was reminded of this by a Dave Rupert piece that explores why his initial Vision Pro entusiasm is now wanning.

    I'm still kind of excited about the device, but I was always somewhat puzzled by the expectation that this is going to be a mainstream device. A device that folks not on a plane are going to be using to to watch movies and have video conferences. This just seems plain ridiculus to me, especially given the price.

    This note birthed the blog post: The real Vision Pro opportunity. #

  • Multi-paragraph posts - It occurs to me, having spent much of the week thinking about post length, and whether posts should have titles, that a big change in social media was allowing posts to be multi-paragraph. I'm not sure when it happened exactly. My recollection was that Twitter didn't initially allow multi-paragraph. I'm fairly sure in the first few years I was always posting single paragraphs.

    I'm finding I really like the ability to post multi-paragraphs. It's like that on Mastodon, and Threads too. It makes a big difference in the shape of the thought you can express. It's a small detail, but I think it makes a big difference. #

2023/08/21 #

  • Having a template engine should be standard in all operating systems. It should be possible no matter where you are located or what you are doing to render out a template and get back the resulting string of text in a way that you can use it to accomplish the task you are doing. #

  • I think that maybe I've found the solution to the notes shouldn't have titles, but actually sometimes they need titles problem. Instead of a full on title, which looks weird next to a bullet point, just use bold text for the start of the sentence.

    I noticed Politico does this in their newsletters and I think it looks quite nice. Sort of breaks up the wall of text, giving your eye something to focus on as you skim. I did it with the previous note. That one actually turned into a blog post. So that was quite nice. #

  • The thing that's very silly about all this overthinking of notes and titles and blog posts is that although it's definitely freeing to just start writting without worrying about a title, I do sort of end up creating a title anyway when I commit the file to the git repo.

    For example the previous note item had commit message "Just use bold" and I'll probably call this one "Overthink silliness". So perhaps having to come up with a title isn't so difficult. Or maybe it's just that since the emphasis isn't on the title, it ceases to be a problem. If I really get stuck I could just not enter a commit message. No big deal. #

2023/08/20 #

  • I'm thinking that I need a way to turn a note into a blog post. Reason being that short notes should definitely just be notes, but often the note gets long and is effectively at that point a blog post. Once it has a title it's definitely a blog post at that point.

    I should be able to create a special component that inserts a blog post into a note. That way I can move a long note over to the blog, so it's a proper blog post, but still have it appear within the notes. I'll have to think about this a bit.

    I'm really liking the fact that the notes feature is enabling me to write more freely but I need to figute out the note to blog post transition. Blog posts are less ephimeral than notes and have additional meta data. Hopefully I'll figure this out. Still feels a bit awkward at the minute. #

2023/08/19 #

  • Automation and scripting on iOS sucks

    If there is one thing that could speed up my workflow right now it's having some sort of scripting / automation on iOS. I waste so much time copying and pasting templates and manually replacing text tokens every week. It's so error prone. It's so frustrating. It's so ridiculous.

    One would think that, given how much time I'm wasting, that I would have figured out the Shortcuts app. Well that's how bad the Shortcuts app is in my opinion. There's no disernable philosophy to it. Each time I need to create a workflow I'm completely stumped.

    I can't fugure out how to get input into the workflow. I can't figure out how to trigger the darn workflow outside of Shortcuts. The components all seem to nearly do what I want, but not quite. And so I spend 30 minutes futzing around and eventually give up. Sod it I'll just keep doing the stupid copy pasta dance of doom for another week.

    I just want a fucking bash shell for christ sake, not this god darn fisher price automation bullshit. And actually maybe that's the answer. Technically with iSH I do have a bash shell. The problem though is that eventually I'll need to interface with the other apps. And the only way to do that is through Shortcuts. #

  • I just tried to npm install the frontmatter, ejs and uuid libraries on iSH. They all error out. I don't know if anything changed, last time I tried to install npm modules on iSH at least some of them installed.

    I just need to create:

    1. Markdown files with frontmatter automatically written
    2. My weekly newsletter template
    3. My weekly newsletter promo template

    It can't be that difficult.

    It's basically a basic template rendering. With Shortcuts there is no way to generate a v4 uuid, which I need in the frontmatter. Or at least there is no component for that, and as far as I can tell, no way to create custom components. #

2023/08/18 #

  • It's the 3rd day using the new notes feature. I think I'm finding it useful, though it's been a very busy few days so difficult to evaluate. The ease of posting is the big draw for me. I don't need to worry about a title or a url or keeping the length down. I just create a new markdown file and start writting.

    There were several issues:

    • Markdown and ejs not rendering
    • Incorrect day items ordering on main page
    • Incorrect day items ordering on archive pages
    • Daily auto-merge of new items via PR
    • Combine links, blog, podcast, newsletter, notes auto-merge workflows
    • Duplicate code paths in all plugins
    • Fix links auto posts to Twitter
    • Setup notes auto posts to Twitter
    • Setup links auto posts to Mastodon
    • Setup notes auto posts to Mastodon

    At the minute all website updates are done via git, which is a little clunky. Eventually I'll have a better way, but I want it to always be possible to do via git. You'll always be able tobat least use git.

    Hopefully there will be an API, web interface, maybe even a mobile and desktop app. That's a long way off though. I'm concentrating on getting it as smooth as possible with git.

    I'm undecided on whether I like using titles in posts. I have to figure out the flow that feels comfortable. I want to be able to start writing without friction, and if a post is develiping into something substantial, have a way to easily convert it into a blog post.

    One thing that would make posting via git a lot easier is to use something like the iOS Shortcuts app to create empty markdown files with uuid and date added to the file's frontmatter section. Unfortunately I have a major mental block with the Shortcuts app, I literally cant even do basic things, I find it so unintuitive, so that feels a long way off. #

  • I'm still undecided about using titles in notes posts. On the one hand they look a little odd with the bullet points, but I quite like the visual seperation of each note with a bullet. On the other hand, without any titles at all, the whole notes turns into a wall of text. I should probably not worry about it too much. Short notes like this one don't need one, but the previous note ended up becoming quite long and perhaps a title such as 'Notes, day 3' would have been good. #

  • It's friday today, and that means another newsletter deadline is looming. Some weeks by this stage I have all sorts of themes and ideas. Thehose weeks are great, I can see the light at the end of the tunnel. It's not a slog, in fact it's quite fun, feels like riding a bike downhill. This is not one of those week's. I've got basically nothing, feels like I have to hand in some homework tomorrow that I haven't started. Not quite as fun.

    I find that in these uphill climb weeks, the best course of action is to force myself to just start compiling the list of podcasts. I start by copying across the saved episode titles to the newsletter template. Usually as I'm doing that a theme emerges. I then do the same for the links. And try to come up with a title. It's not rocket science.

    I already compiled the list earlier this morning. Nothing really jumped out at me. I'm also a bit distracted by the new notes feature, that's what I'm thinking about. So I might just make that the theme. It's a bit self indulgeant, but I don't create new major features all that often, plus it's probably the most honest thing to do, after all that is what's predominantly on my mind.

    Sometimes it's best to not fight the tides. #

  • Notes origin story

    I was just listening to the latest What Bitcoin Did podcast episode. It's an interview with Doomberg, a bloke that appears to put his voice through a modifier of some type. I guess he's a bit paranoid about privacy. I think he's the front of some sort of bitcoin policy advocat group. Interesting interview. Anyway right at the end they talk about Twitter, or X as it's now called.

    He speaks about his decision to stop posting on X because of the way the platform has been discriminating against Substack, and other X competitors. The Doomberg (collective?) have a popular Substack newsletter. I wasn't aware that the situation was that bad. That's not good. I've got a Substack too! Nowhere near as popular, but still, it feels gross to be contributing to a platform that is trying to hurt me.

    He has decided to only post on Substack, newsletters but also on their Notes app. It totally hadn't occurred to me that Substack had a Notes app as I was creating my latest feature. I did hear about Substack Notes when it was released, but I didn't look at it much. It didn't really catch my attention. I don't know what it is exactly.

    For me the idea of a Notes app goes back much further. When I first started my career in tech, for the first 10 years or so I kept notebooks. Propper ringbound paper notebooks. Everyday I would write down the date at the top of a new page and write a todo list. I'd port the previous days unfinished todos, get rid of unneeded items, and add a few new items. As I went about my day, below the todos I'd write notes. Notes about stuff I was doing, or things I was planning, meetings I'd have etc. I ended up with many many of these notebooks, which I kept in boxes ordered by year. It was quite a collection.

    Anyway, all that to say that when I created my recent Notes feature, I had those notebooks in mind. I also took inspiration from others online that work in the open. Absolutely nothing to do with Substack at all. I like Substack, I hope their Notes app is successful. #

  • I finally found this week's newsletter title. For a second there I nearly wrote the title, but I just remembered these notes will get published about 12 hours before the newsletter. I don't want to ruin the suprise :) #

2023/08/17 #

  • Well the notes from yesterday, which was the first day of notes, got published, and there are quite a few issues. Most of which I think are fixable.

    The markdown isn't getting rendered. That's because the stock generic component I used to create the NotesItem component, doesn't support that. That's easy to add. I can copy it from ond of my other components.

    The bullets are making stuff look a little weird, but it's hard to tell until the markdown is rendering so I'll revisit this issue later.

    The most notable isdue is that date items are nit rendering in chronological order. I have re-read through the code and can't find a bug or misconfiguration. I'll need to run the render with debug enabled so I can see the items getting pulled out of the data source and ordered. Should be quite easy to discover what's going on. I'll probably need to comment out all template rendering apart from the notes template so as not to br bogged down in a deluge of debug log output. #

  • The other thing that went wrong was the linkblog links from yesterday didn't get merged. Or at least they didn't make it through to Twitter. I expect there was some sort of merge conflict that blocked the merge.

    Hard to say what that could be. I would have thought there wouldn't be a conflict since the notes and linkblog markdown files are in seperate folders in the repo. Evidently though something is blocking. #

  • One thing these notes might be useful for is rudamentory documentation. If I describe a few debug sessions as I triangulate bugs, I'll have something I can point to later, which could be useful even if they aren't the most polished prose. #

2023/08/16 #

  • Testing the new notes plugin #

  • Another notes test... #

  • I quietly announced the website's new Notes feature on Twitter earlier. So what it is?

    I've noticed recently that

    1. I'm not writting as many blog posts as I'd like
    2. Linkblog links tend to become quite lengthy

    It's not just me, readers of the newsletter commented about it recently too. It had crossed my mind but the feedback is really useful. Thanks @HackHackHack!

    The notes feature is intended as a sort of working space where it's as easy to add content as the linkblog, but without the contraint of having to associate a link to a post item.

    The other big difference is that notes are chronologically ordered rather than reverse chronologically ordered. The idea being that as you read through them you get a view on what I was thinking about as I went through my day.

    That's in contrast to the linkblog which lists the last link posted at the top of the page. In a sense though both linkblogs and notes are reverse chronological at the date level. They both display the very last day at the top of the page. However they differ in ordering at the item level. Notes are chrono, links are reverse chrono at the item level. That probably makes it sound very complicated, but it's quite obvious once you start reading them.

    I expect what might happen as I use the notes feature, that linkblog links get shorter, and I'm able to write down thoughts more easily. That will hopefully lead to more blog posts.

    Let's wait and see though, it could also just turn out to be extra overhead, and not worth the effort. #

  • There are all sorts of very subtle things to consider, that I'm discovering as I write.

    For example, how do I name the markdown files now that there isn't a url donain, which I use in linkblog link filenames.

    Also should posts have titles? Probably not. One of the things that is nice about linkblog links is that you don't need to think about titles. It's suprising how much friction titles introduce. #

  • One of the things at the back of my mind is the issues I've been facing with the number of files in the repo. There are so many files that my code editor is not able to process changes, often getting stuck, which causes no end of problems. It also takes 10 times longer to post items than it should. At times that ammounts to hours when it really should take minutes.

    I'm finding the ease of posting notes very useful. I've already posted 3 notes! And I think the posting process could be improved further too. #

  • What are notes titles like?

    Just testing what a title looks like in a note. I expect it will look weird because of the bullets on each item. In fact the bullets are likely going to make some of the other posts look odd too.

    I'll find out tomorrow when today's notes get merged. I setup the same workflow as for the linkblog. Every evening the latest notes get merged into the repo main branch via an automatically created PR, and the site then gets rebuilt. That saves on build minutes, but it also avoids issues with RSS feed generation. That can get tricky when you make edits. #

  • I've added an RSS feed for new notes that get added. It's listed on the feeds page.

    The cool thing about my static site generator is that it's at the point now where adding new features is quite easy. Once I had developed the main feature, adding archive pages, a tagcloud page and an RSS feed was as easy as copying a few markdown templates and updating some frontmatter variables.

    Also if any of you were subscribed to the feeds suscription list opml then you wouldn't even have had to update your RSS reader. I actually changed the urls of some of the existing feeds. They changed when I rewrite all my RSS generation code a few weeks back. In had redirects setup so notmally speaking there shouldn't have been any breakages. Sorry if there were though. Kind if unnavoidable.

    I'd be interested to hear from anyboby that is subscribed to the opml file, as unlikely as it might be, because unfortunetly very few readers support this excellent feature. #

  • Improving Github Actions build times

    Since I keep running out of Github build minutes I was thinking about ways to optimise the build. Looking at the github action logs, the obvious place that can be improved is getting nodejs installed and setup. The entire build/deploy/backup workflow takes approx 7 minutes. Installing nodejs takes around 3 minutes, and because I run seperate jobs for build, deploy and backup, I actually end up installing nodejs twice.

    My first thought was that maybe there was a way to create a custom runner. i.e. instead of running the stock ubuntu image, create an image (docker?) with nodejs and perhaps all the modules I use in the static site generator, then use that to run the build. After doing about 30 minutes of googling it seems that's only possible if you are self hosting your own runners. I might be wrong about this, I'll beed to do some more research. Currently I'm stuck using hosted Github runners.

    I noticed while searching that there are some caching actions that enable you to cache build artifacts between runs. The most popular of which appears to be cache. I'm already using setup-node which uses the cache action. There appear to be some caching options I could try, but doesn't seem like caching will improve things much because as far as I can tell it's already downloading a pre built nodejs version. I could be wrong.

    Ideally I want the build to be under a couple of minutes. The actual website build of 17000 markdown files only takes around 45 seconds, so it's a bit ridiculous that the whole build and deploy takes 7 minutes. There has to be a way to optimise. #

For enquiries about my consulting, development, training and writing services, aswell as sponsorship opportunities contact me directly via email. More details about me here.