News
jus共催 第46回人類はおそらくシェル芸に仕事を奪われるか奪われないかのどちらかであるシェル芸勉強会 に参加さ(文字数
jus共催 第46回シェル芸勉強会リンク集 | 上田ブログ¶
知見¶
同じ文字が出てくる行をひっかける(grep)¶
イディオムとして覚えてしまいたい(脳死)
$ echo {A..D}{A..D}{A..D}{A..D} | tr ' ' \\n | grep -Ev '(.).*\1' ABCD ABDC ACBD ACDB ADBC ADCB BACD BADC BCAD BCDA BDAC BDCA CABD CADB CBAD CBDA CDAB CDBA DABC DACB DBAC DBCA DCAB DCBA
LT¶
ネットワーク業界の闇(大変興味深かった)
ワイのLT
CTF入門のための情報
(3 comments)
第ニ回サイバーセキュリティ系LT会 in 東京において、質問を頂きました
「パソコンちょっとわかる」レベルの人のCTF入門は、どの本やサイトがおすすめですか?
への回答でございます
TL;DR¶
CTFは、解けた時が一番楽しい!!!!!!!11!1
ので 常設しているcpawCTFかpicoCTFをやってどんどん解いてみてください!
ここを読んでやってみる¶
CTF入門に関する情報はきなこさんとkusuwadaさんが綺麗に情報をまっとめてくださっています
ここを読むとわかるかなと
kusuwadaさんはpicoCTFのほぼ全ての問題解説を書いてくださっているので
- picoCTFをやってみる → わからない → kusuwadaさんのブログを見る
がとてもよさそう
余談¶
ダニング・クルーガー効果によるCTFの習熟度をうまく表現できない問題¶
CTFですが、競技の性質*1 とダニング・クルーガー効果*2 によって、"入門","初級","初心者","baby","beginner"などの記述があっても、それが難易度を表現していない*3 ことがあります
何が言いたいかというと、"入門","初級","初心者","baby","beginner" という記述があったとして「こんなに難しいのに初心者向けなのか…」と諦めてしまうのはちょっともったいないと思っているということです(それは、自分の得意分野と違った領域であるかもしれません)
*1:競技の性質¶
CTFは出題範囲が広範囲に及びます
- ネットワーク
- Web技術(DBやバックエンドの技術も含まれたりする)
- バイナリ(符号理論、信号処理、画像処理、組み込み技術etc..)
- Pwn(exploitとか、CTFの華ですね)
- Forensic(ファイルフォーマット、ファイルシステム、ログ解析、ディスク解析)
- 暗号
- Recon(OSINTを始めとした調査の技術)
- その他、雑学
ある分野では"常識"(これが初級とかbabyとか表現されたりする)であっても、別の分野からすると未知の話だったりします
ちなみに「私この分野は素人なのですが…」といいながら、全ジャンルを満遍なく解かれる方も極稀にいらっしゃいますが、たいていは得意分野を中心に問題を解いている方が多い印象です
趣味(興味のある分野)を深く掘り下げると、その周りの分野も巻き込んで掘り進むので好きなことを続けるのが個人的にはいいのかなと思っています
*2:ダニング・クルーガー効果¶
いわゆるチョットデキル曲線です
エンジニア用語の「完全に理解した」「何も分からない」「チョットデキル」は「ダニング・クルーガー効果」で簡単に説明ができます。これは一種の認知バイアスで能力の低い段階では自分の能力の低さを認識できないためです(過大評価しがち)。その反面で能力が高くなると過少評価しがちです。 pic.twitter.com/LGaJ4E5hWo
— おちゃめ (@ochame_nako) April 8 2019
自信と理解度の関係を図にしました。#完全に理解した pic.twitter.com/SA638Vy9UH
— 廻転楕円体๑2/2 DENDRA!Reincarnation出演 (@kaitendaentai) October 17 2018
ポイントは、初心者でも変態(褒め言葉)でも「初心者です」と言う点です
自身を過小評価する傾向は人間の自然な特性だと思っていて、むしろ健全な心の有り様かなと思っています
日本だと古来より"~道"(華道とか柔道とか)で表現してて、「完全に理解した」なんてなくて、ずっと先まで道が続いてて終わりはないという表現なのかと、CTFも然り
つまり、どんな問題でも"入門","初級","初心者","baby","beginner"と名付けられる可能性があります
*3:難易度を表現していない¶
競技プログラミングはスコアで定量的に測れますね
CTFは広大なコンピュータ技術の全領域を対象としているため、定量的に難易度(や、自身の技術レベル)を測ることが難しいと思っています(あと、別に測れなくてもいいのでは、とも思っています)
また、CTFで出題される問題の獲得点数で難易度の目安はわかりますが、そのCTF大会に閉じた相対的なものです
A大会のCTF 100点問題 と B大会のCTF 100点問題 が同程度の難易度とは限りません
その他 ご参考¶
"CTFってこういうものだよ"という解りやすいスライド
なんと初心者向けに勉強会を開催してくださっています!(行ったことはないんですが…)
良い本揃いです
同じく良書揃い
自分の過去のTweetを検索する方法
OwnTweetSearch¶
自分の過去のTweetを検索する方法¶
Twitterしてると、たまに「あぁ~このタイムラインの話題、あの時つぶやいたあの話なんだよな~」と思う時があります
でも、後の祭りでなかなか検索できないんですよね
そんな訳で簡単に検索できるツールを作りました
前提¶
以下のコマンドが使える環境があること、仮想環境のLinuxとかWSLとか
Macは動かない気がするけど、中身をちょっと書き換えればいけると思う
- jq,sed,awk,grep,tail
準備(自分の全ツイート履歴のダウンロード)¶
Twitterは自分の過去ツイートの全データをダウンロードできます
以下の手順を基にダウンロードします
zipで提供されるはずですので、中身を展開して確認しましょう
この中の tweet.js だけが必要です
OwnTweetSearch の導入¶
install¶
ダウンロードして、実行権つけて、一箇所中身の設定項目を書き換えるだけ
$ wget https://raintrees.net/attachments/download/709/OwnTweetSearch.sh
$ chmod u+x ./OwnTweetSearch.sh
$ vi OwnTweetSearch.sh - MY_NAME="own-twitter-id" #自身のTwitterのidを設定 + MY_NAME="ここに自分のTwitterのidの@を抜いた形で設定してください" #自身のTwitterのidを設定
中身¶
中身シェルスクリプトなので、どうということはない
#!/bin/bash
IFS='
'
MY_NAME="own-twitter-id" #自身のTwitterのidを設定
HIT_LIST=$(cat tweet.js |sed -e 's/window.YTD.tweet.part0 = //'|jq -r -c '.[]'|grep "$1")
HIT_COUNT=$(echo "${HIT_LIST}"|wc -l)
COUNT="1"
for RECORD in $HIT_LIST
do
echo $RECORD
ID=$(echo $RECORD|grep -o "\"id\":\".*\""|tr ',' '\n'|grep "\"id\":\".*\""|tail -1|awk -F'"' '{print $4}')
SCREEN_NAME=$(echo $RECORD|grep -o "screen_name\":\".*\","|awk -F'"' '{print $3}')
if [ -z "$SCREEN_NAME" ]
then
SCREEN_NAME=$MY_NAME
fi
echo "https://twitter.com/${SCREEN_NAME}/status/${ID}"
if [ "$HIT_COUNT" -gt 1 ]
then
echo "-------------------- [$HIT_COUNT] --------------------"
: $((HIT_COUNT--))
fi
done
使い方¶
tweet.jsが同じディレクトリにある状態で、引数に検索した文字を入れるだけ
複数件あると複数件ひっかかる
該当のJSONとURLを出力する
$ ./OwnTweetSearch.sh 私見
{"retweeted":false,"source":"<a href=\"http://www.twitpane.com\" rel=\"nofollow\">TwitPanePlus</a>","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"display_text_range":["0","161"],"favorite_count":"32","in_reply_to_status_id_str":"1121753187784876032","id_str":"1121772687645237249","in_reply_to_user_id":"983655865474363392","truncated":false,"retweet_count":"9","id":"1121772687645237249","in_reply_to_status_id":"1121753187784876032","created_at":"Fri Apr 26 13:47:04 +0000 2019","favorited":false,"full_text":"@urbsxb4mu 私見でございますが…以下を順番に読むといい気がしております\n\n入門UNIXシェルプログラミング―シェルの基礎から学ぶUNIXの世界 ブルース・ブリン (著)\nシェルプログラミング実用テクニック Kindle版 上田隆一 (著)\n\nワイ、入門シェルプログラミングの本でシェルスクリプトを覚(文字数","lang":"ja","in_reply_to_screen_name":"44GG44KT44GT","in_reply_to_user_id_str":"983655865474363392"}
https://twitter.com/44GG44KT44GT/status/1121772687645237249
$ ./OwnTweetSearch.sh 変態だ
{"retweeted":false,"source":"<a href=\"https://about.twitter.com/products/tweetdeck\" rel=\"nofollow\">TweetDeck</a>","entities":{"hashtags":[],"symbols":[],"user_mentions":[{"name":"シェル芸bot","screen_name":"minyoruminyon","indices":["3","17"],"id_str":"3978626952","id":"3978626952"}],"urls":[{"url":"https://t.co/hgjICWlvJF","expanded_url":"https://youtu.be/3OSJlfPag4A","display_url":"youtu.be/3OSJlfPag4A","indices":["36","59"]},{"url":"https://t.co/L8UwU6aKef","expanded_url":"https://twitter.com/yami_buta/status/1121942576657879040","display_url":"twitter.com/yami_buta/stat…","indices":["64","87"]}]},"display_text_range":["0","87"],"favorite_count":"0","id_str":"1121942740575461376","truncated":false,"retweet_count":"0","id":"1121942740575461376","possibly_sensitive":false,"created_at":"Sat Apr 27 01:02:48 +0000 2019","favorited":false,"full_text":"RT @minyoruminyon: 仮に変態だとしても変態という名の https://t.co/hgjICWlvJF だよ! https://t.co/L8UwU6aKef","lang":"ja"}
https://twitter.com/minyoruminyon/status/1121942740575461376
-------------------- [5] --------------------
{"retweeted":false,"source":"<a href=\"http://www.twitpane.com\" rel=\"nofollow\">TwitPanePlus</a>","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"display_text_range":["0","5"],"favorite_count":"1","id_str":"1012308409654231042","truncated":false,"retweet_count":"0","id":"1012308409654231042","created_at":"Thu Jun 28 12:15:07 +0000 2018","favorited":false,"full_text":"変態だった","lang":"ja"}
https://twitter.com/kanata201612/status/1012308409654231042
-------------------- [4] --------------------
{"retweeted":false,"source":"<a href=\"http://www.twitpane.com\" rel=\"nofollow\">TwitPanePlus</a>","entities":{"hashtags":[],"symbols":[],"user_mentions":[{"name":"","screen_name":"youkanyukari","indices":["3","16"],"id_str":"-1","id":"-1"}],"urls":[]},"display_text_range":["0","42"],"favorite_count":"0","id_str":"982603281049403394","truncated":false,"retweet_count":"0","id":"982603281049403394","created_at":"Sat Apr 07 12:57:32 +0000 2018","favorited":false,"full_text":"RT @youkanyukari: 超・記号オンリー難読化シェル芸 とか変態だ・・・","lang":"ja"}
https://twitter.com/youkanyukari/status/982603281049403394
-------------------- [3] --------------------
{"retweeted":false,"source":"<a href=\"http://www.twitpane.com\" rel=\"nofollow\">TwitPanePlus</a>","entities":{"hashtags":[],"symbols":[],"user_mentions":[{"name":"上田 隆一","screen_name":"ryuichiueda","indices":["3","15"],"id_str":"372780389","id":"372780389"}],"urls":[]},"display_text_range":["0","80"],"favorite_count":"0","id_str":"908140256137854976","truncated":false,"retweet_count":"0","id":"908140256137854976","created_at":"Thu Sep 14 01:28:04 +0000 2017","favorited":false,"full_text":"RT @ryuichiueda: 創造し続けようと思う人間には、変態しかあり得ない。人生は変態であり、変態だ。('シェル芸おじさん自叙伝 Ⅱ' p114514)","lang":"ja"}
https://twitter.com/ryuichiueda/status/908140256137854976
-------------------- [2] --------------------
{"retweeted":false,"source":"<a href=\"https://mobile.twitter.com\" rel=\"nofollow\">Twitter Web App</a>","entities":{"hashtags":[],"symbols":[],"user_mentions":[],"urls":[]},"display_text_range":["0","66"],"favorite_count":"6","id_str":"1183283246122946560","truncated":false,"retweet_count":"0","id":"1183283246122946560","created_at":"Sun Oct 13 07:28:04 +0000 2019","favorited":false,"full_text":"着圧ソックスが低気圧時の頭痛に効くっていうから物色してたんだけど、女性用しかないな。これを着ける…?変態じゃないか…(変態だけど…)","lang":"ja"}
https://twitter.com/kanata201612/status/1183283246122946560
jus共催 第45回せんせいがAIとか(中略)かんけいないけどシェル芸勉強会 に参加させて頂きました!
実用的です!詳しくはリンク先を参照!
午前中はぷるさんによるJavaScriptの解説でした!
勉強になりました。
jus共催 第45回シェル芸勉強会リンク集 | 上田ブログ¶
このサイトではGoogle AdSenseやその他ソーシャルボタンのためにCookieを使用しています。もし同意いただけない場合はブラウザでクッキーを無効にして閲覧をお願いします。This site uses cookies for Google AdSense and some social buttons. If you cannot accept our use of cookies please disable cookies on your browser. Got It.
知見¶
sortのバージョンソート¶
やばいこれ、今まで知らなかった人生損してた
記号を挟んだ数値のレコードを適切にソートしてくれる
つまり、1と10のソートに対して、01と10に変換するような気を遣わなくてよい素敵な方法
$ cat test.txt
1.2
1.1
1.12
1.11
1.10
1.111
2019/1/30
2020/1/1
2019/10/20
$ cat test.txt |sort -V
1.1
1.2
1.10
1.11
1.12
1.111
2019/1/30
2019/10/20
2020/1/1
"バージョン"という言葉に惑わされがちだけれど、ipアドレスのソートもちろんできる
目から鱗
$ cat iplist.txt 20.1.2.1 221.111.49.1 192.168.30.1 168.192.0.1 202.145.12.1 34.23.10.1 12.132.12.1 230.2.1.1 30.1.11.1 192.168.0.1 $ cat iplist.txt |sort -V 12.132.12.1 20.1.2.1 30.1.11.1 34.23.10.1 168.192.0.1 192.168.0.1 192.168.30.1 202.145.12.1 221.111.49.1 230.2.1.1
uniq¶
重複がある行は出力しないuオプション
$ cat test.txt
aaa
aaa
aaa
bbb
bbb
ccc
ddd
$ cat test.txt |uniq -u
ccc
ddd
比較するフィールドを指定するfオプション、何文字分比較するか指定するwオプション
- 1項目目から3文字分をキーとして比較し重複を排除
- 2項目目から4文字分をキーとして比較し重複を排除(3が重複しているが、これはソート前に処理しているため、適切にソートしたら重複排除される)
$ cat test.txt
aaa 1111
aaa 1111
aaa 3333
bbb 1111
bbb 3333
ccc 2222
ddd 2222
$ cat test.txt |uniq -f 0 -w 3
aaa 1111
bbb 1111
ccc 2222
ddd 2222
$ cat test.txt |uniq -f 1 -w 4
aaa 1111
aaa 3333
bbb 1111
bbb 3333
ccc 2222
LT¶
いろいろ面白すぎる
冒頭のリンク先へ
AVTOKYO2019でお話した内容を改めてLTしました
異体字セレクタ難読化シェル芸(公開用).pdf¶
null
AVTOKYO2019の資料はここにまとめられています
pagemapを追加しました
lrsjng/pagemapを使って当サイトにpagemap機能を追加しました
縦に長い記事が少し扱いやすくなったと思います
セットアップ手順は以下
https://raintrees.net/projects/a-painter-and-a-black-cat/wiki/Redmine#PageMap%E3%81%AE%E8%BF%BD%E5%8A%A0
ASCIIコードだけどEBCDICコードの順にソートしたい(シェル芸)
この記事はシェル芸 Advent Calendar 2019の13日目の記事です。
カレンダーに空きがあって、せっかくなので、ちょっと前に書いたブログに加筆して再公開します
それでですね、標題の話を聞いた。よくある話らしい
つまり、今までメインフレームでソート処理してたんだけど、オープン化したら文字コードがASCIIに変わってソートした結果の並び順が変わってしまった。前と同じにしたい、と。。
ASCIIコードとEBCDICコードは同じアルファベットでも割り当てられている値が異なるので、当然そのままソートすると結果が異なる
文字コード¶
ASCIIコード¶
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | |
---|---|---|---|---|---|---|---|---|
0 | NUL | DLE | SP | 0 | @ | P | ` | p |
1 | SOH | DC1 | ! | 1 | A | Q | a | q |
2 | STX | DC2 | " | 2 | B | R | b | r |
3 | ETX | DC3 | # | 3 | C | S | c | s |
4 | EOT | DC4 | $ | 4 | D | T | d | t |
5 | ENQ | NAC | % | 5 | E | U | e | u |
6 | ACK | SYN | & | 6 | F | V | f | v |
7 | BEL | ETB | ' | 7 | G | W | g | w |
8 | BS | CAN | ( | 8 | H | X | h | x |
9 | HT | EM | ) | 9 | I | Y | i | y |
A | LF/NL | SUB | * | : | J | Z | j | z |
B | VT | ESC | + | ; | K | [ | k | { |
C | FF | FS | , | < | L | \ (¥ ) | l | | |
D | CR | GS | - | = | M | ] | m | } |
E | SO | RS | . | > | N | ^ | n | ‾ |
F | SI | US | / | ? | O | _ | o | DEL |
列が上位3ビット、行が下位4ビットを表す
例えば、"a"だったら0x61
ASCIIコードは7bitで文字を表現している
EBCDICコード(英小文字を拡張したケース)¶
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | A | B | C | D | E | F | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | NUL | DLE | DS | (予約) | SP | & | - | { | } | \ | 0 | |||||
1 | SOH | DC1 | SOS | (予約) | / | a | j | ~ | A | J | 1 | |||||
2 | STX | DC2 | FS | SYN | b | k | s | B | K | S | 2 | |||||
3 | ETX | TM | WUS | IR | c | l | t | C | L | T | 3 | |||||
4 | SEL | RES/ENP | BYP/INP | PP | d | m | u | D | M | U | 4 | |||||
5 | HT | NL | LF | TRN | e | n | v | E | N | V | 5 | |||||
6 | RNL | BS | ETB | NBS | f | o | w | F | O | W | 6 | |||||
7 | DEL | POC | ESC | EOT | g | p | x | G | P | X | 7 | |||||
8 | GE | CAN | SA | SBS | h | q | y | H | Q | Y | 8 | |||||
9 | SPS | EM | SFE | IT | i | r | z | I | R | Z | 9 | |||||
A | RPT | UBS | SM/SW | RFF | ¢ | ! | ¦ | : | ||||||||
B | VT | CU1 | CSP | CU3 | . | $ | , | # | ||||||||
C | FF | IFS | MFA | DC4 | < | * | % | @ | ||||||||
D | CR | IGS | ENQ | NAK | ( | ) | _ | ' | ||||||||
E | SO/LS1 | IRS | ACK | (予約) | + | ; | > | = | ||||||||
F | SI/LS0 | IUS/ITB | BEL | SUB | ¬ | ? |
列が上位4ビット、行が下位4ビットを表す
例えば、"a"だったら0x81
という訳で数字、英小文字、英大文字の出現順番が違うのでソートしても同じ結果にならないんですね
テストデータ¶
$ cat testdata.txt
AAA1001
ABA0100
BBB0010
XXX0201
01C0020
02D0002
90E3000
普通にソート¶
$ cat testdata.txt |sort
01C0020
02D0002
90E3000
AAA1001
ABA0100
BBB0010
XXX0201
アルファベットから始まるデータが後ろに来ている
EBCDICのコード順でソートした場合を想定すると英大文字、英小文字、数字の順でソートされるはず
EBCDIC順にソートシェル芸¶
こんな感じかな
$ cat testdata.txt|tr a-zA-Z0-9 0-9A-Za-z|sort|tr 0-9A-Za-z a-zA-Z0-9
AAA1001
ABA0100
BBB0010
XXX0201
01C0020
02D0002
90E3000
数字、英小文字、英大文字をEBCDICの順番に文字を入れ替えた上でソートして、ソート後にもとに戻す
厳密には、記号の並び順までtrで対応付けなければいけないと思うけれど、こんな感じでいけるのでは
trめっちゃ便利やなぁ
関連情報¶
漢数字ソートを応用してもできる気がする
上田ブログ 本日観測したシェル芸その2(漢数字のソート)
https://b.ueda.tech/?post=10610
俺的備忘録 〜なんかいろいろ〜 ターミナル上で漢数字ソートを行う
https://orebibou.com/2017/10/%E3%82%BF%E3%83%BC%E3%83%9F%E3%83%8A%E3%83%AB%E4%B8%8A%E3%81%A7%E6%BC%A2%E6%95%B0%E5%AD%97%E3%82%BD%E3%83%BC%E3%83%88%E3%82%92%E8%A1%8C%E3%81%86/
AVTOKY2019に登壇して、TMCIT×大和セキュリティ MAIR忍者チャレンジで優勝した
AVTOKYO2019¶
AVTOKYO は コンピュータセキュリティについて真摯に語り合うコミュニティベースの日本のカンファレンスです
合言葉は「no drink, no hack」
「異体字セレクタ難読化シェル芸」というタイトルで登壇しました
発表前と感想¶
AV出演なんかドキドキしてきた… #AVTOKYO
— kanata (@kanata201612) October 31 2019
「こういうの初めて?」
ワイ「はい…///」
出演して衆目の目に晒されて逝った #avtokyo https://t.co/XRmpsvUsm6
— kanata (@kanata201612) November 2 2019
発表資料¶
公開されました。こちらです。
様子¶
雰囲気を実況して頂いた方のツイートでご紹介します
no drink, no hack!
突然の乾杯! #avtokyo pic.twitter.com/J7WKd0Jc6G
— takesako (y0sh1) (@takesako) November 2 2019
いつもの
難読化シェル芸の世界#AVTOKYO pic.twitter.com/y5M3rT8TDI
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
ステガノグラフィの説明
【ステガノグラフィ】
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
データを他のデータの中に隠す技術。
電子透かしとかに使われる。#AVTOKYO pic.twitter.com/ynPe6txAV0
ワタナベエンコードめっちゃウケるんですよね!ワタナベ難読化シェル芸の作成者の隊長さんには、このスライドのレビューをしてもらいました。助かりました。ありがとうございます。
ワタナベエンコードという狂気#AVTOKYO pic.twitter.com/u5khXiyvc6
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
全部違う字です#AVTOKYO pic.twitter.com/LhGsg7hubR
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
Unicodeの異体字セレクタは、異体字が存在しない文字にもくっつけることができます
こっそり情報を仕込めば、違和感がなく気づかれることはないでしょう
240パターンの猶予があるが、
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
ASCIIコードが128文字のため、
余裕で文字を埋め込める。#AVTOKYO pic.twitter.com/OSJiRYbEzL
メリデメ
メリットとデメリット#AVTOKYO pic.twitter.com/ytHdWzfQmU
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
ユースケース(本音を隠せるw)
表向きと裏向きの意味を持つ、
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
京都人のこころを体現できるね!#AVTOKYO pic.twitter.com/3jO3JvzUnq
ツールは ivsteg にあります。
異文字セレクタはこちら。#AVTOKYOhttps://t.co/Ud0lgSkPRO pic.twitter.com/efSpcejVVH
— おくさん🐈解説屋のねこ (@a_okusan) November 2 2019
こんなん絶対美味いやろ・・・(美味しかった)
@avtokyo
— ake⤴︎ (@akedon) November 2 2019
アフターパーティなう pic.twitter.com/S3To9DT4kf
スピーカー特典¶
頂きました。幸せすぎた。
サコッシュ、Tシャツ、飲み物が温くならないやつ、Lチカバッチ(最高)
TMCIT × 大和セキュリティ MAIR忍者チャレンジ¶
マルウェアの解析とインシデントレスポンスを競技する会(略してMAIR)
みむらさん、ぴんくさん、ほよたかさん、λさん、と会場の都立産業技術高等専門学校の学生さん(以上、順不同)、という夢のドリームチームみたいになった末席に加えてもらいました。
強かった。ヤバかった。このつよつよチームが徹夜する勢いでガチで解析してすごいことになってた(ワイは口を開けて見てた)
完走した感想¶
口開けて見てたんですが、めっっっっっちゃ勉強になったのは、各種ツールの使い方も、もちろんそうなんですが、
- 作業環境の整備(一瞬で済んでた)
- コミュニケーションツール → slackで専用チャネル作ったよ!
- IOC → HackMDでみんなで共有しよう!
- 発表資料作成 → Poweroint用意したよ!オンラインでみんなで編集しよう!
ここまで、秒、そしてですね
- 意思疎通のスピードの速さ
- 重複しない役割分担
これをみむらさんが上手く捌いてくれて、かつ、つよつよメンバは私や学生さんにちゃんと説明してくれるんですよ・・・神か
このやりとりですよ。チームビルディング力が凄かった。
優勝特典¶
Sランク上忍に認定された!ワザマエ!
賞状と大和セキュリティ勉強会の無料パスを頂いた。嬉しすぎた。
jus共催 第44回シェル芸7周年で(中略)勉強会(無保証)に参加しました
jus共催 第44回シェル芸7周年で変態化が進みすぎなので実用的な問題しか出さないぞと宣言しておく勉強会(無保証)¶
実用的です!詳しくはリンク先を参照!
午前中はぷるさんによるJavaScriptの解説でした!
勉強になりました。
jus共催 第44回シェル芸勉強会リンク集 | 上田ブログ¶
Sun Oct 27 16:09:24 JST 2019 (modified: Tue Oct 29 09:02:12 JST 2019) views: 149 keywords: プログラミング 勉強会 シェル芸 シェル芸勉強会 報告 2019年10月27日土曜日、さくらインターネット様のセミナールームにて、 日本UNIXユーザ会 さんとシェル芸勉強会を共催いたしました。また、福岡、大阪、長崎でサテライト会場を設けていただきました。毎度略儀ながら、ご協力いただいた皆様ありがとうございました。横田さん、お疲れのところありがとうございました。 色塗ってました(無になった)#シェル芸 jus共催 第44回シェル芸7周年で変態化が進みすぎなので実用的な問題しか出さないぞと宣言しておく勉強会(無保証) - Togetter https://t.co/GX4xdihETe @togetter_jp さんから- 上田 隆一 (@ryuichiueda) October 27 2019 #シェル芸 #福岡 参加者の皆様、毎回問題作成と会場ワンオペ?の上田さん、お疲れ様でした。「第44回シェル芸勉強会:福岡サテライト」レポート - 日々之迷歩 https://t.co/UV5D7eLkYL #はてなブログ - ぱぴろんちゃん😱 (@papiron) October 26 2019 はてなブログに投稿しました第44回シェル芸勉強会 大阪サテライト レポート
知見¶
abcdefgをa b c d e f gにする方法¶
$ echo abcdefg | sed 's;.;& ;g'
a b c d e f g
$ echo abcdefg | grep -o .|tr '\n' ' '
a b c d e f g
難読化シェル芸シリーズが草¶
他にも面白いLT目白押しなので、ぜひ冒頭のリンク先へ
ワイ、特定の日、特定の時刻で動作が変わるコマンドについて
町工場を見学しよう!印刷所見学ツアー(しまや出版)で見学させて頂きました
町工場を見学しよう!印刷所見学ツアー¶
技術書同人誌博覧会の運営メンバの方々で企画してくださったようです。
企画・引率してくださったariakiさんありがとうございました。
書籍の印刷について¶
見学内容をご紹介するにあたって、以下の知識を覚えておくとより楽しめます。
書籍執筆勢には釈迦に説法な気もします。
方法 | 特徴 |
---|---|
オフセット印刷 | 版と呼ばれる金属板を使って版元を作る。高品質、大量生産に向いている。 |
オンデマンド印刷 | 入稿データからそのまま印刷。ご家庭のプリンタが凄くなった物だと思うと理解しやすい。 |
コストの関係¶
少量生産だとオンデマンド印刷の方がコスト的に有利です。また、版を作る必要のあるオフセット印刷と比較して早くできます。
大量生産する場合は、オフセット印刷が有利になります。
この関係は、150部~200部が分岐点になるそうです。
そんなわけで、以下の関係になります。
- 少量生産(150部~200部以下)
- オンデマンド印刷
- 大量生産(150部~200部以上)
- オフセット印刷
見学!¶
王子¶
王子です。
王子と八王子は、伊豆と焼津くらい違った
— kanata (@kanata201612) September 28 2019
社員!¶
かわ。ほんとにね、思ったんだけどエンジニアの事務所にこそ、お招きした方がいいと思ったんですよ。
こういう子がいると声を荒げる人が減る気がするんですよねぇ。
ちになみにトラの子は、先日の千葉の台風災害でヨロヨロフラフラしてた所を保護した子だそうです。
でも、とても大人しくて、実家のような安心感でくつろいでたw
まだ名無しの保護猫くんが、本部長に連れられてしまや出版にやってきました。
— 同人誌印刷会社しまや出版【公式】 (@ShimayaTokyo) September 17 2019
いきなり、癒し課のお局 ユキ主任のシャーの洗礼を浴びてしまいましたが、社猫として採用なるのでしょうか?
ユキ主任との今後の面談に注目が集まります。 pic.twitter.com/4JxYIPWs88
オンデマンド印刷機¶
C(シアン)M(マゼンタ)Y(イエロー)K(ブラック)でフルカラー印刷できるぞ!白インクも載せられるそう
ハイスペックモデル。お値段なんと!マンション買える位の値段になるらしい。
オフセット印刷の版¶
このアルミ板が版です!
製本するサイズによりますが、これ1枚で一度に何ページか作れて、作ったやつは後から裁断するという方式になります。
オフセット印刷機¶
この1個に1枚の版と1色のインクがのるぞ!
裁断機¶
ズバッと。下の穴から空気が出てくるので重い紙でも移動が楽ちんだ!
丁合機¶
各ページを一枚ずつとって、一冊にするマシーン
すごいのは、丁合されたものはページの幅を変えてあって、1冊1冊が迷うことなく手に取れるという。ギザギザになってるのがわかります。
最後にこれ¶
表紙をくっつけて、上下左右の不要な部分をズバッとやって完成
頂いてしまった¶
ありがとうございますありがとうございます。
ariakiさんからも技書博のグッズを頂いてしまいました。
しまや出版¶
自分が薄い本を作る時はお願いしたい…!というか、お願いしたくなった。お願いします。
同人誌印刷会社なら・初めての人"にも"優しい同人誌印刷所「しまや出版」¶
同人誌印刷 ・自費出版印刷なら同人誌専門の印刷会社へ!初めての方、同人の味方「しまや出版」は、東京の印刷会社です。紙原稿からデータ原稿、小部数から大部数まで、イラストから小説まで対応可能です。全国からご入稿いただいておりますので、初めての方でも安心してください!同人誌を創って43年、しまやは質の高さも自慢です。小説やオンデマンドも是非!
技術書典7に行ってキマシタワー
どんどん規模が大きくなる技術書の同人誌販売イベント
はい、もぅ規模が大きくなるにつれて欲しい本が増えるめっちゃ楽しい
買ったもの¶
自著は売り切れてた¶
難読化シェル芸の本、ワイが人をかき分けて辿り着いた時点で売り切れてた #技術書典
— kanata@技術書典7 く҉1҉7҉D҉ (@kanata201612) September 22 2019
ありがとうございます〜
amazonで売ってますので、もし興味がございましたら
打ち上げに混ぜて頂いた¶
楽しかったですお疲れさまでした
モア充になれたひと時でした
モア充ほんま草
ナニコレー pic.twitter.com/I2Glu2bU3L
— kanata@技術書典7 く҉1҉7҉D҉ (@kanata201612) September 22 2019
ナニコレー pic.twitter.com/9LE3i7Yhu7
— kanata@技術書典7 く҉1҉7҉D҉ (@kanata201612) September 22 2019
« Previous 1 2 3 4 ... 15 Next » (11-20/149)
Also available in: Atom