RSSAmplifier

Blog

Amjad Masad

Essays

amasad.meRSS feed ↗34 posts

Latest posts

How to Keep Winning

I've always been fiercely competitive. I enjoy everything about it—from training to get better, to building and developing teams, to the stress, pressure, and intensity. And while I love winning, the...

Civilizational Primitives

At the dawn of civilization, with the introduction of the agricultural revolution, humans needed to coordinate in larger numbers so _the hierarchy_ emerged as the primary organizing tool. People orga...

Investing in Synthesis

Computers give humanity the power to solve some of the most critical problems our species has ever faced. However, until today, we have failed to leverage this unprecedented tool; we teach kids to be...

Why Learn Compilers

A sufficient understanding of computers is impossible without learning how compilers and their parts work. It is like stepping into the computer's mind and seeing how it feels from the inside. Compil...

Computers Doing The Right Thing

I'm fascinated by the idea of computers doing The Right thing without explicit user input. Today this is most apparent in autocorrect, but the idea -- in a more advanced form -- goes back to the early...

Learning to Fight

<iframe width="560" height="315" src="https://www.youtube.com/embed/-DDZ1A4Q0KY" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyrosco...

The Hyperreal

It's normal to get excited by social media likes. Some say social media is "fake." But to the receiver of the like, they feel appreciated and heard, and to them, that's real. It's perhaps more real t...

On Hosting Sites from Your Editor

This website is hosted on an [editor](https://replit.com/@amasad/my-blog). I can update it live and I can even see you visiting it in my editor [console](https://blog.replit.com/internet-of-fun). Th...

Ambition++; Reflecting on a decade of work

It's wild: Almost everything I worked on has become a great success on a global scale. I was struck by this fact earlier today when the news came out that Codecademy, where I was a founding engineer,...

Replit is not an IDE

When a new thing is invented, we're often stuck with the old words to define it. The first car was a "horseless carriage," and the first computer was a "giant brain." In the same inaccurate way, Repl...

Why We Switched From MongoDB to PostgresSQL (GPT 3 post)

_This post was generated by gpt-3. My prompt was only the title and the first sentence_ __At Tiny we're scaling really quickly__. Our platform allows tens of thousands of developers to instantly pro...

Do What Makes The Best Story

Kids are always telling themselves stories. Try to remember yourself as a child lying in bed, anticipating an exciting day tomorrow, and you'll probably remember telling yourself a story about how co...

50th Anniversary of The Mother of All Demos

I was asked to give a toast in celebration of the 50th Anniversary of [The Mother of All Demos](https://en.wikipedia.org/wiki/The_Mother_of_All_Demos) so I spent some time reflecting on Engelbart's w...

Leapfrogging the IDE

Progress in technology happens incrementally; it's hard to imagine inventing the cellphone without inventing landline telephones first. However, adoption need not respect the incremental nature of in...

Beware the Metagame

Have you ever wondered why the less "pure" a scientific field is, the less progress we've made? ![](https://imgs.xkcd.com/comics/purity.png) The more abstract a subject is, the easier it is to reas...

Github and Open-source Is a Boon for the Underprivileged

I was born to immigrant parents. My mother's family left Algeria looking for a better life in Syria and then Jordan (where I was born). On my father's side, his family fled the war in Palestine to Sy...

Be Grateful

Where I'm from "Thank God" is something you say every day. While nowadays most people say it in an automatic, mindless way, I think it came to be tradition because of a profound sense of appreciation...

Mental Frames to Get Over Entrepreneurial Anxiety and Depression

Would you accept a gamble that offers a 10% chance to win $95 and a 90% chance to lose $5? Would you pay $5 to participate in a lottery that offers a 10% chance to win $100 and a 90% chance to win...

Dialectical Progress in Programming

The notion of progress in programming is -- as in anything else -- debatable and hard to define. For various reasons that are besides the point of this essay I believe that we're indeed making progre...

Disintegrated Development Environments — How Did We Get Here?

[_This essay is an adaptation of my talk at [Active Ingredients Conference](http://activeingredients.info/)_] It's never been better for programmers, a team of 5 today can build projects and compani...

Fake Minimalism

It's now fashionable to call yourself a "minimalist", but is that merely about not having things? I remember going to school everyday carrying nothing at all, no bag, no books, no pen, nothing -- I w...

2016

I'm typically forward looking and barely take time to reflect (not to say those two things are mutually exclusive). However, last year was a especially unique and crazy, so in honor of that (and the ...

Kierkegaard and Entrepreneurship

Earlier this year I spent a lot of time thinking about what "impact" means to me. In the tech world, we use it to say that our work matters and that we're "making a dent in the universe". But it feels...

What is Perfectionism and How to Cure It

> My problem is that I'm a perfectionist > -- Everbody As I finished writing the title for this post I thought about quitting. I didn't think it was good and told myself that this is off to a bad st...

John Carmack on Idea Generation

Last year at an internal talk at Facebook I was fortunate to see [John Carmack](https://en.wikipedia.org/wiki/John_Carmack) speak about his idea generation system. At first I was disappointed because...

Caching and Promises

It's fascinating to me how something that can be described so simply can also be tricky to implement. Caching is the idea of keeping around results of computations or outside-world-reads so it's easi...

Eval as a Service

After operating under the radar for a while, we're now publicly launching the [repl.it code evaluation API](https://repl.it/api) that allows anyone to execute code in whatever language from anywhere ...

The Stoic of Open Source

Two unrelated things happened recently: 1. A few high profile open source maintainer burnouts 1 2. I've been reading a lot of philosophy 2 I was first introduced to Stoicism by ...

Overcoming Intuition in Programming

In a [series of experiments](http://faculty.chicagobooth.edu/nicholas.epley/alteretal.pdf), researchers set out to discover the relationship between difficulty or "disfluency" and cognition. They pre...

Easier Concurrent Programming in JavaScript with Async Functions

We're about to introduce async functions internally at Facebook so I'm taking the time to reflect on how this could be a great win for building reliable software. When I joined the company, I worke...

Hello World

You can now embed runnable code snippets from [repl.it](https://repl.it) on your blog or website. Just go to [repl.it](https://repl.it) and pick one of the languages listed below, save your code and ...

Lesser-Known JavaScript Debugging Techniques

After I prototype an app I'm building, my time is split between the editor and the browser with the console open. I try to debug as I go to avoid creating a complete mess. Moreover, when I get a bug ...

Building an In-Browser JavaScript VM and Debugger Using Generators

### tl;dr I built a JavaScript VM and debugger in JavaScript. Checkout the example in the [demo app](http://debugjs.com/#example) and the [source code](https://github.com/amasad/debugjs). Read on fo...

On VMs in JavaScript

There are many challenges in implementing a language VM in JavaScript. Amongst those is the fact that your VM will be forced to live in a non-blocking environment, whereas most language interpreters ...