明日にはでっかい太陽が昇るかもしれません。

「覚悟」とは!! 暗闇の荒野に!!進むべき道を切り開く事だッ!

Linux Mint 17.3 (or Ubuntu 14.04) で輝度を安定して調整する方法

作業用 PC の TOSHIBA R731/37C を Linux Mint 17.3 に入れ替えたのですが、スリープ後にキーボードからの輝度調整ができないという問題が発生していました。 いろいろ調べたところ、既知の問題として存在しているようですが、何故かメインストリームにはマ…

Windows で Ext2 を認識させる

Ext2 IFS For Windows とりあえず、メモだけ。 今度使ってみよう。

Chat Ops はじめました?

github.com 昨年末から、担当するプロジェクトが変わり、新たにチームを編成することになったので、今度の開発環境では、ぜひともメールをチャットに置き換えたいと思い、 Let's Chat を社内の開発サーバに導入してみています。 別に Chat Ops にするつもり…

cherrypy に trac を載せた話

どういうこと? 仕事では受託開発をしており、プロジェクトにより開発環境が変わるのでポータブルなツールを利用することを心がけています。 最近は作業の管理に Issue Tracking System を利用しているのだが、(客先でのセキュリティポリシーなどの話もあり…

binutils がクロスコンパイルできない→とりあえずバックトレースにコードの行数を出せるようになりました

先日組んだバックトレースのコードを拡張して、ソースコードの行数を表示するために libbfd を組み込もうとした話。 #!/bin/bash export PATH=/path/to/buildroot/output/host/usr/bin:$PATH ./configure \ --build=$MACHTYPE \ --host=arm-buildroot-linux-…

Google 製の新しい圧縮アルゴリズム「 Brotli 」を使ってみた

googledevjp.blogspot.jp qiita.com 最近は、組み込みでもCPU性能が上がっているため圧縮の要件も増えてきました。 zlibの組み込みがメインですが、他の圧縮方式も検討に加えられるか組み込みの観点で確認してみました。(圧縮率・時間の比較は他の記事に任…

バックトレース in ARM(Qemu)

以前、挫折していた Linux 環境での C のバックトレース出力について、改めてトライしてみました。 ちなみに、ホスト環境(x86)ではそのものの backtrace() や backtrace_symbols() といったAPIが利用できるけど、 buildroot で構築したクロスビルド環境に…

競技プログラミングはじめました

年末だけど、なにかあたらしいことを始めたいなぁとおもったので、以前から興味があった競技プログラムを始めてみました。 AtCoder (アットコーダー) 多くの競技プログラムサイトは英語圏のものなのですが、上記のAtCoderは完全日本語なので、「問題文が読め…

最近の興味事情

暗号化と圧縮に興味が出てきた。(実装を理解するという意味で) 組み込みでもCPU性能やセキュリティ要件が以前より増えてきたので、この辺りの技術は抑えておきたいところ。 そのまえに、アルゴリズム全般について考え方の勉強を始めたほうが良いかな?

Qemu を使いこなすために

組み込みを仕事にしているため、よく機材不足や新規基盤の開発遅れなどのトラブルが起きます。 そこで、Qemu を活用できればと思っていたところに良い記事が見つかったので写経してみました。 qiita.com ところが、ドライバの作成でコンパイルエラーが発生!…

ビルド環境の構築を行う

どんなツールを使うのか メインで利用するのは C 言語になるので、C 言語界隈の気になるツールを片っ端から導入し試してみる。 私は組み込み開発従事者なので、どうしてもGUIやIDEなどの派手なツールの利用は機会がありません。(大抵のプロジェクトで利用で…

ドキュメント系ツールを一斉に導入してみる

気になるところ ドキュメント系ツールについては、どの程度業務でも活用できそうなのか記になるので、早速環境を作成してみる。 pandoc のインストール pandoc は Haskell という(私には)あまり馴染みが無い言語で作成されているので、まずは Haskell の実…

とりあえずコンテナ作ってみる

試行錯誤のための環境づくり まだ、 Docker には十分慣れていないので(そして、以前試した時よりだいぶバージョンが上がっているので)、試行錯誤用のコンテナを作成する。 このコンテナでインストール手順の確率や、破壊的な変更などを試してみる。 Docker…

Ubuntu 14.04.3 の環境準備を行う

Ubuntu のインストール Docker もインストールするつもりなので、 64bit 版であることは必須。 更に、GUIは要らないので、軽量化を重視して Server エディションをインストールしました。 とりあえず、言語は日本語で。(コンソールの表示は文字化けするけど…

ぼくのかんがえたさいきょうかいはつかんきょう

どういうこと? 期待する環境 MUST SHOULD MAYBE インストールしたいツール どういうこと? VMWare Player が 5.0 になったときに、ライセンスの解釈が変わったとかどうとかで、仕事の開発環境として VMWare Player が利用できなくなったとかいう話がありま…

いまさらUML勉強中

UML

部屋の本棚に技術書が収まらなくなってきたので、手放す本を検討中。 とりあえず、10年もののUMLの学習書を手放そうと思ったけど、よくよく考えたらほとんど読んでいないことに気付く(笑) UMLの思想は別に嫌いじゃないし、今ならきちんと活用できそうな気…

プロのプログラマとは?

プロのプログラマとは? - プログラマが知るべき97のこと リンクにあるエッセイの中では、著者の「プロのプログラマとは?」という問いの答えが書かれているが、かなり同意。 とくに、「キャリアに責任を持つ」という内容では、自分の成長は自分で責任を持つ…

clang de coverage!

llvmでのカバレッジ計測ができない。。。 *.gcda と *.gcno の作成まではできてるんだけど、 gcovr で生成しても空になるし、 llvm-cov は使い方が何やら合ってない様子。。。 というより、 llvm-cov の情報少なすぎ!! もう少し調べるけど、もしかして llv…

clang でカバレッジ計測

clang+llvm と CppUTest を使って、組み込み向けのUT環境をつくろうとしているが、カバレッジ計測を行う場合は、CppUTestも clang+llvm でコンパイルしておかないと、リンクできなくなる!? CppUTest → gcov をリンクしようとする テストコード → clang_rt.…

cmake 使ってみた

しばらくおいたままになっていたけど、 cmake を使ってみました。 とりあえず、プロジェクト構成は以下のようにしました。 cmake_sample/ + product/ | + main.c | + CMakeLists.txt + test/ | + main1_test.cpp | + main2_test.cpp | + CMakeLists.txt + CM…

プログラマが知るべき97のこと > 見られて恥ずかしいデータは使わないこと

見られて恥ずかしいデータは使わないこと - プログラマが知るべき97のこと では、一時的と思って適当な(社会的には不適当な)データを成果物に埋め込んじゃうことが書かれています。 ここまで大事になったことは無いけど、一時的と思ってたコードが残ったま…

RasPi2は2017年じゃなかったのかよ!?

Raspberry Pi 2 Model B発売。4コア化&1GB RAMでWindows 10も対応、6倍高速 - Engadget Japanese Raspberry Pi 2 Model B発売。4コア化&1GB RAMでWindows 10も対応、6倍高速 - Engadget Japanese なにこれ!?ほしい。 でも、まだRasPi B+ですら、買ったまま…

エンジニアの文章管理について

コードの管理については、コンパイル時チェックや静的解析で自動的に間違いを指摘する構造がある程度と整っているが、仕事でコードを作成する前には必ず行われる設計書などの文章については、未だにWordで作成して人の目でチェックして、「です、ます。と だ…

clang+llvm のインストール

必要なパッケージのインストール build-essential 等の基本的なパッケージはインストール済みとします。 apt-get install -y libpython2.7 libpython2.7-dev swig libedit2 libedit-dev libncurses5-dev libxml2-dev インストールしたのは以下のパッケージで…

cmakeのインストール

すごく便利との評判はあるが、使い方がよくわからない cmake について、とりあえずインストールをしてみます。 まず、日々更新されているため、できるだけ新しい機能を使いたいので、パッケージではなく、公式から直接導入します。 curl -R -O http://www.cm…

映画:グラン・トリノ

戦争を生き抜いた頑固親父が 人生の終わりを悟ったときに 新しく若い友のために命を使うと決めた そんな話でした。

コードの品質を自動的に評価するために 続編1

コードの品質を自動的に評価するために - 明日にはでっかい太陽が昇るかもしれません。 を書いてから、見つけた試してみたいツールをメモしておく。 terryyin/lizard · GitHub lizard というPythonで組まれた複雑度計測ツールらしい。 個人開発だが、比較的…

コードの品質を自動的に評価するために

コーディングにおける、現場の課題としては、おそらくここ数十年変わっていないと思うのですが、コードの品質をどのように担保するのかということになると思っています。 ここでいうコードの品質とは、動作上の確かさではなく、コード自体の保守性などのこと…

プログラマが知るべき97のこと

O'Reilly の書籍で、 O'Reilly Japan - プログラマが知るべき97のこと というものがあり、職業柄読んでみたかったのですが、知らないうちにWebでみられるようになっているらしい。 公式ではないようだけど、各エッセイがCCライセンスだったため、公開しても…

vim の初期設定

毎回調べるので、vim の初期設定についてのメモを残しておく。 NeoBundle のダウンロード mkdir -p ~/.vim/bundle git clone git://github.com/Shougo/neobundle.vim ~/.vim/bundle/neobundle.vim NeoBundle のインストール vim ~/.vimrc set nocompatible f…