52°F

Aaron Parecki

  • Articles
  • Notes
  • Photos

Articles

2017-01-20 Day 31: IndieNews Updates! #100DaysOfIndieWeb
2017-01-19 Day 30: Documented the Bookmark Interface for Quill #100DaysOfIndieWeb
2017-01-18 Day 29: Better Media Support in p3k #100DaysOfIndieWeb
2017-01-17 Day 28: Updating Syndication Property in Quill #100DaysOfIndieWeb
2017-01-16 Day 27: Parsing meta http-equiv and returning status code in XRay #100DaysOfIndieWeb
2017-01-15 Day 26: Tag tokens and publish date for Quill #100DaysOfIndieWeb
2017-01-14 Week in Review #100DaysOfIndieWeb
2017-01-14 Day 25: Automatically Fetching Reply Contexts for p3k #100DaysOfIndieWeb
2017-01-13 Day 24: Displaying Reply Context in p3k #100DaysOfIndieWeb
2017-01-12 Day 23: Open Sourcing my Timezone Library #100DaysOfIndieWeb
2017-01-11 Day 22: XRay Ready for Deployment #100DaysOfIndieWeb
2017-01-10 Day 21: Twitter Support for XRay #100DaysOfIndieWeb
2017-01-09 Day 20: Instagram Support for XRay #100DaysOfIndieWeb
2017-01-08 Day 19: Automatically fetching reposted content #100DaysOfIndieWeb
2017-01-08 Ruby Magic, or why `params` is empty even when I don't set it
2017-01-07 Day 18: Showing Full Repost Content in p3k #100DaysOfIndieWeb
2017-01-06 Week in Review #100DaysOfIndieWeb
2017-01-06 Day 17: Documentation for Quill #100DaysOfIndieWeb
2017-01-05 Day 16: Improved Comments Display for p3k #100DaysOfIndieWeb
2017-01-04 Day 15: Tags, Slug and Post Status for Quill #100DaysOfIndieWeb
← older
  • Day 31: IndieNews Updates! #100DaysOfIndieWeb

    Today I started what is hopefully a series of updates to IndieNews. It's been a while since I've worked on it, probably because it's been mostly working fine which I guess is good.The main thing I did today was replace its own Microformats parsing with delegating that to XRay. This should provide better results when parsing pages, since I've been concentrating my work in consuming Microformats posts in that project.The visual update today is a change to how submitted stories are displayed. Previously, each story always showed the headline as a hyperlink to the post. For short titles, this worked fine. But sometimes someone would submit a plaintext note, or an article with a very long title. This looked pretty bad. Now, IndieNews will switch to rendering the post as a text note in a few cases. This means URLs in the note also get hyperlinked individually, which is a good improvement. 
    continue reading...
    1 like 3 mentions
    Fri, Jan 20, 2017 5:51pm -08:00 #100daysofindieweb #indienews
  • Day 30: Documented the Bookmark Interface for Quill #100DaysOfIndieWeb

    Straightforward update today. I added a documentation page for the bookmark interface of Quill!
    continue reading...
    3 mentions
    Thu, Jan 19, 2017 8:20pm -08:00 #100daysofindieweb #quill
  • Day 29: Better Media Support in p3k #100DaysOfIndieWeb

    Today I worked on better media support. This involved a couple of changes.Reposting audio and video posts that show the player for the reposted mediaSupport for audio + photo posts (shows as an audio player with poster image)Support for video + audio + photo posts (shows as the video player with a hidden audio link for mf2 consumers)Fallback for browsers that don't support <video> or <audio> that includes a link to download the filesHere's an example of a reposted podcast episode. It includes the episode name and an <audio> tag which plays the episode inline.
    continue reading...
    1 like 3 mentions
    Wed, Jan 18, 2017 12:06pm -08:00 #100daysofindieweb #p3k #podcast
  • Day 28: Updating Syndication Property in Quill #100DaysOfIndieWeb

    As the Micropub spec has evolved, there have been some minor changes to how Quill used to do things. Today I added a configuration option to allow you to change the name of the property used to indicate the syndication targets.
    continue reading...
    2 mentions
    Tue, Jan 17, 2017 10:02am -08:00 #100daysofindieweb #quill #micropub
  • Day 27: Parsing meta http-equiv and returning status code in XRay #100DaysOfIndieWeb

    Today I closed a long-standing request on XRay to return the HTTP status code from the retrieved page, as well as parsing the <meta http-equiv="Status" content="410 Gone"> tag in the HTML. I also now return the final URL that XRay retrieved the document from, after following any HTTP redirects that were sent.
    continue reading...
    2 mentions
    Mon, Jan 16, 2017 1:08pm -08:00 #100daysofindieweb #xray #indieweb
  • Day 26: Tag tokens and publish date for Quill #100DaysOfIndieWeb

    Last week, Barry Frost released Micropublish, a Micropub client written in Ruby. It's a very slick interface for posting a few kinds of posts. I noticed that his "category" field looked really nice, and discovered that he was using a Bootstrap plugin called "Token Field". Today I added this plugin to Quill, so now everywhere that you previously had to enter tags as comma-separated values, it's now using this "token field" UI.
    continue reading...
    1 like 1 reply 3 mentions
    Sun, Jan 15, 2017 11:22am -08:00 #quill #indieweb #100daysofindieweb
  • Week in Review #100DaysOfIndieWeb

    aaronparecki.comDay 18: I updated my reposts to show the full contents of the post I reposted rather than just the URL.Day 19: I updated my website to automatically fetch the contents of my reposted URLs when I make new reposts.Day 24: I updated my reply posts to be able to show the full contents of the post I'm replying to.Day 25: I updated my website to automatically fetch the contents of the posts I reply to.XRayDay 20: I added Instagram support to XRay, so now XRay returns data when given Instagram URLs.Day 21: I added Twitter support to XRay, although you need to pass your own OAuth keys to XRay in order for it to fetch tweets.Day 22: I updated a few things in XRay to make it easier to deploy to shared hosting, and simplified its dependencies.LibrariesDay 23: I published my timezone lookup tools as a standalone library, and updated XRay and Quill to use the library instead of the duplicated class.
    continue reading...
    Sat, Jan 14, 2017 10:48am -08:00 #100daysofindieweb #indieweb #xray #p3k
  • Day 25: Automatically Fetching Reply Contexts for p3k #100DaysOfIndieWeb

    Today I worked on automatically expanding the contents of my reply contexts whenever a new post is created. I also have a utility to fetch the reply context for older posts. I ran it for the first page of replies on my replies feed, and I'm super excited that they are looking pretty good now!
    continue reading...
    3 mentions
    Sat, Jan 14, 2017 10:36am -08:00 #100daysofindieweb #indieweb #p3k
  • Day 24: Displaying Reply Context in p3k #100DaysOfIndieWeb

    Following last week's work on displaying full repost content, I modified those templates to be used to display reply context in my reply posts.
    continue reading...
    3 mentions
    Fri, Jan 13, 2017 6:51pm -08:00 #100daysofindieweb #indieweb #p3k
  • Day 23: Open Sourcing my Timezone Library #100DaysOfIndieWeb

    Today I published my code for finding the timezone of a specific location as a standalone library.
    continue reading...
    3 mentions
    Thu, Jan 12, 2017 10:32am -08:00 #100daysofindieweb #indieweb #atlas #timezone #p3k
  • Day 22: XRay Ready for Deployment #100DaysOfIndieWeb

    Today I made a few changes to XRay to make it easier to deploy in more kinds of environments. I also removed a bunch of CSS/JS dependencies and simplified the UI a bit.
    continue reading...
    3 mentions
    Wed, Jan 11, 2017 10:19am -08:00 #xray #p3k #indieweb #100daysofindieweb #100daysofcode
  • Day 21: Twitter Support for XRay #100DaysOfIndieWeb

    Continuing yesterday's work, today I added support for parsing Twitter URLs to XRay.There were a couple tricks to make this work. I wanted to make sure that Tweets are always expanded to include the most data possible, and also wanted to avoid needing to make a bunch of HTTP requests. Scraping from the twitter.com website wasn't an option, since some of the data isn't available or would require additional HTTP calls to fetch. (For example I would have to fetch every t.co URL to expand them.) So I set to work using the Twitter API to fetch the tweets.
    continue reading...
    1 like 1 reply 3 mentions
    Tue, Jan 10, 2017 3:36pm -08:00 #100daysofindieweb #100daysofcode #indieweb #xray #twitter
  • Day 20: Instagram Support for XRay #100DaysOfIndieWeb

    XRay is my service that parses web pages and extracts information from them. Right now I mostly use it to parse comments, but now that I've been adding support for reposts, it's used there as well.Today I added support for XRay to extract data from Instagram URLs!This means anything that uses XRay will now return structured data when given an Instagram URL, just like how it parses h-entry and other Microformats. Unfortunately, Instagram does not provide timezone data for the published date, only a Unix timestamp. So if the photo is tagged at a location, then XRay will look up the appropriate timezone for that location and adjust the timezone of the published date accordingly!Here's what the parsed JSON looks like for this photo. Note that the timezone is set to East Coast because this photo was taken at MIT.{ "data":{ "type":"entry", "url":"https://www.instagram.com/p/BM4rGs-lApG/", "author":{ "type":"card", "name":"Aaron Parecki", "url":"http://aaronparecki.com/", "photo":"https://scontent.cdninstagram.com/t51.2885-19/s320x320/14240576_268350536897085_1129715662_a.jpg" }, "content":{ "text":"Here again" }, "photo":[ "https://scontent.cdninstagram.com/t51.2885-15/e35/14269001_1162908790471145_6084871298582839296_n.jpg?ig_cache_key=MTM4NTA0NjQ2MjAyNzc5NTAxNA%3D%3D.2" ], "location":[ "https://www.instagram.com/explore/locations/206258876/" ], "published":"2016-11-16T16:07:06-05:00" }, "refs":{ "https://www.instagram.com/explore/locations/206258876/":{ "type":"card", "name":"Massachusetts Institute of Technology (MIT)", "url":"https://www.instagram.com/explore/locations/206258876/", "latitude":42.360011410484, "longitude":-71.091869836761 } }}In addition to my website using this for reposts and comments, when I paste that URL into IRC, Loqi uses XRay to expand it and provide a little text preview.
    continue reading...
    1 like 1 reply 4 mentions
    Mon, Jan 9, 2017 9:25am -08:00 #100daysofindieweb #100daysofcode #indieweb #xray #instagram
  • Day 19: Automatically fetching reposted content #100DaysOfIndieWeb

    Yesterday, I updated my website to show the full contents of reposts. Today, I took that to the next step, and I now automatically fetch the contents of reposts when they are made. I also expanded the repost display to include showing the photo if I reposted a photo!
    continue reading...
    5 mentions
    Sun, Jan 8, 2017 3:29pm -08:00 #100daysofindieweb #p3k #indieweb
  • Ruby Magic, or why `params` is empty even when I don't set it

    I learned a very subtle Ruby trick today.The Ruby parser will create local variables for every variable that might be set in your code before any of it is run.irb(main):001:0> if false; x = 1; end
    continue reading...
    1 like 1 repost
    Sun, Jan 8, 2017 2:47pm -08:00 #ruby #sinatra
  • Day 18: Showing Full Repost Content in p3k #100DaysOfIndieWeb

    At the beginning of last year when I was working on rebuilding p3k, I made the decision to drop showing the full contents of my reposts in favor of launching the new site sooner. It's been bugging me for a long time, since it means that my reposts aren't really reposts at all, they're just a list of links.Today I took the first step in showing the full contents of my reposts. Since my posts are all based on mf2 property storage, I updated my templates to display the post like one of my posts if the "repost-of" property is an object rather than just a string.Now my reposts look like this!
    continue reading...
    1 like 6 mentions
    Sat, Jan 7, 2017 1:37pm -08:00 #indieweb #repost #p3k #100daysofindieweb
  • Week in Review #100DaysOfIndieWeb

    aaronparecki.comDay 11: I dropped the web font in favor of a handful of system fonts for various platforms.Day 13: I added support for drawing curved maps lines to Atlas, which I use to generate the maps on my site. Now my travel plans show a nice line for each flight leg.Day 16: I improved the display of comments on my posts, including displaying some basic HTML formatting from comments, autolinking comment text, and showing images.
    continue reading...
    Fri, Jan 6, 2017 11:39am -08:00 #100daysofindieweb #indieweb #quill #p3k #ownyourgram #alexa #teacup
  • Day 17: Documentation for Quill #100DaysOfIndieWeb

    Quill started out as a sample Micropub client with a lot of useful debugging information. As it's grown, I've been slowly adding more posting interfaces to Quill, and tweaking them to look less like a debugging tool and more like a real app. Instead, micropub.rocks has taken over as a more detailed debugging utility for building a Micropub endpoint, so I can now optimize Quill for being more user-friendly and less developer-focused. At IndieWebCamp Germany in 2015, I added a rich editor to Quill, inspired by the clean Medium interface. You can even use the Quill rich editor without being logged in! It will save the post to your browser's localstorage as a draft, and let you post it after you log in. I wanted to make an interface that anybody would feel comfortable writing in, and be able to show it to people without them first logging in, as an introduction to what it might look like to have nice writing applications that aren't tied to a specific backend like Medium.In order to help people get started with Quill, today I wrote some more documentation for it!When you're logged out and click the "publish" button, it prompts you to log in and links out to the documentation home page.
    continue reading...
    3 likes 1 repost 1 reply 3 mentions
    Fri, Jan 6, 2017 11:24am -08:00 #100daysofindieweb #quill #indieweb #100daysofcode
  • Day 16: Improved Comments Display for p3k #100DaysOfIndieWeb

    Today I started autolinking the text in comments on my website, and made a couple other minor improvements to how they look.Previously, links, @-names and hashtags were rendered as plaintext, so comments weren't clickable.
    continue reading...
    2 replies 3 mentions
    Thu, Jan 5, 2017 12:57pm -08:00 #p3k #indieweb #100daysofindieweb #100daysofcode
  • Day 15: Tags, Slug and Post Status for Quill #100DaysOfIndieWeb

    I've been using Quill to write all these #100DaysOfIndieWeb posts, which is a great way to find the pain points in the interface. After having written 14 articles in the last 14 days, the main thing I want to be able to do is start an article here in the Quill editor, save it as a draft to my website, then open up the raw HTML to make fine-grained edits, and only after I'm done, actually publish it.
    continue reading...
    1 like 1 repost 3 mentions
    Wed, Jan 4, 2017 3:52pm -08:00 #100daysofindieweb #100daysofcode #micropub #indieweb #quill
older

Hi, I'm Aaron Parecki, Director of Identity Standards at Okta, and co-founder of IndieWebCamp. I maintain oauth.net, write and consult about OAuth, and participate in the OAuth Working Group at the IETF. I also help people learn about video production and livestreaming. (detailed bio)

I've been tracking my location since 2008 and I wrote 100 songs in 100 days. I've spoken at conferences around the world about owning your data, OAuth, quantified self, and explained why R is a vowel. Read more.

  • Director of Identity Standards at Okta
  • IndieWebCamp Founder
  • OAuth WG Editor
  • OpenID Board Member

  • 🎥 YouTube Tutorials and Reviews
  • 🏠 We're building a triplex!
  • ⭐️ Life Stack
  • ⚙️ Home Automation
  • All
  • Articles
  • Bookmarks
  • Notes
  • Photos
  • Replies
  • Reviews
  • Trips
  • Videos
  • Contact
© 1999-2025 by Aaron Parecki. Powered by p3k. This site supports Webmention.
Except where otherwise noted, text content on this site is licensed under a Creative Commons Attribution 3.0 License.
IndieWebCamp Microformats Webmention W3C HTML5 Creative Commons
WeChat ID
aaronpk_tv