Theater Production and Actor Database

Currently, I am working on a hobby project, a theater production and actor database (mwtdb for short). It is visible on GitHub and open source. Requirements What I want to create is something similar to IMDb, which focuses on movies, TV and celebreties, but for amateur theater. A very basic version will contain actors, directors and technicians, contributing to productions. From a technical point of view, I will create a web application, using Angular and Neo4j, a graph database. Read more →

Service Worker Experiments

I am currently experimenting with service workers (see Using Service Workers or Service Workers: an Introduction). One scenario is to provide mock data when no connection to an external service is available. And by theory, service workers should be able to intercept any request made by the website. But there is one exception. If you fetch data with jQuery.ajax() function and use async: false, the service worker will not be able to intercept any of those requests. Read more →

Technical Summit 2016 in Darmstadt

Soon, I will attend the Technical Summit 2016, which will take place from Dec 6 to 8 in Darmstadt. This is my first conference for my new employer (ConWeaver), where I am working pretty much along the same lines as for Comparis, meaning front-end development with HTML, CSS and JavaScript and its many derivatives (Sass, LESS, TypeScript). A new challenge is Angular, which has recently reached version 2 and comes with a nodejs-based workflow and with mostly alpha-staged tools around. Read more →

Fighting with JSON

In my current project, I had to deal with huge JSON files, which contain the order and properties of our layout elements. For CSS styling purposes, I had to move one particular array item to the end, create a new object and move all existing elements inside of that new object. This was tedious work when I did that manually. So I decided to develop a little C# Console application, taking care of that for me. Read more →

Angular

After my first week at ConWeaver, I got a first impression of the search framework and the technology used. The hot topic in the moment is Angular, which is a web application framework. In contrast to other server-side frameworks, the application logic is on the client (browser). This is a major trend now, aiming at Progressive Web Apps, which are as quick and responsive as native applications. To work with Angular, I need to understand the entire ecosystem which has evolved for developing with Angular. Read more →

Setting up Docker on Ubuntu 15.10

For the next five days, I will be on an innovation week, as my company calls it. I will be away from the daily business and dig into one topic of my own choice, but of course related to current challenges within the company. And since service-oriented architecture is something that moves us in the moment, I chose service scalability as my topic. But for that to work, I need a quick way to set-up services within their own context, making it possible to add more service nodes when needed. Read more →

Modular JavaScript 2

On our company website, as on many others, we have a growing JavaScript code base. We are now taking the effort to develop a module system to make it easier to structure the code. Our first decision was to go with a syntax similar to Asynchronuous Module Definition (AMD). But in contrast to AMD syntax, we use a synchronuous approach for loading the modules and use a module identifier. We will also provide the option to initialize modules on an event. Read more →

Modular JavaScript 1

One of the main problems of software development is managing complexity and – related to it – decoupling pieces of code. While most programming languages provide built-in semantics for defining and consuming modules, JavaScript has none and relies on external libraries for that. There are three major approaches for defining modules in JavaScript: CommonJS Asynchronous Module Definition ECMA 6 Syntax I have found some good articles on the topic. Read more →

JavaScript Talk by Douglas Crockford

It has been a year now since I have entered the ranks of comparis.ch. The major new technology for me to learn in this time has been JavaScript. Coming from the classical object-oriented world, it takes a lot of time and patience to understand the prototype-based approach, which is used solely by JavaScript. I have recently stumbled upon this talk given by Douglas Crockford, author of JavaScript – The Good Parts and creator of JSON. Read more →

First Steps with Scheme and Git

Today, I installed Git, joined github.com and published my first two code snippets in Scheme (Lisp dialect). The main reason to study Scheme is the book Structure and Interpretation of Computer Programs, a computer science classic. And the authors use Scheme to illustrate the concepts throughout the book. The language has a very strange syntax. To illustrate this, I present proudly my first programming exercise, an implementation of Newton’s method to iteratively determine the cube root of a number (also available with syntax highlighting on github). Read more →