Posts
Switching to Hugo This New Year
· β˜• 8 min read
Finally I have decided to buy me a domain. But before that I must keep my content ready. Earlier on, I was decided on to giving my website a go backend, but I later thought it was an overkill to use golang as a backend for a personal website and I should keep that enthusiasm for a real app. Instead of manually creating a frontend for my site, I will be using already available Hugo theme.

Run Unit Test Before Every Commit with pre-commit Hook
· β˜• 3 min read
Introduction Why wait for CI/CD services to run your test? And in case you’ve already submitted a pull request, you’ll have to push another commit to fix the cause of failed test held by CI provider. You can prevent that by running unit tests locally before every commit. I’m building my website using the golang. On every git push, Travis CI runs test and create a docker image and pushes it to DockerHub.

Cycles Rendering Checklist for Faster and Clear Renders
· β˜• 4 min read
This is a textual version of Ways to Speed Up Blender Cycles Rendering, hope Andrew won’t mind writing a textual version. ;) This post is mostly for self-reference and does not contains all the methods shown by Andrew. We’ll see how we can create better renders and how render times can be reduced by merely changing some factory settings, and also what prices we might have to pay for that optimization.

Software Testing and Test Driven Development
· β˜• 3 min read
In this post, I’ll show a glimpse of software testing and how test-driven development works in a nutshell. Why Do We Test Every little software grows big, trying to solve more problem regarding its particular domain. It faces bugs in the way which also needs to be taken care of. As software grows big. It becomes harder to go and test if every part of the software is behaving the way it should.

What I've Learnt as a Self Taught Programmer Till Now
· β˜• 2 min read
I have been an independent programmer for a long time. Like 5-6 years? Recently been employed with Xentrix Studios, an animation studio based in Bengaluru, as a pipeline developer. Today I want to share what changes I’ve felt in these recent years. Write Readable Code The code is read much more often than it is written. In fact, source code is written for us, humans. A source code to achieve a certain task to be done can be written in dozens if not hundreds of ways.

Making a Switch to KDE and zsh
· β˜• 3 min read
It’s been a long time I’ve been fiddling around with Linux and Linux distros. The first Linux distro I ever used was Ubuntu.Β I like the beauty of Linux, its so customizable. One can change every aspect of interface and behaviour that end-user want. Like the desktop environments and shells, which you can’t really change on Windows operating systems. I myself belive in minimalism and not full of features products (which remains unused most of the time in my case).

Advance Interface Topics in Blender
· β˜• 3 min read
This is kinda a manual for new Blender user which I compiled up when I was learning Blender. First of all, when you’re switching from Maya, you’ll find the interface a bit alien. Blender has an option to behave like Maya, but in long run, that’s not gonna be productive. The Basics Right-click selects any object. MMB rotates the scene (we’ll se pivot point later in the post). Shift+MMB+mouse movement pans the scene.

How would you exclude all extension-less executable from your repo?
· β˜• 2 min read
In last post, I expressed how we can export a single file from a git repo the its own repo, preserving their commit history. In this post, I will tell how I dealt with extension-less file to ignore them in my repo. I have recently started learning C++ from Udemy, it’s a free course. I encourage you to take it if you are willing to learn C++. I was following the instructions on Linux.

Extract a File from Git Repo to its own, Preserving the History
· β˜• 1 min read
Today I will walk through how you can take out a single file from a git repository and create its own repository with all the file commit history preserved. When I started working at my workplace I initialized Maya script directory to git. At that time one repo was looking enough for entire folder. But when I started working with a tool, I realized an entire repo would be good for that tool.

Blending Modes Explained
· β˜• 2 min read
This documentation assumes knowledge of channels. And terminologies are for Foundry Nuke; as same operation have different names over different packages, but the work is same. Multiply Multiply multiplies each channel information of one image to another. The result is subtractive as we multiply.. Plus Plus adds pixel value from background to the foreground. Screen The screen is a conditional operation. It multiplies if pixel if higher than 50% threshold and plus if the value if the value if lower than 50%.

Nuke Optimization Tips
· β˜• 2 min read
Nuke is a very powerful VFX tool in the industry. But at the time of learning, people often don’t pay attention to the optimization. Which left them with relatively longer render times. Note: Not every point can be followed. Do whatever is possible. Hardware Related Get Two Hard Drive When you read footage from the hard drive, and write/render to the same hard drive, you actually make hard drive do double the work.

Merge more than one Commits before Pushing
· β˜• 2 min read
When I first came to know about this, I was like: I didn't know I can merge more than one commit into one until I read this: https://t.co/NM8oIBIwfB #Git #WebDev #Programming — Santosh Kumar (@sntshk) January 4, 2017 What is Squashing The process of merging commits together is called squashing.Β There are many commands to do the same thing, but I will discuss the one I learned. There’s a read more section below if you want to know more about this topic.

Digital Compositor Checklist
· β˜• 3 min read
Below is a list of procedures a compositor should follow. I also have a blog post compiled of optimization tips, which should work as side document to this post. Distortion Evey footage has some sort of distortion. Not dealing with distortion before 3D integration can result in catastrophic disasters. It’s good to first undistort the background plate > do the CGΒ integration > use the same undistortion data to re-distort the whole output.