Improve devops workflows and self-host Docker, Grafana, GitLab, OpenFaaS and more on the simplest cloud platform. Spin up preconfigured cloud servers with the growing library of 1-Click Apps on DigitalOcean Marketplace.

Get started with a $100 new user credit for Morning Cup of Coding readers.

Articles

(May 10) #natural-language-processing

Term Frequency-Inverse Document Frequency, or TF-IDF, is a way of scoring the "importance" of a word in a given set of documents. One would expect such a thing to come in handy in text-analysis, where you might search for the core theme of a text. Indeed, TF-IDF is used, among other areas, in Machine Learning, Natural Language Processing, and more. Here, Bruno Stecanella gives an overview of how it's calculated, why it's used, and where.

(May 06) #html

Google recently announced its proposal to replace iFrame s called Portals. Being invented in the 2019's, naturally and unlike iFrames, it takes mobile browsers into account. Indeed this new HTML element allows for smooth transitions between host pages, and better user experience when navigating back and forth. Yusuke Utsunomiya goes over the details.

(May 10) #ruby

For our Rubyists out there: what do you think +"

" does? I'll give you a hint: Ruby has "positive" and "negative" string literals. No? What if I told you it's related to "frozen strings"? Would that help? Well, if you don't already know, then head on over to Bozhidar Batsov's short article explaining this useful syntax.

-- * --

Programming language of the day: Voile. "The focus of Voile is extensible algebraic data types on top of dependent types. It can solve the expression problem without using any design patterns (like visitor or object-algebra in Java, or finally-tagless or DTALC in Haskell).

We're pretty much inspired by the coexistence of guarded recursion, coinductive data types, sized types and inductive types in Agda, which is nice to have all of them but they do not work very well as we can see in a discussion here about guarded recursion checker or in a GitHub issue about the incompatibility between size and guarded recursion. We can observe that sums, records, and (dependent) pattern matching in Agda only work well when being top-level bindings."

-- * --

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 us by becoming a patron (Patreon) for perks like ad-free issues, or via a one-time donation via PayPal.

Cheers,

Pek