Line 1: Error: Invalid Blog('by Esehara' )

または私は如何にして心配するのを止めてバグを愛するようになったか

>> Zanmemo

あと何かあれは 「esehara あっと じーめーる」 か @esehara まで

「Burrows Wheeler 変換」と逐次構築

今日の肉 笑点における楽太郎の座布団みたいなもの。 概要 テキスト処理方法の一つとして、Burrows Wheeler 変換というものがある。丁度手元に、その辺りを論じた本があったので、練習がてらに実装してみることにした。 はじめに 自分の書架を整理していたら…

「1ドルを任意のコインに両替する組み合わせ数」を計算する(両替問題)

今日の料理 肉きしめん 概要 なんらかの金額が与えられた場合に、それを両替するコインの組みあわせ数を求められる問題が、いわばプログラミングの基礎的な問題として使われることが多い。今回は、木構造を作るような再帰的な関数を定義し、この問題にチャレ…

素数候補を効率よく絞りこむ「Wheel factorization」について調べたこと

今日の料理 サーモン漬け丼 概要 素数リストの求め方に関しては、前回アトキンのふるいを紹介した。この他にもWheel factorizationという方法がある。調べてみたところ、直接的な日本語の紹介が乏しいので、実装したついでに、調べた範囲のことについてメモ…

Rubyで、「エラトステネスのふるい」を改良したと言われる「アトキンのふるい」をいまさら実装する

今日の料理 ニラを入れすぎた 概要 素数のリストを作成する際に、エラトステネスのふるいが有名だが、それを改良した「アトキンのふるい」というものがある。今回は、他のコードを参考にしながら、自前で実装してみて、思ったことを書き残しておきたいと思う…

Racket(Scheme)で素因数分解をするようなプログラムを書いてみる

今日の料理 すきやき 概要 ある数が与えられた際に、素因数分解を行なうプログラムを練習がてらに書いてみた。これは数論の本に示唆されていた解法に基づくものである。 今回は、どのようにそのプログラムを実装したかについて、メモをしておく。 はじめに …

Rubyで、矢印キーにて伸びたり縮んだりするようなバーをコンソール上で実現する

今日の料理 油あげの鍋 概要 CUI(キャラクター・ユーザー・インターフェイス)上で、何かしらの常駐コマンドを作成した場合、キーイベンドによって、何らかの操作が出来たほうが望ましい場合がある。そういったコマンドをRubyで作ろうとした場合、意外にもま…

Ubuntuというか、Linuxにおける、デスクトップ通知バルーンを検討する

概要 自分が使っているのはUbuntuだ。そして、恐らく殆どのLinuxにおいて言えることだと思うが、これらの特徴とは、カスタマイズ性の高さという部分にある。それは、MacについているGrowlのような、バルーンでお知らせする親切なアイツについても、同じこと…

余は何故キーボード配列をqwerty配列からColemak配列にしたか

簡単な概要 普段使うキーボード配列をcolemakに変更した。採用した理由としては、colemakが、qwerty配列を改良したものであるという理由からた。ただし、キーボード配列を変更することは、多くのデメリットがある。例としては、他人に自分のPCを利用すること…

高階関数と関数オブジェクトとラムダについての自分なりのメモ書き

近況 正しく、そして簡単に書くことが、一番の壁だということを実感する。 概要 『関数プログラミング』という本の中においては、「関数そのものと関数を引数に適用したものを混合してはならない(p.9)」としている。というのは、「関数プログラミングにおい…

プログラムにおける「関数」とは何かについて、自分なりのまとめ

近況 自宅サーバーが起動しなくなったため、中身に保管してある電子書籍のPDFが取り出せず、大量の知性が失われている。 要旨 以前に「関数型プログラミングの初心者」に向けて質問したときに、そもそも関数とはなにかについてわからなかったという質問があ…

何故、「そのプログラミング言語」で関数型プログラミングをするのが難しいのか

近況 未来が脅す右手の指 ナイフが滑る左手首 朦朧と過ぎる日曜日 消えた秒針 数えた生久伸 このままでいいのか 俺はお前は 迷路の中 IT'S MY WORLD ――『KOKORO WARP』SHAKKAZOMBIE 問題 多くの人々にとって、既存の慣れ親しんだプログラミング言語で、最新…

『プログラミング言語の基礎概念』第一章の復習と、自分が躓いたところをメモする

近況 神様あなたは 何でも知っていて 心悪しき人を打ち負かすんだろう でも真夏の太陽は 罪を溶かして 見えないが確かに 背中にそれを焼き付ける ―― eastern youth『夏の日の午後』 要旨 今月の最後に『プログラミング言語の基礎概念』第二章の読書会がある…

出社準備完了

はじめに 21世紀になっても、まだ人類の課題として残されているのは、「出社」という概念だろう。IT業界だと、リモートワークも増えつつあるけれども、やはりまだ出社に縛られているというのが現状といったところだろう。 たいてい、出社のアンチパターンは…

今日のポエム: なぜ、その抽象化は失敗してしまうのか

近況 打ち捨てられた過去について 要旨 この記事を興味深く読む一方で、やはり違和感を覚える人も多くいるようで、自分もその一人だった。恐らく、この違和感は、「抽象化」が「具体性を奪取していくもの」といったような対立項として述べられているからだ、…

『マンガでわかる!関数型プログラミング』という漫画を連載することになるようです

近況 ふとした瞬間に虚しくなることがある いきさつ 今年、秀和システムから関数型プログラミングに関する本が出て、良くも悪くも、その本が注目を集めることになってしまいました。そんな中で色々な人が反応していましたし、自分もこのようなかたちで感想を…

今日のポエム: コードレビューについての一側面

近況 自分の歓迎会があったときに財布を無くしていたのですが、他の人のカバンから出てくるという超常現象が発生してしまった……。 概要 声で指摘されると比較的「まっとうだな」と思えることでも、文章にすると「こんなクソコード書くな無能」と読み取ってし…

定時を超えるとBotに罵倒される社内文化

近況 これはPKSHA Technology Inc.で行われたもくもく会の様子です。 はじめに 株式会社ログバーでは、フレックスタイム制が導入されていて、だいたいコアタイム時間中勤務して、かつ全体の労働時間が8時間になれば良いという運用になっている。とはいえ、フ…

社会人の常識として、チャット上の挨拶をきちんと行う

近況 部屋の本が爆発しそうだったので、職場に並べたらカオスになった事例。 はじめに ログバーでは、コアタイム・フレックス制であって、その為に割りと出社時間に関してはマチマチだったりする。自分とかは、フラっと12時くらいにやってくる、みたいなダメ…

REPLと共に寄り添う生活

近況 概要 だいたいのプログラミング言語には、REPL(Read-eval-print loop)がある。簡単に言うと、ワンラインで動作を確認できるような対話型コンソールのことだ。Rubyならpryが有名だろうし、PythonならIPythonがある。 そこで、最近はREPLをちょっとだけリ…

Common Lispで自分のはてなブックマークを社内Slackに垂れ流すやつを書いた

近況 概要 自分の会社もそうだし、どこの会社もそうだと思うけれど、雑談チャット上で「こういう話題があったんだけど」というのが気軽にできると、その話題で盛り上がるし、横の繋がりみたいなのが、なんとなく生まれてきて、雰囲気が良くなる気がするので…

変数のスコープを意識することについて、Lisp周辺とClojureのletを利用して考える

近況 趣旨 変数については、その変数が有効なスコープというのが存在する。今回の話の中心は、Lisp、あるいはClojureにおけるletと呼ばれる局所変数を作るSyntaxについて、JavaScriptを用いながら、どういうことか考えてみる 本文 Clojureで飯を食う立場にな…

『説得とヤル気の科学』を読んで、やる気について考える

はじめに もともと、自分の根っこは怠惰であり、休日になっては「やる気がしないな」とか言いながら、家でゴロゴロしたりするのが常態化していたりする。なので、何かやる気を出すためのヒントとして、本書を読んだりしていた。 実際、この文章も、昨日くら…

JavaScriptのreduce実装について調べたことをメモしておく

はじめに とある本の検証のために、JavaScript(正確にはECMAScript-262 5.1)の仕様書を読んだりしていた。というのも、JavaScriptの場合、大抵のメソッドについては、どのように実装されるべきか、というアルゴリズムが定義されており、これを見ればどういう…

Word2Vec + MeCabで「ボケる」ための単語候補をピックアップするやつをやってみる

近況 はじめに 最近、ちょっと大喜利を始めていて、如何に面白いことを言えるのか、ということを考えたりしているんだけど、考えてみれば、自分は少しプログラミングができるし、むしろ形態素解析や自然言語処理という観点から「質問」と「ボケ」を考えてみ…

最遅FizzBuzz研究報告: 全出力まで3秒も時間がかかるFizzBuzzを書いてみよう

近況 はじめに さて、おそらくエンジニアの皆さんでしたら、如何に最速・最適化されたアルゴリズムを書くことに興味があるかと思われます。しかし、過去にもバブルソートよりも非効率なソートアルゴリズムを探して ―― ストゥージソートとスローソート - Line…

Rubyで実行可能な遺書

近況 はじめに 恥の多い生涯を送って来ました。 自分には、人間の生活というものが、検討つかないのです。 このような身分の人間が、稀代の文豪と比較されるのも痴がましいのですが、自分は時折、まるで「太宰治のやうだ」と比喩ーーもしかすると揶揄なのか…

「パラメータによって予期出来ない振る舞いが起こる」とかいう方程式について、プログラミングで確かめてみる

近況 はじめに そういえば、このブログを見ていて、こんな単純な式がパラメーターによって予測不可能な振る舞いをすることがあるんだな、ということを知って面白かったので、同じようにその振る舞いを確認できるようなものを実装しようと思った。 基本公式 …

テック系PodCastとしての放送大学ラジオ (2015年 第1期)

近況 放送大学の教材テキストが届いた。あとは入学許可書が届くのを待つのみ。 pic.twitter.com/ddlTSxehwn— 似非原重雄 (@esehara) March 28, 2015 その中に、4月1日からラジオでどのような番組が放映されるのか、という番組表が付属している。実は、放送大…

ミスをエンジニアリングすることについて、例えばなぜ自動化するのかについて−−『「事務ミス」をナメるな!』を読んで

はじめに 今更いうことではないのだけれど、自分は凡ミスの多い人間だという自覚がある。例えば、このブログを書いていたとしても、結構な割合で「てにをは」を間違えることが多いし、また予定等を勘違いして、実は期日を過ぎていたということもある。 そう…

プログラムにおいて自然数を構成する話について

はじめに たぶん、多くの人々が「自然数とは?」と言われると、「そりゃ、1, 2, 3とかそのあたりの整数のことでしょ」という、具体例を挙げられるかと思われるのですが、実際に「じゃあその自然数とやらを作る方法ってあるんですか」というと、目の前のリンゴ…

大学に入学します

はじめに 退職エントリとか、入社エントリは大量に腐るほどあるけれど、入学エントリなんていうのはほとんどないと思うので、書いてみると面白そうだったので書いた。 入学する先は? 入学先は放送大学で、全科履修生として届けを出した。学部は教養学部の情…

「モノを作ること」について考えるベースになったものをだらっと紹介していく: 2015春

はじめに たぶん、自分はエンジニアというよりも、何かモノを作っていたいタイプであって、趣味でも作曲とか漫画とか、小説とかを書いたりしている。 元々、子供の頃は漫画家や小説家とかになりたかった人間で、何時の間にやらエンジニアというものを見よう…

カリー化、部分適用、クロージャという間違いやすい三種についての簡単なメモ書き

追記 カリー化を間違えてカーリー化という表記をしていたのを修正しました。 そもそもカリー化とは何か 複数の引数を取る関数は、一つの引数を取る、関数を返す関数の連続として表現できるということ、と言葉で表現しても抽象的すぎるので、ちょっと式で表し…

クズのための手帳術: 全部まとめて書く

はじめに 自分はクズという自覚があるのだけれど、クズなりに手帳の使い方について、運用方法を考えたところ、これがうまくいっている感じだったので、ここに共有しておく。 クズの条件 自分が考えるに、クズの条件とは、下の三つのようなことをよく起こすこ…

紙で日記を書いてみるのが結構良かったのでオススメしてみる

はじめに 最近やり始めたことの一つに、紙の日記を書くというものがある。とはいえ、一月から続けているもので、その理由としては、紙の日記を付けてみるのも面白いんじゃないかと思って、正月初めに買ったのがきっかけだった。で、はじめてみたのだけれど、…

副作用がある中において「どれとどれが同じものなのか」っていうのを考えるのは難しいという話

「関数型」云々のさい、大抵は副作用が如何に問題なのか、という話が出てくる。とはいえ、自分自身で「副作用がこれだけ問題なんですよ」ということが、議論の内容はわかるにしても、それが現実的にどうなのか、といった説明レベルになると、上手く説明でき…

Project Eular 15: 正方形の道筋は幾つあるの? について

はじめに 数学の問題をプログラミングで解こう! という趣旨の、プログラミング問題集であるところのProject Eularというサイトがあって、非常に初歩的なんだけど、解くのを面倒臭がって放置していた問題として、20 x 20の正方形の道筋はいくつあるの?という…

オブジェクト指向について考えたいので、Lispでオブジェクトもどきみたいなものを実装してみる

はじめに 最近になって、「関数型とは何か」みたいな文章が増えている。それらの文章は玉石混交しているし、技術的ではない部分も多いので、自嘲の意味で「ポエム」と自ら呼んでいたりする。その関係もあってか、手元にある『On Lisp』と『実用Common Lisp』…

新年初FizzBuzzで今年もめでたい!! RubyでEnumerableを利用したFizzBuzzを書く

初めに プログラマには、新年が開けると、書き初めのようなものとして、FizzBuzzを書くという習慣があります。ごめんなさい、本当はそんな習慣無くて、自分が今でっち上げました。そこで、今回はRubyで、Enumerableを使ったFizzBuzzを書いてみようというのが…

2014年に買って良かったもの: ダイオウイカのぬいぐるみ

2014年になって、何か買っていいものあったかなーと考えていたんだけど、イカのぬいぐるみがよかったので、そのことを書いておく。 経緯 一時期無気力の余りに「かわいいもの欲しいな、ぬいぐるみ無いかな、なんか可愛いやつ、俺は癒されたいんだ!」みたいな…

General Problem Solver Ver.1をRubyで実装する

はじめに そういえば、最近になって『ベイマックス』を見て、「やっぱり人工知能最高だな!」という間違った感想を抱き、勢い余って『実践Common Lisp』という人工知能関係における鈍器のような教科書を買ってしまった。 『ベイマクッス』を見て、気持ちが高…

『アンダースタンディング・コンピュテーション』第二章を読みながら、Lispのことを考えてみる

そういえば、AmazonのWishlistから『アンダースタンディング・コンピュテーション』を頂いて、少しずつRubyで本書のコードを書いたりしていたのだけど、自分の理解を書いておいたほうがいいかなと思って、セーブがてら、自分の理解をメモしておこうと思う。 …

できるようになる

他人にとっては些細なことでも、自分にとっては大切な経験というものが存在しているんだと思う。少なくとも、自分の場合はそうだ。 僕の場合だと、25歳の頃に何故か納豆が食べられるようになっていたことに気がついたことは、そういう体験の一つだ。元々、自…

ポモドーロ・テクニックを二ヶ月やってみた感想

二ヶ月間ポモドーロテクニックをやってみての雑感 だいぶ知見が溜まってきたので、セーブがてら記事にしておく。 方法 要するに 25分、集中してそのタスクをやったら5分休む = 1Pomodoro 4Pomodoroやったら15分休む というのを繰り返すというだけだ。 実際の…

Racket + big-bangを使ってどうしようもないプログラムを書く方法

この記事はLisp Advent Calender 13日目の筈でした。 はじめに: プログラミングの楽しみ さて、Lisp処理系と呼ばれるものには様々なものが存在します。その中で、そこそこに人気のある処理系であるRacketを使って、Lispと一緒に気軽に戯れてみよう!というの…

在宅勤務始めました

この記事について この記事はHeartRails Advent Calendar3日目の筈でした。 趣旨 HeartRailsに入社した。そこで、リモートを通じて受託開発などを行っている。ちょうど1ヶ月ほど経ったので、リモートワークに関しての所感をメモしておこうというのが今回の記…

yeomanを使って簡単なjquery pluginを作ってbowerに登録する

はじめに 前までは、どちらかというとAPIよりの開発をすることが多く、あんまりフロントエンドのことを気にかけることがあまりなかった。とはいえ、それを知らないのもアレだろうと思ったので、yeomanを使ってみることにした。 とはいえ、何かを作るにしても…

『オブジェクト指向でなぜつくるのか』の第一版について気になったところをメモ

はじめに 知人から『オブジェクト指向でなぜつくるのか』の第一版を譲り受け読んでいて、それなりに勉強になったものの、一部分で気になったところも多少あったりした。 最初は、割と厳しい文章になってしまったのだけれど、この本の発売が2004年で、現在第…

ifを使わず、エラーでFizzBuzzを実装してみよう

始めに FizzBuzz愛好家の皆さんこんにちは。野良FizzBuzz研究家の似非原です。 FizzBuzz研究というのは様々なジャンルがあります[要出典]。例えば、どれだけコードが短く書けるかに注力するCodeGolf派もいますが、一方でさまざまなFizzBuzzを書いて喜びとし…

プログラミングの学びはじめこそ、どんどん文章で残して公開しておいたほうがいいかもしれないという話

はじめに 現在、自分はPythonから暫く離れてRubyを勉強している。現在のスキルとしては、gemがなんとか書け(これについては、後ほど報告)Railsでアプリケーションも書けるようになったというレベルだ。つまり、Rubyで軽量なアプリケーションならば、自力で作…