DECEMBER 7, 2018

Farsighted by Steven Johnson - Thinking, Fast and Slow by Daniel Kahneman - The Coddling of the American Mind by Greg Lukianoff and Jonathan Haidt - The Laws of Simplicity by John Maeda

A while ago, I added a list of books I've read (and highly recommend) to my Library. Today I'm starting a list of books I'd like to read next.

Let me know of any other good reads you know.


  1. Recommended by Nathan Melenbrink ↩︎

DECEMBER 7, 2018

Here's a note on how to display dialogs, alerts, and notifications on macOS with AppleScript, useful to automate day-to-day tasks you do with your machine, or even create complex programs.

(To the uninitiated, you would run this code by opening the AppleScript Editor (on macOS), pasting the code there, and hitting run.)

Dialog and Alert1

display alert "This is an alert" buttons {"No", "Yes"}
if button returned of result = "No" then
    display alert "No was clicked"
else
    if button returned of result = "Yes" then
        display alert "Yes was clicked"
    end if
end if

System notification

display notification "Have a simple day!"

DECEMBER 4, 2018

A short-form piece on the pros and cons of engaging with tasks as they come. What's your take on doing things as they happen versus processing later, in batches?

NOVEMBER 26, 2018

This summer, right before leaving Cambridge, I was extremely lucky to interview Ben Fry for the podcast at Fathom Information Design, in Boston, Massachusetts. Ben, together with Casey Reas, co-created the "Processing" programming environment back in 2001 (that's seventeen years ago), an open-source tool still in active development and used daily by thousands of designers, artists, researchers, engineers, students, and professionals from a wide variety of disciplines. Processing was a side-project Ben was working on while writing his thesis on Computational Information Design at the MIT Media Lab, which led him to found Fathom Information Design later on, a studio in Boston focused on understanding complicated data problems.


Listen to this episode.

NOVEMBER 20, 2018

After cloning a repository, you can have git not track changes you make to one (or multiple) files.

Tell Git to assume a file is unchanged

git update-index --assume-unchanged file

Tell Git not to assume a file is unchanged anymore

After this command is run, the repository continues tracking the file. It might have changes that git will want to commit.

git update-index --no-assume-unchanged file

Roll back the changes you made while the file was --assume-unchanged

In case you made changes while --assume-unchanged was on and don't want to keep the changes on the file: Roll-back to where the repository is when you want to pull or push changes.

git checkout -- file

NOVEMBER 14, 2018

for...of1

const numbers = [1, 3, 100, 24];
for (const item of numbers) {
  console.log(item); // 1, 3, 100, 24
}

NOVEMBER 13, 2018

Sorting a list of numbers1

let numbers = [-34, 100, 20, 2, 3, 5, 6];
numbers.sort( (a, b) => a - b ); // Ascending sort
// [ -34, 2, 3, 5, 6, 20, 100 ]
numbers.sort( (a, b) => b - a ); // Descending sort
// [ 100, 20, 6, 5, 3, 2, -34 ]

NOVEMBER 9, 2018

GitHub just released GitHub Actions, to "automate your workflow from idea to production." Their slogan:

Focus on what matters: code

Here are some comments by Sarah Drasner on CSS-Tricks:

Previously, there were only few options here that could help with that. You could piece together other services, set them up, and integrate them with GitHub. You could also write post-commit hooks, which also help.

[...]

Actions are small bits of code that can be run off of various GitHub events, the most common of which is pushing to master. But it's not necessarily limited to that. They’re all directly integrated with GitHub, meaning you no longer need a middleware service or have to write a solution yourself. And they already have many options for you to choose from. For example, you can publish straight to npm and deploy to a variety of cloud services, (Azure, AWS, Google Cloud, Zeit... you name it) just to name a couple.

But actions are more than deploy and publish. That’s what’s so cool about them. They’re containers all the way down, so you could quite literally do pretty much anything — the possibilities are endless! You could use them to minify and concatenate CSS and JavaScript, send you information when people create issues in your repo, and more... the sky's the limit.

You also don’t need to configure/create the containers yourself, either. Actions let you point to someone else’s repo, an existing Dockerfile, or a path, and the action will behave accordingly. This is a whole new can of worms for open source possibilities, and ecosystems.

Curious about how this all works? Take a look at CSS-Tricks tutorials:

Visit GitHub Actions.

NOVEMBER 3, 2018

Here are some notes I took while reading GitHub's An Introduction to innersource white paper.

Organizations worldwide are incorporating open source methodologies into the way they build and ship their own software. […]

Many companies use the word “innersource” to describe how their engineering teams work together on code. Innersource is a development methodology where engineers build proprietary software using best practices.

[…]

[I]nnersource code helps your team discover, customize, and reuse existing internal projects. They can also establish and build on a shared set of documented processes to optimize the way your company deploys and uses software. This can lead to lower cost, greater flexibility, and an end to vendor lock-in.

[…]

Within an enterprise, individual developers can pursue their interests, share ideas on a level playing field, and more easily learn from their peers. However, innersource also requires a cultural shift. Your team’s culture will need to encourage knowledge sharing and welcome contributions from across your organization. […] For innersource projects, distributing control across a smaller group of participants frequently makes approvals and reviews more effective. Creating a small, cross-functional team of decision makers can also help teams stick to quality standards and gain executive support.
Adopting innersource practices is like starting an open source community within your organization. As with open source, transparent collaboration mobilizes a community’s collective knowledge and skills to create better software. An innersource community, in contrast, contains the knowledge, skills, and abilities of people and tools within a single enterprise.

Why do companies adopt it?

As businesses evolve and differentiate their products and services with software and data—or recognize software and data is their product or service—they quickly realize that traditional development methods and tooling don’t quite work. The slow, systematic practice of gathering requirements, holding meetings, and developing in silos is not in step with the pace of technology today—or even the pace of customer demands.
Innersource helps teams build software faster and work better together—resulting in higher-quality development and better documentation. It also can help companies become more efficient by:

  • Making it easy to find and reuse code on a broad scale, avoiding wasted resources and duplication
  • Driving rapid development, regardless of company size
  • Reducing silos and simplifying collaboration throughout the entire organization—inside and between teams and functions, as well as across teams and business lines
  • Increasing clarity between engineers and management, as well as anyone else who’s interested
  • Creating a culture of openness, a precursor to open source participation
  • Reinforcing the pride, growth, and job satisfaction felt by team members who help wherever there is a need

OCTOBER 31, 2018

React Google Charts is "A thin, typed, React wrapper over Google Charts Visualization and Charts API." View the source on GitHub.

OCTOBER 25, 2018

It is a safe bet that the highest-earning professions in the year 2050 will depend on automations and machines that have not been invented yet. —Kevin Kelly, The Inevitable

OCTOBER 18, 2018

Who said that making art was easy? Today, I'm glad to invite you to see the world from the perspective of an artist and creative that brings her craft everywhere she goes, might it be painting at her studio or teaching youngsters how to use digital tools to formalize their ideas.

Listen to artist, designer, and educator Jiyoo Jye on the struggles of making art and choosing your projects; education at an innovation school as a creative; when to share your work and the role of feedback; media consumption and technology; and her approach to simple living and daily routines.


And hey! You can now listen on iTunes, Spotify, Overcast, and Stitcher!

OCTOBER 17, 2018

This year, the ACADIA conference is taking place at UNAM's Facultad de Arquitectura, Mexico City. As part of the Talk to a Wall workshop, Cristobal Valenzuela (@c_valenzuelab) talked about his work on RunwayML, ml5js, and a lot of what's going on at the moment on the field of artificial intelligence, machine learning, and deep learning.

Along his definition of artificial intelligence, "[The] simulation of intelligent behavior in computers," he shared the following quotes of some of the most relevant researchers of artificial intelligence over the last years.

Models for Thinking, Perception, Action.

—Patrick H. Winston, MIT

Many things can be AI, including simple programming. AI is the automation of thought.

—François Chollet, researcher and author of Keras

A field of study that gives computers the ability to learn without being explicitly programmed.

—Arthur Samuel, MIT. Samuel Checkers, 1957

If you're interested in artificial intelligence and machine learning, you should definitely follow @c_valenzuelab, @ml5js, and @runwayml.

OCTOBER 11, 2018

Autodesk AEC Generative Design Day in Barcelona. Kean Walmsley, Nono Martinez Alonso, Raquel Bascones Recio, & Safi Hage

Last week, I had a really good time at Generative Design Day, in Barcelona. I recently relocated from the US to Spain. This was a great opportunity to meet some Autodesk colleagues in person (among which were Raquel Bascones Recio, Kean Walmsley, Jacob Small, Paolo Serra, Safi Hage, and Reginald de Visscher); to talk about the next-generation AEC tools I'm working on at the Autodesk Generative Design team; and to meet some of our European customers.


You can head over to Kean Walmsley's blog to read more about the event — these are my highlights from his post:

[Autodesk] had invited our larger customers from all over Europe to come and hear about the use of generative design technologies in the AEC space, both present and future.

[...]

For those of you who aren’t familiar with The Living, they’re an architectural practice that Autodesk acquired back in 2014. [...] Over the last few years The Living has done pioneering work applying generative design in the AEC space. They’re the ones responsible for the generative design of the A320 Bionic Partition (admittedly more of an engineering project), the generative space planning of Autodesk Toronto’s new office in the MaRS district based on employee data, and the generative layout of the AU 2017 Exhibit Hall to maximize buzz and access. Oh, and the generative urban planning tool that Van Wijnen are now using, of course.

[...]

Raquel Báscones Recio was our master of ceremonies, introducing the subject of the event and its various speakers. She also put in a great deal of work to make the event happen, in the first place. Jacob Small is a legend on the Dynamo forum. He works in our support team in Boston and gave a presentation on Dynamo.

[...]

People seemed to respond well to the vision for generative design, and I had some really good discussions with a few attendees who were particularly motivated by the position my team is taking on this: there’s a huge opportunity to create designs based on data.


Next week: ACADIA 2018, Mexico City.

SEPTEMBER 28, 2018

Every requirement is an opportunity for delight, even the ugly ones. Sometimes the creative treatment of these warts are the most enjoyable parts of a design.

—Frank Chimero, The Shape of Design

SEPTEMBER 26, 2018

Lobe is a web-based visual programming language to create and deploy machine learning models, founded in 2015 by Mike Matas, Adam Menges, and Markus Beissinger "to make deep learning accessible to everyone," recently acquired by Microsoft.

Lobe is an easy-to-use visual tool that lets you build custom deep learning models, quickly train them, and ship them directly in your app without writing code.

I saw a live demo at SmartGeometry earlier this year and I can't wait to play with it once its deployed on Microsoft's servers.

You can see a few examples at Lobe.ai. (They're looking for people to join their team.)


Watch this video to see examples of things people have built using Lobe and how to build your own custom deep learning models.

SEPTEMBER 25, 2018

From png to jpg.

mogrify -format jpg *.png

From jpg to png.

mogrify -format png *.jpg

SEPTEMBER 23, 2018

The Processing Foundation recently announced the second Processing Community Day event, which will be happening on Jan 19, 2019, at University of California, Los Angeles (UCLA):

[A]n inclusive event that will bring together people of all ages to celebrate and explore art, code, and activism. The day-long event features four themed-tracks — Accessibility, Disability, and Care, Radical Pedagogy, Under the Silicon, the Beach!, and Epic Play!. Each themed track contains lightning talks and sessions presented by conference guests we invite through an open call.

In addition to a full day of programming, we want to make space for anyone to share ideas and projects with the community. We will set up Show & Tell Stations, a Processing Community Cafe, and a Community Open Mic Session for participants to sign-up on the day of the event. The program will wrap up with an after party consists of performances, food, and drinks.

You can get a good picture of the purpose of this event (and the people making it possible) by reading Taeyoon Choi's afterthoughts of 2017's event at MIT Media Lab, and here is a YouTube Playlist with all of 2017's talks (including the ones by Andrés Colubri, Jose Luis García del Castillo y López, Dan Shiffman's Coding Train, Cristóbal Valenzuela and Cassie Tarakajian

Early bird tickets are available here. Go get yours!

SEPTEMBER 21, 2018

Olver Reichenstein on iA Writer 5.1:

The all new Tags and x-callback-urls are so hip they’ll take you to funky town.

Here is how tags started. We decided to add smart folders to iA Writer for Mac. Just before wrapping that task up, someone on the iA Writer design chat said:

Great, now I’m going to use tags with smart folders and get organized.

I'm super excited about this new feature. I found myself organizing my writing in various different ways with iA Writer—including prefixing file names with hashtags to group drafts by topic. Definitely, this is going to be a game changer.

These are my highlights from this release:

  • Write #tags to group files (See tags working)
  • All hashtags are shown in Organizer and Go menu (and can be hidden from Preview and PDFs)
  • Added authenticated x-callback-url commands to read and write files
  • Dark appearance (will adapt to the system's light and dark appearance with the incoming macOS Mojave)
  • HTML tags are dimmed in Editor

SEPTEMBER 16, 2018

Last August, the simple gesture of a stranger boosted my mood on my way to work. I've been living in Cambridge, Massachusetts for three years now, and the time for me to move onto new things has come—I'm going to miss this place.

Here is a little story on how paying attention to the slightest, subtle differences of your day-to-day can add meaning to your life.

Want to see older publications? Visit the archive.

Listen to my Podcast.