Go forward in time to June 2011.
This year I am mentoring two students doing very different work:
Akshay Gupta (kitallis) is working on various aspects of the Document-centric Gnome project, most importantly on the integration of a Zeitgeist-based journal into gnome-shell. He's also adding little improvements to applications so as to make people's workflows easier, such as having "Open in file manager" commands to apps that edit documents.
Vinicius Depizzol (vdepizzol) is working on various aspects of the Gnome website. He's making Wordpress be able to use xml2po for translation, so as to make it plug into our translation infrastructure — and that with the purpose of using Wordpress as the CMS for www.gnome.org. He is also working on creating a "Projects" section so that end-users can find Gnome apps more easily. Then, making other subdomains more usable, and creating a social section for the Gnome Community.
If you see them around on IRC or mailing lists, please give them a warm welcome!
A while ago, after GUADEC in Istanbul, I posted some photos of the painted vaults in the Blue Mosque, and how I wanted to use those ideas to decorate the vaults in our house.
There is a very pretty traditional pattern for woodcarving that is loosely based on a fleur-de-lis. It's fun to do, with just compasses and a straightedge.
1. Start with a horizontal line; this will be a guideline not present in the final pattern.
2. Open your compasses. Draw a half-circle above the line.
3. Make the rightmost end of the circle your new center. Draw a half-circle again, this time under the centerline.
4. Extend this pattern as long as you need.
5. Close your compasses a bit. Go back to the beginning of your pattern and draw another half-circle above the centerline.
6. Repeat this smaller arch on the other half-circles.
7. Bisect the space between the smaller arches (you don't need a fancy "bisect a line segment" construction; just do trial-and-error, or binary search, by opening your compasses to about the right size and then adjusting them). Draw a quarter-circle.
8. Draw the same quarter-circle along the pattern.
9. Open your compasses to the space between the tips of the small quarter-circles. Put the center on one of the tips, and draw a small arc on the opposite tip.
10. Again, repeat this small arch throughout the pattern.
11. Put the center of the compasses on one of the tips of the leaves. By eye, open the compasses so that they reach up to a vertical line struck from the big half-circles. Draw an arc for half of the top petal.
12. Again, repeat the half petals. Erase the centerline, fix up the intersections by hand, and you are done! (SVG).
For the vaults, I wanted to start with a horizontal strip at the base of the little vault on my office's reading alcove, a kind of decorative frieze for the perimeter beam. This frieze will form the base of the decoration for the rest of the vault.
To make the guide or centerline, we used a flexible tube water level — you really need four hands for this. We put four nails, one in each corner, all at the same level. With the nails we could tie string and get a nice taut centerline, and then use that as a reference to draw the centerline on the wall in faint pencil. Then, I drew the pattern all around the perimeter beam, with gaps in the corners, as the pattern didn't match at the corners automatically. Also, the alcove is slightly rectangular, not square, so I had to "stretch" the pattern in two sides of the alcove by padding some extra decoration between sections of the pattern.
Here you can see how the long sides of the alcove got an extra section in the middle of the pattern, to make it fit, and how the corners got adjusted to match. This is done just by trial-and-error with the compasses.
But what about the vault itself? To paint the frieze I could just stand on a chair, but the vault is taller. Out comes the ladder.
And yes, the pattern also works around a circle, with minor adjustments. I had to make a big pair of wooden compasses to draw the big circle, centered on the apex of the vault.
Luciana later used the big compasses to draw a pizza on a sheet of cardboard, of course.
Note: "Finding and Reminding" is Gnome-shell's terminology for the project to make it easy to deal with your everyday data. It intersects Document-Centric Gnome in various ways. The following is the narrative that I sent to Gnome-shell-list in order to design the user interface for Finding and Reminding, and the narrative includes the paper prototypes I made.
It's Monday, your first school day after a short vacation from the Easter holiday. Before vacation, you had been working on writing several reports about your recent field research on the coiling habits of the boa constrictor.
After blowing away a thin layer of dust from your computer (what's with the cleaning staff at this campus, anyway?), you turn it on and log in.
The first thing that greets you is the journal of the last work you did before you went on vacation. Beside it you see an area for reminders of things that you need to get done soon.
You see familiar items in your journal, in the "Last Week" section: two or three documents detailing different aspects of the boas, pictures of boas that you took in their habitat and that you have been editing for publication, and several IM conversations with your colleagues. One of those says "conversation with Paco" - your Uruguayan colleague, plus a little annotation you added for that conversation: "retrograde boa". You are on the trail of a peculiar specimen that lives in the southern hemisphere, and yet it coils *anticlockwise* around tree branches.
Thankfully, nothing is in the area for reminders. You were careful to deal with soon-to-be-pending things before your vacation.
Coming back from vacation means your mailbox will be full, and you need to go through it. You exit the journal, and open your mail program. Some mails from Paco catch your eye, so you click on them first. He has a draft report about the retrograde boa, and some really good pictures, he says.
You save the attachments to your Downloads. Surely enough, the journal notifies you that new items appeared. You click on the notification; the journal comes up again, and you see your items there.
"I don't want to read Paco's stuff just yet", you think. "First I'll see if there is anything urgent in my inbox, and goddamn, I need a coffee." You drag the files from the journal into the reminders area, specifically to the "Today" section - you want to keep those items around for reading later today.
You go and get your coffee.
Coffee by the computer effectively makes you one-handed, so you use the remaining hand to scroll through your mail. Nothing out of the usual, fortunately; only mail that you can reply to at leisure.
With coffee and an awakened brain, it's a good time to see what Paco was up to. You bring up the journal and click on his draft report in Today's reminders. Oowriter opens. You read while you sip your drink.
A notification tells you - your sister is on IM and wants to talk to you. You put your mug down. "Yo, dawg", she says. "Yo", you reply. "Mom's birthday is in two weeks." "Oh, you are right. I get a cake, and you get a present?" "Sure. Gotta go; ttyl."
You fire up a browser. Google-maps for "bakeries in Dough St.", for that's where you know the good cakes are. There's the link for Wallace and Gromit's shop. You drag the link from the browser, hover on the journal, and as it appears, you drop the link into the "Next week" section of the reminders. An icon appears there, and a text entry - "Cake for mom", you type. You close the journal.
You read on. Paco's draft is quite good. You can certainly reference it in your own papers. So, you bring up the journal again and your documents are right there in the last work you did before vacation. You open your documents and cut and paste the citation.
Paco is online. You IM him. "Mind if I use your retrograde photos in my report?" "They are CC-BY-SA, dawg. Go ahead." "'k. Sweet draft, BTW.".
You bring up the journal again, and you make it cover only half the screen. You drag Paco's pictures from the reminders section into your oowriter document, which of course causes them to be inserted. "Oh, damnit", you think, and then you sigh, as you resign yourself to having to fix the image anchors and wrapping later.
You greedily lick the last drop of coffee from the rim of your mug.
It's nice to be back.
* * *
It is Monday, a week later. You come to school, boot up, log in. The journal greets you with the results of a busy week: lots of ephemeral material around your three reports - images, conversations, web pages.
The reminders for "This week" catch your eye: you see "Mom's cake" there. Click on it - your browser opens. Scroll down to find the phone number for the bakery; dial after requesting an out-line from the university's phone system. Wallace answers, and you can't understand what he says at first. You hear a tea-gulp, "oh, I'm terribly sorry, I had a cracker in my mouth. How may we help you?" You order the chocolate cake with almonds, so you can pick it up tomorrow. "Certainly." As you are hanging up, you hear a faint scream, "Gromit, get to it". That dog can bake, you think. You leave the reminder there, so you'll remember to pick up the cake tomorrow. After that you'll remove the reminder so it doesn't roll over into your journal when the week ends.
Paco IMs you. "I'm screwed. A fucking boa ate my laptop. I can see its shape outlined in its belly." "Dude! I told you not to..." "Tell me you have those drafts and the pictures I sent you." "Got them. Will mail you." "Thanks. I have no idea what will happen, but it's certainly material for a paper on the digestion of plastics and rare metals." "Take care, Paquito."
You halfway roll your eyes, but you are thankful that it is the laptop and not Paco that is inside the retrograde's belly. You open a mail composer and select Paco's email address. Click on the journal. Scroll back to Last Week. You drag the pictures and the documents to the mail composer.
Before you hit "Send", you type in the message body, "Do send me pictures of the belly outlining the laptop."
During the day you look for web pages from other researchers. The pages appear on your journal. But the next time you bring it up, you find your false-positives there. Some idiot blogged about "Airborne ophidians" - you were thinking of snakes on trees - but really it was a pompous review of "Snakes on a plane". You don't want that silliness cluttering your journal. So you bring up the Eraser tool and click on the offending links. Neat and tidy, again.
* * *
You've been piling up reminders of things-to-read next week. They are various PDFs that you found while looking for web pages from other researchers. When you dragged those PDFs to the "Next week" area in the reminders, you put the files into two groups - boas and other snakes. The reminders area lets you place items in a free-form organization, so you can spatially group things together as you need.
Once you finish your reports, you mail them to your advisor - again, by dragging from the journal into your mail composer. You also drag the reports into the "Next week" reminders section, and type "Poke advisor if he hasn't replied yet" into the space for an annotation. Next week you'll see that the reports have bubbled up to the reminders for "This week", and you'll remember to ask that unreliable bastard if he hasn't read your ouvre yet.
Two days later, your advisor surprises you: he *has* read your reports and likes what he sees. But he would like to see what Paco said first, and he asks you for his paper.
You bring up your trusty journal. In the Search box you type "Paco" and the view scrolls to the first match; other matches get highlighted. "Conversation with Paco" matches but that's not the item you want; you hit "Next" a few times. While "draft.odt" doesn't match directly, it *also* gets highlighted as it was saved from a mail attachment that came from Paco. You send the file to your advisor, and as soon as you hit "Send", you start wondering if you should have asked for Paco's permission first.
* * *
It is in this way that the journal helps you keep your working set of data for easy referral, and also how it helps you set up ad-hoc reminders to do stuff. You can trust that the work you do will appear in your journal; you can trust it to be the lifeline to your everyday work.
* * *
Finally, a picture of the journal, the reminders, and a little explanation.
Here is an XCF
of the various parts of the paper prototype, if you want to
play with it, or print it and
play with test a friendly victim.
I have not had a chance to do the test on my wife (she has been busy, too), but hopefully this will turn out obvious problems like the last time.
Recently I find myself frequently typing up something for a wiki in Emacs (which prefers explicit line-breaking for paragraphs), and then pasting the results in a wiki (which turns a single line of text into a paragraph). So, I need a way to collapse those multiline paragraphs into a single line — the reverse of M-x fill-paragraph. Courtesy of the treasure trove that is the Emacs wiki:
(defun unfill-paragraph () (interactive) (let ((fill-column (point-max))) (fill-paragraph nil))) (defun unfill-region () (interactive) (let ((fill-column (point-max))) (fill-region (region-beginning) (region-end) nil))) (define-key global-map "\M-Q" 'unfill-paragraph) (define-key global-map "\C-\M-q" 'unfill-region)
Go backward in time to April 2011.Federico Mena-Quintero <email@example.com> Wed 2011/May/11 14:18:51 CDT