In the middle of the desert you can say anything you want
God I need to read documentation, all of it, including not-important sounding first sentences.
Previously: 220810-1201 Huggingface utils ExplicitEnum python bits showing me how to do str enuenums
.. you can set using both.
enum — Support for enumerations — Python 3.11.0 documentation:
class MyEnum(str,Enum): IG2 = "val1" IG3 = "val2" MyEnum("val1") == MyEnum["IG3"]
Pipelines: in the predictions,
p['word'] is not the exact string from the input text! It’s the recovered one from the subtokens - might have extra spaces etc. For the exact string the offsets should be used.
EDIT - I did another good deed today: Fix error/typo in docstring of TokenClassificationPipeline by pchr8 · Pull Request #19798 · huggingface/transformers
Pytorch has torchdata, roughly similar to what I used to know and love in Keras: Tutorial — TorchData main documentation
Neat snippet I just wrote that will get rid of a lot of duplicated code:
def exception_or_error( message: str, fail_loudly: Optional[bool] = False, exception_type: Optional[Type[Exception]] = ValueError, ) -> None: """Log error or raise an exception. Needed to control the decider in production.""" # Raise whatever exception if fail_loudly: raise exception_type(message) else: logger.error(message)
are_we_in_production = True # will log or raise a ValueError based on the above exception_or_error("File not found", fail_loudly=are_we_in_production) # if raising something, will raise a KeyError exception_or_error("Row not in db", fail_loudly=are_we_in_production, exception_type = KeyError)
cloudflared: image: cloudflare/cloudflared:latest command: tunnel run environment: - TUNNEL_TOKEN=my-super-secred-tunnel-token restart: unless-stopped network_mode: "host"
Then whatever can run in its network with bridge driver:
networks: nextcloud: driver: bridge .... services: nextcloud: networks: - nextcloud ports: - "1234:80"
And then in the cloudflare zero trust UI add a tunnel from
Neat thing is that tunnel type HTTP refers to the connection to the host running
cloudflared, but the thing is accessible through cloudflare’s servers as both http and https. No need to manually do any certs stuff!
Wanted to run frp’s client frpc with docker to forward the SSH port.
Main issue was binding to a port already open on the host, and one not controlled by a docker thing.
My first attempt led to this: “: Error starting userland proxy: listen tcp4 0.0.0.0:22: bind: address already in use”
After looking around the Internet, found a solution.
services: frpc: image: chenhw2/frp restart: unless-stopped environment: - ARGS=frpc volumes: - ./conf/frpc.ini:/frp/frpc.ini network_mode: "host" ports: - "22:22"
The key being the “nertwork_mode” part.
Neither frp server nor client configs needed anything special.
Strangely , I didn’t even need to set any capabilities like I did for dns:
services: dns: restart: always image: strm/dnsmasq volumes: - ./conf/dnsmasq.conf:/etc/dnsmasq.conf ports: - "53:53/udp" cap_add: - NET_ADMIN
This goes into “things you’re allowed to do” (Previously: List of good things - serhii.net) territory, but:
md5sumthe ISOs, otherwise that would’ve been the prime suspect
<Ctrl-Shift-F2>to go to the tty and
lessis not installed but
tty4has live running logs
I always look in zsh history for this string:
sudo dd if=/path/to/debian-live-11.5.0-amd64-cinnamon.iso of=/not/dev/sda bs=1M status=progress
/dev/sda is the usb drive, will be ofc. deleted fully; not a partition like
/dev/sdaX but the actual
/dev/sda disk itself.
I specifically added
/not/dev/sda at the beginning for systems where I have not set up
unset zle_bracketed_paste and that might press enter on paste or after I edit the .iso but not
of. That way I’m forced to think when editing