NixOSを最新にして、日本語入力にfcitx5を使うようにした

手順 今回はNixOS 22.11から23.05を飛ばして23.11にアップグレードする。 基本的に毎回そうだがリリースノートを読んで、/etc/nixos/configuration.nixを変更する。 通常の場合、NixOSのマニュアルに書いてあるとおり、チャンネルを新バージョンに切り替えて…

PureScript packageのアップデートが自動でpackage-setsに反映されるようになってた

プロローグ 2年弱ほど前にv0.14.x対応をしてからしばらくPureScriptから離れていたが、急にやる気が出てv0.15.xを対応していた。 しばらく離れていたのでおそらくv0.15.xで動かなくなったのであろうライブラリが全てpackage-setsからいなくなっていて、 あ〜…

近況

2021/5から会社員に戻りました。 仕事のオファーはなんだかんだ尽きないし、フリーランスは続けられそうでは有りまして、 しばらく会社員に戻るつもりはなかったものの、かくかくしかじかで会社員に戻りました。 どんな会社かと言うと、SOELUという会社で、…

NixOSで各言語のパッケージをNix経由での管理にせずに開発環境を作る

NixOSでは共有ライブラリの管理方法が他のlinuxディストリビューションと違い、/nix/storeに置いてある。 よって、例えば無邪気にnpm installでいれたcliがnot found扱いとなる。 なのでベーシックなやりかたとしては、Nixを使って各言語のパッケージも管理…

ULIDのPureScript実装作りました

背景 ULIDのPureScript実装がないのでそのうちつくろうという意思だけ持っていたものの、その後半年以上経過し、気づいたら他の人に先に作られてた。 しかし、それはnpm packageのulidに依存しており、こんなのまでnpm packageに依存するのは嫌なので、やっ…

名指しでやれ

自分のアウトプットを人にチェックしてほしいとき、というのは誰にでもあるし、仕事をしていれば日常的に観測できる事象である。 私はプログラマをしているが、プログラマの場合であれば、例えば、本番のデータを修正するスクリプトを他人にチェックしてもら…

RecoilにインスパイアされてPureScript用仮想DOMつくった

追記 ここに記述した内容は既に古くなっています。 内部実装は既に書き直されていますし、Hooks likeなAPIも少しだけインターフェースが変更されています。 興味のある方は直接purescript-grainへ見に行ってください。 動機 Recoilが思ったより話題になって…

新年が始まったわけだが

2019年 まぁホントに色々やったんだけど、ギョームとしては、WebRTC沼に参戦したこととPureScript及び俺製VirtualDOMのpurescript-freedomをぶちこんだこととか 、AWSからGCPのインフラ移行やったのとかログ基盤作ったりあたりがトピックかな。 今年はわりと…

PureScriptのJWT用のライブラリを作りました

PureScriptのJWT用ライブラリ、purescript-simple-jwtを作りました。 一応既存のものでpurescript-jwtというライブラリがありましたが、デコード専用、且つ、署名の検証もしないものだったので、自分で作ることにしました。 使い方 エンコード encode :: for…

purescript/package-setsにコントリビュートしてみた(とUIライブラリの宣伝)

package-setsとは package-setsとは、公式が管理している、各パッケージのリポジトリやバージョンが記載されたセットです。 このpackage-setsにおいて各パッケージのバージョンはただひとつだけ含まれており、package-setsに含まれたものはコンパイルが保証…

purescript-bucketchainの紹介

はじめに rackやexpress, koaのようなウェブサーバーのための共通のインターフェースを提供するライブラリをつくりました。 それがpurescript-bucketchainです。 背景 外部のnpm packageに頼らず、ランタイムがnodejsなのでパイプで上手くやってくれるように…

久しぶりにPureScriptのパッケージを書いたりしてた

追記 本記事のconveyor向けパッケージはメンテされていません。ご注意ください。 しばらくPureScriptから離れていたが、 サーバー用にいくつかほしくなった仕組みがあったため、久しぶりにPureScript書いた。 Update purescript-crypto basic認証用にタイミ…

parcel-plugin-build-hooksつくった

parcelで任意のビルドイベント(例えば、ビルド完了時、ビルド開始時など)でcliを叩く、などをやりたい。 この場合、parcelの生APIを用いれば上記の目的は達成できるが、これはparcelの生APIを使ってビルドスクリプトを書くことを意味する。 なるべくビルド…

フリーランスになって1年経った

気づいたら、フリーランスになってから1年経っていました。 社会に出る前からフリーランスになる可能性は高そうだなと思っていたものの、踏ん切りがつかなかった自分が1年フリーランスできたことに対して、昔の自分は驚く気がします。 フリーランスになって …

Incremental lambda calculusとUIへの応用

はじめに 1ヶ月くらい前にpurescript-purviewというUIライブラリがリリースされました。 このライブラリは既存の仮想DOMに代わるような位置づけのライブラリとして実験的にリリースされたUIライブラリとされています。 何が実験的なのかというと、Incrementa…

日記

振込用紙 私はフリーランスでプログラマをやっていて、定期的に国民年金保険料の振込用紙が送られてきます。 封を開けるたびに「いつまで俺はフリーランスやってるだろう?」と無駄に考えます。 このように考える要因はもしかしたらどこかでフリーランスをや…

おっさんくさいこと言ってたのかもしれないと思って勝手に反省していた

はじめに 特にきっかけがあるわけでもないが、自分が技術的選択においておじさんくさいことを言っていたのではないか? ということをつらつらと書くという内容です。 具体的には、「実質的にリターンがあることに対してコストがある事柄について、これは多く…

purescript-conveyorにLogger実装足しといた

追記 本記事のパッケージは現在メンテされておりません。 サーバー向けパッケージは再実装されたものがこちらにあります。 Bucketchain 足した あくまでデフォルト実装としての簡易的なLoggerです。 基本的にはこの実装を参考にして、みなさんのお好きなLogg…

椅子を高級品にした

いきさつ ある日、自宅作業中に背もたれによっかかったら、小さく「ミシッミシミシミシ」と音を立てていたのだが、その瞬間はあまり気にしていなかった。 そのまましばらくよっかかっていると、どうも少しずつ背もたれが倒れていっているようなので、これはおかしいと…

PureScriptで静的ファイル配信できるパッケージ書いた

追記 本記事のパッケージは現在メンテされておりません。 サーバー向けパッケージは再実装されたものがこちらにあります。 Bucketchain はじめに 静的ファイルを配信するときはとりあえずnginxなどにお任せすればいいかと思いつつも、 昨今ではTwelve-Factor…

最近仮想通貨買いはじめた

年末に初めて仮想通貨を購入した。 アーリーアダプターではないが、夢のある感じで楽しい。 チャート漁り、情報漁り、草コイン漁りがめっちゃ楽しい。 明らかにバブルという感じで、我々の上の世代はこんな楽しいことを経験していたのかという感覚がある。 …

PureScriptの末尾再帰最適化

はじめに 年が明けてますが、PureScript Advent Calendar 2017 - Qiitaの19日目の記事にしてしまいます。 PureScriptは末尾再帰最適化ありますが、モナディックな再帰は最適化されません。 よって、何も考えないと稀に、コールスタックに積み上がりすぎてエ…

purescript-conveyorにBatch operationの機能を足した

追記 本記事のパッケージは現在メンテされておりません。 サーバー向けパッケージは再実装されたものがこちらにあります。 Bucketchain はじめに 年が明けてますが、PureScript Advent Calendar 2017 - Qiitaの21日目の記事にしてしまいます。 前回、PureScr…

単純パーセプトロンを実装してみた

年が明けていますが、PureScript Advent Calendar 2017 - Qiitaの20日目の記事にしてしまいます。 Python機械学習プログラミングを2章まで読んだ。 読んだ内容を体にいれるために、適当にPureScriptで単純パーセプトロンを実装してみる。 module Main where …

Elm Architectureのポエム

はじめに Elm2 Advent Calendarの11日目の記事です。 1文字もコードが出てこない上、主観的なことを書いたポエムです。 Elmを一時期触ってた者として感じていたことを思いつきで書きたくなったので書きます。 Elmの売りポイントと解釈しうるもの (Elm好きな…

PureScriptでAPIサーバー用のパッケージつくってみた

追記 本記事のパッケージは現在メンテされておりません。 サーバー向けパッケージは再実装されたものがこちらにあります。 Bucketchain はじめに https://github.com/Bucketchain PureScript Advent Calendar 2017 - Qiitaの10日目の記事です。 今年、APIサ…

PureScriptの得新型実態

はじめに PureScript Advent Calendar 2017 - Qiitaの8日目の記事です。 今日は「得新型実態」について書きます。 「得新型実態」ってなによ derive newtype instanceのことを指しています。面白いと思って全部漢字にしてみたんですけど、次の日に見たら恥ず…

PureScriptの孤児

はじめに PureScript Advent Calendar 2017 - Qiitaの6日目の記事です。 小ネタです。 Orphan instanceって何よ 以下のコードをみてください。 instance showUnit :: Show Unit where show _ = "" ビルドしてみます。 Type class instance showUnit for Data…

PureScriptで意識の低いSPA用パッケージをつくりました

追記 本記事のパッケージは現在メンテされておりません。 代わりのUIパッケージとして書き直したこちらを是非チェックしてみてください。 purescript-freedom はじめに PureScript Advent Calendar 2017 - Qiitaの3日目の記事です。 今年につくった、意識の…

どうやってPureScriptに慣れたのか

はじめに PureScript Advent Calendar 2017 - Qiitaの1日目の記事が埋まっていなかったので大急ぎで書くことにしました。 元々はRubyやJavaScriptなどの動的言語をメインでメシを食べているプログラミング的ゆとり世代であった私が、 少なくとも一般論として…