Labnotes

Published on

Stack Overflow: Helping One Million Developers Exit Vim


Design Objective

Better Form Design: One Thing Per Page A case study in improving UX by focusing on one task per page. And 16 reasons why you'd want to do that:

16) When we’re designing a complex flow, breaking it down into atomic screens and components makes it easier to understand the problem.

This reduces the design effort — which is a nice byproduct of a pattern that benefits users so greatly.

Style Guide Guide Brad Frost's (of Atomic Design) boilerplate for creating style guides. Clone the repo, add your own styles, and publish to Github Pages.

9 tips to get bare minimum of web accessibility From which I learned about the inert attribute:

When a node is inert, then the user agent must act as if the node was absent for the purposes of targeting user interaction events, may ignore the node for the purposes of text search user interfaces (commonly known as "find in page"), and may prevent the user from selecting text in that node.

A Year Of Google & Apple Maps That's some detailed and interesting analysis of these two map services, and how they evolve with time (or don't).


Tools of the Trade

DevTools: State of the Union 2017 Paul Irish goes over the new features coming to DevTools: smarter auto complete, support for async/await, improved performance measurements, PWAs, and fancy new Node.js debugger.

Documents 6 Documents 6 is the closest thing to Finder for iOS. It works with iCloud, Google Drive, and Dropbox, you can download files, zip/unzip, preview and annotate PDFs, play audio/video offline, and on the iPad, run two apps side by side, and drag & drop files between them.

Workbox JavaScript library for Progressive Web Apps: handles offline caching, and background sync.

Birdview.js Get a glance of the whole web page with an aerial view. Also available as a Chrome extension.

Malaised Machine "the garbage collector attempts to reclaim space occupied by objects which are no longer in use"

Fidget Loader Because of course.

A brief history of the CSV file From The Annals of the Elders of Interoperability Formats:

This was largely to do with the fact that it’s easier to type CSV lists on punched cards (which is how the Fortran was coded) than it was field-column-aligned data.

Manuel Aristarán "Think about this person before you complain that D3 is hard."


Web-end

CSS and the First Meaningful Paint Patrick Hamann speaking at London CSS, takes us on a journey of current, past, and future best-practices for loading CSS, and how to achieve a first meaningful paint within 1000ms.

Monitoring Jank: How we found the slowest parts of our UI New use for requestAnimationFrame:

If one measures how long it takes for a requestAnimationFrame callback to be invoked, one can quantify how much jank occurred using the difference between the time measured and the expected time under smooth conditions (which is approximately 16.67ms). If a requestAnimationFrame callback is invoked after 116.67ms, then the jankAmount for that frame is approximately 100ms.

Responsive Design for Motion Using the prefers-reduced-motion media query to serve alternate animations that avoid the motion sickness triggers experienced by some people.

Dave Rupert "Y'all. This CSS Grid stuff is gettin' ridiculous. 2-col form with occasional full-width field in 4 lines of CSS!"

form.account-settings {  
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 2vw;
}

.input--wide {
  grid-column: 1 / 3;
}

Thomas Fuchs "Fixing cross-browser CSS issues"


Lingua Scripta

npm 5.0 Is here.

utilise/emitterify An event emitter that supports callbacks, promises, and observables


Lines of Code

Sarah Mei "How I test-drive code, a.k.a. TDD: THE FLOWCHART (by me & @rypacl)"

C J Silverio The best things in life …

This particular codebase is 100% mine and 90% unimplemented, which means it is possible to like.

Patrick Thomas

I got 99 problems, but one of them is multithreading so honestly I'm not sure how many problems I actually have right now.


Architectural

“Why We Didn’t Use A Framework” (Case Study) "Could using less code (from others and including our own) and implementing from scratch result in less total work?"

Pinboard Related, a long thread with varied and interesting opinions:

From the outside, front end development in 2017 looks pathologically overcomplicated. Is this a fair perception? If so, why is it happening?

My favorite soundbite: "Ambitions have outpaced tooling.”

Kelsey Hightower Always be separating:

Clean separation between infrastructure, software, and configuration makes upgrades and troubleshooting much easier.

MicroservicesCity Cool idea. A notation for representing microservices as “message abstraction layers.”


Peopleware

Managing Product Teams for Success The power of managing product teams by outcomes.

We Aren’t Built to Live in the Moment "A more apt name for our species would be Homo prospectus, because we thrive by considering our prospects."


Locked Doors

Introducing Travel Mode: Protect your data when crossing borders Kodus to 1Password for tackling this thorny issue.

Chris Plummer Half prank, half training exercise in infosec:

Coworker left machine unlocked all weekend so I changed his wallpaper. He's not in yet. Whole department in on it. Hilarity in 10 minutes.


Techtopia

facebook files The Guardian digs into content moderation at Facebook, and … yeah. In the image below, green checkmarks next to statements of violence that Facebook moderators are instructed to approve.

Watch People With Accents Confuse the Hell Out of AI Assistants "Mostly, the assistants did a pretty good job. Mostly."


None of the Above

yarrow "idk what this meme is but i love it"

The Cut Off — List Of Impostor Craft Beer Brands For those who like their craft beer small, independent, and not made by a subsidiary of AB InBev.

Farhad Manjoo 🐣 "Software really is eating the world"

pilot "This is how to measure wind speed by the windsocks 🤓."

ABC7 News "Adorable! Watch what happens when zookeepers introduce this 6-day-old rhino calf to a scrub brush."

Published on

Ⓒⓐⓡⓞ "the best laptop stickers 😂"


Design Objective

Craft by InVision Build prototypes directly inside Sketch.

Ben Schwarz: Real world connectivity: Beyond the bubble "We need to stop optimizing for $3000 computers on a fast connection."

Josh Clark

Q: Where's the fold in web design?
A: Whatever the CEO's screen size is.
—@zeldman #aeabos


Tools of the Trade

Git and GitHub Integration comes to Atom Slick.

Things 3.0 All new design, all new features, and if you have to ask about the price …

Filip W

the most dreaded words you can hear in software world: "...and you can create all of this, without writing a single line of code!"

Leandro Pereira


Web-end

Flexbox Defense A defense game that teaches you how to flexbox.

CSS Grid Fair:

Either let the auto-placement algorithm place items — in which case you don’t need breakpoints. Or explicitly place items — and then you do.

Guillermo Esteves "Figured out how to put my photoblog on Apple News and add sections to it. Totally worth it."


Lingua Scripta

return true to win Fun little game to test your knowledge of JavaScript equality, type coercion, and other obscure corners.

Chris Dickinson "You can mark promises that you intend to catch later by doing the following:"

a = getPromise()  
a.catch(() => {})  
// later..
await a  

Lines of Code

SLAP Your Functions! Yeah, so I'm not sure how I feel about this acronym (I hate it), but the concept of each function dealing with a single level of abstraction, that's spot on.


Architectural

Yoz Grahame This story, of a Second Life deployment gone wrong:

So, during the rollback, several dedicated QA engineers stayed up much of the night, saving virtual horses from starving to death.

Chris Puttick "What are clouds made of?"


Peopleware

Parkinson’s Law: Why Constraints Are The Best Thing You Can Work With TL;DR "Parkinson’s law is an observation that we unnecessarily complicate things."

Mike McQuaid

As an OSS maintainer: as a user you are not my customer. You're trying to motivate me to spend time on you: if anything, I'm the customer.


The Machines Are Learning

Physiognomy’s New Clothes It's not just that machine learning perpetuates existing biases, they also lends legitimacy to racism:

Whether intentional or not, this “laundering” of human prejudice through computer algorithms can make those biases appear to be justified objectively.


Locked Doors

The hacking group that leaked NSA secrets claims it has data on foreign nuclear programs This analogy though:

“Is being like wine of month club,” read the blog post, which is written in broken English. "Each month peoples can be paying membership fee, then getting members only data dump each month."

Hospital Ransomware To patch or not to patch?

I did some math for Timing the Application of Security Patches for Optimal Uptime, and estimated that likelihood of attack starts to exceed likelihood of damage from the patch at around 10 days

Faizal. "When ransomware guys provide better customer support than most companies 😂#WannaCry"

deech

Wife: I'm bummed, I thought global variables meant every computer on Earth could see/change them.

Me: Your career in InfoSec awaits, madame.


Techtopia

Spencer Chen "I just laid the audio from the Blade Runner 2049 trailer to the new Google Assistant ad. I'm scared. Literally no extra editing involved 😳"

Simone Giertz But more demanding:

mail inboxes are like adult-life versions of tamagotchis

Logan "When you don't need to interface with your illuminated rectangle on your commute because of your rich inner life"


None of the Above

Kotaku "The top iOS game is a fidget spinner app, because of course it is"

Stabmaster Arson This thread is epic: "Good morning millennials. Let's take a look at all the things you murderous pricks have killed in the last two years, somehow."

Bim Adewunmi "repeat after me: 'you're a proud, fearless peacock, and you're gonna do great today.' now go out there and be somebody!"

Gabrielle Bluestone "a message to my enemies"

Machine Pix Amazing 3D illusions.

Notes From An Emergency Maciej Cegłowski's talk at the re:publica conference in Berlin.

Molee✷ "ชอบอันนี้งานปักรูปคนที่มีลูกเล่นตรงเส้นผม, ผลงานของ Sheena Liam 💘"

Published on

Josh Gondelman "At the very least, you've got to use a smaller font, guys."


Design Objective

Design Better Data Tables This article is an illustrated collection of data table design patterns:

Good data tables allow users to scan, analyze, compare, filter, sort, and manipulate information to derive insights and commit actions.

The Path to Design System Maturity How a design system is, and should be treated like, a product:

When you’re in the early stages of design system development, consistency often works upwards. Rather than a set of guidelines dictating practice, emerging patterns dictate guidelines (sometimes to a fault).

Why Silicon Valley is all wrong about Amazon’s Echo Show Some great points, some unnecessary hype (didn't cell phones already spell the end of PCs?):

What we see in the Echo Show video is Amazon scratching away at the sheen of today’s leading technology products and asserting a more utilitarian aesthetic. By reducing the importance of appearance, Amazon can emphasize function over form, keep its prices anticompetitively low, and drown the market with products that offer access to its AI voice assistant.


Tools of the Trade

Ben Schwarz "Android is now the worlds most used OS" (source: StatCounter)

omg-img Is a CDN that hosts over 48,000 icons, doesn't get any easier than that. PNGs are free with attribution, so try before you buy.

cookiengineer/git-ddiff "A better git diff for humans with lack of memory" lets you run diffs like:

git ddiff yesterday morning;  

Sarah Drasner

Sometimes I open source code just so I can find it again

Alyssa Ross

TIL you can hit ⌘I in macOS Terminal and get a handy tree of processes for the current tab. You can even select and kill them from it!

ira in 🇮🇹 🍝

hi 👋, bashing other people's libraries during talks ain't cool -- building and maintaining OSS projects is hard, sweaty work.

Jason Pontin

Q: "Why did the convolutional neural net cross the road?"

A: "What do you care? Get off my case. It works, doesn't it?"


Web-end

How to Think About HTTP Status Codes Is the reference you want to keep handy, and share with fellow developers, when designing applications that use HTTP status codes:

Beyond that, it’s a mistake to try to map each part of your application “deeply” into HTTP status codes; in most cases the level of granularity you want to be aiming for is much coarser. When in doubt, it’s OK to use the generic status codes 200 OK, 400 Bad Request and 500 Internal Service Error when there isn’t a better fit.

Ryan Hayes 💻 🎮 👍

Windows store will search the web for PWAs and auto-ingest quality ones into the store. No difference in PWA vs Native.

Pinboard No you don't:

If you make your web page 200KB and avoid javascript, you won’t need a Google distinguished engineer to make it load fast

Giana Schrödinger's CSS:

Can these two groups

"CSS is so easy, it's not even coding!"

"CSS is so hard, we need to replace it with JS!"

please talk to each other

Zach Leatherman "👀 has anyone tried this new css framework yet"


Lingua Scripta

util.promisify You will not believe what just got added to Node:

Takes a function following the common Node.js callback style, i.e. taking a (err, value) => ... callback as the last argument, and returns a version that returns promises.

The Practical Dev "undefined is catching up to null"


Lines of Code

Five Factor Testing Good tests can…

  1. Verify the code is working correctly
  2. Prevent future regressions
  3. Document the code’s behavior
  4. Provide design guidance
  5. Support refactoring

David R. MacIver Don't forget:

PSA: If a function accepts a string then it's a parser. Parsers are hard to get right and dangerous to get wrong. Write fewer of them.

Stephanie @ OSCON

Also a lot of people forget that code is often the easy part

Hard parts: communication, prioritizing, planning, learning, designing systems


Architectural

Reginald Braithwaite A Twitter thread that should have been a blog post:

When “convention over configuration” first appeared, it was great, because the configuration it replaced was largely accidental complexity.

Convention in Ruby over parsing XML files to configure Dependency injection in Java?

Make mine a double!

But today it isn't Convention over Accidental Complexity. Now it’s often Convention over composing small and elegant functional pieces.


Locked Doors

NHS seeks to recover from global cyber-attack as security concerns resurface New ransomware attack. This one affects more than just hospitals, but the damage to emergency services, that's a new twist.

Barry Dorrans And why "just patch it" is not as easy as it sounds:

The release of the patch probably isn't going to help that £15m MRI machine that runs XP embedded whose maker went bankrupt 10 years ago.

So it's not a matter of £100 for a license it's £15 million for a new machine and you need to rip the building open to install it

How to Accidentally Stop a Global Cyber Attacks And how one young security expert accidentally stopped the malware from spreading (though, not for long, I hear a new version is out.)

The hijacking flaw that lurked in Intel chips is worse than anyone thought So, some Intel chips come with a web server, it's baked into the hardware, and of course you can't turn if off, and of course it's easily compromised …

April King 🌀 All of the above?

You're being interviewed for an infosec position in Hell. Which of these are you forced to explain, again and again, for all eternity?

29% DNS / DNSSEC / DANE
27% SPF / DKIM / DMARC
44% TLS / PKI


Techtopia

Silicon Valley: A Reality Check When self-centered social-media-obsessed journalists report on Silicon Valley, they see it in their own image: self-centered and social-media-obsessed. There's much more to Silicon Valley than $400 juicers:

If a deeply good person crusading for a better world enters Silicon Valley … she’ll see mobile apps that track tropical diseases, clean energy startups that fight global warming by directly sucking carbon dioxide out of the air, companies bringing microbanking to poor Nepalese villagers, and boutique pharmaceutical labs searching for cures for orphan diseases.

We tested bots like Siri and Alexa to see who would stand up to sexual harassment Spoiler alert: they didn't. This article has interesting lessons, and a checklist, for anyone designing chat-based systems.

Alexa Calling Has a Major Privacy Flaw Related:

Instead, every contact that also has the Alexa app is now in my Alexa Calling contacts. Among my contacts were old landlords, many co-workers, random vendor account managers, city councilmen, and of course, crazy ex-boyfriends. And each one now has a direct line into my home.

Tom Gara

My friend's toddler babbled "don't forget to subscribe" as he was put to bed. Kid watches so much YouTube he thought it means "goodbye"


None of the Above

How Pixar Lost Its Way And how Disney Animation Studios found its groove.

Ben Sandofsky Me too:

I will consider iOS 11 a game changer if I can plug my phone into a car and it doesn't play the the first song in my library.

The Forgotten Story Of The Radium Girls, Whose Deaths Saved Thousands Of Workers' Lives From the "corporations have no incentive to harm" department:

But that belief was founded upon research conducted by the very same radium firms who had built their lucrative industry around it. They ignored all the danger signs; when asked, managers told the girls the substance would put roses in their cheeks.

Machine Pix "Pre-fading jeans with a laser."

Parker Thompson. "I feel like CNBC is astrology for day traders."

While bitcoin has seen a recent rally, previous peaks have seen sharp pullbacks in prices. Masters said the price rise has been "violent in the short-term" with bitcoin "fully valued for the moment". This could lead to a pullback to around $1,100.

However, the long-term outlook remains strong.

The great British Brexit robbery: how our democracy was hijacked When big data meets big money from the far right of the political spectrum.

IM 🍑HIM "This is hands down, the most bad-ass bird photo that I've seen."

Published on

Colm


Design Objective

Meetup: A Usability Case Study Tweaking and fixing usability issues in the new Meetup app (ps: this is a passion project, not affiliated with Meetup).

Mobile First, Desktop Worst Mobile-first is not a license to over-simplify, just like desktop-first is not a license to over-complicate.

Designing forms for gender diversity and inclusion "As with any form field, if there isn’t a clear benefit to the user, you probably shouldn’t ask about it." And if ask you must, this article discusses important considerations and UI choices.

Brandon Jones "Car UX designer: I replaced the gearshift with a volume knob, put it where the volume knob usually goes, and put the volume knob next to it!"


Tools of the Trade

Kryptonite Use your phone to authenticate with SSH. Slick app with easy setup for common providers (AWS, Github, Heroku, etc), open source so you can code review before installing.

zenorocha/codecopy A browser extension that adds copy to clipboard buttons on every code block.

github/octodns A tool for managing DNS across multiple providers. Because your DNS provider will be DoS-ed at some point.

Same Stats, Different Graphs: Generating Datasets with Varied Appearance and Identical Statistics through Simulated Annealing This is why you always plot the data!

Samsung DeX brings a new Dimension to the Mobile Web The Samsung S8 phone can dock and turn into a desktop computer!

Colin Percival

Closures and Objects are just Structures which have function pointers and delusions of grandeur.


Web-end

Launchpad Publish responsive websites directly from Sketch.

Finding that pesky listener that’s hijacking your event "This is a debugging story of how to determine what event listener is calling event.preventDefault() or event.stopPropagation() or some other completely random thing which is not allowing your intended action."

Sam Saccone "The perf gutter in devtools makes it trivial to identify non-obvious costly paths in your code execution."


Lingua Scripta

Prepack Is this week's JavaScript hotness. It's mind blowing what JavaScript can do (I'm not endorsing using this in production, but do check it out):

Prepack is a tool that optimizes JavaScript source code: Computations that can be done at compile-time instead of run-time get eliminated. Prepack replaces the global code of a JavaScript bundle with equivalent code that is a simple sequence of assignments. This gets rid of most intermediate computations and object allocations.

Functional pattern: flatMap Can easily filter and map at the same time.

Native ECMAScript modules Are now supported by all the major browsers.

Axel Rauschmayer "Failure by hoisting. ;-)"

Jim Perrin

OH: "So far, the Infinite monkey theorem is just giving us an infinite number of javascript frameworks, and no Shakespeare"


Lines of Code

Plan Your Commits Like readme driven development, test first, etc, this life hack will make you a better developer, for the simple reason that it will force you to slow down and think:

try writing your commit message (in your head) before you write the code

Kent Beck

infallible recipe for creating a new abstraction:

  1. write variants of the same damn program twelve damn times

  2. say, "damn it, this line and this line and this line always show up somehow"

  3. put those lines somewhere, together

Strategic Code Deletion Everybody enjoys deleting code and few get to do it often enough.

Readability Matters More Than Correctness 💯

If we have readability but not correctness, that means a buggy program that’s easy to understand. We can debug it. Then we’ll have a correct program that’s easy to understand. It’ll probably stay that way.

If we have correctness but not readability, that means a functional program that’s hard to understand. It’s likely we’ll introduce a bug. Then we’ll have a buggy program that’s hard to understand. It’ll probably stay that way.

Why a clear error message matters "Sometimes the "natural cause" is not the real cause for a problem, and if we have a great error message to help us out, we can avoid wasting a lot of time"

Bryan Boreham 🤔 "Where is your god now?"


Architectural

@ag_dubs "people had no idea how/why to module but they felt very strongly that it was good"

Gwen (Chen) Shapira

Software architects must be accountable to ops. If your Microservices are a mess and no one can debug the dataflow, they did it wrong.

Clive Thompson Software engineering is making decisions like this:

Memory leaks on missiles don't matter, so long as the missile explodes before too much leaks. A 1995 memo: https://groups.google.com/forum/message/raw?msg=comp.lang.ada/E9bNCvDQ12k/1tezW24ZxdAJ

Verena Haunschmid

Just reduced the runtime of an algorithm from 9 hours to 3 min. by using a different data structure... Know you data structures :) #rstats

Parker Thompson

God grant me the budget to buy the things I shouldn't build, the eng team to code the things I must, and the wisdom to know the difference.


Peopleware

Start holding a domain knowledge meeting "It shares knowledge across the team, it builds rapport with team members, and it helps us professionally develop ourselves."

The 2017 Tech Leavers Study A national study examining why people voluntarily left their jobs in tech:

Employees indicate that improving workplace culture can improve retention. 62% of all employees would have stayed if their company had taken steps to create a more positive and respectful work environment. 57% would have stayed if their company had taken steps to make the company culture more fair and inclusive.


Locked Doors

All your Googles are belong to us What you need to know about the recent phishing attack, because this will happen again:

Today's phish asks the target to grant access to "Google Docs"—a fake application using the name of Google's service. If the target grants permission, the malicious site will immediately harvest contacts from the target's e-mail and send copies of the original message to them.

Also, this Onion headline from 2014: Security Experts Advise Americans To Not Click Anything

After years of warnings, mobile network hackers exploit SS7 flaws to drain bank accounts "customers have had their bank accounts drained using a two-stage attack that exploits SS7" (SS7 in this context means SMS)

Hundreds of Apps Can Listen for Marketing ‘Beacons’ You Can’t Hear The technology behind free apps/games that "need" to access your phone's mic.

Don Lor "the famous 'dining cryptographer' problem, where you can't shake hands until you are certain of the identity of the other individual"


None of the Above

Nathan W. Pyle "pro drawing tip"

Merlin Mann

It's okay not to have an opinion about everything.

I know you know this.

But, sometimes it's useful to be reminded that you know this.

Panda Reactions! "when u are at a restaurant and u see another table getting their food first before u but u sat down first"

How a Single Gene Could Become a Volume Knob for Pain People who feel no pain, and people who can't stop feeling pain.

Adrienne Porter Felt "MY FAVORITE REVIEW OF A CHROMEBOOK"

You are not going to believe what I'm about to tell you Outstanding comic by the Oatmeal explaining "the backfire effect". I want to believe this is the explanation for ever more divisive partisan politics, but the facts don't support it:

Evidence of factual backfire is far more tenuous than prior research suggests. By and large, citizens heed factual information, even when such information challenges their partisan and ideological commitments.

Tom Wysocki "Brilliant poster. Nice one Dave."

Published on

Hsing-Hui Hsu "I thought I had a handle on this"


Design Objective

Information Architecture. The Most Important Part of Design You’re Probably Overlooking. Indeed:

Tips for Creating Good, Clean Information Architecture

  1. Be very clear about what’s important (and what isn’t).
  2. Think in terms of “buckets” of information
  3. Don’t be afraid to revisit your Information Architecture

Jen Simmons

Every team should be required to test their alpha on the NYC subway before shipping. Make it work under those network conditions. Seriously.

Stark Color-blind simulator and contrast checker for Sketch.

Graphic Means "The graphic design office of 1980."

Andrew Stacy Hamburger menu!

Just released our new Menu Board software to every McDonald's store in the US. Built with @polymer to be completely modular.


Tools of the Trade

A Better Way to Code d3.express is a better Jupyter Notebook, all JavaScript, with d3 APIs (for better or worse).

Roughing It Dev Style: Coding Without a Computer I remember when "coding without a computer" meant pencil and graph paper, or punchcards. This article explores coding with an iPhone. We made some progress in a few short decades.

Spending 100K USD in 4,5 days on Amazon Web Services The unintended consequence of leaving AWS credentials in a public Github repo, and what to do when your account gets hijacked.

How SSH port became 22 Back when you could send an email, and get a designated port number.

Competitive Programmer's Handbook Will prepare you to participate in the International Olympiad in Informatics (IOI), and the International Collegiate Programming Contest (ICPC).

Gameleon "Out of context IT jargon makes you sound like a psychopath"

README.md


Webtech

Journey to Highly Effective and Maintainable CSS Media Queries Has good ideas on how to write media queries, how to structure stylesheets with many queries, and how to choose breakpoints and tweakpoints. Also, this: "breakpoints should be content-based, not device based."

Sizzy A tool for developing responsive websites.

It’s Time To Start Using CSS Custom Properties CSS catching up with Less/Sass.

Fathom: a framework for understanding web pages A better way for browsers to act on page content: sign in forms, products pages, articles, etc. Uses logic programming, so no control flow, plugin systems, etc.

Painting with Code Bridging the gap between designers and engineers: "React-sketchapp is an open-source library that allows you to write React components that render to Sketch documents."

acathrow

An engineer just suggested an RFC for HTTP response

HTTP 299 Disappointed: The server has accepted your request but thinks you can do better


Lingua Scripta

ryanmcdermott/clean-code-javascript "🛁 Clean Code concepts adapted for JavaScript" A few misses (e.g chained methods are better immutable), but overall solid write up, and every suggestion comes with examples.

7 tips to handle undefined in JavaScript Even experienced developers get undefined wrong.

Axel Rauschmayer And besides, you may want to use Map for clarity:

Object.create(null) for dictionaries is only safe in ES6+. Don’t forget there’s also Map! http://speakingjs.com/es5/ch17.html#dict_pattern

Mark Dalgleish

To a non JavaScript developer, it must sound extremely redundant that we run our code through both Prettier and Uglify.


Lines of code

Cory House 🏠 Check rest of thread for more details/nuances:

A function name should describe what it does, not when it's run.

Why? Good function names summarize what happens inside.

Code Standards

I like to title my code reviews like clickbait so people actually read them:

"You'll never believe this one quick fix that solves our bug!"

sean 🌹 Is exactly:

Writing is hard because it often ends up being the process through which you realize that you don't actually understand something.

Manisha Agarwal

A programmer started to cuss
As getting to sleep was a fuss
As she lay there in bed
Looping 'round in her head
was: while(!asleep()) sheep++


Architectural

Hype Driven Development And how to make sure it doesn't kill your development process.

Michael D. Hill This thread, on why, when, and how to TDD:

i use TDD for one reason and one reason only: to move features faster. more faster features is my job. TDD does that.

And:

we use our judgment to decide when to write a test, or not. when to write a faster one, or not. how to 'joint' a problem testably, and so on

Dan Woods #NoDramaOps

For production, I fucking love "boring". I favor consistency and reliability over speed every day of the week.


Peopleware

Why your programmers just want to code Creative problem solvers need an outlet for their creativity:

How you handle ideas from new programmers sends an important signal. Good or bad, it sets the stage for what they expect. This determines if they share more ideas in the future… or keep their mouth shut.

syd

Simply telling someone you like the work they did today could be the reason they make something again tomorrow.


Techtopia

Hey, Computer Scientists! Stop Hating on the Humanities This article can be summarized as: learn some ethics, apply some ethics to your work, just because ethics are taught in humanity studies, doesn't mean they don't belong in STEM.

Lyrebird Ethics One company that has an ethics page. Though we may not like what they have to say, at least they're giving us a head's up:

Lyrebird is the first company to offer a technology to reproduce the voice of someone as accurately and with as little recorded audio. …

Voice recordings are currently considered as strong pieces of evidence in our societies and in particular in jurisdictions of many countries. Our technology questions the validity of such evidence as it allows to easily manipulate audio recordings.


Locked Doors

I Got Hacked So You Don't Have To What is spearphishing and why it's so damn effective:

You can’t sell a box that stops people from trusting their daughters, from missing a typo in an e-mail address, from being a little too tired to check the URL of a link.


None of the Above

maple cocaine "Fuckin rené magritte is my landlord"

On the spelling of Resumé That settles if for me:

“Resumé” in this sense is an English word, not a French one. It’s not pronounced like the French word. And it doesn’t even have this meaning in French—French, like British and International English, uses the Latin term “curriculum vitae”

Ikea Had a Great Reaction to Balenciaga Making a $2,145 Version of Its 99-Cent Blue Bag "How to identify an original Ikea Frakta bag." Brilliant.

Facebook Data ‘Does Not Contradict’ Intelligence on Russia Meddling That's one way of phrasing what happened.

The earth is flat (p>0.05): Significance thresholds and the crisis of unreplicable research How p-values came to be the standard bearer, and why it's time for researchers to move on.

daphne "Life Hack 😂"