Hieroglyph 0.3.2: Slide Table and Interlinking

Since PyCon I’ve continued to think about how I can make slides from ReStructured Text documents and vice versa. I tend to write a lot of notes and text while I’m putting together a talk, and I like the idea of being able to keep slides and text output in sync. I’ve just a batch of changes to Hieroglyph, my tool for doing that. There’s some clean-up there — better handling of output paths when using things like blockdiag, code clean-up, etc — but there are two things I’m really excited about. First, two pull requests (one for Python 3 support, another for some documentation bugs), and second some new features that I think make Hieroglyph much more powerful.

Thinking about keeping slides and text (HTML) output in sync, it occurred to me there were probably times you’d want to easily switch between slides that provide an overview, and the HTML document for more details and context. Much of the work for 0.3.2 focused on enabling this interlinking. When enabled, Hieroglyph will add links to your HTML and Slide output that links to the other format. For HTML this can be enabled in the sidebar, as well as at the section level. For slides, the link is added next to each slide’s header, and shows up when you hover over the header. Check it out on the Hieroglyph documentation — just hover over any header and click the § link for the corresponding slides.

When I was working on my PyCon talk, I had anywhere from 50 to 70 slides in the deck at any given time (NB: yes, this is too many for a talk of that length). Navigating between them was challenging at times. The second feature I’ve added to Hieroglyph is designed to address this. When viewing a Hieroglyph presentation, you can now press the Escape key to see the Slide Table.

An example of the slide table in use for the Hieroglyph documentation (full size).

Press Escape again to return to the slide you were on, or click a slide to jump directly to it. You can try this with the Hieroglyph documentation slides.

Finally, what should really be considered the third new feature: expanded documentation. You can find expanded documentation on configuring Hieroglyph, styling your slides, etc in the docs online.

There are several additional things I’m working on for Hieroglyph. As Ilya points out in “All Presentation Software Is Broken”, web analytics are your “free lunch” if you use HTML-based slides. I plan to bake support for that directly into Hieroglyph. As I’m using Hieroglyph, I’m also realizing that slides don’t always correspond directly to sections in a document — sometimes (but not always) they’re a paragraph, list, or something else. Some way to indicate this may be helpful. If you find Hieroglyph useful (or interesting), let me know what you’d like to see.

date:2012-06-05 13:22:29
tags:hieroglyph, rst, slides

hieroglyph: Easy, Beautiful Slides with Restructured Text

I was happy to have my talk proposal accepted for PyCon this year, and happy with the feedback I received on my talk (Django Forms Deep Dive). But as I was putting my talk together the distracting question was not, “what should I say”, but “what should I say it with”. As a mentor once pointed out, “it’s more fun to write programs to help you write programs than it is to write programs.” The corollary I found over the past couple weeks: “it’s more fun to write programs to help you write slides than it is to write slides.”

I was putting together notes using reStructured Text and kept thinking that it’d be nice to generate both slides and longer written documentation from the same source. I’ve used docutils’ S5 generator in the past, but was looking for something a little more polished looking. Something like the HTML5 Slides.

So I wrote a Hieroglyph, a Sphinx builder for generating HTML5 Slides. I presented hieroglyph at the Sunday morning lightning talks at PyCon: you can see the slides, the reStructured Text source, as well as the HTML documentation generated from the same source.

I’m really happy with the output — it looks great in the browser, projects well, and because I’m using the html5slides CSS, looks great on mobile devices, too. I’m even happier that I’m able to work on my content in plain text. You can find the source on github.

date:2012-03-13 22:31:16
category:projects, hieroglyph
tags:python, rst, slides, sphinx

Food Blogging: The Dutch Delight

Since moving to our new neighborhood, I’ve been cooking a lot more, particularly from the church cookbook I grew up with (see also, my post on Sugar Crème Küchen). Since this sort of food seems to be a little uncommon on the west coast, and has been well received by my friends, co-workers, and — importantly — Richard, I’ve decided to start blogging about it.

You can follow my (likely intermittent) progress at thedutchdelight.com. And because this is, you know, social, you can follow the progress on identi.ca or twitter, as well.

date:2010-02-15 16:47:40
tags:cooking, projects, writing

RDFa Bookmarklets for Ubiquity

I’ve been aware of Ubiquity since it launched and have meant to dig in and play with it for a while. I’m becoming increasingly reliant on my keyboard for fast interaction with the computer; I blame gnome-do. So using the keyboard to interact more quickly with my browser had a lot of appeal.

Today I finally installed Ubiquity 0.5 and looked at converting the RDFa bookmarklets to Ubiquity commands. The bookmarklets are invaluable for debugging and exploring RDFa, but I don’t use them often enough to feel like I want them on my bookmark bar all the time.

Turns out that Ubiquity makes it really easy to convert a bookmarklet to a command. I’ve converted the Get N3 and RDFa Highlight bookmarklets and made them available. I’d like to convert the fragment parser as well but I think that’ll be a little more involved.

To use the commands, just install Ubiquity 0.5 (or later for you visitors from the future) and visit the commands page. You’ll see a notification at the top of the browser window asking if you’d like to install the commands.

date:2009-07-11 09:58:28
category:development, geek, projects
tags:firefox, javascript, rdfa, ubiquity

Readonly Attachments for Thunderbird 2

Last seen here two years ago, I’ve just updated Readonly Attachments for Thunderbird 2. It still does pretty much exactly what the last post describes, bugs and all.

Right now I’m just releasing a preview. At this point I’ve only tested it with Thunderbird on Mac OS X 10.5.3; I’ll test with Linux tomorrow[1]_ and if all goes well I’ll update addons.mozilla.org at that point.

UPDATE: (2008-07-13) Things seem to work fine on Linux, so we’re just waiting for it to clear the review queue at AMO.

[1]Unfortunately I won’t be testing on Windows. My work laptop dual boots but frankly it’s so painful to load Windows these days that I can’t bring myself to do it. I’m trying to do more with my spare time these days that I enjoy and testing for Windows just doesn’t pass that test. Sorry.
date:2008-07-10 19:10:48
tags:projects, readonly attachments, thunderbird

ccPublisher 2, Beta 1 is out the door

It’s late, it’s delayed, and it doesn’t do everything I wanted it to. But there comes a point when you just need to ship. As posted to the cc-devel this afternoon:

I’m pleased to announce the first beta of ccPublisher 2. This beta represents the first step towards final release. There’s still lots that needs to be finished and polished, but there comes a point when you need to start getting some feedback.

So what works in this release? We’ve successfully uploaded several items to the Internet Archive, and verified that the metadata travels successfully along with the item.

What doesn’t work or is missing? Most notably the installer is missing from this release: we’re 99% there on Windows and Mac OS X and 90% there on Linux thanks to some code cribbing from the Straw project. Beyond the installer, the crash phone home and UI niceties like icons are missing as well. Because the phone home code is currently disabled, please include a copy of err.log when reporting bugs or crashes. It includes all sorts of debugging output which can be helpful in tracking down the problem.

You can find the complete instructions for running this release in the Release Notes, and the Downloads are available at Berlios. Additional information is available at the ccPublisher 2 Releases page in the wiki. Note that Windows and Linux builds are available for download now, Mac OS X will be available later today.

Nathan R. Yergler Software Engineer Creative Commons

UPDATE Mac OS X builds now available for download at the link above.

date:2005-12-30 14:05:39
category:development, projects

Packaging Applications for Linux with Autopackage

One of the most frequent [STRIKEOUT:complaints]requests I receive for ccPublisher and ccLookup is for Linux packages. As one user pointedly put it, “how free can your app be if you don’t even support a free Operating System?” While I took issue with the user’s tone and statement (packaging does not necessarily equal support), I know that ccPublisher is more difficult to run from source than it should be. My stock answer to these requests has been that Linux packages are coming “real soon now” and “definitly by 2.0”. Well, with work on 2.0 moving along, I turned my attention to packaging this week. The approach I’ve chosen won’t make everyone happy, but I think it’s a good compromise for a small organization.

So what format are we packaging? RPM? DEB? Neither. We’re using autopackage. Autopackage is fairly slick — it uses a package specification file to build an installer. When the user runs the installer, they’ll either see a text, GTK or QT version of the front end, whatever’s available. Autopackage also allows us to be rather flexible with our dependencies. We decided early on that unlike the Mac OS X and Windows versions of ccPublisher, the Linux packages would actually require Python and wxPython as dependencies. There are lots of reasons for this, but the biggest one is that in my experiments “freezing” just doesn’t work as well under Linux. So Autopackage lets us specify dependencies using “skeleton” files. All I had to do was write a simple skeleton for wxPython that sets the appropriate environment variables with the installed version.

Finally, a major change in ccPublisher 2 is the split of the actual application from a more generic framework. The goal here is to make life easier for maintainers of derivative apps (like Ourmedia Publisher) — [STRIKEOUT:if] when we find a bug, fixing it in ccPublisher will generally fix it in other derivative apps. Autopackage makes life slightly easier in this respect by allowing us to specify a dependency on our framework (which I’m calling P6 for the time being) as you’d expect. If a user already has a P6 application (like ccPublisher) installed, Autopackage will just use that installation. If not, it will seamlessly download the dependency and install it. Slick.

date:2005-08-17 16:02:05
category:development, projects

wpLicense: Works For You?

So last month I announced the release of wpLicense 0.2. Since then I’ve received half a dozen reports of people having problems with the license selector showing up properly. I assume this is a bug in my AJAX code somewhere, but haven’t been able to track it down. So if it works for you or doesn’t work for you, I’d like to know.

If you have a second, leave a comment on this post. I’m interested in hearing whether wpLicense works for you or doesn’t and if it doesn’t, the problems you’ve run into. If you have had problems, details on your browser/operating system, and server’s PHP version would be extremely helpful. Thanks!

date:2005-07-01 07:30:58
category:geek, projects

Get Your CC Fix Here

For all you Mac OS X users who can’t get enough Creative Commons licensed content, your fix has arrived: a CC search plugin for Sherlock.

(cc search for text documents containing ‘yergler’; full size)

You can open the channel at sherlock://drop.creativecommons.org/sherlock/ccsearch.xml.

There are still some improvements to be made, like display of the license icons in the search results, but that’ll have to wait. If you have suggestions or feedback, let me know. I’ll make the source code available and blog about the actual development process a little later. Enjoy!

date:2004-10-12 12:19:45

Verifying Creative Commons Licenses

We’ve had command line implementations for quite some time, but today I released our new graphical lookup tool, imaginatively named ccLookup.

ccLookup is a GUI tool built on wxPython which allows you to drop a CC licensed MP3 on the app and lookup the verification RDF. There are currently a few cosmetic problems to be worked out, along with packaging issues. Currently we have a Mac OS X disk image and Windows .zip file available from SourceForge. Before we hit 1.0 we’re planning to create a Windows installer, as well as a Linux build.

Go on, try it; let me know if you run into trouble, or if you have any suggestions.

date:2004-10-04 21:00:28
category:development, projects