The Changelog: Software Development, Open Source - Gordon is such a Showoff (Interview)
Episode Date: February 3, 2010Adam and Wynn continued chatting with John Nunemaker about recent featured projects on the blog — including Gordon, Showoff, jQuery Lint, JSpec, congomongo and more. ...
Transcript
Discussion (0)
Welcome to the Changelog, episode 0.1.2. I'm Adam Stachowiak.
And I am Winn Netherland.
John Noonanmaker stuck around
and we ran through the projects on our radar.
Ones that we posted up on the changelog.com.
And when we do that,
they become featured projects over on GitHub
at github.com forward slash explore.
It's also a great way to catch up on some old episodes
that maybe you haven't seen.
Also, I'd like to remind you,
you can go out to tail.thechangelog.com and see a real-time
view of the world of open source
as open source commits
flow in and out of GitHub. We've gotten lots of good
feedback on that, actually, on Twitter.
Yeah, I was proud that itod
added us at Changelog Show and
told us that he appreciated
the application, since we appreciate
his project, Fluid. Yeah, I think
it's kind of fun too when people
discover that when they first get there
they see this sort of tail-like
application of what's happening on GitHub,
but then they also notice that they can have
filters applied to that
either through the normal
constant flowing tail or through that
more spot where you can actually just scroll
the infinite scroll. And browse backwards
in time on the more application? Yeah, it's kind of fun to just see people like you know discover
tail.thechannel.com first and then they're like oh wow i can actually filter by you know event
types and then also languages so i often just sit there and uh you know whenever i'm looking for
cool stuff to post to the changelog i often just sit there with a certain filter and look across, you know,
because I'm, you know, all about Ruby.
I'm always, you know, filtering just by Ruby, right?
You know, only Ruby stuff.
But, you know, it's also great
to be able to filter out those event types
that you don't care about.
And if you just remove the pushes,
then it becomes a lot more manageable
to kind of drink from that fire hose.
Where else can folks catch up with us?
Well, I think if they're on Twitter, they should go to Twitter right now and follow us.
The show is ChangeLogShow, oddly enough.
It's not The ChangeLog, it's ChangeLogShow.
I have a Twitter account.
It's AdamSTAC.
Who are you in?
I'm Penguin, P-E-N-G-W-Y-N-N.
What about in person?
I know we're going to be at FOA
at the end of the month. Yeah, FOA. We'll be at the Future of Web Apps held by Carsonify down in
Miami, Florida. That is happening May 22nd through the 24th. Both myself and Wynn will be there.
They're probably representing the Change Log, of course, and also the Web 2.0 show. So
if you see us, say hi.
We'd love to meet you.
Absolutely.
Ready to get to the episode?
Absolutely.
Let's do it.
All right, John's kind enough to stick around and talk through the news with us.
And it's usually news of the week,
but we wanted to go back a bit
and catch up on some items
that we dropped over the Christmas break.
And so the first item up is friendly,
NoSQL with MySQL and Ruby.
So this is from James Golick, I believe, right?
Yeah.
So your take, John,
since you've got a Mongo mapper out there for MongoDB,
this is kind of a similar approach in Schemeless Database,
but they're doing it with a relational backend in MySQL.
So what's your take on this, Rebo?
I think it's pretty interesting.
I mean, whether you use MySQL or use a NoSQL database from the beginning,
it's just the concepts that matter.
And the concept that they're doing with this is the same.
They're kind of writing some of the code that would maybe be in Mongo. But I think they,
I think these guys actually did try Mongo and they ran into some issue that they had. I don't
know what it was. But so I think it's a pretty interesting project. I, for me, it's, I mean,
being, I'm probably wrong, but for me, I would say it's kind of like using CakePHP instead of Rails,
but I could be horribly wrong on that.
I haven't looked at it a ton, but it seems really interesting,
and I definitely plan on going through the code because I'm sure there's some interesting stuff in there.
James usually puts out good work.
But it's nice to see that the NoSQL, for the lack of a better term,
the schema-less database approach is really getting prevalent.
Yeah, well, and the other great thing is that there's some organizations for lack of a better term, the schema-less database approach is really getting prevalent. Yeah.
Well, and the other great thing is that there's some organizations that they don't want to support a million databases and stuff,
and they don't want to update.
And so if they want to use MySQL but you still want to get the benefits of NoSQL, this is great for that.
I mean, this is perfect.
And I'm sure, like, I mean, I know they've talked about it before, but this was made to handle a lot of traffic and a lot of stuff.
So I think it's pretty interesting.
For some people, it's going to be perfect, and for others, it won't be.
But that's the great thing is everybody's different, and whether it's split right down the middle, it doesn't matter.
There's no sides.
So I think it's really cool.
That's a nice segue into more of a front-end project in SCSS.
It's CSS-style syntax for Sass.
It seems like Sass, you either love it or hate it.
You Sass at all, John?
No, I was a hater, but we're actually thinking about throwing some Sass functionality into Harmony.
Oh, get me excited. We're actually thinking about throwing some SAS functionality into Harmony. Oh. Yeah, so we're going to –
Get me excited.
Well, we just kind of – Steve added it as an issue the other day and kind of smiled at me.
And at first I was like, oh, I hate Hamlin SAS.
But then I was like, you know, I've never really looked at SAS.
And we've talked about supporting variables and things like that.
So why not use something that already works?
So I would say that's probably going to come to a harmony near you in the next month or so,
is some kind of support for SaaS out of the box.
Did Steve share any opinions on SaaS with you
that you can share here on the changelog?
Well, I think what got him excited,
so Steve's the designer, the aesthetic of half of ordered lists.
And so I think what got him excited is, you know,
the ability to do a little bit of programming with,
I mean, both of us have always had a few things
that we think CSS should do
and one of them is variables
because you reuse colors, you reuse things,
that just makes sense.
And the other thing that Sass does,
it allows you to do functions,
which is kind of interesting.
The other thing that is huge, I think,
is nesting declarations.
So if you have a div
with an ID of main and you have like some posts or something inside of that, you can do a declaration
with curly braces for main. And then inside of that, you can do like dot post and it'll actually
automatically add like sharp main dot post as like the full selector for that thing. So there's some
really cool stuff with SAS that it does in that aspect
that I think that's what really drew him to it
because it can remove some duplication
from your style sheet.
I was thinking about that the other day.
I actually, sadly enough,
I'm working with WordPress on this other site
I'm working with.
It's the Web2O Show, web2oshow.com.
But I'm working on a new theme for it.
And I, you know, through Wynn's help,
we actually have a gem out there called Compass WordPress
where we actually use Sass and Compass to work with WordPress.
It's kind of wild.
But I was thinking to myself,
Jesus, if I had to write this with actual CSS,
how much repetition I would actually do.
I was just thinking this morning, too, when I was making the coffee,
I don't know why I reflected on it.
I'm thinking if I had to repeat all those selectors,
how much time would I waste doing that CSS?
It's just insane.
But that's wild.
Cool.
I'm happy to see that come to Harmony.
As in one way that the schemaless approach is kind of creeping into web development.
If there's so many projects out there that are taking this approach, it cries that a problem is out there.
And I think it's the same thing with CSS processors and meta frameworks, whatever you want to call them. out there that are taking this approach, it cries that a problem is out there, right?
And I think it's the same thing with CSS processors and meta frameworks, whatever you want to call them.
If there's so many approaches between SAS and less CSS and XCSS and you name it, there's
a project out there in your language to do this type of work to generate the CSS.
I think it just speaks to maybe CSS needs some modernization.
Yeah, and I don't know if you guys know this.
When it does some of the things, I've read about what it does,
but does it use the spec if it's there?
Because I know there's a spec for variables already.
I didn't know if maybe they use the same syntax.
I don't know. I'm not sure. Chris would definitely be able to answer that.
Maybe in your free time, pipe out on Twitter and just say,
hey, at Chris Epstein, does SAS leverage CSS's natural variable?
I think that would be really cool to have a processor that actually supports the standards that are set
that will be in browsers someday when they update, and that would be kind of interesting.
Yeah, currently I think since browser support is limited for those particular variables in CSS,
I don't think they're doing that currently.
I think it's all pre-processed
and then just vanilla CSS comes out the other side.
One project I wanted to touch on was Configularity,
which is still a tongue twister for me.
But we had an excited Mr. Flip.
He's the guy behind this project.
And he was thrilled to get such a rousing endorsement
from the Changelog show that it's probably not crap.
So now that we've got a heavyweight Rubyist on the show, I wanted to get your take on this particular project and the problem it aims to solve.
And I'm sure that you've got a gist that does this for you automatically.
Yeah, so configuration is a part of every project.
It's guaranteed.
And it's another one of those things that everybody does differently.
So, I mean, I'm looking at it right now, and it looks pretty similar.
I haven't looked at the code, but, like, the API is pretty similar to, like, what we use.
I actually have, I think I might even post it on Rails Tips.
If you search config on Rails Tips, it might be up there.
But we use this, yeah, like a YAML type, you know, slurp thing that just literally pulls it in
and then boom, you have settings.
So it's real similar to kind of what he's doing.
But this, I mean, this is obviously something
that everybody's struggling with
because there are a lot of config frameworks out there.
And this one seems like one of the more simple ones
that I've seen, which is, that's good, so.
Still love the name.
Yeah.
So would you say that it's probably crap or probably not crap?
No, I said I don't know if it's crap.
And then you said you laughed at that remark.
I'm just joking around.
I'm just messing around.
Got you.
Gordon, an open source Flash runtime written in pure JavaScript.
This one went from just a few watchers to several hundred in one day on GitHub.
And we were working with Chris Weinstroth over at GitHub.
And I think he was working on the trends on GitHub at the time.
And this was one of the projects that came up in that conversation because now we're up over 1,000 watchers just a week later.
So what do you guys think?
Open source Flash runtime in pure JavaScript. I think? Open source, Flash runtime, and pure JavaScript?
I think it's awesome.
I mean, like, I thought it was a joke.
I checked my calendar to see if it was April Fool's.
I mean, it's really cool.
It doesn't, I think if it could support, like,
some of the NAT streaming stuff, like video and things like that,
I don't think it does now.
I think that would be epic.
But even just now, I mean, that's really cool.
And this one got me excited.
Twitter node, node.js-based
tweet streaming. So we've got a streak here
that we've got to keep going with mentioning
node.js in our episodes. But this one
from Technoini, which you mentioned in the
interview portion of the show,
and that's Rick Olson, if you
don't know Technoini's handle on
GitHub. This is a node.js
server for streaming Twitter updates.
Straight up, Node.js is the future.
I mean, it is.
JavaScript is such an awesome language.
I'm going to go out on a limb and just claim it.
I looked at it the other day, and I had been ignoring it for quite a while.
And I finally just was like, okay, what's this Node.js stuff about?
Kind of like the crazy Mongo database. And I was just blown away. I mean,
in like two seconds, you know, I used Homebrew. It's on GitHub. And I did brew install Node.js
and like made a little tiny server and did a hello world. And I mean, I haven't had a geek
out like that in a long time. It was really cool. Right about now is the time that Wynn challenged you with Resig's quote about JavaScript.
I'm not going to do that this time.
You'll have to listen to an older episode.
But, you know, it forces you to, if you're going to embrace these server-side JavaScript frameworks,
I think a lot of us, they're more involved code, I would imagine.
I haven't done a lot of this firsthand on the server-side,
but I'll give you another JavaScript quote that I saw, and I'm not sure who to attribute this to.
I need to go back and look and put it in the show notes.
You can attribute it to me.
There you go.
I'll put it next to Jay Neunemaker.
So they liken JavaScript as the incredibly hot girl at the party that always makes her loser boyfriend dom right and so you know if
you're writing server-side javascript you're finally cut loose of the dom the document object
model and so it it forces you to well i guess you're free now to organize your javascript in
a more sophisticated manner and part of that is just simply writing better JavaScript. And we talked about it in an earlier episode of semicolons, good or bad writing server-side JavaScript.
And a big piece of that is, I guess, if you're going to have validating JavaScript is using
JSLint. Have you used this project? No, I haven't. So JSLint basically is a validator for...
Oh, yeah, yeah. I have used JSLint. Sorry. If you've used the TextMate bundle to validate your JavaScript,
it's using Lint behind the scenes.
So jQuery Lint came out.
That's the longest intro segue in history.
jQuery Lint came out this week,
and it plugs into Firebug and validates
and makes suggestions for improving your jQuery.
So I was really excited about this particular project.
You see the screenshot up on the change log.
You see that it inspects the selectors that you use for your jQuery code
and then recommends different selectors, which, you know, that's a big deal
when writing jQuery is just caching those selectors
and being a lot more optimized in the selectors that you use.
Do you write a lot of jQuery?
Yes.
Harmony is actually has more JavaScript
than Ruby.
So yeah, we have a ton
of jQuery in there.
I saw this the other day, but I haven't
tried it yet, but I'm
pretty curious about it. It looks interesting.
So on top of that, does it also
not require you to do console log and stash the variable
so you can see it in the console?
Does it do that for you, Wynn?
You know, I haven't used it firsthand.
I need to kick the tires.
But from the intro, I don't believe that you had to do anything special to manually inspect those variables.
Yeah, I know Lint itself is really cool, the JS Lint.
I've done, you know, I had the TextMate bundle
for a while. I ended up turning it off because it was
a little bit slow.
But, yeah, it's
pretty cool how you can, like, just, you know, I found
a lot of places where I just, you know,
missed a semicolon or forgot a var,
you know, it just happens randomly.
And so, I mean, I can imagine that doing
the same kind of thing, like, on top of that
4jQuery, that's pretty sweet.
I'd definitely be checking that out.
As a side note, we should probably make a note to get a hold of somebody like Remy Sharp, who does jQuery for designers.
He'd probably be good to have on the show.
Absolutely.
Yeah.
Show off the best darn presentation software a developer could ever love from our friend Scott Chacon over at The Hub.
I have played with this one.
It's pretty cool.
I have a presentation coming up next week on SaaS of all things,
so I thought about giving this a try.
I guess ultimately I'm still addicted to Keynote.
I think that's one of the apps this one has in its sights.
But it's essentially a built-in Sinatra web app
that allows you to build your presentations in HTML, JavaScript, and CSS.
Yeah, I became a big fan of Keynote.
I teach a JavaScript class at Notre Dame in the fall, and so I had to learn how to show code and presentations and things like that.
So I started using Keynote, and at first it's a little bit awkward, but it definitely gets the job done.
I can't see myself switching, but it was interesting.
I think there's definitely an opportunity because it doesn't sound like anybody's ever real happy with code presentations and stuff like that and what it takes to get it going.
So I think it looks pretty cool.
So you tried it out, and what do you think?
I did.
I mean, it's still early.
It's a brand new project. I'm not sure that it's
ready for me personally,
but I could see where... I definitely
see the problem it's trying to solve. And as you mentioned, showing
code in your presentations is one of the most
difficult things you can do for all of the
benefits of something like Keynote.
Showing code in a way that
fits the limited resolution that you
normally have on a projector is difficult.
And then there are certain times if you have to wrap text, a lot of times that may or may not be valid in the particular language that you're trying to display.
So do you have any tips for the listeners?
Say that you do this in Keynote as far as displaying your code in Keynote?
Yeah, I've got a draft blog post
I've just been waiting to put together
because there's a few things you can do
and it makes it a lot easier.
I think it's Dr. Nick has a copy as RTF,
rich text format bundle,
and that is priceless.
If you install that for TextMate,
you can literally code your stuff up
and just copy and paste your syntax highlighting
right into Keynote.
So a lot of times I go with white background because you don't have to worry about contrast on the screen and stuff like that.
And then I just use one of the white themes in TextMate and I can do copy as RTF and paste it right in, bump up the font size a little bit, and the code just looks great.
And I know I found, and I'm sure the same is true with other developers, but the students really reacted to the, the syntax highlighting, um, like being able to see that really helped
them understand what was going on.
So I think the copy as RTF was one of the biggest things that I figured out.
And then, you know, going with a simple background color so that you don't have to worry about
like things looking washed out or stuff like that, um, has helped me the most.
So what are you teaching, uh teaching America's youth at the university?
Basically, it's just an intro to JavaScript.
It's literally like English majors and history.
I mean, they don't have any programming experience at all.
So I have to teach them just enough HTML to get it going.
And then it's basics of JavaScript, learning how to program variables,
functions, stuff like that.
And then the second half of the class is all jQuery.
So it's literally just like pedal to the metal, get something going, and it's pretty fun.
It's a lot of fun to see people get excited for the first time again when they make something draggable.
And their eyes light up like, whoa, I can show my friends this.
And you find yourself, when you teach a subject, you really have to know the subject.
Yeah.
Yep, because they ask questions that I have never even thought.
So yeah, it is – that's very true.
That's kind of tough.
That's kind of tough.
Before we go away from show off real quick, I think some things we're not really thinking about there with what it does is in its future plans, it actually intends to be like this dynamic presentation server.
And what's cool about that is that it has plans
for actually having the audience interact with the presentation.
So the fact that it's like this presentation server,
it runs on a URL and you can kind of get dynamic with it,
like show tweets in it and very, very dynamic
where you actually include the audience.
And I think that's what every person who gives a presentation tries to be very interactive.
And if we're going to go down that road, why not try to build it into the software that does the presentation?
And not only that, but it's, you know, let's face it, it's code, right?
So you can throw it into a Git repository, share it with the world like we do with our open source software.
And, you know, that's a big, big win there, too.
You can't really share a keynote like that.
I mean, I guess you can, right?
But can you version a keynote?
I don't know.
Only at the binary level, I guess, and that's always awkward.
But yeah, it's a good point.
You could fork a presentation.
Yeah.
Fork my presentation, baby.
Next up, Congo Mongo.
Use MongoDB from Clojure.
So I think we've probably beat the MongoDB horse on past episodes and this one.
But what makes this one interesting to me is the fact that you're calling it from Clojure.
And it seems to be a rise in these functional programming languages.
Have you dabbled in these at all, John?
No, I haven't.
They seem cool.
I'm not like a
computer scientist or anything, so I haven't really gotten
into that part of functional
programming. But yeah, it seems interesting.
Clojure and
some of them are on my radar for maybe
tinkering with in the next year.
At our last
Ruby meetup here in Dallas,
some of the guys are starting a functional programming
languages user group here in the Dallas area, the guys are starting a functional programming languages user group
here in the Dallas area, and they're calling it Lambda Lambda
Lambda.
That's awesome.
That was a perfect name.
Alrighty, we should have saved this one.
For the last talk, Adam, you may have to do
some splicing in post-production. JavaScript
as a teaching tool. Here you go, John.
Learn classic computer science approaches
using a language you probably already know.
So have you seen this repo?
Yeah, I looked through it a little.
I bookmarked it to look at it later because I want to go through it mostly because I have no computer science background at all.
So I've always found algorithms and stuff like that interesting.
And JavaScript is such an awesome language.
But no, I haven't.
I mean, I would say definitely JavaScript is a great language for teaching programming. Um, but I,
I, you know, this computer science stuff is, is really interesting too. So just curious when you
said you bookmarked, did you mean you, you watched? Uh, no. So I, I typically don't use watch because
then I get every commit and it kind of overloads it. So I, I think I might've talked about it in the other episode,
but I have a tiny little Heroku Mongo HQ app that I use and I,
it's just like a bookmark,
like Instapaper type thing,
but not as fancy as Instapaper where you can just mark something to look at it
later.
And so I do everything in batches.
So I,
you know,
get all my feeds,
find all the interesting things,
bookmark them to read later, and then when I have time,
I usually go back and look at them.
So this is on the radar to do that.
So I'm looking at the network graph for this particular project
and it's interesting to see folks forking it and adding their own examples.
So phpmoadmin, MongoDB admin tool for PHP,
and I know they're riffing off phpmy Admin, MongoDB admin tool for PHP. And I know they're riffing off PHP My Admin, which we all know, love, and probably hate from former lives of dealing with MySQL.
But I love the Mo in this.
It's Mo Admin and PHP My Admin.
But we've seen a lot of these crop up, these GUI tools for Mongo. When we had Mike for MongoDB from TenGen on
the show, we talked about
where is the GUI for MongoDB?
What's your thoughts on that? Do we need one?
Yeah, I think it'd be really
cool. I know, I mean,
SQL, I think is what it's called. That's one
that I used for MySQL and still do
occasionally. I just saw,
I don't know if you've seen it or not, but there's a new
one out. I think it's a Mac app called Mongo Hub 2, which I haven't really checked out yet, but that is kind of interesting to me too.
But yeah, I know, like when I was at PHP, PHP My Admin was, that was awesome.
I learned on PHP My Admin.
So I definitely have some roots with that.
So it's interesting to see other stuff crop up like this for Mongo.
I think it's only a matter of time.
You mentioned SQL. I use that primarily for MySQL as well.
I love that app.
I'm glad to see that it's
continued to develop as it has.
The comparison that I would draw
is probably with Futon, if you've ever played it
with CouchDB.
I think they have a nice web interface that's built in.
It's really functional.
I think Mongo could benefit from something similar.
Yeah, definitely.
I think you always want to be able to see your data.
I've had a few people on the MongoMapper mailing list that are like,
how do I see my data?
I'm like, well, you can use a shell,
but I think some people are just used to GUI tools.
So they're not quite ready for that level of hacker
to open up the green term screen. It's always nice, too, to get to GUI tools, so they're not quite ready for that level of hacker to open up the green term screen.
It's always nice, too, to get a GUI on something that can be a little difficult from a different level.
But as soon as you start to pull out GUI tools, you start to get to a more mainstream audience as well.
Great point.
Fusebox, a safer way to monkey patch JavaScript. So I was checking out this repo, and I thought it was interesting in the way that it aims to provide a sandbox
for monkey patching certain built-in objects in JavaScript.
And I think people differ on monkey patching in general.
I know in Ruby there seems to be debates on whether open classes
and monkey patching is a good thing or not.
With JavaScript, usually, though, it's a little harder to debug
because you don't have those debug tools that you've got with other languages.
And so when somebody's opening up prototypes and adding methods
and then what you expected that you're adding to a string prototype
is not necessarily there because someone else has stepped on it,
it can be confusing sometimes.
So have you checked out Fusebox yet and the approach that it takes with this
namespacing?
No, this is really interesting.
I've always kind of shudder at namespaces,
but I can understand definitely with JavaScript when this would be handy.
But, yeah, this is pretty cool that you can do that so easily.
I hadn't seen it yet.
I'm behind on my feeds.
But, I mean, I know personally I've – usually I don't override anything in JavaScript.
I usually just kind of add to it, you know, things like first and last on array or stuff like that.
But, yeah, projects like this and Underscore are definitely – I mean, that's – as people write more JavaScript, it's necessary.
You mentioned Underscore. So have you used that very much?
Just a little bit. Like, the next project I start, I'll definitely be using it to try it.
You know, most of the projects that I have, I started, that I'm working on now, I started before Underscore, so I have other, you know, like, for each patches and things like that
that I end up using, but I think Underscore is definitely what I would use next.
Before we pull away from that, too, we should probably mention in the comments,
the owner of that repo, that project, John Dalton, actually chimed in and said
he recently added support for the sandboxed Boolean native constructor as well.
Yeah, and this is supposed to be part of Fuse.js,
which I'm still confused about what it's going to be.
I wanted to plug it, but Mr. Dal I'm still confused about what it's going to be.
I wanted to plug it, but Mr. Dalton's splash page just says it's going to launch sometime in January.
So we've got about three days left to let us know what Fuse.js is going to be.
We've got our eyes on you, John. You can't hide.
But you mentioned Underscore.
For the guys that don't know, Underscore.js was on episode five, I believe, from Document Cloud,
which those guys are turning out some great code over there. We talked to
Jeremy about
Underscore, and I think I've added it
to every project that
I've started since that
came on my radar. It's a nice little library.
Next up,
App Sales Graph. Graph your
App Store sales data.
I don't think any of us have any apps in the app store, but it is cool to see people.
I guess they're scraping this data.
I'm trying to figure out where they're getting this data.
A couple of these have popped up in the last week, but I thought it was interesting.
The app store has just gotten so big, and the reason I wanted to highlight this one today,
we probably have a hard stop here at the top of the hour with John waiting on the Apple keynote.
Just how big the App Store has gotten.
Do you guys foresee any sort of iPhone integration with Harmony?
Yeah, totally.
I mean, we plan on having a full API eventually.
We'll probably start with just a little bit, but we've already had a few people talk to us about making a Mac application for editing your themes and uploading files and changing content.
And the same thing with an iPhone, man.
I would love the idea of being able to look through comments right from my iPhone and stuff like that.
So I would definitely say someday we will.
And, I mean, man, everybody who makes an iPhone app is rich, so why not jump on board, right?
Absolutely.
Do you guys think there's an untapped market out there for, I guess, maybe software as a service?
In this case, we have this Mac, this app sales graph, but anything hosted where you can actually pull this data in and sell a subscription to a developer to help them better manage their sales and their processes?
Or is it just part of the iPhone application
on the store in general?
I think
it would be interesting. The problem
that you might run into is just with Apple
choosing to cut it
off at any time. Right. That does
suck in that regard because they do have so much power.
Yeah.
It would be like a bad habit.
Things-RB. I know this is Adam's repo
he's quite excited about this
he even posted the screenshot of his Hootsuite conversation
well that's not my conversation
that's just a couple good friends of mine
Andy Shen and Josh Price
was just chatting on Twitter
and I follow them both
and just kind of caught at a glance
their conversation about things.
And I've been a things user for probably about a year and a half now,
and I use it on the desktop as well as the iPhone.
I've been a lover of it.
I store lots of notes, things to do, projects.
I mean, I use it pretty in-depth.
And I thought it was a really cool take
when I found the repo, the project on GitHub,
and I just stumbled on it maybe a few weeks ago.
And when I stumbled on this conversation, I'm thinking, well, I should really post that repo because these guys would appreciate it.
And the next thing you know, when we posted it, it had 30 watches.
And before the end of the day, it was like up to 75.
So it just shows you that there's people out there who really want to cling to this information that's in GitHub.
And it just needs to find a way to get out.
Yeah, it's almost up to 100
watchers now. I got some buzz
when we posted
it that day. It's nice to, as you say,
shine a light on some of the lesser-known projects,
even if they're extremely niche.
I think that's kind of the whole point of the show.
Even the developers that
own the projects,
they're more than ecstatic about it, too,
because they're not really looking to get famous
by any chance, but they want people to use their code.
Doesn't everybody want people to use their code
and find some usefulness in what
they provide back to open source? I think it's just
kind of wild to give that back.
But the cool thing here to take away is that
if you're geeks like us, you're probably using Terminal anyways
and you probably are on the command
line most often. So
why not be able to just pop up in a new tab and type in a quick command
and get today's to-do list from things?
So you can still go back to your things UI, either on your iPhone or whatever,
but you don't have to keep things running at all times either.
So you can just have things closed but still access that data via the CLI.
It's kind of wild.
They also piggyback off of a tool called GeekTool to keep to-dos on your desktop, which
I haven't checked out yet, but I've heard that's kind of cool.
Yeah, that is cool.
I actually did that before when I was using like Todoist or something, a web service.
I added a little bit of Ruby stuff, you know, and showed to-dos on the desktop with GeekTool.
GeekTool is pretty cool.
I mean, it's fun.
You can't customize everything, but you can make it look pretty decent. I think projects like this too, they're really fun.
Like what people don't realize is desktop software, it all uses either SQLite or XML
or something. So like, you know, if you have a desktop app out there and you want to get into
it, you can get into it. You just have to, you know, go to the application and figure out where
it's storing the data and you can, you can hack around and make stuff work. So, I so i mean i think that's it's awesome when people do stuff like this and it's a lot of
fun i know i've done it a few times so you know that's the beauty of github not every project is
going to be this massive community effort that solves you know a particular problem that that
every web app needs some of it's just going to be tiny little niche you know hobbyist type projects
just like this one yes the takeaway too on this on this, I guess, on John's note,
the fact that you can access that XML or MySQL or SQLite database
is that if you have an application you want to get access to,
go take a look at this project, see how it's working,
and reverse-engineer it and make it work for your case.
You just got to learn a little bit of Ruby, and you're good to go.
One other takeaway from that too
is that... That's five takeaways
if you're scoring. Hey, I'm taking lots
of takeaways here. There's nothing left to take.
I'm on the podium. Give it to me.
I'm just kidding.
Somebody, actually Andy,
let's rewind there for a second.
So when we released Tail,
defunct Chris Wannstroth
actually got pretty excited about it, obviously,
as we know. And then he's like, now I just want
to see Tail in my terminal.
And then Andy piped back
up and said maybe we should use GeekTools
to show Tail in our terminal.
Yeah, no, I think that's, I totally
think that's great. GeekTool,
that shows on the desktop, too. You can
actually make it your desktop background,
I think.
That's how I've used it.
I don't know if I've ever used it in Terminal,
but you can actually make it overlay with opacity on your desktop to show stuff.
So yeah, I bet you could totally do a live.
I did a minute refresh on the little dumb thing I made.
Yeah, I saw that tweet, and I was kicking around.
The how I've actually had to pull that off.
I may have to pick your brain, John, because I think that would be cool to actually tell the change log without having to go through
the web interface.
We should talk about that sometime.
Totally. That sounds fun.
JSpec, robust BDD for both client
and server JavaScript. So we talked about server-side
JavaScript earlier, and then client-side JavaScript
with jQuery. So here's
a BDD, behavior-driven development library for JavaScript.
Do you find yourself testing JavaScript in this way?
You know, JavaScript testing, let's be honest, it kind of sucks right now.
So, I mean, the things that we need for testing or that I've found I need is in more integration
related.
You know, most of the stuff that I use that is more
library based already has tests.
I haven't really written a lot of libraries
for JavaScript
that I want to test and stuff.
I think this is awesome
and I definitely think for Node.js
stuff like that, server side testing
this is great.
But
I think I'd really like to see
some even more improvement in the integration area
for testing JavaScript-type stuff,
like with HTML and those kinds of things.
But yeah, this is a cool project,
especially if you like RSpec.
Yeah, I like the vocabulary here.
It's really familiar if you come from that background.
FoursquareX, talking about another hobbyist project.
This one's an OS X client for Foursquare, which
seems to be locations all the rage on Twitter these days. Either of you guys use Foursquare?
No, I don't. I actually use Gowalla, I think. Yeah, I'm a Gowalla fan
myself. I paid the Gowalla guys this morning for an API. I'm dying for that API
to write a wrapper. We're calling you out, Gowalla.
I did.
But Foursquare's got their API
out there and they've got a little traction.
This is a really nice looking app for
doing that on the desktop
without having to use the iPhone or the web
interface. And it's cool that they made it open source
that anybody can forget and add features.
It's really nice. Special note is that you actually have to have Snow Leopard,
not just Leopard.
Yeah, I saw some grumbling on Twitter,
on the Twitter about that.
But you know, it's...
How long has Snow Leopard been out?
It's like, upgrade already.
Well, that's me.
I've been delaying because of what that does to me.
That puts me out of, I puts me out of practice for a bit
because I've got to reinstall and new gems
and set up the system again.
It's just a big mess of undertaking
that I'm doing right now.
Actually, I kind of like that process
because spring cleaning, cleaning house.
Back when I was on the Windows platform,
I think I did it at least once a month.
Well, yeah, I would do it. It's just a pain in the's just a bad i had to right there's just so much going on right
now that right now is bad timing and i don't think it's gonna get any better but it's kind
of resisting because i don't know they're announcing summer leopard in about a half an
hour so you might as well just wait for that and speaking of installing things uh one that we have
not highlighted on the show that we will feature because now we're mentioning it on the show that has got a lot of traction and I've seen you talk about it a couple of times, John, is Homebrew.
Yes.
Homebrew is awesome.
It's really good.
So what makes it so cool is if you're someone like me that does not want to compile and MD5 check some things and stuff like that.
I just want to install something like...
I like Mac's drag and drop.
Being able to just say
brew install and then some
name, it's perfect.
It's definitely great.
It's got to be easier than Mac ports, right?
Oh, man, yeah.
Mac ports, I always run into.
I still have Mac ports installed because of one thing that kind of relies on it.
But, yeah, it's definitely easier than that. And it doesn't mess up with your system at all.
You can put it in wherever you want, and it'll only affect that place, which is really cool.
All righty. Well, thanks for sticking around and running down the news with us, John.
My pleasure. This was a blast.
It was a blast.
No, seriously, thanks for joining us on the show. It's always a pleasure to
have someone else's take on
what's happening in open source. I think it's awesome and
really appreciate you taking the time to sit down with us
for, I don't know, what, an hour and a half now?
Between the interview and the news,
I appreciate you taking the time out of your day and
enjoy Apple's announcements today.
I will. Thanks a lot.
Thank you for listening to this edition of The Changelog.
Point your browser to tail.thechangelog.com to find out what's going on right now in open source. Also be sure to head to github.com forward slash explore to catch up on
trending and feature repos as well as the latest episodes of the change log. Was man alone
I'm out
I'm out
All roads to try
Bring it back
Bring it back to
I'm out
I'm out
All roads to try Bring it back Thank you.