サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPad Air
hikalium.hatenablog.jp
RustのPinって難しいですよね。 ということで、Pinのお気持ちをどれだけ理解できているか測るためのクイズを用意しました。 簡単なやつからいきますので、安心してくださいね! いきますよ〜! Q0 これをコンパイル・実行するとどうなる? fn main() { let a = 3; let b = 5; println!("(a, b) = ({a:?}, {b:?})"); println!("(a, b) = ({a:?}, {b:?})"); } こたえ $ cargo --quiet run --example q0 (a, b) = (3, 5) (a, b) = (3, 5) 解説 println!()の動作確認です。念の為2回実行しておきました(伏線)。 Q1 これをコンパイル・実行するとどうなる? fn main() { let a = 3; let b = 5; pri
この記事は「自作OS Advent Calendar 2024」の7日目の記事です(JSTとは言ってない) 自作OS Advent Calendar 2024 - Adventar WasabiOS とは 私が日本国内で開発している、Rustで書かれたOSなので、Wa (和) + Sabi (Rust) = Wasabi という名前になっています。 ちなみに、この上で動くウェブブラウザを、いつも配信を一緒にやっている d0iasm さんが実装してくれて、 それについてはつい先日、書籍が出版されたので、興味のある方はそちらもぜひご一読ください! direct.gihyo.jp 作って学ぶ ブラウザのしくみ 届いた!!!( @d0iasm さんの本です!!!) ブラウザをRustでぜんぶ自作するぞ!!!という力強い内容となっているので、ブラウザのしくみに興味がある高レイヤの人々も、キラーアプリ
先週末の三連休、第56回情報科学若手の会に、若手特別講演の枠でありがたくも呼んでいただけたので、参加して発表してきました! 発表で使用したスライドはこちらにおいておきます: ちなみに開催期間中に人々と雑談をしていたら知ってびっくりしたのですが、なんとこの会は1968年7月から続く由緒正しきイベントで、インターネットの父として知られる村井純先生が1955年生まれであることを考えると、驚くほど歴史が長いです。 過去の開催報告も、1996年以降の分については公式ページに存在しており、参加者の名前を見ると、私が大学生の頃に退職された筧捷彦先生が幹事として参加されていたりと、なかなか衝撃的に歴史の長いイベントに気軽に足を踏み入れてしまったことに開催中に気づいてしまいました。沼ですね…。(いいぞ!) 時系列ざっくりまとめ 準備 ちょうど休みがほしい感じのタイミングだったので、労働からdetachして過
hikaliumの独断と偏見で、積読は除いている。最近も結構新しい本が色々出ているので、それもいいかもしれないが、ある程度評価の定まった本を探したい場合に参考になれば。 ちなみに、hikaliumがセキュキャンでCPU自作を教えていたときのコードはここにある。参考にならないかもしれないが、おまけにどうぞ。 github.com ディジタル回路設計とコンピュータアーキテクチャ 無印(MIPS版) ARM版 RISC-V版 ハードウエア記述言語で実際にCPUをつくりながら、各アーキテクチャについても学べる良書。 MIPS版が広く知られているが、ARM版、RISC-V版も登場している。無印版はよくある技術書サイズだが、ARMとRISC-V版は大型本なので、そこらへんの好みとかも勘案するとよいかもしれない。 CPUの創り方 Amazon 表紙がメイドさんだが、侮ることなかれ。(と私は中学生の時にク
この記事は自作OS Advent Calendar 2022の17日目の記事です。他の記事も是非お楽しみください!(そして書ける方はぜひ参加してみてください!!) 前回(?)までのあらすじ hikaliumは自作OS上で動くアプリからsyscall命令を使ってシステムコールを呼べるようにしようと頑張っていたが、なぜか発生するトリプルフォルトによりQEMUが再起動してしまい、3時間のデバッグの末力尽きてしまった。一体なぜ例外が発生するのか、その謎を解くため、我々は数日の休息をとったのち、バイナリの森へと旅立った…。 前回(という名の配信アーカイブ): www.youtube.com 状況を整理しよう バイナリの森は危険だ。無闇に動きまわっては、x86の沼に足をとられて命を落としかねない。まずは我々の向かっていた先と、これまでに得た情報をまとめることにしよう。 どこへ向かっていたのか 我々のひ
TL; DR Keyball46はいいぞ ProMicroにはAVR版とRP2040版がある ピン配置の互換性はあれど、命令セットは完全に異なるので「ファームウエアを書けとささやくのよ、私のゴーストが」という方以外はAVR版を間違えずに買いましょう まあ最悪間違えても一週間くらいでなんとかなる(当社調べ) みんな自作キーボードをやろう! はじまり みなさんは、Keyball46という素晴らしい自作キーボードキットをご存知ですか? そう、なんと、キーボードにトラックボールがついてるんです!最高ですよね! ということで、秋葉原にある自作キーボードのお店こと遊舎工房さんから速攻でポチりました。ちょうど安いキーボードを一個水没させたところですし、自作キーボードも本格的にやりたかったし、年末休みで暇を持て余していますからね。 役者は揃った。あとは作るだけ…。(キーキャップが想像以上に美味しそうでニヤ
概要 主な登場人物 決戦結線の時 JTAG ⇔ C232HM-DDHSL-0 UART ⇔ TTL-232RG-VREG3V3-WE 接続イメージ ソフトウエアの設定 openocdをインストールする Raspberry Pi 側でJTAGインターフェイスを有効化する ついでにシリアルポート出力とかも有効化しておく 参考: 私のconfig.txtの末尾はこうなっている openocdの設定 インターフェイスの設定 ターゲットの設定 動かしてみる openocdとのやりとり gdbとあわせて使う 付録: openocdがうまくいかないとき JTAGアダプタとシリアルケーブルがつながったRaspberry Pi 4 概要 Raspberry Piでベアメタルプログラミングをするときに、CPUが今実際にどこの命令を実行しているか、メモリ上にどのような値が存在するか…などの情報を確認できると、デ
この記事は自作OS Advent Calendar 2020の「最初の4つの素数の和」日目の記事として作成されました。 liumOSについて liumOSは、NVDIMM(Non-volatile DIMM, 不揮発性メインメモリ)をネイティブにサポートしている、珍しいタイプの自作OSです。2018年7月26日に開発を開始して以来、記事執筆時点で682 commitsを数えるほどに成長しました。主要開発者はhikaliumですが、後述する通り、ここ数ヶ月間はd0iasmさんにも手伝っていただいていました。 2018年には、自作OSからNVDIMMを触る方法について自作OS Advent Calendar 2018の記事で紹介しましたので、NVDIMMについて知らないよという方や、興味のある方はそちらもぜひお読みください。 hikalium.hatenablog.jp 今年は、かなり色々なも
ISUCON10の予選にmeguryohikaとして @megumish_unsafe, @systemctl_ryoto と共に出たのでその記録です。 結果としては、初期スコア500点台から、900点台の、1000点に届きそうかな?というところまでは行けたものの、最後のベンチマーク前に複数台構成にしようとして失敗した結果スコアがつかずおしまいでした。来年もまたやりたいですね! ISUCONは参加者だけじゃなくて運営にも降りかかる… 午前10:00から試合開始ということで、前日は人々とイカをやるのも午前1時までにとどめておき、無事健康的な午前起床を達成しました。 いい感じに睡眠からwake-Upするコンテスト、勝利した(起床成功)。— hikalium (@hikalium) 2020年9月12日 ところが、その少しまえに、こんなツイートが運営から… ISUCON10 オンライン予選につい
発端はuchan_nos氏によるこのツイートでした。 C言語で、本当にメモリの0番地にデータを書きたいときはどうすりゃええの?— うー@技術書典8 Day1う31 BitNOS (@uchan_nos) 2020年2月12日 それに対する私のリプライ: uint8_t *p = 1; p--; *p = v;— hikalium (@hikalium) 2020年2月12日 私はこれで話が終わると思っていたのだが、どうやらそうではなかったらしく、色々な視点からの意見が加わりながら、話は混沌を極めたのでした…。 ということで、ここに私のこのツイートに対しての見解とか、わかったことをまとめておこうと思います。 私のリプライの背景について uchanさんが求める「0番地にデータを書きたい」という課題設定を、私はこのように解釈しました。 C言語において、整数0をポインタに変換すると、それはNULL
2019-04-14, 技術書典6が池袋で開催されました。私は、前回の技術書典5の際に、買いに行く側としての初参加を果たしたのですが、その際「来年は書く側で出しなよ〜」と多数の皆様に煽られ応援されたのでした。 来年は技術書展に出す側に回りたいですねえ…?(皆様にとても煽られた)— hikalium (@hikalium) October 8, 2018 その流れを踏まえ、今回は絶対に書いてやるぞ!という強い意志で、アンケートをとった結果 技術書展6、私が以下のいずれかを書くとして、最も読みたいのは…— hikalium (@hikalium) January 11, 2019 OS Girlsというタイトルが人々にもっとも望まれているということでしたので、ひとまずサークル参加の応募をしたところ、高倍率の中ではありましたが、運良く参加できることが決まったのでした。 もうこうなったら、何か出さ
これは、自作OS Advent Calendar 2018 の7番目の素数日の記事です。 はじめに みなさん、NVDIMMって知っていますか?知っている人はぜひ仲良くなりましょうー。 NVDIMMとは、Non-Volatile DIMMの略で、要するにDIMMスロットに刺さる不揮発性の記憶モジュールのことです。 通常のDRAM DIMMは、電源を切るとデータが消えてしまう揮発性の記憶素子なのですが、なんとNVDIMMは電源を切ってもデータが消えません。すごいね! (NVDIMMの実現方法にはいくつか種類があって…という、NVDIMM自体の細かい話はここではしません。) さて、自作OSを書いている皆様はよくわかると思うのですが、自作OSで何らかのデータを保存するのはとても大変です。メモリにあるデータは電源を切ると消えてしまいますから、HDDやSSDやSDカードに書き出さないといけません。そう
(この記事は本戦後の眠い頭を無理に回して書いています。どうか温かい目で読んであげてください…。) これまでのあらすじ 前回は、ISUCON8予選に出てガチャを引いたら運良く本戦に行けることになった!という話を書きました。 hikalium.hatenablog.jp というわけで今回は、本戦でどのようなことをしたのか、そしてその結果などをまとめてゆきたいと思います。 試合開始前 椅子CONではなく机CONだった 開場より少し早く会場に着いてしまったので、エレベーターホールで受付開始まで待っていたのですが、すでにかなりの人数が集まっていたのでびっくり。 入場開始するも、チームメイトのうさぎさん・megumishさんがまだ着いていなかったので、長蛇の列を横目に傍観していた。 列も捌けてきたし、まだ二人が来ないので入場して会場のあるフロアへ。 「机は各チームひとつくらいで」とのことだったので周囲
概要 ホストとipの結びつきや、固定ipの利用状況の管理が ~/.ssh/config 頼りだったので改善したかった とりあえず善は急げでdnsmasqを建てた Ubuntu 18.04ではsystemd-resolvedが53をLISTENしていて手間取った 環境 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04 LTS" 動機 ふとRaspberry pi で遊びたくなったんです。そんな日もありますよね。 IPアドレスどれにしていたかなーと思いつつ、WiresharkでDHCPのパケットを見張って特定して無理やりSSHするなどして、とりあえずアクセスはできました。 あとのことも考えて、そうだIPア
このページを最初にブックマークしてみませんか?
『/var/log/hikalium』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く