平衡点


2006/05/03

_ rss2js.rb

の練習として, rss2js.rb なるモノで作ってみたのだが.

def items_to_js(rss)
  diary_title = Uconv.u8toeuc(rss.channel.title)
  puts "document.writeln('<h2><a href=\"#{rss.channel.link}\">#{diary_title}</a>(blog)</h2><div class=\"RSSitems\"><p>recent entries</p><ul class=\"RSSitmes\">')"
  i = 0
  while i < 5
    title = Uconv.u8toeuc(rss.item.title(i)).gsub(/^\[.*\] /,"")
    puts "document.writeln('<li class=\"RSSitems\"><a href=\"#{rss.item.link}\">#{title}</a></li>')"
    i += 1
  end
  puts "document.writeln('</ul></div>')"
end

としていた. これだと, タイトルは i でループ廻るけどリンク先一緒になるやん.

って訳で,

def items_to_js(rss)
  diary_title = Uconv.u8toeuc(rss.channel.title)
  puts "document.writeln('<h2><a href=\"#{rss.channel.link}\">#{diary_title}</a>(blog)</h2><div class=\"RSSitems\"><p>recent entries</p><ul class=\"RSSitmes\">')"
  i = 0
  while i < 5
    title = Uconv.u8toeuc(rss.item.title(i)).gsub(/^\[.*\] /,"")
    puts "document.writeln('<li class=\"RSSitems\"><a href=\"#{rss.item(i).link}\">#{title}</a></li>')"
    i += 1
  end
  puts "document.writeln('</ul></div>')"
end

みたいにした. こんどは良いね.

こいつで出力した JavaScript は Official の Top に置いてます. cron で二時間一回更新.

… www にも ruby 入ってるけど, 古い….

  • ruby 本体
  • uconv
  • rss parser

もついでに install してある.

_ 占い

某所の占いで

…良いことあるのかな.

_ case1-T21N16

…収束解に近づきつつあるのだが, 時間かかりすぎだな. こんなモンなんだろうか.

さて, 聞いてみようかな.

…はあ, さいですね. って事はこれいつまで計算したら収束すんでしょう.


2008/05/03

_ TuxOnIce で resume 失敗 -> USB メモリから rescue boot.

suspend のイメージを swap へ変えようとしたのだけれど, grub の update を忘れていて嵌る. 幸い妹が USB メモリを持っていたので, dual boot の Windows 側で USB メモリで installer を作成し, レスキューブートしてファイルを修復し, 事無きを得る.

「resume 時に異なるカーネルから起動するとマジ死亡だから注意」を体験.

教訓の為にメモしておく.

事の発端.

TuxOnIce(旧 Software Suspend2) で, 今迄 FileWriter を使っていたんだけど, resume する image を変えたり, 別に保存する必要も無いので SwapWriter に戻そうとした.

やることは

  • /etc/hibernate/suspend2.conf の修正
  • /etc/default/grub の修正
  • /sbin/update-grub
  • 再起動
  • suspend, resume の確認

な訳ですが, 再起動せずに suspend しちゃった訳.

で, 「resume しないな」 「あ, grub のパラメタ違うじゃん」 「update-grub」 再起動 「を, resume したよ...あれ? read-only?」 なんと /etc/fstab が無い(笑)

initrd があって, grub で root を指定しているので, 起動はできる. けれど /proc が無いので全て read-only になっちゃう. single user mode で /etc/fstab を作成しようにも駄目. うーん.

USB メモリに Debian installer をセットアップ.

USB メモリがあったので, Debian installer 作成し, resuce boot してみることに. 作成手順は以下の通り.

  • Windows で起動.
    • debian installer の hd-media の中から、boot.img.gz をダウンロードしておく.
    • 同じく, debian installer から, 適当な iso イメージをダウンロードしておく.
    • とりあえず, どちらも C:\ 直下に置いた.
  • Windows 用の syslinx を取得しておく.
    • 今回は http://www.kernel.org/pub/linux/utils/boot/syslinux/ から入手.
  • single user mode で起動.
    • まっとうに使える環境があるなら, それで良いのだけど, 今回無いし(笑).
  • USB メモリを挿す. -> /dev/sda だった.
  • VFAT なファイルシステムを作成する.

    # mkfs.msdos -I /dev/sda     [sda は USB メモリのデバイス]
  • Windows のパーティションを mount し, boot.img.gz と iso イメージを USB メモリに設置.

    # mount -t ntfs /dev/hda1 /NTFS   [ /NTFS は依然から存在していた. 
                                        無かったらどうすんだろ. /home ?]
    # zcat /NTFS/boot.img.gz > /dev/sda
    
    # mount -t vfat /dev/sda /mnt
    # cp /NTFS/**.iso /mnt
    # umount /mnt
    # umount /NTFS
  • 再起動後, Windows 側へ.
  • syslinux で SYSLINX MBR を install.

    • USB メモリが D: と認識されたなら, cmd 上で
    # syslinux -a D:
  • 再起動して USB メモリから boot.

...を, ちゃんと起動したよ.

rescue 作業

Debian Installer で resuce boot して, shell へ行き, nano で /etc/fstab を書いた. その後, fsck.ext3 を実行して再起動.

続いて, lost+found 以下のファイルの復旧を試みる. 調べてみると, 主に /proc/数字, だったので一安心.

...他に壊れている所があると嫌なんで, もう一度 fsck.ext3 をかけてみたが, とりあえず問題無いみたい.

...ああ, 焦った.

参考文献


連絡先など
最近の日記
  • 2024/04/28
    • 1. CF-SR3 での生活環境構築 (できてない)
  • 2024/03/29
    • 1. Debian GNU/Linux on CF-SR3
  • 2024/03/25
    • 1. org-mode → beamer でのリスト記号の一時変更
  • 2024/03/22
    • 1. 静的htmlによるGit Repository Browser
  • 2024/02/15
    • 1. org-mode → bemaer での番号付きリスト
一覧
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|02|03|04|08|09|10|11|12|
2013|01|02|03|04|05|06|08|09|10|11|12|
2014|01|02|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|05|06|07|09|10|
2016|02|03|
2017|01|02|03|05|06|07|09|11|12|
2018|03|06|07|10|11|12|
2019|01|02|03|04|05|07|10|12|
2020|01|02|03|04|05|08|09|10|11|12|
2021|01|02|03|05|06|07|08|09|11|12|
2022|01|02|03|04|05|06|08|10|11|12|
2023|02|03|04|06|08|09|11|12|
2024|01|02|03|04|
Back to Top ▲