What if you could embed Ruby on a web page, using ruby.wasm without needing to install anything locally? And what if you could use Shoes – via Scarpe – to do it?
And what if you didn’t need a dev environment or anything. Just copy the HTML file to any server you want, and it works?
I get asked about computer programmer portfolios. And the job hunt generally, but often that means talking about portfolios. I’m happy to give advice to whoever will listen.
Should you have a portfolio? How do I put together a portfolio? What would go into it?
Awhile back I wrote The Forty-Year Programmer. You can think of it as my declaration of programming as art, not business. It’s about taking your time and getting good gradually over many years, which works great for art, but often badly for your career.
Today I want to talk about the differences between programming-as-art and programming-as-business.
Shoes3 is an old, creaky codebase from the Ruby 1.8 days. When working on
Scarpe, I get to read through it
a lot to answer questions like, “what methods can you call on a Button?”
or “what is self supposed to be here?”
It provides a fun code reading challenge. I recorded a video to help folks
who...
Awhile back I joined the Scarpe project. I was part of the original Hack Days project for it, and I’ve continued to contribute bits and pieces since.
Scarpe is good silly fun. We’re not very far along, but people seem happy and excited. That’s nice! The Shoes4 folks helped us find an old Shoes3 binary to test against, and have been generally positive.
There’s a normal thing that happens when you get a few people excited about a project and cool stuff happens: other folks, who have been doing their own thing for a long time, respond to it. That makes sense. It’s a thing happening! You can respond to it.
The guy who writes Glimmer recently wrote a blog post and/or section of his README, “If You Liked Shoes, You’ll Love Glimmer.” That makes sense. Glimmer is a much more mature, complete solution to building local UI apps than Scarpe is.
Wait, why Scarpe? He said “Shoes.” There’s other Shoes out there, right?
I’ve been working on Scarpe a fair bit lately. I came across a lovely and bizarre bit of Ruby and I really want to share.
Short version: did you know that with the cool Ruby 3.0 Fibers changes, you can use Fibers as a weird form of flow-control primitive, not for concurrency at all? And it solves some of Ruby’s mismatch with JS-style evented programming and promises?
I’m gonna talk about an ugly situation with Ruby Webview, and a surprisingly clean solution with Fibers. I’m sure there are, like, ten good reasons not to do this in production. Also, Scarpe will be doing this as its main method of testing.
If you work in Ruby, you probably deal with HTTP a lot. There are various ways to
see into the actual HTTP requests and debug them. I’d love to mention a few of them to you.
Why do you care?
If everything goes perfectly, you don’t. It’s debugging. So if you never write any bugs, you’re fine.
In case you write bugs like I do, let’s talk debugging.
Sometimes when you’re reading a murder mystery, you’ll want to think about two different scenarios: what if the butler did it, vs what if it was the wealthy socialite? What would be different? What evidence might they leave?
This is also a core skill for senior-and-up software engineers. It’s obvious...
A fellow recently asked me for advice about running a Ruby workshop. And folks, I had forgotten I knew so much about it before he asked!
Before Rebuilding Rails had a video class, I had written a lot of the material for Rebuilding Rails workshops that I gave at Southeast Ruby and at Railsconf. I...
Subscribe to get free ebook chapters and an emailed coding class now, plus videos and articles a few times a month.
Why this specific newsletter? You want to be an expert. Expertise comes from learning the fundamentals, deeply. And that comes from the best kind of practice.
I write with that in mind. I won't waste your time.
(Yes, I also sell things. They're good, but I'm fine if you don't buy them.)