CadBerry Devlog 1: Setting Things up

Cameron Kroll
2 min readOct 9, 2021

--

Photo by James Harrison on Unsplash

Gene editing is hard. We don’t understand how all the different genes work in the body, and we can’t fully predict how new genes will react with the rest of the genome. Last spring, I set out to make GIL, an almost programming language that would add a layer of abstraction to simplify genetic engineering. By the end of it, I had a program that let you define reusable bits of DNA, would automatically convert between amino acids and DNA optimized for your host organism, and could generate shRNAs to block genes for you. GIL had one huge drawback, though. GIL was pure text. There’s a lot of stuff (like designing ribozymes and proteins) where you need a visual interface to even begin to wrap your mind around what you’re doing (or at least I did 😁). Because of this, I’ve started work on CadBerry.

What is CadBerry?

CadBerry is my answer to this visual interface problem. I plan to make a gene editing IDE with everything GIL had, plus libraries, more ways to control which genes are transcribed (maybe even a CRISPR library), a CELLO implementation using C-style if statements instead of Verilog, and a ribozyme design editor. This is all extremely ambitious, so my current goal is to make a text editor which automatically compiles GIL files using a version of GIL written in C++.

My Progress

Since starting this project last week, I’ve made a bit of progress. I’ve been following The Cherno’s game engine tutorial to get rendering set up, and so far I’ve got a window showing up on the screen and I’m working on layers. The biggest difference with C++ compared to C# is the errors. In C#, if you reference an uninitialized variable, you’ll get a NullReferenceException. In C++, you’ll get a read access violation at address 0x50 from a function in std::atomic and it’s up to you to look at the call stack and figure out what caused the error. My goal for next week is to have the project creation screen set up, but who knows what’ll happen. Either way, see you then.

--

--

No responses yet