done is better than perfect

自分が学んだことや、作成したプログラムの記事を書きます。

PythonでSkip-gramを実装した

Skip-gramについて、詳しくはこちら 英語版のWikipediaはこんなニッチな技術も乗っていたりするんですね。びっくりしました。 コードはこちら そうとう不効率な実装になってしまったが、いい実装が思いつかない…

Change apt source (Ubuntu 14.04)

If sudo apt-get update command failed like this: W: Failed to fetch http://jp.archive.ubuntu.com/ubuntu/dists/trusty/InRelease-- W: Failed to fetch http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/InRelease-- W: Failed to fetch htt…

SSHでGNU/Linuxにログインした時のメッセージを変えてみた

SSHでDebian GNU/LinuxなどのUNIX系OSにログインした際,以下の様なメッセージが表示されることがあります. Linux v157-7-141-207 3.13-1-amd64 #1 SMP Debian 3.13.10-1 (2014-04-15) x86_64 The programs included with the Debian GNU/Linux system are …

文章間の距離を様々な尺度で計算できるパッケージを書いた[Golang]

Go言語でLevenshtein距離など様々な尺度で文章間の距離を測ることができるパッケージを書きました。 https://github.com/masatana/go-textdistance (現在のところ)対応している尺度は以下の通りです。 Levenshtein distance Damerau-Levenshtein distance Ja…

青空文庫のクローラをGo言語で作った

青空文庫のクローラをGo言語で書いてみました。 GitHub - masatana/aozorago 実際の実装はGitHubのリポジトリを見てもらえればわかると思います。 基本的にはトップページ→インデックスページ→図書カードページ→zipの流れで取ってきています。 Goroutinesを…

Install OpenCV via Homebrew

TL;DR Use Homebrew You can use Xcode! 1. Uninstall Macports Unfortunately, Macports and Homebrew will not coexist well together. Before installing Homebrew, you should uninstall Macports. (If you can’t uninstall it for some reason, please …

CourseraのMachine Learning EX6でハマったこと

今CourseraのMachine Learningのオンライン授業を受けています。 第6週まで来たのですが、Octaveの3.6.4バージョン以上を使っている人は注意が必要です。 visualizeBoundary.mの21行目を以下のように編集しましょう。 contour(X1, X2, vals, [0 0], 'LineCo…

Install tmux, python, numpy, scikit-learn, scipy from source (CentOS 5.5)

表題のとおりです。とある事情があって既存の環境を壊すことができなかったので、HOMEディレクトリに環境を整えてみました。 インストール時に躓いたものだけメモ代わりに残しておきます。 インストールする先は/home/{user}/binです。これだとインストール…

Web業界のエンジニアブログをまとめてみた

Web業界で有名(=僕がよく読む)なエンジニアブログをまとめてみました。順不同です。 Facebook Google Yahoo! Twitter Mixi GREE DeNA CyberAgent Hatena pixiv Evernote Microsoft Cybozu Wantedly=>Wantedly GitHub

OS Χ (Mavericks)でbrew install haskell-platformが失敗する

Mountain LionからアップグレードしたMavericksで、brew install haskell-platformが失敗しました。 $ brew install haskell-platform ==> Downloading http://lambda.haskell.org/platform/download/2013.2.0.0/haskell-p Already downloaded: /Library/Cac…

端末(Terminal)からWeblioで検索できるPythonスクリプト書いた(改訂版)

前回の記事で書いたPythonスクリプトが半端過ぎたので、 少しだけアップデートしました。 オプションで動詞だけ出すとか、過去形の単語で引いても意味が出てくるとかまだまだ改良したい部分はありますが、 これ以上改良するなら多分自分のGitHubアカウント上…

端末(Terminal)からWeblioで検索できるPythonスクリプト書いた

端末(Terminal)からWeblioで検索できるPythonスクリプト書いてみました。 非常に簡易的かつ、エラー処理とかも行っていませんが。 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys import urllib.request import urllib.parse from html.parser i…

PythonでNHK APIにアクセスするためのクラスを書いてみた(まだ途中)

NHK APIで公開されているAPIをPythonで使うためのラッパーを書いています。 正直実際どう使うかは余り考えていません(´・ω・`) 今はまだ単純なモジュールだけど、後々ライブラリっぽく書いてみたいです。 こちらからどうぞ

Python(2系列)とsqlite3でハマった話

Python 2.7.3 + sqlite3で少しハマりました。 col_nameというカラム名を持つtableが存在するsqliteのデータベースファイルsqlite.dbがあるとして、以下の様なコードを書くとエラーになります。 from __future__ import unicode_literals import sqlite3 con …

Pythonのtuple内包表記の落とし穴

タイトルは釣りです。というかあると思ってたら落とし穴に引っかかりました。 以下のコードを実行すると…… t = (x for x in range(4)) for x in t: print x for x in t: print x 出力 0 1 2 3 二回目のfor文が実行されていません。なんでやねん。 なまじエラ…

はてなブログに移行した

この記事からはてなブログで書くことにしました。広告などがあるのが気にかかりますが、markdownなども普通に使えてすごく便利ですね。コードのハイライトも def main(): print "Hello, hateblo!" if __name__ == "__main__": main() 簡単ですね。Wordpress…

はてなブログに移行します

Wordpressで今までやってましたが、管理が面倒になってきたのではてなブログに移行します。 http://dibtp.hateblo.jp/ こちらが移行先のアドレスです。

お名前.com VPS を借りたらまずやること(Debian) (2)

code{white-space: pre;} これは前の記事の続きです。 パーティションの設定(/homeを別パーティションに移動) iptablesの設定 を行います。 3. パーティションの設定 この記事は、こちらの記事と こちらの記事を参考にしています。ありがとうございます。 パ…

PEP8 のお話

小ネタ。PEP8のお話。 以下の様なコードを考えます。 def f(x, y = 1): pass def g(z, w=1): pass a = 1 b=1 これを、PythonのコードがPEP8と呼ばれるコーディング規則に則っているか調べてくれる ツールpep8を使って解析してみると、以下の様なエラーが出ま…

Mac + git + githubに起こった問題

小ネタ。githubにpushしようとして、今までエラーにならなかったのに突然エラーに成った時にすること. 上記の状況で唐突にこのようなエラーが出ました。 'Permission denied (publickey). fatal: Could not read from remote repository.' もちろん、sshの公…

Mac+homebrew+Python+SQLiteでハマった。

小ネタ。Mac + Homebrew + Python + SQLite使っている人向け。 最近brew upgradeして、pythonでimport sqlite3したらこんなエラーが出るようになりました。 Traceback (most recent call last): File "<string>", line 1, in <module> File "/usr/local/Cellar/python/2.7.3/</module></string>…

DeNA TechStuDIG 2013に参加します

超私事です DeNAのサマーインターンシップTechStuDIG2013に受かりました。聞いたところによると倍率高かったそうですが、グループディスカッションなどで周りに恵まれていただけだと思ってます JavaScriptでオープンソースのプロジェクトを行うそうですが、…

PuttyとSolarizedとlsコマンドのお話

小ネタ.PuttyとSolarizedとlsのお話. Solarized http://ethanschoonover.com/solarizedの配色が好きで,Macのターミナルやmacvim,WindowsでのPuttyのカラースキームなど全てSolarizedのlightを使用しています. 以前から,WindowsのPuttyでsshで接続したL…

数値を桁ごとにリストに格納する方法,またその逆(Python)

小ネタ.プログラミングコンテストなどでよくある数字のn桁目の数を~などに綺麗に対処する方法 プログラミングコンテストなどでは,よくn桁ある数値を右にずらして…などの問題があります.そんなときに,よく行う操作が桁ごとの数値にバラしてリストや配列…

project euler problem4

project eulerの第四問目です 左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で表される回文数のうち最大のものを求めよ. 3桁程度なので,愚直にやってOK…

project euler problem3

project euler3問目 13195 の素因数は 5, 7, 13, 29 である. 600851475143 の素因数のうち最大のものを求めよ. 少し工夫が必要な問題です。単純に数値を1から順番に割っていくような方法では多分終わらないでしょう number = 600851475143 i = 3 factors = […

project euler 始めました

project euler始めました.これはプログラムで解く数学の問題集で,プログラミングコンテストの問題演習にも使えるかと思います.本家は全て英語で問題が書いてありますが,有志が日本語のwikiも作っています. 今problemの1から24までと,67の計25問解き終…

PythonのSQLiteインターフェースを使用するときに、Cursorオブジェクトを作成する必要があるのかという話

小ネタ。Pythonのsqliteインターフェースを使用するとき、cursor()オブジェクトを作成する必要があるかどうかの話。 Pythonのsqliteインターフェースを使用する際、公式のドキュメントなどではConnectionオブジェクトを作成し、それを用いて更にCursorオブジ…

論文紹介: "Determining an Author's Native Language by Mining a Text for Errors"

Moshe Koppel, Jonathan Schler Kfir ZigdonらによるKDD 2005の論文です。論文の概要あるテキストを書いた著者のプロフィールを推定したら色々便利その一環で、テキストを書いた著者の母国語を判定してみた80%くらいの精度使った手法の説明英語のテキストを…

「不完全性定理とはなにか」を読みました

「不完全性定理とはなにか ゲーテルとチューリングの考えたこと」(竹内薫著、ブルーバックス)を読みました。 たまには情報学には直接関係無さそうな分野の内容でも知ろうかと思い、前々から気になっていた不完全性定理について書かれた本を読みました。この…

TOSHIBA KIRABOOK V832の簡単な感想

TOSHIBA KIRABOOK V832を使って少し経ちました。簡単な使用感・感想を書こうと思います。液晶についてKIRABOOK V832の一番の売りです。未だに1366x768(いわゆる地獄解像度)のUltrabookが多い中で、Full HDすらも凌駕する2560x1440(WQHD)です。普通に使おうと…

TOSHIBA KIRAbook V832を買いました

タイトルの通りです。13.3インチのUltrabookの癖して、2560x1440というとんでもない解像度のノートパソコンです。 まだWindows8には慣れませんが、解像度はほんとに半端ない・・・・・・ 近いうちに設定などをあげたいと思います

bashからzshに乗り換えたった

zsh始めました。以前bash-completionを入れましたが、やっぱり重いので…… Macにはデフォルトで入ってるみたいですが、いつもの如くhomebrewで最新版を入れます。% brew install zsh 入れた後はchshコマンドでログインシェルを変更します。% chsh vi(m)で設定…

「集合知と何か」を読みました

「集合知とは何か」(西垣通著、中公新書)を読みました。コンピュータサイエンスをやっていると、よく「集合知」という言葉を耳にします。大雑把に言うと、大量のデータから何か有益な情報が得られないかというデータマイニングの一種とも言えることですが…

お問い合わせ

お名前 (必須) [text* your-name] メールアドレス (必須) [email* your-email] 題名 [text your-subject] メッセージ本文 [textarea your-message] [submit "送信"] [your-subject] [your-name] 差出人: [your-name] 題名: [your-subject] メッセージ本文: […

Macを使い始めて半年経つ私が使うソフト

Macを使い始めて半年ほど、そろそろ自分が使う定番ソフトが決まってきたので主要なものをまとめてみたいと思います。 macvim-kaoriya これは外せません。現在主にプログラミングしているPythonやPHPなどは、すべてこれで書いています。 macvimを使用するにあ…

Watch2chをPythonに移植してみた

Watch2chをPythonで書きなおしてみました。 Watch2chは、PHPで作られた2chの監視を目的としたプログラムです。 指定したスレの勢いをチェックし、閾値を超えた場合にスレッドの内容を出力します。 中々に面白いソフトです。mecabなどの形態素解析のソフトと…

MacにHomebrewでbash-completionを入れた

bashをもう少し効率的に使いたくなったので、bash-completionを入れてみました。 以下、その手順についてメモ。 インストール Homebrewを使って入れます。 $ brew install bash-completion 設定 ~/.bashrcに以下のように記述します。 if [ -f $(brew --prefi…

homebrewをアップデートしようとしたらエラーが出た(解決編)

原因別にWarningを消していきます。まずは Warning: Unbrewed dylibs were found in /usr/local/lib. Warning: Unbrewed .la files were found in /usr/local/lib. Warning: Unbrewed .pc files were found in /usr/local/lib/pkgconfig. Warning: Unbrewed …

homebrewをアップデートしようとしたらエラーが出た

久しぶりにMacのHomebrewをupdateしようかなと思ったら、エラーが出ました。 $ brew update error: Your local changes to the following files would be overwritten by merge: CONTRIBUTING.md Library/Contributions/brew_bash_completion.sh … Aborting …

MacのShift Lock解除について

Macでは、HHKB Lite 2というキーボードを使っております。 このキーボード、中々使い心地がいいんですが、これでプログラミングなど行なっていると、時たま入力する文字が全て大文字になったり、Macのアニメーション(ウインドウをしまったりするときなどのア…

XAMPP for Macでのファイルの置き場所について

MacにXAMPPをインストールして、localhostから自分の作ったphpを見ようとしたらハマったんでメモ 環境Mac OS Χ 10.8.2XAMPP ver 1.7.3XAMPP→Apacheと起動し、Webブラウザでhttp://localhost/にアクセスしてApacheが起動していることを確認して下さい。 ここ…

makepass.pyを書いてみた

こちらのソース を参考に、Pythonでmakepass.pyを作ってみました # -*- coding: utf-8 -*- import getpass import hashlib import base64 import re import subprocess def makepass(): seed = getpass.getpass("Hit many keys randomly. ") while len(seed) …

URL Highlighterを更新しました

更新内容は以下のとおりですver 0.0.1としたjquery.highlight.jsを用いることでより分かりやすくハイライトするように変更README.mdを追加バグフィックス。空白行は無視するように変更既知の問題としてはハイライトされないリンクが有る遅いこれくらいですか…

github始めました

github始めました。 卒論に際してとあるプログラム作成していたんですが、バージョン管理システムなるものを知らない情弱だったんで、しなくていい苦労をした経験から、Gitを最近勉強しています。 どうせ勉強するなら、最近話題のgithubも始めてみよう!って…

ScribeFireテスト

Google Chrome/Firefoxなどに対応しているScribeFireを試しています。 VimのRePressも良かったんですけど、gVim以外で使おうとするとエラー表示がでるのが難点…… こちらはブラウザの拡張機能なのでマルチプラットフォームで良さそうです。

MacVimからWordPressを更新するテスト

WordPressをMacVimから更新する方法のテストです。 VimRepressというVimスクリプトを使用しています。 上手く更新できたら詳しいやり方などをまとめてみたいと思います。

某スキル評価サービスに解答するためのプログラム(Python)

はっきり言ってあんまり汎用性はありませんが、某サービスの問題を解くために使ったプログラムの一部を紹介します。 問題を解く過程で、括弧を含む文字列をパースして、リスト型にするプログラムを考案しました。 例えば、 AAAA => ['A','A','A','A'] AB(CD)…

SQLiteで少し躓いた(Python)

SQL真面目に勉強したほうがいいかなとか思いつつ…… DBに突っ込んだ表から、あるカラムのレコードを検索して合致するカラムを取り出そうとするSQL文を Pythonで記述してみた。 [python] import sqlite3 conn = sqlite3.connect("./MyDB.db") c = conn.cursor …

matplotlibをMac OS Χ 10.8.2( Mountain Lion)にpipで入れようとしたら躓いた

表題のとおりです。pipで気軽にmatplotlibを入れようとしたらハマりました。 [bash]pip install matplotlib[/bash]とやると…… [bash]In file included from src/ft2font.cpp:3: src/ft2font.h:16:10: fatal error: 'ft2build.h' file not found #include ^ 1…