If you, like me, resent every dollar spent on commercial PDF tools,
you might want to know how to change the text content of a PDF without
having to pay for Adobe Acrobat or another PDF tool. I didn't see an
obvious open-source tool that lets you dig into PDF internals, but I
did discover a few useful facts about how PDFs are structured that
I think may prove useful to others (or myself) in the future. They
are recorded here. They are surely not universally applicable --
the PDF standard is truly Byzantine -- but they worked for my case.
| function getK (elo) { | |
| // for rank '?' (<10 games played) the K factor is 20 | |
| if (elo < 700) return 34; // rank E | |
| if (elo < 1000) return 32; // rank D | |
| if (elo < 1300) return 30; // rank C | |
| if (elo < 1600) return 28; // rank B | |
| if (elo < 1900) return 26; // rank A | |
| return 24; // rank S | |
| } |
| from ctypes import CDLL | |
| libc = CDLL("libc.so.6") | |
| now = int(floor(time.time())) | |
| libc.srand(now) | |
| print(libc.rand()) |
It's great for beginners. Then it turns into a mess.
There are already dozens of tutorials to setup an Arch and Windows dual boot - welcome to a dozen + 1. Like most others this is a step by step guide. Unlike most others the steps are ordered in a way that makes sense (starting with the download first - duh!) so you won't have to restart your computer a gazillion times.
I did this on a single SSD Dell XPS 15 with windows 10 preinstalled. It's obviously possible to follow this guide if you're installing Arch onto a different drive or if you're running older hardware. If you run into any problems please be sure to read through the Arch Installation Guide and the Arch Dual boot with Windows wiki.
To get started you will need:
- a stable internet connection
- a USB key with 1GB storage
- a cup of coffee & and a can do attitude
| A á pa apa.;He hides the bag. | |
| Apā á pek.;The taro is spoiled. | |
| Apā á pek.;Taro is raw. | |
| A á si mbaˈa apa.;He is weaving the bag. | |
| Apā á pek.;The taro has gone bad. | |
| Meŋ á lo ale zá.;I bit my tongue. | |
| Ŋgi zek é lēgʉ̄ŋ ńtō.;Our riparian field is near the bridge. | |
| Meŋ á si ŋgipɛ apa zá.;I'm hanging my bag on my shoulder. | |
| Meŋ á yip ŋ̄gó egá.;I'm hanging my bag on my shoulder. | |
| Meŋ á feŋ ndaŋ a ntaŋ.;I kept the oil box at the store. |
With its built-in Bluetooth capabilities, the ESP32 can act as a Bluetooth keyboard. The below code is a minimal example of how to achieve it. It will generate the key strokes for a message whenever a button attached to the ESP32 is pressed.
For the example setup, a momentary button should be connected to pin 2 and to ground. Pin 2 will be configured as an input with pull-up.
In order to receive the message, add the ESP32 as a Bluetooth keyboard of your computer or mobile phone:
- Go to your computers/phones settings
- Ensure Bluetooth is turned on
| code --install-extension QassimFarid.ejs-language-support | |
| code --install-extension SirTori.indenticator | |
| code --install-extension TimonVS.ReactSnippetsStandard | |
| code --install-extension TwentyChung.jsx | |
| code --install-extension abusaidm.html-snippets | |
| code --install-extension asvetliakov.move-imports | |
| code --install-extension aws-scripting-guy.cform | |
| code --install-extension bierner.markdown-preview-github-styles | |
| code --install-extension ccitiriga.TSMethodCreator | |
| code --install-extension christian-kohler.npm-intellisense |