並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 26 件 / 26件

新着順 人気順

setjmpの検索結果1 - 26 件 / 26件

  • WasmLinux: WebブラウザでLinuxカーネルとBusyBoxを動かす(エミュレーションなしで)

    WebブラウザでOS動かしてどうすんだよ という根源的な疑問に回答が無いままとりあえずできちゃった。。 ※ コマンドが終了してもプロンプトが出ません。Enterを空打ちする必要があります (バグ) WasmLinuxは、WebAssembly "ネイティブ" なLinux環境です。カーネルもユーザーランドも、WebAssemblyのツールチェインでコンパイルされたWebAssemblyモジュール(をwasm2cでCにしたもの)です。 前回はカーネルしか動いていなかったんですが、今回はブラウザ上で ifconfig lo up して ping 127.0.0.1 したり top したり vi したりできます。BusyBox入ってるので。 ただしまだ実用性は皆無 です。Proof of Conceptって奴ですね。 前回の記事: 今回はMUSL libcを移植してBusyBoxが動くようになっ

      WasmLinux: WebブラウザでLinuxカーネルとBusyBoxを動かす(エミュレーションなしで)
    • WasmLinux: LinuxカーネルをWebAssemblyにする

      LinuxカーネルがWebブラウザで動いたらどう考えても面白い んだけど、そこに至るまではなかなか難しい道のりになる。その第一歩として、Linuxカーネルのユーザーランド版であるLKL( https://github.com/lkl/linux )をWebAssemblyにコンパイルして、wasm2cでC言語に変換した上、Visual Studio 2022でコンパイルしてWindows上で実行してみた。 まだWebブラウザでは動いていないが、思ったよりは簡単にWasmに移植できた(個人の感想です) ウケが良ければMUSL libc移植編 → デバイスドライバ活用編 → Webブラウザ上動作編と続ける感じで。。 EDIT: Visual Studioのスクリーンショットを撮りなおし。 memory-control はanonymousなmapしか救えないので、ここ数年スパンではエミュレーシ

        WasmLinux: LinuxカーネルをWebAssemblyにする
      • Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記

        YJIT の Rust 実装がマージされました。いまのところ今年の Shopify からの代表作ではと見ています (YJIT 自体は Ruby 3.1 で C 実装導入されている機能です) 。 github.com そういうわけで、現在の Ruby 3.2.0dev で YJIT を有効にする場合は、Rust の処理系 (1.60.0 1.58.1 以上) が必要になります。Rust のインストールに使う rustup については以下の公式ページなどを参照してください。 www.rust-lang.org YJIT はデフォルトではビルドされません (なので YJIT を使わないビルドであれば Rust 処理系は不要です) 。 デフォルトの YJIT なしの Ruby をビルドしている場合は --yjit オプションを渡しても、ruby: warning: Ruby was built w

          Ruby 3.2.0dev にマージされた Rust YJIT をビルドする - koicの日記
        • Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp

          RubyKaigi 2022 キーノートレポート Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート 9月8日から9月10日までの3日間RubyKaigi 2022が三重県津市で開催されました。今年はRubyKaigi 2019以来、3年ぶりの現地開催で非常に盛り上がったカンファレンスとなりました。 初日のキーノートではRubyコミッターのYuta Saitoさんが「Ruby meets WebAssembly」というタイトルで発表しました。 Saitoさんはインターネット上では主に@kateinoigakukunという名前で活動しており、Swiftコミッターとしてもよく知られたエンジニアです。CRubyのWebAssembly移植を進め、2022年1月にRubyコミッターとなっています。今回のキーノートはCRubyのW

            Yuta Saitoさん「RubyはWebAssemblyと出会った」 〜RubyKaigi 2022 1日目キーノート | gihyo.jp
          • Announcing WASIX · Blog · Wasmer

            Back to articlesAnnouncing WASIXWASIX extends the WASI proposal to build useful and productive applications today with full POSIX compatibility Today we are very excited to launch a new initiative that will start shaping the future of WebAssembly on both the browser and the server. WASI was announced about 4 years ago and was a great push to move the Wasm community forward. It got everyone so exci

              Announcing WASIX · Blog · Wasmer
            • RubyメインでなくてもRubyKaigiから色々学べた話 - Mirrativ Tech Blog

              インフラ・ストリーミングチームの @udzura です。(一ヶ月経ってしまいましたが)9月8日から9月10日まで、三重県でRubyKaigiがありました。 rubykaigi.org 久しぶりのオンサイト会場での開催ということで、大いに盛り上がり、感想ブログなどもたくさん書かれています。 今回は、Rubyをメインで使っていない会社であるミラティブのエンジニアの立場から、RubyKaigiのトークは勉強になるという話をします。 ミラティブの技術スタックとコミュニティについて ところで、以下に、ミラティブのEngineer's Handbookから、技術スタックについての紹介ページを引用します。 エンジニアハンドブックより引用 この通り、実はRubyはアプリケーション開発のメインは使っていないのです*1。 ですが、今回は、後述する通り私がRubyKaigiのCfPに通過したため、「社内外へ積極

                RubyメインでなくてもRubyKaigiから色々学べた話 - Mirrativ Tech Blog
              • kateinoigakukunがプログラムに興味を持ったきっかけ、Wasmとの出会い。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.1 - STORES Product Blog

                2022年10月5日に『深掘りRubyKaigi 2022 with ko1 & kateinoigakukun ~ RubyKaigiどうでした&RubyのWASI/並列どうなるの? ~』を開催しました。イベントでお話した内容を3部作でお届けします。 自己紹介 fujimura:皆様、今日はお集まりいただきありがとうございます。今日はゲストにkateinoigakukunさんと、笹田さんをお迎えしております。プログラムとしては、前半でkateiさんにWasmの話を聞いて、後半に笹田さんに並列並行のところを聞くというようなコンテンツでやっていきます。 さっそく始めていこうと思うのですが、僕らの自己紹介と、kateiさんの自己紹介から始めようかな。僕は STORES でCTOをやってる藤村と申します。RubyKaigiもリアルで参加して、非常に楽しかったです。じゃあ、hogelogさん。 h

                  kateinoigakukunがプログラムに興味を持ったきっかけ、Wasmとの出会い。深掘りRubyKaigi 2022 with ko1 & kateinoigakukun 文字起こしレポートvol.1 - STORES Product Blog
                • mrubyを通じてWebAssemblyの未来を想う~新しいウェブサービスの開発課程にて | IIJ Engineers Blog

                  日本Haskellユーザーグループ(愛称 Haskell-jp)発起人の一人にして、Haskell-jpで一番のおしゃべり。 HaskellとWebAssemblyとプリキュアとポムポムプリンをこよなく愛する。 こんにちは。ブラウザ外のWebAssemblyに関心が偏りすぎて、ブラウザにおけるWebAssemblyについて聞かれると戸惑うことが多い山本悠滋です。普段はIIJ-IIの技術開発室という部署で、IIJ本体をサポートするための開発をいろいろ行ったり、WebAssemblyを応用した新しいウェブサービスの開発に取り組んでいます。 今回は、開発している「WebAssemblyを応用した新しいウェブサービス」のサンプルとして、mrubyのインタープリタをWASIに準拠したWebAssemblyファイルにコンパイルするまでの課程や、それを通じてわかった、今のWebAssemblyに足りない

                    mrubyを通じてWebAssemblyの未来を想う~新しいウェブサービスの開発課程にて | IIJ Engineers Blog
                  • 高速なRUBY用仮想マシンの開発

                    博士論文本審査発表資料 高速なRUBY用仮想マシンの開発 EFFICIENT IMPLEMENTATION OF RUBY VIRTUAL MACHINE 東京大学大学院 情報理工学系研究科 特任助教 笹田耕一 1 Agenda 背景と目的 高速なRuby用仮想マシン Rubyの並列化 まとめ 2 背景 3 スクリプト言語の必要性の増大 � スクリプト言語の重要性増大 � 計算機の性能向上,スクリプト言語の機能向上 � 利用シーンの増加 � GUIプログラミング,ネットワークアプリケーション � ウェブアプリケーション � システムプログラミング言語 v.s. スクリプト言語 � John K. Ousterhout, Scripting: Higher-Level Programming for the 21st Century, Computer, IEEE, 1998 より � 型付

                    • How I developed a faster Ruby interpreter | Red Hat Developer

                      As a rule, RTL code contains fewer instructions than stack-based instructions, and as result spends less time in interpreter instruction dispatch code. But RTL sometimes spends more time in operand decoding. More importantly, RTL code results in less memory traffic, because local variables and stack values are addressed directly by RTL instructions. Therefore, stack pushes and pops of local variab

                        How I developed a faster Ruby interpreter | Red Hat Developer
                      • 超入門USDT - ローファイ日記

                        Linuxアドベントカレンダー2020 8日目の記事です。前日はmomomo_rimotoさんの多段sshとchroot環境。そしていろいろなコマンドを使いたいでした。 qiita.com 今日はみんな大好きなeBPFにも関係して、特にUSDTという機能に関するお話をします。 USDT、それは USDT(User Statically-Defined Tracing) とは、要するに、ユーザランドにあるプログラムに対して、静的にトレースのための窓口(プローブ)を埋め込む仕組みです。トレースが無効の際はパフォーマンスが落ちないような工夫がされています。 詳細な説明は id:mrtc0 の記事の方がわかりやすいので、簡単な説明に留めますが... blog.ssrf.in カーネル側をトレースする際に、動的な関数などのプローブをkprobe、静的にカーネルに組み込まれたプローブをtracepoi

                          超入門USDT - ローファイ日記
                        • An Update on WebAssembly/WASI Support in Ruby

                          OverviewCRuby is a highly portable C application, and it runs on many platforms (You can see which platforms are tested on CI here). However the “portability” is only at source level, and the built executable is not portable across architectures and system call interfaces. This project made CRuby portable at executable file level by porting it to a standalone WebAssembly with WASI ABI. Furthermore

                            An Update on WebAssembly/WASI Support in Ruby
                          • GitHub - picolibc/picolibc: picolibc - a C library designed for embedded 32- and 64- bit systems.

                            Picolibc source comes from a variety of places and has a huge variety of copyright holders and license texts. While much of the code comes from Newlib, none of the GPL-related bits used to build the library are left in the repository, so all of the source code uses BSD-like licenses, a mixture of 2- and 3- clause BSD itself and a variety of other (mostly older) licenses with similar terms. There a

                              GitHub - picolibc/picolibc: picolibc - a C library designed for embedded 32- and 64- bit systems.
                            • CRubyはどうやってWebAssemblyに移植するか? 例外処理・Fiber実装・保守的GC…足りないパーツを埋めるAsyncifyの活用

                              プログラミング言語Rubyの国内最大級のカンファレンス「RubyKaigi」。「RubyKaigi 2022」のKeynoteで登壇したのは、齋藤優太氏。「Ruby meets WebAssembly」のテーマで、WebAssembly上でRubyが動くようになった経緯、テクニック、ユースケースについて発表しました。全2回。後半は、WebAssemblyのユースケースについて。前回はこちら。 WASIでCRubyをWebAssemblyにポートする方法 齋藤優太氏:ここまでが前半戦で、ここからどうやってCRubyをWebAssemblyにポートしたかを紹介します。 CRubyはCで書かれたプログラムなので、すでにいろいろな環境にポートされています。このCRubyのソースコードは、かなりポータブルに書かれているので、CからWasmにコンパイルするコンパイラもあるしポーティングは簡単だなと。

                                CRubyはどうやってWebAssemblyに移植するか? 例外処理・Fiber実装・保守的GC…足りないパーツを埋めるAsyncifyの活用
                              • Rubyが楽しくて良い言語になることが STORES の未来につながる【STORES.rb × Asakusa.rb 文字起こしレポート】 - STORES Product Blog

                                2023年9月26日に開催した『STORES.rb × Asakusa.rb』のトーク部分を文字起こし形式でお届けします。 hey.connpass.com STORES がRubyコミッターを迎えた理由 藤村:STORES.rb×Asakusa.rbにお越しいただきありがとうございます。よろしくお願いします。ご存知の方も多いと思うんですが、笹田さんと遠藤さんが STORES に入社されました!やったー!プレスリリースが9月1日に出たんですね。写真を撮りました。 www.st.inc 笹田:なんかプレスリリースに出る系エンジニアって言われました。 遠藤:入社時にプレスリリースを出すことを要求するエンジニアっていう。 一同:(笑) 藤村:こんな感じで記事も出しました、という感じで STORES に来ていただきました。 people.st.inc で、これはただの自慢なんですけど、遠藤さんが作

                                  Rubyが楽しくて良い言語になることが STORES の未来につながる【STORES.rb × Asakusa.rb 文字起こしレポート】 - STORES Product Blog
                                • Actually Portable Executables | Blog Needs a Name

                                  Actually Portable ExecutablesI came across Cosmopolitan on Hacker News, and I was initially confused, due to a few memories of cross-compilation nightmares: while it should be possible to compile for the same architecture regardless of operating system, wouldn’t the OS get confused by the leading bytes of the executable? I read the article explaining how it works, but most of it went over my head.

                                  • Kotlin / Nativeはなぜ動くのか?(Kotlin Fest 2019 セッションレポート) | CyberAgent Developers Blog

                                    Kotlin / Nativeはなぜ動くのか?(Kotlin Fest 2019 セッションレポート) 8月24日(土)に開催された「Kotlin Fest 2019」において、サイバーエージェントはひよこスポンサーを務めました。 サイバーエージェントからは「タップル誕生」のAndroidエンジニア・佐藤(@stsn_jp )と「Amebaブログ」のサーバーサイドエンジニア・荻野(@youta1119 )の2名が登壇いたしました。 今日は、荻野(@youta1119 )が発表した「Kotlin / Nativeはなぜ動くのか?」のセッションについて、本人による解説をお届けします。 Kotlin/Nativeとは? Kotlin/NativeとはLLVMを使ってKotlinのプログラムをネイティブバイナリにコンパイルする技術です。 以下のように多くのプラットフォームへのコンパイルをサポートし

                                    • M1 Mac で Ruby 3.2.0 をインストールした際に libyaml でちょっとハマった - There's an echo in my head

                                      Ruby 3.2 から libyaml や libffi などのソースコードがバンドルされなくなった*1らしく、その影響で次のようなエラーが出た。どうやら libyaml が見つからないらしい。 $ rbenv install --verbose 3.2.0 (snip) yaml.h not found (snip) psych: Could not be configured. It will not be installed. Check ext/psych/mkmf.log for more details. *** Fix the problems, then remove these directories and try again if you want. Generating RDoc documentation /private/var/folders/jr/yc04b

                                        M1 Mac で Ruby 3.2.0 をインストールした際に libyaml でちょっとハマった - There's an echo in my head
                                      • A Mini Monitor for a Pi

                                        This post outlines how I used a small 2 inch display as a monitor for my pi. Where it can display tty terminals and X desktops and applications as if it was a normal screen connected over hdmi. My overall goal is to have a sort of handheld “console” that I can connect a keyboard to and use as a normal computer. This post implements the display functionality needed to fulfill part of the goal. I la

                                          A Mini Monitor for a Pi
                                        • RubyKaigi2022に参加しました - エニグモ開発者ブログ

                                          はじめに RubyKaigiが2019年以来の現地開催となり、2022年は三重県津市で行われました。 今年は現地と配信のハイブリッド開催であり、弊社から2名が現地参加、4名がオンラインで参加しました。 rubykaigi.org 過去の参加記 tech.enigmo.co.jp 本ブログには2017年の記録しか残ってないのですが、2019年まで毎年現地参加し、スポンサーをしている年もあります。 では、現地参加したメンバーとオンライン参加したメンバーそれぞれが感じたことを紹介します。 現地参加編 エンジニアの橋野です。新卒エンジニアとして4月からenigmoに入社しています。 詳しくはこちらの入社エントリをご覧ください。 オフラインでおこなわれるカンファレンスは、初参加でしたのでとても楽しみにしていました。 初の現地開催参加という目線でレポートしていきたいと思います。 印象に残ったセッション

                                            RubyKaigi2022に参加しました - エニグモ開発者ブログ
                                          • What does "with continuation" mean?

                                            The help for the run and call with continuation blocks just say that it's too complicated. I want to know what a continuation is. Reading the manual left me still a little confused as to what continuations are. Hi, welcome to the forum! I've taken the liberty of moving your question to the Computer Science topic because you're really asking about the history of programming language design, more th

                                              What does "with continuation" mean?
                                            • Scheduling Internals

                                              A sneak peek to what's coming! I remember when I first learned that you can write a server handling millions of clients running on just a single thread, my mind was simply blown away 🤯 I used Node.js while knowing it is single threaded, I used async / await in Python, and I used threads, but never asked myself "How is any of this possible?". This post is written to spread the genius of concurrenc

                                              • Exploring USDT Probes on Linux

                                                Table of Contents Table of Contents Motivation Tracing System Overview Terminology Evoluction of Linux Tracing Linux Tracing Technical Stack Event Sources Tracing Frameworks Tracing Frontends USDT Inside USDT Prerequsites(e.g: Ubuntu) Sample w/o Semaphore support Sample w/ Semaphore support Register USDT probe via ftrace(under the hood, ftrace+uprobe) Register USDT probe via bcc(under the hood, eB

                                                • Concurrent programming, with examples

                                                  Mention concurrency and you’re bound to get two kinds of unsolicited advice: first that it’s a nightmarish problem which will melt your brain, and second that there’s a magical programming language or niche paradigm which will make all your problems disappear. We won’t run to either extreme here. Instead we’ll cover the production workhorses for concurrent software – threading and locking – and le

                                                    Concurrent programming, with examples
                                                  • RubyKaigi 2022 Ruby meets WebAssembly - マイペースなRailsおじさん

                                                    Ruby meets WebAssembly - RubyKaigi 2022 RubyKaigi 2022 1日目のキーノートが、内容もプレゼンも大変良かったので、少し詳しくレポートします。RubyをWebAssembly (WASM) の対応についてお話頂きました。WebAssemblyの基礎から、WebAssembly対応のテクニカルな難しさまで、非常にわかりやすく丁寧に説明されており、聴きごたえのある素晴らしい発表でした。 特にデモがおもしろく、思わずスゴイ!とうなりたくなるものばかりでした。 主な発表内容は、下記の3つでした。 RubyをWASM対応させるメリット WASM対応の仕組み RubyのWASM対応にあたって特に工夫した点 RubyをWASM対応させるメリット WASMは、主にWebブラウザで利用することを目的として作られた言語です。直接記述するのではなく、他の言語をW

                                                      RubyKaigi 2022 Ruby meets WebAssembly - マイペースなRailsおじさん
                                                    • Arena allocator tips and tricks

                                                      This article was discussed on Hacker News. Over the past year I’ve refined my approach to arena allocation. With practice, it’s effective, simple, and fast; typically as easy to use as garbage collection but without the costs. Depending on need, an allocator can weigh just 7–25 lines of code — perfect when lacking a runtime. With the core details of my own technique settled, now is a good time to

                                                      1