kmizuの日記

プログラミングや形式言語に関係のあることを書いたり書かなかったり。

「プログラミング言語開発」教育用言語MinisにJSONベースの具象構文を付け足してみた

皆様、お久しぶりです。去る2月10日(土)、2月11日(日)に筑波大学情報科学類にて特別講義の講師をやってきました。といっても、私が全日担当したわけではなくOB一人が一コマを自分の得意分野について講義をするオムニバス形式のものです。 私はといえば去…

ネット小説を書き始めて三年以上経って気づいたこと:鯛粗は重要

元々、幼少期から私は全くもって特に小説家あるいはクリエイター志望ではありませんでした(一貫してたのは学究路線の方)。その一方で、年齢を重ねるに連れて、色々な娯楽を読み耽るほどに「なんでこの終わり方なんだよ!」とか「ここでこのキャラを退場さ…

結論は同意できても途中の論理展開がおかしい記事の話

おはようございます。朝から非常に微妙な気持ちになる記事を見てしまったので、ちょっとそれについて書いてみたいと思います。対象は、 toyokeizai.net というとても残念な記事です。本題に入る前に常日頃から思うのですが、結論自体は著者と別の理路から同…

Scala 3で型レベル自然数をやってみたらすごく簡単になってた

Scala 3、正式リリースされてからそこそこ経ってますが皆さん使ってますか?実は自分は、主にIntellij IDEAのScala 3対応に不安もあってScala 2.13系列をずっと使い続けて来たのですが、最近はScala 3対応も進んできたようなので乗り換えを始めることにしま…

嫉妬心がほとんどないという話

すっごく個人的な話なんですが、生まれてからもうすぐで40年になろうという歳になって思うわけです。 「自分は嫉妬心ないなあ」と。 妬み嫉みは自分より遥か高みにいる人に対しては起きなくて、自分と拮抗する実力の持ち主との間で起こるともよく聞きますが…

ChatGPTを使うようになって変わったこと

OpenAIのChatGPT (GPT-3.5)がリリースされてから約半年、GPT-4やChatGPT APIがリリースされてから約2ヶ月。書いてみると非常に新しいテクノロジーなわけですが、既にかなりどっぷり依存しています。ChatGPT Plusには月額$20を課金しているし、gpt-4 APIのwai…

環境変数CUDA_VISIBLE_DEVICESでハマったのでメモ

最近はすっかりLLMにハマってるわけですが、ハマり過ぎたあまり一台のPCに複数のGPUを搭載(といっても、RTX A4000(VRAM 16GB)とQuadro M6000(VRAM 24GB)という妙な組み合わせですが)してたりするのですが、どうにもLLMの出力速度が遅いなーなどと思ってい…

ChatGPT に「形式が整った俳句」を作ってもらう(あるいは「文字数指定」をする)

おはようございます。今日も元気にChatGPTをしています。さてさて、ChatGPTに俳句を作らせようとしても失敗するという話は一部界隈では有名です。たとえば、次のように「俳句を作ってください」とだけ指定しても五・七・五を平然と無視してくれやがります。 …

ChatGPT APIで仮想人格を作り込む

おはようございます。さて、皆さん。ChatGPT、使いこなしてますか?私は……使いこなしてるかはわかりませんが、ドはまりしてることだけは確かです。プログラミング言語間のトランスパイルをできるツール github.com を作ったり、仮想人格を作ってそのキャラと…

ChatGPT APIベースの多言語トランスパイラGPTranslatorを公開しました!

この日記やTwitterなどで、ChatGPT (GPT-3.5, GPT-4)はプログラミング言語間の変換(に限らないですが)が得意ということを書きましたが、試している内に「毎回似たような指示するのだるいな」と思うようになりました。というわけで、Reactベースで動くChat…

ChatGPT API (gpt-3.5-turbo) をお試しできる簡易アプリを作ってみました

今朝未明、ChatGPT APIのリリースが告知されたわけですが、 openai.com 色々あって手早くとりあえず動くBOTを作ってみました(元々、GPT-3 BOTを作ってあったのでそれの微修正ですが)。ドキュメントは最低限ですが、 コマンドラインで動く簡易BOT (chat.sh…

「謝ったら死ぬ病」と人は言うけれど

ずっと前から、特にネットの世界で炎上事件が起こるたびに言われる言葉に「謝ったら死ぬ病」というものがあります。この言葉が趣味悪すぎるなら、「早く誤りを認めて謝罪した方が傷が浅いのに」とか「なんでこの人は謝れないんだろう」とか色々バリエーショ…

ChatGPTで日本語プログラミング(本当)をやってみた

さて、相変わらずChatGPTにハマっておりますが、ふと思いついたアイデアがあります。どうも、ChatGPT君はプログラミング言語「そのもの」の普遍的な理解があるのではと思えてきたので、それを考えると自然言語をプログラムとして解釈させることも可能な気が…

ChatGPTはプログラミング言語マスター(語弊ありまくり)

皆さんおはようございます。見ている人は見ていたかもしれませんが、昨夜はかなり遅くまで巷で話題沸騰のChatGPTによくわからんクエリを投げて、その結果をみてげらげら笑っていました。特に存在しないプログラミング言語であり「ScalaにHaskellと同じ型推論…

Kyoto.Mokumoku Vol.3開催しました

開催したのが9月14日(水)なので、半月以上経ってから書くのもどうかと思うのですが、こういうのはやっぱり書き留めておくのが重要ですよね、ということで。 BonBon株式会社様のオフィスをお借りして開催している、京都でのもくもく会イベント「Kyoto.Mokum…

Kyoto.Mokumoku Vol.1開催しました

新型コロナ禍による自粛もだいぶ緩和されてきた昨今、リモートワーク続きで人と会えてないなあ……などと思いながらいつものように三条通りを散歩していた時でした。 副業のプログラミング教育でTypeScriptを教えている 荘子万能さんにばったりローソンに遭遇…

Play Frameworkに寄付始めました

こういうのは個人でやるなら黙ってやる方がカッケーみたいな美学がないこともないですが、私のブログでも多少なりとも見てくれている人がいて、それをきっかけに支援したいプロジェクトに寄付をするきっかけにもなるかなと思い、あえて書いてみることにしま…

「第一回プログラミング教育について話し合う会」を3/25(金)に開催します

Twitterの@kmizuアカウントでも多少宣伝しましたが、こちらの方でも改めて。趣旨は opt.connpass.com に書いてある通りですが、お堅いことを言わずにプログラミングを教える、教えられる側の知見を持ち寄ることで楽しい集まりに出来ればと思っています。参加…

書籍のサンプルコードと違う言語で写経することの意義

こんばんは、みずしまです。最近は主に強化学習の勉強をしているのですが、読み進めていく過程で少し悩みの種がありました。それは、サンプルコードの扱いです。サンプルコードはPythonで書かれていて、実際に書き写すことが私にとって理解の助けになるのは…

動的型付き言語は素早くプロジェクトを立ち上げるのに向いており、静的型付き言語は長期間の保守にむいているという仮説

注:誤解されないように最初にこの記事の意図を書いておくと、古典的な静的型付き言語VS.動的型付き言語の論争をするつもりはありません。これまで色々なプロジェクトを観察(風聞も含む)して来たところ、そういう傾向があるのではないかという仮説です。そ…

人前である行動習慣を宣言することの効果

さて、先日、Twitterの使い方のマイルールを定めたわけですが、あれは別に凄い苦悩してたわけでもなくて、そもそも兼ねてから日常で「つい」Twitterに手が伸びてしまいがちな自分の習慣を是正しようと思っての荒療治という側面がありました。健康に悪いとわ…

私は(もはや)国内Scalaコミュニティの偉い人ではありません

このことはいい加減はっきり書いておかないとなあということで、ちょっと記事にしてみることにしました。 もちろん、英語圏のScalaコミュニティで私が強い影響力を持ったことはそもそもありません(日本でそれに一番ふさわしいのは@xuwei_kさんだと思います…

Scratchで再帰関数の実装とメモ化をやってみた

最近、初学者へのプログラミング教育というテーマについて取り組むことが増えて来たこともあって、ちょくちょくScratchを触ってます。Scratch、教育用途のプログラミング言語としてとってもよく出来ていますし、全世界のScratcher(?)と作品を共有できるよ…

Scalaの学習コストについての私見

※2022/01/25 17:10追記 以下のツイートが別に「Scalaが主眼でない」こと自体は承知しています。一般論として、Scalaに限らず言える技術選定の話ですよね。ただ、妙な方向への読解をちょくちょく見かけたので、それに乗っかる形で現状のScalaについて率直な感…

Qiita記事「エンジニアの"有害な振る舞い"への対処法」への強烈な違和感

最近、Qiitaで話題になってそこそこバズった(?)記事に、 qiita.com がありました。これ、最初は一読して凄いまともなことばかり書いているように見えましたが、一方で何か妙な違和感がありました。それは、私がいくつかの振る舞いについて思い当たりがあ…

「マウンティング」という言葉って使わない方がいい気がする

ブログやSNSなどの媒体で「マウンティング」という言葉がカジュアルに使われるようになって、何年くらい経ったでしょうか。皆さんご存じのように(?)霊長類が行う行動としての「マウンティング」という用語はそれ以前からずっとあったわけですが、インター…

長時間ウォーキングのススメ(あるいは娯楽としてのウォーキング)

今日は大晦日です。2021年ももうすぐ終わりかと思うと早いものです。大晦日という日は不思議と心が澄み渡るような気がしてとても好きな日であります。なんていう感傷めいた言葉はおいといて、特に私のブログを読んでくださっている方はエンジニアの方が多く…

プログラミング言語Pascarを作りました

以前、文法がVBぽいだけの言語VBLを作ったわけですが、 kmizu.hatenablog.com 思いつきで昨夜からPascalぽい文法の言語Pascarを作っていました。一通りPascal「ぽい」文法にしたので、sbtがあればビルドして試すことができます: github.com Pascalぽいと言…

WEB+DB Press Vol.125の特集記事「作って学ぶプログラミング言語のしくみ」を執筆しました

色々苦労も多かったですが、無事、全工程を終え、後は発売日の10月23日(土)を待つのみで、感慨もひとしおです。 WEB+DB Press Vol.125 「プログラミング言語を作る」系の書籍や雑誌記事は時々見かけるくらいには珍しくなくなっていますが、構文解析器を記…

大学の時に苦手/得意だった講義

そろそろいい歳したおっさんになった私としては、たまにはこういう思い出話を書くのもいいかなと。あと、なんか私がCSわかってる人みたいに思ってる人Twitterのフォロワーさんに意外と多そうな気がしますが、そうでもないですよ、みたいな話としても、 苦手…