I hate the word "cyber" but it's in the title.
In response to reading this tweet, I thought I'd type up the following list, and add links to some stuff I've observed. I'll update it as necessary. List beneath the cut.Click for the rest of the article...
-----BEGIN PGP SIGNED MESSAGE-----
I very much want to be wrong.
Within 180 days of 0000 hours UTC, Friday, 27 January 2017, the United States of
America will declare war once again. That puts it at Wednesday, 26 July 2017
at 0000 hours UTC. I do not know for sure, but countries in the Middle East
seem the most likely targets.
This seems due, in part, that the USA seems to be trying to start the Crusades
again (George W. Bush tried once). The Trump administrations' public and
flagrant distrust, disapproval, and seeming pants-shitting-fear of Muslims
around the world would seem to point to this.
This seems due, in part, to the low approval ratings of President Donald J.
Trump. As of 28 January 2017 @ 1454 hours PST8PDT, they are at 36% approval,
44% disapproval on http://www.pollingreport.com/djt_job.htm. I've made a PDF
copy of this file here:
SHA-512 hash of trump_approval_ratings-20170128.pdf:
To jack up his approval ratings (and improve his chances of re-election, if
nothing else) this is a logical national action to take. It certainly worked
for George W. Bush after 9/11 but wasn't enough to sustain his approval ratings
in the long run.
Evidence of the above claim: http://www.gallup.com/poll/116500/presidential-approval-ratings-george-bush.aspx
Local copy of the above claim:
SHA-512 hash of george_w_bush-overall_approval_ratings.pdf:
I have received no orders, demands, or suggestions to write or post this. I
have received no pay or other compensation to write or post this.
I have no insider knowledge.
I have only the patterns of history to suggest this, and I'm seeing everything
happen all over again. And again.
I don't want to be right again.
- --The Doctor [412/724/301/703/415]
-----BEGIN PGP SIGNATURE-----
-----END PGP SIGNATURE-----
UPDATE: 20170131 - The Eventbrite page for this event has gone live! Sign up!
I haven't had time to write about #datarefuge yet, in part because people a lot closer to the matter have been doing so, and much better than I could at the moment. An entire movement has arisen around scientific data being 451'd because it's politically inconvenient, and not many of us know if it's being erased or just shut down. We also don't know for certain if it's being copied elsewhere for safekeeping so we're doing it ourselves. To do my part, I've been communicating with some of the organizers and having Leandra suck down data as fast as my home link will permit to store it on her RAID array. But, the important thing:
On 11 February 2017, the Datarescue SF Bay event will held at the Berkeley Institute for Data Science from 0900 PST until 1500 PST. That day, everybody at the event will identify data sets at risk of vanishing, work out how to best mirror them, and download them as fast as possible so they can be archived elsewhere. Bring your drives, bring your boxen, and get ready to burn up bandwidth.
Not too long ago, when the USB key I'd built a set-top media machine died from overuse I decided to rebuild it using Arch Linux with Kodi as the media player. The trick, I keep finding every time, lies in getting Kodi to start up whenever the machine starts up. I think I've re-figured that out six or seven times by now, and each time after it works I forget all about it. So, I guess I'd better write it down for once so that I've got a snapshot of what I did in case I need to do it again later.
The instructions in the Arch Linux wiki work, but you need to pick the right ones to follow. The short-and-sweet ones with the automagickal AUR package don't work. Forget it.
Install LightDM from the Arch package repository (sudo pacman -S lightdm). Then install the instructions I linked to above to the letter. That means carrying out the following tasks:
Create the file /etc/X11/Xwrapper.config. The file should contain only the following text in bold (no double quotes): "needs_root_rights = yes"
Follow the LightDM "Enabling autologin" and "Enabling interactive passwordless login" instructions. Create a user named "kodiuser" (you don't need to set a password" and give it access to system groups necessary to access resouces in the system. I used the following command to do this: sudo useradd -c "Kodi Service Account" -G dbus,network,video,audio,optical,storage,users -m kodiuser
Create two additional groups which LightDM needs to enable autologin:
- sudo groupadd -r autologin
- sudo groupadd -r nopasswdlogin
Add kodiuser to those groups:
- sudo gpasswd -a kodiuser autologin
- sudo gpasswd -a kodiuser nopasswdlogin
EDIT: 20170123 - My reviewers have suggested some edits to the article, many of which I've applied.
It's been a while since I wrote a Huginn tutorial, so let's start with a basic one to get you comfortable with the idea of building an agent network. This agent network will run every half hour, poll a REST API endpoint, and e-mail you what it gets. You'll have to have access to an already running Huginn instance that can send outbound e-mail. This post is going to be kind of lengthy, but that's because I'm laying out some fundamentals. Once you understand those you can skip past the explanations and move on to the good stuff.
First, a little background - what's a REST API? If you already know just skip down past the cut and move on, but if you don't know what I'm talking about I'll try to explain. I'm going to assume that you've been able to install Huginn using my instructions or someone else's, or you've got access to a running instance. I'm also going to assume that you're not a hardcore coder, you're someone who's trying to apply a useful tool to your everyday life.
At its simplest, an API (Application Program Interface) is a way to interact with a system or part of a system. It's (hopefully) designed to be regular, which means that once you understand the basics you can apply that knowledge to figure out the more complex parts with a little messing around because the basics continue to apply. Let's say that I've written a library called myLib, which implements a bunch of really annoying stuff (like opening and closing files and sorting elements of data) so you don't have to. My library has a bunch of functions that carry out those tasks (openStupidFile(), readAllOfFilesContents(), sortIntegers(), sortFloatingPointValues(), searchThisCrapForAString()) when you call them in your own code. Those functions are part of my library's API. In the documentation are instructions for calling each function, which includes the arguments you need to pass to each function (e.g., openStupidFile() takes two arguments, a full path to a file and 'r' for read-only or 'rw' for read-write, and it returns a handle to the file that you can pass to another function or NULL if it failed). The data type each function returns (the file handle or NULL value) is part of the API, as are the arguments each function takes (path to the file and 'r' or 'rw').
The same principle has been applied to the Web in several different ways. What concerns us right now is something called the RESTful API (REpresentational State Transfer), which basically means interacting with a web service using HTTP verbs (GET, PUT, POST, and so forth) and referencing URLs instead of functions in a library. Like HTTP, requests are stateless, which means that you make a request, the server responds, and there's no further context beyond that. You can think of RESTful APIs as fire-and-forget. The general idea is that there is a web server of some kind, which could be a traditional one like Apache or a specialized one running inside a web app built around a server like web.py which responds to those URLs in some way. If you make a GET request to a URL, it'll send you some data. If you make a PUT request you replace something on the server at that URL with something you send it. If you make a POST request you create a new something on the server. If you make a DELETE request that something on the server gets erased. All of this depends on the HTTP verbs the server supports (not all REST APIs need to support all of them), your access permissions (not every account can do everything), whether or not you've authenticated to the server (it is sometimes the case that read-only access doesn't require an account but read-write access does require an account or an API token or something else along those lines), or who owns a particular resource (Alice's resources are read-only for every other account on the server, but read-write for her alone), of course. REST makes life easier but it's not carte blanche to run hog wild. Additionally, many REST API services enforce access limits - you get so many requests per minute, hour, or day and after that it returns errors. For example, Twitter's API will return an Error 420 (enhance your calm) if you trip their rate limiter.Click for the rest of the article...
I shouldn't have to write this disclaimer, but here we go anyway: I am not one of these people and never will be. I mirrored the documents in question because data has a way of disappearing from the Net when lawyers get involved, a phenomenon called HTTP Error 451 (Unavailable for legal reasons), and we're already seeing potentially damaging and damning information quietly going away. So, if you're going to say that because I have a copy of a particular document on my website I support the author when I just said I didn't, please pull your head out of your ass.
What a world in which I have to say this.
If you were fortunate yesterday you got to watch this man, Richard Spencer (Wikipedia page archived at 20170121@0955 hours PDT in case somebody sanitizes it) (local mirror) (mugshot), get punched dead in the face (local mirror in case the video disappears) by what appears to be an antifa protestor on live television. Spencer is openly and vocally a white supremacist and chairbeing of an uncannily influential white supremacist think tank called the National Policy Institute (google them, I'm not linking to their website), though in the US they're calling themselves white nationalists these days. He wrote this article (Internet Archive copy because it mysteriously vanished from his website) (local mirror) At the Inauguration yesterday, he said this: "Let's party like it's 1933." (local mirror) There is some controversy about this guy getting clocked while being interviewed. Perhaps, some say, they should have given him a chance to make the first move. Perhaps he should have been taunted into throwing the first punch to have some justification for getting nailed.
I disagree, and this is why: Have you ever gotten stomped?
Seriously - have you ever gotten the living hell beaten out of you because you were not white, or because you were queer or just because somebody wanted an excuse to take you out? Legit beaten down, wound up in the hospital, perhaps injured for an extended period of time? Maybe still feeling it years later?
These screwheads do not give you a chance. They do not taunt you into throwing the first punch. They do not let you make the first move. They come at you with everything they've got, usually as a group, and they do not let up until either you're down and out or somebody comes to your rescue (which is rare, if ever). They have only one thing in mind, and that's turning you into paste on the floor or sidewalk. They do not let up until they think they're done, for some definition of done. They care about taking you out, period, full stop.
Does that make what happend to him right? Well, yes, he's a goddamn Nazi. His followers, and groups moving along the same lines have done the same thing to people time and time again over the years, often much worse than he got. People like Spencer have the gift of making up erudite-sounding words to justify it.
I shed no tears and raise a toast to the unknown person who punched him. That was a very small taste of what some of us got for the crime of merely existing. It isn't a matter of right or wrong, it's a matter of what goes around comes around.
"And eventually, there aren't any real people left. Just robots pretending to give a shit."
"Perhaps. Depends on the population dynamics, among other things. But I'd guess that at least one thing an automaton lacks is empathy; if you can't feel, you can't really relate to something that does, even if you act as though you do. Which makes it interesting to note how many sociopaths show up in the world's upper echelons, hmm? How ruthlessness and bottom-line self-interest are so lauded up in the stratosphere, while anyone showing those traits at ground level gets carted off into detention with the Realists. Almost as if society itself is being reshaped from the inside out."
"Oh, come on. Society was always pretty— wait, you're saying the world's corporate elite are nonsentient?"
"God, no. Not nearly. Maybe they're just starting down that road. Like chimpanzees."
"Yeah, but sociopaths don't blend in well."
"Maybe the ones that get diagnosed don't, but by definition they're the bottom of the class. The others are too smart to get caught, and real automatons would do even better. Besides, when you get powerful enough, you don't need to act like other people. Other people start acting like you."
--Cunningham and Sascha!Gang of Four, Blindsight, by Peter Watts
UPDATE (20170120): The game may have been found!
Many years ago, maybe a year after 321 Contact magazine merged with Enter magazine, there was a review of a video game which seemed like it was a tie-in for the movie 2010: The Year We Make Contact. The scenario was that you'd just gained access to the USS Discovery, and you had to repair all of the systems on board the ship to win the game. As I recall, a free hint in the review was that you should repair HAL-9000 first, because he could help you figure out how to fix the rest of the ship. I don't think I ever saw it in a store (then again, it's been over 30 years), nor do I recall reading about it in any of the other Commodore magazines I was reading at the time. It may have been vaporware - an early review copy could have been sent out but it never actually hit the shelves. I've searched for information about this game periodically over the years, and I've had searchbots prowling around looking for information about it as well (even dozens of permutations of likely titles for the work), and none of us have found anything even vaguely talking about it.
Oh, Internet hive-mind... did this ever actually exist? If so, where could I find a copy? And, most importantly, what was the title of the game?
As mentioned above, I think the game in question has been found. Jarandhel succeeded where I kept failing. He was able to determine that the game's title is actually 2010: The Graphic Action Game, and it's not a Commodore title, it's a Colecovision title. The screenshots certainly seem to match what I remember seeing in a magazine, and the game mechanics definitely fit what I recall. The entire game has been described as being one big hacking minigame (warning: TV Tropes link). Chances are there's an abandonware version of it floating around someplace, though I'll need to track down a Colecovision emulator to play it.