GNU MediaGoblin

By Christine Lemmer-Webber on Thu 05 May 2011

I'm going to keep this brief. Or rather, the original content brief. We've launched a project called GNU MediaGoblin (yes, it's an official GNU project) which is going to save the internet from media hosting homogenization.

Well, hopefully! It all depends on how well we can organize ourselves, work hard, and organize our contributors. Anyway, read the announcement post. Sound interesting? We could use your help.

Here's some more info:

So far I've spent the last month putting down infrastructure, but we just announced the project this week and are getting a lot of interest. The founding team is a pretty solid group of people I think, and we've got a number of people interested in contributing. Again, we could use more. This weekend I'll spend a bit of time making it easier to get involved.

Lastly, here's our mascot goblin:

MediaGoblin logo

I think he's pretty cute. By the way, if you contribute to the project and do a copyright assignment to the FSF, I will probably make a cool unique goblin dedicated to you. Copyright assignment on this project is not mandatory, unless you want the goblin. :)

Since announcing on Monday we're already starting to get quite a bit of press. See:


... and since I had an interview last night, more is coming. I'm kind of stunned, honestly. I want to say "not bad for a project that just announced itself this week" but that understates the amount of surprise I have here. We've got some cool people jumping on the project (we could use more!), a fair amount of infrastructure for a project that's just barely launching, and a lot to organize. You can check out and run the code and there isn't a lot there from a user perspective (a lot more from a dev perspective) but hopefully soon we will be so beautiful you just won't be able to resist. We're still kind of running on hopes and dreams here, and hopefully those hopes and dreams can become true. It'll be a lot of hard work, but I think we can do it. At the very least, we need to try!

Comment on this post on identi.ca!

Me, elsewhere on the internet

By Christine Lemmer-Webber on Thu 05 May 2011

I have a huge backlog of blog entries I've been meaning to write about interesting things I've done recently, but haven't written because I often feel like I should be doing interesting things instead of just writing about them. Luckily most of the things I've done online recently have some sort of interesting web presence, so I'm just going to link to a bunch of them and call it a day:

First, conference stuff:

Next, even though I've been mostly silent here, I haven't been at work (well, I should be doing more work blogging, but anyway). On the main Creative Commons blog I've written the following:

That last one (the plaintext legalcode) was actually a side effect of something even more exciting: Using CC0 for public domain software, and CC0 compatibility with the GPL. I didn't write this blogpost (Mike Linksvayer did) but I was heavily involved in this process. For about half a year we had on and off conversations with the FSF (particularly Brett Smith) about GPL compatibility. At this point there had been nothing clearly marked about CC0's acceptability for software or whether its fallback license was GPL compatible, and for a tool that's all about internationalizing the public domain this seemed completely crazy (well to me, anyway). I made the assertion that getting CC0 on the FSF's free software licenses list and being noted for GPL compatibility would be the gold standard, and I am very happy that this is exactly what we achieved. Honestly, keeping the website running, maintaining our tools, etc is pretty great, but I think this may be one of the most important achievements I've made while working at Creative Commons. (As a side note, I think this means maybe that CC0 is now the only legal option for something that is simultaneously both free culture and free software (like some game assets) without dual licensing?)

I've also written up some more technical posts on CC Labs:

I've also been doing quite a bit of work on Tube doing python scripting and the like. I'd like to write more on this soon. Maybe I'll guestblog over there eventually.

Oh, and of course, even though I'm usually silent here, I am in no way silent on my identi.ca microblog.

That's all for now, or rather, all I'm going to bother to post. There's actually something much more exciting I'd like to mention, but I'll do that in the next post.

Update: There's another reason I haven't posted much. A while ago I switched my blog over to Zine and thought it was a great move because at least I wouldn't be maintaining my own blog software anymore. But Zine is now also unmaintained, and I haven't set up any sort of spam filtering system, which means at any time I have about 1000 unfiltered mostly spam comments to go through, and every time I think about blogging I get exhausted thinking about filtering through those comments. I had a crappy accessibility-breaking captcha on my old blog, but at least it worked. Until I figure out a better solution, and frankly I'm too busy to probably do that immediately, I've taken a tip from Bradley Kuhn's blog and am just going to use StatusNet's great comment threading as my comment thread. :) If you want to comment, you'll have to use something OStatus enabled. For now.

Comment on this post on identi.ca!

Gonna speak on Blender at PyCon 2011

By Christine Lemmer-Webber on Sat 19 February 2011

Are you going to (the US) PyCon this year? I am! And I'm pretty excited about it, since I will also be presenting on Blender's new Python API!

The talk lineup looks really great this year. If you're planning to go, and you read this, maybe consider contacting me; maybe we could say hello, potentially having one or more interesting conversations!

Urinal model

By Christine Lemmer-Webber on Tue 15 February 2011

In December Rob Myers contacted me about a commision of making a urinal in Blender as CC BY-SA 3.0. He wanted to get it 3d printed via Shapeways, etc. I agreed to it with moderate enthusiasm. Most of the things I do are more gobliny or monsterish. But, I figured, Rob Myers is such an awesome free culture advocate and a good friend, it would be a challenge to do something different, and that it would be pretty awesome to see a model of mine 3d printed. Besides, how long could an object that looked so simple take?

Well it ended up taking about 5 times longer than I expected. But the results, I thought, were pretty good:

urinal render

As usual, I neglected blogging about cool things once I'd done them, but Rob Myers pushed it all over the place. First a post on his blog called Freeing Art History: Urinal. Then he uploaded it to Thingiverse and... super cool... BotFarm (from the MakerBot people!) printed one. It looks super cool. Click that last link. Click it!

But last, and most awesomely, Rob got his Shapeways urinal print, which looks super awesome. And guess what? BoingBoing picked it up! Holy cow, I'm on BoingBoing!

Anyway, the urinal.blend is available if you want to open it in Blender (also CC BY-SA 3.0 Unported licensed). Hopefully you can have fun using it (digitally or physically)! I also have some renders from alternate angles up if you want to look at those.

Anyway, sometimes when I do things, I think "maybe I should blog about or promote these things". But then I feel like they aren't that impressive, don't matter too much, and sometimes I lose enthusiasm for putting them out there (which is somewhat ironic since a good portion of my life is about encouraging other people to put things out there in a free-as-in-freedom manner). I guess maybe the biggest thing I've learned from this is that maybe I should be more confident and enthused about showing the cool things I've done. Thanks Rob, for giving me an opportunity to learn that. :)

PS: I mentioned that most of my 3d modeling involves monsters, spaceships, robots, etc, and that here was an excuse to do something different. But that didn't stop me from making a spaceshipified version. :)

Emacs appointment notifications via XMPP

By Christine Lemmer-Webber on Sun 21 November 2010

Since I've started using Emacs' appointment notifications with orgmode, I've wished that I could get notifications via XMPP. I think it's the most sensible system to use; I have it running on both my desktop, my phone, and my laptop, and the whole issue of "figuring out which device to send this notification to" has already been evaluated and solved by the XMPP community long long ago (back when everyone called XMPP Jabber, even ;)).

I initially thought I'd use a SleekXMPP bot connected to emacs via D-Bus, but then I decided that maybe I would eventually want to add more commands to this that integrated more closely with emacs, so maybe I should use emacs lisp directly. I had heard of Jabber.el but thought that it was mainly aimed at users who want a client, and that writing a bot in it would end up cluttering up my emacs with extra UI stuff I don't want. Then I was pointed at Steersman.el, and that seemed like a cleanly written bot, so I decided to give it a shot.

I was running a newer version of JabberEl than the copy of Steersman's code I looked at, so it took a little bit to figure out how to adjust for the multi-account code, but once I did that the implementation happened fairly quickly. Here's the relevant code:

;; Copyright (C) 2010  Chris Lemmer-Webber

;; This program is free software; you can redistribute it and/or modify
;; it under the terms of the GNU General Public License as published by
;; the Free Software Foundation; either version 3, or (at your option)
;; any later version.
;;
;; This program is distributed in the hope that it will be useful,
;; but WITHOUT ANY WARRANTY; without even the implied warranty of
;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
;; GNU General Public License for more details.

(require 'jabber)

(load-file "~/.emacs.d/emacs-jabberbot-login.el")

(defun botler->appt-message-me (min-to-app new-time appt-msg)
  "Message me about an upcoming appointment."
  (let ((message-body
         (format "Appointment %s: %s%s"
           (if (string-equal "0" min-to-app) "now"
             (format "in %s minute%s" min-to-app
                     (if (string-equal "1" min-to-app) "" "s")))
           new-time appt-msg)))
    (jabber-send-sexp
     (jabber-find-connection "thisbot@example.org")
     `(message ((to . "sendto@example.org")
                (type . "normal"))
                (body () ,message-body)))))

; I don't care when people come online to my bot's roster.
(setq jabber-alert-presence-hooks nil)

(setq appt-display-format 'window)
(setq appt-disp-window-function 'botler->appt-message-me)
(setq appt-delete-window-function (lambda ()))

Adjust "thisbot@example.org" with your bot's JID and "sendto@example.org" with who you want to send messages to. You can replace emacs-jabber-bot-login.el with whatevever you want to login with, but you probably want to setq jabber-account-list and then run (jabber-connect-all). Note that if you're connecting with a self-signed cert with Jabber.el you'll need to do:

(setq starttls-extra-arguments '("--insecure"))
(setq starttls-use-gnutls t)

I haven't yet figured how to whitelist my own self-signed cert yet, and passing in --insecure makes me feel like a monster, but it works for now. Maybe it's about time I finally got my ssl cert signed for dustycloud.org.

Anyway! It works, and I've been successfully getting appointment messages from my emacs session over IM for the last week, and it's pretty great. Next up, configuring things so that I can retrieve my agenda over IM when I request it and be able to IM myself new tasks and events.

Moved to teh Deklabbs (DeKalb)

By Christine Lemmer-Webber on Sat 11 September 2010

About a month ago Morgan and I left our wonderful apartment in Andersonville, Chicago, IL and moved most of our things to our new apartment in DeKalb, IL (or as my friend Miles calls it, "the Deklabbs", a nonsense name that's just silly enough to stick). Morgan has started a graduate studies and teaching assistanceship program at Northern Illinois University, and since I telecommute, there was no real reason not to make the move. Meanwhile my good friend Lunpa is currently moving into our old apartment in Andersonville. Oh Andersonville, I miss you.

The Dekalbbs aren't too bad of a place to live. It's a small college town, has a nice food co-op, etc etc. Except that I really don't know much of anyone. I've only found one other person in the area who is interested in programming and free software, and it's unclear if I can attend the university GLUG except as a presenter. In Chicago, my group of friends (aside from people I met at college and work) WAS the free software community.

Which all and all means I'll probably be back now and then to attend usergroups. After all, teh Deklabbs is only about two hours away from Chicago, and I have several friends who have offered me couch-space if I need somewhere to crash. Chicago, you haven't gotten rid of me quite yet.

Overall, DeKalb is not bad so far. It's a small, quiet, beautiful town, not too far from Chicago... oh and the rent is cheap. The rent is so cheap.

Vegan Strawberry Vanilla Rose Black Tea Shortbread Cookies

By Christine Lemmer-Webber on Fri 25 June 2010

I've never foodblogged before, but today I am compelled to start. For today is Morgan's 25th birthday, and in honor of that I've created something so delicious it must be shared with the world. Behold:

Vegan strawberry vanilla rose black tea cookies

Morgan's favorite tea is Celestial Seasoning's Vanilla Strawberry Rose Ceylon Black Tea. Also, Morgan alleges that her "favorite food group is cookies". (I'm pretty sure she's confused, as last time I'd checked cookies weren't a food group, but I guess I won't argue the point on her birthday.) I figured that a good gift this year would be to combine her two favorite tea with her favorite, *ahem*, food group. The result? Strawberry vanilla rose black tea cookies!

I adapted the recipe from the recipe for shortbread cookies from the excellent Vegan Cookies Invade Your Cookie Jar's shortbread cookie recipe (so yes, these cookies are vegan too). I'm actually no good at baking, but these came out perfect, even despite the fact that I accidentally spilled a little bit of water into the dough (I had to bake them for a few minutes longer and I added about two tablespoons more flour to the mix, but they turned out just fine). I'm going to assume you aren't going to spill water into your cookies, so here's the recipe without that detail. (A good portion of the text is from VCIYCJ, which is a good book so far and is really what makes the recipe so awesome and idiot-proof.)

Strawberry Vanilla Rose Black Tea Cookies

Ingredients:

  • 1 cup non-hydrogenated margarine, slightly softened
  • 2/3 cup sugar
  • 1 teaspoon pure vanilla extract
  • 1 1/2 teaspoons rose water
  • 2 cups all-purpose flour
  • 1/3 cup cornstarch
  • 1/4 cup dried strawberries, chopped, plus a dozen or so whole ones for decorating
  • 1/4 cup loose black Ceylon tea (or 1/3 cup if you want a stronger tea flavor)

Instructions:

  1. Preheat oven to 350°F. Lightly grease a large cookie sheet.
  2. In a small bowl, sift together flour and cornstarch. Set aside.
  3. In a spice mill or small coffee grinder, grind the tea until it becomes a fine powder.
  4. In a large bowl, beat the margarine and sugar together with an electric beater or even a standing electric mixer. Scrape the sides of the bowl frequently with a rubber spatula and beat the mixture until very light and creamy, about 5 minutes. Stir in the vanilla and rose water.
  5. Add half of the sifted flour and cornstarch to the beaten margarine mixture, using the rubber spatula to fold in the flour first so that it doesn't fly all over the place when using the mixer beaters. Beat until mostly combined, then add the rest of the flour mixture along with the tea powder and chopped strawberries, using the spatula as before. Continue to stir until all the flour and cornstarch are absorbed and dough is crumbly yet soft and moist.
  6. Knead dough together with hands for about one minute. Roll golf ball sized portions of the dough in your hands. Put a whole strawberry on top of each and press gently with your hand onto the greased cookie sheet.
  7. Bake for about 10-14 minutes, until the shortbread begins to puff and the edges begin to turn a golden color.
  8. Remove from oven and allow to cool on cookie sheet for about 5 minutes. Then use a spatula to transfer cookies to cooling rack to complete the cooling process.

And you're done! Delicious cookies await!

Patent Absurdity

By Christine Lemmer-Webber on Sun 13 June 2010

So, it's a bit strange writing about this since the film I'm about to talk about has been out for two months. I'm talking about Patent Absurdity, directed by Luca Lucarni, sponsored by the Free Software Foundation and with animations by... me!

Actually, it's kind of surprising that I haven't written about this sooner, considering the first several months of the year this is mostly what I did in my non-work hours. Unfortunately I sustained a wrist injury right around the release that stopped me from doing any typing outside of work hours up until just a couple of weeks ago (it's healing but I still need to wear braces). Anyway, that's a separate story, probably worth its own post.

The film gives what I think is a really solid and enjoyable to watch introduction to what software patents are, their history, and the dangers they pose to the entire software ecosystem. It elicited a very positive response when released at Libre Planet 2010, and everyone I know who has watched to it has spoken highly of it. It could be that sample's response has to do with the type of people I tend to associate with, but anyway... I'm convinced that it's a good and fairly accessible film (accessibility being something something that these kinds of productions don't always end up being).

So there actually four types of animations in the film. There are some very simple graph animations, a moving timeline of software patent history, a "wargames"-type animation (what's featured on that poster there), and an ending sequence that I won't spoil here. Of all of these the wargames sequence seemed to elicit the strongest reaction from people, which is good because that's also the piece that involved the most effort. All of the animations involved Inkscape and Blender in some form, but the wargames animation also made use of Blender's new Python API, which is awesome.

In fact, just this thursday I gave a talk on Blender and Python in Patent Absurdity at ChiPy. (Thanks to Carl Karsten for doing awesome video recording, as usual. :)) Giving a talk on the Python API in Blender at ChiPy is something I've wanted to do for a couple of years, so it was great to finally do it. And the audience reaction was very positive. As you can see in the video, there were a lot of questions, and I got a lot of positive feedback (and even more questions) after the talk ended. Suffice to say I'm rather happy with things.

Oh yeah, and I've also released the Patent Absurdity animation sources along with a full README (HTML export here). While Patent Absurdity is released as CC BY-ND 3.0, I've released all the data (including the Blender and Inkscape files) for the animations as free culture under CC BY-SA 3.0 and the Python files as free software under the GNU GPLv3. So in case you wanted to see how those things work, you are fully free to modify, distribute and tinker with them... free as in freedom. :)

1st year anniversary (and an upcoming move)

By Christine Lemmer-Webber on Mon 31 May 2010

Yesterday was Morgan and I's first year anniversary. One year ago, we were married.

Not much more to say I guess. Being married isn't much different than living together before marriage, except that now it's clearer that we're in this together for the long haul.

As evidence to that sort of thing... a little over a year ago I mentioned that we may be moving. It's no longer a "may be moving" thing... I'm happy to say that Morgan got into grad school at Northern Illinois University, so we're moving to DeKalb, Illinois. There are a lot of things I'm going to miss about Chicago, most especially my friends and the marvelous tech scene here (marvelous enough that almost all of my friends in Chicago are part of the tech scene here). But no need to get terribly weepy-eyed... I'll actually be back fairly frequently for usergroup meetings and the like. Plus, there are a few things to look forward to in DeKalb... like really, really cheap rent.

Here's to many more happy years to come. :)

Switched blog to Zine

By Christine Lemmer-Webber on Mon 31 May 2010

So I just switched this entire blog over to Zine. I'm pretty excited about the move... I've spent a good chunk of time reading through Zine's guts, and I've liked what I've seen so far. The code is clean, the plugin system looks pretty nice, and it was really easy to move my data over.

Prior to this I'd been running my own homerolled blog on here. Nothing fancy, just your bare-bones Django blog. When I originally wrote that thing I had just redesigned Dustycloud.org to be a kind of more permanent home to my projects, and I knew I needed a blog. At that point, I couldn't find anything else that seemed like the kind of thing I wanted and was also written in Python and Django (at that point, I wanted this entire site to be Django-only). Well, time has passed, and I'm running and writing framework-free or not-necessarily-Django WSGI applications, and it turns out there is a blogging system that really truly resembles the kind of system I want, so I've made that switch. Aside from having generally nice looking internals, Zine uses Jinja2 for templating (my favorite templating system!) and permits reStructured Text based posts (which is what most of the posts in my old blog used). Anyway, it only took me a couple of hours to move both my data and templates over. It feels nice to know that if I put effort into making a bugfix or enhancement, that bugfix or enhancement could affect more users than just me.

Anyway, apparently I overlooked one thing in the transition... if your RSS reader shows all my posts as new again, that's why. Also, the proper feed link is no longer /blog/feed/ but rather /blog/feed.atom, so consider updating your links. I've added a redirect, so if you don't it shouldn't be a problem, but it's nice to use the *correct* link.

Edit: Sorry especially for the spamming caused by the switch of permalinks, planets. :(