Our dearest user community, we are happy to announce that a traditional About screen contest has started at DeviantArt as a part of preparations for releasing 0.48 in few months. There is no particular theme this time, so you are entirely free in your choice. Draw freely, as it were ;-) Please read details in the DeviantArt announcement and note that the deadline for your art submission is April 15. The community judging period will be from April 16 to April 22, and the TOP3 will be turned over to the developers for their final decision. Rock on!
Inkscape
Jon Cruz
The last three months have been a bit crazy, with far too much "real life" hitting us upside the head. Things have finally settled in a bit so that I'll be able to get my head above water and surface again. Aside from diving head first at the new day job and surviving the holidays, much had happened in the tech world.
I still haven't had time to finish my writeup of SVG Open (partly since I accepted the new day job while I was attending it up in Mountain View). Then there was the Google Summer of Code Mentors' summit. Great things happened there. Then I had to prep for our visit to New Zealand as co-organizer for a Libre Graphics Day miniconf and as a speaker at the main linux.conf.au. Then we had SCALE8x come 'round where I presented yet another talk and then also run the Inkscape booth on the show floor. Toss in getting a new tech (adaptive UI) going, starting a new project with other CREATE guys, and doing battle across the board to help get proper CMYK support out for end users everywhere.
Whew!
On top of all that was work for Inkscape and trying to get new features solid for the next release, 0.48. Thankfully I was able to squeeze the time in to finish up the basic support and UI for per-document color/swatch palettes.
This allows for basic colors to be stored as a set in a given document, but also for gradients to be included in that. One big thing that inclusion accomplishes is breaking down the artificial barriers software engineers have imposed on artists for far too long. Assets had been artificially separated by their *implementation*, without regard for how artists actually are used to working. This also enabled many workflow enhancements including making art recoloring easier, indicating which swatches are in use on the selected object, etc.
Work on the new input devices dialog also came through. Aside from more end users getting their hands on tablets and such, we had a push in that the ugly outdated GTK+ dialog is being removed. And just in the nick of time we had Krzysztof step up and investigate some of the win32 tablet bugs and get some insight on the problem with Aiptek and others showing up with broken names. I was able to help refine the fixups there wile getting them set to be reimplemented in the new dialog.
And then there is the basic work on adaptive UI. This is a very promising area, and is just beginning to show the tip of the iceberg. I'm implementing internals based in part on Michael Terry's work with INGIMP he has presented at LGM. Though 0.48 will only expose a tiny bit of what can go on, the support in Inkscape will give it some very useful functionality in even the near term. We're looking at only giving 0.48 a few set layout modes, but with some handy logic behind the scenes to assist users getting what they need without having to think as much.
Unfortunately, though, we were unable to find time to work in support for Wii remotes, joysticks, and the SpaceNavigator someone at LCA lent me. We are on track to get more in, and 0.49 might even see some of that. Some of this (like using guitar game controllers) might sound a bit silly. However there are some very interesting ways these can be worked in and give Inkscape some nice functionality for average users. And, of course, more hardware toys always makes the geeks happier.
Jon Phillips
Our panel rocked! Check out the #copyrightatweet hashtag and I’m sure there will be video online soon.
Fred and I talked about how our panel actually is a good writing and/or definitive guide on the topic. We hopefully will get something further pulled together from our panel. Cheers!
Here are Fred’s slides:
And, the always awesome, Wendy Seltzer’s slides:
Gail Carmichael
I'm working on a design for a card game that incorporates a mobile device into the game play. It's for my game design class final project, which is intended to have us solve a design problem of our choosing. I believe creating a hybrid card game is a great problem, since incorporating something like an iPhone would take a lot of careful thought to avoid creating something cheesy, forced, or just plain boring.
(I have to give credit to my husband and fellow computer scientist, Andrew, who first suggested this idea for my project.)
I think there are a few different ways to make good use of a mobile device in a card game. The key is to take full advantage of the extra computing power, and do something that would not be possible on paper, or with the state that can be represented and actions taken with the cards. One possibility is to simulate a complicated process that would be affected by the cards employed by players, or storing a more complex player or game state than would be possible otherwise. The computer might give a player some special ability while they hold onto it, such as being able to investigate hidden data. The computer might also be used to provide more interesting visual feedback to the player, such as through augmented reality, though this risks being superficial.
When I started brainstorming game concepts, the most compelling idea was to have a creature live on the computer:
This would allow for more complex behaviour and action results related to the creatures, where the goals and the allowable actions would still be defined by the cards. Another interesting aspect of having the creatures not available each turn is that some actions might allow you to gain access to the computer when you aren't normally supposed to (thus interrupting another person's access). Players will also not be able to have the entire state of their place in the game placed in front of them, as would be the case if everything were represented by cards alone.I've come up with a few possible stories to base my game on using this idea. My favourite involves geneticists:
Players are scientists vying to win the top prize in genetics. They each want to develop the "best" creature in order to claim the glory. The "best" is determined by each creature's performance in a final challenge at the end of the game. The challenge is chosen by the scientist, and can change throughout the game (though not often). In this way, players must try to guess what final challenges the others are preparing their creature for; they might want to adjust their strategy accordingly, or try to sabotage their opponents' plans.I'm quite excited about hammering out the details of the game in the next couple of weeks. I intend to design my own cards and eventually implement the game for the iPhone. I would love to hear what you think of the concept, and if you have any other neat ideas that would work well with it!
To prepare their creatures for the final challenge, players will have several options, depending on the cards they are dealt. One possible way to do this will be through mini-challenges with other players. For instance, if one player wanted to increase their creature's intelligence, they might have it duel with another player in a trivia challenge (and hope to choose a player that has a less smart creature). Other cards may allow them to boost one characteristic at the expense of another, and so on. What players can do will be partially determined by the luck of the draw. It may also be interesting to incorporate some resources, like money, political capital, and so on, and outside adversaries such as PETA might also be possible.
Gail Carmichael
Imagine what you would be able to come up with if you were not afraid of making mistakes. Think of the creative results you might see when getting it wrong the first time bore no consequence. I don't know about you, but I'd be excited to see what I could do!
I think the traditional model of education stifles our creativity sometimes. Since we so often feel we have to get it right the first time, or else risk a lower grade if something goes wrong, we work more conservatively. But it doesn't have to be this way.
On Monday, I co-presented a TA Mentor workshop with friend and fellow PhD student Terri Oda called "Help! Nobody Understands My Lecture!" I spoke first about what I learned from Tim Pychyl's seminar on lighting the fire for learning. One of Tim's suggestions for fostering the skill and the will of students was to introduce students to the ability to self-monitor their goals. Students should be given moderate challenges with high expectations, be guided as they meet these challenges, but also be taught how to evaluate their own work as they go.
This idea reminded me of a book I recently started reading: Ken Bain's What the Best College Teachers Do. One of the topics I bookmarked for later was the idea of giving students the opportunity to evaluate their work (or have it evaluated by others) before receiving a grade. I think this is strongly related to Tim's idea.
I've seen this model work very well in practice. For example, I took a data structures class last semester, where three assignments were given. The professor used a very specific testing script that we couldn't see while writing our code, and if we didn't happen to try one of his test cases and it ended up failing, our grade would be pretty low as a result. But instead of leaving it that way, he gave us the opportunity to fix our code so the test script worked again. We were allowed to resubmit our assignments until the last day of class. This was amazing -- code I never would have looked back on I now revisited to fix my mistakes, doubling what I learned from the assignments.
This idea should work well in other computer science classes, too. Perhaps students could be encouraged to review each others' written problems before getting them graded. Or industry-like code reviews could be arranged. Or just look at how well the conference-style paper reviewing worked for the open source class I'm taking right now.
I'm going to continue thinking about how I can make my students less afraid to make mistakes, and see if I can test out my ideas in the intro to computers class I'm teaching to arts students this summer.
Kees Cook
I realize the openssl s_client tool tries to be upper-layer protocol agnostic, but doesn’t everything that uses SSL do commonName checking (HTTP, SMTP, IMAP, FTP, POP, XMPP)? Shouldn’t this be something openssl s_client does by default, maybe with an option to turn it off for less common situations?
Here it doesn’t complain about connecting to “outflux.net” when the cert has a CN for “www.outflux.net”:
echo QUIT | openssl s_client -CApath /etc/ssl/certs \ -connect outflux.net:443 2>/dev/null | egrep "subject=|Verify"
subject=/CN=www.outflux.net
Verify return code: 0 (ok)
Kees Cook
I don’t like unconditionally clearing /tmp on boot, since I’m invariably working on something in there when my system locks up. But I do like /tmp getting cleaned up from time to time. As a compromise, I’ve set TMPTIME=7 in /etc/default/rcS so that only stuff older than 7 days is deleted when I reboot.
Gail Carmichael
Our Open Source Engineering class is a little different from most here at Carleton's School of Computer Science. The professor wants to give students an opportunity to practice their communication skills not only via the standard in-class presentation, but also with many group discussions on topics related to open source. The most interesting part of the course, however, is the conference-style reviewing we do of our own papers.
Our project this semester was to design a fingerprint format for open source software. These fingerprints need to represent a JAR file well enough to be compared with fingerprints from other JAR files, yet be as compact as possible. Such fingerprints could then be created for common open source projects, and used to detect inappropriate inclusion into other software.
We had to finish our implementations a couple of weeks ago, and then write a conference-style paper about them for the following week. In last night's class, we reviewed three papers (with more to be looked at in the following weeks). One student acted as a moderator, and another as a summarizer. A third student took notes. The moderator had the paper's authors read one paragraph after the summarizer introduced it, then asked for positive comments on the structure and format of the paper. This was followed by negative comments on structure, and finally positive and negative comments on content. The authors were forbidden to speak during the comments, since in a real review they wouldn't even be present.
I was really impressed with how well this process went. We were very good at pointing out the good things in the papers, and provided insightful suggestions for improvement. I honestly didn't expect this level of quality. The whole idea of paper reviewing will not only result in much better papers at the end of the term, but give a good taste of the conference world. Since many of the students in the class are at the undergraduate or Masters level, it could even lead to a better chance of success for their first real paper submissions.
I would definitely recommend this kind of activity for any grad course, though I might also include a bit of an introduction on how to effectively read research papers; I noticed that many of the students' papers did not include a sufficient background section.
Jon Phillips
Today marks the official launch of the StatusNet Cloud Service (SCS) Beta.
SCS allows anyone to quickly and easily generate a status update site at status.net. Users have three types of plans to choose from, when setting up: single-user, community, or private. The recent StatusNet 0.9 server software release has provided the basis for this public Beta. Fabricatorz.com was involved in the development of StatusNet Cloud Service
More than 10,000 organizations rely on StatusNet’s software as their social networking solution, including software giant Mozilla, NBA competitors Sacramento Kings, and Creative Commons.
Creative Commons Vice President, Mike Linksvayer, says:
StatusNet has filled a communications gap for Creative Commons that we didn’t know we had. With a team distributed by time zone, travel, expertise, and use of various communications methods (email overload, IM, IRC, phone), StatusNet is accessible and usable by the whole staff and has become an invaluable tool for keeping us all in sync.
To learn more about how the StatusNet Cloud Service can help you, read the Official Press Release.
Kees Cook
I’ve finally soldered on the LEDs for the Cylon DorkShield I designed and got built in a recent DorkBotPDX PCB run. I’m having trouble with the programmer, but I got the shield mostly working:

Jon Phillips
The Open Clip Art Library has grown, from humble beginnings in early 2004, into a massive collection of over 24,000 scalable vector images, all created by 1200+ artists from around the world.
OCAL is a powerful platform, through which, all work uploaded to the site is dedicated to the public through Creative Commons’ “Public Domain Dedication”. This means that anyone can download and use the entire SVG library for any purpose, including both free and commercial works!
OCAL now boasts an easily navigable collection, made possible by new thumbnail previews. It has now become much easier to search and download clip art that suits any situation. The new site layout includes an updated theme, from Andy Fitzsimon, that emphasizes user interaction by placing more importance on the portal to upload created work, as well as displaying selections from the ever-growing collection.
Behind the scenes, members of Fabricatorz, including, among others, Bassel Safadi, Michi, Ronaldo Barbachano, and Brad Phillips, have helped push The Open Clip Art Library onto the Aiki Framework. This new PHP + MYSQL platform allows programmers to easily create and work with content management systems from the web.
Please help support the new Open Clip Art site launch by registering (if you haven’t already) and uploading artwork of your own!.
Read the entire Announcement 2.0 here and at the Fabricatorz post.
Gail Carmichael
I might be very well the first person to request to teach COMP 1001. That's the course that arts and social science students take to get the hang of computers and applications they might need in their program. From Carleton's undergraduate calendar:
COMP 1001 [0.5 credit]
Introduction to Computers for the Arts and Social Sciences
This course is intended to give students in the arts and social sciences a working knowledge of computers and their applications; computer fundamentals; use of computing facilities; introduction to graphical user interfaces; a sampling of software packages applied to problems in the arts and social sciences.
In the modern age of students having grown up knowing how to use computers, some parts of this are a little strange (like "introduction to graphical user interfaces"). Plus, it begs the question why arts students can be total computer newbies while computer science students are expected to know all those basics (hmm, a hint as to why diversity is down??). But that's beside the point.
The point is that I'm super excited to get to teach this course this summer! Assuming I will have some freedom to teach what I want, I intend to make my students love (or at least not hate) computer science.
I've heard that class sizes are around 50 in the summer, which might be just small enough to do some CS Unplugged demos. After all, learning binary numbers and a few basic algorithms seems to fit with the course description. So does learning some basic programming concepts; I intend to use Scratch to teach that. After all, they don't need to know how to do real code after the class if over. With Scratch, they can make fun projects and become familiar with the basic concepts of programming, but not have to worry about code. Hopefully, if I need to show how to use the usual spreadsheet programs and such, I can find ways of making that more interesting, too.
If any of you have taught a similar course and have some great ideas to share, please contact me or leave a comment!
Jon Phillips

StatusNet 0.9.0 is released and is available for immediate download from the status.net site.
This release includes the following new features and we invite the developer community to please try it and report back :
- Support for the new distributed status update standard OStatus, based on PubSubHubbub, Salmon, Webfinger, and Activity Streams.
- Support for location using the Geolocation API. Notices are (optionally) marked with lat-long information with geo microformats, and can be shown on a map.
- No fixed content size. Notice size is configurable, from 1 to unlimited number of characters. Default is still 140!
- An authorization framework, allowing different levels of users.
- A Web-based administration panel.
- A moderation system that lets site moderators sandbox, silence, or delete uncooperative users.
- A flag system that lets users flag profiles for moderator review.
- Support for OAuth authentication in the Twitter API.
- User roles system that lets the owner of the site to assign administrator and moderator roles to other users.
- A pluggable authentication system.
see the full list of features here:
A full changelog is available at StatusNet 0.9.0/Changelog.
Also, the OStatus process is underway!
OStatus lets people on different social networks follow each other. It’s transparent to your friends, colleagues and family which software or service you use. They can get your status updates on their own sites and reply, like, or re-post your updates.
OStatus isn’t a new protocol; it applies some great protocols in a natural and reasonable way to make distributed social networking possible.
The OStatus spec is a first step in this direction. We’re eager to work with other implementers to make it better, to smooth the rough edges, and to improve the overall experience.
Everyone interested is invited to join the ostatus-discuss mailing list to get this discussion moving.
Thanks to everyone who’s made these protocols work so well together. We hope that OStatus can bring these efforts one more step forward.
Jon Phillips
.flickr-photo { border: solid 2px #000000; } .flickr-yourcomment { } .flickr-frame { text-align: left; padding: 3px; } .flickr-caption { font-size: 0.8em; margin-top: 0px; }
Jon Cruz’s (from Inkscape and who named me REJON) son made me as a lego light saber yielding character. I feel quite honored now
I guess I should get to the having kids project sometime
Thanks Jon and Tina! Your son is really cool! I feel now that I’ve reached a new level
Ok, after this post and my smiling avatar one, I’m lowering my narcissism level. You’ll see in a few hours when the bombs start dropping ![]()
Jon Phillips
Here is a message from some friends of Fabricatorz at the Breizh Entropy Congress in Rennes, France. They have an open call for papers/proposals/talks on subjects related to free and open technologies:
March 10th is the deadline to send us a few words on the projects or the subject that you would like to present at Breizh Entropy Congress (Rennes, France, April 15-17 2010). After your submission, we will contact you before March 20th to tell you if it is going to be part of the schedule. The schedule with the timetable will be published on March 25th.
ANYONE can submit a proposal to Breizh Entropy Congress: students, entrepreneurs, enthusiasts, artists, free software activists, tinkerers, hackers… on ANY subject related to free and open technologies. This congress
is about eclectism!To participate, send a mail to cfp@breizh-entropy.org including the following
points:
- Format of the submission: lecture, workshop, installation, lightning talk, other…
- Title of the submission
- Name of speaker(s)/presenter(s)/artist(s)
- Language (if applicable): French/English
- Summary of the submission
- Short bio of the speaker
- Hardware/logistics requirements
- Contact e-mail and (if possible) mobile phoneThe complete call for proposals is online:
http://www.breizh-entropy.org/cfp.html
Kees Cook
I’m never sure when my commits to Linux actually make it into an official release. Luckily, since releases are tagged, I can use “git tag --contains COMMIT” to find them. So, in a stunning display of inefficiency, here’s what I use to find my commits:
git log --author='Kees Cook' --pretty=oneline | \
while read commit name; do \
echo $(git tag --contains $commit | head -n1): "$name"; \
done
Which lets me know where my code is with respect to releases:
v2.6.33: x86, mm: Report state of NX protections during boot v2.6.33: sysctl: require CAP_SYS_RAWIO to set mmap_min_addr v2.6.32: proc: fix reported unit for RLIMIT_CPU v2.6.31: modules: sysctl to block module loading ...
Gail Carmichael
Continuing on the theme of excellence in education, I would like to briefly reflect on teaching computer science in Ontario high schools. I have to point out that I don't what exactly the state of the subject in our province is, not least because I actually never took CS in high school (though I must admit that part of the reason for this is that fellow students told me the class wasn't very good at our school).
But it does seem to me that it could be a problem. My mom is a teacher. She is currently doing special education for grades seven and eight in the Catholic school board (which, in Ontario, is one of two publicly funded boards). Based on her, I know that you can expect a very secure job, regular wage increases thanks to union negotiations or years of experience, and an excellent pension.
This sounds great, but the downsides are that the system is not a meritocracy whatsoever, and you start at a relatively low wage (once you finally get a full-time position - it sounds like most young teachers do a lot of supply or contract teaching at first). It also appears to be almost impossible to be fired, and there are no reward for excellence, both of which seem to lead to a non-trivial amount of mediocrity. These cons put together are enough to make me avoid working at that level. The politics surrounding secondary education in Ontario also make me angry, though I can't say this wouldn't be true at university as well.
Sure, if you really love what you do, then the downsides won't matter. But what I really love to do is teach young people computer science, and I can do that at the university level with a much higher salary, what seem to be better opportunities to be recognized for teaching excellence, and an opportunity to affect elementary and secondary students through outreach efforts. Why would I not stick to university teaching?
The reason I bring this all up is not to suggest that nobody should want to teach in high schools, but it does make me ask how many excellent teachers feel the same way I do. Are high schools getting the teachers they need to introduce computer science to the next generation? If not, is this one of the reasons that many non-traditional students end up taking computer science in college? Because they never had a good teacher to get them interested in high school? Is it time to consider looking at what could make teaching computer science in high school more attractive so more teachers consider doing it?
Gail Carmichael
The TA Mentor program here at Carleton has been run in some departments for a few years now, but is in its first year in the School of Computer Science. One of the big pushes this year is to create a TA Award in departments that don't already have one. The main idea is to recognize and encourage excellence among TA's who might otherwise treat their TAships as funding rather than an important job.
It's really a shame that some TA's really do make being a good teacher their last priority. In some ways, who can blame them? With the seemingly zillions of demands on grad students, and pretty much no chance of getting fired from a TA job, it's pretty easy to do. Even easier if all you do is grade assignments and tests, and possibly hold office hours that nobody shows up to.
I think the mentor program is really improving the culture of professionalism here. With easily accessible workshops that count towards mandatory training hours and teaching skills certificates [1], TA's have actually started engaging in professional development. In computer science, I was blown away by the number of TA's who came to my workshops on better office hours and grading.
But we can do more. While simply loving what you do is a wonderful motivation for going above and beyond in your TA and teaching jobs, it's often not enough, as seen with the decreased attendance after workshops stopped counting toward the teaching skills certificates.
I've always believed in meritocracy, and while we can't reward good TA's with raises (or apparently fire the really bad ones), we can at least recognize excellence through a nice little TA Award. I know I would have felt good earning such a thing. Maybe it won't make everyone want to perform better, but in combination with the workshops, it's one more step in the right direction.
---
[1] Unfortunately, this isn't entirely true. Our workshops counted toward our school's Educational Development Centre's certificates in the fall, but don't anymore. Hopefully this can be resolved for the fall term, possibly by creating our own certificate.
Jon Phillips
StatusNet did a launch today of StatusNet Enterprise Network, their support program specifically tailored for corporate clients.
Enterprise Network members participate in StatusNet’s exclusive on-line enterprise community, where they can get advice from other enterprise users and interact directly with StatusNet architects and engineers.
For details on SEN plans, see http://status.net/enterprise network.
Kees Cook
In an attempt to force an exec to totally stall so I could attach gdb to a process that does a setuid transition without freaking it out (i.e. can’t launch “sudo gdb …”), I briefly played with process priority, scheduling, and CPU affinity (pinning a process to a CPU).
So far, the best attempt at stalling the process was to set CPU affinity, set its scheduling policy (IDLE), drop the priority value fully (19), and then run a CPU hog with the same CPU affinity with a very high priority (-20).
Staller: sudo schedtool -a 0 -N -n -20 -e /tmp/spin-cpu
Stallee: schedtool -a 0 -D -n 19 -e /usr/bin/sudo -s
The hope was to then run “sudo gdb /usr/bin/sudo $(pidof sudo)“, but it seems that this still isn’t enough to make the exec of sudo totally stall while the “spin-cpu” process is running — it certainly executes more slowly, but I want it to stop.
I have this feeling like I’m missing something obvious about how to accomplish this gdb session sanely. I wonder if I can get gdb to switch targets across a child exec, i.e. run gdb as root on a program that fully drops privs, but then execs sudo. Guess it’s time to go read the gdb manual some more…
Bryce Harrington
Last year Leann and I dug through Ubuntu's HWDB data and looked at numbers of Intel graphics owners who have reported their hardware, to get a rough idea of the relative distribution of Intel graphics hardware:
This chart is a little misleading in that it's not a snapshot in time but rather data gathered over a number of years. So chips like i855-i915 are probably a bit overrepresented since the owners had more time to submit results, and newer chips are probably significantly underrepresented. Also, this is data from about a year ago so is really underrepresenting the G45 and other newer chips.
Another factor that I think might be skewing the numbers is that people may be more likely to report their hardware info if they're having problems than if they installed it and everything "just worked". This is doubly especially true in the case of pre-installed hardware, whose owners probably are unlikely to stumble across the HWDB submission tools.
So, take the chart with several large grains of salt. So while the chart shows that 20% of Intel hardware is 8xx, with all the above caveats I think it's well below that number.
But what's interesting to me is to compare the relative popularity of chips of similar generations, such as i830 vs i855. I've seen i830 owners express shock and outrage when stuff breaks on their hardware, but this graph shows why this is - it ain't that common. If you have a malfunctioning i830 system, maybe the best solution would be to donate it to one of the X.org developers that works on -intel.
Jon Phillips
#hahaha is my laugh hashtag. So, please take this post with a grain of salt. I know it is pretty hilarious to post this publicly to get feedback, but its a fun thing, right?
At FOSDEM2010 I finally met long time collaborator Nicu Buculei from Open Clip Art Library, Inkscape and CREATE in preparation meetings for Libre Graphics Meeting 2010.
It struck me like a bolt of lightning while we were at a meeting that I remembered Nicu created my original disembodied REJON head!
I love this head, but I always felt like the head looked a little bit dead or dumb. For those that know me, I usually have a pretty big smile or look like I’m about to laugh all the time (see Joi’s photo he took when I randomly ran into him and Sean Bonner in Venice this weekend).
So, I talked Nicu into making me a new one! Here is his first draft with and updated bling and teeth smile. What do you think?
Feedback came in that my avatar is a bit scary and maybe shows too much teeth. One friend said, “well, its a disembodied head!” Here is a slightly less smily rejon. Thoughts?
So, after more feedback, Nicu created me just an updated blingy REJON head icon. Simple and safe. Is it better?
Ok, now I’m done with my massive narcissistic post about which avatar I should use. Really, I’m hopeful that you fine readers will make some comments and help me select one to use moving forward in SHARISM2010
Jon Phillips
10by10by10: Support LGM2010!
The Libre Graphics Meeting (LGM) is the annual working conference for free software graphics application users and developers. The fifth edition takes place 27-30 May 2010 in Brussels, Belgium. Teams from GIMP, Inkscape, Blender, Krita, Scribus, Hugin, Open Font Library and many other graphics projects gather to improve their software and discuss new ideas for interoperability and shared standards.
http://www.libregraphicsmeeting.org
LGM2010 has launched a fundraising campaign called 10by10by10 to raise $10,000 USD from grants, $10K from corporations and $10K from the community. The funds raised from granting organizations, public, and corporate partners will allow participants who have no other means of sponsoring their travel to Brussels to attend the event.
You can contribute to 10by10by10 at: http://pledgie.com/campaigns/8926
All donations are tax deductible for US taxpayers. For larger donations from corporations and individuals, please contact us directly at lgm@gnome.org
Bryce Harrington
X.org freezes are perhaps one of the most frustrating bugs in Ubuntu. These were such a pain during Hardy that special debugging procedures were developed to enable users to gather the data upstream needed. But these procedures are pretty technically involved to do, and had to be done while ssh'd into the frozen system - not always an easy task!
Starting today in Lucid, Ubuntu will now collect this information automatically when the kernel has detected a freeze has occurred. So now we can reliably collect all that information and file the bug for you when a freeze occurs.
This is implemented using apport, intel_gpu_tools, and a udev rule. Thanks go especially to mdz who put much effort into scoping out how to do this. Currently it works only for Intel graphics, but if/when other drivers support a similar functionality it will be easy to extend it to cover them too. I'm also not 100% sure I'm capturing exactly what upstream needs, but adjustments to the script will just be a simple matter of python scripting so I'm sure this will improve as we gain experience with it operating in the wild.
Even if it's not exactly right, the good news is that it removes a huge pain point for users trying to report these bugs. Now it's on us to take care of the technical side of things. :-)
Also, friday saw the upload of a new libdrm version 2.4.18 which includes fixes for numerous Intel freezes that have been debugged recently. So if you've been experiencing freezes on Lucid with Intel lately, it may well be worth your while to upgrade to the latest X.org bits right now.
Jon Phillips
This is a slide share that describes how Status.Net is unique from other existing servies and why it is a step in the right direction towards a totally free network service:

Your life and your business are your own!

Take control of your status!

Need something federated and scalable beyond one person or companies efforts!
Bryce Harrington
In Ubuntu we've set nouveau as the default driver instead of -nv, as detailed in a post to ubuntu-x@ yesterday.
Inkscape
A new book on Inkscape in German called "Inkscape: Professionelle Vektorgrafiken gestalten" by Uwe Schöler has just been published. The book is written with beginners and advanced users in mind and covers features of Inkscape 0.47. A CD attached to the book also contains several video tutorials specifically created for the book and sample files for the workshops in the book.
Gail Carmichael
This is the third and last post in a three-part series of design proposals for augmented reality learning applications. These are from a paper I wrote in my computers and cognition class. I'll be reworking the main ideas in the paper for a future submission, but probably won't include these, so I figured I'd share!
Algorithms -- lists of well defined steps that can be used to solve a particular type of problem -- are a fundamental part of computer science education, but the concepts can be abstract and are consequently not always easy to teach. Various applications and techniques have been proposed to aid this process. For instance, the SHALEX system was built to be adaptable to a learner's behaviour, providing spatial and temporal links, textual descriptions of algorithms, and supplemental animations. This kind of system still presents the algorithms in their abstract form, though, and does not take advantage of situated, embedded, or embodied cognition theory.
Situating algorithm instruction in the context of real and specific problems that can be solved with particular techniques can be helpful to students in terms of motivation and understanding, which has lead to some instructors to advocate the use of puzzles. Taking this idea even further, kinaesthetic activities have been proposed in the place of paper-based puzzles. For instance, Sivilotti and Pike described activities that can be used in upper level undergraduate and even graduate courses in computer science to teach algorithms for distributed computing, and Snapp showed how graph algorithms could be introduced to beginners using a corn maze. The CS Unplugged set of activities is designed for use with elementary and middle school students, and contains a wide range of activities. Most are situated to a specific real world problem, and there is a mix of paper-based exploration and group kinaesthetic activities.
While these examples do take advantage of the aforementioned cognitive theories, there are still reasons to consider implementing the activities using augmented reality. For instance, the paper-based activities might be brought to life, or corn mazes brought to the classroom or school yard to avoid the need for a field trip. Some of the group activities might be adapted for use by one person for independent study. Having any activity driven by software would allow for more complex examples, and teachers who aren't as familiar with computer science are more likely to be able to bring the activities into their classrooms.
With this in mind, the first design proposition is based on a CS Unplugged activity about sorting (Activity 8: Beat the Clock -- Sorting Networks). The goal of the activity is to show that some tasks can be completed more quickly when they can be broken up into individual parts which can then be completed by different people at the same time. A diagram is drawn on the ground with chalk (p. 72, or p. 2 of the individual PDF). Students are divided into teams of six and positioned at the starting squares of the diagram. Each student will have a random number given to them. They follow the arrow leaving their current position until they reach a circle. There, they must wait for another student to reach them. When there are two, the person with the smaller number follows the left arrow out, and the other person the right arrow. When everyone reaches the ending squares, the numbers assigned to them will be in sorted order. The idea is to time the students so they can see what networks can sort the fastest, then think about why.
This activity gives a good embodied experience in that students physically move through a real network and as a result get a sense of how the sorting work is distributed. However, it requires the ability to take a class outside where the chalk diagrams can be drawn, and is limited to a small number of networks because of the time is takes to reproduce them. Also, the problem they are solving is still somewhat abstract in that there isn't a context the students can connect with beyond the given goal of sorting numbers (though the competitive nature of timing the students surely doesn't hurt). The proposed augmented reality version of the activity will seek to improve on these downsides.
To give the activity some more context, a problem that students can relate to is devised and the activity is modified so students will start without knowing they are sorting numbers. Each student is given a picture of a toy with a house number and street name. They are told that they have been assigned to help Santa deliver Christmas gifts to children on that particular street (note that the street name could be chosen by the particular group running the activity to be one the students are familiar with, but the house numbers must always be associated with a particular toy). Because it has snowed recently, nobody can read the house numbers, but luckily, there are elves available to help the students find their way.
At the beginning of the activity, students will line up on one side of the classroom and look at the pictures of the toys to see where to go next. They might use a handheld device as a magic lens, or a head mounted display. A camera will be used to recognize the image of the toy, and an arrow or perhaps a trail of bubbles or pixie dust will lead the student to the next location, where they must wait for another student to join them. When there are two students waiting, they each hold up the images of their toys for an animated elf to examine. The images must be held close enough for a single camera to recognize them together. The elf then indicates which path each student will take based on the relative order of the house numbers associated to the toys. This continues until each student reaches a house, their final destination. When all students have made it through the sorting network, a discussion on what happened has the students figure out that they managed to quickly sort the street addresses using a sorting network.
In addition to situating the problem in the toy delivery story, augmented reality makes it possible to do this activity anywhere, anytime. It could be designed to include an arbitrary number of students, and have a mode in which the entire sorting network is projected onto the ground so students can see it all at once, just as was the case for the CS Unplugged activity. The embodied nature of the original activity is retained. Students physically move through the network, and can take advantage of the intuition that says going left often means something is smaller, and going right means something is larger. This is useful when developing an understanding of how the algorithm works.
Augmented reality is the only technology that can accomplish all of this. Virtual reality comes close, but does not have the advantage of using the real world as a base, and would not allow for the use of mobile devices instead of heads up displays. A similar scenario might be possible with mobile devices that don't support augmented reality, but it would be difficult to direct students to their next locations without a virtual or real network that can be visualized. Recreating the activity on any other device, such as a desktop computer, would remove the advantages that come from the embodiment found in the other versions.
Kees Cook
9% of Ubuntu systems that were used to report bugs that included their /proc/cpuinfo file need to fix their BIOS settings to gain the NX bit.
Check for yourself. (Run it with --verbose for useful details.)
Out of 7511 Ubuntu bugs Brian Murray collected for me that included /proc/cpuinfo files, there were 7270 unique contents (which surprised me — I was expecting this to be much lower).
- 5 (0.07%) were non-x86.
- 1 (0.02%) had corrupted contents (likely due to a search/replace in apport gone awry).
- 5670 (77.99%) had NX (this also surprised me — I was not expecting it to be so high).
- 337 (4.64%) lacked PAE, and so cannot have NX (I didn’t expect this to be so low; Ubuntu bug reporters must have relatively recent hardware overall).
- 595 (8.18%) had PAE and correctly lacked NX (I didn’t expect this to be so high — PAE without NX is a bit more common than I’d hoped; hopefully these systems are running 32bit kernels to at least get the partial NX emulation).
- 662 (9.1%) had PAE but incorrectly lacked NX.
It’s this last group of systems I’m hoping to get fixed through education.
Inkscape
We are announcing chill phase and thus officially enter 0.48 release cycle. It means that development of new features now should be wrapping up, and focus should be shifting to bugfixing activity. So we are really serious about releasing 0.48 some time in May. An about screen contest will be announced separately. In the mean time you can help us by pointing out bugs and odd things in the documentation.
Jon Phillips
In addition to doing a StatusCheck at FOSDEM2010 in Brussels this Saturday night, we are announcing StatusCampLA to be held in synchronization with SCALE2010 in Los Angeles, Feb 19-21 in LA, USA. Since this is a big Linux conference, we want to focus this unconference on open standards, free network services and hacking on StatusNet, the AGPL licensed software StatusNet and Identica are built on.

Come one! Come all, to the first StatusCamp unconference in LA. It will be held on Friday, February 19, 2010 at the Linux and Hackers’ conference SCALE conference venue, Westin LAX in Concourse B, from 10 AM until 5 PM. @Brion, @Zach, @Nate, myself (@rejon) and Emma (@emma) will be in attendance. Come on out! Lead a session and join in the fun! Since this is an unconference, please arrive at start-time to help set the schedule for the day. Topics for StatusCampLA will be general from technical discussions to micro-blogging standards to general software development practices in usage of Status.Net. We hope you will come out to the event! Please RSVP to this FREE event by sending your name to http://identi.ca/rejon or email jon@status.net. We want to know how much coffee and snacks to bring. I made up a rap for our event: “StatusCheck on the left, who’s on deck? StatusCheck to the right, hacking day and night!” Ok, apologies for the cheesiness of that rhyme
StatusCheck
Also note, for all those attending, at 5 PM we will move over to the hotel bar in the lobby to have the first big StatusCheck drink meetup in LA. If you can’t make StatusCampLA, surely you can come and relax at do a StatusCheck!

You want to start a StatusCamp?
This is the first StatusCampLA! Its also the third StatusCamp after our successfulStatusCampMontreal and StatusCampSF. We want to do more StatusCamps globally and encourage anyone interested in hosting their own StatusCamp, to start one! If you are interested, send me a message at @rejon or via email jon@status.net.
We have shirts, stickers and posters now which I can send to you as a schwag bomb to get you started! Free stuff is cool. Hacking is cooler.
What’s your StatusCampLA hashtag?
The hashtag for this event will be #statuscampLA
Venue
Los Angeles Airport Westin
5400 West Century Boulevard
Los Angeles, California 90045
Phone: (310) 216-5858
Fax: (310) 417-4545
For more information
…and to get some ideas for sessions, please visit: http://statuscamp.org/la
Gail Carmichael
This is the second in a three-part series of design proposals for augmented reality learning applications. These are from a paper I wrote in my computers and cognition class. I'll be reworking the main ideas in the paper for a future submission, but probably won't include these, so I figured I'd share!
Just as optics are common in physics curricula, habitats are often found in biology lessons (for example, see The Ontario Curriculum, Grades 1-8: Science and Technology). Without leaving the classroom, large scale habitats can only be discussed in a disconnected fashion. Some classes have the opportunity to take field trips and see natural habitats, but of course this is limited to what can be found in the local environment, and only a short slice of time can be observed. With augmented reality, habitats can be brought to students, and life can be simulated at a faster rate in a real setting.
The next design proposition considers the latter case. The goal is to show students how a particular habitat looks over several seasons, and to include some level of interaction to help them see how changes in the habitat can impact life within it. The application is location dependent, and could be set up in a real habitat or a mockup of one (for example, at a museum). Handheld mobile devices could again be used, but head mounted displays would make the experience more immersive. Multiple devices will be connected together so all students can see the same virtual content. The habitat should be preprocessed in some way to aid in feature tracking, ensuring that high quality augmentations are possible.
Virtual animals and plants that live in the habitat will be depicted as going about their regular lives on a shortened time scale. The animals forage for food, find mates, raise young, burrow for the winter, and so on, while the plants grow and die. The weather will change with the seasons; for example, rain would fall in the spring and snow in the winter for some locations. The seasons could continue to cycle to suit the time allocated for the activity.
Students will be able to interact with the habitat using large cards. Each card will have a symbol on it depicting what it can do. For example, one card might have a chainsaw, which means it can be used to cut down trees in the habitat. If a tree is cut down, it might appear greyed out in the augmentations. Other cards might be used to introduce disease into the habitat, have a cabin built by humans, add pollution to a water source, or attract predators. The student will place the card in the habitat where they want the associated action to occur, and then aim the camera connected with their device (be is a mobile device or a head mounted display) at the card so it is registered. They can then watch the action occur, and see how life in the habitat reacts.
This activity benefits greatly from its situatedness. Students should feel more connected to the happenings in the habitat because they can watch it unfold in front of their eyes; this offers a much different experience than does observing the same habitat from afar through pictures and videos. There is also a sense of embodiment as students can actively walk through and affect the environment they are studying.
Gail Carmichael
This is the first in a three-part series of design proposals for augmented reality learning applications. These are from a paper I wrote in my computers and cognition class. I'll be reworking the main ideas in the paper for a future submission, but probably won't include these, so I figured I'd share!
Optics is a subject often included in high school science curricula (see, for example, The Ontario Curriculum, Grades 9 and 10: Science), where concepts like reflection and refraction with lenses and mirrors are taught. There are many opportunities to help explain how light travels through space with augmented reality visualizations, but the proposed design here will focus on explaining the optics involved with a photographic camera.
There is much involved when it comes to the optics of a standard single lens reflex camera (as discussed in the detailed tutorials on Cambridge in Colour). For instance, there are many factors that affect how an image will be formed, including the lens focal length and aperture, and the distance of the actual focal point from the lens. These things will affect, for example, how much of a scene in front of the camera is captured and what parts of the image will be sharp. Learning how to take the photographs one has in mind can take many hours of trial and error practise. Being able to visualize the optics involved would be a huge advantage in this process, and could be used in classrooms learning about optics as an interesting applied lesson.
An augmented reality application is proposed next that can be used to help students and photographers gain a deeper understanding of how cameras work. A camera that can communicate information about its lens is required. This camera must be tracked by a computer vision system so that graphics visualizations may be made relative to it. A mobile device using the magic lens paradigm may be sufficient for this application, though a head mounted display might give a learner a more clear idea of what the he is seeing.
The learner will set up her camera to take a photograph. She will then use the augmented reality application to see how her settings will affect the final image. A three-dimensional, translucent shape will emanate from the camera and lens to indicate what portion of the scene will be captured on the camera's film or sensor. This shape will be determined by the camera's sensor size (a constant), and the lens's current focal length (dependent on the lens mounted, and the current focal length chosen in the case of a zoom lens). Using this shape, the learner can see whether a particular object in the scene -- say, a flower -- will be included in the final image. Two planes parallel to the camera's sensor will intersect the three-dimensional shape at locations that will indicate which portions of the scene will be in sharp focus. These are adjusted as the learner changes the aperture setting on her camera. The learner can view these visualizations from different angles as long as the camera remains in her field of view so it can be tracked.
What is depicted can be as complicated as is desired, and could incorporate more detail about how rays of light pass through the lens and hit the camera's sensor. The key point here is that this application provides an in-situ visualization of how the camera works that is much easier to understand than a similar visualization on a flat screen. Information is embedded into the environment so the learner does not have to recall how focal length and aperture affect her photograph as she is learning. She is able to see how the camera is working in a real environment in real time, and can examine the situation by moving in three dimensions, just as she is accustomed to doing in daily activity.
Kees Cook
Instead of using setuid programs, the goal for the future is to use fine-grained capabilities. For example, here is /bin/ping:
$ ls -la /bin/ping
-rwsr-xr-x 1 root root 35680 2009-11-05 00:41 /bin/ping
$ ./ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.041 ms
…
$ sudo setcap CAP_NET_RAW=ep /bin/ping
$ getcap /bin/ping
/bin/ping = cap_net_raw+ep
$ ./ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1) 56(84) bytes of data.
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.041 ms
…
$ dmesg | tail -n1
[212275.772124] warning: `/bin/ping’ has both setuid-root and effective capabilities. Therefore not raising all capabilities.
The best part is that the kernel will choose the set of least privileges when both setuid and capabilities exist. Easy way to transition!
In Ubuntu, I uploaded an rng-tools that supports the RNG in TPM devices (my patch is waiting in Debian). This hardware is available on a bunch of systems, including several Thinkpads and the Intel Q35, Q45 and newer main boards.
While most TPM RNGs aren’t really heavy-duty hardware RNGs, they are at least a mild source of randomness. I’ll be using an entropy key eventually, but for now, the TPM can supplement my collected entropy.
/etc/default/rng-tools:
HRNGDEVICE=/dev/null
RNGDOPTIONS=”–hrng=tpm –fill-watermark=90% –feed-interval=1″
After it’s been running a bit:
Feb 8 19:10:51 linux rngd[13143]: stats: bits received from HRNG source: 6180064
Feb 8 19:10:51 linux rngd[13143]: stats: bits sent to kernel pool: 6166144
Feb 8 19:10:51 linux rngd[13143]: stats: entropy added to kernel pool: 4624608
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2 successes: 309
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2 failures: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Monobit: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Poker: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Runs: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Long run: 0
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS 140-2(2001-10-10) Continuous run: 0
Feb 8 19:10:51 linux rngd[13143]: stats: HRNG source speed: (min=5.207; avg=6.145; max=6.200)Kibits/s
Feb 8 19:10:51 linux rngd[13143]: stats: FIPS tests speed: (min=66.925; avg=75.789; max=112.861)Mibits/s
Feb 8 19:10:51 linux rngd[13143]: stats: Lowest ready-buffers level: 0
Feb 8 19:10:51 linux rngd[13143]: stats: Entropy starvations: 308
Feb 8 19:10:51 linux rngd[13143]: stats: Time spent starving for entropy: (min=3150263; avg=3178447.994; max=3750848)us
And now the kernel entropy pool is high:
$ echo $(cat /proc/sys/kernel/random/entropy_avail)/$(cat /proc/sys/kernel/random/poolsize)
3968/4096
Gail Carmichael
Time and time again I find that networking truly is the key to a successful career. It's amazing what kind of opportunities arise because of who you know.
During my undergrad years, I never thought that getting a job would have so much to do with your network. Whether you know someone who works at a place you want to be hired, or just introduce yourself at a job fair, your chances of working there are so much higher. For example, my husband has always been hired through his network. In fact, when he got laid off, his contacts on LinkedIn noticed, and asked him to work with them right away. He's still there now.
It seems that some undergrads in our computer science program aren't aware of the many networking opportunities available to them, and perhaps the value of taking advantage of them. A recent discussion on the undergrad society's forums had students arguing about whether a college diploma was worth as much as a university degree in industry. Some of us suggested - with some resistance - that your network can get you hired, and after a while it's your experience that counts. Someone put forward that third and fourth years haven't been around long enough to have many contacts, and don't have time to network.
The good news for undergrads is that there really are plenty of networking opportunities that don't have to steal all your time! Obviously doing co-op or other summer jobs helps, but so does attending job fairs, where you can trade business cards or leave your resume, and follow up online. Our science faculty recently put on a networking evening, MITACS does all kinds of workshops and events, and CU-WISE is planning a networking/career night for March. There are fun, one-evening events that are goldmines for networking. For example, the Girl Geek Dinner I went to in Ottawa got me several new contacts. Not all followed up, but keeping in touch with even just one makes it worth it. There are lots of techy talks happening in our area, with topics ranging from game development to start-ups to social media. And if you happen to have a bit more time to spare, you can go to conferences geared towards undergrads (like CUTC, EpCon, and CUSEC for those living in the Ottawa/Toronto/Montreal area).
Grad students can benefit from all of the above, plus new academic opportunities like conferences and workshops.
In the past, I have noticed that after collecting contacts from all these networking opportunities, I didn't know what to do with them. It seemed strange to email people without a real purpose, but that was the only way to get them to remember you in case you needed them later. This is why I love the pervasiveness of social networking.
Now when I get a contact, I try to connect with them on Twitter, Facebook, or LinkedIn. This way I don't have to explicitly communicate with them - we can passively exchange updates. The true value of this may not be obvious at first, but eventually you start to see requests from important people that you can help with.
Suddenly you are involved in really interesting projects or applying for amazing jobs. Your contacts talk about you in their updates, and you get more contacts. This snowballs, and suddenly you get added as a blogger on the Communications of ACM blogroll, and are mentioned as one of the top five technical women to follow on Twitter. You start winning scholarships, and have been asked more than once to apply for an internship at a cool place like Google. You are asked to write for various publications and become well known as an active community volunteer for improving life for women in computing.
All these things happened to me, and could happen to you, too! And all you have to do is network.
Gail Carmichael
Game Day is an an annual event at Carleton University. It's a day full of lectures on various game industry topics, a LAN party, and one of many Global Game Jam events. I attended this year for the first time, and learned a few tricks of the trade that may come in handy for my future research, and especially if I ever want to create a production-quality game.
In the first talk Game Design Basics: What's in a Story?, by Christian Beauclair of Microsoft, we learned about the one way to look at what makes a good game: game play, story, presentation. Which of these should be given more precedence? Beauclair suggests that story should always come first. You want your player to come out of the game remembering the life of the character, or feeling like they accomplished something. You then want to pick a game play that suits the story; for example, you probably don't want a first-person shooter for a love story. Finally, graphics come last, and are there to support the other two aspects. When thinking about your story, you want to consider originality, character development, pace, and epic moments.
Next up was Antonio Santamaria of Artech Studios with "Wouldn't it be cool if"....Putting together a game pitch. This was a decently in-depth talk about the kinds of things you want in your pitch. I won't write them all here, but I thought his list of general tips was worth sharing, since I think it applies for research game ideas as well:
- Keep it realistic
- Know your unknowns
- Start small
- Balance your excitement with actual content
- Check spelling and grammar
- Don't use stinkers as comparisons - only talk about good past games
Finally, the last talk I saw was by John Seck, Black Cherry Digital Media: Can a Video Game Save a Life? -- Serious Games and Serious Education. He spoke about a project that has been in the work for a few years and about to be released. On the Path of the Elders is geared toward aboriginal youth, particularly in northern regions that are very isolated yet very well connected via broadband. The game was meant to help these youth connect with their culture, as most of the content online has nothing to do with them. The hope is that this will help improve the suicide rate, which is currently about 800 times worse than anywhere else in the developed world. They are truly trying to save lives with a game.
I didn't participate in the Global Game Jam, but I had some friends who were. What is it?
In a Game Jam, artists, programmers, and designers come together to make video games. Each participant works in a small team (3 to 5 people) on a complete game project over the course of a limited time period, usually over a weekend. In a Global Game Jam, people all over the world meet at more than 60 different sites to jam simultaneously!Pretty neat! I hope to participate one year, once I find a team that doesn't mind that I can't stay up all night thanks to my dependence on hard contacts. In the meantime, the games from this year's jam are available online. You can check out the games made at Carleton.
I thought the Game Day event was well run and would like to go again next year (despite this year's room being a little dim, cold, and wifi-less). It's great to see what the local game community is up to!
Inkscape
In the Los Altos School District in California, they have a Digital Design program to teach the students about graphics software and programming. For the vector graphics course they are teaching the students how to use Inkscape. Here is a gallery of art created by approximately 175 4th grade students of the seven schools that this course is being taught at. There is a link next to each of the images on the following page which will take you to the corresponding sub-gallery.
Bryce Harrington
Looked like we've finally gotten boot speed of X down under a second, as measured by Martin Pitt on his box. (Our objective for Lucid was 2-seconds so this is quite good news.)
Inkscape Tutorials
Here is a comprehensive video tutorial, (created by syllie) that demonstrates how to use the awesome new spiro swirls feature in Inkscape 0.47, which was released in November 2009.
The spiro swirls technique was first covered in a mini tutorial by AndyFitz. Andy has also uploaded a few spiro experiments to flickr, including the following:













