• 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

  • 0

Replied to a post on scripting.com:


I attended IWC 2013 and have helped out with a few of the bi-weekly meetups due to my locality and interest in their principals. I have also been an enthusiastic follower of your writing and your work on fargo/opml.

I would be really bummed to see you write off a much larger group of individuals actively developing and exploring their own piece of the independent web based off the criticisms on RSS/Atom sourced from a few vocal community members.

As with any spec or technology, anyone can lay out issues or weaknesses about them, as has been done with RSS/Atom on the IWC wiki. I like what you said though: "Until then, we use what works -- for us." And that is what I see coming from the IWC community.

I don't think anybody is advocating for an RSS-less web. In fact, everyone I have met in the IWC actively publishes rss/atom feeds (remember, action > words).

But RSS never lived upi to its full vision and is in a super sad state. While the rest of the world signed up for Facebook and twitter which effectively turned these into the status quo 'news reader' for most people, RSS and atom bickered and hardened their way into its current sorry state. Between market stagnation due to google reader, browser vendors giving up and removing discovery features, facebook and twitter pushing rss feeds into obscurity/oblivion and the general hearsay decline of feed quality, the growing popularity of the JSON api, RSS feeds really have a lot of ground to regain. Those who saw the light of feeds love them and defend it (thats me!). Those who never figured it out moved on. Even the resurgence of readers after the big google reader shutdown have really aimed to only clone that old experience.

Core to to the indieweb community are the principals: [do what you can to]: Own your data, build for yourself first, focus on UX and design over protocols/formats.

These are the ideas that, as far as I can tell, bring people together to actually build the web they want to see, rather than wait for it to happen. As far as I can tell, these are the kinds of principals that are consistent with, if fully aligned with, your work on fargo. With this, I say: Same team!

A healthy community is diverse, and your manifesto is definitely a shared vision of individuals involved with in the IW community (just look at the mixed content feeds of waterpigs.co.uk or werd.io !)

Communities can be tribes, I know this, but lets not knock each other over the details. As far as I can tell, everyone is moving in the same direction here.

The wiki is open to all who own their own independent website. Discussion on feeds, beyond what everyone already knows them to be, is important if we want a an independent web that can exceed the experience of the silos. Your perspective is valued and would make a positive contribution to this discussion, but I also understand if you choose to keep it within your own domain.

Side note: Microformats2 happened to be the protocol used in the cross-site commenting experiments that some people are working on. If it was a fashion statement however, an alternate JSON representation of a page served by the web server would be the preferred format today, right? (maybe just with hipsterdev) But would it be just as valid as an RSS 'feed' of a single post? Again, the idea in this experiment is to push things forward, and improve feeds beyond a list of different post types.

  • 0

Here are my slides for the Physics society meeting tomorrow:


Free Pizza! In building SB1-201 on the Portland State Campus.