情弱ログ

参考にならないので当てにしないでください

1年生に送るデバッガ(gdb)の使い方(入門編)

長い夏休みが終わって、1年生はプログラミングⅡを履修すると思います。
プログラミングⅡではポインタ、ファイル入出力といった新しい概念を学んでいくことになります。
しかし、これらの発展的な内容は便利であると共にエンバグしやすい部分でもあります。

例えば「segmentation faultって出てプログラムが止まった…」「2回目以上呼び出した時の関数の挙動が怪しい…」といったバグを埋め込んだ時、ソースコードとにらめっこするかTAを呼んでないでしょうか。
それ、デバッガを使えば解決できるんですよ。

続きを読む

Emacsで保存時に句読点を全角コンマと全角ピリオドに置換する設定

様式か、風習か、日本語で論文を書くときは「、」や「。」は「,」と「.」に置き換えなくてはいけない。
句読点の設定はだいたいどのIMEにもあるメジャーな設定なのでそこまで困ることではないが、グローバルに変更されると他の文章も全て全角コンマ・ピリオドになるためなかなか使い勝手が悪い。
どうせなのでTeX modeの時は保存時に句読点を全角コンマと全角ピリオドに置換してくれるEmacs Lispを書いた。

(defun replace-dot-comma ()
  "s/。/./g; s/、/,/g;する"
  (interactive)
  (let ((curpos (point)))
    (goto-char (point-min))
    (while (search-forward "。" nil t) (replace-match "."))
    
    (goto-char (point-min))
    (while (search-forward "、" nil t) (replace-match ","))
    (goto-char curpos)
    ))

(add-hook 'tex-mode-hook
          '(lambda ()
             (add-hook 'before-save-hook 'replace-dot-comma nil 'make-it-local)
             ))

これで執筆中は何も考えることなく「、」と「。」を使うことができ、保存時には勝手に「,」と「.」に置換してくれる。

今時Emacs上でTeXで論文書くような人はこんなのよりもっと便利なものを知ってそう

ブート時に途中から画面が真っ暗で表示されなくなる時のtips

ブートローダの選択画面やブートの途中までは画面に映るのに、ある途端から画面が真っ暗になったり、バックグラウンドで処理は行われているのに画面が停止した際の解決法。
nvidiaプロプライエタリドライバを使用していることが前提。

原因はカーネルのオプションの選択ミスで、DRMというカーネルオプションを無効にしてドライバを再コンパイルすると直った。
詳しくはこちら NVidia/nvidia-drivers - Gentoo Wiki

DRMというのはDirect Rendering Managerといい、モダンなビデオカードを扱うためのインタフェースとのこと。
これがLinux kernelのものとドライバのもので競合を起こしていたのが原因の様子。

原因というか、.configファイルを消してしまったのが一番痛い。

セキュキャンに落ちた解答を晒す

んなもん誰が読むんじゃ
まずはセキュリティ・キャンプ合格者のみなさんおめでとうございます。僕は残念ながら落ちてしまいましたが、部内に一人合格者がいたので全滅は免れました。KK君おめでとう&頑張れ。
年齢的に最後のチャンスだったので、落ちた時はかなりへこみましたが、これを期に他の勉強会等にも積極的に参加していきたいです。

今回晒す解答は実際に提出したものをそのまま貼り付けています。
反面教師として来年度以降誰かの参考になったら幸いです。
尚、選択問題2,5,6,9,11に取り組みました。

続きを読む

Gnome3のアプリケーション一覧を汚染された

winetricksでゴニョゴニョといくつかパッケージを入れていたら、Gnomeのアプリケーション一覧(Activities→Show Applications)がバッテン印のアプリケーションに汚染された。
アプリケーション一覧からアプリを起動することはあまりないが、見た目がよろしくない。

rm -rf ~/.local/share/desktop-directories/*
rm -rf ~/.local/share/applications/wine*

して一度ログアウトしたら消えた。
wineのアイコンも消えたが、コンソール以外から使うことはないから問題ない。

ちゃんとfind ~ .name .desktopして不要なものを見極めてから消すことをおすすめ。