matplotlibで描いたグラフをファイル保存しつつJupyterでは表示させない方法

Jupyter Notebookで時間のかかる機械学習やデータ解析の処理を走らせているとき、その経過状況をグラフにプロットして観察したい、ということがある。そういうとき、エポックごとに 1 からグラフ描画処理を普通に走らせると Notebook 上にグラフが「追記」さ…

tesseract + pyocr使い方メモ

ひょんな理由で tesseract の使い方を知る必要に迫られたので、簡単に調査。取り急ぎ、次の情報が得られることが目標。 認識された文字(≠単語)のテキストデータ (UTF-8) それらの位置情報(左上点の座標と幅と高さ) もちろん、プログラム的にこれらの情報…

Julia言語で標準出力をリダイレクトしたStringを得る

今日は IOBuffer に使える redirect_stdout のオーバーロードを作った。取り急ぎ Gist として公開してある。Twitterでも呟いてるけれど。 Julia言語では標準ライブラリに redirect_stdout という関数が用意されており、これを使うと一時的に標準出力への書き…

Julia 言語における「任意の要素数のタプル」の型

Julia 言語での「任意の要素数のタプル」の型は Tuple{Vararg{Int}}

MX Anywhere 2がピッタリ入るカメラケース

学生時代に友人からの布教を受けて以来、長いことトラックボール派だったのだけれど、仕事上ノートPCを持ち運ぶようになってから携帯型マウスを使うようになった。トラックボールに慣れた手にとってマウスとはやはり疲れやすいもので、せめて疲れを軽減しよ…

map()やリスト内包表記をジェネレーターで機能拡張(?)する

(主に Python を対象に書いたけれど、Julia その他 map 関数とジェネレーターがある処理系すべてで通用する話) あるリストを元に、新しいリストを生成したいとする。ここで、もし結果のリストが元のリストの各要素に一対一対応するのであれば、普通に map(…

Jupyter Notebookは複数カーソル編集に対応している

偶然気が付いたのだけれどJupyter Notebookは複数カーソル編集に対応しており、Ctrl+クリックでカーソルを追加、Alt+マウスドラッグで矩形選択ができる。これまで、複数カーソルを使った編集をしたい時にはイチイチVisual Studio Codeにコピペして編集して戻…

Windows+Python 3.6+OpenCV環境構築(2018年)

2018年12月20日現在、Windows上で構築したAnacondaまたはMinicondaなPython環境でOpenCVを使うには、以下の方法があるようだ。 pipコマンドでopencv-pythonをインストール pip install opencv-python condaコマンドで、conda-forgeからopencvをインストール …

Python, Cython, Numba, TensorFlowの処理速度比較

Python, Cython, Numba, TensorFlowで、処理速度を比較してみた。未完成感あるけれど、いったん今日時点での結果を記録しておく。 github.com 原点を中心とした半径 1 の円の、x, y ともに正である領域(四分の一円)を考えると、その面積は ということで円…

Pythonのwith文で実行時間を測るクラスを書いた

Pythonのwithブロックの実行時間を測るユーティリティクラスStopwatchを書いた。

WindowsのUAC画面はキーボードで操作できる

Windows の UAC 画面に対して「マウスでの操作を強要されるのが嫌」という不満を書いている人をよく見かけるけれど、あの画面、実はキーボードで操作できる。

Anacondaの仮想環境が作られる標準のディレクトリを変更する

Anaconda の conda コマンドでは、いわゆる仮想環境を作成することで任意のバージョンの Python やパッケージの組み合わせを一つの計算機で共存させることができる。今日は、その仮想環境のファイル群を配置する標準のディレクトリを変更する方法について書…

Japanese Word HandlerのREADME等にバッジを追加

今日は Japanese Word Handler の README に CI バッジや OSS ライセンスのバッジを追加したので、作業記録。

Windows 10、コマンドプロンプトのTabキーでの補完を有効化する

Windows 10を初期化して再セットアップしたところ、コマンドプロンプトで Tab キーでコマンドラインの補完が行われなくなっていた。そこで修復方法をネットで調べたところ、レジストリを編集すれば治せるらしいとのこと。 Turn on AutoComplete in Windows C…

バッチファイルでの引数解析例

Windows バッチファイルは過去の遺物(レガシー)。決別したくとも決別できないし、依然として Windows での手軽なバッチ処理実現手段でもあるため、新しく「書き捨て」したりメンテが発生したりする。今日、少し前に書いたバッチにコマンドライン引数を解釈…

コマンド出力をgrepでキーワードハイライトする

Linuxでターミナルに出力されるメッセージのうち特定のキーワードやパターンに色を付けて表示したいことがあると思う。例えばコマンドの長いヘルプメッセージのうち特定キーワードをハイライトしたい…など。こんな時に良い方法は無いものかと調べたところ、…

GolangのSSL/TLS機能は自前実装らしい

Go

比較的新しい言語では当然のようにSSL/TLS通信の機能が標準ライブラリに含まれている。てっきり、それらの実装はOpenSSLなのだろうと思っていたのだけれど、驚いたことにGo言語のライブラリはOpenSSLを使わず自前実装しているらしい。 [go-nuts] Why did Go …

sudo clushでUbuntuクラスターを管理する

Ubuntuなど最近のLinuxではroot(スーパーユーザー)でのログインを基本的に行わせず、かつrootのみ実行可能な管理コマンドはsudoを通して使わせる思想のものが多い。このrootユーザーを直接的に使わない思想を守りつつ、クラスターを構成する多数のノードを…

高速なSQLでのデータ分析を目指す場合、Hadoop系の技術を使ってHDFSにORCやParquet形式でテーブルを格納してHive、Presto、Spark SQLでクエリーする方向と、ある意味素直にPostgresSQLで分析 (analytic use case) 向けの構成でクラスターを組む方向があるよ…

Ubuntu Server 16.04でNFSを設定する

NFS (Network File System) を設定する手順を調べたので備忘録。Ubuntu Server と題には書いているけれど、他の Linux でも同じだと思う。 要点 サーバー側は nfs-kernel-server パッケージをインストールし、 /etc/exportfs で公開するディレクトリをオプシ…

Ubuntu Server 16.04でCUIの解像度を変更する

VirtualBox + Ubuntu Server 16.04 で、X (GUI) を使わない CUI 状態での解像度を変更する方法を調べたので備忘録。

HDD 2台を搭載するLinux機でOSが起動せず困った話

久しぶりに Linux サーバーの構築をやることになり、ローレベルなところでハマってしまったので備忘録。

Golangの文字列変数のコピーはO(1)

Go

Go 言語の string は、他の多くの言語と違って nil にできない。string の「ゼロ値」(特定の値で初期化しない場合に格納されるデフォルトの内容)は空文字列だ。これを知ったとき、つい C++ の std::string を連想してしまい、「すると string 変数の代入は…

Windowsで使える各種Vimの設定ファイル置き場

Vim

最近すっかり Vim 好きになってしまったので、コマンドラインインタフェース (CLI) 環境があれば必ず Vim をインストールするようになった。で、先日 Bash on Ubuntu on Windows を導入したことで自分の Windows 環境には 4 つもの vim が同居することになり…

古いWindows 10でコマンドプロンプトのカラーテーマをアップグレードする

2017年8月2日にリリースされた Windows 10 の build 16257 でコマンドプロンプトがフルカラー(24ビット)に対応し、それと同時にコマンドプロンプトの標準カラーテーマ(配色)も更新された。しかしこのカラーテーマ、build 16257 以前の Windows 10 をアッ…

Japanese Word Handlerを.vsixでも提供

今日は拙作のVSCode拡張機能Japanese Word HandlerのVSIX形式パッケージを作成し、GitHubで公開した。

テキストエディタの禁則処理

SourceForge.JP で運営しているプライベートプロジェクトの Azuki の開発が止まっています。ただしプロジェクト管理システムから見ると止まっているだけで、水面下では次期バージョンに向けて「禁則処理」と呼ばれる処理を試し実装しています。何もしていな…

C#からコールバック関数を使うCの関数を呼ぶ

C#

概要 この記事には、コールバックを利用するネイティブコードの関数を C# (.NET Framework) のアプリケーションから利用する方法について簡単に書いています。

Windows上で名前が「NUL」のファイルを削除する方法

この記事は Windows 上で名前が「NUL」のファイルを削除する方法について説明します。 そもそも Windows(MS-DOSも)において、NUL や AUX などは特別な意味を持っているため普通はこのような名前のファイルを作れません。しかし何かの拍子にできてしまう事…