高速に暗算で素数判定する方法を晒してみる

そういえば、最近めっきり暗算で素数判定をしていません。それどころか生活の中で電卓を使う機会が少しずつ高まっている実感があり、いよいよ歳を重ねたことを意識せざるを得ない日々を過ごしています。 かつては、車の運転中に眠くなったときに前を走ってい…

15分でできるサーバーレス死活監視

Webサービスの死活監視をするためだけに別途サーバーを用意すると、その死活監視用のサーバーが死んでたらどうしようとビクビクして夜も寝られなくなります。そこでサーバーレスにすればその不安もわりと減るよね、という話は色々なところでされているわけで…

2017年年始のご挨拶

明けましておめでとうございます。 昨年は子供が保育園に通い始めたこともあり、それなりにバタバタとしていることが多かったような気がしますが、周りの方々のご理解やご協力のおかげで無事に1年を過ごすことができました。皆様には心より御礼申し上げます…

DjangoからGmail経由でメール送信する際の手順

Python+Djangoでの開発時にプログラムからメールを送信する際に設定すべきことがいくつかあるので、まとめておきます。(ほぼ自分用の備忘録ですが。) Djangoとか関係なしにプログラムからGmail経由でメールを送信したいだけの方は下記の1と2のみ実施すれば…

AutoHotKeyで幸せになれる設定 vol.1

Windowsユーザーを見かける度に「AutoHotKeyいいよ! AutoHotKeyいいよ!」と啓蒙し続けて6年以上が経ちました。非エンジニアの方でAutoHotKeyを愛用してくれるようになった方が1人だけいるのが唯一にして最大の成果です(ちょっと寂しい)。 AutoHotKeyとは…

早生まれの子供は人権を侵害されているかもしれない

ちょっと過激なタイトルですが、誇張ではなく本当にそう感じています。なんの話かというと、保育園の話です。 早生まれではない子のことを「遅生まれ」というらしいですが、あまり馴染みがない言葉なので、本記事においては遅生まれの子のことを簡単のために…

集合内の任意の2要素の差の二乗の総和

先日、Facebook社が年1回開催しているプログラミングコンテスト(以下、プロコン)である HackerCup というものに参加しました。自分はプロコンガチ勢ではなく趣味でたまに参加する程度なのですが、恥ずかしながらこのHackerCupの存在を今まで知らず、今年初…

開発リソース不足について思うこと

もしあなたがベンチャー企業に勤めているとしたら、まず間違いなく開発リソースが不足していると思います。多くのベンチャー企業において開発者は足りていないはずです。 おそらく多くのベンチャー企業というものは、売上が十分あるわけでもなく、資金が潤沢…

GitHub PagesとJekyllで静的サイトを構築する第一歩

備忘録として、GitHub PagesにJekyllでサイトを作成する初歩の手順を書いておきます。以下、環境はUbuntu 14.04です。 1. ruby2.0以上をインストールする % sudo add-apt-repository -y ppa:brightbox/ruby-ng % sudo apt-get update % sudo apt-get -y inst…

書き心地が最高のノート

6年程前にスマホを使うようになってから、同時に手帳を使わなくなりました。 スケジュール管理もタスク管理も簡単なメモも、まぁスマホで十分効率的に扱えます。 ただ、最近 「あれ? 実は手帳も持ち歩いた方が効率的なのでは?」 と考え始めました。 んで、…

転職のご報告

私事で恐縮ですが、とは言いながらもこのブログに私事以外のことを書いた記憶がほぼ無いので本当は全く恐縮していないのですが、この度転職いたしました。2013年に株式会社アイリッジ(今年の7月に上場して感慨深いです)のCTO職を辞して株式会社リーディン…

電子書籍の無料化について

「――――電子書籍、読んでますか?」 さて、ちょっとドラマチックな展開が期待できそうな書き出しにしてみましたが、ドラマチックな展開はありません。電子書籍について思うところがあったので書いてみようと思います。 数年前から、電車の中で電子書籍を読ん…

Panasonic DMC-CM1

開発用にAndroid5の端末が必要になり、かつカメラの性能が良い端末だと嬉しいな思って色々と調べてみたら、逆転の発想で「デジカメにSIMを挿せるようにしてみた結果wwwwwwww」という紹介記事があってもおかしくないような面白い商品を見つけたので、買ってみ…

スタートアップが初めてGitHubを使う際の手順

先日、スタートアップの方からGitHubの使い方について質問を受けたのでまとめてみます。この記事を読んで役に立つ可能性があるのは これからGitHubを使ってみようとしている ソースコードを管理したいが公開はしたくない エンジニア歴が短かったり非エンジニ…

はてなブログのAndroidアプリリリース記念カキコ

はてなブログのAndroidアプリが出たッ! というわけで、http://developer.hatenastaff.com/entry/2014/11/04/123711 を読んで少し気になったのでアプリをインストールしてみました。上記の記事を読んでる時はふーんって感じでしたが、アプリを実際に使ってみ…

リーンスタートアップ(原題: THE LEAN STARTUP)

今更感がありますが、リーンスタートアップ(第1版第4刷)を読んでみました。全400ページ程度で、最初の80ページはあまり得るものもなさそうかなーなどと思いながら読み進めていたのですが、読み終えてみると結構学びがありました。定期的に見返すために、心…

テスト環境を作るときに少し便利なTips

Webサービスを作るときに、開発中はローカルに置いてあるDBを指して開発することが多いと思います。でもパフォーマンスイシューの修正とか特定のユーザーの環境でしか起こらないバグの修正とかで、本番のDBをローカルにコピーしてくることもありますよね。 …

ワールドビジネスサテライト砲を乗り越える時にやったこと

先日2013年11月25日(月)にテレビ東京さんのWBS(ワールドビジネスサテライト)に弊社サービスのrecme[レクミー]を取り上げていただきました。 というわけで、急激なアクセス増加に耐えるために打った対策を、時系列順にまとめておきます。 11月22日(金) …

素数について愛を語らう。 vol.2

素数が大好きなことで定評のある僕ですが、本当は素数のことはあまり好きではありません。難しいのです。難しすぎるのです。本当に難しすぎてついていけないのです。 素数を好きか嫌いかで言えば、 生後「おぎゃー、おぎゃー、そすー」 11歳「素数って無限に…

SSL証明書をELBに設置する簡単な方法メモ

Webサービスを作ろうとした場合、ログインページや会員登録ページなどをはじめとしてSSLで暗号化した方が良いページがいくつかありますが、それに必要なSSL証明書の取得・設置の簡単な方法をメモがてら書いてみます。すでに詳しい説明などは世の中に溢れてい…

転職を決意した理由

TwitterやFacebookではアナウンスしていましたが、2013年の9月をもって前職の株式会社アイリッジのCTOを辞任しました。現在は株式会社リーディングマークという会社でCTOを務めています。転職活動の際にお声掛けをいただいた方々には大変感謝をしております…

AutoHotKeyのススメ

さて、以前こんな記事を書いたのですが、 実はそれ以来WindowsマシンよりもLinuxマシンの方が使う機会が多くなり、 しばらくキーバインドの変更を諦めていた日々が続いていました。 しかし2012年10月にWindows8マシンをサブマシンとして多用するようになり、…

デジカメ買ってみた

前回デジカメを買ったのは一昔ほど前でまだ大学生の頃でしたが、 一眼レフに憧れるも当時そんなお金はなく、 見た目がそれっぽい「DMC-FZ20」を購入しました。 しかしもはや全然使わなくなってしまったので、 心機一転こちらを購入。 近々旅行に行ったりもす…

Windows8マシンにUbuntu12.10をインストール

先日レッツノートAX2(CF-AX2MENBP)にUbuntuを入れてデュアルブートにすることに失敗してしまったので、 今度はVMware上でUbuntu12.10を動かすように設定しました。(今回は簡単に成功しました。) せっかく起動が速いので、VMwareではなくデュアルブートに…

Let's note AX買ってみた

ご無沙汰しています。 1年以上ぶりの更新になってしまいました。2012年10月26日にLet's noteの新機種が発売されたので、買ってみました。(高かったのに快く買ってくれた妻への感謝の気持ちを記すにはこの余白は狭すぎる。) 360度開いてタブレットにもなる…

綺麗な3次元画像をレンダリングしてみる

3D

高校時代にレイトレーシングを実装してみたことがあるくらいには3次元画像に興味があるので、久々に綺麗な3次元画像をレンダリングしてみました。無料で手に入るレンダラー「Yafaray」の存在を知ってから、いつか試そうと思っていたのでテンションはやや高め…

mapと内包表記の速度の差について

リストに対して何らかの処理をする場合色々な方法があります。それらの速度について勘違いしていたことがあり、@mopemope氏からもご指摘をいただいたので、まずは何も言わずに下記のコードを実行してみます。 import timeit N = 200 target = range(N) def f…

Google Code Jam Qualification Round - D問題「GoroSort」

GCJ

Dashboard - Qualification Round 2011 - Google Code Jam※ かなり変な日本語訳をしていますので、その点ご了承ください。問題 Goroには4本の腕があり、とても強い。君は彼と関わり合いにならない方がいいね。 GoroはN個の互いに異なる整数をソートしたがっ…

Google Code Jam Qualification Round - C問題「Candy Splitting」

GCJ

Dashboard - Qualification Round 2011 - Google Code Jam問題 ショーンとパトリックは兄弟で、親からバッグ一杯のキャンディをもらった。 それぞれのキャンディは正の整数値を有し、彼らはキャンディを分けようとしている。 まず、ショーンがキャンディの山…

Google Code Jam Qualification Round - B問題「Magicka」

GCJ

Dashboard - Qualification Round 2011 - Google Code Jam背景 Magicka(TM) はArrowhead Game Studiosによって開発されたアクションアドベンチャーゲームです。 Magickaであなたは魔法使いを操り、Magicksを生成するためにelementsをinvokingとcombiningする…

Google Code Jam Qualification Round - A問題「Bot Trust」

GCJ

Dashboard - Qualification Round 2011 - Google Code Jam問題 BlueとOrangeのロボットが2本の半直線上にあり、それぞれ半直線上を動けるようになっている。 それぞれの半直線上には100個のボタンがあり、それぞれに「1, 2, ..., 100」とラベルが付いている…

東京データセンター良いです

AWS

Amazon Web ServiceことAWSで東京データセンターが使えるようになったとのことで、早速触ってみました。結論から言いますと、「まさにこういうのを待っていた!」という感じです。Amazonがこんなにも早期に日本にデータセンターを用意したことに驚きを隠せま…

計算力を著しく向上させる方法 Part2

先日、計算力を向上させる方法についてのエントリーを書いたところ、なかなか好評でしたので続きを書いてみることにしました(嘘)。「計算力 向上」でググるとこのブログがそこそこ上の方に出てくるみたいで、PVも11万1111を割り切る最大の素数以上はあった…

WiMaxのすゝめ

ヨドバシカメラでWireless Gatewayに加入してWiMaxを使い始めて早4ヶ月、とても良いです。使っているのはNEC製のAterm WM3300Rという機種ですが、つい先日上位バージョンが発売されましたのでなんとなく紹介しておきます。日本電気 モバイルWiMAXルータ Ater…

計算力を著しく向上させる方法

なんかテレビを見ていたら「学びブーム」と言ってたけしやら池上彰やらが出る番組の番宣をやっていたので、触発されて東大受験時にやっていた計算力向上法をブログに書いてみることにしました。ツイッターでは以前つぶやいたことあるし自分の周りの人にも何…

PEP8について

PEP8はPythonが目指している「誰が書いても可読性の高いソースコードにする」という崇高な目的のために非常に有意義なものですが、これじゃまだ足りていないように思います。「こういう場合ってどう書けばいいの?」という純粋な疑問があるので、皆さんに考…

仕事をするための環境構築

最近実家に帰る機会が増えてきて、3kg近くあるノートPCを毎回持ち帰るのも面倒になってきたのでiPhoneで仕事をする環境を整えています。実家にいる間はコーディングをガツガツするわけではなくサーバが悲鳴を上げた際に応急処置を施したりメールを読んだり書…

書きたい本が出版された…orz

[プログラミングコンテスト系のサイトはGoogle Code JamやProject Eulerなど種々あります。その面白い問題をピックアップして解説して…みたいな本を書こうと画策していたのですが、そんな本が先日出版されたようです。こちらの本です。 プログラミングコンテ…

継承時のクラス名について

下記のコードの出力結果に一瞬あれっ?ってなったけど、全然不思議なこともないからこのエントリはただの独り言です。(終了) class Base(object): @classmethod def func(cls): print '親分 %s' % cls.__name__ class Derive(Base): @classmethod def func…

__getitem__の挙動についてメモ

まず、以下のコードを実行するとどうなるでしょうか。 class Test(object): def __getitem__(self, x): print 'KEY = [%s]' % x a = Test() print 'hoge' in a これが意味のあるコードかどうかは置いといて、この問いに即答できなかったので反省の意味を込め…

WBSでミッシー感を味わう

World Business Satelliteではなく、Work Breakdown Structureです。要は「どんなタスクをこなすか」というのをどんどん細かく分割していくという、進捗を把握しやすくしたり見積もりの精度を上げる手法の一つです。今この作業を粛々とやっています。わかり…

WiMaxは横浜でも使える

先日横浜市戸塚区の実家でWiMaxが使える事を確認し、また二俣川でも使える事を確認しました。いずれも電波は3本中1本とか良くてごく稀に2本でしたが、まぁ新宿でも3本にならない状況を考えれば上出来と言ったところでしょう。親父の入院中の楽しみがiPodいじ…

関数の呼び出し元のファイル名と行番号

開発中に関数の呼び出し元のファイル名・行番号を知りたくなることがあります。例えばエラーの際に開発者にメールを送ることにして、そのメールがどのファイルのどこから送信されたものかを知りたい時などがそれにあたります…と言っても言葉だけでは伝わりづ…

PILで高画質なjpegを出力する

PIL(Python Imaging Library)を利用して以下のようなコードを書くと、モアレが出てしまって画質の粗悪なjpgが出力されてしまいます。 import Image img = Image.open('input.png') img.save('output.jpg') そこでjpgの画質をコントロールできないものかと /s…

4つの数字で10を作るゲーム解説

皆さんもきっと昔一度はやったことがあるかと思います。車のナンバープレートや切符に書かれた4桁の数字と四則演算のみを使って10を作るゲームを。スイカやパスモの普及率が高くなってからこのゲームが絶滅してしまうのではないかと冷や冷やしていましたが、…

NEC Aterm3300R 使用所感

8月1日まで1円で売っていて、しかもパケット定額制で月額3,780円だったのでヨドバシカメラ新宿西口店で先日購入しました。良い点と悪い点をまとめてみます。 まずは良い点。 iPhoneと組み合わせて使っているのですが、通信速度がメチャクチャ速くなります。S…

itertoolsメモ

Python2.3から標準に組み込まれている itertools というモジュールが、Pythonのマイナーバージョンに大きく依存しているので忘れないようにメモしておきます。(あくまで自分用) 詳細を知りたい方は http://docs.python.org/library/itertools.html を御覧…

行動力

ホリエモンが先日出版した『拝金』を読了しました。伝書鳩という、ダビスタ+パワプロ+たまごっちのそれぞれの性質を活かしたアプリが小説内で出てきてビックリ。うちの会社からモバゲーアプリとして出そうと4ヶ月ほど前に自分が考えたアプリと瓜二つだったか…

作業効率化の鍵は変換キーと見つけたり

キーバインドを変更している人はいるでしょうか? PCをいじる上でブラインドタッチができる人はすでに多数派になっていると思いますが、キーバインドを変更してキーボードによる入力作業の高速化を実現している人はまだまだ少数派だと思います。 入力作業は…

本を書いてみようかと画策中

電子書籍化に伴って出版物の多様化、そして日本の出版業界が一時的にしろ盛り上がると予想しているので、その盛り上がりに乗っかって1冊くらい本を書いてみようかと思っています。 かと言っていきなり小説を書いてみようとしてもみみをすませばのヒロイン以…