Autosave in Maya

Autosave is a very handy feature, available in Maya.

Autosave, its names says it all, it incrementally saves the file, by default it saves the file with a five-minute interval.

This can be extremely useful if you are used to working for long hours, and you are used to seeing the apple spinning pinwheel.

Let’s not go more in depth with why you see the pinwheel, time to go straight into setting up Autosave.

First open Maya preferences. Windows > Settings/Preferences > Preferences settings-and-preferences

Maya Settings/Preferences
Maya Auto Save Off

The AutoSave tab is located under File/Projects

All you need to do is click on the Enable checkbox, you can edit the settings below according to your requirements.

Maya Auto Save On

Thank you for reading,

Group mesh in Blender

Keeping things organized is key when it comes to working on a large project.

I was working with another Animation package on a big project that had many assets. All the assets where created according to the physical scale and built. The project had many scenes, I started organizing it by naming mesh and grouping them for easier selection and to have a better workflow.

Continue reading “Group mesh in Blender”

How to fix skewing problem when rotating geometry in Maya

Duplicating mesh to speed up the model creation process, but sometimes Maya does not like that.

The mesh might skew while transforming, rotating or scaling, which can be very time to consume to fix and deform the mesh to an unfixable state.

This tends to happen due to Maya miss-calculation of grouping.

To fix this select the mesh that is skewing, then go into the outliner and move the node to the top-level removing it from any group.

This will fix the issue and the mesh will transform, rotate and scale normally.

Have a question? Leave a comment below.

Select similar in Maya (Tutorial)

In component mode selecting similar vertices, edges and faces of a similar type to the current selection can be multiple steps and time-consuming.

Maya offers select similar, this tool selects the active component of similar type to the current selection, drastically reducing the number of steps.

This is commonly used when working on non-organic objects that have many similar face angles and areas.

Select Similar is located in Select > Similar

Thank for reading,

Stay tuned for more tutorials.

Have a question? Leave a comment below.

Rust on Mac

Rust is systems programming language gaining popularity due to its “safe, concurrent, practical language”, being memory safe while maintaining performance is the reason why so many people are adopting it as their systems language of choice, winning the first place for “most loved programming language” in the Stack Overflow Developer Survey in 2016 and 2017.

It is open source and sponsored by Mozilla Research. There are many interesting projects like Piston a modular game engine, you can find more project and packages on,

Install instructions.

Open Terminal and run these commands.

curl []( -sSf | sh
source $HOME/.cargo/env

Time to write some rust code.

fn main() 
    print!("Hello World!");
    print!("Rust coding day {}", 1); 

Rust file is saved by the extension .rs.

To compile this file, we need to execute it with Rust compiler.

The compiler is known as rustc in the command line.


Executing the file.


It will build instantly and create a binary executable as hello.

Running hello

If you have any question leave a comment below.

Filmic Blender on Mac

Filmic Blender is an OpenColorIO configuration based on ACES (Academy Color Encoding System

) color space which is currently the industry standard and great known for photorealistic render, I recently discovered that sRGB EOTF was never designed for rendering and CG.

Like always CGCookie has the great explanation on this subject, here is a video they published on YouTube, embedded below.

Now that we know what Filmic Blender is and what are the advantages of ACES. Its time to install it in Blender and use it for all of our renders from now.


Downloading it from GitHub

Downloading Filmic Blender

Unzip the archive that we just download.

Its time to get into the filesystem of Blender app located in the Application folder and do the required changes to install Filmic.

Renaming the “colormanagement” folder to “colormanagement_old” just to have a safe back up and now move the “filmic blender” folder and name it to “colormanagement”. This way the changes are applied on the next start.

You can find the settings to use “Filmic Blender” Scene tab in color management.

You can find Blender related content here, Constructive feedback related to content is always appreciated, feel free to leave a comment below.

The gifs used in the post are optimized for web, due to which the quality of render may from the actual product.

Playblast in Blender

Final render can be time-consuming and be taxing on the hardware, It is not recommended when you have to show mechanics or need a much quicker or instant render. An alternative to Final Render is Viewport render also known as Playblast amongst animators.

Viewport render is quick as it renders with OpenGL. It also gives an option to render parts that are never visible in the final render like empty(null object) letting animators display rig mechanics in their showreels and teammates.

In Blender the viewport render is known as “OpenGL Render”, it gives you two options the first is “OpenGL Render Image” that renders the viewport as still, the second one is “OpenGL Render Animation” which lets you render the animation.

To render a still, go to Render > OpenGL Render Image

You can also go into the viewport header and click on the shortcut instead of navigating all the way to the menu.

The default scene should look something like this.

By default, it renders the complete viewport it is similar to taking a screenshot.

Controlling the viewport render is quite simple, the settings are in the N-panel. Things like Ambient Occlusion and MatCap can also be assigned and it will be part of the viewport when executed. You can also disable displaying of certain elements like Empty by tick marking the “Only Render” switch.

A customized viewport render looks like this of the “default scene”.

How to create a sketch app in JavaScript using P5.JS

I have been learning P5.JS for a while now and though it would be nice to share the process and progress in form of a tutorial, which will motivate me to continue learning and give others access to it.

We will learn how to create a sketch app. I have kept it as basic as I can, this makes it easy to understand and quick to create.

To follow this tutorial you need to know basics of HTML and JavaScript.

Let’s start with What is P5.JS?

P5.JS is a javascript library based on Processing which was originally written in Java, for creating interactive applications, the reason to create such a framework was to make coding accessible for artists, educators, and beginners, over the years there have been many ports of this framework in different languages and P5 is one of them.

First, we need to get P5.JS(minified version), we are going with minified version because it contains the complete library in the smallest footprint possible.

Creating the bare-bone structure of the project

index.html lib/p5.min.js

We will then create run.js, this file will contain all the code we will be writing.

Our project should look something like this.

index.html lib/p5.min.js run.js

Time to write some HTML in the index.html file.

<meta charset="UTF-8">
<title>Sketch App</title>
    body {padding: 0; margin: 0;} canvas {vertical-align: top; border: 2px solid #000;}
<script type="text/javascript" src="lib/p5.min.js"></script>
<script type="text/javascript" src="run.js"></script>

As you can see above we have the p5.js library before run.js, since web browsers read code line by line it is important that the library is interpreted before run.js, otherwise all the code we have written will contain error because the web browser does not know what we are trying to do.

In P5.JS all the naming convention is followed based on what the function does and what it contains, this makes it easy to understand to a beginner.

It’s time to edit the run.js file.

The first function will be setup(). This will contain all the code that will initialize the program more like rules and instruction to follow.

function setup() { }

We will create the draw() function below setup(). The draw function will contain all the drawing tasks that will be running inside the canvas element that we will create in the next step.

function draw() { }

The code should look something like this.

function setup() { }

function draw() { }

Creating the canvas inside setup() using createCanvas() function.

The createCanvas() element takes two parameters, width, and height.

function setup() { 
    createCanvas(800, 800); // width, height 

If you open the web page you will see a white box with a size of 800 x 800 surrounded by a border of 2px.

You can change the background color using the background() function that takes one parameter.

function setup() { 
    createCanvas(800, 800); 
    background(85); // you can choose between 0 and 255. 

Let’s add some functionality to draw() which will make the magic happen.

function draw() { 
    if(mouseIsPressed) { 
    rect(mouseX, mouseY, 2,2) // X location, Y location, weight, height 

As you can see in the above code we have an if statement that has the mouseIsPressed function, this function checks if the mouse is pressed, using the if statement we are telling it to draw a rectangle with the rect() function on the X axis and Y while maintaining a width and height of 2px.

With the fill() function, we will make rect have its interior have white color.

function draw() { 
    if(mouseIsPressed) { 
        fill(255); / Choose between 0 to 255 rect(mouseX, mouseY, 5,5) // X location, Y location, weight, height 

We can remove the stroke around the rectangle by adding a noStroke() function, this will remove the stroke surrounding the rect we draw.

function draw() { if(mouseIsPressed) { 
        fill(255); // Choose between 0 to 255 noStroke(); 
        rect(mouseX, mouseY, 5,5) // X location, Y location, weight, height } 

The project is done. Good job!

The complete code in run.js should look like the snippet below.

function setup() { 
    createCanvas(800, 800); 
function draw() 
        if (mouseIsPressed) 
                rect(mouseX, mouseY, 5, 5); 

This is how the final version should look.

You can download the completed source code of this project from GitHub.

Happy Coding and Happy New Year.

Remove all installed Homebrew packages

Keeping your Mac clean can be a difficult task if you use Homebrew to install packages for development and testing purpose and without correctly installing the right packages, it may bloat your system, taking up unwanted storage space.

This one command will uninstall all the packages install through Homebrew.

brew remove --force $(brew list) --ignore-dependencies  

You can also run.

brew list -1 | xargs brew rm

To remove unused archives run.

brew cleanup  

To remove Cask packages

brew cask remove --force $(brew cask list)

If you have any question, leave a comment.

How to render wireframe in Maya

Rendering wireframes can be a great way to showcase your model or modeling skills, especially when you have to display renders of your work in a showreel or your portfolio.

A quick video on the entire process

Maya ships with Maya Vector renderer, which lets you render vector and also offers the option to render the wireframe, which means you can render wireframe of your model without having to use a third-party plugin or external renderer.

How to do it.

Go to the render settings window, by clicking the last icon.

Switch to Maya Vector from the renderer drop down menu.

Now the render settings window should look like this.

Go to the Edge Options.

Enable Include edges.

Now click on render, now you will get a similar to the image below.

The final output should look like this.

Thank you for reading.