1. using BBEdit

    Surprised that Wikipedia has many wolf parables&fables, yet lacks the Cherokee Two Wolves story en.wikipedia.org/w/index.php?search=%22the+one+that+you+feed%22

    Twitter post 638969377744928768
  2. using BBEdit

    ♫ youtu.be/pk30a0qsVIk @ThisIsMyJam being archived 2015-09-26. Saving a jam? 25 days to shoot it up there. Previously: * http://tantek.com/2015/237/t1/open-up-post-jams-indieweb

    Twitter post 638843436561469440
  3. using BBEdit

    Did entire #NPSF #trackattack: 1600 1200 1000 800 600 400 abs. Prev: tantek.com/2015/230/t1/npsf-trackish Prev completion: tantek.com/2015/118/t1/npsf-trackattack-done https://scontent-sjc2-1.cdninstagram.com/hphotos-xaf1/t51.2885-15/e35/11821356_395494483975922_1481558253_n.jpg https://instagram.com/p/7GEfT3g9Vo

    Twitter post 638755285159559168
  4. using BBEdit

    Tomorrowland #dystopia vs #futureoptimism #fatalism vs #possibility #knockdown vs #build #alone vs #curate #community and the need for #genius #engineers #creativity #inventions A couple of quotes: “Anyone who will feed the right wolf.” “Find the ones who haven’t given up. They’re the future.” And from the 30 second trailer: https://youtu.be/8cAJ7nc3-tA “What if there was a place, where nothing was impossible, where you could build whatever you were crazy enough to imagine.” cc: @BrendanEich @dougturner @nealstephenson

    Twitter post 638530616531791872
  5. using BBEdit https://twitter.com/BrendanEich/status/638505871354363912

    @BrendanEich only Tomorrowland trailer with wading to starship shot didn’t end there. This? https://www.youtube.com/watch?v=lNzukD8pS_s

    Twitter post 638526162256461825In reply to: https://twitter.com/BrendanEich/status/638505871354363912
  6. using BBEdit in reply to: https://twitter.com/BrendanEich/status/638502368514981888

    @BrendanEich took notes, need to rewatch, write-up something longer. Some overlap with @nealstephenson #Anathem ideas.

    Twitter post 638504464144572416In reply to: https://twitter.com/BrendanEich/status/638502368514981888
  7. using BBEdit

    Enjoyed Tomorrowland on flights to&from Paris. Better than critics/ratings. Perspective shifted imdb.com/title/tt1964418

    Twitter post 638501941698514944
  8. using BBEdit in reply to: https://twitter.com/dougturner/status/638493711698034688

    @dougturner yes ATT cares more about bottom line. Would be costly (PR / legal #CFAA) for them to strip CSP. #security

    Twitter post 638495199082188800In reply to: https://twitter.com/dougturner/status/638493711698034688
  9. using BBEdit in reply to: https://twitter.com/kermiite/status/637912753756348417 https://twitter.com/jden415/status/637424014420373506

    @kermiite @jden415 I commend you on HTTPS+HSTS A+ personal sites. You’re right. I’m waiting to dogfood #LetsEncrypt.

    Twitter post 638493514712674304In reply to: https://twitter.com/kermiite/status/637912753756348417
  10. using BBEdit in reply to: https://twitter.com/dougturner/status/637435311656595456

    @dougturner @kermiite 1. Defense in depth indiewebcamp.com/Content-Security-Policy#Why_bother_if_attacker_can_hack_CSP_too 2. I dare ATT to #circumvent Content #Security Policy

    Twitter post 638492154386620416In reply to: https://twitter.com/dougturner/status/637435311656595456
  11. using BBEdit

    ATT wifi injects ads http://webpolicy.org/2015/08/25/att-hotspots-now-with-advertising-injection/ = I learned+deployed CSP https://indiewebcamp.com/Content-Security-Policy You should too. #security

    Twitter post 637422341673340928
  12. using BBEdit

    Four years (+2d) ago: How many ways can you slice a URL & name the pieces? http://tantek.com/2011/238/b1/many-ways-slice-url-name-pieces #xkcd927 #standards

    Twitter post 637247235378561024
  13. using BBEdit in reply to: http://tantek.com/2015/238/t3/24-hour-homebrew-website-people https://twitter.com/t/status/636571267903135744

    24h Homebrew Website Club: Malmö, Göteborg, Brighton, SF, Portland done; now on in Edinburgh https://indiewebcamp.com/events/2015-08-27-homebrew-website-club

    Twitter post 636947495940157442In reply to: https://twitter.com/t/status/636571267903135744
  14. using BBEdit

    updated tantek.com/relmeauth @CSSWG meeting to demo :-moz-ui-invalid, :-moz-ui-valid, and :user-changed polyfilled to work while modifying the input (typing, paste, etc.) before clicking outside. Note that :-moz-ui-invalid already only triggers *after* the user leaves the input, thus acting as a warning to the user that they need to go back and fix something, instead of interrupting them while they're typing. Whereas on the contrary, you want to indicate to the user as soon as they have entered something valid, and not wait until they leave the input. References: * alistapart.com/article/inline-validation-in-web-forms * alistapart.com/article/forward-thinking-form-validation * alistapart.com/d/forward-thinking-form-validation/enhanced_2.html * https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-invalid * https://developer.mozilla.org/en-US/docs/Web/CSS/:-moz-ui-valid

    Twitter post 636943056260984832
  15. using BBEdit

    while talking CSS snap points, noticed Wikipedia lacked toast points thus https://en.wikipedia.org/wiki/Toast_point @adactio @tommorris etc. help expand it!

    Twitter post 636834565726842880
  16. using BBEdit

    24 Hour Homebrew Website People starts with the first Mälmo meetup with @voxpelli @thatemil! http://indiewebcamp.com/events/2015-08-26-homebrew-website-club

    Twitter post 636571267903135744
  17. using BBEdit in reply to: https://twitter.com/robdolin/status/636524211616378880

    @robdolin 1. Add "Seattle" and yourself here: indiewebcamp.com/Homebrew_Website_Club#Up-and-coming_Meetings 2. I’m in Redmond in 2 weeks! Let’s do it!

    Twitter post 636557024751452160In reply to: https://twitter.com/robdolin/status/636524211616378880
  18. using BBEdit in reply to: https://twitter.com/Yahoo/status/636343809656360960

    Vacation Mode @Yahoo? How About Evening Mode, Original Content Mode, and Walkie Talkies With Texting?

    Called it. I recently asked “When did you last eat without using digital devices at all?” and proposed a “dumb camera mode” where you could only take/review photos/videos and perhaps also write/edit text notes on your otherwise “smart” phone that usually made you dumber through notification distractions.

    Five days later @Yahoo published a news article titled: “The One Feature Every Smartphone Needs: Vacation Mode” — something I’m quite familiar with, having recently completed a one week Alaska cruise during which I was nearly completely off the grid.

    Evening Mode rather than Vacation Mode

    Despite the proposals in the Yahoo article, I still think a “dumb” capture/view mode would still be better on a vacation, where all you could do with your device was capture photos/text/GPS and subsequently view/edit what you captured. Even limited notifications distract and detract from a vacation.

    However, the idea of “social media updates only from people you’re close to, either geographically or emotionally” would be useful when not on vacation. I'd use that as an Evening Mode most nights.

    Original content rather than “shares”

    In addition, the ability to filter and only see “original content — no shared news stories on Facebook, no retweets on Twitter” would be great as reading prioritization — I only have a minute, show me only original content, or show me original content from the past 24h before any (re)shares/bookmarks etc.

    This strong preference to prioritize viewing original content is I think what has moved me to read my Instagram feed, and in contrast nearly ignore my Twitter feed / home page, as well as actively avoid Facebook’s News Feed.

    Ideally I’d use an IndieWeb reader, but they too have yet to find a way to distinguish original content posts in contrast to bookmarks or brief quotes / commentary / shares of “news” articles.

    Tame your inbox? No, vacation should mean no inbox

    The Yahoo article suggests: “tame your inbox in the same fashion, showing messages from your important contacts as they arrive but hiding everything else” and completely misses the point of disconnecting from all inbox stress while on vacation.

    SMS smart phone texting frustrations vs stress-free iPod

    While I was on the Alaska cruise, other members of my family did txt/SMS each other a bit, but due to the unreliability of the shipboard cell tower, it was more frustrating to them than not.

    With my iPod, I completely opted out of all such electronic text comms, and thus never stressed about checking my device to coordinate.

    IRL coordination FTW

    Instead I coordinated as I remember doing as a kid (and even teenager) — we made plans when we were together, about the next time and place we would meetup, and our general plans for the day. Then we’d adjust our plans by having *in-person* conversations whenever we next saw each other.

    Or if we needed to find each other, we would wander around the ship, to our staterooms, the pool decks, the buffet, the gym, knowing that it was a small enough world that we’d likely run into each other, which we did several times.

    During the entire trip there was only one time that I lost touch with everyone and actually got frustrated. But even that just took a bit longer of a ship search. Of course ever for that there are solutions.

    Walkie Talkies!

    My nephews and niece used walkie-talkies that their father brought on board, and that actually worked in many ways better than anyone’s fancy smart phones.

    Except walkie-talkies can be a bit intrusive.

    Walkie Texting?

    My question is:

    If walkie-talkies can send high quality audio back and forth in broadcast mode, why can’t they broadcast short text messages to everyone else on that same “channel” as well?

    Then I found this on Amazon: TriSquare eXRS TSX300-2VP 900MHz FHSS Digital Two-Way Radio Two 2-way radios

    • Digital Two-Way Radio
    • spread spectrum and encrypted
    • text mesaging between radios

    (Discontinued by Manufacturer)

    Anybody have one or a similar two-way radio that also supports texting?

    Or would it be possible to do peer-to-peer audio/texting purely in software on smart “phones” peer-to-peer over bluetooth or wifi without having to go through a central router/tower?

    That would seem ideal for a weekend road trip, say to Tahoe, or to the desert, or perhaps even for camping, again, maybe in the desert, like when you choose to escape from the rest of civilization for a week or more.

    Twitter post 636535454590988288In reply to: https://twitter.com/Yahoo/status/636343809656360960
  19. using BBEdit in reply to: https://twitter.com/royalparktouch/status/636383323456036864

    @royalparktouch @MartianOdyssey huh? Many use @WordPress https://indiewebcamp.com/WordPress In #indieweb #alphabet too: http://tantek.com/2015/224/b1/alphabet-indieweb

    Twitter post 636434132407570432In reply to: https://twitter.com/royalparktouch/status/636383323456036864
  20. using BBEdit

    Milk and cookies kept you awake, eh, Sebastian? No, just implementing a new @cassisjs function auto_space 03:57+0200

    Twitter post 636356855187513344
  21. using BBEdit

    ♫ vimeo.com/68515433 @ThisIsMyJam is freezing soon. So “Open up”: post jams to your #indieweb site: https://indiewebcamp.com/jam Those proprietary APIs^, they “lied … faked … cheated … changed the stakes”. May they “burn down to the ground”. “Now open up” and help us evolve standards instead. indiewebcamp.com Previously: * http://tantek.com/2015/231/t1/depend-snowflake-apis-born-slippy ^ http://thisismyjam.tumblr.com/post/126260430022/jam-preserves

    Twitter post 636249541658939392
  22. using BBEdit

    How indie(web) is your city? A record six cities host Homebrew Website Club meetups this week: https://indiewebcamp.com/events/2015-08-26-homebrew-website-club

    Twitter post 635821091584389120
  23. using BBEdit also on Instagram 6vYOrkg9Rr

    https://igcdn-photos-g-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/11850236_1457143767948998_1865816824_n.jpg They say never look back. I say reflection is a source of insight, wisdom, and inspiration. Sometimes it's good to pause for a moment, look back, take stock of the bridges you've crossed, and then most importantly, keep moving #forward. From yesterday's trail run on the Tennessee Valley Trail. Originally posted on: instagram.com/p/6vYOrkg9Rr, subsequently manually PESOS'd (indiewebcamp.com/PESOS) here.

    Twitter post 635600694452596736
  24. using BBEdit Jeena’s “IndieWebCamp 2015”
  25. using BBEdit in reply to https://twitter.com/tolfsen/status/634465275212115972

    @tolfsen no because: 1. willpower is limited tantek.com/w/WillpowerImprovement#willpowercapacity 2. it’s good to lower barriers for better habits

    Twitter post 634507922157006854In reply to: https://twitter.com/tolfsen/status/634465275212115972
  26. using BBEdit

    When did you last eat without using digital devices at all*? Me: last night picnic, Dolores Park. *Except showing each other photos/videos related to our topics of conversation, read-only, no taking photos either. Makes me think mobile “smart phones” and other similar devices should have a mode similar to “airplane mode”, let's call it “dumb camera mode”, where all they can do is review your album of existing photos/videos, and maybe take photos/videos. No notifications, no switching apps. Maybe allow taking text notes too (not txts nor emails!), on a photo or by themselves, to capture things mentioned in conversation (auto-location-tagged and datetime-stamped like EXIF of course — when did I take this note, and where was I). There was something quite nice about the post-digital-camera pre-camera-phone era. It was much easier to have a focused and continuously present experience, for hours at a time. Most of my time on the Alaska cruise^ was like that. ^ tantek.com/2015/214/b1/alaska-cruise-log-day-1

    Twitter post 634464248014479361
  27. using BBEdit

    Dear @LongNow, consider using CSS directly on #longserver.org instead of the more fragile LESS+JS per js;dr: tantek.com/2015/069/t1/js-dr-javascript-required-dead

    Twitter post 634062516117766144
  28. using BBEdit

    vimeo.com/68510983 Depend on snowflake APIs? Born slippy indeed. This is My Jam going readonly, citing particularly: “changes to those services have meant … 100% of our time’s been spent updating years-old code libraries and hacking around deprecations just to keep the lights on” http://thisismyjam.tumblr.com/post/126260430022/jam-preserves Thanks for all the jams This Is My Jam! You’ve inspired an indieweb post type: * https://indiewebcamp.com/jam We’ll keep jamming on our indieweb sites.

    Twitter post 633909478971326464
  29. using BBEdit

    #NPSF #trackish workout 4x (2x200 600) I did 2x200 br-break 2x200 300, 2x200 600, 2x600 Overslept until I finally awoke with my last alarm at 5:45, got ready and had to drive just to make it to Golden Gate Park’s Music Concourse (Kezar closed today for restriping) 5 min late. Looked like the crowd was just getting ready for the first sprints — they must have warmed up already. Still feeling sore from last week but did most of the workout. Just gotta keep showing up. Previously: * tantek.com/2015/225/t1/npsf-trackattack

    Twitter post 633652223021596672
  30. using BBEdit
  31. using BBEdit in reply to https://twitter.com/scatteredbrainV/status/633280422059896832

    @scatteredbrainV see h-feed link in my post! It was a 4.0, previous also 27d ago. Shook the house for several seconds.

    Twitter post 633288333569994752In reply to: https://twitter.com/scatteredbrainV/status/633280422059896832
  32. using BBEdit

    USGS 2.5+ #earthquakes page is js;dr. Here’s an h-feed http://feed.unmung.com/feed?feed=http://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/2.5_day.atom Note UTC, local + offset, Z times per: * tantek.com/2015/218/b1/use-timezone-offsets * indiewebcamp.com/Z Previously: * tantek.com/2015/202/t2/earthquake-wake-up-posse * tantek.com/2015/069/t1/js-dr-javascript-required-dead

    Twitter post 633283069793935360
  33. using BBEdit

    Good morning, #earthquake. Felt in #SF for a few seconds. http://earthquake.usgs.gov/earthquakes/eventpage/nc72507396

    Twitter post 633276762181488640
  34. using BBEdit in reply to: https://twitter.com/jkphl/status/633191797313937408

    @jkphl re: "Wish… better + faster writer" You & me both (3d left of Cruise Log!) Let’s keep practicing & improving. :)

    Twitter post 633193981376073728In reply to: https://twitter.com/jkphl/status/633191797313937408
  35. using BBEdit
  36. using BBEdit
  37. using BBEdit
  38. using BBEdit
  39. using BBEdit
  40. using BBEdit in reply to: https://twitter.com/jkphl/status/633117311331909632 https://twitter.com/energyovertime/status/628366586005426177

    @energyovertime @jkphl thank you! Longform personal writings were the essence of blogs, feels good to bring some back.

    Twitter post 633189971394973696In reply to: https://twitter.com/jkphl/status/633117311331909632
  41. using BBEdit in reply to: https://twitter.com/al3xandru/status/633123000968019968

    @al3xandru here you go: * bim definition: tantek.com/2015/228/t3/bim-definition

    Twitter post 633158099067609088In reply to: https://twitter.com/al3xandru/status/633123000968019968
  42. using BBEdit

    bim definition noun; plural: bims 1. each of six newcal periods into which a year is divided. 2. 61 days, excepting the last 60 days of a non-leap-year. Etymology: short for bi-month or bimonth, from bi- ("two") + month. See also: newcal.org/#bimdefinition

    Twitter post 633156249715142656
  43. using BBEdit in reply to: https://twitter.com/al3xandru/status/633123000968019968

    @al3xandru just realized after Yahoo/Google/Binging for ‘bim’ that I should post a more search-findable definition.

    Twitter post 633139389573562368In reply to: https://twitter.com/al3xandru/status/633123000968019968
  44. using BBEdit in reply to: https://twitter.com/al3xandru/status/632780487803584512

    @al3xandru 1 .txt file per bim, \n\nYYYY-DDD mm/dd\n day header, optional \nHH:MM timestamp on entries between them.

    Twitter post 633117539351011329In reply to: https://twitter.com/al3xandru/status/632780487803584512
  45. using BBEdit in reply to: https://twitter.com/beau/status/630639832872562688

    @rr you called it: tantek.com/2015/227/b1/alaska-cruise-log-skagway @beau Skagway was it. Then we turned around for glaciers.

    Twitter post 632718366730506240In reply to: https://twitter.com/beau/status/630639832872562688
  46. (created ) using BBEdit

    Alaska Cruise Log Day 4: Skagway

    Sunset over the mountains and water after having left Skagway, Alaska

    In The Shadow of a Mountain

    ISO date 2015-08-04. Having left the curtains open the night before, I awoke on my own at 5:04 despite having gone to bed after midnight. The four page folded newsletter for the day said sunrise would be at 4:52 (no need to guess apparently), yet when I looked outside, the sun was just starting shine on the tops of nearby mountain peaks.

    My roommate stirred, I asked him if he wanted to see the sunrise, he said no. Should I close the curtains? No. I let him keep sleeping. I got dressed and went up to see what was blocking the sun.

    We had docked right next to a giant mountain, just the pier, a broad boardwalk with minimal vehicle access, and train tracks between us and the mountain’s sheer vertical face.

    A forklift on the boardwalk carefully lifted and lowered gangplanks into place. I went outside and up to the Star Deck (19) to take more photos.

    Another cruise ship was docking behind us, it had a giant helipad on its bow. Sunlight continued to descend down the sides of the mountains in front and to our port side.

    An older gentleman powerwalked with walking poles on the official jogging track, a small loop on this highest deck. I descended back down to the Sun Deck, and took photos of Skagway from the bow, still lit only by dawn’s refracted light above.

    The buffet finally opened at 6am and I was too hungry to wait for anyone else. Smoked salmon, a small premade veggie omelette, scrambled eggs with mushrooms & swiss cheese with salsa on top, diced roasted potatoes with ketchup on top.

    An hour later I had caught up with my personal journal, and finished writing most of day 2’s log. Just as I got up to return to our rooms, I saw my mother approaching and saved my table for her. A few more of our crowd drifted in, sat down with their full buffet plates, and we tossed around ideas for our day onshore in Skagway.

    With hours remaining before disembarkation, I returned to my room to nap a bit, and read some more MATM. Mom came by our balcony and we quickly summarized Skagway plans. I succumbed to connecting, tethered via her iPhone6. I found out later that media (like video) sent over a tethered connection is heavily down-sampled, until the grainy result is barely identifiable. I took another video of helicopters taking off and returning to the cruise ship across the way, an upsell tour option no doubt.

    Got to about 1/3 of the way through MATM and finally cleaned up to get ready for shore. The kids had finally woken up, a good time to grab second breakfast and blog a bit more while they grabbed their first.

    The entire process took long enough that I was hungry again, with only a few minutes to wait until the first cheese slices of the day were ready. My dad waited with me while I grabbed a couple of slices and we found a couple of lounge chairs, now finally illuminated by the mid-day sun. We eventually returned to the rooms to collect everyone to disembark together.

    Skagway Summary

    Skagway appears to be the northernmost stop for these massive Alaska cruises (it was certainly ours). By the time we walked into downtown Skagway, it was quite warm, and the tiny town looked like it was being overwhelmed with awkward tourists. The town itself had only one major street (“Broadway”) and certainly seemed to be deliberately presenting itself for tourist shopping.

    While everyone else shopped, my younger sister and I found a semi-independent local coffee shop (they “served Starbucks coffee”) and picked up cold drinks. It was far warmer than usual in Skagway according to the locals. There was fairly universal acknowledgment of global warming being a real thing, despite the perhaps dominant conservative attitudes.

    Being from a city that has its own far too touristy parts, I’m not a fan of such areas in other towns, especially when the town appears to have reorganized itself around as much. I photographed a few moments of cute small town design. After sampling some fudge from the “Alaskan Fudge Company”, I bought a 3-pack for my mom, and started walking back toward the ship with my dad. Everyone had their own idea of what they wanted to explore on the little touristy strip. I was done.

    We made it back to the ship less than three hours after we had stepped foot in Skagway. It felt like it had been longer.

    A Return to Cruise Comforts

    The poolside grill had a halibut steak special, so of course I ordered one instead of the usual buffet fare. It was the perfect substantive snack before afternoon tea.

    There was just enough time after tea yet before dinner to read some more MATM in the cool air-conditioned quiet of my stateroom. We dressed for dinner, and took the steps down to the “Da Vinci” restaurant for seated service. I sat between nephew2 and my dad.

    I had noticed that the impulse to check my readers/notifications had returned even though I was offgrid. I think it took 12-24 hours of being off the grid the first time before I stopped checking my mobile for activity. Yesterday’s connectivity in Juneau seemed to refresh bad habits.

    Dinnertime Dates and Seagulls

    I asked nephew2 what was today’s ISO date. He got it after a couple of tries. When I asked him for the ISO ordinal date, it was trivial for him once he’d gotten the Gregorian ISO date right: 2015-216.

    The kid’s placemat had an origami exercise, and a suggestion to start with a 5" on a side square sheet of paper, along with a printed ruler. Noting that all we needed was a square piece of paper, I taught nephew2 how to make a square piece from any rectangular piece by folding the corners over to make a square, then folding that crease back & forth repeatedly to weaken the paper to the point where it would tear cleanly in a straight line.

    I pointed out that we had done so purely with the power of knowledge and our bare hands, without any tools. This seemed to please nephew2.

    We proceeded to fold up origami seagulls one by one — a shape I hadn’t folded before, so I talked it through out loud with him, as I was figuring out each step myself, and he kept up. There were a few folds where he needed some help, however he’d apparently done some origami before, so he picked up the rest very quickly.

    Triumphantly placing our seagulls on the table we talked about what to try next. Both of us have short attention spans so we tend to get along quite well, not being content to just sit and wait for whatever is supposed to happen next at a grown-up’s dinner table. We decided more math instead.

    Squares, Cubes, and a Connection

    He easily reviewed 1 through 10 squared. I pointed out that cubes were merely those same squares, multipled by their square factor again, and we started from 1.

    1 was obvious. 2 he guessed without thinking so I made him talk it through. 3 he had to think through. We got to 4 cubed and the appetizers finally arrived. Caesar salad for me, a shrimp cocktail for him.

    I walked him through 4 cubed with hints, and how the result was also a square! We broke it down to how many 2s it took. And how many 2s it took to multiple into an 8. Eventually he put it all together and got the right result: 64.

    5 cubed was easy for him. 6 cubed took a bit more work, but once he got it he was super happy: 216.

    I asked him if he remembered what the ISO ordinal date was that he had just figured out. He paused a moment, recalled, repeated 2015-216 from memory, his eyes lit up and he roared with laughter. He had just connected why I had chosen to drill him on cubes. (It being the 216th day of the year, 216 also being 6 cubed).

    My dad the retired mathematician (math professor even), decided to keep quizzing him on cubes, and asked him about 7. Nephew2 figured it out as 7 time 50 minus 7. He knew 7 squared was 49, and that he could more easily figure out 7*50 = 350, and then subtract 7 = 343. Neither of us had taught him that explicitly. Interestingly, his older brother figured it out the more traditional way, 7*40 = 280 + (7*9 = 63) = 343. He went on to state 8 cubed and 9 cubed. They nephews challenged each other to 10 cubed which they both remarked was easy: 1000.

    We finished dinner (I had a baked Alaskan salmon special, coffee, bites of others' desserts), and returned to our rooms.

    Bittersweet But Real — My Vanilla Sky

    I gathered my reading & writing things and went back outside to the Lido deck, grabbed a reclining chair by the pool under the big screen, caught up on my personal journal, and finished writing up day 2’s log.

    The outdoors movie happened to be “The Longest Ride”, seemingly a classic Hollywood romance cliché, with an unrealistic and deceptive narrative as usual.

    Removing myself from such reinforcements, I noticed the sky had turned into a swirling blend of blue, purple, pink, orange, and yellow (featured photo at top). We were on our way and the natural beauty around us snapped me back to reality.

    I took it in and a few photos too, then returned to my room and got in bed. I read more MATM under the glow of my iPod’s backlight until I was halfway through the book.

    I’ll take bittersweet but real triumphs & failures any day over deceptive cheery narratives that set unhealthy expectations.

    My iPod lockscreen clock read 0:04. I put everything down and seconds later fell asleep.

    Twitter post 632714746681290752
  47. using BBEdit

    It’s tank-top, shorts, no socks weather in San Francisco. In August.

    Twitter post 632707200897687552
  48. using BBEdit

    Added salmention (to propagate responses upstream) & SWAT0 to IndieWeb Building Blocks Alphabet tantek.com/2015/224/b1/alphabet-indieweb

    Twitter post 632210804574691328
  49. using BBEdit

    #TBT: 10 years ago today @termie @rk @photomatt @eris @chrismessina & @t created #barcamp.org @ritualcoffee, planned it in 6 days without Twitter (didn’t exist) or Facebook. We did share photos on Flickr: https://farm1.staticflickr.com/29/55758090_b24cc39d46_b.jpg flic.kr/p/5VLWo Ryan King, Matt Mullenweg, Chris Messina, and Andy Smith at Ritual Coffee Roasters on Valencia Street, San Francisco, 2005-08-13.* Several virtual co-planners and infrastructure crew came on board within days and were essential to making the first BarCamp happen: barcamp.org/BarPlanners. By (current) URL as we all did back then in the days BT (Before Twitter) * kevinmarks.com (@kevinmarks) * canonical.org/~kragen (@kragen) * bookmaniac.org (@lizhenry) * rebelmouse.com/kk (@kk) * ross.typepad.com (@ross) * jluster.org (@legerdemain) * progrium.com (@progrium) * billsaysthis.com (@billsaysthis) * dweek.ly (@dweekly) * laughingsquid.com (@laughingsquid) And for reference, here is the first BarCamp's sign-up page, see who you recognize: * http://barcamp.org/BarCampers You should all be very proud of what all of you collectively created 10 years ago in the six days of planning and 2-ish days of BarCamp itself. 10 years and 1000s of BarCamps later, the barcamp.org site (a wiki) is still being used to organize them worldwide and direct people to separate independent BarCamp sites as well (like barcampnashville.org — going strong since 2007) independently of any of the founders or original planners. Organic growth beyond anyone’s expectations or wildest dreams. I remember at the closing session remarking how maybe we’d do a second BarCamp the next year. It was not to be, because others couldn’t wait to organize the second, and third etc. BarCamps on their own. Only a few of the individuals who participated in the first BarCamp helped with the immediately subsequent camps, both facilitating and spreading the cultural seeds of BarCamp. Hat-tips to Chris Messina (@factoryjoe at the time) & Andy Smith (@termie), and Amit Gupta (@superamit) in particular for Amsterdam and New York City, the second and third BarCamps respectively. They were able to because we had documented everything about BarCamp on an open wiki on the web (no login needed to view, searchable, and search-engine friendly). We had opensourced the very processes (the human “software”) of running a BarCamp, which meant that anyone could create and run one, experiment with variants, and contribute improvements. We had shipped an opensource implementation of the Freedom of Assembly and didn’t even realize it at the time. Previously: * tantek.com/2013/225/t1/eight-years-ago-barcamp-ritualcoffee * tantek.com/log/2006/07.html#d10t0805 *Note: Ritual renovated in the past couple of years and looks nothing like the above photo any more, but you can still find tons of photos of the classic Ritual Coffee Roasters on Flickr: flickr.com/photos/tags/ritualroasters/interesting/

    Twitter post 632001704154804225
  50. using BBEdit

    #NPSF #trackattack 2d ago workout 1600 1200 800 400 200 abs I did 1600 br-break 800 400 200 100 abs First session at the track post-cruise, also first time after running to the Monday @Nov_Project_SF Fort Mason / Aquatic Park workout the day before. Felt much slower to start, found my track legs eventually, and then surprised myself on the 200 and especially the 100. https://igcdn-photos-h-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/11375324_1675860455969943_1692249577_n.jpg https://instagram.com/p/6U5IcXg9es/ Photo by @butteronadonut Previously: * tantek.com/2015/209/t2/npsf-trackattack

    Twitter post 631837861969555456
  51. using BBEdit

    An Alphabet of IndieWeb Building Blocks: Article to Z Time

    Alphabet building blocks ABCDEFG on INDIEWEB

    Rather than stake any claim to being the Alphabet, I decided it would be more useful to document an alphabet of the IndieWeb, choosing a primary IndieWeb building block for each letter A-Z, with perhaps a few secondary and additional useful terms.

    1. article posts are what built the blogosphere and a classic indieweb post type. audio posts like podcasts are another post type. Most sites have an archive UI. The authorship algorithm is used by consuming sites and readers.
    2. backfeed is how you reverse syndicate responses on your posts's silo copies back to originals, perhaps using Bridgy, the awesome backfeed as a service proxy. Many indieweb sites publish bookmark posts.
    3. checkin, collection, and comics are indieweb post types. You should have a create UI and a contact page for personal communication. This post uses a custom post style. IndieWebCamp is a commons with a code-of-conduct.
    4. design in the IndieWeb is more important than the plumbing of protocols & formats. The delete protocol uses webmentions and HTTP 410 Gone for decentralized deletions. Consider the disclosure UI pattern.
    5. event, exercise, and edit, are all very useful types of IndieWeb posts for decentralized calendaring, personal quantified self (QS) tracking, and peer-to-peer collaboration.
    6. food posts are also useful for QS. Follow posts can notify an IndieWeb site that of a new reader. Use fragmentions to link to particular text in a post or page. Both the facepile UI pattern and file-storage are popular on the IndieWeb.
    7. generations are a model of different successive populations of indieweb users, each helping the next with ever more user-friendly IndieWeb tools & services to broaden adoption, activism, and advocacy.
    8. homepage — everyone should have one on their personal domain, that serves valid HTML, preferably using HTTPS. Come to a Homebrew Website Club meetup (every other Wednesday) and get help setting up your own!
    9. IndieAuth is a key IndieWeb building block, for signing-into the IndieWebCamp wiki & micropub clients. IndieMark & indiewebify.me measure indieweb support. Use invitation posts to invite people to events, and indie-config for webactions.
    10. jam posts are for posting a specific song that you’re currently into, jamming to, listening to repeatedly, etc. The term “jam” was inspired by thisismyjam.com, a site for posting jams, and listening to jams of those you follow.
    11. Known is perhaps the most popular IndieWeb-supporting-by-default content posting/management system (CMS) available both as open source to self-host, and as the Withknown.com hosted service.
    12. like posts can be used to “like” anything on the web, not just posts in silos. Longevity is a key IndieWeb motivator and principle, since silos shutdown for many reasons, breaking permalinks and often deleting your content.
    13. microformats are a simple standard for representing posts, authors, responses etc. to federate content across sites. Micropub is a standard API for posting to the IndieWeb. Marginalia are peer-to-peer responses to parts of posts.
    14. note posts are the simplest and most fundamental IndieWeb post type, you should implement them on your site and own your tweets. Notifications are a stream of mentions of and responses to you and your posts.
    15. ownyourdata is a key indieweb incentive, motivation, rallying cry, and hashtag. The excellent OwnYourGram service can automatically PESOS your Instagram photos to photo posts on your own site via micropub.
    16. posts have permalinks. Use person-tags to tag people in Photos. Use POSSE to reach your friends on silos. PESOS only when you must. Use PubSubHubbub for realtime publishing. IndieWeb principles encourage a plurality of projects.
    17. quotation posts are excerpts of the contents of other posts. The open source Quill posting client guides you through adding micropub support to your site, step-by-step.
    18. reply is perhaps the second most common type of indieweb post, often with the reply-context UI pattern. Use a repost to share the entirety of another post. An integrated reader feature on your site can replace your silo stream reading.
    19. stream your recent posts on your homepage, at least your notes, photos, and articles, but perhaps even your scrobble & sleep posts. Selfdogfood your ideas, design, UX, code before asking others to use them.
    20. text-first design is a great way to start working on any post type. Use tags to categorize posts, and a tag-reply to tag others’ posts. Use travel posts to record your travel. The timeline page records the evolution of key IndieWeb ideas.
    21. UX is short for user experience, a primary focus of the IndieWeb, and part of our principle of user-centric design before protocols & formats. Good UI (short for user interface) patterns and URL design are part of UX.
    22. video posts are often a challenge to support due to different devices & browsers requiring different video formats. The Vouch extension to Webmention can be used to reduce or even prevent spam.
    23. Webmentions notify IndieWeb sites of responses from other sites. Webactions allow users to respond to posts using their own. If you use WordPress, install IndieWeb plugins. Woodwind is a nice reader. We encourage wikifying.
    24. XFN is the (increasingly ironically named) XHTML Friends Network, a spec in wide use for identity and authentication with rel=me, and less frequently for other values like contact, acquaintance, friend, etc.
    25. YAGNI is short for "You Aren't Gonna Need It" and one of the best ways the IndieWeb community has found to both simplify, and/or debunk & fight off more complex proposals (often from academics or enterprise architects).
    26. Z time (or Zulu time) is at a zero offset from UTC. Using and storing times in “Z” is a common technique used by indieweb servers and projects to minimize and avoid problems with timezones.


    The idea for an A-Z or alphabet of indieweb stuff came to me when I curated the alphabetically ordered lists of IndieWeb in review 2014: Technologies, etc. from the raw list of new non-redirect pages created in 2014.

    I realized I was getting pretty close to a whole alphabet of building blocks. In particular the list of Community Resources has 16 of 26 letters all by itself!

    Rather than try to figure out how to expand any of those into the whole alphabet, I decided to keep them focused on key things in 2014, and promptly forgot any thoughts of an alphabet.

    Monday, since the topic of conversation in nearly every channel was Google renaming itself to “Alphabet”, I figured why not make an actually useful “alphabet” instead, and braindumped the best IndieWeb term or terms that came to mind for each letter A-Z on the IndieWebCamp wiki.

    Subsequently I decided the list would look better if the first letters of each of the words served stylistically as list item indicators, wrote a custom post stylesheet to do so, and rewrote the content accordingly. The colors are from my CSS3 trick for a pride rainbow background, with yellow changed to #ffba03 for readability.

    Since I wrote up the initial IndieWeb alphabet on the IndieWebCamp wiki which is CC0, this post (and its custom post styling) is also licensed CC0 to allow the same re-usability.

    Thanks in particular to Kartik Prabhu for reviewing, providing some better suggestions, and noting a few absences, as well as feedback from Aaron Parecki, Ben Roberts, and Kevin Marks.

    Twitter post 631643432000331776
  52. using BBEdit. in reply to: https://kylewm.com/2015/08/homebrew-website-club https://www.facebook.com/events/1598264670438562/

    going to Homebrew Website Club 17:30 @MozSF 2015-08-12! indie event kylewm.com/2015/08/homebrew-website-club silo fb.com/events/1598264670438562

    Twitter post 630614789220401152
  53. using BBEdit

    Push notifications are an anathema to long form writing. Key: “Turn Wi-Fi Off” and a CMS that can run locally offline.

    Twitter post 630563255702933508
  54. (created ) using BBEdit

    Alaska Cruise Log Day 3: Juneau

    ISO date 2015-08-03. I awoke to my first terrestrial travel timezone change on the open water. We gained an hour. It was ~5:45 Alaska Time, or more reliably for today, 05:45 -0800. I put on just enough casual clothes to go out, and brought my book to read.

    Everyone else was sleeping, and I was hungry, again. After photographing another sunrise at sea, I picked up some breakfast to go from Horizon Court and walked up to deck 17 to enjoy the outside air & view. My mom showed up and wanted to check out the deck 19 walking track. Having found the stairs to it yesterday, I took us up and we fastwalked a few laps, taking more photos.

    It was colder than expected, but a quick room roundtrip and a layer fixed that. Got my dad while I was at it and rejoined my mom outside on the sun deck railing just in time for the ship’s naturalist to announce over the speakers: there she blows!

    The Super Pod

    We started seeing the humpback whales two at a time, one water spout, then another, sometimes a tail flip, then another. Between the pairs, sometimes a whale cruising on its own. Rather than take photographs, I looked through binoculars for the best views I could get. Besides, my parents were taking plenty of photos and videos on their iPhone 6s.

    There were so many whales, they just kept coming, or rather we just kept passing them by. They seemed happy enough, arching their backs above the surface, and flipping their tails up too.

    Two of them came quite close to the ship. As they passed by us on the port side, they leapt from the water and breached with big crashing splashes! Amazing, I’d never seen whales breach like that in person before.

    Finally the ship’s naturalist exclaimed that we’d seen somewhere between 50-60 whales, a super pod of whales, larger than he’d ever seen before.

    Entering Juneau

    No yoga class today; instead I joined my mom in the hardwood floor area of the gym and we did a bunch of stretches. I completed a simple floor stretch yoga routine from memory. Afterwards I took photos of the weird day spa marketing materials I had noticed the day before, then went to second breakfast with everyone else.

    Back in our rooms we watched our approach to Juneau from the balconies. Fascinating scenery in the nearby mountains, more and more signs of human habitation as the passage narrowed. We kept watching as the ship turned to approach the piers and docked.

    Knowing it would be a little while before we could disembark, I showered, changed, and packed my backpack for a full day of all possible Juneau adventures. Totally overpacked.

    We gathered in the hall outside our rooms and descended together to the disembarkation deck. Rather than wait twice as long for taxis, we walked 15 minutes into town and quickly came upon the Heritage Coffee Roasting Company.

    Securing our first local coffee of the trip, my younger sister and I said bye to everyone else who decided to take a taxi to a salmon hatchery. Sis and I just wanted to explore downtown, plus she wanted to meet up with a local friend of hers.

    A Sea Plane and A Social Break

    I took advantage of our few minutes at the cafe to get on their wifi (captive portal password: coffee), post a couple of photos, and receive a few text messages.

    We walked back down to the docks to look for the meeting point my sister’s Juneau friend suggested. They’d last seen each other a decade ago in New York City, both having left years ago after tiring of its dehumanizing grime & grind.

    While waiting we watched sea planes land in the harbor. One in particular came towards us so I captured a clip for a friend — a sea plane propels itself forward on the water, turns to approach its docking slot, and gets help from humans on adjacent piers who rotate it around and back it into place — like something you might see in a Richard Scary book.

    My sister’s friend showed up. I saw her before my sister did, before she saw my sister. When they did, their faces lit up, their voices exclaimed joy in harmony.

    On her recommendation, we went to a nearby taqueria for halibut tacos which were quite tasty. They even had Cholula. My sister and her friend caught up as if not a moment of 10 years had passed. I was happy to be a silent third wheel sitting in the sun, without any expectation of interaction, a social break without solitude.

    More iOS App Deletions

    Two things have dominated the use of my mobile device for the entire cruise: taking notes and taking photos (or short videos).

    Filming the sea plane docking filled up my iPod and it refused to do many things (obviously take photos or video) until I had cleared out some space. At least it helpfully directed me to “Usage” preferences which quickly revealed the most bloated apps.

    The biggest culprits? iOS8 “default” apps.

    I’d previously deleted a dozen iOS native apps after being annoyed by their update noise. This was much worse: loss of primary device functionality. So I deleted the most bloated apps that Apple installed with the iOS8 upgrade that I never asked for nor needed nor used:

    • GarageBand
    • Keynote
    • Pages
    • Numbers

    … and got back 1.1GB from dumping just those four! Two of which should have simply been well designed indiewebapps instead of “native” apps.

    Minutes to Mountain Hiking

    My sister’s friend led us uphill out of downtown, into rows of residences, which disappeared after a few blocks. Suddenly (while I was distracted deleting apps) we were hiking up Mt. Juneau, dense woods on either side, cut only by the road and rushing river below.

    The air was as clean and crisp as any I’d ever breathed. Summer hikes in Yosemite came to mind. We crossed a bridge over the river and found a spot where it slowed to a crawl over polished stones and walked over to splash our faces.

    Spotting a few flat & thin rocks, I piled them into a stack ten high, topped with a chunk of bright white quartz. We stood for moments in silence just breathing and listening.

    The hike back down went by much more quickly, as it always does. We stopped by the state capitol where I took the opportunity to use the facilities.

    Posts & Messages; A Tram, A Hike, and A View

    Without a specific plan, we wandered around more of downtown, browsed a local used bookstore, and stopped for another round of coffees.

    I posted day 1’s log, a brief note, and sent replies to a few text messages. Receiving them, a day or two old already, it was nice taking the time to absorb, reflect, as you might with letters received, even if short, and short in reply.

    We continued our wanderings, a gift shop, a juice bar, and finally walked back towards the ship, considering a meal or a tram ride & hike. We found the rest of the family who had just returned from said tram.

    Restaurant wait times having swollen with cruise tourists, we decided an appetizing hike was in order. We took the tram a ways up Mt. Roberts, bringing along my sister’s friend as our guide. We hiked from the tram terminus Mt. Roberts Nature Center uphill past the edge of the map they’d posted to an incredible view of the bay below, lit by a slowly setting sun. Now we were hungry.

    After scampering down the hill, we had to wait just 10 minutes in line for the tram ride back to the shore. Restaurant wait times unchanged, I used their wifi for one last grid sync and confirmed that a professional recommendation I'd sent had been received.

    With our ship scheduled to leave port soon, we said our goodbyes to my sister’s friend, thanked her for guiding us on such an active day, and reboarded as the sun sank toward the mountains opposite the bay. Every sunset at sea has been different, and I have yet to tire of them and the landscape’s orange glow.

    Dinners, Finishing TRON, A Speechless Nephew, and Unexpected Memories

    I returned to my quarters to drop off my overpacked backpack. At ~30-40 pounds extra, I figured hiking swiftly at altitude and keeping up with my sister and the local served as good trail strength training. And made a mental note to pack one tenth as much next time we went ashore.

    Now starving, my sister and I went to our usual, the Horizon Court buffet, where my other sister and brother-in-law had saved us a table. I devoured a couple of rounds of Alaskan halibut in a Thai coconut sauce, buttered peas, mashed potatoes, mixed greens salad with shredded carots, beets, blue cheese dressing, and a bowl of corn & potato chowder.

    My sister and I returned to our rooms to rest our legs for a bit. My roommate (nephew1) was getting ready for bed so I took the the opportunity to read a bit more MATM. He asked if we could watch the rest of TRON, and with only 27 minutes remaining I set it up.

    I kept reading with TRON in the background, occasionally underlining or making notes in the margins. Nephew1 asked me why I was writing in the book, I said because I’m taking notes. He asked if it was my book, I said yes, it was given to me by the author because I’m in it.

    He looked incredulous. I had just reached the chapter on the 2010 Federated Social Web Summit, paused the movie, and flipped the book around with my finger on the paragraph where the author had mentioned me, and explained microformats as building blocks for a social web. For a moment nephew1 was speechless and looked like he thought that was even cooler than the movie he was watching. Then he turned his gaze back to TRON.

    We finished the movie, and I said goodnight to him as I turned out the lights and ventured out. My day adventures sister also happened to exit her room. She was in search of hot water for tea, I was hungry again. We parted ways at the pizza bar, I got my slice of cheese, found a deck chair under the night sky, and started writing up day 2.

    I started fading just after midnight, and only then found out that the “The Age of Adaline” was the movie playing in the background (on a large digital display above the pool) while I wrote. Its frequent shots of San Francisco kept drawing my attention. A brief glimpse of The Conservatory of Flowers from JFK drive brought back a flood of fond memories of running through Golden Gate Park.

    The movie finished, I called it a night, and went to bed while the memories lingered.

    Twitter post 630538954203336704
  55. (created ) using BBEdit

    Why You Should Use Timezone Offsets Not Timezone Names

    Timezones are one of the quirkiest things any programmer has and will ever have to code, because they’re a political construct. They were and are decided by largely non-scientific non-technical politicians. But it’s worse than that, timezones themselves change over time. What timezone a place is in, and worse, daylight savings time, and when daylight savings time starts and stops all change, pretty much every year some place on earth.

    Thus the moment you depend on a timezone in your data format, database, storage, files, your persistent canonical copy of your information, you’ve made your data fragile and vulnerable to passive corruption over time. Fragile to programmer errors (programmers get quirky things wrong all the time), and vulnerable to its meaning being changed by political bodies you have no (or nearly no) control over.

    Solution one: UTC all the times

    There are two solutions programmers have adopted to avoid political and temporal timezone problems, the first is to always store times (and dates!) as UTC, or "Z" time.

    The problem with this “UTC all the times” approach is that it makes harder for humans (including yourself) to inspect & verify stored times.

    Data that’s harder for humans to inspect and verify is also more prone to errors, especially small passive errors that go unnoticed. Programmers who have to debug such data are humans. Harder for them means harder to debug, means more bugs that survive longer. QED.

    Solution two: local time & UTC offset

    Rather than UTC all the things (or at least times), the second approach is to store precisely what the local time was at that time, with a time offset to UTC. This way the time (and date) is inspectable and verifiable as what you saw on a clock at that time. What you remembered seeing.

    Times with offsets are also automatically convertible from local observed time to UTC and thus machine-processable into a universal timeline, regardless of past or future timezone changes. It’s the approach we’ve taken in microformats for quite some time and found that it helps keep data DRYer.

    One possible exception to this “use an offset to UTC” approach are times for things that happen purely online. Web servers have their own clocks, likely set to UTC, and independent of any daylight time savings changes etc. When such servers receive messages, like a webmentions, or other HTTP requests, it makes sense to store them in the same “offset” as the server’s own time, UTC.

    Here’s both an offset and exceptional UTC time from an actual email I received.

    ... 08:34:12 -0700
    ... 15:34:41 UTC 

    The first time shows when a user (in a physical timezone) sent an email. The second shows when an email server (set to UTC) received it 29 seconds later (assuming synchronized clocks).

    I’m not going to provide complete examples of the bad approaches because I don’t want you to even think of using them. I’ll just leave you with this, if you see things like:

    ... America/Los Angeles ...

    in your data, you’re depending on named timezones and making a mistake.

    The best you can do to avoid this problem, or to “clean” such data is if you have access to it close to the time of creation (when it is unlikely there have been any timezone changes between when the data was created and your present time), automatically convert the named timezone reference into an absolute time +/- numerical hours (and minutes) offset from UTC, and then store that with the time, instead of the named timezone.

    Bonus: “Set Automatically” Breaks Your Clock

    Here’s a bonus problem. That seemingly useful “Set [timezone] Automatically” feature in computers, phones, works reasonably well on land, sometimes fails briefly when flying across timezones.

    However, on a ship that’s nearly completely off the grid, “Set [timezone] Automatically” fails epically.

    Say if you’re taking a cruise from Seattle to Alaska, and hit the open ocean, far out of the reach of any landbased wifi or cell towers that “Set Automatically” depends on. It may fallback to shipboard wifi or perhaps even a shipboard cell tower. But “Set Automatically” based on wifi SSID databases or cell tower triangulation assumes that neither of those things move.

    Actual result: as we traveled up to Alaska and now back, anyone using “Set Automatically” in their iPhones etc. found their clocks automatically bouncing between an hour more forward than they should be (based on Seattle) and back. Their smarter devices were dumber at the simple task showing the time. I didn’t see anyone with an Apple Watch to see how good it was at telling time on a ship.

    Twitter post 630534350224945153
  56. (created ) using BBEdit

    Alaska Cruise Log Day 2: Sunrise at Sea

    Dawn just before sunrise on the open sea with the Alaskan coast in the background.

    After sleeping soundly the first night aboard, my alarm woke me gently at 5:40am. Without knowing what our precise latitude and longitude would be when, I had to estimate when the sun might rise for us. I say us, because the night before my roommate, nephew1, had agreed to get up and go running with me at sunrise.

    Sunday Runday

    This is the same nephew that has left me minutes behind the past three years in the Turkey Trot 5k. And he’s only getting faster, faster than I’m getting faster. But first I had to get him up. Took only about 10 minutes and we were up and running up four flights of stairs to the Lido deck.

    The sky was already aglow. Once outside we ran up another flight of stairs to the Sun deck. It was quiet and empty, except for a small handful of photographers with their serious cameras.

    Nephew1 and I found a nice vantage point after walking around the ship. As the sun crested the landmass to the East (likely Alaska), everything grew brighter until we could see orange glimmers on the waves.

    We ran a lap around the upper deck, including up and down stairs as needed to keep going around. Suddenly it was clear we were both hungry (a common theme it seems), he told me quietly, no demanding, no whining, no complaining.

    I’d learned that when a preteen even quietly says they’re hungry, it’s best to listen. Knowing the Horizon Court buffet had opened at 06:00, we stopped in to get a small bite and quickly found nephew1’s dad already inside, snacking and working on his laptop.

    We finished our little first breakfast snack break and nephew1 wasn’t so sure he wanted to run anymore. I convinced him to stick with it, he convinced me that it was ok if he “only” did 3km. We ran several laps around the ship and hit 3km just as we got to the staircase between decks. I let him know he’d achieved his goal and he happily returned to our room.

    My training schedule (which continued after last week’s half marathon) called for 4 miles today, so I kept running until I hit that and more. I returned to my room to change for the one yoga class I’d signed up for and had some time so I read a bit more of MATM.

    Shipboard Yoga

    Five til nine I left and ran up to the gym. Easily made it on time and grabbed a spot next to my mom and middle sister. Leading the yoga session was an Australian fitness instructor, who seemed friendly enough, yet had received perhaps just cursory training in all the different course offerings.

    He took us through a warmup, some unethusiastic sun salutations, and then a few warrior sequences. He closed with simple floor stretches, the customary shavasana, and cross legged sitting pose finish.

    Feeling a bit wanting, I went through an arm balance sequence. First, 30 seconds of crow pose, doing my best to hold the pose and relax, breathing regularly while I counted down from 10 then up then down again. While relaxing I could feel the very subtle swaying of the ship (it’s a big ship) under my hands.

    My mom had also continued with her own stretches. I offered to show her side crow — she was there when I first learned it from Jordan, my favorite teacher at Mission Cliffs. She declined for now, citing some back stiffness.

    I sat into chair pose, twisted to one side, hands down, hips up & knees on triceps, leaned forward and balanced for 10 seconds. Then side crow on the other side. I stood up to warrior 1, twisted to one side placing my hands on my thigh, twisted further and placed my hands down on the floor. Lifting my hips up again and onto my triceps, I leaned forward into side crow split legs for a few seconds. Just learned that a few weeks ago. Then the other side. Closed with a dual wrist stretch plank and mayurasana.

    Second Breakfast and Softserve

    Returning to my room I read some more of MATM, up to the 20% mark. Finally showered & changed for the day and went back upstairs to the Horizon Court for brunch AKA second breakfast with my parents and middle sister.

    Afterwards my dad and I took the elevator up to deck 19 (The Star Deck) which I hadn’t figured out how to otherwise get up to. We found and walked the official “jogging track” which had a net enclosed basketball court at one end. Found the steps down to deck 18, then 17, then 16 which I’d run past numerous times that morning. Labeled only with an innocuous “Center Court” sign, I made a note of the foot of these stairs for future explorations.

    I showed my dad the entire loop around the boat that I had run earlier that morning. He seemed quite proud. It was only a week ago that we had both completed the 2nd half of the San Francisco Marathon.

    The thing about running is, on the days where you get in a satisfying medium to longish run, you never stay full for long. After our walk lap I grabbed a chocolate softserve with sprinkles and found a nice table by the pool to catch up with all the things I didn’t do before I left the grid. Most things I let go, into the future, to the Sunday after my return. I noted a couple of things to check should I opportunistically find a decent uplink at our next port of call.

    A slice of margherita pizza helped me keep the momentum and both finish braindumping recent memory from yesterday & today til the present time, as well as get started on writing up day 1’s log into a post.

    Lunch and Day 1 Log

    As I serialized memories to text by the table, my younger sister came by and said hi, also going for a walk around the boat. A while later my father came by, and I was hungry again. I wrapped up my thoughts in a paragraph, and we went to lunch.

    As usual I started my buffet plate with a huge salad (that’s buffet hack #1, salad and veggies first, then protein, lastly if you have room maybe a bit of starch, skip dessert). The smell of Indian food hit my nose and I decided to try the Dhingri Matter [sic], paired with some mashed potatoes. A few fried calamari with tartar sauce and a very small piece of trout rounded out my plate.

    My father and I both ate and took in the view. We were both in the mood to write, he got out his notebook, and I my laptop and continued writing yesterday’s log. Got to the sunset writeup, was hit by a strong memory, and rewrote it three times before capturing it in a short aside. Suddenly it was five minutes to tea time. A good stopping point for sure.

    Tea Time

    Dad had mentioned that Tea Time was my mom’s favorite meal of the cruise. Perhaps even her favorite thing on the cruise. We walked quickly to the Da Vinci Restaurant, the same place we’d had our sit down dinner the first night.

    My mom was nearly the first person in line waiting for them to open. We joined her and by the time they started letting people in the line had grown. We asked for a table for 8, they asked us if everyone was here. We looked back in line, and most of our crew was back a few people. We waived them up and got seated.

    Tea time is just as you might expect. We sat at a nice round table for 8. Tea cups and small plate settings for everyone. Within moments a server poured us all cups of tea. Then the platters came.

    First the pastries, as cute as you might see in any fancy bakery, all lined up on a tray held by a server more than eager to explain what each of them were and then gently use her tongs to pick up whatever you requested or pointed at and place it on your plate.

    Next the cookies, soft, crunchy, butter, peanutbutter, chocolate, and some banana bread too. Third the sandwiches — miniature, just larger than bitesize. Each tray was brought by a different server.

    Finally the fresh baked scones arrived on a round platter, kept warm under cover of aluminum foil. As the scone server offered and served them one by one, she was followed closely by a waiter who served dollops of jam, clotted cream, or both upon request.

    Then of course the inevitable additional offerings of all the above and teacup top-ups. Stuffed, once again.

    First Formal Evening

    Afterwards I wanted to do nothing but recline, and yet it was too nice out to do so indoors. I found a chair by the Calypso pool, kicked back, and finished writing up day 1’s post. There was just enough time left to get dressed for our first formal evening. Apparently on cruises like this they designate 2-3 nights as “formal” nights where everyone is expected to dress-up, perhaps to set more of a deliberately dressed-to-impress party atmosphere.

    I changed into the only button down shirt I’d brought, my other black pants (the first pair had soaked up a bit of water from that poolside chair), and my nicer black jacket, G-star, along with my polished black boots. No tie, blazer, nor white shirt. None of those is who I am, and I’m supposed to be having fun on this cruise, so I dressed formal my way.

    We walked together as a family down to the Crown Grill restaurant for our reservation. They were not quite ready for us, so we took a few formal photos at the black felt backed photo station just outside.

    Once again, amazing food. Salmon in many forms, and other tasty things. After they took our orders for dessert, they came back with a birthday dessert for my mom, then everyone else’s orders, as well as an extra dark chocolate mousse heart garnished with a pool of strawberry jam, a couple of raspberries. I won’t even try to describe the nine layer smores that a couple of us got. You’ll just have to wait til I update this post with photos.

    Sunset and Sleepy TRON Time

    After a nice post-dinner walk, we watched the sun set on the sea yet again. The farther North we went, the later sun actually set, nevermind have it actually get dark out.

    Somehow after all that I was hungry yet again, and grabbed a slice from the pizza bar. Finally around 22:00 I went back to my room where my roommate nephew1 was just getting ready for bed, definitely past his normal bedtime.

    He asked if he could watch more TRON, and I said yes, but we should probably limit it to 20 minutes tonight since it was already late. I setup the laptop at maybe a minute or so before where we left off, turned off the lights and hit play. I fully intended to go back out again, since I was already all dressed-up.

    I kept writing and somehow just fell asleep. That sort of thing happens when you try doing things lying down in bed in the dark. I awoke almost 50 minutes later, and in an instant knew that the movie was farther along than it should be.

    I told my nephew we had gone way over and needed to change into our pajamas and go to sleep. Realizing I’d been up since 05:40, then having run, done yoga, eaten so much, and walked around & up/down stairs a lot, the exhaustion suddenly made sense. We called it a night. The Solar Sailer escape would have to wait.

    Twitter post 629373011930554368
  57. using BBEdit

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

    Twitter post 628357256636170244
  58. (created ) using BBEdit

    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.

    Twitter post 628354582041767936
  59. using BBEdit

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

    Twitter post 627446365543616512
  60. using BBEdit in reply to: https://twitter.com/ttepasse/status/627395375821914113

    @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

    Twitter post 627406048429780992In reply to: https://twitter.com/ttepasse/status/627395375821914113
  61. using BBEdit in reply to: https://twitter.com/jlsuttles/status/627246300216471552 https://twitter.com/veganstraightedge/status/627245775089614849

    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

    Twitter post 627394279653163008In reply to: https://twitter.com/jlsuttles/status/627246300216471552
  62. using BBEdit
  63. using BBEdit
  64. using BBEdit
  65. using BBEdit
  66. using BBEdit

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

    Twitter post 627214498890403841
  67. using BBEdit

    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

    Twitter post 627011121074073600
  68. using BBEdit
  69. using BBEdit
  70. using BBEdit
  71. using BBEdit

    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 https://farm1.staticflickr.com/317/19508258254_23c57712b8_k.jpg https://flic.kr/p/vHSVwf photo thanks to @KevinMarks.

    Twitter post 626769854100602880
  72. using BBEdit
  73. using BBEdit

    #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

    Twitter post 626420229174894593
  74. using BBEdit

    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. 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. Sunday was a good day. https://scontent-sjc2-1.cdninstagram.com/hphotos-xpa1/t51.2885-15/10731905_864690083622557_2054703120_n.jpg https://instagram.com/p/5oKvlLA9Qk/ https://igcdn-photos-c-a.akamaihd.net/hphotos-ak-xap1/t51.2885-15/10387873_987360547961946_1684577057_n.jpg https://instagram.com/p/5o_saHg9QO/ Previously: tantek.com/2015/032/t2/finished-surfcity-half-marathon-pr

    Twitter post 626285548148236288
  75. using BBEdit

    #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: https://scontent-sjc2-1.cdninstagram.com/hphotos-xpa1/t51.2885-15/11201533_712018112275251_1177741478_n.jpg 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

    Twitter post 626280395638710272
  76. using BBEdit in reply to: http://gregorlove.com/2015/07/what-do-you-call-posts/

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

    Twitter post 626108930305957888
  77. using BBEdit

    Getting ready for #sfmarathon 2nd half, my 6th #halfmarathon. Good luck to all runners! #raceeverything https://igcdn-photos-d-a.akamaihd.net/hphotos-ak-xfa1/t51.2885-15/11352116_1632929066995811_965117709_n.jpg https://instagram.com/p/5lkhYmA9UQ/ Grateful to start with friends. Still missing you Sam.

    Twitter post 625300889759260672
  78. using BBEdit

    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 taking a wrong turn and doubled back. We emerged from 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.

    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?

    Twitter post 625115155676950528
  79. using BBEdit

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

    Twitter post 625018445357256704
  80. using BBEdit

    Social Web Acid Test v0 #SWAT0 @IndieWebCamp 2015 demo video: https://youtu.be/xj5Z8ih4lOQ 3 people/sites/implementations.

    Twitter post 624624486529265664
  81. using BBEdit

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

    Twitter post 624411829733736448
  82. using BBEdit in reply to: https://twitter.com/leahculver/status/617960026099945473

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

    Twitter post 623965864564531200In reply to: https://twitter.com/leahculver/status/617960026099945473
  83. using BBEdit
  84. using BBEdit

    In 2014 over a hundred people participated in 2x IndieWebCamps as the previous year, and improved their sites: indiewebcamp.com/images/9/97/2014-indieweb-movement.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

    Twitter post 623508062066876416
  85. using BBEdit in reply to: https://twitter.com/thisNatasha/status/623443398582624256

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

    Twitter post 623445982114619392In reply to: https://twitter.com/thisNatasha/status/623443398582624256
  86. using BBEdit

    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

    Twitter post 623445177605226496
  87. using BBEdit in reply to: https://twitter.com/brucel/status/623435190703157248

    @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

    Twitter post 623438370203660288In reply to: https://twitter.com/brucel/status/623435190703157248
  88. using BBEdit

    #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 and 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 Hanogouts.

    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 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 past 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 repeate 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)

    And 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 now 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
    • 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, and as she herself did.

    By the end of 2014 we had community members to organize IndieWebCamps in 2015 in more cities than ever before, and similarly, to start 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. And 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.

    Epilogue: 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 entire text contents of this blog post is CC0 licensed for you to re-use as you wish and preferably quote, cite, and hyperlink. Please credit the “IndieWeb Community”. Thank you for your consideration. — Tantek

    Twitter post 623430020233580544
  89. using BBEdit in reply to: http://tantek.com/2015/201/t1/one-crawl-retrieve-cache-index-bind https://twitter.com/t/status/623279978680029184

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

    Twitter post 623285668601561089In reply to: https://twitter.com/t/status/623279978680029184
  90. using BBEdit.

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

    Twitter post 623279978680029184
  91. using BBEdit.

    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. https://farm5.staticflickr.com/4094/4821045757_68c557ac4c_b.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: https://farm5.staticflickr.com/4116/4806253252_18fc27dc2b_b.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.

    Twitter post 622834198383038464
  92. using BBEdit.

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

    Twitter post 622257160924360704
  93. using BBEdit. in reply to: https://kylewm.com/2015/07/homebrew-website-club-1 https://www.facebook.com/events/1455747814748163/

    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

    Twitter post 622182911622709249
  94. using BBEdit

    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!

    Twitter post 621505443135946753
  95. using BBEdit

    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

    Twitter post 621446934604214273
  96. using BBEdit

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

    Twitter post 620826179109568512
  97. using BBEdit in reply to: https://twitter.com/helloerica/status/620754269533175808 .

    @helloerica tomorrow morning!

    Twitter post 620755605511405569In reply to: https://twitter.com/helloerica/status/620754269533175808
  98. using BBEdit.

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

    Twitter post 620753636386336769
  99. using BBEdit. in reply to: https://kylewm.com/2015/07/homebrew-website-club https://www.facebook.com/events/106407686370243//

    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/

    Twitter post 620734629260185600
  100. using BBEdit in reply to: https://twitter.com/dietrich/status/620621933814493184

    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

    Twitter post 620623903711436800In reply to: https://twitter.com/dietrich/status/620621933814493184
  101. using BBEdit

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

    Twitter post 620617583809662976
  102. using BBEdit Ben Roberts’s photo: https://ben.thatmustbe.me/upload/photo/1436743674955.jpg.
  103. using BBEdit Ben Roberts’s photo: https://ben.thatmustbe.me/upload/photo/1436735226741.jpg.
  104. using BBEdit

    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/ https://ben.thatmustbe.me/upload/photo/1436743674955.jpg 2. aaronparecki.com gets a notification [on his phone!] that he's been tagged in a photo. Screenshot from Aaron Parecki's phone: https://aaronparecki.com/notes/2015/07/12/4/files/photo.jpg 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: https://aaronparecki.com/notes/2015/07/12/6/files/photo.jpg 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: https://aaronparecki.com/notes/2015/07/12/5/files/photo.jpg https://aaronparecki.com/notes/2015/07/12/5/swat0-indiewebcamp Requirements from SWAT0 description: * users are on at least 2 (ideally 3) different services A. ben.thatmustbe.com 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.

    Twitter post 620439717440569344
  105. using BBEdit

    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. 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.

    Twitter post 620389177599893508
  106. using BBEdit in reply to: https://aaronparecki.com/notes/2015/07/11/1/indiewebcamp

    @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.

    Twitter post 619958525347893248
  107. using BBEdit Ben Werdmuller’s article “Two years of being on the #indieweb”
  108. using BBEdit Jeena's photo https://jeena.net/system/photos/photos/000/000/156/big/1436637143047-14574263.jpg and tweet copy
  109. using BBEdit Julie Logan’s animated gif
  110. using BBEdit Eric Meyer’s tweet
  111. using BBEdit. in reply to: http://aaronparecki.com/events/2015/07/10/1/indiewebcamp-pre-party http://calagator.org/events/1250468662 https://www.facebook.com/events/1007859082588398/

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

    Twitter post 619657069059284993
  112. using BBEdit in reply to: @kevinmarks

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

    Twitter post 619293310549626881In reply to: https://twitter.com/kevinmarks/status/618499099864645632
  113. using BBEdit

    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 had 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?

    Twitter post 619227497071276032
  114. using BBEdit

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

    Twitter post 619050079593365504
  115. using BBEdit

    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 Implementation

    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


    Twitter post 619037665103605761
  116. using BBEdit

    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 https://igcdn-photos-e-a.akamaihd.net/hphotos-ak-xaf1/t51.2885-15/11378599_482568281905532_1851793367_n.jpg 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

    Twitter post 618482785192407041
  117. using BBEdit

    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

    Twitter post 617536222576181248