夢に向かって、好奇心を持ち、疑問を持ち続ける。それが努力。

趣味でロボット職人を目指す自称AI研究者のメモです。

ハードウェアの性能劣化がソフトウェアに与える影響

最近,身を持ってハードウェアの性能がソフトウェアに与える影響が大きいことを学んだ.

機械でいえばハードウェアは物理的な制御装置や時にOSまで含むことがあるが,そのようなコンピュータ等をさし,
ソフトウェアはハードウェアの上で動く(もしくはハードウェアに制御命令を送る)ミドルウェア及びアプリケーションをさす.


人間でいえば、ハードウェアは,体を構成する,骨,筋肉,神経,内臓,などの体を動かす機能にあたり,
ソフトウェアは,動作の命令を行ったり,気持ちに影響を与える部分,すなわち脳にあたるものであと思う.


最近,パソコンに向かいすぎが原因で,自身のハードウェアが少し劣化している.

人体というハードウェアは,時に神経を伝って,人に痛みという感覚を感じさせる.

コンピュータの世界のハードウェアには痛みという概念はないが,ファンの回転が劣化すると,音の異常として外部に影響を与える.

この音は,ハードウェア用に音センサ搭載されているものであれば,その結果からソフトウェアに,あまり負荷をかける作業をしないような警告を出したりする.

同様に.痛みは人の脳を通じて,気持ちへと影響を与える.”休んだほうがいいかな”という気持ちから,集中力の低下や効率の悪化などがある.


身体のハードウェアとコンピュータのハードウェアの説明が乱立してわかりにくくなってしまったことは了承ください..


この実感を通して,ソフトウェア,ハードウェアともに,良いものを作るべきこと,また使い方によっては故障の原因になること,
故障しないために,正しい使い方をして,むやみに負荷をかけないようにすることが大事だと感じた.


健康でいるために,気をつけなければいけないことは,意外にたくさんありそうですね.

自分の体を過信せずに,日々気をつけて生きたいと思います.

皆様,無理は禁物です!体を大切にお過ごしください.

「人間は考える葦である」という言葉に影響を受けた日

今日は,とある数学の本を読んでいて,

フランスの進学者であり哲学者であり数学者のブレイズ・パスカル(Blaise Pascal)の『パンセ』に書かれていた

「人間は考える葦である」

という言葉に研究に対してのモチベーションを感じさせてもらった.

この意味については,いろいろな書物で,以下が紹介されている.

「人間はひとくきの葦にすぎない。自然のなかで最も弱いものである。だが、それは考える葦である。」

これを見て思ったこと.

確かに1人の人間は自然の中でたくさんいる動物の中の一つである.しかしながら,”考える”ということによって,新しいものの発見や大きな影響を与えることができる唯一の動物である.

と思った.

神学についてはあまり詳しくないが,

神が人間に与えてくれたことは,他の植物・動物よりも非常に可能性の多いもので,
その可能性を大いに生かすためのもととなるのが”考える”ということなのだと思う.

「考える」ということ,これは「頭を使うこと」と言い換えても過言ではないと思う.

与えてくれた考える能力を大切にしながら,日々勉強・研究に精進したいと思う.


補足であるが,本ブログの著者はパスカルに魅力を感じている.
その理由は,パスカルは様々な学問の学者であるが,メインは神学としていながら,
気晴らしに数学をするという大の数学好きで,数学者の道をも切り開いていること.

気晴らしといいながら,おそらく数学が大好きだったのであろう.
パスカルの名前がついた三角形や定理などがあるくらいたくさんの功績を残している.

一時期数学を離れた時期もあったようだが,歯の痛みをそらすために数学の研究を再開したとも言われている.

自身を振り返ってみると,
痛いと気になって集中できないから寝てしまおうとか,
お腹すいたから先にご飯食べてから勉強しようと思ったら,ご飯食べて眠くなったからちょっと寝ちゃおう,
とか,人間の誘惑に負けることが多々あった.

でも,パスカルの身の振り方を知り,自身の振る舞いはただの怠けに過ぎなかったと考えさせられた.

何かにすごく集中しているとき,他のものに気づかなかったり,痛みや痒みさえも気づかなかったりすることはあるだろう.

そのくらいに集中できること.
そのくらいに集中できる対象(特に考えるものについて)を持っていること.
は非常に素晴らしいことで,人間はそうあるべきだと思った.

こうした考えに至ってからの今日,勉強や考えるという観点で非常に充実した1日を過ごしている.

3日坊主にならないようここに記載して,気づいたときに改めてブログに目を通すことで再認識をしたいと思う.


この記事を読んで一人でも影響される人がいてくれたら非常に光栄です.
読んでいただきありがとうございました.
みなさま充実した毎日をお過ごしください.

集中できないときの良い方法

うーん...集中できなーーーい!
そんな時ってありますよね.

いろいろ考え事してたり,ただ単に寝不足だったり,なんだかすごく気になることがあって,そればっかり考えちゃったり...

そんなときの良い方法!

本当にやらなきゃいけないことがある編!

1.目標を立てる
 いつまでに何をやらなきゃいけないか具体的に
 (見て,こんなにあるのか,と元気なくなるときもあるけど...笑)

2.音楽を聞いてリフレッシュ
 (リフレッシュしすぎると,ただだらだらしてるだけになっちゃうので要注意!笑)

3.考えずにできることから先にやる
 (考えなきゃいけないやつとか,集中しないとできないやつがたくさんあると困っちゃうのですが!笑)

4.誰かに気合を入れてもらう
 (喝を入れてもらうとか)

5.今これをしなかったらどうなるか,先の恐ろしいことを考える
 (例えば...営業なら,もう取引してもらえなくなるとか
   プログラマーなら,バグが解決しないから,システムの納期に間に合わないとか
   学生なら,論文が書けなかったから卒業できないとか
   家庭なら,ご飯を作らなかったから家族が出て行ってしまったとか
   いや,全て大げさですが(大げさと言って欲しいですが)...
   最悪の自体を考えるとなんとなくしゃきっと集中できる気がします.笑)


ない編!
(ないときは集中する必要ないので問題ないですがね笑)

1.やりたいことを探る
 こんなとこ行きたい!こんなことしたい!
 のやりたいことリストを作ってみる!

2.誰かに話しかける
 人と話すとなんか新しい発券あるし,なんか刺激もらったりして,なんかフレッシュな気分になる.
 そんな機会をえてみるのはありかもしれません.


以上!

集中できないので,集中するために必要なことを列挙してみました!

うん.集中できないけど..記事を書くのには集中できる.これまた不思議な効果です.

没頭するときはいつまでたっても集中できるんですけどね.
山のお天気みたいに,集中力も不安定な要素をたくさん持ってますね.

外的要因,内的要因,たくさんのものに左右されます.


人間って感性豊かですばらしい..



次第に話がまた延々遠くにいきそうなのでこの辺りにしておきます!

ではでは.みなさまの毎日が充実しますように.

時間の使い方「はかるって大事」

時間の使い方って大事ですよね.

ってことで日々何に時間を割いているか(特にパソコンに向かってる時間)

を計測してみました.


使ったアプリは,Toggl Desktop ってやつ.

ダウンロードはこちら→https://support.toggl.com/toggl-on-my-desktop/

うん.このブログ書いてる時間も計測してるからね.

思わず時間かけないようにしちゃうよね.

うんうん


・・・



そして,ただ使ってみて計っただけじゃない.

言いたかったのは,


効果いい感じ.

ってこと.

つまり,



「計測することによってだらだらやらなくなる」



やることを決めて時間計って,終わったら計測終了を繰り返すので,

それぞれのやることをなんとなく早く終わらせようとする気がする.


時間計ってやるって大事だな.子供のとき確かにそう教わった気がするな.
大人になっても実際子どものとき言われたことを心がけるって大事なんだな.

そんなことを思った1日でした.

みなさんも一度はかってみてたら新発見があるかもです.
読んでくれてありがとうございました!

Jupyter Notebookの使い方

Jupyter Notebookとはpythonの快適な開発環境です.

セル単位ごとに実行して結果を確認できるので,デバッグに便利.

Jupyter Notebookのインストールはこちらから.
http://jupyter.org/install.html

ターミナルで使いたいディレクトリに移動し,

cd ...
jupyter notebook

で起動できます.

サーバで起動する場合には,

jupyter notebook --generate-config

で,ホームに出来上がったjupyter_notebook_config.pyに,

c.NotebookApp.ip = '*' # localhost以外からもアクセス可能にするおまじない.じゃないか(笑)
c.NotebookApp.port = 8888 # サーバのポート.デフォルト8888.
c.NotebookApp.open_browser = False # ブラウザを自動で開くようにしたいときはFalse
c.NotebookApp.notebook_dir = '/home/user/jupyter' # 作業ディレクトリ.

上記を記述して,jupyter notebookコマンドで起動.


プラウザで http://[server ip adress]:8888/ にアクセスしたらOK.

ノードブックの作成は,右上の"New"ボタンから.

実行には,ctrl+Enter,
セルを作成する場合には, Shift+Enter.

Anacondaも自動でインストールできるので,numpyやpandasなどいろいろ支えて便利.


簡単ですが,メモでしたー.以上です.

LaTeXコマンド集(よく使うテクニック編)

LaTeXを使って文書やスライドを作るときによく使う便利なコマンドを記載しておきます.

Texのコマンド集

図に関するコマンド

図の挿入

% パッケージの指定(\begin{document}よりも前に記載)
\usepackage[dvipdfmx]{graphicx}
\begin{figure}
\centering
\includegraphics[width=0.8\linewidth]{(挿入したいファイル名).png}
\end{figure}

図の上下の余白をなくす

\setlength¥intextsep{0pt}
\setlength¥textfloatsep{0pt}

表に関するコマンド

表の挿入

\begin{table}[htb]
\begin{tabular}{lcrr}
\hline
& a & b & c \\ \hline
value & 100 & 28 & 5 \\ \hline
\end{tabular}
\end{table}

複数ページのまたがる表の作り方

\begin{longtable}
\end{longtable}

文字サイズの指定

\tiny
\scriptsize
\footnotesize
\normalsize
\large
\Large
\LARGE
\huge
\Huge

数式の記入

\begin{equation}
% 通常はequation環境で良い.
\end{equation}

\begin{eqnarray}
% 複数行にわたって位置を合わせるときにこちらを利用する.
% &を用いて位置を合わせるときは先頭にも記載が可能(位置を合わせたい箇所を&&で囲む方法).(でもちょっと古いやり方a.alignの方が良い.)
% ナンバリングなしのときは\nonumber
\end{eqnarray}

\begin{align}
% &を用いて複数行の数式の位置を中央に合わせることが可能.\\で改行.
% 複数行にわたる場合,改行した位置にナンバリングしない場合には\nonumberを記載(\nonumber \\)
\intertext{(で数式の途中にテキストの挿入も可能)}
\end{align}

\begin{align*}
% alignでナンバリングなしのときは,\nonumberではなく*を用いる
\end{align*}

その他

空白行を追加する

\vspace{1in}
\vspace{\baselineskip}

色付き文字,マーカをつけるコマンド

\newcommand{\Mark}[1]{\colorbox{yellow}{#1}}
\Mark{この文書はマーカされます}
\newcommand{\Red}[1]{\textcolor{red}{#1}}
\Red{この文書は赤色文字になります}

beamerで使うコマンド

beamerの基本

\begin{frame}[allowframebreaks]
\frametitle{title}
\end{frame}

このように,allowframebreaksをつけることで,複数ページへの分割を自動でしてくれる.

一枚のスライドに入るように,自動的に縮小させる設定.

\begin{frame}[shrink]
\frametitle{title}
\end{frame}

optionにsqueezeと記載すれば,縦方向の空白行を自動で縮小してくれる.


beamer等でテキストボックスを任意の位置に配置

\begin{textblock*}{1.0\linewidth}(25pt, 90pt) %(x軸の位置,y軸の位置)
\begin{figure}
\centering
\includegraphics[width=0.8¥linewidth]{(挿入したいファイル名).png}
\end{figure}
\end{textblock*}


以上です.参考になれば幸いです.

知らなかったpythonのrandint

pythonで,ある値の範囲からランダムに数字(ここではint型の数字)を選択するときrandint関数を使うが,どうやら値の範囲がnumpyを使う場合とpython標準のrandom関数を使う場合とで違うらしい.

aからbまでを範囲とするとき.

random.randintの場合は,[a,b]のようにbが含まれるが,
numpy.random.randintの場合は,[a,b)のように,bは含まれない.

違いはこの通り.

>>> import numpy as np
>>> import random
>>> a=0
>>> b=3
>>> i=10

>>> # random関数を使ったとき
>>> while i > 0:
...     print random.randint(a,b)
...     i = i -1
... 
3
2
3
0
3
2
0
0
2
2
>>> # numpyのrandom関数を使ったとき
>>> i=10
>>> while i > 0:
...     print np.random.randint(a,b)
...     i = i -1
... 
0
0
0
2
2
1
1
2
2
2
>>> 

複数の言語を使う場合には,同じ名前でも同様のことができる関数と思わないようにとは思っていたけど,
同一言語でも,まさか異なるポリシーの関数があったとは!

やっぱりライブラリの関数を使う場合には,確認が必要ですね:)