Open Source Consultant, Software Developer and System Administrator

If you are interrested in hiring a consultant for the effective use of open source software on an enterprise grade, take a look around in the About section to see, what I have to offer.

Blog and snippets

Various snippets or code parts I found useful, so I keep them here for reference.

Add experimental theme reloading to VDecl

You can now also write themes on the fly in VDecl by just having it watch a directory where VAADIN/themes/<theme>/**/*.scss files are. Save a file matching this pattern and the theme with name <theme> will be set or reloaded for the current UI.

One challenge with this change was Vaadin not reloading the theme it does not have to. So changing the same theme over and over again would not show. For now I put a UI extension in place, drops the active theme via some native method. This results in the page showing no theme and then reloads the changed theme.

Use Vim-Fireplace with Figwheel greater 0.4

I have put together an example repo, how to use vim-fireplace with figwheel after the 0.4 release. This release removed cider and piggieback, so we have to add them back.

Add this to the according sections of your project.clj:

;; add nrepl middleware for fireplace
:figwheel {:nrepl-middleware ["cider.nrepl/cider-middleware"
                              "cemerick.piggieback/wrap-cljs-repl"]}
;; add piggieback for fireplace
:profiles {:dev {:dependencies  [[com.cemerick/piggieback "0.2.1"]]
                 :repl-options {:nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}}}

Make SDKMAN work in TMUX

SDKMAN -- the tool formerly known as GVM -- inherited a problem if used in tmux: in the newly started sessions within tmux the paths are not longer setup correctly to run the installed tools (e.g. like groovy).

To just make SDKMAN initialize again for each new tmux window, add this in your .zshrc (or in the .*rc of your shell) before your call to sdkman-init.sh:

if test "x$TMUX" != "x"; then
        export SDKMAN_INIT=false
fi