Stuff I used in January 2019
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.