Posts Tagged ‘ruby’

RubyConf Australia

October 12, 2013

RubyConf Australia 2014

RubyConf Australia 2014 will be Australia’s second Ruby conference. It will be held in Sydney in Luna Park, an amusement park. The workshops will be on February 19, and the talks will be on February 20 and 21.

About Australia

Australia has an active Ruby community, because many programmers are able to use Ruby on Rails at work. We have Ruby meetup groups in many cities in Australia.

We also hold an event every six months called “Rails Camp”. Rubyists from all around Australia go to a retreat. We have no internet access, just a wi-fi network. We do hacking, and give talks, and play games such as werewolf (Japanese link: 汝は人狼なりや?). And we drink! At the end of Rails Camp, there is a session where many people give lightning talks on what they worked on at the camp, no matter how beginner or advanced the project is. The first one was held in June 2007, and the fourteenth Rails Camp will be held in November.

Australia has an international-minded Ruby community. Many people in the Australian Ruby community are from overseas, and some Australians have moved overseas for work. We also attend overseas conferences, including Red Dot Ruby Conf and RubyKaigi. I’ve been to RubyKaigi  2011, Sapporo RubyKaigi, RubyKaigi 2013, and plan to go to RubyConf Taiwan next year.

Australia is regarded as a slightly expensive destination, but it’s possible to reduce your expenses by choosing less expensive accommodation and restaurants.

Workshops

RubyConf Australia 2013’s workshops were on the day before the talks, and the same will happen in 2014. There were five different workshops available. “Advanced Ruby” by Dave Thomas, “Code Retreat” by Corey Haines, “JRuby” by Hiro Asari and Charles Nutter, “Rails4iOS” by Lori M Olson and Tim Breitkreutz, and “Rails Girls” by Robert Postill, Kai Lemmetty, and Susan Jones. I attended the JRuby one, and found it an excellent experience. Charles and Hiro were really helpful, and I learnt a lot.

Keynote talks

There were four keynote talks given in 2013. The first was by Corey Haines, the co-founder of Code Retreat. He promoted the idea of #EmuMarch, in which you *emu*late someone you admire during the month of *March*. (His slides also had pictures of emus in them) At the end of the first day of talks, the internationally famous Aaron “Tenderlove” Patterson gave an amusing but useful keynote.

For the start of the second day of talks, the keynote was given by Australian Rubyist Mikel Lindsaar. He talked about how Ruby and Rails can and will succeed in the future and your right as an employee to deliver value. Before attending this talk, I wondered “If Ruby makes programmers happy, what language makes bosses happy?”. Because of that talk, I realized that Ruby is the language that makes bosses happy.

The closing keynote was “The Ruby Language”, by Dave Thomas. I learnt from the talk that the Himba people in Namibia have a completely different way of describing colours than English-speakers or Japanese-speakers have. Because they describe colours in a different way, they can distinguish colours that look identical to me, but can’t distinguish colours that appear completely different to me.

Other talks

The talks in 2013 were diverse and enlightening. They were given by both international and local speakers. Some of the most esoteric talks were “Sinatra in SIX lines – How to do crazy stuff with Ruby” by Konstantin Haase, and “Hacking with Gems” by Benjamin Smith, which talked about security exploits that can be put into Ruby gems. Meanwhile, Carina C. Zona’s talk “Schemas for the Real World” made us question what assumptions are made by social networking sites about people’s identities.

Less esoteric, but equally enlightening, talks were given about topics such as immutability, concurrency, and performance.

Social Activities and Touring

Social activities were held on the night after the workshop, and on each of the nights of the conference. However, on one of the nights I chose instead to have dinner with a few attendees at one of the many ethnic restaurants available near the venue.

On the day after the conference, I happened to spot a Rubyist showing other Rubyists around the city. I joined the group, and we saw various sights.

__goto__ :rubyconf_au_2014

“Egg” (pre early-bird) tickets are available until October 28. Other tickets will be available afterwards, but with less of a discount. Scholarships to attend the event are also available.

The Call For Proposals is open until October 31. Proposals will be made by Github pull requests, which was inspired by Sapporo RubyKaigi.

The official site is http://www.rubyconf.org.au/ . For updates, follow us on twitter at @rubyconf_au, or subscribe to our mailing list.

To find out more about 2013’s conference, watch the videos on Vimeo, check out Eventifier, or visit the Lanyrd site for 2013.

We hope to see you there!

MRI: boring, but reliable

July 8, 2013

A year ago, I filed a bug report for JRuby. Unfortunately, the bug is still alive and well today. Its name is JRuby 6763.

I am interested in the idea of Ruby having alternative implementations. Such alternatives have their own advantages, and create their own opportunities, such as bringing Ruby into a Java only shop.

I also like the JRuby team. I’ve met Charles Nutter and Hiro Asari in Australia and Japan, and I like them. Not to mention Yoko Harada, and other people I’ve met who I either forgot their names, or forgot they were JRuby people. JRuby people have also contributed to MRI, which is wonderful news for a world where too many unnecessary divides exist. In addition, the JRuby team fixed a performance issue that I encountered (JRuby 6766).

But my experience with MRI, compared to that of JRuby and other implementations, is that MRI has never produced false information, whereas the alternatives have.

What I mean by this is that I’ve found bugs in MRI that causes it to crash. But I’ve never written a program that successfully executed, but gave me incorrect output. By contrast, both of the major alternatives have done so.

In fairness to the other implementations, some of the Ruby code that I’ve had issues with has been fairly obscure and esoteric. I was the one who complained that Rubinius didn’t implement the flip flop operator. And JRuby 6763 is about trouble when I use a method named … “method”. 

I don’t know why MRI has been more reliable for me. It could be a different culture in the MRI team compared to JRuby or Rubinius. It could be that MRI has more staff and volunteers. Or merely that MRI has more users, which mean bugs are detected earlier.

No doubt, some people have code that works fine on alternative implementations, but has trouble on MRI. I can only talk about what I know.

As to why I haven’t fixed 6763 myself? With regards to fixing it in work hours, the problem is that I’m a bioinformatician, not a programmer. I wouldn’t be able to justify learning Java during work hours to be able to fix this problem. And with regards to spare time, I spend too much of my time staring at a computer screen as it is, and becoming a JRuby patch submitter would make it worse.

Do I feel “entitled” to a bug fix? No I don’t. The only thing I’m entitled to do is write a blog post expressing what I think.

Would I use JRuby if this bug were fixed? Not in production. The first thing I’d do if this bug were fixed would be to run the unit tests failing because of 6763, and try to find another bug or three to complain about! I might also use JRuby to profile my application for CPU usage or object creation.

Do I think the JRuby team doesn’t pay enough attention to bugs? I wouldn’t assume that. This is just speculation, but I assume the core team decided their time is best spent on major tasks that improve JRuby, and that bug fixes that don’t affect many people and are trivial to fix are best handled by casual committers.

Unfortunately, I don’t have the answers for what can be done. Is it more users trying out alternative implementations? More paid staff? Or something else? I don’t know.

include(:english)

December 28, 2012

Brian Ford wants discussion about Ruby to be in English.

I also want Japanese programmers to use English more often.

Some Japanese programmers said to me that they can’t attend overseas conferences, because their English is not good enough. That made me very sad.

Many programmers still make bug reports in Japanese.

Some Japanese programmers are trying to improve their English. At Sapporo RubyKaigi, many programmers attended try(:english). At Minami.rb, there are sessions to study English.

I think some Japanese people want to use English, but are unable to. Do you need help?

Can non-Japanese Ruby programmers help Japanese Ruby programmers use English?

Zombie chaser – it’s alive!

April 12, 2010

Zombie-chaser is a graphic(al) user interface to mutation testing. Mutation testing involves making modifications to code, and seeing if the unit tests detect these changes and indicate a failure. In the zombie-chaser gooey metaphor, mutated code is represented by zombies. Each successful test is represented as the zombies getting one step closer to you, and a failed unit test kills off the zombie. If you fail to kill the zombie, it gets to eat your brains.

There are two alternatives for the interface. One is a GUI, while the other is a nethack-style interface within the console itself. Like the chaser project, zombie-chaser aims to be compatible with any flavor of ruby on any platform. If it isn’t – if it’s lukewarm on JRuby, if it’s rusty on IronRuby, or if it’s having kittens on LOLRuby, and it’s possible for me to fix it, let me know!

This program incorporates code from chaser and heckle, written by Ryan Davis and Kevin Clark, and code from brains, a game written by Chris Lloyd, Dave Newman, Carl Woodward & Daniel Bogan. The idea of ripping out brains code and producing something different was inspired in part by Zombino, written by Ryan Bigg, and psDooM helped inspire the idea of melding work with a game interface.


The royalty-free road to knowledge

February 7, 2009

If you start on a random Wikipedia article, and click on the first link within the article, and continue the process until you reach a loop, you end up at Philosophy or a similar article.

The composition of Wikipedia ... or is it? (CC-SA)

The composition of Wikipedia ... or is it? (CC-SA)

Considering that Wikipedia has been criticized as having too many articles on trivial topics, it’s surprising. It’s also freaky – how does Wikipedia know that Philosophy is the “ultimate” thing?

Nonplus describes one possibility, saying “It’s nice to think that the articles tend to proceed up to higher and higher levels of generality and abstraction”, and I’m creating a program to analyse how it “funnels”.

The results so far, although not 100% accurate, are plausible enough to be interesting. It’s claiming that the ultimate page is not Philosophy, but Organism, another abstract concept. Other ultimate pages include Communication, Education and Alphabet.

Analyzing what pages get the most direct links, the top ones include “Where”s, such as the United States and Australia, and “What”s, such as Gene, Plant and Fictional character.

Pages passed through on the way to Organism and other pages are also calculated. 4.3 million out of 4.8 million pages ending up at Organism go through Philosophy, of which 3.8 million went through Indo-European languages. Philosophy links to the British A. C. Grayling via a citation of his work, and United Kingdom links to Terminology of the British Isles via an explanatory footnote. (Nothing in the rules against that … yet) We can see that the British Isles refer to islands, and that some islands are atolls, which are made up of coral, which are marine organisms, studied in marine biology, which study organisms.

The pages that merge together mighty tributaries are also listed. A. C. Grayling, passed by over 4 million pages, only adds half a dozen pages to the total. By contrast, Mathematics and Science, although passed by only a few hundred thousand pages, are noted for merging groups of pages together together.

It’ll be an interesting investigation into collective intelligence. And if it isn’t … well anything that’s free and wiki is fun, right?