Issue #182 - January 04, 2019

If you enjoy reading this newsletter we would appreciate if you spread the word by forwarding this email. It really helps us.


What is a "binary" file?

(Dec 30) #computer-science-theory

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...

Infinite Data Structures In JavaScript

(Jan 02) #javascript

JavaScript has support for both the iterator pattern, where any object can provide an API to iterate over a set of elements, and generators, where a function can indefinitely generate values upon request (typically used in an iterator loop). Francis Stokes takes these two ideas and shows us how to create a data structure that produces an inifnite list of values that support filtering, mapping and all the fancy functional stuff.

Kadane's Algo Explained...

(Dec 31) #algorithms

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

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

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.


Copyright © 2019 Human Readable Publications, All rights reserved.

Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.