運営者について
管理人のtachibanaです。情報系の修士課程を卒業後、新卒でIT企業にネットワークエンジニアとして入社、この間、基本情報技術者試験やCCNAなどの資格をとりました。しかし、体調不良により退社し、金魚の形をした周防大島の実家で静養しておりました。病気でも自宅でできることとして、2011年頃から個人開発者としてAndroidアプリなどを製作していました。その間の活動がこちら(橘ソフト)。ちなみに橘は、今はなき合併前の周防大島の町の名前からきています。一応楽譜マスターliteは30万ダウンロード以上、USBデバッグは80万ダウンロード以上されましたが、開発環境が古くなって開発できなくなったのと並行して、Google/Admobの度重なる色々なアップデートやポリシー改訂の対応についていけず、開発はやめてしまいました。(楽譜マスターliteは最新版のandroidではうまく動作しないバグがあり、デバッグが難航していました)。開発を再開するかは未定です。
技術者としては関数型言語が好きで好きな言語はschemeとHaskellです。perlも好きですが、面接でperlって何?って言われてちょっと悲しかったです。学生時代は主にソフトウェアを作る技術を学んできたので、web界隈の知識はそこそこですが、web系の最新技術を今一度学んでみようと思っています。
本サイトはAstroで作っていますが、別のサイトはTemplate Haskellを用いて、簡単な静的サイトジェネレータを作って製作していたりします。Haskellはスペースリークの恐れがあるので、Haskell製のWeb FrameworkのYesodがありますがサーバーサイドで使うのは、フレームワークは完璧でも筆者のコードがスペースリークする可能性を考えるとちょっと怖いです。静的に生成してしまえばスペースリークやメモリリークなどは関係ないので気楽です。
管理人は普段linuxを使っています。androidアプリもlinuxで開発していました。最後に、自己紹介がわりに管理人が昔作ったHaskellの難読化したクイックソートを載せます。
import Control.Monad
import Control.Arrow
import Data.List
q[]=[]
q(x:xs) = arr (partition(<x)) >>> first q >>> second q >>>
(((((join.).).).) ((flip.).) ((.).((.).)) (++) fst ((x:) . snd) ) $ xs
main = mapM_ print (q [3,2,6,1,5,3,4])