【思考実験】僕が詐欺師になるならどうするか【根拠のない話】

これはただの思考実験です。何も事実に基づいていないし、現実の何かと何も関係ないです。

僕がもしも詐欺師になって詐欺を働くならどうするかをちょっと考えてみた。

まずは詐欺をする対象を見つけなくてはいけない。最初から誰かに絞っていきなり全力で嘘をつくのはコスパが悪いと思う。

じゃあどうするかというと、騙しやすそうな人をみつけるのを最初にやる。すっごく馬鹿らしい嘘をついてそれでも話に乗ってくる人というのは騙しやすようだ。

騙しやすい人を探すので巧妙な嘘をつく必要はない。狭いターゲットを本気で騙すのではなく広いターゲットの中から「え?こんな嘘に騙される人いるの?」というのを探すのだ。

具体的にどんな嘘をつこう? 例えばこんなのはどうか!?

主人がオオアリクイに殺されて1年が過ぎました

出会い系的な詐欺をしよう!これをタイトルにしてメールにしていっぱい送ろう。まさかこんなメールに返信する人はいないと思うけど、もしも返信してくる人がいたらその人は騙しやすそうだ!!!

「このアカウントをフォローしてこれをリツイートすると10万円プレゼント」

前澤さんがいい前例を作ってくれた!! これはそれなりに引っかかる人がいそう!!! これを僕が人気 YouTuberなように見せかけてTwitterで拡散しよう!!! お金に関するうまい話とかいったら騙しやすい人のリストが簡単に作れる!!!

「いつからワクチンがあるのか知っていますか。人類史上...何百億年、いや違う違う何十億年かな、人類の歴史の中で---」

これを動画で発言しよう!!きちんと数字を読めない人を発見するのに良さそう!!

コミュニケーション頑張ってる話

なんか芸能人に影響されたって言うの格好悪いと思っててあんまり大っぴらに話したことなかったんだけど、id:kkawaとか id:ninjinkun とかに「メッチャ良い話だから書くべき」って言われて「そうだな、何を変な意地張ってたんだろう」と気が付いたので書こうと思う。

僕はコミュニケーションを頑張っている。

それはネットで見た星野源の言葉に影響されたからだ。正確に言うとその言葉で興味を持って原典の本を読んで「もっともだな」ど思ったので頑張っている。

「それまで、相手に好かれたい、嫌われたくないという想いが強すぎて、コミュニケーションを取ることを放棄していた。コミュニケーションに失敗し、そこで人間関係を学び、成長する努力を怠っていた。  それを相手に「人見知りで」とさも被害者のように言うのは、「自分はコミュニケーションを取る努力をしない人間なので、そちらで気を使ってください」と恐ろしく恥ずかしい宣言をしていることと同じだと思った。  数年前から、人見知りだと思うことをやめた。心の扉は、常に鍵を開けておくようにした。好きな人には好きだと伝えるようにした。ウザがられても、嫌われても、その人のことが好きなら、そう思うことをやめないようにした。それで思い出した。」
—『いのちの車窓から【電子特典付き】 (角川文庫)』星野 源著
https://a.co/iH4aBKJ

この、
「自分はコミュニケーションを取る努力をしない人間なので、そちらで気を使ってください」 と言う部分が特に僕には刺さった。

コレは僕の解釈なんだけど例えば数値化して、コミュニケーションが成り立つためには全部で10の力が必要だとしたとしよう。
お互いに5ずつの力を出すのが理想だろう。でもあんまり得意では無い人のために少し出来る人が多めに力を出してあげて6:4とかにするのも良いと思う。でも最初から
「俺コミュ障なんで2しか出さないしそれ以上出そうとも頑張らない。お前が8出せ」
って言うのは凄く「お前何様だ!?」感が強くないだろうか?
それなのにあたかも自分の方が弱者ですよ的な雰囲気醸し出して「コミュ障なんで〜」とか言ってるのは恥ずかしいなと思った。

なのでそれ以来、僕も少しでも心を開こうと頑張っている。元上司に「お前なんか距離感の詰め方おかしーよ」とかからかわれたこともあったけどもそれでも努力してなるべく心を開いて5の力を出そうと頑張っている。

少なくとも僕の場合は出来るからやっているのではなく出来るようになるために頑張っている。

別にこの話は「だからお前も頑張れ」とか上から目線で言いたいわけじゃなくて
「僕の場合はこう思ったので頑張っています。もし良かったら俺と一緒に被害者ヅラで『コミュ障なんで』とか言うのやめて頑張りませんか?」
と言う仲間を見つけたいなって言うお話でした。

仕事机に置いた植物を枯らさないように監視システムを作った。

前に会社の同僚が「スペースに植物があると、ストレス、空気浄化、生産性に役立つよ!How Office Plants Lower Stress and Boost Focus | Bloomscape」って言ってたので仕事机に植物を置いてみた。

無印で卓上に置くのに良さそうな植物を買ってきたんだけどなんどか植物を枯らしてしまったことがあるのでちょっとドキドキしてた。

で、ドキドキしてると生産性が悪くなっちゃうし、まぁエンジニアだしまずはちゃんと数値取るところから始めようと思ってご家庭に転がっている M5Stack に色々センサーつけて監視することにした。

 

機材一覧

 

 

 

M5GO/FIRE バッテリーボトム

M5GO/FIRE バッテリーボトム

  • スイッチサイエンス
Amazon

 

M5Stack用拡張ハブユニット

M5Stack用拡張ハブユニット

  • スイッチサイエンス
Amazon

計測

これで温湿度気圧、二酸化炭素量、土壌水分量を計測できるようになった。SGP30が計測出来る二酸化炭素は正確じゃないというかまぁ概算なんだけどお手軽にはかるには良いのでのそままで。

本当は給水ポンプ付きのユニットもあったのでそれを使おうか悩んだんだけど、給水用の水貯めておくと猫が飲んじゃうので諦めた。

コーディング

今回は頑張ってUIをすこしちゃんとした。だいたいM5Stack触るときは何も気にせず M5.Lcd.printlnで黒い画面に細かい白い文字を出すだけだったんだけどそれだと動作確認したら満足しちゃってなかなか完成させなかった。

なので今回はセンサー類が順次届くまでに仮の数字で先に画面だけ作っておくようしてみた。まぁ、結局デザイン力ないので黒字に緑でターミナルっぽくするくらいしかできないんだけど比較的頑張ったと褒めたい。

少なくとも「ちゃんと完成させよう」という気持ちにはなれて完成できた。

温度と湿度取れるので計算して不快指数も出すようにした。

 

データの可視化

最初は Amazon Timestream に送って Amazon Managed Service for Grafana で表示させようと思ってたんだけどざっと試算したら月に1500円位かかりそうだった(Managed Grafana が一人で趣味で使うには高い)

で、まぁよく使われているのは Ambient だと思うんだけど今回は IIJ がやってる Machinist に送ることにした。

M5Stackの画面には出していないけど気圧も送るようにした。

良かったこと

植物のためにって思ったんだけど植物に快適なように温度とか湿度とか調整すると当たり前だけど人間にもまぁ快適なので良い。

github.com

 

 

Bold と Italic の使い分け

MarkdownでBold(**で囲うやつ)とItalic(*で囲うやつ)の正しい使い分けに自信無いよねーと思って少し調べてみたら面白かったのでまとめておきます。なんか認識違いがあったら指摘して下さい。

調べる前にぼんやり認識してたこと

  1. ** は strong タグに、* は em タグになる
  2. strongタグとemタグはHTML5で少し意味が変わった
    1. 変わる前は em < strong くらいの強さの違いだった
  3. HTML5 は結局廃止された

で、僕の混乱の元はHTML5が廃止された結果、結局strongタグとemタグの仕様がどうなったかわかっていない。rollbackされたのかそうでは無いのかも知らない。という状況でした。

Markdownの仕様

Daring Fireball: Markdown Syntax Documentation

Markdown treats asterisks (*) and underscores (_) as indicators of emphasis. Text wrapped with one * or _ will be wrapped with an HTML <em> tag; double *’s or _’s will be wrapped with an HTML<strong> tag. 

ということでstrongタグとemタグに変換されるのはあってそう

HTML Spec from MDN

 MDNにはそのものズバリなページがあった

https://developer.mozilla.org/en-US/docs/Web/HTML/Element/strong#em_vs._strong

Adding to the confusion is the fact that while HTML 4 defined <strong> as indicating a stronger emphasis, HTML 5 defines <strong> as representing "strong importance for its contents." This is an important distinction to make.

While <em> is used to change the meaning of a sentence as spoken emphasis does ("I lovecarrots" vs. "I love carrots"), <strong> is used to give portions of a sentence added importance (e.g., "Warning! This is very dangerous.") Both <strong> and <em> can be nested to increase the relative degree of importance or stress emphasis, respectively.

importance emphasis の違いと書かれている。日本語だと重要強調? なんとなくわかるんだけどやっぱりあんまり上手く理解できないのでもう少し調べてみる。

HTML Spec from WHATWG

strong tag

https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-strong-element

こっちにはImportanceに追加でSeriousnessUrgencyがリストされている。日本語だと深刻と緊急かな?なんとなく重要の意味がわかってきた気がする。

さらに

Changing the importance of a piece of text with the strong element does not change the meaning of the sentence.

と書いてある。strong タグは文章の意味を変えない。なるほど

em tag

https://html.spec.whatwg.org/multipage/text-level-semantics.html#the-em-element

こっちには

The placement of stress emphasis changes the meaning of the sentence. 

em タグをどこにつけるかで意味が変わるよって書いてある

まとめ

strong
  • 重要
  • 緊急
  • 深刻

文章の意味は変えない

em
  • 強調

文章の意味を変える

 

WHATWGの猫の話の例えがわかりやすいので読んでみるのをお勧めします。猫は可愛い😍

JJUG CCC 2022 Spring でリモートワークについて発表するよ〜

fortee.jp

久しぶりに JJUG のイベントで発表します! 内容はリモートワークの働き方についてです。 というのもデブサミの GitLab さんの発表がすごく良くて気づきが多かったんですよね。

learn.gitlab.com

もちろん社員の数とか売上とか全然違うので違う部分もあるのですが実は結構共通な部分も多くてなんか嬉しかったんですよね。
で、嬉しかったと同時に「これ、いろいろな会社がもっとこういうの発表して共通点とか分かってくるともっと良い世の中になるのでは?」とか思ったので今回発表しようと思った感じです。

というわけで、2022/06/19 12:30〜なのですが、裏がJDKコミッタだったりきしださんなんであんまり俺の方にこなそうだなぁとか思ったので宣伝です!! ぜひ聞きに来てね!!!

Springの@Async先にSecurityContextを引き継ぐ

DelegatingSecurityContextAsyncTaskExecutor (Spring Security 4.0.4.RELEASE API) を使えば実現できるっぽい。 ので AsyncConfigurer を実装したらちゃんと動いた。

import org.springframework.context.annotation.Configuration;
import org.springframework.scheduling.annotation.AsyncConfigurer;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.security.task.DelegatingSecurityContextAsyncTaskExecutor;

@Configuration
public class AsyncConfig implements AsyncConfigurer {
  private final ThreadPoolTaskExecutor defaultSpringBootThreadPoolTaskExecutor;

  public AsyncConfig(ThreadPoolTaskExecutor defaultSpringBootThreadPoolTaskExecutor) {
    this.defaultSpringBootThreadPoolTaskExecutor = defaultSpringBootThreadPoolTaskExecutor;
  }

  @Override
  public Executor getAsyncExecutor() {
    return new DelegatingSecurityContextAsyncTaskExecutor(defaultSpringBootThreadPoolTaskExecutor);
  }
}

1Password のロック解除をYubiKeyでやる

f:id:Yoshiori:20220217170745j:plain

絶対やり方忘れるので history 新鮮なうちにメモ書きしておきます。 僕は指紋認証もしたかったので YubiKey Bio シリーズにしたので本家サイトで購入した。

www.yubico.com

まぁぶっちゃけ NFC のやつのほうが便利なんじゃないかなぁとかも思ってる。そっちは Amazon で買えます

基本的には Universal 2nd Factor - ArchWiki に丁寧に説明があるのでそれでOK。 Arch じゃなくてもだいたい一緒だと思う(pam-u2f つかう)

$ yay -S pam-u2f
$ mkdir ~/.config/Yubico
$ pamu2fcfg -o pam://#{hostname} -i pam://#{hostname} > ~/.config/Yubico/u2f_keys

Arch のドキュメントに「ホスト名指定しておいたほうが良いよ」って書いてあったのでそれに従ってます。

で、僕は sudo と polkit だけ指紋認証(というかu2f)に変更してます。 ディスク暗号化してるとログインのときの認証はめんどくさいのでな。

ファイルはそれぞれ /etc/pam.d/sudo/etc/pam.d/polkit-1 です。その auth の先頭に下記を追加するだけ

auth       sufficient   pam_u2f.so nouserok origin=pam://#{hostname}  appid=pam://#{hostname} 

で、1Password のお話、設定で認証を system のものを使うように設定する。

f:id:Yoshiori:20220217172455p:plain

で、そうするとOSのパスワード入力画面が出てくる。 これを YubiKey で入力したいんだけど何を変更したら良いか調べたら polkit だった。

ja.wikipedia.org

ので上記設定で 1Password 起動すると初回起動時はマスターパスワード求められるけど次からは YubiKey 光るので触るだけで解除できます!