ちぎっては投げるブログ

Programming, Android, RaspberryPi, Digital Devices, Kinkuma Hamster...

Programming

[TIL]BootstrapのCSSは直接書き換えないほうが良い

元のCSSファイルを直接書き換えてしまうと、Bootstrapがバージョンアップする場合に、どこがオリジナルでどこが自分で書き換えたのかがわからなくなるので、バージョンアップ出来ない、あるいは非常に面倒な事態になりかねない。 なので、別の上書き用のCSS…

ひさしぶりにGitHubトレンド、機械学習で屋内位置測位やDeepMindが使っている深層学習ライブラリなど[TIL]

かなり久しぶりにGitHubのトレンドをざっくり眺めた記事を書いてみる。 機械学習で屋内位置測位 github.com おおざっぱな位置測位としてよくあるWiFiの電波強度での位置測位。 だいたい2-10メートルぐらいの精度が出る。 学習にはsklearn’s RandomForestを使…

自分が帰宅しているかをRaspberryPiで検知する簡単な方法

I’m home いつかのブログにも書いたかもしれないが、RaspberryPiで色々センサーをいじれるように遊んでいると、「自分が家にいるときだけ」という処理をしたくなる。 しかし、近接センサーは近くしか見ないし、照度センサーは窓の近くだと結構変わるし、わざ…

翔泳社とは別に、プログラミング・IT技術書フェアで50%OFFセール中(2/23まで)

amzn.to 先日のセール、 denpa-shinbun.com に引き続き、技術書が半額セール中。 今回はなんだかマイナー本や、個人出版に近そうなタイトルが多い印象。 機械学習のDeepLearning周りの本がいくつかある、TensorFlowの本もあるが、内容は薄そうに見えなくもな…

翔泳社の技術書半額セール中、おすすめを何冊か

翔泳社の技術書が電子書籍で半額セールをしている。ITエンジニア向け。 電子書籍が世に出てきてから、なかなか値下げされず中古市場にも出回らなかった技術書が安く手に入るので嬉しい。 ただ、個人的には、積んである本がたくさんあるので、今回はよほど良…

LINE非公式APIで通知を取得するまで

前回の続き。 denpa-shinbun.com 今回はLINE非公式APIをPythonから使って通知の取得を試みた。 LINE非公式APIのマニュアル LINE manual — LINE api doc 0.6.9 documentation 上記サイト参照。 Pythonで書かれていて、 pip install line でインストールし、サ…

RaspberryPiでハムスター監視システムを作ろう 計画編

うちに来て2週間強のキンクマハムスターさんだが、夜中にどれぐらい動いているのか気になる。 また、いつか旅行に行くときにちゃんと活動しているかを観察できるようにしておきたい。 というわけで、夜に暗い中で動いているハムスターを監視できるシステムを…

RaspberryPiにRuby on Railsをセットアップ

最近Ruby on Railsをちょっとだけ触っている。 そこで、Railsの勉強のために自宅でも何か建ててみようと思う。 せっかくなので実際に使うものが良い。 そこで、家のRaspberryPiで動かしているもろもろのプログラムをローカルLAN公開のWEBページで制御できる…

Windowsで日本語自動添削環境セットアップ

textlinterを使うと、日本語文章の自動添削をしてくれるという話を聞いた。 Qiitaで技術系の記事を書く時に気をつけていること - Qiita それじゃあその環境をブログ文章の添削用に作ってみよう、ということでWindows+Atomエディタで構築しようとしたら、どは…

bashの補完を自作する

qiita.com を読んで、会社で使っている開発環境用や自作スクリプトの補完が出来たら便利そうだと思い、いくつか作って試している。 業務のためのスクリプトで、渡すオプション引数なんだっけ?と毎回helpを見たりすることもなく、とりあえずTABを押せば良い…

Jenkinsのジョブ内でexpectコマンドを呼ぶときの注意点

expectコマンドは、シェルの特定文字列の出力を待ち、任意文字を入力として与えることができる。 引数で渡すことのできないパスワード入力などに使われる。たとえばsshのパスワード入力の自動化とか。 expect -c " set timeout 5 spawn ssh hoge@serverHost …

Linuxシス管系女子を読んで初めて知ったシェル知識のメモ

先日買った、まんがでわかるLinuxシス管系女子を読み終わった。 意外と知らないことですぐに使えそうなものもあったのでメモしておく。 まんがでわかるLinux シス管系女子(日経BP Next ICT選書)posted with カエレバPiro(結城洋志) 日経BP社 2015-02-19 圧…

自宅にポケモンが現れたら、実際に鳴き声を流したい #ポケモンGo

denpa-shinbun.com の続き。 せっかくRaspberry Piを使っているので、サーバでは出来ないことをしたいと思い、ポケモンの鳴き声を出してみることにした。 これで、ポケモンが現れると鳴き声が現実世界に鳴り響くという、仮想と現実がよりいりまじった、良い…

Raspberry PiでポケモンGoの出現通知をスマホに送る

やりたいこと 自宅にいるときに、たまにポケモンが現れるようなので、ポケモンGoを起動していない状態でもスマホへ通知したい。 実施した手順をメモしておく。 Botを動かそう VPSもAWSアカウントも持っていない貧者なのでRaspberry PiでSlackBotを動かすこと…

Raspberry Piで温度と湿度を取得する

denpa-shinbun.com 今回はDHT11による温度と湿度の取得である。 精度はあまり良くないので、温度は前回のDS18B20のほうが良さそうだ。 denpa-shinbun.com 配線 VCCを5Vに、DATAを任意のGPIOピンに、GNDはそのままGNDピンに接続する。 3.3Vでも動くようだが、…

Raspberry Piで温度取得

denpa-shinbun.com で購入したDS18B20を温度センサーとして用いる。 モジュール有効化 sudo modprobe w1-gpio sudo modprobe w1-therm 内蔵プルアップ抵抗を有効にする ここではGPIOピン4番を用いる。 sudo emacs /boot/config.txt dtoverlay=w1-gpio-pullup…

Raspberry PiでLEDを光らせる

denpa-shinbun.com で買ったLEDを光らせる。 3色フルカラーSMD LEDモジュールで、RGBの各PINに0-255のアナログ値を書き込むことで色を表現する。 ところが、Raspberry Piにはアナログ出力がない。デジタル出力をPWM制御し疑似アナログ化するらしいが、今回…

より良いプログラミングの仕方をどう学べば良いのか

プログラムを書くときの、いわゆる文法やお作法は本やブログから十分に入手できるのでお腹いっぱいなのだが(身についているかは別として)、 じゃあみんな何をどこからどうやって作業していって成果物までたどり着いてるの?というのは意外と学ぶ機会がない…

Eclipseとmakefileとインクルードパス

今まで、EclipseでC++を書くときに補完機能を利用する場合には、ヘッダへのパスが通っていないため(gcc標準でパスが通っているものは除く) プロパティからincludeフォルダを指定してやらないといけないと思っていた。 しかし、ちゃんとEclipse上でmakeして…

技術系同人誌 テクブ本が半額セール中

codezine.jp TechBoosterの技術系同人誌がKindleで半額セール中。 Android実践プログラミング 現場で生まれた設計パターンは買おうと思う。Kindleを始めてから積ん読増えすぎてやばい。 Android実践プログラミング 現場で生まれた設計パターンposted with カ…

はてなブログのソースコード表示にSource Code Proフォントを使って読みやすくする方法

Google Web Fontとは Photo by Unsplash | Pixabay / CC BY 0 Google Fonts いつのころからか、GoogleがWEBフォントを提供していたらしい。 通常、ブログ側でフォントを指定したとしても、表示する側のPCやスマホにそのフォントが入っていないと、指定したフ…

Gitのリモートブランチを消すコマンドの覚え方

Gitでリモートブランチを削除するときは、:をつける。 例えば以下のように。 git push origin :test_branch でも、なんでコロンなのかはよく知らなかった。その理由を記載しておく。 そもそもpushコマンドの動作は? ふだん、ブランチをpushするときは、 git…

Googleの提供するVR Viewのサンプル

VR View Embedding VR Views | Cardboard | Google Developers Theta360的なブラウザでのVR Viewを、画像だけ用意すればお手軽に使える。 Android用やiOS用も提供しているようだ。 Web Modern versions of Chrome on Windows, OSX, Linux, Android, and iOS.…

2016/04/03のGitHubトレンド[TIL]

github.com Androidアプリのサンプル。Model-View-Presenter architectureのサンプルとして、ToDoアプリのコードが載っている。 Basic Model-View-Presenter architecture. Based on todo-mvp, fetches data using Loaders. Bases on todo-mvp, uses the Dat…

glistを使うとvalgrindでリークと判定されてしまう

stackoverflow.com GLibとは? もともとはGUIツールキットであるGTK+のユーティリティライブラリであったが、GTKに限らず使うことが出来る。 C言語は、最近の便利な言語に慣れきってしまうと不便なことこのうえないが、GLibは文字列操作やメモリ確保、連結リ…

YAGNI原則 やるときにやる

You Aren't Going to Need It. エクストリーム・プログラミングの原則のひとつ。 そんなの必要ないよ 戦略的な後回しである。あとで必要になるかも、というものはだいたい後から仕様変更されるものだ。だから本当に必要になったときに作る方がオトクだ。 上…

Pthreadsプログラミング読書メモ1

mutex if(mutex==true)lock(mutex) のようなコードだと、テストとロックの間にほかのスレッドがmutexをとる可能性がわずかにある。 pthread_mutex_lock(&mutex) は特殊な実装でそれを回避している。 pthread idの比較 pthread_t型の比較にはpthread_equal関…

入社3年目までのプログラマーが知っておくべきこと

プリンシプル オブ プログラミング 今、新たな積ん読候補として欲しいのがこの本。 2016/3/23刊行予定、現在予約受付中で、AmazonのUnixオペレーティングシステムカテゴリでベストセラー一位である(Unixオペレーティングシステムカテゴリって、Amazonもずい…

ラズパイで遊ぶ用のセンサーを買った

残業が続くと、TILが捗らない。 下書きで貯めている分でも書き終わったのがないので、センサーを買った話でお茶を濁す。 ごらんの通りである、まだ触っていないので特に言うこともない。 ラズパイで遊ぶ用で、特に目的がはっきりしていたわけでなはいので、…

GNUの始めたTwitter的なもの、FreezePeach(書き込み出来るようにする方法を追記)

FreezePeach FreezePeach FreezePeachへようこそ。 マイクロブロガー連合は道徳と団結を大切にして、中央集権化された資本主義なサービスからの離脱を目指しています。 FreeSpeachのもじり? GNU soicialをサービスとして提供し始めた、みたいな感じだろうか…

論文を元にAlphaGoの実装をしているGitHubリポジトリ

AlphaGo Photo by Another game of Go | Flickr - Photo Sharing! / CC BY-SA 2.0 世界トップ棋士・李世ドル氏に二連勝した、今話題のGoogleの囲碁AIことAlphaGo。Nature論文を元に、オープンソース実装することを目指しているっぽい。Replicationって言って…

JavaScriptでグラフが書きたくなったときにはawesome-charting

github.com 今日もAwesomeシリーズを見つけた。 awesome-charting JavaScriptでグラフを書いたり可視化したりするときに使えるライブラリのキュレーションリスト。有料と無料にわけてまとめてある。 あんまり興味はなかったけど、以前に友人がJavaScriptでグ…

Bashのカスタマイズまとめ Awsome Bash

Awsome hogehogeっていうのは要するにまとめサイトみたいなものなんだなと学んだ。 日本語でまとめサイトっていうと、「2chまとめ」か、「Naverまとめ」という意味と化している昨今の風潮は好きじゃない。 awsomeなんとゃらは、どちらかというとNaverまとめ…

絵文字でプログラミングをする

github.com GitHubのトレンドを眺めていたら、また妙なものがあがっていた。 絵文字でプログラミングをする www.emojicode.org 意味がわからないので、emojicodeによって書かれるソースコードを見た方が早い。 いや、見てもよくわからないけれど・・・・・・。 つ…

ソフトウェアのみでパソコンからラジオを送信するという意味のわからない話

Photo By Clem Onojeghuo | Unsplash / CC BY 0 github.com 特別なラジオ用のアンテナやハードウェアを追加しなくてもAMラジオを放送させるらしい・・・・・・。 しかもコードはものすごいシンプルで、数十行のmain.cのみである。 成功すると、周波数を1580 kHzに…

diff-so-fancyのリポジトリをforkしてみた

diff-so-fancy Photo by Benjamin Faust | Unsplash / CC BY 0 github.com こっちが元のリポジトリ。 GitHub - so-fancy/diff-so-fancy: Good-lookin' diffs with diff-highlight and more git diff を見やすくするシェルスクリプトだ。便利そうなので導入し…

NULLの定義

残業するとTILなんて書いてる余裕はないよねって月曜から思い知らされている…。 なにかしら書こうということで、今日はNULLの扱い周りで知ったことがあるのでそのことだけメモしておく。 とても今更な話で、知っている人には当たり前なのかもしれない。 C++…

積んでる技術書に読む優先度をつけよう(2016/02/28)

いつまでも消化できないので、直近で何が必要かを考えてみる。 厳密な順番を決めるのは近日中に読む本だけで良くて、あとで読む本はそのときにまた必要かを吟味して選べば良い。 これは結構重要なことだと思っていて、明日出来ることは今日しよう!とはよく…

毎回 object != null を書かないためには(Java)

StackOverflowから。 Photo by Photo by Nafinia Putra | Unsplash / CC BY 0 stackoverflow.com Javaで、nullチェックとして毎回object != nullと書くと見苦しい、代わりの良い方法はない?というスレッド。 本日のTILとして、これをざっくり眺めたまとめ。…

2016/02/26のGitHubトレンド[TIL]

眺めるだけだと継続できないので、力尽きるまでは継続してブログを書いていく。残業のある日は無理だと思う。 と言っても、一日だとトレンドにもあまり変化はないみたい。なので、逆に毎日の方が変化が少なくて楽かも。 github.com パスワード管理ソフト、Ke…

X11ForwarfingしたGUI画面で日本語入力する方法

CentOS6で確認。 ~/.bashrcに以下を追記する。 export GTK_IM_MODULE=xim export QT_IM_MODULE=xim if [ -z "$XMODIFIERS" ]; then export XMODIFIERS=@im=ibus ibus-daemon -drx fi 追記後は、 source ~/.bashrc で適用する。 これで、たとえばeclipseなど…

GitHubの今月のトレンドリポジトリを紹介する[2016/2/25]

GitHubのトレンドは25個までになっているんだけど、無限に出すんではなくて25個っていうのが、GitHubの管理者は狙ってやってるんだと思う。 気になったのだけ。先日のスライドに倣って、まずはざっくりとだけ見てみた。 github.com Python。 maybeというコマ…

Today I learned

TILとは Today I Learned というリポジトリをgithubで作るのが流行ってるらしい。 略してTIL、今日学んだことをまとめていくリポジトリ。たとえば以下。 github.com 最近読んだ、 docs.google.com のスライドでも触れられている。 効果があるのはわかるんだ…

DroidKaigi2016の資料スライド個人的まとめ

すでにどこかにまとめられているのかもしれないが、私が見つけて気になったスライドをまとめておく。 DroidKaigiっていうのは、Android開発者の勉強会的なものです。私は参加出来てないので、せめて資料だけでもと思って読んでいます。 droidkaigi.github.io

翔泳社が50%OFFしてるので買いたい本リストを作った

持っていなくて読みたい ユースケース駆動開発実践ガイドposted with amazlet at 16.02.19翔泳社 (2016-01-28)売り上げランキング: 143Amazon.co.jpで詳細を見る エリック・エヴァンスのドメイン駆動設計posted with amazlet at 16.02.19翔泳社 (2013-11-20)…

日本語字幕付きAndroidオンライン学習コンテンツ

Study Jams プログラム日本語字幕付きコースの紹介 - Google Developers Japan Udacity のオンライン学習コンテンツを使った Study Jams プログラムは、インタラクティブな動画が好評ですが、コンテンツが英語です。今回のプログラムでは、初級から上級まで…

C++のクラスメンバ関数の関数ポインタについて

C++のクラスのメンバ関数を、関数ポインタ指定して外から呼ぶのを何も考えずにやろうとすると、呼び出すことが出来ずに嵌まる。 何故かというと、クラスの関数ポインタは、インスタンスごとに作られてるわけではないから。どのインスタンスの関数であるのか…

mobaXtermという便利sshクライアント

仕事の都合上、sshとターミナルをよく使う。sshクライアントとしては、teratermやputtyが定番だが、最近mobaXtermという良さげなクライアント兼terminalを見つけたのでメモしておく。 mobaxterm.mobatek.net 良い点 標準でこれだけでx11forwardingが可能 通…

Gitでさっきまでいたブランチに戻るコマンド

git branch develop と移動した後に、さっきまでいたブランチに戻りたいときは、 git co - ですぐに戻れる。

Sublime Text2でC++の補完機能を使う

VisualStudioやEclipseのような関数補完や定義へのジャンプなどの機能を追加するには、SublimeClangのPackageを入れる必要があります。 Windowsの場合はPackageインストールも楽ですが、Linuxの場合はPythonをいれたりClangをビルドしたりする必要があります…