タグ

ブックマーク / meech.hatenadiary.org (17)

  • Emacs ひきこもり生活

    どのを読むか まずは、読みたいを決めることから始めるしかない。の紹介リストとかAmazonのおすすめとかKindleの0円リストとかTwitterに流れてるとかを興味あったらとりあえずブクログの読みたいリストに入れている。 の紹介リストはSFだったら http://love6.2ch.net/test/read.cgi/sf/1251044312/ とか。まあいろんなところに様々なジャンルのおすすめがあるし、そこを全て読んで好きな読者など探索すればよい。 あとは図書館とか部室とかの棚のてきとーな棚の左上から読んでいくという方法もある。一通り読めるので大変べんりである。 を手にいれる を手元に置くには2種類方法がある。買うか借りるか。4000冊も買っていては破産してしまうので借りるしかない。図書館の蔵書を調べるにはカーリルが大変べんりだ。のリストが少ないうちは、ここに読みた

    Emacs ひきこもり生活
    syuu1228
    syuu1228 2016/04/07
  • Emacsを高速起動せよ #kansaiemacs - Emacs ひきこもり生活

    この前の関西Emacsで発表?した内容を完結させた感じのエントリです。この動画の説明です。 みんなEmacsを高速起動したいですよね。ぼくもしたいです。 今回はカーネルの視点からEmacsを高速起動しちゃうよ。 まず実験用に ~/nisehome をHOMEにしてmelpaのパッケージをほぼ全てインストールして、さらにほとんどのパッケージ内のelispをrequireします。すると、めっちゃ起動が遅くなってくれます。具体的に見てみると $ echo 3 | sudo tee /proc/sys/vm/drop_caches $ HOME=$HOME/nisehome emacsで(ファイルキャッシュを全て落としてから)起動してやって (emacs-init-time) を見てやると "348.6 seconds" となってます。だいぶおそいですね。やばい感じです。 このままでは今回の高速起

    Emacsを高速起動せよ #kansaiemacs - Emacs ひきこもり生活
    syuu1228
    syuu1228 2013/10/30
    Emacsを高速起動せよ #kansaiemacs - Emacs ひきこもり生活 (id:meech / @naota344)
  • PulseAudio使ってるならカーネルのSND_HDA_PREALLOC_SIZEは2048にしとけよ?って話 - Emacs ひきこもり生活

    ここに書いてあるのそんまんまなんだけど https://bugs.gentoo.org/show_bug.cgi?id=409625 PulseAudio使ってて、しかもサウンドがHDA IntelだったらSND_HDA_PREALLOC_SIZEってのをdefaultが64なのを2048にした方がいいらしい。 当該kernel configの説明にもそのように書いてあるのでGentoo使ってて、HDA Intelで、PulseAudio使っている人はいますぐ設定書きかえてカーネルリビルドしよう。 3.10も出たしちょうどいいタイミングだよね。

    PulseAudio使ってるならカーネルのSND_HDA_PREALLOC_SIZEは2048にしとけよ?って話 - Emacs ひきこもり生活
    syuu1228
    syuu1228 2013/07/04
    PulseAudio使ってるならカーネルのSND_HDA_PREALLOC_SIZEは2048にしとけよ?って話 - Emacs ひきこもり生活 (id:meech / @naota344)
  • おれが…おれこそがBtrfsckだ!、という話 - Emacs ひきこもり生活

    Btrfsは非常に安定した安心なファイルシステムです - Togetter まあ、上のリンクのような話なのだけど、そこからどういうバグだったの?とかどういう状況だったの?とかどうやって直したの?というところを補則するための記事 もともとは多分ここのエラーで、leafがcorruptしたんじゃないかな?と思う。 http://twitpic.com/cv01wy/full そんでここでささるようになった http://via.me/-cjxgikk こっち側を分析していく。 RIPを見ると死んでる場所は btrfs_drop_inode+0x10 であることがわかる。 btrfs_drop_inode() はこんだけの関数。ちょろい。 int btrfs_drop_inode(struct inode *inode) { struct btrfs_root *root = BTRFS_I(i

    おれが…おれこそがBtrfsckだ!、という話 - Emacs ひきこもり生活
    syuu1228
    syuu1228 2013/06/04
    おれが…おれこそがBtrfsckだ!、という話 - Emacs ひきこもり生活
  • freeのshared - Emacs ひきこもり生活

    freeとかしてみるとsharedが0になっている。 $ free total used free shared buffers cached Mem: 3884436 3371444 512992 0 3492 1434784 -/+ buffers/cache: 1933168 1951268 Swap: 5000188 0 5000188free(1)を見ても"The shared memory column should be ignored; it is obsolete."と書いてあるし、0固定なんでしょう。でも、なんで0なんでしょう。 freeはprocpsというパッケージのコマンドで proc/sysinfo.cの部分が値を取得するコードになっている。これは /proc/meminfo から情報を読んでいる。 sharedに対応する部分は "MemShared" というとこ

    freeのshared - Emacs ひきこもり生活
    syuu1228
    syuu1228 2013/01/02
    freeのshared - Emacs ひきこもり生活 (id:meech / @naota344)
  • カーネル/VM Advent Calendar 一日目: eventfd, timerfd, signalfd - Emacs ひきこもり生活

    ひ、日付? な、なんのことです…!? 最初はfutex()とかカーネルの変更でpostgresqlが遅くなったとかの話をからめようかと思ってたんですがfutex()調べてたらどんどん大きくなってしまったので今回はスキップして(そのうちあるであろう)2回目にまわしとくことに。 ということで、今回はfutex()から似たところ?で、 epoll, kqueue, *fdあたりを簡単にまとめてみようと思います。 select まずはselect()のおさらいを。 こんなふうにサーバにクライアントが5つぶらさがっています。クライアントは常時接続はしていますが、ずっとサーバと通信しているわけではありません。時々サーバにリクエストを投げ、サーバは適宜リクエストに応答します。サーバはsocketを作ってクライアントと通信をしています。 言うまでもないことですが、こんなコードではうまく動きません。 for

    カーネル/VM Advent Calendar 一日目: eventfd, timerfd, signalfd - Emacs ひきこもり生活
    syuu1228
    syuu1228 2012/12/12
    2012-12-02 - Emacs ひきこもり生活
  • コマンドラインからの NetworkManager - Emacs ひきこもり生活

    コマンドラインから NetworkManagerを扱うcnetworkmanagerというものがあって、使ってみたのだけれど、どうにもうまく動かない。 ので、githubを見てみたら nmcliに移行してね、みたいなことが書いてあって、んじゃその nmcliはどこにあるの?と思ったら networkmanagerに付属だった。そりゃ移行するわな。 とりあえずWiFiにつなぎたい、とする "nmcli dev wifi"で、wifiのアクセスポイントが出てくる。つなぎたいところに狙いを定めたら、"nmcli con 'hoge hoge' password 'fugafuga' name 'HoeHoe'"みたいな感じで接続する。一度こうしておくと、nameで指定した名前を使って "nmcli con up id 'HoeHoe'"といったふうにして接続することができるようになる、のでそれ以

    コマンドラインからの NetworkManager - Emacs ひきこもり生活
    syuu1228
    syuu1228 2012/10/01
    コマンドラインからの NetworkManager - Emacs ひきこもり生活 (id:meech / @naota344)
  • LKMLの釣り師たち - Emacs ひきこもり生活

    ああん?最近釣りが多いな? 最近、LKMLに変な投稿投げる釣り師(?)がいるのでまとめておく。 09/07 LKML: Angela Bernard: Suggestions for the Future of Linux Ethernetとかオワコン。誰も使わねーよ。 デスクトップは死につつあるし、Linuxデスクトップは最初から死んでるぜ。よしんば使っててもマルチモニタなんて使わねーし、マルチモニタ機能消せー マルチユーザなんて誰も使わねーよ消せー 光学ドライブとかいつ使ったよ?もうインターネットでいいだろ。光学ドライブ消そうぜ 09/12 LKML: Rich Lawlman: Various things Linux doesn't have/doesn't need ARM以外のCPUのサポート削除して、ARMに注力するべき!!! iPhoneはやってるやん? あんなふうにファ

    LKMLの釣り師たち - Emacs ひきこもり生活
    syuu1228
    syuu1228 2012/09/20
    わろた:LKMLの釣り師たち - Emacs ひきこもり生活 -
  • cd /usr/src/linux; make install - Emacs ひきこもり生活

    Linuxでmake installすると/sbin/installkernelが呼ばれる。最近、dracutでinitramfsを作っているのだけど、ちょくちょく作り直すのを忘れるのでmake installで一緒にdracutもやってくれないかなと調べてみると /usr/src/linux/arch/x86/boot/install.sh で # User may have a custom install script if [ -x ~/bin/${INSTALLKERNEL} ]; then exec ~/bin/${INSTALLKERNEL} "$@"; fi if [ -x /sbin/${INSTALLKERNEL} ]; then exec /sbin/${INSTALLKERNEL} "$@"; fiとなっていて、 /root/bin/installkernel が実

    cd /usr/src/linux; make install - Emacs ひきこもり生活
    syuu1228
    syuu1228 2012/07/24
    cd /usr/src/linux; make install - Emacs ひきこもり生活
  • 新しいマシンを入手したのでGentooをインストールしました - Emacs ひきこもり生活

    新しいマシンを入手しました。スペックはこんな感じ # cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 42 model name : Intel(R) Core(TM) i7-2600 CPU @ 3.40GHz stepping : 7 microcode : 0x14 cpu MHz : 1600.000 cache size : 8192 KB physical id : 0 siblings : 8 core id : 0 cpu cores : 4 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 13 wp : yes flags : fpu vme de pse tsc

    新しいマシンを入手したのでGentooをインストールしました - Emacs ひきこもり生活
    syuu1228
    syuu1228 2012/03/02
    なんか色んなノウハウの塊だなぁ これがGentoo Wayか:新しいマシンを入手したのでGentooをインストールしました - Emacs ひきこもり生活
  • unix のシグナル処理あれこれ - Emacs ひきこもり生活

    Linux で signal + マルチスレッド、というとハンドラであれこれしようとすると、これはもう悪夢のように大変でひとつ signal 処理用スレッドを用意するのが定石のようです。 さてはて、そんなことで FreeBSD もそういうコードを書いて fork した子供を回収してやろうとしたところ、全く動いていません… orz これはどうしたんだろう??と調べた結果 空の signal handler を signal でしこんでやると動きだすことがわかりました。 はてさて、これはカーネルにどんな実装の差があるのでしょうか? そして、他のBSDではどうなっているのでしょうか? これが今回の疑問です。 実験 ひとまずこんなコードを使って引数に 0-3 を渡して実験します。中身はこんな感じのプログラムです。 #include <stdio.h> #include <signal.h> #in

    unix のシグナル処理あれこれ - Emacs ひきこもり生活
    syuu1228
    syuu1228 2011/02/04
    Surfing: "unix のシグナル処理あれこれ - Emacs ひきこもり生活"
  • Dive into linux-2.6/mm - Emacs ひきこもり生活

    @syuu1228 せんせーのお誕生日です! この記事は [twitter:@syuu1228] せんせーのお誕生日祝いに書かれました(多分) ここから まぁとりあえずコードをあたりますよね! ということで、あたってみた結果です。情報が正しいかどうかはわかりません。 そもそもこの「Reserved」ってなに? linux-2.6/arch/x86/mm/init_64.c を見てみましょう。 void __init mem_init(void) { long codesize, reservedpages, datasize, initsize; ... reservedpages = 0; ... /* this will put all low memory onto the freelists */ #ifdef CONFIG_NUMA totalram_pages = numa_f

    Dive into linux-2.6/mm - Emacs ひきこもり生活
    syuu1228
    syuu1228 2010/12/28
    おおおお、ブラボー! id:meech (@naota344): Dive into linux-2.6/mm - Emacs ひきこもり生活
  • カーネル/VM Advent Calendar 6日目: make *config 〜カーネルいじっちゃお!〜 - Emacs ひきこもり生活

    カーネル/VM Advent Calendar この記事は http://atnd.org/events/10701 のために書かれました。 Linux カーネルを設定しよう Linux カーネルは多種多様なアーキテクチャに対応して、数多くの設定項目があります。 distro のカーネルをそのまま使うのもいいですが、自分の環境・自分の好みにあわせてカーネルを設定し、コンパイルするのもまた楽しいものですよ!よ! カーネルソースのディレクトリに cd して "make <設定方法>" することで、カーネルの設定を行なうことができます。設定方法には以下のものがあります。 config nconfig menuconfig xconfig gconfig oldconfig, silentoldconfig, oldnoconfig localmodconfig, localyesconfig a

    カーネル/VM Advent Calendar 6日目: make *config 〜カーネルいじっちゃお!〜 - Emacs ひきこもり生活
    syuu1228
    syuu1228 2010/12/13
    カーネル/VM Advent Calendar 6日目: make *config ~カーネルいじっちゃお!~ - Emacs ひきこもり生活
  • Gentoo Advent Calendar 1日目: portage で git tree 使って高速 sync - Emacs ひきこもり生活

    Gentoo Advent Calendar この記事はGentoo Advent Calendar 2010 : ATND のために書かれました。 emerge --sync 今の emerge --sync は中では rsync が動いています。でも、 rsync って遅くないですか? 404 - Page Not Found にある通り、 portage-2.2_rc20 からは portage tree を git で更新できるようになっています! 2.2 のリリースにはまだもう少しかかりそうですが、さきどりしてしまいましょう! unmask して emerge いつもの autounmask でまずは unmask してから emerge。 autounmask がなければ emerge autounmask です。 # autounmask sys-apps/portage-2

    Gentoo Advent Calendar 1日目: portage で git tree 使って高速 sync - Emacs ひきこもり生活
    syuu1228
    syuu1228 2010/12/12
    autounmaskとかあんのか。。。RT @naota344: 書きましたー #GentooAdventJP Gentoo Advent Calendar 1日目: portage で git tree 使って高速 sync
  • Kernel/VM Advent Calendar 1日目: kmemcheck にご用心! - Emacs ひきこもり生活

    Kernel/VM Advent Calendarに来考えてたネタをやろうとVMの中のカーネルをいじっていたところ、ふと気がつく。 Tuxくんが一人しかいない…? VMでは4コアあげているしなぜ? 確かに /proc/cpuinfo を見ても CPU が1つしか使われてないのだ。 その時とった dmesg -> https://gist.github.com/731682 [ 0.000000] SMP: Allowing 4 CPUs, 0 hotplug CPUs CPU4つあるよね…… [ 0.140772] Brought up 1 CPUs [ 0.140784] Total of 1 processors activated (4787.87 BogoMIPS). 1つしか起動されない… [ 0.024100] CPU0: Intel QEMU Virtual CPU ver

    Kernel/VM Advent Calendar 1日目: kmemcheck にご用心! - Emacs ひきこもり生活
    syuu1228
    syuu1228 2010/12/07
    なるほどこんなのがあるんだ RT @mhiramat: これ嵌まったわー RT @naota344: 書いた #kernelvm Kernel/VM Advent Calendar 1日目: kmemcheck にご用心!
  • 寝る前のお遊び hack - Emacs ひきこもり生活

    こうすると こうなる お遊びでした

    寝る前のお遊び hack - Emacs ひきこもり生活
    syuu1228
    syuu1228 2010/11/26
    なるほ。RT @naota344: @syuu1228 VirtualBox でもできますよ!
  • 13〜18歳の学生向けOSS開発支援プロジェクト Google Code-In が開催されるらしい。 - Emacs ひきこもり生活

    今年ぼくも参加した 日語だとこちらのページが詳しいかな。 登竜門としての Google Summer of Code - 武蔵野日記 ようするに Google が学生を支援してOSSの開発に取りくんでもらおうというもの。その成功を受けて今年は Google Code-in  |  Open Source Programs Office  |  Google Developers というものが開催されるようだ。こちらの対象は13〜18歳の学生。 Google Sumeer of Code (以下、GSoC) は「1つのプロジェクト」を4ケ月ほどかけて行なったが、 Google Code-In (以下 GCI) はお手軽に「1〜3日でできる課題」を期間中にいくつ解決するか、のコンテストになる。 1つ試しにやってみる! といったこともできるようなので、ぜひ開始されてたら覗いてみてほしい。 以下

    13〜18歳の学生向けOSS開発支援プロジェクト Google Code-In が開催されるらしい。 - Emacs ひきこもり生活
    syuu1228
    syuu1228 2010/11/01
    RT @naota344: 13~18歳の学生向けOSS開発支援プロジェクト Google Code-In が開催されるらしい。
  • 1