Labnotes

Weekend Reading — Wind chimes

Published on

paul haine "I’m so angry these mock ‘90s Lucasarts games by Andrew Scaife don’t exist"


Design Objective

Developers, Learn To Say No. Saying “No” is not the end of the conversation, but the start of an informed design:

See what is happening now? A conversation, a real dialogue between business and technology. And now you know why it happened: because you said ‘No.’

Thoughts about (sketching) practice Practice. Often:

Now turn off your computer and get practicing. Just a little every day. Be curious. Have fun. And don’t forget to get yourself into trouble every now and again :)

Ada Rose Edwards:

A high end phone will behave similarly to a low end phone when power is low or the phone is hot because the ‘big cores’ turn off.

The Shape of Things — Welcome to Thington Understanding how people interact with things is the key to designing useful products. For example, people say they want this: “When I get home, turn on some lights.”

But what they actually want: “When I arrive home and it is dark outside then turn on the sitting room lights, kitchen lights, lamp by the TV and the kitchen sink light. But don’t do it when there’s someone else at home because it would disturb them.”

How To Be More Organized While Designing UI The benefits of building a library of UI components:

Use something from your library first and if it doesn’t work, create a new object. This makes your work more consistent. You will never have 6 types of almost the same text color again.


Tools of the Trade

sitespeedio/coach The coach helps you find performance problems on your web page. Think of the coach as a modern version of YSlow.

A Guide to Bayesian Statistics Exactly what it sounds like, specifically for people who don’t have strong background in statistics.

A Guide to Spam Traps + How to Avoid ThemLitmus Blog Building an application that sends emails? Read these guidelines to work around spam traps:

A spam trap looks like a real email address, but it doesn’t belong to a real person nor is it used for any kind of communication. Its only purpose is to identify spammers and senders not utilizing proper list hygiene.

Fast.com Simple internet download speed test.

Google supercharges machine learning tasks with TPU custom chip The result is called a Tensor Processing Unit (TPU), a custom ASIC we built specifically for machine learning — and tailored for TensorFlow.

Kevin:

Just when you feel bad that you can’t use latest version of library X you hear someone is still using CVS for source control #perspective


Lingua Scripta

5 JavaScript “Bad” Parts That Are Fixed In ES6 Learn to use some of the best features in ES6 that fix some of the worse features in ES5.

Minimum Viable Async with Node 6 Chrome is getting async/await, hopefully Node 6 soon enough, and in the meanwhile here’s a minimum viable setup using Babel.js.

7 Surprising Things I Learned Writing a Fibonacci Generator in JavaScript Avoid recursion, allow parameters to limit the length of your generators, memoized infinite generators can blow the heap size limits, and more.


Lines of Code

Refactoring a javascript video store

The simple example of calculating and formatting a bill for a video store opened my refactoring book in 1999. If done in modern Javascript, there are several directions you could take the refactoring. I explore four here: refactoring to top level functions, to a nested function with a dispatcher, using classes, and transformation using an intermediate data structure.

What we learned from Google: code reviews aren’t just for catching bugs

We believe that our adherence to code reviews helps us rehearse our cultural priorities: have high standards (especially with respect to security), be open to being wrong on any topic, and remember to contextualize our individual goals in terms of how it affects our teammates, company, and customers


Architectural

Johannes Brodwall:

Reuse: Sometimes you’re standing on the shoulders of giants, and sometimes the giant is standing on your toes.

Will Farrington: "Eventually you stop shaving the yak and just become one with it"


Peopleware

Designing Inward

We talk a lot in our industry about using design methodologies to get more in touch with our users … But it’s equally important to turn that lens inward every once in awhile and to get in touch with each other, to find out what we think and how we’re feeling about working together, to improve our collective user experience.

Principles of Successful Software Engineering Teams

No team is created equal. Establishing tenets to guide software engineering teams is vital to their success. What follows is a list of items highlighting important principles of a successful team’s philosophy.

Abstractivate: Tradeoffs in Coordination Among Teams The CAP theorem applied to software development:

Every organization is a distributed system, even when we sit right next to each other. Coordination makes joint activity possible, but not free. Be conscious of the tradeoffs as your organization grows, as consensus becomes less useful and more expensive.

Hiring Software Engineers

Do yourself — and everybody you work with — a favor. When you hire, devote all the time, energy, and brain cells you can to bringing the best possible people on board.

Project Include Project Include is an open community working toward providing meaningful diversity and inclusion solutions for tech companies.

The Future of Work in 5 Charts


None of the Above

Day 29: They suspect nothing

McSweeney’s: Mathematical Word Problems for Introverts.

At the grocery store, John bought 13 lemons that cost 89 cents each. He normally would not buy so many lemons, but he spotted a coworker from afar and panicked. How much did John pay for these unnecessary lemons?

The Minimalist Animation of ‘Archer’ Producer Neil Holman and art director Chad Hurd detail the limited but highly stylized animation techniques they wield to devastatingly hilarious effect on their hit FX animated