Day 1 IT IS
Day 1 - yaaayyy, at least I’ve started I guess
Woke up pretty early today and kicked things off with a small ritual I’ve been trying to stick to. Nothing fancy - just something to ground me before diving into the day.
Started the morning with a couple of Leetcode problems. I’m deep in the Graphs section right now and today was all about Topological Sort. Solved a few problems around that, especially the Course Scheduler problem - did it both using BFS and DFS approaches. That felt pretty solid.
Right now, the goal is consistency. Just trying to get to a point where these things feel like muscle memory.
I also spun up a cloud compute instance - used the free-tier option with an Ubuntu image. SSH’d into it, practiced some Linux commands, then shut it down.
It’s a small start, but I have a plan for how I want to use it. Let’s see where that goes.
During my bus ride, I watched a video on Hybrid Cloud Architectures and how Confluent handles Cluster Linking without relying on tools like MirrorMaker 2. That was interesting.
Also touched on replication patterns — just high-level stuff for now, but it’s starting to click.
There was this random but funny analogy they used:
Trying to drink soup with a spoon - pain to clean.
Switched to a fork — less mess, still bad.
Eventually just drank directly from the bowl.
LMAO.
We’ve all been there in one form or another.
Had my TA work today for Introduction to Software Engineering. I’m the Lecture TA for this term.
Today’s lecture went into Intellectual Property (IP) and some pretty fascinating case studies:
Reggie Brown vs Snapchat:
Brown came up with the original idea and claimed there was a verbal agreement.
Snapchat argued that ideas alone aren’t enough.
Legally, Snapchat won, though it was eventually settled. Wild stuff.Licensing — here’s what I gathered:
- MIT/MPL: Just needs attribution.
- GPL / LGPL / MPL: Each has different levels of openness and restrictions.
The Amazon Elasticsearch licensing mess also came up.
And Google vs Oracle over Java: Learned something crazy, so APIs are considered uncopyrightable.
So while you can’t copy the actual source code, you can write your own implementation of the same idea. I was like, damnnnn!
Honestly, TAing this course is teaching me as much as I’m helping others. Very Grateful to the instructor for many reasons.
Later, I applied to a bunch of jobs. Fingers crossed. Trusting God!
Got my 30 minutes of reading in from DDIA (Designing Data-Intensive Applications).
Trying to make this a daily thing and doing weekly discussions with my friends to keep it in my brain.
Fun Fact: The term “NoSQL” was actually a hashtag that became popular on Twitter and then people just stuck to it. It actually means Not only SQL, lol
Finished my college work and headed back home. Closed the day by learning the basics of Java multithreading. Here’s what I covered:
Core Concepts
- What concurrency and multithreading actually are
- Difference between:
- Program
- Process
- Thread
- Multitasking
- Multithreading
- Also got into Time Slicing and Context Switching
In Java, you can create threads using either the Thread
class or the Runnable
interface.
Example
Thread t1 = new Thread();
.join(); // Main thread waits until t1 finishes t1
Thread Lifecycle
- NEW
- RUNNABLE
- RUNNING
- WAITING / BLOCKED
- TERMINATED
- TIMED_WAITING
Thread Methods
start()
sleep()
run()
join()
setPriority()
interrupt()
yield()
— * This provides a hint to scheduler to pause, but it can ignore it*
All in all, a real, and productive day, I guess.
It feels good to be learning and building momentum.
Let’s just keep doing this.