Labnotes

Published on

Design Objective

@mcclure111 "Here, modern design's tendency toward cryptic, monochrome icons created a situation where VS Code seems to be communicating to me that setting barrels of oil on fire makes it happy"

DPFebBWWsAMnd7y.jpg-large


Tools of the Trade

@estellevw If I had a penny for every time I did this:

git commit -m "hopefully final edits, but who am I kidding?"

@alicegoldfuss Book smart vs script smart?

CS COURSE: create a computer from thin air! remember, calculators haven't been invented yet
MY PROGRAMMING JOB: write a script that takes a value from this API and shoves into this other API

@ErrataRob 🦃

You think your Thanksgiving is bad, my sister and her husband are arguing about best way to structure an SQL table/queries. So in order to bring harmony, I interrupted and suggested NoSQL/MongoDB instead.


Web-end

The Cost Of JavaScript TL;DR Less code means less to transfer, less to decompress, less to parse/compile.

1-PRVzNizF9jQ_QADF5lQHpA

Casey Muratori There can always be one more div:

A lot of people complain about CSS because they wrap a div in a div and it doesn't align the way they expect.

What they don't understand is that if you wrap that div-in-a-div inside a div that is itself inside a div, then you can put that whole thing inside another div.

Jay Phelps 🧔🏻 Right, that makes so much sense:

related: if you console.log something with the devtools open it does not get garbage collected. This might seem like an obvious statement, but many forget and spend hours trying to figure out why the app is leaking memory


Lines of Code

@AdamTuttle Most of software development is like that. And when it ends with a rush you over-engineer; when it ends with a crush, just sloppy code:

How it feels to debug a computer program, in chart form. The longer it takes, the more pain you feel until you solve it, then the endorphins kick in.

I'm so high right now that I just made this chart.

DPa4WdhWkAIFAH5

Jon Gold 👍

Move Fast and Leave Things Better Than You Found Them - my new mantra

Chris Oldwood (if you don't understand the joke, you've made better life choices than I did)

In C++ how does one request access to the private members and functions of a class?

(Asking for a friend.)


Architectural

The Push Train Managing the human side of continuous delivery:

Since in order to deploy software we have to write it first, we tend to start with things that make software easiest to write. Or the specific load of development baggage that we’re most comfortable with.

Then we hope that we can bang on some tooling and get working software in the end. There’s no reason to expect that this approach should work, or result in anything good.

slides.098

Cindy Sridharan 🤔

If code is "hard" to unit test maybe instead of jumping right into refactoring it so as to make it more conducive to unit testing, maybe we should rethink if the code is actually just a better fit for a different form of testing. Might seem like another radical idea to some.

Dmitri Sotnikov "adapting a legacy codebase to new business requirements"

DGRB0KNUMAATMJ4.jpg-large


Devoops

John Arundel Interesting observation:

Monitoring will warn you your SSL certs expire tomorrow. Observability will only tell you they expired yesterday.


Locked Doors

Rochelle So slow, incorrect, and also other people have access to your personal information?

I wonder if Expensify SmartScan users know MTurk workers enter their receipts. I’m looking at someone’s Uber receipt with their full name, pick up, and drop off addresses.

Uber Paid Hackers to Delete Stolen Data on 57 Million People Be careful with logins in source control:

Two attackers accessed a private GitHub coding site used by Uber software engineers and then used login credentials they obtained there to access data stored on an Amazon Web Services account that handled computing tasks for the company.

@FioraAeterna Summarizing My analysis of the $1 million+ USD MyBTGWallet.com scam:

tl;dr version:

  1. the change was added after initial audit, so more likely to be missed
  2. hidden in the bitcoin code itself, not the site
  3. snuck the data out via google analytics (!)

None of the Above

Amanda Berlin "Spreading awareness of this horrifying issue happening in this lovely country. People stuck in the wifi with no hope for rescue!"

DPWA8A5VwAA88d1

@HanSolex "Techsplaining"

"I've never driven a truck but I write a lot of software"

This is like the techsplaining battlecry.

DPGcOFDUIAArqa_

The Copernican Revolution from the Inside If you are scientifically minded, and lived in the time Copernicus, would you have accepted his model of the earth revolving around the sun? The answer may surprise you.

Steve Kinney 🛌

Y Combinator applicants: please consider disrupting the process of putting a duvet cover on.

You have my permissions to use the blockchain if you must.

More than a Million Pro-Repeal Net Neutrality Comments were Likely Faked "It’s scary to think that organic, authentic voices in the public debate — more than 99% of which are in favor of keeping net neutrality — are being drowned out by a chorus of spambots." Also, semantic clustering.

Dave Lewis 📪

So, this is next level insanity. I just received a letter from my bank saying that they do not have a current address on file for my account.

A letter…

that they mailed...

…to my house.

Ferdinand Kingsley 🔥

"*on which you’re willing to die"

DPUsdJ6X0AAseS4

Ice Apocalypse "Next to a meteor strike, rapid sea-level rise from collapsing ice cliffs is one of the quickest ways our world can remake itself. This is about as fast as climate change gets."

McDonald's Followed by a remarkable save

Black Friday **** Need copy and link****

Parker Thompson 💯

There’s a cognitive bias you’re suffering from, which is to think a group you’ve identified as an antagonist thinks singularly in a way you don’t like because a given opinion has been expressed by a few within.

juan "can someone explain why japanese game show 'slippery stairs' hasn't made its way to our part of the world yet"

Published on

DO8rEpxXUA8lxoF

Heidi Howard "It seems it’s never to early to start learning computer science, even at age three #codeapillar #STEMtoys"


Tools of the Trade

The new Firefox It is fast. It is pretty. It eats up less memory. It includes some ad blocking tech. It's a big milestone, and maybe time to switch default browser?

new-tab-high-res.217194623b56

React Bits A compilation of React Patterns, techniques, tips and tricks.

Sam Walsh 🚨

I love how React uses dangerouslySetInnerHTML as the attribute name for raw InnerHTML, just to make sure you're aware that you're probably doing something stupid. #reactjs

Introducing security alerts on GitHub "With your dependency graph enabled, we’ll now notify you when we detect a vulnerability in one of your dependencies and suggest known fixes from the GitHub community."

32851987-76c36e4a-c9eb-11e7-98fc-feb39fddaadb

Corey Quinn 😭

Apparently “mocking tests” doesn’t mean what I thought it did, and I owe QA a massive apology.


Web-end

Service Workers Break the Browser’s Refresh Button by Default; Here’s Why Biggest problem with Service Workers (like appcache beforehand), is how quickly you go from "cool demo, app works offline!" to "broke in production, users are stuck, can't use site!":

By default, users have to close all tabs to a site in order to update a Service Worker. The Refresh button is not enough.

Service Workers break the Refresh button because they behave like “apps,” refusing to update while the app is still running, in order to maintain code consistency and client-side data consistency.

1-uStEIS53QpqNi-5DMxEGrQ

Advanced CSS-Only Form Styling Pseudo selectors to the rescue!

input:invalid {
  border-color: var(--color-error);
  background-image: url("data:image/svg+xml,…");
}

My web app died from performance bankruptcy When you're the dominant browser vendor, you can decide to break the web:

Breaking changes might happen pretty fast. Current version of Chrome is 62. Your code might being broken by the time Chrome 67 arrives. It almost certainly wouldn’t work in Chrome 100.


Lines of Code

hemanth/functional-programming-jargon Glossary of functional programming terms, with examples in ES2015, and translations in several languages.


Architectural

The GraphQL stack: How everything fits together A look at caching, tracing, schema stitching, and GraphQL’s future from GraphQL Summit 2017.

1-bIs4BAGs1hqpWuT_TAgO6A

Donald Knuth - The Patron Saint of Yak Shaves And once again, Weekend Reading on the subject of TeX:

Yak shave 1: Somewhere along the road, implement your own programming language…
Yak shave 4: Design a font
Yak shave 8: Implement a custom language for printable documents


Devoops

Punishment Driven Development? Lessons from troubleshooting industrial monitoring systems:

Having a motivation to make your software better really helps, hence Punishment Driven Development

Juozas Kaziukėnas 🔥

If having a coffee in the morning doesn’t wake you up, try deleting a table in a production database instead.


Peopleware

Neuroscience Explains Why We Get Hacked So Easily TL;DR our attention is limited, and we easily get habituated, but look: colorful MRI scans you haven't seen before!

Testing showed that people using the interruption-sensitive version of Chrome ignored the message only about a third of the time, compared to about 80 percent of the time without it.

By breaking the usual rules of software design and having the security-related messages change in appearance slightly each time—for example, with different colors—it was possible to reduce the habituation effect.

Lazy Susan "The last things I'll scream from my death bed"

DOi9AqgW0AUbe1b


Locked Doors

Hackers Say They've Broken Face ID a Week After iPhone X Release The threat model here is somewhat different than a 10 year old unlocking their parent's phone:

"Potential targets shall not be regular users, but billionaires, leaders of major corporations, nation leaders, and agents like FBI need to understand the Face ID's issue," the Bkav researchers write.

FaceID-Inline-Diagram


Tech Topia

She Warned of ‘Peer-to-Peer Misinformation.’ Congress Listened. What if you were placed in an echo chamber and couldn't escape?

Through one account she created to monitor anti-vaccine groups on Facebook, she quickly realized she was being pushed toward other anti-vaccine accounts, creating an echo chamber in which it appeared that viewpoints like “vaccines cause autism” were the majority.

Ashamed to work in Silicon Valley: how techies became the new bankers I'm old enough to remember when people in SV complained "family/friends don't understand what I do for a living!" Now we'd rather they never find out:

“I would never say I worked at Facebook,” said one 30-year-old software engineer who left the company last year to pursue an alternative career. Instead, at dinner parties he would give purposefully vague responses and change the subject. “There’s this song and dance you learn to play because people are quick to judge.”

jennschiffer Turns out, it is about ethics in software development, after all!

i gotta say - if you're teaching coding workshops at conferences and not working ethics and the like into your curriculum, you're not using your platform correctly in this the year 2017. and if it "has nothing to do" with the code you're not designing curriculum correctly!


None of the Above

Mikko Hypponen "Forbes cover 10 years ago."

DOcZ_twWkAEyWiO

Matt Brian When we need to adjust to machines that can learn:

If you own an iPhone X and get your fair share of passcode prompts after a negative Face ID, make sure you enter your code instead of reframing. It’ll help your iPhone learn what you look like at different periods during the day.

Michael Newman "Could not have predicted 20 years ago that browsing in a bookstore in 2017, I’d see a vinyl LP soundtrack to a TV show about cassette tapes you can only watch using the internet."

DOYQYIzWkAEnU3V

Two Stars Slammed Into Each Other And Solved Half Of Astronomy’s Problems. What Comes Next? "The neutron-star merger event was like seeing and hearing at the same time, and with a dictionary to make sense of it all."

astronomy4x3

Yulie [NSFL] 🐳 "IT'S CALLED ROOMMATES YOU INVENTED ROOMMATES"

DOfw67DU8AAZ5Bo

Colin J Carlson Thread:

in the face of insomnia i will attempt to assign letter grades to the weird foxes. please stand by and watch this space for weird fox letter grades,, thank you

Existential Comics "we must imagine Sisyphus happy and also as an otter"

Published on

Mia Harrison "And then we proceeded to waste half our day. #animojikaraoke #iphonex #queen #bohemianrapsody #carriedaway"


Design Objective

UI backwards compatibility Entirely agree, we need do better with breaking UI changes:

The case for the case for UI backwards compatibility is arguable weaker than the case for API backwards compatibility because API backwards compatibility has a lower cost – if some API is problematic, you can make a new API and then document the old API as something that shouldn’t be used (you’ll see lots of these if you look at Linux syscalls). This doesn’t really work with GUIs since UI elements compete with each other for a small amount of screen real-estate.

And also often overlooked:

An argument that I think is underrated is that changing UIs isn’t as great as most companies seem to think – very dated looking UIs that haven’t been refreshed to keep up with trends can be successful …


Tools of the Trade

Five Things I Wish I Knew Starting Out Many developers, well into their career, have yet to learn this lesson:

  1. today's trendy library often turns into tomorrow's technical debt: try to build projects as lightly as possible

What are the Most Disliked Programming Languages? As seen on Stack Overflow, high correlation of "least disliked tags tend to be fast-growing ones."

languages-1-900x675

addyosmani/critical Extract & Inline Critical-path CSS in HTML pages.

Powerful Start in Sketch If you're starting with Sketch, these are the tools to get started with.

x0rz 🤔

Obfuscating IPv4 addresses is fun, try:
$ ping 0177.1
$ ping 134744072
$ ping 0x8080808
$ ping 010.0x0000008.00000010.8
$ ping 8.0x0000000000000080808

That works both on Linux and Windows 👌


Web-end

I Watched All of the Chrome Dev Summit 2017 Videos So You Don’t Have To TL;DR Google wants you to build PWAs, reduce JavaScript file size, use Web Components, and configure autofill.

Sara Soueidan 🐦 TIL:

Combine viewport units with other units to unbreak zooming

e.g. font-size: calc(16px +2vw); will scale text while preserving zooming UX. 👍🏻

Wes Bos 🔥

Since :before and :after are first class CSS Grid items, this “lines on either side” design can easily be accomplished in ~10 lines of CSS

DNu8jfeU8AAjS-d

Jen Simmons | Writing Modes | CSS Day 2017 How CSS renders text left-to-right, right-to-left, and top-to-bottom … in both directions.

Corprew Reed 😭

technically, the committee is named unicode. the spec and character set is named "unicode's monster"


Lingua Scripta

The Most Clever Line of JavaScript How to addressParts.map(Function.prototype.call, String.prototype.trim); like a pro.

ES Modules: Default imports are not namespace imports! The subtle, confusing difference between the single export (CommonJS), and "my name is default" (ES modules).

Kent C. Dodds code demo:

Today in things you'd never do with JavaScript but totally can...

Define a class that extends another which is defined inline... n times.


Lines of Code

Chris Fritz 👍

Code review tip: include at least one reviewer that wasn't involved in feature discussions. If they can't make sense of the code, it won't make sense to anyone a month from now.

Manisha Agarwal 💯

OH: I no longer tolerate complicated programming languages. My mental space is like Silicon Valley; rent is high and space is at a premium


Architectural

Ryan Singer All other being equal, you do get there faster if you avoid building the wrong thing, keep your focus, etc:

Agile became synonymous with "speed" because of sprints, velocity, etc. But speed isn't the real problem. The real problems are doing the wrong thing, building to a spec, unfocused resource allocation, etc.


Locked Doors

He Perfected a Password-Hacking Tool — Then The Russians Came Calling How Mimikatz, a tool coded by a French government IT manager in his spare time, became the favorite password stealer of hackers worldwide.

@turtlekiosk 🕵️‍♀️

therapist: you're afraid of making connections because you don't want to get hurt
infosec person: it's called threat modeling

Brendan Seerup "Probably the best leaving present you can get somone in your security team on thier last day"

DOO71DtU8AMtjQt


Electric Sheep

The Neural Net Tank Urban Legend TL;DR 50 year old urban legend, that gives a misleading indication of risks associated with deep learning:

A cautionary tale in artificial intelligence tells about researchers training an neural network (NN) to detect tanks in photographs, succeeding, only to realize the photographs had been collected under specific conditions for tanks/non-tanks and the NN had learned something useless like time of day.


Techtopia

Bitcoin Is a Bad Way to Do Something Necessary TL;DR Bitcoin is a "first mover advantage" currency, which favors very specific subset of the population. And also:

Deflationary money is reactionary. It rewards people for being first, not for being productive. It encourages people not to spend and not to invest in something other than money, which is bad for economies. Moderate inflation, contra-gold bugs and Austrians, is a good thing, as it devalues effort from the past. It’s great that you did something wonderful 40 years ago, but what you do today should matter more.


None of the Above

dead inside "I call this the “might make another sandwich might not”"

DN7K_G3W0AAosZX

nicole boyce 💡

I NEVER restore all old tabs. If I lose them in a restart, they're gone. It is a blessing to be set free from a prison of my own creation

Phil Jones "Every time I passed this bike rack I thought it looked like a vending machine. So, I hand painted a giant chip bag to go inside it."

DOMz6bKWAAIRdU_

Emma 👓

Everyone raging about 280 characters, except the visually impaired among us who hope this will mean fewer text-filled images we can’t access

Stringdrive Cool tech. Bike chains are messy, so why not replace them with swing arms and elastic strings?

magic-stringdrive-01

Patrick McKenzie Thread, applies to gig marketplaces in general:

Freelancer marketplaces are markets for lemons. You should not sell your labor through them.

I promise you: you CAN do better.

Tom "This looks like a mad sesh till you find out it’s a combine harvester in a cotton field"

DN3BjwqXcAAaupY

Published on

DNPRDr3WsAA7-g1

Thomas Baekdal "I think we need to have a discussion about how Google's burger emoji is placing the cheese underneath the burger, while Apple puts it on top"


Design Objective

Getting Users Psych'd—User Psychology for Better Onboarding Designing great on-boarding user flows starts with this principle:

Keeping track of how much psych a user has at any given time will inform the way in which you nudge them along in a given user experience. If their psych is high, then they're in a position to take in more information. If their psych is low, then they need to be pointed to value, gaining immediate satisfaction from their engagement.

Screenshot-2017-10-19-at-5.36.31-PM

The iPhone X Manual Apple Forgot The iPhone X is down one button: one button can be touched, can be single, double and triple clicked, and used in combination with other buttons. To compensate, iOS 11 adds new swipe gestures: this chart shows six, add one for Reachability.

DNuL4o3VAAABz0S

There’s No Fire Alarm for Artificial General Intelligence 🤔 interesting perspective:

What is the function of a fire alarm?

The fire alarm doesn’t tell us with certainty that a fire is there. In fact, I can’t recall one time in my life when, exiting a building on a fire alarm, there was an actual fire. Really, a fire alarm is weaker evidence of fire than smoke coming from under a door.

But the fire alarm tells us that it’s socially okay to react to the fire. It promises us with certainty that we won’t be embarrassed if we now proceed to exit in an orderly fashion.

Sketching Interfaces Envy warning: Airbnb uses machine learning to rapidly turn hand-drawn sketches into functional prototypes (video).


Tools of the Trade

Takes Notes on Everything 📓 When in doubt, write it down:

I'm not claiming taking notes is more important than writing actual code. But in my coding workflow, I'm seeing that my note-taking is part of an important balancing act. … It helps me better examine what I'm learning and not overlook important details. In the long run, it makes learning easier and helps me remember more. As a bonus, it may even help others who read them.

xnoɹǝʃ uɐıɹq This:

“Don’t write your own X” — authors of an X

(Go ahead and write your own frameworks and crypto folks. It’s a great way to learn.)

The method to epoll’s madness Explains the Linux API for handling non-blocking I/O (Nginx, Node, etc)

@anothercoyote If all else fails …

DNtIXmSUQAAKpxK


Web-end

My approach to using z-index The logic behind this simple and effective rule:

Local: elements that need to render on top of a sibling or nearby element

  • Must be contained in a new stacking context
  • Will rarely have a z-index greater than 1

Global: elements that must render on top of elements elsewhere on the page

  • z-index values must be declared as global variables in a central location
  • There should generally be fewer than ten in a site

Safari service workers and other PWA good news stories PWA coming to Safari (mobile or just desktop?) and Microsoft Edge:

In fact, Microsoft has been working to enabled developers to publish PWAs in the Windows Store, side-by-side with regular apps.

HTML Template Instantiation That would be awesome: Web Components that use a standard template syntax, based on Mustache, with support for bidirectional binding.

Suz 🐢 vim witch 🕸 📣

I know we're all broken records but I'm going to say it again: the easiest way to improve the a11y of your app is use a <button> not a <div>


Lines of Code

Jeff Graham DRY doesn't mean terse:

I wish 'DRY' wasn't such a dogma in programming. Somethings would be better off repeated and explicitly stated. Intent can be more clear.

Lindsey Bieda But more importantly 🔨:

No design pattern or software design principle should ever be taken as a MUST. When you stop being thoughtful about what you are coding you stop being active in the process.

Enough With the Service Objects Already Speaking of pattern over-use:

An object that handles business logic but doesn’t have a well-defined business domain role is like one of these dangerously-located seedlings. Objects tend to grow and accumulate more responsibilities. As Corey Haines puts it, objects are attractors for functionality. And once they mature, objects with confused, ill-defined roles can be some of the hardest to refactor.

Why is Elm more popular than PureScript? This (via Alexis King):

I think a lot of devs aren't necessarily looking for expressive power in a language. They're looking for a way to stop making nightmare code bases.


Architectural

Amy Renee Happened to me this week, and code base isn't even old:

DNl936eU8AAvPp0

Jonathan Matthews Worth every penny!

An infra consultancy service where I visit your startup and repeat "but ... why?" until you pay me.

vgill This is true, even if conference talks would have you believe otherwise:

Large-scale distributed systems are less about cool algorithms and more about the relentless hunting down of 6-sigma bugs.

What 108 Years Of Repaving Looks Like Under Indianapolis Motor Speedway's Asphalt Legacy code base, now under it's 8th maintainer in a decade:

DNzEuFYVQAEbU4R


Electric Sheep

Image upscaling supercharged Using machine learning to remove JPEG artifacts, and upscale image 4x. Check the before and after:

DNs4jGVXUAEYbZs

Fooling Neural Networks in the Physical World with 3D Adversarial Objects "Adversarial examples" that you can 3D print, and will fool a neural network. Nothing to worry about.

Yet, these same neural networks are particularly vulnerable to adversarial examples, carefully perturbed inputs that cause targeted misclassification. One example is the tabby cat below, which we perturbed to look like a guacamole to Google’s InceptionV3 image classifier.

cat_adversarial

Will Wilson 😭

"What's the difference between AI and ML?"

"It's AI when you're raising money, it's ML when you're trying to hire people."


Locked Doors

Michael Langford 🔥

To paraphrase @patio11: “Identity Theft” is the banks reframing their failure to verify to whom they are extending credit as your fault.


Techtopia

Kumail Nanjiani Thread:

Tech has the capacity to destroy us. We see the negative effect of social media. & no ethical considerations are going into dev of tech.

The Web Began Dying In 2014, Here's How Well, it's not like two companies control access to information …

GOOG and FB now have direct influence over 70%+ of internet traffic. Mobile internet traffic is now the majority of traffic worldwide and in Latin America alone, GOOG and FB services have had 60% of mobile traffic in 2015, growing to 70% by the end of 2016. The remaining 30% of traffic is shared among all other mobile apps and websites. Mobile devices are primarily used for accessing GOOG and FB networks.

referral-to-top-publishers

A Russian Facebook page organized a protest in Texas. A different Russian page launched the counterprotest. Well, it's not like they make disinformation easy …


None of the Above

Fluff Society "best Halloween costume, don't even have to walk"

DNZddIaU8AAw6dG

nixCraft 💾

To the person who stole my Office install disk. I will find you and I will destroy you.

You have my Word.

Jenan Moussa "can't stop laughing"

DNdZHOXXkAMolF-

@mzbat Solid:

Don’t forget to periodically update your resume by adding new skills and removing all the dumb shit you don’t want to do anymore. 🙃

Bagel seeds 🤣

S2ySWbv

Published on

DMwDG-0UIAYU2BX

Joe Berkowitz "Glitches in the reality simulation are becoming more profound each day."


Design Objective

From boiling lead and black art: An essay on the history of mathematical typography An interesting read on typography, from Gutenberg through Knuth, especially as it relates to mathematic textbooks.

4-line-system

Luke Wroblewski From ChromeDevSummit:

pop-up fatigue.
90% of Chrome permission requests are ignored.


Tools of the Trade

Webpack Monitor "Webpack plugin that captures relevant statistics on your production builds, and an interactive analysis tool that helps developers better understand bundle composition and identify and prioritize optimization strategies."

Saying Goodbye to Firebug Before there were DevTools, there was Firebug: "When it came out in 2005, Firebug was the first tool to let programmers inspect, edit, and debug code right in the Firefox browser."

github/accessibilityjs Client side accessibility error scanner.

Rich Harris It is amazing anything works at all:

It took the whole day, but I finally got a simple Node app to work that requires you to log in with your Twitter account. So now, a rant:

🎃 💀Fillup Pain 💀 🎃 This thread:

Which is why I'm delivering a memory bank filled with 2MiB of Taylor Swift lyrics, most of which will go into space untouched.

Because I'm a serious engineer.

nixCraft "WiFi cable". Genius.

DM45QWFVAAErQsq


Web-end

Netflix UI Engineers What goes around …

Removing client-side React.js (but keeping it on the server) resulted in a 50% performance improvement on our landing page

Chris Eppstein … or because CSS is too complicated?

There's an awful lot of JavaScript that exists solely because the developer didn't know CSS well enough.

Ilya Grigorik "new NetInfo attributes in Chrome M62: effective RTT, downlink, and connection type! Give 'em a try in Canary. Spec: Network Information API"

DKOd30rVoAAnjYq


Lines of Code

Make Your Pseudocode Your Real Code That's my preferred coding style.

That pseudocode was pretty clear...what if our real code was that simple to parse and understand? How close can we get?

You'll come across all kinds of advice for how to break your code into reusable methods, DRYing up a section, or making sure that your methods only do one thing. If you try and write your algorithm so that it looks like pseudocode, these axioms naturally come about as a happy side effect.

ewencp True:

Human-readable != self-describing. Seems like people conflate human-readable w/ ease-of-use, but self-describing affects usability much more

Manisha Agarwal 🤣

OH: You can read code as a narrative in which a series of confusing and unpleasant things happen to data


Architectural

Troy Magennis 💡

We often have great conversations whilst doing estimates. We then keep the estimates and throw away the conversation. Do the reverse.

Cognitive Biases in Programming What does it say about me, that I enjoy (and getting better at) assembling IKEA furniture?

The IKEA effect is a cognitive bias in which consumers place a disproportionately high value on products they partially created. We tend to overvalue our own solutions to a problem, and thus in contrast undervalue other solutions.

Rich Rogers 🤔

For 50+ years we have been building software that provides us with answers. We must now reverse engineer the rules from the data & answers.

DMwydYkUQAAVL86


Devoops

What is DevOps? Is a good article, but seems to miss one critical point: in large companies, developers should/do specialize. Smaller shops don't have that luxury, so need to hire people of many hats:

Product focused developers won’t ever perform the role of Operations engineers. They might use platforms, tools and abstractions built for them by Infrastructure and Operations teams, but their primary responsibility will still be developing new features, even in an entirely (quixotic) serverless future.


Locked Doors

Today In Infosec "1995: Mudge published "How to Write Buffer Overflows", one of the first papers about buffer overflow exploitation."

DMl6K5WVoAALIED

Android getting “DNS over TLS” support to stop ISPs from knowing what websites you visit Fantastic.

Equifax Was Warned "Six months after the researcher first notified the company about the vulnerability, Equifax patched it—but only after the massive breach that made headlines had already taken place, according to Equifax's own timeline."

Attack of the week: DUHK 😆

To see how the X9.31 key is managed in real products, our team developed a sophisticated analytic technique called “making a graduate student read every FIPS document on the CMVP website”.

Annie Tsai "Phishing emails are taking cues from politics and gaslighting in footers"

DNO4qevVQAARKQA


None of the Above

Brett Taylor "Sometimes, God does pick a side."

heeeere's jomny sun Too real:

productivity tip!!!

  1. write down everything u want to do today
  2. only one of those will get done
  3. choose one item
  4. it wont be that one

aura pawmurr @FP "I can't caption this"

DMwrDpMVAAAy8uz

Neuroskeptic 🍒

People say cherry-picking is bad - but I can point to several examples where it was no big deal.

Eric Bailey "Stop sine."

DNAQ2IUX0AAVHKv

meg 👏👏👏

I really feel like I’m not getting enough credit for holding shift down the whole time instead just pressing caps lock.

Malachy Browne Real world CSI:

1/ Here the steps we took and tools we used for our investigation mapping how the Las Vegas shooting unfolded

2NNtI4cZ-1

Fluff Society "Leave the internet and come play with me"