It is time to learn something new again, his time it is the VPN solution Wireguard
Wireguard is based around a TUN network interface. This network interface has multiple properties:
#wg show wg0
interface: wg0
public key: jyhyusgqxdzT732wlJa7nQCMqUvQnpC//SUjCBAsniI=
private key: (hidden)
listening port: 47761
fwmark: 0xca6c
peer: WjzcgNo1uYO0KoThtCz6ecgA2a33HJ5Lu5ZBHpIXIDw=
preshared key: (hidden)
endpoint: server.example.com:65
allowed ips: 0.0.0.0/0, ::/0
The…
One of the underused HTML elements is the <details>
element. For the uses cases this tag gives you, it is not used enough on websites.
Lets explore its uses together. This tag is used to make an expanding/collapsing detail/summary view. The browser then adds interaction to the element, allowing the user to open/close the element itself. Lets take a look at a basic example:
<details>
<summary>This is the summary</summary>
<p>This is the body</p>
<p>Multiple tags are allowed here</p>
</details>
Webpack looks like a quite intimidating system, but having played around with them, they are very simple. In this article we will be creating our own loader from scratch and adding them to our webpack configuration.
The core concept is a loader is basically a function that maps input to output. Loaders have the requirement is being written in the commonjs format, meaning you work with module.exports
and require
. An basic example:
module.exports = function stringReplacingLoader(input) {
return input.replace("World", "Earth");
}
When you start with React, it is common that you just start a project with the CRA tool. While this quickly makes a project, it also does lots of magic in the background to make it work. For learning purposes, it can be better to write your own configuration to build a react application.
It is possible to use the ReactJS framework without using any transpilers. For this, make a new directory for our project and make a index.html
file containing the following content:
<!DOCTYPE html>
<html>
<head>
<title>My React app</title>
</head>
<body>
<script src="react.development.js"></script>
<script type="module" src="/main.js"></script>
</body>
</html>
If you read this quickly after publication, the chance is high you are on my newly build website. There are multiple techniques used on this website to archive my goals. Doing this mix with a static website vs easy to add content was quite the technical challenge, but looking at this website shows I succeeded in my goals.
In 2021, I was playing around with the online TypeScript sandbox, when I discovered a weird issue. When trying to write XML to the terminal, it instead of showing me the string representation, it was actually executing it.
While it makes sense for a code sandbox to execute the code you input, it is important it stays within the sandbox, as the sandbox has the proper restrictions put on the javascript environment, which includes blocking cookie access and fetch access at a minium.
The…
One important thing when playing around with an 3d printer is having a test pattern, which is useful to test if your printer is working. You want a pattern that is quick to print, and interesting to show of to others.
Shows a 3d printed carabiner containing 6 differently 3d printed colored tags (image)
View result of this coding project
Creating small Javascript games is a great way to learn coding. So I make another breakout game. This time I used Ecmascript Modules and classes.
The…
When working with GitHub, you have the advantage that everything is stored in the cloud. While this is fine for most people, it can be useful to make a local backup in the case you expect to have no internet for a certain period of time, like a vacation.
Lucky for us, git already has the features build in to effectively mirror a remote repository using the mirror flag, so the only thing left for us, is getting a list of repositories to clone.
This…
Competa is a company that specializes in renting programers to other companies.
During my stay at Competa, I have done many projects, many internal. I also have done coaching of other developers and interns there.
View result of this coding project
Creating small Javascript games is a great way to learn coding. As part of learning, I developed a breakout game. This game features a level selection screen, which generates levels based on some math.
This game used the module pattern to connect all the components together.
This was a study on the course Application Developer 4.