Janik von Rotz

O3M 73 - Viva America

Feel good tracks I’ve listened to while doing roadtrips in California last autumn.

Read More...



The most simple access control for your Meteor React app

For my last Meteor React app I’ve designed the most simple role based access control. The basic idea is that users can have multiple roles and every action possible is only allowed by a specified set of roles. For my Meteor React app the following scenarios were considered:

Read More...



Get rid of Disqus

Recently I read an article on HN (Hacker News) Replacing Disqus with Github Comments and decided to drop the Disqus commenting system on this site. A long time ago I’ve added Disqus to my page because of it was easy to use and had out-of-the-box spam prevention. The cost of it as I see now was a heavy breach in privacy and site performance. When I read the article mentioned above I was shocked what I was forcing on people visiting my site. Just to give you an idea what’s going on:

Read More...



Debounce a redux dispatch method in a react component

Tightly connected reactivity in a react application has the side effect that it is sometimes necessary to delay the execution of a method. Assume you have a search input field that filters elements while typing, every field input creates a search request. In order to get rid of unnecessary search requests you have to wait until a user has finished typing and then start the search. To make this work without a search button, you have to intercept repeating executions (debounce) of the search method within a specified time frame and delay the execution of the last call.

Read More...



Meteor project structure

Get the latest version of this specification here: https://gist.github.com/d4755eb1b7a9d6b08515408ea6fd69bb

The Meteor project structure (MPS) is a proposal for a simple file and folder naming specification.

There are several basic distinctions when building a Meteor project structure. First there is a client, server and an imports folder. All folders have specific naming rules and differ in their structure.

Read More...



O3M 72 - Get Lost

It’s getting warmer, make sure to take some time off.

Read More...



Deploy your Meteor app with PM2

PM2 is a well-known node process manager. Not so well-known is its deployment feature. With pm2 you can reasonable easy deploy any node application. As Meteor is always a node app at its heart I’ve decided to deploy my current Meteor project with PM2.

Read More...



Make your Redux React app multilingual

For my current React app in development I’m using Redux to manage the client state. As this is the first time using Redux I’m not quite sure what to put in the store yet. But I’ve decided to give the multilingual labels and wordings a try. Below you’ll find a simple approach on how I made my app multilingual using the Redux client state to store the translated content. I assume you are familiar with Redux and React.

Read More...



Cold Days

Education will never be cheaper while you study (at least in switzerland). This is why I took a photography course at my university (and also to earn cheap credits). The course was mostly about art and history, but nonetheless very interesting. Below, you’ll find my favorite photos.

I liked how the rain covered the handle.

Read More...



Meteor register LDAP login request handler

One requirement for my current Meteor project was that a user must login with their ActiveDirectory account. This means that Meteor must be able to authenticate against LDAP. In atmosphere there are already a few packages available which implement and support LDAP authentication. However, they are either outdated or difficult to configure. This is why I’ve decided to build my own custom login request handler for Meteor.

Read More...



21