Excellent things from around the web.

Understanding DesignOps and Their Role in Design Teams

Pinboard tags: design

Into the Personal-Website-Verse · Matthias Ott – User Experience Designer

Pinboard tags: culture web

Clever JavaScript does not mean simple or readable | Go Make Things

We’ve become obsessed as an industry with brevity and clever code, and it results in code that’s sometimes less performant, and typically harder to read and make sense of for most people.

Pinboard tags: javascript - Disallow large imports from JavaScript projects

Are there known large JavaScript dependencies your team wish they could disallow from a project? Good news! ESLint supports disallowing specific imports from...

Pinboard tags: javascript

This is why Shipping is so important to me

Agile development is about short, iterative and incremental development cycles. While this is a prerequisite for frequent shipping, reality shows agile doesn’t guarantee shipping

Pinboard tags: process agile

davidkpiano/xstate: State machines and statecharts for the modern web.

State machines and statecharts for the modern web. - davidkpiano/xstate

Pinboard tags: javascript reactjs

The Great Divide | CSS-Tricks

Let’s say there is a divide happening in front-end development. I feel it, but it's not just in my bones. Based on an awful lot of written developer sentiment, interviews Dave Rupert and I have done on ShopTalk, and in-person discussion, it’s, as they say... a thing.

Pinboard tags: javascript frontend culture

You Might Not Need Redux – Dan Abramov – Medium

People often choose Redux before they need it. “What if our app doesn’t scale without it?”

Pinboard tags: javascript react

Awesome Talks - Sandi Metz

Amazing Tech Talks by Sandi Metz

Pinboard tags: talks

The Real Reason Women Quit Tech (and How to Address It)

Women are more than twice as likely to quit the tech industry as men (41% vs 17%). Why is this happening?

Pinboard tags: culture

Yagni - You Aren't Gonna Need It

Yagni ("You Aren't Gonna Need It") is the principle that we should not build presumptive features. It should not be used as a justification for neglecting internal quality.

Pinboard tags: practices

The (Switch)-Case for State Machines in User Interfaces ◆ 24 ways

Describing all the possible user flows and business logic of an application can become tricky. Ironically, user stories might not tell the whole story – they often leave out potential edge-cases or small yet important bits of information. However, one important (and very old) mathematical model of computation can be used for describing the behavior and all possible states of a user interface: the finite state machine.

Pinboard tags: webdev webdesign

Adactio: Mistletoe Offline

There are some Murphyesque situations where even your lovingly crafted 404 page won’t help. What if your web server is down? What if someone is trying to reach your site but they lose their internet connection? These are all things than can—and will—go wrong. I guess there’s nothing we can do about those particular situations, right? Wrong!

Pinboard tags: javascript web

Reluctant Gatekeeping: The Problem With Full Stack | HeydonWorks

The role of the Full Stack Developer (which is, in practice, a computer scientist who also writes HTML and CSS), one takes responsibility for all the code, in spite of its radical variance in syntax and purpose, and becomes the gatekeeper of at least some kinds of code one simply doesn’t care about writing well.

Pinboard tags: webdev

I Put Words on this Webpage so You Have to Listen to Me Now - Christine Dodrill

Holy cow. I am angry at how people do thing with tool. People do thing with tool so badly. You shouldn’t do thing with tool, you should do other thing, compare this:

Pinboard tags: fun

TDD & The Lump Of Coding Fallacy

You’re a working geek: you spend your days coding for money to add value to your company. And one day some random schmoe like me comes up to you and says, hey friend you really ought to try TDD, because that value that you’re adding, you could have added even faster if you used TDD. So, you check it out, because sometimes random schmoes actually have a clue, and you see pretty quickly that TDD means making lots of automated tests against your code. So what do you do?

Pinboard tags: tdd

The Power of Web Components - Mozilla Hacks - the Web developer blog

Web Components comprises a set of standards that enable user-defined HTML elements. These elements can go in all the same places as traditional HTML. Despite the long standardization process, the ...

Pinboard tags: webcomponents

5 Tips to Write Better Conditionals in JavaScript ― Scotch

When working with JavaScript, we deal a lot with conditionals, here are the 5 tips for you to write better / cleaner conditionals.

Pinboard tags: javascript

JavaScript 30 — Build 30 things with vanilla JS in 30 days with 30 tutorials

Pinboard tags: learn javascript

How to write X in both Python 3 and JavaScript (ES2015)

Pinboard tags: javascript python

How I Built a Personal Knowledge Base for Myself

A story of how I have built and used a personal knowledge base for one and a half year and how it helped.

Pinboard tags: productivity

When to Use What: REST, GraphQL, Webhooks, & gRPC | Nordic APIs |

Real world, specific use cases for REST, GraphQL, gRPC, and Webhooks to help API developers make sense of which API design style to use for what situation.

Pinboard tags: software-architecture api

Learn X in Y Minutes: Scenic Programming Language Tours

Pinboard tags: programming learn

Dan McKinley :: Choose Boring Technology

Pinboard tags: programming practices

Ian Cooper - TDD, Where Did It All Go Wrong

Since Kent Beck wrote the book on TDD in 2002 a lot of words have been dedicated to the subject. But many of them propogated misunderstandings of Kent's original rules so that TDD practice bears little resemblance to Kent's original ideas. Key misunderstandings around what do I test, what is a unit test, and what is the 'public interface' have led to test suites that are brittle, hard to read, and do not support easy refactoring. In this talk we re-discover Kent's original proposition, discover where key misunderstandings occured and look at a better approach to TDD that supports sofware development instead of impeding it. Be prepared from some sacred cows to be slaughtered and fewer but better tests to be written,

Pinboard tags: tdd talks

Glitch - The Friendly, Creative Community

The friendly community where you’ll build the app of your dreams.

Pinboard tags: ide education

sohelamin/microservices: A collection of some random microservices.

A collection of some random microservices.

Pinboard tags: software-architecture

Remote Only

Promoting remote organizations.

Pinboard tags: productivity

The Lead Developer London 2018

The conference for technical leads.

Pinboard tags: talks

ry/deno: A secure TypeScript runtime on V8

GitHub is where people build software. More than 27 million people use GitHub to discover, fork, and contribute to over 80 million projects.

Pinboard tags: typescript

cd is Wasting Your Time

Thoughts on Ruby, Rails, open source software, programming, and life from Olivier Lacan

Pinboard tags: productivity commandline

Becoming a SRE without previous experience | Lobsters

Excellent advice on moving into SRE from a software engineer background.

Pinboard tags: sre hiring

The Death of Microservice Madness in 2018

There are many cases where great efforts have been made to adopt microservice patterns without necessarily understanding how the costs and benefits will apply to the specifics of the problem at hand. I'm going to describe in detail what microservices are, why the pattern is so appealing, and also some of the key challenges that they present.

Pinboard tags: software-architecture

My $169 development Chromebook

How Chrome OS, Termux, YubiKey and Duo Mobile make for great usable security. A travel Chromebook for modern development, online and offline.

Pinboard tags: security development

Ten More Things I Wish I’d Known About bash – zwischenzugs

Intro My previous post took off far more than I expected, so I thought I’d write another piece on less well-known bash features. As I said before, because I felt bash is an often-used (and un…

Pinboard tags: bash

Can we please do useful things with software?

If you need a job, you need a job, and as long as you’re not doing something you consider unethical or immoral you do what you need to to get by. But if you have the opportunity, why not also do something useful, something that makes the world better?

Pinboard tags: hiring

Learning at work - Julia Evans

Learning at work

Pinboard tags: learn

12 Vim Tips

This compilation of Vim tips is repost of some intermediate to advanced Vim tips I've found interesting

Pinboard tags: vim

Vim: you don't need NERDtree or (maybe) netrw | George Ornbo

Vim's netrw file browser is good enough. With a few tweaks there is no need for plugin like NERDtree. For many tasks you may not even need netrw.

Pinboard tags: vim

What Google AMP means for the JavaScript community · molily

Google’s Accelerated Mobile Pages project (AMP) focuses current conflicts on the web like a lense: The mobile revolution, trustworthy and sustainable journalism, advertising and content monetarization, web standardization, web performance and tech industry monopolies.

Pinboard tags: javascript practices

Vim After 11 Years - Ian Langworth’s Things of Variable Interest

Recently, someone noticed a plugin I was using and said, “I had no idea Vim could do that. You should teach me all of these tricks someday.” A fine suggestion, indeed, and that day is today.

Pinboard tags: vim

Unconventional way of learning a new programming language

There are more than 500 programming languages. Hence, it’s pretty normal for you to start learning a new programming language today. It’s possible that you know…

Pinboard tags: learn instapaper

Complexity and Strategy

I struggled with how to think about complexity through much of my career, especially during the ten years I spent leading Office development. Modeling complexity impacted how we planned major releases, our technical strategy as we moved to new platforms, how we thought about the impact of new technologies, how we competed with Google Apps, how we thought about open source and throughout “frank and open” discussions with Bill Gates on our long term technical strategy for building the Office applications.

Pinboard tags: software-architecture

Thinking of the next developer

Over the last year, I've ended up on four projects that were started prior to my arrival. This isn't uncommon; more often than not throughout any career in development, you'll find that you're spending a lot of time trying to understand someone else's code. It may have been written a few days ago, and it may have been written years ago. The original author may still be on-hand to talk you through it, or they may have moved on. But regardless of the circumstances, you will often find yourself spending time figuring out what a codebase you're looking at is doing, and why.

Pinboard tags: software-development practices

The Idea of Lisp

LISP. It conjures up visions of a bygone age of computers the size of refrigerators, ALL CAPS CODE, and parentheses. Oh! so many parentheses! So why is Object-Oriented Programming's creator so enamored with the idea of Lisp? And what can he mean by a programming language being an idea anyway? Should I blame my Computer Science education for not teaching it to me?

Pinboard tags: functional-programming

Just starting out? Ditch the “full stack developer” label

The vagueness and confusion around the phrase “full stack developer” has been lingering for years. Google it and you’ll find plenty of discussion about why it’s such a loaded term. Given that long-standing vagueness, labelling yourself as “full stack” might be doing you more harm than good, especially if you’re just starting out.

Pinboard tags: imposter-syndrome

Why I Left Gulp and Grunt for npm Scripts

I know what you’re thinking. WAT?! Didn’t Gulp just kill Grunt? Why can’t we just be content for a few minutes here in JavaScript land? I hear ya, but…

Pinboard tags: npm tools

Maker's Schedule, Manager's Schedule

One reason programmers dislike meetings so much is that they're on a different type of schedule from other people. Meetings cost them more.

Pinboard tags: productivity

Clean Code concepts adapted for JavaScript

Software engineering principles, from Robert C. Martin's book Clean Code, adapted for JavaScript. This is not a style guide. It's a guide to producing readable, reusable, and refactorable software in JavaScript.

Pinboard tags: javascript practices

Dear JavaScript, – Medium

I wanted to talk to you about a problem in our community that we need to address. I’ve contributed to a number of open source projects in this community (Babel, Flow, Yarn, Lerna, etc.). As a maintainer of these popular projects, I’ve experienced some of the best this community has to offer, as well as some of the worst.

Pinboard tags: culture javascript

Oh, shit, git!

Git is hard: screwing up is easy, and figuring out how to fix your mistakes is fucking impossible. Git documentation has this chicken and egg problem where you can't search for how to get yourself out of a mess, unless you already know the name of the thing you need to know about in order to fix your problem.

Pinboard tags: git