Marty McGuire

Archive for May 2017

Wed May 31

HWC Baltimore 2017-05-31 Wrap-Up

Baltimore's second May 2017 meetup for Homebrew Website Club met at the Digital Harbor Foundation Tech Center on May 31st.

Below are notes from the "broadcast" portion of the meetup.

jonathanprozzi.net - Since last time, did some cosmetic updates to site. Also did a lot of traveling. Catching up now on finishing a series of posts he started at last HWC (May 10th). Now one-and-a-half posts behind his schedule. Wants to stick with consistency of writing something once per week.

amyhurst.com - Working on a website for work (something that is usually on her "some day" list). Gathering student questions from emails into an FAQ on a Wordpress site.

martymcgui.re - Added JSON Feed to blog.adafruit.com because it was easy and why not? Also talked about webmention notifications in his home Matrix chat server via Hubot. Is interested in more textual/conversational interfaces for things in his life and fewer apps and pages to remember to look at.

metamage.com (jjuran.org) - All sites now HTTPS. A couple are HTTP/HTTPS for classic MacOS clients, others are HTTPS-only. Used PNG/GIF and CSS to make a screenshot of an emulator animate when moused-over (bottom of https://www.v68k.org/advanced-mac-substitute/). Some fun browser issues w/ image handling (dithering?) in Safari. His site uses a homebrew Perl static site generator, shared CSS across all his sites. Planning to rework it in the V language.

Chatted about Micropub becoming a W3C Recommendation, including going through Aaron Parecki's announcement post, which is a very clear walk through of the development process. Talked about micro.blog as an up-and-coming social platform that supports Micropub out of the box. Talked about the power of social nudges (like "how's that project going?") for making progress on projects. Two of us (jjuran and martymcgui.re) will be at IndieWeb Summit in Portland later this June and are looking forward to it!

Top-to-bottom, left-to-right: jjuran.org, amyhurst.com, martymcgui.re, jonathanprozzi.net

We hope that you'll join us for the next HWC Baltimore on June 28th at the Digital Harbor Foundation Tech Center!  

Fri May 12

🗓️ Homebrew Website Club Baltimore May 31, 2017

📆 Add to Calendar: iCal | Google Calendar

Join us for an evening of quiet writing, wiki editing, IndieWeb demos and discussions!

  • Create or update your personal web site!
  • Finish that blog post you’ve been writing, edit the wiki!
  • Demos of recent IndieWeb breakthroughs, share what you’ve gotten working!
  • Join a community with like-minded interests. Bring friends that want a personal site!

Any questions? Join the #indieweb chat!

Optional quiet writing hour starts at 6:30pm. Meetup begins at 7:30pm.

More information: https://indieweb.org/events/2017-05-31-homebrew-website-club

Facebook event: https://www.facebook.com/events/777899845722051/

Wed May 31

Happy to roll out a new syndication feature for the Adafruit Blog. Looking forward to more IndieWeb-friendly features at Adafruit!

https://blog.adafruit.com/2017/05/30/adafruit-blog-now-syndicating-json-feed/

post from The Adafruit Blog, now syndicating with JSON Feed
If you have a compatible feed reader, you can now receive Adafruit Blog updates in JSON Feed format by pointing your feed reader at: https://blog.adafruit.com/feed/json
Tue May 30

🎧 What Podcasts am I Listening To? May 2017 Edition

When gRegor became the third person in a week to ask me what podcasts I listen to, I realized that this is something that changes a lot, and might be worth taking the time to review periodically!

I tend to think of my podcasts by category, so I'll attempt to break them down below.

Obligatory (several people recommended them and/or they're advertised everywhere):

  • S-Town (yep, it is really very good. also, it is finite!)
  • 99% Invisible (everything is designed by people and that is beautiful and troubling)

Comedy

Tech

Narrative

Gaming (RPG and Otherwise)

Friends' Projects (disclaimer: I have been a guest on some of these)

Politics and World Issues

Whew! This took a while. I have a frightening number of podcasts in my reader (I use AntennaPod).

What do you think? Any surprise overlaps? Anything you want to check out, or suggest that I check out?

Thanks to our guest Kylie for quelling our quarrel with questions in this week’s We Have to Ask Podcast!

https://wehavetoask.com/episodes/2017-05-30-113202/

Sun May 28
🔖 Bookmarked Microformats : Meaningful HTML https://microformats.io/

“By adding Microformats to your HTML, your website becomes more understandable to various kinds of computers.

  • Search engines can make sense of your HTML which allows them to display a better version in their search results.
  • Browser extensions can enable your readers to download information to their contacts, calendar, and maps apps.
  • Feed readers can be used to subscribe to your website’s feeds (blog posts, bookmarks, checkins, etc).
  • You can even use your website (with Microformats) to sign into other websites.”
Sat May 27

This Week in the IndieWeb Audio Edition • May 20th - 26th, 2017

Audio edition for This Week in the IndieWeb for May 20th - 26th, 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!

Fri May 26
🔖 Bookmarked Bruce Sterling - The Singularity: Your Future as a Black Hole by The Long Now Foundation | Free Listening on SoundCloud https://soundcloud.com/longnow/the-singularity-your-future-as-a-black-hole

One reason lots of people don’t want to think long term these days is because technology keeps accelerating so rapidly, we assume the world will become unrecognizable in a few years and then move on to unimaginable. Long-term thinking must be either impossible or irrelevant.

Site Updates: Webmention Notifications in Matrix with Hubot

Jonathan Prozzi and I have challenged one another to make a post about improving our websites once a week. This is me getting back on the train!

In a previous site update I wrote about setting up a system to notify me whenever my site received webmentions. Essentially, this meant that I could now get notifications on my phone and desktop whenever somebody interacted with my site, such as: replying to one of my posts on their own site, retweeting or favoriting one of my posts, or even RSVPs to my Facebook events.

One thing I didn't super like about this system is that it used the Pushbullet service which, while great, is not under my control.

I've been running a Matrix chat server at home for a while now. I primarily use it to chat with people in my household in IRC channels. I use a really nice client for Matrix called Riot, which runs in the browser, but is also available on Android and iOS, and is capable of sending notifications about chat events, which I have found really handy.

Recently, I've added a chatbot to my Matrix server named Hubot, thanks to the Hubot-Matrix adapter. Hubot is super neat because it is fairly easy to script up new behaviors, and it has nice built-in support for the web - both for making web requests, but Hubot also runs a server for accepting web requests. Once I realized this, it occurred to me that I could replace my previous notification system that uses Pushbullet with one that goes through Hubot.

First, a note on security. Exposing a chatbot's HTTP listener interface to the great wide internet comes at some risk! I made sure to the following:

  • I run Hubot behind a firewall, so no plain HTTP traffic can come directly across the internet.
  • Using another home server, I set up nginx to act as a secure HTTPS proxy, using a certificate from Let's Encrypt to encrypt all traffic that goes over the internet.
  • I decided that any behaviors I write for Hubot that use the HTTP listener will use some kind of secret token to ensure that the request is valid. I don't want spammers blowing up my chatrooms!

I decided that the bot should:

  • Allow a user to request webmention.io notifications for a given site into any room.
  • Generate and store a "callback secret" to work with webmention.io's Web Hook system and tell the user the URL and callback secret to configure over on the Webmention.io Dashboard.
  • Accept HTTP requests from webmention.io at something like <HUBOT_HOST>/hubot/wmio/notify
  • Verify that the request contains the callback secret
  • Generate a nice text summary of the notification based on its contents
  • Send the notification to the room that the user was in when they made the follow request.

With that in mind, I began learning lots about testing Hubot scripts, refreshing myself on Coffeescript, and so on.

I am now happy to introduce this first (janky) release of my Hubot Script, hubot-webmentionio-notify!

Once installed, you can start a conversation with your hubot and ask it to follow a site:

  you> hubot wmio follow mycoolsite.biz
  
hubot> @you OK! Use this as your Web Hook: <HUBOT_URL>/hubot/wmio/notify And use this as your callback secret: 1a2b3c4d5e6f7890000

The string "mycoolsite.biz" can actually be anything and should be something easy to remember in case you want to unfollow notifications later. Hubot doesn't check incoming mentions against it at the moment.

You can enter the URL and callback secret in the Webmention.io dashboard, and future webmentions will be sent to your Hubot and output into the room of your choice.

Notification example - a user on Twitter mentioned my Twitter handle in a post there.

I don't know how useful hubot-webmentionio-notify will be for other folks at the moment, but I am excited be getting these notifications via services that I control. I look forward to building more fun things with Hubot!

Wed May 24

🎧 “It Came from the 80’s… Vol.2 - A Retro Darkwave Horror Synth Special”

Been jamming out to this on and off for a couple of weeks now.

https://youtu.be/NyfL9LC1DC4

🔁 Reposted https://www.w3.org/blog/news/archives/6326
post
The Social Web Working Group has published a W3C Recommendation of Micropub. Micropub is a client-to-server protocol used to create, update and delete social networking content. Web and native apps can use Micropub to post notes, photos, events, and many others to servers that …
Tue May 23

Thanks to our guest Caroline Yates for making this episode of We Have to Ask a walk in the park. ALSO: thanks to the lovely audience who came out to the Baltimore Podcast Festival, and to Tripp Laino for organizing such a great event!

https://wehavetoask.com/episodes/2017-05-23/

Mon May 22
🔁 Reposted https://twitter.com/Pinboard/status/866721917579010048
post from
FUNDED: a whole mess of iPhones for the National Immigration Law Center. Thanks to everyone who gave so generously! https://nilc.z2systems.com/np/clients/nilc/campaign.jsp?campaign=91&fundraiser=43703&
Sat May 20

This Week in the IndieWeb Audio Edition • May 13th - 19th, 2017

Audio edition for This Week in the IndieWeb for May 13th - 19th, 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!

So much fun doing a live We Have to Ask episode tonight as part of the 2nd Annual Baltimore Podcast Festival! Thanks so much to our guest Caroline Yates for putting her best foot forward!

Thu May 18

The @DHFBaltimore FabSLAM is always a joy and I am grateful and humbled to have been able to help with the judging this year!

http://www.digitalharbor.org/2017/05/baltimore-youth-solve-transportation-problems-digital-fabrication/

post from Baltimore Youth Solve Transportation Problems with Digital Fabrication
Last week, DHF hosted our 6th FabSLAM Showcase as the culminating event for this cycle of the annual digital fabrication challenge. This year, during FabSLAM, Baltimore-area youth were prompted to identify a problem they might encounter using any form of transportation and then …
Wed May 17
🔖 Bookmarked Notes From An Emergency http://idlewords.com/talks/notes_from_an_emergency.htm

“Silicon Valley brings us the worst of two economic systems: the inefficiency of a command economy coupled with the remorselessness of laissez-faire liberalism.”

Tue May 16
🔖 Bookmarked “MP3 is dead” missed the real, much better story – Marco.org https://marco.org/2017/05/15/mp3-isnt-dead

“MP3 is supported by everything, everywhere, and is now patent-free. There has never been another audio format as widely supported as MP3, it’s good enough for almost anything, and now, over twenty years since it took the world by storm, it’s finally free.”

Thanks to our young guest for taking us (but mostly Jonathan) to school in this week’s We Have to Ask Podcast.

https://wehavetoask.com/episodes/2017-05-16/

Sat May 13

Excited for Whose Live Anyway at the Lyric in Baltimore.

This Week in the IndieWeb Audio Edition • May 6th - 12th, 2017

Audio edition for This Week in the IndieWeb for May 6th - 12th, 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!

Thu May 11

Really looking forward to IndieWeb Summit! June 24-25th in Portland, OR. Come build a web for you!

https://aaronparecki.com/2017/05/10/13/indiewebcamp

post from
We've confirmed the venue! IndieWeb Summit 2017 will be at ...🥁... Mozilla Portland! 🦊🎉 https://2017.indieweb.org
Wed May 10

HWC Baltimore 2017-05-10 Wrap-Up

Baltimore's April 2017 meetup for Homebrew Website Club met at the Digital Harbor Foundation Tech Center on April 19th.

Below are notes from the "broadcast" portion of the meetup.

jonathanprozzi.net - not been making his weekly posts in challenges with Marty. Inspired by a nearby bookstore closing, realized he had done lots of learning in bookstores over the last ~15 years. New idea for a series of posts cataloging all the things learned in a specific place over the years. Wants to journal the things he is learning on a weekly(ish) basis to build an archive.

brianey.com - been writing up lots of ideas for his blog but not finishing them. Based on that unfinished work, started writing about some new topics on creativity. For example, writing about starting things vs. achieving them. Looking forward to writing those including cute graphics of badgers, (em)barkers, etc. and being inspired by those posts to take on other unfinished posts.

amyhurst.com - working on an FAQ page for all the questions she gets from students seeking to get into the grad programs that she manages. It should be a useful resource for students, but also for her to copy and paste into emails from students who don't or won't read it.

martymcgui.re - brought a bunch of posts from an old blog into his site, including old comments from disqus. Did updates to site plumbing so he can add syndication to his posts after the fact with micropub updates, allowing him to get webmentions and notifications of interactions on Twitter, FB, etc via brid.gy without pulling out a laptop.

We talked about the upcoming 2017 IndieWeb Summit June 24th-25th in Portland, Oregon and discussed the indie RSVPs on the site. From there we ended up on Aaron Parecki's site and chatted about the amount of information that is collected and shared, what things we'd like to be collecting for review about ourselves, what things we're comfortable publishing.

Left-to-right: martymcgui.re, brianey.com, amyhurst.com, jonathanprozzi.net. Also: many air plants.

We hope that you'll join us for the next HWC Baltimore on May 31st at the Digital Harbor Foundation Tech Center! 

Photo for tonight’s HWC Baltimore

Fri Apr 21

🗓️ Homebrew Website Club Baltimore May 10, 2017

📆 Add to Calendar: iCal | Google Calendar

Join us for an evening of quiet writing, wiki editing, IndieWeb demos and discussions!

  • Create or update your personal web site!
  • Finish that blog post you’ve been writing, edit the wiki!
  • Demos of recent IndieWeb breakthroughs, share what you’ve gotten working!
  • Join a community with like-minded interests. Bring friends that want a personal site!

Any questions? Join the #indieweb chat!

Optional quiet writing hour starts at 6:30pm. Meetup begins at 7:30pm.

More information: https://indieweb.org/events/2017-05-10-homebrew-website-club

Facebook event: https://www.facebook.com/events/630302647165359/

Tue May 9

Thanks to guest Jessica Kim for bringing natural charisma to this week’s We Have to Ask Podcast!

https://wehavetoask.com/episodes/2017-05-09/

Mon May 8

🔴 We’re LIVE! @DnDSVU S2E03 w/ @ThatOneGM + players @schmarty @geowtf & @alo_seda. twitch.tv/therpgacademy

Site-Updates: Easier POSSE with Micropub Edits!

Jonathan Prozzi and I have challenged one another to make a post about improving our websites once a week. This one should have gone up last week!

A few weeks ago I posted some thoughts about my IndieWeb setup called "Easier POSSE with Micropub Edits?" in which I wished for a tool that would let me take a given post from my site, syndicate it to silos like Twitter and Facebook (tweaking the content if I want), and updating the post on my site to show the links to those syndicated copies.

Why?

I failed to make at least one important thing clear in my original post – why do I care about syndication links? There are many reasons.

If I decide that a post should be syndicated to a silo, it's because I want it to reach the people who follow me there and, if that is true, I also want their interactions to come back to my site. So, in these ways, a post isn't "done" unless it is on my site, with syndicated copies on the silos I care about, and with syndication links for brid.gy to feed the interactions back.

Starting at the End

I decided to start by making my site's Micropub server support Micropub Source Content Queries and Micropub Updates. Any tool that helped automate syndication would need this plumbing to operate.

When implementing a new feature, it always helps to have something to test against. So, I went looking for a Micropub client which supported queries and edits. The test suite for Micropub at micropub.rocks includes a lovely implementation report grid, showing which Micropub clients support what features of the spec.

Of the clients listed, two of them were web-based and Open Source. I had played with and liked Inkstone in the past, but its edit features are currently considered a work-in-progress. So, I tried out Micropublish.net, and it was exactly what I was looking for.

Micropublish has a feature to let you enter a URL for a post on your site to edit. It will use Micropub source content queries to get the source data for that post and let you edit the content and other properties of the post. It can then send a Micropub update to save the updated version of the post back to your site, if your server supports updates. It even has a great feature for developers - a "Preview" button will show you exactly what request will be sent to your server for the update.

Screenshot of micropublish.net preview for an update to add a syndication link to a post

Micropublish.net is a great tool for testing out Micropub query and update support, but my Micropub server is bespoke, hastily-written, hand-rolled Python. So, while it was easy enough to add query support, it took me a while to get my code structure cleaned up, write some tests, and actually implement updates.

A New Workflow

I am pleased to say that it works and, with the help of Micropublish.net, I now have a functioning workflow for publishing to my site and syndicating to silos like Twitter and Facebook, even from my phone, without having to open my laptop, edit YAML data, and push git repositories around. It looks like this.

  • Make a new post to my site with a micropub client like Quill.
  • Open the post for editing in micropublish.net (I use Url Forwarder for Android to make this super easy on my phone, a bookmarklet makes it easy on my laptop).
  • In a new tab, log in to Twitter and make a similar post, copy the URL to the new tweet into the Syndication field on my post.
  • Repeat the steps to make posts on Facebook, Mastodon, etc., copying their URLs into the Syndication field.
  • Finally, hit "Update" in micropublish.net to update my post with the syndication links.
Screenshot of micropublish.net with new syndication links

This is still a very manual process, but it now makes it possible to finish a post in a way that I couldn't before. In the spirit of manual until it hurts, I will use this for a while and see what existing pain points remain, and what new ones appear, to help decide what comes next.

Thanks to Barry Frost for micropublish.net and to Tantek for the nudge to write an update!

Sat May 6

This Week in the IndieWeb Audio Edition • April 29th - May 5th, 2017

Audio edition for This Week in the IndieWeb for April 29th - May 5th, 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!

Celebrating the Baltimore Kinetic Sculpture​ Race with the special two-day-only beer! Yes, it is 9am, why do you ask?

Fri May 5

#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/

🎧 Some light listening from Theory of Everything on how we’re surveilled and manipulated for the benefit of a few megacorps and gov’ts.

Wed May 3
📗 Want to read New Moon (Luna #1) by Ian McDonald ISBN: 9780765375513
Tue May 2

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

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