サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
WWDC24
suztomo.hatenadiary.org
Haskellのプログラムの実行がGlasgow Haskell Compilerによるコンパイル後にどういう命令によって表現されているかに興味があったので調べてみました. 例えば関数がどのようにメモリ上に存在するかといった実装や, 数字がどうやって表現されているかをgdbを用いて調べてみます. この記事はpartake.inの12月24日分のものです。 Haskellのコンパイル順序 I know kung fu: learning STG by exampleによるとHaskellはGHCの中で次のような流れでコンパイルを進めます. Parse tree Core (Syntax sugarがなくなります) STG (Spineless Tagless G-machine language) C-- backend 下の中から一つ選ばれます LLVM IR (LLVM) Native
本郷を去る前に本郷の周りにあるおいしいレストランを記録していくことにしました. 一つ目は菊坂と言問通りの交わるところにあるcototoi(こととわ)です. ぐるなび - レストラン予約と宴会・グルメ情報 検索サイト 上の写真はワンプレートランチ(1365円)です.今日は牛のステーキでした.サラダ+肉がみえますが,他にもいろいろついています.気分がいいときはワンプレートランチを食べて,普段はスープランチなどを食べます.もわっと野菜のサラダをつけてくれます.
東京大学柏キャンパスへ遊びに行ってきました. 秋葉原からつくばエクスプレスで約30分.柏の葉キャンパス駅からはバスに乗って10分ぐらいで東大前下車. 柏キャンパスは精神的には遠いけれど,意外に近いです.もっとつくば的なキャンパスを想像していたのですが,駒場第二キャンパスをもっと新しく広くした感じでした.つまり建物の並びがまっすぐで,コンクリート打ちっぱなしの建築で,しかもかなり新しいです. キャンパスの中のお寿司屋さん IPMUという数学と物理の人の建物 モデルルームのようなラウンジ おまけ. 大学の向いにある柏の葉公園. ちなみに今日の写真はすべてNexus Sで撮影しました. 天気も良かったのもあり良い画質です.
今回の物件探しでは選びませんでしたが,企業や個人がシェアハウスをやっているものも多くあります.そもそも僕も一人ひとりがトイレと風呂を所有するという形式はもったいないとも思し,家に帰ってきたときに誰かしゃべる人がいると楽しいですよね.それぞれコンセプトが違って面白いです. シェアハウスしたいけど相手がいないという人のためにいくつかあるので大丈夫.個人でやっているシェアハウスは中の人と仲良くなってお互いを知ってから入るといいんじゃないでしょうか. ひつじ不動産 シェア不動産紹介サイト http://www.hituji.jp/ ソーシャルアパートメント http://www.social-apartment.com/ まれびとハウス 田端にある個人でやってるシェアハウス. http://www.mare-bito.net/ Life Style Creator's House これも田端にある
4月から住む物件が決まったのでメモ. 最初は会社に近いし,六本木に住みたいと思っていた.今まで通勤・通学電車に乗ったことがなかったので困自転車で通える距離がいい.今は亡きGoogle不動産を使ってニヤニヤする日が続いた.今は亡きというのはGoogle不動産は最も忙しくなるであろう2月後半から3月を前にしてサービスを終了してしまったのだ.しかし今日調べてみたらほぼ同じ機能でGoogleにデータを提供していたジアースという会社がその機能を提供していたのでこれから探す人は使うのをおすすめする. ブログ、はじめてみました ちなみにこのようにネット上に置いてある不動産情報はエサである場合が多いのであれをアテにして探しに行かないほうがいい.以前,根津の物件を扱っている不動産業者(神保町にある)へ行って「あの物件ちょうど売れちゃったんですよねー」ってわざとらしく言われて別の物件を案内されたことがある.し
本郷のLabcafeでハチロク忘年会をやりました. Livlisの@camelmasaやパーフェクトPHPな@sotarokをはじめいろいろ話題な人達に会えたのが良かった.「○○は俺が作った」とまではいかないけれども話題の本とか雑誌の記事とかウェブサイトとかそういうのを書いたりしている人がよく出てくるようになりました.2年前とかはプログラムの話ばかりしていたけれど最近ともなると結婚とか就職(転職?)とかそういう話がちらほら出てきていて面白かったです. おまけ 今回は紙コップにTwitterのアイコンとIDを貼って名札代わりにしてもらいました.紙コップはすぐに誰が誰のか分からなくなってしまうし,名札がないと誰が誰かわからないのでそれを同時に解決する我ながら素晴らしい案です. 一人,IDを間違えてしまってすいません... 参加者のみんなが楽しんでくれていたようなので主催者としてはやってよかった
JavaScriptで要素を動的に付け加えるときに,Djangoのテンプレートみたいに動いてくれるものを作ってみたら便利でした. Before 今までは,appendとかを沢山つかって要素を生成してた.jQueryのtext関数によるescapeも重要だったし.でもそうすると完成したhtmlの要素の構造がよくわからないのでいちいちコメントでこのようにメモを書いていた. function addComment(container, comment) { /* container : jQuery object comment : { id, owner : { id: ..., dname: (decoded) }, post_id : ..., text : (decoded)... } <div class="comment_box"> <div class="icon"> <img s
Writing *correct* English is always a hard task for most of Japanese people. Microsoft Word provides powerful functionality to proofread our poor English. However, not everyone likes Microsoft. This is the reason why I created an HTTP server that proofreads text using Microsoft Word's spell check functionality. 卒論とかで英語で書かないといけないですよね。Microsoft Wordの文章校正機能は僕の英語力よりも素晴らしいのですが、全員が全員Microsoftを好きというわけじゃな
These days, electric devices for viewing documents have been common. Amazon Kindle and iPad are typical examples for the devices. We can transfer our PDFs or other documents from my computers to these devices using email or cables. This entry introduces a method to print documents on these devices in the same way as the case of printing on paper 紙に印刷するように,プリンタダイアログで「Kindleに印刷」ってのができるようになりました.これを選択
I wrote a Processing class (TwitterStreamingTrack.pde), which helps programmers who want to use Twitter Streaming API from Processing. Sample Program Through the Twitter Streaming API, this Processing program receives tweets that match "#nowplaying" or "suztomo". /* TwitterStreamingTrackTest.pde */ TwitterStreamingTrack tst; void setup() { size(1200, 800); PFont f = createFont("FFScala", 100); tex
お茶の水女子大学のおちゃハウスを使って自分のやっていることを発表する場をも設けてくれたので、未踏とは全く関係のないProcessingを布教してきました。制作展の案内をしたり、ProcessingからTwitter Streaming APIを呼ぶライブラリを作ったのでそこからsayコマンドを起動させて遊んだりしました。 未踏の話をしなかったのですが、こっちのほうが楽しいし聞いている人の役に立ちそうなのでテーマ選びは冒険をしましたがよかったです。 参考 Language Reference (API) \ Processing 3+ http://apiwiki.twitter.com/Streaming-API-Documentation 世界のナベアツ void setup() { size(1200, 800); PFont f = createFont("FFScala", 200
今日は まれびとハウス に行ってきました.田畑にあるシェアハウスです. mare-bito.net で,自分の話はほとんどせずに,人の話しを聞いていました.自分たちの世代,大学4年生とか修士の人とか社会人1,2年目の人がtwitterで集まって,おしゃべりする会でした.この年代の人はやっぱり今の日本の社会とか会社とかに満足していなくて,このまま社会人になりたくない,とか大きいことをしてやろう,とか思うひとがとても多かったように感じます.*1 もともと大学1,2年生で考えている人もいるんだけれども大学を4年ぐらい経験したり,社会人1,2年目になってくるとプランが具体的になってきて,お金の集め方とかが具体的になってくる.大きな会社の50代ぐらいのパトロンを集めたりとか.聞いていてともて面白かったです.*2 で,問題は自分たちの世代だけがこんな特異なのかというときっとそうじゃあなくて10年前の2
Python温泉に来て以前貰ったReal World Haskellを読み進めています.Haskellとは関係ないですが,さっきUnicodeとかutf-8とかのエラーについてさぼてんの人や@tokibitoさんや@whosaysniさんに教えてもらったのでメモ. Pythonのstringはbyte列であり,Unicode文字列は内部でどのような表現が使われているかプログラマが意識しなくていいというのがミソだった.どのようなbyte列であるかを指定するにはUnicode文字列を作成するとき*1や,Unicode文字列をPythonの外に出す(端末への出力やファイルへのリダイレクト)ときに指定する必要がある. 具体的には端末上では動いているけれどもファイルへリダイレクトするときにエラーがでるときがある.これは端末はUnicode文字列をどのようなバイト列で出力すればいいかを教えてくれるとい
ちょうど一年前にシリコンバレーに日本の学生や社会人でエンジニアの人たちと集まってシリコンバレーの会社訪問とか観光とかをしていたようです.僕はほぼ観光目的でしたが少なからず影響は受けました. シリコンバレーにいますよ. - suztomoの日記 あれから1年経ったまとめエントリを見たので自分もシリコンバレーへの旅に影響した部分についてこの1年を超簡単に振り返ってみます. 退学について、ある一面から見た、とても自己中心的な文書。 - ちなみに http://d.hatena.ne.jp/moira/20100315/1268671107 未踏ユースやってました 自分の中で「これをやりました!」というものを作りたかったので,研究で進めたいことを未踏ユースに出して開発していました. Linux Kernelのことを調べてプログラミングしたり,同期でお食事会をやったり良い経験でした. 英語を頑張って
プログラミングClojure(Stuart Halloway著, 川合史郎訳)献本をいただきました。森田さんありがとうございます。 ざっと最初のほうを読んでClojureとこの本の特徴を書いてみると ClojureはJVM上で実行されるLispである。ただし括弧が少なめ。 関数はfirst objectでオブジェクトへの再代入はなくて、関数は副作用を持たない。 Clojureはソフトウェアトランザクショナルメモリなどの並行処理のためのモデルが入っている ClojureのオブジェクトはJavaのインスタンスでもあるので高速にJavaのオブジェクトとやり取りできる。 JVM上で高速に実行されるための実装になっている Lispなので記述が短くて、Javaの蓄えてきたライブラリをClojureが使えて、速い。 以上がClojureの特性で非常に魅力的。本の内容も具体例が多くて、言葉の使い分けもしっ
特定の内容のレスポンスをサーバからもらうようなクライアントをデバッグするときに使えるコマンド. while true; do (cat data.bin | nc -l 8080); doneMacのzshで動作を確認.MacとLinuxでnetcat(nc)コマンドの引数が違うのでご注意.
8月1日,2日に開催されたhttp://www.klab.jp/tenka1programer/bosyu.htmlの決勝に@ysksと参加してきました.写真をつらつらと並べます. 会場は六本木ヒルズ49Fのアカデミーヒルズの部屋でした.良い場所ですが窓がないのが残念. 僕らはチーム名ysz.他のチーム名が気になる人はこちら. で,肝心のチームyszの結果は,問1は探索おわらず,問2,問3はバグがとれず時間内に提出できなかったです.帰ってからもう一度やってみたら問2,3ともに解けました.正確にコードを書く力が欲しいものです. 無限クッキーと無限チョコレートと無限コーヒー. 懇親会 おいしかったです. 二日目,最終問題 1日目の結果で上位10人が2日目の最終問題の解答権を得ます.問2,3を時間内に解けてればなぁ. プレゼン大会 二日目は最終問題に加えて,プレゼン大会もありました.今回の予選・
天下一プログラマーコンテスト予選通過しました.そして明かされない採点方法(笑). 採点方法が適当だからなるべく多くの問題をsubmitしておこうということで第1回予選から3回まで解けるものを(@ysksが)submitしてたので数で勝ったのでしょうか. Twitterで見てもICPC戦士の方々もぞくぞくと通過しているようです.入賞は厳しそうですがせっかくのヒルズ49Fでのプログラミングコンテストなので@ysksと一緒に楽しみたいと思います.*1 chokudai(高橋 直大)🍆🍡🌸 on Twitter: "天下一プログラマーコンテスト予選通過通知ゎぁぃっ" いもす on Twitter: "天下一通過したお" Yoichi Iwata on Twitter: "通過したぽい" 友利奈緒と共に生きる on Twitter: "ちょたぱわーで天下一予選通過したっぽいけど、どうしてこんな
次のエントリはAndroid Marketに加えてdocomoが用意しようとしているアプリマネージャの話です. HugeDomains.com - Shop for over 300,000 Premium Domains 開発者が7割となっている分け前がさらに小さくなり,市場も日本だけになり,さらに完成が来年の4月以降という話です.それに加えてこのエントリは携帯電話の名前について前々から思っていることを書いてみます. docomoは携帯の機種に名前を付けないから駄目なんです. "HT-03A"って名前を見て覚えてる人がどれだけいるでしょうか,いや,これは名前じゃないですね,"型番"です.僕はauの出した"infobar"や"G'z one"という名前の携帯電話の形を僕は覚えています. ですが,"P903"という携帯電話の形を思い出すことができる人はどれだけいるでしょうか? "N905",
Macで動くVMWare Fusion2を使ってLinux Kernel2.6の動きを追う方法のメモ.*1 まずvmxファイルに debugStub.listen.guest32 = "TRUE" の1行を書き加えます. VMWare Fusionを起動します.このとき上のvmxファイルと同じディレクトリの中に.logで終わるファイルがあるので,その中に書いてあるlistening portを探します. ソースファイルとの対応付けをするためにvmlinuxとカーネルのソースコードをもってきます. ここでgdbでデバッグするのですがMacにもともと入っているgdbはtargetがmac用になっているのでそれをLinux用に変えてコンパイルしたものを使います. これで準備完了.CarbonEmacsを立ちあげてM-x cdでLinuxのソースツリーがある場所に移動し,M-x gdbで上のgdb
@makeplex さんから,人生初の献本をいただいたので@atsさん著の「みんなのpython」のレビューをしてみる.pythonはこれまでに何度か書いたことがあるので本を読んでいって知らなかったことの一部のメモを,参照したいURLを合わせて書いてみる. New style class なんとなくobjectを継承していたが,これをすることによって__slots__が使えたり,propertyでセッタとゲッタを中に隠蔽して作ることができる. New-style Classes | Python.org 特殊メソッド オブジェクトに__mul__演算子などを与えておくとa * bやa['fuga']という使い方ができる. http://www.python.org/doc/2.6.2/reference/datamodel.html?highlight=__mul__#object.__m
ウェブのインターフェイス上では"Delete from Tuser"のようなGQL文は発行できない.コマンドラインであくせすして100件ぐらいちまちま消す必要がある.というわけで,GoogleAppEngineでremote_apiを使う s_thx>tmatsuo - When it’s ready.とhttp://code.google.com/intl/en/appengine/articles/remote_api.htmlに従ってappengine_console.pyを作成. ~/Documents/gae/favotter $ python appengine_console.py favotter App Engine interactive console for favotter >>> from models import Tuser >>> from google.
良いもの。悪いもの。: Google App Engine: Twitter送信機能付き掲示板によると1年前はGAEからtwitterへの投稿ができなくなってしまっていたようです. でも今やってみたらできました. コードはgithubにあります.http://github.com/suztomo/gae_twitter.py/tree/master pythonの勉強をかねてまともなものにしていきたいものです. cron cronの設定はcron.yamlから.http://code.google.com/intl/ja/appengine/docs/python/config/cron.html
一度flymakeを使いはじめると,他の言語でもflymakeしたくなるんですよ.EmacsWiki: Python Programming In Emacsに従ってpythonでflymakeを動かすためにepylint.pyというプログラムを作成したわけですよ. emacsの設定ファイルはこんなかんじ.PYTHONPATHもGoogle App Engineのライブラリを探せるようにちゃんと設定しておく. 上の中で呼んでいるepylintはこんなかんじ. でもこれだけの設定ではflymakeはfrom google.appengine.ext import webappがうまくいかない.*1 ちゃんとPYTHONPATHのあるディレクトリにgoogle.appengine.extがあってその中に__init__.pyを含むwebappディレクトリがあるのに.pylintを直接コマンドラ
3月の終わりにシリコンバレーカンファレンスに参加してきました.シリコンバレー周辺で働いている人達や学生が,日本で働いている人や学生にシリコンバレーでの生活を語るイベントです.来年もきっと同じようなイベントがあると思うので,参加者が見たときに役にたつような情報をつらつらと綴ってみます. シリコンバレーカンファレンス自体は1日しかないのですが,それに合わせて現地にあるGoogleやApple, Dropboxなどの企業やUC Berkeley, Stanfordなどの大学の中の人にみんなでアポイントメントをとり,会社の中の様子を案内してもらったり,いろいろとお話を聞いてきました. もちろん僕はサンフランシスコの観光もちゃんとやってきました:) 企業のアポイントメントは,一緒に行った人の中で誰かがどこかの企業にアポをとって「○日に何人×社にいけます」というメーリスをながして,僕はそれに「行きます
大学の後輩のmixiの日記で言及されていたので紹介。 ソフトバンクは採用試験のひとつとして、実際の契約を取れるかどうかという試験をするらしいです。 ソフトバンクグループの通信3社が、応募者に対して「特別採用コース」を新設することを伝えていたことがわかった。その内容は、「ソフトバンクモバイルの携帯電話の契約実績を選考基準のひとつとする」というもの。 http://news.livedoor.com/article/detail/4067805/ ...通常の筆記試験や面接では図ることのできない『営業力』を選考基準のひとつに追加することで学生側に多様なアピール機会を提供し、多様な人材を採用することを目的として... http://news.livedoor.com/article/detail/4067805/ こう書いているけれど、「内定」を餌に就職活動で必死になっている学生を利用して、その
flymakeはemacsでコードを書いているときにミスを教えてくれる,emacsの素晴しい機能です.emacsでミスを教えてくれるflymakeをC++のために使うための設定 - suztomoの日記 sshfsは,リモートにあるファイルをあたかもローカルにあるかのように編集できるようにする仕組みです.sshfsを使うときflymakeを使おうとするとあちらとこちらでマシンの環境が違ったりしてエラーが出ることがあります.例えば手元がMacでリモートがLinuxのとき,linux/user.hのヘッダファイルが手元のMacにないので正しいのにエラーが表示されることがあります. そこで,「ローカルでコンパイルした結果がいけないんだから,リモートでコンパイルすればいいんじゃね」と昨晩ある方法を考えついたのでやってみました. 例えば,リモートの~/projectというディレクトリをsshfsでロ
なんか動かなくなったのでgit checkoutで昔のリビジョンに戻して,ちょこちょこ作業して,さあサーバにバックアップ送るか,とい思ってgit pushしてもAlready up-to-dateと言われて「あれれ?」と30分ぐらい悩んで,結局ブランチがmasterじゃなかったから,というオチでした.これを防ぐためにgitレポジトリの中にいるときはzshのプロンプトの右端にブランチ名を表示させるようにしてみました. 参考にしたサイトはGitのブランチ名をRPROMPTに表示する方法を改良してみた - Hello, world! - s21gですが, git branch &> /dev/null | grep でなんでgrepの標準入力に渡るのかわからないので2>に替えたり,ディレクトリは既に表示してくれてるので表示しないようにしたり改造しました.フックに使われるchpwdが以前の.zsh
何をやるか決めるのと同じぐらい何をやらないか決めるのを考えるのも大切ですね。 というわけで、はちろくチャットやis2007チャットで少し話題に出たmixi OpenIDコンテストに企画を出さないことにしました。面白い企画が思いつかないのが理由ですが、いくつか他の理由も書いておきます。 作品の条件が難しい 1.mixi OpenIDを活用したもの 2.友人やグループで楽しめる(役に立つ)もの 3.応募したチームで実現可能であるもの 4.公序良俗に反しないもの mixi OpenID contest チャットの中では「mixi::Bookmark」とか「mixi::Star」とか、どっかで聞いたような案が出てきたけれど、OpenIDは単なるログインの機能だけなのだから、それを活用したウェブサイトは難しい。得にmixiのOpenIDを利用したものでないといけないのだから用途が限定されてさらに難し
次のページ
このページを最初にブックマークしてみませんか?
『suztomoのはてなダイアリー』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く