移転しました。

約3秒後に自動的にリダイレクトします。

巨大なプロジェクト以下でEmacsのファイルオープンが遅いので調査する

最近非常にコードベースの大きいプロジェクトを扱うことがあって、emacsでファイル遷移をすると異様に読み込みに時間がかかっていました。 init.elを見る限り、hookしている処理に重そうなものはなさそうですが、はて、何に時間が食われているのだろう? フ…

Tree-sitterを使ってEmacsのimenuをカスタマイズしてみる

Emacs Advent Calendar 2021 21日目の記事です。(空いていたので埋めました。) Tree-sitter Tree-sitter はAtomで採用されていることで有名なパーサージェネレータです。 JSで記述した文法を渡すことでパーサーを生成してくれる仕組みですが、現在多くの言語…

Mac OSでexec-path-from-shellをEmacsで使いつつ、ターミナルでfishを使う

fishはPOSIX非互換シェルのため、rbenv などがうまく動かなかったり、Bashスクリプトによる初期化がうまく引き継げないなどの問題がおきることがあります。 環境によりますが、PATH他の環境をfishに移行するのも面倒なので、とりあえずArch Linuxの方法を採…

「はじめて読む486」の実行環境を、FreeDOS+QEMU+OpenWatcomでつくる

最近(でもない?)「32ビットコンピュータをやさしく語る はじめて読む486 (アスキー書籍)」が電子書籍化されていたので、これを機会にとKindleで読み始めました。 他の作業の隙間ではありますが、現状で4割くらい読み進めています。評判のとおり、非常にわ…

Concourse CI を導入してみる(concourse web server の構築)

社内チームで扱うプロジェクトが増えたので、リリースタスクやテストの実行によるヘルスチェックを半自動化するために、CI環境を用意することにしました。 個人的にはあまりこの辺に興味がなくて(というかJenkinsに興味がなくて)全然触ってなかったのです…

Raspberry pi 2 + KANO OS で子供用PCをつくってみた

だいぶお久しぶりです。 手持ち無沙汰が極まって、KANO OSがフリーDLできることを思い出して、ちょっと試してみました。 https://hello.kano.me/downloads/ Raspberry pi 2がずっと放置されていたので、まずそいつを引っ張り出してきました。 Raspberry Pi 3…

p5js : Gulp + Browserify + Babel で p5を使えるテンプレート

p5.jsがWEBGL対応し、Javascriptでできる表現の幅が広がりそうです。 本家プロジェクトではEditorとかいろいろアプリのScaffolding的なものも用意されているのですが、いわゆるフロントエンド系の環境にならって個人でアプリプロジェクトのテンプレを作って…

Google Cast : Chromecast上で動くGameを作ってみる(環境構築編)

それほど世間では騒がれていないですが、AndroidTVが発売されましたね。それに合わせてChromecastの機能がAndroidTVに搭載されて、「Google Cast」と名称が変わりました。 少し前まではVideoやAudioのCastがメインだった印象のChromecastですが、調べてみる…

Reactive Programming : retrolambda を使ってAndroidでラムダ式を導入してみる

Java8からStream APIやラムダ式など、Reactive Programming的なモダンなパラダイムや文法がサポートされ、Androidでも利用したいと思うようになってきました。 RxAndroidなどを利用したStreamAPIの導入は、職場などではより一層ハードルも高いですが、ラムダ…

React.js : 話題のReact.jsを触ってみる。Connpass APIで検索アプリ作成

巷で話題のReact.jsですが、ちょこちょこ勉強しながらコンポーネントを作成してアプリを作ってみました。 Connpassの検索アプリ イベント管理Webサービス「Connpass」の検索アプリを作ります。ちょっとアプリとは違いますが、コメント欄のサンプルを掲載して…

Raspberry PI 2 : GPIO事始めーシャットダウン/リブートボタンを作ってみる

Raspberry Piの設定ができたので、早速GPIOをいじってみようと思います。 実用的に、シャットダウンやリブートをすることが多いので、専用のボタンを設置しようと思います。シャットダウン例は豊富にあるので、それを参考に1回押すとリブート、2秒間押し続け…

Raspberry PI 2 : SDカードのパーティション拡張設定とEmacsビルド

Raspberry PiはOSをインストールすると、そのSDカードの容量によらずパーティションサイズが3GB になってしまうようで、Emacsビルドなど作業領域を確保をするためには、パーティション拡張が必要です。 というか何かしようと思ったらほぼ必須な気がするので…

Raspberry PI 2 : ディスプレイなしで初期設定から無線LAN設定まで

Raspberry PI 2 Model Bを千石で買ってきました〜。久しぶりに千石に行ったら秋月がなくなって店舗が広くなってました。いつの間に… 千石ではRaspberry PI系は旧来の一番右奥店舗2Fでのカウンターで購入できます。 自分は¥5,400でした。 それでは甘酸っぱい…

p5.js : 加算合成を試してみる

Processingでは、OpenGLを使うかPixel配列を操作する方法が選択できます。p5jsでもそれは同様ですが、OpenGLを利用する場合はp5.jsの範疇を超えてWebGLを使うなどする必要があるので、必然的にPixel配列操作になります。 ここでは、p5.jsでPixel配列操作によ…

Android : SoundPoolやMediaActionSoundで効果音を利用する

Androidでの効果音の実装方法に個人的にいろいろUpdateがあったのでまとめておきたいと思います。 SoundPool.Builderを利用する Androidで効果音をつけるときに利用するのがSoundPoolですが、API 21からSoundPoolインスタンスの生成方法が変わったようです。…

Android - Value AnimatorでImageViewのサイズ変更をする

Animatorを使ってImageViewを操作することがあったのですが、ちょっと調べたので残しておきたいと思います。 Animator AndroidにはAnimationクラスのほかに、Animatorクラスが存在します。 AnimatorはAndroid 3.0から導入されたAPIですが、特徴としてはAnima…

Android Wear - Android Wear アプリ開発入門 (Moto 360)

2月の頭、こんなニュースを発見。 EXPANSYSのMoto 360が値下げ、30,500円に とうわけで、今更ながら今月頭にMoto 360を購入しました~。 Android Wearはデザイン的にMoto 360ほぼ一択ながら、日本発売なしという残酷さですが、発売からある程度経っているの…

Angular Clock Watch Face : ロフトのロゴ風時計、Angular ClockのWatch Faceを作成しました。

最近Moto 360を購入したtomoyukimです。 早速以前から公開していたLoftのロゴ風デジタル時計「Angular Clock」を、Android Wear向けに拡張しました! Processingを使ったアプリの試作として作ってみたAngular Clockですが、Android WearがWatch Face APIを公…

デザインとは? その定義について考える―ポール・ランド デザインの授業

慶応大学にシステムデザインマネジメント (SDM)という研究科がある。IDEOのデザイン思考をベースとして、更にシステム・デザインを取り込んだ独自のカリキュラムを通してイノベーションデザインを学ぶことができる大学院である。 もう3年ほど前になるが、…

UI Design : Material Design とは??

Material Design が発表されてから、Google謹製のInboxやGmailからhatenaブログのAndroidアプリなど対応したアプリが増えてきた印象があります。 Introduction - Material design - Google design guidelines 今後Androidアプリを作るうえで、意識しなければ…

Review : 今転職するべきか。もう一度「仕事」について考える-小宮謙一著「32歳までに必ずやっておくべきこと」を読了

伝説の人事部長が明かす 32歳までに必ずやっておくべきこと 30代はなにかと節目になる年代といわれていますが、キャリアについて色々と悩みをもつ人も多いのではないでしょうか。 アプリ屋としてひとつ所で7年間働いてきた自分ですが、僕もここ数ヶ月いろい…

Metrographic : 東京メトロオープンデータコンテスト

先日締め切りを迎えた東京メトロオープンデータコンテストですが、Webアプリを出展してみたので僭越ながら紹介させていただきたいと思います。 オープンデータ活用コンテスト | 未来とメトロ | 東京メトロ 10th anniversary Webアプリという形態のアプリを作…

Tips : Processingでアニメーション制御―java-universal-tween-engine

Processingでアニメーション制御をするときは、毎回計算して実装していたんですが、結構面倒なのでEasingとかRepeatとか制御するライブラリでも作ろうかと思っていたら、ちょうどいいライブラリを見つけました。 java-universal-tween-engine - The Universa…

Tips : Node.jsをHerokuへDeployする(Ubuntu 12.04)

先日「torchlights」をDeployするにあたって、初めてHerokuを使ってみました。 p5.js + Node.js + Socket.io : アクセスしている人みんなでParticle動かすアプリ 「torchlights」 - [séns] その際にたどったHerokuへのDeploy手順をメモしておきたいと思いま…

Tips : BashプロンプトにGitのcurrent branch名を表示する

WindowsでGit-bashを使っているとおなじみですが、こんな感じでGitのcurrent branchが表示されると便利です。 ubuntuなどのbash環境でもこの表示を実現する方法があったので、書き留めておきます。下記のサイトを参考にしました。 Put Your Git Branch in Yo…

p5.js + Node.js + Socket.io : アクセスしている人みんなでParticle動かすアプリ 「torchlights」

p5.jsでなんかつくってみようということで、Node.js + Socket.ioと組み合わせてリアルタイムに同じアプリ内でオブジェクト操作できるアプリをリリースしてみました。 torchlights | tomoyukim.net Overview 「torchlights」にアクセスすると、自分のパーティ…

p5.js : p5.jsを触ってみた

Processingで適当な作品を細々と公開している私ですが、やっとp5.jsを小一時間ほど触ってみましたのでノートしておきたいと思います。 p5.js 私の視点からp5.jsを見た特徴としては、 Processingの文法(図形の書き方とか、setup/drawによるフレームワークと…

Tips : Android Studio Gradle Pluginでjarをapkに含めずにコンパイルする

なかなかマニアックなユースケースですが、例えばandroid.jarのようにコンパイル時に参照解決するけど、apkには含めないような形で、独自のjarに依存するapkをGradleでビルドする方法についてメモしておきます。 Gradleのruntimeメソッドはない Gradleのドキ…

Tips : Vagrant + express + node.jsで開発環境構築(Windows 7)

最近、Node.jsをまた触り始めました。Windows 7上のVagrantで環境構築したんですが、変なところで躓いたのでメモしておきます。 node.jsは以下のメモを参考にnodebrewでインストールしました。 【node.js】nodebrewでnode.jsのインストールめも - Qiita Vagr…

Tips : cocos2d-JS 環境を設定する(Windows 7)

個人的にProcessingはなにかと便利で、ちょっと暇な時にお絵かきしたりしていますが、画像の扱いとか動画や音なんかの扱いがちょっと不便だったりして、プリミティブな表現になりがちでした。 またクロスプラットフォームのサポートがちょっと微妙で、Java文…