セカイノカタチ

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

マーブルワーズ

プログラミング

プログラミングの EASY⇔HARD と Simple⇔Complex

プログラミング界隈では、よく「SimpleとEasy」について議論されることが多いですが、だいたい紛糾します。 それは何故かというと、そもそもSimpleとEasyは、対立軸ではないからです。 Easy(簡単)の対義語は、Hard(難しい)です。に対して、Simple(単純)の対…

最も良い見積もり手法は見積もりをしないことだ

qtamaki.hatenablog.com 以前に書いたエントリーですが、もう3年も経っていました。それから状況が変わったかというと、システム業界の状況はあまり変わっていないように見えます。ただ、SIerは増々勢いを失い、自社製品の開発に携わるエンジニアの割合が増…

Playframework の Future の挙動について調べたら Action と Action.async の差異は無かった

表題の通り。調べたら色々興味深いのでメモとして残そうと思う。文章がぶっきらぼうなのは許して。 Playframework では、 Action と Action.async を切り替えることにより、 Future を利用したノンブロッキング処理を Controller 内部にで行うことができる。…

スマートメーターから消費電力を取得してMetabaseでグラフ化した

久しぶりにプログラミング的な話題です。 最近、各ご家庭の電気メーターは、スマートメーターに置き換わっているようで、電力会社の検針とかが楽になるっぽいですが、ついでに「Bルートサービス」というサービスがあって、電気の利用者が電気メータの利用状…

Oralce JDK の有償化後の今 OpenJDK ベースでベストな選択肢

さて、OracleがJavaの開発キットを有償化することを発表して1年半が経ち、実際に有償バージョンがリリースされて、更にJDK8がサポート対象外となりました。 qtamaki.hatenablog.com これはだいぶ前に書いた記事ですが、その後も状況は刻々と変化していき、…

人類の7割はプログラミングに向いてない

note.mu というわけで、バズった記事に乗っかります。^^; 以前から、ちょいちょい言っているのですが、自分は、プログラミングの向き不向きが先天的に決まっているという仮説を強く信じています。 現場で長らくシステム屋をやってきての肌感覚なので、まさに…

イマドキの仮想通貨採掘用ASICでパスワード総当たりをすると突破まで何日かかるのか?

タイトルの通りなのですが、最近流行の仮想通貨を掘るための専用設計されたASICと呼ばれる機器があります。 こんな感じのものですが。 新しいBitmain Antminer S11 20.5 TH/S 16nm Bitcoin ASIC Miner S11 AntamerにはPSUが含まれています出版社/メーカー: A…

Oracle JDK 11のリリースと有償化について

さて、以前から有償サポートのみとなったことが話題になっている、Oracle JDK ですが、初のLTS(長期間サポート)となる、JDK 11 がリリースされました。 JDK 11 Release Notes, Important Changes, and Information 有償サポートになったからといって、お金を…

プログラミング教育より大切なことなんて無い

こんにちは。 タイトルは、流石に大袈裟ですね。 こちらの記事を読んでの感想文と、プログラミング教育に対する僕の気持ちです。 www.moneypost.jp 子供のときから単にプログラミングが書けること自体にはあまり価値はありません。IT関係の仕事で価値がある…

Android で Volley の RequestFuture を使うと TimeoutException

Android開発をしていて、バックエンドのサーバーにHTTPリクエストを投げるというのは、ありふれたシチュエーションだと思いますが、 Volley というGoogleおすすめのライブラリを使っていてちょっとハマりました。 Volley でHTTPのリクエストを投げるのはこん…

Javaランタイム(JRE)のサポートと互換性について

qtamaki.hatenablog.com 先日、Oracle Javaの今後のサポートについて考察したのですが、1点漏れていた議論がありました。 Javaのランタイムエディション(JRE)のサポートについてです。 結論から言うと、JREは強い後方互換を保ってアップデートされるため、「…

Oracle Javaの無償配布終了で何が起こるのか?

www.publickey1.jp 世界中で30億デバイスに搭載されているプログラミング言語Javaのリリースサイクルが変更になることと、オラクル版のJavaが無償提供されなくなるというニュースです。 リリースサイクルが半年ごとに オープンソースのOS、Linuxのメジャーな…

ScalaのFutureに渡す ExecutionContext の挙動がわかりにくいので図解する

Scalaには、非同期実行をサポートするために Future というクラスがあります。 正確にはJavaにも同名の仕組みがあるのですが、それをちょっと便利にした感じのものです。 Futureの仕組みを簡単に言うと、関数を渡すと別のThreadでその関数を実行してくれるも…

fold沼について

久しぶりに、#rpscalaにて発表をしました。 最近TLなんかでfoldの話しが盛り上がっていたので、foldについて簡単にまとめたスライドです。 fold沼について あまり、深みのある話しは無いのですが、Markdownで書いたのでブログにも転載しておこうと、下記に貼…

輪廻はIOモナドだった。またはIOモナドは輪廻だった

みなさん、輪廻してますか? 「輪廻とはなんなのでしょうか?」という話題にも興味があるのですが、それは今回は置いといて、この話は完全にネタです。^^; まず、輪廻と一口に言っても、仏教だけの用語ではなく、インド方面に広く浸透している考え方なので、…

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でも使えるよう…