ときどきの雑記帖 RE* (新南口)
Binary Star
コラボ商品
アニメ『スプリガン』のコラボ商品一覧 | AMNIBUS(アムニバス)
オープニングでも出てくるあの「なぞのプレート」があったら欲しい (材質はおいといて)😄
paypay
アクセントが気になるシリーズ。
とあるお店で、自分の前に支払いしていた人がレジで ぺーぺーの意味や使い方 わかりやすく解説 Weblio辞書 と同じアクセントで「PayPayで」 と言ったのを聞いて、一瞬何を言ったのか把握できなかった。
psychic power
MSのプロダクトに関する話題を多く取り上げているblogの最近の記事
How can I get WideCharToMultiByte to convert strings encoded in UTF-16BE? - The Old New Thing
で
The WideCharToMultiByte function does not have psychic powers. It converts from UTF-16LE.
というのを見つけてくすりと来た。 そんだけ。
新刊近刊
具体と抽象
元ネタ(?)本を読もうと思いつつ まだ手が出ていなかったのだけど、 これはいいかもしれない。
Androids
Chet Haase "Androids" 読んだ。スマホのAndroidがどうして現在のポジションに到達できたかを、中の人が中の人たちの証言から解き明かした本。めちゃくちゃ面白かった。みんな「Googleだからやれたんやろ」ぐらいに思ってると思うけど、Googleでさえこんな綱渡りだったのね https://t.co/IcQuJfH4Td
— 専門性・売上・原稿 (@golden_lucky) October 9, 2023
本の大半はAndroid 1.0のリリースにこぎつけた人たちの生い立ちと、彼らが作り出したAndroidの機能の説明に割かれていて、だいたい「すごいやつがすごい機能を作りました」話なんだけど、低レイヤを知らない人も意識して書かれているので、スマホの技術スタックの話としてもふつうに面白い
— 専門性・売上・原稿 (@golden_lucky) October 9, 2023
この本を読んではじめて知った個人的にへえと思った話として、AndroidがBe/Palmの直系にあたるといっても過言でないという点があった。たしかにこんなの、どんなにGoogleの中の人たちが超人でも、ウェブ技術の企業が無から作り出せるものじゃないよな
— 専門性・売上・原稿 (@golden_lucky) October 9, 2023
この本を読んだことで、AndroidはiPhoneに対抗するために急ごしらえで作られたものとかではぜんぜんなく、その何年も前からモバイルのあるべき未来像を考えてた人たちが粛々と開発を続けた結果で、それがiPhoneにも影響しながら現在のスマホの姿へ収斂してきたのだなあと実感させられてすごくよかった
— 専門性・売上・原稿 (@golden_lucky) October 9, 2023
Androidが「製品よりもプラットフォームを作るほうがクール」という無理ゲーを敢行して、コンシューマー製品を作ることだけ考えてたiPhoneのほうが先に製品として出来がいい形で出たわけだけど、彼らが無理ゲーやってくれなかったら、iPhoneにもアプリストアや通知が存在しなかったかもなんだよな
— 専門性・売上・原稿 (@golden_lucky) October 9, 2023
へー、どこの本だろうとリンク先を辿ったら
出版社: No Starch Press (2022/7/12)
No Starchの本で、出版社のサイトをみると
確かにある。 No Starchの新刊はわりと熱心に追いかけていたと思うのだけど 見落としてたなあ。
In 2004, Android was two people who wanted to build camera software but couldn’t get investors interested. Today, Android is a large team at Google, delivering an operating system (including camera software) to over 3 billion devices worldwide. This is the inside story, told by the people who made it happen.
Androids: The Team that Built the Android Operating System is a first-hand chronological account of how the startup began, how the team came together, and how they all built an operating system from the kernel level to its applications and everything in between. It describes the tenuous beginnings of this ambitious project as a tiny startup, then as a small acquisition by Google that took on an industry with strong, entrenched competition. Author Chet Haase joined the Android team at Google in May 2010 and later recorded conversations with team members to preserve the early days of Android’s history leading to the launch of 1.0. This engaging and accessible book captures the developers’ stories in their own voices to answer the question: How did Android succeed?
邦訳が出れば読みたいけど
なんとなくそうはならない気がするので
英語版読みますかね
(鹿野さんのポストツイートにあったBe云々が気になる)。。
Kindle版ならあまり高くないし
データで読み解く地理
にゃんこそば🌤データ可視化(@ShinagawaJP)さん / X さんの近刊をAmazonで発見。
可視化でわかるデータの本質
昨今、ITを利用して、さまざまな地理データを集めることができます。しかし、地理データを漠然と見ていても、 そこに隠された本質にたどりつくことは簡単ではありません。これを防ぐ1つの方法がデータの「可視化」です。 可視化することで「思い込み」にとらわれていたことに気が付いたり、意外な事実を発見できることがあります。 本書では、経済や生活、自然や歴史のさまざまな地理データを可視化して、おもわず「へぇー!」とひざを打つ地図、 今日から 「役に立つ」地図、知的好奇心を刺激される「おもしろい」地図を作成し、そこから読み取れることを分析・考察しました。
1年生
SQL1年生 データベースのしくみ SQLiteで体験してわかる!会話でまなべる! | SEshop| 翔泳社の本・電子書籍通販サイト
Pythonで同じようなタイトルの本が出ていて、 こちらは2年生、3年生と出ているのだけど SQL本も2年生、3年生と進んで(?) いくのだろうか? そうなった場合にどういう内容になるのかちょっと気になる😄
- パワポの5分ドリル PowerPointの「伝わる」資料デザイン | SEshop| 翔泳社の本・電子書籍通販サイト
- プロジェクトマネジメントの本物の実力がつく本 組織力・コミュニケーション能力・リーダーシップ・キャリア構築力を全部鍛える | SEshop| 翔泳社の本・電子書籍通販サイト
MEAP
以前紹介したこともあるのも含めて
- Lead Developer Career Guide
- 100 TypeScript Mistakes and How to Avoid Them
- 100 Java Mistakes and How to Avoid Them
- Grokking Data Structures
- Software Mistakes and Tradeoffs
one true awk
最近のissueにこんなのがあった。
awk: regular expression too big: out of space in set_gototab...
· Issue #199 · onetrueawk/awk- Correctly reset the goto table for a state. by millert · Pull Request #200 · onetrueawk/awk
要するにone true awkをUTF-8対応の新バージョンにしたら問題が出た という話なんだけど
i’m trying to update the prebuilt one-true-awk binary used to build AOSP, but hitting failures:
/bin/bash -c "(rm -f out/target/product/vsoc_arm64/obj/APPS/webview_intermediates/package.apk )
&& (cp \"out/soong/.intermediates/external/chromium-webview/webview/android_common/signed/webview.apk\"
\"out/target/product/vsoc_arm64/obj/APPS/webview_intermediates/package.apk\" )
&& (mkdir -p out/target/product/vsoc_arm64/appcompat
&& rm -f out/target/product/vsoc_arm64/appcompat/webview.log
&& echo -n \"Package name: \" >> out/target/product/vsoc_arm64/appcompat/webview.log
&& out/host/linux-x86/bin/aapt2 dump resources out/target/product/vsoc_arm64/obj/APPS/webview_intermediates/package.apk
| awk -F ' |=' '/^Package/{print \$3}' >> out/target/product/vsoc_arm64/appcompat/webview.log
&& echo \"Module name in Android tree: webview\" >> out/target/product/vsoc_arm64/appcompat/webview.log
&& echo \"Local path in Android tree: external/chromium-webview\" >> out/target/product/vsoc_arm64/appcompat/webview.log
&& echo \"Install path: product/app/webview/webview.apk\" >> out/target/product/vsoc_arm64/appcompat/webview.log
&& echo >> out/target/product/vsoc_arm64/appcompat/webview.log )
&& (echo \"appcompat.sh output:\" >> out/target/product/vsoc_arm64/appcompat/webview.log
&& PACKAGING=out/target/common/obj/PACKAGING ANDROID_LOG_TAGS=\"*:e\" out/host/linux-x86/bin/appcompat.sh
--dex-file=out/target/product/vsoc_arm64/obj/APPS/webview_intermediates/package.apk
--api-flags=out/soong/hiddenapi/hiddenapi-flags.csv 2>&1 >> out/target/product/vsoc_arm64/appcompat/webview.log )"
awk: regular expression too big: out of space in set_gototab...
input record number 15671, file
source line number 1
(上記のコードは適当なところで改行を入れてるけど元は一行)
エラーメッセージからどこで出されたものかを追いかけると (というかメッセージに関数名が含まれているんだけど)
awk/b.c at d8e4368964e4471a54a755823004f2b1aabc0f80 · onetrueawk/awk
void overflo(const char *s)
{
FATAL("regular expression too big: out of space in %.30s...", s);
}
awk: regular expression too big: out of space in set_gototab...
awk/b.c at d8e4368964e4471a54a755823004f2b1aabc0f80 · onetrueawk/awk
static int set_gototab(fa *f, int state, int ch, int val) /* hide gototab inplementation */
{
int i;
for (i = 0; i < f->gototab_len; i++) {
if (f->gototab[state][i].ch == 0 || f->gototab[state][i].ch == ch) {
f->gototab[state][i].ch = ch;
f->gototab[state][i].state = val;
return val;
}
}
overflo(__func__);
return val; /* not used anywhere at the moment */
}
ここらしい。
というところで次回(たぶん)。
背理法の話をする時に
— くろのすん (@cronos_sv) October 8, 2023
丸大ハンバーグを連想
東京ガスの申し込みサイトにある建物名の例が「タテモノタワー」ってかわいいな この考え方で他にも考えられそう おうちハウス pic.twitter.com/GHXijy5CoM
— robert yamamoto (@robamoto) October 9, 2023
仕事猫
仕事猫の現場(仕事猫現場現場)に行って来ました。司会のお姉さんの「仕事猫と写真を撮る時にヨシ!してくださいね」の掛け声でちびっこが「ヨシ!」して写真撮っててとても良かった#仕事猫 #川崎マリエン #みなと祭り pic.twitter.com/v21FG9lzsd
— ゆんぺす (@circle_two_page) October 8, 2023
仕事猫来たw pic.twitter.com/Sgu6MpwM06
— 魚交(さめ) (@shark_ishi) October 8, 2023
ヨシのポーズ(できてない) pic.twitter.com/VlIo7yfP3L
— 魚交(さめ) (@shark_ishi) October 8, 2023
Secure Coding in C and C++
Book of the Day: Secure Coding in C and C++ by Robert C. Seacordhttps://t.co/HelhsrReSW#cplusplus#cpp
— Meeting C++ (@meetingcpp) October 9, 2023
そういやこの本の新しいのはでてないんですかね? (更新するほど大きな変化はない?)
脱
なお、脱ALGOL系チューリング完全の言語としては、Prologが1972年、SQLが1974年です。70年代前半は、プログラミング言語パラダイムのカンブリア爆発期です。Z80 CPU と Apple I がこの後に来て、ほとんどの人は、そのとき初めて電子計算機に触れました
— 田中ひさてる (@tanakahisateru) October 10, 2023
「脱」という表現をするのがちょっと面白いと思った (深い意味は多分ない)。
CVE-2023-38545
10/11になったので情報が出てきたけど追いかけるのは明日(以降)😄
- curl - SOCKS5 heap buffer overflow - CVE-2023-38545 | Hacker News
- curl - SOCKS5 heap buffer overflow - CVE-2023-38545
- How I Made a Heap Overflow in Curl | Hacker News
- How I made a heap overflow in curl | daniel.haxx.se
事前にフライング公開されたパッチからの推測通り、SOCKS5 プロキシ使用時に長いホスト名によってヒープのオーバーフローが発生 / curl - SOCKS5 heap buffer overflow - CVE-2023-38545 https://t.co/HG2hlEEMBG
— Yosuke HASEGAWA (@hasegawayosuke) October 11, 2023
今回のcurlの問題で象徴的なのは、公式に脆弱性情報が公開される前にベンダーからのパッチがフライング公開され、原因や影響が各所で推測、解析されていた点。たまたま影響を受ける環境が限定的だったが(←これは推定。まだ確定ではない)、もし影響が大きいものだったら未対応な状態でガンガン攻撃が。
— Yosuke HASEGAWA (@hasegawayosuke) October 11, 2023