Ubuntuのskypeでチャットの通知をgrowl風にしたい

linuxバージョンのskypeはずいぶん質素ですよね。 まあ質素なのは別にいいんですが、チャットの通知のポップアップの文字がやたら小さくて目に優しくない。なのでMacのGrowlみたいな素敵な表示ができないかなーと思って調べてみたら、ありました。 skype-not…

import pdb;pdb.set_trace()と打つのがめんどくさい

vim

ゆとりなので普段はdebugモジュール使ってますが、debugは標準モジュールじゃないので無ければpdb使うことになります。 しかしこれがまあアンダースコアも混じってて微妙に打ちづらい。ならsnippesに追加すればいいじゃない。~/.vim/snippets/python.snippet…

CSSのvertical-alignについて

CSS

大前提として、僕の知識は基本的にCSS2止まりです。また、Webデザイナーでもありません。今は(css3では)こうするのがトレンドだよーとかあれば教えて頂けると大変喜びます。 昨夜twitterで403 Forbiddenという記事を紹介してもらった。確かに昔ハマったこと…

SQLAlchemyとpeeweeの比較

とりあえず導入部分だけざっくりと。 データベースへの接続 SQLAlchemy from sqlalchemy import create_engine engine = create_engine('sqlite:///:memory:', echo=True) peewee from peewee import SqliteDatabase engine = SqliteDatabase('db.sqlite') e…

mysql-pythonについて

自宅PCのDjangoで初めてMYSQLを使ってsyncdbしたときにエラーがでた。なんか足りてなかったので今後のためにメモっておく。 ちなみにMYSQLは sudo apt-get install mysql-client-5.1 mysql-server-5.1 でインストールした。その後の話。 $ python manage.py …

ユーザーの作品一覧でブックマーク済みかどうかを表示するUser Script

完全に自己満足。 pixivはホント何をするにも無駄にページを遷移させるのでストレスがたまりますね。全体像は kk6's gist: 1256405 — Gist でたまに更新してます。 $('.display_works a').each(function() { var li = $(this).closest('li'); $.ajax({ type:…

Problem 4 - Project Euler

左右どちらから読んでも同じ値になる数を回文数という。 2桁の数の積で表される回文数のうち、最大のものは 9009 = 91 × 99 である。では、3桁の数の積で表される回文数のうち最大のものはいくらになるか。 翻訳の息抜きがてら久しぶりにProject Eulerやった…

OrderedDictのバグ?

OrderdDictで遊んでたら、下のような現象に遭遇しました。 >>> from collections import OrderedDict >>> d = OrderedDict(one=1, two=2, three=3) >>> d OrderedDict([('one', 1), ('three', 3), ('two', 2)]) >>> d['one'] 1 >>> d.one=100 >>> d OrderedD…

Ubuntu 11.04へclojureをインストール

ubuntuソフトウェアセンターでインストールできるclojureのバージョンは1.1.0。最新は1.3なのでちょっと開きがあるので悩ましいところ。けれど僕の場合ソースからだとclojure本体は問題なくインストールできたけど、どうしてもclojure-contribでハマってしま…

エキスパートPythonプログラミング読書会に参加してきました

この日は14章「Pythonのためのデザインパターン」。一度は行ってみたいと思っていたのと、デザインパターンに興味があったので参加してみました。以下気になったところのメモ。 GoFは「じーおーえふ」と読む。ゴフとは読まない。 元々は建築関係で生まれた言…

Pythonでカリー化と部分適用について考えてみる

まず前提として、ちゃんと学ぶなら自動カリー化をサポートしてるhaskellなりOCamlなりF#なりで学ぶほうが断然いいと思います。 カリー化TLだったので 自分の理解が正しいかどうか再確認。 # こういう関数があるとする def multiply(x, y): return x * y # こ…

pipでインストールしたパッケージのVersion checkとUpgradeをするscript

パッケージ毎に「pip install --upgrade パッケージ名」とするのが面倒だったので書いてみました。ちなみにLinuxだと $ pip freeze | cut -d = -f 1 | xargs pip install -U という方法もあるみたいですが、これだと最新版使ってても全部インストールし直し…

tweepyがUser Streamsに対応していた

ふとgithubのtweepyのコード(tweepy/tweepy/streaming.py at master · tweepy/tweepy · GitHub)を眺めてたら、userstreamなんてメソッドがあることに気づきました。つい数ヶ月前くらいまで「tweepyはUser Streamに対応してなかったので自力で対応した」なん…

Pythonbrew環境下にPySideをインストールしようとしたらはまった

はじめに PySideとはGUIライブラリであるQtのpythonバインディングです。兄弟にPyQtというのがいて、PyQtの技術要件にノキアが納得できなくなったからPySideを開発したとかなんとかいろいろ経緯があるようですけど、基本的に似たようなものとおもっていいと…

pythonのクロージャ

半年以上前に書いた記事ですがネタもないので、 はやくはてなダイアリー市民になりたいので、せっかくなので公開してみます。 なお、その後にid:atsuoishimotoさんがfunc_closureのひみつ - atsuoishimotoの日記というもっと突っ込んだ内容の記事も書かれて…

Ubuntu 11.04にPythonbrewを使ってPython2.5, 2.7, 3.2の環境を構築したときのメモ

Ubuntu 11.04 でpythonbrewを使って環境を構築する際にいろいろハマりました。何度かやってるうちに、こうすればひと通り標準ライブラリや有名所のライブラリが動くのかなーというのがわかったので備忘録も兼ねて記事にしてみました。pythonbrewについての詳…

Googleのナビゲーションバーをページ上部に固定するユーザースタイル

CSS

完成してから気づきましたが、すでに Google+ 限定でなら書いてる人も何人かいるみたいですね。僕はGoogleの主要なサービスにほぼ全てで、上部のナビゲーションバーを固定させてみました。かなり面倒だったので後悔してますが。Gmailは元々「アーカイブ」と…

Python3.2のconcurrent.futuresモジュールを使ってSleep Sort

Python3.2の標準ライブラリを眺めてたら、3.2で新しく追加になったconcurrent.futuresという並列処理用のモジュールが目に止まりました。16.4. concurrent.futures — Launching parallel tasks — Python v3.2.3 documentationパッと思いついたのが先週くらい…

Pythonのisdigit(),isdecimal(),isnumeric()の違いを調べてみた

(2017/8/7追記) 当時は記事内容の通りだったんですが、現在のpython3.6や2.7の最新だとローマ数字はisdigitでFalseを返すようです いつもtwitterでお世話になってる方のブログ記事でこんな記述がありました。 #91 [Python][TDD]テスト駆動開発でFizzBuzzして…

itertoolsモジュールをひと通り眺めてみた

Python 3 からは一部の関数がイテレータを返すよう変更になったということなので、この機会にPython3を触りつつitertoolsモジュールについてひととおり学んでみた。 主に参考にしたのは9.7. itertools — 効率的なループ実行のためのイテレータ生成関数 — Pyt…

Portable Python が Python 3.2 に対応

USBに入れて持ち運べるPython環境、「 Portable Python 」のPython3系対応バージョンが、いつの間にかPython 3.0から3.2にバージョンアップしていました。ダウンロードはこちらのページから。Windowsの場合、最後にインストールしたバージョンのPythonが既定…

コルーチン初歩の初歩

Lua

Lua 5.1 ¥ê¥Õ¥¡¥ì¥ó¥¹¥Þ¥Ë¥å¥¢¥ëを参考にコルーチンがなんとなくわかったので、エキスパートPythonプログラムのP.70の例っぽいものをLuaで書いてみました。 function func(x) for i=0,3 do print(x..i) coroutine.yield() end end co1 = coroutine.create(fu…

Luaのチュートリアルやってみた

Lua

結構前に買ったエキスパートPythonプログラミングですが、案の定当時の自分にはちょっとレベルが高かったので寝かせてたのですが最近また再開してます。それで、コルーチンを実装するってところがよくわかんなかったので、ネイティブでコルーチンを実装して…

Rubyのuniq()をpythonで再現するなら

id:atsuoishimoto さんの uniq()あれこれ - atsuoishimotoの日記 という記事を読み、そのまたリンク先記事やコメント欄を読ませてもらいました。僕はRubyはほとんど知らないのでuniqメソッドについても記事のはじめのほうでは「set()じゃだめなのかな?」と…

Pythonのクラスや関数を簡単に選択するvimプラグイン

vimでhtml編集してるとテキストオブジェクトが便利ですよね。例えばformタグの中にカーソルがある状態で「vat」とキーを叩くだけでform全体を選択状態にしてくれるアレです。pythonでもクラスやメソッドを簡単に選択できたら楽なんですが、なんかいい方法な…

基底クラスの__init__()について

最近必要に迫られてC#を勉強してるkk6です。[雑記] コンストラクター内の仮想メソッド呼び出し (C# によるプログラミング入門) ←ここの「余談: 実行順序に関して」という見出し以下のC#のコードを実行すると以下のように出力される。 Member derived Member…

Nuno Bettencourt(Extreme)からのメッセージ

此度の東北地方太平洋沖地震に対するNuno Bettencourt(およびExtreme)からのメッセージがMyspaceに掲載されていたので訳してみました。 To All Our Dear and Beloved Friends of JapanWe are painfully shocked and devastated from the earthquake/tsunam…

タプルをreverseする

はじめに 先日、とある超レガシーなHTML(tableレイアウト)で書かれたサイトをスクレイピングしないと行けなくなったときに、取得したtd要素のうち、3の倍数番目だけが必要、なんて事がありました。以前、初めてのPythonか何かを読んでスライスには3番目の…

Sphinxを最新版にアップデートしてmake html出来なくなった時の対処法

make出来なくなった Sphinxを最新版(v1.0.7)にアップグレードしたところ、make htmlコマンドが以下のようなエラーを吐くようになりました。 $ make html Running Sphinx v1.0.7 loading pickled environment... not yet created AccessInit: hash collisio…

新年の抱負

MacBook Air 11インチ欲しい!遅くなりましたが新年の抱負など。 プログラミングの本を原著で読めるくらいの英語力をつける GAEでなんかつくる 今年こそオムレツを上手に巻く!