I forked onig and hope to add support for the wasm-unknown-unknown build target. For #artichoke though, it's too soon. Once mruby-sys is pulled into #Rust I'll try again #ruby #mruby #fail #patch #Wasm

permalink

Neither mruby-sys nor onig can build with wasm-unknown-unknown or wasm-wasi, so I was stuck with wasm-unknown-emscripten. The linker on mruby-sys would dead code eliminate artichoke_backend::Artichoke #fail #Wasm #artichoke #mruby

permalink

One of the goals is to have a #Wasm build target. This is what nerdsniped me this weekend. #artichoke

permalink

The biggest accomplishment was redoing the #artichoke README github.com/artichoke/artichoke#readme Thought about project goals and differentiators from MRI. Added milestones to track progress in achieving goals #win #ruby #artichoke

permalink

Being forced to set up the repository infra from scratch in cactusref was a good way to fix everything I disliked about my dev environment. CircleCI build and scripts/lint.sh got overhauled #win #artichoke #shell #bash #node #lint

permalink

With renewed focus of building my own #Ruby instead of extending #mruby, I put in some effort to make mruby an implementation detail of #artichoke. Lots of refactoring with sed. #fail

permalink

ferrocarril had different goals than artichoke: it wanted to run Rails. To do that, it had a lot of extra bits in it like gems, a Rack server, and sample apps. Nuked all of it #win #artichoke

permalink

Step 3: create the #artichoke repository where the core #ruby development will take place. #artichoke

permalink

Step 2: transfer ownership of ferrocarril to artichoke organization #artichoke #github. Not much to do here, updated some links, fixed some branding, got CircleCI building again #artichoke

permalink

CactusRef is still an incredibly unsafe crate, but at least it aborts if it detects a use-after-free #fail #artichoke

permalink

Extracting cactusref required completely rewriting #git history, updating docs, adding a build, adding benches, importing my blog post, updating links in the blog post #artichoke

permalink

Step 1: extract CactusRef from ferrocarril into its own repository github.com/artichoke/cactusref #artichoke

permalink

This weekend I did the migration, which took place in multiple parts #artichoke #github

permalink

ferrocarril is all grown up. I've moved development of my #ruby to a dedicated #GitHub organization. The project is called Artichoke github.com/artichoke/artichoke

permalink

Every toggle switch in a UI is secretly an Option #design

permalink

Matz likes my code omg omg omg #win #ruby #mruby #patch github.com/mruby/mruby/pull/4560#issuecomment-509572113

permalink

I’ve been uncovering a few bugs in mruby trying to get ruby/spec to at least run to completion. This bug report fixed an infinite loop that unblocked that #mruby #patch github.com/mruby/mruby/issues/4555

permalink

Reported a bug in layout generation for structure with flexible array members to #rust bindgen that was recently fixed #patch github.com/rust-lang/rust-bindgen/issues/1589

permalink

Reported an uninitialized memory access to #mruby upstream that was recently fixed #patch github.com/mruby/mruby/issues/4556

permalink

That memory leak turned out to be quite the yak shave. setjmp/longjmp from C leaving #rust memory in inconsistent state #fail github.com/artichoke/ferrocarril/pull/168

permalink

I had a PR accepted in mruby! #patch #ruby #mruby #win github.com/mruby/mruby/pull/4560

permalink
Post Image

#git bisect is why it's important that your repo be buildable at every commit. Currently fixing a massive memory leak in ferrocarril #fail

permalink

Optimized String#scan in ferrocarril to be comparable to CRuby performance #rust #ruby #mruby #performance github.com/artichoke/ferrocarril/pull/138

permalink