The Changelog: Software Development, Open Source - Chrome OS, Thor and ROaR (Interview)
Episode Date: December 1, 2009In this show we're still trying to find our footing with this podcast stuff. Seriously, we get better at this....
Transcript
Discussion (0)
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.
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?
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
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?
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.
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
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
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
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,
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.
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
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.
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
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
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
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.
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
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.
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.
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?
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.
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.
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
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.
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.
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,
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
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.
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.
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.
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.
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
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.
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.
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,
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.
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.
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.
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.
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.
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.
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...
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.
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
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.
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
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.
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,
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.
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.
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,
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.
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.
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.
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
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
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?
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,
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
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
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.
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,
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.
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.
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,
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
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.
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.
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?
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,
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
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.
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.
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.
Thank you for listening. I found myself for the first time
Safe in your arms
As if no passion shows