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

世界最小級のキーボード The Planck Keyboard を作ってみた

海外の自作キーボード (DIY keyboard) コミュニティで生まれ、近年は日本でもすっかり有名になった ErgoDox ですが、その ErgoDox と並ぶ人気を誇る “The Planck Keyboard” の DIY キットを手に入れて組み立ててみました。 どれくらい人気かというと、現在募…

「関数型プログラミングって何?」日本語訳

この記事は、技術翻訳 Advent Calendar 2016 の15日目です(枠が空いてたので勝手にお邪魔してます)。前回(6日目)は、id:msyksphinz さんの「個人が趣味で技術書を翻訳するという意義について」でした。 今回ご紹介するのは、昨年末に公開された Kris Jen…

ErgoDox の壊れたキースイッチを交換する

この記事は ErgoDox Advent Calendar 2016 の3日目です。今日は、皆さんのご家庭でもできる「簡単、Cherry スイッチの分解手順!」をご紹介したいと思います。 近況 突然の ErgoDox ブームから早9か月、皆さんのキーボードライフはいかがでしょうか? 僕も…

ErgoDox EZ カスタマイズ情報のまとめ

先日買った ErgoDox EZ が届いたのでカスタマイズ中。GW に発注して一週間くらいで届いたので、かなり流通体制が整ってきている様子。 ergodox-ez.com いぢりがいがあるのは良いのだけれど、正直なところ「素人お断り」感がすごいですね*1。というわけで、調…

ScalaMatsuri 2016 でスタッフ&発表やりました

だいぶ出遅れましたが、ScalaMatsuri 2016 の参加報告です。 scalamatsuri.org 発表者として 今回、CFP に応募して当選した「なぜリアクティブは重要か (Why Reactive Matters)」というタイトルで発表をさせていただきました。投票してくださった皆様、聞き…

ReactiveSocket について

この記事は、Java Advent Calendar 2015 の 22 日目です。前日は、n_slender さんの「PlayFramework 2.4 Java Ebeanでのアプリ開発」でした。 今日の記事では、この半年くらいで仕様と実装が出てきている ReactiveSocket というプロトコル仕様についてお話し…

「なぜ関数プログラミングは重要か」を要約してみた(その1)

関数型プログラミング (functional programming) の利点を説く際によく持ち出されるのが、QuickCheck の開発者の一人である John Hughes が 1984 年に著した論文 "Why Functional Programming Matters" だ。「なぜ関数プログラミングは重要か」という題名で…

JJUG ナイトセミナーで Reactive Streams について発表しました

6月24日の JJUG ナイトセミナーで「Reactive Streams 入門」のタイトルで発表させて頂きました。最近話題の Reactive Programming、気がついたら一万人以上が署名している Reactive Manifesto、そして Java 9 で標準化という話が進んでいる Reactive Streams…

Reactive Streams が 1.0.0 になった

以前に紹介した Reactive Streams 仕様が 1.0.0 になりました。リリース文はこのへん。 非同期ストリーム処理の標準化を目指す "Reactive Streams" とは - Okapies' Archiveokapies.hateblo.jp 以下、Twitter に書いた感想をぺたぺた。途中で言及してる「つ…

ReactiveX と「普通のやつらの上を行け」の意外な関係

これは「関数型プログラマのための Rx 入門」の補足記事です(タイトル変えた)。 前編、後編とお送りしてきたこの記事だが、特に後編について「何を言ってるのか分からん」というコメントを何人かの方から頂いた。…なんというか、ごめんなさい。 繰り返しに…

関数型プログラマのための Rx 入門(後編)

前編では、Reactive Extensions (Rx) の機能を関数型プログラミングの視点で読み解いた。続いて後編では、前編で紹介した Rx が関数型的な機能を提供している背景、つまり Observable と他の一般的なコンテナの関係に対してスポットライトを当ててみたい。 …

関数型プログラマのための Rx 入門(前編)

概要 『Observable は単なる非同期データストリームにおけるモナドのインスタンスだよ。何か問題でも?』 まともな概要 つまり、Reactive Extensions (Rx) って何だ? ということでウェブをガサゴソと漁っていたところ、オンライン講義サービス Coursera の …

マイクロサービスのための Tumblr 製フレームワーク "Colossus"

この記事は Scala Advent Calendar 2014 の 15 日目です。昨日は id:qtamaki さんの”「関数プログラミング 珠玉のアルゴリズムデザイン」をScalaで実装してみる”でした。 今日は、先日に Tumblr が OSS 化を発表した Scala 製のノンブロッキング I/O (NIO) …

"The Reactive Manifesto v2.0" 日本語訳

はじめに いつの間にか "The Reactive Manifesto" のバージョンが上がって v2.0 になっていたので、さっくりと翻訳。従前よりかなりコンパクトになっている。マニフェストに署名したい方は、公式サイトの一番下の "Sign the manifesto" をクリックしてくださ…

マイクロサービスが Scala を選ぶ3つの理由

今年も開催される Scala Advent Calendar 2014 の 15 日目にエントリーしていて、ネタとしては先日 Tumblr が発表した "I/O and Microservice library for Scala" を謳う Colossus をやる予定なんだけど、前振りとして「なぜマイクロサービス化を進めるサー…

Future/Promise はいつモナドになったのか

「非同期計算をモナドで合成し、依存関係に従ってパイプライン化する」というアイデアはいつ誰が提案したのか、というのを調べてみたけどよく分からなかった記録。網羅的な調べ方はしてないので、何か知ってる人がいたら教えてください。 明示的 vs. 暗黙的 …

Java/Scala で風景から歩行者を消してみる

一昨日くらいにホッテントリ入りしてた記事↓を見て、 風景から歩行者を消す手軽な方法(配電盤) Export["result.jpg", Image[Mean[Map[ImageData, Import["movie.mov", "ImageList"]]]]] このくらいのコードで済むなら Java/Scala でもすぐに書けるかも? …

非同期ストリーム処理の標準化を目指す "Reactive Streams" とは

TL でこんなのが流れてたので少し調べてみた。 Learn about the Reactive Streams initiative & how we're supporting a standard for asynch stream processing on the JVM http://t.co/5wUF0PjTBe— Twitter Engineering (@TwitterEng) 2014, 4月 17 Reacti…

Hadoop/Storm の統合を実現する Twitter の SummingBird

Twitter が SummingBird を正式リリースして早二ヶ月。「日本語の紹介記事がほとんど出てないな」と気付いたので、調査がてらまとめてみました。 SummingBird とは? MapReduce なプログラムを書くための Scala/Java ライブラリ。最大の特徴は、ひとたび Sum…

翻訳: "Cake Pattern: The Bakery from the Black Lagoon"

はじめに NEScala 2013 での Daniel Spiewak (@djspiewak) さんの基調講演 "Cake Pattern: The Bakery from the Black Lagoon"(スライド、動画)*1の抄訳です。本記事の公開については、講演者の Spiewak さん、および配信元である Marakana Inc. さんに許…

Java 8を関数型っぽく使うためのおまじないをScalaで(ry

はじめに 言うまでもなく下記の記事のパクリです。Java と C# と F# があるのに Scala が無いなんて、と謎の使命感に駆られた結果がこれだよ! Java 8を関数型っぽく使うためのおまじない(きしだのはてな) Java 8を関数型っぽく使うためのおまじないをC#で…