MDWORLD
a webdevelopment blog, since 2003
FP & TS chapter 2: Immutability
The previous article explained what side effects are and why it is important to prevent them and to write pure functions.
The example of a function with a side effect was:
FP & TS chapter 1: Functional Programming for TypeScript developers
If you have made the concious decision to prefer TypeScript over JavaScript, you probably were convinced by its promise to reduce runtime errors. Without knowing anything about Functional Programming (FP from now on), it fulfills the same role. That’...
Site Rebuild with Svelte
I wanted to update the previous version of the blog (mdworld-jackson) built on SSG (Static Site Generation) with Gatsby. It was several majors of Gatsby behind and contained several workarounds that would take a lot of time to figure out, so I took i...
Micro Frontends In A Nutshell
You may have heard of a Micro Frontends recently and felt it a bit difficult to grasp what exactly it is and if it is something you should get involved in. I’ll try to give a summary of the what, why, how, and when of the current state. To provide a ...
Gaining Root Access to Smart Home Gateway
Recently I bought a Risco Smart Home Gateway, and as I expected it is a rebranded off-the-shelf micro computer. When delivered, the HDMI and optical S/PDIF outputs and IR input hinted that it was not just a dedicated smart home gateway. The OS seems ...
Apollo Client in Practice
Some time ago I joined a team that is working on a search application. The application takes search terms and displays the results in a table with potentially dozens of columns and hundreds of rows, even before pagination. It is implemented in React ...
Elm for front-end developers
Elm for front-end developers - how we dove into Elm to rebuild part of our site.
Why Elm?
Site updated
It’s always a hard decision to move to a new platform for my personal site, and this time it was sped up by the growing need for https (for SEO) and the release of GatsbyJS v1.
Up until now I was using a monolitical Apache + PHP webserver, but since...
Polymer 2 and TypeScript
For reasons beyond my control I’m working with Polymer 2 at the moment. Although the idea of web components is great, the choice for HTML imports that comes with Polymer 2 makes integration into a modern development stack cumbersome, as will become c...
Reducing cyclomatic complexity with functional operators
Reducing the cyclomatic complexity in a JavaScript application is a good, quantifiable way to make code more readable and maintainable.
Cyclomatic complexity increases as more control statements are used. For a summary of the factors that influence c...
Polymer 2 and Redux
The coming time I will be spending a lot of time developing in Polymer 2.0, so I’ve done some research and made a small project to test some aspects of setting up a real-world application with it. It is in this repo. It contains two basic elements (p...
KnockoutJS and ES6
In the past year I’ve made some ES6 projects, for instance HomeRemote, an ES6 flavored React project. My company mainly uses a KnockoutJS based theme and it would be an improvement to introduce ES6 to this theme. The combination of Knockout and ES6 i...
Dop Beeping HDD
Recently I replaced the 1,5 TB HDD that is used as an archive in Dop by a 3TB Seagate Barracuda ST3000DM001. Silly choice apparently, because it is known to have some defects. Imagine my horror when it started beeping at certain intervals.
The time ...
Full update for Broek
2-12-2015 After updating some packages, I rebooted for the first time after a long time. I thought it would help with cleaning up unused kernels on the boot partition. The box apparently hangs on boot, but no keyboard/monitor are connected so this ca...
NBI Quickscan app
Handige tool voor financieel adviseurs om op eenvoudige wijze eventuele hiaten bloot te leggen.
In een oogopslag doorrekenen van de gebruikelijke scenario’s (langleven, kortleven, AO WW) op basis van besteedbaar inkomen. Op deze manier kan op een...
Functional Javascript Update
With a background in functional programming (Haskell), I’m interested in bringing functional programming to the web. Frontend Masters offers a course called “Hardcore Functional Programming in JavaScript” by Joe Nelson and Brian Lonsdorf.
For the uni...
npm workaround
EDIT The issue concerning the compilation of npm for ARM seems to have been fixed, which would outdate this post. The latest builds should be available at https://nodejs.org/dist/. For RPi 1 look for the builds with “armv6l”, for RPi2B “armv7l”, and ...
npm without internet
It’s easy to run npm to install packages even on a system without internet access, or behind a corporate firewall. First note that npm has proxy settings, so if you have access to the correct credentials, try that first.
Let’s assume you’re developin...
Dop SSD update
I’m replacing the 128GB SSD (Samsung 840 pro) by a 500GB SSD (Samsung 850 EVO) so I have enough space to move the /home partition to the SSD as well. I also had the problem that suddenly my SSD is no longer booting, without using super grub disk, so ...
Fronteers 2014: A Glossary
As I noted in my previous post about Fronteers 2014 there were not as many talks about usable new techniques or tools as I would have liked. This doesn’t mean that no interesting new terms were mentioned. That’s why I will supply a list of the subjec...
Dop won't boot and USB issues
When I plugged in an USB stick in the USB3 front panel of my workstation dop, there was no response. The USB stick’s light didn’t turn on.
After I opened up the sidepanel the USB plug to the motherboard wasn’t plugged in, so I fixed that.
Utopic Dop
Upgrade started
- Replaced /etc/gnome/defaults.list
- During installation the “report problem” pop-up appears, but the upgrade continues. I press report problem and it’s about i915-3.15-3.13-dkms. Seems to be Intel graphics related.
- Changes to php.ini, ...
Fronteers 2014: CSS
After my visit to Fronteers 2014 I was surprised to see that the proportion of strictly development related talks seemed lower compared to previous years. Although most talks were of the highest quality, there were quite some talks about management, ...
On Reactive
There are a lot of terms in webdevelopment that have some connection to the word “reactive”. I found myself mixing them up, so I want to clarify it here.
Discourse on Ubuntu 14.04
I wanted to try and use Docker after hearing such great things about it. Since I might want to roll out a decent forum at some point, I wanted to look into installing Discourse. For the moment, this will be done on my desktop.
I start with the instal...
Dop Ubuntu 14.04 freezes after login
This is an old post, you will be redirected to a mirror of the old site.Bash script with multiple screen windows
This is an old post, you will be redirected to a mirror of the old site.Dop monitors and multimedia keys
This is an old post, you will be redirected to a mirror of the old site.Owncloud server and PHP not working
This is an old post, you will be redirected to a mirror of the old site.Installing IGP driver on Ubuntu 13.10
This is an old post, you will be redirected to a mirror of the old site.New Site!
A New Hope
The year 2013 marks the 10 year anniversary of the domain mdworld.nl, although before that, the site existed on free webhosting space. For quite some time it was a static site, then slightly enriched with PHP for some small web application...
CDN, Relative URLs and local testing
Of course I use this CDN refs to jquery and jquery-ui for my (new) sites, with fallbacks to local versions:
…
Fronteers 2011: Experimental Features
This is an old post, you will be redirected to a mirror of the old site.IE8 Switches To Compatibility View
This is an old post, you will be redirected to a mirror of the old site.Onchange Is Fired Twice In IE
This is an old post, you will be redirected to a mirror of the old site.Looking for even older posts? Go here.