記録は作業の証

鉄道とコンピュータ

2022-01-01から1年間の記事一覧

netctl環境でpkgfile-update.serviceがfailする問題を直す

pkgfile pkgfileはファイルを所有しているパッケージを高速に検索できるプログラムである。そのパッケージをインストールしていなくても検索できるため、システムにないコマンドが入力されたら候補となるパッケージを提案するフックが作られている。 参考: p…

競技プログラミングにRustで参加するときに、なるべく高速で入出力する

この記事の続きです。 elderica.hatenablog.jp 自分のコードが遅い ここずっと、アルゴ式というサイトでいろいろな問題に挑戦しています。このサイトは競うためものではないので、正答例や解説を読んだり、他人のコードを読むのが簡単です。 自分はRustで解…

コンパイラの開発を通してプログラムの書き方について学ぶ取り組み

低レイヤを知りたい人のためのCコンパイラ作成入門 https://www.sigbus.info/compilerbook 困ったら見るリファレンス実装: https://github.com/rui314/chibicc 自分で写経(?)しているコード https://github.com/sbwhitecap/9cc 記録を取ることもなく黙々と…

Common Lispを学ぶためのリソース

まずはこの記事を読むことをおすすめします。 A Road to Common Lisp 翻訳 · GitHub 書籍 Practical Common Lisp(実践Common Lisp) gigamonkeys.com 一番最初に読むのに向いている。内容は古びてはいるものの、リスト遊びに終始するよりはるかに良い。日本語…

OpenSMTPDを使ってOutlook.com経由でメールを送る

前提とする環境はArch Linuxで公式パッケージからopensmtpdをインストールする場合。 まずMicrosoftアカウントでアプリパスワードを発行する。 パーミッションは640、所有ユーザはroot、所有グループはsmtpdとして/etc/smtpd/secretsを書く。 hogefuga myacc…

Vim/NeovimでLisp処理系と対話するためのプラグイン Vlime

導入 リポジトリはこちら github.com 公式マニュアル 公式チュートリアル Susam Pal 氏によるチュートリアル 設定 デフォルトでは'\'(バックスラッシュ)キーをプレフィクスとするコマンドを使う。 自分はカンマに設定している。 let g:vlime_leader = ',' " …

Rustで1行に数字が並ぶテキストを読む方法

はじめに AtCoderなどの競技プログラミングのプラットフォームでは、標準入力として空白と改行で区切られたテキストが与えられることが多い。 例 N A_1 A_2 ... A_N Rustでは入出力の記述が煩雑になりやすいとされているため、有志によってproconioというク…

TRPL読書記 1

はじめに 知り合いが「これからはRustを知らないとまずいぞ」というので、重い腰をあげてRustを勉強することにした。 まずはTRPLから読んでみることにし、とりあえず第三章まで読んだので練習問題の自分の解答をここに掲載してみる。 書いたコード 温度を華…

picoCTF Write-up ARMssembly 0

問題文 https://play.picoctf.org/practice/challenge/160 What integer does this program print with arguments 4134207980 and 950176538? File: chall.S Flag format: picoCTF{XXXXXXXX} -> (hex, lowercase, no 0x, and 32 bits. ex. 5614267 would be …

picoCTF Write-up keygenme-py

問題文 https://play.picoctf.org/practice/challenge/121 keygenme-trial.py 考えたこと Pythonスクリプトを読み解くことで解くようだ。読み解くことで次のことがわかる。 フラグに関連する文字列が格納された変数群がある。 key_part_static1_trial key_pa…

picoCTF Write-up caesar

問題文 https://play.picoctf.org/practice/challenge/64 Decrypt this message. 考えたこと ヒントにはシーザー暗号のことが書かれていたので、これで復号すればよさそう。 問題は鍵がわからないことである。アルファベットだけで26通り試す必要がある。 Cy…

picoCTF Write-up Easy1

問題文 The one time pad can be cryptographically secure, but not when you know the key. Can you solve this? We've given you the encrypted flag, key, and a table to help UFJKXQZQUNB with the key of SOLVECRYPTO. Can you use this table to sol…

picoCTF Write-up The Numbers

問題文 https://play.picoctf.org/practice/challenge/68 The numbers... what do they mean? 考えたこと リンクはPNG画像を指している。画像ビューアで開くと、数列が書かれている。 {や}があることから、フラグそのものの可能性がある。 色々考えたすえ、A…

picoCTF Write-up Transformation

問題文 https://play.picoctf.org/practice/challenge/104 I wonder what this really is... enc ''.join([chr((ord(flag[i]) << 8) + ord(flag[i + 1])) for i in range(0, len(flag), 2)]) 考えたこと encというファイルには、文字化けする謎のバイナリデ…