Japan: Part 0

As is traditional... because I'm doing it now, therefore making it the start of the tradition, I am posting a preview of my trip to Japan, while sitting in Terminal 2 of Narita airport.

Unprocessed, Directly from Camera

More will come once I am home. I am thinking this will end up being a series of posts, as it would likely be too much for one post. 

My Kaigi talk's video hasn't been posted yet, however, I can share the slides below.

I'll have more thought on Kaigi once I have had more time to digest the trip. In the mean time, please, download our Tech Preview, and let use know what you think of it! 

 

What Have I Been Up To?

So, I've been cagey about writing about work here. While it's no longer a secret what I've been up to, I guess I still have a residual amount of hesitance to writing about my work. So here I am, trying to push back against my hesitance! 

JavaOne

JavaOne was last week, and IBM had some representation, including some people I work with. 

Perhaps the most important presentation for sharing what I'm working on, was that of my team lead, Daryl Maier, who presented the following on Wednesday (video here).

In it, he covers the work I'm most closely connected with: The refactoring and reshaping of an existing runtime system into a language agnostic set of recyclable components, which we want to open source!

Our focus, as the JIT team has of course been on the refactoring of the JIT compiler, however, other teams in the IBM Runtimes area are also involved.For example, below is a slide deck from Charlie Gracie describing the Garbage Collection portion of the effort. 

In addition to refactoring, my personal focus has been on the Ruby JIT, improving functionality, and exploring approaches to compilation for Ruby.

I've learned an immense amount about virtual machines, JIT compilation and software engineering over the last year or so. I'm planning on doing some in-depth writing about the JIT, and I will link to / republish it here as soon as I've gotten to it.

I'll also be presenting at a conference next month!  (More on that later!) 

One last thing: If any of this sounds interesting, if you have questions, or want to come work with us? Drop me a line: magaudet <> ca.ibm.com!, @MattStudies

Learn your tools: GDB and Replay

Lesson

Pay attention to what your tools give you. Sometimes it's exactly what you want. 

Story

I have been trying to figure something out inside the Ruby interpreter for a couple of days now. Trying to find something that happens only after hundreds of method executions can be painful; Putting a breakpoint is difficult when the breakpoint will be executed hundreds of thousands of times before it becomes interesting. Conditional breakpoints help, but still aren't perfect, as sometimes formulating the right condition can be difficult.

Mozilla's rr put me in the mind of replay. I even went so far as to find a machine to run it on . Turns out however, Ruby, or our JIT hooked up to Ruby uses a system call unimplemented in rr, and so it didn't work.

While looking for something else though, I noticed the replay family of commands in GDB's help menu. Some googling led to the documentation. Not going to lie though, it really took the tutorial to help me get a handle on it.

What a revelation!

Replay allowed my to very quickly find something I'd spent the day before trying to track down.

reverse-step, you are a dear friend now.


What about rr? As it turns out, for my issue, rr is almost certainly overkill. rr aims to catch non-deterministic failures; where mine is perfectly deterministic. I do hope to spend more time playing with rr though, as it's very cool tech.

Magic Paper Box

Eight months ago, my beloved Kindle 2 (a fantastic gift from Andrea) started to give up the ghost.

The decline was entirely in the battery. Slowly, but surely it stopped holding charge. Finally, a couple of months ago, it finally got to the point where it wouldn't start up disconnected from power.

For a bit, I made due with my phone. Reading on a phone sucks, but it was better than nothing, and I was in the middle of re-reading The Rook. Then, after I finished it... I sort of stopped reading. For a few months I barely touched a book.

This was fine, as I was very busy at work, watching TV on the bus, and playing a lot of Rocket League at home.

Recently, a friend recommended a series to me that sounded like it'd be right up my alley: The Laundry Files, by Charles Stross. My universe summary 'Mathematics of a certain complexity attracts entities from parallel universes; A nerd special agent is tasked with helping prevent the end of the world.'.

A conundrum: With my Kindle dead, how would I read them?

A faint tickle occurred in the back of my head while pondering this question.

Hmmm. Lye-berry... Lie-Barry...

A Library!

I dug out my library card, which had rested inactive since I had used it to get out The Martian.

A real book! Who would have thought!

Anyhow. This post was inspired by something that caught my eye: Apparently e-book sales are down.

I wonder if others are in the same place as me, Finding their e-book readers hitting their end-of-life, and being greatly disappointed by the heirs. I guess we'll see. It's starting to look to me that e-books will simply be yet another format, beside the hardcover, paperback and audiobook.

On Microaggressions

... I have very little to say. I don't know where I sit, nor what I think to be honest.

However, I am very impressed with Conor Friedersdorf's recent series in the Atlantic on them:

  1. The Rise of Victimhood Culture
  2. Why Critics of the 'Microaggressions' Framework Are Skeptical
  3. Readers Defend the Rise of the 'Microaggressions' Framework
  4. Readers Lament the Rise of 'Victimhood Culture'
  5. On Being Asked, 'Where Are You From?'
  6. Is 'Victimhood Culture' a Fair Description?

Over the course of the series, Friedersdorf takes a clear position on the 'Microaggressions' framework. Yet, he is very open in his writing to the thoughts of others, discussing criticisms of the framework, as well as criticisms of his own writing on it.

I found the series to be a refreshing piece of participatory journalism. Is he right? I don't know. However, I appreciate how he has approached the topic.