2013/11/26

【Excel】 ある日時の任意秒数後の日時を計算

まとめ
・Excelで今の時刻から任意の秒数を計算するには、今の時刻+秒数/3600/24
・計算結果が入るセルは「日時」が表示できるように表示形式を変更


---ここから本文---

例えばクッキーを反物質装置で作ってる時とかに、
今のCPSは385Gだけど、次のアンチマターコンデンサを買うのにあと何秒かかるんだろう
なんて、思う時がある。

つまり、現在時刻から任意の秒数後って何月何日の何時何分何秒か知りたい
(あと地球が何回、回った時かも)

これをExcelで計算するにはどうすればいいのだろうか、というのが今回の問題。

そもそもExcelでは、
日付を1960/1/1からの日数
時間を0から1の少数で表している。
何月何日何時何分は (日付).(少数)の形で内部的には管理されている。

例えば0.5と入力してあるセルの表示形式を時刻にすると、12:00となる。

ということで、
今の「日時と時刻 + 秒数」 という計算をしてやれば任意の秒数後の日時が計算できる。

ただし、秒数を日数.秒数という形に変換しなければいけない。
この計算は秒数/3600(一時間の秒数)/24(一日の時間数)でできる。

例えば、
A1 に今の日付
A2 に今の時刻
A3 に秒数
となっているなら、
A4=(A1+A2+A3/3600/24)とすればよい。
最後にA4の表示形式を日時にすれば指定秒数後の日時が計算できる。



2013/10/14

クロスステッチで縫ってみた (2)

今回は、前回より大きいものということで、
18cmの刺繍枠を新しく買って縫ってみました。

前回は、既存の画像から作りましたが、
今回は下書き→ドット絵→ステッチと図案を1から作ってみました。

ドット絵はこんな感じ。


25*60px
首につけてるのは何なんでしょうか。


で、実際に縫ってみたものがこちら。
黄色がどこかに行きましたね。
あと、黄緑の存在感が…。

裏面。

前回に比べると、途中で糸が絡まる事故がかなり減ったので、
糸を止める回数は減ったはずなのですが……。

2013/10/08

クロスステッチで縫ってみた (1)

不器用でもできそうな手芸として、
「クロスステッチ」に挑戦してみました。
刺繍の一種で、Xをひたすら塗っていくことで、
ドット絵っぽいものを布に縫い付けることができます。

必要な物は、針・刺繍用の糸(25番糸)・刺繍用の布・布をピンと貼るための枠などです。
布以外は100均で見つけられました。

糸は100均なら8色セットで100円、普通に買うなら一色100円くらいです。
(DMCというメーカーの寡占状態みたいです。)

2014/05/12 追記
DMC以外にもコスモという糸もあるようで、
近所の店ではコスモのほうが多く売られていました。
コスモの方が質感が好みです。

クロスステッチの場合、専用の布が必要です。
今回は小さい布*3で\500のセットが売ってたのでそれを使いました。

また、刺繍する絵なのですが、
http://www.fukkachan.com/index.html から
http://www.fukkachan.com/cgi-bin/mgalbum/img/92.jpg
埼玉県深谷市のゆるキャラ「ふっかちゃん」
この画像をベースに図案(≒ドット絵)を作ってみました。


32*32pxくらい。
これの通りにひたすら縫うと、こんな感じ。
表面
いい感じ!
口のあたりがドット数足りてない感じもしますが…。
あと、耳のあたりが図案レベルでおかしいですが…。


ちなみに裏面は、
裏面
うまい人は裏面も綺麗に行くみたいですが、
最初だしね……。



次回はもうちょっと大きい枠を使って、
60px*60pxくらいのを作ってみる予定です。

2013/09/05

プレゼンしてきた…のでメモ。

某所でプレゼンしてきました。
pptx + デモでjavaアプレット2つ + 動画1つ + 音声いっぱいと
なんか胃もたれしそうな感じになりましたが、
これはやっといたほうがいいんじゃないかなあと思ったことがいくつかあったので、
メモっときます。

1. home, endボタンを無効化する
 これは、キー配置に依ると思うのですが、
 僕のPCは矢印の近くにこいつらがいて、度々誤爆していたので…。
 いきなりスライドが最後に飛ぶとかなり焦ります。

2.windows Aeroを無効化する(alt + tabを無効化する)
 Alt+tabで起動中のプログラムを切り替えられて便利なんですが、
 Win+tabでも似たような動作が違う感じで発生します。
 3Dな感じでかっこいいのですが、テンパりの元なので切りましょう。
 Aeroを無効化すると切れるようです。
 (逆に普段win+tabを使う人はalt+Tabを切ったほうがいいと思います)

3. ctrl + F5を無効化する
 Shift + F5はそのスライドから起動で便利なのですが、
 ctrl + F5はブロードキャストなんちゃらが起動してウザイので切りましょう。

4. マウスポインタをでかくする
 マウス使ってデモするなら。

5. 絶対流す音声はアニメーションに組み込む
 マウスでスピーカーのアイコンクリックすると8割方ミスるので
 アニメーションに組み込んで、キー操作で流せるようにすると便利

6. 再生中の音声を表すアイコンを強調表示
 一つのスライドに音声が複数あるときに、どの音声が流れているかわからないと
 フラストレーションがたまるので、わかるようにしましょう。
 mac使いの人はデフォルトでできるみたいですが、winの人はどうすればいいのでしょう
 誰か教えて下さい。

7. 特定のキーを押すと、特定の音声が流れる
 必ずしもすべての音声を流すのではない場合はこうしたほうがいいと思います。
 やり方を教えて下さい。

8. 余計なものは切る。windows updateを済ましておく
 通知がうざい


こんなところでしょうか。
またなんか思い出したら追記するかもしれません。

2013/07/03

あの曲はいつの曲?

よく聞く合唱曲っていつできたのかと
基本wikipedia情報です。

1962年
・大地讃頌
--2009年に最新版に改訂されたらしい

1972年
・怪獣のバラード
--原曲が公開されたのがこの年らしい。編曲がいくつか存在する模様。
--っていうか原曲あったんだ。

1978年
・ひとつの朝
--Nコン課題曲。1984,87年にも課題曲になったらしい
・空駆ける天馬
--「混声3部合唱だが、部分的に4部~5部になる箇所もある」。5部て。

1982年
・遠い日の歌

1986年
・名付けられた葉

1987年
・マイ・バラード

1989年
・春に1989年
--ちなみに混声4部版は1991年
・Let's search for Tomorrow
・カリブ夢の旅

1990年
・IN TERRA PAX
・時の旅人

1991年
・聞こえる
--Nコン課題曲
・旅立ちの日に
--意外と古かった

1993年
・Tomorrow
--原曲リリース年

1996年
・この星に生まれて
--原曲リリース年

1998年
・BELIEVE
--原曲(ry。全部同じ作曲者です。

1999年
・君と見た海


2000年
・COSMOS

見つからなかったもの
・木琴

2013/05/26

blogger で latex な記事を書く方法

一つ前の記事で数式をバリバリ使った記事を書きましたが、
やっぱり数式を書くならlatexを使いたい。

ということで、bloggerでlatexっぽく表示する方法を導入します。

調べたらまとめてくださっているページがありました。
http://ichiro-maruta.blogspot.jp/2012/01/bloggermathjaxtex.html

テンプレートを汚したくないときは、
各記事のhtmlに仕込んでもおそらく動くと思われます。

これの通りにテンプレートにコードを仕込んだら、
$x$で$x$みたいにインライン表示
$$x$$で$$x$$行が別れます。
このへんは本家latexと同じ。

あと、eqnarrayも使えます

例えば、
\begin{eqnarray*}
ax^2 + 2ax + a & = & a(x^2 + 2x + 1) \\
  & = & a(x + 1)^2
\end{eqnarray*}

*blogger latexで検索するとブラウザに拡張機能を入れる奴も出てきますが多分動きません。
**この手の話って1年以上経過すると信ぴょう性がかなり落ちる気がします。

高校数学に挑んだら惨敗した件

高校生の数学の問題を解く機会があって、解いてみたのですが、
結構難しかったので、紹介します。

$4^{n+1} + 5^{2n-1}$が21で割り切れることを示せ。

$$
\begin{eqnarray*}
4^{n+1} + 5^{2n-1}
&= &16 \times 4^{n-1} + 5 \times 5^{2(n-1)} \\
&= &16 \times 4^{n-1} + 5 \times 25^{n-1} \\
&= & (21 - 5) \times 4^{n-1} + 5 \times (21 + 4)^{n-1} \cdots (1) \\
\end{eqnarray*}
$$
ここで$(1)$を21で割ることを考えます。
前半部分($4^{n-1}$の方)を21で割ると余りは$- 5 \times 4^{n-1}$となります。
後半部分は$ (21 + 4)^{n-1}$を展開すると最後の$4^{n-1}$以外はすべて21の倍数になるので、
結局後半部分の余りは$5 \times 4^{n-1}$となります。

なので、前半部分の余り$+$後半部分の余り
$= - 5 \times 4^{n-1} + - 5 \times 4^{n-1} = 0 $
Q.E.D

-----

これ初見で解ける高校生いるのかな…。
僕は初見どころか解説読んでもしばらく理解出来ませんでした。
(なぜ後半部分の余りが$- 5 \times 4^{n-1}$になるのか)




2013/04/26

Eclipse + Processing で PGraphicsクラスを使う

Processing -- ver2.8b
Eclipse -- Juno

ProcessingをEclipseで書いていて、PGraphicsが使いたくなった。
しかし、公式リファレンス通り


import processing.core.PApplet;
import processing.core.PGraphics;

public class PGraphicsTest extends PApplet{

PGraphics pg;

public void setup() {
size(200, 200);
pg = createGraphics(100, 100);
}

public void draw() {
pg.beginDraw();
pg.background(102);
pg.stroke(255);
pg.line(pg.width*0.5F, pg.height*0.5F, mouseX, mouseY);
pg.endDraw();
image(pg, 50, 50);
}
}

と書くと、

Exception in thread "Animation Thread" java.lang.NoSuchMethodError: tracer.PGraphicsTest.createGraphics(II)Lprocessing/core/PGraphics;
at tracer.PGraphicsTest.setup(PGraphicsTest.java:12)
at processing.core.PApplet.handleDraw(Unknown Source)
at processing.core.PApplet.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


とか出て死ぬ。
いろいろ試した結果、
size関数でレンダラを明示(デフォルトのはJAVA2Dという名前らしい)
creategraphicsも同じレンダラを指定すると動くみたい。

つまりこういうこと

import processing.core.PApplet;
import processing.core.PGraphics;

public class PGraphicsTest extends PApplet{

PGraphics pg;

public void setup() {
size(200, 200, JAVA2D);
pg = createGraphics(100, 100, JAVA2D);
}

public void draw() {
pg.beginDraw();
pg.background(102);
pg.stroke(255);
pg.line(pg.width*0.5F, pg.height*0.5F, mouseX, mouseY);
pg.endDraw();
image(pg, 50, 50);
}
}

2013/03/29

『トビラ』


最初の一歩が一番大変。
『トビラ』

-----ここから-----

目の前には古びたトビラ。
君はそっと、手を掛ける。
かすかに見える赤い光は、
夜明けかそれとも夕焼けか。

目の前にある古びたトビラ、
君は笑って、開け放つ。
かすかに見えた赤い光は、
遠い向こうのどこかへ消えた。

トビラの向こうに続く道。
ただひたすらに続く道。
光はどこにも無いというのに
それでも君はにこやかだった。

トビラの向こうへ続く道へと
一歩踏み出し、振り返る。
「ごめんごめん忘れていたよ」
君は僕へと問いかける

「道の果てには光があると、
僕は信じているけれど。
保障はしない。強制もしない。」
消えた笑顔と差し出された手。

――さあ、君はどうするの?

伸びゆく道が行き着く先など
到底想像できないが、
僕にもかすかに見えたんだ。
遠く輝く一等星が。

君が静かに伸ばす手を、
震えを抑えて握り締め、
無理やり足を突き出すと、
君はにっと笑ったね。

もう遠くに見える古びたトビラ。
きっと戻ることもない。
かすかな光にさらされた、
その向こう側は灰色だった。

2013/03/27

『街には今日もラブソング』


片思いすらしたことがない僕にとって、
この世は割と生きづらいです。

『街には今日もラブソング』


-----ここから----

街には今日もラブソング。
揃いも揃って歌いやがるから
今日も今日とて溢れだす。

街には今日もラブソング。
辛い、苦い、甘くて切ない
そんなの俺には関係ねぇ!

街には今日もラブソング。
ヒットチャートの上から下まで
みんな大好きJ-POP。

街には今日もラブソング。
流行りと聞いて聴いてるるものの
価値がわからぬ。終わってる?

街には今日もラブソング。
誰しもが持つ恋愛感情
それがわからぬ。終わってる?

街には今日もラブソング。
共感できる余地がなく
共感できる予定もない。

街には今日もラブソング。
今日も明日もラブソング。

2013/03/25

『duty』

だからこそ、僕らは幸福であるべきなのだろう。
『duty』

--ここから--


「市民、あなたは幸福ですか?」 白い髪の少女は問う。
「はい、私は幸福です!」 注射を持った大人が叫ぶ。

ここはそこまで狂っちゃいないが、
僕はあなたに問いかける。
「ねえ、あなたは幸福ですか?」

いい学校に行きたがったり、
限定のパンを欲しがってみたり。
いい会社に入りたがったり。
本が売れることを望んでみたり。

僕が今日買ったパンは、その日誰かが買えなかったパン。
僕が昨日買えなかったケーキは、もう誰かの胃袋の中。

ある一人の幸せが、他の誰かの不幸ならば。
幸せに生きるという事が、誰かを蹴落とすことならば。

これが最後、あなたに問いかける。
「ねえ、僕らは幸福ですか?」

--ここまで--

久しぶりの散文詩タグですが、
流行りに乗ったみたいで若干癪。

2013/03/17

コマンドプロンプトですべてのファイルに一括処理

コマンドプロンプトで、「あるディレクトリに含まれるファイル全て」に処理を行いたい場合、
for文が使えます。

書式としては、
for 変数 in (場所) do コマンド
となります

具体例として、動画・音楽の形式を変化するffmpegというコマンドを用いて、
あるディレクトリ内にあるflvファイルを全てwavに変換するという作業を考えます。
(ちなみにflvはニコニコ動画などの動画ファイル、wavは音声ファイルです。)

なおffmpegは
ffmpeg -i 入力ファイル 出力ファイル
とすることで、入力ファイルを出力ファイルの形式に変換出来ます。
(ちなみに、ffmpegは入力にワイルドカードを受け付けないので、
 一括処理をしようとするとfor文が必須になります。)

ディレクトリ構造が、
root
|-wavdir
|-flvdir
  |-a.flv
  |-b.flv

となっているとすると、
for %%i in (../flvdir/*.flv) do ffmpeg -i ../flvdir/%%~ni.flv ./%%~ni.wav
と入力し、wavdir内で、バッチファイルとして保存して実行すると、
ffmpeg -i ../flvdir/a.flv ./a.wav
ffmpeg -i ../flvdir/b.flv ./b.wav
というコマンドが順に実行され、
めでたくflvdir内の.flvで終わるファイルが全てwavに変換されwavdirに保存されます。

ここでのポイントは
1. for文で変化させる変数は%%で指定する(例では%%i)。
2. 場所の指定は相対パス。ワイルドカードの*が使用可能。
3.  変数の前に~nをつけるとファイル名の拡張子より前の部分が取得出来る。
  (例では変数名がiなので、その前に~nをつけて、%%~niとなっています)

また、forはバッチファイルとして実行しないとエラーが出るようです。

2013/02/20

80までブログを続けたとして pt.2 (LINEST関数)

80までブログを続けたとして」の続きです。

最近のアクセス推移はこんな感じ
















以前はアクセス数をexcelで管理して、
その後自作プログラムを走らせていました。

しかし、同じ事がexcelの"linest"関数を使えばできるようです。
上の図の赤い線が実際の推移、緑色の線が実際の推移です。

linest関数は推定値と実際の数字の誤差(の二乗)が最小になるように、
y = ax + b の a と b を推定します。








使い方はこんな感じ。
=LINEST(実際のyの範囲, その時のxの範囲, bを0に固定しないか, 補足情報を出すか)

第3引数をTRUEにするとbの値が0以外をとるようになり、
第4引数をTRUEにするとF値やら自由度やらを返すようになる(らしいです)。

また、
LINEST関数は配列の形で答えを返します。
第1返値がa
第2返値がb
となるので、INDEX関数を使ってそれぞれ取得します。

細かいところは公式を読んでください。
http://office.microsoft.com/ja-jp/excel-help/HP005209155.aspx


2013/02/19

『みらくるは自分で起こすもの』


以前、星空文庫にあげていたものです。

----

目が覚めたら、4限が終わっていた。
3限の途中から小説を読んでいたところで記憶が切れている。
どうせ体育だったし、水泳だし、1回くらい別にかまわない。
教室の中が汗とスプレーのにおいでよくわからないことになっていた。

「なに授業サボってんだよ」
ああ、来たか。
私は何も答えない。何をしようが結末は同じだ。

いつもなら。

「黙ってんじゃねえ!」
あいつは私につかみかかってきた。どうせ次は、
「何とか言えつってんだろ!」
左フック。
その勢いで、私は近くの机に頭をぶつけた。
「痛っ……。」

あいつはライターを取り出してタバコに火をつけた。
この匂いは好きになれない。あと、のどが痛い。
「それでは第37回、がまん大会をはじめま~す!」
第37回じゃなくて第42回だよバカヤロウ。

周りはクスクス笑いながら、あいつの後ろへと移動していく
私はじりじりと後ろへ下がっていく。
机を押しながら。窓のほうへ。

気がついてみれば、私は窓と机を背にして行き止まり。
前を見ればクラスの全員があいつの後ろで笑っていた。

「それじゃいきま~す。」
あいつは火のついたタバコを近づけてきた。

刹那、タバコの火は激しく燃え上がり
その炎はあいつの服へと広がった。
私の手には、机の上にあったコールドスプレー。
騒然となる教室。

私は、机を踏み台にして窓から飛び降りた。
痛かった。
だけど、ひたすらに走った。

勝利の予感しかなかった。
結構燃えてたし、水泳の後だし、こんなご時勢だし。

校門の前に止めてあった自転車に飛び乗った。
誰かが追いかけてくる様子はない。
このまま行けるところまで行こう。
お金と体力の続く限り。

----

余談ですが、
この原理で隣の高校が物理的に爆発しました。

2013/02/02

Eclipse + processing + android の導入

processing on Eclipse でandroidアプリを作りたいが、
セットアップがうまく行かなかったので頑張ったというお話。

一言でこの記事をまとめると、

「android-core.zipをandroid-core.jarにリネームして、libsに入れればOK」

-----

もう少し詳しく説明する。

おおまかな流れ

基本的には、これの通りやれば動く。
http://niltoid.com/blog/processing-eclipse-android-proclipsoid/


英語を読みたくない人のために、ざっくり翻訳すると

  1. Android SDKをインストールする
  2. Eclipseをインストールする。API8のインストールを忘れずに。
  3. Eclipse ADT Pluginをインストールする
  4. AVDを作る。ヴァージョンは2.2にする
  5. EclipseでAndroid Applicationのプロジェクトを作る
  6. Eclipseのrun configurationの設定を、さっき作ったAVDが実行されるように変更する
  7. さっき作ったAVDが立ち上がることを確認する
  8. processingを落とす。1.5 stableじゃなくて2.04aを使う
    • (現在は2.07bが最新なので、こっちを使う)
  9. processing/modes/android/android-core.zipをeclipseのlibsフォルダへ入れる。
  10. 次のソースをコピペ
となっている。

ちなみに、
1~7の手順に関しては、
あたりが参考になる。
(他にもいろんな人がブログに書いている「android+eclipse」あたりで検索)


しかし、これだと
「unable resolve superclass」とかいうウォーニングが出て動かない。

そこで、次のような修正をする
  • 18行目"something.whatever"をちゃんと書く
  • android-core.zipをandroid-core.jarへリネームする
  • android-core.jarをlibsフォルダへインポートする

"something.whatever"をちゃんと書く

最初の記事のソースコード通りのパッケージ構造なら、
"com.example.helloandroid.HelloAndroidProcessing"にする

http://d.hatena.ne.jp/white_wheels/20100331/p2
の下の方のアプリケーションの作成という項目が、参考になる。

android-core.zipをandroid-core.jarへリネーム

特にいうことはない。
僕はこれのせいで動かず、6時間くらい悩んでいた。

android-core.jarをlibsフォルダへインポートする

これについては、最初の記事の執筆時とADTの仕様が変わったらしい。
いろんな人がこれでハマったらしく、多数のブログ記事がヒットする。
「Android+外部ライブラリ」で検索するといっぱい出てくる。