notes

Facebook Birthday List to ICS file

Permalink 2 minute read Modified: (Rohan Verma)

I have recently stopped using facebook, but I really miss the convenience of the birthday notifications. I tried to find the .ics which you could export from facebook events page to your calendar program but it was nowhere to be found and I thought I would have to script scraping it myself. A quick search on github later, I found that someone had already beat me to it. You can find the repository on github and follow the documentation, but I have documented the steps I followed below:

Using Docker containers for building Archaic Projects

Permalink 3 minute read Modified: (Rohan Verma)

Sometimes old projects and libraries require certain specific system library versions that are hard to reproduce, or cumbersome to replicate on our development environment. Docker can be used to simplify the build process of these projects and it is often a lot faster than starting a VM in your machine and using that to build these projects. I recently found out about such a project at my workplace. This was a C++ binary that was statically compiled, so there was no issue with distribution but the build process had become very complex over time.

A review of Siempo Launcher for Android

Permalink 7 minute read Modified: (rhnvrm)

Three months of self inflicted digital pain and how it changed my habits Last December, I decided to start an experiment and adopt a new launcher called Siempo apart from the OnePlus and Nova launcher that I’m used to since I started using Android. After three months, even though I have stopped using it, I have observed some changes and would like to share it with my readers who are also interested in digital well being.

Setting SO_REUSEPORT and similar socket options in Go 1.11

Permalink 2 minute read Modified: (Rohan Verma)

Go recently introduced a heavily requested feature that allows programmers to set socket options before accepting and creating connections. You can find a mention of this in Go 1.11 Release Notes. Although, not many have written on this and implementing this is a bit confusing due to a change in the way one has to implement this. So I decided to share this with others who might be interested in using this feature.

Streaming audio from Linux to Android using PulseAudio over LAN

Permalink 1 minute read Modified: (Rohan Verma)

Suppose you are in a situation where you want to watch a movie on your TV or monitor but don’t want to use speakers. Maybe you are looking to listen to an audio book stored on your laptop but don’t want to transfer it to your phone. Or you just want to buy an audio jack splitter. Look no further, PulseAudio to the rescue. PulseAudio provides streaming via SimpleProtocol on TCP via a simple command.

Convolutional Neural Network Basics

Permalink 3 minute read Modified: (Rohan Verma)

Convolution It is a matrix operation in which we add each element with local neighbors with respect to the weight of the kernels. Mathematically, it is the element-wise product of each element of the kernel with the image-piece followed by a sum. These filters can be used to detect various things like edges etc. Filters/Kernels Filters/Kernels capture features in their receptive field using matrices containing values (weights) with convolution. A higher result of this operation implies that the feature captured by the kernel is in the image, and a lower score implies the opposite.

Automate fast download of a large files through FTP

Permalink 1 minute read Modified: (Rohan Verma)

lftp -e 'set net:timeout 10; pget -n 10 BigFile.zip; bye' -u UserName,PassWord ftp://BigFiles.com

Rewriting Lyric API in Golang

Permalink 2 minute read Modified: (Rohan Verma)

I had originally written a Lyric API as a hobby project way back using Node. I published it on github as a combination of API server hosted on heroku along with a library hosted on NPM. It still gets 50 downloads a week and the hosted heroku API server is actually used by many people even though it offers little to no functionality. I was recently looking at wtf dashboard and even contributed a small patch to it.

Functional Options for testing without mocks in Golang

Permalink 3 minute read Modified: (Rohan Verma)

Suppose you have a HTTP request to be sent but don’t care about the result or errors. This request is sent through a function which is usually called inside a goroutine and is not in any way a core aspect of your main logic. The only important part is forming the actual request and the payload. When you wrote this function, you did not write tests as it would be a pain to make the function return something and check it.

Reviving an old Samsung N150 Netbook and making it a solid Dev Environment

Permalink 4 minute read Modified: (Rohan Verma)

I had an old Samsung N150 netbook lying around in my parent’s house. It was an amazing netbook and I remember fondly using it when my parents were not using it to browse the internet and sometimes even use it for school work. It came with Windows Vista if I recall correctly but I had installed Windows XP service pack 3 on it because as we know, Vista sucked! Well, the netbook was very solid, it even ran small games such as Fifa Manager etc and came with a solid keyboard, ethernet and VGA as well for connecting to a big screen.

Setting up Python on Spacemacs and using Pyenv to use Python3

Permalink 2 minute read Modified: (rhnvrm)

After diving into Spacemacs yesterday, I was able to setup LaTeX properly. Only SyncTeX is left to be setup although, right now I can live without it. After tweeting about it, I got a reply about setting up Python on Spacemacs. I had installed the python layer but had not tested it. There was no hitch, although I faced a small issue with having python2 as well as python3 on my system.