Andy Maleh
👤 PersonAppearances Over Time
Podcast Appearances
Yeah, sure. My name is Andy Mallet. I have about 20 years of software engineering experience. And I've been programming since I was a kid, really. And yeah, I have a bachelor's degree in computer science from McGill University in Montreal and a master's degree in software engineering from DePaul University, Chicago.
Yeah, sure. My name is Andy Mallet. I have about 20 years of software engineering experience. And I've been programming since I was a kid, really. And yeah, I have a bachelor's degree in computer science from McGill University in Montreal and a master's degree in software engineering from DePaul University, Chicago.
And I guess I became famous when I won the Fukuoka Ruby Award in 2022 for my project Glimmer DSL for LibUI. which I presented at RubyConf three times already. I'm going to present it for the fourth time this year. And I've also spoken at RailsConf twice before.
And I guess I became famous when I won the Fukuoka Ruby Award in 2022 for my project Glimmer DSL for LibUI. which I presented at RubyConf three times already. I'm going to present it for the fourth time this year. And I've also spoken at RailsConf twice before.
I won one of the awards. Yeah, a special Fukuoka Ruby Award. That's what it was called.
I won one of the awards. Yeah, a special Fukuoka Ruby Award. That's what it was called.
So Glimmer started originally as a desktop development GUI library. It was like I started it in the mid 2000s as a way of making myself learn Ruby. At the time, I was a Java developer and I did a lot of Java desktop development work at like a couple of companies. And I needed I heard about Ruby and I saw Rails and I thought it was awesome. And I'm like, why don't we do this on the desktop?
So Glimmer started originally as a desktop development GUI library. It was like I started it in the mid 2000s as a way of making myself learn Ruby. At the time, I was a Java developer and I did a lot of Java desktop development work at like a couple of companies. And I needed I heard about Ruby and I saw Rails and I thought it was awesome. And I'm like, why don't we do this on the desktop?
Like the whole thing. Like all the cool things that Ruby offers as far as metaprogramming, as far as building DSLs and all of that. We can like build GUIs with it on the desktop. So I checked out what are my options at the time that were built by other people. And I saw shoes and I saw TK and Ruby TK did not have a DSL. It was like writing code for it was very ugly.
Like the whole thing. Like all the cool things that Ruby offers as far as metaprogramming, as far as building DSLs and all of that. We can like build GUIs with it on the desktop. So I checked out what are my options at the time that were built by other people. And I saw shoes and I saw TK and Ruby TK did not have a DSL. It was like writing code for it was very ugly.
It felt like I'm writing Java code. So I didn't like working with it. Her shoes was very nice, but unfortunately it was a bit not very well maintained and it had bugs and it would crash randomly. So I built Glimmer originally as a Ruby layer on top of the Eclipse SWT library, which is used in the Eclipse IDE because that's what I used at work at the time.
It felt like I'm writing Java code. So I didn't like working with it. Her shoes was very nice, but unfortunately it was a bit not very well maintained and it had bugs and it would crash randomly. So I built Glimmer originally as a Ruby layer on top of the Eclipse SWT library, which is used in the Eclipse IDE because that's what I used at work at the time.
So I built it using JRuby because it had to run on top of the JVM. Eventually the idea proved itself to be interesting and useful enough to a point where I ended up then covering all the available GUI toolkits in Ruby with Glimmer. So I have a Glimmer DSL for TK now, a Glimmer DSL for GTK, for FX Ruby, meaning Fox Toolkit, libui started as a library that's a bit recent.
So I built it using JRuby because it had to run on top of the JVM. Eventually the idea proved itself to be interesting and useful enough to a point where I ended up then covering all the available GUI toolkits in Ruby with Glimmer. So I have a Glimmer DSL for TK now, a Glimmer DSL for GTK, for FX Ruby, meaning Fox Toolkit, libui started as a library that's a bit recent.
That was one of the more recent glimmers that were built. And the most recent one is wxwidgets has been covered by glimmer recently because somebody built a new binding called wxruby that replaced the old wxruby just a couple of years ago. So I ended up also covering it with a glimmer DSL. But to get back to that question, what happened is eventually I ended up...
That was one of the more recent glimmers that were built. And the most recent one is wxwidgets has been covered by glimmer recently because somebody built a new binding called wxruby that replaced the old wxruby just a couple of years ago. So I ended up also covering it with a glimmer DSL. But to get back to that question, what happened is eventually I ended up...
last year coming up with the idea of building glimmer dsl for web which is a web version of glimmer that uses all the innovations for data binding that were used in desktop development but with building web user interfaces so i mean the first thing i think of uh when i think of what you know cross-platform desktop apps is like electron and and maybe like
last year coming up with the idea of building glimmer dsl for web which is a web version of glimmer that uses all the innovations for data binding that were used in desktop development but with building web user interfaces so i mean the first thing i think of uh when i think of what you know cross-platform desktop apps is like electron and and maybe like
So the irony is that Electron is not real desktop. So Electron runs on top of browser, embedded browsers. So it's actually, you write the app in actually HTML and CSS. So unfortunately, as a result of that, you forego all the simplicity of desktop GUI toolkit development because desktop GUIs are usually a lot simpler than web GUIs because they have limitations
So the irony is that Electron is not real desktop. So Electron runs on top of browser, embedded browsers. So it's actually, you write the app in actually HTML and CSS. So unfortunately, as a result of that, you forego all the simplicity of desktop GUI toolkit development because desktop GUIs are usually a lot simpler than web GUIs because they have limitations