- Navigate to your Personal Access Tokens
- Create a new Access Token with the following authorisations:
read:packageswrite:packagesdelete:packages
$ echo "aiwi8esgykxcu1t686p_7ea_l6abwc76vue0kecq" | docker login ghcr.io -u ccjmne --password-stdin| 1. Create a user for your friend | |
| sudo mkdir -p /home/your-friend | |
| sudo touch /home/your-friend/log | |
| sudo tee /home/your-friend/chat > /dev/null <<-'EOF' | |
| trap exit SIGINT | |
| tail -f /home/your-friend/log & | |
| while IFS=$'\n' read -r line; do | |
| [[ -n "$line" ]] && echo "$USER: $line" >> /home/your-friend/log | |
| done |
| Recipe: | |
| ======= | |
| let x be a positive integer | |
| let a be: 2x!! - 2x | |
| let b be: 2x!! - 4x | |
| For a most tasteful joke, let x be 5, 6, or 7. | |
| Contemplate the reality that the following two statements are true: |
read:packageswrite:packagesdelete:packages$ echo "aiwi8esgykxcu1t686p_7ea_l6abwc76vue0kecq" | docker login ghcr.io -u ccjmne --password-stdin| import com.fasterxml.jackson.core.JsonProcessingException; | |
| import com.fasterxml.jackson.databind.DeserializationFeature; | |
| import com.fasterxml.jackson.databind.JsonNode; | |
| import com.fasterxml.jackson.databind.ObjectMapper; | |
| import com.fasterxml.jackson.databind.PropertyNamingStrategy; | |
| import org.jooq.*; | |
| import org.jooq.impl.DSL; | |
| import java.sql.SQLException; | |
| import java.sql.SQLFeatureNotSupportedException; |
(by @andrestaltz)
If you prefer to watch video tutorials with live-coding, then check out this series I recorded with the same contents as in this article: Egghead.io - Introduction to Reactive Programming.