Labnotes

Published on

Jaguar has restored this old E-type with an electric upgrade Classic styling and all new wirings.


Design Objective

Little UI Details The little details that make a big difference:

Adding a subtle shadow to white text when on a bright background not only makes it more legible but helps it 'pop' more.

Flat UI Elements Attract Less Attention and Cause Uncertainty Use strong signifiers, and declutter the UI:

The problem is not that users never see a weakly signified UI element. It’s that even when they do see the weak element, they don’t feel confident that it is what they want, so they keep looking around the page.

These findings also confirm that flat or flat-ish designs can work better in certain conditions than others. As we saw in this experiment, the potential negative consequences of weak signifiers are diminished when the site has a low information density, traditional or consistent layout, and places important interactive elements where they stand out from surrounding elements.

Floating Labels Are Problematic Highlights some problems with floating labels, a follow up to Placeholders are problematic.

Baz Scott "From the Apple chess engine code 🤣🤣🤣" (via eran)


Tools of the Trade

1Password command-line tool: Getting started You can now automate 1Password from the command line:

op get item WestJet | jq '.details.fields[] | select(.designation=="password").value'

fasttext-node Node wrapper for Facebook's text classifier FastText.


Web-end

Building Skeleton Screens with CSS Custom Properties Skeleton screens should have fast time to first meaningful paint, easy with a little bit of HTML and critical-path CSS.


Lingua Scripta

James Kyle Unfortunately, ESLint has the opposite rule:

Async-await footgun pointed out to me last night by @bassjacob: Always return await or if you wrap with try-catch it won't be caught


Architectural

Michael (Doc) Norton This:

The gap between "Here's what worked for us" and "Here's what you should do"
is often perceived as tiny but is usually absolutely massive.

David Andress "This is a very important general point: people are far too inclined to believe that a crisis averted was never a crisis at all."


Peopleware

A Sense Of Urgency On balancing the RAMPS forces:

a very common question: managers turn to me and say, "my team lacks a sense of urgency, how can i give them one?"
...
RAMPS -- Rhythm, Autonomy, Mastery, Purpose, and Safety. someone else said it better than me: make great software by making great teams.


Locked Doors

Equifax Breach Response Turns Dumpster Fire Yeah it's bad. They lost the identity data of about half the US population, sat on that information for over a month, while some executives sold shares in the company, and then had the audacity to opt people out of class action lawsuit.

Mel Tajon Bet you didn't see this coming:

Confirmed: I’m also able to unlock the Samsung Galaxy Note 8 with people’s Facebook profile pics and Instagram selfies from my iPhone…

A Simple Design Flaw Makes It Astoundingly Easy To Hack Siri And Alexa Apparently, voice assistants listen on frequencies that are not audible to humans, making this stealth attack possible:

The researchers didn’t just activate basic commands like “Hey Siri” or “Okay Google,” though. They could also tell an iPhone to “call 1234567890” or tell an iPad to FaceTime the number. They could force a Macbook or a Nexus 7 to open a malicious website. They could order an Amazon Echo to “open the backdoor” (a pin would also be required, an August spokesperson clarifies). Even an Audi Q3 could have its navigation system redirected to a new location.

KRANG T. NELSON 🛋

ME: and then there's this dumbass verification code thing. like, wtf

THERAPIST: this is $250/hr do u want to talk abt anything else

ME: no


None of the Above

Hervé Piton "Floppy disks have been gone for so long they've become almost mythical and people start to make up how they worked."

Patrick McKenzie Follow this thread for some tips on what to do when someone opens a credit card in your name.

It occurs to me that my hobby in writing letters about the Fair Credit Reporting Act is suddenly topical! So some quick opinionated advice:

Boston Red Sox Used Apple Watches to Steal Signs Against Yankees The snark just writes itself: another northeast sports team caught cheating, also, finds a practical use for the Apple Watch.

dontmakemechokeaginge.tumblr.com Collection of funny parent/child t-shirt pairings.

There are some crazy medical codes out there—here are the weirdest on record These are the ones that appear in insurance claims in the US:

Perhaps with all our eyeballs glued to phones and tablets these days, the oblivious walking accidents aren’t surprising. But barnyard animals have less of an excuse. In the last year, 1,700 people showed up with W5522: “struck by cow,” and 200 had W6132: “struck by chicken.”

zonohedonist 😹

cat: my human is broken
cat technical support: have u tried asking to be let outside, then asking to be let back in

Andy Jackson "Sign spotted in the depths of the @britishlibrary"

Published on

🌹PⒶVEL 🌹 "After you defeat all the other landscapers, you must face the final boss"


Design Objective

The One Question Great Designers Ask Hate the hyperbole, but agree strongly with the premise:

Not “How should it work?” But “How should it work?”

Ignore what everyone else is doing. Ignore what the engineers say is possible or easy to build. Start with a blank slate and then think through the ideal experience.

The Tiny Keyboard Problem: Do People Complete Forms on Their Phones? TL;DR "Users viewed forms at fairly similar rates between desktop and mobile, but were 81% more likely to submit on desktop."

Are app reviews worth reading? "Human beings are delightfully creative, and you never know how people might use a product out in the wild" and other insights from Dropbox reading their app reviews.

A quick beginner’s guide to drawing "The basic craft of drawing is about two things: you learn to control your hand and to see."

chen 🍄 🛌

my favorite design tool is sleep

Daniel Yount "head explodes"


Tools of the Trade

Rethinking drag and drop "Taking something basic and making it beautiful", but also responsive, accessible, fast, and properly tested. Check it out.

gmaster New Git client that goes above being a command line wrapper: side-by-side semantic diff, proper 3-way merge, and more. Currently for C#, C/C++, and Java.

Software development 450 words per minute What it's like to develop software using a screen reader. And here's what it sounds like going at 450 wpm:

farzher/fuzzysort Fast SublimeText-like fuzzy search for JavaScript.

Headless mode And Firefox just added headless browsing mode, and the WebDriver API, for all your testing/automating/scripting needs.

Developing from an iPad How to run bash, screen, Vim, and other 90's favorites on a modern day tablet.

Atmo A macOS/Windows app for mocking HTTP/S services, with logic in JavaScript, and single click deploy to Zeit's Now.

Meredith L Patterson

new sshd who dis


Lingua Scripta

Building a Maybe in JavaScript Easier than it sounds, but will this ever go popular/native:

const maybeOne = Maybe.just(5);
maybeOne.map(x => x + 1); // Maybe.just(6);

const maybeTwo = Maybe.nothing();
maybeTwo.map(x => x + 1) // Maybe.nothing();

mikeal/r2 The spiritual successor to the widely-used "request" HTTP client lib, based on the Fetch API, and designed for async/await (but why let and not const?)

let obj = {ok: true}

let resp = await r2.put('http://localhost/test.json', {json: obj}).json

Lines of Code

Merrick Christensen Alert fatigue is a real thing:

ProTip: Keep your console free of warnings and errors. Even if they are false alarms (mute/fix them). Getting used to errors will cost you.

Jeran Fox "Most Javadoc"


Architectural

Event Sourcing: What it is and why it's awesome Gentle introduction to the benefits of event sourcing (which in theory I really love, waiting for half decent tooling to arrive.)

Rob Mayoff Reminds me of some company I used to work for:

“Have you ever heard of ‘not-invented-here’ syndrome?”
“Yes, but we have our own term for it.”


Locked Doors

Obscurity is a Valid Security Layer When used correctly:

When the goal is to reduce the number of successful attacks, starting with solid, tested security and adding obscurity as a layer does yield an overall benefit to the security posture. Camouflage accomplishes this on the battlefield, and PK/SPA accomplish this when protecting hardened services.

What Being a Female Hacker Is Really Like Think I chose the wrong career path. When we're dealing with a major crisis, we get donuts delivered to the conference room:

On top of that, when there is a major cyber attack, you could be flown to the scene of the crime for crisis control, and, depending on the urgency of the investigation, you might even get upgraded to a private jet.

Inside an Epic Hotel Room Hacking Spree "A vulnerability in hotel keycard locks was a security disaster—and the opportunity of a lifetime for one burglar."


Techtopia

Using chatbots against voicespam: analyzing Lenny’s effectiveness If we could train chatbots to respond to voicespam, would it make voicespam too expensive and a thing of the past? (via @drewish)

social justice mage BART is trying to tell us something:


None of the Above

Emergency Kittens "i cannot believe "if it fits, i sits" transcends boundaries in this way"

Saron Know the stage:

I've spoken at a lot of tech confs over the years, and there are things that are normal now that really threw me off as a 1st-time speaker.

The Adorkable Misogyny of The Big Bang Theory "Adorkable Misogynists are male characters whose geeky version of masculinity is framed as comically pathetic … lets them off the hook for a wide range of creepy, entitled, and sexist behaviors."

Tara Mann Yes, please! "Quick mock for a really dumb app I wish existed.... CAN I PARK HERE OR NOT?"

Bryce Roberts 🏋

Free business idea- A crossfit gym that's actually just a farm or a construction site.

Microsoft is finally fixing a notorious Outlook emoji problem that's plagued users for seven years Well, that took a while J

There’s No Such Thing As a Free Watch "Special Investigative Report For the Museum of Capitalism"

Harvey Didn’t Come Out of the Blue The US is very good at not talking about ways to prevent/mitigate disasters.

Tom Hatfield "Every time I see news coverage of a protest I remember this image"

How the GDPR will disrupt Google and Facebook Brief analysis of how EU's General Data Protection Regulation could affect Facebook and Google. And your product, if it's used in the EU and collects user info.

See_u_in_SF_in_a.gif "OK... this is the most amazing gif I have ever seen."

Published on

Lowcostcosplay Epic!


Design Objective

Gojko Adzic 🤔

#1 reason for using post-its for user stories: if it's not done when the glue dries up so much to fall down from the wall, it's obsolete

Stop Using The Cup of Coffee vs. $0.99 App Analogy Please. It never was and never will be a good analogy:

I know I’ll like my cup of coffee. It will fully meet my expectations. … It’s an experience I can fully trust will be pretty much the same each time. There’s no gamble here.

Last week I bought a game for 99 cents and it was terrible. I played it once, for 15 seconds. I could be shoving $1 straight down the toilet again for all I know. Your app, good sir, is a total gamble.


Tools of the Trade

Caiyeon/goldfish A UI for HashiCorp Vault. And you can request policy change by Github commit.

jarulraj/sqlcheck A linter for SQL queries.

whitequark So what's UDP?

TCP is not a protocol, it's actually an elaborately designed honeypot that teaches humility to developers for over 35 years

On The Turing Completeness of PowerPoint Someone actually built a turning machine using PowerPoint and wow.

Cassidy Williams Been there, done that:

I'm:
⚪️ a man
⚪️ a woman
🔘 an aspiring vim user

and I'm looking for:
⚪️ a man
⚪️ a woman
🔘 how to exit


Web-end

Jen Simmons Spec work is hard and often under-appreciated:

Why does new CSS take so long to invent & ship? CSSWG has to figure out how everything misbehaves. Here, debating floats + initial letter.


Lines of Code

Tautology Tests How to find tautology tests in your code:

  1. Tests that get updated much more frequently than the code they’re testing when they fail.

  2. Test code that’s impossible to edit without looking at the implementation.

Ben Reilly "how haven’t I been fired for this kind of thing I mean honestly"


Architectural

Nathan Marz Not the only, but definitely my first choice:

1/ The only way to design abstractions is through the unification of concrete use cases. Anything else leads to disaster.

2/ The art is figuring out which use cases are related and share an underlying structure.

3/ This is why great programming is a process of discovery, not invention. Great abstractions wait to be found and use cases are your map.

Tom ✊🏼 Croucher This never gets old:

Modern computer science is just rediscovering which 50s, 60s or 70s paper describes the solution to what we are doing on the 2017 Internet.

Luke VanderHart Never thought about it that way:

Reminder: every time you design something so it will be "easy to change" you are making assumptions about what kind of change you expect.


Devoops

Alice Goldfuss 🖥

doesn't matter how big the company, someone in it is provisioning shit with bash scripts


Techtopia

Google's Anti-Bullying AI Mistakes Civility for Decency The problem with machine learning algorithms starts with the training:

The project, Perspective, is an API that was trained by asking people to rate online comments on a scale from "very toxic" to "very healthy," with "toxic" being defined as a "rude, disrespectful, or unreasonable comment that is likely to make you leave a discussion." It's part of a growing effort to sanitize conversations online, which is reflective of a certain culture within Silicon Valley and the United States as a whole: The culture of civility.

And so we get:

A number of other highly problematic phrases—from "men are biologically superior to women" to "genocide is good"—rank low on toxicity. Meanwhile, "fuck off" comes in at 100 percent.

VW engineer sentenced to 40-month prison term in diesel case Just a reminder that "blindly executed a misguided loyalty to his employer” doesn't hold as defense in court.

Have Smartphones Destroyed a Generation? Every technology has downsides, they're real, they could be affecting you, or your kids, so pay attention.

Lesley 🥞 2017, the year I stopped understanding how to use a dishwasher:


None of the Above

Miss Texas 1967 "I both can and can't believe it"

Federico Viticci Did not see that one coming:

Very nice: when sharing AMP pages to iMessage or Reading List, iOS 11 Safari automatically removes AMP’s crap from the URL. Go Apple 👍

Offline "You must go offline to view this page" 💯

Assaf "A/B testing"

Carolyn Wood "Don't feed the trolls" meets algorithmic timeline:

A reminder if you use FB. Algorithm makes most replied to, not most liked, rise to top. If you reply to trolls, they become most prominent.

I’ve seen a lot of videos going around of urban-dwelling critters coming to humans for help with various problems How do they learn that?

does it ever strike you how weird it is that we’ve got a whole collection of prey species whose basic problem-solving script ends with the step “if all else fails, go bother one of the local apex predators and maybe they’ll fix the problem for no reason”?

Lowcostcosplay And again, because I can't pick which of his many cosplays I like the most.

Things to Hang on Your Mental Mug Tree Interesting tidbit about advertising and context (via Julia Galef):

But, under communism, anything that was worthwhile or desirable was generally in short supply. Consumers inferred that the only possible reason that the government might be promoting something was that they'd accidentally managed to produce something of such unremitting crappiness that people weren't willing to queue for it. Advertising in that context told you what not to buy.

The Dodo "This dog stole the baby's toy — then apologized for it!"

Published on

Please and thank you.


Design Objective

Run The Joules The importance of diversity in tech:

I almost got fired from my last job due to a similar technical issue. It's important to consider life experiences that differ from yours

“As a user” needs to stop. Argues against cargo cult user stories:

The purpose of user stories is to create empathy. As a result, tiny implementation details do not need to be written in the form of user stories. The design and engineering teams can figure that out; that’s their job.

When user stories really shine, they tell a story about the person using your product. The person becomes the hero. You’re just there to create the conditions for her to achieve her real-life goals.

DesignBetter.Co InVision's site for designers, with in-depth books, podcasts, and more.


Tools of the Trade

Sarah Mei Thread:

The more I do software, & read the old papers & new blogs, the more I realize that our history is this series, repeated ad infinitum:

GoogleChrome/puppeteer Google's own API for using headless Chrome from Node (testing, automating, scraping, etc).

const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto('https://example.com');
await page.screenshot({path: 'example.png'});

Crafties "Best practices" without context are just "practices".

Return well-formed error responses from your REST APIs Simple proposal for reporting errors with input fields.

[{ 
  "errorCode": "BAD_FORMAT", 
  "field": "email", 
  "originalValue": "suhas.chatekar", 
  "mesage": "{email} is not in correct format",
  "helpUrl": "/help/BAD_FORMAT#email" 
}]

The world in which IPv6 was a good design Or, why is IPv6 such a mess, and how did we get here?

At that point, all we'd have to do is eliminate all remaining UDP and TCP from the Internet, and then we would definitely not need layer 2 bridging anymore, for real this time, and then we could get rid of broadcasts and MAC addresses and SDN and DHCP and all that stuff.

And then the Internet would be elegant again.

{jqi} A simple graphical UI for jq.


Architectural

GonzoHacker 😭 "denial, anger, bargaining, depression, acceptance and mini-monolith"


Peopleware

Tech’s Damaging Myth of the Loner Genius Nerd Even the New York Times gets it:

There’s a joke in computer science that one of the hardest tasks is naming things in code. It’s funny because it’s a nontechnical task. But it involves something that can be even harder than technical work: communicating with other people and intuiting what they might need and understand.


Locked Doors

Kia For when you need to quickly disable Touch ID:

iOS 11 is a game-changer for Touch ID. Press power button rapidly 5 times and it opens the 2nd screen, but it also forces passphrase entry!

NIST Update: Passphrases In, Complex Passwords Out Finally, NIST advocating sane password policies, and walking away from harmful past practices (security questions, special characters, password change every X days, etc.)

Security Nerdette 👍

Replacing 'whitelist/blacklist' with 'safelist/blocklist' now on. Let's recognize and replace racism/sexism in everyday tech vocab! ❤️


None of the Above

Quincy Larson "Trying to code when chat's open"

Texting on the move turns your walk into an ungainly lollop Explains why it's difficult to pass people that are texting and walking:

The problem of text-walkers has become such a problem that cities such as Antwerp in Belgium, has introduced ‘text-walking lanes’ so that they do not irritate or endanger other pedestrians.

Why we fell for clean eating Post-truth diets:

Once we enter the territory where all authority and expertise are automatically suspect, you can start to claim almost anything – and many #eatclean authorities do.

yan "8 rabbits, aka 1 rabbyte"

What Brands Are Actually Behind Trader Joe’s Snacks? Spoiler alert.

Cutest Animals Ever "This dog...caught a fish...using croutons. Then walked off like Mufasa"

Published on

Fluff Society "Dog: This is NOT funny"


Design Objective

How we designed Foursquare Swarm 5.0 Designs needs to be implemented:

Get engineers involved at the beginning. … Sometimes a tiny design decision can have a large technical impact. It’s on me to continue to get engineers involved earlier to figure it out.

Coherent, Not Consistent TL;DR

Coherence means making sure every part of your product feels like it belongs there, instead of trying to make them exactly the same.

Stopwords in the user interface Words that usually signal problems with the user interface, like "click here", "operation", "success!"


Tools of the Trade

Why I Still Use Vim As a Vim user, I had no idea Atom is such a resource hog!

Opening a 6 megabyte XML file in Vim consumes around 12 megabytes. Nano is pretty much neck-and-neck with Vim. Code needs 392 megabytes, and Atom needs a whopping 845 megabytes.

JPNG.svg JPEG compresses better than PNG, but doesn't have alpha transparency. This tool gets around it, by converting your PNG into an SVG-wrapped JPEG (see Using SVG to Shrink Your PNGs).

Surfacing Hidden Change to Pull Requests That's smart! From looking at the code, you can't always tell the side effects of a Pull Request, so why not have CI explain it to you:

In every CI build, we calculate interesting pieces of data like the binary size and method count (an important metric for Android apps) and write them to shared storage. When a CI build runs for a pull request, we figure out the difference of these values from the ancestor commit on master. The numbers are sent back to the pull request in the form of a comment to ensure the author and any reviewers are notified.

Linux Load Averages: Solving the Mystery Digs through the archive to find the original commit that changed how Linux calculates load averages, and explains how to interpret these numbers.

Kitze "Start."


Lingua Scripta

Node v8.3.0 (Current) "The V8 engine has been upgraded to version 6.0, which has a significantly changed performance profile."

Passing data between Promise callbacks For when you can't use async/await.

Anonymous Recursion in JavaScript Getting clever with function composition. Can you decipher this?

(
  (
    (f) => f(f)
  )
  (
    (f) =>
      (l) => {
        console.log(l)
        if (l.length) f(f)(l.slice(1))
        console.log(l)
      }
  )
)
(
  [1, 2, 3]
)

Lines of Code

What my bathroom window taught me about code quality Pragmatic always wins:

Usually, bad code is expensive. Bad code is hard to understand. Bad code is hard to debug. Bad code is hard to extend. Because of all of these reasons, bad code also decreases the value that can be delivered in the future.

But sometimes, just sometimes, you know you are writing code that will never again be read, and will never be modified. You know it will be used, maybe just once or twice, and then it will be thrown away. That is when bad code is cheap.


Architectural

Corey Quinn It gets easier with experience:

“We sell sweaters, why are we building a bespoke container orchestration system?” is sometimes the hard question to ask.

In response to Matt Olson:

What makes a sr dev to me is someone who says "that sounds hard, why are we doing it?" instead of "that sounds hard, I better get started!"

Subbu Allamaraju I think so too:

Serverless patterns are pulling the rug from underneath container cluster managers faster than the latter becoming industrial grade


Devoops

Josh Aas Every warning label has a story:

Internet people - do not email your private key to @LetsEncrypt. We never want it. Like, ever.

nixCraft 🚨

Three things are certain:

Death, taxes, and lost data.

Guess which has occurred.


Peopleware

A Brief History of Women in Computing TL;DR first they invented programming, and now people are debating whether women belong in the industry they helped create.

How the Imagined “Rationality” of Engineering Is Hurting Diversity — and Engineering For context, in case you missed the Google memo kerfuffle.

So, about this Googler’s manifesto 💯

Essentially, engineering is all about cooperation, collaboration, and empathy for both your colleagues and your customers. If someone told you that engineering was a field where you could get away with not dealing with people or feelings, then I’m very sorry to tell you that you have been lied to. Solitary work is something that only happens at the most junior levels, and even then it’s only possible because someone senior to you — most likely your manager — has been putting in long hours to build up the social structures in your group that let you focus on code.

Dr. NerdLove The Google memo doesn't affect all people equally, to some it's just a point they can afford to debate:

But hey. It’s easy to pretend everything is neutral when it doesn’t touch you AND you strip away all context and history AND consequence.

Phil 🍕 "Anyone who ever schedules meetings with developers, please burn this image into your brain, thanks"


Techtopia

How Silicon Valley rediscovered LSD Jury still out, whether LSD is better than SaaS:

Paul, a start-up founder in New York, says he and his employees are less stressed since they started microdosing. But he couldn’t be absolutely sure about the cause and effect: he thinks it may have also been the project-management app Asana, which they started using at the same time, to keep organised.

x0rz "1960's vs. now"


Locked Doors

Biohackers Encoded Malware In A Strand Of DNA How's that for cyberpunk?

a group of researchers from the University of Washington has shown for the first time that it’s possible to encode malicious software into physical strands of DNA, so that when a gene sequencer analyzes it the resulting data becomes a program that corrupts gene-sequencing software and takes control of the underlying computer.

CryptoAUSTRALIA "When you pick the wrong anti-malware product"

Shawn Wildermuth "Grocery Store SQL injection attack"


None of the Above

Ste.A "Just a rhino charging at traffic, while an Indian couple commentate with Hank Marvin on the radio. That's all."

And God Created Millennial Earth Genesi$ 1:

And there was evening, and there was morning. And God was like, for heaven’s sake! This place is cray, I’m OUTTTT! ✌🌎 And he requested an Uber, and it was so.

Computers vs Humans 🤔

Böb Speed King Jänke 🐴

A horse walks into a bar and the bartender says why the long face and he says it's so when I'm eating prairie grasses I can see predators

Laura J. Nelson "A summer Friday in California: The transit agencies for Los Angeles and San Francisco are having a limerick battle about weed."

Maybe We’ve Been Thinking About the Productivity Slump All Wrong Does low productivity cause slow growth, or does slow growth cause low productivity?

Fluff Society "Foxes are just cat software running on dog hardware."