北京首都国際空港

AIRPORT_WiFi_Freeにつなぐ。なんかどっかその辺にアカウント発行する端末があるのでパスポートをスキャンするとユーザ名とパスワードが印刷される。たぶん人がいるのでどうとでもなる。

北京スタバ

wifiあっていいなー。Twitterとかそのままじゃ繋がらないけど。

ニコニコ動画にfacebookの「いいね!」をつけるユーザスクリプト (Greasemonkey)

id:amachangの主催したフェイスブック同時オン会とかでfacebook、というか「いいね!」おもしれーなーと思ったのでつけてみました。Google ChromeとFirefox(Greasemonkey)で動作を確認。スクリプトをインストール スクリーンショットについて 濡れるッ! - …

[VM][JIT]Brainf*ckで学ぶスクリプト言語処理系高速化。インタプリタ→VMインタプリタ→JITコンパイラ。

スクリプト言語処理系を高速化したくてしたくてたまらない少年少女に届け。表題の通りスクリプト言語処理系の高速化について書きます。対象言語はBrainf*ckにします。Brainf*ckというのは Brainf*ck Brainfuck - Wikipedia というような言語です。要は処理系…

LLVMをCMakeを使ってビルドする。あとexampleのbrainfuck実装を動かしてみる。

Building LLVM with CMake — LLVM 7 documentationを読めばできると思います。 ~ $ wget http://llvm.org/releases/2.7/llvm-2.7.tgz ~ $ tar zxf llvm-2.7.tgz ~ $ cd llvm-2.7 ~/llvm-2.7 $ mkdir build ~/llvm-2.7 $ cd build ~/llvm-2.7 $ cmake .. -i W…

入力したXPathの指す要素を表示点滅させるブックマークレット(一つだけ)

javascript:function b(){if(e.b){e.b=null;e.style.background=e.o}else{e.b=true;if(e.style){e.o=e.style.background;e.style.background="rgba(255,0,0,0.5)"}else{e.o="none"};setTimeout(b,1000)}}function s(d,p){b(e=d.evaluate(p,d,null,XPathResul…

XPathを取得するブックマークレット

javascript:function x(e){if(e.nodeType==9){return""}if(e.hasAttribute("id")){return'id("'+e.getAttribute("id")+'")'}var p=e.parentNode;var t=x(p)+"/"+e.tagName.toLowerCase();var c=p.childNodes;var g=0;var s;for(var i=0,n=c.length;i

android.widget.RatingBarがあんまり使い心地良くないので改変したStarBar

ratingBar.setColor(color)とかしたかったのでそういうことができるように改変してみた。onDrawだけ自前適当実装。android.graphics.Pathで星の形を描いたんだけど、sinとcosのどっちがどっちかしばらく思い出せなくて数学とか頑張ってた時期は遥か遠くだな…

一定時間後にこの処理を実行、などとしたい時はandroid.os.HandlerからpostDelay

一定時間後にこの処理を実行、などということをJavaでやるにはTimerTaskとTimerなどを使う。Androidでもそれはできるけど、TimerでやるとGUIを動かしてるメインスレッドと別のスレッドで動くことになるから結局Handler経由で操作しなきゃいけないし、毎回Tim…

android.widget.Toast便利

ステータスを表示するときなんかに使う。 public class AndroidTest extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Toast.makeText(this, "Show Te…

CUDA memo (3) aobenchをCUDAで実装。

aobenchという上記画像を吐くプログラムがあります。オリジナルのC言語ソースコードは http://code.google.com/p/aobenchcl/source/browse/#svn/trunk/ao/c_reference などに。で、このプログラムが色々な言語で実装したりして速度を競うのが流行った時期が…

CUDA memo (2)

まずCで左側から右側に向かって黒から白にグラデーションしてるPFM画像*1を吐くプログラムを記述。 #include <stdio.h> #include <stdlib.h> #define WIDTH (256) #define HEIGHT (256) #define SCALE (1.0) #define ENDIAN (-1) void writeppm(FILE *output, const size_t size</stdlib.h></stdio.h>…

Ubuntu 10.04 on USBメモリで CUDA 2.3 memo

CUDAでちょっとあれこれする必要があったのだけれど、CUDAで使えるGPU積んだ自分マシン無かったのでUbuntu 10.04をUSBメモリに積んでインストール。*1 参考: https://wiki.ubuntulinux.jp/UbuntuTips/UsbInstall/InstalltoUSBStorage Ubuntu 10.04 にCUDA2.3…

OpenCVは「Pythonバインディングを公式サポートしてます!」と言ってるけどイマイチちゃんと動いてなかった。

[追記] SVN HEADで修正されました。 「Python版のSnakeImageバグってるよ!」と書いて以下のpatchを本家のtracに投げたら素早く修正されました。 https://code.ros.org/trac/opencv/ticket/393 Pythonバインディングに結構まだ粗があるのは確かだけど、公式…

NDS上で動くプログラムの開発

DS開発環境とかほげ DSLua おそらく0.6、0.7ともにビルドにはPAlib070717が必要。PAlib070717に対応するdevkitARM r20は公式サイトでは現在配布終了。またlibndsなどのバージョンも対応させる必要もありそうで自前ビルドは面倒。DSLuaを用いてLuaスクリプト…

べんりだなあ

% /lib/libc-2.3.3.so GNU C Library stable release version 2.3.3, by Roland McGrath et al. Copyright (C) 2003 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for ME…

静的型付けと動的型付け

静的型付け言語の中でも動的型付けは利用されているわけで(C言語で動的型付けの言語処理系を実装するとか)、動的型付けの言語の中で静的型付けでやる部分あってもいいよなあ。というかrubyで型推論とか言ってる人もいるってことは既にありがちなアプローチな…

2009年電通大学祭未踏イベント

出ます。話します。 天才プログラマーとシナジーfrom電通大2009 申し込みが必要みたいですけど、まあ興味があったらどうぞ。 追記 小室直というのが俺です。 電通大へのアクセス http://www.uec.ac.jp/map/comm.html

もうやってる人いるだろうけど例のgolangでbrainf*ck処理系

http://golang.org/ golangという謎の言語があります。低レイヤーな静的システムプログラミング言語としてC/C++しか道具ねーのはしんどすぎんだろJKという発想の元つくられた言語じゃないかなと思っています。そういうの割と欲しいんだよなーと思っていたの…

わいは鬼や! 就活の鬼や!

TAKESAKO @ Yet another Cybozu Labs: 就活生向けIT業界セミナーで講演します IT業界の最先端で活躍しているエンジニアは何を考えどう生きているのか!? IT業界でエンジニアとして働きたいと思っている人には是非参加してほしいセミナーです。昨年までは、…

stackallocもうちょい整理

githubに。なんかライブラリ風にまとめてみた。stackallocのテストと同様の動作をするobstackを使うプログラムも同梱。 http://github.com/hogelog/stackalloc 総じてobstackの方が性能良いけど、stackallocは使う道具を標準libcに限ってるので、こんなもん…

stackalloc的なものあった

obstackという、正にそのものがあった。MIT LicenseのLuaに組み込む目的なのでインターフェースなど参考にしつつ、こっちを組み込んでビルドすることもできるようにしておこう。thanks! alohakun id:kikx

切り出してみる。

要はこういうスタック割り当て、案外便利っすよと。 #include <stdio.h> #include <stdlib.h> #include <assert.h> typedef struct Frame { struct Frame *prevframe; void *top; size_t index; } Frame; typedef struct Slot { void *slot; void *last; size_t size; } Slot; typedef str</assert.h></stdlib.h></stdio.h>…

就活中です!

電気通信大学 電気通信学研究科 情報工学専攻 阿部研究室 博士課程前期 一年 小室 直(こむろ すなお)ですよろしくお願いします!

Lua高速化プロジェクト開発状況など(3)

ひどい話でObjectStackのリサイズをまだ実装していない。スタックそのものをreallocしたあとには当然スタック割り当てを指してるオブジェクト達のポインタを修正してやらにゃならんのだけど、どっかで漏れてるようでうまくいかない。気分転換にプロファイリ…

Lua高速化プロジェクト開発状況など(2)

refixするように実装した。 % cat |./src/lua-stackalloc-dev local t = {10, 20} local u = {t} u[1][1] = u[1][1] + 100 print("t[1]", t[1]) print("u[1][1]", u[1][1]) v = {t} v[1][1] = v[1][1] + 100 print("t[1]", t[1]) print("u[1][1]", u[1][1]) …

Lua高速化プロジェクト開発状況など(1)

AO benchが動いたので % grep 'model name' /proc/cpuinfo model name : AMD Athlon(tm)64 X2 Dual Core Processor 4600+ model name : AMD Athlon(tm)64 X2 Dual Core Processor 4600+ % uname -a Linux rambai.cs.uec.ac.jp 2.6.26-2-amd64 #1 SMP Fri Aug…

あとでちゃんと書く

2009年度上期 未踏ユースのクリエータに採択されてLuaいじったりしてることちゃんと書かなきゃなあ。

俺だった。

阿呆。httpでパスワード変えたのでhttps側で保存してるパスワードと違ってた。

誰ですか

めんどくさい。

test