• 0

Replied to a post on aaronparecki.com:

I'm going to Homebrew Website Club!

I'm RSVPing "yes"

  • 0

Enjoying meeting everyone at the first @CodeforPortland hack night!

A photo by someone

  • 0

My Sigma Xi 2014 poster on the Online SEM project has been posted in the SEMterface project page. Check it out!

  • 0

TEDxVancouver - Nardwuar - Do It Yourself!


Screenshot of the feed

After a few days of hammering on Express, the IndieWebCamp IRC Log Atom feed is live and working. It grabs all of µF2 data from the logs and reformats it into an atom feed. Source is on Github. It makes it easy to subscribe to the last full days log file.

Working with the microformat-node library was a breeze. Glenn Jones did a really great job! Similar to pin13.net, there is a hosted version of the parser: glennjones.net/tools/microformats

  • moment.js makes working with time super easy.
  • While it would be nice to eventually render the Atom feed entirely in XML/XHTML, the easiest thing was to generate the html of the feed content separately, and then xml escape it. xml-escape worked great for this.
  • sanitize-html was a nice find and is easy to use. Unfortunately, the issue here isn't sketchy HTML tags.
  • Invisible unicode characters keep creeping into the logs, so filters were written to specifically target troubling characters. A good regex project would be to write a module that removes XML unfriendly characters from a string.
  • node-schedule allowed for lazy feed update scheduling. Ultimately, I want to enable push and deploy to a server that does not sleep. Right now feed polling keeps the heroku app alive.
  • The Atom Syndication page is what you want to look at when building a feed. The example they give is weak, but the rest of the document is clear.

The obvious direction to head in is a generalized h-entry/h-feed to Atom/RSS gateway. It wouldn't be that much more work beyond what has already been done here. It would also make h-feed publishing more practical and useful, as it would allow consumption in the existing readers that we have today.

  • 0

Just some notes from the past couple days

Trying to focus on smaller, more immediately useful projects lately. A few ideas on the table:

  • Atom feed for the IWC IRC Logs
    • It would be nice to track these logs through a feed reader.
    • The are marked up with µF2, so working with them is easy.
    • This project could set the stage for a more generalized tool.
    • Demonstrate the µF2 community's commitment to supporting RSS/Atom feeds.
  • Simple GH-Pages Blog Posting Interface
    • Prose is great, but development is too slow, and lacks many basic features and isnt mobile friendly.
    • This could take the form of a Micropub endpoint. This is dependant on the existance of posting interfaces though.
    • The main goal is to lower the barrier to posting. Git+Jekyll is great for offline, but easy/post from anywhere is more desireable at this point.

A few other ideas rattling around:

Ode to Bret Victor

Media for Thinking the Unthinkable from Bret Victor.


Bret Victor - The Future of Programming.


Bret Victor - Inventing on Principle from CUSEC.

Drawing Dynamic Visualizations.


Stop Drawing Dead Fish.


Github Pages PubSubHubbub Support Levels Up

A pleasing detail was noticed today. A while back, Github updated repository webhooks with a ton more options, events and granularity. This update didn't initially include page build events, but now it appears that it does. This is great news because it means that it is way easier to enable pubsubhubbub (PuSH) on a Github pages built blog.

How to enable PubSubHubbub support on Github Pages as of now:

  1. Make sure you add the appropriate headers to your feed required by PuSH.
    • <link href="https://pubsubhubbub.superfeedr.com" rel="hub"/>
    • <link href="http://bret.io/atom.xml" rel="self"/>
  2. You can check my feed as a reference: atom.xml
  3. Disable any other webhook events related to PuSH that you used to use for your site.
  4. Add a new webhook in your repository settings on Github.
    • I used https://pubsubhubbub.superfeedr.com/publish?hub.mode=publish&hub.url=http://bret.io/atom.xml
    • Switch out the URL of my atom file for yours.
  5. There is also a google run example hub that is open for general use: http://pubsubhubbub.appspot.com
  6. Select Let me select individual events and only check Page build - Pages site built.
  7. Save it! Thats it. You now have a realtime Github pages blog feed.

Previously, one had to add a delay between the repository push event and the webhook, as was discovered through the discussion over at ivanzuzak.info.

  • 0