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.

mental ray shader terminology explained
· β˜• 1 min read
Although newer version of Maya have incorporated Solid Angle’s Arnold renderer. NVIDIA’s (formerlyΒ mental images) mental ray is still used in production quality rendering. People coming from Maya’s basic shader e.g. Phong, Blinn, Lambert don’t get daunted watching the mental ray shaders. So today I’ll explain what they actually mean. mental ray materials in Maya **mi -Β **mi is short for mental images, the facility in which mental ray was developed.

Get rid of Flickering during Shoot
· β˜• 1 min read
Every videographer once in their career gets in a situation where they face flickering of video,Β especially in low light situation. This guide will help you get out of that situation to some extent. Adjust the Shutter 180-degree shutter rule says to keep the shutter double of the fps. So that if we’re shooting at 1920x1080@24fps,Β our shutter should be minimum 48. Most camera won’t let you go down to 48 but you can round-up, safely.

Move Item to Next Row on Resize with Flexbox
· β˜• 2 min read
In this tutorial, I’ll show how to make items of a flexbox to go to the next line on the window resize. There comes a time in life when you need to create layouts where block snaps to next line when the window is too narrow. This is a best practice in responsive web design. The Setup Let’s get started creating a skeleton for our experiments: 1 2 3 4 5 6 <div class="flex"> <div class="item">HTML</div> <div class="item">CSS</div> <div class="item">JavaScript</div> <div class="item">MongoDB</div> </div> As we have the skeleton, let’s start designing.