I’m a big fan of financial literacy lately. Partly because I have no idea what I’m doing most of the time, and writing things down gives me a reference point to look back upon later. Here’s a great reference point to start off:

  1. Fresh out of college at 22 years old, with a computer science degree and a software engineering job.
  2. Dabbling in a few personal interests that haven’t been fully cultivated yet.
  3. Experiencing the realities of a pandemic in the modern world.

The last point especially has given me a bit more free time to sit and think about a few things, including my current financial position. More specifically, the different streams of income I currently have, how much income I generate from them, and the potential of each source to grow. I’ve never written about it before, and I’m sure to lose track of some details as my life situation changes. …


I’ve spent the better part of two years trying to figure this out. This isn’t an exaggeration; I really have! It’s not hard to construct a basketball league composed of teams composed of players that have different skills and abilities. It’s a bit harder but more interesting to design a scheduling system to organize all the games played between teams in the league.

But when it comes to actually playing the damn games, that’s where I hit a real roadblock. Until today, of course. As part of my basketball game development journey, I have to construct a system to simulate basketball games. …


As of November of 2019, I changed the course of my life, and my family’s life forever. But, as I sit here in this slightly dim room on a cloudy Thursday morning in January, I still don’t fully comprehend the changing realities of my situation.

Image for post
Image for post
Photo by Ravi Roshan on Unsplash

I had accepted a job offer for after graduation. An offer with a salary that will place me in the top ten percent of individual income earners in the United States. A job doing what I love, in the same city I’ve grown up and lived in my entire life.

This was the culmination of a computer science major, sleepless nights, the power of belief, and countless other factors I can’t recall at the moment. Am I excited? Yes. Am I scared? Not quite. Do I know what to do next? …


NOTE: I made a Youtube video about this if anyone prefers to watch rather than read.

Ever since I learned about iOS app development in 2014, I grew interested in the prospects of creating my own mobile app. My dream of creating the next Flappy Bird or Fruit Ninja, and showering in millions of dollars in revenue turned out to be much harder than I thought. Creating mobile apps, especially by yourself, can one of the hardest things in the world. Especially if you want the apps to actually be useable.

I currently own a decent portfolio of apps, and most of them suck. I mean ‘suck’ in the sense that most have some serious flaws and just look like virtual Play-Doh. But enough of my mediocre app development journey (at least in this article!). …


Ads. There’s a profitable way to do them, and there’s a respectful way to do them. Why not go both ways?

I like making iOS apps. This has been a side hobby of mine since the Swift programming language came out in 2014, and made iOS development a lot easier for beginners. I’ve made a few terrible apps that will never see the light of day, and a few that are currently available on the App Store. Along the way, I’ve learned countless things about making mobile applications. Going from idea to execution, making MVPs to test the waters, learning about marketing/promotion, and becoming conscious about user data and privacy. …


Here are a few of the things I would tell my 2015 self.

1. Asking questions is fine.

I know we probably hear this piece of advice all the time, everywhere. But it’s so hard to truly understand this, until you’ve struggled with something for a whole day, ask someone for help, and watch them perform magic in a few seconds.

On one side, we hear all the time that while questions are welcome, you should never ask the same question twice, and you should remember the answer. This is true, but you might take this in a different way.

Image for post
Image for post
Photo by Jose A.Thompson on Unsplash

“I should be that one intern who rarely asks about anything, but always remembers everything they’re told.”


We’re back with another post! We’re still on the road to building an amazing basketball game. I welcome you back if you’ve read my previous posts, and thank you if you’re reading for the first time. I embarked upon this journey in mid-January with my first post on creating a basketball simulation iOS app. Please check it out if you’d like to learn more about the motivation and starting design for the project! For this post, I’d like to revisit our initial template for our basketball Player and see if we can build a more fully fleshed out representation.

The Current Player Class, and Why We Should Improve It

Here’s what our first version of the player class currently is. …


This is a written version of a Youtube video I did on this question. If you would like to see the video (along with some mediocre gameplay, please check it out!

I want to talk about the current state of the gaming world. Specifically, on the topic of multiplayer games and features.

Now, I should preface this by saying that I am primarily a PS4 gamer, and most of my perspective would be tailored towards that of a console player. That means I have nothing to say on DOTA, League of Legends or any of the other massively popular games exclusively on PC. Actually, my catalog of gaming titles is pretty small nowadays. …


You can’t have a basketball league without the players, teams and a ten-foot hoop. But, we also need a way to organize all the games being played! Crafting an effective game scheduler is a central concept in any sports league, and we’re going to build one today.

A quick note.

This post is a continuation of my basketball simulation Swift app, of which I have written about previously. You can find the first post here. Rather than arbitrarily deciding how much progress should warrant a blog post, I’m organizing these posts a bit differently. Basically, I’ll center a post around a single core feature, and the related methods/classes/files needed to support that feature. This way should be much clearer, and can hopefully help people in the future who want to build similar features of their own. Now, let’s get started.

What is an NBA Season Scheduler?

Let’s provide some quick context for this feature, and why we need it to build a basketball simulation. Looking at the National Basketball Association, it is a league composed of 30 teams. The league is in session for a set period of time every year, or a season. Each team plays a total of 82 games, and they only play during this season. That seems simple enough, but then how do we decide which team plays who? This is where a scheduler comes in to organize this whole affair, according to a set list of requirements agreed upon by the league officials. …


Let’s keep building basketball.

Welcome back to the basketball app project. You can catch up on Part 1 here.

If you remember where we left off last time, we had successfully created Player, Team, and Game classes which were used to simulate a basketball games. Games consisted on a series of possessions by both teams, where they had a chance to score. We’re able to play some matches and receive a final box score:

Image for post
Image for post

But, there’s still a lot of work to do. Here are some questions that came to my mind afterwards:

  1. Can we personalize our teams with names? …

Oluwatobi Popoola

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store