Category: web

Book of dark arts: storing data in the view

Pentagram, source Wikipedia. Towards the end of the year I'll indulge in the dark arts, join the goblins and leave my white architect hat under the Christmas tree where it belongs. I'm helping a friend (a technically minded, non-programmer) write his first mobile app . We wanted to keep everything simple: use technologies which can … Continue reading Book of dark arts: storing data in the view

Secure messaging in the browser

By observing news and public discussions I feel that there is a growing awareness of data privacy and an increasing demand for secure person-to-person communication. In order to address my communication needs, I plugged together a few Javascript libraries and started the Webencryption [1] project on Github. What is Webencryption? Webencryption is a rather crude … Continue reading Secure messaging in the browser

Equal height HTML elements in a container with CSS

Task: create HTML elements that contain other elements and adjust their height to surrounding container. No Javascript allowed.That's surprisingly hard; height:100% won't work; elements generally wrap their contents tightly and don't extend to their parents height dimension.Illustrating the problem: three elements inside a surrounding containerCss-tricks lists several ways [1] to get this done, two of … Continue reading Equal height HTML elements in a container with CSS

Spring @PathVariable mapping incomplete path when dots are included

In all my projects this happens at least once, and I'm surprised over and over again: a controller will not map just anything to @PathVariable by default. Contrary to intuition, the annotation's argument is a regular expression which excludes some characters per default. For instance the urlhttp://localhost:8080/myapp/api/user/testuser@example when mapped to a controller:@RequestMapping(value = "/api/user/{email}")ModelAndView findUserByEmail(@PathVariable("email") … Continue reading Spring @PathVariable mapping incomplete path when dots are included