Low-tech screencast
Common Craft has a fun and engaging style for presenting “Web 2.0” technologies with paper and white-boards. Found at Presentation Zen, but I chose a different video than the two that appear there. Enjoy “Wikis in Plain English”…
Common Craft has a fun and engaging style for presenting “Web 2.0” technologies with paper and white-boards. Found at Presentation Zen, but I chose a different video than the two that appear there. Enjoy “Wikis in Plain English”…
My talk at CCSC seemed to go okay. I took more inspiration this time from Garr’s Presentation Zen blog and book. I have always been relatively pleased with my visuals, I think because I received some good advice early on, and I’ve always had a reasonable sense of design. But this is the first time I let go of some long-cherished approaches (for one, titles on each slide that successively tell the story) and the first time I used ‘full-bleed’ stock photography. Some of the slides also contain videos. Here’s a slide-sorter view of most of the visuals (some redundant progressions elided). Click to embiggen.
I think Garr’s advice worked because this talk is more persuasive than technical. I’m not certain yet how I would adapt a talk about compilers or type theory. But in a sense, all conference talks are persuasive. You just don’t have time to convey the finer technical points in that format, so really the goal is to persuade the audience that your result is worth investigating after the talk is over.
In April, I will be presenting a new paper — Something for Everyone: AI Lab Assignments that Span Learning Styles and Aptitudes — at the Consortium for Computing Sciences in Colleges, held in the exotic, distant locale of Staten Island. A preprint can be found in the publications section of my site.
I will be building a repository and wiki about the assignments. With any luck, it will be available in time for the presentation. Shown here are some photos from our Connect 4 tournament during the first year I used these lab assignments.
The spring semester has wrapped, the grades are in, commencement was last Thursday. I’m still in that transition period between the frenetic end of a semester and the calm agenda of the summer. Maybe one thing preventing me from moving on is the pile of 4000 alumni surveys in my office, waiting to be sent out. I’m putting together a gaggle of student assistants later in the week to stuff envelopes. All in the line of duty (as chair of the outcomes assessment committee).
In late April, I gave another instance of my song-and-dance for non-majors, the presentation that I like to call “Adventures in computing.” In this case, it was part of “The College Project,” in which we invite a group of talented high school students onto campus once a week throughout the spring, to interface with professors in different fields. The idea isn’t explicitly to recruit them to LIU, but just to turn them on to higher education in general.
My presentation is just about 1.5 interactive hours (with props!) to convey a flavor of what computing is all about, and some of the “big ideas” that have come from it. Posted here are the slides and three handouts I used.
When it rains, it pours: I’m attending three conferences within the span of just about five weeks! Early in March, I presented at a conference on Combinatorics, Graph Theory, and Computing in Boca Raton, Florida. The talk was about a certain kind of subgraph for extracting test sequences from a formal protocol specification. It was mostly the work of a colleague at LIU — I joined the project fairly late — but he wasn’t available to present it, so I went. We intend to submit the work to a math journal sometime in May.
Model checking, type theory, and testing all have similar aims — improving the correctness and reliability of software and hardware systems — and yet the techniques seem to come from different communities, with different vocabularies and outlooks. I know of a few papers that have tried to build bridges between these areas, but I’ve worked in all three and I’m still not sure how they relate!
The second conference was the IEEE Data Compression Conference, this past week in Snowbird, Utah. I presented our work on type-based compression of XML. This was strange, being in a completely different community, and yet I found another person — a functional programming guy — who was in the same situation! The conference went reasonably well, and I did learn a lot. I learned that I have no understanding of (or affinity for) image compression, with its wavelet transforms and peak signal-to-noise ratios. Text compression just makes much more sense to me.
I saw very little of it, but Utah was indeed beautiful. The constant backdrop of mountains around Salt Lake City was breathtaking. I imagine if you live there it’s easy to lose sight of them. Just like how we never noticed how often the twin towers appeared in the background of movies filmed in pre-9/11 NYC — until you watch them post-9/11 and they suddenly stand out.
A ski resort is probably not my ideal conference location. I don’t really ski; I’ve been against it since grade school, when I observed the regularity with which my skiing classmates returned from trips with all manner of broken limbs and sprained joints. No, I tend to like urban settings, preferably foreign ones, where there are lots of other things to see and do, and not everyone stays at the same conference mega-hotel. Other recent conferences I’ve attended were in great cities such as Glasgow, Warsaw, Nice, London, Vancouver, and Paris.
Finally, tomorrow is the start of the Trends in Functional Programming conference here in New York City. I’m not presenting at this one, but since it’s in town it seemed worthwhile to go. I’ll have to miss most of Tuesday’s events because of my teaching schedule, but half of the day is reserved for a city tour, so that’s not a big loss for a NYC resident! ![]()
Each spring, our campus has an event called “discovery day,” where faculty and students get together in one space to exhibit their latest research and scholarship, using posters and demonstrations. In some ways, a presentation at an event like this is necessarily shallow; it just isn’t possible to appreciate one another’s contributions without a lot of background in the field. Sometimes this is even hard with different sub-disciplines within a computer science department, to say nothing of exhibiting to your colleagues in chemistry, media arts, or political science. Nevertheless, I think it’s a great exercise. I’m reminded of Feynman’s sentiment (paraphrased): “If I can’t teach a freshman lecture on it, it means I don’t really understand it.”
Last year, I presented my work on MetaOCaml Server Pages, which at that point was under consideration for a journal (now accepted). This year, I wanted to exhibit some work that is more preliminary. In fact, this is the first public mention of the result. My poster is called Type-based compression of XML streams (1.4M, PDF). [If you choose to print it, be careful to specify shrink-to-fit-page, because the PDF is formatted for the full size 40×30ʺ poster. It should still be readable shrunk to a letter-size page.]
The idea is basically to use information from the XML document type to encode the tree structure extremely compactly. Depending on the nature of the document type, many tags will take no space at all in the compressed form, and others are represented in just a few bits. This is essentially similar to how Amme, et al. encode their SafeTSA intermediate language.
In fact, my goal for this work is to be able to use XML libraries and tools for compiler intermediate representations. Other than that application area, I was never especially interested in XML. To me, it seemed that S-expressions were an improvement on XML, and they were around in the 1950s. (Lately I’m finding many advances in computing seem to be summed up by the phrase “same sh*t, different buzzword.”)
Our results are still very preliminary, and I’m probably not ready to release the code just yet. But as it is implemented now, our technique does extremely well on very ‘taggy’ XML documents, and is still somewhat reasonable (though not always the winner) on more ‘texty’ XML documents. Our best-case examples are XML results from the National Center for Biotechnology Information at NIH. I expect compiler intermediate representations to be extremely taggy too, but more on that as things develop.
One important advantage of our technique (over just gzipped XML, for example) is that I can generate SAX events directly from the compressed tree representation. This should prove to be much faster than uncompressing to text, and then re-parsing the XML.
My research pages have now been ported to the new site design. I’m proudest of the publication list, which now contains nifty JavaScript doodads to reorganize the list without waiting for a round-trip to my server. Try the ‘Research’ tab at the top of the page.
This also serves as the first post in a few significant WordPress categories (aka topics, aka tags). I will post to the ‘publications’ topic whenever I add a new publication to the list, and I will post to ‘talks’ to announce upcoming talks. Finally, the ‘research’ topic will be for any ideas, commentary, or other tidbits that are relevant to my research interests.