« Oatmeal

Tagged "indieweb"

Follow this tag

Link logging

Spring break is winding down, and all familial travel for at least a few weeks is done. I am excited to find my way back into the regular” routine.

Work this week has been pretty busy, and I’ve been writing a bit of css. This week’s log features some css tidbits.

How to make a great anime adaptation

I think the article’s sub-headline pretty much sums it up:

First, get earnest. Second, get expressionist. Finally, get corny.

Set up a live static personal web site in seconds with Indie Web Server 8.0.0

I’ve been using Netlify for all my static sites, lately, but this project looks like a neat alternative for those who don’t mind a wee bit of server administration.

Art Direction For The Web Using CSS Shapes

Bending text, and the web to one’s (design) will.

fyi: [hidden] is a lie

In summary:

The solution is tragic and it’s to either not use hidden (because it’s a lie), or to pepper your apps with

[hidden] { display: none !important }

and they both suck, so have fun!

CSS masonry with flexbox, :nth-child(), and order

Confession: I once spent well over a week attempting to accomplish this exact thing in plain ol’ css without any luck. I had to resort to using — *shutters* — javascript.

In reply to: Reply: Return of the Jwwwedi

But I don’t know if the Web—or the digital rights movement or Occupy or meme culture or whatever your personal fancy is—will ever be retaken. There’s space for an underground now—which is good enough for me. Perhaps better than trying to fit all of mainstream society in. And maybe social networks can stay—as a kind of fly paper

Queer the web.

Link logging

Tokyo Neapolitan: The New Wave of Japanese Pizza

If you are gonna do a thing, you might as well do that thing as well as you can. 🍕

The Famous Photo of Chernobyl’s Most Dangerous Radioactive Material Was a Selfie

…I looked through all the other captions of photos similar photos of the destroyed core, and they were all taken by Korneyev, so it’s likely this photo was an old-school timed selfie. The shutter speed was probably a little slower than for the other photos in order for him to get into position, which explains why he seems to be moving and why the glow from his flashlight looks like a lightning flash. The graininess of the photo, though, is likely due to the radiation.

Living Systems | James Grier Miller | 1978

Confession — I haven’t dug into this yet. As someone with 2 degrees in Human Ecology (e.g. the interdisciplinary study of people and our environment) I feel obligated to read this.

A bit more background on rights for nature.

Tending the Digital Commons: A Small Ethics toward the Future

What do I mean by the open Web”? I mean the World Wide Web as created by Tim Berners-Lee and extended by later coders. The open Web is effectively a set of protocols that allows the creating, sharing, and experiencing of text, sounds, and images on any computer that is connected to the Internet and has installed on it a browser that can interpret information encoded in conformity with these protocols.

In their simplicity, those protocols are relentlessly generative, producing a heterogeneous mass of material for which the most common descriptor is simply content.” It took a while for that state of affairs to come about, especially since early Internet service providers like CompuServe and AOL tried to offer proprietary content that couldn’t be found elsewhere, after the model of newspapers or magazines. This model might have worked for a longer period if the Web had been a place of consumption only, but it was also a place of creation, and people wanted what they created to be experienced by the greatest number of people possible. (As advertising made its way onto the Web, this was true of businesses as well as individuals.) And so the open Web, the digital commons, triumphed over those first attempts to keep content enclosed.

Autism from the inside

Reframing,

When I come across instances of this folk understanding of autism, I am reminded of Edward Said’s 1978 description of the orientalist gaze, in which the exoticised subjects endure a kind of fascinated scrutiny, and are then rendered without depth, in swollen detail’.

…In this anaerobic environment, the qualities routinely assigned to autistic people — lack of empathy, unworldliness, humourlessness, the inability to love — are the exact inverse of the qualities that a neurotypical society most prizes.

For a moment, let’s flip things over. To an autistic viewer like me, neurotypical life can seem astonishingly unemotional. I’m so overwhelmed by the sensory onslaught of a busy room that I’m almost tearful, while neurotypical folk appear to wade through clouds of sound, light and odour, entirely oblivious. It’s hard to resist the impression that they’re numb, or unreal somehow. They are certainly displaying a lack of affect in the face of extreme provocation. Where I am in constant movement; they are somehow still.

The incredible nature of Abstract Art and how it can change the way you think about everything.

The point of the art wasn’t what you saw on the original painting, but what it left behind after you had looked at it. The experienced stayed and lingered with you. I thought this was incredible, and beautiful and amazing.

Variations On A Utilitarian Theme

Read along, if you will, as I tell a little story of sorts through a series of excerpts. It is essentially a story about the links among prevalent trends involving surveillance, data, security, self-documentation, and happiness.

The Ones Who Walk Away From…Facebook

How I lost my legs and gained… you want me to say something inspiring here

Don’t miss the author’s sneaker reviews.

Component frameworks and web standards

This post has three parts: in the first, I look at what I like about the web standards stance” or a vanilla approach”. In the second, I share what I liked when I used a JavaScript component framework. In the last part, I look at whether these two approaches are actually different: maybe I assumed a false dichotomy?

How to master advanced TypeScript patterns

This Medium post sneaks in a pretty solid overview of currying (as I understand it, at least).

We Need Chrome No More

The dominance of Chrome has a major detrimental effect on the Web as an open platform: developers are increasingly shunning other browsers in their testing and bug-fixing routines. If it works as intended on Chrome, it’s ready to ship. This in turn results in more users flocking to the browser as their favorite Web sites and apps no longer work elsewhere, making developers less likely to spend time testing on other browsers. A vicious cycle that, if not broken, will result in most other browsers disappearing in the oblivion of irrelevance. And that’s exactly how you suffocate the open Web.

Flashback to the last week’s link log, from Choo’s documentation:

A fun way to think about browsers, is as a standardized Virtual Machine (VM) that includes high-level APIs to do networking, sandboxed code execution and disk access. It runs on almost every platform, behaves similarly everywhere, and is always kept backwards compatible.

The Super Tiny Compiler

Learn about compilers by reading through a very tiny one.

Dynamicland

Our mission is to incubate a humane dynamic medium whose full power is accessible to all people.

Field Guide to Bash Terminals

A bit shorter than the bash man page. Good, basic, info.

A Beginner’s Guide To Dragon Ball

The biggest lie you’ll ever hear about Dragon Ball from both fans and critics alike is that there are long stretches of episodes full of attacks charging and nothing else. It was something I had always heard about the show and was warned about when I decided to check it out. I waited and waited for these fabled episodes and by the end of DBZ, I realized they don’t exist

Once upon a time I watched a ton of Dragon Ball and One Piece…in French. They use the imperative tense a lot. I’d like to re-watch some of each in English one day.

Link logging

Whoops! This post is a wee bit longer than previous link-logging posts. I’ve broken it up into a few sections to make it more easily skim-able. Granted, all barriers and edges are illusory at a certain point, so I recommend looking for connections rather than demarkation and separation. Do not tare along the dotted line. Personal pizzas are best when shared. 🍕

Creativity and capitalism

On Godzilla and the Nature and Conditions of Cultural Success; or, Shedding the Skin

I’ve got a quick confession: I love Godzilla. This post encompasses all the things I like about Godzilla. You’ve got some cultural production stuff, you’ve got climate and ecology stuff, with a smattering of socio-political stuff all wrapped up in a rubber dino-monster suit. What isn’t to like!? Also, this picture…

Just the legs of Godzilla

It could be that Godzilla is successful in 1950s Japan and in 2010s USA because it happened to fit two very different but very specific cultural niches — the trauma of defeat culminating in nuclear war, on the one hand; and (to make something up) a compulsive desire for re-enactments of 9/11 on the other hand. But explaining wide-spread success by a series of particular fits falters as we consider all the many other social contexts in which Godzilla has been popular. Maybe it happened, by chance, to appeal narrowly to one new context, but two? three? ten?

An alternative is that Godzilla has managed to spread because it appeals to tastes which are not very context-specific, but on the contrary very widely distributed, if not necessarily constant and universal. In the case of Godzilla, we have a monster who breaks big things and breathes fire: an object of thought, in other words, enduringly relevant to crude interests in predators, in destruction, and in fire. Since those interests are very common across all social contexts, something which appeals to them has a very good source of pull”.

What’s inside a brand?

… When your customers are active partners in making” and managing” the brand, policing who is allowed to shop at your store is, weirdly enough, a hiring decision like any other. We’re used to thinking of production and consuming as separate activities, but, as Jefferies shows, in modern branding, they are one and the same. Making sure the right” person consumes your clothes is a way to enhance a brand’s value. Like it or not, then, modern life gives you little choice but to work” for a brand, putting all of our social lives in the service of capital. What branding offers is belonging (for a price).

This entire article walks right up to the edge of likening brand based marketing to fiction, but doesn’t bridge the gap. This isn’t my faulting the piece by any means…I think it is a stretch, or at least a stretch in the context of the article, but I couldn’t stop noticing how similar the discussion of self-policing brands looks to the discussion about fandom, and who is or isn’t a fan of some particular thing. Who gets entrance into the narrative, be it Apple’s or Star Trek.

Ursula K. Le Guin Was a Creator of Worlds

Traveling to an unfamiliar place often has ethical implications in Le Guin’s fiction

She also resisted the approach to writing that emphasized that fiction must have a hero, a conflict, a storyline.

Civic

Washington Will Decriminalize Fare Evasion. Better Idea: Free Transit

The idea of free public transportation isn’t as crazy as it may sound. Prompted by concerns over congestion and pollution, the European countries of Estonia and Luxembourg already offer it, and Germany is considering it. Removing fares clearly makes transit more desirable; when Talinn, Estonia’s capital, adopted free public transportation in 2013, ridership immediately spiked 10 percent. Such ridership gains would certainly be welcome in the United States, where 31 of the 35 largest transit agencies saw passenger counts dip in 2017. Unlike most goods, transit gets better with heavier usage because more frequent bus and train service will reduce wait times.

Journalism should be free

This is a depressing moment for… well, everything, but also journalism. Watching talented reporters get laid off is heartbreaking, infuriating, and despair-inducing. Out of the ashes, new ideas for sustainable, impactful journalism are bound to emerge. The best ones will acknowledge that journalism should be free.

How to Design Playgrounds for the World’s Most Vulnerable Kids

Designing systems (specifically public systems) with children not just in mind, but at the forefront pretty much always seems like a very good idea.

Math and astronomy

How a Strange Grid Reveals Hidden Connections Between Simple Numbers

Sharing this piece specifically because I think it does a really solid job explaining something that is rather complicated (at least for me) in a clear way that also doesn’t come off as being dumbed down.

Far side of the Moon photographed by amateurs

Moon Minute Monday

Learn something new about our Moon every Monday.

Webby techy stuff

A new interview with Manton Reece of Micro.blog for 2019

I enjoy participating in the micro.blog community, and appreciate Manton’s persistence in going it slow, making intentional design choices. While the source code of micro.blog itself isn’t open source, it is refreshing that Manton’s process is, through posts and interviews like this one. Manton is practicing a different sort of Calm Technology with micro.blog.

The Ethics of Web Performance

Poor performance can, and does, lead to exclusion

And comes at a higher environmental cost.

Web Browsers and Privacy in 2019

Google Chrome, destroyer of worlds? Defo eater of RAM. See also Browser diversity starts with us.

You are in a maze of deeply nested maps, all alike [TALK]

All be honest. I was into this mostly for its title. It sounds like a line straight out of a Robbe-Grillet story.

Also, shout out to Eric Normand for almost always including a transcript alongside video and audio content.

Literate Programming against REST APIs

Starts with a tl;dr:

TL;DR Other HTTP Clients aren’t that great. Here we use Emacs and restclient, with public APIs, to identify plants and share on Twitter. Emacs and restclient offer a great user experience and workflow when documenting and exploring APIs.

I’ve got a soft spot for literate programming. I haven’t done much of it, but as I gain confidence writing LISP, I think a little side project may invite it. 🤷‍♂️

The big DNS Privacy Debate at FOSDEM

You all. DNS is baffling. I’ve been migrating some client sites and I set up (again) a pi-hole and, while I feel cozy with the basics of DNS config, the underlying architecture is both fascinating and…terrifying? Maybe the wrong word. Obtuse.

Hacker tools

A neat resource. I dipped right into the lesson about Virtual Machines and Containers.

Saving time with Emacs, or not.

Yes. I love emacs. I agree with Jack: Emacs does not typically save me time.

Link logging

CSS: From Zero to Hero

The crashiest crash course for all things CSS. Covers all the basics — you won’t be ready to tackle all the things, but you’ll be good to go for most things.

How Many .com Domain Names Are Unused?

Some key features:

There are currently 137 million .com domain names registered.1 Of these, roughly 1/3 are in use (businesses, personal websites, email, etc.), another 1/3 appear to be unused, and the last 1/3 are used for a variety of speculative purposes.

My take away, as always, is that the internet is REALLY big…but only a little itty bit of it sees a meaningful amount of traffic. Leading us to…

Why isn’t the internet more fun and weird?

Three things MySpace got right

  1. To make a page on MySpace, all it took was text in a textbox.
  2. The text could be words or code.
  3. Anyone could read the words and see the code.

Continuing, later:

The internet is the great equalizer (1996). People used to believe that. Today, it sounds sarcastic.

We — the programmers, designers, product people — collectively decided that users don’t deserve the right to code in everyday products. Users are too stupid. They’d break stuff. Coding is too complicated for ordinary people. Besides, we can just do the coding…so why does it matter?

I’m all for making the internet weird again. It is something I’m trying to get more cozy doing here, on my personal website.

And if you want to do that (make the internet weird again) we should preserve folks’ ability to get their feet wet, and their hands dirty on the web!

HTML, CSS and our vanishing industry entry points

However, when it comes to frameworks and approaches which build complexity around writing HTML and CSS, there is something deeper and more worrying than a company having to throw away a couple of years of work and rebuild because they can’t support a poorly chosen framework.

When we talk about HTML and CSS these discussions impact the entry point into this profession. Whether front or backend, many of us without a computer science background are here because of the ease of starting to write HTML and CSS. The magic of seeing our code do stuff on a real live webpage! We have already lost many of the entry points that we had. We don’t have the forums of parents teaching each other HTML and CSS, in order to make a family album. Those people now use Facebook, or perhaps run a blog on wordpress.com or SquareSpace with a standard template. We don’t have people customising their MySpace profile, or learning HTML via Neopets. We don’t have the people, usually women, entering the industry because they needed to learn HTML during that period when an organisation’s website was deemed part of the duties of the administrator.

Neopets forever.

Also, read this thread, then read it again…and then maybe a 3rd time.

Decentralization is Not Enough

This (medium) post does a great job spelling out the pitfalls of a lot of the new wave of web tech that is purported to be saving” the web, or whatever. It is groovy if you a nerd…but essentially this new tech is just helping to build a walled garden for nerds. Sure anyone” can join…but very often you must be this nerd to enter. I think this is a very real issue for the IndieWeb community, too.

Leaving the web-punditry-zone now.

A few early marketing thoughts

I’ve been re-assessing my freelance work, and found this post from Julia Evans to be wicked timely.

I’m not really certain if I should be doing any marketing, to be honest, and if I should be doing any, I’m not sure what kind I ought to be doing.

The 26,000-Year Astronomical Monument Hidden in Plain Sight

On the western flank of the Hoover Dam stands a little-understood monument, commissioned by the US Bureau of Reclamation when construction of the dam began in 01931. The most noticeable parts of this corner of the dam, now known as Monument Plaza, are the massive winged bronze sculptures and central flagpole which are often photographed by visitors. The most amazing feature of this plaza, however, is under their feet as they take those pictures.

The plaza’s terrazzo floor is actually a celestial map that marks the time of the dam’s creation based on the 25,772-year axial precession of the earth.

I’m hooked. Also, are they gonna make a 3rd National Treasure movie? I’m ready for it.

A love letter to Blot, one week in

Gone are the days of running my own, home-spun CMS. They were fun, and I learned heaps, but I was ready for a change. I’ve moved to blot.im. I am smitten.

Blot is a blogging platform with no interface.” It allows you to plop a bunch of markdown, txt, doc, or even image files into a folder and automatically builds and deploys an update for you! Blot can use either Dropbox or git as its sync engine. But what about all that indieweb goodness!?” you shout?

Aye — it is still here! Because blot templates are wicked extensible it is relatively trivial to extend them to do all kinds of things.

Getting off the ground with blot was a breeze.

The blot.im homepage.

As of right now (January 2019), blot doesn’t offer a free trial. The first thing to do is register an account.

Registration doesn’t ask for anything out of the ordinary, was wicked low friction.

The blot.im registration page, note – the price is about to go up!

  • Email
  • Payment details
  • BOOM!

Once registered you receive a confirmation and a receipt email — then you are up and running!

Select your sync provider, either git or Dropbox (this can be changed at any time).

The next steps are to set up a username (which doubles as your subdomain at the blot.im domain) and choose a sync provider.

I don’t know why, but it is amazing to me that you aren’t locked into a sync provider after making your initial choice. If, down the road, you decide to swap git for Dropbox, or the other way round, that isn’t an issue! No lock in. Great for portability. 🕺

Your blot dashboard! Well, this is an image of mine, but, you get the idea.

At this point you have a blot site. It has some basic boilerplate content, and is waiting for you to start adding content and configuring your template. Blot comes with a couple pretty templates out of the bag, but is also wicked extensible. The documentation is decent, but certainly has a few holes in it here in there. The good news is that blot is open source, so if you know what you are looking for you can poke around in the code. Or, and this is probably blot’s best feature, the primary (perhaps sole?) developer behind blot, David, is easy to contact, and happy to lend a hand.

Blot allows you to configure a lot of extras, including setting up redirects, on an either per-page basis, or by following regex rules.

After fiddling with a few settings, and switching a few switches I took a step back to take a look at my existing content. I needed to migrate just shy of 3,000 posts from my old website to blot, and I wanted to preserve their URIs if at all possible since, URIs shouldn’t change.

A dash of hacky PHP to migrate from my old plaintext json filestore to plain old markdown files with a bit of front matter.

Luckily for me, migrating my content was as easy as writing a sloppy little bit of PHP to convert each json file into a markdown file. I added a bit more extra metadata durring the migration process, just to make sure I was preserving as much info as needed moving forward.

Once the data was re-formated, I just had to plop it into my fancy blot directory! ZAP BOOM!

It is pretty much magic.

Some of the magical redirects in the digital flesh!

Once my content was in place I set up a basic redirect rule to map my old URI pattern to a new one, and everything just sort of worked.

With content in hand, the next step was to create a custom theme. This was way more fun than I anticipated it would be. Blot uses mustache templates, which I’ve used a bit in the past and always found frustrating when compared to something more feature-full, like handlebars, but in this instance, mustache does the job wicked well — I didn’t have to jump through any hoops, or come up with any hack-y solutions to get around mustache’s lack of useful logic.

The custom theme I came up with supports a few fun things (if I might say so myself).

Two worth calling attention to are bespoke-css files, and IndieWeb compatibility.

When I create a new post or page I can add an optional bit of metadata, bespoke-css with the name of a css file as its value. For instance, this post has the metadata:

title: A love letter to Blot, one week in
date: 2019-01-28-16-07
bespoke-css: article.css
tags: meta, blot

Setting bespoke-css will override the css file that would otherwise be associated with this post — that means I can tie particular css files to specific posts. No real reason to do this, it is just something I often want to do.

Finally — the IndieWeb goodness:

To set the stage, my old site had decent support for most of what I consider to be the core indieweb features, micropub, webmentions, and microformats.

My new site currently supports receiving webmentions (thanks to Amit) and includes all the necessary microformats markup.

All my posts are funneled through micro.blog, so that mostly handles my outgoing webmention needs, and, if not, sending a webmention manually is not difficult.

My new site does not currently have a micropub endpoint. They exist for blot, and seem easy to write, actually (I also noticed that David is thinking about adding one to blot’s core code), but so far, I haven’t needed/wanted one. I think I posted a wee bit mindlessly to my old site because it was so bananas frictionless. Posting is still wicked easy, but I want to bring a bit more intentionality to my posts…I mean, I want to try to do that. We’ll see how it goes.

The Life-Changing Magic of Server Migrations

After a bit of procrastination, a bit of noodling, and a generous pinch of typing I’ve started to migrate from my old web host to a new one. I’m starting with my personal stuff, and will then move the client work over.

The basic guts of the set up:

  • FastMail for email, and as my DNS control interface
  • I’m using blot.im to host my primary personal website (this one, eli.li)
  • A combination of Linode and Netlify for my other hosting needs

I’m still ironing out some of the details, but am feeling pretty good about the landscape. I looked into some alternatives to FastMail, but their offering seems to be the most solid, and the DNS control stuff is preeemo. Wicked nice.

To boot, moving my website from my previous web host to blot was a breeze, and resolved the issue I was having wherein my posts weren’t making it to micro.blog. I’m back, baby!

To say I’m impressed with blot is a massive understatment. It is awesome. I don’t have anything to gripe about…nothing, however, is so perfect, and I look forward to writing a future blog post all about the migration process and my blot set up (huge shout out to @amit for all his help, as well as to David who makes and maintains blot — his support is truly next-level).

That was all a preamble, though — the primary reason for this post is to note that I think a few things are going to change around here.

The medium being the message and all…

In the past my blog was more of a link-log, filled with likes and replies. While my website still supports all that lovely IndieWeb taxonomy, I am going to post round-up style posts, aggregating a bunch of links and comments/quotes into a single post. We’ll see if I can get into it, or how it changes things.

The other big change is tags! My old website had tags, but they didn’t really do much. The human ecologist in me is excited to start inter-linking posts by way of tag. Keep a look out for more on that, too!

Finally, the bit of my new website that I am most excited about? Custom css per-post! I have a custom metadata field associated with each post. If left blank, the site defaults to my standard css file, if, however, I put in the name of a different css file, I can associate a unique css file with a specific post!

I’ve always liked the idea of a site’s content and styling being linked. Just as I work to preserve permalinks, I want to preserve what the site looked like at a certain time. I’m not going to use this feature for all posts by any means. Heck, I might not even use it very often, but I’m excited to have the option.

Rah raw ra onward!

In reply to: GitHub - RSS-Bridge/rss-bridge: The RSS feed for websites missing it

You’re not social when you hamper sharing by removing feeds. You’re happy to have customers creating content for your ecosystem, but you don’t want this content out - a content you do not even own. Google Takeout is just a gimmick. We want our data to flow, we want RSS or Atom feeds.

We want to share with friends, using open protocols: RSS, Atom, XMPP, whatever. Because no one wants to have your service with your applications using your API force-feeding them. Friends must be free to choose whatever software and service they want.

We are rebuilding bridges you have wilfully destroyed.

A few weeks ago I said I’d re-write my CMS by the end of the year.

The year ended (happy New Year, btw 🥳).

That has not happened.

I’ve come to a realization:

  • Yes, the code that runs my website is an atrocious embarrassment.
  • Yes, it works perfectly for what I need/want in a website.

In short, it is good enough. Good enough, however, ain’t good enough to share and encourage other folks to use. So, while my CMS may be good enough for me, I want to do more this year to see what I can do to help make the IndieWeb more accessible to anyone who wants in. I also just want to make more thing this year. Not big grand thing, but small fun things. To kick that off I’ve started to make a toy static site generator. It is called little, and it is not done.

In reply to: Indieweb.xyz: Difficult or Silo?

In a way, it’s a silo—a central info container. Silos make it easy. You go there and dump stuff in. But, here in the Indieweb, we want No Central. We want Decentral. Which is more difficult because all these little sites and blogs out there have to work together—that’s tough!

It isn’t pretty (yet), but I’ve got search working on my website! All of my site’s content is stored as static JSON files and I was having a hard time figuring out how best to (quickly) search them all…then I realized that I could use grep wrapped in PHP! Easy peasy. Next up, an archive page of some sort!

In reply to: Blogging in the Second Person: Open Correspondence for a Social Web? – James Shelley

Hi James,

I very much agree with what you’ve written — I think another factor may be that many bloggers mimic styles of writing with which they’re familiar, e.g. newspaper-style journalism.

You’re post also reminds me of one of my favorite Virginia Woolf quotes:

Of all forms of literature, however, the essay is the one which least calls for the use of long words. The principle which controls it is simply that it should give pleasure; the desire which impels us when we take it from the shelf is simply to receive pleasure. Everything in an essay must be subdued to that end. It should lay us under a spell with its first word, and we should only wake, refreshed, with its last.

— Virginia Woolf, The Modern Essay

Do you think blogs are a bit like essays as Woolf has described them?

In reply to: Facebook Rebellion – RSS, Mastodon, and a longing for more options – Secret Geekery

It has been interesting watching the opinion of certain groups turn against Facebook. It seems wider spread than the usual ebb and flow of FB-directed skepticism (e.g. not just security conscious nerds this time). It is particularly interesting to see this happen now, as the IndieWeb seems to be at a generational inflection point, with the rise of services like Micro.Blog, Mastodon, and more folks rolling their own IndieWeb solutions everyday. My college was obsessed with a saying, supposedly coined by a founder: Pay attention to when you are uncomfortable, it means you are about to learn something.” Are we reaching a point of general discomfort on social networks? Are we about to learn something? 🤷‍♂️

I’ve been really drawn to the IndieWeb and Micro.Blog because they provide something that I feel is missing from my experiences on the mainstream social networks: community. Rather than a place for communal interaction, Facebook and Twitter are sources of anomie. I’ve played with Mastodon, but not found an instance I like (read as fit into”). But, it most certainly seems more community oriented than even Micro.Blog, which can lean to the mac-nerdy-app.net/serious side of the road.

In reply to: The Slow Web (plus: the modern experience of film-watching)

The Slow Web would be more like a book, retaining many of the elements of the Popular Web, but unhurried, re-considered, additive. Research would no longer be restricted to rapid responders. Conclusions would be intentionally postponed until sufficiently noodled-with. Writers could budget sufficient dream-time before setting pixel to page. Fresh thinking would no longer have to happen in real time.

Dear IndieWeb, it may be time to start considering the user, not just the technical spec.

I’ve been working on a series of walkthrough posts that outline how to IndieWebify a Wordpress site. I presumed the initial setup would be fairly straightforward because a) I have a vague idea of what I’m doing, and b) a suite of plugins already exists. Boy-howdy, was I wrong.

(ಥ﹏ಥ)

I’ve been through speed-dating hell — I’ve met a heap of difficult to parse, technical error messages. I’ve been able to figure out the issue in most cases, but totally understand why the IndieWeb isn’t ready for primetime.

The IndieWeb isn’t ready for primetime, at least in part, because of these terrible, bordering on user-hostile, error messages.

I by no means mean this as a criticism. These error messages are helpful if you have a clear understanding of the spec, and how it is implemented. If, however, you aren’t a technical-user (which is to say a programmer who has read the spec. document) the error messages aren’t all that helpful.

From my experience, error messages of the sort found across the IndieWeb are symptomatic of early-stage, in development platforms, e.g. those platforms that are still being debugged.

I think that if the IndieWeb is aiming for wide adoption it is time to start designing for the user, not the spec.

What do I mean by this?

For one, folks building IndieWeb tech can’t assume that their users care about the technical implementation of their project. The vast majority of users aren’t going to read the spec., nor care to ever do so. The vast majority of users will care, first and foremost, about themselves and their content. They will, most likely, already know enough to care about owning their content. This means their content is important to them. This also probably means that they’re itching to create content. To write.

This should be our (the IndieWeb’s) holy mission — empowering all sorts of folks to post content that they get to control.

The future!

The IndieWeb wiki has a groovy page all about generations. There, you’ll find this graphic.

That page opens:

Generations in the context of the IndieWeb refer to clusters of potential IndieWeb adopters in a series of waves that are expected to naturally adopt the IndieWeb for themselves and then help inform the next generation. Each generation is expected to lower barriers for adoption successively for the next generation.

I think the IndieWeb is at an exciting inflection point. A bunch of things are happening right now, among all the happenings are a few key events: the public at large is growing frustrated with traditional social media, the birth and (hopeful!) growth of micro.blog, and an uptick in the micropub client ecosystem.

I don’t know if everyone will agree with this — but I think micro.blog exists across both generation 3 and 4.

The hiccup, at least as I see it, is that the majority of existing IndieWeb tech is squarely rooted in generation 1…and sometimes, barely, generation 2.

SO, whereas [e]ach generation is expected to lower barriers for adoption successively for the next generation” I wonder if it is maybe time to update some of the tooling from generation 1 and 2 to be more compatible with generations 3 and 4?

Anyone with me? Am I totes off base? Thank you kindly,

Eli

#indienews

How-to micro.blog, a micro.guide

I’m completely smitten. I’m in love with micro.blog. I’ve been using it for nearly a year and am more or less off of all other social media. I think micro.blog made me a developer. Before micro.blog came around I was a full time product designer and project manager, then micro.blog came along and I started hacking on my own CMS. Now I’m a full time PHP developer!?

To start

What is micro.blog?

At first glance micro.blog is like Twitter — a micro blogging service (clever name, eh?). But that isn’t all.

Micro.blog is both a micro blogging service and a blogging platform. What does this mean?

From a practical standpoint, this means that micro.blog users can post short, tweet-like posts, and longer wordpress-y posts…and photo posts (a la Instagram).

Users can also reply to one another, building threaded conversations starting from some initial post.

Quick recap

Micro.blog is a (micro)blogging service. With it, users can post short, tweet-length posts, photos, and long-form blog posts.

How-to

This is where things start to get interesting! Micro.blog is different from most any other service (that I’ve ever encountered) on the internet in that it isn’t a silo.

To use micro.blog you do indeed need to register an account (just an email, no password necessary).

(ノ◕ヮ◕)ノ*:・゚✧

After registering you’ve got to make a choice (a choice that you can change up at any time) — where do you want your content to live?

Brief digression

In the world of Facebook and Twitter you don’t choose where your content (posts, photos, comments, replies, etc.) are stored. They’re stored on Facebook/Twitter’s servers. Therefore, they own” your content. And your content becomes something they can mine.

Micro.blog is different. Your content lives wherever you want it to. As long as your content is accessible via RSS or JSON Feed, micro.blog can work with it.

Granted, there is a discussion to be had about data mining RSS feeds…but that’ll wait for another day.

How-to, continued

A micro.blog user-account is really just 1 or more RSS/JSON feeds all streamed through a single spot.

It allows you to aggregate RSS feeds into a single social feed” that represents you.

SO — back to that choice: where do you want your content to live?

Because it is also a blogging platform, micro.blog can host your blog for you for $5/month.

Alternatively, you can host your content elsewhere (e.g. using wordpress, tumblr, hugo, jekyll, coleslaw, etc.), and just add the RSS/JSON feed from that externally hosted blog to your micro.blog account. BOOM!

Up and running 🏃‍♀️💨

But how do you post?

Well — if you’ve opted for a micro.blog hosted blog you can post directly through the micro.blog website, or by using the micro.blog iOS or macOS apps, or even by using the dedicated photoblogging app, Sunlit 2.0.

If you’ve opted for a wordpress site, you can also create posts using the micro.blog iOS or macOS apps, and Sunlit 2.0, too! They’re interoperable 🕺

BUT WAIT!!! There’s more! All of the aforementioned apps (micro.blog iOS, macOS and Sunlit 2.0), are also micropub clients, so you can post to absolutely any micropub enabled website using them (that, however, is a longer discussion, so not fully explored in this here post).

Some closing notes

…this post ended up being a bad how-to” guide, and isn’t really all that micro in length 🤷‍♀️ 🌮

Micro.blog is young and still growing. It is by no means perfect, but @manton, @macgenie and co. are doing an awesome job on both the technical, and (more importantly) the social front. They’re doing a lot of really solid work building the community, striving for inclusivity, and thinking through design choices at these early stages that could have major ramifications down the road.

There can be a bit of a learning curve to get up and running with micro.blog, but, I’ve found the community to be wicked helpful, and they’ve got a great help blog that I imagine/hope will continue to grow, and become the go-to repository for all questions micro.blog.

A year with the IndieWeb

I’m approaching the 1 year anniversary of my being all in on the IndieWeb! NO REGRETS!

To celebrate, I thought I’d go crazy and write a brief description of what I think the indeiweb is, and how I IndieWeb.

What is the IndieWeb?

People

First and foremost, the IndieWeb is people — a really great group of people. I haven’t found a more welcoming group of folks online. I feel wicked lucky to have found this community, and to engage with it on the daily.

Standards

On a technical level, the IndieWeb is a collection of protocols and standards, namely:

  1. IndieAuth
  2. Micropub
  3. Webmention
  4. RSS
  5. Microformats

Separately, each of these is a powerful tool of the internet. Combine, they’re a nearly unstoppable, Voltron-style robot of webby-social-goodness.

  • IndieAuth turns a domain name into your IndieWeb identity (particularly when paired with h-card markup)
  • Micropub gives you a flexible way to create all sorts of content
  • Webmention and RSS allow you to connect with, respond, and subscribe to other IndieWeb folk
  • Microformats guarantee everyone is speaking the same language (at least on a machine-readable level)

NOTE: there are many other standards at play within the IndieWeb community, but I feel that this group make up the backbone of the IndieWeb.

How do I IndieWeb?

In a word: sloppily.”

But, it is getting better every day.

I started my IndieWeb journey using wordpress, but wordpress and I did not and still do not get along, so, I rolled my own IndieWeb CMS (which I will one day clean up and open source).

I call my CMS Pneumatic Post, and I think of it as less of a CMS and more of an IndieWeb micro-service. It has a couple moving parts:

  • Micropub and media endpoint
  • Display layer
  • RSS feed(s)

I post to my website using either Quill, Omnibear, the Micro.Blog macOS app, the Micro.Blog iOS app, Sunlit 2.0, or Indigenous. Each of these is a micropub client, so all play nicely with my website’s micropub endpoint.

My site currently supports a couple different posting contexts, namely titled posts, notes, replies, likes, and because I have a media endpoint in place, photos. I haven’t yet enabled any other posting contexts because my bases seem pretty well covered by this group.

When I post a like or reply-type post, my micropub endpoint automatically sends the liked or replied-to link a webmention, using telegraph.

I rely on brid.gy and webmention.io to handle all incoming webmentions. I don’t currently store or cache received webmentions, I just display them. Thanks to micro.blog, however, I’ve been having heaps of great webmention-fueled conversation, so I’m thinking I should build a way of storing incoming webmentions, rather than relying wholly on webmention.io.

The last bit is RSS. My site also supports a malformed JSON Feed, but I keep that hidden for the time being, since it relies on unsupported features at the moment and is generally a hot mess. My site spits-out two different RSS feeds, an easily discoverable public facing one that is just a stream of all content posted to my site, as well as a feed of all incoming webmentions. This means that the bulk of my IndieWeb-life is managed through an RSS reader…which is how I like things to be.

That, in brief, is how I IndieWeb.

The future!

What does the future hold? Well, for one, I’m most certainly gonna keep on keeping on as I have been, because I’m 100% in love with the IndieWeb and the IndieWeb community.

I recently stood up my own instance of quill, and imagine I may do some more things like that.

My BIG task is to clean up Pneumatic Post and open source it for others to use. My intention is that Pneumatic Post be as EASY as possible to get up and running with. I tried, and I’ve seen others try to get into the IndieWeb using wordpress, and it works, but there is a bit of a learning curve at times.

I’m also keeping an eyeball on projects like @dgolds nanopub and @hjertness micrpub. I think static sites are the bee’s knees, and I would love to be able to post to one using micropub.

The biggest frustration I have with Pneumatic Post at the moment is search. It sucks. because all of my content is stored as flat files (and there are a LOT of them) there isn’t a great way to index all the content. At the moment I search my past posts with either DuckDuckGo’s site search or JavaScript (I’ve played with both lunr.js and datatables). Neither option is great. I’ve started a project that I dream will become the go-to answer for everyones’ IndieWeb searching needs…but solr is a wee bit tricky…and I’ll admit that I’m a bit out of my depth. In the meantime, I think I may just run a little database alongside my flat files and search with good old fashioned SQL queries.

Finally, I’d very much like to attend an IndieWebCamp, and, host a Homebrew Website Club. From the digital to meatspace.

In conclusion

Do you IndieWeb? Do you want to IndieWeb?

I’d love to talk IndieWeb with you.

Sincerely and thank you kindly,
Eli

#indienews

In reply to: Micropub for a static Neocities website

This is SUCH a great post. I’ve noodled with a similar idea for a while, but haven’t gotten it up and running yet — trying to figure out if there is a way to build a service, or even local electron app, that would let folks post to a neocities site without needing another web host or server.

Hark! I’m pretty confident that my instance of quill is ready to rock and roll. If you’d like, feel free to take it for a spin! ➷ quill.eli.li

This is a test post from my newly self-hosted instance of Quill! Including a shout-out to @aaronpk for building it, and to @alans for giving me the push I needed to make it happen 🎉

Micro Monday — I suggest you check out @dgold, proponent of the indieweb, and a generally groovy person.

In reply to: I'm curious what, if anything, you all think that the IndieWeb as a community could do or do better to make things easier for Generation

I think @mantons micro.blog offers a great model of the indieweb. It, like quill or webmention.io, is a microservice or set of microservices that leverages indieweb tech in a user friendly way. When the indieweb works more like the social media that folks are already familiar with (Facebook, Twitter, Instagram, etc.) the less friction there is to join. So…this is all to say, in the end, I think better on boarding materials and user-friendlier documentation would go a LOOOOONG way. BUT, before one can create such documents there needs to be a relatively stable way of joining the indieweb. Between wordpress and micro.blog I think that is starting to emerge.

In reply to: I'm curious what, if anything, you all think that the IndieWeb as a community could do or do better to make things easier for Generation

I wonder if the generations are still applicable and/or useful? Generation 2 is so broadly defined it is difficult to say what they” need, because as a group of users they’re not very clearly articulated. What if the focused shifted to features? …this isn’t to say away from users, but to re-articulate phases of indieweb growth by ease of use?

Currently, whenever I reply to or like a link the source URL displays. I’ve found a really sturdy way to parse content titles, but the performance is absolutely abysmal. Wicked wicked wicked slow. I think it may be something to do with how I’m invoking the function. I’ll keep poking at it, though, since it makes for a much better presentation.


function url_get_title($url)
{
if (!function_exists('curl_init'))
{
die('CURL is not installed!');
}
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$output = curl_exec($ch);

$httpCode = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

// FAIL
if ($httpCode == 400) return $url;

// SUCCEED!
if ($httpCode == 200)
{
$str = file_get_contents($url);
if (strlen($str) > 0)
{
$str = trim(preg_replace('/\s+/', ' ', $str)); 
preg_match("/\<title\>(.*)\<\/title\>/i", $str, $title); 
return $title[];
}
}
}

Pass the function a URL and you’ll get the <title> attribute back unless curl fails for some reason (looking at you every Squarespace site ever), then you just get the URL back again.

In reply to: https://colinwalker.blog/2017/05/21/21052017-1205/

I love the framing here: as I understand it, Colin is saying that the indieweb is more social network-y than the big-name social networks because those are each self contained. With the indieweb there is a bona fide network. An ecosystem.

There’s been a whole heap of media coverage about how best to combat fake news. I think the indieweb and its associated tech. offer an interesting angle on the fake news question. Fake news…or propaganda (let’s call it what it is)…leverages the architecture of big-name social networks to disseminate misinformation as widely as possible. By their very nature, big-name social networks sort of obscure shared and re-shared contents’ root source. The importance is the share: my good bud shared it, therefore I’ll look at it.” The architecture of the indieweb on the other hand — and of the open internet — preserves the source. Threads lead back to point of origin.

This linking back to the source seems to be the current best practice, and I read about efforts to combat fake news by implementing blockchain. I wonder if the indieweb can rise to the challenge?

Selfdogfooding

Here is a snippet from Pneumatic Post’s README.md where I outline some of my goals building this thing: 


Pneumatic Post aims to be easy to install, maintain, and cheap to host. There is no database, and everything is pretty much just vanilla PHP. Building this, I set out to learn some more PHP, start participating in the IndieWeb community, and hopefully make it a bit easier for other folks to do so, too. Poking around Github before I built this, I noticed that most of the existing IndieWeb tools seem to be more technical than not…e.g., I looked at them and had little to no clue what I was looking at. My goal was to make something for the IndieWeb peripheral, the lay-folks.

This is defo. still a work in progress.

I’ve had a blast building this over the last week or so. I’m excited to keep working on it, but also to start using it in earnest. To date, most of what I’ve posted has been to test some feature, or fix some bug. I’m interested to see how Pneumatic Post stands up to regular use. I’m assuming it isn’t super scalable, but think it’ll serve the purposes I want it to. 


Huge thank you to Colin Walker, Jeremy Cherfas, Gregmblaney (sorry, don’t know your url)gRegor Morrill, Aaron Parecki, and anyone else who’s name I forgot to write down. The help you all provided is much appreciated. 

BOOM! Just released v1.0.0b of Pneumatic Post, the thing powering my website. Selfdogfooding is fun…but also exhausting.

In reply to: https://baty.blog/2017/notifications-a-tragedy-of-the-digital-commons-scott-belsky/

@baty.blog moving from a twitter-first social-scene to a more indeiweb compatible setup has had the interesting side effect of reducing what little Push Notifications I received even lower. I know there are ways to enable PNs for webmentions, etc., but I like that I can manage this little wedge of my life through an RSS reader now, rather than having my phone do it for me. Reminds me of Amber Case’s book about Calm Technology.”

now that I have a working micropub endpoint I don’t know what else to post about 🤦‍♂️🤷‍♂️😔😛

In reply to: https://micro.blog/jeremycherfas/88048

@micro.blog/jeremycherfas thanks! I don’t know if I’d go as far as to say I know what I’m doing.” The community has been wicked helpful. 😄 Excited to keep exploring. Next step is to set up a media and point, and then clean up my bajillions of PHP scripts.