Welcome!
This is a place for errata broadly related to personal and professional interests.
Check out some specific pages like quotes and map of active tropical cyclones.
If it can be destroyed by the truth, it deserves to be destroyed by the truth. ⇨
“Always take sides. Neutrality helps the oppressor, never the victim. Silence encourages the tormentor never the tormented." ⇨
“I am so tired of waiting. Aren't you, for the world to become good and beautiful and kind? Let us take a knife and cut the world in two-- and see what worms are eating at the rind." ⇨
Recent Posts
19 Mar 2022
Quickly Set Up Guacamole Using Docker
Apache Guacamole is a clientless remote desktop gateway. It supports standard protocols like VNC, RDP, and SSH.
Thanks to HTML5, once Guacamole is installed on a server, all you need to access your desktops is a web browser.
The Guacamole manual can be found here, but because the project is broken into 2 or more peices, it can take a bit of poking around and toggling between sections to find the exact steps one needs to quickly get up and running from scratch using Docker.
13 Oct 2021
Projecting Rasters for Plotly Mapbox Plots
I like using Plotly to create interactive plots and maps straight from Python. I find it more intuitive than Bokeh’s API. When combined with Plotly’s sister library Dash, the pair can be very powerful in creating both interactive and dynamic web based tools and visualizations.
While Bokeh has some native Datashader integration, including in the mapping components, the Plotly Mapbox mapping backend relies on Mapbox’s own image overlay capability to display arbitrary Datashader outputs. Plotly has very helpful documentation and includes this use case as an example.
19 Aug 2021
Useful Docker Patterns (On GNU/Linux)
To easily copy files from a Docker image when you dont want to start a container, you can do the following:
docker cp $(docker create --rm $IMAGE):$FROM_PATH $TO_PATH
Sometimes it is useful to compare the output of a command between two Docker images, especially comparing different versions of a particular image:
docker run --rm -ti --entrypoint=bash $IMAGE1 -c "$CMD" > /tmp/output1.tmp
docker run --rm -ti --entrypoint=bash $IMAGE2 -c "$CMD" > /tmp/output2.tmp
diff -s /tmp/output1.tmp /tmp/output2.tmp
I have both these command patterns saved as executable Bash shell scripts on my system path as cp_docker and diff_docker_cmd respectively.