home.social

#internet-tech — Public Fediverse posts

Live and recent posts from across the Fediverse tagged #internet-tech, aggregated by home.social.

fetched live
  1. Why you can’t link to a podcast episode

    The other morning I was spun off on a tangent. I was writing a blog post about a Godin/Koppelman podcast episode. I know full well you cannot link to episodes, so I just said the usual “go search…”

    I sometimes give my blog post drafts to Claude.ai for critique. For this piece, it pointed out I should just link to the episode… cue my frustration. It’s a valid critique, and I don’t fault that Claude instance for not understanding the reality . . .

    So we talked about it until it did understand. Then I told it to write me a prompt (because I didn’t want my writing critic going farther afield) for a Claude-code instance. It took Claude-code about 10 minutes to do the work, which I posted publicly for discussion:

    Why you can’t link to a podcast episode

    I particularly LOVE its list of sources; There’s so much great reading in there.

    Its analysis actually surprised me. I had assumed this was a technical problem. It’s not.

    There was a time when I’d make a web site, email people (eg James Cridland), and start trying to rally people into fixing something. But those days need to be behind me, I simply cannot take on another new thing.

    My hope? Someone somewhere sees that topic over on the Podtalk Community. Learns something about the problem and gets energized to do something about it.

    I love podcasting, but this isn’t a fight I can lead.

    Maybe you can?

    ɕ

    #Claude #InternetTech
  2. Sometimes I consult for large corporations

    So Verizon’s new CEO sent me an email…

    Where shall I begin?

    First — You can’t simply reply. I get it. It’s hard to have a mailbox on the Internet these days. So many bounces, to deal with (I’m serious.)

    Second — So when you go to drag-select, copy and paste that “[email protected]” email address, you discover it’s not what it seems.

    Pasting into your email client’s “To” field, you actually create a list of multiple recipients: The first recipient is “s”, then the second is “sampath”, etc—none of which are the email address you meant to copy and paste. So you have to type it into your email client. Not a big deal, but probably enough to stop most people. If they really cared, they’d just give us an

    <a href="mailto:[email protected]">[email protected]</a>

    and let us just click or touch it, et voila!

    Okay, but why can’t we copy and paste? Because in the HTML source in their email, it’s actually:

    If you can read HTML, you see there are HTML entities jammed in various places in that email address. I had to lookup the entity &zwnj; — that’s a Zero Width Non-Joining space. Meaning it’s not visible (“zero-width”) and it’s job is to keep whatever is left and right from “joining”… in the sense that complex characters can join to make a glyph— For example: An ‘a’ and ‘e’ can join to make the single character ‘æ’ if your language supports that. (But, of course, English does not have any joining characters at all.) I’m confident this is just an artifact of their bulk-email-sending composer software; it’s common for such things to “defend” an email address in the middle of text from harvesting looking for emails. So this wasn’t maliciousness on Verizon’s part.

    Third — …but it’s ironic that, in a message that contains, “It’s not just better service — we are setting a new standard, beginning today,” I have to flip between windows as I retype that email address.

    Fourth — Because I’m a level-39 nerd wizard, I do reply to these things. (I mean, I start a new email message addressed to that email address.) And because we (said wizards) are quick to anger and regular Internet users (ie, Sampath) are tasty with ketchup, I send things like this…

    I’ll followup when I get my 17.5%.

    ɕ

    #InternetTech #Snark #Verizon
  3. Long live the indie web, indeed

    So, here’s something of a little manifesto or rallying cry:

    • If you only spend your time on Facebook/Twitter/Medium then stream in, stream out – you’re going to get what you ask for. A fleeting set of stories loosely bound.
    • So, spend time in the corners of the web. Subscribe to some newsletters. Bookmark some forums and blogs in your browser and show up regularly. It’s hard, there’s no stream. But you’ll start to find the mom & pop internet not the shopping mall internet.
    • Dabble with your own space. Dabble with your own voice. Own your own platform.
    • But don’t stop there – own your own distribution too! Build a newsletter. Build a messenger bot to alert people to new posts. Build your own stream. Create a shared delusion of showing up regularly.

    Long live the indie web.

    ~ Tom Critchlow, from Indie Blogging & Distribution

    slip:4utoii1.

    I was a frequent user of the Internet before the web. Today is vastly better than then. The web straight up kicks ass, and the web is not just alive and well, it’s flourishing. If you aren’t seeing great content, you simply haven’t yet figured out where to look for it. Go look. (Right after you go read the above, of course.)

    ɕ

    #InternetTech #TheOpenWeb #TomCritchlow
  4. It makes no sense

    Whenever anyone tells me that some platform is great, I always nod and think to myself … for now. For now.

    ~ Bob Sassone, from Bluesky is not going to save you

    slip:4uwobu1.

    I don’t understand why no one else is saying this: Until I see anyone else running separate federation instances, it’s still just another monolithic platform. This again? If the AT Protocol (what Bluesky is built upon) is really great, how do I run my own instance to join the federation?

    If you see only one instance, then it’s a platform. When you see multiple instances talking to each other, then it’s a protocol.

    ɕ

    #ActivityPubProtocol #ATProtocol #Bluesky #BobSassone #InternetTech #Mastodon
  5. Pet peeve #7

    Web pages which neglect to include two of the most important pieces of information: Who and When. Yes, all web pages. Thou shalt always list the author. (“Anonymous” is a legitimate answer to, “who?’) Thou shalt always list at least a general composition/publication date. Online, it is already difficult to place things into context. Having a Who and When gives that many more clues to place things into context.

    ɕ

    #InternetTech #Snark
  6. Screens and screen time

    I read and hear a lot about how excessive “screen time” is bad. But there’s a distinction that has to be made: Is the “screen time” tool-use to accomplish something meaningful? …because tool-use is not bad for you. We don’t begrudge the time a mechanic spends wielding his tools; we call that “working.”

    Today I spent nearly every waking minute in front of one of four different computer screens. For reasons of sanity and physical health, sometimes I was sitting, sometimes standing, sometimes indoors and outdoors for long stretches too. I also take intentional “vision breaks” to allow my eye muscles to relax—literally relax to infinite focusing distance, which they would otherwise never do facing a screen, or anywhere indoors.

    What did I do? I did an enormous number of things. Here are a few examples from today: I submitted a presenter application for an in-person event in September. I worked on my presentation notes for a different, in-person event in 2 weeks. I researched and experimented with exporting the contents of a WordPress site, and then read and interpreted the massive data which was output, to verify that I could later write a program to parse it. I then planned out the work needed to disassemble the project, of which that WordPress site is but one piece. I estimate I spent three hours reading text articles I’d previously queued up to read later. I helped a member of a community sort out a problem they were having.

    I, truly, don’t know about you. I however, am an excellent mechanic, with the finest tools, and there remain far more things worth doing than I can ever get done. My problem is not, “screen time.”

    ɕ

    #Goals #InternetTech #Process #Productivity
  7. A random proof

    Here’s how I do things.

    GIVEN…

    • I have a book that has 2,000 pages. (Curiously, it is exactly 2,000 pages.)
    • Life is finite, (and probably also “short.”)
    • It’s unlikely I can get through it front-to-back; I’d like to read as many pages as I can.
    • I’m a systems guy; I want to figure something out once and then never think about that same problem again.
    • I have a personal task management system; It can easily remind me to do things however I’d prefer.

    I WISH, that I had an easy way to get a random page number. This strikes me as very easy to build. Therefore, because it is easy, because Internet, and because humans are awesome…

    THEN, such a thing must already exist.

    THEREFORE, I guessed, “!random”, would exist in my favorite search engine—here, you’re welcome—and quickly found my way to this: https://www.random.org/clients/http/

    QED (Quite easily done, yes; But, no.)

    All that remains is to skim their simple API docs, and then type this simple URL: https://www.random.org/integers/?num=1&min=1&max=2000&base=10&format=html&col=1

    This enables me to create a repeating task which has that URL. I click the link, and flip to that page. You’re thinking, “holy shit no.” And I’m thinking, “tiny building blocks, well placed, get shit done.”

    ɕ

    #InternetTech #Systems
  8. Not previously possible

    The idea that we should focus on disruption rather than the new value that we can create is at the heart of the current economic malaise, income inequality, and political upheaval. The secret to building a better future is to use technology to do things that were previously impossible. The point of technology isn’t to make money. It’s to solve problems!

    ~ Tim O’Reilly

    slip:4a673.

    #InternetTech #Quotes #TimOReilly
  9. The future

    The future is here, it’s just not evenly distributed yet.

    ~ William Gibson

    slip:4a374.

    #InternetTech #Quotes #WilliamGibson
  10. Podcast fracturing continues

    Exciting times! Facebook is getting into the game of making Yet Another ™ place that podcast creators will have to jump through hoops to get their podcast shows heard.

    Isn’t this all so strange? I mean, shouldn’t the content creators have the power? Shouldn’t entities looking to create a business model have to deal fairly with the creators? It’s as if we, the podcast creators, are doing something fundamentally wrong…

    https://openpodcastdirectory.org/

    ɕ

    #InternetTech #OpenPodcastDirectory #Podcasting
  11. White-with-orange

    white-with-orange, orange
    white-with-green, BLUE!
    white-with-blue, GREEN!
    white-with-brown, brown

    I have probably said that sequence—sure, aloud many times, but mostly muttering under my breath, always moving my lips—about 9 gazillion times. If you know what that is, I weep for you; and we have a support group which meets at the bar and the first round is on me.

    I’m reading—literally just this moment… I have my arms stretched around the book as I type—On Writing by Stephen King. (Highly recommended by the way. In parts deeply useful, deeply touching, deeply funny, just all-around deeply.)

    John Grisham, of course, knows lawyers. What you know makes you unique in some other way. Be brave. Map the enemy’s positions, come back, tell us all you know. And remember that plumbers in space is not such a bad setup for a story.

    ~ Stephen King from, On Writing

    POW! my brain muttered “white-with-orange…” And I was yanked, much in the way I’ve yanked L I T E R A L L Y miles of wire through ceilings… hell, I know what a plenum is and why you can pull that cable through it and not this other cable. POW! “white-with-orange, orange, …” Yanked back to good old, kill-me-now I’d forgotten this and hoped I’d never remember it: T568B.

    B. BEE! mind you. omgbecky don’t go all white-with-green on me to start the sequence ‘cuz that’s T568A and if you we do B on this end, but A on the punch-down blocks back in the squirrel closet we won’t even get link lights let alone have the tester [magic box of circuitry] be happy.

    Never mind when they started using Category-5 cabling and I stripped off the jacket… Actually, with Cat-5—or was that 5+? or Cat-6… I need a drink—where the jacket is sort of partly heat-shrunk on so you need a special tool just to get the jacket cut before you can pull it off. And then you discover not only are the pairs of wires twisted—bro’ that’s so Cat-3, right? No, now in Cat-5 the pairs are twisted at different rates—the number of twists-per-inch is different on each of the four pairs to reduce the magnetic inductance coupling—no, I’m not making this stuff up; pay attention, kid. Oh, and they’re not only twisted, but the pair is actually in a stuck together jacket—so you need this other little tool that you shove onto the end of the pair and it has a teeny razor blade in it that cuts the wires apart like—sorry for this metaphor—like a razor cutting the skin between your fingers, as you push and spin the tool to separate the wires.

    Then you can wrestle the pairs, in the right order (see above!) into the shape, like a whale tail. Eight tiny wires that you VICE-finger-pinch flat, then cut ’em all off in one go. Wizards could shoot those eight tiny wire snips into a little trash catch we had with us so we didn’t leave ’em in the ‘ol office carpet. Then—hey, don’t slip!—slide the plug on the end, and stuff it in this special tool… When you grabbed it, you had to exactly judge where to grab cuz if you’re too far from the end it’s not good, too close to the end and you can’t get the plug on fully, and you can’t move your fingers at all because it takes full-strength to pin 8 tiny wires perfectly in the right place after you cut them off in one go.

    Or if you’re making up a wall-jack or a punch-down panel you can just sort of lay the wires in the v-grooves—but don’t untwist them too far, each one is a tiny radio antenna—and “punch” them down with a tool that trimmed the ends—which always managed to ping, pong, bing, bong right into anything that you couldn’t get into to retrieve them. Ever wonder why vents on computers, and everything are on the sides?

    One. That’s one. This office has 150 more wall jacks, and the other ends of course, and all the wires have to be labeled cuz the rat nest has to make sense…. and then you have to test it and if one single wire isn’t perfect.

    So yeah, that was fun. Holy shit! Where’s the Tylenol?!

    ɕ

    #InternetTech #Nostalgia #StephenKing
  12. Pointing to the Internet from paper

    Continuing my thinking about personal knowledge management systems, it’s time to set down my method for pointing to the things on the Internet from a paper system.

    The obvious way to do this is to simply write the URL. This is also horrible. URLs are long, and worse they are often, (but not always,) case-sensitive. I’m never going to write a URL in cursive, so I’m left with printing it, and my preference is an all-caps block style, which doesn’t render lowercase characters. The solution of course is what’s called a URL shortener. Hold that thought.

    But there is a bigger problem: URLs change. Or more correctly, the resource goes away or is moved. This is referred to as “link rot.” I want to create links in the context of a Slipbox, which I’m expecting to use for a few decades. All the URLs will surely rot. So I’d love to find a way to make links to URLs a little more like a reference to a book, journal, or other physical object.

    First, it’s important to remember that such a link would be in the context of a slip in my Slipbox. So the “why is this interesting” will be on the slip. If, (when!) that link rots, I’ve obviously not lost what I captured on the card. What I want, in my solution for linking from paper to the Internet, is some way to capture a little bit of the actual resource—the thing the URL refers to.

    Hey! I have that already, it’s my blog. I frequently quote a little and then describe what I’m linking to, and then perhaps riff off that, go deeper, or make some connection.

    Recall that every slip in a Slipbox has an address. It’s a baklava-layering of letters and numbers and they are easy to read/write. So I could create redirections on my blog, (this is easy to do.) I could make “a42o17x3”, (some card’s address on which I want to link to a URL) would lead to the blog post with the actual full URL. On the card, I just leave an indication that there’s a URL—maybe that’s a litlte ↬ or something easy to write. Then, when creating the slip to capture the link (and its context/why) I go to the blog and create that redirection (and the actual blog post of course.)

    I suspect you’re boggled, but to me that’s easy. But I can make it easier: Just put the slip’s address somewhere in the blog post. Now I’ve eliminated the entire redirection / URL-shortening system. (Which is digital, and therefore will eventually break or become overloaded and crash etc.) I’m already working hard to backup and protect the contents of my blog, so just add a tiny little string in the blog post; I could simply type slip:a42o17x3 and I’m done.

    There’s another thing that clicks into place: All the URLs I’ve already captured on my blog might be things I want to import into the Slipbox. How on Earth would I do that? Turns out it’s easy. I already have a website serialize tool that knows how to “show me one year ago today” as a link to my own site. (and any other year-back, so each day I glance at a few previous year’s today’s posts.) This ensures I’ll soon glance at all the URLs I’ve already captured giving me the opportunity to create slips in the Slipbox.

    I feel like some things are starting to come together here. ymmv. :)

    ɕ

    slip:1a

    #InternetTech #KnowledgeSystems #Slipbox
  13. Fish

    Give a man a fish and you feed him for a day;
    teach a man to fish and you feed him for life.

    Age-old aphorism, right?

    The first point I want to make is that both options—giving and teaching—are not necessarily viable. If we’re in a desert, my giving you a[n edible] fish is helpful, while teaching you to fish is not; there’s an overriding resource constraint. This is a minor point which we’re all comfortable sweeping under the rug because that aphorism is screaming out that it’s far better to be teaching people to proverbially fish.

    The second point is more serious: Things do not go well if you disagree on which is supposed to be happening. If I think we’re doing fishing lessons and you just want me to shut up and hand you a fish—that’s a recipe for, not broiled trout, but rather steamed people.

    Anyway, no fish today—gone fishing.

    ɕ

    #Intention #InternetTech
  14. Open Graph and oneboxing

    This is a standardized way to present a preview of a URL. Instead of just showing a URL, like this:

    https://en.wikipedia.org/wiki/Dwight_D._Eisenhower

    It can be presented as a “onebox,” like this:

    That’s just a screenshot from a system which is able to do oneboxing. The magic is that when editing, (wherever you are editing,) you simply paste in a raw URL and the oneboxing is done automatically by the system.

    What wizardry is this?

    It’s based on the Open Graph Protocol (OG). Facebook started this as a way to get sites on the open web to provide software-understandable, summary information. It took off everywhere because it’s just downright awesome.

    A web site includes information stuffed out of sight, in the source HTML of the page. Software can fetch the URL, notice the OG information and craft a meaningful summary. This grew into the idea of presenting a single box summary—”one boxing”—of a URL if it has OG information.

    Testing it

    When something doesn’t onebox as you expect, how would you figure out which end has the problem? (Was it the end serving the URL content that doesn’t have OG data? Or is the end fetching the URL that couldn’t parse the OG data?) So someone wrote a handy tool that lets you see what (if any) OG data there is at any URL you want to type in:

    http://debug.iframely.com/

    ɕ

    #InternetTech
  15. Sound of thunder in the distance

    I’ve written before about the sounds of summer thunderstorms. I’m completely trained to relax and drift away to these sounds.

    It’s said there are three things you can stare at endlessly: running water, fire, and other people working. I believe the first two trigger something deep within our brains; I believe there’s something about the small, random movements of water and fire which hypnotize the predator part of our brains… something about those movements stimulates our visual cortex.

    But sound! The auditory part of our brain is older still, and the sound of running water is—at least for me, how about you?—deeply alluring. I’ll sit under cover on my patio and freeze my ass off just to hear the rain falling and the sound of water in the gutters.

    Anywho. What brings up this train of thought? …on a gloriously sunny and blue-skied day?

    …”sounds of rain and thunder,” is a thing you can listen to on Pandora.

    ɕ

    #Apogee #InternetTech #Thunderstorms
  16. Podcasts and good old RSS

    Once I started seriously listening to podcasts, I quickly reached the point where there are more podcasts, (entire shows, not just episodes,) than I can possibly keep up with. I’m left with the choice between staying subscribed to podcasts where I want to listen to only some of the episodes, or unsubscribing and knowing that I’m missing some gems.

    …and then I remember this is all just RSS.

    In my podcast player, (which is Overcast,) I now keep only the shows that are my dedicated favorites; shows that I generally listen to every episode. I moved all the other podcasts into my RSS reader, (which is Reeder.) I even added a bunch of shows which I had completely given up hope of being able to even follow them looking for gems.

    This had two huge benefits:

    First, it improved my podcast listening experience: Not keeping all of those podcast shows subscribed in my podcast player, means less downloading and less skipping. I don’t like having to wait, so I have everything set to pre-download, and removing a lot of podcasts makes a big difference. But even more important, there’s now much less distraction. When I’m in the mood, (or the time, or the place,) to listen to podcasts, I tend to continue listening by default. I’m more likely to listen “just a bit farther” to see if this episode is going to be good, whereas if I had read the summary I might have skipped it altogether. So my podcast listening experience winds up having far more great episodes because it’s just the shows I love.

    Second, it actually leads to me finding more gems: When I open my RSS reader, (as I do every day,) I’m in “skimming mode.” I’m looking for things to queue for later reading. (Pocket and Instapaper for the win.) There’s very little effort for me to skim the episode descriptions, and when I find one that looks good I add it to my podcast player. This does require me to switch apps, search, and then add a specific episode. But this small effort helps ensure that the episode is likely to be one I would really like to listen to.

    There’s one detail that is a slight snag: How do you find a podcast’s feed URL? We’re all so used to searching in our podcast player apps, but you need the actual podcast feed URL to add it to your RSS reader. You’ll discover that none of the podcast player apps, and none of the directories, (Stitcher, Google, Apple, etc.,) make it easy to find the shows’ underlying podcast URL. The easiest way to do it is to use the handy search on James Cridland’s, Podnews.net (no relation/benefit to me.) It pulls the show’s information from the directories, and explains all the details about that show’s configuration including a handy RSS link icon that has the URL.

    So, unpacking this idea a bit more, with some visuals we have…

    Feedbin

    If you don’t already have a favorite RSS reader, the easiest way to start is to use a web site which will corral all your RSS subscriptions. It will show you a nice web front end with all your feeds together. Later, if you want to run a dedicated RSS reading application on your phone or computer, any of the good ones will let you say, “I have my subscriptions in Feedbin,” and boop! you have all your feeds: Feedbin.

    RSS in action

    Here’s an example of what it looks like when I encounter an updated podcast feed in my RSS reading application.

    Here’s the “stream” of RSS items. Sorry, I have the font size on my phone super-huge; so this only shows a few items. But the first one, under “Today”, is from a podcaster friend’s show.

     

    Touching it leads me to the full RSS item’s view. Exactly what you see in this view depends on exactly what each RSS feed chooses to include.

    I’m still not on the web here—still simply looking at the data in the RSS feed.

     

    At this point, my brain goes, “oh yes! David put out his next episodes!” Let’s see what he’s written up… (swiping left) I get an in-app web browser view of the item from his web site.

    I could even press play, right here, if I had 11 minutes.

    If this were an episode I wanted to listen to—in my “I’m listening to podcasts” mode, as I described above—then I’d flip over to my podcast app and search for this episode and add it to my listening queue. In reality, it’s even easier: My podcast player app remembers the shows I’ve listened to before, so I can just touch the show, scroll to the episode and hit ‘download’ for later listening.

    You can keep an eye on a LOT of podcasts this way—looking at their descriptions—without piling up more in your podcast player than you can possibly listen to.

    ɕ

    #InternetTech #Podcasting #RSS
  17. Factory work, Round 2

    My fear—or maybe it’s better written, as “my lament”?—is that for every made-it-big tech person who represents the worst of avarice and greed, there is a sea of regular tech people who are being ground up by the works. Countless pasty faces staring at screens, drinking diet soda, trying to live in the bites of life they can grab after hours, (taking their phone so they can be summoned, of course!) stressed-out, burnt-out…

    So when I hear people talk about “tech people” as if we’ve collectively done something wrong and messed up the world, I look around and all I see are people who’ve been broken and smashed. The grass is no greener on the inside-tech side of the fence. To everyone outside-tech, what gets done inside tech is magic—it’s not, it’s factory work, round two.

    I don’t mean this as a repost to what people say when they lament what has happened to the world, but as a commiserating plea: “Yes! Yes! The problem is everywhere.”

    ɕ

    #InternetTech #Society
  18. Deep dive about podcast feeds

    This article got out of hand, and is 3,000 words.  I encourage you to skip around; There’s more discussion of specific tools and how-to material in the last third.

    In the beginning

    In the beginning, podcasts were simply audio files which people shared directly either by emailing them to each other, or by providing download links on their web sites.

    RSS technology has been around for a while and provided a way for a web site to publish a “here’s what’s new” feed. It was soon realized that RSS could be used to provide a feed specifically of podcasts. Software able to retrieve and understand a podcast feed, could then automatically download the podcast files, and alert you of new episodes. Sharing a new show with friends then meant simply giving them the “feed URL” which one would “subscribe to” by adding it to your feed reader.

    It was only a matter of time before someone realized that a central directory that stored all the feed URLs would be extremely useful. That directory would enable me to search for new shows, new episodes (across any show), and so on.

    All of this depends on meta-data; information about the shows and about each episode. Applications for mobile platforms, desktops, and web sites sprang up each of which communicated only with some directory. At first, it was just Apple’s iTunes directory of podcasts, but now there are many different directories maintained by various entities.

    Today, “submitting” your show means getting it added to a directory.

    About the feeds

    A feed contains two things: Information about the podcast (name, author, description, etc.) and a list of episodes and their information (title, description, download URL for the audio file, etc.). Specifically, it’s a file marked-up with XML which is meant to be read by programs. Here’s a screenshot of a podcast feed shown as raw text:

    Here’s the same feed shown using a tool which understand the XML and can present it in a way slightly easier for humans to read:

    Ignore those yellow highlights as it’s just commentary from the parser. Note that the display goes for more than 1,600 lines.

    No one creates these feeds by hand. They need to change frequently, (each time an episode is published,) and it’s tedious. So show feeds are generated automatically. This is why you “publish” your show in one place, and then you have to “submit” your show to the directories, but then you can publish new episodes without having to notify anyone/anything.

    You can install software on your web site which will let you create your episodes and it will generate your feed from there. That software would tell you the URL where it created your feed. You can join a service which lets you upload your episodes, and type in some of the meta-data. The service will then handle playing the file to people who use their web site or mobile app, and it will, (perhaps,) generate a feed for you too. In both these cases you can take your feed URL and submit it to other directories. (I’ll talk more about how this leads an ecosystem, below.)

    The key take-away here is: Some software or service is creating your podcast feed (the “publisher”) and some service(s) are consuming your podcast feed (the “directories.”)

    The publishers—whether this is your own WordPress web site with Podcast publishing plugins, or service like Simple Cast—accept your episodes when you upload them, take the meta-data you enter (title, description) and create your feed. The directories accept your show’s initial registration and then continuously consume all of the feeds from all show publishers, building a database of all known shows and episodes.

    Potential problem: Detecting updated feeds

    Directories have a big challenge: If there are +500,000 shows, by definition that means there are that many feed URLs. People want to see episodes appear immediately. The directory has to monitor those half-million URLs for changes. How often does it “poll” each URL?

    After over a decade, things are quite advanced. Directories can ask, “is it updated?” instead of “give me the whole thing” and checking against their last fetched data. They can also learn how often each show generally publishes, and then adjust their checking to better align with that. But this is still a HUGE number of requests they need to make.

    On the other side, where your feed is published, do you really want each directory (there are dozens) asking your publishing service, “is it updated?” “is it updated?” every five minutes?

    This is simply an effect of the nature of RSS feeds; They are “pulled” by the consumer. The solution, created long ago, is to create a push-pull system, (I prefer to call it “bump-pull.”) The publishing service, (WordPress, Simple Cast, etc.,) sends a small alert to a hub whenever the podcast feed is updated. The directories subscribe to podcast feeds by telling the hub, “notify me if this feed URL notifies you.”

    Now the directories can vastly cut down their workload. They immediately fetch any RSS feed when the hub bumps them to inform that the publisher bumped them. They can also look for stale feeds which haven’t been updated recently and proactively make a direct request to the feed publisher, “hello? is this thing still on?” and see what they get back.

    This started as a proprietary project and has become an open standard, WebSub. James Cridland of Podnews.net has written an excellent article, A Podcast Industry Guide to WebSub, or PubSubHubbub.

    Ecosystem

    Having covered the publishers, and the directories, the last part is the players (the software which plays the audio files.) Your favorite podcast player has three parts:

    1. A searching and subscribing front end that enables you to find things in somedirectory,
    2. a download-and-store or streaming (or both) manager for the podcast files,
    3. and an audio player. (…hey look, finally! …this is the entire point of podcasting!)

    This creates a beautiful ecosystem where the publishing services do their job creating standardized feeds, and serving out the podcast audio files when they are downloaded or streamed-live. The directories create large databases of what shows and episodes exist, their titles, their content ratings, where’s the episode cover art, etc. The players (mobile apps, desktop apps, and web sites) handle all the end-user interface features (playback speed, silence-skipping, rewind, subscribe, sharing, episode play ordering, auto-download for offline listening, and on and on.)

    Potential problem: Who pays for this?

    I don’t believe our species can survive unless we fix this. We cannot have a society, in which, if two people wish to communicate, the only way that can happen is if it’s financed by a third person who wishes to manipulate them.

    Jaron Lanier

    Publishing: My personal soapbox is that the podcast creator must choose to pay for the publishing part of the ecosystem. There are a few ways to do this, from choosing a partner which charges to create your feed, to rolling your own from scratch with a hosting company. It’s a good sign that there are a huge number of ways to “publish” your podcast; This part of the ecosystem is doing very well.

    Listening: For your podcast player, you should always choose one which is notfree; It’s best if it’s one which charges a recurring fee, (annual is nice,) to the software provider to support their work. Never use free-with-ads players, unless you can pay to remove the ads (and you should do so to support that project.) This part of the ecosystem is doing mediocre.

    Directories: Unfortunately, the directories you can’t actually pay. Some of the publishers are their own directory, which they use to enable only their own players. So in some cases you are effectively supporting a directory through your choice of publisher. That may or may not be a good thing.

    Fracturing of the ecosystem

    Suppose I want to listen to a show. (My friend said I should listen to, “Movers Mindset.”) I open my favorite player and search, but I can’t find it. What do I do? Well, as the end-listener, I can do nothing. As a show creator you are going to find this endlessly frustrating.

    What’s going on is that some entities want to control the listeners (the people using the players,) so they entice podcast creators to submit their show feed to their closed directory. There are many of these closed directories. Even worse, they always come with odious click-wrap contracts; To submit your show, you have to agree that they can alter it by adding ads, or that you must defend them in court cases, and so on.

    Apple’s iTunes directory is currently the only open directory; Meaning anyone can create player-software that uses their directory. Creating a player is not easy, and there are rules from Apple about directory use, but it is open to anyone’s use. There are other open directories, but they don’t have nearly as many shows as Apple’s, yet.

    Currently (spring 2019) the BBC is embroiled in a PR mess for having removed all of their shows from Google’s podcasts directory. (Google’s podcast directory is not open, but Googles player apps use it, and that’s a lot of listeners.) The BBC wants people to use the BBC-provided players. But the rest of the podcast universe is not in the BBC’s directory, and so not available in their player. That means I have to have two players: one for the BBC and one for all the other plays-well-with-others podcast shows. In reality, I feel it’s best to simply shun any shows which refuse to be good podcast citizens and feed into the public directories.

    On the other hand, it is not a good idea to have one single entity stewarding the only open directory that is large enough to be useful. We’re all currently relying on Apple to remain the adult in the room as the caretaker of the directory. I don’t like this idea either. Switching our lone egg to another basket controlled by someone else is no better.

    What we, the podcast creators need is a self-assembled directory that we all co-create and take part in supporting. It would be built by the creators, and run by funding from the creators. This would become the One True Directory. Each show would pay a small annual fee to register in the global directory. This may sound familiar. Solving the problem of who controls the domain names on the Internet is the same problem of cooperation. The U.S. government started the domain name system, and some wise people worked really hard to create and shift everything to a global entity which now controls it democratically.

    Potential problem: How many episodes can a show have?

    The answer would seem to be “as many as the creator wants” but there’s a potential problem with the podcast feed structure. How many episodes are actually included in the feed? Directories do not store episodes’ information if they disappear from a feed; You wouldn’t be able to delete an episode if they did that. (Well, not easily, and not without some changes to how RSS works.)

    The directories just keep the information which is currently in each feed. If the feed has 12 items, (some real-world defaults are this low,) when you publish episode 13, episode 1 “falls off” the bottom of your feed. This makes it disappear from the directories and from the players. (Cue your friends saying, “I can’t find that episode in my player.”)

    If you want every episode of your show to remain in the directory, and therefore findable and playable, you need to ensure the feed will include that many episodes.

    Here’s where it starts to be clear why you might want to control your own publishing deployment. What if your chosen publisher only includes 25 episodes? (More realistically, the free version of their publishing service limits you to a very small number to encourage you to step up.) If you have control of your podcast feed publication you can always change anything. The downside of course is the need for the technical knowledge to operate and publish the feed.

    How to examine your feed

    There are many web sites that will validate XML. (Remember, your show’s feed is marked up with XML.) A great example, which has been around as long as I can remember, is from the World Wide Web Consortium (W3C). Their XML validator is https://validator.w3.org/feed/ and here’s what is has to say about the Movers Mindset feed:

    That’s rather gnarly looking. But it is also very accurate. If it mattered, I would change the feed to fix every one of those problems it reports. As it turns out though, the directories are not so strict when it comes to reading these feeds.

    What we really need is an XML validator that understand we are trying to verify our podcast feed. Turns out this is also a thing. Meet your new best friend, the Cast Feed Validator. Here’s what it has to say about the Movers Mindset feed:

    (Go find your feed URL and put it into the Cast Feed Validator.)

    This is much easier to understand. The Cast Feed Validator is doing two jobs: Checking the structure of our feed (the XML validation) and checking for “podcast sanity.” It does a beautiful job of visually presenting the information in a way that we can see what’s going on, without having to directly read the XML ourselves.

    We can take this a step further. Podnews.net runs a free lookup service which checks a lot of things about your feed—not the feed XML validity per se. I call this “meta-commentary” as they will tell you which directories you are visible in, and other nuances such as wether you are doing your titles in a way that makes Apple happy. The Movers Mindset page from Podnews’ includes a lot (not shown here) but this section is priceless:

    Troubleshooting Wizardry

    One day, something is wrong… is it with the publisher of your show’s feed, the directory, or the player? 

    First off, I’d like to point out that since you are now able to understand how those three interact, you are way ahead on problem solving. You’ll know to ask questions to start teasing out, (from whoever reported the problem,) in which of the three parts of the ecosystem does the problem lie. “What player are you using?” is something you will grow tired of asking.

    The vast majority of problems I have encountered, (or heard of,) fall into two categories:

    1. the directory doesn’t include the feed at all, or it hasn’t fetched the feed recently
    2. the information in the feed is wrong, mangled, missing, etc.

    The first problem is mostly beyond the control of the podcast creator. We can submit our show’s feed URL, and we can reach out to support if it’s not yet included. But generally, directories poll for changes as they see fit and you’re either in, or you’re out. However, “I can’t find it in my player,” is almost alwaysbecause your show isn’t in the corresponding directory. This isn’t really a problem. It’s really just expected behavior.

    The second case is where all the problems fall.

    But first, I want to show you one more tool that will take you to Wizard-level.

    Saving a copy of your feed to a text file

    If you can save your podcast feed to a file, then you can do “before and after” comparisons. Imagine you find a problem and you think you’ve fixed it. (Perhaps you’ve made a change in your publishing service’s web interface; maybe you want to change all your episode titles to conform to Apple’s latest rules.)

    Unfortunately, I cannot provide specific instructions because there are so many environments. But if you can figure out how to save your feed from your web browser—point your browser at your podcast feed, what happens? …can you save-as… to capture it? Or, if you know how to use a command-line on your computer, do you have the “curl” program installed? And so on…

    I know I’m way out in the weeds here, but here’s a screenshot from a tool for showing the differences between two files. In this case, I saved a copy of the feed before and after making some text change. (I edited the HTML tags in the sponsorship section of an older podcast.) I can quickly verify that the onlydifferences are what I wanted:

    If I didn’t know how to do this with my feed, I’d have to wait for some directory to load the feed and then wait for my favorite player app to refresh… and then realize I have typo… arrrr! another day-delay… Instead, save a copy, make a change, verify the change, and I’m done. 

    Namespaces in XML

    Wow, you’re still reading?

    You may have noticed in the screenshots of XML, that some tags are, <title>and some have a colon in them like, <itunes:title>. The itunes: part is an XML namespace. This enables everyone to invent their own tags without having to all agree on the tag names. So Apple’s directory will use the <title>information, unless you specify an <itunes:title>—then they’ll prefer their tag. You’ll see this come up when you read things like, “if you use Apple’s tags, you can…”

    There are lots of namespaces and they’re declared at the top of the XML files with xmlns:URL in the (in this case) main <rss ...> tag that begins the XML. Don’t bother learning them—even I’m not that crazy. Instead, just remember that namespaces are a thing that groups tags.

    In early 2019 there was a lot of noise about Apple changing the rules about podcast tiles. Your first thought should be, “why does Apple make the rules?” …they don’t, they make rules about what their directory will accept. Technically, they always had the rule that caused the fuss. What happened was they emailed all the creators and said they were going to start enforcing it. The rules is that numbers—among many other things—are not allowed in titles. So, “23. Interview with John Doe” is not allowed as an episode title by Apple.

    Everyone freaked out.

    A few people  noted the rule is actually: Numbers are not allowed in Apple’s title tag. Which means, not allowed in the title tag in Apple’s namespace, our friend the <itunes:title> tag. So I went in and fixed all my <itunes:title> tags. In the end this was an improvement to our feed overall. Now I have my general <title> tags with what I want, (we happen to use numbers as prefixes,) and I conform to Apple’s guidelines for their Apple-namespace titles.

    Parting thoughts

    Remember that feeds are meant to be read by the computers. You shouldn’t have to ever mess with any of this, but now that you know how…

    I didn’t bother talking about the various tags in the feed file. Now that you have some tools, you’ll discover the tag names have obvious meanings.

    ɕ

    #InternetTech #OpenPodcastDirectory #Podcasting
  19. Irrelevant

    At the dawn of the internet, posting a commercial message was the indicator used by everyone to point and say, “that is spam.”

    This was a huge mistake. Because it led to a deep rabbit-hole of requiring us to answer the question: Is this message commercial?

    I think it’s commercial? …do you? Wait what is “commercial” is it any time we exchange any amount of value? That’d be two people talking! “Commercial” isn’t inherently bad… Ok, but we need to agree so we can make a decision! Is “we” a few of us in this space, or does the poster’s opinion matter? Does their “street credit” in the space affect how much we value their opinion? Maybe we can rate-limit how many border-line-commercial messages each person can… Oh, wait, I know! Let’s appoint someone to be the arbiter of this space and… deep. deep. rabbit. hole.

    And we went to great length to try to place (move, cajoul, beg, etc) the commercial stuff into designated areas.

    It’s not commercial that is the problem. SURPRISE is the problem. If something is unexpected, it better be perceived as desired. It’s not the content of the message (post, email, phone, whatever) that matters, it’s the recipient’s REACTION that matters.

    That phone call at dinner from the caller ID you do not recognize—unexpected and undesired—spam!

    The garage that fixed my car that later robo-calls me to beg me to 5-star rate them—unexpected and undesired—spam!

    The web site pop-up dialog talking about…—spam!

    So the first challenge is to get control of the channels. I’ve moved away from anything where random people can easily interrupt me. (Where “moved away” means everything from literally eliminate said thing, to change or reconfigure how it works, etc. My “inner circle” of people can easily surprise me, of course!) This drastically reduces surprises, and so drastically reduces spam.

    Then the second challenge is to locate the channels that contain the information—including commercial information—which I want to receive. My favorite clothing retailer has learned that I like to be surprised with email from them. Commercial? …absolutely. Spam? …yes, please.

    ɕ

    #Apogee #InternetTech #Spam
  20. Please learn how to use RSS

    Literally everyone should be using RSS to control the information they consume.

    I’m sorry that RSS is a terrible name for such a wonderful thing.

    If you’re already an RSS convert, here https://constantine.name/feed

    If not, I suggest you read a few things that I’ve written https://constantine.name/tag/rss/

    #InternetTech #RSS
  21. Conspiracy theories on facebook

    Do you believe that the contrails left by high-flying aircraft contain sildenafil citratum, the active ingredient in Viagra? Or that light bulbs made from uranium and plutonium are more energy-efficient and environmentally friendly? Or that lemons have anti-hypnotic benefits?

    If you do, then you are probably a regular consumer of conspiracy theories, particularly those that appear on the Italian language version of Facebook (where all these were sourced). It is easy to dismiss conspiracy theories as background noise with little if any consequences in the real world.

    Alessandro Bessi et al, from Science Vs Conspiracy: Collective Narratives In The Age Of (Mis)Information
    #AlessandroBessi #InternetTech #ThoughtAndPhilosophy
  22. Hello App.net

    App.net is WAY cool

    What makes it cool, different and BETTER is:

    • They built the PLATFORM, (the heavy lifting behind-the-scenes that makes it all work)
    • They wrote the API, (the instructions for how to build things to USE the platform)

    …and that’s all they wrote.

    Aside: Yes, they did write sample applications. It’s hard enough to wrap your brain around it as it is, let alone if there were no apps to play with. So they built a web-based front end called “Alpha”, (for example.)

    You, (dear reader) do not “look at” App.net, and you do not “use it”. You use APPLICATIONS which are built on the App.net platform/API.

    App.net is different

    App.net charges the developers: They’ve built a stable, powerful and feature-rich PLATFORM. They logically believe that developers will be willing to pay to use the platform.

    Developers build applications: They pay App.net for access to connect their application to the platform. For example: Tapbot’s Netbot app is a superlative app using the platform. (App.net also maintains a directory of available apps.)

    People use the applications: You, dear reader, choose your favorite application. You can use the free “Alpha”, (that’s it’s name) web front-end that App.net wrote. You can also download an app, (some are even free) from your favorite app store for your mobile device.

    So, for example, how do you find me on App.net? Easy: Open your favorite App.net application and look for “cc1315”, my full name, or my email address. If you like to use the “Alpha” web-based application, then I’m /cc1315 . So there’s you using an App.net application! Another example is the application I wrote, (it required three mouse clicks) which enables this blog to push my posts into the App.net platform.

    Wait. Wat?

    The problem with all the big-name social networks is that they built, own and control the platform AND the application.

    By “problem” I mean “things regular-users don’t like.” For example: Ads appearing; Weird algorithms that determine what I actually see and which strong-arm content-creators into paying money to boost viewership; Posts that look like posts but are really ads paid for by advertisers. And things that limit content creators, like: Not allowing posts at all into the platform; Weird rules that limit how posting is done because they don’t want the users leaving the platform to go read  content directly.

    This is exactly WHAT WE DESERVE. The companies that built the platforms get to create the rules because they own the platform, control the API and they control the applications. The people USING the social network are the product that gets monetized. So everyone shows up, for free, to socialize. But then the advertisers buy-in to get access to all the people. To the people socializing, it feels like the social club is letting weirdos into the club who roam around asking if we want to buy things.

    Don’t believe me? Here are some search-result links:

    “why Facebook sucks”
    “why Twitter sucks”
    “why Pinterest sucks”
    “why Instagram sucks”

    App.net fixes this how?

    Let’s think through the “problem” scenarios…

    First, you do still choose who to follow. So let’s assume for this discussion I’m following a couple hundred accounts. (My friends, some favorite businesses, etc)

    ads

    I see a post from a business, but it’s actually an ad! …how do I make that go away? Current social networks? …you cannot.

    Aside: Yes, some social networks let you kill that particular ad, but there are always more to follow. In reality, you’re just TUNING what ads they will show you, not blocking out ads.

    With App.net it’s easy: Stop following that account. (Or maybe contact them and say, “yo, less ads please” if you really like their other posts.) App.net won’t let them send you further content, that would be a lousy platform that developers wouldn’t pay to use!

    So maybe that ad you see is being shown by the application you’re using… it’s not really coming through the App.net platform… Easy: Don’t use that application. Or maybe pay them to turn the ads off. (Look! An application ecosystem where great apps win out.)

    But, (you ask) what If someone tries to write an app to spam ads into the App.net platform? It turns out the platform doesn’t have that ability. (The current social networks have that ability BIG TIME — it’s how they make money.) But App.net makes money from the developers, so they don’t have a “spam everyone” feature in the platform. That’d be a lousy platform that developers would not pay to use.

    content filtering

    App.net delivers everything from all the accounts you’re following; That’s why developers want to pay to use the platform; It works well! So the applications might filter, or sort, or whatever. (Maybe, show me more posts from my friends whose posts I favorite.) But that’s a feature that you CHOOSE when you select what app to use. Don’t like how the app filters or sorts? …switch apps!

    content posting into the platform

    Current social networks want you to use their apps to post content. App.net simply moves the content through the platform. (Which is why it’s a great platform that developers want to pay to use.) So anyone can write any application to post content into the network.

    Closing thought

    The only thing more cool (in social networking) than App.net is Tent.io . With Tent.io, instead of having one centralized platform like current social networks and even App.net, you have one giant fabric which is composed of everyone’s PERSONAL data platform. So Craig’s posts are on Craig’s platform, etc. Then the Tent.io magic moves the messages around between the nodes, prevents anyone from impersonating anyone else, etc.

    But that’s another post altogether… :*)

    ɕ

    #DidYouSee #InternetTech #Writing
  23. Stop data-mining me

    Data brokers have pioneered advanced techniques to collect and collate information about consumers’ offline, online and mobile behavior. But they have been slow to develop innovative ways for consumers to gain access to the information that companies obtain, share and sell about them for marketing purposes. Now federal regulators are pressuring data brokers to operate more transparently.

    In 2012, a report by the Federal Trade Commission recommended that the industry set up a public Web portal that would display the names and contact information of every data broker doing business in the United States, as well as describe consumers’ data access rights and other choices. But, for years the data brokers have been too busy to build a centralized Web portal for consumers. So, we decided to help them out and StopDataMining.me was born!

    ~ http://www.stopdatamining.me

    Go there. Then, one by one, follow the links to the data mining companies “opt-out” forms. These companies ALREADY know who you are.

    ɕ

    #InternetTech #Privacy
  24. 6th gen prog lang

    6th gen prog lang: when you yell to a co-worker, “yo! email me that binary.”

    ɕ

    #InternetTech #Snark
  25. SOLID object-oriented design

    Five basic principles of object-oriented design. Not the only five, but five which are, well, SOLID.

    Single responsibility – A class should have only a single responsibility.

    Open/closed – Open for extension; Closed to modification.

    Liskov substitution – Objects can be replaced by instances of their sub-types without breakage or surprise.

    Interface segregation – Many, specific interfaces – that is, APIs – are better than fewer, more general-purpose interfaces. (…or “interface” in the worst case.)

    Dependency inversion – Depend upon the abstraction. (Not upon the specific concretion.)

     

    ɕ

    #InternetTech
  26. RFC for HTTP 700-series errors

    oh. my. god. https://github.com/joho/7XX-rfc

    This is, hands down, the geekiest piece of humor I have ever seen. HT to @dmuth who now owes me a cup of coffee to replace the one I blew out my nose onto my keyboard.

    If you, my dear reader, care to do the ‘what the hell?’ deep dive:

    1. What’s an HTTP header?
      (it’s the glue that makes all the interwebs parts work together)
    2. What are the actual HTTP response codes?
      (200 good, 404 bad, 759 – Unexpected T_PAAMAYIM_NEKUDOTAYIM !)
    3. What’s an RFC?
      (request for comments, i.e. “hey, uh, fellows, maybe we should do it this way…”)
    4. The HyperText Coffee Pot Control Protocol (HTCPCP/1.0)
      (ie, prior art in RFC humor. Please notice the honest-to-gawd IETF.org URL on that one kids. Yes, the IETF like kinda determines how the intertubes work, and they have absolutely THE ugliest website.)
    5. An obscure HTTP response code joke
      (you do know to read the “alt-texts” on XKCD cartoons, right?)

    ɕ

    #InternetTech #XKCD
  27. The Customer Is The Product

    I have yet to speak to anyone in the big blue room, (that is to say, anyone who does not work deeply within the Internet behind the magic curtain,) who has the slightest idea what is going on in general with “big data”, or specifically with “the customer is the product.” But “We Value Your Opinion” by Neven Mrgan — and that’s not a typo — is pure, sweet, ambrosia. It explains perfectly what is really going on. If you’re not paying for it, then you are the product. Have a cigar. Welcome to the machine. For more enjoyment and greater efficiency, consumption is being standardized.

    ɕ

    #InternetTech
  28. Portnoy

    Retiring server after 9 years of flawless operation. RIP “Portnoy”!

    ɕ

    #InternetTech