Logo

Who is talking?

Archive

Promises, Async and Await in Node.js

3 months ago | Rocky Jaiswal: Still Learning

This week we had the much awaited Node.js 8.0.0 release! Node is getting faster and better all the time. This release also makes the async / await feature available natively. But before we look at async / await let us quickl ...

Kubernetes with ELK Setup

5 months ago | Rocky Jaiswal: Still Learning

As it turns out this is my 100th post. The first one was published in March 2011 and a lot has changed since then. A lot of new technologies have come in and a lot of my posts have become obsolete. In all these years nothing has created more i ...

Testing HapiJS with Jest

5 months ago | Rocky Jaiswal: Still Learning

HapiJS and React are pretty much my go-to technology choices for web application development right now. While Jest works really well with React, on the HapiJS side I was ...

Docker Registry with AWS & Let's Encrypt

9 months ago | Rocky Jaiswal: Still Learning

With pretty much all new projects moving to Docker and Docker managers like Kubernetes, the Docker Registry becomes the first piece of infrastructure that a team needs to setup. Sure there are public and private registries availa ...

Hello Kubernetes

11 months ago | Rocky Jaiswal: Still Learning

Introduction Pretty much everyone in the technology world has heard about Kubernetes by now. But before we dive into it, let's try and understand the problems it solves - Back when I started programming, servers were usually considered out of reach for us developer ...

Pi Calculation with Elixir

about 1 year ago | Rocky Jaiswal: Still Learning

As a programmer one is always searching for better tools, practices and programming languages. For example, working with Clojure makes me a better programmer, it provides me the ability to write functional, succinct code that runs fast and works on the well-tuned and battle-tested JVM. Looking at ...

Classes and patterns in Node.js

over 1 year ago | Rocky Jaiswal: Still Learning

This week we had the awesome Node.js 6.0.0 release! With the 6.0.0 release Node.js has 93% of the ES6 features implemented. In this short post we will look at few particularly interesting features including "classes in JavaScript", ...

Packer, Ansible and Docker

over 1 year ago | Rocky Jaiswal: Still Learning

A little while back we looked at an operational setup that can get us up and running with any simple application by using Docker and capistrano. What was missing was the setup of the machine itself, we do not want to ...

hapi.js, JWT and CORS

over 1 year ago | Rocky Jaiswal: Still Learning

In the last post we setup a React based authentication workflow for a sample application. In this short post we will look at a hapi.js backend that can handle authentication using http://jw ...

Authentication workflow with React

over 1 year ago | Rocky Jaiswal: Still Learning

Having worked with a few frontend frameworks, I definitely find React to be a very good choice. For me, it delivers on the promise of creating clean frontend components that can be used across projects while being easily extensible and flexible. On t ...

Weather with Reagent

over 1 year ago | Rocky Jaiswal: Still Learning

In my last blog I talked a bit about React and ClojureScript. In this post we will look at a simple Reagent app that fetches the weather using the http://openweathermap. ...

React Router Comparison

over 1 year ago | Rocky Jaiswal: Still Learning

React and Redux are game changing technologies. The architecture principles they are based on seem to be sensible and rock solid. Redux architecture revolves around a strict unidirectional data flow, with a central ...

Pi Calculation with Clojure

almost 2 years ago | Rocky Jaiswal: Still Learning

A while back I wrote a post on using Akka with JRuby to calculate the value of pi. Since I am learning Clojure these days I thought it would a good idea to implement the same pi calculation algorithm using Clojure and core.async. The i ...

Get started with Compojure & ClojureScript

almost 2 years ago | Rocky Jaiswal: Still Learning

Clojure is probably the programming language that has fascinated and intimidated me for the longest time. I tried to pick it up many times and gave up an equal number of times. However, it was getting harder and harder to ignore ClojureScript's rising popularity and its awesome integration with Re ...

Docker + Capistrano = Warp Speed

almost 2 years ago | Rocky Jaiswal: Still Learning

Needless to say that Docker is pretty awesome. This blog itself is now powered by Docker + Capistrano and I can deploy a new post simply by doing bundle exec cap deploy. What's more with Docker, I can move to any hosting provider and setup everything in 10 minutes. Also, gone are ...

JWT and CORS

about 2 years ago | Rocky Jaiswal: Still Learning

This article was to be published in Healthy Code Magazine, India In this article let us look at how we can ensure secure APIs and test and develop the frontend and backend components easily and independently. The example we will choose is of a simple web-application, lets say a To ...

Scale up with Docker and Mesos

about 2 years ago | Rocky Jaiswal: Still Learning

I find Docker to be quite an exciting piece of technology. Packaging an application as an container and shipping it off is usually an easy and pleasant experience. Application containers help avoid provisioning and configuring pains and can be run on any server with ...

Get started with Docker

about 2 years ago | Rocky Jaiswal: Still Learning

This article was published in Healthy Code Magazine, India We have all been there, we have just written a cool application and are super excited to ship it out. Then we have a chat with the Ops team, “Redis” they say, “you are using Redis, well, we do not support that”. Ops adds “ ...

ES6 with Babel & Grunt

over 2 years ago | Rocky Jaiswal: Still Learning

The JavaScript ecosystem can get pretty overwhelming at times - multiple build/task runners, numerous transpilers, varied browser/server runtime environments and let's not even talk about frameworks. With ES6 around the c ...

Runit in Docker

over 2 years ago | Rocky Jaiswal: Still Learning

While Docker containers can themselves be run as daemons, I really want my applications to run as monitored services inside (or outside) Docker. This gives me the peace of mind that if the container is running, my app would be running and it is being monitored active ...

AngularJS and Browserify

over 2 years ago | Rocky Jaiswal: Still Learning

Angular (and some other JS frameworks) implements two-way data binding. With two way data binding, the view is automatically updated when the model (or data) changes and vice-versa. Although, we can consider it the framework’s job, it is interesting to know how this works under the hood. So let’s ...

Managing Adwords URLs

over 2 years ago | Rocky Jaiswal: Still Learning

Managing URLs in Adwords can be quite a daunting task. A mid-sized online shop can have thousands of URLs for items it is selling, larger shops like Amazon may have millions of URLs on their website. While setting up ads in Google Adwords each ad needs to point to a URL, of-course the URL should b ...

Experiments with Adwords Scripts

over 2 years ago | Rocky Jaiswal: Still Learning

Adwords Scripts are a neat way to automate small tasks in Adwords. There are many scripts available online which can help you automate routine tasks or run some ...

Adding Labels with Adwords API

over 2 years ago | Rocky Jaiswal: Still Learning

The Adwords API is a beast, although it is well documented it can take a while to wrap your head around it. Release v201406 of the API added support to manage Labels, this was further improved in v201409. Labels are a great tool to add metad ...

Let's go with Go

over 2 years ago | Rocky Jaiswal: Still Learning

Come to think of it, every programming language is a way to communicate with the computer. One could ask, computers are the same, why do we need so many languages? Given a certain task it can be written as an instruction to the computer using any programming language so why are new programming lan ...

Dockerize Everything

over 2 years ago | Rocky Jaiswal: Still Learning

One of the most frustrating things to do is to setup software for new projects. Even within the simple Rails ecosystem, one may need to install PostgreSQL, MySQL, MondoDB, Redis, Memcache, ElasticSearch etc. to get a project running. For complicated projects, Vagrant provides some help such that a ...

Building a simple scraper with Go

over 2 years ago | Rocky Jaiswal: Still Learning

I have been trying to learn Go / Golang lately and find it really exciting. The things that I find really good about Go are - Easy learning curve (with good documentation) Rich standard library Concurrency is not an after-thoug ...

Build great JRuby apps with Docker

almost 3 years ago | Rocky Jaiswal: Still Learning

Docker is an exciting piece of technology. You can build a ready to use Linux containers by just just writing all your dependencies / packages declared in an easy to read text file. Since a lot of sites have Docker introduction covered we will start right off ...

Testing thread safety with concurrent-ruby

about 3 years ago | Rocky Jaiswal: Still Learning

concurrent-ruby is one of my favorite Ruby gems. It provides numerous utilities that makes writing safe, concurrent and well-performing code easier. Lately, we faced an issue while we were developing a feature using http://api.ru ...

GruntJS, CoffeeScript and Browserify

about 3 years ago | Rocky Jaiswal: Still Learning

I usually write my JavaScript with CoffeeScript, it makes it look a lot cleaner and CoffeeScript also adds some nice syntactic sugar. Another common issue I face is organizing JS code about which I have written a few blogs already. Lately, I also read about Browser ...

Experiments with elasticsearch

about 3 years ago | Rocky Jaiswal: Still Learning

During the last few weeks I got the opportunity to work with elasticsearch and I am pretty impressed with the feature set and performance it provides. Elasticsearch's ability to work with structured or unstructured queries, easy cluster setup and speed make it an interesting candidate for a NoSQL ...

Concurrent Ruby on MRI / JRuby

about 3 years ago | Rocky Jaiswal: Still Learning

Truth be told I am a big fan of Ruby, it is a clean, easy to pick and productive language. Rails is also by far the most feature rich web application framework available. However, Ruby misses a few (modern) language features, most of them involving "Concurrency". JRuby solves some of those problem ...

Celluloid experiment with MRI / JRuby

over 3 years ago | Rocky Jaiswal: Still Learning

While running a CPU intensive process I wanted to check Sidekiq's performance on MRI vs JRuby. Since Sidekiq internally uses Celluloid, I investigated CPU core usage on Ruby(MRI) and JRuby for a simple prime number generator which uses Celluloid. Code for this looks like -

Custom Fetcher for Sidekiq

over 3 years ago | Rocky Jaiswal: Still Learning

Lately I have been working a bit on Sidekiq. IMHO, it should be one of the default gems for Rails projects, one of the reasons being it also includes Celluloid. When used, the combination of these two awesome libs in conjunction with JRuby can p ...

Client side validation with Backbone.js

over 3 years ago | Rocky Jaiswal: Still Learning

Happy 2014 everyone! May the new year bring you great happiness and lots of programming fun. I myself had an eventful 2013 and really hope that 2014 is less dramatic and more relaxing, now that I am in a great city and a very nice country (which was my dr ...

Unit Testing Backbone.js

over 3 years ago | Rocky Jaiswal: Still Learning

Hello from cold Berlin! After a couple of vagabond weeks it's good to back in my favorite city, hopefully for a long long time. Back to technology and more specifically JavaScript. I have been talking a lot about organizing / writing better client side code and this discussion would not be ...

Working with Angular.js and Rails - 2

almost 4 years ago | Rocky Jaiswal: Still Learning

In my last blog I covered setting up a basic Rails + Angular.js webapp with Rails-API and Yeoman. As promised in this post we will look at building a si ...

Working with Angular.js and Rails

almost 4 years ago | Rocky Jaiswal: Still Learning

If you put me in a corner today and ask me to build a project I would choose Rails + Angular.js. It is just an awesome combination to build clean apps quickly. However, a few of my friends have lately asked me how to properly setup Angular.js with Rails. One way is the standard <a ...

Future Matters

almost 4 years ago | Rocky Jaiswal: Still Learning

Last weekend I was successfully able to launch the MVP of StatusBoard. While I really love Rails, I sometimes miss doing things asyncronously, for example when a user signs up, ideally the email confirmation should be sent by a separate thread. This enables the ...

The quest for better code

almost 4 years ago | Rocky Jaiswal: Still Learning

I am largely dissatisfied with code that I usually write. Usually I write a working version, then a cleaner working version and then finally a cleaner Object Oriented working version. Obviously this takes some time but more on that later. Lately, I found Sandi Metz's rules to be quite practical an ...