Kicks Condor

LEECHING AND LINKING IN THE HYPERTEXT KINGDOM

I FIRST DISCOVERED
THE 【TECHS-MECHS】WHO
ARE A CLAN OF SOUTH
OF THE BORDER GUNDAM
BREAKING DOWN
IMMIGRATION FENCES
WITH THEIR
IMPRESSIVE MANOS
MECANICAS

PLUNDER THE ARCHIVES

This page is also on dat.

MOVING ALONG LET'S SEE MY FAVORITE PLACES I NO LONGER LINK TO ANYTHING THATS VERY FAMOUS

philosopher.life, the 'wiki'/'avatar'/'life' of h0p3. serious rabbithole.

indieseek blog, bumped into brad somehow and we crosstalk a ton about the web.

linkport by joe jenett---blogs at i.webthings.

an eye on: ᛝ ᛝ ᛝ — lucid. whimsy.space, caesar naples.

indieweb: .xyz, eli, c.rwr, boffosocko.

nostalgia: geocities.institute, bad cmd.

true hackers: ccc.de, fffff.at, voja antonić, cnlohr, esoteric.codes.

chips: zeptobars, scargill, 41j.

dwm, julia, tridactyl these are things you'll want on linux.

neil c very famous but should be a world icon.

the world or cate le bon you pick.

sammyclassicsonicfan the original teen rage adventure.

innovation.isotropic.org probly the best carl chudyk game.

and opinionated gamers for non-chudyk game analysis.

my twitter. my github. minor things.

#redecentral

I use three main tags on this blog:

  • hypertext: linking, the Web, the future of it all.

  • garage: art and creation, tinkering, zines and books, kind of a junk drawer—sorry!

  • elementary: schooling for young kids.

16 Oct 2018

After looking at TBL’s ‘Solid’ for several hours—I don’t follow. It is a ‘personal data store’—but it seems awfully complex. I was playing with making a static, read-only data store: well, there are a lot of strange tags involved. And many of the apps seem to use WebId-TLS (which doesn’t work any more?) Don’t even know where to begin to get help.

  1. @kicks I'm skeptical of such complicated specs ever being widely adopted. It would take a very popular real-world app to push it forward (like Mastodon did for ActivityPub, which I also think could be much simpler).

  2. Reply: Simple Specs

    Manton Reece

    I’m skeptical of such complicated specs ever being widely adopted. It would take a very popular real-world app to push it forward (like Mastodon did for ActivityPub, which I also think could be much simpler).

    Well, we’ve been through this before: XML-RPC vs. REST+JSON. And no one remembers SOAP—which had tremendous backing, but was just so riddled with tags, you would just get lost in the stack.

    ActivityPub is just unbelievable—so many layers of JSON-LD, Webfinger, Salmon.

    Webmentions seem so much simpler—even though they’re not exactly comparable. However, Microformats are very difficult. They just are messy in practice—don’t you think? I kind of wish we could go with a combination of Webmentions and JSON Feed. But it’s too late to go inventing another spec. 😉

  3. Well the good news is because Webmention is data agnostic, while I agree microformats can be tricky, if a better solution pops up in the real world, we can easily shift to adopt it. As you said, we shouldnt go out and “try to invent a new spec” but if something makes sense and people try it out and it works, then webmention can always adjust. The webmention spec would never need to change, websites would just have to replace mf2 parsers with whatever the new parsing strategy is.
  4. @kicks Agreed, especially about the layers of JSON-LD that (I think) burden these new formats. Remembering SOAP, I searched my blog archives and found this post from 2003. I might have written it differently today, but pretty much still holds up 15 years later.

  5. Reply: Webmentions Agnostic

    Eddie Hinkle

    Well the good news is because Webmention is data agnostic, while I agree microformats can be tricky, if a better solution pops up in the real world, we can easily shift to adopt it. As you said, we shouldnt go out and “try to invent a new spec” but if something makes sense and people try it out and it works, then webmention can always adjust. The webmention spec would never need to change, websites would just have to replace mf2 parsers with whatever the new parsing strategy is.

    In a way, Webmention doesn’t even seem like a spec—for crying out loud, it is just source ➡️ target ➡️ endpoint! So, really, microformats are the substance of Webmentions. I think it would be interesting to see a variation of Webmention which did JSON, perhaps using Activity Streams or something. I almost wonder if this is what Parecki is doing by offering three different forms of JSON on all of his posts.

    It’ll be hard to beat Microformats, though, in that having a single definitive HTML source is amazing—compared to having all of these other source documents floating around: feeds, ActivityPub outboxes and such. So I’m content to stay put. I already get plenty of great stuff out of Webmentions. Like this ping from you, Eddie!

  6. Reply: Simple Friendly Formats

    Manton Reece

    The Future of Blogging panel was good. Tantek Çelik asked a question about the complexity of Friend of a Friend (FOAF), and whether a more human-readable/writable format was needed. The question was not well received by the panel, which took the view that tools (like Movable Type) will be able to hide the sometimes messy details from the user.

    What an astounding post—this feels like the situation today. (And sure enough—FOAF, XML-RPC and SOAP all went their way.) It is pretty surprising that Microformats have somewhat survived—the u- and p- prefixes, figuring out how to nest elements, complex rules like you see on the Indieweb authorship page.

    I wonder what drives the complexity of something like ActivityPub. Is it a kind of premature future-proofing? Is it just a desire to load the thing with features? I especially wonder about something like FOAF, which should be conceptually simple.

    Really appreciate the conversation, Manton.

  7. @kicks I think part of the complexity comes from a desire to solve all the problems. I drafted a related post last week after looking over Solid, but it's a little negative... Need to re-read and decide whether to post it.

  8. @manton this thought deserves to be expanded.

    Micro.blog is a great case study in standard adoption driven by solving one small problem at a time.

  9. Haha, yeah you’re right. Source and Target aren’t much of a spec. I think some of the stuff that makes it cross over the line as a spec is “how do you discover someone’s webmention endpoint?”, “how do you verify a webmention’s authenticity?”, etc.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

02 Oct 2018

Fake HTML Includes (for Beaker)

My personal strategy for handling HTML on the distributed Web.

So, HTML is a bit different on the distributed Web (the Dat network which the Beaker Browser uses, IPFS and so on) because your file history sticks around there. Normally on the Web, you upload your new website and it replaces the old one. With all of these other ‘webs’, it’s not that way—you add your new changes on top of the old site.

Things tend to pile up. You’re filing these networks with files. So, with a blog, for instance, there are these concerns:

  • I want common things like headers and footers to be in separate files—because they bloat every one of my pages.
  • I also want them in separate files so that when I change something in my header it doesn’t change EVERY PAGE in my site—pushing lots of changes onto the network.
  • The trend with Dat seems to be that websites are delivered more as applications—where you could potentially access the underlying posts in a format like JSON, rather than just having a raw HTML dump.

Ultimately, I might end up delivering a pure JavaScript site on the Dat network. It seems very efficient to do that actually—this site weighs in at 19 MB normally, but a pure JavaScript version should be around 7 MB (with 5 MB of that being images.)

My interim solution is to mimick HTML includes. My tags look like this:

<link rel="include" href="/includes/header.html">

The code to load these is this:

document.addEventListener('DOMContentLoaded', function() {
  let eles = document.querySelectorAll("link[rel='include']");
  for (let i = 0; i < eles.length; i++) {
    let ele = eles[i];
    let xhr = new XMLHttpRequest()
    xhr.onload = function() {
      let frag = document.createRange().
        createContextualFragment(this.responseText)
      let seq = function () {
        while (frag.children.length > 0) {
          let c = frag.children[0]
          if (c.tagName == "SCRIPT" && c.src) {
            c.onload = seq
            c.onerror = seq
          }
          ele.parentNode.insertBefore(c, ele);
          if (c.onload == seq) {
            break
          }
        }
      }
      seq()
    }
    xhr.open('GET', ele.href);
    xhr.send();
  }
})

You can put this anywhere on the page you want—in the <head> tags, in a script that gets loaded. It will also load any scripts inside the HTML fragment that gets loaded.

This change saved me 4 MB immediately. But, in the long run, the savings are much greater because my whole site doesn’t rebuild when I add a single tag (which shows up in the ‘archives’ box on the left-hand side of this site.)

I would have used ‘HTML imports’—but they aren’t supported by Firefox and are a bit weird for this (because they don’t actally put the HTML inside into the page.)

I am happy to anyone for improvements that can be made to this.

  1. Reply: Strategy: Minimize

    Tim Swast

    Neat idea. My strategy has been to minimize the amount of shared headers and footers. Your method seems much more flexible.

    Took a look at your blog—it’s sweet! I will be sure to include it in my next href hunt. I enjoyed the article about Dat and am interested in finding others who write about practical uses of the ‘dweb’—unfortunately, many of the links on Tara Vancil’s directory are ‘broken’ (perhaps ‘vanished’ is more correct?) and I’m not sure how to discover more.

    At any rate, good to meet you!

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

19 Sep 2018

Reply: Ideas for Websites in Addition to Blogs

While Tumblr is a type of blog, I think it is sufficiently different to categorize differently—microblogging, tumblelogging. Simply because it generally eschews writing. And that appeals to people.

So, question for you: are you satisfied with a blog for your approach? It seems that you post links, essays and announcements generally. However, these three things are not equal. And to see your essays roll off the front page while links take their place—well, I can see myself wanting a directory of those.

Yes, you have an ‘article’ post type that shows me those essays. But even that list is not comprised of equals. I wonder if a wiki might suit these.

I also wonder if there is a new way to structure all of these thoughts that might do justice to what you are doing and assist the reader in navigating what you are doing. A way of mixing and matching the ‘blog’, the ‘wiki’ and the ‘directory’.

To me, the great failing of blogs is that it is difficult to find the beginning and the end—and I don’t think they facilitate the ‘memory’ of a discussion. A blog post is a thought balloon floating alone. You and I can follow it pretty well, because we are juggling some memories to do it—but someone who stumbles across this post will not realize what is really going on.

Anyway, this is a great post—I’ve been pretty stumped about how to preserve the wee ‘web page’ and this is a thread we’ll need to continue over time.

  1. >are you satisfied with a blog

    No. I keep looking at plugins for wordpress that might help. I’ve looked at forums plugins, tried one and decided to hold off. I’ve been reading descriptions of wiki and knowledge base plugins and I’m not sure exactly how I would use either as a part of ramblinggit.com . I’d also like to find a journal/notebook type plugin that does not push down older posts like a blog timeline. Sigh.

    I have seen blogs that have micro posts, Likes, Bookmarks, Articles all separated and on their own timelines, but I don’t know how to do that.

    What I do like is the idea of a web presence – keeping as much of my digital thoughts under one domain as possible.

    “Blog” = CMS
    I was sloppy in that article, wherever I say blog I should really be saying CMS. But since that article was intended for beginners I stuck with blog since most people have an idea of what that is whereas, CMS sounds and is scary *cough* Drupal *cough*. A WordPress blog is also a way to promote a website and get engagement using those Indieweb plugins.

    >>thought balloon floating alone

    Poetic. I Like. I’m finding that, now that I have many posts on the same broken record subjects that people are following the “Related Posts” down at the bottom of each post. They didn’t do that when the blog was new, but I’m seeing it happen more in my stats. Also people are finding me in search engines via category or tag archives which tend to have many posts on similar topics. Maybe shear force of verbage ranks in Google? Hard to tell now that everything is encrypted. Anyway those two things seem to be helpful. I’m trying to remember to link to my older posts to give background context but I often forget.

    I did want to show people that there was more out there than just blogs and blogging. That is, we, as web creators, shouldn’t just stop at static sites or blogs if we don’t want to and that there are all these neat scripts out there to help us build our little realms on the web.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

Reply: Done Reading Blogs

Don MacDonald

[…] I can get done reading blogs, and creating a half-decent blog post is much harder than sending a tweet. I like to add art to mine, so there needs to be at least a photo (I prefer a drawing). But, the end result is far more gratifying. There’s something you can point to and say there, I did that. […] it turns out that removing the anti-patterns of big social also removes some major inhibitions to creation.

Ok, so if I’m reading you right here: when you move away from a crowd of people, there are fewer conversations to have—so you can decide to just go home. Is that closer?

This almost sounds like a case for making discovery difficult. We don’t want to spend all our time searching fruitlessly—if it’s too easy to find things, then we just follow those trails.

If it’s true, I wonder why the “searching fruitlessly” is something we will stop doing—while the “reading fruitlessly” is still something compelling.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

14 Sep 2018

Reply: Shoutout on Rebuilding the Web

(Strange that this didn’t show up in my ‘mentions’—wonder what else I am not replying to—)

Even aside from any larger societal impact, I can’t say that anything I have done on social media has been nearly as worthwhile. The past year, since about March, I’ve committed to spending less time on social media, and my creative output is way up.

I think this is so encouraging—maybe the most encouraging thing one can say! Can you point to what is causing this? Is it the feeling of working for yourself, rather than—as you say—giving ‘free labor’ to the CorpASAs?

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

28 Aug 2018

Sharing and Archiving with Dat

This is a technical overview of how to use/understand Dat. It covers how useful it is for ‘backing up’ websites—which is how I intend to use it.

So, this article (and the comments) cleared up a few things for me.

Dat can currently be configured to either track all changes (history) of files in a folder (at the cost of a full duplication of all files and all historical changes), or track only the most recent version of files with no duplication (at the cost of losing all history). There is not (yet?) any fancy dat mode which efficiently tracks only deltas (changes) to files with no other file overhead.

From my examination of the Beaker code yesterday, I noticed that the browser only downloads the specific version of a file that you need—I like this! (Rather than having to download the whole history of a file to put it back together.)

One advantage that Dat has over IPFS is that it doesn’t duplicate the data. When IPFS imports new data, it duplicates the files into ~/.ipfs. For collections of small files like the kernel, this is not a huge problem, but for larger files like videos or music, it’s a significant limitation. IPFS eventually implemented a solution to this problem in the form of the experimental filestore feature, but it’s not enabled by default. Even with that feature enabled, though, changes to data sets are not automatically tracked. In comparison, Dat operation on dynamic data feels much lighter. The downside is that each set needs its own dat share process.

I think this is a great benefit of Dat’s design. Because it basically just boils down to a distributed append-only log—a giant, progressively longer file that many people can share, and which you can build stuff like file folders or a database on top of—it’s incredibly flexible.

It certainly has advantages over IPFS in terms of usability and resource usage, but the lack of packages on most platforms is a big limit to adoption for most people. This means it will be difficult to share content with my friends and family with Dat anytime soon, which would probably be my primary use case for the project.

I totally disagree with this sentiment! Dat has the Beaker Browser—which is an incredible thing for a novice to use. Yes, it would (will?) be even better when it can be found on iOS and Android. But, for now, I’m happy to recommend it to friends and family: “Yeah, you can share your own websites—we can even have our own private Twitter-type-thing together—with this thing.”

I know the Beaker team has said that their goal is to get Dat accepted by the major browsers—but I think Beaker’s ability to customize itself to the decentralized web is an advantage. I could see it finding a lot of users.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

15 Aug 2018

Reply: The Public Square

Brent Simmons

For a long time there’s been just one thing I’d like to convince Twitter users of: that centralized social networking is harmful to society and to individuals.

I can make that point on Twitter — but it’s hollow there, since the medium really is the message.

(The actual post is here.) Just wanted to offer some encouragement—there are a lot of folks out there blogging again. We just need to stay linked. The great thing about micro.blog is that I can leave you comments from my blog. Would be nice to have that on ‘inessential’—but I’ll be sure to follow what you’re doing there regardless.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

02 Aug 2018

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

30 Jul 2018

A Web Without Servers

This is a tremendous talk, given so casually! I previously thought Dat was the exciting part of this story—but Beaker is incredibly elegant, now that I step back and survey the scene. At this point, I don’t care what kind of traction Beaker gains, I just want to use it for the sheer fun. (In olden times, the phrase was “get my jollies,” but I don’t know if that expression has taken a turn for the perverse.)

  1. Wow! Glad you liked it. Thanks for watching 😊
  2. really awesome demo, been following your work for quite some time, awesome to see the progress! rock on!

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

26 Jul 2018

Reply: Hello, Nomad!

h0p3

It’s important to form accurate representations of yourself even if only for yourself. To do it in public is morally valuable because deconstructing and constructing yourself out in the open casts some sunlight on the process (keeping us out of temptation, in some cases).

I like that other people can get a very palpable view of who I am through my site (if they wish to invest the time). If you really want to know who I am, you can know (it’s been a very useful tool in my life).

Ok, here we go. Hello my friend.

It is a real surprise to get a note from you. Frankly, I’m blown away by what you’re doing—and I felt that you were deeply embedded somewhere in your wiki, not exactly reaching out to pass notes. But I’m so glad.

The representation you’ve chosen for yourself is no illusion. If all I see of someone is pictures and quips, the image of that person is just a bit of shattered glass. But one thousand words cannot lie. They may be untrue, but they divulge so many more triangles to build that person with.

I am reluctant to say that even a verbose persona can ever be accurate, though. We start to believe that these pixels are us. I think they are just a good show. We are always in public here. And our souls know it.

I do look forward to the good show you have going. (Likewise: to you out there reading—hark, reader!—we are looking for you. Please read h0p3’s Find the Others as proof.)

I like what you are doing; my quest differs. I’m not looking for an ennobled species of thinker. I don’t want to avoid the unsavories. I am looking for Anyone. This is not right—there are plenty of Anyone’s around, aren’t there? Well, I am wanting to fall into fate, rather than to find only my most meaningful bosom friend. I want to travel down the river and stop at all the places that happen to be there along the way. And maybe a friend will crop up. Strange things, images and tales, too.

I am sold on it myself. I know I can communicate who I am, what I’m thinking, etc. with very low friction on my own medium-turf. My message integrates well into my identity when I use my own tools.

Yes, well, this is quite stunning actually. There is a sense on your wiki of a full use of hypertext that I haven’t seen before. It is the complexity of your organization and nomenclature. It is somehow still inviting. You have made a journal that is a vast puzzle.

I have been working, privately, on a directory of the web from a certain vantage. (I don’t know that my role is to journal; more, to explore out there.) And I think the real key that has been missing—from directories, wikis and engines—is artistry. To make it beautiful and elegant. Your work is a brilliant stone in that respect. Anyway, (hark, reader,) I’ll stop there.

Well, this will be fruitful. Feel no pressure to find some technology to make a connection with me. Climb down. We can link just fine.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

16 Jul 2018

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.

13 Jul 2018

TiddlyWiki PLUS Dat PLUS Glitch

Stay with me here. I realize that’s quite a pile of buzzwords. But this is good stuff! This is a wiki that runs totally in your browser. You edit it in your browser. But it gets saved to a peer-to-peer network. You can also authorize someone else (!) to edit it! I’m really impressed by Dat and HyperDB.

You can’t revoke permissions or restrict permissions. But still.

This post accepts webmentions. Do you have the URL to your post?

You may also leave an anonymous comment. All comments are moderated.