Skip to content

Instantly share code, notes, and snippets.

View morimolymoly's full-sized avatar

mmmly morimolymoly

View GitHub Profile
section .data
str_fizzbuzz: db 'fizzbuzz',10
str_fizz: db 'fizz',10
str_buzz: db 'buzz',10
section .text
global _start
_start:
mov rcx,0
.loop:
@sandlbn
sandlbn / livirt
Last active October 10, 2021 23:46
How to compile libvirt on ubuntu
sudo apt-get install git build-essential xsltproc libxml-xpath-perl libyajl-dev libdevmapper-dev libpciaccess-dev libnl-dev systemtap-sdt-dev uuid-dev libtool autoconf pkg-config libxml2 libxml2-utils autopoint python-dev libnuma-dev gettext
git clone https://github.com/K1773R/numad.git
cd numad
make
sudo make install
cd ..; cd libvirt
git clone git://libvirt.org/libvirt.git
./autogen.sh
./configure --prefix=/usr --localstatedir=/var --sysconfdir=/etc --with-qemu=yes --with-dtrace --with-numad --with-storage-rbd --disable-nls
@minazou67
minazou67 / howto-migrate-vscode-extension.md
Created February 6, 2019 04:02
How to migrate VSCode extension

How to migrate VSCode extension

Visual Studio Code の拡張機能を移行する方法です。
同期用の拡張機能も存在しますが、GitHub へのアクセスが必要となるため、拡張機能なしで移行する方法をメモ。

Environment

  • Windows 10
  • VSCode 1.30.2
[Log Session]
active = false
app_version = 17.2.4
duration = 0
eventIndex = 0
id = 0
launch_sent = false
non_page = true
pausetime = 1596980554524
timestamp = 1596980554524
@icchy
icchy / README.md
Last active March 30, 2023 15:04
pwntools使い方 まとめ

pwntoolsの便利そうな機能まとめ

公式リファレンス: pwntools

install

最新版を降らせる
pip install "git+https://github.com/Gallopsled/pwntools#egg=pwntools"

template

@alexander-hanel
alexander-hanel / rtd.py
Created September 24, 2018 21:18
python recursive traversal disassembly using capstone and pefile
import sys
import re
import pefile
import string
import struct
from capstool import CapsTool
from capstone import *
from capstone.x86 import *
BCC = ["je", "jne", "js", "jns", "jp", "jnp", "jo", "jno", "jl", "jle", "jg",

A fork() in the road を読んで

HotOS 2019 で Microsoft Research からの論文である.Unixの代表的なシステムコールであるfork()についての問題点を挙げている.

概要

fork()は最も基本的なシステムコールといっても良く,新しいプロセスを作るときに使われる.今回の論文の主張はfork()は1970年代のマシンではハックと呼べるものだったが,現代では過去の負債となっているというものでおり,カーネルから完全に取り除くべきであるというものである.ただし,ここでいうカーネルとはLinuxカーネルのことを直接指しているのではなく,著者の先行研究でのOSの実装のことを指している.

面白いのは,fork()は研究者にとっては研究を阻害するといったことや,教育者は歴史としては教えるべきだが最初に教わるべきプロセス作成の仕組みとしてはふさわしくないといった中々過激なことを言っているところである.

問題点

現代的なコンピュータシステムにおける問題点として次のようなことが挙げられている.

  • かつてはシンプルであったが,最早そうではない
  • 25もの特別なケースが親プロセスの状態を子プロセスにコピーするときに存在する.例えば,ファイルロック,タイマー,非同期IOやトレーシングなど.また,コピー後のメモリマッピングに関して,madvice()に与えるフラグも非常に多いものとなっている.
@naokirin
naokirin / Dockerコンテナ上のログ集約に関するまとめ.md
Last active August 5, 2023 18:41
Dockerコンテナ上のログ集約に関するまとめ

検討するための情報

Dockerコンテナ上のログを集約する方法

  • コンテナの内部で集約する
    • e.g. fluentd、rsyslog等を各コンテナ内に立てる
    • e.g. 単純にファイルに保存する
  • コンテナの外部で集約する
    • e.g. ホスト側にfluentd、rsyslog等を起動して、各コンテナがマウントしたログファイルをtail等で読む
  • e.g. ホスト側にマウントしてファイルに保存する

lwIPの移植

修正BSDライセンスでかなり良い感じのTCP/IPプロトコルスタック。 MinixもVirtualBoxも使っている様子。主な実装済みプロトコルは以下の通り。

  • DNS, DHCP
  • TCP, UDP
  • IPv4, IPv6, ICMP
  • ARP
@ymmt2005
ymmt2005 / neco_skills.md
Last active September 24, 2023 10:59
Neco プロジェクトのスキルシート

Neco プロジェクトのスキルチェックシート

Neco は大量の物理サーバーを効率的に管理・運用することを目的とした開発プロジェクトです。 Kubernetes を中心に高度な自律運用の実現を目指しています。

本文書はプロジェクトに参加しているメンバーが身に着けている要素技術を並べたものです。

応募時点ですべてを身に着けている必要はまったくありません。 社内にはチュートリアル資料が多数用意されていますので、必要に応じて学べます。