できる気がしてきた。

僕の興味のあることを共有します。

JavaScriptのAwaitはcall/ccだということ。

Schemeの継続について調べると、なんだか「簡単」って言いつつ難しい説明をしてる記事が多いですが、実は普段から僕達は継続を使っています。 たとえば次のコードはES7とSchemeで書かれた”Hello"と表示するプログラムです。 (define (say) (display (call/cc…

なぜ文芸的プログラミングなのか

OSSソフトウェアとしてソフトウェアを公開するとき、僕が一番気にするのはソースコードの読みやすさです。 どんなに優れたソフトウェアでも、開発を継続するにはソースコードが読みやすくないとモチベーションが維持できません。 読みやすさには、いろいろな…

そろそろNeoVimに移行してよいのではないだろうか?

NeoVimはVimをリファクタリングし、モダンな設計に書きなおしたバージョンだ。 Github上で開発されておりコミュニティベースで開発が進められている。 Githubのグラフを見るに2014年に始まったプロジェクらしい。 僕が見つけたときには、すでにクラウドファ…

Linuxbrew が新しくなってる

久しぶりにLinuxbrewのGithubを見てみたら、 今まで使っていた linuxbrewはlinuxbrew-legacyにとなり、 新しくFormulaを管理するリポジトリとbrew本体のコードを管理するリポジトリに 分割されていた。 それに加え依存するソフトウェアも随分削られて sudo a…

linuxbrewでempty archiveなんていうエラーが出てきたら

linuxbrewを使って、早速emacsをインストールしようとウキウキしていたら、 ==> Installing emacs ==> Downloading http://ftpmirror.gnu.org/emacs/emacs-24.5.tar.xz ==> Downloading from http://mirror.tochlab.net/pub/gnu/emacs/emacs-24.5.tar.xz ###…

Ciderモードが新しくなってる。

普段何気なく、leiningenにnREPLの設定を書き加えていたけれど、 Githubを見たらnREPLの設定を書く必要がなくなっていた。 これからは、 (package-install 'cider) だけで良いみたいだ。あとはcider-jack-inをするだけ。 簡単にclojureで開発できるようにな…

Dropboxに音楽をバックアップしたいんだけど違法なの?

Dropboxで音楽をアップロードするのは、適法なのか違法なのか これについて、MYUTA事件を参考に違法とする判断を書いているブログがある。 しかし、調べてみるとDropboxで音楽をバックアップ目的で利用することについて Dropboxを運営する会社もユーザも適法…

Vagrantのprovisionでrbenvを使う

最近お仕事でrubyを使うことがあったのですが、 rubyはバージョンについてセンシティブであるので、 rbenvのようなバージョン管理ツールが必須です。 そこで、メンバー間で開発環境を共通化するためにVagrantfileを用いようと思い、 Vagrantfileを作っていた…

emacs xwidget-webkit-browse-urlをつかってみた。

皆さんこんばんは。 2日前にAtomへの愚痴を書いたわけですが、そこでウェブ開発のプレビューについてemacsでなんか良い方法を載せると宣言してしまったので、早速ネタを準備してまいりました。 開発版Emacsをインストール git clone --depth 1 git://github…

Atomエディタはあくまでプログラミンエディタだった話

みなさん、こんばんは。ライトノベル「俺の妹がこんなに可愛いわけがない」のキャラクター高坂桐乃ちゃんが総務省の選挙のキャンペーンキャラクターに選ばれたと聞いて、「マジかよ。絶対、採用した人最終巻読んでないでしょ。*1」と思っちゃったta2gchです…

DebianでWifiのドライバをインストールする。

みなさん、こんにちは。ta2gchです。 Linuxをつかっていらっしゃる皆さんなら当然のことかと思いますが、 Linuxをどれだけ使い込んでいるかは、使用中に起こる様々な様々なトラブルを対処する能力を見ればすぐにわかることだと思います。 例えば、 rm -rf $H…

pkgbrewを公開しました

こんにちは、ta2gchです。 前々から非権限ユーザのまま使えるパッケージマネージャーが欲しくて、いろいろ試していました。 しかしどれも、自分にしっくりとくるものがなかったので、自作することにしました。 とはいえ、パッケージ数が少なければ意味がない…

剰余とじゃんけん

こんにちは、ta2gchです。 プログラミングを始めるとき、必ずといって良いほど出される課題にジャンケンゲームがあります。 問題(ジャンケンゲーム) 次のような動作をするプログラムを書け。 標準入力から一文字(g,c,p)読み込んで、その一文字をユーザーの…

環境の引っ越しをした時にMELPAから自動でパッケージをインストールをする。

新年なので、OSをUbuntuからManjaroに移行してみて遊んでいるta2gchです。 Emacsを使っていると、随分前にインストールしたパッケージを標準パッケージと勘違いしてしまうことがあります。 当たり前のように設定ファイルでrequireされていて、いざOSの引っ越…

slimeのインストール

パソコンの移行が終了し、emacsの設定の手直しをしていたところ どうにもCommonLispの開発環境Slimeの調子良くない。 どうしたものかと思いgoogle先生にお尋ねしたところ、 随分前にもお世話になった「モダンCommonLisp」シリーズの記事が。 早速記事を参考…

Markdown をHTMLに埋める方法

みなさん、HTML書いていますか? ぼくは恥かしながら、HTMLを書くのが苦手です。 どうにかして、HTML書かずにWebページを書くことができないか探していました。 jekyllなどを使う方法などがメジャーなようですが、正直そのためにHTMLを書き直すのは気が引け…

eshell便利機能

eshellで便利機能があったのでメモ cat file.txt > /dev/clip これでクリップボードにファイルをコピーできます。 これを使ってGistやこのブログの記事の下書きをコピペするのに使ってます。便利です。みなさんぜひeshellで良い一週間を。

Base64 デコーダも書いた

先日「Base64のエンコーダを書いた」という記事を書きましたが、さすがにエンコードしっぱなしって言うのも気持ち悪いのでBase64のデコーダも書きました。 難しいかなぁとおもいましたが、ぶっちゃけパディングのところはNULL文字に変わってしまうので、そん…

Base64 エンコーダを書いた

CodeIQさんでBase64に関する話題があったのですが、 「Base64エンコーダ、デコーダを書いたことないのが許されるのは小学生までだよねー。」という天の声が聞こえたので書くことにしました。 Base64とは 1バイト文字を扱いたけど、もろもろの規格上の制限で…

Eshell

こんにちは。 皆さんは端末ソフトに何をお使いでしょうか? わたしは、eshellというものを使っています。 今回にそのeshellについての話題です。 eshellとは、Emacs で動くshell環境です。同じ機能(ここではEmacs上で動く機能)をもつものに、term,multi-term…

バニラな.emacs.dでも便利なrequireのラッパーマクロ

新しく環境を引っ越しとき、emacsを最初に開く際にelispがインストールされていないがために大量のエラーに出ることに悩まされていたのですが、 (when (require 'foo nil t) ...) と大量に書くのもなんだかイマイチだったのでマクロを書きました! ほぼ八発白…

ファイル名をローマ字にする。

オーディオコンポでファイル名を表示させるために必要だったので作りました。 世の中には便利なものがあるようでkakashiというものを使いました。 Debian や Ubuntu ではapt-get install kakasiでインストールできます。 いろいろと試行錯誤した結果bashで書…

Vimmerが闇堕ちした話。

べつに暗黒美無王に洗脳されたわけではありません。(笑) もともとVimmerだった私ですが、あるときLispにハマりいろいろなものがLispに見えてくる病気になりました。そして、ついにエディタの設定ファイルすらもLispにしたいという禁断症状に侵されましてつ…