mcommit's message

ソフトウェア開発の仕事をしているsimotinといいます。記事の内容でご質問やご意見がありましたらお気軽にコメントしてください\^o^/

gdbを使って386アセンブラの復習をする

結構前に買っていたセキュリティコンテストチャレンジブックという本を最近になって読んで、脆弱性のあるコードを動かしたりして遊んでいました。セキュリティコンテストチャレンジブック -CTFで学ぼう! 情報を守るための戦い方-作者: 碓井利宣,竹迫良範,廣…

TranscendのJDM820を買ってMacBookProのSSDを交換した

普段使っているMacBookPro(Late 2013)でS.M.A.R.Tエラーが出ていたため、タイトルの通り MacBookProで使えるSSDであるJDM820を買ってSSDを交換してみました。SSDの交換から復旧して使えるようになるまで比較的簡単でしたのでまとめておきたいと思います。 購…

LLVMのビルドについてまとめてみる

2018年早々、LLVMのビルドで消耗しておりました。 なんとなくlibToolingを使ってみようとしたらソースのビルドが必要そうな感じだったので始めたのですが、LLVMには複数のプロジェクトがあり、各プロジェクトの役割とかいまいちピンと来ておらず、ビルドにあ…

LLVMをビルドするときのリンクエラー対応

llvmをビルドしようとしてリンクエラーでこけました。 VMWare上のLinux Mint上でビルドしているのですが、ググってみるとどうもシステムのメモリ容量が小さいから起きているようでした。 ※だいぶ前にLLVMをビルドしようとしたときにもはまったきがするので備…

C言語でbrainfuckを実装してみた

なんだかすごく今更ですが、気分的になんとなく実装してみました。 仕様把握 そもそもbrainfuckの仕様がよく把握できていないのでwikipedia等いくつかのサイトを参考にさせて頂きました。Brainfuck - Wikipedia Brainf*ckHello Worldなどいくつかサンプルコ…

Lispの電卓機能を実装してみる

冬休みということで少し時間があるのでいろいろ勉強しているのですが、なんとなくLisp処理系を書いてみたくなったのでRubyで実装してみたいと思います。Lisp処理系の実装というとshemeの仕様を理解して実装するのが一般的らしいのですが、冬休みで時間も限ら…

2017年にやりたかったことの振り返り

2017年にやったこと振り返り今年(2017年)の初めにいくつかやりたい事を上げましたが、達成度の振り返りや来年に向けての反省等書いておきたいと思います。 2017年にやりたかった事 こちらの記事に書いていたのは、http://mcommit.hatenadiary.com/entry/2017…

Ceyo Switch PRO コントローラーの接続手順

[ 12/28日 追記] この記事で紹介したCeyo のコントローラですが、マインクラフトで試しているとどうもZLボタン(左上の下側)のボタンが認識されていないようです。 やはり廉価品ということで壊れやすかったりするようですので購入される方は注意された方がよ…

GAOHOUのTTL-USBシリアル変換ケーブルを買ってみた

amazonを見ていると格安のUSB-TTL変換ケーブルが売っていたので買ってみました。Raspberry Pi ラズベリーパイ用の USB?TTLシリアルコンソールのUSB変換COMケーブルモジュールのケーブル出版社/メーカー: GAOHOUメディア: エレクトロニクスこの商品を含むブロ…

Linuxのカーネルモジュールを書いてみた

今年の1月に書いた、2017年にやりたいことmcommit.hatenadiary.comにLinuxのデバイスドライバを書いてみるというのを挙げておりましたが、この12月に至っても達成できていなかったのでとりあえずLinux mint上でカーネルモジュールを書いてみました。 書いた…

「戦略参謀」を読んだ

ジュンク堂大阪本店のビジネス書のコーナーの目立つところで売られていたので目にとって読んでみたらなんか面白そうだったので買ってみました。戦略参謀 経営プロフェッショナルの教科書 (日経ビジネス人文庫)作者: 稲田将人出版社/メーカー: 日本経済新聞出…

amazonのブックデポジトリー(book depository)で本を買ってみた

Valgrindについていろいろ調べていたら書籍が出ているということで買ってみたのですが、ブックデポジトリーがAmazonに出している本を注文する形で購入しました。 届くまでに時間が少しかかったので書いておきたいと思います。 目次 目次 Valgrind 注文してか…

Nucleo64 STM32F446 を買った

ここ最近体調を崩していたので記事を更新できていませんでした。 体調がよくないとあまり勉強とかもする気分にならなくて積み本と積み基板、積みツールだけがどんどん溜まっていく。とりあえず、タイトルの通りNucleo STM32F446を買ったので少しメモを残して…

Elixir入門 ~12日目 eclipseでerlangのデバッグ環境を作る~

昨日はerlangについて調べてみた結果を書いたけど、今日はソースをぼちぼちとみてみた。mcommit.hatenadiary.comソース少し読んでみたが、ちまたで言われるerlangの並列性の本質が知りたくなったので本格的に調べてみることにした。 そもそも、Elixirを勉強…

Elixir入門 ~11日目 Erlangについて調べてみる~

前回はElixirでHTTPするコードを書いてみた。mcommit.hatenadiary.com mixを使えば比較的短い行数でHTTPアクセスするコードが書けることは分かったけど、これでは正直Elixir/Erlangの良さが分からない。そもそもElixir/Erlangは並列計算にメリットがある言語…

Elixir入門 ~10日目 Elixirでお宝データをゲットしてみた・mix,HTTPoisonの使い方とか~

Elixirを勉強する上で、肩慣らしにお宝画像のデータを集めるスクリプトを書いてみたいという記事を書いたけどmixの使い方がよく分からなかったので、憂さ晴らしにRubyでやりたいことを明確化していた。mcommit.hatenadiary.com何事もやるべきことを明確にし…

Linux Mint のデフォルトパスワード(live session password)

Mintをインストールするときは、インストーラーに従って適当に入力した後はPCをほったらかしにすることが多い。 インストーラとして動作するの、 live session というらしい。で、しばらくしてPCを見ると画面がロックされてて、「え!?」なったので。インス…

Rubyによるお宝データ探し

少し前の話ですが、elixirの勉強をしているのですが勉強がてら面白いスクリプトは書けないものかと考えていたら、はてなのホットトピックに面白い記事が上がっていました。umihiro.hateblo.jpサイトを見てみると美女の画像が沢山!ということでElixirで画像…

Elixir入門 ~9日目 erlang・elixirをビルドしてインストールしなおした~

前回の記事、mcommit.hatenadiary.comから少し時間が空いてしまった。HTTPoisonがすぐに動かせなくなってモチベーションが下がったことと、仕事が忙しかったというのが理由というか言い訳。HTTPoisonが動かない理由がElixirのバージョンが古いということだっ…

Raspberry Pi 用にGDBをクロスコンパイルしてリモートデバッグしてみた

デバッグに便利なGDBですが、Raspberry Pi用にクロスコンパイルしてリモートデバッグを試してみました。GNU関係のソフトは、必ずしもバージョンが新しければよいというわけではない(むしろ新しいバージョンだと思いもよらないバグがあったりする)のですが、…

Elixir入門 ~8日目 HTTPoisonを動かすにはElixir1.2が必要だった~

昨日の続き。mixが動くようになって、 mix.exs を編集して mix deps.get でモジュールをダウンロードするところまではできた。と、思っていた。 今日はGithubgithub.com を参考にいざ動かそうとしたら以下のようなエラーメッセージがでた・・・今度はなんだ…

Elixir入門 ~7日目 mixが動かない原因が分かった~

mix が動かない原因が分かった。「elixir iex INFO REPORT」でググるといくつか情報が出ていて、日本語の情報だとQiitaのこちらの記事が参考になりそうです。qiita.com ※参考にさせて頂き、ありがとうございます (m_m) 手元で確認したバージョンと結果 とい…

Elixir入門 ~6日目 elixirのインストールに失敗してた~

今日はmixを使っていろいろ試してみようと思ったらmix コマンドがちゃんと動かなかった。どうもelixir/erlangのインストールに失敗してたっぽい。 $ mix =INFO REPORT==== 10-Sep-2017::17:13:16 === application: logger exited: {{shutdown, {failed_to_st…

Elixir入門 ~5日目 ファイルの読み書き~

今日は帰りが遅くなったのであまり時間が取れない。ファイルの読みこみだけ試してみた。CSV形式のファイルを読んでみる。sample.csv とする。 aaa,1 bbb,2 ccc,3ファイルアクセスはFileモジュールを使うらしい。 読み込みはreadかopen iex(1)> File.read("sa…

Elixir入門 ~4日目 モジュール・名前付き関数~

昨日は無名関数について簡単に勉強したので今日は名前付き関数について勉強してみる。モジュール・関数については、は参考書籍として使っているプログラミングElixirの6章で説明があるので読みながら勉強してみる。プログラミングElixir作者: Dave Thomas,笹…

Elixir入門 ~3日目 ずいぶんとダサいコードをElixirでダサくないコードにしてみる~

昨日はファイルに書いたElixirのコードをコンパイルして.BEAMファイルが出力されることまでは確認した。コンパイルするとバイトコードのこととかデコンパイルできるんだろうかとかいろいろ気になってくる。たぶん長くなるので、今日は少し観点を変えて関数プ…

Linux C言語でミリ秒の計算をする

Linux系OSのC言語ではtimeval構造体を使った時間表現があります。しかしながら、あくまでgettimeofdayによる時間の取得・参照を目的としているからなのか、時間計算のAPIはありません。ms秒単位で経過時間の加算をする関数が必要になったので書いてみたので…

Elixir入門 ~2日目 リストとタプルを試す~

昨日はインタラクティブな環境iexを立ち上げてみたり、ファイルに書いたElixirのHello Worldを動かした。 まだ大してElixirの魅力とか特徴がつかめていない。今日は、適当にデータ型をいくつか触ってみたり、昨日は触らなかったコンパイルを試してみる。 デ…

Elixir入門 ~1日目 導入~

コンパイラの授業でお世話になった石浦先生に教えて頂いたelixirを勉強してみることにしました。 (コンパイラの授業を受けた話はまだ書けていないのでそのうち書きたいと思います)ちなみに石浦先生の研究室ではerlangでFPGAの高位合成をする研究をしているそ…

CMakeでARM用にクロスコンパイルする

最近、オープンソースなどで配布されているソフトのビルドシステムがCmakeになっているのをよく見かけるようになりました。CMakeはこれまでも何回か使ったことがありましたが、クロスコンパイルをしたいときの使い方を忘れてしまっていて、思い出すのに時間…