The Changelog: Software Development, Open Source - OAuth, Hurl.it, Baconfile (Interview)

Episode Date: February 27, 2010

Adam and Wynn caught up with Leah Culver and talked about startups, APIs, and her open source work on OAuth, oEmbed, Hurl.it, Baconfile, and more....

Transcript
Discussion (0)
Starting point is 00:00:00 Welcome to The Change Log, episode 0.1.5. I'm Adam Stachowiak. And I am Winn Netherland. We follow what's fresh and new in the world of open source. If you found us on iTunes, we're actually on the interwebs at thechangelog.com. Or for a real-time view, check out tail.thechangelog.com. We're also on github.com forward slash explore. You'll find some trending repos, some feature repos from our blog, and all the episodes of our podcast. So check it out. If you want to follow us on Twitter, you can do so as well.
Starting point is 00:00:44 Follow changLog Show, not The ChangeLog, sorry. And if you want to follow me, I'm Adam S-T-A-C, that's Adam Stack. And I'm Penguin, P-E-N-G-W-Y-N-N. Well, you're just back from FOA. Yeah, FOA, man. It was an awesome time in Miami.
Starting point is 00:01:00 It's like, not quite Vegas. It's not Sin City, but it's close enough. And a lot of fun there. A lot of good people at the conference. And Ryan always knows how to do a good job, and not just himself, but his team as well. He's got an awesome team he's built, and they definitely know how to do conferences well. Ryan Carson you're talking about? Yeah, Ryan Carson, yeah. Carsonified, yeah.
Starting point is 00:01:21 I'm excited about heading out to the Twitter conference, ChIRP, in April. It's a Carson joint. That's just before JSConf, isn't it? Yeah, little birdie says we may be out there. That's what I heard. We'll see. We'll see. But yeah, one person we did catch up with – well, actually two people, one specifically from Facebook. We helped to catch up with David Record, and he had a few minutes to chat with Ryan on stage about what Facebook is doing at open source. And I think he's got a lot of cool stuff to talk about.
Starting point is 00:01:50 So hopefully he makes some time to show his face or his voice on this ditty. I look forward to it. We've got a great interview this week with Leah Culver. Recently of Six Apart. Most recently of Plancast. It's a development since we recorded the episode. It's kind of funny how she didn't tell us about that. It was the day after she announced it.
Starting point is 00:02:10 Yeah, we could have scooped it. I feel like we've been wronged, Leah. Oh, well. It's a good interview, nonetheless. Yeah, no, she's awesome. I think what she's done with OAuth, and especially what you guys were talking about with the whole API junkie stuff.
Starting point is 00:02:25 Man, you guys are crazy. Yeah, I've got a sickness, and it's called APIs. So good stuff, good stuff. It's a great interview. You want to get to it? Yeah, sure. Let's go. All right, we're joined today by Leah Culver, and we're with Adam.
Starting point is 00:02:47 I should mention that Adam's with us because he makes this strange appearance about 30 minutes into every episode. So Adam's here, waiting in the wings. And we're talking today with Leah Culver from Six Apart. Leah, why don't you introduce yourself to the audience, the guys that might not know you, and what you do at Six Apart. Hi, everyone. I'm Leah Culver. I work at Six Apart currently as a product manager, but formerly as a software engineer. And prior to that, I had my own company, Pounds, where I was the primary engineer, and that was acquired by Six Apart sometime last December.
Starting point is 00:03:22 So I do a lot of work with Django and a little bit with some other technologies. So I'm very excited to be on the show. Thanks, you guys. Yeah, thanks for joining us. So I have some curiosity to how you transition from having Pounce and then going to Six Apart. What was that like to be kind of approached by them and then get consumed by them? It's an interesting process, for sure. I mean, I've always been a big fan of the company, Six Apart.
Starting point is 00:03:50 I really like the products that they make. They've been very active in open source communities, and I feel like they sort of have similar values to myself. It's someplace that I always wanted to work. So it was actually pretty easy. How did Pounce come about? Everybody that I talked to about Pounce compared it to Twitter, and I'm not sure if that comparison is 100% fair, but what's the background on how Pounce came about and what you guys were trying to do over there?
Starting point is 00:04:20 Well, I wanted to do a social site, and wanted it to do with messaging and like sharing content online. We had a couple of specific use cases, specifically when you found something online that you thought was funny or clever. How would you share that with the people you knew? And what you'd end up, I'd end up getting like these IMs that were just like links to stuff or, you know, like links to funny videos. And we thought there could be a better way. And I met Kevin Rose, one of the co-founders at an event in the fall of, I want to say 2006. And at the same time, I met Daniel Burka, the other Pounce co-founder. So there are three of us, three Pounce co-founders. And we all got along very well. And we really wanted to work on this idea. And Daniel is a
Starting point is 00:05:12 designer and Kevin's a business person and an entrepreneur. And I'm a developer. And so it all sort of worked out and we had similar ideas and got together and just discussed them and came up with this thing that was, you know, inspired by a lot of different sites that were around at the time. Because this was kind of a very popular idea to make, you know, something that was like blogging but more conversational and more social. So what's it like to work with Kevin and Daniel Berger then? I guess Daniel was the co-founder that had the design skills, and you were the co-founder. Yeah, he's a super talented designer, so that was really nice. And Kevin's pretty business savvy and has really great connections,
Starting point is 00:05:54 so that was nice. It was very convenient. Yeah, it's kind of rare that you get such a good team to come together in that way. So if you find it, hold on to it. Yeah, absolutely. So OAuth and OEmbed, you're the, I guess, co-writer for both of those specs. Did those both come out of pounce? Well, yes and no.
Starting point is 00:06:14 So OEmbed more than OAuth. OAuth sort of came actually from Twitter. And Blaine Cook's desire to do, well, Twitter and Magnolia both. They had this issue where Magnolia allowed OpenID for login. And at the time, APIs were mostly HTTP basic auth, which depends on a username and password. And of course, when you have OpenID, you don't have a username and password for that particular site. So they were looking around at other solutions, and folks like Google and Yahoo and especially Flickr had done some token-based auth that was really interesting, but it was all different, and they wanted to make sort of a standard.
Starting point is 00:06:57 And Pounce got on board later because I was interested in the work, and I thought it was a really great project. Talk about OAuth for a moment. I've done some OAuth development myself on the Twitter gem most recently. I think the vibe is that it's well-suited for web applications and not so suited for desktop applications. Would you share that point of view? Yes and no.
Starting point is 00:07:24 I've seen it done well on desktop and web applications though it doesn't have quite the same benefit um but it it's difficult to come up with a scheme that sort of works for all three and every single case of logins there's like it's i mean it's not even just like desktop and mobile it's like a mobile app accessing a desktop app that accesses the original API and things like that. So it gets pretty complicated. It is a deceptively simple problem. I think at first glance you think that authentication is just something that isn't that difficult. But when you kind of peel the onion, it starts to stink after a while.
Starting point is 00:08:06 Right. I mean, it's just, it's security issues. It's things that you never think about that, you know, someone trying to hack your site is always one step ahead thinking of these things. And it seems unnecessarily complex, but there really are reasons for all the decisions that were made. You know, that's right. As we speak, there's an issue on Twitter. I don't know if you've seen it today. The site, TwitterGrader, evidently was hacked. Sending out tweets on behalf of hundreds of, I guess, tens of thousands
Starting point is 00:08:33 of users. But the cool thing about OAuth, since they implemented OAuth, you can just go into your connections in Twitter and turn that off, which is something you can't do with basic authentication. I think that's the main selling point. A lot of developers push back at wanting to implement it, but it does have its perks. Right. And it's not like they've stolen your password. And a lot of people reuse passwords over and over, like my Twitter password might be the same as my Flickr password, per se. And if
Starting point is 00:09:00 your passwords are stolen, people can hack all sorts of your sites, right? And you have to go in and change it in a bunch of places. It's pretty easy to actually revoke your OAuth token for a particular site. Actually, it's a little bit hard to find in your settings in Twitter, but you can do it. Sure. And it sort of just kills the problem right there. It's pretty nice. One of the questions that keeps popping back up on the Twitter list around OAuth is, for open source desktop applications instead of web applications, what should be the protocol, I guess, around generating those keys?
Starting point is 00:09:33 The consumer keys? The consumer keys. So basically, I guess everybody that clones a desktop open source app really has to generate their own set of consumer keys, right? Right, right. And that's an issue for a lot of web applications, too, that are open source. They publish whatever their keys to different services may be. Yeah, I mean, I'm not sure that I'm the best person to know really great solutions for that. Yeah, it's always tricky.
Starting point is 00:10:07 When I created the LinkedIn gem, when they released their API, they implemented OAuth, and I ended up checking in my keys into the gem source, I must admit, and had someone update my LinkedIn status from my own library, so it was kind of embarrassing. But you have to be careful with those, because it's just like someone that has your username and password. It's pretty funny. I think I've made the mistake of publishing like my root password for a server one time in some of my code in a, in like a fabric file or something. And I was just so embarrassed.
Starting point is 00:10:39 I changed it, of course, but you know, those sort of things live on in your commit history. Talk about OEmbed for a moment, if you would. How did that come about and what problem is it trying to solve? So OEmbed was, that was actually pretty much pounce-driven at first. We had this feature where you could enter a URL for a photo or a video and we'd automatically sort of change that link into the, and embed that actual photo or video. So you'd see like a photo appear instead of just a link. But one of the issues we had was that we had added like YouTube and Vimeo, but then we'd have smaller video sites or video sites that maybe, you know, we didn't know about
Starting point is 00:11:22 come and ask us, how do we get this feature? And so I was adding a bunch of JavaScript and specialized code for every single site. And I was like, okay, this is taking up too much time. We want to be nice to everyone. And we want everyone to be able to have their links appear as videos or photos. So why don't we sort of make a standard format that they can provide for us and an API that we can use to sort of treat all these embeds similarly? You know, one of the selling points for OEmbed, especially around video, how do you see HTML5 affecting that at all? You know, I'm not actually sure. I haven't been following the debate too closely. But it should, I mean, pretty much anything you include in OMBED in between your tags can be any, it can actually be any HTML. So it doesn't really matter
Starting point is 00:12:13 what type of video player it is, which I guess could be a benefit. There's actually a type for OMBED called rich, where you can put in any HTML you like. And it's up to the consumers of OMBED to verify like the security or like to make sure that it's a trusted transaction and that you're getting sort of what you expect. So really, if you switched from a flash video to the new HTML5 video format, as a consumer, you probably wouldn't even need to know that. The provider could change at will, as long as they respected the size constraints of the video. I'm curious about, not in a bad way,
Starting point is 00:12:56 but why did you choose Python? Why did you choose to stay with Python? And kind of what got you into development? So I was actually a Java developer in school. No. That's what you do in school. Right. Right, and I had interned as a Java intern,
Starting point is 00:13:15 and I got my first job out of school doing Java, my first two jobs, actually. So I'd been a Java developer for a long time, and when it came to making pounds and making my own site, I was like, no more Java. I want to see what else is out there. And I looked into a couple different things. I looked into Perl a little bit, PHP a little bit, but not very much because I really wanted to use web frameworks, which were kind of like the new hot things.
Starting point is 00:13:43 So I took a look at Ruby on Rails and I had just a horrible time installing everything. This was 2006. And one of my friends suggested taking a look at Django, which was like a totally new framework as well. And I tried it out, and I got everything installed a lot quicker, which is totally the wrong reason to choose a framework. But at the time, I just wanted something that would work, and I understood the documentation, and so that was really it. So that's why I've been doing Python for so long, is it was Django that got me into it.
Starting point is 00:14:18 Serendipity, then. It just clicked. Yeah, yeah. I really felt like, I mean, I think people feel that different concepts in programming really vibe with them. And I felt like some of the stuff in Python really vibed with me. So very cool. What was your internship out on the West Coast or in Minnesota, where you're from? Oh, in Minnesota, I interned at IBM in Minnesota. So talk a bit about, you know, geography for a second. So have opportunities opened up for you since moving out to the West Coast? It's definitely different.
Starting point is 00:14:50 I think my feeling was when I lived in Minnesota that programming was a job, very much like being a dentist or a doctor. You were a programmer and you went to work at a big company, and that's what you did. And you worked 9 to 5 and that was it. And then moving out to the Bay Area there's very different attitude um in general i mean i've met people who do all sorts of crazy stuff all over the world but in the bay area there's definitely more of a culture for um not working the nine to five it's kind of like the 90210 story. You go from Minnesota to California and things open up.
Starting point is 00:15:28 Oh, what was that? Sorry. Like 90210, right? 90210, didn't they live in Minnesota or something like that and they went from Minnesota to California? I think you're thinking of like the Beverly Hillbillies or something. No, they were from Minnesota.
Starting point is 00:15:42 Wasn't 90210, you know, I think that was before my time. How old are you? You're going to have to introduce our audience to 90210, buddy. Oh, boy. Well, I wasn't... I guess I was a fan when I was younger, but I was probably like 11. How old are you, by the way?
Starting point is 00:15:57 Just curious. Me? 27. So you're not young. You're not old. No. When is just over 30 and I'm just 30. The TV references from the guy that doesn't watch or doesn't have network television.
Starting point is 00:16:12 That's great. I don't watch too much TV either, sadly. Well, not on TV, TV. Well, speaking of open source and open source TV, do you use Boxee? You know, I hate to say this and admit this. I've never used Boxee, but I've used – Chris just installed Plex on our Mac Mini, and I've been sort of having a little love-hate relationship with it. Well, that does open the door for our first question from our Twitter fan base. Jay Neunemaker wants to know what Chris Wansroth is like in person.
Starting point is 00:16:57 The same. He's very much the same online as in person. Yeah. So he only speaks 140 characters then? Uh, he's, he's very much the same online as in person. Um, yeah. So he only speaks 140 characters then? No, only on gists. If you missed it, we had a great interview with Chris in episode 0.1.0, I believe. Yeah, it was our first point release. It's an excellent episode.
Starting point is 00:17:23 About three weeks ago. Let's talk about some of the apps you've created. So HurlIt. I don't know that there's a day that goes by in the last couple weeks that I haven't used this application. So how does a Python girl get mixed up in a Rails rumble? So Chris and I did HurlIt together. We also did the Django Dash together previously, a few months before. So it was kind of a deal. He did the Django Dash and I did the Rails Rumble. So it was fun. I really liked it.
Starting point is 00:17:56 It was kind of crazy to say, you know, I didn't really know Ruby very much at all and to jump in. I actually mostly did design, so that was pretty fun. If you don't know, Hurl is, I guess, Hurl.it. It's a great API harness to put in endpoints for APIs and test them and replay those requests and responses. I use it quite a lot because Adam knows that I have an addiction to writing wrappers for APIs. He does. I do.
Starting point is 00:18:27 Yeah, I'm kind of an API junkie myself in that I'm obsessed with every sort of detail about APIs. It's really like the programmer's design, the programmer's interface. It's very fun.
Starting point is 00:18:42 Have you come across an app called Charles Proxy? Yes, I've used Charles before. In fact, I'd use it a lot before I used hurl. Um, it's actually really nice. I love Charles. It's just, it's too cool. You know, I, uh, last week, uh, the Gowalla guys have been, uh, begging them for an API for weeks and I finally released it, but I got tired of waiting. So I was able to hook up Charles and set it up as a proxy on my MacBook and use that proxy server connection on my iPhone and then use the iPhone native app to go all and then sniff out their hidden API that their iPhone app uses. It's just too cool. Oh, wow. That's crazy. Yeah, I mean, I love getting views into sort of having these nice graphical views into what's going on when you're making requests and getting responses.
Starting point is 00:19:33 It's super cool. So that's funny. Wow, that's crazy. So now they have a public API. They do have a public API, although it's much slimmed down from what I was actually able to find underneath the hood. So on the public API, it's mostly read-only, but there are some methods there if you know where to look to actually create spots and things. But I think they're worried about people gaming the system. You know, the whole deal with Gowalla is you have to be where you say you're checking in,
Starting point is 00:19:59 which if you have API access, you could be anywhere. You know, I haven't used Gowala that much, but I did look at their API browser, which people were saying looked a lot like Hurl, but Hurl was inspired by other API browsers, so it's not really a fair comparison. You know, what I use Hurl for mostly is
Starting point is 00:20:17 if I'm writing a wrapper to an API, I will use Hurl to test the API endpoint and then save the response as a fixture file and then start writing tests that will parse that fixture file and then implement the code that makes the test pass. It's kind of the workflow that I have. Oh, that's great.
Starting point is 00:20:36 Do you use like the little view where it renders it outside of the actual like page UI? It'll just give you the plain text. Yeah, I do. I pop that up and then just copy that to the clipboard and then paste it in a new file. I use TextMate as my editor, so a lot of times I'll use the format JavaScript function that's built into there to format nice and neat and tidy.
Starting point is 00:21:00 Most recently, I used it for another product. I guess you and Chris also partnered on, BaconFile. Yeah. Well, actually, BaconFile I made long before I knew Chris. Okay. Yeah, but he wrote a desktop app for BaconFile where you could drag files. So tell the folks what BaconFile is. So BaconFile is sort of my inspiration for it was I have a friend who has like just like an Apache server that displays files, you know, like it just shows a directory of files and you can browse it. And I thought that's great.
Starting point is 00:21:37 I want that. I want a way that I can just, you know, put my files up online and just be like, here you go. Get this thing from here here, sort of feel. And I found that there's not really any sites that sort of just allow me to throw random files at them. So the original intent for Bacon File was to be for anybody to just be able to upload any file they want. It showed like a nice directory and you could like browse the tree. But it ended up being, I had second thoughts because that sounded kind of costly, storing people's random files. So instead, I used Amazon S3 and said, if you have your own S3 account, which you pay for your own bandwidth and your own storage, then you can use this as a nice web interface to Amazon S3.
Starting point is 00:22:26 It's really neat. Recently, I wrote a wrapper for it, Chunky Bacon File. Oh, I saw that. That's great. Basically, it's a tutorial for writing your first gem or API wrapper in Ruby, and I couldn't resist. I was looking for a test case
Starting point is 00:22:42 when I came across Bacon File and why the lucky stiff is big in the Ruby community. I couldn't resist the I was looking for a test case when I came across BaconFile and why the lucky stiff is big in the Ruby community. I couldn't resist the name ChunkyBaconFile. Oh, that's so cute. Yeah, you know, I don't know how useful the app is for a lot of people, but I worked really hard on the API, so it's very exciting to see people use it. Thanks.
Starting point is 00:23:01 I really don't know it's not more popular. It's incredibly useful to just be able to add a file and tweet it to somebody and say, here, grab this. I think it's mostly the Amazon S3 component of it. I think in the original concept where you just can log in and upload as many files as you want, I think it would be a lot more popular. But the fact is you have to pay for your own files and you have to sort of manage your S3 account, which is a pain. Right. Finding those credentials is difficult even if you do have an S3 account, even to find those in the Amazon website of where my creds to even put in here. I know.
Starting point is 00:23:36 I wrote up a whole like step-by-step thing for Bacon File that's like, here's how you find your Amazon S3 credentials. You know, and so it's kind of a pain. But so one of the things I was thinking about doing this next year was open sourcing all of BaconFile since it doesn't make me any money and it doesn't cause anybody any harm. I thought it would be kind of fun to open that up.
Starting point is 00:23:57 Well, you've already done that with HurlIt, right? Because I was surprised to actually see the source and I don't know why it didn't dawn on me that being in the Rails Rumble that it would be available out there, but that's already out there, right? Yep, you have hurls available. You can download it. What I was hoping to do with it, or I think what Chris and I were both hoping would happen, would be that people that had APIs would sort of adopt it for API browsing on their own site.
Starting point is 00:24:23 But it's not really packaged very well for that. But I was hoping that maybe it could be. That's interesting. So to be able to run it, I guess, as a subcomponent of your API site to say, kind of like what Gowalla did with here's our methods and here's how you can kind of test it out in your browser, right? Yeah, exactly. And the inspiration, I think maybe I mentioned this,
Starting point is 00:24:42 it came from Netflix where they have that sort of browser already. Yeah, so let's talk about that for a second because, Adam, you can just hang out with two API junkies who are talking here. I'm taking notes. There you go. So basic authentication is built in to Hurl it, right? Yeah, the ability to just enter a username and password instead of it having to do the hashing.
Starting point is 00:25:08 Sure, what would it take to get OAuth integration? Because that tends to be a much harder problem to solve. I remember when I was writing the LinkedIn gem, I had to write my own stubs just to dump fixtures to test calls because OAuth does add some complexity. Oh, definitely. We thought about doing OAuth in time for the Rails Rumble. On Sunday afternoon, the last day of the Rumble,
Starting point is 00:25:29 we talked about adding it in, and I played around with a bunch of different... Well, I found a nice OAuth gem that I liked and wanted to use and played around with it a bit. But what it came down to was the UI was complicated. It's actually very complicated to set up all those steps in a way that's simple and easy enough for anybody to use. And I think I've seen there's a tool. There's a couple of tools for OAuth that are pretty nice.
Starting point is 00:25:58 I think Google has one that's pretty good, but I haven't really seen any that I thought were simple enough to be a really good web application. So a UI design, I think, is the answer. So let's talk about Six Apart. How long have you been at Six Apart now? Since December of last year. So what kind of endeavors is Six Apart doing in terms of open source? It's really cool. So the really cool thing that they've done
Starting point is 00:26:30 in the past year is actually a Django project called Motion, and it's on Six Apart's GitHub site, github.com slash sixapart. And it's actually called TypePad Motion. Yeah, TypePad Motion. And what it is, is it's a
Starting point is 00:26:50 community site, mostly aimed at sort of celebrities and, you know, groups, online groups. And you can go there and you can discuss things, you can post content and comment on that content. And it powers sites such as Paris Hilton's community site and Zachary Quinto from Star Trek. So it's pretty fun. It's interesting. It's a fun Django project, and it's all open source. And so if you wanted to use that, how would you go and get started with using it?
Starting point is 00:27:25 Just pick it up and you have to be a Django user or is there something that Sixpart does behind the scenes that helps them out? If you go to developer.typepad.com I can't believe I'm messing up my URLs
Starting point is 00:27:41 today. But there's step-by-step instructions in how you can get it installed and how you can get it running and how all the components work. It's pretty nice. Oh, it's running up on the App Engine. Yeah, they actually have it working on App Engine now, which was kind of their task for people who have been working on that for a little while, a couple people I know at Sixth Park.
Starting point is 00:28:04 That's pretty cool. It's pretty nice that they can strip it down, or it can be stripped down to work on App Engine and pretty cool. You mentioned earlier that you're no longer a developer at Sixth Part, you're more of a product manager, right? What was the transition like going
Starting point is 00:28:20 from more of behind the scenes making things work to sort of going to the different direction, to being product manager? Well, I've always really loved making... Product manager, sorry. I bet. I mess them up all the time. And in my mind, you do a little bit of both for everything anyways.
Starting point is 00:28:41 But I'd always been interested in making projects from the ground up and making them from scratch, which is one of the reasons that I love competitions like the Rails Rumble, is that you have this opportunity to sort of come up with an idea and see that from start to finish. And that's what I really love doing. I'm not so much just a developer as I am, I like to make whole projects. And so once I realized this and I realized I was at a large company where, you know, you are a developer or you're a product manager. Um, I wanted to have that be my more official title. Um, while I still did a little bit of development, um, not very much, I really like sort of coming up with new concepts and new projects. So it's different.
Starting point is 00:29:27 What projects are you leading right now? So let me see. None of my, oh, one of the projects I worked on has been released. Typekit integration with TypePad. So you can set up, so Typekit is a provider of fonts. So – That's the fonts under subscription, right? Yes. You subscribe and you can get fonts from renowned type designers, so actual real type designers. And you can put them on your website.
Starting point is 00:29:58 So I'm kind of hoping to see the death of Helvetica and Ariel in Times New Roman. All right. I'm excited to see new fonts on the web, right? It's kind of nice to see a little bit more variety. Every time I see a blog or a website and they use just a crazy typeface, I'm just super impressed. So what had happened was there was a hack made by Ben Trott, the founder of Six Apart, to add these custom fonts to TypePad blogs. So I helped sort of get that released, which was fun.
Starting point is 00:30:35 Were you involved with TypePad Micro? I know that was a recent release. Yeah, I started doing product management on TypePad. Well, formerly I'd worked on Motion, the Django open source project, and then switched to doing product management in part because I wanted to work on Micro. I think it's a really cool project. I really like the idea that you can sign up for TypePad for free, which is awesome. And it's really nice and simple and fun. Are you getting attacked by schoolchildren?
Starting point is 00:31:12 There's a school near my apartment, and my windows face the street. So I guess one thing you mentioned before was you realized that you had this big company to just sort of play in. What is it like to go from back in school playing with Java, dabbling in Python to build Pounce, and then you'd mentioned being acquired and what that process was like, but now you're this product manager who can just decide on anything
Starting point is 00:31:41 and play in this big company. What's that like now? What kind of freedom do you have there? It's all different. It's all a different process. I always love change and doing different things. And part of the fun of working at Sixth Part is getting to sort of play around with bigger projects, big sites like TypePad.
Starting point is 00:32:05 But at the same time, that also comes with a little bit of restriction. It's not like Pounce where I'd come up with something and it would be out the door the next day. It takes a little bit more. You have to spend a little more time thinking about your decisions because they impact a bigger audience. Do you get an opportunity to go and speak a lot at different conferences? I used to more than I do now.
Starting point is 00:32:31 I used to more than I do now. But, yeah, still occasionally on a wide variety of stuff, you know. It's kind of fun to have done everything from a startup to, you know, open specifications. So, you know, one conference I'll be talking about OAuth and another one I'll be talking about being a female entrepreneur. It's like two totally different things. I have a sort of maybe a controversial topic to ask you about. Would you consider being a female in this industry an asset or a liability? That's a good question, and it's both. It definitely is both. It's an asset because you're kind of a curiosity.
Starting point is 00:33:11 People want to know who you are and what you're doing. And if you can play that in the right way to sort of get attention to, you can promote worthwhile causes or sort of get to know a lot of people that you might not have gotten to know otherwise. But it also is a liability in that you really have to sort of go the extra mile to prove yourself in things that I think other people would consider men competent at right away. It's kind of, it's a little bit like a little bit of a prejudice and, you know, it's something I think we all have myself included well you've
Starting point is 00:33:47 got to admit that it's got to be great not having to stand in line for the restroom at conferences right yes and no i go to these women in tech conferences and it's like twice as bad but yeah no that's actually my secret was in college uh i would always use the restroom in the computer science building, whether I had a class there or not at that time of day, just because they were always clean and always empty. How did you get into computers? I hear the argument a lot that we need to get more young ladies into computer science. How did you get involved with programming?
Starting point is 00:34:21 We always had a computer in our home, and I was always kind of the ruler of the computer. I don't know if you guys were as well, but sort of the person that, that owned the family computer. Um, and I only have sisters, so it was pretty easy. And I'm the oldest, I'm the oldest of three girls. So it was easy to sort of, um, keep my sisters away from the computer when I wanted to use it selfishly. And I ended up making websites when I was in my teens because I thought it was fun. And I made like an Angel Fire site and a GeoCity site. That's awesome. Yeah, like HTML sites.
Starting point is 00:35:01 And I thought I was so cool because I'd have my own website and I'd show my friends and then my friends had their own websites and then they'd make their own websites. And then, you know, it was like, when you get bored of AIM, you'd start making websites, which I'm kind of sad that I don't know how that exists in any form today. Like if you wanted to make your own HTML CSS, I guess you maybe like spiff up your MySpace page. I don't know what the... Maybe Google Sites. That's probably the closest thing we have nowadays
Starting point is 00:35:30 because GeoCities is gone. Kids today. That's true, yeah. MySpace pages. As a father of two... Oh, what was that? Sorry. As a father of two, hopefully I've got two girls
Starting point is 00:35:41 that might fall on your footsteps. We'll see. My four-year-old, my oldest, has an old hand-me-down MacBook that I was so proud the other day she came in and asked me, did we just lose internet? Did you lose your Wi-Fi connection?
Starting point is 00:35:57 Exactly. Oh, funny. Yeah. You know, I think part of it is just encouraging creativity and exploration. You know, we poke around at computers all day and aren't afraid they're going to break. And I think that's a really valuable concept, you know, the idea that you can play around with something and really sort of push its limits. So we're at the point in the call where we ask what's on your open source radar.
Starting point is 00:36:25 So we want to know what's cool in open source out there for you that you're just dying to play with. Open source. I recently played with Node.js, building some sites, server-side JavaScript. It's kind of interesting. Both the concept of server-side JavaScript and event-driven programming, which I hadn't really done a lot of before. You don't know it, but you just kept the streak alive. I think that's 10 or 11 straight episodes.
Starting point is 00:36:52 Yeah. Yes! I think it's since episode four. Awesome. Well, it's sort of been like the most recent big project to sort of come out, so it doesn't surprise me too much. Um,
Starting point is 00:37:06 I'm trying to think of anything. There's a lot of stuff going on out there too, with that. We just, uh, we just got introduced to how to node.org. You want to check that out? Um,
Starting point is 00:37:16 two fellow listeners of the change log. I can never pronounce her name right, man, but if you, if you've got it, is it Mikkel? Yes. And Tim Caswell,
Starting point is 00:37:24 Tim Caswell. So they run this, they actually you've got it. Is it Mikel? Yes, and Tim Caswell? Tim Caswell. So they run this, they actually run this open blog, and what I mean by open blogging and if you can read this other blog post, we'll probably send you a link to, but they essentially just wrote this blogging engine in Node, and they put it on
Starting point is 00:37:39 GitHub, it's open source, so if you want to write an article, you just fork it, write your article, and send them a pull request. Interesting. That's kind of crazy. And then a good friend of ours and fellow listener of the changelog and I guess fellow designer, he's more of a SaaS and front-end kind of guy and works a lot at Compass. If you play in those worlds, I'm not sure if you touch that much in your projects. But he wrote a recent article about kind of open blogging in general, just taking the concept of a blog as source code, like Octopress or Jekyll or Staticmatic or something like that and sort of opening up the doors to anyone. Just fork it, write an article, and request.
Starting point is 00:38:24 Yeah, I'm not a lover of static blogs. I like the idea of guest authors and contributing posts, but I sort of feel like database-based blog posts were sort of... This is going to get me
Starting point is 00:38:41 in so much trouble, but I'm kind of a sucker for databases, despite the new trend. What's your favorite CMS? Because Adam and I are kicking around some ideas, and we'd love to hear your thoughts on the subject. You know, that's tough. It sort of depends on what you're looking to do with it. Well, I guess at Six Apart, you have to say that. Google Type?
Starting point is 00:39:04 I haven't looked at Google Type much at all. But TypePad actually is great for blogging, and I would recommend it. I mean, I switched my blog over to TypePad about six months after I started working at Six Apart. But part of the reason I did was I had been working on it for a while, and I had been using I had been using it, uh, to test things for, I wasn't actually working on type head at the time, but I had been playing around with it. And what I realized is like, why am I hosting my own blog? Like I have so many other projects that I work on. The last thing I want to do, and I was using WordPress at the time. The last thing I want to do is upgrade WordPress. That's like the last way that I want to spend my weekend. So I was like,
Starting point is 00:39:42 I'm just going to switch to a hosted blog and TypePad's there and it was great. I know that makes me not the best engineer, but sometimes you have to pick and choose which things you really want to spend your time hacking on in your weekends. So what is it with the database? What do you miss if you go static? What is it that ties you back to the database? The ability to easily edit posts, I guess, from like a UI. Like I'm someone who just wants to, when I'm coding, I'm coding.
Starting point is 00:40:16 When I'm blogging, I'm blogging. I don't want to like go into my own blogging application and notice a bug and then want to fix that when really I should be writing a blog post, you know. Ah, I know. So. Ah, I see. Okay. Yeah. So the thing with us, the reason why we were looking at the concept was because I use WordPress to publish this website for the Web 2.0 show,
Starting point is 00:40:38 which is another podcast I run. And so I use WordPress. So I tend to just write all my posts in TextMate and save the file locally. And it might be in HTML or whatever I'm writing it in. Then I copy and I paste into WordPress. I don't actually do a lot of drafting inside the UI itself. Do you write them in HTML? Do you write your blog posts in HTML?
Starting point is 00:40:58 I think WordPress actually uses out-of-the-box WordPress. I'm pretty sure it just supports HTML in there. So that's the only real option you have. I love Markdown Markdown's probably my favorite. I like Markdown too but I think that it requires a plugin and I've just been lazy. I just didn't put a plugin.
Starting point is 00:41:15 You know I write HTML so fast that I almost prefer to just do everything in HTML. Speaking of HTML have you played much with Haml at all? No actually I have not, and so I prefer to stay out of that argument. Anything else on your radar?
Starting point is 00:41:34 Oh, anything else? Oh, geez, you guys caught me unprepared. I would have prepared a list of stuff. Anything in the NoSQL space got you excited? And JavaScript on the server is big, so is NoSQL right now. You know, I've tried almost every NoSQL option out there and i can't say everyone but i've used uh coach db mongo and redis and every time i'm just crying to get back to sequel um for some you know i'm one of these people that i like the niceties. You know, I like the stuff that's been added on. I feel like it's such a new space that the tools really aren't quite there yet for everything that you want to do.
Starting point is 00:42:16 Anyways, that's horrible. It's going to get me in so much trouble. Everyone's entitled to their own opinion, of course, right? Yeah, definitely, definitely. It's the first time I've really shared my horrible opinions on NoSQL. But, I mean, it's an exciting space. I mean, for BaconFile, BaconFile uses CouchDB as the main storage engine, which is good and bad. It's great because it works really well for BaconFile, the concept of documents,
Starting point is 00:42:44 because it literally is documents that you're storing, even though it's not quite the same type of document. But you're storing a bunch of metadata about one object. So you really are, it sort of fits the paradigm well. And with Hurl, we used Redis, which sort of worked well because we had very small amount of information to store and very you know very specific so i don't know they have their place and i'll keep trying them out but i'm not quite maybe i'm just not in love with one yet so what was that we talked about last night uh when it was react react react there you go i pronounced it incorrectly every time it's spelled r-i-a-k right r-i-a-k yeah and so that's like an open source and a commercial version of
Starting point is 00:43:28 a NoSQL type of solution. Have you played with that one? No, I have not. Wow. I'm surprised. There's lots of, yeah. Yeah, no, it looks pretty cool. Well, you just have to be a better listener of the changelog. You'd be on the up and up if you'd like to be on open source. I mean, it moves fast.
Starting point is 00:43:46 We hope you keep up. Yeah, you're right. You're totally right. I should keep up a little bit better. Vince chuckled at my plug, my shameless plug of our tagline. Our tagline is open source moves fast. Keep up. It is very true.
Starting point is 00:44:03 And I hate to admit that I fall behind a little bit sometimes. But what I sort of like to do is I'm very much like a product person. I can't really just play around with the latest technology without building something. So that's my horrible vice is I love to build projects. And in that process, I end up using new technologies, but I'm not one to go seek them out and play with them necessarily without strong reason. Well, it was actually quite a pleasure to sit down and chat with you. You have such a deep past, and like you said, you've gone from the startup space to working at Sixpart and doing all the cool stuff you guys are doing there. So you've kind of run the full gamut.
Starting point is 00:44:47 You've worked with Kevin Rose. You've worked with Daniel Berger. You've been to the hot parties, and you've been behind the scenes too. So it's really cool to have the chance to have this chat with you. We appreciate you coming on the show. Yeah, thanks so much for having me, you guys.
Starting point is 00:45:03 I know I'm not the typical open source project developer, but I really love some of the new projects that are coming out, and I'm excited to find out more, so I guess I'll have to keep up with you guys a little better. Yeah, for sure. Yeah, thanks. No problem.
Starting point is 00:45:24 Thank you for listening to this edition of The Change Log. 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. Outro Music

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