In July of 2018, StackExchange ended support for allowing people to login via OpenID. One tenth of one percent of their users were logging in using OpenID, and I was one of those last remaining people. In an era where every website allows people to create accounts and login using other websites (e.g. Facebook, Twitter, Google, Github, et. al.), OpenID was an attempt to create a standard to allow anyone to use any identity provider to login to web applications.
Unfortunately OpenID has slowly fallen out of use. Several major OpenID providers have gone offline over the years, leaving some users stranded without a login to services they use. Websites like Woot, Slashdot and Pypy, all which supported OpenID at some point, have slowly (and often silently) removed support. Other sites such as Freecode and Gitorious supported OpenID until they closed down. Although we are entering an era where more people in tech are pushing for distributed systems for content and social networking, the era of federated authentication via OpenID is most likely at a dead end.
On July 12th, 2016, I purchased a pair of Jaybird Freedom F5 earbuds for $180 from an eBay vendor. I really liked these headphones. They had clear audio, good sound reproduction and I used them to listen to music and podcasts on my morning and evening train commutes. They refused to power on recently, and I discovered that this was a common problem mentioned on various product forums. I contacted Jaybird, provided my serial number, and discovered my warranty had expired. There was no option for me to get them repaired, even though I was willing to pay. I was offered a coupon for a 30% discount on another Jaybird product which could potentially stop working in another two years.
Are we in a simulation? What some may perceive as a trope used in science fiction is a serious topic for some researchers. Bostrom’s 2003 paper on simulation theory postulates that if humanity continues on our currently trend of increasing technological development, we will reach a state where we could eventually be able to, at least partially, simulate the reality we currently live in. We could also invent said technology, but choose not to pursue simulating a world like ours, or we could simply go extinct. If the technology is feasible and extinction is avoidable, how would we know if we are already in a simulation that others have built?
Love conquers all. It’s a cliché and trope that’s been used in stories for as long as humans have been telling stories, but is it true? If love could truly move us past any boundary, then why can’t it overcome spousal abuse, infidelity, suicide or poverty. Are these things a result of a lack of love, by either individuals, families or society, or is our capacity to love a finite resource?
A friend of mine recently invited me to an Asian & Pacific Islanders Open Mic, hosted by Luya Poetry in Chicago. The event billed itself as “…a welcoming space for poets of color, with an emphasis on Asian, South Asian, Middle Eastern, and Pacific Islanders to express themselves, [and] share their stories…“. The open mic was part of a larger series of events in the National Poetry Slam. Both my friend and I were expecting a variety of poems about life and love, that happened to be told by Asian/Pacific people. Instead, the majority of the works focused around simply being Asian, racism, cultural assimilation, and personal stories of trauma.
I knew this type of show was likely, but I was still hoping for something more diverse. I don’t want to diminish the personal stories and experiences of all the poets who went up on the open mic. As writers and poets, telling our stories can be a way to bring others into our world and perspective. I just wish that every story didn’t have to start and end with a theme surrounding race; something that not all minorities hold as an integral part of our identities.
Docker was first getting big while I was working for an open source shop in New Zealand. At work we’d joke about containers, mostly because of our misconceptions. “Aren’t they based on LXC containers, which are full of security holes?” a co-worker and I would ask. When CoreOS was released, initially we laughed but also realized people were taking containers seriously. Late one night at a bar, some German developers who ran a name registrar, talked about how amazing Docker was and how they were currently running it in production.
It wouldn’t be until I took a contract in Seattle that I was really exposed to Docker. I worked at a shop that ran a CoreOS instance, and eventually switched to a company wide DCOS/marathon based platform. I learned a lot about containers, embraced many of their advantages, as well as becoming incredibly frustrated with their limitations. Despite the issues, I started to prefer using containers, and even wrote a tool for managing the containers I use to host this website. In this post I intend to cover what I’ve learned about containers, their strengths, their limitations and some good ways to incorporate them into your infrastructure.
Over the past few months, I’ve been working on Bee2. It’s a provisioning system for automating the process of building, running and maintaining my own websites and web applications. In previous tutorials, I had gone over provisioning servers using APIs, configuring those servers for remote Docker administration via a VPN, and automating LetsEncrypt and HAProxy in containers. Bee2 has gotten mature enough that I’ve finally migrated many of my production sites and web applications to it, including this website. In this post, I’ll go over some of the additional challenges I faced with IPv6, and refactoring containers to allow live HAProxy refreshes.
Recently I added e-mail support to Bee2, a tool I use to provision servers and services for personal projects. My existing e-mail server ran on an openSUSE 13.2 box which stopped receiving security updates in January of 2017. I’ve been building Ansible roles to provision a replacement running on OpenBSD, and I found an interesting bug with a proxy filtering service called SpamPD. The bug prevents SpamPD from starting correctly with the standard OpenBSD rc.d service scripts due to the weird ways the OpenBSD init process works.
Update: This bug has been fixed and should be available in the next release. For more information, see the github issue and the OpenBSD ports mailing list.(Updated: 2018-08-27)
During the 2008 financial crisis, Rod Blagojevich, the governor of Illinois, took on Bank of America by suspending all state accounts with the bank and publicly criticizing them for their role in the subprime mortgage crisis. In 2009, he was convicted for corruption charges, including his attempt to exchange Obama’s former senate seat for political favors, and is currently serving a 14 year sentence in Federal Prison. In 2007, governor Eliot Spitzer of New York pushed the controversial policy that granted undocumented immigrants the right to gain driver’s licenses and pay for car insurance. In 2008, Spitzer resigned from his position, admiting revelations that he solicited prostitutes. In 2017, speculation arose that Mark Zuckerberg could potentially be running for president in 2020. This year, Zuckerberg faces continued scrutiny over data collection and privacy within Facebook after revelations of Cambridge Analytica data collections.
These are incidents involving wealthy individuals, who have sought after monetary and political power. There is nothing directly linking any of the incidents I juxtapose against one another, yet it’s easy for our brains to make those jumps. This is how propaganda is made. The reality is that powerful leaders do not rise in a vacuum. Where once opposition was removed via murders and Stalinesque political purges, in our modern, civilized democracies, leaders are destroyed by defamation, propaganda and prisons.