September 18, 2017
PSA: This article is in no way related to the Stream’s Standard. There are several strategies to reduce the time for a page to receive meaningful content and become interactive. Today we will be looking into one of the strategies that involve changing the way we serve content from the back-end. Server-side rendering can be slow as we don’t render anything to the page until we have made all the database queries, massaged the data, and sprinkled all the additional scripts we need before a user can see it.
December 9, 2016
I have had Service Worker working on this site (on and off) for a while now. Caching everything other than posts. When I moved away from github-pages to Surge I had to forgo the HTTPS support, which meant no more offline caching. However, I have switched back to github-pages with Cloudflare providing the HTTPS certificates. This is temporary until I move to a platform where I can explore other PWA patterns.
October 9, 2016
I briefly talked about progressively decoupling in my session at DrupalCon Dublin and I would like to expand on couple of techniques that have worked out well for me. I’ll be using React as the client-side framework but it should work equally well with other frameworks too. I choose React because of it’s small size and my familiarity with it. Progressive Decoupling Unlike Fully Decoupled Drupal solutions where you have to serve a completely isolated website on a different technology stack, with Progressively Decoupled websites you can gradually build out a library of components while staying inside Drupal.
August 31, 2016
Introduction Git can be easily hacked to alter the integrity of the respository. Changing author details and code history are just a rebase away. $ git commit --author Linus Torvalds <mailto:email@example.com> To validate commits and tags you can sign them with GPG keys. GPG allows you to encrypt and sign messages/data using a pair of keys: public which can be shared over the internet and a private key, that you keep safe on your machine.
August 27, 2016
Introduction Processes are the bread and butter of Elixir’s concurrency. Unlike operating system threads, Elixir has green threads which are efficient and light on resources. These processes communicate and synchronize with each other by message passing. It is a common pattern among Elixir and Erlang developers to spin up thousands of processes without worrying about performance as processes are isolated and memory is cleared with every process that ends or is killed.
July 27, 2016
July 25, 2016
Introduction I archived the last iteration of my site which I had been hosting on GitHub pages for several years now. This setup has worked fine for me but there were a bunch of reasons for me to move away from it. I wanted to switch from Jekyll to a faster static-site generator. I’m was not happy with installing one more language (ruby) on my machine just to build static website.
July 24, 2016
Memory Computer memory can be thought of as a huge chest with hundreds and thousands of drawers. Each drawer can store some data. Whenever you store something in a drawer, you get back an address pointing to it. You can use this address to access the content inside it or to manipulate what’s already in there. If you are storing something in memory, your computer will look for free space and give you an address where it can save it.
July 23, 2016
Preface A few years back, I was studying as a computer science student (Bachelors in Information Technology) and like every other student in my class I was ill-informed that whatever they taught at college was outdated, impractical, and useless to a web developer. To me they were teaching low level languages like C and C++ which as a web developer, I would never touch with a ten foot pole or microprocessors that weren’t powerful enough to run todays feature phones.