hyperbo.la :: lifestream
permalink

More #artichoke updates since March: a marketing site at www.artichokeruby.org, prebuilt containers on Docker Hub https://hub.docker.com/r/artichokeruby/artichoke, and prebuilt nightlies https://github.com/artichoke/nightly/releases/latest #win

permalink

Also Windows Terminal and the Cascadia Code font were a dream to use. I replaced Inconsolata with Cascadia Code on my Mac iTerm2 #terminal #font #windows #win

permalink

#vscode and LLDB in VSCode were SO amazing to use. Within a couple of iterations, I was able to track down the use-after-free: https://github.com/artichoke/artichoke/pull/674 #fail #win #artichoke

permalink

After repeated attempts of replicating my windows CI setup in a developer VM, I sloppily installed software via web installers. With every VS component, rustup, RubyInstaller, LLVM, choco, and winflexbison, I was running with a reproducer #artichoke

permalink

Once GH-670 was merged, I had a segfault that only (and reliably) reproduced on one test in Windows #artichoke #rust #windows

permalink

After 50 PRs, I was able to put GH-442 to bed and remove the Rc wrapper from the Artichoke state https://github.com/artichoke/artichoke/pull/670 #win This refactor took 4 months #fail #rust #artichoke

Photo for post 768
permalink

Nightly builds of Artichoke are available via ruby-build: rbenv install artichoke-dev #artichoke #win

permalink

The one dynamic bit I cannot truly replicate is shortlinks but I never used this feature #win

permalink

No more security updates, terraform, autoscaling group rolling deploys, packer and baking AMIs, Ansible deprecation warnings, RDS outages #win I can unsubscribe from nginx release notes listsrv lol

permalink

Big wins from switching to static: modifying content with a lightweight dev server, CI via GitHub Actions, automated deploys, better webpack integration and minification, site is free as in beer to operate #win

permalink

Partials tended to end up in the same places as before #win

permalink

Some bespoke filters I hand rolled before got pushed into dependencies, like hashtag parsing and linking moving to linkifyjs #win #yolo

permalink

There is about as much javascript as there is python in the dynamic, django-based hyperbola, which is to say not much #win

permalink

It mostly works and is reasonably speedy, although while iterating, a template error in the lifesteam post rendering code caused ~1000 templates to fail compilation. I let the build peg the CPU for 20 minutes before giving up #fail

permalink

The static site is based on webpack and webpack-html-plugin with a few preprocessor scripts that emit the templates #webpack #js

permalink

I made the mistake of exporting the database first AND not documenting how I transformed it to YAML, so I've been hesitant to post here #fail

permalink

for the past 2ish months I've been slowly working on porting hyperbola to a static site with the ultimate goal of winding down an #aws account

permalink

I published my first #rust crate (and package of any kind, ever)! rand_mt is a fork of an existing Mersenne Twister crate which adds compatibility with the latest rand_core and makes it no_std #patch https://crates.io/crates/rand_mt #patch

permalink

I contributed a feature to #rust! Added an implementation to allow turning a &mut str into a String using the standard From trait #win #patch https://github.com/rust-lang/rust/pull/69661

permalink

Migrated all #artichoke CI to GitHub Actions #github #win Jobs and workflows are so much easier to reason about. And it's free 💪