読者です 読者をやめる 読者になる 読者になる

mbed Device Connectorへデータを送ってみる

mbed FRDM-K64Fを使ってmbed Device Connectorを試しました。 今回は公式で公開されているサンプルを動かしてみました。 github.com ビルド手順 1. import します。 $ mbed import mbed-os-example-client $ cd mbed-os-example-client 2. Ethernetをつかっ…

mbed CLIでのコンパイルを楽にするシェルスクリプト

はじめに この記事はmbed Advent Calendar 2016の6日目の記事です。 mbed CLIがリリースされ、ローカル環境でのコンパイルが楽になりました。 しかし、コンパイルするときにボードを設定したり、コンパイルされたファイルが結構深い階層にあったりと、何度も…

mbed OS 5でのイベント処理(mbed events libraryの使い方)

はじめに この記事はmbed Advent Calendar 2016の4日目の記事です。 mbed OS 5でイベント駆動なプログラムを書くためのライブラリ mbed-events-library の使い方を紹介します。 なお、ドキュメントに書いてあるコードは古いのか正常に動かないところがあった…

GoogleCloudPub/Subのfluentdプラグイン fluent-plugin-gcloud-pubsub-customを作った

マネージド・メッセージ・キューのGoogle Cloud Pub/Subを利用するためのfluentdのプラグインとしてfluent-plugin-gcloud-pubsub-customを作りました。 リポジトリは以下です。 github.com もともと GitHub - mdoi/fluent-plugin-gcloud-pubsub というプラグ…

MicroPythonでmicro:bit互換のchibi:bitを動かす

chibi:bitはスイッチサイエンスから発売されているmicro:bit互換のマイコンボードです。 micro:bitはmbed enableなのでC++(mbed)でも開発できますし、JavaScriptやBlockEditor, MicroPythonでも開発することができます。 WebIDEを使うと、非常に簡単にコード…

Intel Edison + Eagletを使った工作4部作をQiitaに書いた

Edisonのセットアップから、Kinesisへデータを送るコード、さらにそのKinesisから送られてきたデータを機械学習するところまで、一通りやった工作記事をQiitaに書きました。 最終形はこんな感じになりました。 全部でだいたい丸々3日間かかっています。 興味…

多段Norikraが楽になるNorikra-listener-plugin-Norikraを作った

1ヶ月ほど前になりますが、多段Norikraを簡単に試せるようにするNorikra Listenerプラグインを作りました。 norikra-listener-norikra | RubyGems.org | your community gem host github.com なぜ作ったか? ログ量が増えてくると1台のNorikraではさばくこと…

fluent-plugin-formatter_pretty_json を作った

github.com fluentdのFormatterプラグインを書きました。 gemは以下で公開しています。 fluent-plugin-formatter_pretty_json | RubyGems.org | your community gem host 概要 out_fileやout_s3のプラグインには出力フォーマットをformatで指定できます。 そ…

シカケコンテスト2015で作品発表して受賞しました

2015/07/04に天王寺動物園において行われたシカケコンテスト2015で作品を発表してきました。 発表した作品は、熱中症を防止することを目的にした「水分補給お知らせペットボトルホルダー」です。 水分補給を楽しくするシカケと水分補給をお知らせするシカケ…

IoT縛りの勉強会! IoTLT vol.3 でLTしてきた

2015/05/13 に開催されたIoT縛りの勉強会! IoTLT vol.3で「Tesselで作るコメントお知らせはちゅね」について話してきました。 スライドは以下です。 Tesselで作る コメントお知らせ はちゅね / Mia さん - ニコナレ 機能や仕組みは 以下の記事の「コメント新…

Tessel で作るコメント新着お知らせ はちゅね

社内でLTしたときに、作ったものです。 指定した動画を定期的にポーリングして、コメントがついていたら、前回チェックした時からの差分値だけネギを振る はちゅねミクです。 ニコニコ大百科に書いてあったAPIを使っています。 動画 Tesselで作るコメントお…

おうちハック#2発表会でLTしてきた

2015/02/01におうちハック#2発表会というところでLTしてきました。 内容は、「電気やガスのスイッチを消したことを記録してくれるボットがいれば、心配になって、一度帰ったりしなくて良くなるんじゃないか。」というもの。 それを実現できそうな技術に当て…

MFT2014に出展したmbedを使ったニコニコ新着動画表示器

この記事はmbed Advent Calendar 2014 - Adventarの18日目の記事です。 以前、作ったニコニコ新着動画表示器にサムネイル表示機能をつけて、MFT2014で展示してきました。 1. 全体の構成 大きな構成は変更しておらず、mbedからHerokuを経由してニコニコ新検索…

MFT2014に出展したmbedを使った蛍光表示管 温湿度気圧計

この記事はmbed Advent Calendar 2014 - Adventarの5日目の記事です。 以前作った蛍光表示管を使った温湿度気圧計にグラフ表示機能を追加してMakerFaireTokyo2014に展示してきました。 全体の構成図はこんな感じです。 グラフ表示の部分については、データの…

mbedからニコニコ新検索βAPIにアクセスして結果を表示

この記事はmbed Advent Calendar 2014 - Adventarの1日目の記事です。 以前、mbed祭り2014@夏の東銀座でmbedからインターネット上のAPIへアクセスしてデータを表示というプレゼンをやりました。 そのときはニコニコ新検索βAPIからデータを取得する際に、hero…

ログのURLをパースして指定した要素を抜き出すNorikraUDFを作った

URLをパースして指定した要素を抜き出してくれるUDF(splituri)と、GETパラメータを同じようにパースして指定したキーの値を抜き出してくれるUDF(splitquery)を作りました。 norikra-udf-uri_parser | RubyGems.org | your community gem host github.com な…

mbedで蛍光表示管を使った温湿度気圧計

mbedで蛍光表示管を使って温度・湿度・気圧を表示できるデバイスを作成しました。 この作品はMakerFaireTokyo2014に出展します。 実物見たい人は是非見に来てください。 製作について 1. 蛍光表示管のシールド作成 蛍光表示管の信号線をすべて1本1本mbedに接…

RaspberryPiでfluentdを立ち上げる

RaspberryPiにデータ収集して可視化する環境の構築をする。 今回はfluentdのデーモン化まで。 0. 使うもの RaspberryPi OS: RASPBIAN Supervisor 各種アプリケーションのデーモン化のために使う。 Fluentd データ収集アプリケーション。 1. 準備 1.1 Raspber…

mbed祭り2014@夏の東銀座 で「mbedで作るニコニコ新着動画表示器」の発表をした

第10回mbed祭り2014@夏の東銀座の20分枠で発表してきました。 発表した内容 タイトルは「mbedで作るニコニコ新着動画表示器」。 内容は、以下の2つの記事をまとめて、あとはWebAPIを叩く時に必要になる知識の部分を追加した感じです。 mbedとニコニコ検索API…

mbedとニコニコ検索APIで新着動画表示器を作った

前回の記事で作成した、mbedでheroku上のデータを有機ELモジュールに表示するというデバイスの続きです。 今回は、heroku上のアプリケーションからニコニコ新検索βのAPI(以下、ニコニコ検索API)を叩いて、カテゴリごとの新着動画を取得して表示できるように…

mbedからheroku上のデータを取得してOLEDに表示してみる

mbedからheroku上に作成したWebアプリケーションのデータを取得してグラフィック有機ELモジュールに表示するということをやってみました。 mbedとは ARM社が開発しているラピッドプロトタイピング用のマイコンボードです。 同じようなものにArduinoがありま…

RaspberryPiにGrowthForecastをインストールする

やりたいこと mbedで温度を取得して、それをRaspberryPiに送る。 RaspberryPi側ではそのデータを蓄積してグラフ化する。 センサーデータを集めて利用するという、最近流行りのIoT(Internet of Things : モノのインターネット)の基本の一部をやってみる。 今…

GrowthForecastを使ってみる

GrowthForecastがグラフの出力に便利そうだったのでCentOS 6.5上でインストールして実際に動かしてみる。 0. cpan, cpanmのインストール 初期状態ではCentOSには入っていなかったのでyumでインストールする。 sudo yum install perl-CPAN curl -L http://cpa…

WindowsでJenkins経由のPythonのユニットテストをやってみる

ローカルのWindows上でもJenkinsが動かせたら、いろいろと実験しやすいなと思ってgithubからリポジトリをcloneしてPythonのユニットテストが通るまでやってみる。 0. JDKのインストール OracleからJDK1.7系をダウンロードしてインストール。 インストールす…

マルチタッチパネルの製作(その2:Arduinoのライブラリを使う)

マルチタッチパネルの製作(その1:MPR121を使う) - 工作とか、プログラミングとか ↑でやったMPR121を使う方法の他にArduinoのCapSenceというライブラリを利用した静電容量センサーも実験してみました。 作ってみる CapSenceのページにあるように送信ピンと受…

マルチタッチパネルの製作(その1:MPR121を使う)

「あの楽器」のマルチタッチ化に向けて少し工作を開始しました。 タッチパネルのプロトタイプを作成する 「あの楽器」で使うには、タッチパネルの下に液晶なりLEDマトリックスなりの表示装置がいるので、電極として銅箔テープなどは使えず、細い銅線か透明電…

Nighthackに参加してきた

12/21に秋葉原コワーキングスペースCEROで開催されているNight_Hackに参加してきました。 12時半くらいに会場にイン。 それからは雑談しつつ、ずっと開発していました。 今回は、数独を解くプログラムを作ってみました。 まだ必要なアルゴリズムの実装が一つ…

新人女子プログラマの書いたコードを直すだけの簡単なお仕事をしてきた

ちょっと前にはてブとかで話題になっていた新人女子プログラマの書いたコードを直すだけの簡単なお仕事です!|paizaオンラインハッカソンVol.1をやってみました。 最初は言語の勉強を兼ねてJavaで書いていたのですが、どうにもテストケース3が通過できなか…

PythonでMockを使ったユニットテスト

PythonでMockを使ったユニットテストを書いてみる。 Python3.3以降は標準でMockが使えるようだけど、Python2.7系では標準では入ってないのでインストールする。 $ pip install mock サンプルコードは以下に。 # -*- coding:utf-8 -*- import unittest from m…

Python + PypeRでPythonからRをつかってみる

Pythonは機械学習周りのパッケージは充実している感じがあるのですが、どうにも統計周りのパッケージが不足している感じがあって、PythonからRを叩くパッケージを試してみることにしました。 PythonからRをつかうパッケージとしてはRPy2が有名っぽいですが、…

Pythonとscikit-learnで単回帰分析

前回の記事で整えたPython環境で単回帰分析をしてみます。 単回帰分析というのは単純に言えば各データ(x1, y1)・・・(xn, yn)からy=ax+bという式を推定するということです。 推定したyの値と実際のyの値の差の自乗値を最小とするような直線を引きます。 0. …

ニコニコデータセットで「www」と「GJ」コメント数の散布図を描く

ニコニコデータセットで、少し分析してみました。 今回は「w」と「GJ」に相関関係はあるかなーというもの。 感覚的には、動画中で笑うタイミング、つまり「w」ってコメントするタイミングがある動画ほど、最後に「GJ」ってコメント打つことが多いんじゃな…

Pythonで統計の環境構築から集計とグラフ描画まで

これまでRとかExcelとかで回帰分析やってたけど、Pythonでもできるように環境整えるところから始めます。 メモって置かないと次、構築するときに忘れるのでメモです。 OSはWindows7(64bit)で試しましたが8でも同じはず。 Pythonは2.7.5(32bit)。 0. Pythonの…

「あの楽器」ActionScript版(続き@ハッカソン)

ハッカソンに参加したときに、あの楽器をマルチタッチに対応させようかということで、途中で飽きたActionScript版をいじっていました。 mia-0032/anogakki_as · GitHub 結果としては、マルチタッチ対応どころか、タッチ後に図形を回転させるって処理でつまづ…

ActionScriptでHelloWorldと簡単なユニットテストやってみた(FlexプロジェクトとASプロジェクト)

一昨日くらいからActionScriptも触り始めたのでちょっとやってみた。型を変数名の後ろに書くのは何か慣れないなー。Flexプロジェクト ASプロジェクト

「あの楽器」プログラムをActionScriptで途中まで書いてみた

一応、□と○がランダムで表示されて大きくなって消えるくらいまでは書けた。 一昨日くらいからActionScriptさわりはじめて、このプログラム書いてだいぶ感覚をつかんできた感じはある。 けど、やっぱり変数名の後ろに型を書くのは慣れないなー。 あと抽象クラ…

PlayFramework2.0でHelloWorld+UnitTestをしてみた

まだPlayFrameworkのコーディングの定石があまりわかってないけど、HelloWorldと簡単なユニットテストを書いてみた。

Play Framework 2.0 + IntelliJの開発環境構築(Windows)

備忘録としてまとめておく。 JDKのインストール (http://www.oracle.com/technetwork/java/javase/downloads/index.html からインストーラーを落として実行 環境変数を追加 JAVA_HOME C:\Program Files\Java\jdk1.7.0_21 ←環境に合わせて変更 PATHの末尾に追…

C#入門の勉強会に行ってきました

ちょっと前の出来事になりますが、初心者C#入門という勉強会の1回目、2回目に参加してきました。 C#触ってみたいと思いつつも、触ったことなかったので、どんなものなのかという感覚をつかむにはちょうど良い難易度の勉強会でよかったです。 内容はオセロゲ…

PHPのGDで画像の縦横比を保ったまま縮小・拡大

PHPのGDだけ使って画像の縦横比を保ったまま縮小・拡大、必要に応じて黒帯をつけるってプログラムを書いた。GDの関数、何かよくわからない名前だし、引数多いし、非常に面倒。ちゃんとしたライブラリ使えば、もっと使い勝手いいんじゃないかなー。まあ作って…

CoffeeScriptとProcessing.jsで「あの楽器」(その2)

今日も更新。 変更点は以下の点です。 円のエフェクトで溝ができていた問題を少しエフェクトを重ねることで修正 ProcessingのクリックイベントハンドラーからjQueryのクリックイベントハンドラーに変更 ProcessingのクリックイベントハンドラーからjQueryの…

CoffeeScriptとProcessing.jsで「あの楽器」作り始めた

タイトルの通り、CoffeeScriptとProcessing.jsで「あの楽器」のプログラムを書きなおし始めました。 理由としてはマルチタッチに対応するのがJavaScriptなら楽そうというのと、マルチプラットフォームに対応しやすいということ。 あと、単にCoffeeScript書き…

アクリル彫刻で\アッカリーン/の解説動画投稿

アクリル彫刻で\アッカリーン/ - 工作とか、プログラミングとか で投稿した動画の解説編です。 これでアッカリ~ンマシンについてはひとまず完了。 次は何を作ろうかな。

「あの楽器」の製作動画を投稿

ついに「あの楽器」の製作動画を作って投稿。 超会議のときから数えるとちょうど1年くらいで、1年間もずっと同じ作品を作ってたことは今までになかったので、すごく感慨深い。 もちろん1年間ずっと作ってわけではなく他の作品も作ったりはしてたんだけど、試…

simplexml_loadとエラー処理

PHP5から標準で搭載されているSimpleXMLの関数ですが、XMLの構造がおかしかったりするとWarningを吐いてしまいます。@でつぶすのもまあありといえばありですが、XMLのどこがおかしいのかよくわからなかったりするので、そのあたりがわかるようなクラスを作り…

issetとis_null

PHPの !isset($hoge) と is_null($hoge) は、両方とも変数$hogeがnullでないことを確認できるけど、isset()は言語構造で、is_null()は関数という違いがある。なので、isset()は以下のように使うとFatalErrorとなる。

Serializeと小数

よくある2進数の罠というか。PHPのserialize()について。 Memcachedとかにデータ入れるときは自動でserializeされるので、データ量考えたらできればintで入れたいなと。ただそれだけ。

DateTimeクラスでUNIXタイムを使うときの罠

PHPのDateTimeクラスはUNIXタイムからもインスタンスを生成することができる。$date_time = new DateTime('@' . time());といった感じで。@マークを先頭につけないといけないのはPHPマニュアルに書いてあるんだけど、この前、はまった罠はタイムゾーン。手を…

ConsistentHashing法の実装

PHPでConsistentHashingの実装をしてみたので公開。 ConsistentHashingのわかりやすい説明とかメリットは以下のページが詳しかった。 スマートな分散で快適キャッシュライフ - mixi Engineers' Blog PHPで実装するにあたり、ActionScriptで実装した方がいら…

file_get_contentsのちょっとしたオプション

この前はfile_get_contents()で無理やりExceptionを投げる方法を書いたけど、今回はもともとに用意されているオプションとかについて。 POSTで送るパラメータはhttp_build_queryで作る。 file_get_contentsの取得設定はstream_context_createに配列を渡して…