The Changelog: Software Development, Open Source - Chrome OS, Thor and ROaR (Interview)

Episode Date: December 1, 2009

In this show we're still trying to find our footing with this podcast stuff. Seriously, we get better at this....

Transcript
Discussion (0)
Starting point is 00:00:00 Hello and welcome to this week's edition of the changelog, episode 0.0.4. Today is November 29th, 2009. I am Adam Stachowiak. And I am Wynn Netherland. Very cool. Wynn, what do you do, man? Tell me about yourself. I am a designer slash developer slash designer slash developer.
Starting point is 00:00:36 Okay. Still trying to figure that out. What are you doing to figure it out? I am designing and developing. Oh, cool. And where can people find you and reach you and all that good stuff?
Starting point is 00:00:48 Easiest way is to find me on Twitter at Penguin, P-E-N-G-W-Y-N-N and I blog at winnederland.com. Like the country, right? Just like the country
Starting point is 00:00:58 without the S, which usually I get, there's a country named the Netherlands. How cool. Very cool. Very cool. Very cool. What about you, Adam?
Starting point is 00:01:07 Oh, you know, I run this company called Handcrafted. It's sort of evolving at this moment, but Handcrafted is my launchpad for doing much like you do, design and development work. We're also dabbling in some social media work, obviously website building, design, all that good stuff. But I also do a podcast called The Web 2.0 Show. If you don't listen to it, you probably should. It's web2oshow.com. On Twitter, it's web2oshow.
Starting point is 00:01:37 And I do this great podcast called The Change Law with you, Wynn. And if you wanted to reach out to me on Twitter, you could at Adam Stack. And if you want to tweet us at The Change Log, it's changelogshow on Twitter. We appreciate retweets and direct messages and polite, beautiful
Starting point is 00:01:58 emails at hello at thechangelog.com. If you'd like to submit a story, you can submit it at submit at thechangelog.com. If you'd like to submit a story, you can submit it at submit at thechangelog.com. Very cool. So what do we have? What's our lineup today? We've got a lot
Starting point is 00:02:13 this week, which is surprising given it's a holiday week. We've been busy this first full week on the changelog. First up, Google Chrome. Google Chrome. Google Chrome. There's lots of stuff going on with google chrome i think they just uh changed their name to well they just announced changing it to chromium os because they're taking it from being proprietary to open source which uh which is really awesome and obviously why it's on the changel log a lot of stuff coming out of google lately we had our uh interview with rob pike this last week with um google go the new programming
Starting point is 00:02:51 language and he mentioned uh chrome os and that yeah i like to you know i was actually even though we got listed on y combinator on the news site there i was really happy to see that that commentary back and forth on there that was really pleasing to me to see people listen to the episode and kind of digest it and then come back to y commenter and start commenting oh absolutely so you excited about chrome os um i was contemplating buying one of those dell was it v10s or whatever those little net netbooks. Little minis? Yeah, I mean, for just under $300, it's not a bad buy. And if you can get the operating system on there for nothing, for free, you've got yourself a portable, full-fledged netbook. And with what they're doing with Wave and what they're doing with other things,
Starting point is 00:03:43 I have high hopes for what this – what it's going to do. It's changing the game for sure. Now we're going to go into operating system wars and browser wars again, of course, and communication usages like using Wave versus Twitter or Facebook or some other way to communicate. I'll be anxious to see how designers can sink their teeth into it and really make it look a little bit more aesthetic than the current demos that I've seen. They're really scaled back and lightweight as far as user experience. Have you seen any of the demos on YouTube? I've seen some of them.
Starting point is 00:04:20 They all seem, I mean, they're okay, I suppose. They do have some user interface experiments listed on the Chromium OS site, which you can go to chromium.org and browse around there. There's a couple links there for it. Not too bad. I think it's a developing product. What's cool about it, though, is that it is open source, and that if you don't like the design of things, you can volley
Starting point is 00:04:45 up a new design. You can always fork it. Yeah, fork it. Well, actually, here you can't because they do all their source code management with Mercurial, right? Right. You know, and that's one thing, you know, normally when you end up on an open source project and it's hosted in Google Code, it seems like it just immediately slows down as far as finding documentation and information about it.
Starting point is 00:05:09 There's just something hard to navigate for me with Google's code hosting. I much prefer GitHub or any of those. It would be really interesting to see Google begin to migrate to using Git and more importantly supporting GitHub. I'd like to see what that would do for GitHub. I know it's done a tremendous
Starting point is 00:05:35 favor for the Ruby community. That usually tends to be where I'm involved in code. To be able to fork projects and submit patches and it's really effortless for project maintainers to take code from other people, from the community, and integrate it back into the main line effortlessly. A lot easier than Subversion and some of the other tools out there. Yeah, I'd be interested to see what some of these projects that are hosted on Google Code could do
Starting point is 00:06:01 if they did make the jump to Git. Yeah. Well, I guess one disclaimer, too, about before we move on from Chrome OS or Chromium OS or whatever it really becomes, because right now it's being called Chromium OS, but still, I guess
Starting point is 00:06:16 news sources are still headlining Google Chrome OS because that's a good, powerful headline, but one thing to keep a note of is that it's actually not ready for consumers to use. It's still in this developer-only stage. But I – And I think they're going to find that confusion lag a little bit just because in some of the demos that I've watched on YouTube, the Google guys themselves have made the comment that Chromium is Chrome. Yeah.
Starting point is 00:06:46 But if you're really interested, they have a mailing list at our blog article on the change line. You can check that out. There's a link out to the mailing list as well as Chromium.org. The code base. Actually, you know what? I'm going to take that back because I'm looking at our article and I didn't even think about it, but the code base for Chromium
Starting point is 00:07:02 OS is in Git. Is it really? Yeah. Go look at the article. Check Chromium OS is in Git. Is it really? Yeah. Go look at the article. Check that out. It is. Yes, code base Git. That's so odd that it is in Git.
Starting point is 00:07:13 Maybe they're not hosting on code.google.com because that was one of the points that Rob made last week. Yeah. Yeah, he was like, that's why we do it because Google Code doesn't support Git. It supports Mercurial or SVN. Yeah, they was like, that's why we do it because Google Code doesn't support Git. It supports Mercurial or SVN. Yeah, they got their own. It's at source.chromium.org, src.chromium.org. Interesting.
Starting point is 00:07:31 Awesome. We'd have to talk to them. Maybe we can get an email over to them and ask them why they chose Git. That's really interesting. Maybe that's an important of things to come. Maybe, maybe. What's up? What's next then?
Starting point is 00:07:44 Handbrake 0.9.94 release with 64-bit support. You a big Handbrake fan? I actually am, yeah. I back up all of my DVDs. I actually do it a unique way instead of – I don't know if it's a unique way. I have a specific setting in my Handbrake. I pop my DVD in. I pull it up.
Starting point is 00:08:02 I choose a specific setting, and I dump it to one file. And I used to do it to the MKV format, which I'm sorry, I don't recall what that shorthand's for, but now I actually do it to.mp4, I think is what it is. Let me confirm that. You find a lot more compatibility with the MP4 than the... Well, you know, what I like about it is that it opens up in QuickTime, especially this newest QuickTime in Snow Leopard, super fast. And it also takes all the chapters of the DVD and puts them right there. So I could just jump – in QuickTime, I could just jump from chapter to chapter. So while you're backing it up to one file and it does shrink it significantly down from like four or five or seven gigs down to like usually around a gig or a little bit more. So if you're someone like me who's a fan of Drobo and you have a Drobo in your house, you have like one store for these things.
Starting point is 00:08:59 I have one store for all my movies, both kid movies and adult movies, not like those kind of adult movies. Non-cartoon movies. Yeah yeah non-cartoon adult movies um you know i'm dumping those to to one file and i'm saving huge space and i have boxy running on on a mac mini sitting right there in the living room uh jennifer and i both use this uh use the the boxy app on our iphones because we both have iphones uh so it gets really easy to to break away from comcast and those those cable people and not that they're bad it's just you know mainstream tv is so you know what 2006 man it's 2009 let's go yeah i've seen your setup with drobo and some of the other apps that you use. It definitely needs to be a blog article on adamstachowiak.com as my home media
Starting point is 00:09:49 setup because you've got the most methodical library system for updating all your media that I've ever seen. I'll do that for sure. Actually, it's .m4v is what those dump out to.
Starting point is 00:10:12 Those are compatible with.m4v is what those dump out to, and those are compatible with – is that right, m4v? Yeah, that's right. m4v. Well, I'm looking at some of the file names. m4v is one of them, and mp4 is another one. I think it dumps out M4Vs. And the average file size, I'm looking at them. Let's see right here.
Starting point is 00:10:32 Curious case of Ben Button was 2.6 gigs. Blood Diamond was 2.2 gigs. 51st States was 1.5 gigs. So you're kind of seeing the picture. It's around a gig and a half versus 5 gigs, so that's a nice backup. And really, you can't see a difference. And I can only imagine. I haven't tried out the 64-bit handbrake that they just released yet. The cool thing about what's happening here is that instead of taking two to three hours to dump out your one file,
Starting point is 00:10:58 it's actually doing it almost in real-time DVD time. So you're probably getting around the actual time of the actual movie. The encode time is significantly less. 10% faster. You know what makes this story newsworthy for the guys out there listening is it's been such a long time coming for a Handbrake release
Starting point is 00:11:18 and this changelog shows over a thousand changes. Wow. That's insane. And remember, boys and girls, Handbrake is only to be used to make legal backups of media you already own. Absolutely. Yeah. Why would you? No, don't do anything like that. Don't steal. Don't steal. Don't steal. All right, let's move on. What else we got? One of your stories, functional Cocoa applications using WebKit. Well, you know, I'm a fan of Henrik.
Starting point is 00:11:46 Forgive me. I don't even know the fellow's full name. I'm going to jump off the Twitter real quick and check it out. Henrik Nye. I hope I said that right. He's somebody I've been a fan of for a while. He actually has a popular fork of Jekyll that supports Hamill, which is where I kind of noticed him at. Plus he also runs this very cool blog with a pug sitting there. It's a pug drawing that his – I think it's his girlfriend did it.
Starting point is 00:12:14 A little off topic, but it's called The Pug Automatic. So he has a very good blog. You can check him out at henrik.nyh.se. Jekyll meaning the static page generator? Yeah, yeah. Tom Preston Warner's TP Dubs is his awesome blog, blog-aware incarnation called Jekyll. Very, very cool. But the reason why I post this was simply because Henrik talked about it, and I gave him a hat tip on the blog.
Starting point is 00:12:42 I figured if it's noteworthy to him, it's noteworthy to us. And his Twitter, his tweet was, Coco UI looks interesting. Coco apps using WebKit makes you want to code a decent kiosk. So I imagine if he's looking at it, it's newsworthy, and why not? I don't actually use Coco. WebKit seems to be everywhere these days. Yeah, it's doing lots of good stuff.
Starting point is 00:13:12 It's behind Safari, behind a number of projects out there. Do you ever download the WebKit nightlies? No. I do this, and they have the Sparkle update engine. It's popular in a lot of macOS applications. I was glad when they implemented that feature the Sparkle Update engine that's popular in a lot of macOS applications. I was glad when they implemented that feature so you don't have to manually pull down the nightlies anymore. But it's really fun to see the progress
Starting point is 00:13:33 of the WebKit engine that powers Safari on a nightly basis to see what CSS3 support that they're adding. Cool. If you get a chance, do that. I'll make sure I do. I'll let you know when I do. And if I have any questions, I know where to reach you, because you told me earlier.
Starting point is 00:13:49 At Penguin. There you go. That's right. What's next? Rails 2.3.5. And this is a minor release that has some XSS vulnerabilities patched in it, thanks to Mike Gundeloy at afreshcup.com for giving us the unofficial change log on this one since the Ruby on Rails site was a little slow to get the nodes out there. Mike does a number of things in the Ruby community to promote Rails and bring people into the community.
Starting point is 00:14:18 But it kind of begs the bigger question, where's Rails 3.0, right? We were promised this at RailsConf this year and still haven't seen it. I'm sure that they're doing something awesome, and it just takes patience. Hopefully it'll arrive before the next version of TextMate or Expression Engine. Yeah, those are two promised next versions too. What I like too, I guess not so much on the Rails front,
Starting point is 00:14:53 but I also noticed you had a nice, you paid some nice homage to Mike at one of your recent blog articles, one of your Thanksgiving articles. Yeah, I did. The site that I plugged earlier for Mike, Fresh Cup, is much like the changelog.
Starting point is 00:15:13 It's a link aggregator for just hot Ruby links that are out there. I'm not sure where he digs up all his info, but usually I'll start my morning is seeing what juicy links Mike's got out there. Very cool. Before we move on, we got a couple of bullet points there for Rails 2.3.5. What in there is important? The XSS vulnerabilities we mentioned and then some Ruby 1.9 compatibilities.
Starting point is 00:15:32 I still personally haven't made the full-time jump to Ruby 1.9 for my projects. Have you? I don't know. I run Ruby and whatever is on the system is what they give me. I'm not quite that bad, but I just don't keep up with the versioning of Rails quite as much as anyone else might, simply because it's just not the piece that I'm always intimate with. Sorry. Gotcha.
Starting point is 00:15:59 You're just an unfrozen front-end developer. My Ruby and Rails world frightens you. Yeah. Well, no, it doesn't frighten me. It's just, you know, somebody else is always taking care of it, and I just never had to, so I guess that's the lazy developer in me. I'll change one day, I'm sure. Laziness is the mark of a good developer.
Starting point is 00:16:16 And one thing I noticed before our note before we move on is on this Rails 235 article on the changelog.com, you'll see the GitHub statistics for this repo, since it is a link to a GitHub repo. Rails has been forked 732 times and has 4,529 watchers. And if you go out and either fork it or watch it right now, those numbers will update because we're pulling those numbers live from GitHub. That's true. That's a good note to make, because whenever you look at any of these links out to GitHub, we're pulling those stats live.
Starting point is 00:16:52 I just love that feature. I love that feature too. I really hope that the audience and the readers of the blog appreciate it too. I actually got asked a question by a couple of people. They're like, what? GitHub integration? You have your GitHub aware? What do you mean? I'm like, well, you see the little fork icon, the little watcher icon there? Well, that actually means forks and watchers. Oh, really? We were trying to test these numbers, and you were telling me where to find the links. And from their icons, it wasn't apparent what their links meant.
Starting point is 00:17:30 Right. Ressler, Ress client library for Node.js. This is kind of a twofer article. I guess we should first discuss Node.js, right? Yeah, yeah. Node.js, they just released version 0.1.20. And the lowdown for Node.js can be found at nodejs.org. And what it is, is a service...
Starting point is 00:17:52 Maybe Node.js, not Node.js. Node.js.org. Is my accent... No, it's not your accent. It's just clear. Because earlier when we were talking, just a little bit before we started chit-chatting here, when you said that, I actually went out to Node.js.org. Node, N-O-D-E. Node.js.org. Continue, my bad.
Starting point is 00:18:15 Evented IO for V8 JavaScript. Now, I guess we have to back up even further. V8 JavaScript is a cool project from Google. It's a JavaScript engine that powers the Chrome projects that we talked about earlier. This is very similar to Sinatra at first glance here. They mentioned a couple of other Ruby and Python projects, Twisted and Event Machine. But it's basically just a way to write a server-side
Starting point is 00:18:44 lightweight HTTP server using JavaScript, since it leans itself to writing evented code in this way. So it's got a pseudo-DSL where you just crank open some listeners and via some methods can send data back to the browser and have a really lightweight web server running. I'm anxious to see where this is headed now with Wrestler. On top of this, this is from Dan Webb. He can be found at twitter.com slash, I believe, Dan Wrong.
Starting point is 00:19:16 Dan Wrong, yeah. You ever follow Dan's stuff? I did a little bit, not long ago, but I'm not a deep fan of Dan's for no specific reason just not Dan's forgotten more JavaScript than I'll ever learn I was turned on to
Starting point is 00:19:35 Dan's project that allowed you to do unobtrusive JavaScript and prototype before I found the joys of jQuery. Back in the day. Back in the day, yeah. Two years ago.
Starting point is 00:19:53 That's actually just about three years ago now. Open source moves fast. Keep up. He's written an HTTP client library for Node.js called Ressler that allows you to quickly implement a REST client on top of it. So I guess the newsworthy angle here is that people are starting to build projects on top of Node.js,
Starting point is 00:20:17 and it's got some momentum, and we'll see what sort of projects are built with this thing and see what sort of run server side JavaScript can make. Yeah. Ever since we posted the story to the watchers have gone up significantly. I think it was like, what would you say? It was like 10 watchers, eight watchers at first. And I'm going to take credit for every one of those. Right.
Starting point is 00:20:44 Alrighty. Riot. Riot. Extremely fast running unit testing framework. All right. All righty. Riot. Riot. Extremely fast-running unit testing framework. This is one of yours. Yeah. Again, I'm going to steal some thunder, but I'm a big fan of Jeg2 on Twitter, also known as JamesEdwardGrey2, the second, I guess.
Starting point is 00:21:04 He's written some books that I've read. I've actually read half of his Power Editing with TextMate book, and I'm a fan of his blog, even though I'm not much of a Rubyist. I think the guy is super, super passionate about writing awesome Ruby code. He's somebody that definitely is noteworthy in the community. Every event I've ever been to that's involved Ruby, I guess Lone Star Ruby Conference, I've seen him there. He spoke at both of them, so he's respected in the community. He posted this on Twitter, and simply because he's following it, he said,
Starting point is 00:21:39 I make commits to Riot and Colorize today, and once there are brand new releases of both, Riot will be promoted to my favorite Ruby testing library. So I figured if he's talking about it, it's newsworthy, right? That's a crowded landscape, so that's quite a statement. Yeah, you know, I figured if he's talking about it, why not? Ruby testing is, like you said, it's a crowded landscape. There you go, Riot. You know, they have a port of Riot for JavaScript too.
Starting point is 00:22:05 It's called Riot.js. Oh, yeah. I saw that. You know, it's amazing to me how similar a lot of these syntax are to RSpec and Shudda and Cucumber. Hopefully we can mix and match a lot of these vocabularies and use them interchangeably. It doesn't really matter what's doing the testing under the hood. It's the fact that we are testing and we're kind of maturing as an industry.
Starting point is 00:22:30 Actually, it's kind of funny, though, that you mentioned Shuda and even RSpec because if you go to the link from that blog article over at GitHub and check out the actual readme file, he goes in and talks about, oh my god, why did you write this? And so he's even got some background. You start a new project, get all excited. I'm reading verbatim, by the way.
Starting point is 00:22:51 You're adding new tests. You're adding factories. You're adding this. You're doing that. And before you know it, you've got 3,000 plus lines of test code, 2,000 assertions, and things are getting slower and slower. So the point of testing and even TDD or, you know, test-driven development, you're trying to start with tests
Starting point is 00:23:07 before you even really get into your code, right? So you've got all this stuff that's preventing you from, I guess, getting to actually coding, right? And if that slows down
Starting point is 00:23:15 the process or if that becomes more complex than it should be, you've got some failures there. So I think he took a step back and said, well, what should we do?
Starting point is 00:23:24 And this is a solution to, you know, should a R spec, R spec. And it's awesome. Well, check it out. Check it out. Thor gets another one that got you excited. Make development easier. Yeah. I, uh, I took a peek at this and one thing that I liked about, um,
Starting point is 00:23:43 Thor get was, was that obviously the Thor was that obviously Thor is really easy to use. Like you said, if you can write a Ruby class, it's pretty easy to write a few different Thor commands and Thor tags. Thor is from YCats, YucataCats. Yeah, yeah. And what really got me excited about this was that it was easy to do open new branches. It's actually more part of a process. And he even explains that in the readme is that, you know, the tasks are designed around a particular workflow. So if you're working against a particular upstream or a single upstream that you
Starting point is 00:24:16 get push or even, you know, if you're using get SVN in your workflow, you do get SVN decommit. And well, in this workflow, you know git svn decommit. Well, in this workflow, master is typically your upstream. So it kind of defines a certain workflow, and this is the workflow I think I follow. If you're going to make a change, you branch. You make all those changes against that branch, that topic branch as they call it. And when you're ready to take that back into the mainstream, back into master, there's a certain process. So you have these git commands that obviously let you do that. But
Starting point is 00:24:49 with these Thor commands, it makes it really, really simple to do. So you just say, Thor, git colon open to open a new topic branch, you do some naming there. And then when you're ready to go back to master, you just say, obviously, git, or Thor, git colon close, and then name the branch. So it's got a nice little process there. It's really neat. I like writing these Thor scripts because I'm not much of a bash command line guy. Right.
Starting point is 00:25:14 But I can write Ruby, and so it's opened up a whole other world of scripting for me. And I love the way that you can install these Thor scripts directly from GitHub just by passing the URL to the script and passing the raw equals true, which will tell GitHub to serve up just the raw text. Pretty neat stuff. Something that actually didn't make it to the ChangeLog blog, but should probably be mentioned, there was a couple other Thor tasks on GitHub that I sort of hunted down that led some additional functionality to what this Thor Git is doing. I think there's obviously there's no GitHub support with this,
Starting point is 00:25:54 but it's favoring a certain Git workflow. I think that's maybe why those things aren't in there. Yeah, if you want to find neat Thor scripts for your own use, just do a GitHub search for Thor, and you'll find a lot of folks will have a Thor task or Thor scripts repo that has a number of Thor scripts in there, and usually arranged by topic and file. Yeah, very cool. All righty. I believe last up this evening is WebRawar, Ruby Rack Rails Application Server.
Starting point is 00:26:27 So, yet another Ruby stack. Yet another. Well, let's just rewind. How many have we seen since we started, at least I started, Ruby development back in 2006? WebRick. WebRick was the first one, right? Mongrel. Mongrel. And then we had Thin the first one, right? Mongrel.
Starting point is 00:26:45 Mongrel. And then we had Thin. Thin, yeah. Passenger. Passenger, which I'm still on Passenger. Yeah, currently using Passenger. Unicorn's another player in this space that's getting some press lately. Yeah, and that's actually,
Starting point is 00:27:02 I'm glad you mentioned that because they have some benchmarks they point to that are pretty significant. It shows how WebRawr is kicking some butt over some of those ones we mentioned, and they are based
Starting point is 00:27:12 on their benchmarks, so they encourage you to do your own benchmarking and try to prove them wrong, but they left Unicorn out, and Unicorn, from what I understand, is super, super fast.
Starting point is 00:27:24 I have, I guess the only experience I've had with Unicorn is when GitHub is pissed off. And I see that rainbow Unicorn that looks quite angry. You ever seen this? Yeah, I think I've caught that once or twice, yeah. But I see it less and less, especially now that Rackspace seems to be running pretty smoothly since they moved over. It should also be mentioned too that there's a hat tip to – let me try and say his name the right way. I even had a hard time saying it when we interviewed him on the Web 2.0 show.
Starting point is 00:27:59 Ilya Grigorik, is that right? I believe that's right. Yeah, so he runs post-rank. Real notable in the community. Won a Ruby Hero Award two years ago. Super, super guy. So I saw him tweet about it, and I thought, hey, if Ilya's talking about it, he says it's pretty promising. So why not pull it into the mix?
Starting point is 00:28:20 It's brand new. It's only been released, I think, a couple weeks at most. So it's nice to see people trying to make this environment faster because I think one of the biggest things we hear is Ruby, Rails can't scale, right? So we need something that runs it faster. I'm sorry. I'm not familiar with that term. Oh, really? Is there some sort of problem with Rails scaling? I don't know. Maybe. It's just word on the street. Igvita.com, I-G-V-I-T-A.com is his blog, and it's quite popular. If you're not Unicorn, I'd be really interested to, even though I'm not a Rubyist per se,
Starting point is 00:29:07 or whatever, I think it would be nice to hear some feedback from you guys if you have done some benchmarking against Unicorn. That's pretty much the lineup this week. If you've got a story for us that we should cover on the changelog, email it to us at submit at thechangelog.com
Starting point is 00:29:24 or just write up your browser and go to thechangelog.com slash submit. And send us a link to that cool new open source project or recently revved project that we should know about and share with the community. Absolutely. And I guess what's coming up next week for us? I guess, well, soon, in a couple days. Who are we talking to? We have an interview with Document Cloud. Yeah.
Starting point is 00:29:46 We covered a couple of their stories already. Right. And then on the roadmap, hopefully we'll catch up with the MongoDB guys and then some other surprises towards the end of the year.
Starting point is 00:29:55 Absolutely. All right. Well, stay tuned. Thank you for listening to this edition of The Change Log. Be sure to tune in weekly for what's fresh and new in open source. Also, visit thechangelog.com to follow along, subscribe to the feed, and more.
Starting point is 00:30:16 Thank you for listening. I found myself for the first time Safe in your arms As if no passion shows

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