Please Make Google AMP Optional

I was reading some articles on Hacker News about how we’ve lost the internet to big companies and how we are not doing anything about it and it got me thinking about Google’s Accelerated Mobile Pages (AMP) again. My story with AMP started in early 2016 when I enabled it on this site. It kind … Read more

Compile Node.js to Native Binaries

Guillermo Rauch (Socket.io, Mangoose.js, Hyper.js, Now) is the guy to watch, and last night he did not disappoint. The following tweet announced pkg – a simple tool to generate a native executable file from Node.js code targeting Mac, Linux, and Windows. Introducing `pkg` Single command binary compilation for Node.js pic.twitter.com/Dbe9L1gb0x — ZEIT (@zeithq) April 29, … Read more

Understanding differences between npm, yarn and pnpm

Introduction I am not an expert on either of the package managers. Contrary, until few days ago I didn’t realize that npm used a local cache. Unaware, I wrote an article titled OMG — NPM clone that finally makes sense and was called out on some of my false assumptions. That feedback forced me to take a … Read more

OMG – NPM clone that finally makes sense

Note: Everything I’ve assumed was wrong, I am keeping track of things as I discover them via the medium post: https://medium.com/@akras14/omg-npm-clone-that-finally-makes-sense-3478588879 I’ll update this post when the dust settles 🙂 Last week I came across a yet another NPM clone, called pnpm, but unlike other clones (cough Yarn) this one is actually interesting! What so … Read more

Convert video to images via command line

I often find myself needing to convert video to a series of images. It’s a great way to look through the content to find some details or identify screenshots that are worth keeping. For example I used this method to look through all talks given at Chrome Dev Summit to supplement my notes. Another use … Read more

Save Ammonite (Scala REPL) History to File

I use Ammonite and ipython like REPL for Scala. I find it handy to save history to file, so here is how to do it in Ammonite. Ammonite exposes a global object called repl, which has a method called history. The code above converts history to a new line separated string and writes it to … Read more

Write or Paste Multi-Line Code in Scala REPL

I love Python and ipython, so I often crave similar experience when working with Scala. Scala already has a built in REPL which is a huge plus, however, I wasn’t sure how to copy/paste multi-line text. For example, I had a snippet of code saved somewhere that looked as such: This would work fine if … Read more