Archive for August, 2011

Halp: harness reading speed for awesome


Well, this is fascinating. I’ve run into a somewhat unexpected situation in graduate school, and I’m going to try to write in order to think through it, so this’ll be a chronicle of me literally “typing out loud.” It’s not all that unexpected a situation, but I don’t know what other word to use and don’t want to say “problem” because that frames it in ways that’ll habituate me to jump to a solution. So what’s going on?

I read too fast.

No, that’s a problem framing. Is there a reading speed that’s bad to go above? More accurately state the situation.

I process English text faster than anyone I’ve come across so far in graduate school.

Okay. I’ve known I was a fast reader for a while. Once I was in an independent study group, MetaOlin, that decided to collectively learn speedreading. My starting speeds clocked in above the promised end-result speeds, and when I tried to apply the speedreading techniques the rest of the group was learning, I slowed down. But I thought that maybe grad school, where people pretty much read for a living, would be populated with others who did the same. It… seems not.

What are the implications of this? Go.

  • I can consume, with good critical comprehension, papers and books at a rate far greater than expected; given that this seems to be one major way of “acquiring knowledge in one’s field” as a beginning grad student, I can catch up on background at a somewhat astounding rate. (Thoughts: I could get through more courses faster, do parallel readings in other fields, finish my core more quickly.) Action item: talk with Robin (my advisor) about the possibility of loading on more classes. Also think of other learning modalities — kinesthetic, auditory, etc — I’m not good at and possibly add activities in that domain.
  • The conversations I’m having aren’t keeping up with the reading I can do yet. I’m easily bored and frustrated in situations (classes, study groups) that require me to wait while other people finish reading. (This happened in one of my classes yesterday, and was the catalyst for this line of thought.) When that happens, I zone out, withdraw. Action item: set up ways to contribute to the class in the background while you’re waiting. C’mon, Mel — you’re from the open source world, you know how to do this.
  • This does not mean I’m smarter or better or anything of the sort than my classmates — on the contrary, it means I can accumulate way more flaws and errors in my thinking; capacity is no good without wisdom to direct it, and I really, really, really do not have that wisdom. (I’m aware that “wisdom” isn’t necessarily “thinking the way everyone else thinks,” but when you’re new to a field it’s awfully useful to be able to know what everyone else thinks as a starting point — then you can critically examine that to see if you want to think that way too.) Action item: ask Robin if there are ways to check whether I’m veering off track.
  • I often don’t take effective notes, because in most cases it’s usually faster for me to re-read the whole article or book than to go through my notes, and I’ll get more out of it as well. Action item: brainstorm on ways to improve my note-taking.

The last one seems most promising; if I can go along a little faster, why not use that extra speed to share what I’m learning with others, which is a double-benefit because I’ll get to have those notes and artifacts later myself?

Problem: RSI hurts a lot. I’m limited in note-taking by how much typing my hands can do each day.

Okay, we’re getting at something. I haven’t done much about my reading speed because writing is the way I usually process reading, typing is the way I usually do writing, and I have physical limitations as to how much I can type every day even in an ergonomic setup. What can I do about this? Go.

  • Nothing. (Maybe it’s not worth it!)
  • Learn how to type faster and more ergonomically. For instance, take that extra time and use it to finally dive into Plover (open source stenography).
  • Output in ways that are not typing-related.

How could I output notes and reflections in ways other than typing?

  • Handwriting. (Problems: typically not searchable.)
  • Using your mobile phone — tweets and such won’t place such a heavy load on your hands. (Interesting — I could do something like @learnedathbs — but oftentimes, deep scholarly notes can’t be expressed in so few characters… or can they?)
  • Audio or video (Huh, yes — I have wanted to improve my presentation skills.)
  • Person-to-person (Interesting — I like the “interact with other people around this idea” idea, but I want to do digital capture because I want my notes, too!)

Okay, that’s enough. What can I do with this round of readings tonight?

  • microblog a summary of each paper.
  • Take text notes on each reading and upload them somewhere public.
  • Point the rest of my class to these experiments.
  • Oi, I have so much writing to do tonight too — stop reading after doing these things and START WRITING. I’m slower at it but I need to buckle down, do that, get faster at it.

That’s enough to start from, but after tonight I may be at a blank again for where to go next. Other thoughts, ideas, comments? What am I missing in this thinking-out-loud talking-to-myself?


Tiny bioplastic robots


When I discovered that the first meeting of my art class was devoted to playing with bioplastics, I immediately raced home and grabbed my ice cube tray. While the other students worked with casting sheets of plastic and impregnating various types of fabric with bioplastic, I made… tiny robots. Here’s how.

Mix equal parts cornstarch and water, plus a tiny bit of oil (in this case, glycerin) and some food coloring in a plastic bag, then fill the ice cube tray molds (soft silicone, to make it easy to get the robots out later) to the top… (exact recipe at bottom of the post)

Then microwave for 30 seconds, aaaaaand… well, here’s the blue batch (no, bioplastics don’t turn red food coloring blue).

The first round (blue) was microwaved uncovered, and you can see that the cornstarch has settled unevenly (white places are mostly cornstarch) and that the plastic has cracked on the back. The pieces are hot and gummy-soft right when they come out; you have to let them cool and set to become less fragile before you can pop them out.

But boy, do they look great when they do. Again, note that the cornstarch has pooled at the parts of the robot that were at the bottom of the mold — even if this was a 30-second microwave blast less than 10 seconds after mixing the liquid thoroughly in the bag.

Here’s the intermediate result after all the robots came out of the microwave; they’re still a bit gummy, definitely flexible, and the same size as the molds they came from. You’ll also notice a few broken feet, hands, and incomplete “keys” (the things that aren’t robots — they’re the kinds of keys you stick in the back of wind-up toys) because… have I mentioned that newly-made bioplastic is fragile and tears very easily?

Astute readers comparing this last picture to the first photo in this series will note that the liquid mixture is cloudy — more like white paint with red mixed into it — but that the microwaved robots cure into purer-colored, closer-to-transparent hues. In fact, if you don’t put in food coloring at all, you’ll be able to see through the bioplastic like a (slightly discolored, uneven) windowpane.

What’s the difference between the blue and red robots (other than color)? Well, remember those cracks on the backs of the blue robots I pointed out earlier? I noticed this came from the liquid swelling in the microwave and then splitting open as it cooled and hardened once the microwave cycle ended. I wondered if I could prevent this by wrapping the surface of the liquid mixture with plastic wrap, which would constrain the swelling and give it a flat surface to mold into. As it turns out, I was right; the red (plastic-wrapped) robots bubbled up into the plastic wrap in the microwave, but pulled the wrap back down with it when they cooled, resulting in a smooth (if not incredibly flat) surface after unwrapping.

The robots weren’t done, though. They had cooled and become stable enough to transport by the time I took them home late Tuesday night, but they were still gummy and flexible to the touch. Two days later, after all the water had evaporated from their little limbs…

Minibots! The bots have lost about 25% of their original height, which translates to a loss of about 46% of their original volume. (I’m doing a rough back-of-the-envelope calculation here; if you want to do this yourself and measure water displacement volume differences, go ahead — I had a couple hundred pages of scholarly journal reading to do the same night.)

The final result. Two things to note here: the white parts (more cornstarch) are extremely delicate; with less polymerization to hold them together, they can be crumbled between your fingers with ease. Be careful when you move them, because they’re brittle in those bits. (In other news, I have a legless red robot now.)

Also, remember the cracks on the back I was trying to eliminate? Well, it turns out I wasn’t right in the long run. The blue bots (microwaved uncovered) had the cracks on their backs shrink down as they dried, and ended up with smoother, flatter backs than they had come out of the microwave with. Ironically, the initially-smooth backs of the red robots (microwaved covered with plastic wrap) shrunk and caved in as they dried, forming even bigger gashes and cracks in the process. So if you want a “smooth” object that most closely approximates the shape of your original mold, microwave it uncovered and trust the whole thing will shrink back together in the end.

Recipe:

  1. 2T cornstarch
  2. 2T water
  3. 6 drops glycerin
  4. 2 drops food coloring

Varying condition: Microwave the molds either uncovered or tightly covered with plastic wrap to see if it affects cracking of the final product.

Result: Although the plastic-wrapped products are smoother when they have just been taken out of the microwave, the uncovered products shrink and dry into a flatter, less caved-in final product.

A side note: This was fun to play with, and I did so in a freeform, informal quasi-experimental mode — more “ooh, I wonder what happens?” than very specifically trying to isolate, control, and measure variables exactly. This writeup reflects the spirit of that play; I’m not satisfied with it as a thorough documentation of work done, but as a “hey, I did this thing and it was cool” chronicle, it does the job just fine. It’s interesting to see how my notions of what makes a “proper” writeup affect the way I feel about this writing.


Notes inspired by “Understanding by Design”


I’ve been reading Understanding by Design on and off whenever I work on curricular material, and my last trip through it brought up a few ideas I wanted to explore-by-writing, so here goes.

I’m thinking about the problem of getting students to look beyond the facts to the meaning of the facts and the reasons we’ve come to believe they’re facts. This makes knowledge transferable to questions with different formats, and avoids the situation of students being able to parrot back what they “know,” but not being able to see and use the deeper principle in context. One of my favorite passages from Surely You’re Joking, Mr. Feynman illustrates this sort of parrot-learning well:

I often liked to play tricks on people when I was at MIT. One time, in mechanical drawing class, some joker picked up a French curve (a piece of plastic for drawing smooth curves — a curly, funny-looking thing) and said, “I wonder if the curves on this thing have some special formula?” I thought for a moment and said, “Sure they do. The curves are very special curves. Lemme show ya,” and I picked up my French curve and began to turn it slowly. “The French curve is made so that at the lowest point on each curve, no matter how you turn it, the tangent is horizontal.”

All the guys in the class were holding their French curve up at different angles, holding their pencil up to it at the lowest point and laying it along, and discovering that, sure enough, the tangent is horizontal. They were all excited by this “discovery” — even though they had already gone through a certain amount of calculus and had already “learned” that the derivative (tangent) of the minimum (lowest point) of any curve is zero (horizontal). They didn’t put two and two together. They didn’t even know what they “knew.”

I’m not yet sure how to make sure the students do go beyond parrot-learning, but I can think about specific ways to test for beyond-parrot-ability in particular situations, and I suppose that’s good enough for now.

Next up: we say that students learn from mistakes; teachers learn a tremendous amount as well. By looking at the sort of errors a student is making, a good instructor can start to gauge the sort of mental picture they’ve got of how to tackle the problem, and how that differs from the kind of mental picture(s) they ought to have to tackle it, and possibly even where that (incorrect) assumption came from.

Language-learning is particularly good for illustrating this; for instance, someone learning English might stick “-ed” at the end of verbs to make them past-tense, not knowing that many verbs are irregular. It’s pretty easy to see where that might come from (“in my limited experience, all past-tense verbs look like their present-tense equivalents with an “-ed” added”) and therefore how to fix it (demonstrate counterexamples, but note that the “-ed” rule-of-thumb does work for many verbs and will generally be understandable to native speakers, i.e. “eated” vs “ate.”)

UbD talks about focusing and not having “LEARN EVERYTHING” as a learning objective. I’m terrible at this. One of the biggest challenge of trying to make something as big and chaotic as “how to participate in open source communities” teachable is the question of what’s actually vital, and what’s nice-to-know but survivable-without. Yes, I flinch every time a student team does their regular status reports by uploading a Word document to a wiki — but then again, I chose to spend my teaching time with them getting them on IRC rather than setting up a blog because I thought the first was more important, so is that report better than no report at all, and should I really block them from forward progress until they have everything perfect? No. Okay. So awkwardness will happen in the beginning, and I should be more ready for that.

Final thought that struck me on this run through the book (although this thought does not come from the book itself): one thing that bothers me about teaching open source is that I sometimes feel like we’re overmarketing it. TOS teaches your students basic subjects! Communication skills! Real-world experience! Large codebases! Global contexts! Service learning! It cures cancer, makes dishes dry streak-free, and walks your dog!

Clearly open source can’t do everything. I’d like to see more thinking about what the open source way isn’t good at; I do believe it’s good for things (for instance, non-major classes or large intro courses) that most people might initially think it wouldn’t work for, but I also suspect that it may be terrible for some things that we (open source enthusiasts) believe it’s wonderful for. For instance, do open source communities really give students useful feedback? All right, under what circumstances and at what effort — and when is the tradeoff not worth it?

Things to ponder as I head back home for dinner.


Are we a profession?


I ran across an article by Howard Gardner and Lee S. Shulman, “The Professions in America Today: Crucial but Fragile,” Daedalus 134 (3) (Summer 2005) via a book by John C. Bogle called Enough. The article defines six criteria that determine whether something is a “profession”:

  1. A commitment to the interest of clients in particular, and the welfare of society in general.
  2. A body of theory or special knowledge.
  3. A specialized set of professional skills, practices, and performances unique to the profession.
  4. The developed capacity to render judgments with integrity under conditions of ethical uncertainty.
  5. An organized approach to learning from experience, both individually and collectively, and thus of growing new knowledge from the context of practice.
  6. The development of a professional community responsible for the oversight and monitoring of quality in both practice and professional educators.

Is open source community leadership a profession? What about open source software development? Engineering education? Let’s start with the easy one first.

Engineering education

  1. Commits to the interest of its clients (engineers and engineers-in-training, and the organizations who hire them and benefit from their work) and the welfare of society (through the developments brought about by the engineers so educated).
  2. A relatively young but growing body of scholarly theory and knowledge on how engineering is taught and learned, and how to prepare people to teach and learn it — along with a rich, long history of practice which may not have been “formally” (read: academically) recognized in full.
  3. Teaching engineering, teaching the teaching of engineering, and conducting research on and around the impact of that teaching is a specialized set of skills unique to the field.
  4. Most of my first-year classes are about developing the capacity to render judgments with integrity, particularly in research. We borrow from a plethora of other related fields for this — research ethics and whatnot — which means that even if the context is new, the thinking of practitioners on the topic is quite mature.
  5. I’m in a PhD program, which I think qualifies as “an organized approach to learning” — but will also note that the ability to specifically declare engineering education as a primary concentration is very new (about 7 years old).
  6. ASEE and other organizations foster the development of a professional community specifically geared towards engineering education.

Verdict: Yep, it’s a profession.

Open source software development

Note that I’m talking here about open source software development — the creation of software and related artifacts via growth of and participation in radically transparent, open-licensed, and frequently online-based communities — rather than software development/engineering, which is definitely a profession. Bear in mind that I’m hypothesizing this all off the top of my head, and a more rigorous investigation would be fascinating to do (but is outside the scope of this blog post, which I’m mostly hacking out to chronicle my brainstorms).

  1. Regarding clients and the welfare of society — many contributors to open source believe that it’s the Right Thing To Do, and many open source projects are worked on by companies who do have clients, but I’m not sure this entirely qualifies. If we’re “scratching our own itches,” I reckon we’re our own clients… my thinking’s unsatisfactorily fuzzy here, but I’ll move on to…
  2. …specialized knowledge, which I believe does exist, though it’s not very well-codified. This refers not only to the technical knowledge (open source software development as a subset of software development) but also specific tools and practices unique to open source — the prolific usage of mailing lists and chatrooms for even governance and finance issues, version control and bug trackers. Then there’s cultural knowledge, understanding things like “release early, release often” and “default to open.”
  3. Blending in with the above answer, I think that open source has distinctive (for instance) feature selection processes, marketing practices, and other examples of “the way we do things around here” that most of the non-open-source software engineering world finds unusual.
  4. We’re developing the capacity to render judgments; there are conflicting standards of integrity and plenty of debate — at the same time, perhaps this way is the way open source community has chosen to mature that facility. It’s a dynamic, rather than stabilizing, tradition of spirited public debate and at times a deliberate eschewing of standardization in favor of trusting future generations to also make the right decision under future circumstances we don’t understand now.
  5. Similarly, our “organized approach” to learning both individually and collectively is, to some degree, deliberately unorganized. That is to say, a common theme in every single “how to do open source” resource I’ve found, be it written, film, oral, or some other medium, has had an underlying message of “this world is unpredictable and chaotic, and you’ve got to get comfortable being lost, fast.” The work of TOS professors has begun to codify this more, though.
  6. The question of professional communities are interesting; certainly projects themselves serve as communities of practice, though I’m not sure whether they qualify as “professional.” Cross-project collaborations in the same domain — for instance, the Desktop Summit or Writing Open Source, as well as conferences both large and small, seem like signifiers of the existence of professional communities to me.

So the end verdict here is… possibly. If open source development is a profession, it’s not a very well-defined one — or maybe it’s that it looks different from most of the professions we recognize as professions, so it’s hard to see it as one or a potential one. Can something with such informal transmission methods for skill, values, and judgment be called a profession? (Do we want it to be? Who cares?) And is the informality just the result of history and the relative youth of the practices involved, such that we’re still usually unaware of the lack of these sorts of things — or are we now deliberately choosing that informality, and if so is it by design and intention, or because we’re reluctant to change?

Another possible answer is that open source development is not, and never will be, a profession — it’s a way of practicing the profession of software development, but not a standalone profession by itself. I’m leaning towards this answer at the moment, but I’m not sure how to pursue this line of questioning further to figure out on which side of the “profession” line it falls.

Open source community leadership

  1. We serve our communities. Our communities often exist to serve society (or create things that serve society). Absolutely yes.
  2. There’s not much of a body of theory or specialized knowledge specific to open source community leadership; it’s only within the last decade or so that practitioners have really started to write about it. There is a wealth of theory and knowledge from other related fields — for instance, community coordination in non-open-source contexts, sociology and organizational psychology — but practitioners don’t tend to seek those out. I personally feel like we spend plenty of time reinventing wheels that other disciplines have long since figured out. However, I think open source community leadership certainly could develop a body of theory and specialized knowledge, and… well, that’s part of what led me to grad school in the first place, figuring out more on how that kind of thing happens.
  3. If there’s a specialized set of professional skills and practices unique to open source community leadership, it’s probably (as of now) an unique intersection of practices from other fields; law (copyrights, licensing, patents), governance and politics (particularly grassroots movements), software development and engineering, marketing (especially newer theories and practices such as web-based marketing), and so forth. Not a problem; plenty of other fields began the same way (computer science as a mash of math, electronics, philosophy, and other things, for instance). (As I write, I’m conscious of mixing up the terms “field,” “profession,” and “discipline” — I wish I had clearer distinctions as to what each term meant.)
  4. We frequently discuss ethical dilemmas and judgments among ourselves, and while there isn’t a “code of conduct” formally ratified by a governing body of open source community managers, I think most if not all of us would have a very similar gut feel for what’s right and wrong — a gut feel that in some cases (licensing, transparency, etc) is different from the non-open-source norm. For instance, “it’s okay for community members to be disappointed, but not for them to be surprised” is a statement likely to resonate more with open source folks than others.
  5. We completely lack an organized approach to learning. As far as I’m aware, everyone leading open source communities somewhat accidentally improvised themselves through the job, colliding with more peers than mentors along the way. A fortunate few (myself included) had informal apprenticeships; other than that, there’s little one can say about “how to become an open source community leader” other than “just do it,” and little about what, exactly, that sort of role requires and involves. Something to fix.
  6. The question of a professional community is interesting — certainly things like the community leadership summit represent a first step, so I’d say “potentially emerging, check back in 5 years.”

Verdict: open source community leadership could definitely be a profession, and it seems to be headed in that direction. Let’s watch and help it along — not prematurely codifying nascent things we’re still exploring, but watching the maturity of the field in its own time. It’ll probably be useful to look at the development of other fields and professions, and the stages and milestones that led to the furthering of their maturity. Reading suggestions welcome — I’ll be keeping an eye out for this stuff myself.


First week of grad school in two words: learning again.


I’ve been acclimating to my
first week of grad school classes with great rejoicing for the amount of
reading that needs to be done. No, that wasn’t sarcasm. I’m thrilled
to be in an arena where my massive text-consumption abilities are truly
directly useful rather than an incidentally helpful sidenote, and I
actually enjoy reading (good) scholarly papers and books — including
textbooks — and having assigned reading from things like Educational Research: planning, conducting, and evaluating quantitative and qualitative research is like looking up and finding that I’ve stepped into a little heaven.

In preparation for my new academic life, Jason Aubrey referred me to the Microcosmographia Academica,
a lovely (if rather stuffy and outdated in places, notably with gender
roles) little piece of satire on academic politics done in old-fashioned
style. It’s only 15 pages long, but had me cracking up. It’s the
19th-century version of Piled Higher and Deeper.

When
the Syndicate is so stupefied that it has quite forgotten what it is
sitting on, it issues three minority reports, of enormous bulk, on some
different subject. The reports are referred by the Council to the
Non-placets, and by the Non-placets to the wastepaper basket. This is
called ‘reforming the University from within.’

I’ve also been working on cost-tracking and paring down into a minimal life that’s rich in the things I care about. Food is one. I’ve been looking at cheap, healthy, and tasty recipes, loving my Mark Bittman cookbook, and slowly reacquiring the habit of batch-cooking; a pot of beans, a pot of steel-cut oats, and a cooker of rice each week give plenty of dietary flexibility with soups/flavors/vegetables added spontaneously, which is the way I prefer to cook. Another realization: my eating habits are considerably different when I’m alone. For instance, my boyfriend is a carnivore with a distinctly Western palate, while I love tofu fried with so many chilies that it makes me cry. I have, however, discovered that red cabbage stewed with apples in vinegar are delicious, and that milchreis is a lunch, despite its suspicious resemblance to champorado, which is most definitely a breakfast food.

There are a lot of notes I want to write up tomorrow, which is my “Mel recovers from her first week and steps into a rhythm that will let her handle everything that’s going on” day (since I now know what I’m facing in terms of workload and schedule for the term). What’s coming?

  • I spent Tuesday evening in art class molding tiny robots from cornstarch-based bioplastic (and, like a good engineer, testing the effects of several variables on the process). The robots have now air-dried and set, so final photographs and writeups can be done; initial photographs look promisingly nifty (read: cute).
  • More copyright adventures! Wherein Mel discovers that one of her university librarians is actually also a copyright lawyer, attempts to decipher yet more legalese (but this time, helpful legalese), and begins investigating the formation of an open access repository focused on teaching open source (scope uncertain; need to learn more about open access repositories and find out more about what’s out there first).
  • A recap of my first week of engineering education (ENE) classes, as per requests from some of my old Olin friends with interest in the field.

I also have a backlog of POSSE work, a paper to write for SIGCSE (or rather, a paper to transcribe from two notebooks, since I’ve been writing it during my bus commutes this week), and some press inquiries to get back to folks on. Whoo boy. Oh, and a talk to prep for Ohio LinuxFest.

Life is good — I’m learning again, and that’s always a wonderful feeling.


Is there a lazyweb fix for the paradox of localization?


Via Sumana, a post by Amir Elisha Aharoni on the paradox of localization:

People
who don’t know English strongly prefer to use software in a language
they know… People who do know
English often prefer to use software in English even if it is available
in their native language. The two most frequent explanations for that
is that the translation is bad and that people who want to use computers
should learn English anyway. The problem is that for various reasons
lots of people will never learn English even if it would be mandatory in
schools and useful for business. They will have to suffer the bad
translations and will have no way to fix it.

So this is the paradox – to fix localization bugs, someone must
notice them, and to notice them, more people who know English must use
localized software, but people who know English rarely use localized
software… Even people
who know English well should use software in their language… especially
if it’s translated badly, because they are the only ones who can report
bugs in the translation or fix the bugs themselves…

I am glad to say that i convinced most people to whom i spoke about
it at Wikimania to at least try to use Firefox in their native language
and taught them where to report bugs about it. I also challenged them to
write at least one article in the Wikipedia in their own language, such
as Hindi, Telugu or Kannada – as useful as the English Wikipedia is to
the world, Telugu Wikipedia is much more useful who speak Telugu, but no
English.

My comment,
summarized: can the software be hacked to make this easy for
multilingual users to contribute to? Imagine being asked to opt-in for occasionally
having the application start up in (or switch into) another language
you know — for instance, “every 25th time you log into this website,
you’ll see it in Hindi” — with a reminder shown during those
language-switching times thanking you for aiding with translation
quality and giving you a direct link to report translation problems?

Because sometimes the problem is just a little too much friction;
switching the language of an application takes 5 too many mouse-clicks
to be thoughtlessly easy, and the vast majority of users don’t wake up
in the morning and think “you know, I could contribute to the localization of the software on my computer!” The lazier people can be and still help you, the more likely they’ll be to do it.

Which applications, or which types of applications, would be easiest to do this with?


Codecademy: intro js programming with no context-switching


Via my brother Jason, a lovely example of gamification: codecademy is an interactive javascript tutorial on introductory programming in javascript. It’s browser-based and gives you constant bits of feedback, rewards, and a constant helping hand of just the right level towards the right answer; both the code and the pedagogy appear sound. I haven’t tried really hammering on the platform to see if, for instance, malicious code could be injected, but it can certainly catch errors from its intended audience of blunder-prone novice coders.

One of the nicest things this site illustrates is how to build learning-supportive feedback directly into the doing of the task itself. It’s long been shown that context-switching is a mentally inefficient and disorienting task. This UI layout, with the tutorial content right next to (or in some cases, inside) the code environment itself, prevents you from needing to context-switch at all; compare this to a textbook, where you have to rapidly transition between reading about programming and actually doing programming. Lecture is even worse; not only do you have to context-switch constantly, you have no control over when you context-switch and what content is presented to you at what pace (when the teacher talks about a topic, they talk about that topic right then, regardless of whether or not it’s what you need to hear).

I’ve dropped the makers of codecademy a line to see if we can learn more about what they’re using for a backend. I’m curious what sort of tools are out there to support good pedagogical techniques, and how flexible/extensible they are for other applications. It doesn’t look like it’s open source right now, but we’ll find out, I hope.


In which Mel is saddened and bewildered by academic copyright assignments


Karl Fogel reminded me to check the copyright assignment for the scholarly papers I’m starting to submit on Teaching Open Source (TOS), particularly POSSE. I sat down this afternoon and did some digging, and here’s what I found — keep in mind these are the notes of an unschooled grad student new to the topic, uneducated on copyright, new to academic publishing, and probably contain errors. I’m posting these assertions in the hope that people will correct me if I make mistakes; if mistakes are pointed out I will edit this post and provide attribution for the edits.

TOS currently publishes and presents mostly within three academic venues: IEEE and ASEE, who co-host the Frontiers in Education (FIE) conference each year, and ACM, within which SIGCSE and the CS education conference by the same name are hosted.

Here’s what I’ve found about their policies. I don’t understand them very well, but what I think I do understand is depressing.

IEEE: copyright assignment policy for FIE 2011 (pdf)

Summary: You must assign the copyright to IEEE upon submission. They own everything.

Excerpts below.

The requirements in this Section shall apply to all manuscripts submitted to IEEE journals, transactions, letters, magazines, and conference publications… An author includes a completed IEEE Copyright Form during submission of the manuscript to an IEEE publication and thereby transfers the copyright of the manuscript to IEEE. (emphasis mine)

Submitted. Not accepted, submitted. If you want IEEE to consider your documents for publication, you have to hand them copyright assignments before they’ll even look at it. Even if they turn your paper down, they still own its copyright.

IEEE’S policy for permitting posting of IEEE-copyrighted articles… extends only to authors and their employers and IEEE organizational units. IEEE policy does not permit third parties to post IEEE-copyrighted material without obtaining a license or permission from the IEEE.

I can post a pdf of my article on my website, and I’ve been told many academics do this… which is a step in the right direction, but insufficient. Nobody else can post or share it, so you’re limited to one distribution node (yourself) with very limited rights.

Authors shall not post the final, published versions of their papers.

Wait, but then what can I post? Apparently the “accepted version of IEEE-copyrighted articles,” but… I can’t see what the difference should be between the accepted version and the published one. Layout?

Before submitting an article to an IEEE publication, authors frequently post their manuscripts to their own web site… [to invite] constructive comment from colleagues. Upon submission of an article to IEEE, an author is required to transfer copyright in the article to IEEE, and the author must update any previously posted version of the article with a prominently displayed IEEE copyright notice… Upon publication of an article by the IEEE, the author must replace any previously posted electronic versions of the article… including the IEEE copyright notice and full citation, with a link to the final, published article in IEEE Xplore.

All copies and versions of your paper that exist prior to submission and publication need to be ASSIMILATED BY THE BORG.

SIGCSE: copyright policy statement

You must assign the copyright to ACM upon acceptance in order to be published. They own everything.

ACM requires authors to assign their copyrights to ACM as a condition of publishing the work.

This is a little better. It’s upon acceptance, not submission, meaning that if they turn you down, you still hold copyright to your own work. Still.

While some other publishers have adopted licensing arrangements, ACM relies on copyright transfer. ACM finds copyright transfer more straightforward and easier to administer. In licensing arrangements, all the specific acts for which permission is sought must be forseen and stipulated. A transfer with an explicit set of author-retained rights is less likely to lead to false assumptions about what the “owner” may do with the work after signing an exclusive permissions license.

I found this section fascinating; it starts with same rationalization that Creative Commons does — namely, “the internet changes everything by making information distribution dramatically easier; we can’t foresee what will happen in a rapidly changing future, and it’s encumbering to have to keep going back to ask permission from original authors every time we want to do something to their work.” Creative Commons continues by saying “…and so the authors lay out clearly what they will and won’t permit, and we’re all set,” while this copyright assignment finishes with “…so we’ll take the copyright for ourselves, so everyone will just have to ask us.”

The entire section “2.5 Rights Retained by Authors and Original Copyright Holders” was an interesting read; at its most basic, it gives you the write to post what you’ve written on your own site (though, like the IEEE policy, others may not redistribute it). With the IANAL caveat applying to the rest of this post, this section also appears to state that you can only post works to a public location before copyright transfer. Does this mean that if you don’t remember to put it out there before handing ACM the copyright, you can’t post it publicly at all?

ASEE

I turn up with empty hands here, unable to find a blanket copyright policy. The only thing I found was a description of the ASEE Prism copyright policy — not the policy or assignment statements themselves, nor an indication of what applies to other ASEE publications. Anyone have better luck?

</depressing>

On a happier note, I’ve spent some time these past few days talking with librarians and checking policies on copyright; that’s still a learning journey in progress, but I will retain the copyright for my dissertation and therefore plan on releasing it CC-BY-SA. Similar policies seem to be in state for other universities; I haven’t yet found a counterexample that would not allow you to retain copyright (and thus open-license) your thesis, but I have not looked very hard.

Still, on the whole, this state of affairs saddens and confuses me. Fortunately, I’ve started talking with two of Purdue’s engineering librarians, one of whom is also a grad student in my department, and there are ways to navigate this (for instance, sign the form and attach amendments taking back a bunch of rights); I just have to learn them. I’ll write them up here as I do.


Gardening!


This summer has been a good time for learning shades of gray and how to navigate the gradient between black and white. I can let myself feel tired and not collapse; I can do solid work without running myself to the edge of exhaustion. I can do a little making, a little of a project, and then stop to pick it up later instead of heading full-steam-ahead until it’s done; I can have emotions without exploding, I can be awake and energetic without being hyperactive.

I still have a strong tendency and preference for sprinting, for slamming hard and running into one side or another of an energy spectrum, whether that’s work or physical or emotional, mental or school, anything. I do find I operate more optimally with a variety of sprints, or rather a high proportion of crazy-sprints to little-bits-of-constant-work, but it’s good to be able to operate the slider switch in positions in between, even if I may not end up using them that often once the school year kicks into gear.

There’s both too much to do and too little right now; my apartment is in shambles (I’m waiting for my vacuum to be repaired) and I want to plunge with more vigor and momentum into… something. A project that has my heart and soul. I’m trying to keep moving and learning until I look up and realize I’ve already got it, but I’m also trying to respect that I’m in a new environment and that I’m going to move more slowly for a while as I learn it. I’m a student again, in a new town and a new school with new people; my team at work looks very different now than it did a month ago, I live geographically closer to more of my family than I’ve been since I was 2 years old, and that’s heralding some really interesting shifts in my relationships with them…

I’m doing a lot of reading, an increasing amount of walking, and writing when there’s something coherent enough to write down.

One little project is an edible indoor garden. Mo warned me away from the incredibly proprietary Aerogarden, but the thought of having fresh herbs and vegetables year-round intrigued me. I’m trying to read up on hydroponics, because in a tiny space, fast growth and high yields will be important. Budget for this project is tight until I get my finances sorted out again (they’re fine, it’s just hard to keep track of everything between my Red Hat hours changing and my grad school fellowship starting and the ridiculous amount of summer finance backlog that I have to clear from work, because everything went through my corporate credit card). And that’s probably a good thing, because it constrains progress that should be constrained due to my utter lack of knowledge on how to get anything to grow. Otherwise I’d run out and buy $500 worth of equipment that’s completely wrong for what I’m trying to do.

So far, I’ve purchased and assembled a metal kitchen shelf ($50). This will be the garden shelf. (Actually, the top half of it will be the garden shelf. The bottom half holds my rice cooker, etc.) I’m looking at various hydroponic kits while simultaneously checking out component parts to see if it’ll be easier and cheaper to build my own, because “control water and nutrient solution to a bunch of plants” is one of the easiest embedded engineering projects one could possibly imagine, meaning it’s a good one for me to de-rustificate and learn on.

The stuff I’ve yet to figure out are the specifications for how the water and nutrient needs to get pumped… how much fluid, how fast, and in what sort of on-off cycle? I suspect the pump will be the hardest thing to source, because I know nothing about pumps and want to get something that’s quiet and has low energy consumption; I wonder if it would be more efficient to set up a drip system and have the pump only operate occasionally, at faster/higher volume, to fill the reservoir a few times each day. I wonder if I need to clean the pump every so often. I wonder how the water chemistry will change over time, and what I should do to monitor and respond to it.

Same thing for lights, which I plan on hooking to the same control; my apartment has a single window in a “bedroom” it’s too small to do much in, so we’re talking “artificial and electric” here (I may purchase a lamp even before getting plants because my kitchen needs more light). I wonder if LED lighting would be okay; it would certainly run cooler and with less electricity. A white LED doesn’t approximate sunlight at all; it’s got a different profile across the visible light spectrum, way more blue and way less red than sun… but maybe that’s okay, because I read somewhere that the blue light is what makes the foliage grow, and for the most part that’s what I’d be eating.

Musing. Learning. Planning. And in the meantime, starting to do sprouts as a first quick win to give me some momentum and fresh food. I wonder what the agriculture clubs and departments at Purdue know about hydroponics…


Stealing techniques from the TA workshop


I did pick up a bunch of “how to make things better-scaffolded and more familiar to academics” tips and observations at today’s TA training workshop. Some ideas I’ll be stealing:

  • Color-code worksheets by activity, which makes them easier to find and reference. “The pink packet” is much quicker to distinguish and grab than “the ‘managing learning environments’ handout,” and isn’t actually much more expensive to print.
  • In the handout packet for each activity, include a “Suggested Reading” bibliography referencing a couple good books and/or papers. They did this rather nicely with a front to each worksheet, which consists of a description, goal, learning objectives, and suggested reading all on one page. Then there were notes/content, then worksheet-type stuff in the back.
  • Every time I go to a workshop of some sort, I keep on being reminded — as much as we’ve entered the digital age, having something solid in your hands to take home is really important. There’s a sense of physicality there, a mental jog to make sure you have access to what was covered, and… just having a thing helps you remember to think about it. (Gosh, it’s weird to start thinking in physical space again!)