America Has Never Been Great, or Just, or Free

Status:

The national anthem taught me I lived in the land of the free and the home of the brave. The pledge of allegiance taught me that the flag stood for liberty and justice for all. The declaration of independence taught me that all men are equal, with the right to life, liberty and the pursuit of happiness. The constitution taught me that it was created to establish justice and secure the blessings of liberty. That was the foundation of my education, my history lessons. I grew up white in a southern state, in areas mostly devoid of color, utterly unaware of my white, male privelege. Being somewhat poor, I could only see that there were many who were better off than we were. I was mostly naive and oblivious to the context of my time and place. I believed all the propaganda, because I really was free and equal and enjoyed all the benefits of this.

In my school history textbooks, the treatment of the indigenous was presented as a war. Slavery was glossed over while the abolitionists were highlighted. I suffered very little guilt, which was rather the point.

I was born at the cusp of the 60’s and for many years thought of any sort of injustice as something from the past. After all, my only source of information was history textbooks, and if it is ‘history’ it is, by definition, in the past. I experienced very little integration in school and in the cities where we lived in Texas. I never heard my parents discuss any of this with me.

It is only in adulthood that I can finally read and research and find out just how fully injustice and racism and violence permeates the history of this so-called great nation. It isn’t something perpetrated by a few ignorant people or groups, it is the very foundation on which this nation rests. It was never free or just for people of color, and in many ways this persists. It still isn’t great.

Just for an interesting exercise, I have looked up some historical facts regarding the fight for civil liberties in the year I was born.

Two days after I was born, the first ever black students were admitted to the University of Georgia, under court order. Riots erupted, fires were set, the KKK joined in and police had to disperse the crowd of over 2,000 people and stop them from throwing rocks through dorm windows.

A few months later a U.S. Congressman and other Freedom Riders were assaulted for entering the ‘whites only’ waiting area of a bus terminal in Rock Hill, South Carolina. This is an area very close to where all of the family on my mother’s side lived, and I would not be surprised to find that they were at least sympathetic with the attackers. This violence continued for months throughout the south, most famously in Montgomery, Alabama.

The pattern was consistent. Protest and challenge the laws, laws are changed, racists resist, judges order compliance, and eventually federal officials have to enforce the laws with a physical presence on the ground. Segregation in schools, restaurants, public facilities, etc. was challenged and defeated over many, many years, and the price and toll was heavy. Much blood was shed. That is the world I was born into, and yet somehow remained oblivious to. Here is a sobering timeline of this decade:

https://racialinjustice.eji.org/timeline/

Looking back, it’s obvious that things were pretty great and just and free if you were white, especially white and male. For women and especially for people of color, America has never been great or just or free.

The Odd Persistence of Superstition

I generally do a quick screen before I follow someone on social media or a blog. They need to generally be intelligent, not a Trump fan (so generally liberal), and not generally religious. And yet I am still surprised by people occasionally. Everything is fine, and then they go and ruin my perception of them by posting something which indicates that they believe in something ridiculous. Ghosts, auras, chi, chakras, zombie Jesus. I suppose I should not be surprised by this any more, but I am. It truly causes me to doubt their ability to think logically. I realize that we humans are good at compartmentalizing, but still – I can’t hold conversation with someone when I am thinking (in the back of my mind) “Oh yeah, this coming from someone who thinks aliens are communicating to us through channelers.”

Yes, that’s a real example, from real life.

Which also makes it difficult to gain the physical benefits of something like martial arts or yoga when they are so intrinsically tied to some of these concepts.

I’m probably going to need to re-read Carl Sagan’s excellent Demon-Haunted World and throw a bunch of excerpts out there to see if I can stimulate some logic cells in people’s brains…

Why I Hate Passwordless Email-only Authentication

I’m starting to get really irritated with email-only ‘passwordless’ authentication. I guess it says something about me that this comes up so frequently. Every time you change browsers, operating systems, apps — you have to do it again. Sometimes you get to do it again because you waited too long to log back in!

Case in point – just had to recompile my linux kernel because the new laptop had a newer trackpad which lacked driver support. In the meantime I did not set up my email client because I had no mouse and it’s a pain. Tried to sign on to micro.blog – sent me an email – no way to check it! Gave up, used phone. I run into this email-only thing at least once a day, sometimes more. It is one of the main reasons I no longer use Medium.

The IndieWeb is moving in the right direction. I can log in with just a few clicks, even if I am using a friend’s PC. No email, no 2FA (another rant for another day).

How to Import Your GoodReads List Into WordPress, for free

Here are the steps I took in order to get all of my GoodReads books/reviews over into my IndieWeb-ified Wordpress:

Prerequisites:

  • A GoodReads account with a decent amount of books reviewed and/or starred
  • A self-hosted WordPress site
  • Export from GoodReads > csv file
    • My Books > Import/Export > Export Library
    • Clean up CSV file – spreadsheet is good, be sure to save it back as text/csv (not xls or odt)
      • remove un-needed/unwanted columns
      • relabel columns to match WordPress fields (Important!)
        • post_type column – all should be set to post
        • post_title column – for book titles
        • post_content column – for the actual content of your review
        • post_excerpt column – for the actual content of your review excerpt (if any)
        • Add column for post_kind – set it to read (not sure if this will work)
        • Change any additional column headers to whatever you want – these will become custom fields on import
  • Install Really Simple CSV Importer plugin
    • Yes, it’s old, but it still works!
    • Run import (Tools > Import > CSV–Run Importer)
    • The posts should automatically be set to draft status
    • On import, it seems to take the post date from the ‘date read’ column, which is ideal
    • Once you hit publish, the date is reset to the current day and is irretrievably lost!
      • Possible workaround is to use SQL to copy the date from the date-read custom field back to the publish date (haven’t done this yet)
    • If the post kind isn’t set you’ll need to use an SQL query in PHPMyAdmin

After import you’ll need to add some PHP and CSS to display the new custom fields, most likely inside the_loop – where this is will depend on your theme. For Twenty Seventeen I did the officially recommended child theme and am inserting my code there under Template Parts > Post > content.php – here is my code, just to give you an example. This php statement pulls in the number of pages, which is one of the columns I imported:

<?php
$pages = get_post_meta($post->ID, 'pages', true);
?>

Your pages will now be assigned to the ‘$pages’ variable, which you can use to display that number like this:

<?php 
if ($pages) { ?>
<p class="book-meta">Pages: <? echo $pages; ?></p>
<?php } 
else 
{ 
// do nothing; } 
?> 

One thing that does not get imported from GoodReads is book cover images. However, if you have the isbn or isbn13 number, I found a way to hotlink to book cover images using Open Library. They are specifically set up for just that purpose. Here is my code to assign the isbn to a variable:

$isbn13 = get_post_meta($post->ID, 'isbn13', true);

And here is how to structure the html to display a medium-sized book cover image:

<?php 
if ($isbn13) { ?>
<a href="http://openlibrary.org/isbn/<?php echo $isbn13; ?>
"><img align="right" src="http://covers.openlibrary.org/b/isbn/
<?php echo $isbn13; ?>-M.jpg"></a>
<?php
} 
else { 
// do nothing; 
}
?>

Twenty Years of TheDixons.net

Status:

I can’t believe I have owned a domain name for its entire 20-year history! This main domain (thedixons.net) was first registered 20 years ago as of tomorrow, July 28. Here is a copy of the original domain name registration. $70 for two years! (click to embiggen)

I have changed the content so many times, it isn’t even funny, but the focus was always my family history. Here is one of the earliest screenshots of my home page, courtesy of Archive.org

Some interesting notes on that early version:

  1. That’s some seriously minimalist html there!
  2. Yes, my ‘blog’ was called The Daily Rant – hand-coded w/ vbScript, ASP, served via IIS and MSAccess
  3. Yes, I had vacation pics and stories.
  4. Yes, I had a really cheesy web company name (WWW=World Wide Web –> Web Wide Word) – get it, I was ‘getting’ the ‘word’ out on the web!!! Genius marketing there…
  5. Oh yes, I totally coded the whole thing using Note Tab Pro.

Archive.org has grabbed 163 snapshots of the site in 20 years. There were periods where the site was not active as I kept changing my mind on servers, software and the overall focus.

 

 

I’m very proud of this, in a nerdy sort of way, of course. A personal domain was pretty rare back then. But I’m also proud at having the follow-through to still be here, with a renewed enthusiasm for the old days when one crafted their own content. This current IndieWeb initiative on this subdomain (glenn.thedixons.net) is one result of that. Who knows, maybe some day this section will have its own twenty-year history?

What I Want in a Blog

Status:

Just throwing out some thoughts on what I really want in a blog:

  • Cross-device accessibility – compose, read, and manage from any device
  • Decentralized – Easy, lightweight setup on my own server, or Raspberry Pi
  • Federated – this provides:
  • Discoverability – my feed shows up elsewhere, others can follow (ala Mastodon)
  • Interactivity – webmentions, re-sharing, quoting, commenting, etc.
  • GUI – essential for quick and easy posts or admin work
  • Plugins – probably best to keep the core light yet allow for easier customization
  • Theme-ability – same reasons

The current state of things is very centralized/siloed. Medium, Wordpress.com and Tumblr make it easy to discover and interact, but at any moment they can tweak something and the features you love disappear, or you are forced to wade through a deluge of ads, and you can’t block bullies, and in the end they kick you off or just disappear altogether. The end user has very little control.

Or you self-host and regain all the control, but lose all the discoverability and interaction. You’re on an island.

I’ve been on Mastodon for over a year, and for the most part it really has replaced Twitter for me. Facebook is another thing altogeteher. I look forward to the day when I can just dump that behemoth. But for blogging nothing is up and running yet. Plume looks very promising, but I fail to find anything else out there. Maybe I’m just missing something? If so, please let me know!

Giving Up On IndieWeb

Status:

(Further update:  webmentions are working!!!)

(UPDATE: It’s now been a year since I first posted this. Just today I discovered a year-old blog post which mentioned this one, and an ensuing discussion. Of course I knew nothing of this because – well, I couldn’t get webmentions to work! I have moved this blog to a new platform, and they have a webmentions plugin, so I’m going to link to/reply to the post in question and see if maybe, just maybe, this will work now?)

Mood: very ranty!

While I love the IndieWeb *concept* and the general ideas behind it, the current set of implementations are so complex, so mind-blowingly difficult to implement that I am making a self-care decision and deleting almost all of it from my computer and sites. There is a *reason* that the handful of people who actually care and talk about this stuff have careers in programming. At this point, that is what is required to get this up and running.

===

What this means is that a decent level of implementation and adoption is still *years* away. Yes, I’ve read how the W3C is about to officially ‘recommend’ it, and how there is a WordPress plugin for it. Still, just spend some time with Google and read some sites. It’s a god-damned ghost town out there.

The only way this is going to gain any sort of widespread momentum is for it to become baked in to other services. Core, not plugins. If it takes an extra effort, or a lot of command-line typing, people just aren’t going to do it, and the adoption levels will remain close to where they are now, almost zero.

After the initial spurt of activity surrounding IndieWeb as a concept, there was a brief flurry of activity. Almost every solution I looked into shows this same pattern. Since 2014 a few plugins were built for the Kirby CMS. Known started up. An IndieWeb plugin was created for WordPress. So how is the adoption rate for these things?

* WordPress IndieWeb plugin – 3 years, 300 installs
* Known – no longer catering to individual bloggers – targeting education market
* Kirby plugins – I installed both micropub and webmentions – as far as I can tell, neither work as expected.
* Brid.gy – almost 4000 accounts in six years, but no idea how many are active and connected to a real blog

And that’s about it. That is as much traction as this concept has been able to get. A few scattered developers have worked on bits and pieces of it in their spare time and have implemented it for their *own* sites, but it’s still all small disjointed strings of code floating around, waiting for you to lovingly hand-code into your own html.

So I’m calling it. No more indieweb implementations for me. I’ll still have my own blog, and it will still be closely tied to my ‘silo’ identities around the web, but I’m not going to waste any more time trying to get micropub or webmention code to work. Maybe someday someone will get this packaged in a more user-friendly way. Until then, I’m just going to blog and share and interact when and where I am able.

The Last Paycheck

Status:

Many milestones that have come and gone in the last couple of years:

* We had to move back to Texas
* I had to go back to work
* We had to move to Austin
* I vested in my pension

One future milestone is when my wife officially retires (legally, as in receives a pension — not just stops working, which actually happened in 2011). But mostly I have just been counting down the days. Last year. Last month.

And today I officially started my last pay period. The last day of this two-week period will be my last day at work. If all goes as planned, it will be my last wage-earning W2 type of job, ever!

It’s starting to feel real now.

Adventures With IndieWeb

Status:

[UPDATE: 2018-07-21 – after having initially given up on IndieWeb implementation, I’m back at it. I’m also moving from Kirby to Grav CMS. WordPress]

Dan Gillmor wrote what may be the defining piece on the IndieWeb movement – so read those links for a good overview. Those thoughts resonated with me. It seems to be a good balance between having your own blog but no readers, and having lots of readers and interactions which are restricted to group membership, friend status, etc. but which is also arbitrarily restricted by an algorithm and/or advertisements. IndieWeb is all about bridging the gap and keeping the conversations alive across walled gardens.

Bastian Allgeier, the creator of Kirby CMS, is a big fan of the IndieWeb. He even created a webmentions plugin for Kirby. I installed it, but it seems to be more of a prototype than an active, working plugin. Sebastiaan Andeweg, however, *does* have a working webmentions plugin for Kirby. He said he passed 20 of 21 endpoint discovery tests over at Webmention.rocks but I was not so fortunate, passing only maybe 30% of the tests. I will not blame the plugin for this, however. It is mostly likely my implementation of it or the other pieces of code I have added to this site, which is just the barebones Kirby Starterkit plus various plugins and code modifications, all done by me. I think it is much more likely that I did something wrong. I’m really just a hack when it comes to programming.

I guess I will know I have it all working when I get some form of comments and/or feedback showing up on this post, down below.

Minimal Configuration for Modern Laptops

[UPDATE: I have moved to a Lenovo ideapad laptop – also only $199 at Best Buy. No idea why, amazing laptop! New post about this soon]

At some point in 2014 during a visit back here in the U.S. we picked up some clearance sale laptops at BestBuy. My HP touchscreen and the wife’s Toshiba were both 15″” and at great prices. They have both performed well and handled the upgrade to Windows 10 admirably. However, now that we are preparing to move back to Mexico it seems like a good time for an upgrade. We have acquired two off-brand Chinese laptops that drop the spinning hard drive and any CD/DVD tray in exchange for quieter, cooler running, longer battery life, less bulk and less weight. This would probably be a good place to insert a small table 🙂

 Spec HP 15-r017dx Chuwi 15.6 Lapbook
Weight 5.34 lb. 4.1 lb.
Thickness 1.01 in. 0.86 in.
Resolution 1366×768 1920×1080
CPU i3 Dual 1.7Ghz x5 Quad 1.44Ghz
Battery 2800 mAh 10000 mAh
Storage 750GB 64GB
 Spec Toshiba Chuwi 12.3 Lapbook
Weight 5.4 lb. 3.08 lb.
Thickness 1.27 in. 0.3 in.
Resolution 1366×768 2736×1824
CPU i3 Dual 2.5Ghz Celeron Quad 1.1Ghz
Battery 4000 mAh 8000 mAh
Storage 750GB 64GB

So one of the main tradeoffs is hard drive space. This means a transition to small USB or MicroSD cards for storage. Not a problem, actually. Backups in the cloud. All good!

For document editing Microsoft Office has a *large* footprint. Even LibreOffice comes in at anywhere from 800mb to over a Gigabyte. I have opted for FreeOffice, which clocks in at a measly 163MB! Not only did I save space, but I saved $75 on my refunded Office365 subscription. One side effect of this change was a drastic reduction in the available storage on OneDrive, which also impacted my OneNote storage space. So I replaced both of them! My new cloud storage (at least for text and spreadsheet and PDF documents) is hosted on HostISO.com and stored in the NextCloud app which syncs with my USB thumb drive. My new web clipper for articles I want to read later is Wallabag, which I am running on my Raspberry Pi. For organizing/tagging I am testing TagSpaces. So lighter, smaller, leaner, meaner laptops and more control over my own files and data – what’s not to love?