Another long issue because of a skipped day. On the plus side, things are moving along smoothly with the magazine and we are on track for a January 2020 release.

Articles

(Nov 21) #go

Sometimes you come across seemingly very difficult problems that actually have a fairly simple solution that you aren't aware of, in the form of a tool available in the language you're using. Well if Go is your language of choice, Martin Tournoij has you covered. In his article, he explains why and when to use, and associated problems with using struct tags, empty interfaces, import aliases, panic(), init(), and cgo in Go.

(Nov 15) #clojurescript #functional programming

Often times outlining and planning the specifics of your app or project beforehand will save you a lot of time during development, because you'll have a clear idea of where you're going. But what's the best way to do this? Is there a best way? Dan Bunea has written an instructive article on how a web app can be developed, starting from defining the problem, to outlining the theory for the solution, development strategy and tactics, and finally implementing design in a stepped process, all using ClojureScript and a finite state machine as a model .

(Nov 22) #javascript #wasm #vr

Since user hardware has substantially improved over the years, more demanding processing can take place on the user's device with the help of web workers, which can "be used to move computation out of the main UI thread". In this second part of a multipart series, Michael Cole explains how the web workers and web assembly part of his WebVR astrophysic simulator are to be implemented.

(Nov 22) #angular #javascript

If a typical user interaction with your web app requires fetching a lot of data from the server, fluid and fast loading might become an issue. Luckily modern design techniques can minimize or even negate these user experience issues. In Elian Cordoba's article, he explores how progressive content hydration can lead to a more fluid user experience by implementing it in a recent project he did in Angular.

(Nov 20) #sql #indexing

If you have a database with thousands or hundreds of thousands of entries, any small improvement in querying technique will save you tons of time and money. Well one way towards improving querying efficiency is to improve indexing efficiency. In Brent Ozar's article, he takes a look at the importance of first column in a nonclustered index, and how the right choice can change your SQL database from scanning all of the rows to just one.

(Nov 06) #haskell #types

Sum-types are just types that are made up from two or more other types. They're a useful feature for programming, especially if you're trying to create systems that are more type focused. But what's the best way of creating these type structures? Well in Yair Chuchem's article, he shows us four common but different implementations in Haskell and outlines their pros and cons. At the end, he introduces a final approach which appears to be the most practical.

(Oct 21) #compilers #rust

A timing attack is when attackers are able to discern important inputs based on the time it takes for the specific part of code to run. One way of protecting against them is to have code that works in constant time. In this article by Daan Sprenkels, he first takes a look at why compilers are not currently able to protect against these kinds of attacks, and then goes on to present a possible solution and how it would look like in Rust.

(Oct 31) #http #networking

New methods for exploiting online protocols are always being found, and the first step in protecting your system against them is being aware of their existence. Luckily for us, Nathan Davison's article introduces HTTP/1.1 hop-by-hop headers and explores their "abuse potential" in the forms of fingerprinting services, cache poisoning DoS, and WAF rule bypass.

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