The Changelog: Software Development, Open Source - IronJS, F#, and .NET (Interview)

Episode Date: June 2, 2011

Wynn caught up with Fredrik Holmström to talk about IronJS, F#, and open source in .NET....

Transcript
Discussion (0)
Starting point is 00:00:00 This episode is brought to you by Typekit, the easiest way to use web fonts. Typekit pioneered the usage of CSS web fonts nearly two years ago and continues to be the leading source for designers and developers today. Sign up at typekit.com for as little as $4 a month and get thousands of high quality fonts from the likes of Adobe, FontFont, Mark Simonson, and more. The hardest part is deciding which font to use. Try Typekit risk-free for 30 days at typekit.com. And by Tasks from Idea Division.
Starting point is 00:00:30 Tasks for iPhone and iPod Touch is a simple yet sophisticated application to keep track of your to-dos, notes, due dates, and priorities. With Cloud Sync out of the box and coming soon to the web too, it's their take on connected task management. Learn more at taskapp.com. Welcome to the ChangeLog episode 0.6.2. I'm Adam Stachowiak. Don't push me away! post some feature reposts from our blog, as well as the audio podcast. If you're on the Twitter, follow Changelog Show and me, Adam Stack. And I'm Pinkwin, P-E-N-G-W-I-N-N. Fun episode this week, talked to Iron.js with Fredrik Holmström,
Starting point is 00:01:33 way over in Sweden, about Iron.js that sits atop Fsharp, which sits atop.NET. Some really cool low-level stuff this week. Nice to see some.NET coming into the stream here. Yeah, hopefully we'll get some more of that. Speaking of JavaScript, we'll be at Texas JavaScript. At least I will. Are you going?
Starting point is 00:01:50 I'm thinking about it. Thinking about it. On June 11th in sunny Austin, Texas, Doug Crockford and others will be there at the premier regional JavaScript event. It was fun last year. Wouldn't miss it again this year. Speaking of regional conferences,
Starting point is 00:02:05 we'll be at Lone Star RubyConf in August. Calls for proposals are now open, so if you haven't submitted to speak at Lone Star and you're a Rubyist, then what are you waiting on? That's right. We'll also be at RubyConf in Argentina. Buenos Aires at November. Well, we won't be there, actually.
Starting point is 00:02:21 We won't be there. Actually, we're trying to get a special correspondent, Ernesto Tagworker, down in Buenos Aires. He's hoping to cover that for us. There you go. Way down there. November 8th and 9th. Check out rubyconf.com slash, that's not a slash, it's a dot, dot com dot ar. It's kind of odd. You know, we love regional conferences. I think that's where the conversation happens in a lot of these communities.
Starting point is 00:02:47 So if you're organizing a regional conference and want to promote it on this here podcast, let us know how we can work with you to get the word out about those. Absolutely. Submit at thechangelaw.com. What episode this week? Should we get to it?
Starting point is 00:03:00 Let's do it. We're chatting today with Frederik Holmstrom from Iron.js. So Frederik, why don't you introduce yourself and a little bit about what you do? Yeah, okay. I'm a software developer at Crispin Porter Bukowski at my day job. Just quit today, actually, but that's irrelevant. I work on Iron.js in my spare time, which is really – I do pretty much only.NET programming nowadays. I've done PHP, Ruby, JavaScript, you know, the whole shebang. But I got stuck in.NET a couple of years back, and, well, I like it here. So Iron.js is a JavaScript runtime for.NET written in F-sharp.
Starting point is 00:03:53 So for our listeners, there's a lot to unpack there. So let's start with F-sharp. What exactly is F-sharp? Well, F-sharp is a functional programming language, imported language from Microsoft from, uh, which was through the 2010, which is like last April,
Starting point is 00:04:09 I think. Yeah. Uh, I mean, it's based on the ML style, like ML O camel style languages. I would almost call it like an O camel dialect, but not quite.
Starting point is 00:04:20 It runs on.net, uh, interrupts with like C sharp, uh, VB, whatever you can run on.NET basically. But it's functional, so you have the whole static
Starting point is 00:04:29 assignment, immutability, stuff like that built in. So Iron.js is a JavaScript runtime built on top of that. What's the use case for having a different JavaScript runtime on top of.NET? I mean, on top of.NET,
Starting point is 00:04:47 when I started, there wasn't really any JavaScript runtimes available if you wanted to use JavaScript as a scripting language for your application or a game or whatever. There's this JScript thing that Microsoft uses in IE, but it's pretty bad, and the integration with.NET is very
Starting point is 00:05:02 flaky and weird. So I started Iron.js in December of 2010. No, 2009, sorry. Mostly, I mean, the original thing was that I was going to use it for a database, like a NoSQL database I was working on. But then I found the whole JavaScript runtime a lot more fun to work on, so I just scrapped the other project, and I've been working on IronJS ever since. So you support the regular.NET framework, but also Mono,
Starting point is 00:05:30 what was involved in getting it to run on Mono. Not a lot, actually. Like changing two references and compiling, basically. It was almost painless. I know you're on Windows as we're recording this podcast, but are you playing around with Mono on Linux at all? Yeah, I mean, I have a, what do you call it, a dual boot, or whatever, Ubuntu, yeah, Ubuntu, whatever you call it,
Starting point is 00:05:54 that I run, usually just the latest version of everything. I think it's like 11.04 or something. And I run Monodevelop and stuff like that, so I can make sure R&D is constantly compiles on Mono. So I got to ask you, the trend in naming ported languages to Microsoft's frameworks is iron something.
Starting point is 00:06:14 Where did that come from? I think it's, what do you say, like a homage? Yeah. Right. To the original developer who developed the original implementation of Iron Python like way back before the dynamic language runtime existed i think that's the history of it i'm not quite sure
Starting point is 00:06:32 but i mean you had like iron ruby and iron python so when i was gonna name my old thing i was just like okay iron js like why not it's the obvious choice. But I don't know exactly where the prefix iron comes from. So what about JavaScript support? What version of JavaScript, or I guess an ECMA standard, are you supporting? Currently, just three, which I'm very sad
Starting point is 00:06:58 about, but we're working on the ECMA Script 5 compatibility. Yeah, compat. And it's, I mean, it's truck i mean it will be it's going to be a couple of months before it's fully in place uh we got i mean i have one guy helping me from the states uh john thanks john by the way if you're listening to this he has helped tremendously um so we're working but we sort of got sidetracked with performance because it's a lot more fun to work on. Sure.
Starting point is 00:07:27 Going down and down and down gives you a better gratification. But we're getting back on the Equinus Script 5 horse right now to get that done. What's the practical impact of supporting through JavaScript 3? What sorts of applications can be ported? Can you run Node on this? Yes, in theory. There's one guy I talked to today, actually, that's working on Node.js for.NET using Iron.js. One of the things that fascinates me about, I guess, the.NET framework is that it's kind of the inverse of a lot of
Starting point is 00:08:03 frameworks out there. The Unix community tends to find the best in breed tool for the job. And with the.NET framework, you've got multiple languages that compile down to one framework, right? Yeah. So in theory, you could do the same thing with, I guess, CoffeeScript that you're doing with JavaScript, correct? Yeah. Without having to go through the JavaScript layer at all.
Starting point is 00:08:23 Yeah. Have you played around with CoffeeScript at all? You mean basically like getting a native parser for CoffeeScript that would run on top of Iron.js? Or even bypass Iron.js and go directly down to the fsharp.net? Oh, you mean like just parsing CoffeeScript basically straight off? Right. And going straight up. Oh, I mean, I've been playing around with getting a native parser for CoffeeScript
Starting point is 00:08:46 because that speeds it up by a lot. But I haven't touched CoffeeScript in the regard of just compiling it straight to.NET because that would have to be a completely separate project from Iron.js. So in the previous episode, we covered PyPy, and it has some.NET extensions that can be compiled
Starting point is 00:09:10 for Python. Is there any sort of ability to load.NET assemblies using Iron.js? Yeah, I mean, since I'm using the dynamic language runtime, you have pretty much access to all of C Sharp inside of the JavaScript if you choose to.
Starting point is 00:09:27 Like if you're hosting it in an application or a game or something, I mean, you probably want to limit what the user can do because otherwise it could intrude. I mean, you have the security implications of letting the user do whatever they want. But yes, you can access pretty much any functionality from.NET inside of Iron.js. But this would be a great way to expose a scripting interface for your application to third-party developers. Yeah, exactly.
Starting point is 00:09:55 And then you want to limit what they can do. But that's a different issue. But yes, you can access all of.NET inside Iron.js. So back to Mono for a second. Have you built anything with Mono? Yeah, small things. You know, like I use the, they have like the C-sharp scripting ability. Like you can use C-sharp as sort of like a shell script language or something like that.
Starting point is 00:10:20 I played around with that a bit, you know. But I mean, I haven't really built anything specifically for Mono. I built a lot of stuff that I've made sure that runs both on Mono and on Windows, or the canonical.NET implementation, but nothing Mono-specific. We need to get Mono on the show. It's a fascinating little application. Yeah. I mean, I've been speaking to Miguel, you know,
Starting point is 00:10:45 Miguel de Castro. Sure, sure. I probably butchered his name to no end there, but I mean, he's a really nice guy and there's the Mono team also. The Mono product itself is,
Starting point is 00:10:56 I mean, it's insane how well they're doing. I mean, they're backed by Novell, but still it's, I'm thoroughly impressed by the progress and how good it's coming along. You know, in your introduction email that you tipped me off to this project, it sounded a lot like a lot of the letters I get from folks in the.NET community.
Starting point is 00:11:17 And usually it starts out, you guys don't cover.NET much on the podcast, but here's a great project I'd like you to take a look at. The reason we don't is because they're so hard to find. We're trying to make inroads into that community. Talk a minute about the difference in, I guess, open source philosophy between the.NET community and the rest of the web world. I mean, I think the.NET community, and I can see this even when I'm working professionally, is basically based on closed source, on proprietary software. I mean, there are usually like,
Starting point is 00:11:48 you can find the occasional open source plugin to the CMS you're using or whatever. I mean, there are a few open source CMSs like Umbraco and a couple of others. But I mean, the community as a whole and like all the products that Microsoft sell that concern.NET, it's all closed source. There's very little open source.
Starting point is 00:12:08 I mean, F sharp is, I would say it's mostly open source. I mean, even F sharp itself is open source actually. So you can download the compiler and mess around and everything. But looking at C sharp and VB, it's, it's all closed source straight through basically. And I mean, I come, I mean, I learned programming like, C and PHP and Perl and Python and stuff. So, I mean, I miss the open source perspective you get in those languages, in the, like, Ruby JavaScript world and stuff. You know, one of the things that I really enjoyed coming to the Ruby community
Starting point is 00:12:44 from the.NET community was just RubyGems and the package management. I know Python is rather an easy install. Is NuGet this answer for.NET? Yeah, I'd say it is. I use it for pretty much
Starting point is 00:13:02 everything now. As soon as I install Visual Studio, I install NuGet and use it for pretty much everything now as soon as I install Visual Studio I install NuGet and use it for pretty much everything it's been working flawlessly and what I like about it is that it's not only for.NET assemblies it's for pretty much anything
Starting point is 00:13:18 like JavaScript files, templates, whatever it's not only for libraries Do you know when you install packages via NuGet, does it also put things into the registry? Hmm. Not the foggiest, actually. That's just curiosity. We should have those guys on the show,
Starting point is 00:13:36 but I guess with Windows, even with the.NET applications, there's still that registry component still in Windows, correct? Yeah, like the global assembly cache. Right. Or like registering it in the GAC. The GAC.
Starting point is 00:13:49 Yeah, the people in the know say the GAC. That's a word I haven't heard in quite some time. Yeah. I don't know. I've never gotten used to how the whole assembly cache thing works. It's just awkward. I think the way they present it and the way it's used is really awkward it's just like i like i want my dlls in a folder and like that's the
Starting point is 00:14:10 version i use and just be happy with them but they insist on putting them freaking everywhere so nuget is the package management piece of that but if you're looking for open source and dot net where do you go uh codeplex i saidPlex.com or is it.org? Yeah, I think it's.com. And that has most of the open source.NET stuff. There's another place called, oh, I don't remember the name, but I mean, GitHub has a lot of C Sharp products also.
Starting point is 00:14:37 I noticed just a couple of days ago. Sadly, not so much F Sharp, but I suppose the language is sort of like a niche language. But yeah, I take GitHub and the codeplex definitely. You know, one aspect of, I guess.net probably the eco center or the epicenter of that is the C sharp,
Starting point is 00:14:55 you know, it's just the biggest footprint. And it's just unfortunate that there is a special reserve character. So it's just not search engine friendly when you're finding a lot of C Sharp stuff. Yeah, I've had problems because I've been looking for jobs occasionally around Sweden. And you can't search for it.
Starting point is 00:15:13 Like, you can't search for C Sharp because the search chip input boxes don't accept the pound sign. What's the same with.NET? A lot of times you'll see C Sharp spelled C-S-H-A-R-P, right? And.NET spelled D-O-T-N-E-T. Yeah, because you can't search for.NET either because it's like invalid characters, only alphanumeric plus the Swedish extension characters. It's like, okay, well, but Java, of course, works.
Starting point is 00:15:45 So you mentioned a number of languages that you, I guess, learned on prior to.NET. What sort of perspective has that given you in writing.NET code? I'd say the biggest impact that, especially Python had on me, or Linux as a whole, because I did used to use Linux a lot a couple of years ago, or like five, six years ago, is the whole async and many processes,
Starting point is 00:16:04 like one process with one thread compared to like monolithic process with like 40 threads, which is like the Windows model. And sort of the asynchronous style of programming that, well, node use leverages, but also like that's very common, like biggest influence that I prefer to think in async and processes instead of threads and I don't know weight handles I think they call it in.NET yeah What sort of advantages do you think a.NET developer has over a
Starting point is 00:16:37 Unix developer? I'd say the like how because you get used to handling threads in.NET pretty fast and I think that's the main thing like I mean multiple threading is really because you get used to handling threads in.NET pretty fast. And I think that's the main thing. I mean, multi-threading is really freaking hard. And I mean, no one would ever claim to be good at it, I think. But at least I'd say that I'm decent at it. And I have friends who are like Python or PHP.
Starting point is 00:17:01 And PHP might be a bad example, but Python and stuff like that. And there's no real multi-threading there in the way you do it in.NET, and you don't learn that because that's not the Unix model, basically. Small tools, one process. So you mentioned that F-sharp is a functional language. Is it compiled or dynamic? It's compiled. It's statically compiled, but it's type-in-fair, so you basically don't have to type out the types, if you know what I mean.
Starting point is 00:17:29 So it infers most of the types from the way you use the variables and constants and stuff. So you're writing JavaScript on top of this in Iron.js. So you're straddling that line between compiled and and dynamic what aspects of both of those worlds do you like i mean i have to say like if i'm using it like c sharp i mean as i i grew up with like php python mostly it is some javascript you know like when the dhtml come 2001 right which a lot of what we call AJAX is actually just DHTML. If you're not making a network call, it's DHTML, right?
Starting point is 00:18:09 Yeah. But I mean, everyone remembers, and you'd search for this little snippet on the internet to scroll the status bar and the text would scroll and stuff. But, sorry. Anyway, I mean, I think the main drawback of the statically typed languages,
Starting point is 00:18:25 if you look at Java and C Sharp, is that they're so verbose. It's the amount of physical code and characters you have to put down, like, plink down on the keyboard to be able to produce something. It's quite staggering if you compare it to, like, JavaScript or something. But if you're looking at F sharp, for example, I mean, it's a statically typed language and it has to be like, you can't like make it dynamic where you want, like with the dynamic keyboard and C sharp or stuff.
Starting point is 00:18:53 It's a statically type and that's it. But I mean, the amount of code, if you look at lines or like amount of characters, it's almost equal to JavaScript because it's such, so tears. So I, if you have a language like that,
Starting point is 00:19:06 I mean, that includes like Haskell, Fsharp, stuff like that, I see very little benefit of being dynamic. But if you're comparing dynamic like JavaScript versus Csharp, then I see a benefit of being dynamic because of the amount of code you don't have to write, basically.
Starting point is 00:19:24 So the last time I did.NET professionally, it was ASP.NET. It was before the MVC release. So are you doing much on the web with.NET? Yeah. I mean, my day job is pretty much, I mean, I do the heavy backend lifting. But, I mean, I plunk some web lifting, but I mean, I plunk some like web forms and stuff at time. Not a fan at all. So it seems like that when.NET came out, Microsoft tried to take a desktop abstraction
Starting point is 00:19:59 or a paradigm and write an abstraction web forms, right, to expose the web to folks that aren't used to writing web applications. And it was just a crazy weird abstraction in hindsight. Have you seen a philosophy change at Microsoft over the last 10 years at all? Are they really embracing the web or is it still an embrace and extend philosophy? I mean, with MVC3, i didn't use the first one but
Starting point is 00:20:26 the second and third one uh i just it's you know like but i mean coming from python and php like the thing they sell in like asp.net mvc3 and stuff it's stuff i saw around like around like 2005 you know it's like like but this isn't really new like Like, Ruby on Rails did this six years ago or, like, five years ago or whatever. So, I mean, I don't think they embrace and extend as much. But the stuff they release is stuff that everyone else has been using for years currently. That's the way I look at it, at least. So, at least on the web, with Ruby and Python and other frameworks, there seems to be a myriad of server choices that you can deploy to, right? Even in the Ruby world, there's Thin and Unicorn and Passenger,
Starting point is 00:21:12 and we just have a host of different choices. On.NET, are you still tied to IIS? Yeah, pretty much. I mean, but I don't see it as a bad thing really because at least when I do stuff for work and, you know, like you do applications for different companies and stuff, they, I mean, they pick.NET because it's a Windows platform. And that's because they have a Windows network, which means they have an active directory. You know, like they want everything integrated, you know, like the IIS and.NET and web forms. It just works.
Starting point is 00:21:41 You know, you don't need to really do anything. Like all the permissions work, like logins, everything just works. You don't need to really do anything. All the permissions work, like logins, everything just works. So IIS brings a lot of benefits in terms of integration with other Microsoft systems like AD and stuff. The other difference that seems to come up quite a lot between.NET developers and, I guess, open source or Unix developers, and a lot of times this is more of a corporate versus startup type of mentality. In.NET, a lot of times in Java, you're tied to an IDE, whereas in other languages, people prefer text editors. Where do you hang out all day?
Starting point is 00:22:17 I swear by Visual Studio. Pride from my cold, dead hands. Oh, yeah? Oh, yeah. hands oh yeah oh yeah it's uh i mean once i got used to it i will not ever program without an id ever again it's uh i mean i started doing.NET fully around 0405 maybe and i mean it took a while to get used to visual studio definitely but now it's i mean the amount of help it gives especially when you're writing code like c sharp code or java code which is very verbose uh the amount of i mean it gives you so much assistance and even like if you're looking at someone else's
Starting point is 00:22:54 libraries you can just like jump around you know like the go to definition stuff and that's and then when i at times have to open like a php project at work and i'm just completely lost like i've i've lost the skill of navigating code without an ide sadly you know i used to be in at times I have to open a PHP project at work, and I'm just completely lost. I've lost the skill of navigating code without an IDE, sadly. I used to be in that camp where I couldn't do anything without a GUI menu to do it for me. Since moving to Ruby and Rails and embracing the Unix philosophy, I found myself writing my own little scripts to automate a lot of what I do on a daily basis.
Starting point is 00:23:22 To what extent can you automate Visual Studio? You can do pretty much whatever you want. I mean, Visual Studio has a rich extension gallery nowadays at least. I know it's been building up since 2008, and now 2010 has it integrated even. And I mean, there's extensions for pretty much everything you could possibly get. There's even a Git extension now that actually works.
Starting point is 00:23:43 So I'm using that for the small things like committing and updating. I'm glad you brought that up. So is there any traction for Git and Mercurial and the open source.NET community outside of Team Foundation Server? I mean, I think Mercurial, so I can pronounce that being Swedish, has more traction in Git in the.NET community, I think, because CodePlex has an HD repository option next to the normal team foundation, I think.
Starting point is 00:24:16 But I mean, I use Git. I know a lot of other.NET projects use Git also. I mean, for me, I don't know. Git just clicked, so I stuck with that. So when you're not hacking on Iron.js, what open source projects just have you dying to play with? I've been meaning to get more into Node. I love the whole async idea.
Starting point is 00:24:41 And I mean, obviously, a lot of other people do also. I mean, I've been toying with a beta on my Ubuntu dual boot or whatever but I don't know I haven't had time to fiddle around with open source projects for ages because I've been working and then I've been doing
Starting point is 00:25:00 RNGs for like 8 hours every day for the past year so it's like I don't know. I do look at some other C Sharp projects, though, like the Kayak HTTP server. I've been meaning to play around with that because that's like an integral part in getting the, or important part in getting the node for.NET running. As a.NET developer, who's your programming hero? Oh, I don't know.
Starting point is 00:25:29 I got to say Zed Shaw. I like that guy. He's a complete asshole. But I like him. I'm sorry. We're fans of Zed. Zed was on an episode, a highly edited episode. But he plays in a lot of different, I guess, playgrounds.
Starting point is 00:25:46 I mean, he's made friends in Enemies and Ruby and Python, and I guess now at least one friend in the.NET community. So what's got you excited about what Zed does? I mean, I just like his, like, brutal honesty. I think that's what I mean. First of all, he's a really good programmer, obviously. But, I mean, like, more as a persona, like, I like his brutal honesty. I mean that's what I mean. First of all, he's a really good programmer, obviously. But I mean, like Marcel Persona, I like his brutal honesty.
Starting point is 00:26:07 I mean, he goes overboard a lot. But at least from my perspective, I mean, I've never met the guy. But yeah. But if you're talking like programming, it would have to be Miguel from Mono. I mean, he's such a nice guy and he's like
Starting point is 00:26:23 so scary smart. It's such a nice guy, and he's so scary smart. At work, you think you're the hot shot, and then you talk to someone like him, and he's like, oh, God, I need to go back to school for 15 years to catch up with him. So since.NET is backed by Microsoft, are most of the thought leaders in the.NET community at Microsoft, or are there other folks in the community that are bearing the standard? When you're talking about, like, I'd say if you talk about the core.NET stuff, of course, Microsoft, like, the community doesn't have that much control.
Starting point is 00:26:55 But if you're looking at F-sharp, and F-sharp really is the oddball here. There's, like, Don Syme, who's also, that's another programming here, actually, who's also, like, insanely smart, who's the main architect behind F-sharp. I think it's also one of the main architects behind generics in dot net uh i mean the f sharp community is very open and it's like there's a lot of discussions and there are a lot of people from the community who are involved or f sharp i'd say the community has more influence than the other stuff but like c sharpsharp vb and stuff i think it's from my point of view it's all microsoft and you just have to live with that you know a lot of the i guess sharing that happens in the ruby and python and and unix communities happens at user
Starting point is 00:27:36 groups are you involved in a dot net user group they actually spend my time in gothenburg uh i've been trying to look them up, but I don't know. It's, uh, I don't know. The thing is that it's mostly like those user groups are mostly like C sharp and stuff.
Starting point is 00:27:51 I've been trying to like find an F sharp user group in Sweden, but I think we're like three of sharp programmers in all of Sweden. Yeah. So it's like, I don't know. It's, uh, uh,
Starting point is 00:28:00 I mean, those are mostly F sharp and they usually, you know, they talk about like this CMS systems and you know, like the CMS systems and the client, like CRM systems and stuff. And that's not really what I'm interested in as a person. I prefer the open source, more like the tech projects, like hacking on compilers and stuff, compared to discussing the latest CRM system released by some company. Do you have a favorite F-sharp feature you'd like to see in another language?
Starting point is 00:28:28 This is a functional feature, but it's pattern matching by far. Discriminated unions and pattern matching. Those things are just amazing. I mean, those are the two features that made me choose F-sharp for Iron.js, basically, because of how easy they make parsing and like building syntax trees and stuff how large is the iron.js project roughly in lines of code it's tiny it's like 11 000 lines this is nothing for a compiler or a runtime but i mean the runtime is dot net but like a compiler how many contributors uh There's me and the guy named
Starting point is 00:29:05 John. I can't pronounce his name though. I think it's John Gitson. He lives in the States, but he has a really funky last name. I'm sorry, John, if you're listening. He helped a lot on the ECMAScript
Starting point is 00:29:23 three conformance tests. He did I'd say about half the work there. So looking at the Iron.js website and the benchmarks that you've published, you mentioned earlier that these were fun. So what makes benchmarking fun?
Starting point is 00:29:39 I don't know. Isn't there just something inherently fun over being fast? I don't know. I don't know. I don't know. I think it sort of gives you a receipt of your efforts. That you actually made something that works and it's fast. It's the own validation. I've actually built something and it works and it runs fast.
Starting point is 00:30:02 And it runs fast compared to the competition or whatever you want to call it and seeing that little bar decrease even more i think we're down to 2900 milliseconds now for all of sun spider you know i i think you asked me you know isn't that fun for me no it would not be but you know i'm thankful for guys like you so here's the deal i play where the user meets the machine right and if somebody has to have a business benefit for it for me to get excited about what computing can do for them right but i am so thankful that guys play at the lower end or the deeper end of the pool right and do things like this to make the whole effort faster yeah i mean i don't know i just i don't even really know why I like it. Like I said earlier, I drive a motorbike in my spare time, and I suppose that goes fast
Starting point is 00:30:51 also, so I suppose there's some correlation there. So you just like speed in general? Yeah, just speed in general. So, Frederick, where can folks go to learn more about Iron.js and get involved? Ironjs.wordpress.com or ironjs.net. And, of course, github.com slash fhalm slash ironjs, which is the main repository. And follow on Twitter at ironjs.
Starting point is 00:31:17 Yeah. And I am fjhalmstrom at Twitter. And we'll put all of that in the show notes. So thanks so much for joining us and telling us a little bit about Iron.js and Fsharp and giving us,
Starting point is 00:31:29 I guess, a whole slew of projects that we need to have on the show in the future. Yeah, thanks for having me. It's been a blast.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.