Skip to main content
 

Disqus, Self-Hosting, and Owning Your Interactions

3 min read

This morning, I read an interesting post by Don Williamson about how he removed Disqus comments from his site and moved to hosting his comments on GitHub, using some very creative hacks. Learning about the hacks he used is pretty fun, but I actually found his exploration of Disqus and its aggressive tracking more interesting. On the impact of performance on his site from using Disqus, Don pointed out:

Load-time goes from 6 seconds to 2 seconds.

There are 105 network requests vs. 16.

There are a lot of non-relevant requests going through to networks that will be tracking your movements.

He then goes into detail listing all of the ad networks and trackers that are pulled into a site when Disqus is enabled, and its terrifying:

disqus.com - Obviously!

google-analytics.com - Multiple requests; no idea who’s capturing your movements.

connect.facebook.net - If you’re logged into Facebook, they know you visit this site.

accounts.google.com - Google will also map your visits to this site with any of your Google accounts.

pippio.com - LiveRamp identify mapping for harvesting your details for commercial gain.

bluekai.com - Identity tracking for marketing campaigns.

crwdcntrl.net - Pretty suspect site listed as referenced by viruses and spyware.

exelator.com - More identity and movement tracking site which even has a virus named after it!

doubleclick.net - We all know this one: ad services and movement tracking, owned by Google.

tag.apxlv.net - Very shady and tricky to pin-point an owner as they obsfuscate their domain (I didn’t even know this was a thing!). Adds a tracking pixel to your site.

adnxs.com - More tracking garbage, albeit slightly more prolific.

adsymptotic.com - Advertising and tracking that suppposedly uses machine learning.

rlcdn.com - Obsfuscated advertising/tracking from Rapleaf.

adbrn.com - “Deliver a personalized customer journey across devices, channels and platforms with Adbrain customer ID mapping technology.”

nexac.com - Oracle’s Datalogix, their own tracking and behavioural pattern rubbish.

tapad.com - OK, I cant’t be bothered to search to look this up anymore.

liadm.com - More? Oh, ok, then…

sohern.com - Yup. Tracking.

demdex.net - Tracking. From Adobe.

bidswitch.net - I’ll give you one guess…

agkn.com - …

mathtag.com - Curious name, maybe it’s… no. It’s tracking you.

 

Including third-party JavaScript libraries on my site like choosing a sexual partner: you better know who that third party has been in bed with, or you'll be in for a nasty surprise.

Comments and comment spam are hard. But, that doesn't mean we should turn over control of our interactions to companies that choose to leverage your audience and your data for their own profit. Own your interactions!

 

 

Owning My Memories

1 min read

My quest to own more of my digital identity continues, as I continue to search for ways in which I depend on social media silos like Facebook, Instagram, and Twitter. One feature of Facebook that I actually find quite delightful is On This Day, which shows you content and interactions over the years on the current day of the month. I like this feature so much, I felt like I should have it for my website, in the spirit of the IndieWeb. I'm happy to say, I've got an initial implementation in place on my site!

I've created a plugin for Known, the CMS for this site, that collects a few of my own customizations, including my On This Day implementation, and its available on my GitHub. Currently, the On This Day functionality requires a patch to Known core that isn't yet open source, but I'm hoping to polish that up and attempt to get it into Known sometime in the next few weeks.

Three cheers to owning my own memories!

 

Sharing what I watch...

1 min read

As I get deeper into the IndieWeb, I've been loving exploring more ways to share and publish my activities. Having a timeline that includes where I have been, what I've been eating and drinking, my recipes and reviews, along with photos, and social interactions helps me remember where I was and what I was doing on any given day.

Last night, I had trouble sleeping, so I decided to attack a new problem. I'm a big movie enthusiast, and enjoy collecting and watching great films. I decided that tracking what I'm watching would be a fun and useful way to enrich my activity stream.

I'd like to introduce Watching, a plugin for the Known CMS that I use for running this site. Using the plugin, I can publish a record of which movie or TV show I just watched. Earlier this evening, I watched a few minutes of Mad Max: Fury Road, which I absolutely adored, and it's been logged on my site.

Better yet? I've written experimental support for Plex webhooks, which create these records automatically on my site whenever I click or tap "play." How fun is that?

 
 

The Deck is Shutting Down

1 min read

Innovative ad network The Deck is shutting down for good. From their announcement:

In 2014, display advertisers started concentrating on large, walled, social networks. The indie “blogosphere” was disappearing. Mobile impressions, which produce significantly fewer clicks and engagements, began to really dominate the market. Invasive user tracking (which we refused to do) and all that came with that became pervasive, and once again The Deck was back to being a pretty good business. By 2015, it was an OK business and, by the second half of 2016, the network was beginning to struggle again.

The consequences of walled gardens like Facebook, Twitter, Instagram, and Medium soaking up the majority of internet traffic go well beyond data ownership and privacy. A more decentralized world wide web creates more opportunities for innovation and a system that is harder to "game."

 

Tweetstorms vs. Publishing

2 min read

Today, I read about the launch of an app to make it easier to create "tweetstorms" on Twitter. I'll start by saying that Stormcrow seems like a well-designed, very useful app, and my commentary here isn't meant to take anything away from the developer. That said, the fact that this app needs to exist is a sad indictment of the current state of personal publishing on the web.

From a user experience perspective, tweetstorms are an absolute disaster, both from the creation perspective, and the consumption perspective. Twitter is not designed for long-form content, and tweetstorms are a dirty hack, at best. Nevermind the issue that people's carefully crafted communications are then sent off into the void of Twitter, where the conversation is difficult to follow, algorithmically curated, and controlled by a corporation.

I'm really proud to work for a company who's ultimate purpose is to help people own their digital identity, and its becoming clearer to me that its possible to also provide a better user experience for all involved in the process. I've shared some of my thoughts on user experience and the IndieWeb already, and I plan to continue to think (and write) about the problem in the future!

Also posted on IndieNews

 

User Experience and the IndieWeb

6 min read

Those of you who have been following me on this site and on Twitter for the last few years know that I've been a proponent of the IndieWeb and its ideals, and would like to see a return to the open web.

Earlier today, I published a series of tweets about my desire for better, more unfied experiences for people who want to actively participate in the IndieWeb:

I received some great replies from fellow members of the IndieWeb community, including some links to interesting building blocks that people have been working on for years:

Ryan Barrett also shared his thoughts on the topic way back in 2015, with many great ideas.

Building Blocks vs. Unified Experiences

Tools like Granary, Indigenous, and InkStone are great pieces of the puzzle, as are open source CMS's like Known and WordPress with support for Micropub, Webmention, and other IndieWeb building blocks. But, the reason that silos like Facebook, Twitter, and Instagram are popular is that they provide a convenient, easy, and attractive unified experience for content consumption, content creation, and interactions. In order to be successful, and drive mass adoption, the IndieWeb must provide a user experience on par with silos on all three of these fronts.

I think that Manton Reece's Micro.blog project is another good start on attacking the problem, and may get us closer than we've ever been before, which is why I pushed my employer to back the project. But, again, its likely not enough on its own.

Between RSS and Atom, Webmention, and Micropub, the building blocks are there to create such an experience in a decentralized way, with participants in the network owning their own domains, websites, and data, pulling in content from a variety of sources via feeds, and creating posts, reactions, and interactions to their own sites with notifications to other participant sites.

My Vision for a Unified Experience

Today, most people's experience of the web is through algorithmically generated, ad-supported timelines like Twitter and Facebook. Frequently, its on mobile devices in the native app clients for these silos, rather than through a web browser. That's really a shame.

These algorithmically curated timelines are filling the gap that feed readers and aggregators like Google Reader left open. Web browsers have also ceded ground to silos, focusing purely on navigation, tab management, and search, rather than thinking about the bigger picture.

The ideal solution to this problem would be a native application for desktop operating systems and mobile platforms that places user experience at the forefront, and provides:

  • Content consumption for both the open web, through RSS/Atom, and silos like Twitter and Facebook in separate tabs or timelines.

  • Content creation for both the open web, through Micropub, and silos like Twitter and Facebook via syndication or their APIs.

  • Rich interactions for both the open web, through Webmention, and silos like Twitter and Facebook via their APIs.

Back in the early days of Twitter and the iOS App Store, John Gruber wrote about Twitter clients as pioneers of user experience. He was absolutely right! Twitter's (then) open-ish API enabled indie software companies like The Iconfactory, Atebits, and others to innovate and create incredible user experiences. In fact, the early work of The Iconfactory in Twitterific led to the hashtag, @-mention, and other patterns to take hold. The concept of "pull to refresh" was born out of this storm of innovation. Then, as it tried to figure out how to monetize its VC-backed platform, Twitter closed up its APIs, cutting off this innovation.

A unified experience for the rebirth of the open web is a massive market opportunity. The building blocks are there. History has shown that these kinds of experiences can become massively popular and drive innovation.

Opportunity for Who?

This opportunity begs the question: who will build this unified experience? Well, this time, the building blocks are truly open, so anyone can participate. All of those amazing indie developers who were creating Twitter clients back in 2007-2012 could absolutely dust off their code, and pick up where they left off.

That said, I think that browser vendors are in the best possible position to create these experiences, as this is all about driving people to the open web, and consuming it inside of web browsers. I firmly believe that innovation in web browsers has been stagnant for years, with the focus mostly being on search, navigation, rendering, and tabbed browsing, while the ultimate user experience has remained fundamentally the same.

Because of its values and origins, Mozilla is perfectly suited to the problem, and needs to reinvent itself after years of declining market share for Firefox. Mozilla has spent years on distractions like phone operating systems, and a client for enabling publishing, interaction, and content discovery and consumption on the open web, free from silos, is a great opportunity to get back to its roots.

How Can I Help?

For my part, I'm going to continue to advocate for the IndieWeb, support the members of the community that are making the future possible, and work with my employer, DreamHost, to help enable people to own their own digital identity with open platforms like WordPress.

How can you help? Well, that's a blog post for another day.

 

"White People"

1 min read

Yesterday, while I am here in Atlanta for WordCamp ATL, I hopped in a Lyft from my hotel to head out to dinner. When I opened the door to the car, I could hear Outkast playing, to my approval. The driver was a young African American man, and he greeted me before activating Google Maps on his phone. Then, he reached down to his stereo screen, and picked a playlist named "White People." The Outkast stopped, and on came Maroon 5.

I would have told him to switch the music back to Outkast, but I couldn't stop laughing for long enough!

 

WordCamp Atlanta: Day Two

2 min read

Its the end of day two for WordCamp ATL, and I've had a really great time. The themes from day one continued to be important, with business success, automation, productivity, and design dominating the content and conversations, but a few more themes did emerge.

Development Isn't Always Programming

Following my attendance at LoopConf and A Day of REST, WordCamp ATL has been much less focused on lower level development topics like APIs and PHP code, but today I did hear several talks about leveraging WordPress as a platform to build more than just marketing websites. The theme and plugin ecosystem for WordPress is so rich, that it becomes possible to create full backend business systems on top of WordPress.

One talk I attended featured an entire business process automation system built on top of WordPress and Gravity Forms. It was truly impressive! By using plugins and themes, and the general power available in WordPress core, its possible to build out entire systems with WordPress without writing a single line of code. WordPress freelancers and agencies are solving real problems for real businesses in a very non-traditional way.

Deployment is Hard

I also attended a few sessions related to hostng and deployment. Its clear that WordPress entrepreneurs don't want to worry about managing servers, scaling sites, or deploying and upgrading their sites. It was good to hear that people are still in search of hosting, as I work for a major web hosting provider focused on WordPress.

Its exciting to see all of the activity in the managed WordPress space, and even awesome projects for DIY'ers like Trellis and Bedrock from Roots. WordPress developers have plenty of great choices for enabling worry-free hosting.

See Y'all Next Time

Overall, it was fun to be back in Atlanta, even if only for a few days, and WordCamp ATL was a very well organized event, with a vibrant community, excellent content, and a large audience. I hope to be back next year!

 

WordCamp Atlanta: Day One

4 min read

I'm happy to have traveled to Atlanta today to attend WordCamp ATL, a two-day gathering of WordPress professionals designed to educate, connect, and share experiences. My employer was a sponsor of the event, and it was a great opportunity for me to visit my old stomping grounds, talk to customers, and learn about what's going on in the WordPress community.

I thought it'd be fun to touch on a few of the highlights and themes from day one of the event.

Path to Success

Easily the most common theme of day one was enabling success. The majority of attendees of WordCamp ATL are trying to build sustainable businesses designing and building websites for their customers. Atlanta has produced quite a few successful WordPress businesses running the gamut from individual freelancer to large agencies and everything in between, and many of them are speakers.

In my conversations with attendees, a common refrain has been "how do I create success for my clients, and therefore for my business." The day kicked off with Troy Dean's keynote about building his seven-figure business on top of WordPress, and he tackled this question head-on, encouraging the audience to build their business on "authenticity, congruence, and intention," not just a quest for money. He summarized his talk with a quote:

You can have everything in life you want, if you will just help other people get what they want.

Zig Ziglar

Other talks focused on effective marketing, messaging, and packaging to build successful WordPress businesses. But, success isn't just about creating success for your clients, its also about creating success for yourself, which leads me into the next key theme for the day:

Process, Automation, and Time to Publish

Entrepreneurs face many challenges on the road to success, and the biggest one may be the sheer volume of work to do. Time is the most precious resource of an entrepreneur, and many of my conversations with attendees on day one focused on making the best use of limited time.

For designers just getting started, I heard about page building plugins like WP Beaver Builder and leveraging premium themes to get from proposal to client delivery as quickly as possible. Genesis and Underscores came up more than once, as did many theme vendors. In the early days of a designer's business, they'll be attracting customers with very limited budgets, and being able to whip out a website rapidly is critical.

Once a designer moves to the next phase of their business, their attention turns to automation and process. There were several talks about standardizing your workflow to reduce wasted time, and there was also a great talk about leveraging automation to optimize your business by David Laietta of Orange Blossom Media. David covered using platforms like IFTTT in concert with services like MailChimp, Slack, and Trello to fully automate everything from proposals, to contracts, to client requests to make sure nothing falls through the cracks. David will be launching a site called Bear Hacks in the coming days which focuses on automation, and I'm looking forward to seeing it.

Design is Still King

Finally, I'm very pleased to see that good design is still a fundamental topic of conversation and focus in the WordPress community. There were excellent talks on typography, responsive design, and design best practices. A room full of smart, technically-minded creatives is one of the most enjoyable places for me to spend a weekend, so it was great to see that design is still a focus.

I'm looking forward to what tomorrow holds, and I'll try and post a followup if I can grab some time.

 

David Letterman: National Treasure

3 min read

Retired David Letterman, not actually Sasquatch.I finally got around to reading David Marchese's incredible interview of David Letterman for Vulture on my flight to Atlanta today, and its pure gold. Throughout the interview, Letterman addresses everything from politics, to his interview style, to the late night wars with Jay Leno, to which he hilariously responds, "I'm assuming I'll bump into him before I die."

Letterman also touches on grappling with a return to "civilian life," and adjusting to living the life of an average American. His exchange with Merchese over his attempt to purchase new shoelaces is prototypical, classic David Letterman, and made me laugh out loud:

I needed a pair of shoelaces. And I thought, Hell, where do you get shoelaces? And my friend said, there’s a place over off I-84, it’s the Designer Shoe Warehouse. So I go over there, and it’s a building the size of the Pentagon. It’s enormous. If you took somebody from — I don’t know, pick a country where they don’t have Designer Shoe Warehouses — blindfolded them and turned them loose in this place, they would just think, You people are insane. Who needs this many shoes? It’s sinful.

The interview eventually does turn to politics. One of my favorite segments of the centers on Vice President Mike Pence, from Letterman's home state of Indiana:

Pence scared the hell out of me. There was a therapy …. conversion therapy. That’s when I just thought, Oh God, really, Indiana? I don’t care if you’re a fundamentalist Christian — even they have gay relatives. They can’t be saying homosexuality is a sin. It’s horseshit. Then, this transgender issue that just happened, I just think, Are you kidding me? Look, you’re a human, I’m a human. We’re breathing the same air. We have the same problems. We’re trying to get through our day. Who the fuck are you to throw a log in the road of somebody who has a different set of difficulties in life?

Letterman has always been such a wonderful, sardonic voice that is really missing from late night television. He wasn't just a silly comedian poking fun at any and every topic, he was just a quirky guy from Indiana who just wanted everyone to enjoy life. During his tenure as a late night talk show host, he reacted with such candor and authenticity to every piece of news, and it really felt like you were having a conversation with a funny uncle.

In the interview, Letterman also addressed how late night television is increasingly able to talk politics:

Bill Clinton having sex with the intern, well, that’s not comedic heavy lifting. After that it became George W. Bush, and I thought he was funny in a harmless way. I mean, Dick Cheney was the guy to keep your eye on at a party, because he’d be going through your wife’s purse. But George W. was nothing but fun.

Thoughout the interview, Letterman refers to the sitting President of the United States as "Trumpy," and it gives me more joy than it probably should. Gold, I say! Pure gold.

David Letterman is a gosh darn national treasure.

 

The Evolution of Hacker Culture

10 min read

Growing up during the 1980's, I quickly developed a fascination for technology and computing. I'm a bit too young to have experienced the very early glory days of the computer revolution, missing the Homebrew Computer Club and the innovations at Bell Labs and MIT. That said, my life was greatly influenced by early "hacker culture."

The Birth of Hacker Culture

Steven Levy's "Hackers: Heroes of the Computer Revolution," was published in 1984, and attempts to capture and define what Levy calls "hacker culture." Levy's central concept is that of the Hacker Ethic, a set of principles that he believes will bring forth a better world, if carefully adhered to:

  1. Access to computers—and anything which might teach you something about the way the world works—should be unlimited and total. Always yield to the Hands-on Imperative!

  2. All information should be free.

  3. Mistrust authority—promote decentralization.

  4. Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race or position.

  5. You can create art and beauty on a computer.

  6. Computers can change your life for the better.

—The "Hacker Ethic," Steven Levy

I didn't hear of the Hacker Ethic until my early teens, but it immediately resonated with me because of my curiousity about technology, mistrust of authority, and Robin Hood-esque desire to hack the world through computing.

Ocean's Geeky Eleven

In my Senior year of High School in 1997-98, I was President of my school's Computer Club (look out, ladies). The list of our exploits was impressive, and included, but was not limited to:

  1. Deploying a Slackware Linux-powered server on our school's T1 line, which we used to host websites, to learn to program/script, and to host other services. I still remember using upwards of 40 AOL free trial floppies to install Slackware on that server.

  2. Causing an overly-protective MCSE administrator at our school so much frustration that he resigned in protest of our continued ability have a Linux server on "his" network. Mind you, our server was the most secure device on the network...

  3. Providing free training for parents and other students on how to use the Internet, including Gopher training, and a comparison of World Wide Web search engines (we were all pretty big on AltaVista, preferring it to Lycos and Yahoo).

I have so many fond memories of those days, where I fed my curiousity, and truly believed that I could change the world with technology.

My favorite, and perhaps most illustrative, story from that time in my life concerns our Computer Club's participation in the Distributed RC5 challenge.

Before I recount the story, I'll note that the facts have gone through years of filtration in my brain, and some of the specific numbers may not be accurate. But, the general strucuture and spirit of the story is very much true.

The goal of the RC5 challenge was to claim a $10,000 prize funded by RSA Labs as part of their "Secret Key Challenge." Teams could register to join a massive distributed computing effort to claim the prize, installing a simple piece of software, an "agent", onto computers under their control that would use spare cycles to eventually find the winning key.

The RC5 challenge embodied everything we cared about: harnessing the power of computing to make a dent in the world. Our merry band of computing misfits had a real chance at hacker glory! The Computer Club attacked the problem in earnest, registering our team, and installing the agent on our Linux server and our home computers.

The contest had a leaderboard, where you could see how your team stacked up against other teams globally, including a few university and commercial supercomputer projects. At the beginning, our ranking was shamefully low, and we decided that we had to do something about it.

Our first course of action was, of course, harnessing all of the computing power at our disposal. This involved several weeks of covert effort getting the agent installed on every computer in the school, without any of the teachers or administrators noticing. At the time, it was pretty easy to hide the agent in plain-sight on the vintage Macintosh computers on campus, but the Windows computers were a bit trickier. Through some deft programming, we were eventually able to hide our agents on those as well, and we saw our team begin to rocket up the leaderboard, stalling just outside of the top 25.

Unsatisfied with our ranking, the Computer Club decided to take radical action. We would break into our rival high school, who had a very large computer lab filled with new computers, and covertly hide our agent on their network. At the time, I felt like Danny Ocean in Ocean's Eleven. We cleverly disguised ourselves as students, and made our way into the computer lab in the hours after school had closed, but before the doors were locked. Using our Windows and Mac forks of the agents, designed to hide themselves, we were quickly able to deploy our code throughout the entire computer lab.

The rival high school's network turned out to be locked down a bit more than we planned, and was blocking all outgoing traffic on ports other than the very basic services (HTTP, FTP, SMTP, POP3). We quickly adapted, building new versions of the agents that sent traffic over port 25 (SMTP), and then relayed it through our Linux server.

Twenty four hours later, our team was ranked in the top 10, alongside supercomputers and massive university-supported teams. We were doing something big! Soon enough, we felt that we'd crack the top 5, and have a real shot at the prize and glory.

Our excitement was short-lived, and over the next week, we were caught, and nearly expelled from school. We had to apologize to our rival high school, and point out how we exploited their systems. The jig was up.

Parrish's New Hacker Ethic

I was reminded of this time of my life as I recently watched Allison Parrish's talk, "Programming is Forgetting: Toward a New Hacker Ethic" from the 2016 Open Hardware Summit. Allison Parrish is a computer programmer, poet, and educator from Brooklyn, NY.

In her talk, Parrish shares her experiences with hacker culture, and proposes an evolution toward a new hacker ethic that she believes will "foster a technology culture in which a high value is placed on understanding and being explicit about your biases about what you’re leaving out, so that computers are used to bring out the richness of the world instead of forcibly overwriting it."

The "philosophical kernel" of Levy's hacker ethic that Parrish takes issue with is the "Hands-On Imperative," which is referenced in rule 1 of his hacker ethic.

Hackers believe that essential lessons can be learned about the systems—about the world—from taking things apart, seeing how they work, and using this knowledge to create new and even more interesting things. They resent any person, physical barrier, or law that tries to keep them from doing this.

This is especially true when a hacker wants to fix something that (from his point of view) is broken or needs improvement. Imperfect systems infuriate hackers, whose primal instinct is to debug them.

—Hackers, p. 28

Parrish asserts that the Hands-On Imperative assumes that the world is a system that can be understood perfectly and broken down into components that can also be understood. When stated this way, its clear that the imperative has inherent hubris. The world is a complex place, and every person has a point of view and bias. In addition to personal bias, the divide between the analog and the digital world is problematic:

The process of computer programming is taking the world, which is infinitely variable, mysterious, and unknowable... and turning it into procedures and data.... The world, which consists of analog phenomena infinite and unknowable, is reduced to the repeatable and the discrete. In the process of programming, or scanning or sampling or digitizing or transcribing, much of the world is left out or forgotten. Programming is an attempt to get a handle on a small part of the world so we can analyze and reason about it. But a computer program is never itself the world.

—Allison Parrish, "Programming is Forgetting: Toward a New Hacker Ethic"

Due to this impedence mismatch between reality and the Hands-On Imperative, Parrish proposes a revised hacker ethic which is, instead of a set of black and white assertions, a series of questions more well-suited to the analog and variable world that we live in:

  1. Access to computers should be unlimited and total. Who gets to use what I make? Who am I leaving out? How does what I make facilitate or hinder access?

  2. All information should be free. What data am I using? Whose labor produced it and what biases and assumptions are built into it? Why choose this particular phenomenon for digitization or transcription? And what do the data leave out?

  3. Mistrust authority—promote decentralization. What systems of authority am I enacting through what I make? What systems of support do I rely on? How does what I make support other people?

  4. Hackers should be judged by their hacking, not bogus criteria such as degrees, age, race or position. What kind of community am I assuming? What community do I invite through what I make? How are my own personal values reflected in what I make?

—"Hacker Questions," Allison Parrish

Parrish's questions are a direct response to the first four tenets of Levy's Hacker Ethic, but she leaves his last two assertions alone, as she believes that they're valuable:

  1. You can create art and beauty on a computer.

  2. Computers can change your life for the better.

After all, every hacker believes that computers can change lives in real, and beautiful ways.

Bringing out the Richness of the World

I'd encourage you to watch Parrish's talk to get the full story, as it resonated with me strongly, and caused me to reflect on my own life's journey through hacker culture, and my experiences with the darker and more subtle side-effects of Levy's seminal work on the hacker ethic.

How would my journey be different if hacker culture had been influenced by Parrish's Hacker Questions, rather than Levy's Hacker Ethic? How would my high school Computer Club story have changed? What would the technology industry look like today if hacker culture looked more like Parrish's vision, rather than Levy's?

Above all, I share Parrish's desire to shape a hacker culture that "brings out the richness of the world, instead of forcibly overwriting it." The world today is more connected and impacted by technology and computing than ever before, but there are also a lot of truly frightening things happening. Hackers who embrace this new ethic have the potential to change the world for the better: to create opportunities and access for people who may otherwise be left behind; to call out bias and strive to surface more points of view; to invite the formation of more welcoming communities.

More often than not, the average person engages with computing and the internet through avenues so fundamentally tainted with systematic algorithmic bias, that major governments are capable of being sabatoged by exploiting these systems. I, for one, believe that hackers united around an ethic that surfaces bias, improves access to important and contextualized information, and creates more authentic community, can change the world for the better.

So, go forth, fellow hackers, and bring out the richness of the world.

 

Supporting the Open Web

1 min read

Today, my employer announced its backing of Manton Reece's excellent Indie Microblogging Kickstarter campaign. I wrote a few words about it over on our blog, and you should check it out. If you haven't already become a backer, I'd encourage you to consider contributing to the cause.

2016 was a really interesting year for DreamHost, and I think the thing that I am most proud of is our revised Vision statement, which is in support of an overall Noble Cause.

  • Noble Cause: We help people own their digital presence.
  • Vision: People have the freedom to choose how their digital content is shared.

Its great to be a part of a company that has a passion for the open web, freedom of information, and privacy.

 
 

The Mourning After: You Are Not Alone

3 min read

This morning, I mourn briefly, and then I turn to look forward. The march of progress never stops, it merely slows. There is hope and purpose in all things, and now we have to find it together. Presently, I feel so alone, but I know that I am not.

To my immigrant friends: know that you are loved and welcome by so many in this country. Know that we will continue to fight for you and care about you. You are not alone.

To all women, especially victims of sexual assault: know that nothing and no one can invalidate your pain or your value. We will continue to stand up for you. You are not alone.

To my LGBT friends: I love you. You matter. You are not sick. You are beautiful and your identity is real and no one can take that away from you. We are here to stand with you no matter what. You are not alone.

To people of color: stay strong. The result this morning has me, a white male, fearful for you and your families. But know that you are important and valued. Systematic racism is real, and so many of us will continue to fight it alongside you. You are not alone.

To the needy: we won't abandon you. Where government fails you, we will do what we can to fill the void. We will never stop fighting to change our system to give you a chance to make it. You are not alone.

To the Muslim community, and people of all faiths and creeds: your freedom to worship without fear of discrimination or persecution is so important to this country. I will stand up to anyone who tries to take those freedoms from you. You are not alone.

Finally, to those of you who voted for our President-elect: I don't understand you, and I don't respect the man you voted for, but I will try to understand. I will try and hear you. I am guessing that you felt alone, and this is your response. Well, clearly you are not alone. Now, let's work together to listen to those who still feel alone: immigrants, victims of sexual assault, people of color, the LGBT community, muslims, the needy. Open your hearts to them and I will open mine to you. We won't agree on many things, but I ask you to listen, as I will listen to you. Who knows? Maybe we can actually continue the march of progress together.

 

The difference in our differences

3 min read

Primary season for the 2016 Presidential election is well under way. On the left, the Democratic field has narrowed to Hillary Clinton and Bernie Sanders, while the GOP field can best be described as a circus, with Donald Trump currently leading Ted Cruz, Marco Rubio, and a cadre of also-rans with no chance at the nomination.  The circus on the right has prompted a lot of discussion, and it's highlighted an important difference that I think needs to be discussed. Notably: how objectionable are our candidates, and for what reason?

Republicans commonly respond to Democrats with statements like "at least Trump isn't a socialist like Bernie Sanders," or "he can't be worse than Hillary, she is a corrupt politician!" Any response that elevates Trump over Bernie, Hillary, or even his GOP rivals is disingenuous at best, and dangerous at worst.

The arguments against Bernie Sanders relate to policy. He is unabashedly liberal, and his policies are aggressively left of center. The arguments against Hillary are that she represents the establishment: business as usual. These are fair arguments, and I respect those that make them.

The argument against Donald Trump, however, is completely different. While Trump's policies are easy to disagree with, when he actually discusses them, the reality is that most of those who dislike Trump aren't fearful of him for his policies. They are concerned because he is a narcissistic, bullying, racist sociopath who is entirely unfit to represent our nation. Arguments on policy and philosophy of the government are healthy, reasonable discussions that happen every election season. The argument against Trump is something new and unique. We're in uncharted territory, here!

A common refrain that I've heard repeated these last few weeks is that the popularity of Bernie Sanders and Donald Trump are a result of some common narrative – the rejection of the political establishment. Those who reject the political establishment on the left could certainly identify with Sanders. On the right, they can identify with Ted Cruz. But, those who identify with Donald Trump over Ted Cruz choose him because of his words and his actions, and the words and action of Donald Trump do not speak to anti-establishment. They speak to racism, xenophobia, and hate.

So, yes, disagree with Bernie's policies. Be concerned that Hillary is born of the political system. But, don't tell me that the concerns with Trump are equivalent. Don't tell me that the Sanders movement and the Trump movement spring from some common theme. They don't. While I wouldn't vote for Marco Rubio, at least my objections to him are rooted in policy. Trump, on the other hand is a cancerous tumor that must be excised from American politics.

 

For me, its Hillary

4 min read

Replied to a post on werd.io:

Eight years ago, Hillary Clinton and Barack Obama were locked in an intense battle for the Democratic nomination for President. Obama soared upon a message of hope and change – a new type of politics that would bring cooperation and collaboration to Washington. Hillary Clinton, on the other hand, ran on a platform of experienced leadership, and an ability to get things done in the American political system.

I bought in hook, line, and sinker to Barack Obama's promise to try and change politics, and in retrospect, I am very happy I did. Barack Obama has been the right President for our country for the last eight years. He made genuine attempts to change the business of governing, brought an expected calm pragmatism to the office, and did some real good. The country is in a much better place than it was eight years ago at the end of George W. Bush's second term. The economy is stronger, we've got the beginnings of a saner approach to healthcare, and the deficit has been reduced by over a trillion dollars.

We're now at a new crossroads as Democratic and Republican candidates vie for the nominations of their respective parties. The GOP is in disarray, with a collection of terrifying candidates that preach xenophobia and fear, and threaten to roll back all of the progress that has been made under President Obama. The story in the Democratic party is significantly more interesting, and eerily familiar.

Hillary Clinton is locked in battle with Bernie Sanders, a progressive outsider that wants to change politics. Sanders' positions are aggressively liberal, with the exception of gun control, and he resonates strongly with young people. Clinton is again the experienced politician, and Sanders acolytes claim that she would be a return to business as usual; a cynical embrace of divisive and hostile political warfare.

I see things a little differently.

It is important to note that I find the vast majority of Bernie Sanders' proposed policies to be the fulfillment of American progress – true universal healthcare, free education for all, and fighting the influence of money in politics. That said, I do not believe that Sanders is the right candidate for the Democratic party, nor the best person to be President in the current political climate. Instead, I believe in Hillary Clinton, for three main reasons.

First and foremost, the same experience and feisty assertiveness that gets Hillary labeled as "business as usual" is precisely what is needed to combat the GOP's current run on crazy. While President Obama has been a calm pragmatist, the GOP has responded with vitriol and staunch obstructionism. I for one want to see the progress that the Obama administration has made be preserved and, more importantly, built upon. I do not believe that there is a single candidate that is better prepared to go to battle with the GOP than Hillary Clinton. She is a brilliant, experienced, principled leader that, quite simply knows how to get shit done.

Secondly, the field of GOP candidates is a nightmare for the future of the country. While Bernie Sanders' platform is extremely progressive, many of his positions are nearly impossible to implement in the current political climate, and are unpalatable to the moderate majority of Americans. I believe that a Sanders nomination would very likely lead to a President Trump or President Cruz, and that's not a gamble I am willing to take.

Finally, I believe that its time for America to have a woman in the Presidency. Eight years ago, we put a black man in the office of the President, sending a message of inclusion and hope to young minorities nationwide. As the father of a five year old girl, nothing would make me happier than to see her grow up with President Hillary Clinton in office.

 

Changing Education Paradigms

2 min read

This year, my daughter made the move from preschool to school, and the transition was quite difficult for her. We initially enrolled her in a "transitional kindergarten" program at a very high quality private school in the neighborhood. Things went well at first, but after a month or two, Colette began to show signs of distress. She wasn't her normal, bubbly self. She didn't want to go to school in the morning, and would put up a fight to avoid it. She was sad, and it was absolutely heartbreaking. What was going on with our little girl?

My lovely wife Lacey is a former teacher, and has a strong background in education and early childhood development. She introduced me to a different perspective on education, especially for young children. As a result of that process, we pulled Colette from her school, and began searching for a school with a much more progressive outlook on education. As an energetic, creative, and smart little girl, Colette needed more than what her school was offering her. She needed a school that would prepare her not for a world in the midst of the industrial revolution, but for a rapidly changing world that requires innovative thinking, collaboration, and problem solving skills.

After much searching, Lacey found The Knowing Garden Community School, which is only a mile from our home. Colette is now enrolled, and is enjoying every moment of her time. Why? Because TKG has taken a revolutionary approach to education. When we first visited TKG, they shared this fantastic video of a TED talk given by Sir Ken Robinson about Changing Paradigms for Education.

I'm so thrilled that we've found such a wonderful community to be a part of, and am confident that with their support, our children will grow into lifelong learners ready for the rapidly changing and modern world.

 
 

Publishing Markdown to Micropub Endpoints with Python

2 min read

You’re probably sick of my posts about Micropub by this point, so I’ll make this my last for a while. Maybe.

I’m up in Seattle this week on business, and the airplane ride from Los Angeles gave me a chance to play around a bit more with Micropub. I whipped up a quick script that allows for quickly publishing Markdown-formatted content to a Micropub endpoint.

This very post is published with the script! Micropub inception! Take a look:

#!/usr/bin/env python

'''
A script for quickly publishing blog posts to a Micropub endpoint. To use
this script, first ensure that you have installed:

    PyYAML
    requests
    markdown

You will also need to set the following environment variables:

    INDIEAUTH_TOKEN
    MICROPUB_ENDPOINT

Run the script, and pass it the path to a Markdown-formatted file. YAML
formatted front matter can be provided with Micropub arguments such as
`name`, `published`, and `slug`.
'''

import sys, os, yaml
import requests, markdown

# configuration
data = {}
token = os.environ.get('INDIEAUTH_TOKEN')
endpoint = os.environ.get('MICROPUB_ENDPOINT')

# make sure the user has provided adequate information
if not token or not endpoint:
    print 'INDIEAUTH_TOKEN & MICROPUB_ENDPOINT environment variables not set.'
    sys.exit(0)

if len(sys.argv) < 2:
    print 'Usage:'
    print '    blogit <path to markdown file>'
    sys.exit(0)

# read in the content
filename = sys.argv[1]
raw_content = open(filename, 'rb').read()

# check for front matter
if raw_content.startswith('---'):

    # parse out the front matter from the raw content
    _, front_matter, raw_content = raw_content.split('---', 2)

    # parse the frontmatter
    data = yaml.load(front_matter)

# render markdown
data['content'] = markdown.markdown(raw_content, extensions=[
    'markdown.extensions.codehilite',
    'markdown.extensions.extra',
    'markdown.extensions.smarty'
])

# populate remaining details
data['access_token'] = token
if 'h' not in data:
    data['h'] = 'entry'

# create the post
result = requests.post(endpoint, data=data)

# check the result
if result.status_code not in (200, 201):
    print 'Failed to publish post with status code: %d' % result.status_code
    sys.exit(1)

print 'Published successfully.'

You’ll note that it supports some Markdown extras, including code highlighting with Pygments, and several other extras.

Feedback is, of course, welcome. On my flight home, I plan on polishing the script up a bit, making it easy to install, and adding a few options.