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

プログラミング好きな脳の引き出し

某高専ロボコニストの溢れた知識の掃き溜め。機械学習とか画像処理とか電子工作とか、技術的なことからちょっとしたことまで。プログラミングの関するものは大体好きです

ふるいVerilogはつらい

学校の研究でVerilog-2001を使用していますが、これがなかなかに仕様が難しい… 言語仕様としてサポートされているRealや多くのシステムタスクを当てに設計していたら、それらは私が開発をしているIDEでは扱えないという…それらはまだ、実行速度の高速化を目…

競プロはじめました

最近、自分で作りたいなーと思うアイデアも特に浮かばず、以前からこんなの作りたいな~と温めていたアイデアも、テストやらロボコンやら文化祭やら、学校のイベントが忙しくて長いこと放置気味にしていたら冷めてしまい、プログラミングをする機会が殆ど失…

VisualStudioCode+Evernote+MarkDownで無料高機能メモ環境

はじめに 私は普段、Evernoteでメモを纏めています。ふとしたアプリ開発のアイデアなど、とりとめのないことを適当に書き殴るのにEvernoteほど最適なサービスは無いと考えています。しかしプレーンテキストそのままではやはり醜い...ということでMarkDownを…

インターンシップ終了

二週間インターンシップに行ってきました。僕のあまり触れたことのない方面の企業だったのでとても新鮮でした。大変でしたは新たに得た技術もたくさんあり、非常に充実していました。しばらくは、インターンシップで得た技術を少しずつこのブログにアウトプ…

仮想マシン上にCaffeをインストール

元々私のPCにはCaffeやTensorFlow等の機械学習ライブラリの学習用にWindows8.1とは別にUbuntuもインストールされており、デュアルブート出来たのですがUbuntuを起動していると勿論Winodwsのソフトは使えず、それが原因で機械学習の勉強から足が遠のいていま…

ESP8266で赤外線リモコンサーバ(構想編)

家にESP8266が余っていたことを思い出したのでこれを利用して一体何番煎じになるかは分かりませんが、家の家電を外から弄れる赤外線リモコンサーバを作ることにしました。この暑い時期、帰宅したら予め付けておいたエアコンのお陰でキンキンに冷えてるお部屋…

threadに参照を渡すときは(C++)

C++でthreadに参照を渡すときはstd::refを忘れないようにしよう。

C++で関数テーブルを作る

C++

条件に合わせて行う処理を切り替える時、ただ単に分岐するよりも関数テーブルを作ってそれを利用したほうが可読性が増します。しかし、ポインタを弄ったりして関数テーブルを作るのは意外と骨が折れます。ここではC++11の機能を使ってお手軽に実装できる関数…

MATLABが欲しい

MATLABが欲しいです。センサフュージョンや機械学習、画像処理の勉強をするにあたってやはりMATLABは実装しやすそうで、それによって理解も捗りそうで...というか、私はXilinxのFPGA持ってるんですけど、system generatorが気になりすぎる...これを使ってMap…

Courseraの機械学習コース受講終了

3月中頃から始めてようやく終わりました…長かった…でも、楽しかったですし、最後のビデオを見終わった時は感無量でしたね。これからどうしようかなぁ…とりあえずTensorFlowとCaffeやChainerあたりを触ってみましょうかね。元々去年辺りから機械学習の技術に…

Activity不在のServiceから別のServiceを起動するとServiceが落ちる話

Activity起動中、もしくはバックグラウンドでまだActivityが生きている時には正しく動作する、しかしActivityを殺してから操作するとエラーでサービスが落ちる、しかもその内容はデバッグログに上がってこない上至る所でLog出力をさせてもServiceが落ちてし…

AndroidStudio2.0でパッケージ名の変更

AndroidStudio2.0以降でパッケージ名を変更する場合もこれまでと大差無い方法で変更できますが、このバージョンではアプリを検索されやすくするというApp Indexingの為のコードを自動生成する機能が付いています。 App Indexing | Google Developers 本来な…

忙しい

最近は中々忙しくてブログ書く暇が取れませんね…ロボコニストの悲しい性、楽しいからそれを一番優先するんですね。

mbedライブラリでの割り込みの実装とその応用 ~~~FunctionPointer~~~

mbedを利用していて、時々mbedライブラリはどのようにして割り込みを実装しているのか、気になったことはありませんか?また、自分で割り込みのようなものを実装しようとした時、どのようにすればいいかわからず困ったことはありませんか?僕はこの2つの感…

自動車免許の学科試験

春から自動車学校に通い、残すは学科試験のみとなったところで学校が始まり、平日のみしか受けられない学科試験を受けることができなくなったため、学校が平日休みになる日まで待機している今日このごろ。そろそろその平日休みの日が近いのでまた学科試験の…

ライセンス問題

私はライセンスについてちょっとうるさいです。というのも、フリーのオープンソースライブラリを使わさせていただいている立場なのだから、そのライブラリのライセンスを守ることは最低限のそのコミュニティに対する礼儀として必要な事だと考えているからで…

AndroidStudio2.0でOpenCV3.1(sample with NDK編)

前回はOpenCV for Androidをダウンロードし、NDKの要らないサンプルをビルドしました。 mlcppcnncpppp.hatenablog.com 今回はNDKの必要なサンプルをビルドしてみます。 1.サンプルをインポートする 前回と同じ手順でサンプルプログラム「face-detection」を…

AndroidStudio2.0でOpenCV3.1(sample編)

ちょっとアイデアが浮かび、Androidで画像処理を利用したアプリを作りたいな~と思ったので古くなったAndroidStudio1.5+OpenCV3.0の環境を更新し、AndroidStudio2.0+OpenCV+3.1へ移行することに。AndroidStudio+OpenCVの環境構築というのはn番煎じでしょうが…

瞬間部分積分法

瞬間部分積分法と言うのを知りました。部分積分法が苦手な自分は一瞬で部分積分が出来るこの方法が素晴らしいと感じました。以下のようなテーブルを書いて横に掛けて縦に足して行くだけで解けるからとてもお手軽です。 + f(x) ∫g(x)dx - f(x)' ∫∫g(x)dxdx + …

mbedが公式にC++11に対応したら

これは普通のタイマー割り込みLチカコード。たかだかLEDを点滅させるという一行だけの処理にわざわざ関数flip()を定義していてとても無駄に見えます。 これはラムダ式を利用したタイマー割り込みLチカコード。さきほどのプログラムと完全に同じ動作をします…

mbedとArduino

お手軽二大マイコン弄り環境としてmbedとArduinoがあります。どちらもマイコンを扱う上で必要なレジスタとかそういう小難しい知識を知らなくても、開発者の思うようにポート入出力を行い、計算をし、制御することが出来ます。最近だとロボコンに活用している…

個人的コーディング規約(C++)

個人的に運用してるコーディング規約を纏めてみました。順番に重要度とかはとくに関係なく、思い出した順番に書いています。後々追記するかも 1.「{」を書く時は改行をしない 僕はコーディング規約を確定させる以前はだいたいこんな感じに書いてました。関数…

ブログの書き方

ブログ始めてみたは良いものの、こういうのは文末をどうすればいいのかが分からない…レポートを書いてる気分で、だ、である、を使ってるとなんか堅苦しい感じになるし、です、ます、を使ってると微妙な違和感を感じる。かと言ってあんまり砕けた口調もどうか…

バックアップは取ろう

自作ソフトの話。Qtの練習の為に作ったこのソフトはTextの部分に このように適当に文字を入れてやると こんな感じにいい感じに見やすくボードの画像に文字を出力してくれる。設計の情報伝達とかの為にそれなりに役に立ってくれたがソースコードの方はとても…

boost::asio::ip::tcpの再スタート

最近あまりC++に触れておらず、ライブラリを放置気味で忘れてしまうといけないのでメモ (C++の基礎が分かっていれば)簡単に非同期通信を実装できるboost::asio。 その中でもboost::asio::tcpはWiFiを使ったコントローラを作るとか、流行りのIoTの実現のため…

Not compatible with Windows

Andoird SDK Managerを開くとAPI13以下のSDK PlatformがNot compatible with Windowsに。 StackOverFlowにも同じような質問が。単純にAPI古すぎるから新しいのを使えとの事らしい。どうしても古いAPIのSDKが必要な場合に入手する方法もあった。 Download And…

環境の整理

現在、PCにセットアップされている環境のメモ デスクトップPC IDE ・VisualStudio2015 ・AndroidStudio2.0 ・Eclipse Mars ライブラリ ・Boost 1.60.0 ・Boost 1.48.0(RasPi向け) ・自作Boost.asioラッパライブラリ ・OpenCV3.0.0(CUDA入、contrib入ビルド) …

備忘録代わりに

PCに新しい環境を導入する、言語のテクニックを学ぶ、ライブラリの使い方を知る、etc… プログラミングをしてソフトを作るには覚えなければならないこと、やらなければならないことが非常にたくさんあります。これまでは一度見たりしたりした情報は脳内のデー…