ThePolymathicEng

284 posts

ThePolymathicEng banner
ThePolymathicEng

ThePolymathicEng

@EngPolymathic

Official account of the Polymathic Engineer newsletter, written by @franc0fernand0. Algorithms, distributed systems, and software engineering. Subscribe here:

Bergabung Kasım 2023
7 Mengikuti5K Pengikut
ThePolymathicEng
ThePolymathicEng@EngPolymathic·
The 164th issue of the Polymathic Engineer is out. This week, we talk about recursion: - When to use it - base case and recursive step - how to return results - tracing recursive code - time/space complexity - the six recursive patterns Link: newsletter.francofernando.com/p/mastering-re…
ThePolymathicEng tweet media
English
0
7
47
23.5K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
Recursion is one of those topics that many software engineers struggle with: - they know the textbook definition (a function that calls itself) -they have seen the Fibonacci example multiple times But when they are asked to solve a recursive problem in an interview, something doesn't work. The problem is that they don't have the correct mental models. It took me a while to figure this out. When someone explained it to me, I was able to follow recursive code, but writing it from scratch often felt like a guessing game. The turning point came when I stopped thinking of recursion as an isolated technique and began to see it as a set of patterns, each with its own structure. But to grasp the patterns, there are some basic concepts you need to have crystal clear: - base case and recursive step - how to return results from recursive functions - how to trace any recursive code (even when you're lost) - time and space complexity for recursion I explained all of them on @EngPolymathic in the article below:
ThePolymathicEng@EngPolymathic

The 164th issue of the Polymathic Engineer is out. This week, we talk about recursion: - When to use it - base case and recursive step - how to return results - tracing recursive code - time/space complexity - the six recursive patterns Link: newsletter.francofernando.com/p/mastering-re…

English
6
28
254
22.3K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
There is a reason why Algorithms and Data Structures are hard for many software engineers. It's not because they're not capable, but they simply miss a lot of pre-requisite knowledge. If you want to learn dsa from first principles, read these 16 articles (links below):
Fernando tweet media
English
17
277
1.8K
85.3K
ThePolymathicEng
ThePolymathicEng@EngPolymathic·
The 163rd issue of the Polymathic Engineer is out. This week, we discuss about concurrent programming: - Processes - Threads - Processes vs Threads - Interprocess Communication - Message-Passing Mechanisms - The Thread Pool Pattern Read it here: newsletter.francofernando.com/p/the-building…
ThePolymathicEng tweet media
English
0
8
56
23K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
Concurrent programming is tough, and knowing how the pieces fit together makes a big difference: - processes give you isolation - threads give you speed - IPC mechanisms let them work together Whether you use shared memory, pipes, message queues, or sockets depends on how much isolation you need, how fast communication has to be, and whether your system runs on one machine or many. At their core, processes and threads are just abstractions. At some point, they must be mapped to the physical devices that execute the code. The operating system handles this for you. Its role is to make the best use of the available hardware as possible, but it is not a magical box. Still, programmers need to organize their work in a way that helps the operating system use hardware in the best way possible. You can read in details about processes, threads, and how they communicate in the latest issue of @EngPolymathic
ThePolymathicEng@EngPolymathic

The 163rd issue of the Polymathic Engineer is out. This week, we discuss about concurrent programming: - Processes - Threads - Processes vs Threads - Interprocess Communication - Message-Passing Mechanisms - The Thread Pool Pattern Read it here: newsletter.francofernando.com/p/the-building…

English
4
28
279
21.5K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
If you're a software engineer who wants to upskill in system design, read these 14 articles (links below):
Fernando tweet media
English
43
802
6.2K
393.9K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
If you want to get started with computer vision, OpenCV is the tool you should look at. This open-source library has been around for a long time. It can be used to make a lot of cool apps, such as face detection, object tracking, and augmented reality. But before you can do anything interesting, you need to know the basics: how images are stored in memory, how to read and write them, and how to display results to users. For example, you can see that pictures are just NumPy arrays and learn how to load and save them with imread and imwrite. You can also learn how to use VideoCapture and VideoWriter to work with video files and camera input, as well as OpenCV's windowing system to show results and take user input. I covered a lot of basic OpenCV ground in the latest issue of the @EngPolymathic Read it for free:
ThePolymathicEng@EngPolymathic

The 172nd issue of the Polymathic Engineer is out. This week, we have an intro look at OpenCV: - How Images Are Represented in Memory - Reading and Writing Images - Working with Video and Camera Input - Displaying Results and Handling User Input Link: newsletter.francofernando.com/p/getting-star…

English
1
4
19
2.7K
ThePolymathicEng
ThePolymathicEng@EngPolymathic·
The 172nd issue of the Polymathic Engineer is out. This week, we have an intro look at OpenCV: - How Images Are Represented in Memory - Reading and Writing Images - Working with Video and Camera Input - Displaying Results and Handling User Input Link: newsletter.francofernando.com/p/getting-star…
ThePolymathicEng tweet media
English
0
0
4
2.9K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
If you are a junior dev wondering whether it's worth learning Linux, I can tell you right away that it is. If you work in software development, you'll find yourself in a Linux environment at some point. Being familiar with it will help you out a lot. Get used to the command line, the file system (which is very different from Windows, but once you get it, it's very easy to use), and some other simple features. You don't need to be an expert. It might also be a good idea to take some time to learn how it handles users and permissions. You don't even need to try to make it your exclusive operating system right now. I know this will upset many purists, but you can just install WSL on a Windows machine. That will give you an entire Linux OS running on top of Windows. Linux has its own file system, but you can view all of your Windows files from it and run programs from there.
English
7
13
95
6.9K
ThePolymathicEng me-retweet
Fernando
Fernando@Franc0Fernand0·
Performance reviews can be scary for all software engineers, no matter how much experience they have. But they don’t have to be so. They are a system, and if you know how it works, you can use it effectively. The engineers who consistently get strong ratings and promotions are not just better at coding or system design. They know what is expected of them, get ready before the cycle starts, work with purpose, and make sure the right people can see their work. The most important thing is to treat performance reviews as something you actively manage, not something that happens to you. I wrote an in-depth article on how to navigate performance reviews like a pro in the latest issue of @EngPolymathic
ThePolymathicEng@EngPolymathic

The 161st issue of the Polymathic Engineer is out. This week, we talk about performance reviews: - Understanding the yardstick - The 3 types of reviews - Preparing before the cycle begins - Executing during the cycle - Writing feedback that matters newsletter.francofernando.com/p/how-to-navig…

English
0
6
51
6.8K
ThePolymathicEng
ThePolymathicEng@EngPolymathic·
The 161st issue of the Polymathic Engineer is out. This week, we talk about performance reviews: - Understanding the yardstick - The 3 types of reviews - Preparing before the cycle begins - Executing during the cycle - Writing feedback that matters newsletter.francofernando.com/p/how-to-navig…
ThePolymathicEng tweet media
English
0
1
11
7.3K