Monday, February 10, 2020, 9:56 PM UTC
So it's been a long time. Work, the closed source kind, took its toll and I didn't have that many opportunities to interact with the community at large.
I haven't had a blog for ages but I finally decided to take some time to remedy that. Hopefully it will be updated more than once every three years.
What I've been up to
I've been slaving on a "little" thing called TwicPics.
But what is TwicPics you might ask? Simply put, it's responsive images as a service. You drop a script in your HTML, make some tiny changes to how you specify
background-image and you just stop thinking about image sizes. FOR EVER. Feel free to have a look if you're curious.
Suffise to say that the range and scope of topics I have to cover on a daily basis is pretty bonkers:
- a ton of server-side JS,
- devops issues that go way above my head,
- a lot of C++ for image manipulation,
- a foray in deep learning in C++ and Python,
- some insanely complex client-side JS,
- a homebrew collection of JS codemods for obfuscation,
- a WebExtension to enable the service in dev environments,
- support to clients no matter how deep their DOM trees go,
- day-to-day company decision-making (I'm a founder after all),
- all while making sure the roadmap makes sense in the long run.
And that is, sadly enough, the tip of the iceberg.
On the personal front, everything's good but my girlfriend had knee surgery and I'm in the middle of a three month caretaking run. Oh and my useless bank screwed up and left me without a credit card for an entire month while blaming it on the post office because why not?
Believe it or not but I wanted to cool off a little and thought creating a blog was the way to go.
Obviously, I didn't even look at existing blog engines or static site generators and went from scratch with some Pug, some Sass, some Markdown and glue-code of my own to orchestrate everything together.
The original motivation was to toy around with CSS Grids but I started with the mobile / old browsers / no grid support version first and stuck with it. Also my goal was to have as clean a Markup as possible so I'm using CSS Generated Content liberally. In the end, it's probably the most convoluted and ugly CSS you can imagine and I'm no designer but meh, I'll do as I please in my own space.
Anyway, the plan is to keep the source code in a repo on GitHub, store the files in an S3 bucket and host the site through TwicPics (to take advantage of its built-in CDN). Syncing with S3 should eventually be done using GitHub Actions. I just need to figure out the right triggers:
- for when to actually sync the files,
- but also for when / how to publish a new post.
So far, posts are subdirectories with content as a Markdown file plus a cover image. I have some extractions from / adaptations to the markdown done before feeding the resulting HTML to the Pug template. One thing I'm especially proud of is how I filter through the git commit history to determine the date and time of a post.
Still a work in progress so I don't expect this post to be readily available as I type these words. The hope is that publishing the next post will consist in just some Markdown editing, image hunting, git commits and git pushes.
That's all for now folks, see you next time!