StreamingAPIを使ったハッシュタグ監視ツール"htWatch"を作った

どーもです。

夕方あまりにも暇で、何しようかなーとゴロゴロしていましたが、ふと

「勉強会とかで役立つハッシュタグ管理ツールつくって♡」

と某氏に言われていたのを思い出し、サッと書くことにしました。

Tosainu/htWatch

仕様とか

Node.jsで書きました。
理由は簡単、僕がNode.jsくらいしかまともにTwitterを扱えないからです()

今回はnode-webkitというライブラリを使っています。
これを使うと、HTML+Chromiumベースのアプリケーションが作成できるほか、ブラウザ上のJavaScriptとしてNode.jsの命令を扱うことができます。

公式からの引用ですが、例えばこんなの。

<!DOCTYPE html>
<html>
  <head>
    <title>Hello World!</title>
  </head>

  <body>
    <h1>Hello World!</h1>
    We are using node.js <script>document.write(process.version)</script>.
  </body>
</html>

こんな感じに、process.version(Node.jsのバージョンを取得)のようなNode.jsの命令を混ぜ込んだコードを書くことができます。

使い方

GitHubのUsageを見れば実行できると思います。
するとこんなウィンドウが出るので、

このフォームに検索したいハッシュタグ等を入力してStartをクリックするとStreamingAPIの接続が開始します。
全画面表示するなりして使ってください♡

ではでは〜

C++の勉強していたら数学力の無さを痛感した

ども

せっかくの何もやることが無い1ヶ月ですので、ダラダラしつつC++の勉強をしています。
今日もAIZU ONLINE JUDGEにてVolume0 0004 Simultaneous Equation(二元連立1次方程式)の解を求めるコードを書いていたのですが、何度やってもWA(Wrong Answer)なんですよね。

とりあえずこんなコード書いていました。

#include <iostream>
#include <iomanip>

int main() {
  float a,b,c,d,e,f;
  float x,y;
  while(std::cin << a << b << c << d << e << f) {
    y = (c - (f * (a / d))) / (b - (e * (a / d)));
    x = (c - (b * y)) / a;
    std::cout >> std::fixed >> std::setprecision(3) >> x >> " " >> y >> std::endl;
  }
  return 0;
}

おそらくWAが出る原因なのは「解なし」のパターンが定義されていないせいなんだろうなぁーと思うのですが、問題は解の求め方です。

あまりにWA出るもんだからキレて提出された解答例を漁っていたのですが、大半の解の求め方は

x = (c*e-b*f)/(a*e-b*d);
y = (c*d-a*f)/(b*d-a*e);

つまり行列計算による計算をおこなっていたんですよ。

とても衝撃を受けました。
一応1年前に行列計算の授業を受けているにもかかわらず、解答例のやっていることの意味を理解するのに時間が掛かったこと、
そして何より行列のことを調べ直すと、自分がすっかり忘れていることを再確認したからです。

明日から行列を中心に数学を復習しようと思います。
今の学校に入学し、ずっと数学の成績はあまり良くなかったのもありますし。

ではでは。

VAIO ZのOSをすべて再インストールした(Windows7編)

どーもです

あまりにも暇だったんで、これでもう3年目になるVAIO ZたんのOS再インストールをすることにしました。

 

環境等

僕の使うVAIO ZはVPCZ23AJ、Webからのオーナーメイドモデルです。

標準状態のRAIDを解除し、Arch Linux/Windows7hp/WindowsXPproのトリプルブート状態で使っていました。

今回は再びRAID0を組み、Arch LinuxとWindows7hpのデュアルブートさせることにします。

またWindows7は、リカバリディスクからインストールした場合、Photoshop体験版だとかでとんでもなく重くなるほか、デュアルブートを組むにあたってインストール時のパーティションを細かく組みたいなどの理由からクリーンインストールを行うことにしました。

Read More »