2016年10月31日月曜日

試験勉強とテレビドラマ

扇風機をしまってファンヒーターを出した。

1週間後の2級ボイラーの試験、大丈夫そう。
問題は乙4危険物。
これまでにテキストと問題集に一通り目を通して、
今日からスピードを上げて問題集の2回転目。
暗記が多いから大変だけど、
あと4週間弱、気合を入れて勉強。

法人税法の答練は、理論・計算ともに時間との勝負。
もっぱらスピードアップの訓練かな。

最近、Gyaoでテレビドラマを観てる:

「逃げるははじだが役に立つ」は、
他の番組のパロディを所々に散りばめたりしてて、楽しい。
ただ、面倒な事実婚ではなく、住み込みの家政婦にしておけば
いいんじゃね、って言ったらラブコメにならないか。

「三人兄弟2」。
ストーリーが滅茶苦茶で笑える。

2016年10月24日月曜日

トロイの木馬

前回触れた”サイケなスクリーンセーバー”が気になったので、ウィルススキャンをかけることにした。
ソフトウェアセンターでインストールしてあったClamTkを起動、ボタンをポチッと、、、反応無し。
一旦削除し、ググりながらコンソールでclamavやデーモンをインストールしたり、
ファイルの権限を変えたりしているうちにようやく動くようになった。
早速、データベースをアップデートしてからBasixを入れたUSBメモリをスキャンしたら、

/media/username/BASIX30/EFI/BOOT/BOOTx64.EFI: Win.Trojan.Agent-1428496 FOUND
/media/username/BASIX30/EFI/BOOT/BOOTx64.EFI: Removed.

ふぇえええ、Win用トロイの木馬? Linuxに? いつの間に?
USBメモリをフォーマット(スローなやつ)しなおしてスキャンで大丈夫なのを確認し、
uNetBootinで同じisoファイルを再度書き込んでからスキャンすると、
またもや、トロ発見・削除。

basix-3.0_i386.isoのMD5チェックサムは問題なし。
念の為にメインPC(Ubuntu 16.04 LTS 日本語Remix 64bit)と
そのインストール用USBメモリをスキャンしてみたけど、異常なし。
そもそも、例のスクリーンセーバー(?)と関係あるのか?

で、?ばかりの一日だった、、、。
明日、ネットブックにインストールしてみよう。

ちなみに、ググっているうちに見つけたページ:

clamscan found this: BOOTx64.EFI: Win.Trojan.Agent-1428496 FOUND

英語がよく分からないだけど、ほっといても大丈夫そう。

追記:
大体、Ubuntuでスクリーンセーバー?
と食事中に思って、Basixをライブで動かしてみたら、
XScreenSaverが入ってた、、、で、炎上するパソコンのデザインもよく使われてるらしい。
やれやれ。

XScreenSaver


2016年10月22日土曜日

また風邪

水曜日に風邪を引いて今日まで三日間、家でおとなしくしてたら、
喉の腫れは引いたものの、発熱と鼻水は相変わらず。

東浩紀著「弱いつながり」を読んだ。
日常にノイズを入れる、というのは共感できる。
この人の文章をもっと読んでみたいと思った。
要再読。

乙四危険物の勉強が遅れてるから、
図書館で化学の入門書を借りてきた。
それにしても塩酸、化学式(HCl)には酸素(O)が入ってないのに
何で「酸」を名乗るんだ?
と思ったら、ウィキペディアに「歴史的な経緯」とあった。混乱する、、、。

uNetBootinでUSBメモリにLubuntuをインストールしたんだけど、
ライブで起動せず。
USBメモリをフォーマットしなおしてBasix 3.0 (32bit)にしたら
上手く行った。これで処分する予定のパソコンのHDDのデータを消去。

sudo shred -n 1 /dev/sda

-nのオプションは繰り返しの回数。
雑誌では3回以上を推奨してたけど、とりあえず一回実行してほっといたら、
2時間かからずに終わってた。ただ、スクリーンセーバーがサイケで、
真ん中に火を吹くPCの絵があって不気味だった。
どっかで見たことのあるような、、、。

2016年10月17日月曜日

無題

先週から涼しくなってきた。
あと一ヶ月もしたら寒くなるだろうから、
それまでに部屋を片付けないと。

三浦いをん著「舟を編む」を読んだ、楽しかった。
西岡の心境の変化もうまく描かれてると思った。
辞書の編纂って奥が深そうだな。

テレビドラマ「ハケンの品格」を観た。
ありえないけど、面白かった。

2級ボイラーの勉強は順調だけど、
乙4危険物が遅れ気味。
消化設備士は、1月に乙6を受けることにした。
仕事探しは完全にストップ。

11年くらい前から使ってるキーボードが先週、急に動かなくなった。
中の電子部品が寿命らしい。
慌てて新しいのを買った:サンワサプライのSKB-KG3BKN、1,810円。
古いものの右3分の1がカットされた感じ。
テンキー使わないし、コンパクトでいい。
キーがもう少し静かだと、もっと良かったんだけど。

キーボードの他に、PCディスプレイの電源ケーブルの接触が悪い。
HDDもSDDに換装したいし。
靴も新しいのを買わないと。
デイパックはチャック部分が壊れ始めた。
携帯電話は故障中だし、ジーンズには穴が開いてるし。
いろいろと物入りになりそう。

2016年10月3日月曜日

今後の予定

税務補助、経理事務、プログラミング、データ入力などのバイト・派遣の仕事を探したんだけど、
6週間ちょっとで50件ほど応募し、すべて書類選考で落ちた。
それで先々週末にいろいろ考えて、2級ボイラー技士と乙種4類危険物取扱者の資格を
取ることにした。
先週、3日間のボイラー技士の実技講習を受けてから、受験の申し込みをした。
ボイラーは5週間後、危険物は8週間後くらいに試験。
来年には、5月の測量士補と6・7月の第2種電気工事士にも挑戦する予定。
PHP上級は先送り、LPICレベル1は止めた。税理士試験の勉強はほどほどに。
今月の勉強の調子を見ながら、消防設備士も検討。
仕事探しはしばらく、気休め程度にしておいて、12月になったらビルメン関係で探す。

当面の予定がはっきりしたことだし、気合を入れなおそ。

2016年9月27日火曜日

無題

村上龍著「希望の国のエクソダス」を読んだ。
思ったよりシリアスで読み応えのある小説。
金融危機に関する描写が少し重いかもしれないけど、
日本社会に対する批判は鋭いし、
とりあえずの処方箋も提示している。
要再読。

時給千円のデータ入力のバイトでさえ、
書類選考で落ちるんだから、笑えるなあ。
6週間ぐらいで計50件近く応募したんだけど、ダメだった。
バイトや派遣の仕事を探すより、何か他のことをやれ、ということか。

2016年9月22日木曜日

簡易条文ビューア - 挫折

不具合満載で機能不足だけど、ここで打ち切り。
久しぶりにJavaScriptいじろうとしたらさっぱり忘れてて、
ググッて見つけたコードをコピペしてたら疲れた、もうやめた。



概要:ローカルでWEBブラウザを使って税法の条文を閲覧・編集するためのツール

環境:
Ubuntu
Chromeブラウザ(バージョン51.0 (64-bit))

---必要なファイル---
bootstrap-3.3.7-dist (http://getbootstrap.com/)
jquery-1.11.3 (https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js)
encoding.js (http://polygon-planet-log.blogspot.jp/2012/04/javascript.html)
消費税法のHTMLファイル(今日現在)
(http://law.e-gov.go.jp/htmldata/S63/S63HO108.html)


準備:

1.bootstrapをダウンロードし、解凍してできたフォルダの中(作業ディレクトリ)へ移動

2.jquery.min.jpをjsフォルダ内にコピー

3.encoding.jsをjsフォルダ内にコピー

4.消費税法のHTMLファイル(消費税法.html)を作業ディレクトリに置く

4.viewer.html(下記参照)を作業ディレクトリに置く


使い方:

1.viewer.htmlをブラウザで開く

2.画面右手の操作パネル内の「ファイルを選択」ボタンをクリックし、消費税法.htmlを読み込む

3.条文が表示されるので、編集

文字列を選択してから、
太字:Ctrl+B
下線:Ctrl+U
斜体:Ctrl+I
コピー:Ctrl+C
貼り付け:Ctrl+V
操作パネル内のマーカーボタンでハイライト

5.操作パネル内の保存ボタンで、編集済みのテキストを保存、のはずなんだどけ、
機能せず。ファイルサイズ(614KB)のせい?憲法(58KB)なら動いた。


viewer.html -------------------------------------------------------------

<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>簡易条文ビューワ</title>
<link href="css/bootstrap.min.css" rel="stylesheet">
<script src="js/jquery.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<script src="js/encoding.js"></script>
<style>
.container{
position: fixed;
z-index: 9999;
opacity: 0.8;
}

.row{
    margin-top:10px;
    margin-left:-30px;
    padding: 0 10px;
}

.clickable{
    cursor: pointer;
}

.panel-heading span {
margin-top: -20px;
font-size: 15px;
}
</style>
<script>
$(document).on('click', '.panel-heading span.clickable', function(e){
var $this = $(this);
if(!$this.hasClass('panel-collapsed')) {
$this.parents('.panel').find('.panel-body').slideUp();
$this.addClass('panel-collapsed');
$this.find('i').removeClass('glyphicon-chevron-up').addClass('glyphicon-chevron-down');
} else {
$this.parents('.panel').find('.panel-body').slideDown();
$this.removeClass('panel-collapsed');
$this.find('i').removeClass('glyphicon-chevron-down').addClass('glyphicon-chevron-up');
}
})

function gettext( maintxt ){
var myRe = /(<b>第.*条<\/b>)\s*(<a name="\d*">)(<\/a>)/g ;
var menu = "";

maintxt = maintxt.replace( /<html>[\s|\S]*<body>/ , "" ) ;
maintxt = maintxt.replace( /<\/body>[\s|\S]*<\/html>/ , "" ) ;

while ((myArray = myRe.exec( maintxt )) !== null) {
myArray[2] = myArray[2].replace( /name="/, 'href="#');
menu = menu + myArray[2]+ myArray[1] + myArray[3] + "<br />";
}

document.querySelector("#menu").innerHTML = menu;
document.querySelector("#maintxt").innerHTML = maintxt;
}

window.onload = function(){
document.querySelector("#afile").addEventListener(
'change', afile_changeHandler);

document.querySelector("#markercolor").addEventListener(
'change', markercolor_changeHandler);

document.querySelector("#fontsize").addEventListener(
'change', fontsize_changeHandler);
}

var fontsize = 14;
function fontsize_changeHandler(evt){
fontsize = document.querySelector("#fontsize").value;
$("#maintxt").attr("style", "font-size: " + fontsize + "px;");
};

var markercolor = "#FFFF00";
function markercolor_changeHandler(evt){
markercolor = document.querySelector("#markercolor").value;
};

function afile_changeHandler(evt){
var file = evt.target.files[0];
var reader = new FileReader();

reader.onload = function (e) {
var array = new Uint8Array(e.target.result);
switch (Encoding.detect(array)) {
case 'UTF16':
array = new Uint16Array(e.target.result);
break;
case 'UTF32':
array = new Uint32Array(e.target.result);
break;
}
var unicodeArray = Encoding.convert(array, 'UNICODE');
var text = Encoding.codeToString(unicodeArray);
gettext(text);
}
reader.readAsArrayBuffer(file);
}

jQuery(function($) {
    $("#marker").click( function(evt) {
var selObj = window.getSelection();
if (selObj == '') {return false;}
var range = selObj.getRangeAt(0);
var span = document.createElement("span");
span.style.backgroundColor = markercolor;
range.surroundContents(span);
    });
});

jQuery(function($) {
    $("#savetext").click( function() {
if (typeof Blob == "undefined") {
alert('このブラウザには対応していません');
}

var newtext = document.querySelector("#maintxt").innerHTML;
if ( newtext == "" ) return;
newtext = "<html><body>" + newtext + "</body></html>";
var blob = new Blob([ newtext ], { "type" : "application/x-mssavetext" });

window.URL = window.URL || window.webkitURL;
$("#savetext").attr("href", window.URL.createObjectURL(blob));
$("#savetext").attr("download", "sample.html");
jQuery("#savetext").trigger("click");
    });
});
</script>
</head>
<body>
<table width="100%"><tr><td width="50%">
<!-- left panel --------------------------------------------------------->
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">目次</h3>
<span class="pull-right clickable"><i class="glyphicon glyphicon-chevron-up"></i></span>
</div>
<div class="panel-body">
<div id="menu"></div>
</div>
</div>
</div>
</div>
</div>
<!------------------------------------------------------------>
</td><td width="50%" style="float:right;">
<!-- right panel --------------------------------------------------------->
<div class="container">
<div class="row">
<div class="col-md-3">
<div class="panel panel-primary">
<div class="panel-heading">
<h3 class="panel-title">操作パネル</h3>
<span class="pull-right clickable"><i class="glyphicon glyphicon-chevron-up"></i></span>
</div>
<div class="panel-body">
<input id="afile" type="file" name="selectfile" accept="text/html" /><br />
<a id="savetext" target="_blank"><input type="button" value="保存" /></a><br /><br />
フォントサイズ<input id="fontsize" type="range" min="10" max="18" step="1" /><br />
<input type="button" value="マーカー色" id="marker" />:<input type="color" id="markercolor" list="markerlist" value="#FFFF00" />
<datalist id="markerlist">
<option value="#FF0000"></option>
<option value="#00FF00"></option>
<option value="#0000FF"></option>
</datalist>
<br /><br />
</div>
</div>
</div>
</div>
</div>
<!------------------------------------------------------------>
</td></tr></table>
<!-- main text --------------------------------------------------------->
<div id="maintxt" contentEditable="true" style="font-size: 14px;"></div>
<!----------------------------------------------------------->
</body>
</html>