This is a raw idea I have for uses of Artificial Intelligence. We can already see good results coming from computer-assisted creativity. Given a few inputs, the computer can generate a ton of useful iterations.Continue reading →
You know that sense of awe when you see inspiring work? The kind of feeling that makes you say “wow, I wish I could do that.” Seeing Ash Thorp, GMUNK and Joey Camacho’s CG work makes me feel that all the time. There’s so much thought that goes into their compositions and I wanted to see if I could emulate some of that using Blender. The following is a summary of what I’ve learned through experimenting with CG. You can also see the final results of what I made here. I hope this encourages you to have fun making your own crazy creations after reading!
It’s my opinion that you should always write tests for your source code. Tests force you to code better. Tests allow you to write dependable code, create better architecture, and help you live longer*. They also help you spot fussy APIs, opportunities for reuse, and redundancies.
That said. You don’t always have the time (or budget) to test everything to death! Not everyone sees the value in all those little green checkmarks. Life isn’t pedantic and heavy-handed. Life is a pack wild horses and sometimes you need to be the cowboy.
So, when do you push back? When do you say NO! We must write tests!
1. When you have the time.
There is no reason to skip out on writing tests if you have the time to write them. Why would you opt out of better code? Taking the extra time to make your code testable will turn average code into dependable code. Code that you know actually works is almost always better than new code.
2. When you’re making a data structure.
You cannot make a data structure without writing tests for it. Why would anyone trust a data structure that cannot prove it works?
Data structures must be tested. I don’t even know how you’d code a data structure without setting up a test harness first. You don’t know how your code will be used, so knowing that every little piece works as expected is necessary.
With tests, you’ll see the logic in breaking code into small pieces. Tests will make it easier to spot problems in your architecture.
Writing data structures against a test suite is the only way to do it right.
3. When you want community contributions.
Tests are the backbone of any open source project. They make sure that community contributions do not break the codebase. This allows fixes, changes, and optimizations to be made with certainty.
Your test suite becomes the hurdle that any contributor must clear. It’s not too much to ask for contributions that prove they work.
4. When you’re designing an API.
Starting with a test suite is a great way to design an API.
This allows you to work backward from your code interface instead of coding to it. This will let you design an API from the user’s perspective first.
5. When it is a dependency
Point blank. If other code needs to use this code, you must write a test for it.
The testable code will become part of an ever-expanding toolbox. Dependable toy soldiers who can be summoned to fight for you. Go! Test the world!
*There is no scientific data that shows writing tests will help you live longer.
WebGL can be a complicated and mysterious animal. While many people associate GL with 3D graphics, it is much more versatile than that. In this post we talk about getting set up to build your own shaders.Continue reading →
I’ve always had a complicated relationship with learning as a designer. It’s satisfying to gain new skills, but staying in my comfort zone feels so much easier. I want to push myself and get awesome results, but there’s an intimidating hurdle of not knowing how to start. The bottom of the learning curve is a scary hurdle to confront. 3D design had that hurdle stalling me from progressing. Dipping my toes into 3D modelling and quitting after a week was a common occurrence for years. There’s dozens of abandoned attempts sitting on my old hard drives. Something always prevented me from wanting to continue. Normals, modifiers, rendering — 3D felt too overwhelming and vast. I felt stumped. How do you get started learning something when you don’t even know what you don’t know?
Continue reading →
If someone asks me how I feel about the last 5 years since I dove into the world of design, I’d say “everyday I am thankful for the tough love that art school showed me”.
Continue reading →
Who We Are
gskinner is an award-winning digital studio in Edmonton, Alberta, Canada. We are a team of just under 20 talented, passionate professionals who get out of bed every day eager to work together and create innovative digital solutions which expand creative and technical boundaries.