markjgsmith

2023/07/23

2023/07/22

2023/07/21

2023/07/20

I expect this will be rather controversial, but what the hell. Think of it as a small, slightly bizare, thought experiment.

Asians + Jews VS Blacks + Whites

What happens next? #

2023/07/19

2023/07/18

Testing auto posts to social media

I realised this morning that I'd forgotten to update the service I use to auto post the daily links to Twitter when I moved the website from Heroku. For many months now the links haven't been getting syndicated.

I've updated the configuration with the new RSS feed url, so hopefully they will start being posted again. Previously I was just posting a daily linkblog link, but since I've been blogging more recently I decided to configure for new blog posts to also get posted. And then I figured, what the hell might as well post them all to LinkedIn as well as Twitter.

So anyway this post is just a test of that. Once published it should appear both in Twitter and LinkedIn. No support for Threads yet, though I've emailed dlvr support to ask them if they'll be adding that as an option.

2023/07/17

Ever notice that NATO.replace('O', 'ZI') === NATZI? Probably just a dumb coincidence. Everything boils down to debt, even the darn coincidences. #

2023/07/16

2023/07/15

2023/07/14

2023/07/12

2023/07/11

The problem with some finance writing

This going to end up sounding kind of complainy, sorry.

I was listening to the latest Eurodollar University Podcast episode Where did it all go? It was all a lie. and it starts off with a bit describing quantitative tightening using quotes from a finance article. It perfectly illustrates the problem with many finance articles. This isn’t a hit on Eurodollar University per-se, I know he’s just quoting other people’s words, but I think this type of dynamic in financial writing is a bit endemic in the industry.

It’s worth listening to the segment first, it starts at ~00:50. It’s about the main stream view of quantitative tightening. I’ve pulled out the main steps to this logic chain:

  1. Quantitative easing is a way to stoke animal spirits.
  2. It’s the exact opposite of quantitative tightening.
  3. They are depressing animal spirits by pulling money out of the economy.
  4. The FED only directly controls short term rates.
  5. By selling bonds they are pushing down the price of long term securities.

I listened to this and was like, yeah sort of makes sense, but either I’ve missed something, or there is some missing information. Remember it’s delivered via audio rather than text. I guess in an ideal world I would be consuming more text, but my internet access is such that I have to do a lot offline, hence lots of podcasts.

Let’s go back over it in more detail, this illustrates vaguely my thought process as I listened:

  1. Quantitative easing is a way to stoke animal spirits.
    • Yup high level statement, things get easier, people feel more confident, exuberant sentiment, they do more stuff, take more risk, trade more etc.
    • Note they didn’t say how that was implemented.
    • That would have been helpful, even if it’s obvious to many, it’s not obvious to all, especially newbies.
    • So already at step 1, the very foundation of the logic chain we are missing a vital brick.
    • The finance monster just took a bite out of your working memory.
    • You are forced to do mental gymnastics along the lines of "ok let’s keep going, that will probably become obvious".
  2. It’s the exact opposite with quantitative tightening.
    • Yup quantitative easing made sense, so it makes logical sense that tightening would be the exact opposite. Remember we are still doing mental gymnastics, holding that missing brick for the finance monster. We are ok but a little unstable.
  3. They are depressing animal spirits by pulling money out of the economy.
    • That sounds good, finally we get implementation detail. But it’s not for our missing brick, it’s the implementation of the opposite of the missing brick. Ok hold on while I create even more space in memory for that. It’s f-ing with the base brick, so worst case is that you have to double the amount of memory, because you now have a logic chain with a brick and an entire separate logic chain without a brick. But the missing brick now has implementation detail, so in a way you have freed up a bit of memory but, you have to use up memory to compute that, so it’s like a little bit worse but then better as long as you can still remember how we got here. Anyway, moving on…
  4. The fed only directly controls short term rates.
    • This appears to be completely separate from the previous logic chain, so we have to park the unstable two headed logic chain from before, heave ho.
    • That was quite heavy, but it’s parked now.
    • Uh oh we are getting behind now, what was this FED stuff again? Yes the FED changes rates.
    • Yes indeed the FED does change interest rates, makes sense, but wait what kind of rates did they say?
    • Oh no too late, no time, we’ve missed that, we’ll have to park that now too. Heave ho.
  5. By selling bonds they are pushing down the price of long term securities.
    • Ok so we start here with a parked unstable double headed logic chain that sort of makes sense, and another parked statement about some kind of rates that also made sense but there’s a brick missing, i.e. it’s also unstable.
    • Selling bonds? Hold on that’s new, yet he’s saying it as if he’s been banging on about bonds for ages. But he hasn’t. Oh ok, let’s go with it anyway assume the best.
    • Why are they selling bonds? It’s totally not obvious, even though he’s pretending it is.
    • And remember we are already using a shitload of memory to balance all the previous memory debt incurred.
    • You need to compute it yourself.
    • The writer is offloading both memory and compute onto you dear reader.
    • So let’s unpark our unstable double headed logic chain from before. Heave ho.
    • Rewind, remember that we are talking about quantitative tightening, which was pulling money out of the economy. Ok, right.
    • So selling bonds is tightening. Ok but why?The answer I think is something like, they sell bonds, which people buy, i.e they pay for them with money they have, thus money is pulled out of the economy.
    • But wait there’s more, what’s this ‘pushing down long term prices’ bit?
    • Why do prices get affected?
    • Oh look, again we are having to compute for the writer.
    • Selling bonds probably means there are more bonds in the market. They create and sell bonds so effectively they are diluting the existing bond market. I might have this wrong, I’m not an expert.
    • The overall market is bigger, i.e. it’s size is inflated, so the bonds that were originally there are worth less.
    • Why don’t they just say it’s bond inflation? Same as money inflation. Why are we constantly describing similar things using different mental models? Anyway…
    • Oh look and just to confuse us even more, the writer is now calling them both bonds and long term securities. They are the same thing. You have to compute that too.

A finance explanation that uses up so much tech debt doing the explanation that it’s basically impossible to quickly understand the issue because the writer has used up all your memory and compute.

Oh the irony, an explanation of how the economy avoids bankruptcy, is itself doing a very effective job of bankrupting the minds of the people it’s teaching.

It’s basically a fractal, at which point I’m out. Fuck this this shit, it’s probably best to just walk away and listen to something else.

I say all this knowing that this article that I’m writing is kind of slap dash. I don’t have the time or resources to spend editing it until it’s perfect in every dimension. I’m sorry about that. I’m learning too. I guess my gripe is that a lot of finance articles have similar issues. It’s weird to me that no one else is complaining.

I’m left wondering how different the world would be if the explanations were better. At a macro level don’t these types of explanation just restrict the total number of people that can learn about how finance works? The total compute capacity of humans is likely finite without adding more neurons. Are people doing this on purpose or are we just terrible at explanations?

Is it any wonder the world has issues understanding money, if we can’t even balance the books explaining the thing, how are we ever going to balance the books doing the actual thing?

Nicer looking linkblog

When I migrated the website from Heroku there were so many things that needed to be done. It was pretty much a complete site rebuild. At the time my driving thought was to get the basics right, or at least mostly right. With a good foundation I could make things better over time. Some of the big things were:

  • jamstack with github workflows
  • single domain rather than multiple subdomains
  • all content in markdown files rather than json files
  • server side components

There were loads of others. When I was laying out the HTML, I wanted the site to use latest HTML5 tags and best practices, and I also wanted the whole site to at least look pretty good with a small amount of inline CSS. I spent ages trying to figure a way to organise <main>, <article>, and <section> tags that made sense. It's not that obvious when you get into the details.

A blog post is an article for sure, but what about a day on the linkblog? What about a single linkbkog link? What about the blog/podcast/newsletter listing pages, is each entry an article? And what about the latest page, should I even bother with article tags there, maybe just use regular unnordered lists? Should I nest articles?

So many small details that can actually make a lot of difference. Initially I went a bit overboard on unnordered lists. I had <ul>’s basically everywhere. Lists of blog posts, lists of links, lists of everything. The nice thing about lists is you get a small amount of visual structure and spacing for free, especially if you sprinkle some <p> tags in the right places. I figured I could style the lists later with CSS to make everything look better.

I don't know that I've gotten it right or even mostly right yet, though it feels like I'm making progress.

Anyway one place that's been bugging me was the main linkblog page. I initially went with a list of lists approach. A list of days, with each day containing a list of links. It worked reasonably well, though the bullets change on each indentation level. Level 1 has normal looking bullets, circular whole black dots. But level 2 they are hollow, with the center of the black dots removed. They look wierd. The indentation also looks kind of bad on mobile devices, because you waste a lot of the valuable screen real estate on the left side of the screen.

Here's what it looked like:

Linkblog before
Linkblog before

I've been trying to style the lists for a while now. I never got it looking good. The styles weren't applying the way I wanted. I would style the outer list, and the inner list would also get styled, or the opposite way around, even though I was targetting different class names. Lots of finicketty stuff like that. I gave up eventually, figured it was good enough, I had more important things to worry about and get right.

Anyhow it occurred to me yesterday to just ditch the outer list. Instead just have a load of <articles> items on the page, each one still containing a list of links. I wonderred what the default spacing would look like. Well it was a quick change to remove the outer list, tried it last night, and it worked wonderfully.

Here's the updated linkblog page:

Linkblog after
Linkblog after

Ok so yeah it looks like a very minimal change, but I think that looks way better. I still get the structure, spacing and indentation of the bulletted lists for the links, but less wasted space and only one type of bullet point. I know the whole site is still too minimalist, but broadly speaking it's way easier to read, with the day dates snug on the left. It definitely is way easier to read on mobile, and these days that's how most people read the web.

2023/07/10

2023/07/09

Final destination mutilation

Final destination mutilation
Final destination mutilation

Just another final destination mutilation. Hate to say it but, I told you it would happen again literally yesterday. It always does. This time it involved a ring, questionable soup and a piece of floor bread, but had been building over several days.

Thanks world, you win again, most cowardly punch in the universe.

FYI, I literally asked for world peace.

2023/07/08

2023/07/07

Hello HN bloggers

Just a quick post to say hi to any folks that might have made their way here from hacker news. Howdy :)

From the linkblog:

Hacker News Blogroll - Someone on HN decided to compile a big list of people's blogs, and they turned it into a website. Someone else created a giant OPML file with all the blog feeds, and I imported the whole thing into my Feedly. It's a bizare sort of mayhem now in my feedly, I've seen english, russian, german and vietnamese posts pass by so far. It's nice to not require an invite, even if it's quite confusing :)

I'm Mark, web developer, blogger, sometimes traveller. More about me on the about page.

I haven't had a lot of time yet to read through the 692 (!) blogs I added to my RSS reader. Hopefully I'll have time over the weekend.

Welcome to the blog, I don't have comments but I read emails, so feel free to mail in comments.

Bulk importing the HN bloggers OPML

Following on from importing the HN bloggers OPML file, figured I'd quickly document the process.

Here are some screenshots of what that looked like:

Importing OPML - View from Feedly website
Importing OPML - View from Feedly website
Importing OPML - View from Feedly app
Importing OPML - View from Feedly app

A little bit tricky to do from a mobile device. The import OPML button was only just visible on the screen, and didn't appear at all in the iOS app. Importing took a really long time, around 30 mins. I had to restart the import several times, which was a bit annoying, but at least it was clever enough to not add duplicates. Lots and lots of errors, I guess many of feeds didn't validate, or got incorrectly added to the list.

Once all 692 feeds were imported, here's what the combined feed looked like:

Combined feed - english posts
Combined feed - english posts
Combined feed - vietnamese posts
Combined feed - vietnamese posts
Combined feed - german posts
Combined feed - german posts
Combined feed - russian posts
Combined feed - russian posts

The bulk import via OPML is nice but the ability to subscribe to an OPML file would be better. That way when the OPML file gets updated, whichbit likely will, the combined feed in Feedly would stay up to date. Why isn't that a standard feature of RSS readers at this stage?

I haven't had much of a chance to read through many blogs yet. I've been busy getting multi-paragraph linkless linkblog posts working for my static site generator. Oh and installing Meta's new Threads app.

Anyhow it's cool that we have RSS. It's cool that it's permissionless, that you don't need an invite, but I'm OK with having other social media apps too. It's good to have variety, each one has a distinct vibe.

2023/07/06

2023/07/05

A little experiment inspired by a ghost of parasocial past, so to speak, no animosity intended, quite the opposite in fact. I remembered that a while back I added the ability to make linkblog posts without urls. I know that might seem a little bit ridiculous at first glance, please bear with me. #

Since adding the url-less links feature, a lot has changed, the biggest thing being full markdown and EJS support in link text, which makes it possible to add hyperlinks and also insert data from various sources like for instance frontmatter, here's the date from this post's frontmatter: <%= date %>.

And this is a second paragraph on this post. It's the thing I'm most curious about. Will it break the page rendering? #

Well linkless posts are sort of working 1/2 working. There is no url domain link (that's good), but there's also no hash link (not so good), and also paragraphs currently get removed (not so good). I have to think about this a bit more.

Update: I got paragraphs working :) #

Incidentally I managed to get workflows triggering workflows between repositories. What that means is that the website now gets automatically rebuilt when I merge new content into the main branch. Practically speaking it's pretty huge for me because it aleviates some of the frustration I've been experiencing from really slow github repo interaction, which I think is because there are over 15000 source files and the client is not able to handle it. Hopefully I'll be adding a new entry to my minimals selection soon, the minimal works on private repos, just need to find time to test it on public repos. #

2023/07/03

2023/07/02

2023/07/01