Skip to content

Instantly share code, notes, and snippets.

@karimsa
Last active November 14, 2019 00:38
Show Gist options
  • Save karimsa/babb0b6768a87f0922fbc2276c678fc8 to your computer and use it in GitHub Desktop.
Save karimsa/babb0b6768a87f0922fbc2276c678fc8 to your computer and use it in GitHub Desktop.
My Talks

About the Speaker (Me)

I'm a Senior Bug Creator which basically means that I get paid to sit behind a desk and create lots of bugs that we sometimes call "features". I've been writing JavaScript for about 10 years now & have loved every second of it. It always amazes me how much extensibility and dynamic behavior JS brings to development.

I'm also an advocate for better DX & love working on tools and processes that can help augment a developer's life. Part of this journey has been learning that building more stable systems is more a product of treating error handling as an art than to do with removing bugs. I've been fortuanate enough to have the opportunity to speak at a few events as well as teach web development before. It's my favourite part of the development life & I love opportunities to share my experiences while learning about experiences from the community.


Acceptance criteria for talks (as specified by JSConf US):

  • Coherence and clarity of proposal
  • Relevance to the JavaScript community
  • Novelty and originality of the topic
  • Reasonably communicable in the time allotted

Building More Resilient Applications

"Sorry, try again later." It is the scariest message a user can see. Our users deserve better. What if we chose to embrace failure instead of avoiding it? For instance, we could consume API requests through observables instead of through promises. With multi-value responses, we can: render from cache while concurrently fetching real-time data, secretly attempt retries on failure, transparently avoid resource exhaustion through circuit breakers, & split requests based on network latency. In my talk, we'll go over live demos and production examples that show how resilience patterns in JavaScript lead to more fault-tolerant systems with more rewarding user experiences -- after all, isn’t that what we all want?

Big thanks to @willklein for the help in writing this!

Rethinking JavaScript Concurrency & Parallelism Primitives

Slides: slides.com/karimalibhai/js-concurrency

Asynchronous programming has come a long way in JavaScript - from the likes of callback hell all the way to the wonderful world of async/await. But creating highly parallel Node.js applications still requires a lot of extra coding effort & comes with a large maintainence cost. In this talk, I discuss an experiment which leverages babel to create new concurrency primitives for transparently scaling JS applications both vertically & horizontally.

JS Performance: State of the Art

In this talk, I go over the basics of JS from the perspective of performance such as JITs, optimization compilers, & minification. We'll also talk about some of the fallacies of JS performance, a list I have been collecting about fallacies that beginners in JS often believe.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment