あんまり言わない。軽く会釈するぐらいかな。

news.nicovideo.jp

「ありがとう」と言うときは、

 

・自分が困っていて対応してもらったとき。

・好意で何かしてもらったとき。

・イケてるお姉さんを見かけたときw(なお、本人に伝えてはいけない)

 

ぐらいですかね。普段は言いません。

「ありがとう」は感謝の気持ちを伝える言葉です。

自分は安売りすべきじゃないと思いますw

 

PCのハードの構成などをいじった後に、OS 再インストールなどをすると、同じ PC であっても別 PC と判断するのか、ライセンス認証ができなくなってしまう場合があります。

実際にそういう事態になってしまい、深夜にマイクロソフトのサポートセンターへ電話をして、ライセンス認証を出来るようにしてもらいました。その時に「ありがとうございました。」と言うと、電話の向こうのお姉さんが、ちょっと間があって「こちらこそ、ありがとうございます。」と返事をいただきました。そのほんの一瞬の「間」に、お姉さんが姿勢を正したような気配を感じました。実際には見えるはずないのですが、心眼wでそう感じました。

 

Cygwin で Emacs 26 をビルド

Avast の誤検出で大変な目に遭っていましたが、
なんとか直ってきました。

emacs のビルドを自分のためにもメモしておきます。
すぐ忘れるのでw

ソースは The GNU Operating System and the Free Software Movement からダウンロードしてください。
企業では「GPL 汚染」とか言われたりしますのでw
エンタープライズ用途の場合は、いろいろ注意しなければいけません。
ライセンス形態にはとても神経を使いますね。

でも、自宅で個人使用なら何も気にする必要はありません。
この自由感! GPL最高!! むしろ汚染して!!www

./configure --with-w32 --without-imagemagick --without-xim --with-gnutls=no

コンフィグを実行すると tputs が無いとエラーになります。
「--without-imagemagick」を付けると直ると解説しているサイトがありますが、 Emacs 26 ではダメみたいです(いらないかも)。
解決するには setup で libncurses-devel をインストールします。
f:id:umeaji:20181201095229p:plain

コンフィグは通るので、次はビルドです。
make すると iconv.h が無いとエラーになります。
解決するには setup で libiconv のソースをインストールします。
f:id:umeaji:20181201095446p:plain
(↑ソースにチェックを入れてください。このスクショでは入ってませんw)
ソースはなぜかバージョン 1.14-2 までしか選べません。
バイナリは 1.14-3 なのに変ですが、ここでは気にしないで 1.14-2 をインストールします。

一旦 setup を終了して、また setup を起動するとバージョンが古いと pending に挙がるので、
(やっぱり変だよね?)、
最新のバージョン 1.14-3 をそのままインストールします。
これで make が通ります。

インストールの前に起動確認です。

% ./src/emacs -q

f:id:umeaji:20181201100136p:plain
Emacs が起動すれば OK です。インストールします。
あとは、設定ファイル (~/.emacs.el)と elisp パッケージを
/usr/local/share/emacs/site-lisp や /usr/local/share/emacs/26.1/site-lisp あたりに用意して...
f:id:umeaji:20181201100720p:plain
完成です!!


ちなみに、

コンフィグのオプションで XIM は使わないと設定していますが、
他の Windows 用エディタのように普通に Google IME で日本語が入力できたりしますw

もちろん、SKK で日本語が入力できます。
SKK は、elisp のみで書かれたシンプルで動作が軽く誤変換率が少ない素晴らしい日本語入力システムです。

もうだめだ Avast 自身がウイルス級のダメソフト

「挙動監視シールド」は誤検出しまくりなので止めました!

 

誤検出になるとファイルが削除できなくなったり、

プロセスに握られてるとか言われたり、動作がバグりすぎてて意味不明。

(再起動すると直る)

 

いい加減にしないと、もう使うのやめるからね?

 

Cygwin をバージョンアップしたら X が起動しなくなる

なんかバージョンアップがきちんとできてないよ。

/usr/bin/XWin なんて無いしw

そりゃ起動しないよ。バグってるよ!

 

最近やっとこなれてきたかと思ってたのに、

まーたやらかしてる気がするよ。

ダメだな。まったく。

 

cygwin をインストールしたフォルダを捨てて、新規インストール中。

面倒くさいなもう。

 

ーその後ー

 

/usr/bin/XWin.exe が展開できないとか言うわけよw

「プロセスが動いってっから、止めてからリトライしろや!」

って言ってくるわけですがwww

いやいやいや、あんた /usr/bin/XWin なんてないですやん。

何を言ってんの?

 

タスクスケジューラで見ても XWin なんて動いてないよ。

そもそも

「XWin が無いから X 起動できん!ちゃんと確認しろや!」

ってあんたが言ってましたやんwww

 

意味わかんないのだが。

おい Cygwin、どうなってんだよもう。

変すぎだろ!

 

ーさらにその後ー

 

さらに続々と「プロセスが動いてっから、展開できねーし!」エラーが。

仕方ないので continue しまくって取り敢えず通して、

再起動してやり直すからいいよもう!

 

Cygwin ハゲろ!

Cygwin のバーカ!バーカ!バーカ!!

 

ーさらにさらにその後ー

 

なんか怪しい動きしていておかしいなーと、

過去にもこういう変な動作に思い当たるフシがあったので、

Avast のウイルスチェストを見たのですよ・・・

 

見事に隔離されてましたwwwwwwwwwww

 

ウイルスちゃうやろ。アホ Avast が!!!

やっぱりおまえかよ!!!

 

Cygwin さん「ハゲろ」とか言ってすみませんでした。

すべて Avast がアホで誤検出していたせいでした。

本当にごめんなさい。

 

リージョン内の行数をモードラインに表示する

murakan.cocolog-nifty.com

こちらを参考にいたしました。

ただし、emacs26 からは default-* 変数がみんな廃止されたようでエラーになってしまいます。
いろいろ試行錯誤を 1 時間強してなんとかできました。elisp は難しくてよくわかりませんw

;; リージョン内の選択行数/文字数をモードラインに表示
(defun count-lines-and-chars ()
  (if mark-active
      (format "(%dL,%dC)"
              (count-lines (region-beginning) (region-end))
              (- (region-end) (region-beginning)))
    ""))

(setq-default mode-line-format
  (add-to-list 'mode-line-format
               '(:eval (count-lines-and-chars))))

こんな感じにリージョン内の行数と文字数をモードラインに表示してくれます。
便利です!!

f:id:umeaji:20181129204411p:plain

Project Euler 問題139

久しぶりに一問解きました。
問題がかなり難しいです。
なかなか解けない。
解法はわかっても、
処理時間がべらぼうにかかって
解けない場合もありますw
計算式を発見してO(n)とかで解くプログラムを
書かないと無理ですねw


自分は大学出てないので、
数学力が足らないですね。
勉強しなければいけない事が
まだまだたくさんあります。

ところで、以前に解いた問題39ですが、
list 手続きを使うのをやめたら処理時間が
半分(40秒→20秒)になりました。
list 使うと遅いというのは、
以前に教えて頂いているのですが、
リスト処理言語なのに list 使うと遅い
と言うのは悲しい気がしますね。

処理速度に関する注意点

・list 手続きはなるべく使わない。
・なるべくリストは使わない。
・末尾再帰じゃない再帰は書いてはいけない。(末尾再帰はエレガントさが足りないです。再帰で書くほうが美しいです。)
・「再帰」が一発変換できない(処理速度関係ないw)

いろいろ悲しいですw


メモリに関する注意点

・巨大なリストは作ってはいけない。
・無限ストリームは無謀。
・末尾再帰でない再帰は(ry

いろいろ悲しいですw

京ちゃん(スパコン)とかなら自分のクソ遅いゴミプログラムも
瞬時に終わるんですかねえ?www