On the leeching front: vaporwave act ‘haircuts for men’ released a bunch of random CD-Rs that people have been gathering here: drive.google.com. It’s nice that Saint Pepsi is back, too.
On the leeching front: vaporwave act ‘haircuts for men’ released a bunch of random CD-Rs that people have been gathering here: drive.google.com. It’s nice that Saint Pepsi is back, too.
Notes on hypertext interviews.
People will hate this word. This is great because I can keep this page for myself and keep notes here and only the truly intrepid will venture through the tamarisk surrounding that word to be here.
Blogchat is a misnomer because I interview people over e-mail. But the actual conversation comes alive when it is posted to the blog. But I don’t want to call them ‘e-mail interviews’—I feel I can classify them blogchats and be done. Much as people say ‘slide into my DMs’ but reality is nothing of the kind—one stiltingly, jarringly skids into my DMs.
I don’t want them to happen live. My interview with Nadia Eghbal took many months—and I’m so glad. The instinctive feeling arrives that, since the world is connected, the signal should always be live. That one should chat and chat and chat for many months. And the quicker one chats, the quicker one will come to the conclusion, the quicker one will know someone, know things. I have to resist wanting my ‘blogchat’ to happen across streaming blogs with advanced technological scaffolding.
One distinct advantage: asking questions and waiting over time to answer them. It’s not that one is constantly mulling over the question for months. The questions are free to go completely out of mind. But, time passes, and new experiences happen.
I think the best phase is after the initial round of questions is over. Once answers are given, the conversation is rolling and we return to life for a day or a week. When we return to converse again, the topic is quite fresh. The feeling that I am not reaching for questions.
As marvelous as podcasts are, conversations can be too slow. I don’t want to get too deeply into min/maxing this shit. It’s a respectfulness idea, as stodgy as that may sound. You can read a decent blogchat in five or ten minutes and possibly hear everything except the vocal camaraderie and perhaps some finer points. You can definitely more easily re-read and quote. This is essential to me—I never hear it all the first time.
I’ll stop there—it all just feels polite. I don’t think I could talk for an hour and feel deserving of anyone’s attention. It’s possible that some guests aren’t comfortable on a podcast. I don’t know if that comes up ever.
I actually think that podcast hosts might get the benefit of the running conversation, the dayslong mulling—the microphone is always looming. But the guests can’t benefit from this. They have their one shot to say whatever might emerge. They can’t improve or correct anything. Maybe this is why podcast hosts can also be the best podcast guests—they are just delivering another batch of thoughts that has emerged from the muse of constant podcasting.
Of course, blogchats are not some zenith of human communication. They lack the sensations that a podcast can produce. I’m reveling in their brief, concentrated way. Like a rollercoaster ride.
I think the next thing is perhaps to see what it’s like if a blogchat can be posted as a draft over time, building periodically.
I keep the e-mail conversation in chronological order, but I may interleave questions and answers in a way that is harshly ripped from the original material. I am unsure about removing phrases that are related to the upkeep of the chat. I want what the respondent says to remain intact. They will do the editing for their material—they’ve spent time crafting it. ↩︎
It’s possible that podcast hosts ARE actually the guests. ↩︎
‘I like a kind of irony I call benevolent, compassionate, like what we find, for example, in the best of Cervantes. I don’t like ferocious irony but rather the kind that vacillates between disappointment and hope. Okay?’
— p. 5, Never Any End to Paris by Enrique Vila-Matas
My digichat with @nayafia—an essential writer (imho) of texts, notes and wonderful roundups.
A few months ago, I stumbled across the essay ‘The tyranny of ideas’ and was truly struck by the inquisitive, thought-mashing flow of the writing. It’s just a great piece—I’ve read it several times now and talked about it with pretty much everyone I know. The author, Nadia Eghbal, writes quite a bit about funding open source software, but meanders all over, processing modern life on her website.
> Welcome to the digichat with Nadia.
kicks: You have a simple, minimalist blog—very limited styling, an RSS feed, generated with Jekyll—meaning you likely write all your posts in a plain text editor. What appealed to you about a minimalist design?
nadia: Before I started writing, I really liked blogs like Aaron Swartz’s and Paul Graham’s, which were minimally designed. If it’s a blog post, I generally don’t want to do anything that takes away from the text itself. It’s like when you cook a really nice piece of fish or steak or whatever: if the main ingredient is good, you shouldn’t need to season it.
kicks: You are also pretty sparse with your linking, image embedding, all the ‘hypertext’ features of the Web. I take it that your faith in plain text doesn’t extend to these?
nadia: Not sure I understand the q, but yes, I like keeping everything pretty sparse. I do like linking a lot (or at least I feel like I link a lot!) as a way of subtly saying “if you wanna dig into this thing more, you can go down this path over there, but otherwise I’m gonna keep talking”.
kicks: You have a page on your site for somewhat ephemeral thoughts and unpolished shorthand. This page has no feed, so it doesn’t actively broadcast—it could almost be seen as a neat personal touch to your website. However, you are incredibly active in updating this! Much more so than your Twitter account it seems. What motivates you to write there?
nadia: I like being able to publish my messier, half-formed thoughts, but I get turned off by putting those next to a like count. It feels like the more likes you get, the more you start writing things to get likes, whereas the REALLY weird, unpopular stuff probably won’t get many likes at all.
I worry about likes changing how I think and interfering with my ability to wander and explore the edges. (I am truly envious, however, of people who are able to use Twitter as a place to braindump their thoughts! I think I’m just too self-conscious.)
Someone (I think Eugene Wei?) once tweeted that all Twitter accounts eventually sound like fortune cookies. I don’t want to become a fortune cookie. So I like things like newsletters, and my notes page, which are still discoverable and semi-public, but aren’t subject to short feedback loops. I also removed comments on my blog for the same reason, and I never look at my site analytics.
kicks: This is making me seriously reconsider ‘likes’—which I’ve let pass as a kind of low-effort but benign and gracious comment. But now as I look at your ‘notes’ page—not only am I convinced by what you’ve said—I think the absence of all the ‘share’/‘like’ icons really makes that page feel like a running conversation. With ‘like’ counts, I think I’d be distracted wondering which thoughts were the most highly admired—but, come on, what kind of bullshit is that for me to be thinking while looking through your private thought journal?? So maybe it alters reading too in a sick way?
nadia: The problem with likes is it naturally draws your eye towards the most-liked stuff, instead of deciding for yourself what’s most interesting. It almost feels like I’d be taking agency away from the reader by doing that.
(Maybe I’m being a little sanctimonious—e.g. shorter thoughts probably draw ppl’s attention more than bigger paragraphs, there’s no way to totally avoid this problem—but I’d rather not add to it, either.)
I mean I think curation can be useful, e.g. on my homepage I highlight a couple of my favorite blog posts, because I assume they want a bit of guidance at that point. But on a stream-of-consciousness notes page, I’m assuming they’re more in exploratory, serendipity mode. I don’t want to guide them towards anything.
kicks: Ok, now: about the essays. The quality of your writing on your blog is very good, very thought-provoking and unique. Serious time has been invested into each essay. I imagine there is a wealth of publications who would love for you to write for them. Why post these to a personal blog?
nadia: Thanks! I like what Venkatesh Rao has to say about Ribbonfarm, which he thinks of as a wildlife preserve. I like having total freedom on my blog to roam around and write about whatever I want, as much or as little as I want. It’s like the popularity metrics thing: if I start writing for others, I worry it’d start to change what I think and write about.
That said: I do like writing for other publications and blogs occasionally! It’s just a very different experience, and I usually need to have a particular reason for doing it.
kicks: You know, your link to Ribbonfarm there has illustrated what you are saying so well. I’ve never really read that blog—but what better way to find it than in this chance conversation with you? (We’re enjoying ‘sidewalk life’ here—as you term it.)
nadia: Woot! Ribbonfarm is lifechanging, I’m a bit of a fangirl.
kicks: I mean the world is trying so hard to build technology that will have these conversations for us. Especially these ones where we find each other. At the same time, it feels like there is more to talk about than ever. Do you feel this way? Or, I mean—you’ve already written pretty extensively—do you still feel like you’re at the tip of the iceberg?
nadia: I definitely feel like I’m at the tip of the iceberg. There are so many half-written blog posts waiting for me to finish, and at some point I’ve realized I’ll never get to them all. And having meaningful conversations is a really tough thing to scale, too. I’m still trying to figure that one out.
kicks: To what degree do you feel like you need to repeat yourself? Because some important points are worth harping on, right?
nadia: I hate repeating myself. haha. This is maybe one of my biggest weaknesses. Part of why I blog is honestly just to avoid repeating myself; if I’ve talked about an idea with enough people separately, I want to codify it into a post and be done with it. I get really impatient about having the same conversations with multiple people. But to your point, important points do need to be repeated, which helps them spread and sink in. It’s just my least favorite thing.
kicks: Does it ever feel like your blog is out in the middle of nowhere? Or do you feel sufficiently connected to the rest of the network out there?
nadia: Haha yes, I definitely feel that way sometimes, although usually I find it comforting—sort of a “hidden in plain sight” kind of thing. Twitter and newsletter are basically my only ties between my blog and the outside world; that said, I think I’ve gotten a surprising amount of engagement that way.
Fundamentally, I think of my blog more like a portfolio, or a display case. It’s not about juicing up my readership, but connecting with the right people who happen upon it and find something that resonates. I’ve met so many amazing people through writing: I’ve gotten most of my work opportunities that way, and made a lot of friends, too! I’ve thought about whether I should focus more on distribution, but again, I think if I started to worry about that, it would make the whole experience less fun, and I might also start changing what I write about. Maybe it’s naive, but I like the idea of having a public place for my “pure” thoughts, and the only way I can think to do that is by explicitly not caring about who reads it or how it spreads around.
kicks: Well, I think you’re playing a long game here—by not cashing in on the immediate attention and likes of those networks. It’s definitely ‘purifying’ to drain away all those other purposes that could be tweaking your motives.
A home page definitely seems more and more inert—disconnected from society, from live notifications, seemingly deserted. But there’s an advantage to that—it’s like you can actually control the tempo there. It’s like visiting you at your home—down a wooded road—or, maybe more appropriately: your candy store, like the one you mention in “Reclaiming Public Life,” where “one is free to either hang around or dash in and out, no strings attached.”
nadia: I love this imagery of a homepage being like visiting a home down a wooded road. I am definitely the recluse living in a cabin
kicks: I wish it was more like a candy store, though—so I could hang out and meet another avid reader or give you a thanks as the door jingles on my way out. What is an adequate ‘social’ sidewalk for your blog—is it your attached Twitter account and email newsletter?
nadia: Yeah, Twitter is probably the “social sidewalk” for my blog. I’m still trying to figure out the newsletter thing. When I send out a newsletter, I get a bunch of responses from subscribers, but it feels inefficient somehow to have multiple 1:1 conversations with different people, when I’m sure others would love to read them. I’d almost even say it feels selfish…like I’m keeping all these ideas to myself! Occasionally I include some of the interesting stuff in the following newsletter, but yeah, I don’t like being the bottleneck keeping everyone apart from each other. I haven’t come up with a better alternative besides Twitter, but not everyone is active there.
I guess that’s why some blogs have comments. I was so anti-comments in the past bc it felt like “the comments section”, as a place, had become so crappy and low-quality. It’d be funny if comments sections made a retro comeback as a place to have deeper, substantive conversations. Or maybe they never went away, but I’m the one who’s coming back around to them. (Are newsletters are just the slow re-invention of blogs?)
kicks: Hahaha! I believe this is the first time I’ve heard a remark in possible favor of comments. Yes, I think it is. It’s possible you’ve unearthed the first truly contrarian thought on the Internet here… Which is especially ironic because we’ve just been deriding ‘likes’ somewhat.
Ok, I’ll stop there. Thank you for all that you are doing, Nadia!
nadia: Thank you for all your delightful and thoughtful observations! Really enjoying your trains of thought.
Oh and the fortune cookie remark is too good! It reminds me of something David Yates recently said to me: that there needs to be a name for that feeling where you click on a link to a sweet domain name and it ends up just being another Mastodon instance. ↩︎
Most of these links have been posted recently—some removals as well.
Href.cool is my personal directory to the Web. It contains one hidden directory inside of it—and I’m working on two more (one on ‘antimisanthropy’ and another on ‘fake computers’.) In the meantime, I have some casual updates.
Added to Games/Dialogue:
All the Meeples of the
Lavish pics of board game pieces. Full, detailed feelings on new games. I tend to agree with her. Her being Steph Hodge.
Stately Play Blog 5m
This blog sprung from the Pocket Tactics blog—covers mostly mobile board games. (I’m a huge fan of Race for the Galaxy—and the mobile version came from Keldon’s homebrew AI. This blog is on the lookout for games in that vein.)
Removed link to Susan Engel (susan-engel.com) in Real/Learning—DNS doesn’t resolve.
New category Real/Thoughts:
Meaningness Wiki ∞
David Chapman (who also brought us Buddhism for Vampires)—to simply call Meaningness a ‘book’ or a ‘metablog’ or a Buddhist resource is to discount that this is a formidable work that seems to both tackle the question “What is life?” and to catalog its author’s every thought. It also sets a precedent for drafting in public that I’ve begun to see on the other links in Web/Wiki.
Visakan Veerasamy Page ∞
This site goes real deep—you have no idea. But you might get an idea if you survey the bookmarks page (which is an impressive collection—feels similar to href.cool) or the @1000wordvomits page (dump of interesting, meandering essays) or his master list of his own Twitter threads, which is just much better than it sounds. Generous work.
Nadia Eghbal Blog 1h
Started with the brilliant ‘The tyranny of ideas’. Stayed for ‘Reclaiming public life’ and ‘The independent researcher’. Essays to snack on. (See also: The Modern Essay by Virginia Woolf. That’s what Nadia does.)
An addition to Tapes/Classic:
An addition to Tapes/Infinite:
And an addition to Tapes/Vaporwave:
Bunch of new links under Visuals/Motion:
Removed link to Typegram (tgr.am) in Web/Participate—DNS won’t resolve.
jermolene.com/cecily/: An interesting take on a zooming interface for TiddlyWiki. Ah the sensation of going further and further into h0p3’s brain. Maybe ‘jungle’ to ‘circuits’ to ‘golgi apparatus’ as you go deeper…
‘He often invited her parents to stay, as though by studying them he might decipher the mystery of their daughter. They would come to the island, where the ancestral home still remained, and would stay for weeks at a time. Never had he met people of such extraordinary blandness, such featurelessness: however much he exhausted himself with trying to stimulate them, they were as unresponsive as a pair of armchairs. In the end he became very fond of them, as one can become fond of armchairs…’
— p. 20, Outline by Rachel Cusk
‘…unlike things being adjacent to each other.’
Great comments. Even without algorithms, this can be trouble—on subreddits, posts can be flagged ‘offtopic’—so overboard moderation is a problem. (Of course, Reddit is where one goes to fully ‘engage’. No /s—it’s fine to do that. Problem is: people may not know where to go to get outside of ‘engage’ mode.)
One thought I’ll add re: getting outside of my own interests—I think if we had better tools for keeping tabs on our interests, we could more easily move outside them. (Like: if my ‘reader’/‘news feed’ makes it difficult to track 100 people, then I can’t very well track 1,000 people.)
And directories are sweet here—they are little libraries. Sure, they can cover your interests. But they can be used to map the strange elven lands that you happen to sally in.
Our work is at odds. Our networks are not neatly aligned. Links still work. Hypertext works. There is a superset—but it is haphazard.
It occurs to me that maybe the ‘conduit’ in this video—the shamanically healing ‘reader’—is an embodification of Postel’s Law: it liberally accepts everything and attempts to conservatively output all of it to the eyeball interface.
Also: the slaptrash source for this video is here.
It’s amusing to me that you seem to be struggling to vocalize why anyone would want a website like yours—as if a ‘resume’ or a ‘journal’ were the only reasons to keep one.
But, as a reader, I think a website like yours is like having a chance to explore that person’s personality in a freeform way. The design reflects their aesthetic (similar to how fashion does for the physical form), the organization reflects their favored mental models perhaps, and the myriad of topics and links makes it a graph-like structure for a ‘book’/‘journal’/‘life’. It’s strange to me that people question a personal website’s purpose—but accept that of a coloring or sticker book. To me, that only says that our brains haven’t quite caught up with how to use the medium. (Although, if you have read sites like philosopher.life, then I think you have a glimpse of what’s possible.)
And, to me, this exploration of life is at the heart of what brings purpose and beauty to humanity—this is why I live, to try to understand or maybe to just immerse myself in what beauty I can find in the world or in the lives of its creatures. In a way, what could be greater than a website?! ↩︎
I love hearing that the Indieweb Summit this year really pushed for DISCOVERY. Don’t forget that discovering each other isn’t just about automating and algorithms—just basic linking to each other can go a long ways! Highly recommend the talks at twitch.tv/indieweb. What a chill vibe, looks like a great time.
A few reasons, thoughts behind what is driving the current movement, as well as all of life everywhere.
It’s now time to tell you about myself. I feel like I should tell you something very revealing. From what I’ve read, I’m pretty sure that a revelation like this must occur in order for anyone to care about me. I don’t exist unless I tell you something!
I think that if I am to talk to you, it must come by communicating something, surely. But it’s more than this. I’m also in this mood—I’m reeling with rambunctious energy! I feel like I can say anything and it will be true—but I also want to open my mouth and to say something that actually IS true. So I might try that! We’ll see, in just a moment.
Okay, let’s see. I am compelled to talk intensely about all of life, about the very core of myself. About all of the Earth. About animals. About the sky! About the lightning that descends from it. About little keys and chains and about ornate knobs that exist apart from the original bureaus to which they where attached! I feel suddenly enabled—and this is by what I’ve seen, by just a simple mouse cursor I saw—to attempt to explain this consciousness and to paint my full perspective in a shattering way, to dispel every pretense and to unveil all of life and to do it by talking about surrealism. (Especially surrealism as it exists on the Web, on blogs and on zines as they are coming through the postal service.)
The mouse cursor that I saw was of a simple Jersey cow, lowing in the field. I was not looking for a new mouse cursor at the time, I was simply drinking from a clear canister. The circumstances could not be less intriguing. I was drinking from a clear canister and I had my hand resting on the bough of a tree.
Normally I close my eyes while I am drinking. I close them very tight actually. Sometimes my eyelids hurt from closing them so tightly! I have to tell myself to not close them so tightly. And that’s what I did in this moment: I was telling myself not to close my eyelids so tightly. I was repeating to myself the phrase: Decci Estefani Epcot—which is a phonetical reading of an acronym which stands for “Don’t Ever Close Your Eyelids So Tightly That the Force of Your Entire Person is Concentrated There.” I repeated this again and again in my mind. Decci Estefani Epcot. Decci Estefani Epcot. In my mind, many times.
I am very careful to say it precisely, as it is a slight tongue twister. Not a notable one at all. But a minor one. My eyelids love it. Let’s just say: they were doing fine. And as I said, the vision of this Jersey cow mouse cursor was conjured in my vision, moving across my neighbor’s yard.
I was standing on a ladder, looking into this neighbor’s yard, while this mouse cursor clicked on different things. The grass. Then an in-ground trampoline. Then a bush. A bird flew out of the bush. It clicked on a screen door and it rattled slightly. It clicked on the bush a few more times, but there were no birds there, just a rustling.
I marveled at this cursor—I hadn’t even thought to look at the bush or the in-ground trampoline before. I wouldn’t even have tried. Not before this. But now I looked, I really looked! And I truly saw them in all of their splendor. The pleasant thump of the trampoline’s tarpaulin! I thought to myself that it would be lovely to have a mouse cursor in my life that would click on various things, bringing my attention to them and making them fully interactive. It didn’t occur to me that I actually did have one now. I looked, and it seemed totally independent and detached from me, not mine in any sense, not belonging to any of us, but just a translucent layer, existing on top of the projections of my eyes. It shook its head from side to side, nervously. But I could see that it was beaming with a raw, youthful embarrassment.
Now, this is not the revelation—many of you have written in to tell me about your mouse cursors and what you like to do with them. And also I should say, I worry about bringing up the wrong thing here. Do you ever say something offhanded to someone and then two days later you suddenly throw yourself BACKWARDS against the wall in the middle of the day and you yell HEY WAIT THIS IS A BAD SITUATION! Of course, when someone notices you, you laugh playfully, as if it you were just kidding around—but in secret, you struggle to breathe again and you close your eyelids way too tight, and you find you are trapped in this situation from then on, paralyzed by what you can ever do right again.
What I am saying is—well, first off, I have many times seen a wolf on top of my neighbor’s house. It is usually just licking its paws or staring at children who are playing. It’s sitting on shingles as if they were just another natural biome. But what I’m saying is that I’m afraid that many of you will think I am saying “wolf”—as in “German.” (Because I often used that word to derogatorily refer to Germans when I was a young person. And it was true back then—many Germans were wolves in those days, they would steal my train tickets. But it’s no longer true—so I no longer say it, but I’m afraid to now even bring up the word “wolf” even if I have a good reason, like if I want to tell you that I’ve seen one on my neighbor’s roof.)
So this is the revelation—why exactly I struggle to use the word “wolf” on this blog or even in my private life, in the most intimate moments. Well, no, I do use it there very frequently.
Now it is nighttime and I am confronting this digitally, to see how it goes. The FBI and the KGB are here watching my every move. They love to peep in and to announce their presence on my screen. There is a little icon of a man’s face. It appears in my system tray and it winks once at me. But if I try to show anyone else the man’s face, it fades into an ordinary Dropbox logo. This is quite maddening. But, being a former computer expert, I do know what it takes to make a smooth fade transition.
So, yes, this is what draws me to the surrealist community. And to bee videos, which is the closest thing I have right now to my mouse cursor.
My teardown of Beaker and the Dat network.
We’re probably all scrambling to figure out a future for ourselves—either by hunting around for some shred of promising technology or by throwing up our hands—shouting and retreating and dreading the shadow of the next corporate titan descending from the sky. The prolonged lifespans of distributed protocols like Bitcoin and torrents means we’re maybe skeptical or jaded about any new protocols—these types of protocols are becoming old news. Maybe we’re just hunkered down in some current online bucket.
And I’ve felt this too—ActivityPub and Secure Scuttlebutt are too complicated. Tim Berner-Lee’s Solid is—well, I can’t even tell what it is. I don’t want to hear about blockchain: do we really need a GPU mining war at the center of our new Web? These are all someone’s idea of a distributed Web, but not mine. IPFS is really cool—but how do I surf it?
After discovering the Beaker Browser, a Web browser for the distributed Dat network, I felt that there was some real promise here. It was simple—load up the browser, create a website, pass your link around. There’s not much new to learn. And the underlying technology is solid: a binary protocol very similar to Git. (As opposed to Secure Scuttlebutt, which is tons of encrypted JSON.)
I spent four months using Beaker actively: running this website on the network, messing with the different libraries, trying out the different apps—and then I hit a wall. Had a good time, for sure. And I kept seeding my Dats—kept my sites on the network. The technology was just lovely.
But: you can’t yet edit a website from a different browser (like on a different computer). This is called multi-writer support—and there is some talk about this landing by the end of the year. But this is, from what I can see, the single major omission in Beaker. (It’s not a problem with Dat itself—you can use a Hyperdb for that—but Beaker hasn’t settled the details.)
So I left Dat alone. I figured: they need time to work this problem out. Beaker has remained remarkably effortless to use—I’d hate for multi-writer to be tacked on, complicating the whole thing.
Recently, it occured to me that maybe I don’t need multi-writer. And maybe I should really be sure that the rest of Dat is as perfect as I think it is. So I started working on a limited (but full-featured) app for Beaker, with the intention of writing up a full ‘review’/‘teardown’ of everything I discover in the process.
This is my review—and the app is Duxtape.
It occured to me that a Muxtape clone would be a perfect tracer bullet for me to push Beaker. (Muxtape was a 2008 website for sharing mixtapes—minimal design, suddenly became very prominent, and then was promptly DEMOLISHED by the music industry.)
Muxtape was shut down because it was centralized. If Muxtape had been distributed, it would be much more difficult (perhaps impossible) to shutter.
Muxtape did some file processing. Reading music file metadata (title, artist’s name) and loading music into the browser’s music player. Could the app handle this?
The Muxtape home page listed recent mixtapes. This would give me a chance to use datPeers—a way of talking to others that are using the same site.
Storing song information and order. I don’t have a database, so where do I put this stuff?
A more general question: What if I upgrade the code? How do I handle upgrading the mixtapes too?
I also didn’t want to think in terms of social networks. Many of Beaker’s most advanced apps (like Fritter and Rotonde) are ‘messaging’/‘social’ apps. I specifically wanted a creation tool that spit out something that was easy to share.
How would Beaker do with that kind of tool?
Ok, so how does Dat work exactly? It is simply a unique address attached to a folder of files (kind of like a ZIP file.) You then share that folder on the network and others can sync it to their system when they visit the unique address.
In the case of Duxtape, the address is dat://df1cc…40.
The full folder contents can be viewed here at datBase.
So when you visit Duxtape, all that stuff is downloaded. Beaker will show you the index.html, which simply lets you create a new mixtape and lists any that you’ve encountered.
Now, you can’t edit my Dat—so how do you create a mixtape?? And how does it keep track of other mixtapes?? Teardown time!
But furthermore: when you are on the Duxtape homepage, your browser will connect to other browsers (using datPeers) that are viewing the homepage. And you will trade mixtapes there. Think about this: you can only discover those who happen to be around when you are! It truly acts like a street corner for a random encounter.
Where are song titles and song ordering kept? Well, heh—this is just kept in the HTML—in your index.html. Many Beaker apps keep stuff like this in a JSON file. But I felt that there was no need for duplication. (I think the IndieWeb has fully corrupted me.) When I want to read the mixtape title, I load the index.html and find the proper tags in the page. (Like: span.tape-title, for instance.)
Beaker has a special technique you can use for batching up edits before you publish them. (See the checkout method.) Basically, you can create a temporary Dat, make your changes to it, then either delete it or publish it.
However, I didn’t go this route. It turned out that I could batch up all my changes in the browser before saving them. This includes uploaded files! I can play files in the browser and read their data without copying them to the Dat. So no need to do this. It’s a neat feature—for a different app.
So this allows you to work on your mixtape, add and delete songs, get it perfect—then upload things to the network.
This all worked very well—though I doubt it would work as well if you had 1,000 songs on your mixtape. In that case, I’d probably recommend using a database to store stuff rather than HTML. But it still might work well for 1,000 songs—and maybe even 1,000,000. This is another advantage to not having a server as a bottleneck. There is only so much that a single person can do to overload their browser.
Lastly, here are some calls that I used which are specific to the Beaker Browser—these are the only differences between running Duxtape in plain Chrome and running it distributed:
stat: I use this to check if a song file has already been uploaded.
readFile: To read the index.html when I need to get song information.
writeFile: To save changes to songs—to publish the index.html for your mixtape.
unlink: To delete songs—NOTE: that songs are still in the Dat’s history and may be downloaded.
isOwner: The getInfo() above also tells me if you are the owner of this mixtape. This is crucial! I wanted to highlight this—I use this to enable mixtape editing automatically. If you don’t own the mixtape, you don’t see this. (All editor controls are removed when the index.html is saved back to disk.)
So this should give you a good idea of what Dat adds. And I just want to say: I have been wondering for awhile why Dat has its own special format rather than just using something like Git. But now I see: that would be too complex. I am so glad that I don’t have to pull() and commit() and all that.
I spent most of my time working on the design and on subtle niceties—and that’s how it should be.
It’s clear that there are tremendous advantages here: Dat is apps without death. Because there is no server, it is simple to both seed an app (keep it going) and to copy it (re-centralize it). I have one central Duxtape right now (duxtape.kickscondor.com), but you could easily fork that one (using Beaker’s ‘make editable copy’ button) and improve it, take it further.
The roots of ‘view source’ live on, in an incredibly realized form. (In Beaker, you can right-click on Duxtape and ‘view source’ for the entire app. You can do this for your mixtapes, too. Question: When was the last time you inspected the code hosting your Webmail, your blog, your photo storage? Related question: When was the first time?)
In fact, it now becomes HARD:IMPOSSIBLE to take down an app. There is no app store to shut things down. There is no central app to target. In minutes, it can be renamed, rehashed, reminified even (if needed)—reborn on the network.
This has a fascinating conflict with the need to version and centralize an app. Many might desire to stay with the authoritative app—to preserve their data, to stay in touch with the seeders of that central app. But this is a good tension, too—it INSISTS on backwards compatibility. I am pressured to keep Duxtape’s conventions, to preserve everyone’s mixtapes. It will be difficult to upgrade everything that is possibly out there.
This same pressure is reminiscent of the Web’s own history: HTML that ran in 1995 often still runs today—Flash and Quicktime are quite the opposite, as will be all of the native apps of today. (Think of apps you’ve bought that are already outmoded.) The ‘view source’ keeps compatibility in check. If Beaker is able to keep their APIs firm, then there is real strength here.
Still, Dat is limited. Where is it short? Can we accept these?
But—think about this: I don’t have to take on cloud hosting! I don’t need to scale the app! This is a huge relief. URGENT QUESTION: Why are we trying to even do this?
I also mentioned not needing the multi-writer feature. Obviously, multi-writer demands some centralization. A central Dat needs to authorize other Dats. But I think this centralization could be moved to the DNS resolution—basically, if I edit Duxtape on a second machine, it will have a new unique address—and I can point duxtape.kickscondor.com to that new address. This means I can never get locked out of the Dat—unless I am locked out of the DNS. (So there is a way forward without any new features.)
Still, these downsides are pure side effects of a distributed Web. These are the realities we’re asking for—for me, it’s time to start accepting them.
Several months had passed since I last used Dat—how was it doing with adoption?
Well, it seems, no different. But it’s hard to say for a distributed network. Every Dat runs in secret—they are difficult to find. The discovery problems are perhaps the most urgent ones.
But there is good recent work:
These are all cool—but Dat has a long way to go. With the corpypastas taking up all the attention, adoption is terribly slow. What Beaker may need most of all is a mobile version. But, hey, I’ll write my article here and make my dent—if you feel stimulated to noise about, then please join in. I mean: using a new web browser is just very low effort—perhaps the lowest. You need to use one anyway!
I think HTTPS has proven itself well for the centralized stuff. Perhaps there is a future for HTTPS as simply a collection of centralized REST APIs for things like search and peer discovery. I think the remaining apps could migrate to this fertile garden emerging on the Dat network.
It should be noted that there is a document called “How Dat Works”, which goes into all the details and which is absolutely beautiful, well-organized and, yeah, it actually teaches you very plainly how Dat works! I am not sure I’ve seen such a well-made ‘white paper’/‘spec’-type doc. ↩︎
Apps on the Dat network have no ‘server’, they can be seeded like any other file. ↩︎
Clearly Dat apps will need to put extra work into providing a scratch area for draft work—the protocol puts this pressure on the app. I think this also makes the system lean toward single-page apps, to assist drafting when in a large app. ↩︎
I would be REALLY interested in seeing an equivalent to The Pirate Bay on Beaker. If you could move a tracker to the Dat network, much would be learned about how to decentralize search. ↩︎
The Dat version of my site fell behind, but is now back. Large stuff (videos, audio) are still on HTTP. I have changed my Dat hash—the raw URL—so I wonder if any seeds out there will automatically update.
I have done a bit of work on Slaptrash—there is now a play button, rather than always autoplaying. I’m working through mobile issues still. This isn’t a serious project for me—it’s just a nice diversion. There are some ideas that I want to convey in a ‘slideshow’/‘zine’ approach.
jack and tals vals, hipster bait analysts.
waxy is back at it!
neil c. "some..."
all my other links are now at href.cool.