Kyle Murray (Krilnon)


Say hi to Kyle everyone:

Kyle Murray sporting a kirupa.com shirt! 

If you look closely, you'll notice that he is sporting a kirupa.com shirt from a contest we had on this site a while ago! Below are Kyle's responses to the questions posed to him.

What is currently your favorite project/piece of work and why?

CFA2: a Context-Free Approach to Control-Flow Analysis, by Dimitris Vardoulakis.

Hey! Don't leave this interview already! Despite a name that probably sounds really obscure, this research project actually enables some really cool stuff that most any programmer can appreciate.

In a nutshell, the part that is really neat for the semi-regular web developer is that you can do type inference on JavaScript programs using JavaScript itself. Type inference is a way to automatically get information about data types in a program without having to use explicit type annotations like you see in ActionScript, C, or tons of other languages.

CFA2 can express more complex types than most annotated languages, so it can tell you that a function returns a function which takes a string or number and returns an array. Given the extremely dynamic nature of JavaScript, it's
pretty impressive that such a detailed analysis can be done automatically in the same language as the one that's being analyzed.

It's my favorite thing these days because I can think of about a million places to put it to use. A super promising use is to make function name completion in an online JavaScript editor. The Ajax.org Cloud9 Editor team is supposed to be doing that as I speak.

What is your favorite video game character and why?

Hoborg! 

Hoborg from The Neverhood. The Neverhood is a super old PC point-and-click adventure that was unique because every second of movement was filmed on a clay set, and game transitions you through the clay world with videos for each possible path.

Hoborg is the creator of The Neverhood, but his crown was stolen, so he's lying dormant in a coma. The thing that makes him my favorite character is that there is this huge back story of how he came to create The Neverhood, but it's entirely possible to play through the whole game without ever realizing that there is such a tale. The whole thing is "hidden" in a comically long hallway, The Hall of Records, which you have to click through to get an item. The story is etched into the clay on the walls of the hallway, and it's really easy to skip past it.

What is your design or development tool of choice, and what would be one thing you would add/change to improve it?

IDEs, as a category. I won't pick a particular one, because even the best or most popular have some blunders that really bug me. On the whole, though, they provide so much secondary notation and metadata that I'm always glad I don't have to parse myself. If I could change one thing, I'd hide rarely-used functionality that exists in really high traffic locations. For example, the context menu in Eclipse (of Flash Builder fame) has a comical amount of options. Essentially everyone uses the right click menu at some point, but does everyone need instant access to "WikiText > Generate Eclipse Help"? I'm not even sure what that would DO for an ActionScript project.

What new technologies are you using and why?

- RTMFP in Flash, because it's perhaps the only feasible way to send really low latency live video over the web to a general audience. In my case, some anonymously recruited workers are given temporary and partial control over someone else's computer, and they need a fairly tight feedback loop to have a reasonable chance of success.

- OMeta, a language for pattern matching (and often program parsing) designed by Alessandro Warth. One of the two primary implementations is in browser-compatible JavaScript, which means that anyone can very quickly perform surprisingly complete analysis of any language for which you can build a parsing expression grammar. A trivial example would be accurate syntax highlighting, but people are even using it to prototype implementations of future versions of JavaScript.

Do you believe a formal education is beneficial for the type of work that you do?

Definitely! Many programmers and some computer scientists that I've met understandably have a very strong preference to try to learn everything by themselves, mostly using the internet. In fact, I did the same thing for six years before I had any formal education in CS.

Since the type of work that I do is research, broadly, it's infeasible to expect to get a job in the field without a formal education. I see why, too. Being taught about the products of others' labor without having to go through all of it yourself is really efficient. I also think it's humbling to see how much other people have already figured out. It bugs me when I see people claiming to have done something novel when it has been in the literature for years, or when I see someone struggling to achieve something that already has a canonical solution.

If you had to pick a weapon to defend the world from space invaders, what would the weapon be?

I'd use the Subtle Knife from His Dark Materials. It can cut anything! The only side effect would be the soul-eating spectres that would be created as a result of using the knife. But we'd be safe from aliens.

If you were given the chance to meet one person, past or present, who would it be and why?

I'd pick a person from the present. Specifically, Brad A. Myers from CMU, who has been strongly recommended to me as a master of human aspects of software development. The conversation would likely include a part where I pitch my own ideas at him and see what sticks, and where I could get him to concede that maybe his entrenched view on some topic could be swayed. Of course, all of that would only happen after he immediately schools me on several ideas of mine which turn out to be silly.

Coke or Pepsi?

European Fanta, lemon or any of the citrus flavors.



I hope you all enjoyed this series of questions and answers, and thanks to krilnon for answering them. To ask more follow-up questions, post them in the Interview - Krilnon forum thread.

Just a final word before we wrap up. If you have a question and/or want to be part of a friendly, collaborative community of over 220k other developers like yourself, post on the forums for a quick response!

Kirupa's signature!





SUPPORTERS:

kirupa.com's fast and reliable hosting provided by Media Temple.