During my tests with Flask, the python web framework, I stumbled upon the challenge to register all my filters I had stored in
My solution is the
def init_app(app) function:
def filter_upper(text): return text.upper() def filter_lower(text): return text.lower() def init_app(app): for func in globals(): if func.startswith('filter_'): name = func.split('_')[-1] app.add_template_filter(globals()[func], name)
init_app function will search through all global members of the module for function definitions where the name starts with
filter_. These functions are than registered to the flask app. The name of the filter is automatically generated from the function name.
Had my exam earlier this morning and successfully completed it. Now I am waiting for my certificate and the badge to claim.
The course to this certification is https://www.giac.org/certification/reverse-engineering-malware-grem.
Update 1: Received the digital badge today. Just click the image to view the details.
When you buy cheap USB Bluetooth dongles, that they have the same device address (MAC). The tool
bdaddr can be used to change these addresses.
bdaddr - Utility for changing the Bluetooth device address Usage: bdaddr [-i <dev>] [-r] [-t] [new bdaddr]
To change the dongles address, connect only the one you want to modify and run:
$ bdaddr F4:4E:FD:B8:A4:14
Unplug and replug the dongle,
bluetoothd should now be able to configure
both USB Bluetooth dongles.
Recently, I had trouble setting up docker, or to be more precise: running it. Every time I started the Docker daemon, and ran something like:
$ docker run busybox ping -c 3 126.96.36.199 PING 188.8.131.52 (184.108.40.206): 56 data bytes 64 bytes from 220.127.116.11: seq=0 ttl=45 time=20.118 ms 64 bytes from 18.104.22.168: seq=1 ttl=45 time=23.727 ms 64 bytes from 22.214.171.124: seq=2 ttl=45 time=19.803 ms --- 126.96.36.199 ping statistics --- 3 packets transmitted, 3 packets received, 0% packet loss round-trip min/avg/max = 19.803/21.216/23.727 ms
Everything worked fine, but than the container was shut down, and I tried to run this container again it failed to connect/ping.
The first thing I noticed the
docker0 network interface had lost its IP address. Restarting Docker fixed this problem, but for doing a simple
ping, this is not a valid option. At first I though it might be the
avahi-daemon causing trouble, because I found things like
Withdrawing address record for fe80::a80e:15ff:fe76:6a1e on veth8cdefb7. Withdrawing address record for 172.26.0.1 on docker0.
in my logs. But this was just an misinterpretation of the messages, I think.
It took my I while to come up with the idea to check the routes. What I observed, when ever an container stop and is terminated the
docker0 interface was also shutdown and the route for this network and device were also deleted. Starting the container again did not add the route again.
As solution I have created a
docker.network configuration - as I am using systemd - to configure the network and routes properly.
[Match] Name=docker* [Network] DNS=192.168.0.1 Address=172.26.0.1/16 Gateway=192.168.0.1 IPForward=kernel