I recently published a video course on React Fundamentals and while producing it I had the chance to think about the general ideas that React proposes, quoting Seneca homines dum docent discunt (while people teach, they learn).
My conclusion has been that learning React is useful even if you won’t ever write a single line of React code, because it’s a new mindset and makes you think about code in a whole different way.
React is a reactive framework: you define the interface as a function rendering the data. …
You are probably still unaware of that, but cyborgs are among us, from the milions of pacemaker users to Neil Harbisson, who can hear colors. This is a quiet revolution that is taking place right now and that we still have to recognize. It has the potential to disrupt our everyday life and our health.
So sit back, relax and enjoy this 5-minutes jump into the future.
The word umwelt refers to the world that we can perceive, from sunlight to the sweetness of a strawberry; but most of the world lies hidden to us: we cannot see infrared radiation, like snakes do, and we cannot feel the magnetic field of Earth, like birds do. …
We are now used to thinking about the atom as a nucleus around which the electrons rotate, but this wasn’t the first nor the last atomic model, so without further ado let’s dive into it.
The idea of atoms was first born in Ancient Greece, but at the time it was more of a philosophical concept than a proper scientific theory, furthermore they didn’t have a clue about what an atom actually was.
The first important atomic model is Thomson’s, friendly nicknamed the plum pudding model. …
It’s no mistery that if you heat something really hot it starts to shine, that’s why the stars shine and how your home light bulb works.
Maybe you even know that there is light (or to be precise electromagnetic radiation) that we can see and other light that we cannot see. For example there are the infrared rays that we feel as heat, that’s why you feel warm when you face the fire.
But scientists are precise people, for them it’s not enough to know that hot bodies emit light, they also wanted to know how much light.
At the beginning of the 20th century this question was driving all the scientists crazy: they had tons of data collected in countless experiments, they graphed the light emission in the most accurate way possible, but still they couldn’t explain what they were seeing. …
Security vulnerabilities can be boring to learn. But you still need to learn them, unless you want some hacker to delete all your production databases. To make it a bit more entertaining, I tried to explain 3 major vulnerabilities in terms of every day life. So without further delay let’s begin.
When you open a website you are connecting to a server. You can imagine this connection like a river and the data (for example Tweets in Twitter) are messages in bottles that float down the river.
If Alex (the server) wants to send you a dinner invitation he has to put it in a bottle and send it down the stream. But what if John (the attacker) takes the bottle out of the river and changes the message into an insult, then puts it back in the river? You will have no way of recognizing that the message you received hadn’t been sent by the Alex! …
Hey did you notice what just happened? You clicked a link, and now here you are reading this article. But did you think about how your browser knew that the link you clicked referred to this article, and that this article contained these words?
It’s something so common that we forget about it, but the mechanism behind it is fascinating. In this article we will explore it using real world analogies.
When you open a website, your browser is asking some other computer somewhere in the world for the data that will allow it to show you the page (for example, the text you are reading now). …
Cryptography can be a hard subject to understand. It’s full of mathematical proofs. But unless you are actually developing cryptographic systems, much of that complexity is not necessary to understand what is going on at a high level.
If you opened this article hoping to create the next HTTPS protocol, I’m sorry to say that pigeons won’t be enough. Otherwise, brew some coffee and enjoy the article.
Any activity you do on the Internet (reading this article, buying stuff on Amazon, uploading cat pictures) comes down to sending and receiving messages to and from a server. …
I believe everyone should learn Haskell, even if you won’t use it in your work. It’s beautiful, and it changes the way you think.
Introductions first: what is Haskell? Haskell is a lazy, purely functional programming language.
What’s that now?
Well, lazy means that Haskell will not execute your commands right away, but will wait until you need the result. At first this may seem strange, but it allows for some pretty nice features — like infinite lists:
evenNumbers = [0, 2..]
This snippet will declare an array containing all the even numbers. …
Someone recently asked me what’s the easiest way for a front-end developer to save users’ data. So I am going to explain how to do just that.
The first thing we will need is an actual database. You can head to mlab for a free one. Once you’ve signed up, click create new in the MongoDB Deployments tab. The sandbox database is free of charge, so that’s the one we are going to use.
Once we’ve created the database, we need to create an account so that we can authenticate ourselves. Click on the database name, then users, and add database user. …
Let’s face it: most users won’t go back to your site and download the updates for your brand new Electron app. Instead, you should put in place some kind of automatic update system.
Unfortunately, the online documentation for this is neither very easy to find nor follow. Here, I will guide you through a quick process to setup an auto-updater, using GitHub as a host.
To publish on your behalf, electron-builder needs a GitHub access token. If you don’t know what these are or how to create one, check out GitHub’s quick guide.
Electron-builder needs a token with access to the repo scope. Create one as described in the link, and copy it somewhere safe (you will only be shown the token once!). …