読者です 読者をやめる 読者になる 読者になる

セカイノカタチ

世界のカタチを探求するブログ。関数型言語に興味があり、HaskellやScalaを勉強中。最近はカメラの話題も多め

マーブルワーズ

プログラミング

Amazon Dash Buttonをエマージェンシーコールボタンにしてみた

キュキュット Dash Button出版社/メーカー: Amazon発売日: 2016/12/05メディア: エレクトロニクスこの商品を含むブログを見る エリエール Dash Button出版社/メーカー: Amazon発売日: 2016/12/05メディア: エレクトロニクスこの商品を含むブログを見る さて…

JavaとGenericsと私(と、時々モノイド)

mattn.kaoriya.net というわけで、通りすがりに見かけた記事ですが、Genericsの使い方について、ちょっと引っ掛かったのでコードを書いてみました。 import java.util.List; import java.util.Arrays; public class Foo { public static <T> T sum(List<T> list) {</t></t>…

FirefoxにWebAssemblyが搭載されたらしいので試してみた

Firefox、ゲームなどをネイティブ並に高速実行する「WebAssembly」を採用 - PC Watch こんな感じで、PC系のニュースサイトで話題になっているので試してみた。 WebAssembly とは、ブラウザ上でバイトコードを実行できるようにする標準規格で、今まで実質的に…

ThinkPadのBluetoothキーボード KT-1255 の使い方メモ

レノボ・ジャパン ThinkPad Bluetooth ワイヤレス・トラックポイント・キーボード - 日本語 0B47181出版社/メーカー: レノボ・ジャパン発売日: 2013/06/25メディア: Personal Computersこの商品を含むブログ (22件) を見る 毎度使い方を忘れてググっても碌な…

テストしようよ

先日、息子と遊んでいると私達が「作品入れ」と呼んでいるファイルを持ってきて、私にこう言った。 「ここのぶぶんにはいる紙がないんだよねー」 そこで私は、部屋に戻ってA4サイズのコピー用紙を持ってきて提案してみた。 「これなら入るんじゃない?」 す…

バグのないプログラム書くことができると思っている上司を上手く説得する方法

anond.hatelabo.jp バグのないプログラム。 プログラマーにとっては、聖杯であろうと思います。 元増田は、「バグのないプログラムを書く方法」や「バグのないプログラムを書くことができるか?」ではなく、「バクのないプログラムを書くことができると思っ…

「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第7章

この記事は、Scala Advent Calendar 2016の18日目の記事になる予定です。 ふふふ。順調に3日間途切れてる。^^; ということで、4日目の僕が颯爽と記事を透過できればカッコ良かった(?)んですが、順調に何も書いていません。 掲題の通り、久し振りに完全自己満…

React.jsでハマっている

React.js「に」ハマっているわけではありません。 確かに便利だけど、微妙に惜しい感じですね。 色々ハマったのですが、後日自分でも忘れてしまいそうなので、自分用のメモということで愚痴を書きます。 「Target container is not a DOM element.」問題 Rea…

記号オペレータのググラビリティの低さよ

愚痴です。 そして、久しぶりにプログラミングに関するネタです。 最近、Reactを使ってみているのですが、下記のようなコードを見かけました。 <Hoge {...this.props} /> この、(...)が、構文なのか例文なんで処理を省略しているのかわからずに悩んだのですが、頼みの綱のGoogle様は</hoge>…

愚かであることの大切さ

さて、トランプ氏が第45代アメリカ大統領に就任することになりそうですね。 今回の大統領選にも関係しますが、わりと普遍的な事実として、主張の強さと正確さというのは、反比例する関係にあります。 こうしてブログを書いていても、より「正確に書こう」と…

映画のロケ地で「おくりびと」ごっこ

酒田在住プログラマーのタマニチェンコこと玉置です。 なんか、車で移動していてたまたま「おくりびと」のロケ地を通りかかったので、(うっかり友人が持っていた)ニコンのD750で、それっぽく撮影してもらいました。 「おくりびと」と言っても、2008年の映画…

山形県酒田市と僕

小学校の作文のタイトルは、必ず「○○と僕」でした。 さて、山形県酒田市で仕事を始めてからそろそろ1ヶ月経つわけですが、現在、東京と山形間、正確には小平と酒田間を往復する生活を送っています。 小平⇔酒田間というのは、こんな感じで、約500キロほどあり…

東京の会社を退職して山形に移住することにしました

9月いっぱいで所属していた会社を退社し、山形に移住することにしました。 僕は、40歳で妻子持ちなので「レールに沿ったつまらない人生はもう嫌だ」とか言う気持ちは毛頭ないのですが、色々思うところがあって、生まれ育った東京を離れ、新天地を目指すこと…

素早く失敗する

medium.com 凄く良い記事です。 「UNIXという考え方」や「達人プログラマー」など、ハッカーのバイブルとも言うべき名著ですし、あらゆる近代的な成功法則は、なるべく早く試すことを推奨しているように思えます*1。 僕の座右の銘は「素早く失敗する」です。…

Windows 10 アニバーサリーアップデートで、bash(ubuntu)が使えるようになった

Windows10にUbuntuのサブシステムをインストールし、bash及び、Linuxのバイナリが動くという機能が、アニバーサリーアップデートで公開されました。 以前から、インサイダープレビュー版ではリリースされていた機能ですが、通常版のWindows10でも使えるよう…

システム開発時のネーミングついて

※ 筆者の特性上、話題の対象が業務システム開発に偏っていることを予めご承知おき下さい システムのネーミングですが、困りますよね。 長年業務システム開発で、DB設計などに携わった身として、少しだけコツをお話したいと思います。 前提 まず、前提として…

プログラミングとは、世界の複雑さを難しさに変換する作業だ

プログラミングとは、世界の複雑さを難しさに変換する作業だ。 人月の神話によれば、ソフトウェアの複雑さは付帯的事項ではなく、本質的だという。 世の中は、複雑にできている。 膨大なデータとルールが存在し、リアルタイムに互いに相関しながら変化し続け…

EvernoteからAtom+Markdown+Dropboxに乗り換えてみて

[↑マルチディスプレイの図(左からWindows,Mac,Linux)] さて。Evernoteショックから一週間が経ちました。 qtamaki.hatenablog.com 前回の記事で、Evernoteから、Atom + DropBox + Markdown構成への移行を決意したわけですが、結果として「超快適」です。^^ 現…

Evernoteからの引越し先を考える

blog.evernote.com 昨日、Evernoteから、突然の通知がありました。 30日の猶予を設けて、無料プランの利用端末数を2台に制限するとのお達し。 ざわざわ... これはマズイ。 ということで、早速引越し先を検討しました。 もともと、Evernoteを便利なメモ帳とし…

システム開発の見積もりは、覚悟と覚悟のぶつかり合いだ

システム開発の見積もりには、色々な手法があります。 ファンクションポイントとかCOCOMO法とか。 これらはなるべく見積もりの根拠を確かにし、実際の工数とのブレがなくなるようにするために考え出された方法です。 しかし、いくら根拠を以って正確に見積も…

システムの発注者は自分に必要なシステムを自分で知らない

システム開発系のエントリーでちょいちょい言及していますが、自分が欲しいと思うものが、本当に必要だったものとは限らないと言う話です。 もうちょっと、強く言うと、コンピュータによるシステムは、「作ってみて」「改良」しないと、本当に必要なものを知…

ウォーターフォールが成功する可能性

agnozingdays.hatenablog.com すっかり、書くのを忘れていたのですが、ウォーターフォールプロジェクトでも成功することがあります。 それどころか、エンタープライズ系システム開発プロジェクトの成功率は、24~28%ぐらいだったはずなので、100本プロジェク…

日本がウォーターフォールを脱却できないのは予算取りのせい

simplearchitect.hatenablog.com なんか、SIっぽい話題が多いですね。 アジャイルの時にも書きましたが、日本でユーザー企業が、SI案件を発注するまでの間には、「予算取り」という工程が欠かせません。 元記事では、主に開発者サイドにフォーカスしてウォー…

絵に描いたようなSI炎上案件を見たので過去の経験から勝手に解説する

www.tsubakimoto-neko.com 絵に描いたようなSI炎上案件ですね。 僕も長らくシステム開発業界に漬かっていますので、身につまされる思いです。 自分の拙い経験から、行間からあふれる業界の闇を勝手に解説したいと思います。 営業主導で案件が決まる 30%OFFの…

アジャイルは死んだのか?

www.infoq.com 死んだというか、死んでないと思いますけど、よく耳にするのはこんな感じでしょうか。 パターン1 元々向いてない分野に無理やり導入しようとした パターン2 聞きかじった程度の上司が始めてドキュメントを無くしただけで後は何も変わらず状況…

日本のSIerはいつまで親の脛をかじり続ける気なのか

かつての技術大国日本 かつて、日本は技術立国と言われ、機械電気電子産業において、世界に名だたる企業を幾つも輩出し、それこそ日の出の勢いで世界を席巻した。 これらの産業が好調だった頃、日本におけるシステム開発とは、それらの巨大な利益を挙げる企…

Phantomjsソースを読んでQtWebkitのAPIについて調べた

Phantomjsとは、Headless browserといって、画面を表示しないブラウザを裏で持ち、そことのやりとりをJavaScriptで行うというコンセプトのツールになります。 モチベーション Webスクレイパーを作ろうと思ったのですが、最近のサイトはJavaScriptで動的にコ…

http-client-wrapperをStateモナドに魔改造した

/* 注意!! この記事は、Scalaのプログラミングについて書かれています */ 麗しき、@ponkotuy氏の作ったhttp-client-wrapperを改造して、Stateモナドを利用してみました。 使い勝手は、むしろ悪化した模様。(^^; 元プログラムの解説記事はこちらです。 qiita.…

僕はプログラミング教育について大賛成です

www.murasakai.net ふと、目に留まったこちらの記事ですが、非常に良いことが書いてあるので、ちょっとプログラミング教育に関して僕の意見を書きます。 まず、表題に書いてしまいましたが、僕は「大賛成」という意見を持っています。 プログラミングは読み…

2の32乗と64乗を語呂合わせで覚える

コンピュータを扱っているとよく出てくる、2の乗数ですが、桁が大きくなってくると覚えきれなくなってきますね。 そこで、ある程度利用価値の高い、2の32乗と64乗の語呂合わせを考えました。 2の32乗 まずは、2の32乗です。 4294967296 約42億になります。 …

DockerとLet's encryptを組み合わせて運用する

Let's encryptが正式サービスになったみたいですね。 今時は、サーバー立てるにしてもDockerが当たり前だと思いますので、Dockerを利用して、Let's encryptの証明書を発行、運用することにしました。 ここでは、僕が細々と運営している、marblewords.comとい…

gitbucketで管理者のパスワードを変更時にミスると詰む(かも)

正確には、頑張れば復旧可能です。 メールによるパスワードリセットとかが無いので、つらかった。 出来事 プライベートで運用しているgitbucketサーバーにて、管理者(自分自身)のパスワードを変更(確認入力とか無いので一発勝負) Sign out Sign in Sign inで…

試したことのないプログラムは絶対に動かない

今更言うまでもないかもしれませんが、動くことを確認したことのないプログラムやシステムは絶対に動かないと思って間違いありません。 よく、「本番にあげたら動かない」とか言う事象が発生しますが、当たり前です。試してないのですから。 なので、本番環…

#ScalaMatsuri 2016 の感想など #scala #saclajp

ScalaMatsuriとは、Scala好きのScala好きによるScala好きのための祭典です。 Scalaとはプログラミング言語です。 そして、ScalaMatsuriは、プログラミング言語のカンファレンスとしては、国内最大級の催し物です。 スタッフと来場者合わせて600名ほどが集ま…

#ScalaMatsuri 2016 でカメラマンしてきました

ScalaMatsuriとは、Scala好きのScala好きによるScala好きのための祭典です。 Scalaとはプログラミング言語です。 そして、ScalaMatsuriは、プログラミング言語のカンファレンスとしては、国内最大級の催し物です。 スタッフと来場者合わせて600名ほどが集ま…

「第2期 第25回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第25回H本読書会を開催しました。 第14章「もうちょっとだけモナド」を読みました。 H本読書会とは? すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商…

「第2期 第24回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第24回H本読書会を開催しました。 第14章「もうちょっとだけモナド」を読みました。 H本読書会とは? すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディア: Kindle版購入: 4人 クリック: 9回この商…

「第2期 第23回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第23回H本読書会を開催しました。 第13章「モナドがいっぱい」の最後の部分と第14章「もうちょっとだけモナド」を読みました。 H本読書会とは? すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社発売日: 2012/09/21メディ…

都会脱出型ハッカソンというイベントを開催してみることに

日頃、ごみごみした都会でプログラミングをしていると煮詰まってくることが多いですよね? 縁あって、山形県は酒田市の施設を安く借りることが出来そうなので、「都会脱出型ハッカソン」と銘打って、田舎の広々とした所でコードを書くイベントを開催してみる…

「第2期 第22回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第22回H本読書会を開催しました。 第13章「モナドがいっぱい」のさらに続きの部分を読みました。 詳しい内容は id:shigemk2 さんが。(__)ヘヘー www.shigemk2.com H本読書会とは? すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オ…

「第2期 第21回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第20回H本読書会を開催しました。 第13章「モナドがいっぱい」の続きの部分を読みました。 詳しい内容は id:shigemk2 さんが。(__)ヘヘー www.shigemk2.com H本読書会とは? すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社…

「第2期 第20回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第20回H本読書会を開催しました。 第13章「モナドがいっぱい」の最初の部分を読みました。 詳しい内容は id:shigemk2 さんが。(__)ヘヘー www.shigemk2.com H本読書会とは? すごいHaskellたのしく学ぼう!作者: Miran Lipovaca出版社/メーカー: オーム社…

「第5回 Java勉強会 in 秋葉原」を開催しました #java #javaintokyo

迷走するJava勉強会。気づけば第5回を迎えることができました。 これもひとえにみなさまのお陰です。(__) Java勉強会 in 秋葉原 とは 秋葉原近辺で開催しているJavaの勉強会です。 どちらかと言うと、初心者向きの内容でやっています。 第5回はどんな感じだ…

「第2期 第19回 H本読書会 in 秋葉原」を終えて #readhbon #haskell

第2期第19回H本読書会を開催しました。 前回に引き続き、第12章「モノイド」の残りの部分を読みました。 詳しい内容は id:shigemk2 さんが。(__)ヘヘー 第2期 第19回 H本読書会 in 秋葉原 #readhbon - by shigemk2www.shigemk2.com H本読書会とは? すごいHaske…

Windows10の仮想デスクトップの切り替えショートカットキー

早速、使ってないPCをWindows10にアップグレードした。 仮想デスクトップの切り替えショートカットキーをググったけど出てこなくて、感でやったら動いたのでメモ。 [Ctrl]+[Windows]+[← or →]だった。

純粋な関数がツリーをなすということ

プログラミングにおけるコミュニケーションパスの問題 - セカイノカタチqtamaki.hatenablog.com 先日、この記事で「参照透明性のある関数を組み合わせてプログラミングすると、出来上がったプログラムは、きれいなツリー構造になります」と書いたのですが、…

プログラミングにおけるコミュニケーションパスの問題

組織におけるコミュニケーションパスの問題 - セカイノカタチqtamaki.hatenablog.com 先日、組織やプロジェクトの運営におけるコミニュケーションパスの問題について書きました。 同じような問題が、プログラミングにおいても言えます*1。 プログラムにおけ…

プログラミング言語の難しさはより遠くに飛ぶための翼である

複雑さについて思うこと。rentwi.textfile.org この記事に触発されました。 というか、丁度この事について考えていてブログを書こうかと思っていたところでした。(^^;マジデ ソフトウェア開発とは、現実世界の複雑さをプログラムコードの難しさに置き換える作…

Javaの勉強会を開催してみることに #java

第0回 Java勉強会 in 秋葉原javaintokyo.doorkeeper.jp 普段、ScalaやHaskell Loveな感じですが、やはりJavaを抑えてこそのScalaであり、そこからHaskell界に旅立ってゆくもScalaどっぷりになるも好きにしたらいいと思いますが、自分がJava→Scala→Haskellと…

「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第6章

前回: 「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる 第5章 - セカイノカタチ 関数プログラミング 珠玉のアルゴリズムデザイン作者: Richard bird,山下伸夫出版社/メーカー: オーム社発売日: 2014/11/12メディア: 単行本(ソフ…