言語実装tips:複数の式をまとめる
このエントリは言語実装 - Qiita Advent Calendar 2024 - Qiitaの17日目の記事です。
今日は処理系実装上のTipsを一つ紹介します。
例:if式
たとえばC言語みたいに、
if (a) {
このエントリは言語実装 - Qiita Advent Calendar 2024 - Qiitaの17日目の記事です。
今日は処理系実装上のTipsを一つ紹介します。
たとえばC言語みたいに、
if (a) {
こんにちは。yharaです。このエントリはキーボード #2 Advent Calendarの16日目の記事です。前回はeswaiさんの3次元配列のキーボードをSolidPythonで設計してみる - weblog.syでした。3次元配列はロマンですよね。
今日の話は人体の非対称性についてです。分割キーボードやエルゴノミックキーボードは左右対称のデザインになっていることが多く、それはつまり人体が左右対称であることが暗黙の前提になっているわけですが、もしも左右非対称な打鍵フォームこそが最も疲れにくいのだとしたら?
このことについて考えだしたのはコロナ期に台車先生のリモート整体を受診したときからです。台車先生というのは捨てアカさんの知人で、捨てアカさんというのは出雲の……この話はいいか。ともかくビデオ会議経由で整体をやりますという謎の告知がTwitterに流れてきて、意味わからんけど面白そうなので受けてみることにしたのでした。
で、その説明ページに載っていたのがこれです。
これはKEEB_PD 2024 Advent Calendar 2024 - Adventarの11日目の記事だ。
KEEB_PDに参加してみたいけど、素敵な写真ばかりで尻込みしちゃう…、そんな初心者のあなたに贈るテクニックだ。
よい写真を撮るために必要なもの、それは採光。とはいえ室内でいい感じの光を用意するのは簡単ではない。手の影が入ったり、光源の反対側が暗くなってしまったり、それを解決しようとするとレフ板がどうこうという話になったり…。
ということでお外だ。太陽光を利用するだけで細かいことを考えなくてよくなる、日光最高~!!
このエントリはmrubyファミリ (組み込み向け軽量Ruby) Advent Calendar 2024の1日目の記事です。
近年、mruby bytecodeを利用していろんな環境でRubyを動かす試みがみられます。ふつうRuby処理系を自分で実装するとすれば
ソースコードのパース→命令列への変換→VMでの実行
という3段階になるわけですが、mruby bytecodeを使えば前段はmrbcコマンドがやってくれるので、後段であるVM+ランタイムの実装だけでRubyプログラムを動かすことができ、だいぶ楽になります。
知っているか、と言っても知らない人がほとんどだと思う。だって「夢で女の子がそういうジャンルがあるって言ってた」っていう架空の産物なんだから。
…がしかし、出どころが夢であっても、それに沿った音楽が作られたならばジャンルはもやは架空ではなくなる。
thank you dream girl https://t.co/yIPeQJnJx0 pic.twitter.com/Ht0GI6dWbK
— EPROM (@eprombeats) August 14, 2024
近年はZincを職場のメインキーボードとして使っていたのですが、メンテついでにキャンディプレートを注文することにしました。
3Dプリンタをお持ちの場合は以下にデータがあります。
https://www.sho-k.co.uk/tech/1102.html
ない場合は https://booth.pm/ja/items/1440012 から3色を選んで、monksoffunkさんに連絡します。納期はmonksoffunkさんのお忙しさ次第です。
ポーカーとローグライクを足したやつ。デッキ(トランプ)やルールを改変してゲームを破壊していく。例えば「あるカードを別のカードに変身させる」という技を使うとクラブの2をダイヤのエースに変えたりできるので、元からある4枚のエースと合わせてフォーカードならぬ「ファイブカード」という役ができたりする。
春ごろにかなりプレイしてて、未達成といえばチャレンジが2個残ってるのと、Gold Stakeのクリアあたりか。Goldはレンタルジョーカーが登場するやつだけど、全然条件が揃わなくて根負けしてしまった。
Clash of clansやClash Royaleを作ったSupercell社の新作。さすがによくできてる。
これ。
https://github.com/BurntSushi/jiff
Rustの日時ライブラリはchrono(とchrono-tz)が有名だが、新しく日時ライブラリを作った理由が
https://github.com/BurntSushi/jiff/blob/master/DESIGN.md
に詳しく書かれていて面白かった。
一番違うのはタイムゾーンデータの扱いで、jiffはOSがデータベースを持っていれば自動でそれを見て、なければバイナリに同梱したものを参照する。IANAのタイムゾーン情報は年に数回くらい更新されるそうなので、そのたびにバイナリを再コンパイルしてリリースし直すのは確かに筋が悪いかも。
当たり前すぎるタイトルですが…、Dropで買い物したら住所表記のせいでなかなか届かなかった事例を紹介します。
Drop.comでXDA Versaのグループバイに参加。納期は2024年4月予定。
このとき、いつもは英語で住所を書くんだけど、支払い方法の都合か何かで日本語の住所が送られてしまったっぽい。PayPalか、ShopPayあたりが原因かなぁ(国内通販にも使うことがあるので日本語の住所も登録してある)