2002-09-15
* 合流前
今日はちゃんと潤子さん時計を持参。買ったとき以来使ってなかった。
1030 京都着を目標に朝っぱら 0750 新横浜発のひかりを目指して出発。ちと早めに出たら目的のひかりよりも 1 本早いやつに乗れたのでそのまま。自由席でちんたら。
0945 京都着。昨晩の夜行バスに乗ってすで京都に着いていてなぜかタワーに登っている佐藤さん、くろさんを下に呼び出して合流。ちとしてから河内さんも合流。
* 三千院
大原三千院が開扉されてて仏様との握手会イベントがあるというのでみんなで移動。このイベントのためにこんな早くに集合したらしい。バスに乗って 1.5 h ほどかけて到着。疲れた。
山の上のほうまで徒歩で登ってだらーだらーと見学。高校生のころに就学旅行で来た季がするけど、もちろんこの辺の仏像に興味はとくに無いのでメイトの握手会なみに流れ作業。
往路にかけた時間を考えるとそろそろ出発しといたほうが良いだろということで 1330 ころになってバスで京都へ移動。
* ライブ
1630 開場。1700 開演。
三千院から帰ってきてまだちと時間があったので昼飯。熱いそば食ったら喉を火傷した。痛い。
1620 ころ会場着。伊川さんと、もうひと方と挨拶。半年前の弘子さんイベント@大阪のときとか、いつもよく一緒になるんだけど名前を覚えてないっす( ←かなり失礼 )。
1640 ころ入場。中央ちょい右よりの席を確保。ライブ内容は省略。曲覚えてないし。
いつもどーりにライブ全体の半分くらいを消費してる長い MC だけどすばらしく面白いのではげしく笑える。ヲレは半分くらい寝てたから、なんだかんだでトークライブみたいだ。
2045 ころ終了。2.75 h くらい。
* 後
佐藤さんは往路と同じく夜行バス。くろさんは 2130 京都発ののぞみ。のぞみですってよ。さすが。ぶるじょあだ。河内さんが乗る電車が 2030 京都発というのでさくっと移動。飯も食わずにまた今度どこかでとお別れ。帝都で会いそうな雰囲気だ。
ヲレが乗るひかりは 2100 発。急いで飯食って会計を佐藤さんとくろさんに委譲してとっとと土産買って脱出。帰りは指定席。ぐでーっと寝て帰る。
2345 東京着。
2003-09-15
_ 業務日誌
_ 0800 起床。
_ 0900 現地到着。今日も今日とてモニタ要員。暇なときにガンダム読む。
_ 2115 切り上げ。
_ 2330 そーいうことか。
_ 0230 最低だ。ヲレって...。
_ ガンダム
_ ガンダムが乗る船は寄り合い所帯でガンダムのパイロットは成行きというのは伝統らしい。「 歴代のガンダムは反骨精神がある者が乗っていた 」というのは「閃光のハサウェイ」でのブライト・ノアの言葉だけど、今回も同様に反骨精神なんだろか。
_ 酔い
- 速度が速い。
- 山道でくねくね。
- 夜。
2004-09-15
_ 衝動
仕事ちゅうに IRC しないようにしたのだけど( そもそも仕事ちゅうに IRC ってのが誤り )、ほかにも何か思いついたら日記に書きたくなる衝動があることに気づいた。
たとえばいま。
この衝動を抑える必要があるのだな。
_ 土産
キーの配置をもとに戻したりキーボードやらマウスやらを回収したり。
2005-09-15
_ 仕事
0720 へいしゃー。
_ またamazon.co.jpがフォーマットを変えた
( ただのにっき )
昨日の買物は amazon で FF7AC を買ったのだけどリンクがほげほげになっている( 2005-09-14 )。
以下引用。
今度は<title>の中身を変えたようだ。タグの配置を変えて、空白を1個取り去っただけ。何の意味があるんだ!!
なんの意味があるんだ( へちょ )
こちらがアナウンス。
以下引用。
ja/amazon.rbの入れ替えになります。CVS上では1.3.2.3が対応版になります。もしくは55行目をエディタ等で下記のように修正してください。
ということで対策が書いてあるのだけど、自宅で作業する時間がないのでもうちょい放置。
_ トラウマになっているアニメのシーン
( via カトゆー家断絶 )
85 の Z ガンダムの話から引用。
クワトロ「死を考えてる暇もなかったのか」
カミーユ「なぜ、こんな風に人を殺せるんですか!」
クワトロ「直接刃物を持って殺さないからさ。手に血が付かない人殺しでは、痛みはわからんのだ。」
というお話は先日のエウレカセブンのレントンの状態と同じでありますね。
アニメじゃないけど「 閃光のハサウェイ 」( 小説 )のハサウェイの最期のシーン \ の挿絵がトラウマ。
_ 罵りあってるだけじゃダメなんだ!
どうして弊社のひとびとは同じプロジェクトを作業しているにもかかわらず敵対しあうのか。
何か問題があったならばみんなでその問題を解決するのではないのか。
なぜ問題を起こした人間を責めることしかしないのか。
それでは問題は解決しないではないか。
お題はガンダム「 逆襲のシャア 」でハサウェイが言っていた言葉。
2006-09-15
_ SEってみんな、パソコン改造するの好きだよね?/Tech総研
ヲレはパソコン嫌い。
以下どうでもいい私的購入履歴とか貰い物とか。割と入手順になっている。
- NEC PC-9821 V20 S15
- SONY VAIO Z505 N/BP
- Panasonic Let's CF-S22J8
- SHARP CASIOPEA FIVA 206VL
- SONY VAIO PCV S710
- Dell DeimensionXPS GEN2
- Apple mac mini
- Panasonic Let's CF-R4G
自分で組み立てたのは無いでつ。
三輪は計算機を使いたいのであって組み立てるために手間をかけたくないのでアル。
よく言うんだけど"「自作PC」はPCの仕組みを知るにはいいけど深くのめりこんでも「どのパーツとどのパーツは相性が」みたいなバッドノウハウだけしか得るところはないので時間の無駄"だとおもう。
がっしゅ
_ FF 3 DS
プレイ時間 08:55 くらい
- ハイン討伐
- ハインの弱点が「こおり」のときの黒魔道士のブリザラよりも学者が使った「なんきょくのかぜ」のほうが威力が高い件について
- でも全滅しそうだった、あぶね
- 浮遊大陸( not 軽井沢 )から出る
- 水の巫女エリア
- 水の洞窟
- クラーケンにぼこぼこにされた、全滅
- こんなに強かったっけ...
- 敵からのダメージが軒並みデカイ
- つっちぃさん が「 風水師いいよ、最強だよ 」と言っていたので黒魔道士を見切って風水師にしてみる
- 「ちけい」はコストパフォーマンスが高い、いいね
ところで FF3 のサイトはフラッシュがベース( キホソ )なので鬱陶しい。
俺はレフィアたんの導師を見たいんだよ!
_ Subversion でリリースくらいは自動化したい
Windows で TortoiseSVN を使ってて、タグからチェックアウトするときに毎回右クリックしてチェックアウトしてログ見てまとめるのが面倒なのでせめて自動化したいと思って調べてみた。
TortoiseSVN のマニュアル( 翻訳 ) を見たら svn を使え とあるので Subversion をインストール。
ためしにコマンドプロンプトで svn log してみたら文字化けした。
svn log を svnlog2utf8 でフィルタする( ref. Subversionで日本語ログ入りのcommitメールを送る )
バッチファイルを書いてみる。
こんな感じになった。
%1 を "" で括ってるのは %1 を与えられなかったときの対策( ref. バッチファイルの制御用コマンド )
if "%1" == "" goto end set svnlog2utf8=D:\S114\util\svnlog2utf8 set svn="C:\Program Files\Subversion\bin\svn.exe" set uri="file://remote/SVN/repos/foobar/tags/program set rel=%1 set repos=%uri%/%rel% %svn% checkout %repos% . . %svn% log %repos% | ruby %svnlog2utf8% > %rel%\ChangeLog.txt :end
これで co.bat v.1.1.6 などとやると同じディレクトリの v1.1.6 ディレクトリにタグ v1.1.6 をチェックアウトする。
ちうかリリース作業ってこんなのでいいんだろか。
_ mixi => Plagger => Gmail
こうか。
ともあれ、これで Gmail に送られるマイミクシィ日記、コメント、受信メッセージが重複しなくなった。
config.base.yaml
global: assets_path: /usr/home/rin/plagger/assets timezone: Asia/Tokyo plugin_path: - /usr/home/rin/plagger/assets/plugins log: level: debug encoding: euc-jp cache: base: /usr/home/rin/plagger plugins: - module: Filter::Rule rule: - module: Deduped - module: Fresh mtime: path: /usr/home/rin/plagger/cache/plagger.tmp autoupdate: 1 define_recipes: publish: - module: Publish::Gmail config: mailto: xxxxxxx@gmail.com mailfrom: xxxxxx@gmail.com mailroute: via: smtp_tls host: smtp.gmail.com:587 username: xxxxx@gmail.com password: xxxxxxx - module: Filter::StripRSSAd - module: Filter::TruePermalink - module: Filter::tDiaryComment
config.sns.yaml
define_recipes: mixi: module: CustomFeed::Mixi config: email: xxxxxx@example.jp password: xxxxxx fetch_body: 1 show_icon: 1 feed_type: - RecentComment - FriendDiary - Message
config.mixi.yaml
include: - /usr/home/rin/plagger/config.base.yaml - /usr/home/rin/plagger/config.sns.yaml recipes: - mixi - publish
実行。
% cd ~/plagger % /usr/pkg/lib/perl5/site_perl/bin/plagger -c config.mixi.yaml
crontab
5 0-23/2 * * * cd /usr/home/rin/plagger; /usr/pkg/lib/perl5/site_perl/bin/plagger -c config.mixi.yaml > /dev/null
ref.
2007-09-15 :-)
_ [聖剣伝説 Legend Of Mana][下村陽子]勉強ったー
聖剣伝説 Legend Of Mana
ゲーム未プレイ。下村陽子さんの作曲です。アルバムには「 Song of Mana 」という歌が収録されてます。エンディングの曲らしいです。私は普段歌というものをほとんど聴かないのでこのアルバムを自宅で聴いてると「 貴様が歌を聴くとは珍しい 」というツッコミを貰います。「 Song of Mana 」の歌詞が何語か分からなかったので( とりあえず英語じゃない ) google 検索してみました。スウェーデン語らしいです。
作詞作曲は下村陽子さんなのだけど歌ってるひとが分からないのでやっぱり google 検索してみました。Annika という歌手だそうです。
と思ってアルバムに入ってたジャケット?を読んでみたらちゃんと Annika と書いてありました。あと「 Song for Man 」のネタも書いてありました。
B0002ZF0IK
_ [TwitterIRCGateway]TwitterIRCGateway が突然死した
なので
おもむろに TwitterIRCGateway.exe をもう一度起動。
怒られた。
ええと?
いま死んだプロセスがポートを使ってる?
調べる。( Microsoft WindowsXP )
TwitterIRCGateway はデフォルトで 16668 で待ち受けるので 16668 を使ってるプロセスを調べる。
>netstat -o | findstr 16668 TCP sumire:16668 localhost:1468 CLOSE_WAIT 2712 TCP sumire:16668 localhost:3305 CLOSE_WAIT 2712
CLOSE_WAIT 状態。
殺してみる。
>taskkill /pid 2712 エラー: プロセス "2712" が見つかりませんでした。
(´□`)
諦めた。
Windows の再起動イッてきます。
2008-09-15 :-)
_ [グラディウス]今日のグラディウス1
クリアした。
ステージ 8 くらいあるのかと思ってたけどステージ 5 までのようです。
東野美紀さんが良い仕事をしていた。グラディウスの曲を書いた当時は 18 歳くらいだったらしいじゃないすか。
BGM「空中戦」はグラディウス V の「Intermezzo」と同じ扱いなのね。ステージとステージの間の曲。まあグラディウス V の「Intermezzo」がいままでの伝統に従ったわけですが。
ref.
2009-09-15 :-)
_ 朝ッ
0530 起床
_ [筋トレ]腹筋1000回やると世界が変わる
といったことが書いてあったりなかったりしたので 1000 回目指してみる。しかし 100 回くらい連続でやったところで挫折。腕立て伏せもそんくらい。お肉が痛い。
_ 畑 亜貴の早稲田に“止マレ!”
葉書きを書いた。
_ [リッジレーサー7]リッジレーサー7 マシン状況
こんな感じで操作できるくらいになった。装備は R研のひとによる RIDGERACER7 のだいたいそのまま。
マシン | タイヤ・サスペンション | 操作 | 備考 |
ABEILLE | BOSCONIAN+マイルド2 | ○ | |
BAYONET | ASTAROTH+グリップ3 | ○ | |
BISONTE | ASTAROTH+グリップ3 | ○ | |
CENTELLE | BOSCONIAN+マイルド3 | ○ | |
EO | ASTAROTH+グリップ1 | ○ | |
ESPERANZA | ASTAROTH+グリップ3 | ○ | |
FATALITA | BOSCONIAN+マイルド2 | ○ | |
FIERA | ASTAROTH+グリップ3 | ○ | |
HIJACK | ASTAROTH+グリップ3 | × | 練習中 |
JUJAK | ROLLING THUNDER+ダイナミック3 | ○ | |
MAGNIFICO | ASTAROTH+グリップ3 | ○ | |
MELTFIRE | BOSCONIAN+マイルド3 | ○ | |
PROPHETIE | ASTAROTH+グリップ3 | ○ | |
RAGGIO | BOSCONIAN+マイルド3 | ○ | |
RC410 | BOSCONIAN+マイルド2 | ○ | |
STARNOSE | BOSCONIAN+マイルド3 | × | 硬すぎる |
WILDGANG | BOSCONIAN+マイルド3 | × | ニトロポイントが分からない |
490B | - | × | |
G00 | - | × | |
PRONZIONE | - | × | |
BASS CRUISER | - | × | |
ULTRANOVA | - | ○ | |
TERRAJIN | - | × | |
ANGELUS | - | ○ | |
CRINALE | - | × | |
MONSTROUS | - | × | |
PAC-MAN | - | ○ |
490B から下はスペシャルマシンなのでカスタマイズ不可能。R 研のひとは BAYONET に BOSCONIAN 推奨してるけど硬すぎて操作できないので ASTAROTH+グリップ3 にした。JUJAK は ROLLING THUNDER+ダイナミック3 にしてある。オンラインバトルでは 1 度練習しないと操作できないくらいスゲーーーー踊る。knhtymh さんの動画( YouTube - RR7 OB13 )を見てると BASS CRUISER とか普通に操作してるけど私はいまだにタコ踊りするレベル。こんな変態な車は操作できん
_ といいつつ
オンラインバトルでは ABEILLE か BAYONET か MAGNIFICO のいずれかしか使わない。
2010-09-15 :-)
_ [沖縄]沖縄紀行 3 日目
昼飯を食べる暇がry
朝日った
Moto が「 JAXA 行けばいいじゃない」と言っていたので言ってみた。あいかわらずこーいうレーダー施設は山奥にある。
操作卓とか萌える。こういう施設を見ると昔やってた仕事の知識はそれなりにゴニョゴニョ
辺戸岬に行くまでに山中でスコールを食らうなど。辺戸岬でもスコールがきた。あなたはひょっとして先ほど追い抜いたスコールさん( 17 歳 )ではないですか。辺戸岬から移動するときも山中でスコールさん( 17 歳 )にエンカウントしまくった。前見えないし道が狭いしコワイです。
空から日本を見てみよう で海水揚水発電所が紹介されていたので行ってみた。八角形ですよ八角形。電源開発社で見学もやってるらしいのでなんとなく行ってみたら受け付けられた。お姉さんと一緒にマンツーマンで説明を受けてきた。地中に埋まっている発電施設まで紹介してもらい、さらに放水口まで見せてもらった。なんというサプライズ。行ってみるものだ。
新世界への扉が開く...
2011-09-15 :-(
2012-09-15 :-)
2013-09-15 :-)
_ [Android]Google Maps Android API v2 のサンプルを動かしてみる
参考
- Google Maps Android API v2のサンプルを動かしてみる 電脳羊(Android Dream)/ウェブリブログ
- Google Maps Android API V2を使ってみる
- Google Maps Android API v2 を使ったマップ表示 - Qiita [キータ]
白い地図
Google Maps Android API v2のサンプルを動かしてみる の手順そのままなんだが、やってみたところ白い地図が表示された。
LogCat は以下のようになっていた。
09-15 19:03:57.362: I/Google Maps Android API(11905): Failed to contact Google servers. Another attempt will be made when connectivity is established.
09-15 19:04:12.428: E/Google Maps Android API(11905): Failed to load map. Error contacting Google servers. This is probably an authentication issue (but could be due to network errors).
API キーに関する手順を何かミスった場合にこうなるようだ。
私は 2 点ミスっていた。
- Google APIs Cosole で「Google Maps Android API v2」ではなく「Google Maps API v2」を登録した
- 実機でのデバッグなのに本番用の API キーを使っていた
android - In Version 2 Map view does not show map - Stack Overflow
oh... (>'A`)>
さらに、API キーに登録するためのフィンガープリントを作成するのだが、デバッグ時は
C:\Users\<ユーザー>\.android\debug.keystore
のキーストアを使わないといけないらしい。
これでちゃんと表示できた。
2014-09-15 :-)
_ 買い物
iTunes Store
- ウラオモテ・フォーチュン 月刊少女野崎くん ED
- 花ハ踊レヤいろはにほ ハナヤマタ ED
- ミライファンファーレ 未来少女たち 普通の女子校生が【ろこどる】やってみた。OP/ED
_ [μITRON][TOPPERS/JSP][コードリーディング]μITRON 実装 TOPPERS/JSP を読む
コードはこちら
TOPPERSプロジェクト/ダウンロード の 完全版 を貰う。
eclipse にインポートしてコードリーディング
なおダウンロードしたソースコードは文字エンコードが EUC-JP のようなので eclipse ではデフォルトだとデコードできず文字化けする。
プロジェクト - プロパティ - リソース - テキストファイルエンコーディングを EUC-JP と記入する suz-lab - blog: EclipseでEUC-JPを使うには
_ [セマフォ][μITRON][TOPPERS/JSP][コードリーディング]μITRON 実装 TOPPERS/JSP を読む - セマフォ
セマフォには
- バイナリセマフォ
- 計数セマフォ
の 2 つがある。
みんな大好き wdic より
バイナリセマフォ
バイナリセマフォは0か1のどちらかの値しか持たないセマフォで、重要度の高い処理のブロックに用いられる。
フラグは初期化によって最初1はセットされ、特定のプロセスが処理開始時にAPIを呼びフラグをデクリメント(−1)し、処理の終了と共にAPIを呼びインクリメント(+1)する。
他のプロセスがこれを同時に処理しようとすると、フラグが0になっているためにデクリメントに失敗して処理がブロックされ、そのプロセスはOSレベルで休止状態にされる。後に処理が完了しフラグが1に戻ると、プロセスキューに溜められた休止中のプロセスがOSによって順にチェックされ、処理が再開される。
汎用セマフォ
汎用セマフォはカウンターであり、資源に一定の空き数がある場合に利用される。
基本的に値は資源の空き数に設定され、特定のプロセスが処理開始時に値のデクリメント(−1)を行ない、処理終了時にインクリメント(+1)を行なう。空き数を使い切り、デクリメントに失敗した場合のブロッキング処理はバイナリセマフォと同様である。
バイナリセマフォは同期処理によく使われる。
汎用セマフォは資源を独占処理するときに使われる。計数セマフォとかカウンティングセマフォなどともいう。
セマフォの実装 kernel\semaphore.c
この 3 つの処理を読む。cre_sem どこだよ
- semaphore_initialize セマフォ初期化
- wai_sem セマフォ獲得
- sig_sem セマフォ開放
汎用セマフォだろうとバイナリセマフォだろうとセマフォの実装は同一である。セマフォカウンタ値の初期値によって汎用セマフォなのかバイナリセマフォなのかを切り替える。初期値が 1 ならばバイナリセマフォ。そうでなければ汎用セマフォ。たぶん。
しかし初期値をどうやって設定するのかが分からん。「コンフィギュレーション」とやらがあるらしいので TOPPERS/JSP をファームウェアとして利用するときにユーザーの環境ごとに何か設定するようだ。
doc/user.txt より
3.4 同期・通信機能 3.4.1 セマフォ セマフォの最大資源数は,UINT型(unsigned int型に定義している)で表現で きる数値の範囲内である.すなわち,unsigned int型が 32ビットの場合は (2^32 - 1),16ビットの場合は (2^16 - 1) = 65535 である.TMAX_MAXSEM は 定義していない. (1) CRE_SEM セマフォの生成(静的API) (2) sig_sem, isig_sem セマフォ資源の返却 (3) wai_sem セマフォ資源の獲得 (4) pol_sem セマフォ資源の獲得(ポーリング) (5) twai_sem セマフォ資源の獲得(タイムアウトあり)
cxx_sample2.cfg というファイルに以下の記述がある。たぶんこれが初期値として使われる?
CRE_SEM(1, { TA_TFIFO, 1, 1 }); CRE_SEM(2, { TA_TFIFO, 1, 1 }); CRE_SEM(3, { TA_TFIFO, 1, 1 }); CRE_SEM(4, { TA_TFIFO, 1, 1 }); CRE_SEM(5, { TA_TFIFO, 1, 1 });
セマフォのデータ構造を見ていく。
/* * キューのデータ構造の定義 */ typedef struct queue { struct queue *next; /* 次エントリへのポインタ */ struct queue *prev; /* 前エントリへのポインタ */ } QUEUE;
/* * セマフォ初期化ブロック */ typedef struct semaphore_initialization_block { ATR sematr; /* セマフォ属性 */ UINT isemcnt; /* セマフォの資源数の初期値 */ UINT maxsem; /* セマフォの最大資源数 */ } SEMINIB;
/* * セマフォ管理ブロック */ typedef struct semaphore_control_block { QUEUE wait_queue; /* セマフォ待ちキュー */ const SEMINIB *seminib; /* セマフォ初期化ブロックへのポインタ */ UINT semcnt; /* セマフォ現在カウント値 */ } SEMCB;
/* * セマフォ管理ブロックのエリア(kernel_cfg.c) */ extern SEMCB semcb_table[];
ここからがセマフォのコード。
セマフォ初期化。ここの isemcnt が↑で登場した CRE_SEM に指定した初期値だろう。
void semaphore_initialize() { UINT i; SEMCB *semcb; for (semcb = semcb_table, i = 0; i < TNUM_SEM; semcb++, i++) { queue_initialize(&(semcb->wait_queue)); semcb->seminib = &(seminib_table[i]); semcb->semcnt = semcb->seminib->isemcnt; } }
セマフォ獲得
SYSCALL ER wai_sem(ID semid) { SEMCB *semcb; WINFO_WOBJ winfo; ER ercd; // CPUによっては空っぽ LOG_WAI_SEM_ENTER(semid); // ディスパッチ保留状態でないかのチェック CHECK_DISPATCH(); // セマフォIDが有効範囲内か確認 CHECK_SEMID(semid); // セマフォテーブルからIDに該当するセマフォを取得 semcb = get_semcb(semid); // CPUをロック。ここからの処理は不可分。CPUごとに実装が異なる。 t_lock_cpu(); // セマフォカウント値が 1 以上の場合はデクリメントするだけ if (semcb->semcnt >= 1) { semcb->semcnt -= 1; ercd = E_OK; } // セマフォ計数が 0 以下の場合は待機する else { wobj_make_wait((WOBJCB *) semcb, &winfo); // 最高優先度のタスクへディスパッチ dispatch(); ercd = winfo.winfo.wercd; } t_unlock_cpu(); exit: LOG_WAI_SEM_LEAVE(ercd); return(ercd); }
セマフォの返却
SYSCALL ER sig_sem(ID semid) { SEMCB *semcb; TCB *tcb; ER ercd; LOG_SIG_SEM_ENTER(semid); CHECK_TSKCTX_UNL(); CHECK_SEMID(semid); semcb = get_semcb(semid); // CPUをロック。ここからの処理は不可分。CPUごとに実装が異なる。 t_lock_cpu(); // セマフォ開放待ちのキューがある場合 if (!(queue_empty(&(semcb->wait_queue)))) { // キューの次のエントリを取り出す。ようするに deque している。 tcb = (TCB *) queue_delete_next(&(semcb->wait_queue)); // タスクの待機状態を解除。ディスパッチが必要な場合はタスクをディスパッチする。 if (wait_complete(tcb)) { dispatch(); } ercd = E_OK; } // 現在のセマフォカウント値が最大値を超えてなければカウントをインクリメント else if (semcb->semcnt < semcb->seminib->maxsem) { semcb->semcnt += 1; ercd = E_OK; } else { ercd = E_QOVR; } t_unlock_cpu(); exit: LOG_SIG_SEM_LEAVE(ercd); return(ercd); }
↑の関数で使われているマクロとかいろいろ
/* * ディスパッチ保留状態でないかのチェック(E_CTX) */ #define CHECK_DISPATCH() { \ if (sense_context() || t_sense_lock() || !(enadsp)) { \ ercd = E_CTX; \ goto exit; \ } \ }
#define CHECK_SEMID(semid) { \ if (!VALID_SEMID(semid)) { \ ercd = E_ID; \ goto exit; \ } \ }
#define VALID_SEMID(semid) \ (TMIN_SEMID <= (semid) && (semid) <= tmax_semid)
/* * セマフォIDからセマフォ管理ブロックを取り出すためのマクロ */ #define INDEX_SEM(semid) ((UINT)((semid) - TMIN_SEMID)) #define get_semcb(semid) (&(semcb_table[INDEX_SEM(semid)]))
/* * 同期・通信オブジェクトに対する待ち状態への移行 * * 実行中のタスクを待ち状態に移行させ,同期・通信オブジェクトの待ちキュー * につなぐ.また,待ち情報ブロック(WINFO)の wobjcb を設定する. * wobj_make_wait_tmout は,タイムイベントブロックの登録も行う. */ extern void wobj_make_wait(WOBJCB *wobjcb, WINFO_WOBJ *winfo); extern void wobj_make_wait_tmout(WOBJCB *wobjcb, WINFO_WOBJ *winfo, TMEVTB *tmevtb, TMO tmout);
/* * 最高優先順位タスクへのディスパッチ(cpu_support.S) * * dispatch は,タスクコンテキストから呼び出されたサービスコール処理 * 内で,CPUロック状態で呼び出さなければならない. */ extern void dispatch(void);
_ [イベントフラグ][μITRON][TOPPERS/JSP][コードリーディング]μITRON 実装 TOPPERS/JSP を読む - イベントフラグ
イベントの通知とその管理。イベントの種類をビットで管理する。
イベント個数が既知ならばこれで足りる。しかしイベント個数がユーザーでも拡張可能の場合(上限不明)はこれでは実現できない。たとえばフラグが 32 ビットだとすると高々 32 個ぶんのイベントしか管理できない。.NET の event 等のようなものと同じ機能であり、それをビットで管理している。
doc\user.txt より。1 つのイベントで複数タスクが待てないんだそうだ。
3.4.2 イベントフラグ 一つのイベントフラグで複数のタスクが待ち状態になれる機能はサポートして いない. FLGPTN型は,unsigned int型に定義している.よって TBIT_FLGPTN は, unsigned int型が 32ビットの場合は 32,16ビットの場合は 16 になる. (1) CRE_FLG イベントフラグの生成(静的API) flgatr に TA_WMUL が指定された場合の機能(イベントフラグで複数のタスク が待ち状態になれる)はサポートしていない. (2) set_flg, iset_flg イベントフラグのセット (3) clr_flg イベントフラグのクリア (4) wai_flg イベントフラグ待ち (5) pol_flg イベントフラグ待ち(ポーリング) (6) twai_flg イベントフラグ待ち(タイムアウトあり)
コードを読む kernel\eventflag.c
ソースファイル冒頭にデータ構造等がある。セマフォにあったデータ構造と処理に似ている。
イベントフラグがイベント ID ごとのテーブルになっており、イベントフラグごとにそのイベント待機するタスクキューがある。
/* * イベントフラグIDの最大値(kernel_cfg.c) */ extern const ID tmax_flgid; /* * イベントフラグ初期化ブロックのエリア(kernel_cfg.c) */ extern const FLGINIB flginib_table[]; /* * イベントフラグ管理ブロックのエリア(kernel_cfg.c) */ extern FLGCB flgcb_table[]; /* * イベントフラグの数 */ #define TNUM_FLG ((UINT)(tmax_flgid - TMIN_FLGID + 1)) /* * イベントフラグIDからイベントフラグ管理ブロックを取り出すためのマクロ */ #define INDEX_FLG(flgid) ((UINT)((flgid) - TMIN_FLGID)) #define get_flgcb(flgid) (&(flgcb_table[INDEX_FLG(flgid)])) /* * イベントフラグ待ち情報ブロックの定義 * * flgptn は,waiptn および wfmode と同時に使うことはないため,union * を使えばメモリを節約することが可能である. */ typedef struct eventflag_waiting_information { WINFO winfo; /* 標準の待ち情報ブロック */ WOBJCB *wobjcb; /* 待ちオブジェクトの管理ブロック */ FLGPTN waiptn; /* 待ちパターン */ MODE wfmode; /* 待ちモード */ FLGPTN flgptn; /* 待ち解除時のパターン */ } WINFO_FLG;
初期化の処理。これもセマフォで見たコードだ。
void eventflag_initialize(void) { UINT i; FLGCB *flgcb; for (flgcb = flgcb_table, i = 0; i < TNUM_FLG; flgcb++, i++) { queue_initialize(&(flgcb->wait_queue)); flgcb->flginib = &(flginib_table[i]); flgcb->flgptn = flgcb->flginib->iflgptn; } }
フラグの型は以下のとおり。UINT は 32 ビット以上なので 32 種類のイベントを管理できる。
typedef UINT FLGPTN; /* イベントフラグのビットパターン */
フラグセット。つまりイベント発火。
set_flg(ID flgid, FLGPTN setptn) { FLGCB *flgcb; TCB *tcb; WINFO_FLG *winfo; ER ercd; LOG_SET_FLG_ENTER(flgid, setptn); CHECK_TSKCTX_UNL(); CHECK_FLGID(flgid); flgcb = get_flgcb(flgid); t_lock_cpu(); // イベントのビットを立てる flgcb->flgptn |= setptn; // イベントを待っているタスクキューがある場合 if (!(queue_empty(&(flgcb->wait_queue)))) { // イベントのタスクキューを取り出してそのタスクの待機を解除しディスパッチする tcb = (TCB *)(flgcb->wait_queue.next); winfo = (WINFO_FLG *)(tcb->winfo); if (eventflag_cond(flgcb, winfo->waiptn, winfo->wfmode, &(winfo->flgptn))) { queue_delete(&(tcb->task_queue)); if (wait_complete(tcb)) { dispatch(); } } } ercd = E_OK; t_unlock_cpu(); exit: LOG_SET_FLG_LEAVE(ercd); return(ercd); }
イベントフラグを待機する。
SYSCALL ER wai_flg(ID flgid, FLGPTN waiptn, MODE wfmode, FLGPTN *p_flgptn) { FLGCB *flgcb; WINFO_FLG winfo; ER ercd; LOG_WAI_FLG_ENTER(flgid, waiptn, wfmode, p_flgptn); CHECK_DISPATCH(); CHECK_FLGID(flgid); CHECK_PAR(waiptn != 0); CHECK_PAR((wfmode & ~TWF_ORW) == 0); flgcb = get_flgcb(flgid); t_lock_cpu(); // イベントのタスクキューが空でないとダメです if (!(queue_empty(&(flgcb->wait_queue)))) { ercd = E_ILUSE; } else if (eventflag_cond(flgcb, waiptn, wfmode, p_flgptn)) { ercd = E_OK; } else { winfo.waiptn = waiptn; winfo.wfmode = wfmode; // イベント待ち。現在のタスクを待機状態へ移行 wobj_make_wait((WOBJCB *) flgcb, (WINFO_WOBJ *) &winfo); // 最高優先度のタスクをディスパッチ dispatch(); ercd = winfo.winfo.wercd; if (ercd == E_OK) { *p_flgptn = winfo.flgptn; } } t_unlock_cpu(); exit: LOG_WAI_FLG_LEAVE(ercd, *p_flgptn); return(ercd); }
イベントのビットをクリア。& してるので操作するビットを間違えるとアウチなことになる。
SYSCALL ER clr_flg(ID flgid, FLGPTN clrptn) { FLGCB *flgcb; ER ercd; LOG_CLR_FLG_ENTER(flgid, clrptn); CHECK_TSKCTX_UNL(); CHECK_FLGID(flgid); flgcb = get_flgcb(flgid); t_lock_cpu(); flgcb->flgptn &= clrptn; ercd = E_OK; t_unlock_cpu(); exit: LOG_CLR_FLG_LEAVE(ercd); return(ercd); }
_ [データキュー][μITRON][TOPPERS/JSP][コードリーディング]μITRON 実装 TOPPERS/JSP を読む - データキュー
1 ワードのデータを送受信するためのキュー。1 ワードだけどポインタを乗せれば何でもイケる。
コードはこれ kernel\dataqueue.c
データキュー初期化
void dataqueue_initialize(void) { UINT i; DTQCB *dtqcb; for (dtqcb = dtqcb_table, i = 0; i < TNUM_DTQ; dtqcb++, i++) { queue_initialize(&(dtqcb->swait_queue)); dtqcb->dtqinib = &(dtqinib_table[i]); queue_initialize(&(dtqcb->rwait_queue)); dtqcb->count = 0; dtqcb->head = 0; dtqcb->tail = 0; } }
データキューへ送信
SYSCALL ER snd_dtq(ID dtqid, VP_INT data) { DTQCB *dtqcb; WINFO_DTQ winfo; TCB *tcb; ER ercd; LOG_SND_DTQ_ENTER(dtqid, data); CHECK_DISPATCH(); CHECK_DTQID(dtqid); dtqcb = get_dtqcb(dtqid); t_lock_cpu(); // データ受信待ちのタスクキューがあれば送信する。最高優先度のタスクをディスパッチ if ((tcb = send_data_rwait(dtqcb, data)) != NULL) { if (wait_complete(tcb)) { dispatch(); } ercd = E_OK; } // キューに積む else if (enqueue_data(dtqcb, data)) { ercd = E_OK; } // データ受信されるまでタスクを待機状態へする。最高優先度のタスクをディスパッチ else { winfo.data = data; wobj_make_wait((WOBJCB *) dtqcb, (WINFO_WOBJ *) &winfo); dispatch(); ercd = winfo.winfo.wercd; } t_unlock_cpu(); exit: LOG_SND_DTQ_LEAVE(ercd); return(ercd); }
データキューから受信。最初の処理の意図が分からん。
SYSCALL ER rcv_dtq(ID dtqid, VP_INT *p_data) { DTQCB *dtqcb; WINFO_DTQ winfo; TCB *tcb; VP_INT data; ER ercd; LOG_RCV_DTQ_ENTER(dtqid, p_data); CHECK_DISPATCH(); CHECK_DTQID(dtqid); dtqcb = get_dtqcb(dtqid); t_lock_cpu(); // データキューがあれば if (dequeue_data(dtqcb, p_data)) { // データを受信 if ((tcb = receive_data_swait(dtqcb, &data)) != NULL) { // またデータキューへ入れる? enqueue_data(dtqcb, data); if (wait_complete(tcb)) { // タスクディスパッチはいつもの流れ dispatch(); } } ercd = E_OK; } // データ受信 else if ((tcb = receive_data_swait(dtqcb, p_data)) != NULL) { if (wait_complete(tcb)) { dispatch(); } ercd = E_OK; } // データ無ければ受信待ちキューへ入れて待機状態へ移行 else { runtsk->tstat = (TS_WAITING | TS_WAIT_WOBJ); make_wait(&(winfo.winfo)); queue_insert_prev(&(dtqcb->rwait_queue), &(runtsk->task_queue)); winfo.wobjcb = (WOBJCB *) dtqcb; LOG_TSKSTAT(runtsk); dispatch(); ercd = winfo.winfo.wercd; if (ercd == E_OK) { *p_data = winfo.data; } } t_unlock_cpu(); exit: LOG_RCV_DTQ_LEAVE(ercd, *p_data); return(ercd); }
2017-09-15 :-)
2018-09-15 :-)
_ [EOS R]キヤノン EOS R 体験会に行ってきました
開場前から待機列が出来ていて、体験会の待機列は 50 分ほどの待ち時間でした。ただ最初だけ列が長くて、私の番が終わる頃には待機時間が 30 分になっていました。
説明員にひたすら「いいですねー」と言うだけのボットと成りました。
俺「レンズのこのグリグリするのはなんですか?」
説「これはカクカクシカジカ」
俺「FVってなんですか?」
説「カクカクシカジカ」
俺「EVFめっちゃキレイですね」
説「でしょー」
などと
セミナーの枠に開発者トーク枠があったんですが「CP+ と同じようにどうせ部長クラスが無難な話をして終わりだろう」と思ってスルーしたんですけど、展示パネルを眺めていたら、おや部長じゃないですか。もしかしてトークに登壇する可能性があったのか。
2019-09-15 :-)
_ [艦これ][佐世保]「艦これ」佐世保鎮守府巡り 2 日目
イベント自体は 9/13 の前夜祭から開催されてるんですが、私は私用により 9/15 後段作戦からの参加です。
移動
長崎空港からバスに乗って佐世保バスセンターへ行きました。バス車内では時雨と朝潮によるアナウンスがありました。
バスセンターでクッキーが出迎え。
商店街
商店街に到着していきなりこれですよ。佐世保に受け入れられてることが実感できて泣いた。
すべてのイラストが描き下ろしです。しかも時雨は 2 種類ある。この上着半脱ぎの時雨と、クリアファイル限定のイラスト。しーちゃんは地味に髪型が変わってたりしますね。
ローソンも艦これ仕様。
おひる
飲食店コラボやってるレガーレさん。肉 うま
タジマ眼鏡
コラボではないんですが、Twitterで画像が流れてきたので寄りました。次の日(最終日)に挨拶にしに入店したところ、これを作ったという店長(?)から「もう最後だから、あげるよ」と、頂いてしまいました。ありがとうございます。
スタンプラリー
知人提督たちと合流してスタンプラリーやりました。スタンプラリーの景品のクリアファイルが 6 種類あるので、スタンプラリーのポイントを 6 周します。6 周します。いたるところにパネルが設置されてます。佐世保を歩いていたら街にいる艦娘たちに遭遇してしまった感じありますよね。
夜戦
20:00 から艦娘音頭です。タニベユミさん、山田悠希さん、宮川若菜さんが櫓に登場。おそらくその下にはいつもどおりに遊撃隊のみなさんが居たと思われますが、私は後ろのほうに居たので見えず。
弓張丘から緑の明かりが見えたらしい。
ほぼ満月の月と佐世保港の夜景を撮りに弓張岳展望台へ。
— 艦これオケAlba改二@10/22抜錨! (@AlbaOrizzonte) September 15, 2019
よく見ると、艦娘音頭の提督達の緑の輝きが、綺麗な夜景の一部となっていました…!#艦これ #佐世保鎮守府巡り#佐世保鎮守府開庁130年記念 pic.twitter.com/vSXgslzW2f
晩飯
水月さん。
佐世保全体が艦これをリスペクトしてくれて、非常に嬉しいですよね。
赤城さんが言ってる「あらかぶ」はこちら。
夜の商店街
昼間は提督たちがたくさん居た商店街も夜になるとさすがに人通りが少ないです。当たり前ですが。
2020-09-15 :-|
_ [結目ユイ][水瀬しあ]ユイしあグッズ販売
買えました。グッズは何も持ってないので初めてのグッズです。
セットは販売開始 15 分で完売したらしい。
✨🍸ユイしあ夏グッズ販売🏖✨
— 水瀬しあ🏖️陰キャだ。 (@minase_shia) September 11, 2020
🗓9/15 20:00より
初のユイしあ夏グッズ🌺販売します!
連結アクリルキーホルダーで
浴衣と水着の全4種!
ユイやしあで揃えたり衣装で揃えたり…
全部繋げたり?😳
なんと4つセットは特典付き⁉️
お見逃し無くぅ!🥳✨
🛒販売場所
【https://t.co/69YXzL7vmc】 pic.twitter.com/57sa2NAN8b
_ [pacman][arch linux]1 年ぶりくらいに pacman でパッケージ更新しようとしたらエラーになった
ref. pacman -Syuでハマった点(2015/04/30) postfix3, GPG鍵 - Qiita
エラー: ascii: "Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org>" の署名は信頼されていません :: ファイル /var/cache/pacman/pkg/ascii-3.18-3-x86_64.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。 ファイルを削除しますか? [Y/n] エラー: liburing: "Filipe Laíns (FFY00) <lains@archlinux.org>" の署名は信頼されていません :: ファイル /var/cache/pacman/pkg/liburing-0.7-1-x86_64.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。 ファイルを削除しますか? [Y/n] エラー: wireshark-cli: "Filipe Laíns (FFY00) <lains@archlinux.org>" の署名は信頼されていません :: ファイル /var/cache/pacman/pkg/wireshark-cli-3.2.6-1-x86_64.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。 ファイルを削除しますか? [Y/n] エラー: wireshark-qt: "Filipe Laíns (FFY00) <lains@archlinux.org>" の署名は信頼されていません :: ファイル /var/cache/pacman/pkg/wireshark-qt-3.2.6-1-x86_64.pkg.tar.zst は破損しています (無効または破損したパッケージ (PGP 鍵))。 ファイルを削除しますか? [Y/n] エラー: 処理を完了できませんでした (無効または破損したパッケージ) エラーが発生したため、パッケージは更新されませんでした。
鍵
miwa@archlinux[~]% pacman-key --list-sigs | fgrep "Chris.Rebischke" gpg: 注意: 信用データベースが、書き込み不能です sig D21461E3DFE2060D 2015-07-29 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2015-07-29 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2015-07-29 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2015-07-29 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2015-07-29 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2015-07-29 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> uid [期限切れ] Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2016-07-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-06-26 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2016-01-14 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2016-07-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-06-26 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-11-07 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> uid [期限切れ] Christian Rebischke <Chris.Rebischke@posteo.de> sig 3 D21461E3DFE2060D 2016-07-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-06-26 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-11-07 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> uid [期限切れ] Christian Rebischke (www.nullday.de) <Chris.Rebischke@gmail.com> sig 3 D21461E3DFE2060D 2016-07-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-06-26 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-07-16 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2016-07-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-06-26 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-07-16 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2016-07-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-06-26 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-07-16 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-12-05 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2015-10-15 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig 3 D21461E3DFE2060D 2018-08-30 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2016-09-19 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org> sig D21461E3DFE2060D 2016-09-19 Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org>
更新
miwa@archlinux[~]% sudo pacman-key --lsign-key D21461E3DFE2060D -> キーに署名 D21461E3DFE2060D... ==> 信用データベースを更新... gpg: 次回の信用データベース検査は、2020-10-17です
miwa@archlinux[~]% sudo pacman-key -r D21461E3DFE2060D gpg: key D21461E3DFE2060D: 鍵がないため12個の署名は検査しません gpg: 鍵D21461E3DFE2060D: "Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org>" 新しいユーザIDを1個 gpg: 鍵D21461E3DFE2060D: "Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org>" 新しい署名を12個 gpg: 鍵D21461E3DFE2060D: "Christian Rebischke (Arch Linux Security Team-Member) <Chris.Rebischke@archlinux.org>" 新しい副鍵を1個 gpg: marginals needed: 3 completes needed: 1 trust model: pgp gpg: 深さ: 0 有効性: 1 署名: 5 信用: 0-, 0q, 0n, 0m, 0f, 1u gpg: 深さ: 1 有効性: 5 署名: 77 信用: 0-, 0q, 0n, 5m, 0f, 0u gpg: 深さ: 2 有効性: 71 署名: 21 信用: 71-, 0q, 0n, 0m, 0f, 0u gpg: 次回の信用データベース検査は、2020-10-17です gpg: 処理数の合計: 1 gpg: 新しいユーザID: 1 gpg: 新しい副鍵: 1 gpg: 新しい署名: 12
「鍵がないため12個の署名は検査しません」とは
再度 pacman -Syu 実行しても同じエラーになる。
キーリングも必要らしい。
miwa@archlinux[~]% sudo pacman -S archlinux-keyring 依存関係を解決しています... 衝突するパッケージがないか確認しています... パッケージ (1) archlinux-keyring-20200820-1 合計インストール容量: 1.29 MiB 最終的なアップグレード容量: 0.10 MiB :: インストールを行いますか? [Y/n] (1/1) キーリングのキーを確認 [------------------------------------------------------------------------------] 100% (1/1) パッケージの整合性をチェック [------------------------------------------------------------------------------] 100% (1/1) パッケージファイルのロード [------------------------------------------------------------------------------] 100% (1/1) ファイルの衝突をチェック [------------------------------------------------------------------------------] 100% (1/1) 空き容量を確認 [------------------------------------------------------------------------------] 100% :: パッケージの変更を処理しています... (1/1) 更新 archlinux-keyring [------------------------------------------------------------------------------] 100% ==> archlinux.gpg からキーを追加... ==> キーリングの信頼されたキーに署名... -> キーに署名 D8AFDDA07A5B6EDFA7D8CCDAD6D055F927843F1C... -> キーに署名 DDB867B92AA789C165EEFA799B729B06A680C281... -> キーに署名 91FFE0700E80619CEB73235CA88E23E377514E00... -> キーに署名 0E8B644079F599DFC1DDC3973348882F6AC6A4C2... -> キーに署名 AB19265E5D7D20687D303246BA1DFB64FFF979E7... ==> 所有者信頼値をインポート... ==> キーリングの破棄されたキーを無効化... -> キー 8F76BEEA0289F9E1D3E229C05F946DED983D4366 を無効化... -> キー 63F395DE2D6398BBE458F281F2DBB4931985A992 を無効化... -> キー 50F33E2E5B0C3D900424ABE89BDCF497A4BBCC7F を無効化... -> キー 27FFC4769E19F096D41D9265A04F9397CDFD6BB0 を無効化... -> キー 39F880E50E49A4D11341E8F939E4F17F295AFBF4 を無効化... -> キー 8840BD07FC24CB7CE394A07CCF7037A4F27FB7DA を無効化... -> キー 5559BC1A32B8F76B3FCCD9555FA5E5544F010D48 を無効化... -> キー 0B20CA1931F5DA3A70D0F8D2EA6836E1AB441196 を無効化... -> キー 07DFD3A0BC213FA12EDC217559B3122E2FA915EC を無効化... -> キー 4FCF887689C41B09506BE8D5F3E1D5C5D30DB0AD を無効化... -> キー 5A2257D19FF7E1E0E415968CE62F853100F0D0F0 を無効化... -> キー D921CABED130A5690EF1896E81AF739EC0711BF1 を無効化... -> キー 7FA647CD89891DEDC060287BB9113D1ED21E1A55 を無効化... -> キー BC1FBE4D2826A0B51E47ED62E2539214C6C11350 を無効化... -> キー 4A8B17E20B88ACA61860009B5CED81B7C2E5C0D2 を無効化... -> キー 5696C003B0854206450C8E5BE613C09CB4440678 を無効化... -> キー 684148BB25B49E986A4944C55184252D824B18E8 を無効化... -> キー 8CF934E339CAD8ABF342E822E711306E3C4F88BC を無効化... -> キー F5A361A3A13554B85E57DDDAAF7EF7873CFD4BB6 を無効化... -> キー 5E7585ADFF106BFFBBA319DC654B877A0864983E を無効化... -> キー 65EEFE022108E2B708CBFCF7F9E712E59AF5F22A を無効化... -> キー 40440DC037C05620984379A6761FAD69BA06C6A9 を無効化... -> キー 34C5D94FE7E7913E86DC427E7FB1A3800C84C0A5 を無効化... -> キー 81D7F8241DB38BC759C80FCE3A726C6170E80477 を無効化... -> キー E7210A59715F6940CF9A4E36A001876699AD6E84 を無効化... -> キー 5357F3B111688D88C1D88119FCF2CB179205AC90 を無効化... -> キー 4D913AECD81726D9A6C74F0ADA6426DD215B37AD を無効化... -> キー FB871F0131FEA4FB5A9192B4C8880A6406361833 を無効化... -> キー 66BD74A036D522F51DD70A3C7F2A16726521E06D を無効化... -> キー B1F2C889CB2CCB2ADA36D963097D629E437520BD を無効化... -> キー 9515D8A8EAB88E49BB65EDBCE6B456CAF15447D5 を無効化... -> キー 76B4192E902C0A52642C63C273B8ED52F1D357C1 を無効化... -> キー 40776A5221EF5AD468A4906D42A1DB15EC133BAD を無効化... -> キー D4DE5ABDE2A7287644EAC7E36D1A9E70E19DAA50 を無効化... -> キー 44D4A033AC140143927397D47EFD567D4C7EA887 を無効化... ==> 信用データベースを更新... gpg: 次回の信用データベース検査は、2021-01-01です :: トランザクション後のフックを実行... (1/1) Arming ConditionNeedsUpdate...
鍵がたくさん更新された。
これで再度 pacman -Syu して OK だった。
2021-09-15 :-|
_ 艦これ 2021 夏イベント E3-2 甲
M マスが凶悪なのでコロラドタッチの編成で出撃してみた。コロラド、武蔵、大和。 射程超長なので競合する可能性あり。案の定 M マスでは武蔵 → 大和 → コロラドの順で攻撃されたうえにコロラドタッチ不発。ボス到達したけど A 勝利。ぐぬぬ
というわけでE3-2甲を割と順調にクリアしたのですが、恐らくここが本イベント海域最大の山場と思われるので、ちょっと考えをまとめてみました。削り出撃8回・最終段階に入ってから4回でクリア、ダメコン消費は1個でした。水上打撃連合で、コロラドの謎仕様強化タッチを道中Mマスに使う編成です。 pic.twitter.com/EY39EG0q7u
— 赤りんご (@aka_ringo) September 14, 2021
2022-09-15 :-(
_ 飯
カレーです
_ 艦これ 2022 夏イベント 「大規模反攻上陸!トーチ作戦!」 E3 「アレクサンドリアの風」 E3 ギミック1, ギミック2
E3-2 を出現させるギミックです。
- Gマス 到達
- Pマス S勝利 x2
- Nマス S勝利 x2
粛々と勧めました。
_ さいき [>ジャンプ打ち切り大全 これを見ていかにジャンプから遠ざかってるかが よくわかったな〜2000年?以降の作品全然し..]
_ みわ [>さいきくん だいじょうぶ、ジャンプを小学生のころ読んでるヲレでも知らない作品はたくさんあるw]
_ みわ [s/ころ/ころから/]
_ ヨシミツ [サラマンダー(だっけ?)の倒し方教えてください。。。]
_ みわ [>ヨシミツくん ガルーダ? サロニアあたりで出てくる敵かしら。 まだそこまで行ってないす ^^; ガルーダは全員竜..]