January Favourites. The Tech edition. 2020
Tags: simplexnoise, favorites, rust, tech
Published: 2020-02-07 17:56:57

---
title: January Favourites. The Tech edition. 2020
published: true
cover_image: https://dev-to-uploads.s3.amazonaws.com/i/f2t7e3l9yaj6kekk0far.jpg
description: My findings in tech world I discovered throughout January 2020
tags: simplexnoise, favorites, rust, tech
---
<span>Photo by <a href="https://unsplash.com/@markusspiske?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Markus Spiske</a> on <a href="https://unsplash.com/collections/8556372/ally%27s-room?utm_source=unsplash&amp;utm_medium=referral&amp;utm_content=creditCopyText">Unsplash</a></span>

As I decided to make it a monthly tradition to share something I found interesting for the last month, here is my (a bit late) January summary.


### An Algorithm: Simplex Noise

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/ulbynzumxww3pvo0a9cg.png)

My initial idea was to create an 'Aurora effect' with WebGL and I stumbled upon an interesting implementation on [Coderops](https://tympanus.net/codrops/2018/12/13/ambient-canvas-backgrounds/) using `simplex-noise` npm package. It sparkled my interest in the algorithm.

Ken Perlin developed the noise function while working on the original Tron movie in the early 1980s. He used it to create procedural textures for computer-generated effects. In 1997, Perlin won an Academy Award in technical achievement for this work. 
Perlin noise can be used to generate various effects with natural qualities, such as clouds, landscapes, and patterned textures like marble. 

In 2001 Ken Perlin designed the algorithm called Simplex Noise to address the limitations of his classic noise function, especially in higher dimensions.

As it turned out, simplex noise has many use cases, such as signal processing, generating random values, etc. I really recommend you reading about it, since that will definitely make you understand certain parts of CS better!


### YouTube Channels I Discovered

I have been very much into video-tutorials lately. I guess it's a phase. A few channels I have discovered (for myself) were a pleasant surprise to me! One that entertained the most, was Fireship.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/xyo2f8cwoxf9d9vpb5rp.png)

[Fireship](https://www.youtube.com/channel/UCsBjURrPoezykLs9EqgamOA)

YouTube Channel called Fireship, talking about JS. I stumbled upon the channel as I was researching the history of JavaScript for my next article, really worth subscribing to if you are a Web or Node.js developer.


### Books Worth Reading


Lately I have been way pickier about the books I am reading, I find a lot of literature has a lot of water. That is why I created a rule: can I read this book on a short flight? 

I personally am very skeptical about reading large multi-volume books, I find it hard to absorb that amount of information in a few days. The Design Driven Development paradigm is something that we are now using on my current project and I wanted to find I quicker way to refresh my memory and share the concepts with my team, therefore _Domain Driven Design Distilled_ by _Vaughn Vernon_.

![Alt Text](https://dev-to-uploads.s3.amazonaws.com/i/8azj133r3zorl09gwmv7.png)

It was a life saver, and, to be honest, if you are not familiar yet with a paradigm and you want to start building better software in a true DDD way, this book has all you need, really. 

A more concise version of DDD by Evans, something you can read on a short flight. 


### New Programming Language 

Rust was something I have been wanting to try for a long time. After doing a mini research I found out that Rust incorporates a lot of [functional paradigms](https://www.quora.com/What-do-functional-programmers-think-of-the-Rust-language).
One of the best tutorial I found on YouTube: [Rust Crash Course | Rustlang](https://www.youtube.com/watch?v=zF34dRivLOw&t=1485s) by Traversy Media.

I recommend checking it out!


### New CS paradigm: State Machines

Was introduced to me by an interesting talk by my former colleague Farzad at a local meet-up. [Here are the slides](https://slides.com/farzadyz/you-think-you-know-state-management/#/) 

I decided to dig deeper and found an interesting Udemy course  'State machines and Automata: building a RegExp machine' by Dmitry Soshnikov, 
Software engineer at Facebook. I am now trying to pass it (which is hard, a lot of novel concepts). 

### Something I Started

I have written on my [Instagram micro-blog](https://www.instagram.com/p/B5cY3DDAG_3/) that reading other people`s stories is something that can help you become a better software engineer yourself. I created an "awesome-" repository where I am planning to include stories of people becoming software engineers: [https://github.com/marharyta/awesome-software-engineers](https://github.com/marharyta/awesome-software-engineers)

*PS: any contributions are welcome!*


*This is it for January! Post something you found interesting recently!* 


Thanks for reading! Like and subscribe!