Deprecated: Creation of dynamic property wpdb::$categories is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$post2cat is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 668

Deprecated: Creation of dynamic property wpdb::$link2cat is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 668

Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /var/www/twodee/blog/wp-includes/class-wp-block-list.php on line 199

Deprecated: Creation of dynamic property Automattic\Jetpack\Connection\Manager::$error_handler is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/vendor/automattic/jetpack-connection/src/class-manager.php on line 91

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Instagram_Gallery::$is_wpcom is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-instagram-gallery.php on line 23

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Mailchimp::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-mailchimp.php on line 17

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Tweetstorm_Gather::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php on line 21

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Tweetstorm_Gather::$is_wpcom is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/class-wpcom-rest-api-v2-endpoint-tweetstorm-gather.php on line 22

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Gutenberg_Available_Extensions::$wpcom_is_site_specific_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/gutenberg-available-extensions.php on line 20

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Memberships::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php on line 23

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Memberships::$wpcom_is_site_specific_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/memberships.php on line 24

Deprecated: Creation of dynamic property WPCOM_REST_API_V2_Endpoint_Subscribers::$wpcom_is_wpcom_only_endpoint is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/_inc/lib/core-api/wpcom-endpoints/subscribers.php on line 15

Deprecated: Creation of dynamic property Automattic\Jetpack\Sync\Queue::$random_int is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/vendor/automattic/jetpack-sync/src/class-queue.php on line 38

Deprecated: Creation of dynamic property Automattic\Jetpack\Sync\Queue::$random_int is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/vendor/automattic/jetpack-sync/src/class-queue.php on line 38

Deprecated: Creation of dynamic property WPCOM_Widget_Goodreads::$shelves is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/modules/widgets/goodreads.php on line 33

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /var/www/twodee/blog/wp-includes/script-loader.php on line 348

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$toolbar_classic_block is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 347

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$toolbar_block is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 349

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$toolbar_block_side is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 350

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$panels_block is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 351

Deprecated: Creation of dynamic property Advanced_Editor_Tools::$used_block_buttons is deprecated in /var/www/twodee/blog/wp-content/plugins/tinymce-advanced/tinymce-advanced.php on line 354

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: Creation of dynamic property WP_Block_Type::$plan_check is deprecated in /var/www/twodee/blog/wp-includes/class-wp-block-type.php on line 333

Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$object_id is deprecated in /var/www/twodee/blog/wp-includes/class-wp-term.php on line 198

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Warning: Cannot modify header information - headers already sent by (output started at /var/www/twodee/blog/wp-includes/class-wp-block-list.php:14) in /var/www/twodee/blog/wp-includes/feed-rss2.php on line 8
travel – teaching machines https://twodee.org/blog Fri, 20 Mar 2020 14:00:07 +0000 en-US hourly 1 https://wordpress.org/?v=5.7.1 Font Diner Workshop https://twodee.org/blog/17489 https://twodee.org/blog/17489#comments Fri, 20 Mar 2020 13:55:33 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
https://twodee.org/blog/17489 [...]]]> Three years ago I was standing in the pickup line at school waiting to collect my children. I recognized the guy next to me as the father of a kid that my son was partnering with on a project, so I struck up a conversation. I try very hard to avoid the “What do you do?” question, which assumes gainful employment. I don’t want stay-at-home dads, people down on their luck, or leeches living off their parent’s money to feel disenfranchised, so instead I ask, “What’s your station in life?” This guy’s station was that he designed fonts for a company named Font Diner.

We talked about the intersection between our two worlds. I had met Palatino in 5th grade while I was writing my first “novel” and casually fallen in love with type. I dealt with curves and splines regularly in my computer graphics work. But I really didn’t know how fonts worked. He said that he was looking at holding a font design workshop for graphic designers on my campus and invited me to join. Sadly, the date didn’t work out.

Fast forward three years to two weeks ago. It was Wednesday. I saw the guy again for the first time in over a year. He said that he was leading a workshop that very weekend in eastern Wisconsin and invited me to attend. On such short notice, I had to decline. I have large family, and I can’t just abandon them without advance warning. But when I got home I realized that my 11-year-old son might want to attend with me. He did want to, and my wife gave her blessing. So, two days later, I pulled my son out of school early— which I never do—and we drove 3.5 hours to Two Rivers, Wisconsin.

The workshop was held at the Hamilton Wood Type Museum. At the opening reception, we formed a word using certain letters. We then picked out the letter blocks for our word from trays of wooden type, which we then inked and pressed onto paper.

The Lake Michigan wind blew us back into the museum on Saturday morning. We cracked open Adobe Illustrator and threw into the background of our artboard a digital photo of our pressed word from the day before. Using the letters of this word to gauge sizes and shapes, we built up our alphabet over the course of the day. We started on the kiddy slopes of the straight letterforms, which include H, I, L, T, E, and F. Then we graduated to the diagonals, which include A, V, Y, W, M, N, X, K, and Z. After lunch, we were all feeling full, so we naturally progressed to the rounded letterforms, which include O, C, G, and Q. The day ended with the mutant partially-rounded letterforms, which include D, P, R, B, U, and J.

After a hard day of work at the foundry, my son and I picked up some food from China Wok. His fortune cookie taught him the Mandarin word for “to get a fever.” Mine taught me the Mandarin word for “to catch a cold.” This pairing was awkward given the looming threat of the flu-like COVID-19 virus that would shut down the country a week later.

We started Sunday with S. And then our leaders showed us the application Glyphs, which we used to turn our paths into an OpenType font file that we could install. Here’s the poster gothic font that I ended up with:

I am not happy with my rounded letterforms, but I got what I wanted from the workshop: an exposure to the font-making process and some time with my son. He was a steady worker through it all. Our fellow participants, all working adults or graduate students, kept pouring praise on him. I like praise, but not when it takes the form of surprise at how different you are from what people expected of you. My son boldly chose a serif font that first night, and this is what he ended up with:

Thanks, Font Diner, for a one-of-a-type experience.

]]>
https://twodee.org/blog/17489/feed 1
Coscars https://twodee.org/blog/17413 https://twodee.org/blog/17413#respond Sun, 15 Dec 2019 14:44:48 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
https://twodee.org/blog/17413 [...]]]> Something came in the mail this week from the University of Canterbury in New Zealand. The Department of Computer Science and Software Engineering (who use COSC as a prefix for their computer science courses) just held their end-of-year awards ceremony, the COSCARs. I was honored with this Most Wholesome Lecturer award:

How exactly I was wholesome I do not know. Some of my haiku can get a little subversive. But I am glad to accept.

I taught in the department in the first half of 2019. We were sorely tempted to move there. The landscape was magical, the weather was mild, the people had more emotions than just outrage and contempt, and the city united together in the wake of the mosque shooting in ways that I will probably never experience in America. Every day at lunch a group of folks got together and worked on the very challenging cryptic crossword from The Guardian. I’ve kept up this daily habit on my own, though I get my crosswords from an easier source. From time to time, my mouth waters when I think of the black currant chia bites from the bulk food section at the New World grocery store.

Alas, if we were to move, we didn’t see a way to stay connected to our families back home. Plane tickets are expensive for a family of six. Not to mention housing.

So, New Zealand is not our home. But it’s backup.

]]>
https://twodee.org/blog/17413/feed 0
FabLearn 2017 https://twodee.org/blog/16148 https://twodee.org/blog/16148#respond Tue, 24 Oct 2017 11:19:32 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=16148 [...]]]> I spent the weekend at the FabLearn 2017 conference. The conference brings together teachers, policy makers, museum staff, and nearly anyone who cares about learning by making. My favorite conferences are the ones that I write about. So I figure I should write about this one—so that I can add it to my list of favorites.

The trip started at 3 AM Friday morning. I got in my car, set the recycling out at the end of the driveway, and drove westward to MSP. Traffic was light, because the world was dark. It wasn’t until I got into the airport that the first incident happened: I entered a women’s restroom. By mistake. Sure, I found it funny that there weren’t any urinals, but I saw a pair of shoes that seemed like the kind I’d see in a men’s restroom. Upon emerging, however, my deepest fears were realized. I shook my head in disgust with myself and found my gate.

On my flight I read some of Young Children Reinvent Mathematics by Constance Kamii, which has given me lots of great ideas for exercises to try out on my children to figure out how they think.

But Cars 3 beckoned. It’s a story of growing old, which is something that has been on my mind a lot lately. My peers are starting to deteriorate, and I fear I might be too. The movie fell a little flat. The jokes were just not there. The conflict was mostly internal, and the mild external conflict relied very heavily on us caring about Lightning McQueen and his record. But it also seemed to be the story of Pixar, whose youth and superstardom has perhaps come to an end.

After landing, I hopped from an AirTrain to a BART train to a CalTrain until I arrived at the Palo Alto Transit Center. Next stop: Stanford University.

Several weeks before my plane took off, I had contacted an old friend who was now at Stanford. Dan and I had worked together at a summer camp 15 years ago. I was hoping he’d let me buy him lunch. I trekked up the long avenue through the wooded tailgating grounds that form the entrance to the campus. Amazingly, Stanford has not developed these many acres of green space, and it adds to the university’s majesty. I found Dan’s office. We hugged. Despite teaching at a big smart people school, he hadn’t changed.

Dan walked me around campus. He seemed to get lost rather quickly. In his defense, the campus buildings all look about the same, and there are many. He bought me lunch at the faculty club. Disappointly, Donald Knuth was nowhere in sight. We reminisced about our camp days. Like that time we put a bunch of canned vegetables on the counter of the women’s showerhouse just for the awkwardness factor.

In Gates Hall, we saw the schedule of the many on-campus recruiting events that are trying to woo Stanford students to jobs and internships. I tried not to be jealous.

Thanks to Dan’s extremely powerful faculty ID card, we were able to climb the Hoover Tower. I was surprised to learn that Herbert, Dan’s and my fellow Iowan, was in the first class at Stanford University. The exhibits suggested to me that perhaps he is given too much blame for the Great Depression. It sounds like he’d been trying to rectify the conditions that led to the eventual stock market collapse even before he was president. He also had started some projects to help recover from it, but he was dethroned before their impact was felt. Poor guy. But he became a humanitarian—a conservative one that loved and cared for the poor, even with policy.

We stumbled across the storage server that the Google founders used in their research on web search. It’s good to be reminded that things start humbly.

Then we saw Rodin’s bronze sculptures at the Cantor Museum. I learned there also of the history of the university. It started because one-time railroad baron and governor of California Leland Stanford Sr. lost his son to typhoid fever. Apparently, the 15-year-old Leland Stanford Jr.’s love of ships did him in. On a trip through Europe, the son asked to be at the helm of their vessel. The long exposure to cold and chilly air was too much for him, sadly, and he fell ill and died in Italy. His parents were paralyzed by grief. His mother even held seances to try to connect with him. Alas, they turned to philanthropy and built a beautiful university in his name.

A casting of Rodin’s The Thinker. I don’t blame him. There’s a lot to think about.

After that Dan and I parted ways. I found my motel. The kind folks at The Counter fed me. The coffee Oreo shake hit the spot. Thus ended day 1.

On Saturday the conference began. Michael Eisenberg opened with a keynote that was full of challenge, which is something all keynotes—all presentations, really—should have. Otherwise, why do we talk? (I had just started a chapter in Kamii which posited that one of the most important ingredients in cooperative learning is conflict.) Eisenberg’s theme was the body as the new frontier for making. In particular, he stressed that he was not as concerned about the “tattoo model” of human augmentation, in which youth voluntarily experiments with their bodies. Rather, he was concerned about adults engineering their children to be prodigies.

During the very first session of the program, I heard someone in the back of the room talking. It made concentrating on the speaker very difficult, but I figured the chatter would stop once we all settled in. It didn’t. I wondered why someone near the person wasn’t shushing them and contemplated getting up and doing it myself. But then I thought I could just put a spin on the situation and change my attitude. I imagined that the person in back was translating live to someone nearby. Lo and behold, when I gave the individual this positive interpretation, my focus returned. And it turns that translation was exactly what was happening. The English from the speakers was being turned into Portuguese by a couple of translators in attendance.

The conference program included a lot of panels. I really like keynotes. I sometimes like paper sessions, and even when I don’t, I acknowledge them as the most important part of advancing knowledge and raising up new investigators. I rarely like panels. They don’t have enough identity and focus. They are a staged conversation that no one owns. Audience questions are almost always relegated to the last few minutes. I attend them to learn what people think and how they behave. But I think we need fewer of these.

One of the sessions was on projects built by young makers. The kids presenting in the session had done some amazing things, but the followup comments from the audience raised an alarm inside of me. The kids were placed on pedestals, and rightfully so, but I fear what happens to a kid who is identified as perfect or superior. Ironically, we were in the same building as Jo Boaler, an educator who taught me about fixed vs. growth mindsets. I learned from her that we are to praise hard work and specific actions. Otherwise, we will create kids who freeze up when faced with challenges, too afraid to lose their identity.

In these rooms full of academic talk I almost never ask questions. Most of the questions that do get asked were either already answered by the speaker or seem to be more about the questioner posturing himself. However, I regret not asking one of the young makers a question. The young woman had made a violin bow that visualized the dynamics of various pitches with an LED strip attached to the bow. Her project was technically fascinating, and then she mentioned that she was applying for a patent, which are a scourge to the making community. If I had the gumption, I would have asked, “What leads you to pursue a patent?” My guess is some enterprising adult is at work here.

On my way back to my motel, I walked by this amazing tree. The owners of the house have tolerated the beautiful hazard, with a lot of its miss sprawled out just slightly above the roof. You can see the post propping up one of its many branches.

Dinner that night included garlic naan. There might have been some other food involved, but naan is always the main course. Thus ended day 2.

On Sunday, I had my thirty seconds of fame. I was one of many speakers in a series of lightning talks. Years ago, I was a student volunteer at an IEEE Vis conference. Fellow volunteer Alethea showed me the importance of distinguishing oneself in these kinds of talks. She had brought a violin and composed a parody of The Devil Went Down to Georgia to describe her research. So, taking her cue, I shared the following limericks to describe my work on Madeup, a programming language for generating 3D models:

I hold here some things made of code
Just ideas with atoms bestowed
I traced out the lines
Designed with cosines
And voila, they suddenly growed

Madeup is a tool for to learn
Like Logo, you move and you turn
With each little path
Laid out with some math
I programmed my grandfather’s urn

With Madeup perhaps we will see
Kids make computationally
The output is real
It’s something you feel
It goes from your brain to 3D

After we all had our thirty seconds, we stationed ourselves at our posters and waited for people to stop by. I was warmed to have many people request a demonstration and rejoice over finding something they could use to marry computer science and making in their classrooms. The number one question was if Madeup exported to STL, a 3D file format. I don’t understand why STL is the go-to format for slicers. I find it overly verbose. There are countless converters between the various formats, but I think it’s time I export into STL directly.

During one of the breaks I snuck over to the Stanford University Bookstore. Zeke at the counter asked what brought me to campus. When I mentioned 3D printing, he took off his wedding ring and wondered if I could make a “2D manifold embedded in three dimensions.” His ring, as you have probably guessed, was a Möbius strip. I told him I don’t often get to discuss topology with people. He was a mathematician by training, he said, as he counted out my change.

My final meal was at Terún, an Italian restaurant. I asked my waiter what he recommended, and then I ordered something different: the nduja, which certainly doesn’t sound like an Italian word to me. He insisted it was. I ordered it because it had zucchini on it. My waiter didn’t like zucchini, but he agreed to pass on my order to the kitchen. The pizza seemed to appear just moments after I ordered it. It was just what I wanted. As I was finishing my last bite, my waiter returned, surprised that I had been able to finish it all by myself. I told him to bring me the dessert menu. Thus ended day 3.

My nduja pizza, complete with zucchini.

One thing that Palo Alto and California really need to work on is communicating with the outside world via non-technological means. On Saturday I looked for postcards. The university bookstore had some, but there were all of the Stanford campus, and there wasn’t much variety. I also tried to buy stamps, but they were out. I looked for some postcards in another bookstore, but all they had were Golden Gate Bridge postcards. It seemed disingenuous to send those home to my family, as I hadn’t been there. I looked in grocery stores, drugstores, and stationery stores. I couldn’t find any that had to do with Palo Alto or California in general. The woman in the stationery store told me to let her know if I found any. On Sunday I went and bought three more boring cards from the university bookstore. They still had no stamps. So, I tried to find other places that sold stamps. The 24-hour postal station didn’t have a dispenser. I tried two gas stations, two grocery stores, and a FedEx station. No stamps could be found. So, on my way to the airport Monday morning I stopped at CVS. They sold me a book of stamps, but the clerk couldn’t tell me where the nearest postal dropbox was. I walked along the 10-minute route to the train station and found nothing. I took a CalTrain to San Bruno, walked a mile to the BART station, and found nothing. I got to the airport and asked about a maildrop. They had none. You people.

I’ve seen tire horses before, but never suspended inches from the street. I’m glad not to have to contend for space.

As I sat in the airport, I saw someone with a Jamf T-shirt on. Jamf is a software company in Eau Claire, one that I even worked for during a summer. I went over to him and asked if he worked there. He didn’t, but he was a client of theirs. I asked if he lived in the Cities, and he said was from Emeryville. I nodded politely and then continued on my way. But I had nagging suspicions. I returned to him and asked who he worked for. Pixar, he confirmed. I told him that I’d just watched Cars 3 on the flight over, and that every time I watch one of their movies, I question what I’m doing with my life. He graciously told me that teaching is important too. But he downplayed Cars 3. “It was okay,” he said. He promised that Coco was going to be really good.

I am glad to have finally visited the esteemed city of Palo Alto and the esteemed Leland Stanford Jr. University. I found it quite full of normal people, and my life as a Midwesterner adequately prepared me to operate in this not-so-foreign land.

]]>
https://twodee.org/blog/16148/feed 0
ITiCSE 2017 in Italy https://twodee.org/blog/15967 https://twodee.org/blog/15967#respond Sun, 16 Jul 2017 02:24:06 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=15967 [...]]]>

At the end of each ITiCSE working group I’ve been involved in, I swear I will never do another. Writing a lengthy report with a bunch of other humans is incredibly exhausting, and the process usually causes me to lose faith in mankind. But inevitably, I sign up again the next year, because I can’t think of a better way to experience an academic conference and to grow as a human. It doesn’t hurt that ITiCSE is usually held in another country. This year it was in Italy.

Last year my broken Spanish made my Peruvian ITiCSE a lot more fun. In order to bring some broken Italian with me this year, I dove into Duolingo about six months ago. Unfortunately, I made my goal not learning Italian, but getting my tree all golden. I learned enough to make for some very enjoyable and sometimes awkward conversations, but I’m pretty certain it will all be washed away quickly.

I landed in Bologna a day early, figuring it would take me that long to figure out how to get from the airport to the hotel. However, I needn’t have worried. The conference co-chair was on my flight, and he was getting picked up by the other conference co-chair, the one that actually lives in Bologna. They graciously allowed me to bum a ride. Grazie mille piu uno, Renzo! My first meal was a Bismark pizza, which was topped with bacon and a runny egg.

A Bismark pizza from Trattoria Pizzeria Belle Arti. I couldn’t find a lemonade anywhere I went. Only lemon soda. The Italians make everything frizzante.

The Hotel San Donato was my home for a week. The staff there helped me learn the way of Italy. Like the custom that when you leave the hotel, you leave your key. I didn’t know that. When you return, you just give your room number, and they hand you your key. No identification is needed. As far as I can tell, there’s nothing to stop you from getting the key to someone else’s room. I think the biggest difference between Americans and non-Americans is that Americans have incredible imaginations for all the possible crimes that a man may commit, and they work tirelessly to build up systems that will keep that man from completing his evil deed.

A view from the top of the Hotel San Donato. Red tile roofs were everywhere. You can’t tell here, but most of the green in the city was on top of the buildings.

The conference itself was held at Universita di Bologna, which is the oldest degree-granting institution in the world. Hopefully coding bootcamps and MOOCs don’t mess this up. Unfortunately, walking across campus was not nearly as inspiring as one would expect—for a couple of reasons.

First, graffiti adorned every wall, really violating any feelings of antiquity. I am reminded of the game Darkest of Days made by some alumni from a university I used to teach at. The game combines war with time travel, letting you bring weapons from one time period to another. Imagine the Civil War, but where one side has automatic rifles. Now imagine spray paint on buildings built centuries ago.

Second, everyone smoked. Even the dogs. As someone who grew up with a father who smoked and drank and died young, I had a hard time enjoying the sidewalks and restaurants and any place with people. Actually, the mornings were pretty good, because Italians tend to sleep in. If they are smoking then, they are at least in their beds. I was able to go on lots of runs through the old walled city and breathe freely.

A lot of the pizzas we ordered weren’t pre-cut. Your only tools were a knife, a fork, and your teeth. How refreshing it was to be given a pizza cutter at one restaurant!

Each day started off with a croissant and ended in gelato. In between was a lot of bread and cheese. We asked a number of folks about gelato al pomodoro—tomato gelato—but that question usually ended the conversation. I had a lot of pizza. But I soon found myself missing vegetables and eggs. A nice man in a market sold me ten plums for 2 euros.

Pomodoros were in nearly every dish. No complaints here. But that led us to believe that pomodoro gelato was somewhere to be found.

Our working group planned to make a game to teach pointers. We spent a considerable time deliberating over what this should look like. I wanted a very explicit metaphor that directly matched the game mechanics to the operations we apply to pointers. The previous week my son had been turning crossword puzzles into levels for platformer games, and this inspired me to pursue a mashup between crossword puzzles and a cooperative platformer. The rest of my group wasn’t nearly as interested in this theme as I was, and the group ended up choosing a Diner Dash-style theme of delivering food and drink between chunks of memory. Given that another group member is spearheading the development, I am fine with this direction.

A demo of crossword puzzler-platformer that I am working on. The pointer play can hook up to cells in the crossword, and the value player can carry letters around. They must work together to complete the puzzle.

Working groups are expected to produce a report on their topic. At some point during the conference, each group gets up and gives a summary of their work so far to all the attendees. One group explicitly asked the audience what they’d like to see in the report. This appeal seemed disingenuous to me. I would never ask such a question, because I do not participate in a working group to prepare a document for others. Really, I expect the kind of folks that would read such a report are the ones already in the working group. My participation is much more selfish. I want the opportunity to think hard about a topic out loud with others. Working groups are not about me having an impact on the world, but on the world having an impact on me.

Nevertheless, I am happy to say that our group is producing both a playable open-source game and a report.

One of the implicit undercurrents of the conference was that computer science educators are too much in love with tools. We build too many things, people seemed to say, and don’t posit enough theories and models of learning. As a toolsmith, I bristle at this accusation. Of course they are right, but what we need is to use the tools to establish our theories and models. I fear that I just don’t have the background in educational psychology to go beyond software development. And so far I have failed at starting any collaborations with folks that do have the background.

The opening keynote of the conference was about women in computer science in the Arab world. Sana Odeh contrasted the situation in Algeria, Saudia Arabia, and other Arab countries, where women are the majority population in STEM disciplines, to the United States, Australia, and Canada, where are women are the minority. She discounted any depictions of Arab women that paint them as repressed objects of pity. I think a few people (me) in the audience left feeling confused about the status of women in these countries.

A year ago, a former colleague invited me to submit something to COMPSAC 2017, which just happened to be in Turin and to overlap ITiCSE by one day. A student and I submitted a paper arguing that blocks and text languages really can’t be adequately compared right now, not until we can control for some of their major differences. The paper was accepted, and I was able to sneak out a bit early from ITiCSE to catch a train from Bologna to Turin to go present this paper.

Unlike ITiCSE, which is all about computer science education, this second conference lacked a cohesive identity. That’s not necessarily a problem, but most of the tracks were outside my areas of interest and expertise. I utilized my time to work on our game and add some features to Madeup that my student collaborators requested.

After all the work was done, my wife flew in. We spent a few days together in Turin. We called ourselves Ameridogs because the real word is americani, and cani means dogs. Ameridogs like us are not so common in Turin. They head to places like Rome and Venice. A girl at a bus stop was very excited to meet us. She was eager to learn a useful language like English, she told us, and that her Italian will do her no good.

On our last night in Italy, our hostess accompanied us to a French film that was dubbed in Italian. Afterward, she took us up to the heights overlooking the metropolitan area, where I accidentally ordered a fish slushy instead of a peach. In my defense, the Italian words are close: pesce and pesca.

One of the days was spent hiking in Gran Paradiso National Park, and getting soaked in a storm during our hasty descent. We stayed at a bed and breakfast that was just far enough away from everything that it added some stress to our days. The bus system is not friendly to the uninitiated. We did manage to get passes that let us take bikes from over 100 different stations around the city. These were free for 30-minute stretches. Our hostess lent us her bikes for a longer day of riding along the River Po, which would have been fabulous had the pedal not fallen off while we were still about two hours away from her home. The threading had stripped, and I ended up biking the rest of the way home very awkwardly with only one pedal.

My wife’s highlight of the trip was a hike in Gran Paradiso National Park. Here she is taking in the Cascate di Lillaz. We are still dry at this point.

We eventually made it home on plane that had both of its wings, but I appeared to have been flagged for something by airport security. I had to wait a very long time in customs. To pass the time, I watched a number of people get berated for having undeclared items in their luggage. Eventually a man asked me if I had any tattoos. I said no, and the conversation ended shortly thereafter. I was given no indication of the danger I presented.

Will I head to ITiCSE next year? Right now, the answer is no.

]]>
https://twodee.org/blog/15967/feed 0
Peruvian ITiCSE https://twodee.org/blog/14971 https://twodee.org/blog/14971#comments Sat, 23 Jul 2016 10:06:45 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=14971 [...]]]>

I had intended the summer to be a simple one. No teaching, no big grants, no painting the house. Then I learned that ITiCSE 2016 would be in Peru. This country is so far off the maps that chart out my life I knew that if didn’t go now, I never would. So, I submitted both a paper and a working group proposal in an attempt to double my chances at getting something accepted. The paper was rejected, but the working group made it in. So, I spent this past week gathering together with fellow computer science educators from exotic places like Illinois, Virginia, Ohio, Kentucky, California, Britain, Colombia, Spain, and China to talk about games for teaching our students about computer science.

Working Group 2: Game Development for Computer Science Education.

Before the conference, we’d discovered and played around 120 games that facilitated the learning of computer science concepts. During the conference, we collectively analyzed what worked in these games and what did not through the lens of educational psychology, games studies, and computer science itself. We began writing a report of our survey and our plan to make some of our own games over this next year. By the end of the conference, we were at about 40 pages in Google Docs. Ultimately everything must squeeze into 25 pages. Wish us luck.

Some of my friends think it’s a little excessive that I’d go all the way to Peru to talk to other educators about education, but these sorts of trips impact me in a way that East Lansing and Atlanta do not. I come back having learned what parts of my life are artificially propped up by my culture. I spend a significant amount of time working side by side with my new colleagues, and our foreign environment binds us together as we walk strange streets, climb mountains, and try to figure out what the Spanish-speaking taxi driver just said. A working group is the absolute best way to experience a conference—it’s like getting a new family for a few days.

While the memories are fresh, I share here a few notes about my journey.

Thursday

I got a little concerned when I found a bug on my airplane. The seat directly in front of me had two identical stickers, whereas the one to its left had two different stickers! Either I didn’t have a life jacket, or the seat was mislabeled. Since we weren’t going to fly over water, I kept my mouth shut.

The actual output.

The expected output.

My flight left from Minneapolis, where all the airport televisions talked about was about FBI director Jim Comey not recommending charges be pressed against Hillary Clinton. Having worked with many system administrators in my life, I could wholeheartedly understand the desire to run one’s own server. But that’s not the kind of thing one can say to a stranger, so I kept my mouth shut. I made it to Dallas just in time to brush my teeth and board my connecting flight. As I lined up to disembark, I learned that some police officers in Dallas had been shot.

On the plane from Dallas to Lima, I sat behind the family of Chuck, a professor I know who teaches in Nebraska. Chuck had decided to make this trip double as a family reunion.

Friday

On Friday I flew from Lima to Arequipa, the city which was to be my home for a few days. Peru has volcanoes. The airport is right below a couple of dormant ones.

An airport is one of the better things to place below a dormant volcano.

Chuck’s family let me bum a ride with them from the airport to their hotel. The taxi driver seemed to have a very serious concern about our arrangements, but we couldn’t figure out what question he was asking us. He tried to fall back on Italian, his first language, but we shrugged. Thankfully, he got us where we needed to be.

My hotel was just a few blocks farther on. I dropped off my bag and headed back to be part of Chuck’s family for the afternoon. At one of the intersections, some men jumped in front of the cars stopped at a red light and did some crazy acrobatics for the captive audience—presumably to make some money. At the hotel, we had lunch (burgers and fries!) and some much needed water (bottled!). Some of the family was from my home state of Iowa, and since Iowans bond easily, we bonded.

In the evening, our working group met for the first time, except for the member whose family’s flight had been delayed two whole days and the other member who had gotten to the airport only to find no luggage in his trunk.

As we walked from the university to a restaurant called Chicha, we saw a woman selling churros on the street. We thought we’d stop by her stand later in the week. Sadly, I never saw her again. Missing out on this churro is probably the biggest regret of my trip. At the restaurant, I ordered the lomo saltado. It was the second of many meat dishes I was to eat. There really isn’t much else to order.

Saturday

Having refreshed ourselves after our travels, our working group began its intense discussion and writing on Saturday. Each day we would walk from our hotels down the narrow sidewalks where two may not walk abreast and over the slightly dangerous La Avenida de Juan de la Torre to the university.

I wasn’t sure if this wall was painted with graffiti or art. The difference is mostly determined in the courts.

Peru has two seasons: rainy summer and dry winter. We were there in the dry winter, which meant 70 degree temperatures during the day.

Cacti line the street to the university.

One of the nice things about the dryness is that most buildings are designed around open air. You don’t have to open many doors, because there aren’t many! After leaving our hotel, the only door we had to open was the one to the classroom where we met for the day.

The green roof above our classroom. The hallway where the man is walking turns into an inner corridor with no door separating exterior from interior. All coffee breaks were held outside in the far tent.

Nowhere in town can you escape the looming volcanos. One of them, deceptively named Misti, is expected to blow in about 100 years. The tour guide wasn’t clear on what that would do to the city, but she assured us that it would hold off for us.

Chuck in the sombra. A dormant volcano keeps an eye on the foreigner.

Sunday

On my walk to the university, there was a learning center that offered to teach coding skills and mathematics. I felt compelled to enroll because I didn’t know what DFD and Pseint were. Apparently, DFD is short for data flow diagram, and PSeInt is a flow chart editor for composing programs. Unlike a great deal of software, PSeInt seems to exclusively target speakers of Spanish.

Between alpaca shops was a place to learn programming.

This day was the only day I didn’t see the school overrun with students. It was busy on Saturday and late into the evening. Based on the stickers on the hallway floors, the school seems to be genuinely interested in preparing these young folks for success.

When you speak with someone, do you look in their eyes?

Our working group took a divide-and-conquer approach to the report. The half I was not in generated a mural of post-it notes and diagrams to help organize their thoughts. I’m much more of a top-down organizer, and when I later joined the efforts of this half of the group, I had a very difficult time understanding what I was doing. Learning how others operate is a major benefit of these working groups!

Bottom-up clustering of report ideas.

Monday

The conference proper began on Monday. Mehran Sahami from Stanford delivered a keynote about gender balance in our programs and classes, advocating that we consider it in a more nuanced way to make sure that it’s truly our efforts that are improving the imbalance. In the afternoon, each working group presented a short summary of their efforts. When it was my turn to present, I began with a definition of game to make sure we were all on the same page. I showed a slide with a sequence of working definitions:

Our attempt to define what we meant by game.

One gentleman got a little worked up about the third definition. He questioned the fundamental premise of our research because we said “X is X.” This man could not tolerate a recursive definition told as a joke and labeled as an intermediate line of thought. Our intent was that the scope of game on the right-hand side referred to the popular concept of a game. Besides feeling abused by his objection, some sentences from Chesterton came to mind:

Imagination does not breed insanity. Exactly what does breed insanity is reason. Poets do not go mad; but chess-players do. Mathematicians go mad, and cashiers; but creative artists very seldom. I am not, as will be seen, in any sense attacking logic: I only say that this danger does lie in logic, not in imagination.

Later on, when a group on gender equity presented their summary, this same man questioned the premise that we should strive for gender “equality.” At this point, he disqualified himself from being taken seriously.

Tuesday

A regular tradition of ITiCSE are builtin excursions to see the surrounding area. (We pay for these personally, not out of state funds!) I took a walking tour through the city. A major stop on this tour was a visit to a museum where we saw in person the Ice Maiden Juanita, a mummified Incan girl who had been clobbered on the head as a sacrifice atop a mountain. This experience was grim. In many ways, the tour celebrated the rich history of the area, but this sick twist of child sacrifice brought in a really big rain cloud to ruin that celebration. I missed my family.

Then we went to the Plaza de Armas and I saw a young girl feeding the pigeons. I took comfort in the fact that she wouldn’t be sacrificed.

A young unsacrificed girl feeding the pigeons in the Plaza de Armas.

In the evening the conference banquet was held in a monastery. The tour beforehand shared about the tradition of sending second daughters there to be nuns, of the weekly self-flagellation exercises, of the nuns’ separation from the outside world, and of the reform that changed the way women enter the monastery in the modern day. The tour guide shared of one woman, a third child, who very much wanted to be a nun instead of marrying the man whom her parents had arranged her to marry. The parents had already sent her older brother to be a priest and would not pay this daughter’s way. So, she ran off and joined the monastery without her family’s financial support. Her priest-brother supported her instead, but she was given smaller quarters than the other nuns. She slept on a sheet of nails.

A nun’s bedsheet designed to drive out impure thoughts.

One of my favorite parts of the tour was that it took place at night. I’d be walking through a passage and look up, only to see stars instead of a ceiling. This kind of open-air building doesn’t happen in humid and buggy Wisconsin.

The monastery was a magical place.

Wednesday

After the conference ended, I went to the market with some fellow group members. The exposed meat and dairy products were overpowering. We could not understand how a string of 20 vendors all selling the same things could sustain themselves.

The market viewed from above. Beneath these roofs were colors, meats, cheeses, and trinkets.

The economy of Peru is centered on two things: taxis and tourism. The streets are filled with more taxis than personal cars, and each block has several shops selling Alpaca products. The fur of these Andean camels is very soft. I got my wife a sweater and my children some stuffed animal guinea pigs, all made of Alpaca fur.

Four guinea pigs made of alpaca fur for the four young men I left back home.

Thursday

I did not return home right away. Many of us conference-goers took some personal days to visit other parts of the country. Like Cuzco.

By this point in the trip, I was ready to swear off meat. But even my beautiful Tunupa salad came with chicken.

White meat at least was a break from the red meat that dominated the menus.

And I knew I’d probably not have another chance to try guinea pig.

Guinea pig was a bit greasy. The bone-to-meat ratio was high, so you have to be attentive and you can’t laugh too much while eating.

We took a tour of the town. A major theme of this tour was this strange symbiosis between Incan and Spanish culture and religion, all influenced by geography. A rendition of the Last Supper showed Jesus at a table with a guinea pig on a platter. Allegedly, it was not Judas in the picture, but Francisco Pizarro. Most Incan ruins had been razed when the Spanish landed, only to be restored when an earthquake toppled the churches that had been built atop them. Our tour guides talked about how they got the same feeling in an Incan temple as they did in church on Sunday. Vendors sold Spaniards vs. Incas chess sets.

My fellow conference-goers along the walls of an Incan ruin which had been repurposed as the foundation of a church by the Spaniards.

Our tour was delayed a bit by a traffic jam caused by a parade. These girls had taken part.

One of our stops was at a ruins named “Full Falcon” in Qechua after the Spanish-Incan battle that had killed many there. The Spaniards did not believe the Incans could have built the structures they did with such tight-fitting and large rocks, and believed demonic forces must have played a hand.

My new friend Michael standing before the baffling stonework of the Incas.

The Stone of 12 angles in Cuzco. Do you see all twelve vertices?

Friday

The next day I took a train to Machu Picchu. I sat with some folks from Illinois. John had run a bed and breakfast in Maine for 20 years. It was called Moon over Maine and initially had nine rooms, each themed around a planet. The Pluto room was small, and John had long wanted to knock down the wall between it and Neptune. When Pluto was declassified, he did exactly this. He shared many Uranus jokes, which he said never got old.

John and his mother Wilma enjoying the view through the valleys on our way to Cuzco.

Machu Picchu was filled to the brim with tourists. I was one of them, so I couldn’t grumble too much. The bathrooms normally cost 1 sol (about 30 cents), but they were free when we visited because the water wasn’t working. The site was beautifully inaccessible, surrounded by mountains. It was marked by attentive craft, with windows carefully aligned to solstice light, neighboring mountain peaks, and mathematical triplets.

Machu Picchu isn’t designed with accessiblity in mind, but 78-year-old Wilma made the trek!

John was smart. He wore a hat. I didn’t. My scalp got sunburned.

Our guide Fernando was wonderfully animated. He drew diagrams in the dirt with his finger, which is the mark of an excellent teacher. He had three pet dogs: Tony, Burro, and another whose name I can’t remember. He waited patiently for Wilma, who at 78 years old, had some trouble on the many steps. Still, she made it through to the end.

If you’re ever in Machu Picchu, look up Fernando. A great guy, a great guide.

Fernando said that Germans, Dutch, and Kiwis were the fastest hikers, and that North Americans made up 60% of the visitors.

All week long I’d been carrying around a bag of roasted almonds that I’d grown sick of. While waiting for the train back to Cuzco, I befriended some pigeons by sharing them. The little girl in Arequipa had emboldened me.

The girl hadn’t been eaten alive by them. Nor was I.

Saturday

My flight left late on Saturday, so I hung out at the public library in Cuzco and got some work done. I could not find books in this library, but they did have tables for working.

I found some street beggars to whom I gave the last of my Peruvian money, and these folks helped me recognize the privilege I so enjoy in North America, where I grew up with medicine and public services.

In the airport, Anthony from Canada helped me playtest a game I’d been working on. The volcanic rock sculpture of Arequipa that I had been given as a gift set off some alarms in security. So much for trying to save time by not checking any bags!

Sunday

Back in the US, I was greeted with the airport televisions reporting on Donald Trump and the Republican National Convention. Ahh, how nice it had been to turn this off for a while. After a shuttle ride from Minneapolis to Eau Claire, I was finally back home in the arms of my wife and children.

]]>
https://twodee.org/blog/14971/feed 2
Blocks and Beyond 2015 https://twodee.org/blog/12591 https://twodee.org/blog/12591#respond Thu, 05 Nov 2015 18:11:32 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=12591 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/class.jetpack.php on line 4255

Deprecated: Creation of dynamic property Jetpack_Carousel::$localize_strings is deprecated in /var/www/twodee/blog/wp-content/plugins/jetpack/modules/carousel/jetpack-carousel.php on line 339
A couple of weeks ago I went to Atlanta for the Blocks and Beyond workshop. This conference brought together a bunch of folks working on blocks languages to discuss our current work and future directions. Since I have been implementing a blocks interface for my Madeup language and had some things to say about it, I was invited to present. I share a few stories from my journey.

Getting to Atlanta went very smoothly. The plane didn’t crash and I didn’t get mugged between the train station and my hotel. At the hotel, however, the clerk gave me keys to room 918. When I entered room 918, I found some lights on and some clothes lying about. I exited and reentered only to find the same conditions. Thankfully, there was not a person with a gun in the room. I went back to the desk and got a different room.

The hotel was tall and the exposed atrium made my stomach lurch:

The atrium of the Georgian Terrace Hotel. It didn't collapse the whole time I was there.

The atrium of the Georgian Terrace Hotel. It didn’t collapse the whole time I was there.

When I get to big cities like this, I immediately set to work on two goals: find some postcards for the family and make the city mine by walking around it. I decided to head to the Atlanta Botanical Gardens. Unfortunately, my timing was off, because I ended up walking behind a strutting man who made me ashamed to be his fellow man. After passing a woman on the sidewalk, he would turn around, pull down his shades, and leer at her. When passing a woman in a car stopped at a red light, he would spin toward her and drop his own mouth open as he took in her beauty.

Eventually I arrived at the gardens. Traipsing through the green did wonders for my burnt out soul. I saw and smelled. Though not currently growing anything, this sculpture haunted me:

A plant sculpture from the Atlanta Botanical Gardens.

A plant sculpture from the Atlanta Botanical Gardens.

I thought I had visited everything when I found a new path that took me to twice as much space as I had already visited, with exhibits for orchids, jungles, deserts, a fragrance garden which nearly destroyed me, and a cooking demonstration. The sun was starting to set:

A fountain from the gardens illuminated by the sinking sun.

A fountain from the gardens illuminated by the sinking sun.

Since starting to work on Madeup, I’ve had a very difficult time not noticing algorithmic shapes. The paths in the gardens were no exception. What a pleasure to walk on such algorithmic simplicity:

The paths through the garden were laid out with these fun tri-hex paving bricks.

The paths through the garden were laid out with these fun tri-hex paving bricks.

You can be sure that I modeled these in Madeup:

Unlike the tiles in the gardens, these are Madeup.

Unlike the tiles in the gardens, these are Madeup.

The code behind a single tile is just some nested loops:

/usr/lib/ruby/vendor_ruby/rubygems/dependency.rb:315:in `to_specs': Could not find 'coderay' (>= 0) among 94 total gem(s) (Gem::MissingSpecError)
Checked in 'GEM_PATH=/var/www/.local/share/gem/ruby/3.2.0:/var/lib/gems/3.2.0:/usr/local/lib/ruby/gems/3.2.0:/usr/lib/ruby/gems/3.2.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.2.0:/usr/share/rubygems-integration/3.2.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.2.0:/home/johnch/.gems' , execute `gem env` for more information
	from /usr/lib/ruby/vendor_ruby/rubygems/dependency.rb:327:in `to_spec'
	from /usr/lib/ruby/vendor_ruby/rubygems/core_ext/kernel_gem.rb:57:in `gem'
	from ./coderay:24:in `
'

Regarding the actual conference, I was very glad to meet Neil Fraser, the primary developer of Blockly at Google. Blockly is what I’ve been using in Madeup, but I had been running into some design constraints that were preventing my further progress. For example, Blockly considers functions to exist at the top level, independent of all other code. This makes supporting closures challenging, as closures capture the current environment when a function is defined. If a function exists outside all environments, there’s nothing to capture. Without closures, all outside information would need to be passed in as parameters and all computed values would need to be explicitly returned. I asked Neil if I could just add previous and next connections to the function blocks to situate them inside the regular program flow and he said, “Probably.” He was right.

With Neil’s humble nudge, I was able to make steady progress on my blocks-to-text translation:

This code started off as text and was automatically translated to Blockly blocks.

This code started off as text and was automatically translated to Blockly blocks. Thanks, Neil.

A central theme of the conference was what I regarded as a battle between text and blocks. Many people think there is no such battle, but after talking with some of the major players in the blocks world, I’m certain the battle is real. After seeing a demo of a blocks language that’s striving to be a general purpose language, I asked its developer about the psychological importance of being able to make mistakes while crafting code. I said that many people don’t feel in full control when they believe they are using “training wheels.” He said that this phrase makes him mad, and that parsing text is artificial and that we should be editing abstract syntax trees directly. He was certain text languages will die. As a lover of text and its liquidity compared to blocks, this scares me.

This conversation and others lead me my current outlook on the blocks vs. text battle: the war is only about the interface. We incorrectly associate block languages with the slow mouse and text languages with the fast keyboard. I look forward to a day where I don’t have to worry about indentation, semi-colons, braces, and linebreaks. We can have a language where we do not have to worry about these superficial details that only make the parser’s or human reader’s lives easier. But this language must still allow a recall-based user interface, one where we can use the keyboard to generate programs quickly and share code between programs. If that language is a blocks language, so be it.

]]>
https://twodee.org/blog/12591/feed 0
To Canterbury https://twodee.org/blog/7989 https://twodee.org/blog/7989#respond Wed, 28 Aug 2013 18:19:25 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=7989 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
My summer included a trip to Canterbury, England. The University of Kent was hosting a computer science education conference, ITiCSE 2013. I was presenting and I also participated in my favorite part about ITiCSE: a working group.

Arriving in Canterbury was painful for a variety of reasons:

  • The rainfall during my departure was so intense that the O’Hare roof couldn’t keep up. My second favorite part about traveling to ITiCSE is the chance to read books, but it was difficult to find a seat in the airport that didn’t have a leak overhead. My reading material? Jane McGonigal’s Reality is Broken.
  • Despite my calling ahead, my bank hadn’t cleared my debit card for overseas use. I left on a Thursday and I was able to get a hold of my wife at 4:45 PM on Friday. She called our bank and got the problem rectified shortly before close of business. Thank goodness for marriage.
  • On landing in London, I visited the men’s room but left a small bag. By the time I discovered my loss, I had already left the baggage claim area where the restroom was, and going back in required a complete security check. So much for getting to Canterbury early.
  • Getting from London to Canterbury involved riding the Heathrow Express to Padding Station, riding the London Underground to St. Pancras International Rail Station, and riding a high-speed train from St. Pancras to Canterbury. All was going well until I couldn’t figure out which train was high-speed. I got on the wrong one, turning a one-hour trip into a three-hour one. The teacher in me saw the cause of my trouble: the people I asked help from were too familiar with the transportation system. Their instructions leaned on knowledge that I didn’t have.
  • The hospitality office at the University of Kent had no record of me paying. I was stubbornly confident that I had paid, but then doubted myself. So, I pulled out my credit card and paid. When I returned home, I found records that I had indeed paid. Kent refunded me, but the exchange rate had changed so much I lost $16 out of the deal. That’s a nice pancake breakfast for my wife and me, gone forever.

Once settled in, I looked at the university map and saw a maze-like structure. I was sure it was a hedgerow maze, probably with a dragon in it.

Not the hedgerow maze I was expecting. Rather, its dual. Still, it was something to help me decompress after the trials of being up in the sky for a day.

The real labyrinth wasn’t quite so glamorous, but it was a nice way to unwind after a stressful arrival.

Being in England again brought back many memories of my honeymoon with me wife. We had traveled here 10 years earlier with backpacks and a tent to embark on our new life together. I saw again the small garden-yards, the buildings of bygone centuries sticking out anachronistically next to shoe stores and business complexes, and the melting pot that is England. Oh, I saw fun expressions too.

Are you barmy about salami? I am.

One night we ate at the Old Buttermarket. Above our table was a call for lifelong learning.

The Old Buttermarket serves pub fare and pub wisdom.

I ordered the oven pancakes, which were better than the waiter made them sound.

Oven pancakes, made of cheese and vegetables and crepes. No sweetness. “Comfort food,” said the waiter.

One of the things I must contend with when traveling internationally is criticism of America. I’ve yet to hear a good argument that there’s anything special about Americans that make them so abominable. I’m pretty certain that if these same critics had grown up in America, they would be just like the Americans they tease. I think what provokes their criticism is the pride and fear that is common to humanity. My country puts that universal brokenness in the public eye, and that brokenness is mistakenly called American.

Did you know begging is illegal in Canterbury?

Mikey stands behind the no-begging law.

The University of Kent hosted the conference and put us up for the night. That was really great. Full English breakfasts everyday. Cheaper rates. And fun artifacts.

Toilets with options. How much flush do you need?

I’m guessing they use the term grit as an abstraction. This box contains sand, but the next one might have sugar, which would go well with the tea.

We should do this in America.

Conferences tend to have special banquets one of the nights. We took a bus to Dover, which is pretty close to France. The food was enjoyable, I learned about the Codespells project, and I got to see the famous white cliffs.

My friend Jamie in the Dover town hall.

The white cliffs of Dover.

Strangely, I did not attend many sessions. The working group paper and my own presentation kept me busy. It was worth missing things though, because now my Erdős number is 5. I did see one of the creators of Haskell speak, not on Haskell, but on computer science education.

The most meaningful part of attending ITiCSE 2013 came from working closely with my working group. I signed up so that I could see how real education researchers operate, and I spent most of the time early on feeling very inadequate. Statistics and psychology are not my strong points. However, my colleagues in turn expressed envy of my technical skills and classroom ideas. We all need each other. It’s just like the vandalism says.

Not in four years. Not in forty.

]]>
https://twodee.org/blog/7989/feed 0
SIGITE 2012 https://twodee.org/blog/6187 https://twodee.org/blog/6187#respond Fri, 14 Dec 2012 16:41:52 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=6187 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
In October I had the good pleasure to visit Calgary, just east of the Canadian Rockies.

The purpose of my visit was to present a paper on Paul Wagner’s MOBILE project. We wrote this paper not certain where to publish it. In our literature readings, we noticed much related work came from SIGITE. It was very refreshing to start with writing instead of a particular target conference. My relationship with my wife started in a similar manner. We were good friends for three years, and our marriage just sort of fell out. I like not evaluating something based on what I can gain from it.

When I landed at the airport, snow greeted me. I climbed onto the city bus at the airport. A few minutes later, airport personnel started launching snowballs at the driver. Canadians are very familiar people.

The next morning was foggy.

The Calgary Tower obscured by fog.

But the fog didn’t hamper me from my first plate of eggs benedict ever. I’m not sure what hollandaise sauce is.

My first plate of eggs benedict, a la the Blue Vinny Diner.

Sadly, the conference was a bit far afield from me. I wanted to hear and talk about code and algorithms and cool software that I could use. That’s not necessarily what IT is about. Coupled with the fact that I was presenting someone else’s work, I was nervous and eager to get the presentation behind me. The talk went okay, and several people gave me their business cards to learn more.

I got a good dose of downtown.

The grateprints in the sidewalk were fun. I wasn’t wearing heels, but if I had been…

It takes a big brain to construct buildings so tall.

Near my hotel was a house that had been turned into a public house—if you know what I mean. I learned it was a hipster dive, just the kind of place that I go to feel awkward in. The place was full, so I sat awkwardly at a table with a girl whose mother was Canadian and whose father was Japanese. Our conversation was awkward. Once again I heard the theory that Canadians were so nice because the cold drove them together into solidarity. After an awkward half hour, she kindly informed me that if I wanted to order something, I’d have to go up to the counter.

The Hop In Brew Pub saw more cardigans than did public television.

I figured this might be my last meal before getting eaten by a bear in the Rockies.

On Saturday morning, I escaped early from my hotel, picked up a rented car, and sped away to Banff National Park, by far the highlight of my trip. I left so early that the sun still hadn’t come up by the time I arrived. Neither had the park gate attendant. Admission was free. I began a good five-hour hike. My feet were soaked in the first fifteen minutes. I was about four hours in before I saw any other humans. It was beautiful.

Everything awesome in one place.

I tried to climb up Fairview Mountain, but my tiredness overcame me and I hiked back down. Later I read in a guidebook that I should have passed up the first trail I saw that went up through the scree. The second one would have been much more passable. Oh, well.

The fair view from Fairview Mountain. The clouds were monsters.

The park has an interesting scheme to keep animals from becoming roadkill. They lined the roads with fences. But to avoid cordoning off sections of the park, they also installed over- and underpasses every mile or so. These are also lined with fences, so the wildlife can roam freely but never reach the roadways.

Animal crossing. Roads are for cars, not carcasses.

Thanks, Canada.

]]>
https://twodee.org/blog/6187/feed 0
ITiCSE 2012 https://twodee.org/blog/3825 https://twodee.org/blog/3825#respond Wed, 11 Jul 2012 13:15:37 +0000
Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383

Deprecated: Creation of dynamic property WP_Term::$cat_ID is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 378

Deprecated: Creation of dynamic property WP_Term::$category_count is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 379

Deprecated: Creation of dynamic property WP_Term::$category_description is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 380

Deprecated: Creation of dynamic property WP_Term::$cat_name is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 381

Deprecated: Creation of dynamic property WP_Term::$category_nicename is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 382

Deprecated: Creation of dynamic property WP_Term::$category_parent is deprecated in /var/www/twodee/blog/wp-includes/category.php on line 383
http://www.twodee.org/blog/?p=3825 [...]]]>
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /var/www/twodee/blog/wp-includes/wp-db.php on line 3030
Last week I went to Haifa, Israel, to attend the Innovation and Technology in Computer Science Education (ITiCSE) 2012 conference. I presented my work on SpecCheck and ate a lot of pita bread. Here’s what I saw on my visit:

The view from my hotel room. A lot of people live in apartments.

The city at night.

I never figured out why the bedspread in my hotel room was like this.

This is a mezuzah on my hotel room door. See Deuteronomy 6:4-9.

A regular part of ITiCSE are (personally funded) excursions. I went to the Sea of Galilee.

Lunch on our excursion. Our tour guide reminded us to tip generously.

The Jordan River is much smaller than I thought. The Old Testament account of Naaman's healing comes to mind.

Signs and bulletin boards were covered in Hebrew, Arabic, and Russian. I accidentally called an Israeli number when trying to phone home, but no one answered.

They tell it like it is in Israel.

Desert at our banquet. They called it a chocolate hedgehog.

The hedgehog and my working group leader.

My second favorite part of the banquet was the cube displays suspended from the ceiling.

Some highlights of my trip included:

  • Coming to terms with the fact that the greatest value of conferences is the chance to talk with people. This conference, I talked more than read books, and it was excellent.
  • The mobile working group I was part of. Arguing is more productive when you’re stuck in a room with the same people for two days.
  • Learning about Sphero, a robotic and programmable ball, which I’ll use in my mobile development class this fall.
  • A neato problem solving tutor.
  • The pleasant woman at the post office who exchanged my money at a decent rate and with no commission. She even looked up on her phone who the figures on the bills were when I asked.
  • Figuring out how to use Gmail’s talk feature. It’s cheap. I was able to call my family almost daily.
  • Getting asked by two American women that I had never met before if I was Chris Johnson. They’d been given the task of finding me after I’d left my passport at the airport’s money exchange station.
  • Successfully bringing back a bag of ultra-soft and ultra-delicious pitas into the United States.
]]>
https://twodee.org/blog/3825/feed 0