I recently finished setting up a Lead Generation ad on Facebook Ads, which is a special type of ad that asks a potential customer to leave their details for you to get in touch with them. The process looks something like this, and Facebook pre-fills ... more
There are several well-documented approaches to load balancing large amounts of traffic to your service. The most common involves using nginx or apache as a reverse-proxy to load-balance connections in a round-robin or least-concurrent-connections fashion. ... more
If you are an avid reader of mine, you might have noticed that I haven't posted for quite some time (almost a year!). Time sure flies when you're having fun. Hopefully that's going to change in 2018! And now, let's get to the matter at hand. Motivation ... more
You've just finished working on your shiny new JavaScript project, after months of hacking away at it, living on nothing but granola bars and instant ramen noodles, and making use of hundreds of npm dependencies. The JavaScript ecosystem is great in ... more
Push notifications are a great way to ensure your users re-engage with your app every once in a while, but implementing them on iOS can be challenging, especially with all of the changes in XCode and Swift, not to mention the various iOS versions which ... more
Ah, MongoDB. Arguably the leading NoSQL database available today, it makes it super easy to start hacking away on projects without having to worry about table schemas, while delivering extremely fast performance and lots of useful features. However, ... more
There's just no way around it. Whether it's sending your users welcome e-mails, password reset requests, purchase receipts, or billing reminders, almost any web-based service eventually needs to start sending transactional e-mail to its users. Usually, ... more
npm, a.k.a. the Node Package Manager, is a developer-friendly command-line package manager included with Node.js. It makes it super-easy to install other people's JavaScript packages to extend your projects as well as publish your own JavaScript code ... more
If you're like me, you're probably subscribed to a select number of quality newsletters, each delivering you a fresh batch of hand-picked curated content straight to your inbox on a timely basis. Here are a few of my favorites: Node Weekly JavaScript ... more
You're finally done working on your shiny new Node.js app and now it's time to deploy it to production! However, what may seem like a trivial task soon becomes a quite complicated one: Your app cannot bind to ports 80 / 443 (or any other port number ... more
Imagine a perfect world where every single one of your users has uploaded a photo of themselves to their profile. Unfortunately, we don't live in that quintessential world (yet), and certainly every single app that offers user-to-user interaction has ... more
On the 19th of November, 2015, Geekim hosted their second annual hackathon in Tel Aviv and me and my awesome team of five (Eli, Dima, Yorai, and Liat) won first place with our app, FeedMe ! Geekim Geekim (which translates to "geeks" in Hebrew) ... more
On the 19th of November, 2015, Geekim hosted their second annual hackathon in Tel Aviv and me and my awesome team of five (Eli, Dima, Yorai, and Liat) won first place with our app, FeedMe ! Geekim Geekim (which translates to "geeks" in Hebrew) ... more
One of the most amazing things about ES6 (EcmaScript 2015) is the introduction of generator functions. These are special functions that may be paused at any time as they wait for an async operation to complete by utilizing the yield expression, and are ... more
If you happen to work with HTML a lot in Visual Studio, I'm sure you must already hate the built-in HTML Visualizer . It just plain sucks, and there seems to be no way to fix it, nor any viable alternative. It freezes randomly, probably due to JavaScript ... more
Something very peculiar is happening in Microsoft. They recently released a new IDE called Visual Studio Code and it's basically a Visual Studio for the web, specifically tailored to JavaScript/TypeScript development, in both the server-side and client-side. ... more
If you've ever built a Node.js app with an HTTP server (such as Express or Koa) and tried to deploy it to Linux, you discovered that your app cannot bind to a port less than 1024 without being logged in as root (or by using sudo). This is a security ... more
After writing the post about my letdowns with Google Cloud Messaging, I set out to find an alternative way to send push notifications reliably on Android. I stumbled upon numerous SaaS push notification services, such as Parse, Boxcar.io, UrbanAirship, ... more