Sorry About Computer

They were supposed to make things easier

last week i got to witness an engineering department lose a full day's work because if you put an emoji in a git commit message, Atlassian Bamboo chokes on it forever and you're forced to rebase master, like you should NEVER DO. this was of course referred to as The Emojiency

— Chaos (@chaosprime) April 21, 2019

Fun JavaScript quirk I ran into: a really large setTimeout() delay makes the delayed function execute (almost) immediately. 🤦‍♂️

Basically, don't setTimeout() for longer than ~25 days.

— David K. 🎹 (@DavidKPiano) April 20, 2019

Feeling down? iOS jailbreak you've been working on for a year got patched? Fuzzer not finding any bugs? Miss the 90s where everything crashed? Change your time format on Windows to 90 characters! Watch everything fall over as they get 90 character formats from Windows APIs!

— Brandon Falk (@gamozolabs) April 20, 2019

She just straight up started naming random people who live in Michigan.

— ashe dryden (@ashedryden) April 19, 2019

this episode has a funny implication: to write a C or C++ compiler that is taken seriously, you must implement a language that is not specified or defined anywhere other than "it must produce the expected results on this small collection of dusty deck codes"

— John Regehr (@johnregehr) April 15, 2019

"...the user agent string for the latest Dev Channel build of Microsoft Edge: "... Edg/" We’ve selected the “Edg” token to avoid compatibility issues that may be caused by using the string “Edge,”..."

We are now deliberately misspelling words in the User-Agent string.

— Nathan Froyd (@froydnj) April 9, 2019


— Peter Steinberger (@steipete) April 3, 2019

the immaculate joy of writing standard libraries

— iximeow (@iximeow) April 6, 2019

CONDUCTOR: we’re stopping the train so we can reboot the engine computer

— bletchley punk (@alicegoldfuss) December 14, 2018

If you told me that setting a sprite’s color in Unity couldn’t happen off the main thread, I would already be angry at you, but nevertheless I was not emotionally prepared to find out the reason why

— Christine Love (@christinelove) January 22, 2019

Valid C, invalid C++:
for (int i = 0; ;) {
int i = 1;
return i;

Valid C and C++:
for (int i = 0; ;) {{
int i = 1;
return i;

— Stephen Checkoway (@stevecheckoway) January 27, 2019


to increment some counter on the page,

  node.innerText += 1

doesn't work (0 → 01 → 011 → ⋯), but

  node.innerText -= -1

works fine (0 → 1 → 2 → ⋯)

— Lynn (@chordbug) February 5, 2019

"Ⱥ" and "Ⱦ" are Unicode characters, which increase in length (from 2 to 3 bytes) when lowercased. Nasty.

Found them from the "Big List of Naughty Strings" - list of strings which have a high probability of causing issues when used as user-input data.

— @mikko (@mikko) November 5, 2018

This is hell

— BooDoo (@BooDooPerson) November 5, 2018

them: is 10 the highest CVE score you can have?
me: ?
them: a website has unauthenticated, remote access via a single get request
me: seems like a 10.
them: which returns select * on a quarter million unencrypted credit card #'s.
me: okay, maybe 11.

— Kenn White (@kennwhite) September 25, 2018

Stories from Antivirus land: clamav uses libmspack, libmspack had vuln in 2012, libmspack fixed it+adds regression test, clamav detects regression test as malware, libmspack can't be distributed any more because webhost of libmspack uses clamv...

— hanno (@hanno) August 9, 2018

Be careful when reversing #unicode strings. You may be surprised…

>>> s = "Welcome in 🇬🇧”
>>> s[::-1]
'🇧🇬 ni emocleW'

(thanks @piskvor for the inspiration!)

— Daily Python Tip (@python_tip) August 6, 2018

ask me how my day is going

— zach (@ztellman) August 11, 2018

I thought this was a joke.

It wasn't a joke.

— Hector Martin (@marcan42) June 19, 2018

how and why would you even build a system that behaved like this

— 100% clean soup (@vogon) June 19, 2018

Javascript and the blockchain: The gift that keeps on giving

You keep using the word 'fsync', I do not think it means what you think it means... If you manage data on Linux, you don't want to miss this popcorn worthy debugging on the #Postgres hackers list:

— xzilla (@robtreat2) April 2, 2018


Load-bearing optimization, n.

A performance-related change (for example adding a cache) that accidentally becomes required for correctness

— David Smith (@Catfish_Man) May 24, 2016

"Tonight I was using my iPhone to airplay a March Madness game to our Apple TV. When I misplaced my phone, I used my Apple Watch to ping it. The ping noise played through the Apple TV… Thanks a lot 🙄"

"Hey Alex why are you so hard on American railways?"

— Alex "Bloomer" Forrest 🚉🌸 (@380kmh) March 21, 2018

*Halved* render time with @appleseedhq on a particular scene using OSL (Windows, VS 2015, exception handling enabled) by replacing `float4() {}` by C++11's `float4() = default` in OIIO. The former disabled __forceinline, among other things. Details:

— François Beaune (@franzbeaune) March 16, 2018

The long tail of fixing Meltdown and Spectre

It's just a cube, how hard could it be
A texture mapped cube, except the textures are all wrong