Hariharan Srinath

How type embedding intersects with Pointer and Value method receivers in Go

I recently encountered a subtlety in Go language in how methods exposed by an embedded type are resolved vs. those with the same name defined by the container types depending on whether they are defined on Pointer or Value receivers. A quick trip to the language documentation however helped me understand subtlety and fix the unexpected result I was getting. It left me with a greater appreciation for how different features of the Go Language are designed to interact in cleanly defined manners
Hariharan Srinath

GoAniGiffy: A versatile animated GIF creator

GoAniGiffy is a small utility written in the Go Programming language to create animated GIFs from a set of alphabetically sorted image files (eg. video frames extracted as JPEGs with MPlayer or VLC) with support for basic image editing operations like cropping, scaling, rotation & flip. Scaling & Downsampling the images for creating the GIF are performed with high quality algorithms to ensure the colors of the video are of good quality
Hariharan Srinath

Hello World Web Servers in Python & Go

The ubiquitous Hello world programs in programming tutorials are not very insightful in our modern web-centric era. In this post, we implement simple HTTP web servers that serve up a Hello World response in Python & Go languages. We will use functions from just the standard library to get a feel for the relative strengths of the language.