- Android Studio Flamingo | 2022.2.1
- Build #AI-222.4459.24.2221.9862592, built on March 31, 2023
- Gradle JDK: jbr-17 (JetBrains Runtime version 17.0.6)
- Windows 11 (version 10.0.22000.1817)
オレは高校生シェル芸人 sudo
新一。幼馴染で同級生の more
利蘭と遊園地に遊びに行って、黒ずくめの男の怪しげな rm -rf /
現場を目撃した。端末をみるのに夢中になっていた俺は、背後から近づいてきたもう1人の --no-preserve-root
オプションに気づかなかった。
俺はその男に毒薬を飲まされ、目が覚めたら・・・ OS のプリインストールから除かれてしまっていた!
『 sudo
がまだ $PATH
に残っていると奴らにバレたら、また命を狙われ、他のコマンドにも危害が及ぶ』
上田博士の助言で正体を隠すことにした俺は、 which
に名前を聞かれて、とっさに『gnuplot
』と名乗り、奴らの情報をつかむために、父親がシェル芸人をやっている蘭の $HOME
に転がり込んだ。ところが、このおっちゃん・・・とんだヘボシェル芸人で、見かねた俺はおっちゃんになりかわり、持ち前の権限昇格能力で、次々と難タスクを解決してきた。おかげで、おっちゃんは今や世間に名を知られた名エンジニア、俺はといえばシェル芸 bot のおもちゃに逆戻り。クラスメートの convert
や ojichat
や textimg
にお絵かきコマンドと誤解され少年ワンライナーお絵かき団を結成させられる始末。
ではここで、博士が作ってくれたメカを紹介しよう。最初は時計型麻酔 kill
。ふたについた照準器にあわせてエンターを押せば、麻酔シグナルが飛び出し、プロセスを瞬時に sleep
させることができる。
次に、蝶ネクタイ型 banner
。裏についているダイヤルを調整すれば、ありとあらゆる大きさのメッセージを標準出力できる。必殺のアイテムなら fork
力増強シューズ。電気と磁力で足を刺激し、 :(){ :|:& };:
でプロセステーブ
# .github/workflows/publish.yml | |
name: Generate a build and push to another branch | |
on: | |
push: | |
branches: | |
- master # Remove this line if your primary branch is "main" | |
- main # Remove this line if your primary branch is "master" | |
jobs: |
# Instruction + template repo: https://github.com/FedericoPonzi/rust-ci | |
name: CI | |
on: | |
pull_request: | |
push: | |
branches: | |
- master | |
tags: | |
- 'v*.*.*' |
Adapted from Arch wiki
The extrnal monitor has to be attached to eGPU, not laptop. Otherwise this won't work.
Install virt manager:
sudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
Minimal example: transcode from MP3 to WMA:
ffmpeg -i input.mp3 output.wma
You can get the list of supported formats with:
ffmpeg -formats
Convert WAV to MP3, mix down to mono (use 1 audio channel), set bit rate to 64 kbps and sample rate to 22050 Hz:
本文譯自 [Tokio internals: Understanding Rust's asynchronous I/O framework from the bottom up][tokio-internals]。
Thanks [David Simmons][david-simmons] for this awesome article!
[Tokio][tokio] 是 Rust 的開發框架,用於開發非同步 I/O 程式(asynchronous I/O,一種事件驅動的作法,可實現比傳統同步 I/O 更好的延伸性、效能與資源利用)。可惜的是,Tokio 過於精密的抽象設計,招致難以學習的惡名。即使我讀完教程後,依然不認為自己充分內化這些抽象層,以便推斷實際發生的事情。
從前的非同步 I/O 相關開發經驗甚至阻礙我學習 Tokio。我習慣使用作業系統提供的 selection 工具(例如 Linux epoll)當作起點,再轉移至 dispatch、state machine 等等。倘若直接從 Tokio 抽象層出發,卻沒有清楚了解 epoll_wait()
在何處及如何發生,我會覺得難以連結每個概念。Tokio 與 future-driven 的方法就好像一個黑盒子。
# Author: Zameer Ansari | |
# You should look at the following URL's in order to grasp a solid understanding | |
# of Nginx configuration files in order to fully unleash the power of Nginx. | |
# http://wiki.nginx.org/Pitfalls | |
# http://wiki.nginx.org/QuickStart | |
# http://wiki.nginx.org/Configuration | |
# | |
# Generally, you will want to move this file somewhere, and start with a clean | |
# file but keep this around for reference. Or just disable in sites-enabled. | |
# |