日記

Python高速学習 経験者編

最近少しだけPythonに触れているのだが、他言語でそれなりにプログラミング経験がある人がPythonを学ぶ場合、差し当たり次の3つのドキュメントがあれば割と短期間でなんとなくPythonっぽいコードを書けるようになるみたいだ。 Top - python.jpで公開されてい…

プログラミング初心者向けに「環境構築の容易さ」をアピールしてはいけない

一言述べておかなければ。「最初に学ぶべきプログラミング言語」 - mizchi's blogプログラミング言語の「売り」として、プログラミング初心者向けに「環境構築の容易さ」をアピールするのは止めた方がよい。だって、それをするなら、WindowsユーザにはPowerS…

量産型プログラマとそれ以外のプログラマの違いはどこにあるか?

ふむ。量産型プログラマを撲滅したい – Yoshihito Kuranuki – Medium最近、量産型プログラマに遭遇したのだが、彼らを観察しているうちに、量産型プログラマとそれ以外のプログラマとでは、次の点に違いが見られることに気づいた。 ソースコード・ドキュメン…

ppbinについての覚え書き

昨年末にppbinというツールを作ったので、メモを残しておく。GitHub - eel3/ppbin: Pretty-printer for binary file ppbinとは何か? ppbinは、指定した形式でバイナリファイルの16進数ダンプを吐き出すコマンドライン・アプリだ。 $ # test.binは44 byteの…

シェルスクリプトに向いている用途

シェルスクリプトに向いている用途は、大抵の場合、以下の要件を1つ以上満たしているものだ。 作りたいものが単機能で、あまり複雑ではない。 非対話的な処理である。 既存のコマンドの羅列/組み合わせで容易に解決できる内容である。 他の言語でいう「メソ…

PythonのwaveモジュールでのPCMデータ読み出しを高速化する

RIFF WAVEファイルからリニアPCMのデータを取り出して、フレーム毎に(正確には各フレーム内のサンプル毎に)加工して出力するツールを作った。諸事情によりPython 2.xの標準ライブラリのwaveモジュールを使ったのだが、Wave_readオブジェクトの扱い方によっ…

正規表現を使ったテキストフィルタとC/C++による自作ツールではどちらが高速か?

改行区切りのテキストレコードを舐めて、特定の形式に当てはまるものを除外するツールが欲しくなった。形式の判定には正規表現が使えそうだった。Unix環境で動かすなら、既存のテキストフィルタを使えばよい。だが残念なことに動作環境はWindowsで、しかもス…

あえてbc(1)した話

たぶんまだまだ初級な小ネタ。こんな感じに16進数(プレフィックスなし)のデータが並んでいるテキストファイルtest.datがあって: 00000000 00000001 0000000F 00000010 7FFFFFFF 80000000 FFFFFFFE FFFFFFFFこれを元データ(32bit符号なし整数)としてちょ…

cat(1)しない話

初級小ネタ。例えばgrep(1)する際に、こんな感じのサンプルコードが示されることがある。 cat file.txt | grep foo しかし個人的には次のほうが好みだ。 grep foo file.txt せっかく引数でファイルを指定できるのだから、そちらを使いたい気分になるのだ。tr…

grep(1)しない話

もう1つ、初級小ネタ。DebianやUbuntuで、あるパッケージがインストールされているか否か調べるのに、今までdpkg(1)とgrep(1)を組み合わせていた。 dpkg -l | grep acpi ところで先日、dpkg(1)のmanを見たところ: -l, --list package-name-pattern... 「pac…

ここ15年ぐらいの自作PCの変化

ここ最近、古いスリムタワー型PCの電源を交換したり、古いタワー型PCの中身を入れ替えてリストアしたりと、古い自作PCの中身を拝見する機会があった。そこで自作PCの変化のようなものにあらためて気づいたので、メモを残しておく。ちなみに私は、ライトな自…

プログラミング言語の剰余演算子に惑う

いくつかのプログラミング言語を見ていると、算術演算子のうち四則演算の記号は、大抵の言語で同じだ。 演算 記号 加算 + 減算 - 乗算 * 除算 / 上記の記号は、COBOLのCOMPUTE文でも通用する。その一方、剰余演算子あたりから若干怪しくなってくる。私の普段…

「ANOMALY: use of REX.w is meaningless」問題の闇は深い

id:eel3:20160909:1473422844 に書いた、コマンドプロンプトで64bitビルドのコンソールアプリを使うと次のようにエラーメッセージが出力される問題: [0x7FFFB4DF70E3] ANOMALY: use of REX.w is meaningless (default operand size is 64)ひとまず、 ウイル…

Windows 7からWindows 10に移行する際に継続利用を止めてみたツール

開発環境をWindows 7から Windows 10に移行したところだが、今まで利用してきたツールの一部について、継続利用を止めてWindows 10の標準機能で過ごしてみることにした。 Adobe Acrobat Reader デフォルトで、Microsoft EdgeでPDFを見れるようになったため、…

Swift 2.2.1から3.0に更新したらSegmentation faultが多発するようになった話

Ubuntu 14.04.5にAppleのSwiftを入れて遊ぼうとしていたのだが、Swift 2.2.1から3.0に差し掛かえたらSegmentation faultが多発するようになった。 $ swift Welcome to Swift version 3.0 (swift-3.0-RELEASE). Type :help for assistance. 1> 1 + 3 Segmenta…

プログラマと予習 事前学習はどの程度必要か?

ちょっと前の記事で、もう下火になっているから、言及してもいいか。 仕事が出来る人の勉強法 優秀なプログラマに学ぶ、効率のいい勉強の仕方 - ケーススタディの人生 少なくとも、上記の記事では「プログラミング」を念頭に議論しているようだ。なのでこち…

ANOMALY: use of REX.w is meaningless (default operand size is 64)

Windows 10に移行してから、私の環境ではコマンドプロンプトでコンソールアプリを使う度に、高い確率で次のようにエラーメッセージが出力されるようになった。 [0x7FFFB4DF70E3] ANOMALY: use of REX.w is meaningless (default operand size is 64)ただし上…

改訂版:WindowsにNode.jsを手動インストールする方法

id:eel3:20140309:1394294944 から若干状況が変化したようで、Node.jsをWindowsに手動インストールする方法がほんの少しだけ楽になった。以前の方法では、node.exeとnpmのアーカイブを別々に取得してセットアップしていたのだが、いつの間にかnode.exeとnpm…

Raspberry Piにちょうどよいタブレットマウントキットを見つけた

Raspberry Pi 3 Bと公式7インチタッチスクリーンディスプレイを組み合わせて、Premium Touchscreen Case for Official 7" Raspberry Pi Displayに入れて使っている。このケースは、LCD背面のRaspberry Pi本体まで覆い隠すタイプだ。Raspberry Pi RASPBERRYPI…

プログラミングでのコピペの作法

プログラミングでコピペというと、次の2通りの解釈が成立するが: ソースコード中で、似たような処理を1つにまとめずに、コピペして量産していくこと。 やりたいことに近いサンプルコードやスニペットをネットで探して、コピペして利用すること。 ――この記事…

Windows 7再インストール最速マスター 2016-08版

Windows 7のロールアップ・パッケージも出たことなので、これから古いWindows 7 PCを再セットアップしたり、仮想マシンを構築したりする際の、作業時間短縮を視野に置いた作業手順をまとめておこうと思う。本当はSP+メーカーなどでHotFix専用インストールCD…

Microsoft Update時に再起動が求められる理由 初級編

Windows Update/Microsoft Updateの時、システムの再起動を求められることが多い。なぜ再起動が必要なのか、再起動しなくてはならないものなのか、ちょっと書いてみる。といっても、私は別にWindowsについて詳しくないし、OSや情報セキュリティについて正式…

ブライアン・カーニハンは写経したか?

ちょっと前の記事だけと、少し気になったので書いておく。 誰もが知ってるけど敢えて言わない確実に身につくプログラミング学習法 - WirelessWire News(ワイヤレスワイヤーニュース) 要約するのが面倒なので、内容については上記記事を参照してもらうとし…

誰も正しいコメントの書き方を知らない

「コメントの書き方」にもある種の理論・思想があり、理論・思想にもとづく「型」があると思っているのだが、「『コメントの書き方』についてそこまで突っ込んだ理解をしている人は驚くほど少ない」と考えておいたほうが無難だろう。Code Kataは既出だが、Co…

netcatによるTCPでのファイル転送は2パターンある

タイトル名の通りのことを今更ながら実感したので、記録を残しておく。netcat(nc(1))を使って、TCPで簡易的にファイルを転送する方法は2パターンある。ファイルを送る側のコンピュータでlistenする方法と、ファイルを受け取る側のコンピュータでlistenする…

イヤホン聞き比べ:Panasonic RP-HJE150とRP-HJE122Aの音はどう違うか?

なぜかセットで名前が挙がることの多い、Panasonicのカナル型イヤホンRP-HJE150とRP-HJE122A。両者を実際に聞き比べたレビューがなさそうなので、試しにやってみた。RP-HJE150といえば、1000円以内で買えて、価格の割には音が良いと評判なイヤホンだ。パナソ…

癖のない良質サウンドの低価格カナル型イヤホン:オーディオテクニカ ATH-CK330M BYL

今年7つ目のイヤホン購入。ようやく本命にたどり着いた。オーディオテクニカ インナーイヤーヘッドホン ブラックイエロー ATH-CK330M BYL出版社/メーカー: オーディオテクニカ発売日: 2015/04/17メディア: エレクトロニクスこの商品を含むブログ (1件) を見…

100均で売っている100円イヤホンの横綱:丸七 XYY-16

今年6つ目のイヤホン購入。私は何を目指しているのだろう? http://www.happystation.co.jp/syouhin.html#xyy16 100円ショップのSeria(セリア)で売っている、100円(税抜)のイヤホン。200円以上のラインナップに属するイヤホンを除くと――つまり100円イヤ…

値段のわりには良い音だが、期待しすぎは厳禁なカナル型イヤホン:Panasonic RP-HJE150-K

今年4つ目のイヤホン購入。こんなに買って何に使うのだろうか。パナソニック カナル型イヤホン ブラック RP-HJE150-K出版社/メーカー: パナソニック発売日: 2008/10/15メディア: エレクトロニクス購入: 50人 クリック: 134回この商品を含むブログ (22件) を…

立ち位置が微妙じゃないかと思うカナル型イヤホン:Panasonic RP-HJE122A-W

今年5つ目のイヤホン購入。こんなに買って何に使うの(ry【Amazon.co.jp限定】 パナソニック カナル型イヤホン フラストレーションフリーパッケージ(FFP)モデル ホワイト RP-HJE122A-W出版社/メーカー: パナソニックメディア: エレクトロニクスこの商品を含む…