- Wrote a blog post detailing how to create an ssh config file »
- Ported all posts back to Markdown. Perhaps I'll do a postmortem about what I liked and disliked about Asciidoc since it's really promising but not quite there just yet.
- Ditched any custom stuff in favour of the
- Realised that I lost this changelog somewhere along the way so revive it and backfilled it again
- Rollback back repo from Markdown version to Asciidoc version because I was reminded just how much stuff I would have to implement from scratch like callouts and nice table formatting
- Converted the remaining posts back to Markdown so I could roll out a markdown version of the site to production
- Started porting a buch of posts back to Markdown as a number of services don't natively support reading it
- Added a maximum width for post content since it would be absurdly large on bigger monitors
- Began porting site to an older layout using tachyons, that was more stylistic. I kinda miss it!
- I started experimenting with Tachyons again for creating a CSS layout. I really need to stop messing with so many different frameworks…
- I noticed that some posts seemed to be missing. Turns out Hugo was paginating posts, so only the first 10 would appear! I fixed that.
- Made a slight rewording of the homepage greeting
- Did a little bit of general repo cleaning
- Added a note about how to find WSL files on Windows 10 »
- Created an experiment that would recursively map out the notes folder into a tree structure
- Ported site from Jekyll to Hugo as it has a smaller footprint plus nicer reload functionality. The cost of having double frontmatter isn't so bad really.
- Added a draft for a halloween post that I would never finish.
- Fixed a typo in the emergency services post
- Reset + recreated CSS to focus on readability. I'll need to reimplement some previously existing styles such as code highlighting, tables and so on but for now, I'm just going to roll out the changes incrementally.
- Added some tips for getting image metadata and converting SVGs to PNGs »
- Added a tip about automatically importing and/or aliasing modules in IEX »
- Finally completed backfilling this entire CHANGELOG. Enjoy!
- Moved some more notes onto the site but most of them won't be very effective until I redesign the site's CSS
- Started adding a personal notes section
- Removed italics to make the site easier to read, and fixed some typos in the email lookup post
- Added an old review for Yakuza »
- Cleaned up and added an old post about Deepfakes »
- Wrote a blog post about a handy trick I use to look up email addresses that I'm not 100% sure about »
- Backfilled the changelog some more. Entries mentioned new posts now link to said posts
- Swapped the (supposedly placeholder) return symbol (U+23CE) being used as a back button for a circled heavy white rightwards arrow (U+27B2). I couldn't find a leftwards version so I just rotated it using some CSS
- Updated some links to be relative, such as the CHANGELOG on the front page which was a link to the live version up until now. Much nicer for working locally.
- Realised I had broken all of the links when porting to Jekyll! Links like
/blog/lore-tabsnow looked like
blog/2018-02-28-lore-tabs. This wouldn't be such a big deal but I've linked to some posts and I know that searching
arch linux on intel nucon Google brings up my post in 3rd place. Hopefully it's useful for some people, despite possibly being a little out of date. It's a handy Arch guide in general I think, since I use it myself. I should write more in depth explainers sometime.
- Switched the primary repo for this site from Github to Gitlab
- Filled out the majority of the changes for 2019.
- Added this changelog to track all the different variations of my site over time (will fill it out later)
- Moved to Jekyll. I wanted to try Asciidoc and Hugo puts some limitations on Asciidoc rendering.
- I also removed all of the list type pages in favour of having everything the front page. Still not sure how I feel about it so it might change some more in the future!
- Fixed some small typos on posts while porting them from markdown to asciidoc. Everything starts at v1.0 with those amended updated to v1.1
- Wrote a post about turning 25. It was mainly just a tangent about what I'd like to do with this site going forward. »
- Added an MIT License. All of my stuff already carries an MIT license anyway.
- Wrote a post about extracting credentials from Jenkins »
- Removed pagination from the blog list page
- Added foresty.io configuration again. It wouldn't survive very long.
- Added a post about fixing an issue with upgrading from WSL v1 to v2. I remember drinking a bit when I finally solved this probably so I drunkly wrote this post too :) »
- Revamped everything to follow a dark theme while still aiming to be readable. It was inspired by a website I was browsing on an iPhone 6S Plus set to greyscale mode!
- All of the CSS was entirely from scratch whereas I had been using CSS frameworks up until now.
- Added a post thinking about the future of emergency services. This would have been shortly after I had been admitted to hospital, if not the same day. »
- Uploaded my resume as a static asset for easy linking. Not particular relevant to the content of the site.
- Uploaded some images from a work related incident. Looking back, I probably shouldn't have but there's nothing particular useful or secret in there anyway.
vsreport.htmlwhich was a security review of sorts for a videogame I was playing. I had churned it out like an entire year prior but never hosted it anywhere. I think I was talking to someone about it and wanted to send them a link.
- Tried out forestry.io for the first time and quickly discarded it. It's a cool project but I don't have much use for it myself.
- Wrote my first review in like 2 years. It wasn't a review at all, it was more just me gushing about Battle Angel Alita before the film adaption released. I never did go back and write an actual review… »
- Added support for utteranc.es, a neat little comment section powered by Github.
- Revamed the site to move from tailwind.css to spectre.css
- Some of the layout changed as a result such as adding opengraph metatags and generally going for a more minimalist approach.
- Removed the stats page from navigation. It was only showing a placeholder page anyway and so far marks the last time it appeared.
- Uploaded my parnell mapping side project (but not presented anywhere user facing)
- Updated currently listening script to point to a proper domain name instead of a raw IP address
- Added some whitespace to the currently listening portion of the footer
- Added a script for showing what I'm currently listening to or watching. It was powered by a single node kubernetes cluster. Hugely overkill but it was an interesting learning experience!
- Removed the project page for ipecac which I didn't really intend to publish yet. It was literally half finished with some sentences that just cut off midway. Oops!
- Added a README describing how the site operates and is deployed
- Added a project page for ipecac
- Finished rewriting styling to use flexbox
- Added a footer that shows randomly generated lines of nonsense
- Added estimated reading time for blog posts and reviews
- Enabled support for emoji and git info
- Added links to repo birthdays project post
- Added font awesome for use in posts
- Swapped from monokai to oceanic-next styling for code blocks
- Add styling for singular
- Added a 404 page
- Removed CSS from base template in favor of an extensable params block in the site config
- Added some overrides for the blackfriday markdown parser used by Hugo
- Started rewriting styling to make use of flexbox
- Fixed a typo in the lost python results post
- Fixed a bug where social media links had mistakenly set a second
hrefinstead of a
- Wrote a post about the
-operator in Python »
- Ported reviews over to Hugo
- Added pagination
- Added post about Twitter automation »
- Changed border for contact form inputs from grey to black
- Added projects page for repo birthdays chrome extension
- Added some reviews that used to live at https://neatgam.es
- Disabled RSS feeds and added Pygments
- Added styling for tables
- Added Monokai syntax highlighting colour scheme
- Ported remaining content over to Pelican
- Ported from Flask app to Pelican
- Added draft post about Docker container security. I never actually finished this but I believe someone compromised my Redis instance (it wasn't secured). Not side effects though since all of the content was static content anyway.
- Updated CSP header to whitelist self hosted images
strftimebug in the site footer
- Moved credentials to not be inline so I can commit settings
- Added a fallback for any missing cover art
- Fixed error with links
- Added a post about submitting Official Information Act requests in New Zealand »
- Added Google Analytics
- Fixed sorting to show posts in reverse order
- Added movies to the stats page
- Added redirect from my old URL
- Added page for showing personal stats
- Added section to footer that fetches and shows the latest commit for the site
- General style changes
- nginx change for rewriting
https://www.utf9k.net -> https://utf9k.net
- Set up nginx for serving the site
- Copied over some static files
- Moved site to a new repo at https://github.com/marcus-crane/utf9k (now archived). This was to reflect the move from https://thingsima.de to https://utf9k.net
- I believe at this point, I reverted to the old Flask site I had. Prior to this point, I was using Django
- Added README
- Added placeholder keys for
- CSS changes to better suit mobile devices
- Started rendering covers for Goodreads entries on stats page
- Fixed RSS feeds
- Fixed date rendering for blog post list
- Update postgres container to only save state to disc during development
- Updated postgres container to save state to disc
- Update game fetching to ignore any non-game resources
- Added currently playing games to stats page
- Updated config key examples
- Rolled out the port from Flask to Django
- Containerised the site to run Django and any background tasks from a single docker-compose file
- Started rebuilding the site using Django
- Fixed some CSS styling for larger monitors
- Updated the stats portion of the site to automatically populate upon startup of the backend server
- Uploaded some old reviews to the site
- Fixed RSS generation
- Made some alterations to the lore tabs post. Mainly just editing jarring sentences.
- Added a new post called “Humans don't come with lore tabs” »
- Started trying to write tests for some elements. I claimed to be doing TDD but I was writing tests after the fact so…
- Pruned a bunch of unused CSS
- Added some error pages
- Updated blockquote parsing
- Churned out a blog post before starting my first day at Xero »
- Added some custom CSS sizing for the stats page
- Added some CSS for pygments pulled from an Oceanic Next stylesheet »
- Extended mistune's renderer to parse blockquotes and code snippets within Markdown
- Messed with stats page styling a bunch
- Normalised all URLs to be eg;
- Attempted to add docstrings to the various Python functions that made up this version of the site. They were comments that described what the code did, rather than why the code was written a certain way. I wouldn't consider them particularly useful at all, it was more about emulating what looked like good documentation without understanding what actually makes good documentation :)
- Applied Pycharm auto formatting to the repo which, in hindsight, destroyed the layout of the main app.py file. I always wondered what had reduced it into a one line view within Github!
- Changed static file URLs to start from the root eg;
- Polished off a post about Deepfakes »
- Added a
- Rearranged parts of the Deepfakes post I was in the process of writing
- Added an indicator for whether a post was safe for work or not
- Merged and deployed the migration from Django to Flask, into “production”
- Split out the stats portion of the site from the rest of the content
- Started adding Celery as a background scheduler for updating stats
- Ported game reviews to Markdown
- Added RSS generation
- Recreated most of the stats page functionality in a very messy fashion
- Swapped out show stats from TMDB to TVDB as it often had better cover art I believe
- My first crack at using class inheritence within this version of the site. I still didn't understand the idea of classes so this was perhaps my first time trying to properly grasp their purpose.
- Starting importing credentials as environment variables. Good thing I didn't accidentally commit one of the API keys I was using…
- I believe until this point, I had been writing a lot of closures for the stats portion of the site. I started writing some classes, for the sake of having classes, likely because I had seen them used in Django a bunch. Looking back, it's funny to me that I had a file called
- Churned out CSS, HTML templates and even markdown rendering. I got the rewrite to a point where it would render a dummy blog post (from a markdown file to a HTML page with CSS)
- I deleted the entire site and started rewriting it from scratch as a containerised Flask app
- Made an attempt at dockerising Django which wasn't the cleanest thing to do, given the existence of migrations
- Added error / not found images for tv series without cover art
- Added functionality to pull recently watched movies and TV shows from Trakt.tv, every 30 minutes.
- Continued improving the review portion of the site. New reviews would automatically pull, resize and apply gausian blur to cover art, which acted as a background banner.
- Started adding a django app for supporting reviews that used to live at the now defunct https://neatgam.es
- Changed markdown rendered from markdown2 to CommonMark as it had an extension for tables in Markdown
- Added placeholder cover art for items on the stats page that didn't include them
- Added movies to stats page and refactored a lot of celery related code
- Updated code highlighting to use an Oceanic One theme
- Added support for fetching recently watched TV episodes to the stats page
- General style tweaks and styling for markdown tables
- Committed some dependencies that were missing from
- Reverted + disabled some pages that weren't working correctly
- General bug fixes
- Cleaned out a heap of non-essential dependencies
- Upgraded the site to Django 2.0 (was previously 2.0 beta 1)
- Altered styling for blog detail and list templates
- First version of my stats page went live!
- Added live Steam stats to the contact page, using the profile API
- Completed the first working version of stats page. Essentially just scheduled tasks using Celery.
- Started writing the first version of the stats page. This used to be my “flagship” feature of my personal site. It would pull all sorts of stats regularly such as what music I was listening to. I learned a lot maintaining it, even if I was the only person who actually looked at it!
- General improvements (hide draft posts, add status code 500 error page etc)
- Created a prototype of what would become the “stats page”. It would pull recently played tracks from Last.FM in real time. This would never scale though since it would be pulling the same information every time, rather than caching it.
- Generated some slightly better configuration for the production version of the site
- Added a 404 error page
- Added support for providing custom header/footer items such as one off JS scripts
- Pulled in Django's admin panel CSS rather than generating my own
requirements.txtto reflect the current requirements to run the site
- Removed prev / next buttons for blog posts
- Added a section for projects
- General restyling and refactorings
- Added a contact / feedback page
- Rearranged the site folder structure even more, which had these weird extra namespaces
- Created a new homepage which was previously just an image of a terminal
- Rearranged directory after seeing how the Dolphin emulator website was structured
- Added the bulk of the code that would live on inside the Django version of the site such as markdown rendering and post display logic
- Added escaping for markdown posts
- Added some CSS that extended off of Tachyons
- My first recorded commit for my personal site adding an empty Django project, followed by a model for a blog
If there are any changes that existed earlier than this, I'll see if I can find them. I know I definitely had some blog posts written prior to this point but I don't know if they were hosted anywhere.