« Oatmeal

Tagged "meta"

Follow this tag

Link logging

Bulletin Butter and Jelly

If I set up a BBS would you want in? What would you want to BBS about?”

Texting Means Never Having to Say Goodbye

I thought about the last time I’d actually typed ttfn. I imagine it was at least 18 years ago, on my family’s Gateway desktop during the era of dial-up AOL. And then I realized I couldn’t remember the last time I said g2g,” or even bye,” in an online conversation.

The medium is the message, and the message is nearly always deliverable. So easy to be alone when you can’t ever be apart. Never say good bye,” but are you then always alone?

Go! Make a game — play a game.

Report on Anthem’s development woes draws terse response from BioWare

Also see Jack de Quidt on this.

here’s the wild thing that it feels almost impossible to say in the games industry: the game doesn’t mean shit! it’s lights and colours! it’s nice to play one and it’s nice to make a good one, sure

but — and i mean this very sincerely — if the production of the object ruins the lives and health of the people making it, the object doesn’t mean shit! what — you shipped a fun mech game? or a good cowboy game? great. who’s taking medical leave?

All games are a mess

I love that strange homemade games like The Frogs Of War and Legacy Of The Golden Hammer exist, these unpolished mishmashes of ideas and design as a form of creative expression. Enjoying these games is a way to enjoy all games, to accept that everything is from the same cloth, a different flawed piece of creativity, a different glimpse into what can be created.

On Flooding: Drowning the Culture in Sameness

And how much discovery can there be, really, with the same critics occupying the same space?

Hard left turn to allow me to insert a different conversation/question at this point on algorithmic curation.

Does algorithmic curation cutout the human element in what would elsewise be an artistic effort of mixing, or does it simply push the person a little further away — algorithm programmer as space builder, and us the viewing audience” as participant in a shared effort of consumptive curation…

So, you know, Derrida?

\_(ツ)_/

The Roundups of SHACKLESHOTGUN

Also see @kicks on roundups. (Thanks for the link-love, btw! (I enjoy collecting things, and this exercise is a good way of scratching that itch. My favorite part of collecting is making the collage at the end — by putting disparate things in proximity to one another making a new thing. These posts are my trying to do that. If you are interested in the unfiltered stream oh-links that are eventually paired down to become this, check out my profile on reading.am))

Why there is so little left of the early internet

Sometimes the sites that are lost echo even more seismic changes; the deaths and births of nations themselves. It happened with Yugoslavia; .yu was the top-level domain for Yugoslavia, and that ended when it collapsed. There’s a researcher who is trying to rebuild what was there before the break-up,” she says.

Leverage Points: Places to Intervene in a System

Parameters are dead last on my list of powerful interventions. Diddling with the details, arranging the deck chairs on the Titanic. Probably 90, no 95, no 99 percent of our attention goes to parameters, but there’s not a lot of leverage in them.

Can we truly think about climate change at all?

Object Oriented Ontology says no. Enter the Hyperobjects.”

Make it hard to screw up driven development

This is the request web dev resources link.

ttfn

What is weekend?

I had an academic understanding of what weekends would become after becoming a parent, but lately that understanding has been coming into full view.

  • Long weekend! — there was a school staff day” on Friday, so no school, but still work. We kicked the festivities off by having breakfast with some friends visiting from out of town
  • In the afternoon made a visit to the indoor playground. It is a really good place, and quickly becoming my go-to co-working space on days when I have to work but when there is no school
  • Rounded Friday off by having some friends over for dinner — I’m pleased with how the meal turned out since it had to accommodate our being vegetarian, 1 guest being gluten free, and another being dairy avoidant
  • Saturday morning was spent at a birthday party for two sisters. At this party there were very good bagels and even better black and white cookies — it was like a weird trip back to my childhood
  • After birthday partying we went straight to a nearby farm that was having a lamb day.” E.g. showing off all the baby lambs. There was much adorable bleating
  • Afternoon consisted of heaps of play, followed by dinner and an eventual trip to the gym…where I may have cried a little whilst running and listening to a rather emotional podcast
  • Instead of doing the wise thing and going to bed after the gym I stayed up and watched many an hour of Queer Eye with Tova
  • Leading us to Sunday morning, today. Bright and early! Today has been a blur of errands and bouncing from playground to playground, forest park to forest park
  • The house is in shambles, I have a list of chores left to do, but, all in all, I think this was a solid weekend

I created a tag-specific rss feed for my blot.im site, and you can too!

I’ll be the first to admit that I post a lot of disperate stuff to my website. Maybe folks don’t wanna follow it all? Maybe you just wanna follow my link log posts? Now you can!

I’ve added the ability to subscribe to rss feeds for posts with a specific tag. From any tag page, you’ll now find a link that (as of this moment) says Follow this tag.” Clicking that will expose the tag-specific rss feed.

Do you use blot? Wanna do the same?

3 easy steps:

Step the first

Create a new view to use for the rss feed. I called mine tag.rss.

Step the second

Paste the following code into the newly created view.

Step the last

Access the new view, someurl.com/tag.rss?name=pineapple, where pineapple is any tag you’ve applied to content on your site!

Now that you’ve got a working tag-specific rss feed, expose it to your readers somehow.

As always, huge shoutout to David, the mastermind of blot.im.

Of note: this functionality is currently undocumented and could change down the road.

  • David: plays a secret chord
  • Lord: Emacs can do that!?”

A joke, certainly stolen.

Quiet week. Server migration almost complete. Linode is purdy. As is Mosh! I’ve never used anything but ssh, but think I’m smitten with mosh.

I’ve been back filling tags on old posts. Things should be becoming more…connected? Increasing the edge and surface area through which folks can make entrance into posts of all sorts.

I spent a hot second updating the archive and search pages here. One of my goals with my newly revamped website is to open up more ways into the content — trying to think of the website less as a linear timeline, and more of a mess of noodle-y soup. Here are 2 new ways into the miscellany!

Through blot’s dashboard you can inspect a 404 log for your website. This is essentially a list of all the whiffs against your domain — whenever someone tries to visit a URL at your domain that doesn’t actually exist that gets logged. No info about the person/bot visiting the site is saved, just that someone or something tried to visit a specific URL that doesn’t actually exist.

Reviewing the log this evening I learned a few things:

There don’t seem to be many folks missing what they hope to find on my site (this is good!).

My domain receives more malicious traffic than I would have guessed — it looks like a lot of automated attempts to brute-force into common WordPress, Drupal, and other big-name CMS vulnerabilities, as well as a surprising amount of plain old SQL injection.

Stay safe out there in internet-land.

On a similar, yet tangential note: I have no desire to add any sort of analytics to my website, but I am curious from time to time about how many folks read this thing, and more importantly, in what format — RSS, micro.blog syndication, something else? Is what you are doing working for you? Is there anything I could do to make that experience better? Would anyone be interested in my starting an email newsletter? Let me know if you’ve got thoughts on this!

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.

Basic blot blogging from the command-line

Posting to my blog is a breeze from mobile thanks to a couple shortcuts and Drafts actions I’ve put together. I wanted posting to be just as seemless from my computer, too. Here is my quick and dirty solution!

#!/usr/bin/env bash

cd "$(dirname "$0")" # Go to the script's directory

DATE=$(date +%Y-%m-%d-%H-%M)

# The paths to your blot website's draft and post directories
DRAFT_DIR=/Users/someuser/Dropbox/Apps/Blot/drafts/
POST_DIR=/Users/someuser/Dropbox/Apps/Blot/posts/

USER_INPUT="$@"

# Your editor of choice
EDITOR='emacs'

if [ -n "$USER_INPUT" ]; then

    if [ $USER_INPUT == "post" ]; then

        printf "title: \ndate: ${DATE}\ntags: " > ${POST_DIR}${DATE}.md
        $EDITOR ${POST_DIR}$DATE.md

    fi

    if [ $USER_INPUT == "draft" ]; then

        printf "title: \ndate: ${DATE}\ntags: " > ${DRAFT_DIR}${DATE}.md
        $EDITOR ${DRAFT_DIR}$DATE.md

    fi

else 

    printf '\nBlot blogging from the command-line.\n\n    draft   create a draft post\n    post    live dangerously and just post that sucker!\n\n'

fi

In the future I may expand this to support editing existing posts, too. I’ve also been toying with a way to do this without ever leaving emacs.

Timezones, am I right!?

…my RSS feed ought to be fixed now! 🎊

Do you follow me with a feed reader? If so, take note! The RSS feed for my website has moved. It is now https://eli.li/feed.rss. I put a redirect in place, but not all feed readers like to follow the signs. Mind the gap.

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!

I fell off the micro.blog timeline for a bit. During that time my partner started a blog! check it out!

A few recycled thoughts on writing

I don’t think one needs to know where you are going to start writing. You don’t need an endgame, thesis, or goal. All you need is something to explore. Writing isn’t necessarily about the conveyance of specific information. Writing can be a design practice, or a way to learn something new.


A print isn’t a static thing—it isn’t a dead document, or just inked lines on paper—a print is an interface for connection. With technological innovation the immediacy and mode of that connection has changed, but I think at its heart had remained more or less the same.


I write because I don’t know. In writing I won’t necessarily come to knowing, but I’ll begin to move towards it. I write as an explorer seeking some understanding, and wanting to communicate. I write as a beginner…someone who is new to something, but eager to learn more and explore further.

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!

It took well over a year, but my website finally has an about” page. It is still very much a work in progress. Writing this type of content fills me with a weird sort of existential dread, tinged with sweet, sweet pangs of imposter syndrome.

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

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

And so begins the process of debugging an SSL cert. bug….or possibly a redirect issue 🤷‍♂️

openssl s_client -connect quill.eli.li:443 | grep "^SSL"

Pandoc and the wicked simple build system

I recently added a /now page to my website. I set out to make it as easy as possible to update, and am pleased with the results!

Sitting in a folder in Dropbox on my computer is a directory, now. Within now are 2 files, index.html and index.markdown. Same content, different formats.

After I update the content of index.markdown I’m able to run a very tiny shell script, bound to the alias now, that does 2 things:

  1. It converts the markdown file to html using Pandoc and a simple template
  2. It uploads the newly minted index.html file to my server using scp

Who needs a CMS when you’ve got Pandoc? 🤷‍♂️

I considered simplifying” the build process even further by triggering the rebuild/upload process on file change, but decided that it wasn’t really worth the extra effort, and I like having to type $ now into the command line.

…granted, this does interfere with my use of Zeits now utility, doesn’t it? Welp! I’ll cross that bridge when I get to it, I guess 🌮

Oh, hey hey hey little /now page. How you doing?

Digital baggage. Do you have any digital artifacts that haunt you?

The web is weird. The content alive on it is ephemeral, yet pervasive. At the same time content online is delicate (see Geocities or any similar now dead and gone service), it is ever present. Anyone who types my name into a search engine is almost certain to come across my frenetic TedX presentation of yore. This isn’t necessarily a bad thing, but it is weird.

That talk isn’t me, nor really a good example of my work, but there it is. Very certainly linked to me. It isn’t merely something written. It is me. Saying things, jumping around a well lit stage. Terrified. Excited. But it is also only a little moment in the grand scheme of things. A little moment blown potentially out of proportion.

The web is good at magnifying, and falsely preserving. Maybe falsely” is wrong—“dispassionately,” perhaps?

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.

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

Well, I’m able to post text content using quill’s editor, but only if it is HTML encoded. Can’t post normal notes. 

Micropub endpoint seems to be about 80% of the way there. Next big step is getting a media endpoint in place.

Posting via email via quill?

…and now my website automatically backs itself up to couchDB! One day I may use couchDB to serve the content, but for now I like having static content. 

Alright! The next big step is to figure out how to build a micropub  endpoint. I’ve been playing with Adactio’s minimal micropub endpoint, but so far no dice. 💀 🎲 I keep running into issues around the scope?’ but I don’t really have a clue what that means 😬