talk to me about this post: ivo@
this domain / twitter
interested in my blog? get notified of new posts via email
around/visiting london? would love to meet up!
other posts @ ivo's awfully random tech blog:
- backtracie and the quest for prettier ruby backtraces (mar 7, 2024)
- look out! gotchas of using threads in ruby (mar 4, 2024)
- understanding the ruby global vm lock by observing it (jul 23, 2023)
- ruby’s unexpected i/o vs cpu unfairness (feb 11, 2023)
- talking ruby performance tooling at the ruby rogues podcast (jan 24, 2023)
- ruby reuses native os threads after ruby threads die (nov 26, 2022)
- hunting production memory leaks at rubykaigi 2022 (nov 9, 2022)
- tracing ruby’s (global) vm lock (jul 17, 2022)
- talking ruby ractors and concurrency at the ruby rogues podcast (jan 22, 2022)
- the unexpected cost of ruby’s nomethoderror exception (nov 1, 2021)
- sunday lol: embedding images in commit logs (mar 14, 2021)
- ruby ractor experiments: safe async communication (feb 14, 2021)
- looking into array memory usage in ruby (feb 11, 2021)
- what i’ve been reading: december+january 2021 edition (feb 6, 2021)
- what i’ve been reading: november 2020 edition (dec 2, 2020)
- creating a newsletter! (dec 1, 2020)
- what i’ve been reading: october 2020 edition (nov 3, 2020)
- better backtraces in ruby using tracepoint (jul 19, 2020)
- snippet: getting a dynamically-generated method name on the java stack using javassist (jul 12, 2020)
- ruby experiment: include class names in backtraces (jul 5, 2020)
- quick tip: unsafe concurrent ruby hash access (aug 26, 2019)
- kotlin hack: transparently replace class with interface (aug 10, 2019)
- kotlin for rubyists (mar 5, 2019)
- spotting unsafe ruby patterns - talk recording (oct 13, 2018)
- writing to a java treemap concurrently can lead to an infinite loop during reads (jul 21, 2018)
- til: java hides lambda frames in stack traces (jun 21, 2018)
- my thoughts on, and how i approach code reviews (apr 8, 2018)
- is this ok…? or, spotting unsafe concurrent ruby patterns (jan 31, 2018)
- lightning talk - warm-blanket: goodbye crappy after-boot performance (jan 7, 2018)
- persistent-💎: a new ruby gem for beautiful immutable data structures (jan 3, 2018)
- asciidoc: an awesome markdown alternative (oct 22, 2017)
- why i always use attr_reader to access instance variables (sep 20, 2017)
- introducing the warmblanket gem (aug 20, 2017)
- ninjas’ guide to getting started with visualvm (aug 12, 2017)
- adopting tls (may 2, 2017)
- rubies: a look at ruby's shiny future (apr 17, 2017)
- quickies: heroku exec and deploying jruby (mar 19, 2017)
- why you should be using jruby in production (mar 16, 2017)
- benchmarking jruby invokedynamic with a production application (jan 29, 2017)
- pry-debugger-jruby gem now on rubygems! (dec 2, 2016)
- weekend hacking: enviado gem (nov 22, 2016)
- jruby's charles nutter on the jvm as a language platform (nov 15, 2016)
- peek and pick at mri's heap, part 2 (nov 13, 2016)
- finding dead ruby code with debride (oct 29, 2016)
- psa: you can now debug with pry on jruby (oct 12, 2016)
- peek and pick at mri's heap, part 1 (oct 10, 2016)
- why you should regenerate your spec_helper (sep 25, 2016)
- explaining git (sep 3, 2016)
- another round of jruby goodness (jul 17, 2016)
- down the jruby rabbit hole (jul 16, 2016)
- did_you_know.ruby? (may 14, 2016)
- asciinema: shell recording done right! (dec 1, 2015)
- whoa! java has a repl now! (nov 28, 2015)
- ruby meets weak memory models (nov 28, 2015)
- ruby features i'm looking forward to (nov 13, 2015)
- starting a new blog (nov 3, 2015)
...and a link to my homepage :)