- Create your bot with botfather
- Make you bot an admin of your channel
Go to Telegram web and open a channel, get the ID from -[channel id] from hash in the path
https://web.telegram.org/k/#-9999999999999
I use PlantUML a lot. It's what I use for drawing all sorts of diagrams and it's handy because of its easy markup (once you get used to it) while making things easy to maintain as projects grow (thanks to version control)
This gist explains how I do my PlantUML workspace in a project.
globals directory for all diagrams to follow (like the "stylesheet" below) to keep things consistent.stylesheet.iuml file that keeps the use of colors consistent through use of basic FOREGROUND, BACKGROUND and ACCENT colors.style-presets.iuml file defines these colors so you can make "presets" or "themes" out of them.stylesheet.iuml, you'll need the Roboto Condensed and Inconsolata fonts for these to work properly.example-sequence.puml for example: https://imgur.com/Klk3w2FNOTE: The Tree-sitter API and documentation has changed and improved since this guide was created. I can't guarantee this is up to date.
Tree-sitter is the new way Atom is providing language recognition features, such as syntax highlighting, code folding, autocomplete, and more. In contrast to TextMate grammars, which work by regex matching, Tree-sitter will generate an entire syntax tree. But more on that can be found in it's own docs.
Here, we look at making one from scratch.
| /*# 1- Identify the UART interface, GPIO pins and Alternate Function #########*/ | |
| /* For example: | |
| * B-L475E-IOT01A: | |
| * PB6 ------> USART1_TX | |
| * PB7 ------> USART1_RX | |
| * | |
| * NUCLEO-L476RG: | |
| * PA2 ------> USART2_TX | |
| * PA3 ------> USART2_RX | |
| * |
This is a compiled list of falsehoods programmers tend to believe about working with time.
Don't re-invent a date time library yourself. If you think you understand everything about time, you're probably doing it wrong.
Migrations are a way to make database changes or updates, like creating or dropping tables, as well as updating a table with new columns with constraints via generated scripts. We can build these scripts via the command line using knex command line tool.
To learn more about migrations, check out this article on the different types of database migrations!
The purpose of this short howto is to show you how to:
openconnect [1] to connect to an enterprise cisco anyconnect endpointUsually VPN administrators will puth the default route to the users, so that all user traffic is routed through the vpn connection. This is to address the various security concerns around compromised user computers bridging external internet traffic into the secure VPN network.
While the VPN administrator can push routes to the clients, the client can ignore these default routes and establish client side routing so that only the required A.B.C.D/E network is routed through the VPN. All other traffic will still use the clients default route and default outbound internet connection.
When the shared files on Google Drive is downloaded, it is necessary to change the download method by the file size. The boundary of file size when the method is changed is about 40MB.
filename="### filename ###"
fileid="### file ID ###"
curl -L -o ${filename} "https://drive.google.com/uc?export=download&id=${fileid}"| # ======================================================== | |
| # Setup a Dumb AP, Wired backbone for OpenWRT / LEDE | |
| # ======================================================== | |
| # Set lan logical interface as bridge (to allow bridge multiple physical interfaces) | |
| uci set network.lan.type='bridge' | |
| # assign WAN physical interface to LAN (will be available as an additional LAN port now) | |
| uci set network.lan.ifname="$(uci get network.lan.ifname) $(uci get network.wan.ifname)" | |
| uci del network.wan.ifname | |
| # Remove wan logical interface, since we will not need it. | |
| uci del network.wan |