#AIYProjects is smart marketing. Makers who should know better happily submit their utterances for surveillance.

https://www.raspberrypi.org/magpi/google-aiy-voice-magpi-57/

RSVP'd to an event https://www.facebook.com/events/217271435422947/
post from
Baltimore Podcast Festival - Friday

Single Carrot Theatre

I'm going!

Super jazzed to be doing a LIVE We Have to Ask Podcast on Friday May 19th as part of the 2nd Annual Baltimore Podcast Festival!

Come tell Jonathan and I what our podcast should be about as we interview special guest Caroline Yates!

At last, Jonathan and I have a movie we can agree on!

https://wehavetoask.com/episodes/2017-05-02-152728/

post from
Would You Tap That? • Ep 46 - Clicker Games and Social Media

This Week in the IndieWeb Audio Edition • April 22nd - 28th, 2017

Audio edition for This Week in the IndieWeb for April 22nd - 28th, 2017.

You can find all of my audio editions here.

You can subscribe with your favorite podcast app on huffduffer.

Music from Aaron Parecki’s 100DaysOfMusic project: Day 48 - Glitch, Day 49 - Floating, Day 9, and Day 11

Thanks to everyone in the IndieWeb chat for their feedback and suggestions. Please drop me a note if there are any changes you’d like to see for this audio edition!

🔖 Bookmarked https://soundcloud.com/officialsxsw/the-future-history-that-hasnt-happened-yet-sxsw-2017
The Future: History that Hasn’t Happened Yet - Bruce Sterling Keynote at SXSW 2017

“When we say that our machines can render us irrelevant we are buying into a suicidal ideology that has the dark allure of a martyr operation. … This particular breed of lethal passive despair is one of our period’s major moral vices. … We don’t lack gusto because our life is inherently not worth living, we actually lack conviction and self-esteem because we are lying to ourselves.”

Replied to https://miklb.com/1560-2/
post from
I think you mean Octopress based on Jekyll, not WordPress. Before switching away, I got close to storing webmentions in Jekyll _data files. I still get twitchy thinking about Jekyll. Someday I think I’ll return.

Oops, good catch! I’ve updated the post.

I store my webmentions in Jekyll _data files, as well as reply contexts for reply posts like this one.

I’m pretty close to considering them “stable enough for public use”, but being unfamiliar with the process of releasing, maintaining, and supporting a Jekyll plugin, I am holding off at the moment.

Site Updates: Importing Old Posts, Disqus Comments

Jonathan Prozzi and I have challenged one another to make a post about improving our websites once a week. Here’s mine!

Back in 2008 I started a new blog on Wordpress. It seemed like a good idea! Maybe I would post some useful things and someone would offer me a job! I wanted to allow discussion without the dangers of letting strangers submit data directly to my server, so I set up the JavaScript-based Disqus comments service. I made a few posts per year and it eventually tapered off and I largely forgot about it.

In February 2011 I participated in the Thing-a-Day project on Posterous. It was the first time in a long time that I had published consistently, so when it was announced that Posterous was going away, I worked hard to grab my content and stored it somewhere.

Eventually it was November 2013, Wordpress was "out", static site generators were "in", and I wanted to give Octopress a try. I used Octopress' tools to import all my Wordpress content into Octopress, forgot about adding back the Disqus comments, and posted it all back online. In February 2014, I decided to resurrect my Posterous content, so I created posts for it and got everything looking nice enough.

In 2015 I learned about the IndieWeb, and decided it was time for a new approach to my identity and content online. I set up a new site at https://martymcgui.re/ based on Jekyll (hey! static sites are still "in"!) and got to work adding IndieWeb features.

Well, today I decided to get some of that old content off my other domain and into my official one. Thankfully, with Octopress being based on Jekyll, it was mostly just a matter of copying over the files in the _posts/ folder. A few tweaks to a few posts to make up for newer parsing in Jekyll, my somewhat odd URL structure, etc., and I was good to go!

"Owning" My Disqus Comments

Though I had long ago considered them lost, I noticed that some of my old posts had a section that the Octopress importer had added to the metadata of my posts from Wordpress:

meta:
  _edit_last: '1'
  _wp_old_slug: makerbot-cam-1-wiring
  dsq_thread_id: '604226727'

All of my Wordpress posts had this dsq_thread_id value, and that got me thinking. Could I export the old Disqus comment data and find a way to display it on my site? (Spoiler alert: yes I could).

Disqus actually has a export feature: https://disqus.com/admin/discussions/export/

You can request a compressed XML file containing all of your comment data, organized hierarchically into "category" (which I think can be configured per-site), "thread" (individual pages), and "post" (the actual comments), and includes info such as author name and email, the date it was created, the comment message with some whitelisted HTML for formatting and links, whether the comment was identified as spam or has been deleted, etc.

The XML format was making me queasy, and Jekyll data files often come in YAML format for editability, so I did the laziest XML to YAML transform possible, thanks to some Ruby and this StackOverflow post.

require 'active_support/core_ext/hash/conversions'
require 'yaml'
file = File.open("disqus_export.xml", "r")
hash = Hash.from_xml(file.read)
yaml = hash.to_yaml
File.open("disqus.yml", "w") { |file| file.write(yaml) }

This resulted in a YAML formatted file that looked like:

---
disqus:
  xmlns: http://disqus.com
  xmlns:dsq: http://disqus.com/disqus-internals
  xmlns:xsi: http://www.w3.org/2001/XMLSchema-instance
  xsi:schemaLocation: http://disqus.com/api/schemas/1.0/disqus.xsd http://disqus.com/api/schemas/1.0/disqus-internals.xsd
  category:
    dsq:id: ...
    forum: ...
    ...
  ...

I dropped this into my Jekyll site as _data/disqus.yml, and ... that's it! I could now access the content from my templates in site.data.disqus.

I wrote a short template snippet that, if the post has a "meta" property with a "dsq_thread_id", to look in site.data.disqus.disqus.post and collect all Disqus comments where "thread.dsq:id" was the same as the "dsq_thread_id" for the post. If there are comments there, they're displayed in a "Comments" section on the page.

So now some of my oldest posts have some of their discussion back after more than 7 years!

Here's an example post: https://martymcgui.re/2010/02/16/000000/

Example of old Disqus comments on display.

I was (pleasantly) surprised to be able to recover and consolidate this older content. Thanks to past me for keeping good backups, and to Disqus for still being around and offering a comprehensive export.

As a bonus, since all of the comments include the commenter's email address, I could give them avatars with Gravatar, and (though they have no URL to link to) they would almost look right at home alongside the more modern mentions I display on my site.

Update: Yep, added Gravatars.

Old Disqus comments now with avatars by Gravatar
🔖 Bookmarked http://idlewords.com/talks/build_a_better_monster.htm
Build a Better Monster: Morality, Machine Learning, and Mass Surveillance

“Above all, people need to have control of their data, a way to carve out private and semi-private spaces, and a functional public arena for politics and civil discourse. They also need robust protection from manipulation by algorithms, well-intentioned or not.”

Thanks to everyone in Hostel for waiting while we celebrated Jonathan’s birthday by complaining about soda in this week’s We Have to Ask Podcast.

https://wehavetoask.com/episodes/2017-04-25-100028/

post from
What's Wrong? • Ep 27 - Dew.S.A. All The Way