| CARVIEW |
Puzzle Designer · Software Developer · Public Speaker
About Me
Hey! I'm Braden, and I love to make things. Working in C++ Development, with a Mechanical Engineering degree. Come take a look around and check out my projects!
All my puzzles and mechanical toys are available for purchase. If you like my work and you want something unique, I do commissions for a fee.
Contact me if you are interested in producing my designs or for any inquiries.
Contact Me
Email: braden@ganets.ky
CaTSuP
The CaTSuP is the first ever corner-turning square pyramid, which is where the name comes from. Arguably, this puzzle only has 12 pieces that can be scrambed, but it's very difficult to solve, if you're up for the challenge.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Chewie's Custom Puzzles
ComboCopter Plus
The ComboCopter Plus is a hybrid puzzle of a 2x2x2 cube and a Curvy Copter Plus. Even though this puzzle can get into some pretty crazy shapes, it turns surprisingly well.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Grigorusha
Oct Gears
The Oct Gears is not actually a puzzle, but it's a lot of fun to play with. This was an exercise in designing conical gears patterned around a sphere completely from scratch. It's a more expensive fidget toy.
- Video: Youtube
- More info: Forum
- Purchase: Request to purchase
Penta Mixup
The Penta Mixup is what happens when you take the idea of a Mixup Cube and apply it onto a Pentagonal Prism. Pieces get switched in unexpected ways! This is the 1st puzzle in the "Penta Mixup" series of puzzles.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Weird Skewb
The Weird Skewb is like a regular Skewb, except two corner pieces can be swapped. Most people who try a regular Skewb imagine swapping the corners, and this puzzle makes it a reality!
- Video: Youtube
- More info: Museum, Forum
- Purchase: Grigorusha
Persistence of Mastery
The Persistence of Mastery (aka "POM4") is the result of doing an axis transformation on a Crazy 4x4x4 II. After only a few turns, the shape gets extremely confusing, and the solve experience is anything but straightforward!
- Video: Youtube
- More info: Museum, Forum
- Purchase: Grigorusha
Minimal CaTSuP
The Minimal CaTSuP is inspired by Oskar's "Minimal" series of puzzles, but this time done to the CaTSuP. Like the CaTSuP, this puzzle has few pieces but is deceptively difficult to solve!
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Deranged Dark Matter
The Deranged Dark Matter is similar to the Crazy Comet, but with the concept applied to the deltoidal icositetrahedron shape. This puzzle was featured in the Puzzle Advent Calendar in its inaugural year of 2018.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Psycho Psatellite
The Psycho Psatellite is similar to the Crazy Comet, but with the concept applied to the pentagonal icositetrahedron shape. The puzzle can be assembled in the left-handed or right-handed variant, using the exact same pieces!
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Rhombdo Copter Plus
The Rhombdo Copter Plus is similar to the Curvy Copter Plus, but with the concept applied to the rhombic dodecahedron. It is mechanically identical to the Deranged Dark Matter, and was featured in the Puzzle Advent Calendar in 2019.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Chewie's Custom Puzzles
Rhombdo Copter
The Rhombdo Copter is similar to the Curvy Copter, but with the concept applied to the rhombic dodecahedron. It is exactly the same as the Rhombdo Copter Plus with some pieces fused together, so it is a simpler puzzle.
- Video: Youtube
- More info: Museum
- Purchase: Chewie's Custom Puzzles
Penta Mixup Wall
The Penta Mixup Wall is what happens when the regular Penta Mixup is cut deeper, so it looks like a Penta Nova. Featured in the Puzzle Advent Calendar in 2020, it is the 2nd puzzle in the "Penta Mixup" series.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Penta Mixup Gimmick
The Penta Mixup Gimmick is what happens when the regular Penta Mixup is cut shallower, with a nod to the name of the 3 Layer Gimmick because of its simplicity. Featured in the Puzzle Advent Calendar in 2021, it is the 3rd puzzle in the "Penta Mixup" series.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Penta Mixup Plus
The Penta Mixup Plus is like the regular Penta Mixup except the equaltorial faces can be turned by 90 degrees. It is similar to Oskar's Illegal Cube but it's more restrictive with no fudging* of the geometry. Featured in the Puzzle Advent Calendar in 2022, it is the 4th puzzle in the "Penta Mixup" series.
*Technical term, seriously
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Excavated Crystal
The Excavated Crystal is an edges-only Pyraminx Crystal, inspired by the shape of the Excavated Dodecahedron and the puzzle Alexander's Star. This puzzle is featured in the Puzzle Advent Calendar in 2023.
- Video: Youtube
- More info: Museum, Forum
- Purchase: Request to purchase
Bevel Star Remake
The Bevel Star is an edges-only Helicopter Cube, inspired by the shape of the second stellation of the rhombic dodecahedron and the puzzle Alexander's Star. I made this puzzle before knowing it had already been created by another creator, hence "remake". This puzzle is featured in the Puzzle Advent Calendar in 2024.
- Video: Youtube
- More info: Museum
- Purchase: Request to purchase
Finding My First Compiler Bug
As my first technical talk, I wanted to talk about another first: Finding my first C++ compiler bug. This C++Now 2023 lightning talk shows a peculiar MSVC bug where data is available at compile time, but is zeroed out at run time. It showcases my "tok3n" parser combinator library.
- Video: Youtube
Describing Describe
This online talk shows the things you can do with the Boost.Describe library, an amazing C++ library that gives you static reflection with minimal syntax overhead. See how you can use Describe in your code today! (official docs)
- Video: Youtube
Help! My Expression Template Type Names are Too Long!
Even the name of this talk is too long! If we're ever working with expression templates, we can easily make type names long enough to slow down compilation time. Suddenly our "zero-overhead" expression templates start giving a large compile time overhead. I'll show off a C++20 trick to fix this problem.
- Video: Youtube
"Bask3twork": Procedurally Generating Symmetric Celtic Knots
"Bask3twork" is a program that procedurally generates Celtic knots in a square grid using any subset of D4 symmetry, that of a square, including no symmetry at all. The secret? A font! The font's glyphs can be mixed, matched, and assembled to your heart's content. However, instead of creating Celtic knots manually, we can sit back and watch Bask3twork generate infinite possibilities.
- Video: Youtube
Unit Testing an Expression Template Library in C++20
Expression templates are one of the wonders that set C++ apart from all other programming languages. Using just the C++ type system, we can store arbitrary information in a type, giving us a way to calculate anything at compile-time. As years have gone by, we now have new ways of expressing compile-time computation, removing the need for relics of the past like expression templates. However, for some of us, expression templates remain a fascination, bordering on obsession. Regardless of the paradigm, unit testing code at compile-time is no trivial matter. In very rare cases, a compiler's output can vary between compile-time and run-time, given identical source code. Therefore, in order to properly unit test a library meant for compile-time computation, we must run compile-time tests. This talk will use an expression template parser combinator library as a case study to delve into the world of compile-time testing. Triggering a conditional miscompile is easy, but we all know that C++ compiler output can get notoriously unruly upon hitting errors. Therefore, we will explore ways to attain as much readability as possible in our diagnostics and error messages. Throughout the talk, we will contrast the popular unit testing libraries' solutions to compile-time testing, and we will learn which features are left to be desired. We will push the language to its limits to achieve the most user-friendly error messages we can get, while looking back on how far C++ has come in terms of compile-time programming. Ultimately, we will end up where all C++ users eventually stand: wanting more features out of the language. We will end with a roadmap of sorts, showing which future versions of C++ are slated to render our compile-time testing much simpler and more expressive than we can achieve today, and which desired features have yet to commence the standardization pipeline.
- Video: Youtube
Python Puzzle Simulator
I made a puzzle simulator with the Pygame library in 2017/2018, complete with from-scratch 3D graphics, turning animations, and custom puzzles. It is very simple to use, but specifying a new puzzle file is a pain. I am slowly working on a new simulator in C++ with more lenient rules on which puzzles can be simulated.
Curves.h
After my puzzle simulator in Pygame, I started working on my new puzzle simulator in C++. I wanted to mathematically represent a sticker's non-polygonal edge as its true intended shape instead of storing it as a long list of very small straight lines. I wrote this paper to document the math on how to parametrize these curves uniformly.
This is the first step in making my vision of this simulator into a reality!
- Source: Working on it
- Version: 1.0
bask3twork
bask3twork is an application made using wxWidgets and Daniel Isdell's Celtic Knot Font, to randomly generate Celtic knots. It is still in its early stage with more features being added soon. Portions of the knot can be edited and locked for editing, so you can make it exactly how you want!
tok3n
tok3n is a C++ library full of parser combinators, with the aim of creating custom parsers with simple syntax. This library is usable in C++20 and above. Examples can be found in the GitHub repo.
- Source: GitHub