Ruby Kaigi 2010 Day 3

Last day of Ruby Kaigi! Sad to see it go, it's been a great conference. As per usual Tweets are in bulleted italics and the rest is after the fact commentary.

First I've got to show you the commemorative fans they were handing out:

It's the creators of Ruby and PHP

It's Matz and... Someone else (sorry if it's obvious - I don't know). And of course they are programing in the bath.
  • BigDecimal: You can handle numbers as large as can fit into memory as opposed to the IEEE double #rubykaigi
  • BigMath is the Math module for BigDecimal #rubykaigi
  • Lots of different rounding modes in BigDecimal #rubykaigi
  • BigDecimal.mode is global per process - not thread safe #rubykaigi
  • So BigDecimal is Fiber unsafe #rubykaigi
  • .@mrkn implemented a solution storing mode in thread local #rubykaigi
Oh good. Wait, is that in 1.9.2 or trunk. I'd have to be in 1.9.2 right? To the Google! ... Yep, seems like it made it in:
  • You can now change modes in a block (added to trunk yesterday) #rubykaigi
  • Effective digits/ Significant digits determines which digits to keep and which to round off #rubykaigi
  • BigDecimals don't know their own effective digits #rubykaigi
But I think the point of talking about sig figs was that it's coming soonish in Ruby. 1.9.3?
  • It is dangerous to mix floats and BigDecimals #rubykaigi
  • BigDecimals can't convert from rational, integer, or float. just strings #rubykaigi
  • And you can't do BigDecimal(BigDecimal) !! #rubykaigi
That is one crappy interface. Taking in only strings is frustrating and weird. How did this happen?
  • Now a preview of the future of BigDecimal #rubykaigi
  • No library for irrational numbers in Ruby #rubykaigi
  • Perhaps we can represent irrational numbers as algorithms and on convert when needed. #rubykaigi
  • BigDecimals don't have real significant digits implemented right now. #rubykaigi
  • The issue of BigDecimal not being able to handle anything other than a string as input will be fixed as it is a bug #rubykaigi
The irrational numbers thing sounds pretty cool. Since I mostly sling around strings for my day job I don't know that I'll ever use it. But purely for Ruby pride I like to see ruby challenge Python's rising dominance in the sciences and maths.
  • I really don't like the lack of travel time between session. You should have at least 5 minutes to change sessions. #rubykaigi
Look, this has been a great conference and any slights I've tended to overlook because they've really done a heroic job of keeping the admission price down but that lack of a passing period is just... Well I don't see why they did it. Just having the time as a buffer in case talks run over is reason alone. Moreover, no passing period traps people in sessions that they'd rather not be in and restricts choice.
  • Apparently there is a lot of chatter in IRC by ruby commiters that NArray should be added to strd lib. #rubykaigi
  • NArray is 28x faster and uses 8x less characters in 1.9.2 #rubykaigi
  • NArray is faster than what? Array, I assume, but I may not be following the translation correctly. #rubykaigi
Translation is volunteer and best-effort so it adds some challenge to attending sessions in a foreign language. So if I make any mistakes in this here blog, that's what I'm blaming it on.
  • Pwrake is parallel distributed Rake - being developed here in Tsukuba. #rubykaigi
Just a little tidbit dropped at the end of the NArray presentation -- sounds pretty cool. Masahiro Tanaka is using it drive his workflow in his scientific research.
  • yarv2llvm tries to speed up Ruby by implementing type inference (yarv is the vm for 1.9x) #rubykaigi
  • There are times in Ruby when type can not be inferred and in those cases yarv2llvm is often slower than Ruby 1.9x #rubykaigi
  • Fixnum overflow to BigNum is one of the hardest problems to solve #rubykaigi
  • Btw, I think the title of this talk: "How Did Yarv2llvm Fail" is wonderful. Way to keep everything above board. #rubykaigi
Great talk and very honest. The type inference thing looks promising but there are a couple of tough hurdles to clear. Maybe some day. Until then there's always Mirah.
  • Ruby AOT complier is "mostly compatible" with Ruby 1.9 #rubykaigi
  • AOT == "Ahead of time"
  • Ruby AOT compiler is passing 7847 of 7850 Ruby Spec tests as of now. #rubykaigi
  • On average Ruby AOT compiler is 3.5x faster than 1.9 for common benchmarks #rubykaigi
Cool, let's all move to Ruby AOT!
  • It doesn't fair quite so well in the real world Ex: Rails. Slightly slower than 1.9 #rubykaigi
  • Something about cache misses makes it slower #rubykaigi
  • The Ruby AOT compiler team wants to reduce the generated code size to increase speed. #rubykaigi
  • Rails can be compiled in 77 min and size of compiled code is 92MB with Ruby AOT #rubykaigi
Oh. Never mind. Plus, compiling. Boo. Hiss.
  • This memory profiler's gui looks amazing! #rubykaigi
  • Seriously, this is the sexiest profiler ever #rubykaigi
  • Can attach to running Ruby programs from another machine #rubykaigi
  • Designed to have as small as possible impact and be easy to use #rubykaigi
I gotta tell ya the audience was chomping at the bit to get a hold of this profiler. You can run it in production for christ's sake! And the GUI is to die for.
  • Not available yet!?! #rubykaigi
  • Needs to get patch accepted into ruby core - maybe in 1.9.3. RATS! #rubykaigi
Very cruel of Tetsu Soh not to mention this up front. I'm sure it was an oversight but everyone was crazy disappointed. Still this was one of the best talks of the conf. Tetsu Soh is one to watch.
  • Dear Ruby Core please, please, please, please, please, please, please, please accept Tetsu Soh memory profiler patch #rubykaigi
Indeed. I'm famous (on the internet (in one corner)) so you should listen to me.
  • Lots of requests to publish Tetsu Soh's memory profiler on Github. I agree! #rubykaigi
  • Automatic sliding doors in Japan trigger much latter than Americans would expect leading to a lot of stopping and hand waving
I'm not the only one who noticed this so I'm not crazy.
  • More awesome techno in the #rubykaigi main hall. I want, nay, need the playlist.
Please post it on the 'Goodies' section of the Ruby Kaigi site. Or tweet about it. Something.
  • Shay Friedman has spent the first five minutes of his talk apologizing for being associated with Microsoft. Stop. #rubykaigi
There was this weird hostile vibe coming from Shay. I felt like he hated us for liking Apple products. The weird thing is that there are a lot fewer Apple computers here than at a normal Ruby Conf. Maybe he thought we were all Microsoft haters and so he might as well fire first. Seemed like a mistake.
  • Just saw a nice hello world creating windows and dialog boxes in IronRuby #rubykaigi
  • IronRuby currently passes 85% of Ruby Spec. #rubykaigi
  • IronRuby 1.0 is 1.8.6 compatible. 1.1 (coming soon) will be 1.9.2 compatible. #rubykaigi
  • Windows Presentation Foundation's view templates are written in xaml which is like html. #rubykaigi
Another markup language because we needed more. I feel like the IronRuby team really needs a win. They've been the slowest progressing Ruby VM for a long time now.
  • <script language="ruby"> Whaa? Gestalt hides a hidden bit of Silverlight in the page so you can replace Javascript with Ruby. #rubykaigi
Pretty neat trick that. Of course it means making your site dependent on silverlight. No worse than depending on Flash I guess.
  • IronRuby.Rack is Rack implementation on ASP. Currently in beta. #rubykaigi
It's all coming along, I'd just like to see something working at this point in its life.
  • If key is symbol then only one instance - less object creation. Which is why everyone uses symbols. Or because everyone else does #rubykaigi
So did you know why everyone uses symbols? Or did you just do it because that's the convention. Yeah, me too but then I learned. I'm not going to say how long ago that was.
  • Presenter's computer went down and it's taking forever to reboot. Stupid Mac. #rubykaigi
That's one of those rough moments where you really feel bad for the presentor. But he handled it like a champ -- continuing the presentation while he waited for his machine to boot back up. Well done. I wish I got more out of the talk but it was one of those inspirational talks that are hard to translate. The Japanese speaking audience seemed to love it.
  • Please use the overburdened network to download the english version of the slides. Umm... What? #rubykaigi
Huh. Why did that seem like a good idea. Since when does asking a room full of people to download something all at once ever work. And yet, it seems it happens once a conference. Repeat after me: Never ever depend on the network at a conference.

Funny story time. All through the conference I spent a lot of time staring at the IRC screens on either side of the stage where the translations happen. But since it's just IRC, anyone can join the room. There was this one guy who posted A LOT and everyone of the posts seemed to be either:

I later found out that 888888 means clapping and wwwww means laughter. OK but stop cluttering up the screen that I'm trying to read translations off of. Then I found out who sora_h was: He's 14 and his name is Shota Fukumori. He got up and gave an entertaining lightning talk. Turns out he's a Ruby commiter so he's got that on me.

Young programmer

And, all of a sudden, it was time for the final keynote by Chad Fowler. He gave a talk about how to live a remarkable life and it was good stuff.
  • The two things that are necessary to live a remarkable life are: To have intention and a system of realizing that intention #rubykaigi
  • Living intentionally means being mindful of your actions. It's easy to coast through life. #rubykaigi
  • "My co-workers laughed at me when I learned Ruby" - Chad Fowler #rubykaigi
  • "You don't want to be in a situation where you are competing on price" - Chad Fowler #rubykaigi
  • Programming Cobol is like working in a hospice. There's a market for that. - Chad Fowler #rubykaigi
  • "Always be the worst musician in whatever band you're in" Pat Matheney #rubykaigi
  • "If you're playing things that sound good then you're not practicing" lesson from music that applies to programming #rubykaigi
  • "I needed a project that was useless" - Chad Fowler #rubykaigi
  • "Was today better than yesterday?" All you have to do is get a little better every day #rubykaigi
  • "Passion is a resource that you have to conserve" - Chad Fowler #rubykaigi
Lots of gems in there.
  • RubyKaigi 2011 will be in July and in Tokyo. #rubykaigi
There was something about the theme being "The Last Ruby Kaigi" but I think it was sort of a joke making fun of some guy who posted a rant about how the Ruby Kaigis need to end. I didn't have enough background to get it.

Oh, I forgot to talk about the guy hawking "The Last Google Wave Book Ever Published." It seems he had been working on a Google Wave book and it was printed on the same day Google announced the end of wave. His response? To shamelessly promote the book at Ruby Kaigi in a lightning talk, at some sort of hallway session (with 30 people gathered around), and pretty much everywhere else. And I actually saw some people carrying the book around. Did they buy it? Who knows -- his positive personality was so powerful I wouldn't be surprised if they did.

The Last Google Wave book ever published

Ruby Kaigi was an excellent time. I thought it might be crazy intimidating but everyone was super nice and there were enough english speakers so that I could always get my ideas across. Go if you have the chance.

Also, check out my every growing set of Ruby Kaigi photos at Flickr:


sorah said…
Hi, I'm sora_h.

I'm 13 and I'm not 14 because I was born in 1997.
But I'm 2nd grade in JHS; Japan set grade group from April to April (next year).
koyhoge said…
The other guy of the fans is Masaki Fujimoto, CTO of Gree (famous SNS service in Japan), and famous PHP developer, founder of the Ethna framework.
kakutani said…
the playlist on the main hall is now online: Enjoy!

Popular posts from this blog

What's a Good Flog Score?

SICP Wasn’t Written for You

Point Inside a Polygon in Ruby