“Juicebox in the words of” is a series that highlights JB community members in interview form. Learn about members’ roles at JB and what makes them tick.
0XBA5ED is a dev warrior. Legend has it that a simulated sword stuck in a giant bug was found in some code once. Many people had tried to figure out how to remove the sword, but the bug was impenetrable. The strongest devs of the land spent hours trying to solve this task, when 0XBA5ED was walking by to check what all the commotion was about. “There’s a sword stuck in this bug,” they told him. He had a few minutes time in his lunch break so he went over. With a few deft strokes of his fingers, the sword was effortlessly removed. Since that day, he has been on a tear, ripping through lines of code like a number of similes that I will refrain from making. Here’s his story.
So tell me your Juicebox origin story and what appealed to you about JB?
Sure! I used to freelance, and I worked for a company that wanted to set up some sort of DAO, and so I was doing some research for them and I stumbled upon JB. I immediately was captivated by the art— that was the first thing that really popped out— because I don’t know any other project that had this type of art and style.
That really spoke to me. And then, when I was going over the website, and I saw that there were no VC backers, and it was all done by a DAO that was running on the platform itself, which I thought was very cool. So it always stuck out to me. The company I was working for didn’t end up wanting to create a DAO, but I just couldn’t forget about JB.
So when the time came that I stopped working for the company, I thought I would jump into JB and join the community.
Very kewl. You’re a dev in solidity, how is that going?
I’ve been doing it for something like 2-3 years. I used to be a lead back-end engineer before that, for about five years.
Do you enjoy it?
I really do. It feels like working on cutting edge stuff. A lot of things are very easy and people just haven’t thought of building it yet, so it feels like there’s still a lot of room to grow.
The pressure strikes me as insane. Antithetical to coding, where one constantly updates code as bugs emerge. Not in solidity, right? That seems frightening— how do you deal with it? Do you feel the pressure?
You definitely feel the pressure. At some point you kind of get over it. But especially the first few contracts you write, it’s hard to calm down at night. The first few nights after after deploying something I used to struggle— I would think, “Did I think about fixing this or that thing?” And the next morning I’d check and go over all the code again and calm myself down. It’s a struggle for sure.
Almost like a recipe for OCD. I’ll bet you’re constantly second-guessing.
Does that still happen now?
It’s getting better, but I do still— sometimes out of nowhere— think “shit, did I fix that, did I leave a bug there?” Because then I have to go back and check right then and there, no matter where I am. So it’s not uncommon for me to check github when I’m in a store, just to check to make sure I remembered something specific that I needed to double check or fix.
Once it’s deployed, there’s not much you can do— so what’s the purpose of checking?
Sometimes, for example, if there is a big exploit, you might be able to exploit it yourself before anyone else can so you can save the funds— a white-hat hack basically. In some cases you can also upgrade somethings. For example in JB we can patch bugs live by having users upgrade themselves. Sometimes a bug can’t be exploited out of nowhere; it must be a specific scenario, so in those examples you can have users upgrade without ever experiencing the bug.
Have you ever caught your own exploit/white-hat hacked it?
I don’t think so, but that’s just because usually I am very near OCD about my contracts. I remember the last contract I fully wrote before I joined JB. I think I spent two weeks writing the code, and then 4 weeks testing, and another 2 weeks just going over it over and over again. And even then, I found an exploit a week after I deployed, but it was fortunately a very minor thing (more of an oversight).
Since the coding procedure/methodology is so different, how was it for you as a traditional back-end engineer adjusting to Solidity?
Initially, when you start in Solidity, it feels quite easy; you very quickly build confidence in your ability to code. But after a while, then you start to realize you don’t actually know what you’re doing, because there’s all kinds of exploits that can happen. That’s when the frightening part begins. There are a lot of very subtle differences between doing solidity and other dev work that make a big difference, especially if you’re almost forcing yourself to never write any bugs in your code. But I do also kind of appreciate that. I am a bit of a perfectionist in that even when I write normal back-end stuff I want to keep it as clean as possible. It’s a bit more of an extreme version of writing code.
In terms of your future, do you see yourself a Solidity dev down the line?
That’s difficult. I do think I would still enjoy writing solidity, but I don’t think I will still be writing solidity, just because of how fast everything moves. I’m sure another language will come, and we’ll have no clue what will happen.
Who your favorite contributor, and why is it peri?
Well, peri is one of the OGs, along with jango. Like I said before, the first thing that really struck me was the website and all the art. So yeah, credit to peri, he’s to thank for that. And Sage too, as the creator of Banny.
What’s something that people might be surprised to learn about you?
Hmm. I really can’t think of much. I’m pretty boring.
You’re working on the cutting edge man! Come on!
My entire life revolves around solidity. I guess that might be interesting to other solidity devs, but my life is consumed by it. So the rest of my life is really really boring.
Got it, I’ll take your word for it. Thank you 0XBA5ED!