Grinding leetcode is inefficient. What you should be doing is familiarizing yourself with the common patterns you might expect to see in an interview. Look at the blind 75 and https://seanprashad.com/leetcode-patterns/.
Initially, you don’t need to solve any of the problems from scratch. Look up the problem on YouTube and someone will walk you through it. This will build your intuition of when to reach for a heap or for a DP array or when to do BFS, etc. If you don’t know these, then watch another video explaining the concepts. These videos are often 10-15 minutes so with a 30 minute time commitment a day you potentially can get through 3 a day, getting you through the complete blind 75 (more than enough) in less than a month or 1 of each of SP’s 22 patterns in a couple of weeks.
The great thing is you don’t need dedicated time for this approach, you can often start a video while tackling laundry or doing some dishes.
Then, start putting these into practice but spend no more than 10-15 minutes on the problem. If you can’t solve it, go watch the video again. There are so many times where you can have the right approach but make a stupid mistake that will cause you to flounder and you can pick up a better way of doing it. Eventually you will be solving these in 10-15 minutes and the time commitment will have remained at a minimum.
After this, find a new job that is only 40 hours a week and voila you’ve just opened up 10-20 hours for personal projects.
OP - and HN readers in general - please consider not submitting the first article you find on an interesting topic. Follow the links back and submit the best version you can find. You do not owe the clickbait outlet any sort of reward just because they promoted a bit of interesting news onto your radar. If there weren't so much clickbait, quality news would stand out much more easily.
Science writers, maybe you want to inform the public by making information simple and accessible to a general audience. That's good. But if you just give them factoids and don't include any scientific reasoning (like a comparison to the baseline, or noting the absence of one) then you're just selling sugary snacks that are not really very nutritious.
It's one of my smorgasbord search engines run from a script (which
collectively do so much better than Google or any of the legacy
"big-tech" engines)
Why it matters
One of the great American philosophical orators, Rick Roderick (a
Texan cowboy philosopher and academic twin of Bill Hicks), spoke about
the importance of "the margins":
Rick notices that in history certain people do not get a voice;
Women. The Poor. Old and young people. The "mad" and disabled. Race
minorities within any group. Thinkers more than a decade ahead of
their time.
There's even a thing called "marginal analysis" in hermeneutics - not
the economic concept - the analysis of things that have been left out
of history, and why, and by whom (victors writing and re-writing
history etc). Erasure leaves a trace that tells its own tale.
These things have become the grist of social justice today (with all
it's positive and negative sides). But "injustice" is not really
Roderick's point. It hardly needs mentioning that most people get a
bad deal, don't get heard, and their lives fade into obscure
irrelevance.
What matters is the enormous value and importance of marginal
contributions. These are lost. Almost every great discovery, it turns
out on deeper analysis, was made by an (or often, simultaneously
several) obscure nobody years earlier, who didn't provide a recognised
proof in the right journal, or didn't patent the thing. In Plato and
Shakespeare, Roderick says, "It is always the fool who delivers the
important news". Things don't start at the center, they begin on the
margins and diffuse in until they find legitimacy in an acceptable
voice.
A marginal search engine engine is, almost by definition, acting
counter to the status quo, as the Internet Archive stands in
opposition to fickle entropy of bitrot and ephemeral culture.
I work on code bases with millions of lines, so I wrote a tool called Septum to help me (https://github.com/pyjarrett/septum/). This isn't to replace grep or ripgrep or silver searcher, those are all great tools you should have!
Septum is neighborhood based (context-based) search, so you can find contiguous groups of lines which contain specific things, but exclude other things. It's also interactive so you can add/remove filters as needed. This makes it useful for those cases where terms change based on their context so you can exclude terms related to the contexts you don't want to keep. It reads .septum/config which contains its normal commands to load directories and settings, so you can have different configs per project you're working on.
I highly recommend Kurose/Ross' Computer Networking book for a place to start. As the title suggests, it's a "top down approach" starting at the application layer, so if you're familiar with application network programming (and especially HTTP) you can probably skip the early parts of the book. It then details routing protocols, of which there are 2 major kinds: interior routing protocols (RIP, OSPF, EIGRP, iBGP, et al) and exterior routing protocols (eBGP). The former is for routing within your "autonomous system", the latter is for routing between autonomous systems.
I work with a shoemaker and I've commissioned a few bespoke sneakers (trainers as we call them here) in the past. He comes up with new designs from scratch, and I made suggestions and ask for changes based on my taste.
Usually I browse online shops for inspiration, but I'm curious about whether this service can produce original designs sensible enough to, at least, be the base of a new shoe.
The Honor System hasn't broken down. The problem is poorly applied technology that allows a small number of security breakdowns to be amplified. The occasional bad apple has always existed, but current technology allows a miscreant to reign havoc on a global population.
In a previous age, human activity was siloed out of necessity. The affects of a security breakdown were thus localized to a small population.
Technology allows business and government to save a few pennies by aggregating all the little silos into a few gigantic pools. One break in, and millions pay the price.
Initially, you don’t need to solve any of the problems from scratch. Look up the problem on YouTube and someone will walk you through it. This will build your intuition of when to reach for a heap or for a DP array or when to do BFS, etc. If you don’t know these, then watch another video explaining the concepts. These videos are often 10-15 minutes so with a 30 minute time commitment a day you potentially can get through 3 a day, getting you through the complete blind 75 (more than enough) in less than a month or 1 of each of SP’s 22 patterns in a couple of weeks.
The great thing is you don’t need dedicated time for this approach, you can often start a video while tackling laundry or doing some dishes.
Then, start putting these into practice but spend no more than 10-15 minutes on the problem. If you can’t solve it, go watch the video again. There are so many times where you can have the right approach but make a stupid mistake that will cause you to flounder and you can pick up a better way of doing it. Eventually you will be solving these in 10-15 minutes and the time commitment will have remained at a minimum.
After this, find a new job that is only 40 hours a week and voila you’ve just opened up 10-20 hours for personal projects.