鍋あり谷あり

テーマを決めずに適当に書いています。

Yokohama.rb #70

Yokohama.rb #70 に参加した。 レシピブック読書会 Etc.passwd や Etc.group の動作が気持ち悪すぎてびっくりした。 どう書く 出題者をやった。問題をちゃんと作る余裕はなかったので、過去問のリメイク。 時間が少ないので簡単なものを。 とっつきやすい感…

反省など

先日の記事( d:id:Nabetani:20160701:p1 )の、PHP の記載について。 あまりよく知らない言語について調べずになにか書くべきではないという反省をした。すいませんでした。とはいえ、 正確な記述をしている記事ではないことがわかるように書いている。 事実…

主要なプログラミング言語8種をぐったり解説

主要なプログラミング言語8種をぐったり解説するよ。 C言語 「はじめてのC」( https://www.amazon.co.jp/dp/4774133345 )という本で有名になった*1この言語は、「_Generic」という魔術が使えるためか、常人には理解不能なプログラムを書きたい人に、perl の…

用もないのに原ノ町駅近辺に行ってきた

常磐線の果てに行ってみたかった。 切符を買ってから気づいたんだけど、私が行きたかった場所はどちらかと言うと 竜田駅 の方で、原ノ町駅は反対側だった。そんな日もある。気にせず原ノ町駅 https://goo.gl/maps/Qmxyfd4fvMnへ。新幹線で福島→バス。何かが…

マイルの話

ふとマイルという長さについて知ろうと思い、 wikipedia( http://ja.wikipedia.org/wiki/%E3%83%9E%E3%82%A4%E3%83%AB ) を見てみた。 すると。 イタリアマイル(ミリオ miglio) 古代は2.226キロメートル、伝統的には1.489キロメートル、現在は1キロメート…

遅いソート

http://bugrammer.hateblo.jp/entry/2014/08/16/014212 ( バブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート ) を読んで。ちゃんと終わるけどもっと遅いソートがあるので書いてみた。たぶん名前がついていると思うん…

どう書くの問題を作るときに考えること

虎塚さんの記事 http://d.hatena.ne.jp/torazuka/20140512/doukaku を受けて。 正確なテストデータ / データの数 深く考えずに、40個ぐらいにしていることが多いんだけど、 コーナーケースが多そうなら多めに、コーナーケースが少なそうなら少なめにしてる。…

久々に 剰余なしで FizzBuzz

はるか昔に書いた http://d.hatena.ne.jp/Nabetani/20070510/p1 が、ruby 2.1.0 では動かないようなので、書きなおした。 def f(name,n) Fiber.new do loop do (n-1).times{ Fiber.yield "" } Fiber.yield name end end end def fb(sup, *x) s=x.map{|name,n…

記号の読み方

記号の読み方は本を読んでも書いてなかったりするし、会社や文化圏によっても違ったりするので結構困るんだけど、私はこう読んでるよ、という話は書くことができる。 !文脈がなければ「ビックリ」。単項演算子なら「ノット」とか #「シャープ」か「ハッシュ…

筑波の ruby の 23番

「Ruby プログラミング 50題」 http://klis.tsukuba.ac.jp/klib/index.php?plugin=attach&refer=KISL%2Ftop&openfile=ruby.pdf という素晴らしい資料を筑波大学が公開している。で。この 23番。 tango = ["knowledge", "information", "system" , "library",…

南無ドット

CodeIQ のナムドット問題( https://codeiq.jp/ace/yuki_hiroshi/q468 )に取り組んでみた。 規則性の発見に数時間を要したと思う。 規則性がわかれば実装はそんなにかからなかったと思う。 測ってないけど。で。 私が書いたのはこんな感じ。 maps = (0..( "01…

Restricted Words の解答の改善

昨日記事を書いたら悔しくなってきたので、もう一回。 #!ruby include Math [ E*E*E+E*E*E+E*PI+E+E*E*E, E+E*PI*E*E+PI*E*PI+E+E+E, E*PI+PI*E*PI*E+E*PI*E+PI, PI*E*PI+E+E*PI*PI*E+PI+E, E*PI*PI+E+E*E*PI*PI+PI*E, E+E*PI+E+PI+PI+PI+E+PI+E, PI+PI+E*E+…

Restricted Words の解答

CodeIQ で出題することになったので、私も答えておこうと思い、Restricted Words ( https://codeiq.jp/ace/cielavenir/q431 ) に答えてみた。問題は、文字列リテラルと数値リテラルを使わずに Hello World を出力するというもの。ruby の場合、__END__ のあ…

混色表

なんとなく混色表作ってみた。http://nabetani.sakura.ne.jp/samples/colma.html元の色の選択は恣意的。黒白と、間にグレーふたつ。 あとは虹の色っぽく。しかし。 役に立つ局面があるような気はあまりしない。

あなたは n 個の同じサイズのボールを持っています。

id:torazuka:20130626:balls の問題からヒントを得て。「あなたはn個の同じサイズのボールを持っています。(n-1)個は同じ重さで、1つだけが他より少し重いです。秤をm回かそれ以下の回数使って、少しだけ重いボールを見つけるには、どうすればよいでしょうか…

チェスと将棋と計算機

wikipedia( Deep Blue ) を見ると、1996年に初めて Kasparov に勝利し、その翌年の Deep Blue は 11.38GFLOPS だったらしい。一方先日三浦八段に勝った GPS 将棋は、同じく wikipedia( GPS将棋 )を見ると、iMac666台+その他 13台 らしい。 iMac の 計算能力…

南三陸町の写真を撮ってきたわけだけれど

先日の記事( id:Nabetani:20130331 )は南三陸町の 2013年3月の様子を伝える写真となっている。 のだけれど。南三陸町の写真は、私が撮ったものよりももっと良い写真・記事がたくさんある。 防災庁舎の悲劇 http://memory.ever.jp/tsunami/higeki_bosai-tyosy…

南三陸町へ行ってきた

はじめに 3/29の金曜に会社を休み、長女と2人で南三陸町へ行ってきた。目的はポストマッピング( http://postmap.org/user/Nabetani/com )ではなく、津波の爪痕を目にしておくこと。一年前ぐらいに訪れておきたかったと思ったものの、当時は旅行に行く時間が…

オフラインリアルタイムどう書くというイベントやっている

こちらは全然更新していなかったんだが、気が向いたのでこちらでも。去年の夏ぐらいから「オフラインリアルタイムどう書く」というイベントをやっている。次回は http://atnd.org/events/37587 。概要はリンク先のとおり 私が用意したお題について制限時間1…

プログラミング言語と日本の歌手

プログラミング言語のリリース年と、その年にデビューした歌手の対応表を作ってみた。当然その年にデビューした歌手はたくさんいるわけだが、そこから適当に選んだ。選び方についてのルールは適当だが、 私の知っている人。名前だけでも。 できればソロ。 歌…

バケツ問題1

数年前に某へなちょこで出した問題。水がいっぱい入ったバケツ一個と、空のバケツがいくつかあり、それぞれのバケツの容量は正確にわかっている。この状態から指定された容量を量りとる、最小手数の手順を求めよ。 ただし バケツからバケツに水を移す操作を…

お釣り最小

数年前に某へなちょこで出した問題。あなたは硬貨を何枚か持っており、ある金額を払いたい。 お釣りの金額が最小となるような硬貨の組み合わせと、その場合のおつりを計算せよ。 硬貨の価値はすべて正の整数、払いたい金額も正の整数で、オーバーフローは考…

三項演算子の優先順位

C/C++/Java などの本を見ると、必ず演算子の優先順位が書いてある。 演算子の優先順位は、どれもだいたい コンマ演算子 < 代入演算子 < ?:演算子 < それ以外全部 となっている。 が。 実際は優先順位が逆転するケースがある。 C++で a+=1 ? b+=2 : …

換算合計マグニチュードの変遷

3月4月の地震。 一日に起きた地震のエネルギーを合計してマグニチュードに換算したものをグラフにした。 元データは前回と異なり http://tau.f2u.com/equake/table.html を使わせていただいた。(3/11 の地震のマグニチュードを 9.0 に訂正した。)こうし…

覚書

核爆発は起きない 原子爆弾 - Wikipedia によると、核爆発を起こすには、70%以上に濃縮する必要がある。 原子力発電所で使われている燃料は、4% でしかない 核分裂とウラン燃料|原子力発電の概要|原子力発電について|エネルギー|エネルギー・安定供給|…

今回の教訓・反省・思うところ

私は横浜在住で大した被害もなく、運良く病欠だったために帰宅難民にもならずに済んだ。 風呂の水 今回のような規模の地震があった場合、揺れが収まったタイミングで風呂に水をいれるべきであった。そうすべきだという記事を読んだことがあったのに、忘れて…

ペアプログラミングのペアを作る

問題。勉強会か何かで、言語を限定せずにペアプログラミングを行うことを考える。話を簡単にするため、参加人数は偶数。 使える言語は人によって異なる。例えば、 島地:ruby, C 佐伯:Java, C, pascal 原田:Java, perl, python, C 石田:Java, pascal とい…

Objective-C

ずっと、Object-C なのか Objective-C なのか覚えられなかったんだが、最近ようやく間違えなくなってきた。Objective-C。 Objective-C はC++とちがっていい言語だという意見をときどき目にし、耳にしていたので、きっと良い言語なんだろうなとぼんやり思いつ…

メタプログラミング

メタプログラミングrubyを読んでいる。 で。たぶん昔、gotoが混沌の源だった。 gotoがもたらす混沌は、構造化プログラミングによって治められた。次に、関数へのポインタとswitch〜caseが混沌の源となった。 この混沌は、オブジェクト指向によって治められた…

Perl

perlの意外な動作について気づいたことを。 文字列に対するビット演算 use strict; $a="33"; print( $a & "7","\n" ); #=> 3 print( $a + "7","\n" ); #=> 40 print( $a & "7","\n" ); #=> 1 最初の print と最後の print は全く同じ式なのに結果が異なる。 …