本年もよろしくお願いいたします 335bytes
PCの側面パネルを外してリセットスイッチのピンをマザーに差し込む。 ASUSの場合は、マザーボードのマニュアルPDFが公開されていたので、POWER SWのピン位置はそこで確認。
ケース外面には新たなスイッチをつける箇所がないので、とりあえず5inchベゼルからそのままスイッチをぶらさげる。 328bytes
元は4chanの書き込みらしい。それがredditに転載されてちょっとだけ祭りになりつつあるようだ。
元の4chanの書き込みは以下とのこと。
Copying from the thread on 4chan
There is evidence of a massive Intel CPU hardware bug (currently under embargo) that directly affects big cloud providers like Amazon and Google. The fix will introduce notable performance penalties on Intel machines (30-35%).
People have noticed a recent development in the Linux kernel: a rather massive, important redesign (page table isolation) is being introduced very fast for kernel standards... and being backported! The "official" reason is to incorporate a mitigation called KASLR... which most security experts consider almost useless. There's also some unusual, suspicious stuff going on: the documentation is missing, some of the comments are redacted (https://twitter.com/grsecurity/status/947147105684123649) and people with Intel, Amazon and Google emails are CC'd.
According to one of the people working on it, PTI is only needed for Intel CPUs, AMD is not affected by whatever it protects against (https://lkml.org/lkml/2017/12/27/2). PTI affects a core low-level feature (virtual memory) and has severe performance penalties: 29% for an i7-6700 and 34% for an i7-3770S, according to Brad Spengler from grsecurity. PTI is simply not active for AMD CPUs. The kernel flag is named X86_BUG_CPU_INSECURE and its description is "CPU is insecure and needs kernel page table isolation".
Microsoft has been silently working on a similar feature since November: https://twitter.com/aionescu/status/930412525111296000
People are speculating on a possible massive Intel CPU hardware bug that directly opens up serious vulnerabilities on big cloud providers which offer shared hosting (several VMs on a single host), for example by letting a VM read from or write to another one.
まとめると以下のような噂話。
細かい話は見えてこないが、回避策の一つとしては、Knernel Page Table Isolation(PTI)を使うとか。
Intel CPUのバグ対処なら他のOSでもパッチ適用祭りになりそう。 (F0 0F freeze 祭りの時は聞いたこともないようなマイナーOSからもパッチが提供されてた。)
現在は正月休み中ということもあり、大手ニュースサイトでの裏取りできないけど、実際どうなんだろ?
読んでいる日記 の取得方法をちょっと変更。
perlを読むのがキツくなったので、Javaでつるっと取得するように変更。
秋葉原値段系のリンクもこちらに統合。
nginxだとHTTPヘッダにLast-Modified返却してくれないのつらみ。
過去に取得したHTTPボディ内容と比較するという悲惨なコトをしているw
ニコニコ動画のまとめ動画で知ったバーチャルYouTuber。
バーチャルYouTuberの動画いくつか見たけど、それほど面白くない回もあるので、これこそまとめ動画の需要あるんじゃないかなー。
(バーチャルネットアイドルちゆ12さいの方がネタ的には毎回飛ばしてた気がする。)
p.s.
最近のニコ動は無料会員でもシークバー動かせるようになって良かった良かった。 ただ、本当は動画主にゴッソリお金入るようにしてあげないと、YouTuberの方が格上のままだゾ。
p.p.s.
なんか偶然記事になってたww
p.p.p.s.
とりあえず覚えたチャンネルは以下。
さらに追加。歌うバーチャルユーチューバー
さらに追加。
さらに追加。
もうじきFreeBSDからGNU RCSが標準では含まれなくなる(pkgでインストールするようになる)らしいので、 GNU RCSを使っているファイル(自分の環境では設定ファイル)をロック付きでチェックアウトしておくシェルを作成。
function f_gnu_rcs_remove() { if [ $# -ge 1 ]; then FILE_LIST="$@" else FILE_LIST=$( find . -name "*,v" -type f ) fi for i in $FILE_LIST do j=${i%%,v} if [ -w $j ]; then echo $j is write able. /bin/rm -f $i else co -l $j if [ $? -ne 0 ]; then echo checkout failed. $i abort. return 1 fi /bin/rm -f $i fi done return 0 } # 実験その1 f_gnu_rcs_remove ./aliases,v # 実験その2 f_gnu_rcs_remove ./.xinitrc,v # 一気に行く f_gnu_rcs_remove
大雪警報が出てたので、今日は早引け。
1730現在、各地の主要ターミナル駅で入場規制がかかっている模様。
渋谷駅では1600ごろから入場規制がかかっていたという話だから恐れ入る。
この他、品川駅は定番の入場規制。 東急田園都市線も各地で入場規制。 メトロ日比谷線も各地で入場規制。 意外なところで茅場町と鎌田と武蔵小杉駅でも入場規制。
Google 翻訳凄い、、、 しかもこれ翻訳データをダウンロードしておくとネット接続してなくていいから、 Textasticと合わせて、僕の電波の届かない区間のある列車の中で翻訳作業できる。 これで通勤列車の中で生産的な活動ができる。素晴らしい。
Google翻訳アプリって、スマホカメラが捉えた日本語の漢字をリアルタイムに翻訳して画面上で英語に張り替えて表示する動画が流行したけど、 オフラインでも翻訳可能アプリなのか。 すげぇな。 神アプリじゃね?
TextasticはiPhone/iPad用の高機能テキストエディタらしい。 iPhone/iPad用エディタ探してたので、後で試してみよう。
関係ないけど、以下のエディタも良さそう。
長年、自宅のFreeBSDはLANG=ja_JP.eucJPで運用していたのだが、 iPad用端末エミュレータソフトはUTF-8サポートのみ、というのが多い。
というわけで、LANG=ja_JP.UTF-8にしてみたのだが、eucJP時代に作成した日本語ファイル名を使っているファイルがlsで文字化けする(ファイル名の文字エンコーディングがeucJPなので)ので頭が痛い。
テキストファイル内容の編集を行う場合はemacsが適当に変換してくれるので困らないのだが...。
上手い方法が思いつかなかったのでjarを使ってバックアップしてから戻す、という策に出た。
function f_my_backup_jar() { if [ $# -ne 2 ]; then echo "f_my_backup_jar archive-file-name directory-name" return 1 fi local RC=0 local ARCHIVE_FILE=$1 local TARGET_DIR=$2 # シンボリックリンク存在チェック local symlinkcount=$( find $TARGET_DIR -type l | wc -l ) if [ $symlinkcount -gt 0 ]; then echo "シンボリックリンクファイルあり。jarはシンボリックリンクではなくファイル内容を格納するので注意。" echo "処理中断。" return 1 fi # 日本語ファイル名存在チェック find $TARGET_DIR > $$.a.txt find $TARGET_DIR | strings > $$.b.txt diff -uw $$.a.txt $$.b.txt > /dev/null RC=$? if [ $RC -ne 0 ]; then echo "日本語ファイル名あり。" fi /bin/rm $$.a.txt $$.b.txt # 一時的に、eucJPにする。JavaVMはLANGに従ってファイル名の文字エンコーディングを決める。 export LANG=ja_JP.eucJP # jarを使ってアーカイブを作成。jarは内部的にはZIPフォーマットだがファイル名はUTF-8で格納する決まり。 jar cf $ARCHIVE_FILE $TARGET_DIR RC=$? # UTF-8に戻す export LANG=ja_JP.UTF-8 if [ $RC -ne 0 ]; then echo "jarコマンド失敗;;" return 1 fi return 0 } # バックアップ実行 f_my_backup_jar /home/backup/webpub2.jar /home/webpub2
解凍する時は、 export LANG=ja_JP.UTF-8 の状態で jar を使って展開すれば、ファイル名がUTF-8で作成される、という寸法。
ファイルのオーナーは変化してしまうので、chown で適当に補正する必要アリ。
というわけで、オレのFreeBSD機の中のファイル名は全部UTF-8になったゾ。
docker上のアプリはstdout, stderrにログを出して、ログ管理はdocker任せ(コンテナサービス提供会社任せ)にするのが統一的で良いらしい。
というわけで、tomcatのログもstdout/stderrに出すようにしてみる。
まずは /usr/local/tomcat/conf/logging.properties の編集。
FileHandlerは全部コメントに。ConsoleHandlerだけ残す。
# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #handlers = 1catalina.org.apache.juli.AsyncFileHandler, 2localhost.org.apache.juli.AsyncFileHandler, 3manager.org.apache.juli.AsyncFileHandler, 4host-manager.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler handlers = java.util.logging.ConsoleHandler #.handlers = 1catalina.org.apache.juli.AsyncFileHandler, java.util.logging.ConsoleHandler .handlers = java.util.logging.ConsoleHandler ############################################################ # Handler specific properties. # Describes specific configuration info for Handlers. ############################################################ #1catalina.org.apache.juli.AsyncFileHandler.level = FINE #1catalina.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs #1catalina.org.apache.juli.AsyncFileHandler.prefix = catalina. #2localhost.org.apache.juli.AsyncFileHandler.level = FINE #2localhost.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs #2localhost.org.apache.juli.AsyncFileHandler.prefix = localhost. #3manager.org.apache.juli.AsyncFileHandler.level = FINE #3manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs #3manager.org.apache.juli.AsyncFileHandler.prefix = manager. #4host-manager.org.apache.juli.AsyncFileHandler.level = FINE #4host-manager.org.apache.juli.AsyncFileHandler.directory = ${catalina.base}/logs #4host-manager.org.apache.juli.AsyncFileHandler.prefix = host-manager. java.util.logging.ConsoleHandler.level = FINE java.util.logging.ConsoleHandler.formatter = org.apache.juli.OneLineFormatter ############################################################ # Facility specific properties. # Provides extra control for each logger. ############################################################ #org.apache.catalina.core.ContainerBase.[Catalina].[localhost].level = INFO #org.apache.catalina.core.ContainerBase.[Catalina].[localhost].handlers = 2localhost.org.apache.juli.AsyncFileHandler #org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].level = INFO #org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager].handlers = 3manager.org.apache.juli.AsyncFileHandler #org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].level = INFO #org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager].handlers = 4host-manager.org.apache.juli.AsyncFileHandler # For example, set the org.apache.catalina.util.LifecycleBase logger to log # each component that extends LifecycleBase changing state: #org.apache.catalina.util.LifecycleBase.level = FINE # To see debug messages in TldLocationsCache, uncomment the following line: #org.apache.jasper.compiler.TldLocationsCache.level = FINE
Tomcat AccessLog Valve は、別のログ出力システムを内蔵しているので、上のjava.util.loggingの設定は効かない。
/usr/local/tomcat/conf/server.xml 内部にあるアクセスログのところを編集。 /proc/self/fd/1 ファイルに出力する(無茶しやがって)
<!-- Access log processes all example. Documentation at: /docs/config/valve.html Note: The pattern used is equivalent to using pattern="common" --> <Valve className="org.apache.catalina.valves.AccessLogValve" directory="/proc" prefix="self/fd/1" suffix="" fileDateFormat="" rotatable="false" pattern="%h %l %u %t "%r" %s %b" />
これで、アクセスログは stdout に、catalina.out は stderr に出てくる。
/usr/local/tomcat/logs にファイルは作成されない。