What is a JSON feed? Learn more

JSON Feed Viewer

Browse through the showcased feeds, or enter a feed URL below.

Now supporting RSS and Atom feeds thanks to Andrew Chilton's feed2json.org service

CURRENT FEED

Niclas Darville

Blog posts by Niclas Darville.

A feed by Niclas Darville

JSON


Danish Climate Data

Permalink - Posted on 2017-09-08 14:00

Find yourself grousing inside during the awful Danish weather? Tjek DMI’s datasets; Ctrl+F “Climate Data Collection 1873–” http://www.dmi.dk/laer-om/generelt/dmi-publikationer/2013/

Climate and weather in DK

  • https://www.dmi.dk/en/klima/klimaet-frem-til-i-dag/danmark/nedboer-og-sol/
  • https://www.dmi.dk/klima/fremtidens-klima/danmark/
  • http://www.dmi.dk/nyheder/arkiv/nyheder-2017/juni/tilbageblik-paa-vejr-og-klima-i-2016/
  • http://www.dmi.dk/laer-om/generelt/dmi-publikationer/2013/


A Simple Script to Free Resources in Windows

Permalink - Posted on 2017-06-13 15:00

I have a computer that largely consists of eight-year-old components, so maintaining a stable 60 frames per second can be a challenge.

I mainly play Overwatch, and while the general performance seems to be acceptable, I started to notice some weird intermittent dips in performance—of course at the worst possible moments.

Turns out iTunes and Dropbox have a habit of just destroying users’ CPU for no good reason, which means you can’t predict when they’re going to spring a surprise on you.

On top of that, multiple apps have no compunction about using up all your bandwidth to download updates in the background; even Blizzard’s own launcher has started hogging all my internet as Overwatch was running at a speed I didn’t think I had chosen.

Closing all these miscreants is a pain and a half, both the time it takes to do the basic housecleaning every time you want to play a stupid game, as well as having to remember your checklist of programs to close.

This is where I ran into .bat scripts and Windows’s taskkill command that makes it dead simple to write your own script to close all these programs with a simple click before each session.

Just save the contents of killresourcehogs.bat to a file with a file name of your choosing and hit it before you play your game. Of course, you’ll have to configure it depending on the programs you use and don’t use; you don’t want to close the Blizzard launcher as you’re about to play Overwatch for instance.

Another scenario where you may want to retain your optimal performance is when streaming, recording or watching a video online where CPU is alpha and omega.

If you plan on doing more with this, you can also call killresourcehogs.bat from another batch script to avoid repeating yourself:

call killresourcehogs.bat

Now go rank up.

Update: Turns out this script is also excellent for quickly closing programs that might use a lot of bandwidth if you’re on mobile data or a slow internet connection.

Repeal and delay

Dropbox in particular is an awful piece of software, and on every startup, it immediately starts indexing which smothers your CPU. Most of the time, the first thing people do when their computer boots is to open a browser. Why have anything else delay that.

Rather than have Dropbox and similar apps do this, some people like myself opt for not running these applications on startup.

But it’s not like they’re unimportant apps so this is just a frustrating compromise that has its own issues. I’ve had no small amount of sync conflicts because of this.

Instead, I figured out an alternative that’s not as frustrating:

  1. Don’t run a list of apps on startup
  2. Create a list of apps with a delay after startp
  3. Implement list with batch scripting
  4. Put .bat file in the Start folder

Here are some apps I don’t need to run at startup:

  • Backup software
  • iTunes(!)
  • Dropbox(!)
  • Battle.net
  • Discord

Starting applications is little different from using taskkill to tend them.

I’ll show you what my startup.bat looks like and explain it line by line:

  • @echo off: don’t print anything
  • timeout /t 120: sleep for 120 seconds before moving on
  • iTunes: Some apps can be started with just a name
    • /min: start minimized; doesn’t work with Discord and Battle.net, and makes iTunes act weirdly
  • Dropbox: Batch scripting supports environment variables

The last part I’ll break down in more detail.

First off, if a path has whitespace ( ) or dashes (-), you will need to put your path in quotes. Otherwise, you should not put it in quotes.

If an empty terminal window opens, it’s because you messed one of these things up in one of your lines (or several).

When you put a path in quotes, you will often need to add a title argument to start. I just give it an empty one ("").

I don’t want to give you a more general explanation of how it works; just write your script through trial and error and see whether it starts. I know I have.

In light of this, let’s go over our start scripts once again:

  • iTunes: is a known app, so we just use shorthand
  • Dropbox: path has no spaces or dashes so we don’t use quotes
    • We use an environment variable, since it’s easier and prettier
  • Battle.net: path has a space so we use quotes and the empty title
  • Discord: path has a dash so we use quotes and the empty title
    • We use an environment variable, since it’s easier and prettier

One annoying thing here is that Discord creates a folder for each new version of its app so you’ll have to manually update it each time.

If you check the file location of the app in the Start Menu, you’ll see this as target application:

%LOCALAPPDATA%\Discord\Update.exe --processStart Discord.exe

I haven’t been able to recreate the execution in a batch script, but maybe someone knows how to do it in a way that isn’t too complex.

Either way, here is a a tolerable, self-made, self-controlled, exportable, shareable way to delay apps from starting up to improve your experience. You should never allow a third-party tool to do this for you.

The Start folder (on recent versions of Windows) is

%APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup

You can also just use Run (Win + R) and type shell:startup. Drag and drop a shortcut for your script and you’re done.

Your computer may seem fine and fast now, but just you wait.


A Simple JSON Feed Implementation for Jekyll

Permalink - Posted on 2017-05-19 12:00

How to easily get a list of JSON feed items in the terminal.

I read about the new JSON feed spec, and I was intrigued by the novelty of it—not the ease of using JSON as much as the insurmountable pain of using Atom XML.

Since I use Jekyll for my sites, writing the code would need to be done in Liquid without any plugins and Ruby code. I decided to extend the code for my Hafnia Times site and project, in part because the whole thing is open-sourced on GitHub.

It’s borderline stupid how easy it was, but here’s the code1 it took:

A few stray comments on this.

First, fields like icon, favicon, and author depend on your particular implementation, and I didn’t feel like generalizing the code by using front-matter variables rather than just pasting the values directly.

Second, you’ll have to read the spec for the full deets on which fields are optional and mandatory; I want to get around to some fields that I’ve commented out for now in the code. Because Hafnia Times supports multiple authors, I can’t just put post.author as you would in most cases.

That’s about it; check out my JSON feed code for Hafnia Times, compare it to the Atom feed code, and see the live result on JSON Feed Viewer.

If images don’t show up, it’s because they’re hotlink protected.

It’s really just that easy.

Update: Thought why not and added one for this blog at https://ndarville.com/feed.json:

View blog in JSON Feed Viewer.

  1. It literally took me longer to write this blog post than the JSON feed code, because I couldn’t get Jekyll to escape the Liquid code example. I used the .liquid extension in the gist, because Gist forces syntax-highlighting based on your extension. ↩︎


How to Get Started with Mastodon

Permalink - Posted on 2017-04-01 12:00

(This is not an April Fools joke.)

What the h*ck is Mastodon?

A four-column Mastodon interface similar to TweetDeck
The Mastodon interface. Click the image for a larger image.

The very short answer is that Mastodon is an open-source alternative to Twitter that is already extremely polished. It almost works better than Twitter itself. It sure as h*ck is a lot faster.

Here is the nerdy answer from the GitHub repo:

Mastodon is a free, open-source social network server. A decentralized solution to commercial platforms, it avoids the risks of a single company monopolizing your communication. Anyone can run Mastodon and participate in the social network seamlessly.

An alternative implementation of the GNU social project. Based on ActivityStreams, Webfinger, PubsubHubbub and Salmon.

What Mastodon does is provide people the opportunity to create their own Twitter-like community.

Each community, or server, is called an instance. The most popular instance is the official one at mastodon.social. The second most popular is probably awoo.space.

There are many others; you can check some of them out in the list of known Mastodon instances.

You can follow and interact with people across instances and view users you don’t follow in the Federated timeline. The main distinctions are community guidelines, specific purposes of the instance, and privacy settings; not everyone wants to be public.

Furthermore, it’s up to each instance to decide which other instances to federate with. This means that if you use awoo.space, the federated timeline will only consist of updates from awoo.space and mastodon.social, whereas mastodon.social federates a lot more instances. You might want to review the instances a site federates with before deciding on where to register.

Mastodon has three kinds of timelines—feeds if you will:

  1. A timeline of the users you follow (like Twitter)
  2. A public local timeline of everyone on your instance
  3. A public federated timeline of everyone across some hand-picked instances

Let’s back up a bit and watch a brief silent video to give you a visual preview of the platform:

Here are some of my first impressions of the platform:1

I really dig the NSFW feature for photos and the content warning feature for text updates*. This makes it very easy to hide spoilers and other upsetting content—and very hard for people to excuse their transgressions. I feel very strongly about spoilers.

Just in time for the impending onslaught of Game of Thrones’s next season.

Get started

Sign up, duh

Sign up, dummy. Just start with the official instance for now.

Don’t forget to select an avatar, bio, and display name

Find friends

Use the find friends tool to connect with friends from Twitter.

Here are some people you should check out:

  • Me, obviously
  • Gargron, the creator of Mastodon
  • Sarah Jeong whom you should already know from Twitter

Update: some prominent new arrivals from the InfoSec community

Clients

You probably don’t want to use Mastodon in a clumsy browser tab if you plan on being a power user so here are your options:

You can also customize Mastodon with userstyles2 for your browser. This list does not contain all the userscripts such as this contrast-friendly userscript that’s very reminiscent of Tumblr’s design.

“Why shouldn’t I just wait and see?”

If you don’t mind being late to claiming a good username, sure.

As of now, almost 25,000 have signed up.

That’s it for now

Pretty easy, right?

Have at it—and follow me @pessimism@mastodon.social.

  1. If you want to know how I embed updates, check out the fiddle I created. ↩︎

  2. If a userstyle script isn’t working for you, you may need to add your instance’s URL pattern(s) to the list of includes at the top. ↩︎


Streaming privacy

Permalink - Posted on 2016-11-12 12:00

These days, it feels as if everyone’s a livestreamer. Everyone at least to entertain the idea of livestreaming their videogame forrays, and who can disagree with that.

No longer do people have to rely on abstruse software like XSplit and OBS, as graphics card manufacturer bundle their own streaming software with drivers. HDMI splitters are no longer required to livestream your console sessions, as they let you stream natively.

While software and hardware makers are slowly adapting the the new fad, their reaction to the privacy challenge posed by livestreaming has essentially been nothing.

While I can’t fix the problems for you, I can at least make you aware of them by addressing some of them.

Scenarios/environments

  • Browsers
    • General:
      • Search/Address bar autocomplete
      • Recent or frequent websites
    • Chrome: name
    • Microsoft Edge
      • Display photo
      • Default language
      • Used to show full name
  • Web forms: autocompleted or pre-filled fields
  • Google: country
  • Clock: timezone (based on time) and more specific location (based on date format)
  • Windows
    • Recently or frequently used files, folders, and programs
    • Autocomplete
    • And yes, it’s usually more “compromising files” than personally identifiable information
    • Notifications and pop-ups (for screen capture)
The new-ish user tab in Chrome reveals your first name, which sucks for livestreaming privacy.
The new-ish user tab in Chrome reveals your first name, which sucks for livestreaming privacy.
Shows the File Explorer Options menu with a dedicated Privacy section.
Be sure to untick all the Privacy settings in your Windows installation's File Explorer Options.
The Indexing Options menu with the indexed lcoations.
Go to Indexing Options and click “Modify“ to specify which locations you want and do not want your Start Menu to index and feature when you hit your Start button. When you’re done, click “Advanced” and hit “Rebuild” for the changes to take effect. You’re better off using Launchy anyway.

Games

  • User and server IP
  • Names
    • Username
    • Full name of friends (and friends of friends)
      • Eg “Real ID” on PSN and Battle.net
  • E-mail address, especially in log-in menus

Programming

  • Username (PATH) in editor and terminal chrome
Editors like Atom and Sublime Text reveal the PATH which can contain your real-life name.
Terminals and editors like Sublime Text and Atom in this case will reveal the file path in the window chrome. This will show your username on Windows—along with other potential information in the PATH dir. You can use a package like custom-title, but you’ll be putting your faith in an external piece of software that may let you and your privacy down.

“Streamer mode”

A “streamer mode” for videogame consoles won’t work, because streaming detection won’t work when people use capture cards instead of native broadcasting features—although it does go a long way.

One could, however enable a manual streaming mode switch, but this would no longer be automated—nor opt-out—which could still lead to inadvertent privacy disasters.

Another solution is to provide Twitch integration with your game so it will be able to detect whether you are live. This is probably the optimal option. This can be done on a per-game basis for PC, but it would require native support on consoles.

Speaking of native support, would it really kill Microsoft to build in features to make this as easy as possible for devs, be it Xbox or Windows.

A win-win for videogame developers

Making the lives of streamers and YouTubers easier with streaming-specific settings, automatic or manual, benefits everyone.

One way it can benefit videogame developers significantly is to use this setting in tandem with their game’s graphics settings. People don’t tend to understand how video compression works, but the more similar two contiguous frames look, the better the quality will be, because you’re able to send more information about the difference between the two images. Take a look at Tom Scott’s video on this for more info:

What this means for streaming and recording is that you’ll want to turn down or off settings like:

  • foliage detail
  • motion blur
  • depth of field

… as these make contiguous frames extremely distinct from each other.

With a streaming mode, these settings can be automatically detected and handled accordingly without the average streamer or YouTube needing to understand the ins and outs of how video compression works.

The stream or video will look better—and the game will. One might think developers would desire such a thing, but so far, game and OS developers seem to act against their own interests, concern for privacy or not.

Twitch Clips

Twitch released an “instant replay” service for their platform:

Note that you can see the clipper in the top left corner.

While convenient, entertaining, useful, and all sorts of good things, clips also serve to capture on-stream moments from VODs1 that the streamer later went on to delete. Lirik himself—one of the biggest streamers on Twitch—has accidentally revealed private information on a number of occasions, after which he went on to delete his VOD.

To repeat the point, even one of the most popular and seasoned Twitch streamers makes mistakes from time to time, and it’s absurd that there isn’t better accounting of this basic fact about human beings.

I want out

After much googling and thinking there was no way to even get clips deleted, it turns out there is:

Q: Can broadcasters removed clips created of their content?

A: Broadcasters cannot remove Clips they have not created, but they can request removal through the Clip report function found in the gear icon.

Q: I found a Clip that violates Twitch’s Community Guidelines/Terms of Service. What do I do?

A: If you need to report a Clip, you can click on the gear icon in the video player to access the report tool:

Screenshot of the pop-out menu from clicking the gear icon.

“How to use clips”

I have re-written this post a million times by now after a bunch of research, but let’s start with this “feature”.

This is a dumb UX for such an important feature. Is there a way to disable Clips of your stream by the way? Nope.

While we may defend the feature—or not—we have to recognize the fact that some demographics of streamers will be forced into a perpetual game of creepster whack-a-mole.

This is what the reporting interface looks like for viewers—ie people who aren’t the streamer:

A reporting interface that shows no direct reporting option for maliciously recorded clips. It only states that “Tell us your concern about this content so that we can review it to determine whether there has been a violation of the terms of service. (Abuse of this feature is violation of the terms of service.)’

This reporting interface is clearly designed for reporting streamers, not the behaviour of clippers. Can you tell at a quick glance how you would report a maliciously recorded Clip? I can’t.

I’m going to assume that you have to pick “Other Terms of Service Violation” at the bottom, given the literally parenthetical comment in the feature description.

I am happy that there is a feature that nominally exists to report malicious clipping of a streamer, but who will ever follow through on reporting a Clip with this reporting workflow?


Remember when I wrote that I had re-written this post a million times?

Well, one of the things I learned was that Twitch’s own Clip guide is fucking wrong. Here is what the FAQ says, as quoted before:

Q: Can broadcasters removed clips created of their content?

A: Broadcasters cannot remove Clips they have not created, but they can request removal through the Clip report function found in the gear icon.

And this is what it looks like when a streamer click the gear icon on a Clip from their stream clipped by someone else:

Two options available: “Remove All Clips’ and “Remove Clip’

And you’ll never believe what happens when you click “Remove Clip”; the fucking Clip is removed! Don’t ask me what happens when you click Remove All Clips.

I only discovered this through research and experimentation, and using the Clip list for my channel.

Repeat after me: reporting tool can never be an afterthough for any platform.


The Clips feature has no opt-out feature2, so you’re drafted into this panopticon by using Twitch. Most people will appreciate the Clips feature, but it doesn’t work for everyone, and it doesn’t have to. Let these people who feel at risk to opt out and give them a piece of mind. Surely they’ll feel more inclined to stream if they’re safer on the platform, no? This seems like a win-win for everyone.

On top of that, I think a basic, sane measure would be to automatically purge all Clips related to a VOD when it’s manually3 deleted. There’s a reason people delete the VODs, and while VODs expire, Clips go on forever.

Q: Do Clips ever expire?

A: No, just like Highlights, Clips will never expire!

Yay!

Oh great, an API

On Jan 11, Twitch announced a new Clips API to much fanfare:

I was initially excited about this and toyed around with the API for a bit. I wanted to make some streamers happy by showing them a Top 5 list of their most popular Clips, but with one streamer, the only female one I tested it with, the top clips were, let’s just say, really fucking creepy.

And granted, the Clip may not have been made for wider distribution beyond the one user—the view count was very low for this fairly obscure streamer’s clip—but the bottom line is that the new Clips API is now another thing for streamers to worry about, vulnerable ones in particular, as always.

Is this a great feature for those people? I think we should consider our feelings in the same context as when companies like Facebook expand the search API for their platforms.

Have fun perusing the list of Clips for your channel.

A Clips section

As of Feb 27, channels now have a dedicated Clips section.

Oddshot.tv

A competing service who were first with the “instant replay” feature are Oddshot.tv. They don’t provide a native takedown feature either, but you can apparently shoot “Joe” an e-mail, and he’ll take a look at it. That is, if you’re the streamer getting clipped, not a user who accidentally captured something compromising.

And there’s no “Alice” to look over your request if you happen to be a female support rep to handle a gendered situation.

Not that videogame communities has any issues of gender, of course.

As if Oddshot’s outreach measures weren’t absurd enough4, you can apparently sending them an e-mail to procure a key for Oddshot.tv’s clandestine API.

Updates

Aug 29, ‘17

Goes to show how clueless even behemoths like Activision Blizzard’s Bungie are:

update: the toggle does nothing

so I tested it and the name will still pop up even if you’ve turned it off so when I said something my name showed, when my brother typed in something his name still showed despite having it turned off

http://www.neogaf.com/forum/showpost.php?p=247204374&postcount=17

UPDATE 2: Disabling REAL ID on yout account management does nothing either

update 3: It might only show your name to your real id friends on Bnet

  1. VODs are the archived videos of a livestreams. After a policy change, they expire after a certain amount of time. ↩︎

  2. Some say the feature is available exclusively to Partners, for what it’s worth. ↩︎

  3. A stream’s broadcast archive of VODs is automatically deleted after a certain duration of time—unfortunately. However, streamers tend to have a good reason to delete their VODs by themselves. There isn’t even a checkbox to purge all VOD-related clips when going through the flow of deleting your VOD, just a Cancel/Delete modal. ↩︎

  4. Reddit is not made for customer support nor a knowledge base. ↩︎


After 11/9

Permalink - Posted on 2016-11-08 23:00

Day 0, 11/9 (Wed)

Was nauseated since midnight. Couldn’t sleep save for one or two hours.

Day 1, 11/10 (Thu)

Stories of assaults and verbal harassment. Muslim women deciding on whether to leave their hijab at home.

Our Danish prime minister basically called Obama a weak leader and Trump a strong one—or daresay a strongman.

Day 2–3, 11/11–12 (Fri–Sat)

An awful lot of open letters from white people: Amy Schumer, Jennifer Lawrence, Aaron Sorkin, some fictitious person from Parks and Rec, Jon Voight(!).

Corporations have been “congratulating” Trump on his victory: Microsoft, Jeff Bezos. Automakers have already begun asking Trump for favours.

Day 5, 11/14 (Mon)

Stephen Bannon was appointed Chief Strategist. Danish media barely write anything about him, and the mainstream American media fail to mention that he’s an antisemitic white supremacist who hates women.

Republicans politicins say they “don’t know who Bannon is”.

Trump wants security clearance for his children. And Giuliani is saying they need to manage Trump’s “blind trust”, because otherwise they won’t have a job.

Day 6, 11/15 (Tue)

It’s amazing how many euphemisms for Bannon media can use—“provocateur”, “controversial figure”. “Voices”, “critics” and other false talking positions don’t help, especially when they represent non-existing dissenting Republicans.

They also really need to stop “Alt-Right”.

Day 7, 11/16 (Wed)

The amount of money Donald Trump and his fellow corporatists will loot from the US is going to be crazy.

169 House Dems and 0 Repubs demanded the resignation of Bannon in a letter.

Day 8, 11/17 (Thu)

Muslim registrations, comparisons to Jews under WW2. Trump proxies citing the internment of Japanese-Americans as “precedent”. It’s that kind of day.

Day 9, 11/18 (Fri)

Cabinet appointment about as bad as they could be for civil liberties and racial and religious quality. Doesn’t get more anti-everything.

Day 10, 11/19 (Sat)

Trump settled the Trump U suit for a mere $25M. Must be a pittance for all claimants. No admission of guilt required, of course.

The NYT bumped off the story from their digital front page in favour of the Hamilton thing; WaPo didn’t feature it at all (Ctrl+F).

A lot of people were Very Upset that people booed the VPE. Dumbasses.

Day 11, 11/20 (Sun)

LAT, NYT, and WaPo barely featured the Trump U story, if at all, but NYT and WaPo featured the Hamilton nothingburger.

Added weekdays to the headings since it’s too easy to write the wrong date otherwise.

Day 12, 11/21 (Mon)

The media are now doing articles on literal Nazis and white supremacists as if they were archaeologist making a new discovery that will rewrite textbooks.

Some people associated with Bannon/white nationalists were taped Heiling, and the media seemed to struggle describing it.

The CNN also had a chyron asking whether Jews are people, so this day’s been fucking awesome. “Alt-right founder questions if Jews are people.”

THE MEDIA (CNN, Charlie Rose, and other dweebs) showed up at Trump Tower for an off-the-record metting where CNN, Blitzer, Zucker et al. apparently got yelled at by an incandescent president-elect.

Day 13, 11/22 (Tue)

Someone on Twitter pointed out that Trump’s kleptocracy is done in broad daylight to normalize it, rather than doing it in secret.

Trump admitted (via filing) to misrepresenting his foundation.

Day 14, 11/23 (Wed)

Looks like someone may have hacked the election. Awesome.

Day 18, 11/27 (Sun)

Donald Trump just tweeted he would have won the popular vote if not for the “people who voted illegally”.

Day 21, 11/30 (Wed)

NYT and CNN have been an absolute shitshow in not parroting Trump’s propaganda. Such as Trump “saving” 1,000 jobs and “fixing” his conflicts of interest.

Day 31, 12/10 (Sat)

Trump is barely reading intelligence briefing and is now warring with CIA in press releases. Lord.

Day 32, 12/11 (Sun)

Allen West just Facebooked about exterminating Muslims, guess he misplaced his dogwhistle.

NYT has been a complete failure and embarrassment. Pity the naïve subscribers.

Day 33, 12/12 (Mon)

Republicans just dissolved the Broadcasting Board of Governors—which supervises government-funded media outlets and creates some distance between them and the government. Looks like a Ministry of Truth in the making.

Trump is doubling down on questioning the US’ One China policy. Swell.

Day 34, 12/13 (Tue)

The Benghazi Committee shut down. How about them apples.

Day 36, 12/15 (Thu)

Everyone except the white tech CEOs at Trump’s meeting knew it was just a photo-op to normalize him.

Day 38, 12/16 (Fri)

“Every critic, every detractor will have to bow down to President Trump.” ~ Omarosa Manigault.

The FBI now support the CIA in their allegation that Russia moved to influence the election in favour of Trump.

Day 41, 12/19 (Mon)

Oh great, someone’s doing a documentary on a KKK family in the US. Coverage by NYT.

NYT has been absolutely horrible in general, it’s amazing.

Day 45, 12/23 (Fri)

Trump announced nuclear rearmament on Twitter and an arms race on Morning Joe to two hosts wearing pyjamas … I think?

Day 51, 12/29 (Thu)

The Trump administration is reportedly looking for a Hispanic cabinet appointment to Agriculture. The mind boggles.

Threshold Editions, a Simon & Schuster imprint, paid Milo a $250k book advance.

Day 52, 12/30 (Fri)

Trump pinned a tweet praising Putin.

Heritage praised Putin (over Obama) in a tweet as well.

Day 56, 01/03 2017 (Tue)

House Republicans knee-capped the Office of Congressional Ethics (OCE) with little to no attention.

^[oce]: Office of Congressional Ethics

What’s left (1) can’t release information to public, (2), have a spokesperson, nor (3) contact law enforcement about a dicovered crime.

Secret meeting, secret roll call, on a national holiday.

In the parlance of Washington Post, the OCE was “reined in”.


Trump went on to tweet something to the extent of “was that really necessary”, and MSM like NYT and Polico bought it hook, line, and sinker—as is to be expected. ABC used “questions”, whereas the former used “rebuked” and “tweets disapproval”. WaPo wrote “slams”.


The measure has now been rolled back, after “intensive criticism” by Trump and “others”, according to the bootlicking NYT.

Looks like people calling in to reps’ offices may have been a driving force behind the aboutface.


NBC hired Megyn Kelly.


The Clintons and Bush Jr will attend the inauguration. Bush’ Sr. unable due to age.

Day 57, 01/04 (Wed)

ABC and WaPo keep inflating Trump’s roll in the turnabout; WaPo: “Trump takes aim at House Republicans, and they run for cover”.


Exxon will pay Rex Tillerman $180M before he leaves for SoS.

Day 58, 01/05 (Thu)

Greta van Susteren is joining MSNBC. Tucker Carlson replacing Megyn Kelly on Fox.

On Wednesday, the GOP will overwhelm the media and voters by staging

  1. Trump’s first press conference
  2. 6 confirmation hearings
  3. A budget fight including a discussion about repealing Obamacare
    • Planned Parenthood defunding is included, too

Day 59, 01/05 (Fri)

Republicans reinstated an obscure rule from 1876 that allows them to reduce the salary of a federal worker to $1: the “Holman Rule”. Gee, wonder who this will be used on.


Trump will be doing an off-the-record meeting with David Remnick (New Yorker), Anna Wintour (Vogue), and Graydon Carter (Vanity Fair).


Trump has ordered ALL of Obama’s ambassadors to resign by Inauguration Day.


Trump now wants to investigate top intelligence officials on top of wanting to give the


Facebook hired a right-wing “education reform” person to oversee its news division. She enjoys a line of communication with Betsy DeVos from the Trump administration.

Day 60, 01/06 (Sat)

NYT with an exposé that all foreign-policy is relayed to Kushner before Trump.

Also, looks like the cabinet appointments will not be vetted on ethics and conflicts of interest in time.

Day 64, 01/10 (Tue)

The cabinet confirmation hearings will begin before any of them have been vetted by the FBI.


Kushner seems to be leaving the New York Observer and parting ways with many assets (by passing it on to his brother) after which he will become a senior advisor to Trump, which is all kinds of illegal. His mother will also control a trust where some of it is funnelled?


16 bomb threats, all of them false, were reported against Jewish centres in the US yesterday.


Cory Booker (D-NJ) is testifying against Jeff Sessions is apparently the first senator-on-senator action for a cabinet appointment.


After pressure, “only” three nominees will happen without ethics review, after DeVos’s confirmation is postponed six days.


Republicans have passed a new measure that lets House members hide their expenditure records from ethics probes.


The Sessions hearing did not seem to offer much in the way of TV moments nor peripeteia.


Trump has announced that Obamacare should be immediately repealed—with some replacement to follow, as difficult if not impossible as that may be.

He has also announced a vaccine skeptic committee chaired by skeptic Robert F. Kennedy Jr.


CNN sez intel chiefs have given Trump a report about information Russia possesses to “compromise” him.

Oh, BuzzFeed has the full memo and published … everything.

WaPo found the letter by Coretta Scott King condeming Jeff Sessions


Republicans have put forward a bill designating “The Muslims Brotherhood” as a terrorist organization.

Day 65, 01/11 (Wed)

Trump held his first presser in ages, kept referring to himself in third person as he said he

  • Wanted to repeal and replace Obamacare ASAP
  • Is doubling down on his corruption
  • Encouraged people to give him money through his hotel, after which he’d donate the profits to the Treasury
  • Will build and pay for his wall ASAP and get Mexico to pay for it down the line
  • Will nominate someone for SCOTUS within two week after the inauguration
  • Refused to answer questions from CNN’s Jim Acosta whom he called “fake news”, while calling BuzzFeed “a failing pile of garbage” that will “pay the consequences”

Trump also staffed the press conference with supporters who applauded him and shouted down critical questions.

Day 66, 01/12 (Thu)

Trump literally tweeted “Buy L.L.Bean.”


Obama admin has given NSA the green light to share raw surveillance data with the other intelligence agencies.


Amazon has announced 100,000 new jobs to appease Trump. Great.


Eric Schmidt (Alphabet) spotted at Trump Tower.

He’s then gone on to praise the choice of Dina Powell as “Assistant to POTUS & Sr. Counselor”.

Day 67, 01/13 (Fri)

Obama has cut off Cubans’ ability to immigrate.


Rep. Chaffetz has threatened ethics watchdogs Office of Governmental Ethics with subpoenas if they criticize Trump.

^[oge]: Office of Governmental Ethics


CNN cut a weird positive “highlight reel” of his atrocious performance on CNN during which he had to argue with a Republican defending Obamacare that had saved his life.

They later announced two right-wing hires from Independent Journal Review: Hunter Schwarz and Kate Bennett.


The commander of the DC National Guard will be fired at 12:01 PM on Inauguration Day. For some reason. He was appointed by Bush in 2008.


House Dems attended a confidential briefing on Russian hacking and came to the conclusion that Comey is completely unable to run the FBI.

According to The Guardian, this is because Comey refused to answer questions on Russia and Trump, even during a classified hearing.

Day 67, 01/14 (Sat)

House GOP have barred CBO from counting hikes in deficit spending from ACA repeal.


Trump has decided to Twitter beef with John fucking Lewis. On the cusp of the MLK holiday weekend.

Day 68, 01/15 (Sun)

The Trump administration are thinking about throwing the press out of the WH press room and putting them somewhere else.


Rand Paul offered meak support for Trump’s attack on Lewis, saying he should not be above criticism.


Priebus joined Chaffetz in threatening the OGE director.


Gingrich wants to eliminate the CBO.


Trump dismissed NATO and the EU (weaker as a result of refugees/”migrants”) according to a British and German paper (The Times and Bild).

He also expressed wishes to move closer to Britain as well as Putin by trading sanctions for some nominal nuclear-arms reduction. So that’s that for the sanctions.

The German paper, Bild, praised Brexit and called EU “basically a means to an end for Germany”. He referred to the German refugees as “illegals”.

Later, Merkel said that Europe’s fate “is in our hands”.


Trump’s press secretary complained about an SNL sketch on TV—Trump, of course, did the same on Twitter.

Day 70, 01/17 (Tue)

Facebook made another right-wing hire for News Feed Communications Director.


Rick Santorum is now a senior political commentator on CNN.


Erik Prince, mercenary chief and brother of Betsy DeVos, is advising Trump “in the shadows”.

Day 71, 01/18 (Wed)

Betsy DeVos, the nominee for EduSec, did not understand the difference between proficiency and growth. Lawd hamercy.

Looks like DeVos might joins Tillerman in lying in her testimony. Him about his dealings with Russia (IIRC), she in saying she wasn’t on the board of her mother’s foundation. DeVos claims clerical error.


Alexander has said there will be only one round for the hearing of Price.

Same for DeVos, 5m each.


DeVos also didn’t know the Individuals with Disabilities Education Act.


Sen. Bob Corker said Tillerson will get a floor vote regardless of whether the committee approvees him.


DeVos’s hearing was a complete and utter mess. Hard to put a finger on one disaster that overshadowed the others.


Companies are now announcing their plans to bring “more” jobs to the US in an effort to ingratiate themselves with Trump. Some of these companies are just repeating prior plans, meaning that there is no net increase in jobs.

Some of the companies, according to WSJ today, includeBayer AG, GM, Hyundai, WalMart, and previously Amazon.

Car manufacturers were some of the first to pander to Trump as aforementioned (Day 2–3).


Trump said in an interview with Politico that “he likes his briefings short, ideally one-page if it’s in writing. ‘I like bullets or I like as little as possible. I don’t need, you know, 200-page reports on something that can be handled on a page.’”


Rumblings that the senate.gov site is down, but not for the people nearby (same wi-fi?). Both hides the hearings from the public and lets journalists think it’s up and running.


One round of 7m questions for Price, sez Alexander.


Trump told WaPo in an interview that he wants the military to march down Pennsylvannia Avenue to “[show] our military”.


Trump Hotel (Barad-Trump) is barring the media during the inauguration week, says the hotel director of sales and marketing in an e-mail to Politico.


Hat’s off to the Dems today, they’re killing it in the hearings.


32 Jewish community centres received bomb threats today, repeating the past instance.


“FBI, 5 other agencies probe possible covert Kremlin aid to Trump” writes McClatchy.


Trump also paid $25M to settle his Trump U lawsuit today.

Day 72, 01/19 (Thu)

Rick Perry apprently literally doens’t know what the EPA does, and only thought they dealt with oil and gas, according to the NYT.


Looks like the new administration is woefully understaffed with only a few dozen hires.


With the AgSec nominee named, there won’t be a Latinx in the cabinet for the first time since Reagan.


The Hill is reporting that the Trump administration are working to eliminate the Naitonal Endowments for the Arts and Humanities, VAWA grants, as well as privatizing the Corporation for Public Broadcasting. $10.5T worth of cuts over 10 years. That’s $1.9T more than the Republican Study Committee’s budget.


House Republicans have also moved to give away federal American land, in part by defining it as “worthless”.


Trump hotel in DC has offered a $500k inauguration package. Nothing corrupt about that. All 263 rooms are sold out.


Spicer now promoting Trump hotels in Q&As with journalists.


WaPo reporting that the people actually running Trump’s foreign policy/national security are Bannon, Kushner, and Priebus.


Trupm to name the owner of NFL’s NY Jets to be the ambassador to the UK, says ABC.


Louis Vuitton is launching a “Supreme” collection. White on red.


According to The Hill, Trump has asked around 50 Obama staffers to stay (because he couldn’t find the people).


According to HuffPo, Trump wanted a North Korea-like military parade with tanks and missile launcher, but the sourcing on it was kind of weak.

Day 73-1, 01/20 (Fri) - Inauguration Day

NYT backed up the McClatchy story about the investigation of the Trump-Russia ties. Based on intercepted communication.


There will be 1 person in the media for every 2 guests at the DeploraBall. The media are a part of the problem.


Inauguration concert was a ghost town. Will be interesting how the day of compares.


Sheldon Adelson and his wife were given dais seatings, which is unorthodox for donors.


The whitehouse.gov bio of Trump contains the lie that he won in an “electoral college landslide”. Same rhetoric for the popular vote. It generally is an extremely warped bio.


Adelson is also at the inaugural luncheon, which is orthodox as well.


Minor violent protests and destruction of property were front and centre of the news, even though the police said that the problem was miniscule and very limited. But media made it look different.


As one of the first action of the Trump administration, HUD has suspended the scheduled reduction of FHA annual mortage insurance premium rates, which will introduce a tax hike on ordinary Americans.


Inauguration attendence:

2017: 250k 2013: 1,000k 2009: 1,800k

Metro ridership:

2017: 193k 2013: 317k 2009: 513k 2005: 197k


The new whitehouse.gov website also inflates the crime statistics: “killings [in DC] have risen by 50%”. They didn’t even go up in 2016.

Day 74-2, 01/21 (Sat)

Trump also signed as the first executive order a scaling back of Obamacare with one page of general language.

House Republicans introduced a bill to do the same with fair housing (zoning, desegregation): H.R.482.


Trump has redecorated the White House with gold, such as replacing the red drapes in the Oval Office with gold ones.


DOJ has issued a report stating the White House isn’t an executive agency, and therefore, nepotism rules don’t apply for it.


whitehouse.gov now has multiple references to “America First”.


The Women’s March protest was crazy, enormous, eclipsing the attendance at Inauguration Day. Probably the biggest protest in the US since March 2003. Not just in coastal cities, too. Bigger than just about anything in decades in some places.

Vox says 500k in DC vs 250k on Inauguration Day. 275k in the DC metro at 11AM vs 193k on Inaguration Day.


Trump held a speech at the CIA in front of the wall of fallen officers where he proceeded to launch into an unhinged rant about the lying media and how he had far more people at Inauguration Day. Worse, some CIA staffers in the audience were laughing and clapping.

He even lied about the weather during his inauguration speech.

This was an optional event on a Saturday, which would mean the people who went decided to by their own volition, though. Sneaky.

It’s also unclear who clapped; CNN are saying the people on the sidelines, not the front, did.


DC metro has seen more riders than Obama’s second inauguration.


Trump’s first @potus tweet spelled “honered” and was deleted, then reposted with the correction.

The first WH press briefing was about crowd sizes at Inauguration Day. “We’re going to hold the press accountable as well.” Spicer then left without taking questions. He was also over an hour late.

CNN were smart enough no to live broadcast the briefing. Instead they reported on it themselves during the fact with the ability to tune in. People like NYT and ABC just repeated the accusation.

Day 75-3, 01/22 (Sun)

DC Metro numbers out:

2017: 570.5k 2013: 782k 2009: 1.1M


Fox News appear fully committed to the fictitious spin of Trump: parroted the PressSec lines and feature footage of the inauguration vandalism by anarchists in the lead-in for “today’s” Women’s March coverage.


The Women’s March may have been the biggest in US history with millions marching.


Conway tried to spin Spicer and Trump’s lies as “alternative facts”.


In response to the first WH petition, reaching 100k, Conway said they weren’t going to release the tax returns “because people didn’t care”.


1,001,613 DC Metro rides for the Women’s March. 570,557 for the inauguration.


Republicans are gonna try to split the 9th Circuit Court of Appeals—again.


Big changes announced in Israel: embassey move to Jerusalem, territory and construction expansions.


Suit to be filed against Trump for breach of Emoluments Clause on Monday.

Day 76-4, 01/23 (Mon)

NatSec Gen. Flynn is under investigation for Russia ties. The former revelation included Page, Stone, and Manafort.


Execs met with Trump today:

  • Elon Musk
  • Michael Dell
  • Marillyn Hewson: Lockheed Martin
  • Mark Fields: Ford

Trump signed a couple of EOs (presidential memorandum?) today stopping TPP, freezing hiring of federal workers and funding for NGOs related to abortion.


The White House has closed the public switchboard. Now you get redirected to posting comments online or social media.


First person called upon at the Monday presser was not AP as dictated by tradition. Instead it was some right-wing nut followed by:

* * *

Spicer then doubled down on all the lies, antagonized the journalists, and lied about applause at Trump’s CIA speech.

Seems like the reporters there completely failed to prepare and hold PressSec accountable. What a bunch of clowns.


Trump started an #AmericaFirst hashtag. He later went on to replace the Office of the United States Trade Representative front page with a weird “America First Trade Policy” thing.


SNL indefinitely suspended a writer poking fun at Barron Trump.


House passed H.R.5 “Regulatory Accountability Act of 2017”, which allwos the president to roll back any regulation.

Day 77-5, 01/24 (Tue)

In a meeting with congressional leaders, Trump repeated the claim that 3–5M illegal ballots were behind his loss in the popular vote, says WaPo. So dude is actually insane enough to believe this?


15 Senate Dems voted for Mike Pompeo (R-KS) as CIA director:

  1. Donnelly
  2. Feinstein
  3. Hassan
  4. Heitkamp
  5. Kaine
  6. King
  7. Klobucher
  8. Manchin
  9. McCaskill
  10. Reed
  11. Schatz
  12. Schumer(!)
  13. Shaheen
  14. Warner
  15. Whitehouse

EPA have had block grants frozen, and a memo was sent out to say that there’s basically a complete media and content/communication blackout. ~HuffPo


House Budget Vice Chairman (R-IN) defending turning Medicaid into a block grant thusly:

Medicaid is among the top three drivers of our debt (…) It’s unfair for the citizens of tomorrow to bear the burden through our debt load for the healthcare of today’s poor, and it’s especially not fair for them to pay for people who otherwise should be making their own way.


USDA (agriculture) is getting a gag ordered. All heretofore public documents are not available anymore.


NYT have finally decided to use the word “lie”; someone must have snapped. WSJ is increasingly supportive of the lies. Fox News is unsurprisingly doing the whole propaganda thing.


Julie Kirchner, former executive director of the Federation for American Immigration Reform (FAIR) and an all-around racist nut, will now be chief of staff at the US Customs and Border protection.


Looks like EPA’s contracts have been frozen too. Includes cleanup efforts.


Trump have signed an EO to pass Keystone XL and the DAPL.


More gagged federal agencies:

  • Department of Health and Human Services
  • National Institute of Health

This is on top of EPA and USDA.


Worth pointing out that Trump’s executive order texts are released several hours after their announcement, which leaves the press and public in an awkward position to counter the administration’s narrative.


At the press briefing, Spicer said Trump genuinely believes “illegal votes” cost him the election “based on studies and information he has”. We’re outta synonyms for bullshit, distortions, and lies.


Dems keep voting to support the cabinet nominations. This is not how resisting works.


Warrent and others are voting for Carson. I mean.


On top of a number of protestors, a total of six journalists have been charged with felonies during the inauguration. 10y prison and $25k fine.


A Milo fan shot a protester in Seattle, and the police seem totally O.K. with it.


According to Politico, Trump has sent two aides to scope out Voice of America (VOA). (See Day 33.) Guess he’ll make use of it as his own propaganda instrument.

Day 78-6, 01/25 (Wed)

All but three Dems and Bernie Sanders voted for Haley in the Senate.


The House voted to cut federal funding for abortion. (A permanent rule instead of the Hyde Amendment.)


There’s been some confusion and conflation over executive orders and memoranda.


Elon Musk continues to be extremely supportive of Tillerson on Twitter.


Reuters sources say EPA is being told to cut the climate section of their website.


Fox News and Trump (Twitter) are playing up the “carnage” rhetoric on an “uptick” in violence. Focusing on Chicago.


Danish media taking all Trump’s insane allegations at face value without questioning them: “Trump: [absurd claim]”.


The federal hiring freeze includes the VA


University of Washintgon Republicans issued a statement on the shooting of the activist at the Milo event:

If you keep prodding the right you might be unpleasantly surprised what the outcome will be.


The USDA gag order has been rescinded.


The Trump administration has hired 3 Breitbart people so far.


Trump announced a voter fraud investigation. On Twitter.


Robby Mook, Clinton’s campaign manager, is teaming up with Corewy Lewandowski to do consulting.


Not a single Democrat has voted against all Trump’s nominees.


WH press office is sending out e-mails with praise of Donald Trump that read like movie posters.


The removal of the EPA climate page has also been rescinded.

EPA says they never planned on removing it, just tweaking it a bit, whatever that means.


Trump still keeps around his old Android phone, NYT reports.


Mar-a-Lago’s admittance fee has been doubled to $200k.

Trump Hotels will triple presence in the US according to the CEO.


They’ve hugn an Andrew Jackson portrait in the Oval Office.


Trump’s voter fraud witch hunt will mainly take place in states where he loss. Basically punishing the opposition.

VA and MI GOP intend to rig the Electoral College votes by tying them to (gerrymandered) congressional districts.

Federal grants for sanctuary cities (NY, CA …) also look like they might be gone.


The new EEOC chair, Victoria Lipnic, does not believe anti-gay bias is illegal sex discrimination.


Trump’s executive order today sets up a weekly digest of less-than-reliable reports of crimes committed by “aliens”, ie “illegal immigrants” in sanctuary cities. “Office for Victims of Crimse Committed by Removable Aliens”. This is fucked up.

We keep relying on other media to get their hands on these fucking EOs and executive actions, because they’re not made public immediately.

There’s been tons of news of forthcoming actions, such as opening CIA black sites, action on immigration, Muslim immigration, fucking over sanctuary cities financially, building the wall, and much more.

Great to see “reports” of the Trump administration cutting UN funding by 40% and other heinous shit without any confirmation.

It’s past midnight here in Denmark, and I still have fuck all idea about the language of the groundbreaking executive actions that were allegedly signed today.


This is a thing CNN actually tweeted:

BREAKING: President Trump says intelligence officials have told him torture “absolutely” works


AP now says EPA can’t release studies and data without review by political appointees.


NYT reporting that Trump may have had the idea about voter fraud from a German golfing partner who rambled on and wasn’t even eligible to vote himself.


Trump did a crazy, unhinged ABC interview.

Day 79-7, 01/26 (Thu)

Paul Ryan has said Congress will pay for the wall: $8–14B.


The ABC interview had Trump quadruple down on voter fraud and crowd sizes, and said his CIA “ovation” was “the biggest since Peyton Manning had won the Super Bowl and they said it was equal”.

This transcript is going to be some historic document: http://abcnews.go.com/Politics/transcript-abc-news-anchor-david-muir-interviews-president/story?id=45047602.


NYPD arrested people protesting Trump’s Muslim travel ban and DAPL in the Jan 25 protest.


Trump went after Chelsea Manning, using exact same talking points as Fox News.


Pro Publica reports that gas and utility groups who rely on EPA stats are warning members that there’s no way to know whether the data can be trusted anymore.


CNN now reporting that Trump will not sign EOs on refugees and immigrants from terror-related countries. But who knows? I don’t include this kind of speculative reporting, but it’s 90% of all information at the moment.


Trump suggested Mexico should cancel the US-MEX meeting, if they won’t pay for the wall. Mexico had, obviously, already been very skeptical, to say the least. The meeting is now cancelled by Mexico.


Politico reports that Trump’s break-neck pace of action might run into a wall, as federal agencies and officials have not been consulted and allowed to vet the policies that may not even be workable in the existing framework.

They also report that Stephen Miller and Steve Bannon write the EOs.


The countries where Trump is doing business are coincidentally not on the list of banned Muslim countries. This violates the Emoluments Clause according to some.


Bannon called NYT to tell them to shut up, describing the media as the opposition.


20% tariff of Mexican imports — changed their minds within an hour saying they never meant it, even though Spicer confirmed it.


Trump was apparently supposed to sign an EO on his voter fraud witch hunt—but then didn’t.


Miami-Dade mayor has undone his county’s status as a sanctuary county.

Day 80-8, 01/27 (Fri) - Holocaust Remembrance Day

Social media blackout at Department of Energy.


University of Wisconsin says a student behind an “Alt-Right” group was convicted of burning black churches.


The Trump admin has halted all pre-paid Obamacare ads to get people to enroll in 2017.


Elon Musk and Travis Kalanick are joining Trump’s economic team; Musk had already made weird defences of Tillerson, and said he might be Trump’s “voice of reason”.


WaPo has broken the news that Trump PERSONALLY called the Park Service asking them to prove his claims about his inauguration crowd.


Trump patted the MLK bust on Hannity.


Trump quoted a Twitter rando on 3M fraudulent votes. For some reason, CNN had the guy on the show.


Looks like someo f the Obamacare ads are still going out. Not sure what that means for the purported ban.


WSJ reports that Trump wanted to get rid of the Electoral College, but McConnell talked him out of it.


Trump says to “Brody File” that he will prioritize Christian refugees.


Trump’s statement on Holocaust Remembrance Day did not mention Jews, anti-Semitism, the genocide of 6M, which according to some is a first.


Megyn Kelly replaces Al Roker and Tamron Hall on the Today Show. (Both Roker and Hall are black.)


Once again, the EO text is not available, but “a lot of people are saying” that Trump’s signed one putting a halt to resettlement of refugees to the US, as well as issuing visas from a lot of Muslim-majority countries. Prior excerpts of the text suggested that this applies to people with citizenships from the respective counries, so dual citizans and green card-holders might be affected by this if they as much as leave the country, too. Syria, Liraq, Iran, Libya, Somalia, Sudan, Yemen.

It’s also expected to cut the number of accespted refugees sharply.

On fucking Holocaust Remembrance Day.


Politico has reported that Trump has ordered the “rebuilding” of the military, except they didn’t put it in quotes.

It sounds like an executive action of intent more so than a document of specific policy.


The Obamacare ads will officially continue, say HHS officials to Politico.


Conway now saying that they’re not going to revealed what Trump signed today—on a Friday, in prime time, on Holocaust Remembrance Day.


Orders now available. “Extreme Vetting.”

A lot of political preamble.

  • Visa and travel restrictions TK

5(b): Religious discrimination in granting refugee claims. Based on religious minority status for religious refugees.

5(c): Entry for Syrian refugees stopped

5(d): 50,000 cap for refugees

Sec 7(a): The Secretary of Homeland Security shall expedite the completion and implementation of a biometric entry-exit tracking system for all travelers to the United States, as recommended by the National Commission on Terrorist attacks Upon the United States.

Sec 10(a) will publicize data on foreigners

  • charged with terrorism-related offences
  • radicalized after entry and engaged in terrorism-related acts
  • gender-based violence against women, including honour killings
  • “any other information relevant to public safety and security”

Biometric tracking for all travellers (entry-exit) expedited.


The US Refugee Admissions Program is suspended for 120 days, reads ABC in the EO.

The travel ban is for 90 days, says Chris Geidner.


Today was also the March for Life day.

Day 81-9, 01/28 (Sat)

Google and Tim Cook have engaged in “aggresive wooing” of Republicans according to NYT and BF’s Hamza Shaban respectively.


500k legal residents could be blocked as a result of the ban, says Pro Publica.


Visa, green card holders, refugees from the affected areas aren’t being let into the US airports.


Asghar Farhadi, Oscar nominee, won’t be let into the US.


California considering cutting of federal funding to feds—whom it pays more to in taxes than it receives from—in response to abrogation of sanctuary status.


Facebook sponsored a Daily Caller event on Jan 17, Gizmodo reports.


Because of the sudden Friday announcement, airlines are struggling to figure out whether they can transport “affected” passengers. Airlines don’t all agree on whether the passengers can be transported.


Google says at least 200 of their staffers are affected by the ban.


CAIR and ACLU have sued Trump over the ban.


Iran has banned Americans from entering the country.


State Department confirmed that dual citizens from any of the liste countries are barred from (re-)entry.


British MP Nadhim Zahawi tweets that the ban affects him and his wife as well, even though they were merely born in Iraq without any dual citizenship.


Unconfirmed reports of certain people being allowed “waivers” to enter the US—along with interviews, detentions, questions about political affiliation, social media profiles.


Kwong Hai Chew v. Colding


Every GOP person unavailable for comment since the EO. (Except Trump.)


Dozens of volunteer lawyers at airports. Inspiring.


The New York Taxi Workers Alliance (NYTWA) cabs workers union held a work stoppage protest, too.

Uber NYC removed surge pricing.

Day 82-10, 01/29 (Sun)

Federal judge orders stay on travel ban.


WH says they didn’t mention the jews in holocaust statement, because other lives were lost, too.


Trump issued an executive memo that made Bannon (and others) part of the National Security Council. Huge changes to the “Principals Committee” overall, Chairman of the Joint Chiefs of Staff is no longer on it.


Confusion over how the ban works continues. It’s all still by fiat. Airports, police, everyone involved act differently.


Airbnb announces free housing to people affected by the travel ban.

Other SV companies in general have been meek if not normalizing. Elon Musk, Uber, and Tim Cook in particular.


CNN reports that DHS determined the ban did not apply to people with legal permanent residence, but Bannon overruled them (“the President’s inner circle).


Giuliani said to Fox that Trump called him and said he wanted to do a Muslim ban and asked how he could go about it.


Customs Border Patrol at Dulles airport decided to “refuse to comply with the court order”, reports AP.

Lawyers also blocked by police in some places.


On Face the Nation, Priebus says Trump might extend the ban to include Pakistan.


Merkel’s office says she explained the Geneva Conventions to Trump during their phone call.


San Francisco Airport agents also refusing to comply with the federal court order and set to deport travellers. Elderly Iranians in this case.


Intercept reporting that people unaware of the ban who showed up were charged with violating US immigration ban and issued a five-year ban, as they arrived with terminated visas.


“Everyone suffered in the Holocaust, including the Jewish people”, Reince Priebus told Meet the Press.


The WH sent out a “Top Highlights from the Sunday Shows” e-mail.


Huge protest crowds today. Not just by airports as yesterday, but in squares.


8 days into his presidency, Trump’s Gallup disapprovals are higher than his approvals. It took hundreds of days for the same to happen with other presidents.


CBP officials doubled down on disobeying the court order, when congressional reps asked them to enforce it. SF Airport set to deport an Iranian.


Trump issued statement defending the ban, which he says is not a Muslim ban.


According to the White House, the Saudi King invited Trump to “lead a Middle East effort to defeat terrorism”.


Trump turned on intra-party dissenters McCain and Graham, calling them former presidential candidates and “weak on immigration”.


Reports of people, in plane, or detained in airports, being forced to sign I-407 forms surrendering their green card/long-term residency status.


DHS sec Kelly released … some kind of statement that may or may not have relented on some entry. Very hard to parse, lots of guarded sentences with weird loophole-like language.


In summary, 4 reps (Legislative) met with CBP (Executive) to free the illegally held detainees, but the CBP refused to comply with the court order (Judicial).

Constitutional crisis.

Day 83-11, 01/30 (Mon)

Six people killed, eight wounded in Quebecois terror attack on mosque. Two known attackers as of now.


According to archive.org, the Judicial branch section of the WH website was removed around January 20.

Even the page itself disappeared after January 30.


Guardian are describing the earlier mass dismissal of State Department officials as a “purge”. Didn’t want to bring it up before it was confirmed that it was not normal.

Another chart shows this cleared most of the senior leadership.


Uber buckling under figurative and literal outrage pressure: mass deletions, and their Help site is down from the traffic.

Elon Musk is having some weird kind of meltdown on Twitter, basically saying the language in the Muslim ban EO is perfectly sensible.


A Texas mosque was burnt to the ground on Jan 28.


UK government rejected a petition reaching 1M with calls to ban Trump from entry.


One question regarding the constitutional crisis right now is how people were able to have the forms aboard airplane in advance of the executive order. Looks like deliberate intent.


On Inauguration Day, Trump filed for his 2020 candidacy, which sets up the ability to accept campaign contributions—in name only. Let the favour-laundering begin.


LAT reporting that Stephen Miller “effectively ran the National Security Council principals meeting Saturday”.


Iraqi parliament has passed some measure to restrict Americans from entering Iraq.


The dissent memo within the State Department regarding the Muslims ban EO has been obtained by Lawfare.


In a series of tweets referring to reactions, Trump called his own EO a “ban”.


The African Union has condemned the US fro “taking our people as slaves”—but not as refugees.


The judicial section of the WH website is back.


Trump has signed an EO stipulating that for each regulation passed, two must be removed.


An obtained EO draft will make the Census demand people’s immigration status.


Airbnb “clarify” their promise by saying the refugee housing is only provided by volunteers. If none are available, listings will be subsidized.


A lot of ban exemptions requested: UK, US, NZ, AUS, Iraqi interpreters, pilots.

Mattis requested the Iraqi interpreters, pilots be exempt.


Obama’s office has issued a statement “disagre[ing]” with the discrimination on the basis of faith or religion, and supported their right to assemble.


Iran carried out a ballistic missile test on Sunday.


Acting DOJ, AG Sally Yates, has told lawyers not to enforce the travel EO, since she does not believe it to be lawful.


Marco Rubio tells reporters that (his?) staff asked State for clarification but were told the agency’s been directed not to answer questions from Congress.(?!)


A Somali-American was escorted off his flight to Paris, because it passed through US airspace.

Day 84-12, 01/31 (Tue)

Congressional House Judiciary staffers aided the admin in drafting the EO, signed NDAs.


Yates has been fired with a statement saying she “betrayed the Department of Justice” and other unhinged stuff.

This may be the first time an acting AG has been fired.


The president and CEO of NAACP was arrested at the office of Senator Sessions with other protesters.


The new acting AG says he will be enforcing the EO.


Trump has replaced acting Immigration and Customs Enforcement (ICE) Director Daniel Ragsdale with the deputy. Ragsdale still employed, but now deputy.

This might be normal procedure according to some. Hard to figure out.


New AG Boenty reverses Yates’s memo. Reference to “defend the lawful orders of our President”.


Lebanese and Jordanian people are also affected by the ban, according to personal stories.


Yesterday, in a letter to Sen. Leahy, Sessions refused to say whether he agreed with Trump’s voter fraud conspiracy theory.


Trump announced the extension of Obama’s 2014 EO protecting employees from “LGBTQ” discrimination.


Ukrainian troops attacked in Donetsk. Casualties.


Sen. Dems still meek and docile as fuck. They really have to be dragged kicking and screaming to do the right thing.


CNN has hired Trump’s former economic advisor Stephen Moore.


Dems boycotting the Price and Mnuchin vote, because they lied to the committee. No vote without more info. This should deny quorum.


DeVos voted past committee 12-11 along party lines, but Dems disagree with how it was done. Something to do with using proxy votes?


Israel also exempt from the Muslim ban now.

CBP saying it will depend on the passport presented.(?!)


Senegalese and Saudi Arabians also detained at JFK.


Infowars announce DC bureau and Jerome Corsi becoming a WH correspondent.


Two SCOTUS candidates—finalists?—Gorsuch and Hardiman “being brought to DC to build suspense”.


Reports that the US Marshalls have received instructions not to enforce the court orders from US Atty.


Record low of Senate confirmations in 40+ years.


Total of 17 JCC bomb threats today.


Jerry Falwell Jr. has said he will lead a federal task force on higher-ed policy.

Day 85-13, 02/01 (Wed) - Happy Black History Month

SCOTUS pick announced: Judge Neil Gorsuch.


Swiss dual citizens exempt, to.


EU and Mexico agree to accelerate trade talks.


Israeli intel have said that they prefer the embassy is not moved to Jerusalem out of security concerns.


Nazi and alt-right coiner Richard Spencer praised Trump’s “de-Judaification of Holocaust”.


Ukrainian casualties up to 10.


The Senate Finance Republicans suspended Committee rules to vote on Mnuchin/Price without Democrats. The rules were to demand further testimony from nominees who’d made material factual misstatements to the committee.


WH sent out another zany daily digest on the “praise” for Trump’s SCOTUS pick.


WH spokespeople will no longer appear on CNN, reports Politico.


Texas cut of funding to Travis County due to its Sanctuary City policy.


Explosions in Donetsk reaches record levels at 10,330.


At a presser, Flynn said Iran’s ballistic missile test “threaten[s] US friends and allies (…) as of today, we are officially putting Iran on notice”.

The first question granted afterwards, via Skype, was an unrelated pre-canned question.


WH says legal residents no longer need waiver to enter US because of the EO.


British parliament passed Brexit 498-114.


Ukraine has accused Russia of shelling a military plane.


House approved resolution to abrogate SEC requirement for oil, gas, mining companies to disclose payments to foreign governments, ie “resource extraction” in Dodd-Frank. (H.R.41.)

19% of the Russian Rosneft was also sold off to an unknown shell entity a couple of days ago.

Also voted to dismiss so-called “Stream Protection Rule” for water adjacent to mines.


Paramilitary police have shown up at Standing Rock.

Day 86-14, 02/02 (Thu)

Trump’s GP apparently hasn’t seen him since he became president.

Trump apparently also takes some kind of hair drug according to him in the NYT: finasteride (Propecia)??


Spicer and Trump apparently didn’t know who Frederick Douglass was yesterday either—on the first day of Black History Month.


A Trinidadian citizen and US permanent resident was detained. CBP said he had no right to counsel and threatened the immigration lawyers.


Virginia has moved for a contempt filing.


Trump allegedly gave the Australian PM a drubbing over their refugees meant to go to the US in a phone call. Went on to criticize them on Twitter. Referred to them as “illegal immigrants”.


The VA business has developed way beyond my grasp legalese.


The US embassy in Canberra has affirmed the US’ commitment to taking the Australian refugees.


Russia has purged their ranks for spies for the last couple of days, including cybersecurity experts.


Trump aide Sebastian Gorka says Bannon’s experience “crush[ing] left-wing rivals in terms of breitbart.com” qualifies him for NSC.


SFPD have stopped their collaboration with the FBI’s Joint Terrorism Task Force. Presumably a sanctuary city reaction.


NYT reports Frank Gaffney compared Muslims to termites on a Breitbart radio show the day after the election.


Seems like everyone in every echelon of government is leaking about the Trump administration.


Australian TV confirmed Trump yelling at PM and slamming the phone mid-conversation.


The WH admitted that Trump talked about moving the military into Mexico to deal with “bad hombres”. They first denied it happened, but they’re now going with “lighthearted joking”. Guess all the crazy leaks coming out are true.


At the national prayer breakfast, Trump said he wanted to pray for better ratings for Schwarzenegger’s hostship of The Apprentice.


Trump went after Iran on Twitter.


Republican, again, suspended committee rules to advance Pruitt’s EPA confirmation.


Spicer called the botched Yemen raid a “successful operation”. “It is a successful operation by all standards.”


Some cities have actually adopted sanctuary city status after Trump’s initial comments.


No readout of Trump-Putin call “because WH turned off recording”.


Gina Haspel, new deputy director fo CIA, ran agency’s first black site in Thailand where torture happened.


Travis Kalanick has left the Economic Council after the very successful #deleteUber campaign.


A FOIA reveals that the ethics process “has broken down”. “At present, we have no reliable lines of communication with the transition team - a circumstance that is also unprecedented.”

Day 87-15, 02/03 (Fri)

FCC chair is rolling back net neutrality investigation into mobile carriers.


Trump wasn’t in the Situation Room during the Yemen raid.


State drafted a Holocaust Remembrance Day release that mentioned the Jews, but the Trump admin blocked it.


Kellyanne Conway invented a terrorist attack by two Iraqi “terrorist” at the “Bowling Green Massacre”. Rand Paul went on to repeat the lie.


Former PM of Norway was detained at Dulles for an hour, because he had visited Iran in 2014.


The US has sanctioned Iran over its ballistic test.


More than 100k visas were revoked after the EO, a VA hearing reveals.

The visas weren’t suspended; they no longer exist. “That was based on a document Trump signedo n Friday but wasn’t made public til Tuesda”.


Spicer has confirmed Trump and VP support Right to Work.


Trump said he was going to gut Dodd-Frank, because a lot of his friends couldn’t borrow money.


https://twitter.com/joanne_stocker/status/827589297884782592


https://twitter.com/JuliaDavisNews/status/827263186722131969


https://twitter.com/mattdpearce/status/827622432995368960


https://twitter.com/existentialfish/status/827627730548191234


https://twitter.com/MCJalonick/status/827631337330921473


Ontario has offered to provide surgery for the children affected by the ban.


https://twitter.com/HeerJeet/status/827709050875883521


https://twitter.com/amyoleary/status/827732908039405568


https://twitter.com/pwnallthethings/status/827805502620975104


A judge put a hold on the order, after which Trump called out the “so-called judge” on Twitter.

Day 88-16, 02/04 (Sat)

Iran readying its own sanctions in response.


State says it has unrevoked the “60k” visas.


Just to spell this out: TV networks are sharply increasing ad rates for shows Trump watches, anticipating that corps will pay for access. https://twitter.com/DKThomp/status/827918914269147136


Hard to describe, but everything coming from the WH is riddled with errors. Press sec getting names and titles wrong, typos; spelling errors, and other things in official releases.


Trump Posted A False News Report To His Facebook Page And Got Thousands Of Shares https://www.buzzfeed.com/davidmack/trump-posted-a-false-news-report-to-his-facebook-page?utm_term=.owXJlzdlqG#.owXJlzdlqG


Judge breaks precedent, orders Google to give foreign emails to FBI http://gizmo.do/9uQCu3K https://twitter.com/Gizmodo/status/827995755885506561/photo/1

Day 89-17, 02/05 (Sun) - Superbowl Day

Lot of immigrant stories in the Superbowl ads.


Trump went after “a judge [who] would put our country in such peril.” “If something happens blame him and court system. People pouring in.”


Trump pretty much admitted he didn’t read the EO putting Bannon on the NSC.

Day 90-18, 02/06 (Mon)

Cosmopolitan caught Conway using the “Bowling Green Massacre” reference earlier on, meaning it wasn’t a slip-up when she used it on TV for a fake incident.


The FBI will no longer accept FOIA requests via e-mail; people will have to use the FOIA portal, fax or snail mail.


The FCC chair removed the price cap on inmate calling services.


Knesset retroactively passed a bill that lets them appropriate the West Bank from Palestinians.

Day 91-19, 02/07 (Tue)

Alex Jones published a video “Is Judge Blocking Trump Travel Ban Committing Treason”.


They also released a list of “underreported” or some such terrorist attack replete with spelling errors (“San Bernadino”) and some of the highest-profile attacks. As well as ones with no casualties.


Hannity:

The judiciary branch of our government, especially on the lower levels, has been utterly polluted by progressive judges.


Around 20 rabbis were arrested protesting the Muslims ban in NYC.


Fox News is repeating the Trump line about underrported attacks.


Trump “joked” to a sheriff about an insubordinate state senator:

Do you want to give his name? We’ll destroy his career.

The politician apparently wanted conviction before asset forfeiture.


DeVos was confirmed 50-50.


House Administration voted 6-3 to get rid of Election Assistance Commission that helps states improve their voting systems and protect them against stuff like, y’know, hacking.


Senate majority voted to limit debate on Sessions confirmation.


Bannon aide Gorka said people should thank the russians for exposing DNC/Podesta e-mails.


DAPL got the “easement” go-ahead. No environmental impact statement.


An ACLU lawyer was stopped and questioned by the CBP at the border.

Day 92-20, 02/08 (Wed)

Elizabeth Warren was silenced by the Senate majority leader for reading Coretta Scott King’s testimony against Sessions. “(Rule 19.”)

Senate ruled by 49-43 that warrent “broke rule impugning a senator”. She now can’t speak during the debate on Sessions.


The US is set to lease space in Turmp Tower, reports CNN. This is because proximity to POTUS is required.


Yemen deauthorized US SpecOps after the failed raid.


Politico: Amazon, Google, FB, Microsoft donated in some way to Trump’s inauguration.


The Under Armour CEO praised Trump.


NBC reports that Mattis and Dunford (chairman of Joint Chiefs of Staff) took advantage of Trump’s mercurial nature and ego in selling him on the Yemen raid:

In making their case, they told Trump that they doubted that the Obama administration would have been bold enough to try it, this official said.


On Twitter, Trump castigated Nordstrom from pulling Ivanka’s product line (due to low sales).

Later went on to retweet from the @potus account.

He did this 21 minutes into his scheduled morning intelligence briefing.


Intel CEO met with Trump today.

Apparently, they wanted to re-announce $7B in Arizona investments and 3,000 jobs to curry favour with him. Trump seemingly had nothing to do with the decision.


PressSec defended Trump’s tweet about Nordstrom: “this was less about his family business, and an attack on his daughter.”

He also said criticizing the failed Yemen operation dishonours the SEAL who died in it.

He also alluded to a terror attack in Atlanta that never happened.

Day 93-21, 02/09 (Thu)

Gorsuch said to have called Trump’s attack on the judiciary “demoralizing” and “disheartening”. Still hearsay.


Sessions confirmed 52-47. Sessions didn’t vote.

Joe Manchin (D-WV) voted for him. His daughter is being investigated by the Justice Department.


Conway told people to buy Ivanka’s stuff on Fox News.


Trump did a Twitter rant declaring the Yemen raid a success.


Gorsuch’s team released a statement that wasn’t specifically critical, but emphasized the importance of an independent judiciary, maintaining the dismay at the criticism of it.


DAPL is back on track.


Fox News tried to make Bannon look acceptable by comparing him to (ISIS leader) Baghdadi.


At Sessions’s swearing in, POTUS signs three EOs:

  1. DoJ and DHS to “break the back of criminal cartels”
  2. DoJ to form a task form on reducing crime 3) DoJ “to implement a plan to stop crime and crimes of violence against law enforcement officers”

This around a day after Trump said violence is up 57% or some such nonsense.

Sessions would mention immigration and terrorism in the same breath.


Trump admin on call briefing reporters on Japanese Prime Minister Shinzo Abe’s visit says visit to Mar-a-Lago is a gift from Trump to Abe.


Wintour said Vogue will continuing the tradition of featuring FLOTUS.


These stories of embarrassing incompetence just keep pouring out in desensitizing volume. http://mobile.reuters.com/article/idUSKBN15O2A5?il=0


Trump didn’t seem to know what START was in a phone call with Russia.


Trump has fired the White House CISO. Cybersecurity shakeup to come most likely.


Chaffetz on Conway comments on Ivanka: “appear to violate federal ethics regulations”.


9th Circuit denied stay of the TRO (Muslim ban).

Day 94-22, 02/10 (Fri)

A lobbying firm for Saudi Arabia rented some rooms at Trump Hotel. In related news, Japan’s Abe visited Mar-a-Lago for free as a “gift” from Trump.


WaPo has discovered that Flynn lied; he talked to the Russian ambassador about sanctions before the election.


Chaffetz got destroyed in his town hall.


Trump reverted to the “One China” policy in his last phone call with the president of China.


Tom Price confirmed for HHS along party lines. Doesn’t matter how corrupt you are.


NYT has noted that Bannon namedrops “a Nazi-affiliated Italian philosopher”: Evola.


Morning Joe basically did a segment entirely for Trump. Trump tweeted at 8:15 AM commenting on a quote from 8:03.


The WH has launched an investigation into the leaks about calls with foreign leaders.


The first ICE raids started today. 160 were caught in LA alone. The raids differ from Obama in that they don’t focus on people with criminal backgrounds—anyone seems up for grabs.

They also do roadside stops and go door to door.

WaPo said “non-criminals in the vicinity who were found to lack documentation”.


CNN reports US investigators have corroborated some parts of the Russian dossier.


Trump referred to Japanese PM as “PM Shinzo” in tweet. (No one showed the JP first lady around either, which is against protocol.)


9th Court is going en banc sua sponte on the TRO.

Day 95-23, 02/11 (Sat)

Nikki Haley issued a statement protesting the appointment of former Palestinian PM Salam Fayyad to head a UN mission, because he’s Palestinian. He seems well liked by all sides and perhaps the favourite Palestinian to Neocons like Condoleezza Rice.


CIA has denied security clearance to Flynn’s top aide. Can’t get on NSC now.


ICE official in LA said they’ve been targeting LA, New York, and Chicago in an “enforcement surge”.

General ICE raids across six states.


Justice Department withdrew defence of transgender people—on the second day of Sessions as AG. The EEOC stepped in instead.


Sean Hannity now parroting Assad’s talking points.


80k marching in NC for the “Moral March”.


Trump’s been on his second weekend vacation of golfing in his first three weeks of the presidency.

Day 96-24, 02/12 (Sun)

ICE planning to detain worshippers going to church. Confirmed.

There were also stories of ICE checking H1-B visas of people in “Silicon Valley businesses”.

Day 97-25, 02/13 (Mon)

Stephen Miller was allowed to chair an NSC meeting recently, reports NYT. Possible it was deputies. Miller is 31.

Mattis explored boarding an Iranian ships for inspections to intercept possible weapons headed for Houthis in Yemen.

NSC foreign policy research is crafted around Trump’s tweets, because they don’t know what the foreign policy is.


NYT, WaPo, WSJ, Politico reporting that Flynn is getting the cold shoulder from the deep state.


Trump received a phone call during a private meeting with Abe about the North Korean nuclear tests. He discussed the issue at length in the public space, reports CNN.

Also seems like the dinner was out in the open.

The people there also used their iPhones to light classified documents, which isn’t exactly great OpSec.

Dude named “Richard DeAgazio” snapped a bunch of photos of the table and put it on Facebook. He also got a signed photo and took a selfie with the football.


Hard to state how unhinged an authoritarian Stephen Miller’s defence of the Trump administration was.


After Trump’s constant lies about voter fraud in NH, the legislature is introducing 40 bills to supress the vote.


There was apparently also a livestream of the meeting.


House Intel Committee chair, Devin Nunes, defended Flynn unambiguously. Spoke ill of dissenters.

Day 98-26, 02/14 (Tue)

WH aide Sebastian Gorka was seen wearing a medal associated with Miklós Horthy, an anti-Semitic WW2 person whose regime involved the murder of 600k Hungarian Jews.


Mnuchin confirmed 53-47.


WaPo reports that Sally Yates warned that Flynn could be vulnerable to Russian blackmail.


Journalist April Ryan says Omarosa bullied her and told her of a dossier compiled on her.


Trump staffers are violating the Presidential Records Act by using Confide, an app that auto-deletes text messages.


NYT says the Army has been investigating potential payments to Flynn from the Russian government during a 2015 trip to Moscow.


Flynn resigned.


In a tweet (sigh), Trump described Flynn leaks as “illegal”.


Russia has secretly deployed a cruise missile that violates arms treaty, sez NYT.


Republicans voted 23-15 to not request Trump’s tax returns from the Treasury Department—on the Ways and Means committee?


US Office of Government Ethics has called on WH to discipline Conway.


Chaffetz has requested information from the WH on security precautions at Mar-a-Lago.


Multiple Russian aircrafts were very close to US destroyer in Black Sea last week.

Day 99-27, 02/15 (Wed)

WH have said they will not insist on a two-state solution.


NYT: Trump aides and associates communicated with Russian intel operatives year before election.


In an (insane) presser with Netanyahu, Trump answered a question abuot the sharp rise in anti-Semitic in the US after his election by … talking about his electoral colleve victory. And then waffling and moving on.


Trump doing a rally in FL Feb 18.


Puzder withdrawing for Labour Sec.


BuzzFeed report that Kennedy has met with Trump three times since the first ignominious announcement.

Day 100-28, 02/16 (Thu)

China reversed course and finally awarded Trump a trademark on his brand.


Mother Jones obtained an intelligence guidance intructing analysts to keep the briefings simple: “a quarter of the information President Barack Obama received”, daily “reports on only three topics, typically no more than one page each”.


Clarence Thomas’s wife has been found to promote the Muslims ban in e-mails, which puts him in a bind to recuse himself.


Chaffet is now moving to investigate the leak(er)s on Flynn—rather than concerning himself with the ethics on the whole Russian situation.


US ambassador to UN said US “absolutely” suports a two-state solution.


New Labour Sec nom.


Trump held an unscheduled (unhinged) presser.

He said a lot of things, but the insanity of it all was the main takeaway.


Justice Department says Trump plans to rescind and replace the Muslim ban.


Trump sent out an e-mail telling supporters to support the administration against the journalists and their “hit jobs”.


Flynn’s been revealed to have lied about his discussion of the Russia sanctions in his FBI interview. This is a felony.

But will Sessions recuse himself from the prosecution? He campaigned with him.

Day 101-29, 02/17 (Fri)

APNSA pick Bob Harward refused the offer. He’s a retired vice admiral.


6 WH staffers were fired after failing FBI background checks (SF86).


Kushner met with Time Warner execs to complain about CNN’s coverage—to convey Trump’s thoughts. TWC are looking to be sold to AT&T and need government approval for the deal.


Not sure I missed this, but Trump directed the Justice Department to look into his administration’s leaks.


Security people in WaPo saying that they’re buckling under the pressure of managing the “logistical nightmare” of Trump’s tri-state travels between DC, NY, and FL: White House, Trump Tower, and Mar-a-Lago. On top of the expenses—$15M first month alone, which is 1/6 of Obama’s two terms.

And then there’s the Trump sons.


Chaffetz will investigate the Clinton aide who helped her set up an e-mail server.


EPA employees are urging their senators to vote against Pruitt’s confirmation.


New LaborSec Alexander Acosta accused of sweetheart plea deal for billionaire investor who commited statutory rape.


Senator McConnell has said health care and tax reform will happen without Dems.


A draft of a DHS memo making the National Guard “help” deport people was uncovered by AP and published by Vox. Dated same day as Muslims ban was signed.

Officials say it was ever seriously considered. “Phew.”


Pruitt confirmed.


German officials warned the US about their threats to the cohesion of the EU.


Trump wrote a tweet calling the media “the FAKE NEWS media” (…) “not my enemy, [but] the enemy of the American people.”


Day 102-30, 02/18 (Sat)

The New Yorker reveals Flynn was paid $40k for his infamous visit to Russia’s RT dinner in 2015.


Milo Yiannopoulos will be a keynote speaker at CPAC.


Trump held his Florida rally.

He used Air Force One as a prop after telling WaPo it wasn’t going to be used as a prop two days ago (Feb 16).

He made up an attack in Sweden that didn’t happen.


The first hate crime tracker for Asian Americans has launched.

Day 103-31, 02/19 (Sun)

Swedish embassy has asked US State Dep to explain Trump’s “statement”.


NYDN reports that Stepehen Miller called Brooklyn’s US Attorney at home with instructions on how to defend the travel ban in court.


DHS have taken the next step by creating VOICE: Victims of Immigration Crime Engagement within the Office of the Director of ICE.

Day 104-32, 02/20 (Man)

WSJ reports that the Trump administration wants to change the methodology for calculating trade deficit to make their numbers look better to be presented to Congress.


Trump doubled down to say immigration in Sweden is a disaster.


There’s been a weird outpouring of reverence for McCain’s nominal “criticism” of the Trump administration with promiment coverage on NYT and NYMag, even though he’s voted in lockstep with the adminstration on such things like confirmation votes.


Yiannopoulos was uninvited from CPAC after video game out of him appearing to support pedophilia.


Trump has named A R McMaster as his new APNSA after Flynn.


Ten Jewish Community Centres received threats today.


Trump also tweeted he was meeeting with the generals at MAL.


Hundreds of graves vandalized at St. Louis Jewish cemetery.

Day 105-33, 02/21 (Tue)

NYT says Alex Jones is taking on a new role as “information source and validator”.


https://twitter.com/shane_bauer/status/834077220415033344


https://twitter.com/mrochabrun/status/834051135472357376


https://www.washingtonblade.com/2017/02/20/trump-administration-rescind-obama-era-trans-students-protections/


Yiannopoulos resigned from Breitbart. This allegedly after numerous senior writers threatened to leave if he didn’t.

Day 106-34, 02/22 (Wed)

Trans bathroom protections for students were rescinded by Education and Justice. It’s now up to the states and schools to decide.

NYT report that DeVos was “overruled” by Trump, as Sessions wanted to remove the protections, but who really gives a shit, it’s probably spin anyway.


All data on open.whitehouse.gov, the WH’s open data portal, disappeared.


Water protectors being ordered to leave by Army Corps and police at Standing Rock (DAPL).


Trump associates and friends in Florida such as Mar-a-Lago are looking to get ambassadorships to promote the business:

  • Robin Bernstein (founding member of MAL): Dominican Republic
  • Patrick Burns: Austria
  • Brian Burns: Ireland

Republicans getting absolutely destroyed in town halls. Those who hold any; Dave Weigel said a half dozen of Republican senators did.

Day 107-35, 02/23 (Thu)

After countless allegations that protestors and town hall attendants are paid, Arizona passes SB 1142 bill which allows seizure of assets of people participating in OR PLANNING “violent” protests. Expands racketeering to encompass “rioting”.


Up to ten people were arrested as police cleared what remained of the Standing Rock camp. One journalist from Mic was among them.


Trump’s Manufacturing Council met today:

  • Andrew Liveris, The Dow Chemical Company
  • Bill Brown, Harris Corporation
  • Michael Dell, Dell Technologies
  • John Ferriola, Nucor Corporation
  • Jeff Fettig, Whirlpool Corporation
  • Mark Fields, Ford Motor Company
  • Ken Frazier, Merck & Co., Inc.
  • Alex Gorsky, Johnson & Johnson
  • Greg Hayes, United Technologies Corp.
  • Marillyn Hewson, Lockheed Martin Corporation
  • Jeff Immelt, General Electric
  • Jim Kamsickas, Dana Inc.
  • Klaus Kleinfleld, Arconic
  • Brian Krzanich, Intel Corporation
  • Rich Kyle, The Timken Company
  • Thea Lee, AFL-CIO
  • Mario Longhi, U.S. Steel
  • Denise Morrison, Campbell Soup Company
  • Dennis Muilenburg, Boeing
  • Elon Musk, Tesla
  • Doug Oberhelman, Caterpillar
  • Scott Paul, Alliance for American Manufacturing
  • Kevin Plank, Under Armour
  • Michael Polk, Newell Brands
  • Mark Sutton, International Paper
  • Inge Thulin, 3M
  • Richard Trumka, AFL-CIO
  • Wendel Weeks, Corning

AFL-CIO somehow weren’t invited to the summit, despite their council membership.


Keep seeing stories of bomb threats against JCCs.


Trump said he wanted to expand the nuclear arsenal.


Sessions rescinded Obama guidance for Justice to reduce use of private prisons.


Spicer announced a potential crackdown (“greater enforcement”) on recreational marijuana.


CNN: WH asked FBI to “knock down” media stories critical of Trump-Russia relations.

Day 108-35, 02/24 (Fri)

Spicer confirmed the CNN story:

We didn’t try to knock the story down. We asked them to tell the truth.


AP reports Priebus intervened against FBI. He asked them to act as anonymous sources.


Trump held a crazy speech at CPAC where he *pled down on his lie about a recent attack in Sweden.


NRA’s LaPierre held an insane speech at CPAC casting liberal protestors as violent, angrier than anything before in the US. He asked what would happen when terrotists tag along an airport protest and “gas the place like they did in Tokyo”.


Media were not alowed inside Spicer gaggle:

  • CNN
  • NYT
  • BuzzFeed
  • Politico
  • LAT
  • Guardian
  • BBC, and possibly more

(Gaggle is an off-camera press briefing of sorts.)

AP and Time boycott


Bidding on the border wall has gone up: solicitation number 2017-JC-RT-0001.

Day 109-36, 02/25 (Sat)

Syrian behind the “White Helmets” Oscar-nominated movie were barred from attending.


Two Indian engineers were shot in Kansas, one of whom died, by racist saying “get out of my country” the other day. Big media attention.

An American tried to interfere and got shot three times. The president never commented on the incident nor the American man’s bravery.


DNC voted to strike down (Christine) Pelosi resolution to reinstate ban on corporate/lobbyist donations.


Everyone and their dog seemed to agree that Keith Ellison was the best possible pick for DNC chair, so DNC went on to elect Tom Perez instead. 235, 214.5 required, 200 for Ellison.


So far, ten journalists are facing charges, report the Committee to Protect Journalists (CPJ).


Trump will skip the White House Correspondents’ Dinner (WHCD).


Trump sent a fundraiser e-mail bringing up that “now the fake news media is trying to silence you and distort our message”.

Day 110-37, 02/26 (Sun) - Oscar day

https://twitter.com/DarthNader/status/835908437838036994


https://twitter.com/ForeignPolicy/status/835606912297222146


https://twitter.com/ggreenwald/status/835861196565843968


https://twitter.com/businessinsider/status/835908549779795968


Dozens of graves destroyed in Jewish cemetery in Philadelphia.

Day 111-38, 02/27 (Mon)

http://abc13.com/politics/george-w-bush-demands-answers-on-trump-and-russia/1775443/


Bomb threats issued again JCCs and schools in 11 states today. Fifth wave since January according to BuzzFeed.


https://www.axios.com/exclusive-spicer-arranged-sat-in-on-cia-gop-intelligence-push-back-2288082248.html


https://twitter.com/lachlan/status/836204963743289345


White House to eject its environmental advisers from their longtime main headquarters on Friday https://wpo.st/hvcd2


Spicer finally said Trump denounces the anti-Semitic hate crimes and mentioned the “disturbing” Kansas attack (on two Indian immigrant engineers).


http://nuzzel.com/i/redirect/3486533388/14632387/story_read_title_6805252661?u=http%3A%2F%2Fnuzzel.com%2Fdigeststory%2F02272017%2Fnytimes%2Fjustice_dept_drops_a_key_objection_to_a_texas_voter_id_law%3Fe%3D786113%26c%3D7PqNMqWvlxnmgee5a1xHdnP1rGaN73sE4yjNMj6zKt%26utm_campaign%3Ddigest%26utm_medium%3Demail%26utm_source%3Dapp

Day 112-39, 02/28 (Tue)

ADL SF had to evacuate after a bomb threat.

BF have their bomb threat count from Monday at 23 JCCs and schools in 15 states.


Trump said Obama was behind the townhall protests and WH leaks. asdjlfkjdsklfjs

The interview makes it looks like he was straight-up baited into giving that answer by Fox’s Brian Kilmeade.


During an ambush Oval Office meeting with HBCU reps (concerning EO?), Education issued a statement praising HBCU as examples of the benefits of “school choice”. (…)


The WH announced their guests to the joint address to congress. Three of the guests are people whose family were “killed by illegal immigrants”.


Trump went on to blame the failed Yemen raid—which yielded no useful intel—on someone else when asked about the father of the slain SEAL.


Sessions admitted he hasn’t read any of the DoJ police department reports.


EO: https://twitter.com/voxdotcom/status/836649687100829698


Pennsylvania Attorney General Josh Shapiro said Trump responded to concerns about the anti-Semitic hate crimes by with “sometimes it’s the reverse” or some kind of false flag.


The WH condemned the Kansas attack, a week after it happened.


The HBCU presidents who showed up at the WH said they were promised money. Instead, they got some awkward photos and egg on their face. Price of doing business with Turmp.


FBI are now investigating the Kansas (Olathe) shooting as a hate crime.


Four mosques have been torched in the past seven weeks.


Politico quotes Eric Holder saying Obama is “ready to roll” to get involved in politics again.

Day 113-40, 03/01 (Wed)

In yesterday’s address, Trump called for a new government agency: Victims fo Immigration Crime Engagement (VOICE). As seen before.


Trump basically got praised for doing the worst address every, because he didn’t act like an unhinged dictator in it. Guess they tuned out the parts about Muslims and immigrants.

Day 114-41, 03/02 (Wed)

Trump’s golf courses stand to benefit financially from his new water-rule rollback, Bloomberg reports.


ICE deported an undocumented immigrant after they held a press conference. ICE doing everything to deport people, and with the maximum amount of fear.



Livet med YouSee-internet og Danmarks dårligste kundeservice

Permalink - Posted on 2016-09-14 08:00

Hvis nogen skulle undre sig over, hvorfor jeg i sin tid oprettede en troubleshooting-guide, er det, fordi jeg efter 16 måneder som YouSee-kunde har været alle trinene igennem med midlertidig succes.

Og fredag 09/09 var den gal igen-igen-igen.

Fredag 09/09

En Game Over-netgraf for google.com
Sådan ser det ud, når min computer forsøger at forbinde til det der google over en ethernetforbindelse.
Til sammenligning er der ingen problemer med at forbinde til routeren
Til sammenligning er der ingen problemer med at forbinde til routeren.
28 kb/s ifølge Fast.com
28 kb/s ifølge Fast.com. Der er langt op til 102.400 (100 Mb/s).

Dags dato er der stadig problemer, og med YouSee starter man forfra hver gang, fordi ingen er interesserede i at fikse det grundlæggende problem; i stedet kommer de altid med en midlertidig løsning, der gør, at problemet kommer igen efter et par uger og måneder, som jeg og YouSee selv må kaste telefon- og fritid efter.

Jeg tror efterhånden, jeg har haft over fem teknikerbesøg, og jeg tør ikke tænke på, hvor mange timer jeg har tilbragt i telefonen med YouSee-medarbejdere, der intet kan eller vil; mit første opkald til dem omhandlede NAT-indstillinger på min PlayStation 4, og selv deres udvidede tekniske support anede ikke, hvad det drejede sig om, på trods af at jeg selv efterfølgende kunne få et Google-diplom i stoffet og selv fikse det, nu hvor der ingen hjælp var at hente hos YouSee.

Jeg har prøvet deres support på telefon, e-mail, Twitter og sågar TrustPilot i et forsøg på at udskamme dem til at gøre deres arbejde, men dét resulterer ofte i en henvisning til en e-mail-adresse, der ikke engang svarer. (Tricket er at skrive til facebook@yousee.dk i stedet for isupport@yousee.dk, fandt jeg senere ud af omkring den fjerde, femte eller 117. gang mit internet ikke virkede.)

Mine problemer har manifesteret sig på alle mulige sjove måder, men det seneste tilbagevendede problem opstår som regel på en fredag eller i weekenden. Jeg har på fornemmelsen, at nogen eller noget skaber en signalforstyrrelse, som det skete for nogen, der var heldig nok til at have en internetudbyder, der var interesseret i at fikse problemet.

Således mit eget forløb. Her følger, hvad YouSee-kunder generelt kan se frem til, uanset hvad deres problem måtte være.

Ventetid

Her er, hvad du kan vente dig, når du ringer op til YouSee:

  • I snit 20 minutters ventetid for at komme igennem hver gang.
    • Nogle gange 10, nogle gange 40.
    • Dernæst skal jeg som regel stilles om til den udvidede tekniske support, som også har ventetid—og forfærdelig ventemusik.
  • Mindst 20 minutter for at komme igennem til en tekniker.
  • Ingen mulighed for at blive ringet op når nogen er ledig.
  • På trods af at jeg er fast inventar i deres supportdagligdag, har jeg intet særligt telefonnummer eller noget overordnet sagsnummer, der kunne spare min og YouSees tid med at forklare problemet igen helt fra starten gang på gang på gang på gang.
  • Opstår der problemer i weekenden, kan du først bestille en tekniker om mandagen. Læs en bog.

Hvis du er i denne situation, kan du overveje selv at gå trinene i min troubleshooting-guide igennem.

I øvrigt er PingPlotter et fint værktøj til at se, om der er problemer med forbindelsen. Det findes både til Windows, Mac og iOS. Graferne i toppen af indlægget er fra programmet.

I øvrigt bliver du altid ringet op af et pisseirriterende automatiseret opkald, hvor du kan tilkendegive din tilfredshed med dit supportopkald. Jeg har ingen anelse om, hvor mine tilfredshedstilkendegivelser er havnet hos dem.

Teknikerbesøg

YouSee gør alt for ikke at hjælpe deres kunder. Når man siger, man har problemer med sit internet, får man at vide, at hvis de sender en tekniker afsted, og det viser sig, at problemet er selvforskyldt, skal man selv betale hele gildet. Det har en afskrækkende virkning, og når jeg fra tid til anden selv kan “fikse” problemet midlertidigt ved at fifle med routeren, skaber man et incitament til aldrig at fikse det grundlæggende problem. Det er ikke tilfældigt.

Bestiller jeg alligevel en tekniker, skal jeg stille mig til rådighed i otte timer, som regel i tidsrummet 8–16. De ringer med 30 minutters varsel, siger de, men det er nok langt de færreste, der med sikkerhed kan nå til og fra arbejde i det tidsrum. Hvem har i øvrigt tid til at vente 20–40 minutter i telefon på teknisk support, om det så er i arbejds- eller fritiden?

Der er i øvrigt ingen garanti for, at teknikeren dukker op.

Når teknikeren—lejlighedsvist—ankommer, får jeg at vide, at jeg sikkert har gjort et eller andet galt—i et tonefald, der om ikke andet skulle være forbeholdt mig min erfaring med YouSee taget i betragtning. Dét på trods af at teknikeren har været på forgæves besøg hos mig så mange gange, at han efterhånden har sin egen dørnøgle.

Man kan nok ikke bebrejde ham, hvis han ikke kan huske, han har været her før, men nogen hos YouSee må vel kunne se vanviddet i at rykke ud med tekniker for femte gang?

Eller at udskifte mit modem for anden eller tredje gang.

I øvrigt har jeg aldrig nogensinde fået nogen undskyldning eller godtgørelse for mit defekte internet; jeg har bare at betale de ~350 kroner om måneden for en tjeneste, der ikke virker. Gang det med 16 måneder, og så har du en nogenlunde kvantificering af YouSees kundeforagt.

Sidste nyt fra YouSee

Der er som sagt ingen garanti for, at YouSees tekniker dukker op, efter de har bedt dig om at stå til rådighed mellem 8–16 med 30 minutters varsel. Jeg har før oplevet, at teknikeren ikke dukkede op, og tirsdag 13/09 skete det fandme igen.

Tirsdag 13/09

Efter at have ventet otte timer på en tekniker fra 8 til 16, ringede jeg til YouSee klokken 17 for at spørge, hvad fanden meningen var.

Da jeg endelig kom igennem, var svaret, at problemet havde at gøre med en ekstern central, hvorfor der ikke var behov for at sende en tekniker ud—eller at spilde hele min dag. De gad bare ikke lige sige det til mig, fordi min tid er tilsyneladende ligegyldig ifølge YouSee.

Problemet gik ifølge en supportmedarbejder tilbage til en sag, jeg oprettede omkring juni, og de havde ingen idé om, hvornår problemet ventedes løst.

Jeg bad om at blive holdt opdateret. Det var det mindste, man kunne forlange, syntes jeg.

Onsdag 14/09

Dagen efter den udeblevne tekniker ringer jeg klokken 12 til YouSee for at få en opdatering, nu hvor jeg ikke havde fået nogen om formiddagen.

Det viser sig, at YouSee har overdraget fejlretningen, og at vedkommende vil tage ud at se på det eksterne problem … fredag—en uge efter mit problem (gen)opstod.

Jeg fik ydermere at vide, at deres politik ikke er at opdatere kunderne, før problemet er rettet; med andre ord ville jeg først have fået en opdatering fredag 16/09.—såfremt de altså overhovedet formår at løse problemet dér.

I øvrigt fortæller YouSee ikke deres andre kunder om det eksisterende problem:

Ingen driftsinfo på min adresse ifølge YouSee, selv om de selv har bekræftet problemet

Hvorfor ikke vælge en anden udbyder?

I øjeblikket har jeg kabelinternet fra YouSee med 100/30.

Før havde jeg kobbernet (xDSL) fra TDC med 10/2—eller deromkring.

Siden mit skifte til YouSee, er YouSee smeltet sammen med TDC, og selvom der var færre tekniske problemer med TDC, er det i sidste ende den samme forfærdelige kundeservice, jeg vil skulle døje med.

Men hvad er der ellers af alternativer?

Går jeg ind og ser på https://tjekditnet.dk, får jeg følgende alternativer:

Internetudbydere til min adresse—ingen andre end YouSee, hvis man ikke vil have en 20/1-forbindelse
Oversigt over internet udbydere og -løsninger på min adresse.

Hurra for fri konkurrence!

Opdateringer

Onsdag 14/09, 15:50

Det gav ikke nogen mening for mig at vente på at høre fra YouSee om fredagen, hvor de måske, måske ikke, ville fikse problemet og måske-måske ikke opdatere mig.

Derfor valgte jeg at dedikere en-to timer på at genstarte mit modem et dusin gange på flere forskellige måder. Som regel virkede internetttet kun i ti sekunder, men til sidst var der lidt hul igen.

Fik nettet op at køre igen, men i en sørgelig forfatning
Semifunktionelt internet med konstante afbrydelser.

Internetforbindelsen var stadig i dårlig forfatning, men i det mindste havde jeg min oprindelige downloadhastighed igen.

Torsdag 15/09

18:10 om torsdagen er den gal igen.

Nettet gik ned igen
Nede igen.

Små tyve minutter af mit liv jeg aldrig får tilbage får jeg igen liv i skidtet.

Nettet kom op at køre igen med lidt mere knofedt
Fikset igen.

Lørdag 16/09, midnat

Surprise, surprise, intet opkald fra YouSee.

Der er internet, men med sporadiske afbrydelser, der ikke kræver manuel indgriben. Jeg glemte at tage et screenshot, men internettet skal nok ryge igen—det er ganske vidst.

Mandag 19/09

Så “lykkedes” det at få et screenshot af én af de sporadiske afbrydelser:

Endnu en sporadisk afbrydelse
Endnu en sporadisk afbrydelse.

Torsdag 22/09

Så kom der en SMS:

“Fejlen er rettet”, står der i SMSen
Mod hvis forventning?.

Ingen undskyldning, ingen forklaring, ingen refundering. Ingenting. Som altid.

Efterspil

En kopi, tak

Efter hele miseren prøvede jeg at få en kopi af hele mit kaotiske YouSee-forløb:

Er det muligt at få en kopi af samtlige sager, der er blevet oprettet på vores adresse, forud for teknikerbesøget i morgen? Så kunne man forhåbentligt komme et tilbagevendende til livs én gang for alle til alles bedste.

Hertil fik jeg svaret 12/09:

Hej Niclas

Tak for din mail.

Nej det er desværre ikke muligt at nå det til i morgen. Hvis du ønsker alle dine sager skal du kontakte vores kundeservice på tlf. 70704040

Venlig hilsen

I dag, 11/10, ringede jeg så endelig til YouSee for at få en kopi af mine sager, og I gætter aldrig, hvad de sagde: Jeg skulle sende YouSee en e-mail.

Jeg er nu blevet henvist til deres kontaktformular, og så må vi se, hvad der så sker:

Jeg kunne godt tænke mig en digital kopi af mine supportsager og logs for både internet og kabel-TV hos jer som kunde.

Jeg fik først at vide af e-mail-support, at jeg skulle få dem via kundeservice på telefon; så ringede jeg til kundeservice og fik at vide, at jeg skulle bruge kontaktformularen her, så jeg håber det er sidste stop på vejen.

Vh., Niclas

DR Kontant-program

Så fik YouSee DR Kontant på nakken med et indslag om deres kundeservice. De fik ikke med fløjlshandskerne:

Jeg kan varmt, varmt anbefale at se indslaget, der dokumenterer adskillige måder, YouSee tørrer deres kunder. Og indslaget fokuserer endda primært på kabel-TV—ikke kabelinternet som mit.

Så kunne YouSee pludseligt godt se, der skulle gøres noget:

Problemer igen

I gætter aldrig, hvad der skete:

Onsdag 02/11 12:00

85 kb/s ifølge Fast.com

PingPlotter slår totalt ud

Kigger man på driftsinfo, er der ikke umiddelbart noget at finde:

Ingen fejl er registreret på adressen

Men kigger man på historikken nedenunder, tegner der sig et billede:

Planlagt afbrydelse af bredbånd og telefoni i hele landet natten til 02/11, “afsluttet” 04:30

Jeg har på fornemmelsen, at arbejdet i mit område ikke er “færdigt”.

Efter at have ringet ind, ikke én men to gange (kl. 14 og 15:30), fik jeg at vide, at der også var andre i området med problemer. Problemet ventedes løst klokken 20, men da kundeservice lukker samme tid, blev jeg anbefalet at ringe ind klokken 19, hvis intet havde ændret sig.

Da jeg ved, hvor lang tid det kan tage at få en tekniker ud, bad jeg om at få en tid så hurtigt som muligt, uanset om problemet måtte blive løst senere, så jeg ikke skulle sidde flere dage uden internet.

Jeg fik at vide, at jeg ville blive ringet op af teknikerafdelingen for at aftale et tidspunkt “i dag eller i morgen”, hvilket om muligt er endnu mere upræcist end YouSees teknikerbesøgsinterval mellem 9 og 17.

Så kunne man ellers sidde ved telefonen og blomstre.

Efter tredje opkald omkring klokken 19 fik jeg at vide, hvad jeg forventede: Der var ikke noget nyt, og jeg måtte afvente et opkald fra tekniker—eller håbe problemet blev fikset eksternt.

Der kom aldrig noget teknikeropkald dén dag.

Torsdag 03/11

10:00

Så oprandt dagen bedre kendt som “eller i morgen”. En samtale med YouSee-support gjorde det klart, at det var eksternt—ikke hos mig—der skulle rykke en tekniker ud. Adspurgt om hvorfor jeg endnu ikke var ringet op af en tekniker fik jeg at vide, at teknisk support jo ringer inden for klokken 20. Og så kan jeg eller sidde og spille bas uden internet de næste ti timer.

Efterfølgende genstartede jeg mit modem traditionen tro, og internettet lader til at virke for nuværende.

23:30

Jeg fik aldrig noget teknikeropkald, men til gengæld gik mit internet helt ned natten til fredag. Så gad jeg ikke mere og gik i seng.

Fredag 04/11

11:00

Så prøver vi igen. Jeg har ikke tal på, hvor mange teknikere jeg har alt med i løbet af ugen. Det er et sted mellem fem og otte.

Morgenopkald til YouSee support er efterhånden så fast et ritual som morgenkaffen.

Denne gang fik jeg at vide, at jeg ville blive kontaktet mellem 14 og 16 af en tekniker via telefon, og at den pågældende supportmedarbejder ville ringe klokken 16 for at følge op.

14:00

“Vi skal have en tekniker ud”. No fucking shit.

Og det kan først blive på mandag.

På trods af at jeg ville have en tekniker ud i onsdags.

Stakkels tekniker i telefonen.

Så må vi i stedet vente på, at den tidligere medarbejder ringer klokken 16 som lovet.

16:50

Endnu ingen lyd fra YouSee-medarbejderen som lovet. Vi giver hende til klokken 17, før vi ringer og klager andetsteds.

Så meget for at se BlizzCon, som jeg havde købt billet til.

Jeg ringer op på fastnet, så min mobil stadig er ledig. Ventetid op til otte minutter.

Der stod ikke noget i loggen om, at hun ville ringe tilbage, så jeg skal nok ikke regne med at høre noget alligevel.

17:00

Så ringer vi til opsigelsesnummeret.

De har lukket for telefonen om fredagen … fra klokken 16.

Det lyder, som om de har en hel strategibog.

Hold kæft noget bondefangeri.

Statistik

Hvad har jeg så brugt min dag på i telefonsamtaler?

  • 11:03: 18 minutter
    • med kundeservicemedarbejderen, der ville vende tilbage 16:00
  • 14:20: 13 minutter
    • med fjernteknikeren eller udvidet support, der bestilte en anden tekniker
  • 17:00: 10 minutter
    • med en anden kundeservidemedarbejder for at høre hvor fanden det lovede opkald klokken 16 blev af

Sammenlagt 41 minutter med tre personer med dét “resultat”, at der først komme en tekniker på mandag for at fikse dét problem, jeg meldte og anbefalede en tekniker to dage før om onsdagen.

Prislister og weekendteknikere

Jeg bemærkede noget nyt i min YouSee-bekræftelse af teknikerbesøg:

“Læs mere om teknikerbesøg”, står der til sidst i SMSen
“Læs mere om teknikerbesøg”.

Sammenlign det med én af mine mange tidligere bekræftelser:

“Læs mere om, hvem der betaler for teknikerbesøget”, står der til sidst i SMSen
“Læs mere om, hvem der betaler for teknikerbesøget”.

Der lægges altså (øget) fokus på, at man selv kan komme til at betale for teknikerbesøget—som jeg tidligere har gjort opmærksom på er en skræmmetaktik til at få kunder til at lade være med at indberette fejl. Nu er det så også kommet med i slutningen af SMSen som det sidste, man læser, og vel det første man forholder sig til.

Går man ind på linket, er der en række punkter, der blandt andet forklarer dig, hvornår du selv skal hæfte for teknikerbesøget med startgebyr på 495 bananer oven i en timepris på 321.

Men der er priser for besøg på weekend og helligdag. Så jeg er ikke bare snydt for en tekniker onsdag-torsdag-fredag; jeg er reelt blevet snydt for en tekniker onsdag-torsdag-fredag-lørdag-søndag.

Adspurgt om jeg kunne få en tekniker ud i weekenden—selvom det kan koste ekstra, som jeg bliver advaret—var der åbenbart ikke nogen tekniker med plads i kalenderen til besøget. Men hvor mange af de personer i det voksende YouSee-persongalleri, jeg har talt med i ugensløb, har reelt inddraget weekenden som en mulighed for teknikerbesøg?

Vi skal i øvrigt tilføje det sidste telefonopkald om weekendbesøg fra teknikeren til min fredagsstatistik:

  • 11:03: 18 minutter
    • med kundeservicemedarbejderen, der ville vende tilbage 16:00
  • 14:20: 13 minutter
    • med fjernteknikeren eller udvidet support, der bestilte en anden tekniker
  • 17:00: 10 minutter
    • med en anden kundeservidemedarbejder for at høre hvor fanden det lovede opkald klokken 16 blev af
  • 17:49: 2 minutter

43 minutter sammenlagt. Og en ødelagt weekend.

Lørdag 01:30

Internettet virker pludseligt igen uden nogen notits fra YouSee. Men hvor længe ved man ikke, og det betyder sandsynligvis også, at jeg er nødt til at afbestille teknikeren, selvom den grundliggende fejl ikke er løst, fordi YouSee er så glade for at true deres kunder med regninger for teknikerbesøg.

Og selvfølgelig er det mig, der skal sætte tid af til at kontakte YouSee og finde ud af, hvad fanden der foregår, fordi jeg ikke får en skid at vide via SMS, telefon eller e-mail.

Det bedste er nok at vente med at ringe til søndag, i tilfælde af at internettet går ned efter jeg har ringet. Hvilket ikke virker usandsynligt.

Søndag 14:00

Så skulle jeg høre, om teknikeren skulle afbestilles. Ifølge YouSee var der ikke nogen fejl—det var der åbenbart heller ikke til at begynde med—og når man ikke selv har adgang til medarbejdernes logs, er det håbløst at føre en samtale med em.

YouSee sagde, at jeg måske skulle afbestille teknikeren, hvortil jeg spurgte, om man så som YouSee-kunde måtte vænne sig til, at internettet ikke fungerer i tre dage onsdag til fredag. Jeg endte med at sige, at det umuligt kunde være min vurdering som menigmand, om der skulle en tekniker ud, og at det derfor måtte være op til YouSee at vurdere—og betale, uanset slutresultatet. Jeg blev advaret endnu en gang om muligheden for at betale, men teknikeren blev enig om, at der skulle en tekniker ud og undlod at afmelde besøget. Husk også på at det oprindeligt var en person fra “udvidet teknisk support”, som ringede mig op og selv endte med at bestille teknikerbesøget til mandag—ikke at forveksle med den gængse medarbejder, jeg ringede op i dag.

Dertil bad jeg også om bod og bedring såsom en refundering af vores betalte abonnement i perioden, hvor internettet ikke har virket.

Man skal selv levere dokumentation for, at internettet ikke har virket, fik jeg at vide af YouSee, der ikke ville uddybe, hvilken dokumentation der skulle bruges. I øvrigt måtte jeg vride armen om på medarbejderen for, endelig, at sende mig en kopi af mine logs og sager hos YouSee. Det lod også til, at medarbejderen kun kunne se de sidste tre måneders logs, hvilket vel er belejligt, når man søger kompensation, der går 18 måneder tilbage, til da vi blev kunder hos YouSee.

I morgen, mandag, kommer der en tekniker på besøg, og så må vi se, hvad han finder, og om YouSee ender med at tørre regningen af på mig, som de truer med gang på gang.

Alternativet er at klappe i og affinde sig med YouSees elendige behandling i form af internetproblemer og timelange samtaler med YouSee-medarbejder fast basis.

Og netop som jeg har opdateret blogindlægget, sker dette kortvarige udfald:

Sekundudfald 14:21

Mandag

Optakt

Her er det spændende i forbindelse med teknikerbesøget.

  • Der opstår en fejl, som vi har set i ugens løb
  • YouSee er ikke i stand til at fastslå, hvor fejlen er
  • Er det YouSee eller kunden, der hæfter, hvis YouSee ikke kan finde—og løse—fejlen?

På Twitter siger YouSee:

Såfremt der ikke er fejl i vores net eller udstyr, så er det rigtigt at teknikerbesøg udløser en regning^K #

Her er, hvad politikken burde være:

Såfremt der ikke er fundet fejl hos kunden, betaler YouSee for teknikerbesøget.

Hvis YouSee ikke kan se fejlen, findes den ikke. På trods af at hele husstanden ikke kan komme på nettet.

Hvad stiller man op med dén epistemologiske fejlslutning, hvor huset vinder, selvom begge parter er stillet éns?

Det, der er på spil, er et status quo, hvor éns internet hele tiden går ned, uden YouSee kan eller vil gøre noget ved det—og hvor man på grund af monopol og underregulering ikke kan stille noget op som menig borger.

Svaret får vi i morgen.

Teknikerbesøg

Denne gang var der to teknikere forbi til en afveksling; der har ellers kun været én af gangene hidtil.

Der var som førnævnt rapporteret et problem i området, men de kunne ikke sige, hvor præcist det var. Måden centralerne (eller boksene) er forbundet på er, at for hver “snoning” af vejene kobles en ny boks på, således at du yderst ved en vej har Boks 1 og så fremdeles nogle bokse længere nede af vejen ved hver snoning:

  1. Vej/Boks 1
    • Vej/Boks 2
    • Vej/Boks 3
    • Vej/Boks 4

Min boks, lad os kalde den Boks 2, hører under Boks 1. Der var blevet målt støj på Boks 1—men teknikerne kan ikke placere problemet mere specifikt. Det er derfor muligt, at problemet ligger enten på min Boks 2 eller den overordnede Boks 1, som min boks kobler sig på.

Teknikerne endte med at skifte og omarrangere fordeler på min egen boks, og så må vi se, om det fikser problemet fremover.

Der blev også sat overvågning og alverdens målinger på, så YouSee/TDC har alt tænkelig data, når eller hvis problemet opstår igen.

Det er stadig ikke til at vide, hvad det oprindelige problem var, men støjen i området og den foregående vedligeholdelse natten til onsdag tyder jo på et problem, jeg ikke bildte mig selv ind.

Så det var godt, jeg med møje og besvær fik overtalt YouSee til at sende en tekniker ud.

Søndag, 13/11

DNS-afbrydelse. Var nødt til at gå af og på mit trådløse net for at fikse det.

Sidens DNS-adresse kunne ikke findes

Andre tilfredse kunder

Fredag 12:00, 09/12

DNS-afbrydelse. Varede omkring ti sekunder men ville have afbrudt et spil, hvis jeg var i gang med det. Suk.

12:20: Endnu en afbrydelse.

Mandag 12/12

Problemer igen, da jeg kom hjem til computeren om aftenen.

Juleaften

Problemer igen ved midnat.

Nytårsaften

Det var ikke internettet, men TV-signalet, der røg i hele landet:

De nåede dog lige at fikse det inden nytårsknaldet. Flot.

Det skal i øvrigt nævnes, at der intet var at finde om nedbruddet på YouSees driftsinfoside, da signalet først gik ned; kun via sociale media og breaking-gult på tv2.dk blev det klart, at det var et landsdækkende problem.

Nytårsdag

Nu er YouSee pludselig tilhængere af at kompensere alle deres kunder for nedetid:

Eller i hvert fald den her ene gang.

Når YouSee foretager vedligeholdelse, går det sjældent godt, 23/01

  1. 11:48: Vedligeholdelse frem til 14:30 (uden forudvarsel)
  2. 15:45: Ringer til YouSee, der siger, det er et kendt problem
    • Ingen SMS-indrømmelser som sædvanlig
    • Der kommer en internt opdatering 16:00
    • Problemet er mere omfattende end ventet (goddaw)
  3. Tidsrammen for at rette problemet er nu sat til 20:30
    • Sjovt som tidspunktet altid er efter lukketid for kundeservice (20:00)

Næsten 9 timer uden internet og en overskredet deadline på 5 timer.

SMS1.png SMS2.png

21:00: Intet internet.

Driftssiden siger nu, at fejlen “forventes” rettet 23:00:

Driftssiden


På slaget 23 virkede internettet igen. 11 timer senere.

Fredag 15:10, 02/03

DNS-afbrydelse.

Fredag 18:00 02/17 - Glædelig fødsesldag

Så gik det ned igen. En genstartning af internetforbindelsen “fiksede” det. Havde jeg været i et internetspil, havde det smidt mig ud.

Idioter.


Søndag 14:00, 12/03

Nu er den helt gal igen:

Sporadiske forstyrrelser

Det hjalp ikke at logge af og på nettet eller at skifte fra 5.8 GHZ til 2.4 GHz, da jeg slet ikke kunne komme på det.

Problemet gik senere i sig selv, men jeg bemærkede, at mit livevideo stoppede, og at Google, som jeg pinger for at teste min forbindelse, havde skiftet adresse på same tid:

Google har skiftet adresse ifølge PingPlotter

Jeg har ingen anelse, om det her er et problem, men who the fuck does, når det gælder YouSee.


Torsdag 20:45, 30/03

Nu er den helt til hest:

pingplotter (TK) driftsmeddelelse (TK)

22:11 gik det i sig selv.

Tirsdag 17:00, 18/04

Efter flere dage med små udfald der næsten ikke var til at spotte, stejlede det til sidst helt tirsdag:

Udfald på udfald på udfald.

En genstart på computeren “fiksede” det.

Tirsdag 22:35, 02/05

Endnu et udfald.

Ud fald igen hvor det ikke var til at komme på nettet igen.

Denne gang løste en genstart på computeren det ikke. På ingen enheder virkede internettet ordentligt.

En genstart af routeren lader til at have virket. Indtil nsæte gang.

Søndag 14:25, 04/06

Så røg nettet igen i hele huset. Ethernet, wi-fi. En genstartning af routeren hjalp ikke.

Ringer op til dem, og den automatiserede tjeneste ender med at lægge på, angiveligvis fordi de har “for travlt”. Det lyder som et mere omfattende problem, men mit mobilnet er for

15:50 vendte nettet tilbage uden forklaring.

Opdateret: Ah, således:

Det er altid noget, at YouSees elendighed dækkes jævnligt af medierne.

Tirsdag 10:50, 28/06

I begyndelsen af juni sendte YouSee mig en mail om, at de ville opgradere min internethastighed gratis. Nej hvor fint.

Min hastighed forblev dog den samme, så jeg ringede til dem for at få lidt afklaring. Jeg brugte det direkte nummer, hvor det kun tog fire minutter at fuldføre samtalen. Hvorefter de stillede mig videre til det normale nummer, der tager væsentligt længere at komme igennem på.

Det kunne de godt se ikke gav mening, så de satte endelig hastigheden op—og installerede lige en firmwareopdatering til routeren, mens de var ved det. Det tog i øvrigt 17 minutter at fuldføre opkaldet.

Fedt. Eller hvad?

Kort tid efter forsvandt mit internet.

Endnu et opkald på 15 minutter resulterede i, at den fortabte medarbejder bestilte en tekniker (per telefonsamtale) … til næste dag. I tidsrummet 12–14. Så kunne jeg ellers klare mig uden internet.

Jeg prøvede at slukke og tænde routeren, men det resulterede i, at jeg gik fra elendigt internet (0.25 Mbps) til intet internet.

Jeg glemte i første omgang at nævne, at den første person, jeg talte med, havde installeret nyt firmware, så jeg måtte hellere ringe til YouSee og klæde morgendagens fjerntekniker på til at få det fulde overblik. Det krævede et opkald på 27 minutter.

Onsdag 13:30, 29/06

Næste dag ringede teknikeren. Han kom med råd og forslag så indsigtsrige som “har du prøvet at slukke og tænde routeren?” og “prøv at trykke på reset-knappen”. Jeg prøvede at slukke og tænde routeren og at trykke på reset-knappen. Det hjalp til stor overraskelse ikke. Jeg fik mit elendige internet tilbage, men kun de 0.25 Mbps ud af 140 med en udfaldsgraf, der ser helt råbelig ud. Så vi bestiller en tekniker til næste dag … i tidsrummet 8–16. Hvor jeg alligevel ikke har noget at tage mig til.

“Han ringer en halv time i forvejen” siger de som altid, som om det var én eller anden genistreg af en løsning direktionen selv kom på.

Sådan ser det ud, når YouSee opgraderer éns internet fra 100/30 til 140/30


En halv time efter min samtale bliver jeg ringet op af et nummer, jeg ikke genkender. Det viser sig at være en YouSee-sælger, der vil få mig til at vælge et YouSee-abonnement. Han får en ordentlig overhaling, ikke så meget på grund af mine generelle YouSee-erfaringer, men fordi jeg konstant bliver spurgt om det præcist samme—mindst ti gange i min tid med YouSee. Jeg er faktisk blevet spurgt om det I FUCKING GÅR, da jeg ringer for at høre, hvorfor min internethastighed ikke er blevet øget som lovet.

Manden siger, at “han prøver en anden dag”. Det vil jeg gerne have mig frabedt, og efter jeg gør det klart, at jeg aldrig er interesseret, forsvarer manden fandeme praksis ved at sige, at når jeg tilmelder mig konkurrencer og skriver mig på på Facebook, udleverer jeg mit telefonnummer, som andre selskaber så kan udnytte til at spamme mig til Jordens undergang.

Jeg har ikke nogen Facebook-bruger, og jeg skriver mig ikke op til danske konkurrencer; jeg indtaster mit telefonnummer, når jeg køber varer over nettet, for det er desværre obligatorisk. Men giv endelig kunderne—DER I FORVEJEN GIVER DEM PENGE AF URANSAGELIGE ÅRSAGER—skylden for den uendelig strøm af spam.

Jeg siger, at hvis jeg hører fra dem om det én gang til, så ringer jeg til Forbrugerrådet og anmelder dem fra spam, hvilket ikke lyder som den største overfortolkning af gældende forbrugerlov og om ikke andet anstændig behandling af danskere og betalende kunder. Og i samme omgang siger jeg, at YouSee you bare kan lade være med at købe de pågældende lister med telefonnumre.

Aldrig har jeg hørt nogen YouSee-medarbejder være så ivrig efter at afslutte en samtale.

Torsdag 15:30, 29/06

Ny tekniker i telefonen. Han er der om ti minutter—ikke 30. Men det er jeg vant til alligevel.

Vi endte med den “nemme” løsning, som er at udskifte routeren med en ny. Der var tilmed tale om en ny model, så jeg er på min tredje eller fjerde routermodel. Den skulle også være gearet, til når de opgraderer coaxnettet på landsplan engang næste år.

Han havde heller ikke meget positivt til overs for nogen af de to Sagem-routere.

Det var en ny tekniker denne gang; mere end fem gange hos samme kunde er nok også lidt meget. Flink og tålmodig person i modsætning til sin forgænger.

Søndag 18:52, 02/07

Så røg nettet igen.

Når jeg tilgår routeren på 192.168.0.1 og først indtaster et forkert password, får jeg følgende velkomst:

“Dit modem kan ikke få forbindelse til internettet”

Jeg ser samme billede, når jeg prøver at gå på nettet med min iPad, mens det wi-fi er slået til. Det er godt nok lang tid, siden jeg har set den her besked.

Indtaster jeg det rigtige password på routeren, ser det ud til, at jeg godt kan komme ind på den. What?

Jeg kan ikke lige finde genstartsindstillingen, som jeg vist alligevel ikke skal bruge, men til gengæld kan jeg se det her:

Netværksdiagram, med et stort, fedt, rødt X mellem router- og internetikonet.

Jeg slukker, tæller til ti, og tænder igen for routeren. Intet hjælper det.

Jeg prøver at gå ind på YouSees driftsinformationsside, men de har redesignet siden, og det virker langt mere bøvlet at finde nogen information. Umiddelbart er der ikke noget.

Kort efter kommer nettet tilbage, cirka 19:07.


21:31 røg det fandeme igen:

Kort afbrydelse af et par sekunders varighed

Der er helt sikkert et eller andet galt.

Onsdag 22:45, 05/07

Så røg nettet igen.d

Samme bøvl som sædvanligt, ikke noget anderledes hér

En genstart “fiksede” det.

Torsdag 16:15, 06/07

Der er mere end ti minutters ventetid, får jeg at vide.

Et par minutter tilføjer de, at jeg er #36 i køen. Gad vide hvad der sker hos YouSee for tiden, når ventetiden er så lang. Det er vel ikke, fordi der sidder foran computeren eller TVet, når sommeren er på det højeste.

Små 20 minutter senere kommer jeg igennem. Jeg foreslog selv, vi satte overvågning på på baggrund af min store viden om emnet.

Vi aftaler at overvåge en uge, hvorefter de ringer mig op klokken 12 og ser på det.

De kan dog ikke garantere, at teknikeren, der ringer, har kigget på data forud for opringningen.

Lørdag 02:00, 15/07

Natten til lørdag var der noget, der slog mig: YouSee ringede sgu da aldrig tilbage!

Søndag 01:27, 30/07

Natten til søndag skete det igen. Dejligt.

En genstart og så var det tilbage.


Interpreter, a Google Translate Bot for Slack

Permalink - Posted on 2016-04-01 12:00

Screenshot of the translating bot in action.

Setting it up

  1. Install the Beep Boop bot, which will create a forked GitHub repo for you.

  2. Register an account and follow the instructions at https://cloud.google.com/translate/v2/pricing. The pricing is as follows:

    Translation:

    $20 per 1 M characters of text, where the charges are adjusted in proportion to the number of characters actually provided. For example, if you were to translate 500K characters, you would be billed $10.

    Language Detection:

    $20 per 1 M characters of text, where the charges are adjusted in proportion to the number of characters actually provided.

    Usage limits:

    Google Translate API has a default limit of 2 M chars/day. You can increase this limit up to 50 M chars/day in the Cloud Platform Console by following the instructions below.

    If you need to translate more than 50 M chars/day, please contact us.

  3. Since there is currently a free trial of 60 days with a $300 voucher, you shouldn’t be paying anything at all for the next two months.

  4. Create a project on Google Cloud for our interpreter.

  5. Enable the Google Translate API—and billing—for your Google Cloud project.

  6. Create the API key for your Google Cloud project. You’ll need this later.

package.json

First, you need to install the npm package for Google Translate, the aptly named google-translate.

From the terminal, you can type npm install google-translate --save, which will automatically add the package to your list of dependencies.

You can also just add it manually to the file using GitHub’s online interface:

"dependencies": {
  "botkit": "0.0.5",
  "google-translate": "^1.0.6"
}

In diff terms:

"dependencies": {
- "botkit": "0.0.5"
+ "botkit": "0.0.5",
+ "google-translate": "^1.0.6"
}

You are free to edit the rest of the information in the file, but it has no bearing on how the bot operates. The mandatory requirement is adding the google-translate dependency.

index.js

This is what the file will look out, if we delete some of the superfluous boilerplate code and hide the interpreter functionality:

var Botkit = require("botkit");

// Expect a SLACK_TOKEN environment variable
var slackToken = process.env.SLACK_TOKEN;
if (!slackToken) {
    console.error("SLACK_TOKEN is required!");
    process.exit(1);
}

var controller = Botkit.slackbot();
var bot = controller.spawn({
    token: slackToken
});

bot.startRTM(function (err, bot, payload) {
    if (err) {
        throw new Error("Could not connect to Slack");
    }
});

//=> Interpreter: translates Danish to English
// ...
// <=

// This goes by the end of the file; it works as an "else" function for listener events.
controller.hears(".*", ["direct_message", "direct_mention"], function (bot, message) {
    bot.reply(message, "Sorry <@" + message.user + ">, I don\'t understand. \n");
});

This is what our interpreter code looks like—the // ... in the snippet above:

//=> Interpreter: translates Danish to English
// Expect a GOOGLE_TOKEN environment variable
var googleToken = process.env.GOOGLE_TOKEN;
if (!googleToken) {
    console.error("GOOGLE_TOKEN is required!");
    process.exit(1);
}

var googleTranslate = require("google-translate")(googleToken);

controller.hears(["^translate (.*)$"], ["direct_message", "direct_mention"], function (bot, message) {
    googleTranslate.translate(message.match[1], "da", "en" function(err, translation) {
        try {
            bot.reply(message, ":flag-dk: => " + translation.translatedText);
        }
        catch (err) {
            bot.reply(message, err);
        }
    });
});
// <=

Pay attention to this part:

googleTranslate.translate(message.match[1], "da", "en", function(err, translation) {
    try {
        bot.reply(message, ":flag-dk: => " + translation.translatedText);
    }

Because I’m from Denmark, I created this bot to assist the poor people on my Slack team who had to deal with the horrors of the Danish language. This has two implications:

  1. I’ve included "da" (Danish) as the “source language” parameter. What this means is that the Google Translate API won’t have to detect the language—which, if you recall, incurs additional fees:

    Language Detection:

    $20 per 1 M characters of text, where the charges are adjusted in proportion to the number of characters actually provided.

    You can either leave out this parameter for all-purpose translation or choose a different source language. (Or create a separate keyword for each type of query.)

  2. The translation output is ":flag-dk: => " + translation.translatedText

    Which turns into “🇩🇰 => [translation]”.

    You can change it to whatever you want.

This is what the full code for index.js looks like:

var Botkit = require("botkit");

// Expect a SLACK_TOKEN environment variable
var slackToken = process.env.SLACK_TOKEN;
if (!slackToken) {
    console.error("SLACK_TOKEN is required!");
    process.exit(1);
}

var controller = Botkit.slackbot();
var bot = controller.spawn({
    token: slackToken
});

bot.startRTM(function (err, bot, payload) {
    if (err) {
        throw new Error("Could not connect to Slack");
    }
});


//=> Interpreter: translates Danish to English
// Expect a GOOGLE_TOKEN environment variable
var googleToken = process.env.GOOGLE_TOKEN;
if (!googleToken) {
    console.error("GOOGLE_TOKEN is required!");
    process.exit(1);
}

var googleTranslate = require("google-translate")(googleToken);

controller.hears(["^translate (.*)$"], ["direct_message", "direct_mention"], function (bot, message) {
    googleTranslate.translate(message.match[1], "da", "en" function(err, translation) {
        try {
            bot.reply(message, ":flag-dk: => " + translation.translatedText);
        }
        catch (err) {
            bot.reply(message, err);
        }
    });
});
// <=


// This goes by the end of the file; it works as an "else" function for listener events.
controller.hears(".*", ["direct_message", "direct_mention"], function (bot, message) {
    bot.reply(message, "Sorry <@" + message.user + ">, I don\'t understand. \n");
});

bot.yml

As you might recall in the beginning, I asked you to create an API key to use later. bot.yml is where you tell your bot to look for an environment variable named GOOGLE_TOKEN.

name: interpreter
description: A bot that translates your queries
avatar: resources/avatar.png
config:
  - name: GOOGLE_TOKEN
    friendly_name: Google API key
    info: API key used for Google Translate
    type: secret
    global: true

After this is done, go to your bot settings on Beep Boop and enter your Google token, so the bot can use the Google Translate API.

Testing and deploying

Every time your save and commit your bot repo, the bot is updated and rebooted. If you don’t want to test by means of trial and error, you can set up the bot locally by cloning the repo and running

npm install # Installs required packages listed in `package.json`
npm start

This will set up a, separate, local bot to run alongside the online version. This means that there are now to versions of the bot listening to what you type in Slack, which is why you will get two responses instead of one.

Keep in mind that you will have restart the bot after each change, so be sure to stop it and type npm start in your terminal again

When you are happy with the results, save and commit your changes to the repo, so the online version of the bot is updated.

This isn’t as hard as it may sound; I’ve just tried walking explaining the deails as painstakinly as possible.

Now go forth and add some features of your own!


Information og Privacy

Permalink - Posted on 2015-12-19 14:00

date:    21 September 2015 at 16:55
subject: [Website feedback] Private profiler på information.dk

Er det rigtigt forstået, at abonnenter med brugere på siden ingen mulighed har for at gøre deres profil privat, således at andre ikke har mulighed for at se éns læsning, interesser og anbefalinger?

Jeg tænker særligt på artikler om kontroversielle emner, hvor en såkaldt anbefaling vil være offentlig med navns nævnelse og link til profil, hvilket kan være anledning for et nyt publikum og personlige henvendelser.

Dbh.

Intet svar dags dato.


A Star Wars Filter

Permalink - Posted on 2015-12-13 14:00

So there’s this Star Wars movies coming out next week, and I don’t know if you’ve heard about it?

There is a lot of Star Wars everywhere right now; researchers have calculated that 85% of the Internet is currently Star Wars, with TV in close pursuit.

This is either bumming you out for one of two reasons:

  1. You couldn’t care less about Star Wars.
  2. You don’t want some idiot to spoil the movie for you.

In light of this, I’ve created a filter to get to at least the worst spoilers—I obviously can’t filter things I don’t know are in the movie, but filtering the names of actors and characters who might kick the bucket goes a long way.

The filter consists of three components:

  1. a word list
  2. a regular expression
  3. a Tweetbot mute filter

I’ll address these in reverse order, since you probably want to skip straight to the mute filter.

Tweetbot Mute Filter

The Tweetbot Twitter client’s mute filter uses the built-in mute filter support, which lets you to create a filter that can be imported just by clicking a link. This is what clicking that link on OS X with Tweetbot’s desktop client installed looks like:

Mute prompt in Tweetbot for Mac

As you can see, 14 of the (many, many) tweets in my timeline matched the filter. The matched tweets might look like this:

Screenshot of the tweets caught by the filter

How you choose to mute is ultimately up to you, so I leave it to you to decide on your mute settings.

If you don’t already have Tweetbot, you can buy the Mac client and the iOS client

To import my Star Wars filter, click the button below:

Click to mute Star Wars in Tweetbot

(For some reason, this only works on iOS sometimes; I’m able to get it working, as long as I don’t click the button from within Tweetbot, but from Safari instead. You can always click the button on OS X and let the mute filter carry over from there.)

When or if you get it working on iOS, this is the prompt you’ll see:

Mute prompt in Tweetbot for iOS

Regular Expression

The Tweetbot link is just a regular expression (regex) of the wordlist prepended by Tweetbot’s regex mute filter URL, which looks something like this:

tweetbot:///mute/keyword?regex=1&text=

The regex itself breaks the layout of this page when I feature it, but you can find it on this gist, if you want to take a peak at it. I can’t promise that someone won’t post spoilers in the comments of that page, though. You can go see the regex in action in this demo, however.

Bear in mind that I am not programmatic genius, so I’m sure there are many ways this pattern could be optimized. Right now, it looks like it gets the job done, but I can’t vouch for how it might affect the performance of Tweetbot and so on.

Word List

Finally, the list of characters, actors, and objects I try to match the filter against. It’s not perfect, I’m sure, but hopefully it won’t filter things you didn’t intend for it to do. The list does include some actors, though, so if you insist on reading about what Oscar Isaac and Harrison Ford, spoilers are not, you’ll have to fashion your own filter.

On that final note, here is the word list in its entirety; the list shouldn’t contain spoilers, unless you really don’t want to see a list of some of the actors and characters in the movie:

  • Maz Kanata
  • Han Solo, Harrison Ford+
  • Leia, Carrie Fisher+
  • Skywalker, Hamill+
  • Chewbacca, Chewie, Wookie(e), Mayhew+
  • Kylo, Adam Driver+
  • Daisy Ridley+
  • Boyega+
  • Abrams+, JJA+, J.J.A.+, J. J. A.+
  • (General) Hux, Domhnall+, Gleeson+
  • (Captain) Phasma, Gwendoline (Christie)+
  • Vader, Darth—sorry, @darth
  • Snoke
  • R2-D2
  • C3PO
  • Lor San, Tekka, (Max von) Sydow+
  • BB-8
  • (Poe) Dameron, Oscar Isaac+

  • Star Wars, Force Awakens
  • Lightsaber
  • Jedi
  • Stormtrooper
  • Millennium Falcon

  • Was Rey …, ( Rey )
  • Death Star
  • Jar Jar
  • George Lucas
  • X-wing, X wing
  • TIE Fighter

+ Refers to a filter based on the actor/director’s real name. You may not want to include this, if you want to follow the person—while risking the spoiler. You may have wondered why Lupita Nyong’o is not on the list. Go figure.

Keep in mind that I’ve only created a Tweetbot-compatible mute filter. If anyone wants to create something like a browser extension, please do and give me a link so I can enjoy a somewhat spoiler-free Internet as well.

PS: Do not contact me about straight-up spoilers to include in my mute filter. Don’t be an idiot.

Further Reading

Updates

  • Dec 22: Replace ( )? with ( |\-)? in order to filter URLs, too.
  • Dec 22: Add more keywords.


Web Fonts and Bandwidth Privilege

Permalink - Posted on 2015-12-04 20:00

We’ve given websites a lot of crap over the year for such things as

In many cases, the excuses pile up, and some challenges seem more insurmountable than others. Publishers need a revenue model, people need to know who’s visiting the website and reading the article, and non-technical editors need to build some website at one point, and might be afraid of stepping into the minefield of an outsourced code base.

But then there’s this:

Before font load: invisible text. Before font load: text is finally visible.
Flash of invisible text during load compared to the finished result.

That right here is seconds of staring of absolutely nothing on a website, because someone decided they wanted non-standard fonts, either because you had to pry them from the cold dead hands of the webdesigner, or because the typeface was considered important for #branding. (People generally don’t talk about the #branding of a website that loads execrably.)

What you see is the so-called Flash of Invisible Text (FOIT).

Most websites have this problem—it is a very common experience, because most people have got it in their head that they need to use fancy web fonts for their website.

The good news is that it’s easy to fix.

The bad news is that this means you don’t have a lot of excuses for not fixing it.

Background

As part of a collaboration with /r/india to track the promises of the Modi administration, I first created my own mock-up in Jekyll—which was later spun off into its own project.

Given that the target demographic was largely Indian, my concept was informed by optimization as the main priority.

I was largely successful in this, and one of the accomplishments—amongst others, detailed in the GitHub issue—was bringing the size of the entire page below 100 kB.

When a project gets that small, everything starts to stand out. It caught my attention that my Raleway fonts took up more than two thirds of the entire page, which felt ridiculous to me.

I’ve grown very fond of custom web fonts, since I started using the Skeleton CSS framework, which powers the majority of this site, and many others as well.

The Dark Side of Web Fonts

But being obsessed with optimization, I always have to justify the use of it to myself. And for a project aimed at a country with varying speeds of bandwidth—compounded by the fact that one the world’s biggest CDNs only just opened data centres in a country of 1.25 billion people1 after we began on the project—playing fast and loose with fancy fonts demanded a justification.

Because two really bad things happen when you use a custom web font:

  1. Loading the font delays (blocks) the loading of the rest of the website (DOM).2
  2. Your browser renders the website, regardless of whether the font has finished loading, which creates a Flash Of Invisible Text (FOIT).

This is preventable, if developers want to do something about it. What follows is a description of how I improved the loading of web fonts on Goal Tracker, and what the results were. I’ll skip to the results first, so I don’t lose you with the boring code samples.

Your mileage may vary, but testing on a slow-ish 3G connection, I got the following results:

> Timelapse of loading with FOIT. Only the final frame has a readable web page at 3.5s
The unoptimized web page with FOIT.
> Timelapse of loading unoptimized web page with FOIT. The web page is readable from 1.3s and renders the page with the web font at 2.3s
Timelapse of loading optimized web page without FOIT.

Here they are as animated GIFs; you have to click them first, though.

This shows an animated timelapse of loading with FOIT. Only the final frame has a readable web page at 3.5s
The unoptimized web page with FOIT has 5 frames, because the site is repainted every time each of the three web fonts are loaded.
This shows an animated timelapse of loading unoptimized web page with FOIT. The web page is readable from 1.3s and renders the page with the web font at 2.3s.
The optimized web page without FOIT has 3 frames, 2 fewer, because the site is is only repainted once all three web fonts have been loaded.

Here are the main takeaways from the improvement:

  • The website first renders (ie DOM finished)
    • in 2.5s on the unoptimized version
    • in 1.3s on the optimized version
  • The website is readable
    • in 3.5s on the unoptimized version
    • in 1.3s on the optimized version—with fallback fonts
    • in 2.3s on the optimized version—with the web fonts

Again, this is for a web page with a minimal size footprint, so make of it what you will. If you can shave off a second for a website to render and two seconds for it to be readable even on a web page smaller than 100 kB, then any website will benefit.

The only “downside” is that users will see a Flash Of Unstyled Text (FOUT), a smaller—and briefer—inconvenience compared to a FOIT.

How-To

The following how-to is from my personal HTML guide for web fonts. I have abridged the code snippets from the guide to make them more readable. Some asides also wound up on the cutting-room floor.

Defeating FOIT

Change your stylesheet from including the custom font that looks like so:

body { font-family: "Raleway", Georgia, sans-serif; }

To this:

- body { font-family: "Raleway", Georgia, sans-serif; }
+ body { font-family: Georgia, sans-serif; }
+ .fonts-loaded body { font-family: "Raleway", Georgia, sans-serif; }

At the bottom of the HTML body, add the following using Font Face Observer:

<script src="/static/js/fontfaceobserver.js"></script>
<script>
    var raleway300 = new FontFaceObserver("Raleway", {"weight": 300}),
        raleway400 = new FontFaceObserver("Raleway", {"weight": 400}),
        raleway600 = new FontFaceObserver("Raleway", {"weight": 600});

    Promise.all([
        raleway300.check(),
        raleway400.check(),
        raleway600.check()
    ]).then(function() {
        document.documentElement.className += "fonts-loaded";
    });
</script>

This defeats FOIT by loading the fallback fonts first and then applying the custom fonts, once, and only once, they’ve finished downloading.

Deferred Font Loading

External

Either retrieve web fonts from Google Fonts:

<!-- Preconnect to external font to speed up font loading -->
<link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
<!-- Delay download of font until document is loaded -->
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway:300,400,600" media="deferred" onload="if(media!='all')media='all'" />
<noscript><link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Raleway:300,400,600" media="all" /></noscript>
Local

Or load them locally using localfont.com.

<!-- Delay download of font until document is loaded -->
<link rel="stylesheet" href="/static/typefaces/css/fonts.css" media="deferred" onload="if(media!='all')media='all'" />
<noscript><link rel="stylesheet" href="/static/typefaces/css/fonts.css" media="all" /></noscript>

Where fonts.css looks something like this:

@font-face {
    font-family: "Raleway";
    font-weight: 300;
    font-style: normal;
    src: url("../fonts/Raleway-300/Raleway-300.eot");
    src: url("../fonts/Raleway-300/Raleway-300.eot?#iefix") format("embedded-opentype"),
         local("Raleway Light"),
         local("Raleway-300"),
         url("../fonts/Raleway-300/Raleway-300.woff2") format("woff2"),
         url("../fonts/Raleway-300/Raleway-300.woff") format("woff"),
         url("../fonts/Raleway-300/Raleway-300.ttf") format("truetype"),
         url("../fonts/Raleway-300/Raleway-300.svg#Raleway") format("svg");
}

@font-face {
    font-family: "Raleway";
    font-weight: 400;
    font-style: normal;
    src: url("../fonts/Raleway-regular/Raleway-regular.eot");
    src: url("../fonts/Raleway-regular/Raleway-regular.eot?#iefix") format("embedded-opentype"),
         local("Raleway"),
         local("Raleway-regular"),
         url("../fonts/Raleway-regular/Raleway-regular.woff2") format("woff2"),
         url("../fonts/Raleway-regular/Raleway-regular.woff") format("woff"),
         url("../fonts/Raleway-regular/Raleway-regular.ttf") format("truetype"),
         url("../fonts/Raleway-regular/Raleway-regular.svg#Raleway") format("svg");
}

@font-face {
    font-family: "Raleway";
    font-weight: 600;
    font-style: normal;
    src: url("../fonts/Raleway-600/Raleway-600.eot");
    src: url("../fonts/Raleway-600/Raleway-600.eot?#iefix") format("embedded-opentype"),
         local("Raleway SemiBold"),
         local("Raleway-600"),
         url("../fonts/Raleway-600/Raleway-600.woff2") format("woff2"),
         url("../fonts/Raleway-600/Raleway-600.woff") format("woff"),
         url("../fonts/Raleway-600/Raleway-600.ttf") format("truetype"),
         url("../fonts/Raleway-600/Raleway-600.svg#Raleway") format("svg");
}

/** I prefer to place this part in fonts.css, but you can place it in your regular style.css */
.fonts-loaded body { font-family: "Raleway", "HelveticaNeue", "Helvetica Neue", Helvetica, Arial, sans-serif; }

Backward Compatibility

Deferred Font Loading
  • This method does not work in Android < 4.4 because the onload handler does not fire when content is available—I’m looking into a workaround for this.
  • Some browsers appear to still block CSS render despite media="none". This means CSS loads as it usually does—I’m looking into this.

Keith Clark: “Loading CSS without Blocking Render”

Deferred Font Rendering (FOIT)

FontFaceObserver has been tested and works on the following browsers:

  • Chrome (desktop & Android)
  • Opera
  • Safari (desktop & iOS)
  • IE9+
  • Android WebKit

Font Face Observer browser support section

You could say that this might not work on literally every browser, with the worst case scenario being that the page just loads as it normally would. You would also have to compare this browser compatibility list with the tech stack you’re currently using, which is probably not all-inclusive either.

Further Reading

  1. You can see where you are receiving this article from under loc in this CDN trace↩︎

  2. The ills of this are alleviated by HTTP/2, which was just implemented by CloudFlare. ↩︎


Understanding and Navigating Privacy on Twitter

Permalink - Posted on 2015-08-20 20:00

(In our previous instalment, we learned to use Twitter in a way that promotes context, attribution, and tidiness in the timeline.)

This time, we will learn to improve your experience and privacy with regard to the notification system.

To cut to the chase, the following actions on Twitter trigger an alert in another user’s Notifications feed:

  1. Following them.
  2. Adding them to a list.
  3. @replying to them.
  4. @mentioning them.
  5. Retweeting them.
  6. Faving their tweet.
  7. Linking to their tweet.

I have bolded the triggers I consider non-obvious.

Linking to a tweet was a surprising notification trigger to me; linking is the most innocuous action on the goddamn Internet. This basic, fundamental action now comes with caveats that discourage tweeting for many users.

I can understand that Twitter’s lord and master is #brands, but it is beyond me how users don’t get a choice in the matter.

On Twitter, linking has become a privilege.

Moreover, did it occur to Twitter that we may not want to see everything people tweet about us—especially when they think we are out of earshot?

The Private, Public, and Public-Private

When you inadvertently alert someone to a private conversation of yours, the private becomes public. Of course, everything on Twitter is public by some definition of the word, albeit with an expectation of privacy similar to conversing in a bar, restaurant or café. When someone shows up to talk—or reply—to you, they had better have a good reason for their imposition.

These environments, like Twitter, are what I would describe as public-private. There is such a thing as privacy in public.

If reading this post up to this point has made your eyes glaze over, I am going to assume you are either a guy, white, part of a gender-sexual majority, or someone who won’t be perceived a Muslim.

Because, to these people, privacy is safety.

(I meant to embed a profound tweet someone once posted of the different reaction to a viral article and tweet for men vs women. Couldn’t find it.)

Twitter don’t seem to get online safety either, probably because the environs of decision-making fit into the same privileged, oblivious demographic, which results in an Kafka-esque reporting system beyond embarrassment, as detailed in WAM!’s extensive report.

(If you don’t already know about how deeply broken Twitter’s reporting system is, then you haven’t really been paying attention.)

An important, but separate, discussion is the concept of a “public figure”, which is an oft-used justification for denying someone a private space and publicizing their public-private conversations on Twitter. This argument is a common sleight of hand used to harass women and deny them public existence and peace of mind on the basis of their, perceived, popularity or heterodoxy.

Metrics Are at Often Odds with Privacy

When #brand engagement, metrics and monitoring reign supreme, privacy gets thrown out the window to placate #brands who want every conversation to be made public to them—and to placate disgruntled Twitter investors who want every user action on Twitter to be measured and datamined in the hopes of stumbling over a profitable business model.

Netflix slides into the mentions of someone expressing concern about Netflix watching users
Creepy, Netflix.

Unfortunately, the same monitoring tools are available to everyone else.

Subtweets As Safety Tweets

“Subtweeting” has been a tongue-in-cheek remark on noticing someone referring to something or someone discussed on Twitter as opaquely as possible. Only people familiar with the context would pick up on the message. It was like an office joke, because you had to be a part of the watercooler community of Twitter to get it.

Subtweets were an invitation to solve the mystery of what someone was referring to. But the obfuscation of subtweets also bears another characteristic: they increase safety from retribution.

Subtweets are also a safety mechanism.

Some of us are so privileged that the concept of defence mechanisms is alien to us. But for others, life requires them to keep adapting to new challenges, be they digital or analogue.

And Twitter excel at making small changes that surreptitiously worsen the platform experience.

Security by obscurity is a well-known concept; subtweets provide safety by obscurity. Like its security counterpart, safety by obscurity is not bulletproof, but it plays to the weakness of human nature:

Most aggressors are dumb, lazy, and intemperate.

If you ever wondered why people don’t use the word “Gamergate” in their tweets, it’s because assholes monitor the word and pounce on anyone outside the misogynist echo chamber.

As a result, defence mechanisms and vernaculars develop.

And as usual, all of this is news to Twitter HQ.

Enter the Subscreenshot?

Or “subshot”? Anyway.

Not too long ago, people responded to Twitter’s implementation of displaying media previews in the timeline by creating image-based pull-quotes and excerpts for the content they were sharing.

The media also caught on to this, and dubbed it unspeakable, ridiculous names for which they should forever be ashamed. It also spawned a nifty iPhone app.

In light of the new behaviour of Twitter links and Notifications, however, they now also serve the purpose of sharing a tweet without triggering a Notifications alert. There is nothing convenient about this, though.

While this is very fascinating, it demonstrates the constant game of safety whack-a-mole that at-risk users must play to adapt to Twitter’s changes. Changes that are not, and probably never will be, informed by the plight of people who don’t look like the non-diverse echelons of decision-making.

Privacy from a Developer and User Perspective

So how exactly have Twitter screwed up with their opaque Notifications, if we can be as specific and helpful to their developer team as possible?

The most succinct description of the concept of privacy, and one of my favourite quotes, is by Steve Jobs:

Steve Jobs on privacy
“Privacy means people know what they’re signing up for.”

The reason privacy nuts like myself tend to ask for features to be made opt-in is because no sane person will neither know nor remember all the settings for a service. The settings will usually be a mess to navigate — sometimes by design, as with Facebook.

Pop quiz! Off the top of your head, do you know how to disable Google remembering your search history? Do you know how to disable targeted ads from iAd? Do you know whether your location is included with the content you share on Twitter, Facebook, and Instagram?

When a service’s privacy sucks, your information leaks, sometimes by design, but often out of sheer cluelessness and indifference. It leaks, because it happens passively; it is not stolen by someone; the information is merely left out in the open for the taking and gawking.

The Danish Context

I’ve been meaning to write this post for a while, but this is what disabused me of my laziness:

When the foreign minister of your country faves your tweet
Translated: “If we had any doubts before, we definitely know now that [the political party] Venstre supports TTIP [tweet link]. I imagine [Danish parties] R, K, and LA will follow suit.”

That’s the foreign minister of Denmark faving a tweet of mine. My miscalculation was linking to his tweet.

(The foreign minister is the Danish Secretary of State—how’s it hanging, John Kerry!)

Of course, I live in Denmark where the short distance between constituents and politicians is an admirable, laudable advantage. But Denmark’s size is also inversely proportional to private space; when Americans say Washington is reading your tweets, they mean figuratively, not literally. In Denmark, people prefer to use Facebook, so monitoring a discussion is entirely feasible in Denmark. There is no noise to hide in.

Politicians deserve credit for engaging in democracy and meeting their constituents digitally or physically, especially at a time where our collective faith in parliament is declining steadily, giving rise to fringe none-of-the-above parties.

But there’s engaging, and then there’s sliding into your mentions. We’ve already seen extreme examples of this in Turkey, but also in the US where the governor of Kansas started a feud with a hapless teenage girl over some innocuous remarks made in the public-private forum of Twitter.

As chance would have it, one of the worst Danish political offenders in sliding into people’s mentions is our new justice minister, a tough-on-crime fellow who’s also a repeat offender in sexist remarks towards dissenters.

And bear in mind that it is technically illegal in Denmark to condone terrorism pursuant to § 136b of the Danish penal code.

When we interact in the tiny, silent space that is Danish Twitter, we must bear in mind the implications of conversing in a place where you can hear a pin drop.

Once again, I am left feeling that Twitter just don’t get it. And never will.

For others, it continues to be imperative to their existence to get it.

Be safe out there.

Further Reading


(This post originally appeared on Medium.)


Two Unwritten Rules of Twitter Etiquette

Permalink - Posted on 2015-01-15 20:00

(No, we’re not doing Twitter portmanteaus. Nope.)

1. Use the Reply Feature

Twitter’s reply feature is a secret weapon for contextualizing tweets beyond the 140-character limit.

Not a lot of people know this, but when you reply to a tweet, you create a link between the two tweets.

This feature has a long history of being utterly broken, which turned many including me away from using it—even after Twitter fixed it, and third-party developers worked around it.

Twitter would announce the thread-line feature to emphasize this component of the platform:

Twitter’s video on the thread-line feature
Twitter’s thread-line feature.

Twitter threads now rearranged the tweets in a timeline to group those that were linked, which was usually inter-user conversation.

Novelty aside, the threads displayed an underlying system that was already in place. However, up until that point, you could only see the “linked tweets”, if you visited the page for individual tweet.

Replying to your own tweets

If a tweet relates to another, write the new tweet as a reply to the other:

Chris Hayes knows how to link tweets together
The result of replying to the top-most tweet with the tweets below.

You do this by using the Reply button on the page of the individual tweet—it tends to work in third-party clients, but there may be exceptions. Use cases for this include:

  • Tweetstorms and Twitter rants. Because even if you write your tweets in rapid succession, other people’s tweets will blend into your stream profound insight in the timelines of the people who follow you.
  • Corrections and contextualizations. Some prefer to “unpublish” a wrong tweet, especially during breaking news. But with the reply feature, you can also reply to the tweet and contextualize it.
  • Save characters by linking. Because you don’t have to enter an URL for the tweet you want to link to, you save 23 characters. Same for the @handle you maybe able to save.

You are guaranteed to link the two tweets, but I’ve found Twitter’s threading to be extremely irregular.

Chris Hayes knows how to link tweets
This guy gets it.

Replying to other people’s tweets

Twitter is not a parallel universe where the rules of journalism and basic human decency are null and void, so use the feature to cite your Twitter source and give them due credit.

It’s also worth keeping in mind that some Twitter clients send an alert to the replied-to user.

Do this especially when you “RT” and “MT” tweets and take partial credit. But instead of manual retweets, you should …

2. Use the Retweet Feature

Everyone thinks they have the Smart Take on a given subject, but in the hypothetical, purely academic, scenario that you don’t have anything to add to a discussion or story, you are better off

  1. Not tweeting anything at all. #nevertweet
  2. Retweeting a popular tweet with the gist.

Why retweet and not post, say, the breaking news story yourself? Because you’ll end up with

  • Dozens of tweets saying the same thing.
  • Unsourced statements that can’t be verified.
  • If the retweeted tweet is deleted, you won’t have to do so yourself, as Twitter removes the tweet from your timeline and user profile.

Of course, the worst people in the world are not those who tweet their own version of the same joke for the fiftieth time; that distinction belongs to the people who rather than retweet that tweet with the thousands of retweets, add their own “RT” seal of approval. Such users are deplorable human beings who belong in The Hague.

Ryan J. Reilly prefaces only adds an “RT” to a tweet
History’s greatest monster.

This doesn’t mean that RTs and MTs can’t have merit, but you have to add something to the original tweets such as a humour, context or sass before (or after) the quoted tweet:

Adam Serwer prefaces a tweet with “jokes RT’
Gold star for appropriate use of manual RT AND a reply link to the original.

And on a final note, understand retweeting manual RTs makes you partially complicit; spend ten seconds trying to find the original tweet and retweet or respond to that instead; anything else is kinda mean to the author(s).


(This post originally appeared on Medium.)