If you enjoy reading this newsletter we would appreciate if you spread the word by forwarding this email. It really helps us.
In this article David Peter starts with a simple experiment: create a file and put some text in and then create a separate image file of a single pixel. Now use
grep -R <filename> and see what happens. Grep can tell the difference between the text file and the image file even if text contains characters like emojis. Not really an eye opening experiment, we can guess more or less what's happening, but have you ever wondered how that detection actually works? Apparently it involves NULL checking...
From Wikipedia, the Maximum Subarray Problem is "the task of finding a contiguous subarray with the largest sum, within a given one-dimensional array A[1...n] of numbers." In human terms, if you are given an array of integers which can be positive, negative or zero, you must find an array within it such that the sum of its integers is the largest from any other possible sub array. OK, not a better explanation, so I'll leave it to Rohit Singhal, the author of this article, who not only explains the problem but a typical algorithm that solves it named Kadane’s Algorithm.
Monorepos: to do, or not to do?
Lately there's been some discussion on monorepos, a single source code repository that contains your main project, including its compartmentalized projects (whether they be other microservices, libraries, etc.)
I believe it started with Monorepos: Please don’t! by Matt Klein, a senior engineer at Lyft. In it the author argues that just because giants like Google, Microsoft, Facebook, Twitter, Uber, holy cow they are a lot more than I thought, doesn't mean you should follow suit. The piece also includes a list of advantages and disadvantages of this practice. Follow discussions on Hacker News and Lobste.rs
Then a day later we get Monorepos: Please do by Adam Jacob, CTO of Chef Software (makers of the popular Chef configuration management tool); a direct reply to the previous article. In it the author discusses some arguments of the first post as well as bringing to light some of the challenges brought by both approaches. Follow discussion on Hacker News, and Lobste.rs.
Programming language of the day: Neural Parallel Language. "high-performance, scripting language. Its syntax is 100%-compatible with lua. NPL runtime provides essential functionality for building 3D/2D/Server applications that runs on windows/linux/android/iOS."
And that's it for today! Discuss this issue at our subreddit r/morningcupofcoding.
Did you like what you read? Let us know by clicking one of the links below.
Liked - Disliked
I hope you enjoyed reading the latest issue of Morning Cup of Coding. If you did, consider supporting it by becoming a patron (Patreon), buying me a coffee (PayPal), donating anonymously (coinbase), or purchasing an MCC mug (RedBubble); it helps me keep this going.