Javascriptで処理を一時停止させるのにハマった話

 最近になってようやっと(僅かながら)意欲が湧いてきて、またJavascriptでプログラムを組み始めた。  まあ半端者なりに知識はあるので、全体のデザインが決まったらゴリゴリ書く訳だ。しかし、どうしても sleep() とか wait() とかそういう処理を一時停止する系の関数が欲しくなる場面に行き当たってしまった。  これはいけない。Javascriptの長所でもあり短所でもある…

続きを読む

プログラミングについて(の近況)

 プログラミングについて。  自主的にプログラムを組んでいたのだけど、(色々なものの減退に伴い)徐々に時間が少なくなり、今はほとんどやれてない。  仕事の付帯業務としてしょうがなく(主にMS-Accessの保守で)VBAを書く場合があるが、それも多くない。  仕事としてプログラムを書く日はもう戻ってこないのであろうか。冷や飯喰らいに甘んじている自分が悪いとは言え悲しくなる。  や…

続きを読む

アコギのナット交換と調整失敗(とリカバリー)の記

 ギターを弾くうち、もう少しだけでも弾きやすくならんものかと思うようになってきた。  ギター弾きというのは結構特殊な部類に入る性質がある(事が多い気がする)。  というのも、大概の楽器はある程度以上のメンテナンスはプロの職人さんに頼む場合が多い。当然お金がかかるので学生や(お金持ちでない)アマチュア、初心者は多少の不具合は我慢して使うことが多いのではないかと思う。  ところが、エレ…

続きを読む

リハビリを兼ねてマージソートを実装してみる @Python3 その3

(続きです)  なにが駄目なのか。実は大きなリストを食わせると、リカージョンリミット以上に再帰してしまい、RuntimeErrorを吐いて止まってしまうのだ。  試してみたところ、長さが980くらいでリカージョンリミットに達してまった。  しかしリカージョンリミットの値を大きくするのは解決策とは言えぬ。  まずは第二版をベースに改良を試みた。  simejimarge関数での呼…

続きを読む

リハビリを兼ねてマージソートを実装してみる @Python3 その1

 あ~、やる気が起きない。 …のっけからネガティブメッセージで大変申し訳ないが、事実そうであるから仕方ない。 (;^ω^)  とにかく、昨年の後半から急激に気持ちが落ち込んで、ブログも書けず、Twitterもほとんど投稿せず(もともと少ないけど)、取り組んでいたプログラムもほったらかし。  ギターを再開したことで内なる変化が起こったのは確かだけど、微々たるものであります (´・ω・`) …

続きを読む

ノートPCを分解清掃した話

 今使っているノートPC、機種はDell Latitude D410。今となっては結構古い。まだ10年モノまでは行かないけど、それに準ずる程度には古いモデルだ。もちろん入手した時点で時代遅れのブツではあった。中古で買った訳でな。  最近(結構前からだけど)、やたらと熱を発するようになった。パームレストに手を乗っけてると手が汗びっちょり。  夏のせいかとも思ったけど、それにしたってちょっと…

続きを読む

Willcom03 バッテリー交換の巻

 バッテリーの保ちが極端に悪くなった。まあ今に始まった事じゃなく、ここしばらくずーっと保ちが悪かったのだ。  使ってるのはwillcom03。もう使いだして4~5年になるか。もう限界まで来たみたい。待ち受けも2、3日保てば良い方。メールや通話を何度かすると電池切れになってしまうレベル。  当然ながら交換のためのバッテリーはとっくの昔に販売終了。  もうほとんど諦めていたのだが、やっと見…

続きを読む

ブックマークツールバーをキーボードで操る @Firefox

 常日頃Firefoxを愛用している訳だが、ブックマークツールバーがマウスでないとアクセス出来ないのにはずっと不満を持っていた。ホットキー(キーボードショートカット)が無いので今まで諦めていたのだが、ついにブチ切れてネット調べてみた。  しかし、ざらっと探ったところだとやっぱりダメみたい。(´・ω・`)ショボーン  しかし、Firefoxには強~い味方、アドオン君がいるじゃないですか。…

続きを読む

ターミナルの画面サイズ(文字数)を取得する方法いろいろ @Linux + Python

 最近、ターミナル(端末エミュレータ)で動作するユーティリティスクリプトをよく作る。毎度の事ながらPython(主に3系)である。  ある日ターミナルの画面サイズ(縦横の文字数)を簡易に取得できないかと思い立ち、調べてみた。 ---  と言っても、3.3以降なら簡単なのであった。 >>> import shutil >>> shutil.ge…

続きを読む

ipython tips その5

 ProjectEulerの問題を解くときなんかに、変数の内容や計算過程なんかを画面にずらずら表示させることがよくある。ダンプちうやつや。  ところがあまりに多いと画面に収まりきらない場合がある。収まらないだけならまだしもバッファからあふれてしまう場合がある。当然それ以前は見られない訳だ。  デバッグするならデバッガ使え、という人もいるが、練習問題でそこまでせんでも…という気がする。まあ…

続きを読む

ipython tips その4

(続きです) ・%save/%load (ステートメントのセーブとロード)  入力した内容をファイルに保存しておき、必要に応じて再利用することもできる。 In [1]: fhu = ["DURING the whole of a dull, dark, and soundless day in the autumn of the year,", ...: "when the c…

続きを読む

ipython tips その3

(続きです) ・%edit (外部エディタによる編集)  その2で作ったマクロ"ten"を編集したくなったとする。 In [7]: %edit ten  そういう場合は%editコマンドを使う。  デフォルトではWindowsだとメモ帳、Linuxだとviが開く。 for i in range(10): print(":{}:".format(i), end="") …

続きを読む

ipython tips その2

(続きです) ・%time/%timeit (実行時間計測)  お手軽に、スクリプトや関数などの実行時間を計測することもできる。  これのおかげでスクリプト内で計測モジュールをインポートして、コードを仕込むようなことをしなくて済むようになった。  %timeと%timeitの二種類あって、%timeは普通に実行時間を計測して印字してくれる。  %timeitは何度か実行して、最速結…

続きを読む

ipython tips その1

 てな訳でipythonを使い始めて、色々やってみている。中々便利なものであることはよ~く分かった。  ちなみに、Windowsでは1.1.0、Linuxでは1.2.0を使っている。  Windowsは7、LinuxはLMDE(Linux Mint Debian Edition)である。  余談であるが、LMDEは通常のレポジトリだと今のところ0.13.1しかインストールできないみ…

続きを読む

ipython3を導入してみた @Windows7

 以前bpythonをWindowsに入れて使っていたのだが、PCを引越しして全部失われてしまった。またbpythonを入れるのも良いがこれを機に新しく使ったことの無いipythonを試してみることにした。  基本的にはpython3を使うので、3系に対応した"ipython3"をインストールする(2系のもインストールするけど)事にした。 Announcements ― IPython h…

続きを読む

easy_install (setuptools) のインストールで(軽く)嵌った件

 事の起こりは、この間引越しした仕事用PC(Windows7)に、easy_installとpipを入れてやろうと思ったことに始まる。  PyPIを調べてみるとdistribute/setuptoolsどちらもアクティブっぽい感じ?  今のeasy_installはどうなっちゃってるんであろうか。訳分からん。そこで少し悩んだ。  setuptoolsの方が新しいっぽかたったのでそっ…

続きを読む

Windows7への引越しの記 その2

(続きです)  まだまだ設定すること、導入するものは色々あるぜ~♪ --- ・キーバインド  Windows7では、これまで使っていた窓使いの憂鬱は使えない訳である。派生版として、のどかとYet Another Mado tsukai no Yuutsu (yamy)がある。  のどかはシェアウェアということなので、まずはフリーのyamyを導入。基本的にはこれまでの設定ファ…

続きを読む

Windows7への引越しの記 その1

 WindowsXPのサポート期間終了までもう間もなくというタイミングで折りよく(?)仕事用PCがぶっ壊れた。  職場の経営状態は決して良くない訳で、しかも自分のような冷や飯喰らいに高価な最新PCなど割り当てられる訳も無く、もめにもめた末、先日ようやく新しいPCが入った。  それまでは大変に不便な状態を強いられていたのだが、持ち前の(ムダな)IT知識をフル回転させてどうやら乗り切った。不便で…

続きを読む

定期的にファイルをバックアップするスクリプトを作ってみた @Python3 (その後)

 少し前にファイルバックアップスクリプトを作成した。間に合わせ的に作ったものだがちゃんと動いてくれていて誠に結構。  ところが、最近分かってきたのはPCの電源周りが大分厳しい状況にあるらしく、シャットダウンして電源を入れると途中で何度も止まってしまったり再起動がかかったりする。挙動を見た限りだともしかしたらHDDにも関係があるのかもしれない。  何しろ電源を落とすと、翌日立ち上げた時に行…

続きを読む

右手の小指でShiftキーを押したくなーい、という話

 かつてパソコンをさわり始めたとき、ご多聞に漏れずMS-DOS~Windows3.1という流れだった訳であるが、キーボードの配置やキーバインド(すなわちCUA)はそういうものだと思って、それに慣れきってしまった。  しばらくたってUNIX~Linuxを触りはじめて、BashやEmacsを使い出すと、キーバインドの体系があまりに合理的でひっくりかえってしまった。  つまり、マイクロソフトと…

続きを読む

定期的にファイルをバックアップするスクリプトを作ってみた @Python3

 ここ数日、仕事で使ってるPCの調子がおかしい。何が原因か分からんが、常日頃メモや行動記録を残しているChangelogメモのファイルが立て続けに消えた。  起動したらファイルが文字通り無くなっているのだ。どうしてこうなるのかさっぱり分からぬ。HDDか、エディタ(xyzzy)周りか、Dropboxか、それともOS(WindowsXP)の何かが壊れたか…。  たまたまtmpファイルが残っていた…

続きを読む

LinuxMint Debian Edition UpdatePack7 を適用したら起こった事など

 このブログでは何度も書いているが日常的にLMDE(LinuxMint Debian Edition)を使用している。非常に軽快で、古いノートPC(Dell latitude D410)もいまだ現役で使えて誠に結構なことである。デスクトップ環境をXfceにしているからってこともあるんだろうけど。  ある朝、ノートPCを開けると、通知エリアにあるアップデートマネージャのアイコンがいつもと違う…

続きを読む

ctypesでXlib/Xftをさわってみる @Python3 その2

(続きです)  なんなんだろな~。よく分からん。  こうなったらもうちょっとだけ深みに嵌ってみることにするか。毒を喰らわば皿までちう奴や(違うか)。  スケーラブルフォント(トゥルータイプフォント)の導入じゃ。これなら上手くいく!と信じて!!(無駄に熱い)  しかし、Xlibだけだと使えないらしい。ということで今度はXftを導入しなければならぬ。  Xftはスケーラブルフォ…

続きを読む

ctypesでXlib/Xftをさわってみる @Python3 その1

 前のエントリーで、ctypesをいじくってると書いた。  今linux向けのユーティリティソフトを作ろうと考えていて、その機能の一部として非同期にマウスやキーボードのイベントをとらえたいと思っている。  基本的にPython3でまかなおうと思っているので、本当に原始的な部分を触れれば良い。  良いことにPythonにはctypesという標準ライブラリがある。これがあればOSの備える共…

続きを読む

C言語のenumみたいなのをやってみる @Python3

 少し前に、PythonでC言語のSwitch文みたいなことを出来ないかあれこれやってみた。 C言語のswitch文みたいな条件分岐をやってみる @Python その1 その2 その3 その4 手直し  今回もC言語+Pythonネタ。  今、ctypesモジュールで面白いことが出来ないか色々いじくってるのだが、それぞれのライブラリに関するもろもろが定義されているヘッダーファイルの内…

続きを読む

Opaで開発する10の理由

 そんなこんなでチビチビとOpaをいじり始めた訳だが、それ以前にWebプログラミングやネットワークの基礎的な部分を固めていかないとなかなか進まぬ。基本的に得られる情報は英語なのでそれとも格闘せにゃならん。  さて、記事のタイトル「Opaで開発する10の理由」であるが、元ネタはOpaのWebサイトのホームページ(http://opalang.org/)に書かれている、"Top 10 …

続きを読む

Opa をセットアップしてみた @LMDE

 質問: Opa って何?  答え: ここで言う Opa とは、主に Webアプリケーションに特化したプログラミング言語です。 ---  多分日本では知ってる人はかなり少ないと思う。実にマニアックな話題である。  最初のリリースが2011年。  つまりまだ生まれて2年ほどしか経ってないということになる。Wikipedia に日本語のページが無い事から押して知るべし。  日…

続きを読む

Linuxでスキャナーを使う

 キヤノンのスキャナドライバの話を書いた訳だが、Linux は意外と外部機器の使用について情報が少ないよなあ…と書きながら思った。  スキャンと言っても専らGUIのツールでやるので大した事はない。それでも知ってると知らないとじゃ全然違う。  そこで、とりあえず自分の使っているキヤノンのインクジェットプリンタ/スキャナ複合機を例に、どういう手順でスキャンするか記してみることにした。他のメー…

続きを読む

キヤノンのスキャナドライバをインストールしたら起動時にメッセージが出る @Linux

 もう2年ほどになるがキヤノンのインクジェットプリンタ/スキャナ複合機、MP560を使っている。  キヤノンさんは、自社でLinux用のドライバを用意してくれている。  Windowsのドライバと比べると格段に遅くてがっかりするが、無いと有るとじゃ大違い。ありがたく使わせてもらっている。 キヤノン:ダウンロード|ソフトウエアダウンロード http://cweb.canon.jp/e-…

続きを読む