Introducing Bytes

2024-09-03

Introduction

Hey Team! šŸ‘‹

Been awhile; too long really! Life got in the way, but Iā€™m back and ready to do more streams and write more posts.

And today Iā€™m super excited to introduce one of the things that got be back and excited about making content again!

Today Iā€™m launching Byte Challenges, or Bytes for short! These are going to be short ā€˜gamesā€™, designed to test your programming and code review skills. We are launching with a ā€œBug Huntā€ but hope to have different formats in the future.

If you want to skip right to the game you can find the first Byte here! Be sure to checkout the leaderboard too, and see how you stack up.

Background and Concept

These challenges are using a platform one of my friends, Ali, is working on called, cookd! cookd as a platform currently focuses on code review and reviewing diffs. Itā€™s built as an interviewing tool, and it thats interesting to you definitely reach out to Ali, heā€™d love to give you a demo! But the interviewing angle isnā€™t as fun to me personally, Iā€™m here for the games!

Iā€™ve always said that one of the most important skills for a software developer working with a team, is the ability to read code well and provide code review to their teammates. As Iā€™ve become a more senior engineer Iā€™ve seen how good Pull Request reviews can be a tool to teach and mentor others. But the flip side to that is reading code and reviewing others work, is also a skill that needs practice to get better.

So when Ali reached out to show me cookd and itā€™s focus on Pull Request reviews, I knew he was onto something and I wanted to integrate it into my site!

The Birth of Bytes

Ali explained the platform to me, but it wasnā€™t until I was solving my first puzzle that I fell in love with the format.

We were on a video call chatting about what each of us had been up to recently, and Ali shared a link and told me to share me screen when I clicked on it. He wanted to see my live reaction to what weā€™d been cooking up, and I donā€™t think I disappointed him. The premise of the game was simple, he had taken a bit of open source code me and our mutual friend Seif had been working on and hidden a few bugs in it.

Ali wanted to get my take on the platform, and see what I thought of everything. But I was way too distracted by the puzzle to care about anything else, it was a perfect Nerd Snipe for me. Especially with the bit of gamification thrown in; the counter on the side telling me how many bugs I had left to find and the timer constantly ticking down were all I could pay attention to. I turned on my internal ā€˜streamer modeā€™, and started thinking out loud trying to track down the third and final bug that was hidden. I was instantly hooked and after I failed to find the third bug we chatted about how I could start building these on my own and even integrate them into my site!

We talked about the types of bug that I thought were good for this format, and the ones I thought were less fun and more annoying. For example that third bug that I was searching for, was a syntax error with the Rust turbo fish operator. The code read something like collect::Vec<i32>() when it should have been collect::<Vec<i32>>(), note the missing <> around the Vet<i32>. While that was a bug in the code, it wasnā€™t one I would expect a human reviewer to catch. Thatā€™s the compilers job after all!

Ali had been working on AI assisted tools to help create these games at scale, but I knew I was more interested in making hard crafted artisanal challenges for all of you, and with the Bytes were born!

Introducing Level 0-0

Today I am very excited to introduce to you all the first Byte challenge! The first few of these will be in Rust, but I plan to branch out to other languages soon. Reach out and let me know what languages and types of puzzles you are interested in seeing!

The first puzzle is titled Level 0-0 and I think its a great into to the platform and concept. It is in Rust, but I promise none of the bugs will be syntax errors, and I tried my best to make it pretty language agnostic as well. Even if you arenā€™t super familiar with Rust I encourage you to give this one a try, I think youā€™ll be surprised how approachable it is!

I donā€™t want to spoil too much about this puzzle, youā€™ll just have to play it for yourself!

You can try your Bug Hunting skills on this first challenge here: https://coreyja.com/bytes/level-0-0 And after youā€™ve given it your best shot, check out the Leaderboard to see how others have done!

Plans for ā€œBytesā€

The plan is to publish these one a week, on Mondayā€™s. (This one is coming out on Tuesday, because it was a US holiday yesterday and definitely not because I hadnā€™t written this post yet!)

On Mondayā€™s a new Byte will be released, and Iā€™ll spam it across my social media accounts!

To follow up on Fridayā€™s Iā€™ll post a video ā€˜wrap-upā€™ talking about this weeks challenge, and showing the answers. For the oneā€™s my friends write, Iā€™ll do a live attempt at trying to solve it myself as part of the wrap-up!

If you canā€™t wait till Friday to get the solution, consider sponsoring my work on Github Sponsors and youā€™ll get private access to the solution video as soon as the challenges come out on Monday.

The leaderboards will based on the honor system. If youā€™ve watched the solution videos, please donā€™t go solve the challenge to get a perfect score on the leaderboard. Donā€™t be the reason I need to implement safe guards to keep this fun for everyone!

Call to Action

And this is the part of the blog where I kinda want you to click away.

To try this first challenge click here: https://coreyja.com/bytes/level-0-0

Or to view the leaderboards head over here:https://coreyja.com/bytes/level-0-0/leaderboard

If you want to sponsor my check out my Github Sponsors Profile: https://github.com/sponsors/coreyja

And if you have feedback reach out! You can join my Discord sever and we can chat live: https://coreyja.club

Or you can send me an email or send a toot via one of my social media channels. Iā€™ll be most active on Mastodon, but will do my best to respond on all platforms! https://toot.cat/@coreyja

And donā€™t forget to come back for the wrap-up video this Friday! If you want to be notified for each future Byte challenge, consider subscribing to my newsletter and each new challenge will land right in your inbox every Monday morning!

Iā€™m really excited to see what you all think about these challenges! Please do reach out and share your thoughts.

In the meantime, Iā€™m doing to be watching the leaderboard to see how everyone does! Good luck!

coreyja weekly

My weekly newsletter tailored at developers who are eager to grow with me!
Every week will be unique, but expect topics focusing around Web Development and Rust