タグ

2023年12月24日のブックマーク (13件)

  • Ruby構文解析器 開発日録#1

    こんにちはydahです。最近はPure Ruby LALR parser generatorであるLramaにパッチを送っています。 気がつけば12月もあとわずかとなり、Ruby3.3.0のリリース日も近づいてきましたね。5月半ばに開催されたRubyKaigi 2023で金子さん(@spikeolaf)の「The future vision of Ruby Parser」を聞いてから、約半年が経ちました。あの時の自分はまさか半年後には自分がパーサージェネレーターの開発に関わっている人生を送っているとは思いもしなかったと思います。 今回のRuby3.3.0のリリースノートには、私が実装した機能が載っていてとても感慨深いです。 https://www.ruby-lang.org/en/news/2023/12/11/ruby-3-3-0-rc1-released/ Use Lrama inst

    Ruby構文解析器 開発日録#1
    Wacky
    Wacky 2023/12/24
  • 人類の抱える2大課題、、実魂電才(物魂電才2) - ニューロサイエンスとマーケティングの間 - Between Neuroscience and Marketing

    出雲・稲佐の浜(令和5年 神在月) Inasa-no Hama (Inasa Beach) in Izumo, Japan during Kami Ari Zuki (The Month of the Gods' Presence) in 2023. 1.4/50 Summilux ASPH, LEICA M (Typ 240) もうかれこれ4~5か月前、旧知である新メディア"Pivot"の佐々木紀彦さんと竹下隆一郎さんから熱烈なご相談があり、9 quesitonsという番組に出たことがあった。70分1勝負で一気に収録したが、そこで僕が言ったことの一つは「みんなAIの話ばかりをしすぎている。人類にとって大きな2つの課題があり、それをこそ解決すべきであり、AIだとかデータはそのためのツールとして使うべきだ」という話だった*1。 - その二つの課題とは「人類と地球との共存」と「人口調整局面の

    人類の抱える2大課題、、実魂電才(物魂電才2) - ニューロサイエンスとマーケティングの間 - Between Neuroscience and Marketing
    Wacky
    Wacky 2023/12/24
  • Ruby Parser開発日誌 (15) - Ruby の NODE を Union から卒業させた - かねこにっき

    まもなくRuby 3.3.0がリリースされますね。 LramaによるBisonの置き換え、named referencesによるparse.yのリファクタリングなど、parser体の大きな改善が入ったバージョンになります。 今回はRuby 3.3向けに行った改善のうち「Rubyの抽象構文木のデータ構造の改善」という内部的な改善を紹介します。 問題の背景 RubyのNodeはかつてGCで管理されていました。そのころの名残で全ての種類のNodeがたった一つのRNode構造体を共有しています。 他のNodeへのポインタやメソッド名を表すIDなどはu1, u2, u3というunionで管理しています。 typedef struct RNode { VALUE flags; union { struct RNode *node; ID id; VALUE value; rb_ast_id_tabl

    Ruby Parser開発日誌 (15) - Ruby の NODE を Union から卒業させた - かねこにっき
    Wacky
    Wacky 2023/12/24
  • 銀行のシステムはどのような仕組みか、プログラマーがIBMメインフレームのCOBOLプログラマーだった母親にインタビューした結果を公開

    自身もプログラマーというトム・ジョーデルさんが、大手銀行でIBMメインフレームのCOBOLプログラマーとして働いているという自身の母親に銀行のシステムについてインタビューしました。 Interviewing my mother, a mainframe COBOL programmer https://ezali.substack.com/p/interviewing-my-mother-a-mainframe ジョーデルさんの母親は1991年にノルデア銀行で社内研修を始めました。研修の間にさまざまなテストが行われ、そのうちの心理テストやマルチタスクテストにおいてジョーデルさんの母親はひどいスコアを取ってしまったとのこと。一方、IQテストなどその他のテストでは非常に良いスコアを獲得し、研修後にはIBMメインフレームのCOBOLプログラマーのポジションを割り当てられました。 技術的な観点から

    銀行のシステムはどのような仕組みか、プログラマーがIBMメインフレームのCOBOLプログラマーだった母親にインタビューした結果を公開
    Wacky
    Wacky 2023/12/24
  • cron で exponential backoff するツール作った

    この様に指定すると3分毎に実行されます。 とても便利ではあるのですがコマンドの実行が失敗すると、冗長なコマンド実行となり得ます。cron ではコマンドの実行が失敗し続けるとメールが運営者に繰り返し送信され続けます。 crontab にコマンドが1分毎に実行される様に投入してひとまず正常起動を確認、仕事を終えて家に返ってビールでも飲んで、さぁ寝ようかなと思った頃にコマンドが失敗し始めると、朝までメールが飛び続けます。 またウェブサービスの API を呼び出す cron ジョブを投入していたらそのウェブサービスがメンテナンスに入った、なんて事もあると思います。メンテナンス中にも関わらず無限に失敗し続ける API 呼び出しはもしかしたら BAN の対象になってしまうかもしれません。 全ては cron に exponential backoff する機能がないのが問題です。 systemd tim

    cron で exponential backoff するツール作った
    Wacky
    Wacky 2023/12/24
  • 電話の通話料が当面タダに? 未使用テレホンカードで通話料を節約

    電話の通話料が当面タダに? 未使用テレホンカードで通話料を節約
    Wacky
    Wacky 2023/12/24
  • 人はなぜチープな事業計画をたて、ニーズのないプロダクトを創るのか|片山良平@paiza代表

    この記事は「paiza Advent Calendar 2023」の最終日の記事です。 最終日はpaiza株式会社で社長をやっている片山がお送りいたします。 タイトルはほぼ釣りです。 ちなみに、paizaはITエンジニア向け国内最大の転職・就職・学習プラットフォームです。(paiza.jp) 記事概要絵にかいたは大した価値はなく、実行し成果が出せて初めて価値がある 実行プロセスやプロダクトが良くても、市場ニーズがなければ価値はない 計画は粗くてもいいから一筆書きで描き切ることが重要 一筆書きで書いたら実際に動いてすぐ更新すべし つまり実行が出来る計画を描き、実際に実行し、発見があれば即修正しながら成果を出せ、というごく当たり前な内容です。 ただそれがとても難しいので、どのあたりでつまづきやすいのか、経験を元にまとめてみました、という記事です。 計画は荒くてもいいから一筆書きで書き、高速に

    人はなぜチープな事業計画をたて、ニーズのないプロダクトを創るのか|片山良平@paiza代表
    Wacky
    Wacky 2023/12/24
  • ノベルゲーム移植の歴史 - みずぴー日記

    この記事はインターネット老人会 Advent Calendar 2023 - Adventarへの飛び込み参加である。 これは数年前に書き溜めていたテキストであり、一部調べきれていない箇所がある。また不正確な記述も混じっていると思う。 この内容を話すためのイベントが2000年ごろのインターネットを懐かしむ会(ハッシュタグ: #インターネット老人会)であり、「インターネット老人会」というミームを生み出す一助となったと自負している。*1 概要 移植のアプローチについて 互換動作環境 変換ツール 移植対象となったOS・機器 PC-UNIX 携帯端末向けOS ゲームボーイ/ゲームボーイアドバンス 権利会社との関係性について System3.5互換動作環境 System3.5 for X SD35B SD35C その他 Leaf/LVNS 痕メッセージ作成ツール Lfview PVNS XLVNS

    ノベルゲーム移植の歴史 - みずぴー日記
    Wacky
    Wacky 2023/12/24
  • WebUIについて調べた - laiso

    WebUIデスクトップアプリを作るためのライブラリ。HTML, CSS, JavaScriptフロントエンドを作り、バックエンドをC, C++, Python, Go, TypeScriptなどの言語で開発できる。システムにインストールされているWebブラウザで動作する https://webui.me/webui.me 2023年にhassandragaさんが公開し、V言語コミッタのttytmさんらも参加した 体はCで開発されていて、Python, Go, TypeScriptにバイディングが提供されている 似た技術としてはElectronやTauri、Gluonなどが存在する laiso.hatenablog.com zenn.dev アーキテクチャについて ElectronやTauriと比較すると、WebUIのアーキテクチャはWebアプリをブラウザで開くだけなのでより単純かつ制

    WebUIについて調べた - laiso
    Wacky
    Wacky 2023/12/24
  • 意外と知られていない、Linuxのメモリホットプラグのインタフェースについて - Qiita

    0.はじめに 0.1 今年を振り返って この記事はFujitsu Advent Calendar 2023 の24日目の記事です。 なお、記事は個人の意見に基づくものであり、組織を代表するものではありません。 今年もAdvent Calendarの季節となりましたね。皆様お変わりないでしょうか? 私の方はというと、全体的に多忙ではありましたが、夏には国際学会IEEE NVMSAでの発表、秋から年末にかけて海外出張やOpen Source Summit Japanでの講演など、今年後半は怒涛のように仕事がくる状態になってました。おまけに 「Linus Torvaldsと会談せよ」 というミッションまで降ってきてしまい、正直どうなることかと思いました。人生、何が起こるかわからないものです。学生時代、英語は超苦手だったのに…。 0.2 今年の記事について さて、例年このAdvent Calen

    意外と知られていない、Linuxのメモリホットプラグのインタフェースについて - Qiita
    Wacky
    Wacky 2023/12/24
  • Simulink と Arduino Mega で『制御工学』を学ぶ、はじめの一歩 - Qiita

    1. はじめに 電子工作好きの方々は Arduino を動かすのに Sketch とかを利用しているんでしょうね.でも のお勉強で Arduino を動かすのであれば,日頃から使い慣れた Simulink を利用したいですよね! 記事では,Simulink Support Package for Arduino Hardware(以下,Simulink Support Package と略記)を利用して Arduino Mega 2560 R3(以下,Arduino Mega と略記)でエンコーダ付きの DC モータの角度制御を行う方法について説明します. I2C 通信が必要な 6 軸センサ MPU6050 の利用方法についても説明する!って思っていたのですが,間に合いませんでした.接続方法は記述しており,書く気でいたんですが... 後日,機会があれば... なお,今回もグダグダの記述に

    Simulink と Arduino Mega で『制御工学』を学ぶ、はじめの一歩 - Qiita
    Wacky
    Wacky 2023/12/24
  • C++ コンパイル時「出力」で画像ファイル生成 - Qiita

    これでアセンブル時に好きな文字列が出力できますが、コンパイル時に計算した内容を指定して出力することはできません。 そこで、すべての出力しうる文字列についてそれぞれ出力のコードを用意し、コンパイル時に constexpr if でどのコードをアセンブリに出力するかを選択することで、コンパイル時計算の結果をアセンブリコードに反映します。 つまり、出力できる文字列が用意したものに限られます。 しかし、画像のビットマップデータの出力には、画素値を出力するコードを 256 個1用意しておけばよいので、さほど問題ではありません。 画像の幅、高さなどのヘッダに含まれる情報は、マクロで何とかしましょう(妥協)。 問題なのは、末尾に改行がつくことです。 画素ごとに出力すると、その間にいちいち改行が挿入されることになります。 つまり、コンパイル時に出力できる画像ファイルは、画素値同士が改行で区切られるようなフ

    C++ コンパイル時「出力」で画像ファイル生成 - Qiita
    Wacky
    Wacky 2023/12/24
  • DB初心者が自作DBMS始めてみた - Qiita

    この記事は DeNA 24 新卒 Advent Calendar 2023 の 23 日目の記事です。 TL;DR DBMSの基的な仕組みを知るのに有益だったリソース CMUのDBMS講義 先人の素晴らしい自作DBMSの解説記事&ソースコードリーディング 小さな小さな自作DBMSの設計と実装 最小限SELECTやINSERTなど基的なSQLが動く この記事のゴール データベースの内部構成を超ざっくり理解するために有用なリソースを知り、そして(全開発者のロマンである)自作 DBMS に一歩踏み出すきっかけになればうれしいです。 モチベーション 自分は普段業務でアプリケーションのような割と高レイヤーな開発がメインなこともあって、ミドルウェアやOS、ネットワークと言った低めのレイヤーに憧れを持っており、この気持ちをまずは自作DBMSをやってみることによって解放してあげようと思ったことがきっか

    DB初心者が自作DBMS始めてみた - Qiita
    Wacky
    Wacky 2023/12/24