Quick recap of noteworthy tech stuff I used:

1. Pipe tcpdump from remote server to local Wireshark

This will show all the traffic from remote on your local Wireshark application. brew install wireshark before if you haven’t done, yet:

ssh username@remote 'tcpdump -s0 -nn -w - not port 22' | wireshark -k -i -

See the not port 22 which makes sure to not track your ssh traffic your sending from the remote to the local server.

2. CSP: Content Security Policy

A HTTP Header to whitelist script locations so you mitigate XSS attacks. See the MDN Website for details., e.g. if you want all your content come from your domain, excluding subdomains, you should send this HTTP header: Content-Security-Policy: default-src 'self'.

3. Format JavaScript Objects as JSON with jq

jq can only format JSON but not plain JavaScript objects. To convert the latter to the former I used “relaxed JSON” (rjson) like this:

brew install rjson jq
rjson <(./returnsJavaScriptCmd) | jq

4. Draw diagrams with yEd

It seems that yEd is the best editor for technical diagrams out there. If not dot files go a long way and there is an easy “GraphViz for the poor”, i.e. viewing dot files without the graphviz app. It is using the excellent entr to run automatically on file change:

brew install entr dot
echo myfile.dot | entr -c dot -Tpdf -o /tmp/dot_out.pdf /_

5. Flutter

Write native Android apps in Dart.

6. PostgREST

Serve a RESTful API from any database with the great PostgREST. Death to the ORM and all its business code which is duplicating database structures. Here you use all the power of a great database to build up a CRUD API including authorization. Declarative programming ftw!

7. GreenSock Animation Platform

GSAP is professional-grade animation for JavaScript canvas and looks amazing.

8. Jaeger

Tracing in distributed systems with jaeger.

9. Update your private key

If your private key is still in an old or unsecure format, you can update it with:

ssh-keygen -p -o -f PRIVATE_KEY

10. Business Process Modelling Language

Model your business process in BPML instead of writing business logic in code. Old-school tools like Activiti or jPBM support them and there are also fancy new unstable nodejs packages for it. This makes it easy for your stakeholders to define and change business processes without you having to change that in your code.