I've just posted part 31 of my series on writing a ruby compiler in Ruby - it covers basic String output and string interpolation. Also I believe I forgot to announce part 30 which removed the last tiny bit of C support code
vidarh — 21 posts
Writing a Ruby compiler bottom up, part 28 hokstad.com
Part 28 of my article series on writing a Ruby compiler in Ruby is out - this part deals with turning number constants into Fixnum objects.
I love Graphviz, and thanks to inspiration from a PHP project I've written some Ruby code to make it easy to inline Graphviz graphs, with a Rack middleware to intercept requests for image versions of the graphs and render them.
Writing a Ruby compiler bottom up, part 26 hokstad.com
Took me about two years, but this part is about adding debug info that gdb can use, and I have a bunch of additional posts written.
The problem with compiling Ruby hokstad.com
Some thoughts about problems and possible solutions for compiling Ruby - as it turns out Ruby has quite a few features that, while making it very pleasant to use makes compiling it efficiently a pretty big challenge.
The Ruby Object Model - Structure and Semantics hokstad.com
To get inspiration for the work on my compiler series, I spent quite some time going through MRI to get a better idea of exactly how it all hands together. The result is a post on the Ruby Object Model. It doesn't contain much new stuff if you already understand the inheritance structure of Ruby completely, but if things like meta classes confuse you, and you wonder about implementation details, you might find it useful.
Sliding stats is a small Rack Middleware component that provides you with a couple of graphs and a table to give you a quick overview of what's going on with traffic to your web apps right now - it keeps a "sliding window" over the last N (configurable) number of requests.
I wanted a hack to visualize programs from my compiler project using Graphviz. The script will turn arbitrary arrays containing other arrays or objects that respond to #to_s and turn it into a tree structure.
A step by step walk through of a simple operator precedence parser in Ruby.
TraceViz: A Ruby script that creates a graph from multiple traceroute's to (optionally) multiple target sites, and then generates a diagram from the result using GraphViz.