2024Fixing Non-working Keybindings in Alacritty 0.13Teaching Alacritty to handle Command-Shift-] properlyBackground jobs with Pointguard 🏀A simple and effective background job server for the web
2023Easy and Performant Partial Form SubmissionsChoosing which fields to send in a form, without lifting state in a React app.Out of Order Streaming from ScratchStreaming is inevitable. Out of order streaming is an underrated tech breakthrough.My Node.js is a bit RustyReplacing an internal Node.js module with a native Rust module made a x25 perf boost. Let’s understand why.Authenticating GitHub Actions HTTP Requests with OpenID ConnectHaving frictionless trust between your service and GitHub Actions, without long-living tokensRunning Vercel Postgres LocallyThe setup I use for local work with Vercel Postgres or Neon database
2021Leaving WixAfter almost 4 years, I am leaving Wix and moving to my next challenge.Holiday Project - Working with MIDI clock over BLE and ESP32I built a MIDI sequencer over Bluetooth low energy (BLE) using Arduino-like ESP32 microcontrollers. Here are my findings.Podcast: Front-end Land (Hebrew)I chatted with Nir and Elad about TypeScriptReact Error Boundaries in SSRRemastered internals: How to use error boundaries in server-side rendered React app?Why fnm was rewritten in Rust...or, why did I rewrite a Reason-native showcase project into Rust?Mocking in TypeScript with `factoree`A simple way to easy and safe mocking in TypeScriptHTML over the wire with PreactCommunicating using HTML like it isn't 2021
2020CLI Apps in TypeScript with `cmd-ts` (Part 1)Using `cmd-ts` to easily build a type-safe TypeScript CLI appUsing Long Paths in Windows and RustThere's a simple solution for using long paths in Windows binariesPreserving Form State in Refreshes and Navigation with ReactUsing the History API to store meaningful state that preserves across refreshes and page navigationsTyping the Technical Interview in TypeScriptSolving a technical interview question with no runtime involved
2019Stringly and Strongly typed TypeScriptTeaching the compiler to understand strings in TypeScript🚀 fnm: Fast and Simple Node.js Version ManagerA super fast alternative to NVM is now open source on GitHub
2018RS256 in ReasonML/OCamlIt took me a decent amount of time figuring out how to sign messages for a ReasonML GitHub app. Here are my findings.The Programming Language I’m Looking ForI love programming languages. Every one of them has this catchy thing that I wished the others had. Lately, I’ve been distracted by the question of which language would I use if I would start a new side project.Fun with Functors and ReasonMLA short introduction to ReasonML types and functor types from a beginner
2017לפקד בהשלמה הטכנולוגיתבשבוע האחרון סיימתי את התפקיד הטוב ביותר שהיה לי בשירות - לפקד ולהדריך בהשלמה הטכנולוגית של חיל התקשוב - ולמדתי מלא על עצמי.“Sign up” and “Sign in” forms could (and should) be the sameWhy have both options?IFTTT Ideas for Software DevelopmentI use multiple types of software every day. I’d like to connect them to maximize productivity and organization.Versatility is your enemyThe larger set of options I get, the less work I can actually do.I failed to deliver.Over the last 3 years, I’ve built some inter-organization communication tools that failed. They all failed for the same reasons.