Tantek Çelik

Inventor, writer, teacher, runner, indieweb coder

  1. Cafes & wifi, a dependable pairing. Day 1 log posted. Off grid two days and fine. Offline reading & writing is OK.

  2. Alaska Cruise Log Day 1

    Crown Princess view, another boat in the distance, and Mt Rainier in the far distance

    We boarded the Crown Princess not long after checking in at the port, after having them verify our passports, take our self-assessed medical questionnaires, and give us our boarding cards. My parents had kindly arranged early boarding for us.

    Just before we stepped onto the gangplank they checked our boarding cards and took our photos (without glasses). Thoughts of a complimentary cruise yearbook briefly went through my head.

    Finding our rooms easily, we unloaded our backpacks and put away our small hand luggages. We had checked-in our rollaways at the Princess Cruises counter at Seatac for them to bring direclty to our state rooms later that afternoon. Apparently hotel rooms on ships are called “state rooms”.

    First Lunch

    When you sleep little or not at all the night before, you’re a lot hungrier the next day. After checking out our rooms, their balconies, which happened to be connected, we quickly went to get lunch. There was no line at the Horizon Lounge, one of many buffet restaurants on the ship that’s open continuously from 06:00 to 23:00. I had pan cooked Alaskan cod with lemon, mashed potatoes, a big salad, and a small piece of onion focacia.

    As we left the line went out the door. Curious about our workout options, we went to explore the gym.

    To get to the gym you have to walk through the spa, with all manner of marketing posters and upsells of various rejuvenation, pampering, and beautification options. (Writing this makes me want to go back and photograph the posters, realizing just how strange they might seem out of context.)

    In addition to wide spread of cardio and weight machines, most with a beautiful view out the front of the ship, they offered various classes on the hardwood floor behind the machines. Yoga, pilates, TRX, etc. As part of the cruise package we’re on, we each have $50 credit on our boarding cards (which double as room keys, triple as onboard credit cards), and a $12 yoga class seemed like a reasonable way to spend some credit. The classes only had about 15 spots each, with 3 lines for a waitlist. That seemed small for a population of nearly 3500.

    We explored the upper decks, took in the views, and watched our departure from Seattle Harbor. We went back to our rooms, and I decided to read a bit from the three books I brought and take a nap to keep catching up on my sleep.

    Safety Drill

    I awoke a couple of hours later (apparently I needed that nap) to the sounds of my roommate (nephew1) scurrying about and noise from next door as well. Everyone was getting ready for the imminent safety drill.

    Each cabin has lifevests for precisely the number of occupants. We were instructed that the drill was imminent and to carry (not wear) our life jackets to the Muster Station for our section. Everyone in my family was already on their way well before the official drill time. I made grabbed my life jacket and made my way as well, following the well placed signs and arrows to the Muster Station.

    Found my parents, sister, a nephew, and my niece in the Muster Station which turned out to be an auditorium. Crew members scanned our boarding cards at the entrance. The crew member on stage quickly quieted everyone down and then started welcoming people by country and making other comical banter. Once in a while an official sounding (or perhaps just British accented) voice would come on the loud speakers reminding us what was going to happen in mere minutes.

    Minutes before drill time, the lead crew member becamse increasingly serious, teaching us what would happen in case we had to abandone ship, finally instructing everyone how to put on their lifejackets, and then had us all do so.

    16:00: the general alarm sounded. 7 short bleats and one long bleat. Everyone looked around, and the various crew members did a once over the crowd. Having passed the drill, we were told to take off our lifevests and return to our rooms. We did so, putting the lifevests back where we found them.

    A Little Tour, A Few Mental Exercises

    After the drill we wandered around the boat a bit, walking from pool to pool (pretty sure I counted four, not counting the hot tubs). We stopped to check out the Calypso pool in particular, above which was place a massive display and adjacent speakers, for daily movie showings.

    My parents arranged for reserved dining for our dinners. 17:30 and 20:00 were the only two options so naturally we chose 17:30, better suiting the kids and us early risers. After our little mini-tour, we changed to look a bit nicer for dinner. For me that meant zipping up my fitted Betabrand jacket rather than being loose and casual with a black v-neck t-shirt underneath.

    Dinner was sit down and order style, and I suddenly realized just how hungry I was (again). Feeling even more impetuous and impatient than my nephews & niece, I decided to first help nephew2 work on the puzzles on his kid’s placemat, and then we did mental exercises while waiting for our food.

    First I asked him to tell me the ISO date, which he nailed without hesitating. Two thousand fiften DASH zero eight DASH zero one. Then a big grin knowing he’d nailed it. So of course I hit him up with a bigger challenge, the ISO ordinal date. He protested, claiming he hadn’t practiced it.

    No chance I was letting him off that easy. I told him, no problem, let’s figure it out from what we know. How many days in January? 31. How many days in February? 28. What does that total? 59. How many days in March? 31. Add that? 90. Ok let’s put that aside, 90 days in the first quarter. How many days in April? 30. May? 31. June? 30. Total? 91. Let’s put that aside for the second quarter. 181. Yes that many days in the first half of the year.

    How many days in July? 31. What day is it in August? 1. Add those. 32. What was the number we had before? 181. Now add those. 213. So what’s the ISO Ordinal date? Two thousand fifteen DASH two hundred thirteen. Nailed it. In his head, no paper needed.

    The bigger goal here is of course to teach him two general purpose problem solving tools by practicing them: deconstruction and clustering/chunking. Every problem can be deconstructed into smaller, often trivial pieces. By clustering and chunking these solved pieces into larger pieces, you can keep the whole solution in your head as you build it back up.

    Having mastered dates (all an 8-year old needs to know about dates anyway), we moved onto other units. I grilled him on metric lengths. Millimeters, centimeters, decimeters, meters, kilometers. With a little help, he got all those too. What about weight / mass? 1 kilogram is 2.2 pounds. He told me his weight / mass in both.

    What about the periodic table of elements? Apparently he hadn't studided these yet. So I let him "phone a friend" and ask his older brother for help. We got thru nearly the first two rows. Finally we ended with naming airport codes and our food arrived.

    Dinner And A Sunset

    Our food arrived, one course at a time. For my appetizer I had Alaskan salmon gravlox. Then a simple small Caesar salad. Finally the baked Alaskan salmon special. Everyone else ordered dessert. I merely helped with some of the chocolate bits.

    The temperature outside had swiftly dropped from high 80s down to windchilled 50s. We returned to our rooms and put on a layer or two. I grabbed a book to read as well. My younger sister and I went out to the upper sports deck level to walk around and watch the sunset.

    The sun lit the cloudy horizon on fire, glinting off the tips of the waves. Approaching the bow of the ship, we had to push against an ever stronger headwind. I held my camera firmly, took a few more shots near the bow, then put it away, leaned into the wind, and just enjoyed the view.

    A little windchill can’t scare off a San Franciscan. I walked back to the semi-protected Calypso Pool area where a movie was playing. Didn’t matter which one, it was just background. I picked out a pool chair, reclined comfortably in my layers, and only then noticed that everyone else on the chairs was bundled-up under indentical red green patterned wool blankets. It wasn’t the first, nor would it be the last time on the ship that I would suddenly feel different from everyone else around.

    I started reading More Awesome Than Money (MATM), and while doing so gave in to the nearby unlimited pizza and softserve bar. A couple of slices of margerita and a small chocolate softserve later, I’d read thru about 10% of MATM and decided to return to my room.

    Introduction to TRON: A Bedtime Movie

    My roommate nephew1 was already getting ready for bed, and I found myself sleepy as well. Earlier I’d disclosed that I “brought” a few movies with me (they just happened to be images on my laptop from a few DVDs at home), and he’d done his due diligence, asking his parents which he could watch. Of the dozen or so I had that was permitted to see, he picked TRON.

    It was already late, so we collectively decided to watch the first half hour, and then go to bed. It’s amazing what observations an 11-year old will make, and what questions they ask. Especially when seeing a movie with some of the earliest computer generated special effects.

    We watched up through the scene where Kevin Flynn is introduced, and talks his friends and former colleagues into helping him break into ENCOM. As they were sneaking past towers of computers, we paused the movie and went to sleep.

  3. Seeing tweets re #foocamp “alphas”. Alpha enough to #ownyourdata? Or just Betas to Silos? Makers, make thy #indieweb.

  4. @ttepasse agreed. Bringing it specifically to re-read off grid on a floating math. Previously: tantek.com/2012/126/b1/enjoyed-anathem-non-spoiler-quotes

  5. Thanks @veganstraightedge @jlsuttles! I’m bringing: * Anathem * Spook Country * More Awesome Than Money ISBNs: http://tantek.com/asin/006147410X, http://tantek.com/asin/0425226719, http://tantek.com/asin/0670025607

  6. likes @jlsuttles’s tweet at , @veganstraightedge’s tweet at , @energyovertime’s tweet at , and @jgraham909’s tweet at

  7. If you had <24h before you were off grid for ~8d: * What would you up/download? * Who (besides family) would you call?

  8. A POSSE portal, or IndieWeb-Silo Bridge, is a syndication feature that takes a fundamental shortcut through cyberspace. Observers inside the silo see a local representation of hypermedia from the IndieWeb. With apologies to: https://en.wikipedia.org/wiki/Wormhole

  9. likes 100badsongs’s post at , @morganastra’s tweet at , and @austintaylor’s tweet at

  10. Great group last night at Homebrew Website Club! Known 0.8 #UX #design h-event aggregators and more #indieweb: http://www.kevinmarks.com/hwc2015-07-29.html notes and a jpg https://flic.kr/p/vHSVwf photo thanks to @KevinMarks.

  11. likes @mattschaar’s tweet

  12. #NPSF PR Wednesday morning: 32:17, 63s faster! Thanks @mattschaar for running with on the final lap! Ran roughly a 4/1min run/walk pace. Felt like a struggle, quads still recovering from Sunday’s half marathon. Somehow made up for it with speed on the downhills. Previously: tantek.com/2015/147/t2/actually-npsf-pr-faster

  13. Finished #SFMarathon 2nd half in 2:12:59, >5.5min PR! 3rd half with dad. Thanks Rebecca for pacing, #NPSF cheergang for a big mile 12 boost. They were like an acceleration tunnel that drew me in and shot me out like a rocket. I ran the whole thing until mile 12 at a 4 minute run / 1 minute walk pace, except for a few downhills where I ran longer, and water stations where I walked sooner. a photo https://instagram.com/p/5oKvlLA9Qk/ The last mile plus I walked only once and ran as fast as I could when I saw the finish, just barely breaking 2:13. My average pace was a 10:09 min/mile. Nearly the same speed as the 10:05 min/mile I did at last year’s Bay to Breakers, but for almost twice the distance. The past two months of focused training since my disappointing 2015 Bay to Breakers paid off. I’m back, and I know what to do to keep improving. Afterwards I found my dad at the finishers area, we collected our Challenge Medals (California Dreamin' for completing both the Huntington Beach SurfCity Half and an SF Marathon Half), and went out to a celebratory brunch with fellow runners including a couple of @Nov_Project_LAX friends. Sunday was a good day. a photo https://instagram.com/p/5o_saHg9QO/ Previously: * tantek.com/2015/032/t2/finished-surfcity-half-marathon-pr * tantek.com/2015/137/t1/ran-baytobreakers-slower-b2b104 * tantek.com/2014/138/t1/ran-baytobreakers-faster-b2b103

  14. #NPSF #trackattack today: 2x200 2x400 2x600 2x800 abs I did: 2x200 2x400 2x800 abs After Sunday’s SF half marathon PR, I stretched more between sprints and skipped the 600s. Mom took a nice photo of us sideplanking in the sunrise: a photo https://instagram.com/p/5tG1nzg9Tg Previously: * tantek.com/2015/188/t1/timed-mile-npsf-trackattack-faster-pr * tantek.com/2015/181/t1/track-yasso-800s-fastest-lap

  15. “What do you call posts that only exist on a silo? Nacho[s] posts!” — @gRegorLove Not Anywhere 'Cept Hosted On a Silo

  16. Getting ready for #sfmarathon 2nd half, my 6th #halfmarathon. Good luck to all runners! #raceeverything a photo https://instagram.com/p/5lkhYmA9UQ/ Grateful to start with friends. Still missing you Sam.

  17. Dark Forest Run

    Yesterday morning I ran through a forest in pitch darkness for the first time. I had a headlamp, a general sense of direction (uphill), and the knowledge that friends were just out of sight up ahead.

    When I left my house it was dark as night in the city, which really means never darker than the dim glow from diffuse streetlamps and other light polluters. I ran nearly a kilometer before meeting my fellow #nopasoparungang members at the intersection of Frederick & Stanyan streets.

    From there we ran half a mile up Stanyan’s steepest segments (240 feet elevation) to Belgrave Ave and the eastern edge of the Mt Sutro Open Space Preserve. Undaunted by poison oak warning signs, we leapt onto the narrow dirt forest trail. In mere seconds we disappeared into the dense woods, the city glow faded, and our headlamps barely lit the trail ahead. Anything beyond 10 meters was nothing but gray shapes blending into darkness.

    Our gang of four split into lead and tail pairs, and we soon lost sight of the lead headlamps. We didn’t bother navigating by mobile, even the dimmest of backlighting would have been blinding. Whenever the trail split, we chose the uphill path.

    Not only was the forest darkness pierced only by our headlamps, it was silent except for the sounds we made, breathing, pounding the trail, rustling leaves, snapping twigs.

    The lead pair rejoined us from behind, having taken a wrong turn and doubled back. We emerged from the south side of the forest onto the street and found the few other @Nov_Project_SF early gang arrivals who took our photo.

    Early rungang photo

    Now seven strong, we hiked up Johnstone drive just a bit and ran uphill onto the East Ridge Trail, again leaving civilization behind in just moments. We ran all the way up to the Mt. Sutro summit, to a clearing formerly used for Nike Missile Control Site SF-89C.

    Looking back through the dark forest I could see dawn’s light in the East.

    Dark forest backlist by dawn.

    From Fredrick & Stanyan we had only run a mile, and yet the second half of it through pitch black woods, and 400 more feet of incline for total of 640 feet of elevation gain.

    Tapering for this weekend's race, once I reached the summit I did reps of planking, tricep dips, pushups, all while swatting perhaps nearly 100 mosquitos. Everyone else ran up & down the ridge trail and others nearby. A few more runners found us during the 30 minute hills workout.

    Afterwards we ran back down to the meeting point on the street, and hugged the 6:25am arrivals. Then we did it all again, this time in the sunrise lit trails below.

    NPSF late gang group photo in Sutro Forest.

    This is November Project San Francisco #hillsforbreakfast. We run through poison-ivy laden mosquito-infested forests from darkness through dawn and into the sunrise.

    Why are we shushing with our fingers? We heard from a concerned hiker that "the sound travels really far" out of the forest (which is odd, because the sound from the city doesn’t seem to make it into the forest). For more, see: NPSF: Do you know what it feels like to be 90 years old?

  18. 1st ever #IndieWebCamp Edinburgh off to a great start! Day 1 notes indiewebcamp.com/2015/Edinburgh, sign up & go hack on day 2!

  19. Social Web Acid Test v0 #SWAT0 @IndieWebCamp 2015 demo video: https://youtu.be/xj5Z8ih4lOQ 3 people/sites/implementations. More details, larger screenshots, descriptions, UX flow: * tantek.com/2015/193/t2/user-flow-permalinks-indieweb-swat0

  20. Tonight -> Sunday: @theatermitu’s JUÁREZ A Documentary Mythology @zspaceSF! Break a leg @Aysan! fb.com/events/454745468039825/

  21. @leahculver nothing makes me feel older than young people referring to others as “young people”. ;)

  22. likes @kevinmarks’s tweet

  23. In 2014 over a hundred people participated in 2x IndieWebCamps as the previous year, and improved their sites: a jpg from https://indiewebcamp.com/2014-review#This_Is_A_Movement See what else the IndieWeb community accomplished in 2014: tantek.com/2015/201/b1/indiewebcamp-2014-year-review

  24. @thisNatasha if only Blue Bottle opened that early. (and deleted/rePOSSEd tweet to link/fix earthquake magnitude)

  25. Thanks 4.0 earthquake http://earthquake.usgs.gov/earthquakes/eventpage/nc72490826 2:41am wake-up, late night POSSE. <90 min before time to get up for track

  26. @brucel thanks for the quick BTW! Darn relative links. Fixed (on home page and permalink) http://tantek.com/2015/201/b1/indiewebcamp-2014-year-review

  27. #IndieWebCamp 2014 Year in Review — This Is A Movement

    2014 was a breakthrough year for IndieWebCamp and the IndieWeb movement. Beyond our technical achievements in creating, building, deploying, and using simple formats & protocols on our personal sites, we organized record numbers of IndieWebCamps and Homebrew Website Club meetups. We gave talks to audiences of thousands, and the press started covering us in earnest. We saw the launch of Known and its hosted service Withknown, a user-friendly mobile-web ready solution for anyone to get on the indieweb.

    With our increasing visibility and popularity, we encountered perhaps the inevitable re-use of our community terms or similar terms to mean other things, and subsequent online confusion. As expected we also saw the shutdowns of many more silos. We lost a very special member of the community. We kept moving forward and finished the year with the first of its kind virtual online IndieWebCamp, and verbal commitments to each other to launch personal site features for the new year.

    Table of Contents

    A lot happened in 2014. Enough for a table of contents.

    1. The IndieWeb Movement
    2. Record Numbers
      1. IndieWebCamps
      2. Homebrew Website Clubs
      3. Press
      4. Talks
    3. Losses and Challenges
      1. Losing One Of Our Own
      2. The Web We Lost 2014
      3. “Indie” Term Re-use
    4. Technologies
    5. Services
    6. Community Resources
    7. Summary And Looking Forward
    8. New Year Commitments

    Let’s get started.

    The IndieWeb Movement

    Anyone can call something a movement, but that doesn’t make it so.
    A tweet is not a movement.
    A blog post is not a movement.
    A single-page-site is not a movement.
    A manifesto is not a movement.

    This is a movement. People are a movement.

    2014 IndieWeb movement grid of faces

    This is everyone who participated in one or more IndieWebCamps during 2014. Real people (with the exception of one cat), passionately using their own personal websites to express themselves on the web, creating, sharing, and collaborating with each other to grow the independent web.

    Click / tap the image to go to a fully interactive version on the IndieWebCamp wiki, with every person (but 3!) linked to their personal site.

    Record Numbers

    The 100+ participants above participated in six IndieWebCamps in San Francisco, New York City, Portland Oregon, Berlin, Brighton, Cambridge MA, and Online. Twice as many as the previous year:

    IndieWebCamps by year

    Handcrafted ASCII graph (took Tufte class twice, not his fault):

                 LA   SF
            UK   UK   UK
      PDX  PDX  PDX  PDX/NYC/Berlin
     ———— ———— ———— ———————————————
     2011 2012 2013 2014

    You can see summaries and links to all of them here: IndieWebCamps

    Beyond double the number, 2014 saw innovation in the very format of IndieWebCamps with a simultaneous three location annual main event, as well as the first IndieWebCamp Online. Thanks to David Shanske for organizing and leading the charge with IndieWebCamp Online using IRC and Google Hangouts.

    Homebrew Website Clubs

    In addition, 2014 was the first full year of Homebrew Website Club meetups. 27 days in total across several cities: San Francisco, Portland, Chicago, Minneapolis, New York, London, Paris.


    2014 had breakthrough press coverage of IndieWebCamp and the IndieWeb as a whole. Most notably:

    See more articles about the IndieWeb in 2014.


    2014 had a record number of IndieWeb related talks being given at conferences by community members. Here are a few of them ranging from introductory to technical:

    If you enjoyed those, check out the videos about the IndieWeb page for many more.

    Losses and Challenges

    The IndieWeb community went through some minor growing pains in 2014, and tragically lost a key community member. There was also the continued series of site shutdowns, some of which members were able export from, but all of which broke the web.

    Losing One Of Our Own

    Mid last year we lost IndieWeb community member Chloe Weil, and we miss her very much.

    Chloe Weil's Indie Web Camp pin

    Chloe participated in the very first IndieWebCamp 2011, as a shy apprentice, but learned quickly & eagerly, and put her many creative skills to work building & growing her own personal web presence. Here she is at that event, third from the left edge:

    Photo of IndieWebCamp 2011 participants

    She built her own personal-site-based replacement for tweeting. She participated in both the first IndieWebCamp NYC as well as the subsequent main IndieWebCamp 2014 East at the NYC Location. Here she is again, front row and confident:

    IndieWebCamp 2014 East club photo

    She captioned this photo:

    “Your high school’s yearbook club just graduated and knows HTML”

    Here are a few posts about Chloe from the community:

    If you’ve written your own blog post in memory of Chloe, please let me know so I may link to it in the above list.

    The Web We Lost 2014

    We saw many silos go offline, taking millions of permalinks with them. Here are a few of the notable clusters of sites the web lost:


    The most common shutdowns were acquisitions or acquihires:

    • Yahoo shutdowns: Ptch.com, Donna, Vizify
    • Skype shutdown: Qik
    • eBay shutdown: Svpply
    • Ancestry.com shutdown: MyFamily.com
    • Vox Media acquired the staff & technology of Editorially, whose founders subsequently shut it down

    Short Notice Shutdowns

    The second most frequent shutdowns came suddenly, or nearly suddenly, unexpectedly, and sometimes with a complete loss of content (without any opportunity to export it).

    • Spreadly - site went offline without any notice
    • Fotopedia - 10 days notice and "all photos and data will be permanently deleted"
    • Justin.tv - two weeks notice and all videos deleted
    • Codespaces - most content deleted by vandals, site shutdown rather than attempt recovery.

    The Cloud Is A Lie

    So-called "cloud" services have been heralded as the new most reliable, scalable, available thing for storage etc., and yet last year:

    • Ubuntu One cloud sync service shut down with only two months notice.

    Breaking The Web

    All these shutdowns break the web in some way or other. However there are particularly egregious examples of breaking the web, such as when third-party link-shorteners and identity providers are shutdown. In 2014 we lost another one of each:

    • s.tt link shortener, shutdown by parent company and site Repost which itself shutdown as well
    • myOpenID.com, a popular OpenID provider, also shutdown.

    Losing A Classic

    Lastly we lost a classic site in 2014:

    • 43things.com - after 10 years of service, the sites owners decided to shut it down.

    See: IndieWebCamp: site-deaths 2014 for more.

    “Indie” Term Re-use

    Last and least of our challenges, but worth noting for the consternation it’s caused (at least on Twitter, and perhaps that’s telling), the overloading of the term and prefix “indie” has led to some confusion.

    When I first used the phrase “indie web to refer specifically to independents using their personal websites for their online identity and content (instead of large corporate silos like Facebook & Twitter, or even group sites running open source like Diaspora), I knew both that the prefix “indie” was already both in heavy use across industries and with different meanings.

    When Aaron Parecki and I deliberately chose to use the term “IndieWeb” or phrase “Indie Web” to refer to a difference in focus from “Federated Social Web”, and then co-found IndieWebCamp with Amber Case & Crystal Beasley, we viewed our usage of “Indie” as deliberately continuing in the same spirit and theme as earlier "Independent Web" efforts (such as the early 2000s "Independents Day" campaign), and complementary to “Indie” efforts in other fields.

    2014 saw the launch or promotion of other things labeled “indie” on the web (and at least somewhat related to it), which had little or nothing to do with the “IndieWeb” and was a source of repeated confusion (and continues to be).

    Ind.ie Confusion

    The privately held startup “ind.ie”, bootstrapped & crowdfunded, and yet developing various "independent technology" or "indietech" efforts which could easily be assumed to overlap with "indieweb" did not relate in substance to the IndieWeb at all.

    There were numerous instances of people confusing "ind.ie" and the "IndieWeb" in their posts, and criticism of one would inevitably lead to errant conflation with and criticism of the other. It got so bad that "ind.ie" themselves posted a blog post:

    Are you the same as IndieWeb?

    No. IndieWeb is a separate movement and yet we have some overlap of goals.

    The IndieWeb community similarly documented as much on the wiki: ind.ie is not IndieWeb nor IndieWebCamp. Others have also noted that naming something even more similarly e.g. "indienet" will only create more misunderstandings (nevermind that IndieWeb itself is peer-to-peer/distributed).

    Despite this effort at proactive documentation, confusion has continued, though now it's typically quickly followed up by a clarification that the two are not the same, and link to one or both of the above.

    indie.vc not IndieWeb-specific

    A new VC firm launched in 2014 called "indie.vc". Due to their name and web presence, they too were inevitably confused with “IndieWeb” or people assumed that they were some sort of IndieWeb investment fund. Neither of which is true.

    In the future it is possible that indie.vc will fund an IndieWeb startup, but until that day comes, they are disjoint.

    IndieWeb Technologies

    Despite such challenges, the IndieWeb community proposed, discussed, specified, built, and interoperably deployed the following indieweb technologies in 2014. These IndieWeb innovations in the past year were nothing short of web technology breakthroughs.

    And the best part: all of the following are 100% free as in freedom, creative commons zero (CC0) licensed, openly documented, and real: interoperably shipping, often with multiple open source implementations.

    This is technology by independents declaring independence. You could even call them “indietech” if you thought they needed another buzzword, which they don’t.

    In alphabetical order:

    • fragmention — a way to use a URL to link and cite individual words or phrases of a document.
    • h-feed — while previously proposed on microformats.org, in 2014 the indieweb community adopted h-feed as the primary DRY way to markup a feed or stream on an HTML page, published multiple indieweb sites with it, as well as multiple indieweb readers consuming it, consequently upgrading it to an official microformats.org draft.
    • indie-config for webactions — indie-config is a set of client & server libraries to enable seamless webactions across sites (invented, and implemented interoperably at IndieWebCamp Brighton 2014)
    • marginalia — within a few months of the invention of fragmentions, community members realized they could post indie replies to specific paragraphs or any phrase of a post, and the receiving post could display them as comments in the margins, thus inventing distributed marginalia, a feature previously only available in proprietary text editors like Word, Google Docs, or the Medium silo, and not actually distributed, aside from emailing around Word documents.
    • Micropub — a standard API for publishing and updating posts on indieweb sites (conceived in 2013, first interoperably implemented in 2014) with:
    • person-tag — a special kind of tag on a post or in post content that refers to a specific person by URL (and name) rather than just a word or phrase. Only publishing examples in 2014 (subsequent interop in 2015).
    • Vouch — a webmention protocol extension to prevent spam (interop at 2014/Cambridge)

    In addition to all those groundbreaking technologies, IndieWeb community members continued to evolve what types of content they posted on their own sites, documenting the paths as they paved them with permalinks on their own websites — all of the following have documented real world public web publishing examples (at least one, typically many more) on their very pages in contrast to the more aspirational approaches taken by other current attempts in this space (e.g. ActivityStreams, and the since defunct OpenSocial)

    • collection — a type of post that explicitly lists/embeds multiple other posts chosen by the author
    • edit — a special type of reply that indicates a set of suggested changes to a post (only publishing example(s) in 2014)
    • exercise — a broad post type that represents some form of physical activity, i.e. quantified self, or in particular:
    • food — a new post type that represents eating or drinking
    • invitation — a new post type for sending someone one person an invitation to someone else’s posted indie event. Also supported by Bridgy as a way of backfeeding invitations made on Facebook POSSE copies of event posts.
    • quotation — a type of post that is primarily a subset of the contents of another post usually with a citation.
    • sleep — similar to exercise this post type is for tracking when, how deeply, and how long you sleep.
    • travel — a post type about plans to change locations in the future.

    IndieWeb Services

    Beyond technologies, several indieweb services were built, deployed, and significantly improved by the community.

    IndieWeb Community Resources

    There's lots to technology development beyond the technology itself. Over 1000 new pages were created in 2014 that documented everything from concepts, to brainstorms, designs, and everything else indieweb related that the community came up with.

    The IndieWebCamp wiki is now the pre-eminent reference for all things Independent Web.

    If you have a question about something "independent" and "web", you're very likely to find the answer at https://indiewebcamp.com/

    Here are some of the top such resources created in 2014:

    • archive — the UI Pattern of providing archives of your posts that users can navigate
    • communication — how to create a communication / contact page on your own indieweb site, with clear one-click buttons for people to contact you as desire and are capable of being contacted.
    • disclosure — how to proactively disclose some aspect about a site that the site owner wants the user to explicitly be aware of
    • facepile — the UI pattern of providing a set of small face icons as a summary of people, e.g. that like a post, or have RSVPd to an event
    • file-storage — why, how, and examples of the common IndieWeb practice of storing your data in flat files (instead of the customary webdev habit of using a database)
    • follow & unfollow — documentation and implementation of the concept of (un)following people and posts
    • FreeMyOAuth — a one stop page to quickly access the "what have I authorized on what services" lists so you can de-authorize any apps you no longer use or don't recognize
    • generations — perhaps one of the most important pages created in 2014. generations showed for the first time an overview of how the IndieWeb approach of engaging development leaders first (e.g. by focusing on selfdogfooding), then journalists & bloggers, etc. provides a rational and steady growth path for the indieweb to eventually reach anyone who desires an independent presence on the web that they own and control.
    • HTTPS — best step-by-step documentation for how to setup HTTPS on an independent site, with choices, levels to achieve, and real world examples
    • mobile — a great summary of mobile first and other mobile specific design considerations, how tos, etc. for any indieweb site
    • mute — the ability to skip seeing someone's posts, while still following them in general
    • notification — research and analysis of both push notifications and notification pages across various applications and silos
    • onboarding — the user experience of a first time user of a site, service, or product, who is looking to sign-up or otherwise get started using it.
    • payment — how to create a payment page on your own indieweb site, and how to create the links to various payment services for your readers to click and pay you directly
    • scope — summary of what are OAuth scopes, examples of them used by IndieWeb apps, sites, and silos.
    • this-week-in-the-indieweb — a weekly digest of activities of the IndieWebCamp community, including a summary of wiki edits for the week
    • URL design — a collection of analysis and best practices for designing human-friendly and robust URLs, e.g. for permalinks
    • wikifying — simple steps for new community members to start engaging on the wiki

    Summary And Looking Forward

    2014 was a year of incredible gains, and yet, a very sad loss for the community. In many ways I think a lot of us are still coping, reflecting. But we continue, day to day to grow and improve the indieweb, as I think Chloe would have wanted us to, as she herself did.

    By the end of 2014 we had community members organize IndieWebCamps in 2014 in more cities than ever before, and similarly, start more local chapters of the Homebrew Website Club as well.

    I'm grateful for each and every person I've met and worked with in the community. Everybody brings their own perspective, their own wants and desires for their own website. As a community, we can best help people by channeling their desires of what should be done, into what they should do on their own website for themselves, building upon the work of the community, and then, how can we connect amongst our sites, and in-person, to motivate each other to do even more.

    That's exactly what we did at the end of the year.

    New Year Commitments

    At the last Homebrew Website Club meetup of the year on 2014-12-17, we decided to make verbal commitments to each other of what we wanted to create, launch, and start using on our own site by the start of the next year.

    As you might guess, we did pretty well with those commitments, but that's a subject for another post.

    If you’ve gotten this far, congratulations, this was a long post, and long overdue. You’re clearly interested, so you should come by for more:

    Independence on the web is within your grasp, and there’s a whole community just waiting to help you take the next steps. The first step is up to you.

    Thanks to reviews and feedback from fellow IndieWeb Community members Kevin Marks, Kartik Prabhu, Ryan Barrett, and Shane Hudson.


    I wrote most of this post incrementally on the IndieWebCamp wiki with a bunch of contributions from the IndieWeb community (citations, images etc.). Thus the text content of this blog post is CC0 licensed for you to re-use as you wish and preferably quote, cite, and link. Please credit the “IndieWeb Community”. Thank you for your consideration. — Tantek

  28. @t from @kartik_prabhu #indiewebcamp cleverness after rant about Google’s one cache, bot UA str http://indiewebcamp.com/irc/2015-07-20#t1437423981170

  29. One spider to crawl them all, One bot to retrieve them, One cache to index them all, and in the silos bind them.

  30. 5y+1d ago was the 1st Federated Social Web Summit #FSWS2010, a key inspiration for @IndieWebCamp. @evanpro organized it with @rejon and brought together so many creatives working on such different approaches. a jpg Photo cropped by @aaronpk (https://flic.kr/p/8m27Wz), original photo by @walkah (https://flic.kr/p/8mXLDQ) Everyone gave a short presentation in the morning about what they were there for, working on, solving, etc. Mine, titled “Itches & Scratches”, is archived in outline form here: * http://indiewebcamp.com/2010-199-tantek-fsws-talk Digging through the #FSWS2010 hashtag search on Twitter: https://twitter.com/search?q=FSWS2010&vertical=default&f=tweets I found a few things I was quoted for, like this early "indie web" reference: https://twitter.com/walkah/status/18857817565 @walkah: "indie web first, oligarchies second" /via @tantekcom #fsws2010 I think that was the first time I openly expressed preferring to focus on the independent web, or "indie web" in contrast to what was already becoming an oligarchy of large corporate social(media) web sites. In the afternoon we proposed and split up into BarCamp-style participant driven break-out sessions: a jpg Photo by @aaronpk (aaron.pk/1Jo) Afterwards we reconvened to summarize the conclusions and challenges from the break-out sessions. From that same search above: https://twitter.com/torgo/status/18871053684 @torgo: @t at #fsws2010 : "we need a 'social web acid test'" (http://twtr.io/QG5zMQ) Which then after some back and forth resulted in the SWAT0 (Social Web Acid Test v0) challenge: tantek.com/2010/199/t3/fsws-social-web-acid-test-swat-v0 I myself didn’t use the #FSWS2010 hashtag, preferring at the time to use the shorter #FSWS hashtag, figuring the year was implied in the context, thus requiring a separate date-constrained search: https://twitter.com/search?q=from%3At%20%23fsws%20until%3A2010-09-30&vertical=default&f=tweets And more photos: https://www.flickr.com/photos/tags/fsws2010/interesting/ We’ve made amazing progress in the IndieWeb community in the five years since, including last weekend’s first time ever three interopeerable implementations finally passing SWAT0: http://tantek.com/2015/193/t1/congratulations-first-indieweb-swat0 Passing SWAT0 is just the tip of the iceberg of what the IndieWeb community has accomplished, and is imminently shipping in multiple implementations, across numerous personal sites. The fun has just begun.

  31. apparently Nike Structure 18 shoes are sticky enough to climb to the top of one side of Cupid's Span's bow.

  32. going to Homebrew Website Club 17:30 @MozSF 2015-07-29! Indie event kylewm.com/2015/07/homebrew-website-club-1 silo fb.com/events/1455747814748163

  33. Great #MedicalData portability post http://www.thedoctorblog.com/medical-records/ and @CaribouHealth's plan to help you #ownyourdata: https://www.caribouhealth.com/ Right there at the top of their home page: “Your digital health identity belongs to you. Take charge of your own records and have your health information ready when you need it.” and this in particular deserves calling out: “You can also choose to manage your records yourself without a Caribou Card.” Well done @CaribouHealth!

  34. Reminder: HWC #IndieWeb meetup SF+Portland TONIGHT! 17:30 writing hour 18:30 chat & hack night https://indiewebcamp.com/events/2015-07-15-homebrew-website-club#RSVP

  35. Amazing weekend #IndieWebCamp with these independents a photo photo https://aaronparecki.com/notes/2015/07/13/3/indiewebcamp by @aaronpk

  36. @helloerica tomorrow morning!

  37. Dear Portland friends, who’s around and up for a drink or eats tonight? Thinking of getting a bowl at Prasad soon.

  38. going to Homebrew Website Club 17:30 @MozSF 2015-07-15! Indie event kylewm.com/2015/07/homebrew-website-club silo fb.com/events/106407686370243/

  39. Precisely @dietrich. Tweet copies have a link at the end only when there’s more. E.g. links for prev: * https://indiewebcamp.com/comment-presentation#How_to_markup * https://indiewebcamp.com/custom_post_style * https://indiewebcamp.com/mobile

  40. Yesterday @IndieWebCamp I did * “how to” comments markup * cross-browser per post styles * mobile friendlier home page

  41. likes Ben Roberts’s photo: a photo at and photo: a photo at

  42. User flow and permalinks from @dissolve33 @aaronpk @kevinmarks @kylewmahan’s #IndieWeb #SWAT0 achievement: http://tantek.com/2015/193/t1/congratulations-first-indieweb-swat0 Players A, B, C as summarized on tantek.com/2015/029/t1/swat0-posts-tags-mobile-photo-comment: Player A: Ben Roberts (ben.thatmustbe.me) Player B: Aaron Parecki (aaronparecki.com) Player C1: Kevin Marks (known.kevinmarks.com using reader.kylewm.com) Player C2: Kyle Mahan (kylewm.com using reader.kylewm.com) Following the same steps as documented at: https://indiewebcamp.com/SWAT0#Brainstorming I’ve added (parenthetical) remarks for additional informative details, and [bracketed] comments for aspects that may be different than expected. 1. With his phone, ben.thatmustbe.me (in Boston) takes a photo of aaronparecki.com (in Portland) [on a live broadcast], tags him in the photo, and posts it to his site: Photo permalink on: * https://ben.thatmustbe.me/photo/2015/7/12/9/ a photo 2. aaronparecki.com gets a notification [on his phone!] that he’s been tagged in a photo. Screenshot from Aaron Parecki’s phone: a photo https://aaronparecki.com/notes/2015/07/12/4/swat0 3. known.kevinmarks.com [and kylewm.com] (both of whom are in the San Francisco Bay Area) who are subscribed to ben.thatmustbe.me [on the reading service reader.kylewm.com], sees the photo in his reader UI https://reader.kylewm.com/ as shown in this Chrome/iOS screenshot: a photo https://aaronparecki.com/notes/2015/07/12/6/swat0-indiewebcamp 4. known.kevinmarks.com [and kylewm.com] posts a reply to the photo from this UI, the reply is posted to his site. Comment permalinks on: * http://known.kevinmarks.com/2015/aaron-is-now-demoing-swat0-replies * https://kylewm.com/2015/07/much-better-photo-very-handsome-not-so-sleepy 5. aaronparecki.com and ben.thatmustbe.me receive notifications that known.kevinmarks.com [and kylewm.com] has commented on the photo. Screenshot from Aaron Parecki’s phone: a photo https://aaronparecki.com/notes/2015/07/12/5/swat0-indiewebcamp Screenshot from Ben Roberts’s computer receiving notification via Chrome: a png When he clicks that it loads his notifications page: https://ben.thatmustbe.me/activity which shows more information: a png including receiving comments on his photo in the same minute from both Kevin Marks and Kyle Mahan. Requirements from SWAT0 description: * users are on at least 2 (ideally 3) different services A. ben.thatmustbe.me B. aaronparecki.com C. reader.kylewm.com + known.kevinmarks.com [+ kylewm.com] * each of which is built with a different code base A. Mobilepub + Postly * https://github.com/dissolve/mobilepub * https://github.com/dissolve/postly B. P3K + Prowl * http://indiewebcamp.com/p3k * http://prowlapp.com/ C. Woodwind + Known [+ Red Wind] * https://github.com/kylewm/woodwind * https://withknown.com/ * https://github.com/kylewm/redwind This demo was also all recorded on live video as well during today’s IndieWebCamp 2015 Portland demos. Video link to follow. Update 2015-07-14: Video: https://aaronparecki.com/notes/2015/07/14/1/swat0

  43. Congratulations @dissolve33 @aaronpk @kevinmarks @kylewmahan for the first #indieweb #SWAT0 demo!! Previously: http://tantek.com/2015/029/t1/swat0-posts-tags-mobile-photo-comment This is a huge milestone. The Social Web Acid Test Level 0 (SWAT0) was proposed nearly 5 years ago at the first Federated Social Web Summit: tantek.com/2010/199/t3/fsws-social-web-acid-test-swat-v0 There was previously only *one* demo of SWAT0, using Statusnet and Cliqset, captured only on video. The permalinks from Statusnet are gone. And Cliqset itself shutdown less than a year later. Today is the first time SWAT0 has been done with: * 3 people * Ben Roberts, Aaron Parecki, Kevin Marks - and same time: * Ben Roberts, Aaron Parecki, Kyle Mahan * 3 different sites * ben.thatmustbe.me, aaronparecki.com, reader.kylewm.com * 3 different implementations * Mobilepub, P3k+Prowl, Woodwind + (Known | Red Wind) And as a bonus: * from 3 different geographical locations * Boston, Portland, SF Bay Area * in 2 different programming languages * PHP, Python And last but not least, the combination of Ben Roberts, Aaron Parecki, Kyle Mahan achieving SWAT0 is a HUGE breakthrough for the web since they all did it: * on their own sites * with software they personally wrote Boom. Update: See http://tantek.com/2015/193/t2/user-flow-permalinks-indieweb-swat0 for specific user flow, permalinks, and screenshots.

  44. @aaronpk re: https://aaronparecki.com/notes/2015/07/11/1/indiewebcamp And here’s a reply to your post. Let’s see if it shows up on your post.

  45. likes Ben Werdmuller’s article “Two years of being on the #indieweb” at , Jeena's photo a photo at , Julie Logan’s animated gif at , and Eric Meyer’s tweet at

  46. going to and at IndieWebCamp Pre-Party @pintsbrewing now! aaronparecki.com/events/2015/07/10/1/indiewebcamp-pre-party silo fb.com/events/1007859082588398

  47. @kevinmarks @grorgwork +1 <style scoped> — strong #indieweb use-case: custom post style: tantek.com/2015/185/t1/coded-per-post-styling-style-scoped

  48. Blinking Fever

    Not until my hand brushed up against you did I realize something was wrong. You were warm, too warm. Despite closing your lids last night you hadn’t slept. That morning you were a pale shade of gray, unresponsive, staring blankly and blinking.

    I hoped it was temporary, yet I knew it might be your time. Looking up your symptoms I found you weren’t the first to have this blinking fever. You finally relaxed and stopped blinking when I held your primary pressure point for a few seconds. I let your heat dissipate while I read what to try next.

    Despite being with you for years I was only now learning you could repair yourself if I pressed a few more of your buttons. You told me you were ok.

    When you awoke on the train you froze, gave me the weirdest panicked look, and told me as much in so many languages I didn’t understand. I held your primary pressure point again and let you rest til we got home. You were always easy to carry.

    I stopped by the bookstore and picked up a couple of volumes from fans of yours and your kind — they’d written so much about you collectively over the years.

    That evening I woke you up again after letting you sleep the afternoon away and there it was again, that blank pale gray stare, blinking an empty question.

    I tried having you repair yourself again, and again you said you were ok. Maybe you were at least in mind, maybe it was only your body failing you. So I did the only thing I could do and ordered a replacement. I knew you couldn’t be upset about it though I suspected.

    The next day I transferred your mind to a conduit and the morning after that your new body arrived. It took less than half an hour for it to absorb you from the conduit, but were you really all there?

    You seemed happy and responsive, up for anything. You’d forgotten a few things; I had to give you another key to the house. I confess your new body was smoother, more beckoning to the touch. Your expressions were brighter, more colorful. You spoke more crisply. Enough differences to notice, but you were still you.

    I kept your old body on life support, just in case there was something else I had to ask your old self that your new self had forgotten. You didn’t even notice your old self until the house told you to pick a new name and you took a number. I knew other parts of you depended on your name so I renamed your old self instead. You were you again.

    It’s been less than 24 hours and I’ve only noticed a few more things that didn’t make it through the conduit. You forgot some of your preferences I knew by heart so I reminded you.

    You forgot how to check yourself before going out in public; that will take me longer to teach you, as it was a friend of mine that taught you that last time and I still don’t know how he did it.

    Your old body lasted about four years. Four years together, traveling across continents and more time zones than I remember. Four years of keeping up with me, even if I was running, jumping, or sometimes even climbing. I couldn’t help but hear the words echoing “Four year lifespan” yet I knew that was a quote from a movie. Just a coincidence I’m sure.

    I’m getting used to the new you. You seem to be ok with it too. I’m sure there will be more we’ll have to figure out together but isn’t that how it always is?

    Blinking folder on a pale gray background

    Also On


    Kyle Mahan: I dig it. Kind of a cyberpunk version of “I Used to Love H.E.R.”

    Jeremy Keith: A heartbreaking tale of companionship, memory and loss.

  49. Slowly crunching down various queues after transferring primary cyberspace deck to new hardware. #timemachineislossy

  50. CSS Basic User Interface Module Level 3 Candidate Recommendation Published

    The CSS WG has published a second Candidate Recommendation of CSS Basic User Interface Module Level 3. This specification describes user interface related properties and values that are proposed for CSS level 3, incorporating such features from CSS level 2 revision 1, and extending them with both new values and new properties.

    Call for Implementations

    This notice serves as a call for implementations of all CSS-UI-3 features, new properties, values, and fixes/details of existing features. Implementor feedback is strongly encouraged.

    Thorough review is particularly encouraged of the following features new in level 3:

    Significant Changes

    Significant changes since the previous 2012 LCWD are listed in the Changes section.

    This CR has an informative "Considerations for Security and Privacy" section with answers to the "Self-Review Questionnaire: Security and Privacy" document being developed by the W3C TAG.


    Please send feedback to the (archived) public mailing list www-style@w3.org with the spec code ([css-ui-3]) and your comment topic in the subject line. (Alternatively, you can email one of the editors and ask them to forward your comment.)

    See Also


    Also syndicated to CSS WG Blog: CSS Basic User Interface Module Level 3 Candidate Recommendation Published.

  51. Ran a 7:23 timed mile at #NPSF #trackattack this morning. 57 seconds faster than my previous PR 98 days ago: http://tantek.com/2015/090/t1/timed-mile-track-get-better a photo https://instagram.com/p/42Awb3A9cr And another personal achievement unlocked as well: * Run a timed mile faster than my plank time http://tantek.com/2015/091/t1/plank-pr-plankoff-new-goal

  52. coded per post styling, e.g.: tantek.com/2015/178/t1/lovewins-css3-pride-rainbow-background and in homepage stream with HTML5 <style scoped> — supported currently only on Firefox (desktop, Android, or FirefoxOS). Other browsers: * Chrome * has experimental support: https://developers.google.com/web/updates/2012/03/A-New-Experimental-Feature-style-scoped * bug: https://code.google.com/p/chromium/issues/detail?id=130673 * Safari (WebKit) https://bugs.webkit.org/show_bug.cgi?id=49142 More on custom post styles: * https://indiewebcamp.com/custom_post_style Previously: * tantek.com/2015/181/t2/indiewebcamp-per-post-styling

  53. @UserOnboard appreciate follow-up! Firefox 39(beta)/MacOSX 10.7.5, noscript by default Good to know it was unintended!

  54. How not to onboard users, as shown by @UserOnboard: * Block content with a “Your email” form overlay * Misleading copy: “Without further ado, here is...” [actually with one further “ado” — please give us your email address first] * Mocking copy: “Thanks for reading!” blocks content to be read * Creepy first-person copy: “… because I know you’re busy” — ‘I’ who? Is @UserOnboard claiming to be a self-aware AI? Screenshot: a png of https://www.useronboard.com/how-applemusic-onboards-new-users/ — article via @KevinMarks.

  55. Today’s the humpday of year. 182 days before, 182 days after today. Happy Third New Sunday! newcal.org/#fiveSunrevolutionsyncdays

  56. 2 years since Google Reader died. Miss it? Why? No? What do you use instead? Discuss tonight: https://indiewebcamp.com/next-hwc

  57. Today was the last day of my first term @W3CAB. As promised, new W3C license: http://www.w3.org/Consortium/Legal/2015/copyright-software-and-document News: http://www.w3.org/blog/news/archives/4743 It’s a huge improvement over the previous W3C Document License, but we still have work to do to get to CC0. Howver, this license is sufficiently flexible/liberal that hopefully it will help grow broader web community experience with such liberal & forkable licenses. Previously: tantek.com/2015/150/t1/running-for-w3cab-again

  58. Emotionally intense yoga class (because I saw Inside Out last night?) Afterwards I did my first headstand! Positioning myself at the base of the wall helped me get my form right. Held it for 10 seconds without touching the wall.

  59. Wanting to keep CSS Pride bg live on its post, asked #indiewebcamp; two have per post styling: https://indiewebcamp.com/custom_post_style

  60. #track today: Yasso 800s I did: 5 x 800 sub-4-min, 4 min cooldown between, and a 400 sprint at ~1:43, unofficially my fastest lap ever. a photo https://instagram.com/p/4joT1ug9TQ Five is only half the ten Yasso 800s you’re supposed to do if you’re training/timing for a full marathon. However, I did sub-4-min 800s which if I'd done 10 of it would mean I should be able to sub-4-hour marathon. Does doing half that mean I should be able to do a sub-2-hour half marathon? Going to keep training hard & smart and bring everything I’ve got at next month's SF Half Marathon (second half). I should at least be able to beat my 2:18 PR from Surf City. Previously: * tantek.com/2015/161/t1/track-yesterday-did * tantek.com/2015/032/t2/finished-surfcity-half-marathon-pr

  61. Nevermind #Y2K #Y2038 #Y2100, are you ready for #UTC235960? The next #leapsecond is 2015-06-30 https://en.wikipedia.org/wiki/Leap_second#Insertion_of_leap_seconds

  62. Facebook sponsors SF #Pride, can rainbow your icon, yet disallows use of post-transition name: https://medium.com/@zip/my-name-is-only-real-enough-to-work-at-facebook-not-to-use-on-the-site-c37daf3f4b03

  63. Because #lovewins: here’s a simple #CSS3 trick for a #pride #rainbow website background: Add this style element right before your closing </head> tag: <style> /* CSS Pride rainbow bg by Tantek Çelik. CC0: share freely. */ body { background: linear-gradient(180deg, #f00000, #f00000 16.67%, #ff8000 16.67%, #ff8000 33.33%, #ffff00 33.33%, #ffff00 50%, #007940 50%, #007940 66.67%, #4040ff 66.67%, #4040ff 83.33%, #a000c0 83.33%, #a000c0) fixed; } </style> Or copy paste the body {...} rule into your main CSS file. a photo https://instagram.com/p/4cnmPhA9Qk/ Try it out and let me know how it works with your site, theme, blog, framework etc. References: * colors from https://commons.wikimedia.org/wiki/File:Gay_flag.svg * CSS3 linear-gradient documentation: https://developer.mozilla.org/en-US/docs/Web/CSS/linear-gradient Update 2015-06-30: After some searching I found some similar prior art from Greg Doolittle in 2011! * http://gregdoolittle.com/blog/2011/12/15/css3-rainbow-flag/ With a few differences: * colors are similar, but not same as the Wikipedia reference * 18% instead of 16.67% (and other integer vs decimal %s) * has -o- -moz- -webkit- -ms- prefixed versions as well as the old -webkit-gradient syntax Also apparently there’s a bug in *both* Mobile Webkit and Mobile Chrome, likely with the combination of a linear-gradient background-image and background-attachment:fixed. Both stretch the gradient to the entire canvas of the document, instead of the viewport like they're supposed to. Works fine when you resize desktop Safari or Chrome windows to the size of an equivalent mobile screen, so it’s only their mobile variants that appear to be buggy. Also works fine in desktop Firefox, Android Firefox, and FirefoxOS.

  64. going to Homebrew Website Club 17:30 @MozSF 2015-07-01. Indie event kylewm.com/2015/06/homebrew-website-club-1 silo fb.com/events/703707653108150

  65. #lovewins In a technical meeting at #mozwww on JS tech debt; getting misty eyed reading the #marriageequality news.

  66. @benwerd great post, disagree with opening para. Facebook grew with selfdogfooding & good UX, not “making money”, not until much much later. I think this is an important distinction because the internet archive is littered with startups that pursued “making money” first, or that made beautiful UX for *someone else*, unused by the creators/founders, and ignored by others too. Weinberger’s article has a lot of good food for thought. The general message that we cannot assume decentralized determinism is a good one. Independence isn’t inevitable. Independence, like freedom, requires eternal vigilance. Re: CloudFlare — you met someone that works there at a recent Homebrew Website Club meetup at The Creamery: https://indiewebcamp.com/events/2015-04-08-homebrew-website-club She said they want to work to help indieweb efforts, maybe even help host future meetups or IndieWebCamps. The rest of your post, I agree completely, and very well written. “technostalgia” is an amazing portmanteau. Totally agreed about the merits (not criticisms) of using open source software to build a business, to make a profit, to pay yourself to live, and to also create something sustainable. Looking forward to spending more time working together pushing this all forward at IndieWebCamp 2015 in just over two weeks! https://indiewebcamp.com/2015

  67. @benwerd as @aaronpk noted, Homebrew Website Club is indieweb for anyone interested & passionate. As a HWC participant and co-organizer, help us make them more approachable & inclusive so they can be “indieweb for the rest of us” in practice!

  68. @nerdyc tantek.com/t4bn4 @mediajunkie yes. need a term. @toddbarnard Like X-Men? Or: “We meet next weekend.” — knowledge of an inevitable future. “I met her next weekend.” — first person past, yet current timeline future. Possibly only applicable to time travelers. Possible scifi source material for more examples: * Minority Report * Fringe * X-Men: Days of Future Past

  69. @potch future perfect is close, looking for more inevitable: “Happy about the pizza I ate later today” or “Tomorrow we looked at today through yesterday’s mirror.”

  70. Is there a past-tense-like verb tense for talking about likely/inevitable future events as if they’d already happened?

  71. @NikeSupport: would be awesome if friends could record #nikeplus congrats for each other; hear them among celebrities.

  72. Sometimes I’ll run 3 days in a row b/c @shalaneflanagan might give congrats after on #nikeplus: “Wow. That’s three days in a row. Boom.”

  73. Today is the 10th anniversary of microformats.org. Great progress in 6+ years of #microformats2: In particular an increasingly detailed generic vocabulary-independent parsing specification: microformats.org/wiki/microformats2-parsing The parsing spec is stable, and yet living and updated via: * explicit documentation of issues and brainstorms on the wiki * consensus among parser developers * updated when proven with running code * backed with open test cases in a test suite The number of open source parsers across a variety of languages continues to increase, the latest being a Go parser and an early-stage Java parser: * microformats.org/wiki/microformats2#Parsers microformats vocabularies such as h-entry continue to also evolve based on minimal proposals to address real-world use-cases, evaluated with personal publishing experience across mutiple sites, confirmed by consuming code demonstrating live use-case functionality. * microformats.org/wiki/h-entry Year 10 has been perhaps the most pragmatically focused yet, and beyond progress on microformats specifications, we have continued to iterate the methodologies and processes that keep microformats simpler and focused on solving the real-world needs of the open web, setting an example for a minimum viable web platform. Related: * tantek.com/2015/068/b1/security-towards-minimum-viable-web-platform Previously: * tantek.com/2014/171/b1/microformats-org-turns-nine

  74. a photo https://instagram.com/p/4IqhR6A9Ze #yxyy003 #unbagging after the fact and reflecting One week ago I arrived at my third #yxyy. From the very beginning, checking in at the Ace, I faced decisions that had rational choices and instinctual choices. I trusted my instinct and used empathy & reason to guide the details. This year was different in many ways. Instead of room sharing, I got my own room. I knew fewer people going, so I ended up reaching out more and getting to know more people. Instead of escaping with people I knew, I jumped into the first night's activities. Instead of conserving my drink tickets, I used them all the first night. Instead of worrying if the people I were with were having a good time, I chose to have a good time and listen to those around me, what they were saying and otherwise expressing, rather than worrying. Instead of organizing more than one thing, I organized just one thing ahead of time. Everything else was spontaneous or word of mouth or both. When I was asked to take time out of the pool and do an interview I said yes. Instead of signing up myself in advance, I spontaneously reached out to a friend to volunteer together, side-by-side, at the Advice Booth. Instead of worrying about going to bed in time to run the next morning, I said yes to staying up late deep in conversations until the pool closed and then dared to set an alarm for 90 minutes later, to run before sunrise, trusting my future self to decide when the time came. Instead of hesitating I told people when I appreciated meeting them and would love to chat more. Instead of skipping yoga, I went both Saturday and Sunday mornings. When asked spontaneously to lead & instruct my fellow yoga class attendees how to step-by-step get into an arm balance, I said yes. When asked to join in sharing a floating pretzel pool toy that could only fit two, I said yes. Thank you @amylola @debs @hillary @sanfranannie @willolovesyou for everything you do and say. Thank you especially for listening, sympathizing, reflecting what needed to be said, and most of all, being encouraging.

  75. likes Kyle Mahan’s note at and note at

  76. likes Ben Werdmüller’s note

  77. The 5 words followed by an #indieweb URL that make a silo post: “This post originally appeared on” Original: http://alexandrasamuel.com/world/why-and-how-to-yes-and-yes-yes Silo copy: (scroll to the bottom of the article text) https://medium.com/@awsamuel/why-i-keep-saying-yes-to-yxyy-18bb6509fd35

  78. Inspiring @yxyy with creatives, running with dad Tue, #NP_LAX today. Returning to emails of so many standards screwups

  79. likes benwerd’s reply

  80. Yesterday morning @jessdandy led #YxYY yoga practice. She had @staubin lead a vinyasa flow and asked me to instruct our class of about 15-20 in a step-by-step practice to do an arm balance (side crow) as I’d taught her the day before. Without preparation I led everyone from memory the steps I learned from my yoga teacher Jordan at Mission Cliffs. From standing, start with chair pose, and slowly deliberately take each of these steps as they feel comfortable, or stop, hold, and breathe when you feel like you’ve reached a limit. * from chair, put your hands together in front of your chest and twist your upper torso to the right. * side twist with hands together, knees still bent, left elbow to the right of your right knee, watching your knees to keep them aligned * then stretched apart, one hand touch the floor, the other reaching to the sky, looking up to it * both hands on the mat pointing to the side, keeping knees aligned * use your core to lift your thigs up higher, so they touched as high up on your upper arms as possible * then start to bend your elbows and lean over them, your upper arms supporting your stacked thighs, keeping your core strong while still breathing * gradually as you lean further, your feet should feel light then left off the floor as your elbows are bent eventually to a 90 degree angle and you’re doing side crow! Apparently about half the class was able to do it, and everyone took at least a few steps and found spots to stretch and practice. I had everyone unwind from the pose, stand back up, take a counter backbend stretch, and then do the same on the other side. That was a first for me — I’ve never led a group in any kind of yoga, and was grateful to have the opportunity to do so, as well as having been taught a series of small incremental steps to achieving side crow that I could remember and pass along. Teaching something to a group for the first time was itself a learning experience.

  81. @benwerd really appreciate and inspired by all your work. Yes and give yourself gratefulness for your achievements.

  82. Yesterday: automatic reply webmentions sending. (my first indieweb reply to do so was tantek.com/2015/162/t2/indieweb-ui-ux-sketch-build) Today: pingbacks too, e.g. First Federated #Indieweb Comments: https://eschnou.com/entry/testing-indieweb-federation-with-waterpigscouk-aaronpareckicom-and--62-24908.html Previously: http://tantek.com/2013/113/b1/first-federated-indieweb-comment-thread

  83. @eschnou now automatically sending webmentions (or pingbacks if necessary) from replies; joining #indieweb federation!

  84. @kylewmahan re: kylewm.com/r/4ba4 Let’s see how a reply three deep (reply to your reply to your reply) works.

  85. @aaronpk re: aaron.pk/n4bc1 Looking forward to seeing what #indieweb #UI #UX iterations you sketch and build!

  86. @benwerd indieweb tenets? @loqisaur says indiewebcamp.com/tenets In summary: 🗽✊🔍💪😋📓💞📐🌐🗿🎉🌈

  87. going to Homebrew Website Club 17:30 @MozSF 2015-06-17. Indie event kylewm.com/2015/06/homebrew-website-club silo fb.com/events/101890076819383

  88. Made it to track yesterday. workout: 800 1600 800 1600 4x200 I did: 800 1200 800 1200 4x200 Previously: http://tantek.com/2015/153/t1/headache-water-track-ran-anyway

  89. I too am “of the web” per @adactio https://adactio.com/journal/9016 Also the #indieweb because silos die, like @Branch: http://tantek.com/2015/159/t1/branch-replied-my-site-last-longer

  90. @brianoberkirch 2y ago you posted @Branch, I replied on my site “where it will likely last longer”. It did: http://tantek.com/2013/073/b1/silos-vs-open-social-web vs. http://branch.com/b/why-are-silos-beating-the-light-out-of-an-open-social-web “ After more than three years of great conversations, our team has decided to shut down Branch.com. Before we go, we want to let you download the full text of all your posts and branches you joined. ( Sign in with Twitter to Download ) Keep bringing people together, and keep talking to each other. Thanks for all the conversations. ” As reported by TechCrunch: * http://techcrunch.com/2015/06/03/bye-branch/ Internet Archive: * https://web.archive.org/web/20140731143212/http://branch.com/b/why-are-silos-beating-the-light-out-of-an-open-social-web

  91. likes @amazingmap’s tweet

  92. @deewu thanks for pointing out. Noted .so ccTLD issues: https://indiewebcamp.com/short-domains#so and cited your tweets. Hope that’s ok!

  93. @BillSeitz @holden @WardCunningham IndieWeb approach: 1 reply from your own site 2 POSSE e.g. Twitter 3 webmention to posts on indieweb sites which then copy and embed such a reply inline under the post. Already works when received by these "BlogComment" engines for example: * Known / withknown.com * WordPress Webmention Plugin / https://indiewebcamp.com/Getting_Started_on_WordPress For more see: * https://indiewebcamp.com/reply * https://indiewebcamp.com/comments-presentation

  94. If I ever get a cat I'm naming it str.

  95. Awoke to a bad headache. Drank water til somewhat lucid. Track halfway over, ran to anyway: did 1x(600,300). workout was 5-7x(600,300). Previously: http://tantek.com/2015/146/t2/made-trackattack

  96. @LynnMagic it would be great to have you @IndieWebCamp.

  97. likes @LynnMagic’s tweet at , tweet at , and tweet at

  98. going to IndieWebCamp 2015-07-11…12 in Portland! You should too! Choose Portland or Brighton: https://indiewebcamp.com/2015

  99. @benwerd @erinjo also proud of you & @withknown — so much #indieweb & especially user empathy. Keep up the great work!

  100. Congrats to fellow re-elected @W3CAB members @chaals @cwilso @mc2hampion and newcomer Judy Zhu! http://www.w3.org/blog/news/archives/4727

  101. Having had success with more openness, I’m running for the @W3CAB again. Ask your @W3C AC Rep to vote by tomorrow! https://www.w3.org/2002/09/wbs/33280/ab20150501/ (W3C Member-only link) I’ll write more later, but here’s a few accomplishments: I created and got the W3C Advisory Board (AB) to start openly using: * @W3CAB - The W3C Advisory Board's official Twitter account * https://www.w3.org/wiki/AB - wiki page of open AB projects I worked hard at the Advisory Board to make more open licensing happen at W3C, and with the help and collaboration of many, concrete progress has been made there: * https://www.w3.org/2004/pp/psig/group/1505-derivative-REC.html (also a W3C Member-only link, hope to report more at a public link soon) I'm still working towards allowing Working Groups (and Editors) to choose to use CC0, but the above is at least a big step forward for establishing a culture of using more liberal licenses. Thank you for your support!

  102. going to #YxYY003! Looking forward to warm & thoughtful chats with independent creatives. yesandyesyes.com @yxyy

  103. @phidip #NPSF is @Nov_Project_SF, SF chapter/tribe of november-project.com — a free workout group. Last Wednesday of the month is our "PR Wednesday" where we do a particular routine and try to set a new personal record time to completion. More on NPSF’s PR Wednesday routine in this previous post: tantek.com/2015/119/t1/personal-record-npsf-pr-faster

  104. Actually I did set an #NPSF PR this morning! 33:20 = 35s faster than 33:55 last month! Apparently I misremembered my last month’s time as 32:55. I was so sure of my previous PR this morning and when I wrote my previous post that I didn’t even click back to last month’s post until just now. No wonder I was a lot closer to the people just ahead of me this time. I was over half a minute faster! So yeah, the 3/1 minute run/walk Galloway method totally worked.

  105. #NPSF PR Wednesday this morning: 33:20, 25s slower. Tried a 3/1min run/walk this time. Felt a lot smoother overall, with a lot more room to grow and improve. Also today was colder than last month, and I was a lot closer to the people just ahead of me than I was last month. Previously: tantek.com/2015/119/t1/personal-record-npsf-pr-faster

  106. Somehow woke up, made it to #trackattack. plan 1200 1600 1200 1600 1200 I did 1200 1200 800 800 1200 w 90s rests These people: https://instagram.com/p/3KgnvHg9SZ a photo Photo by Nick Buck Last week: tantek.com/2015/139/t1/first-nyrr-tuesday-intervals Previously: tantek.com/2015/118/t1/npsf-trackattack-done

  107. making progress on short, simple, flat open source code for webmention discovery in HTTP&HTML: https://indiewebcamp.com/Webmention#Discovery_in_PHP

  108. Tired of native iOS app inefficiencies, thus a deletion binge: * Buy Me a Pie! (unused) * Clear (unused) * Connect (never seemed to work or do anything useful, asked for too many creepy permissions) * Epicurious (unused) * Give It Up! (unused) * MapMyRun (unused) * MyFitnessPal (unused) * RunKeeper (no good on iPod, Nike+ Running works fine) * Runtastic (unused) * PaperKarma (never got it to work) * Path Talk (unused) * Tumblr (website should be good enough) These are just the few based on what showed up in App Store / Updates. As long as a native iOS app is not asking to be updated, then it seems mostly harmless. However, most so-called "native" mobile apps are more work for the user (thus more unfriendly) by making the user deal with: * update notifications * explicitly needing to update them * having them be disabled (Waiting…) while being updated * making device backups take longer On the other hand, the nice thing about web app shortcuts is that they never need explicit updating, nor do you have to wait for such updates to finish before you can use them again, nor do you have to deal with any of the other above-noted native app annoyances.

  109. going to Homebrew Website Club 17:30 @MozSF 2015-06-03. Indie event kylewm.com/2015/05/homebrew-website-club silo fb.com/events/674781485961103

  110. likes @matthillco’s tweet at , @andy_leap’s tweet at , @matthillco’s tweet at , tweet at , and tweet at

  111. @matthillco thanks for kind words! @techytuppers good feedback. Changed IRC to webchat link. You’re right regarding “You have to walk before you can run.” Some thoughts on that: http://indiewebcamp.com/generations @IndieWebCamp is a community that encourages and helps enable everyone to walk and run who wants to do so, especially with their own identity and creativity, incrementally, step by step. More: http://indiewebcamp.com/principles