# Jacopo Tarantino

Thoughts, stories and ideas.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Frameworkless JavaScript Part 3: One-Way Data Binding

DevFeed: [Frameworkless JavaScript Part 3: One-Way Data Binding](<https://devfeed.tech/articles/frameworkless-javascript-part-3-one-way-data-binding-32303.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/frameworkless-javascript-part-3-one-way-data-binding/>)

Author: Jack Tarantino

Published: 2018-02-26T00:43:11Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Vanilla JavaScript](<https://devfeed.tech/topics/vanilla-js.md>), [data](<https://devfeed.tech/topics/data.md>), [Document Object Model (DOM)](<https://devfeed.tech/topics/dom.md>), [proxy](<https://devfeed.tech/topics/proxy.md>), [React](<https://devfeed.tech/topics/react.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [Ember](<https://devfeed.tech/topics/ember.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [callback](<https://devfeed.tech/tags/callback.md>), [code](<https://devfeed.tech/tags/code.md>), [developers](<https://devfeed.tech/tags/developers.md>), [ember](<https://devfeed.tech/tags/ember.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [re](<https://devfeed.tech/tags/re.md>), [react](<https://devfeed.tech/tags/react.md>)

### AI overview

A tutorial on implementing one-way data binding in frameworkless JavaScript using native APIs, the DOM, ES6 Proxy objects, and callbacks. It explains how to update DOM content when data changes and works toward reusable node and proxy constructors.

### Source excerpt

This article is one in a series about writing client-focused JavaScript without the help of libraries and frameworks. It's meant to help developers remember that they can write good code on their own using nothing but native APIs and methods. For more, check out the original article on writing small

## Web development with nothing but a phone and a keyboard

DevFeed: [Web development with nothing but a phone and a keyboard](<https://devfeed.tech/articles/web-development-with-nothing-but-a-phone-and-a-keyboard-32307.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/web-development-with-nothing-but-a-phone-and-a-keyboard/>)

Author: Jack Tarantino

Published: 2017-09-14T20:17:11Z

Content type: opinion

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [Web Development](<https://devfeed.tech/topics/web-development.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [aws](<https://devfeed.tech/tags/aws.md>), [dev](<https://devfeed.tech/tags/dev.md>), [iphone](<https://devfeed.tech/tags/iphone.md>), [keyboard](<https://devfeed.tech/tags/keyboard.md>), [laptops](<https://devfeed.tech/tags/laptops.md>), [life-hacks](<https://devfeed.tech/tags/life-hacks.md>), [programming](<https://devfeed.tech/tags/programming.md>), [remote-work](<https://devfeed.tech/tags/remote-work.md>), [slack](<https://devfeed.tech/tags/slack.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

A personal commentary about reducing the weight of a work backpack by leaving a client laptop in a locker and considering whether a phone and keyboard can replace a personal laptop for notes, chat, and limited development work.

### Source excerpt

Recently I started a gig where I was handed a laptop and told I should take it home with me at night. Now this isn't the worst thing ever but I was already carrying one laptop with me (my personal/work laptop as opposed to the one given to me

## Calendar Tetris is an antipattern

DevFeed: [Calendar Tetris is an antipattern](<https://devfeed.tech/articles/calendar-tetris-is-an-antipattern-32296.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/calendar-tetris-is-an-antipattern/>)

Author: Jack Tarantino

Published: 2017-06-12T17:55:10Z

Content type: opinion

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [meetings](<https://devfeed.tech/topics/meetings.md>)

Tags: [agile](<https://devfeed.tech/tags/agile.md>), [antipattern](<https://devfeed.tech/tags/antipattern.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [calendar-tetris](<https://devfeed.tech/tags/calendar-tetris.md>), [meetings](<https://devfeed.tech/tags/meetings.md>), [productivity](<https://devfeed.tech/tags/productivity.md>), [scheduling](<https://devfeed.tech/tags/scheduling.md>)

### AI overview

The article argues that "Calendar Tetris"--an overloaded calendar requiring constant rescheduling and causing frequent double-booking--harms lunch breaks and productivity. It discusses how meetings and interruptions can contribute to cognitive errors and lost working time, and questions the assumption that managers and senior employees must attend every meeting.

### Source excerpt

It's time that we took back our work day from our calendars and Calendar Tetris is the first thing that has got to go. Calendars are a tool and like every tool they should be used appropriately. What is "Calendar Tetris"? Does your calendar look like a Jackson Pollack painting?

## When to pair program

DevFeed: [When to pair program](<https://devfeed.tech/articles/when-to-pair-program-32308.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/when-to-pair-program/>)

Author: Jack Tarantino

Published: 2017-03-14T20:59:32Z

Content type: opinion

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [pair\_programming](<https://devfeed.tech/topics/pair-programming.md>), [Development](<https://devfeed.tech/topics/development.md>), [Code quality](<https://devfeed.tech/topics/code-quality.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [bugs](<https://devfeed.tech/tags/bugs.md>), [development](<https://devfeed.tech/tags/development.md>), [pair-programming](<https://devfeed.tech/tags/pair-programming.md>), [pairing](<https://devfeed.tech/tags/pairing.md>), [process](<https://devfeed.tech/tags/process.md>), [programming](<https://devfeed.tech/tags/programming.md>), [quality](<https://devfeed.tech/tags/quality.md>)

### AI overview

An opinion article examines when pair programming is useful. It describes pairing as an Extreme Programming practice and argues that working with a peer can improve software quality, reduce bugs, and limit technical debt.

### Source excerpt

This post is another one brought to you by the good people at InRhythm. If you're an engineer that likes writing and building strong, happy culture focused on learning and growth you should apply! I like working with smart, passionate people :). Lots of companies embrace pair programming as a way

## Frameworkless JavaScript Part 2: Templates and Rendering

DevFeed: [Frameworkless JavaScript Part 2: Templates and Rendering](<https://devfeed.tech/articles/frameworkless-javascript-part-2-templates-and-rendering-32302.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/frameworkless-javascript-part-2-templates-and-rendering/>)

Author: Jack Tarantino

Published: 2017-01-08T18:19:00Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [Vanilla JavaScript](<https://devfeed.tech/topics/vanilla-js.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Code](<https://devfeed.tech/topics/code.md>), [Framework](<https://devfeed.tech/topics/framework.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [templates](<https://devfeed.tech/tags/templates.md>), [templating](<https://devfeed.tech/tags/templating.md>), [vanilla-javascript](<https://devfeed.tech/tags/vanilla-javascript.md>)

### AI overview

This tutorial explains how to implement basic HTML templating and string interpolation with vanilla JavaScript, using native APIs and methods instead of libraries or frameworks.

### Source excerpt

This article is one in a series about writing client-focused JavaScript without the help of libraries and frameworks. It's meant to help developers remember that they can write good code on their own using nothing but native APIs and methods. For more, check out the original article on writing small

## Empire Node 2016

DevFeed: [Empire Node 2016](<https://devfeed.tech/articles/empire-node-2016-32300.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/empire-node-2016/>)

Author: Jack Tarantino

Published: 2016-11-08T22:57:34Z

Content type: article

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [code style](<https://devfeed.tech/topics/code-style.md>), [ESLint](<https://devfeed.tech/topics/eslint.md>), [React](<https://devfeed.tech/topics/react.md>), [Redux](<https://devfeed.tech/topics/redux.md>), [MongoDB](<https://devfeed.tech/topics/mongodb.md>), [Promise](<https://devfeed.tech/topics/promise.md>), [CommonJS](<https://devfeed.tech/topics/commonjs.md>), [middleware](<https://devfeed.tech/topics/middleware.md>)

Tags: [callback](<https://devfeed.tech/tags/callback.md>), [code](<https://devfeed.tech/tags/code.md>), [code-style](<https://devfeed.tech/tags/code-style.md>), [commonjs](<https://devfeed.tech/tags/commonjs.md>), [empire-node](<https://devfeed.tech/tags/empire-node.md>), [eslint](<https://devfeed.tech/tags/eslint.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [modules](<https://devfeed.tech/tags/modules.md>), [mongodb](<https://devfeed.tech/tags/mongodb.md>), [new-york-city](<https://devfeed.tech/tags/new-york-city.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [react](<https://devfeed.tech/tags/react.md>), [redux](<https://devfeed.tech/tags/redux.md>)

### AI overview

Notes from Empire Node 2016 cover talks about HyperTerm and its React and Redux plugin architecture, ESLint rules and coding practices, and MongoDB, along with other programming topics.

### Source excerpt

Yesterday I had the good fortune to attend Empire Node at The National Museum of the American Indian, courtesy of InRhythm. A good time was had by all and we got to see some great talks! There was programmable music, smart ways to get into code style linting and, of

## Why developers should consider WordPress instead of building a custom CMS

DevFeed: [Why developers should consider WordPress instead of building a custom CMS](<https://devfeed.tech/articles/you-re-not-better-than-wordpress-32309.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/youre-not-better-than-wordpress/>)

Author: Jack Tarantino

Published: 2016-05-18T00:20:36Z

Content type: opinion

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [WordPress](<https://devfeed.tech/topics/wordpress.md>), [Content Management System](<https://devfeed.tech/topics/cms.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Software](<https://devfeed.tech/topics/software.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [cms](<https://devfeed.tech/tags/cms.md>), [developer](<https://devfeed.tech/tags/developer.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software](<https://devfeed.tech/tags/software.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>)

### AI overview

This opinion article argues that developers should avoid building a custom CMS for a simple content site when established options such as WordPress already solve the problem. It frames this recommendation as an application of pragmatic software principles, including avoiding duplicated work and keeping solutions simple.

### Source excerpt

If that title left you feeling a bit indignant, this post is just for you. After consulting with my Nth company running a content site and watching them struggle to design, develop, and maintain their own CMS, I think it's time to admit this: I'm not better than WordPress. None

## Supporting Smaller Audiences Through a Browser Support Matrix

DevFeed: [Supporting Smaller Audiences Through a Browser Support Matrix](<https://devfeed.tech/articles/supporting-smaller-audiences-for-maximum-profit-32306.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/supporting-smaller-audiences-for-maximum-profit/>)

Author: Jack Tarantino

Published: 2016-05-13T23:06:31Z

Content type: article

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [browsers](<https://devfeed.tech/topics/browsers.md>), [Software Engineering](<https://devfeed.tech/topics/software-engineering.md>), [web applications](<https://devfeed.tech/topics/web-applications.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [browser-support](<https://devfeed.tech/tags/browser-support.md>), [browsers](<https://devfeed.tech/tags/browsers.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [programming](<https://devfeed.tech/tags/programming.md>), [software-design](<https://devfeed.tech/tags/software-design.md>), [web-app](<https://devfeed.tech/tags/web-app.md>)

### AI overview

The article argues that companies should support smaller user groups through graded levels of browser and environment support rather than treating platforms as simply supported or unsupported. It describes a browser support matrix and explains how excluding users on certain devices or without smartphones can cost businesses customers and prospective hires.

### Source excerpt

or "How I learned to stop worrying and love all browsers the same as long as they came out kinda recently" Time and time again I've seen companies ignore smaller audiences that use their product because those audiences are not the main/target/primary audience. At a recent job they

## Developing small JavaScript components WITHOUT frameworks

DevFeed: [Developing small JavaScript components WITHOUT frameworks](<https://devfeed.tech/articles/developing-small-javascript-components-without-frameworks-32299.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/developing-small-javascript-components-without-frameworks/>)

Author: Jack Tarantino

Published: 2016-04-17T20:11:45Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [Vanilla JavaScript](<https://devfeed.tech/topics/vanilla-js.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [developers](<https://devfeed.tech/tags/developers.md>), [frameworks](<https://devfeed.tech/tags/frameworks.md>), [javascript](<https://devfeed.tech/tags/javascript.md>)

### AI overview

This tutorial argues that small JavaScript components can often be built with vanilla JavaScript instead of frameworks, plugins, and other tooling. It uses a programmatically generated employee list for a corporate homepage to examine the problem scope and question whether heavier tools are necessary.

### Source excerpt

You too can write vanilla JavaScript! A mistake that a lot of developers make when they first approach a problem (me included!) is to start thinking about the problem from the top down. They start thinking of the problem at hand in terms of frameworks and plugins and pre-processors and

## Clarity Conf Day 2 Notes

DevFeed: [Clarity Conf Day 2 Notes](<https://devfeed.tech/articles/clarity-conf-day-2-notes-32298.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/clarity-conf-day-2-notes/>)

Author: Jack Tarantino

Published: 2016-04-01T19:31:05Z

Content type: article

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [Design system](<https://devfeed.tech/topics/design-system.md>), [border-image](<https://devfeed.tech/topics/border-image.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [color](<https://devfeed.tech/topics/color.md>)

Tags: [animation](<https://devfeed.tech/tags/animation.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [clarity-conf](<https://devfeed.tech/tags/clarity-conf.md>), [css](<https://devfeed.tech/tags/css.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [notes](<https://devfeed.tech/tags/notes.md>), [style-guide](<https://devfeed.tech/tags/style-guide.md>), [styleguide-driven-development](<https://devfeed.tech/tags/styleguide-driven-development.md>)

### AI overview

Incomplete personal notes from day two of Clarity Conf, covering design systems and Rachel Nabors's talk on creating consistent, maintainable animation systems. The notes mention style guides, animation language, timing, easing, patterns, and performant CSS properties.

### Source excerpt

Here's my notes from day 2 of Clarity Conf. Again, apologies to the speakers whom I'm certain I misquoted and probably misrepresented. These are very incomplete. Please send me a message or say 'hi' in person with any changes. Jina Anne designsystems.herokuapp.com <- get invited to the

## Clarity Conf Day 1 Notes

DevFeed: [Clarity Conf Day 1 Notes](<https://devfeed.tech/articles/clarity-conf-day-1-notes-32297.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/clarity-conf-day-1-notes/>)

Author: Jack Tarantino

Published: 2016-04-01T17:28:56Z

Content type: article

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [Design system](<https://devfeed.tech/topics/design-system.md>), [Frameworks](<https://devfeed.tech/topics/frameworks.md>), [Material Design](<https://devfeed.tech/topics/material-design.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [clarity-conf](<https://devfeed.tech/tags/clarity-conf.md>), [code-style](<https://devfeed.tech/tags/code-style.md>), [design](<https://devfeed.tech/tags/design.md>), [design-systems](<https://devfeed.tech/tags/design-systems.md>), [front-end](<https://devfeed.tech/tags/front-end.md>), [guides](<https://devfeed.tech/tags/guides.md>), [style-guide](<https://devfeed.tech/tags/style-guide.md>), [styleguide-driven-development](<https://devfeed.tech/tags/styleguide-driven-development.md>)

### AI overview

Notes from the first day of Clarity Conf covering style guides, design systems, pattern libraries, responsive design, and the practical reasons organizations adopt more consistent interfaces and workflows.

### Source excerpt

Here are my notes from day 1 of Clarity Conf. Apologies in advance to the speakers whom I am certain I misquoted and misrepresented. Also if I missed things. Also for having some personal stuff just in the middle of there. Also because there's probably like 90 typos. I may

## Over-delegating JavaScript events

DevFeed: [Over-delegating JavaScript events](<https://devfeed.tech/articles/over-delegating-javascript-events-32305.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/over-delegating-javascript-events/>)

Author: Jack Tarantino

Published: 2016-01-27T03:33:40Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Web Development](<https://devfeed.tech/topics/web-development.md>), [interactive web experiences](<https://devfeed.tech/topics/interactive-web-experiences.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [overhead](<https://devfeed.tech/tags/overhead.md>), [scope](<https://devfeed.tech/tags/scope.md>), [triggers](<https://devfeed.tech/tags/triggers.md>)

### AI overview

The article explains that JavaScript event delegation is useful for handling events from many nodes with one listener, but delegating too high in the DOM can run unnecessary callbacks and allow events to affect unrelated components. It recommends scoping listeners to the nearest appropriate parent and stopping further propagation to reduce unintended behavior and overhead.

### Source excerpt

Delegating event listeners in JavaScript is generally a good practice. It allows us to create only one event listener for events that might be triggered on a variety of nodes and across multiple contexts. If we're just looking to listen for any given click on a page it would be

## Multiline strings in ES6 JavaScript

DevFeed: [Multiline strings in ES6 JavaScript](<https://devfeed.tech/articles/multiline-strings-in-es6-javascript-32304.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/multiline-strings-in-es6-javascript/>)

Author: Jack Tarantino

Published: 2015-11-29T23:59:53Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [es6](<https://devfeed.tech/topics/es6.md>), [Template](<https://devfeed.tech/topics/template.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [es6](<https://devfeed.tech/tags/es6.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [string](<https://devfeed.tech/tags/string.md>), [template](<https://devfeed.tech/tags/template.md>), [template-strings](<https://devfeed.tech/tags/template-strings.md>), [templates](<https://devfeed.tech/tags/templates.md>)

### AI overview

A tutorial on ES6 Template Strings in JavaScript, covering multiline strings, interpolation, tagged template strings, and older ES5 techniques for writing multiline strings.

### Source excerpt

The new kid in town is called Template Strings. Template Strings are demarked by a backtick(`) on either end and can contain other backticks if they are escaped by a backslash(ie. let my_string = `some cool \`escaped\` thing`). This new kind of primitive in JavaScript is different from

## ES6 IIFE with fat arrow functions

DevFeed: [ES6 IIFE with fat arrow functions](<https://devfeed.tech/articles/es6-iife-with-fat-arrow-functions-32301.md>)

Original publisher: [Read original article](<https://jack.ofspades.com/es6-iife-with-fat-arrow-functions/>)

Author: Jack Tarantino

Published: 2015-11-29T17:45:39Z

Content type: tutorial

Language: en

Sources: [Jacopo Tarantino](<https://devfeed.tech/sources/jacopo-tarantino.md>)

Topics: [es6](<https://devfeed.tech/topics/es6.md>), [es2015](<https://devfeed.tech/topics/es2015.md>), [function](<https://devfeed.tech/topics/function.md>), [syntax](<https://devfeed.tech/topics/syntax.md>)

Tags: [best-practices](<https://devfeed.tech/tags/best-practices.md>), [closure](<https://devfeed.tech/tags/closure.md>), [context](<https://devfeed.tech/tags/context.md>), [es2015](<https://devfeed.tech/tags/es2015.md>), [es6](<https://devfeed.tech/tags/es6.md>), [function](<https://devfeed.tech/tags/function.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [syntax](<https://devfeed.tech/tags/syntax.md>)

### AI overview

This tutorial explains how to write Immediately Invoked Function Expressions (IIFEs) in ES6 using fat arrow functions. It compares shorter syntax options, notes differences in function context, and describes a compact form for creating closures that cannot accept arguments.

### Source excerpt

Writing Immediately Invoked Function Expressions or IIFEs in ES6(Also known as ES2015 now) just got a lot easier with the introduction of fat arrow functions. (global => { const MY_CONSTANT = 'api key or something' let counter = 0 let some_array = [1,2,34,5,6,7] counter = some_array.