So, why did I make this site?
I already have several corners of the Internet that I can call home, so why yet another one?
I have carved out a.lexg.dev for a good while now, and I can put anything there that I want. In my budding professional life, it has served as portfolio page, a place where I can put things I am proud of. It answers the question “What have I done?”
This site way more focused on what I’m thinking about, which doesn’t fit with the theme I have established for a.lexg.dev. This is sectioned off the main site by a different domain to give myself space from formality. Things can be unfinished here. a.lexg.dev is the mopped floors in front. This is the shop in the back, where sawdust is free to make a home on practically every surface.
The decision to make this site is part of a larger journey I have been on since I’ve been an adult.
Let’s talk about social media
A few years ago I trimmed down my media consumption profile down to just Twitter and YouTube and a few video services. I use the word “consumption” intentionally. Social media loves to bill itself as communication platform, but my experience is that the give and take is hilariously lopsided. Twitter in particular has been particularly rough ride in trying to make a mark for myself for a few reasons.
First, Twitter’s model of short statuses does not map well onto what I want to publish. I am learning I have a strong desire to do long form publishing that can be revised over time. Of course, this is a problem somewhat unique to Twitter, but the network effect of Twitter is incredibly strong, which leads me to the second reason.
I have lost any interest competing with “the algorithm”. Content aggregators are great for media consumption, but are pretty good at depleting a sense of presence on the Internet. I don’t desire loads of traffic, rather I desire coherency, and aggregation is literally the opposite of that.
Thirdly, the design and styling of social media plays a huge role in how even user specific pages feel. Most often the sites will emphasize the chronological order of what you publish. This varies from encouragement of append-only to strict enforcement of append-only posting. Styling options? Get out of here. Wanna bold text on twitter? Luckily unicode has an escape hatch for you.
Now let’s contrast with a site I control. If it’s my own site, it’s all me. I can have a space to my own. That’s something that I’ve been yearning for.
Most people do not have this option
Putting this up on the internet was easy, but that is 10+ years of software engineering experience talking. If I take that hat off, it is a fantastically difficult feat. A dog can run a blog, but the dog is most likely using blogger. (No offense to my dog readers.) This is different:
- This is a GitLab Pages hosted site using a hosting template that took years of tweaking to get here.
- Git? Oh yeah, you probably need to know your way around with that.
- I am using a static site generator called Jekyll, which demands a base level knowledge of Ruby. I will be the first to admit this choice was influenced by GitHub making it the default option. There are thousands of worse options.
- Ruby? (well okay there are other options if you choose different above, but still). Now you’re talking about installing and maintaining a programming environment. Ruby is a particularly bad choice (of only bad choices) for folks otherwise uninterested in software development because there are a lot of gotchas, especially on Windows, far and above the normal gotchas of any other programming environment. It’s also more niche than node (which sucks too), so you’re less likely to get help on the Internet.
- You can definitely get by without this, but I also have my own domain. Custom domains are difficult to find docs for, annoying to manage, completely indecipherable to most people. They’re also basically impossible to troubleshoot if anything goes wrong. Networking is almost worse than software development.
What am I gaining from all this? It turns out, not that much. Before my time, but not long before, you could be the coolest kid on the block if you had access to an HTML book, notepad, and a shiny new web browser, such as Netscape.
I can do the same thing but I can also:
- Have automatically populating lists of links to a collection of pages. Neat.
- Repeat anything across multiple pages without using copy/paste or weird javascript hacks.
- Use markdown instead of HTML, which is a cool party trick.
- Nothing else worth mentioning.
A portion this diatribe was inspired by a post I found on the Internet that argued static site builders are bad, and I tend to agree that they are, but my reasons are a bit different. Even the most refined static site generator will still be bad because it can only be part of the solution.
What can be done about this
The way I see it, a significant hurdle is just knowing which pieces to stitch together. So there is a sense in which this blog post is doing something, not much, but something.
Here are some pieces I’ve heard good things about:
- Neocities is a great free hosting solution if all you really care about is having a space to yourself. Using this on its own demands some comfort with HTML, but there’s a thriving community of folks that find basic HTML skills fashionable again.
- Markdown may be already familiar to you if you’ve dabbled in text formatting on Discord or Reddit or some other places. If markdown is your jam, there are sites that will let you draft your text with live preview, then be able to grab the HTML source to put into, e.g. Neocities. This is a kludgy but workable option if you’re completely unfamiliar with HTML. You can do a similar thing in VS Code if you are more coding focused. Unfortunately, none of this will help at all for images, video, or any styling beyond what markdown offers.
- Pelican I have not used but I am adding to the list because Python probably has the least resistance to being set up.
Even if you can get several of these pieces working, this is still annoying because you, the user, are responsible for carrying magical bits of data across several tools. Why is there no purpose built tool for this? Is it any wonder that nobody does this?
It’s a shame too because I had a lot of fun with styling the site. That’s what I actually spent most time on during the first days with the site.
If you found this article interesting or had any questions/critiques, please reach out to blog@a.lexg.dev and include a link to the article. In particular, please let me know if you reference this article elsewhere, so I can add a link to you.