| Action | Shortcut |
|---|---|
| Scroll line up | ctrl+shift+up (also ⌥+⌘+⇞ and ⌘+↑ on macOS) |
| Scroll line down | ctrl+shift+down (also ⌥+⌘+⇟ and ⌘+↓ on macOS) |
| Scroll page up | ctrl+shift+page_up (also ⌘+⇞ on macOS) |
| Scroll page down | ctrl+shift+page_down (also ⌘+⇟ on macOS) |
When running FastAPI app, all the logs in console are from Uvicorn and they do not have timestamp and other useful information. As Uvicorn applies python logging module, we can override Uvicorn logging formatter by applying a new logging configuration.
Meanwhile, it's able to unify the your endpoints logging with the Uvicorn logging by configuring all of them in the config file log_conf.yaml.
Before overriding:
uvicorn main:app --reloadHere are the steps needed to convert an image (like JPG or TIF) to MBTiles using GDAL:
-
Download and install GDAL (https://gdal.org/, https://anaconda.org/conda-forge/gdal):
conda install -c conda-forge gdalInstalling GDAL is kind of a pain in the ass, especially on Windows. I'm assuming you'll be able to work out whatever issues you run into here.
-
Download example
jpgandtifmap images we can work with:- http://www.radcyberzine.com/xglobe/index.html#maps - See Super-hi-res maps section, download one of the
jpgfiles.
- http://www.radcyberzine.com/xglobe/index.html#maps - See Super-hi-res maps section, download one of the
| import asyncio | |
| from typing import AsyncGenerator, Dict | |
| from fastapi import FastAPI | |
| from nats.aio.client import Client as NATS | |
| from nats.aio.client import Msg | |
| from starlette.requests import Request | |
| from starlette.responses import StreamingResponse | |
| app = FastAPI() |
https://github.com/pulls?user=matrix-hacks replace matrix-hacks with your own
| 23.21.150.121:3478 | |
| iphone-stun.strato-iphone.de:3478 | |
| numb.viagenie.ca:3478 | |
| s1.taraba.net:3478 | |
| s2.taraba.net:3478 | |
| stun.12connect.com:3478 | |
| stun.12voip.com:3478 | |
| stun.1und1.de:3478 | |
| stun.2talk.co.nz:3478 | |
| stun.2talk.com:3478 |
| /** | |
| * Fancy ID generator that creates 20-character string identifiers with the following properties: | |
| * | |
| * 1. They're based on timestamp so that they sort *after* any existing ids. | |
| * 2. They contain 72-bits of random data after the timestamp so that IDs won't collide with other clients' IDs. | |
| * 3. They sort *lexicographically* (so the timestamp is converted to characters that will sort properly). | |
| * 4. They're monotonically increasing. Even if you generate more than one in the same timestamp, the | |
| * latter ones will sort after the former ones. We do this by using the previous random bits | |
| * but "incrementing" them by 1 (only in the case of a timestamp collision). | |
| */ |
I frequently administer remote servers over SSH, and need to copy data to my clipboard. If the text I want to copy all fits on one screen, then I simply select it with my mouse and press CMD-C, which asks relies on m y terminal emulator (xterm2) to throw it to the clipboard.
This isn't practical for larger texts, like when I want to copy the whole contents of a file.
If I had been editing large-file.txt locally, I could easily copy its contents by using the pbcopy command:
The difference between XYZ and TMS tiles and how to convert between them
Lots of tile-based maps use either the XYZ or TMS scheme. These are the maps that have tiles
ending in /0/0/0.png or something. Sometimes if it's a script, it'll look like
&z=0&y=0&x=0 instead. Anyway, these are usually maps in Spherical Mercator.
Good examples are OpenStreetMap, Google Maps, MapBox, MapQuest, etc. Lots of maps.
Most of those are in XYZ. The best documentation for that is slippy map tilenames on the OSM Wiki, and Klokan's Tiles a la Google.