「e-Ma」を含む日記 RSS

はてなキーワード: e-Maとは

2018-10-13

anond:20181013094002

nise-marina 配慮しないと炎上して個人なら職を失って企業ならブランドその他に大ダメージなんだけど、それを無視できる「配慮しないメリット」ってなに?

このブコメ控えめにいって頭おかし

女性配慮しないと職を失うか炎上するぞ」「配慮したら炎上しないぞ。これがメリットだ」ってマジでヤクザ理屈じゃん

一般人社会では「女性配慮しないと職を失うか炎上するぞ」を脅迫というんだよカスフェミ

女性配慮しないと職を失うか炎上する」というデメリットでもある。

2018-07-13

21世紀少年とRe-Make:Re-Model

久しぶりに聞いたらサックスソロが似てるような気がした。

なんか共通点あるのだろうか?

2018-06-01

給料が多くて労働時間が少ない会社嫉妬するブクマカ

👇がトップに来てて笑う

b:id:nise-marina そういう会社いくつか知っているけど、下請けに丸投げして下請けが代わりにブラック労働しているだけだよ。効率よく働いて売上も立っているところなんて存在しているんだろうか。

下に投げて楽してるだけなんて当たり前の話でね

そもそも君たちが日常的に買っている食品や物品は、外国国内ブラック労働者が安価に作ってくれているものなんだよなあ…

理想的フェアトレードをしている商品しか買っていないのなら石を投げてよい

http://b.hatena.ne.jp/entry/s/headlines.yahoo.co.jp/article?a=20180531-00222911-toyo-bus_all

2018-05-26

増田動画スパム?対応ブロックリスト

anond:20180523222112 参照

uBlock Originで試したがAdBlock Plusとその派生アドオンなら使えるのではないだろうか。

anond.hatelabo.jp##div.section:has(a[href*="zendesk.com"])

anond.hatelabo.jp##div.section:has(a[href*="m.vk.com"])

anond.hatelabo.jp##div.section:has(a[href*="/vk.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.benvitec.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.rowan.edu"])

anond.hatelabo.jp##div.section:has(a[href*="www.footbie.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.onroerenderfgoedprijs.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.srk.nl"])

anond.hatelabo.jp##div.section:has(a[href*="casinocopenhagen.dk"])

anond.hatelabo.jp##div.section:has(a[href*="cityclimateplanner.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.merelbeke.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.ravagochemicals.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.linux.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.africa24tv.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.wijkraadkleverpark.nl"])

anond.hatelabo.jp##div.section:has(a[href*="www.elan-ausy.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.securitytrust.it"])

anond.hatelabo.jp##div.section:has(a[href*="www.hematologienederland.nl"])

anond.hatelabo.jp##div.section:has(a[href*="www.inqaahe.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.peacefirst.org"])

anond.hatelabo.jp##div.section:has(a[href*="/ki.se"])

anond.hatelabo.jp##div.section:has(a[href*="www.cnb.avocat.fr"])

anond.hatelabo.jp##div.section:has(a[href*="durbuysel.be"])

anond.hatelabo.jp##div.section:has(a[href*="elpdesk.nanoleaf.me"])

anond.hatelabo.jp##div.section:has(a[href*="akh-h.de"])

anond.hatelabo.jp##div.section:has(a[href*="dgs-interparts.be"])

anond.hatelabo.jp##div.section:has(a[href*="upport.qriscloud.org.au"])

anond.hatelabo.jp##div.section:has(a[href*="usaidlearninglab.org"])

anond.hatelabo.jp##div.section:has(a[href*="visit-nieuwpoort.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.rogueclimate.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.roguecu.org"])

anond.hatelabo.jp##div.section:has(a[href*="/events.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.maisonsdenfrance-massifcentral.fr"])

anond.hatelabo.jp##div.section:has(a[href*="www.marinifc.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.namimendocino.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.nre.dk"])

anond.hatelabo.jp##div.section:has(a[href*="www.objectifsantetravail.fr"])

anond.hatelabo.jp##div.section:has(a[href*="www.ochaopt.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.padovauniversitypress.it"])

anond.hatelabo.jp##div.section:has(a[href*="www.sgr18.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.wtbeerse.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.gasmuseet.dk"])

anond.hatelabo.jp##div.section:has(a[href*="avesargentinas.org.ar"])

anond.hatelabo.jp##div.section:has(a[href*="casinoodense.dk"])

anond.hatelabo.jp##div.section:has(a[href*="club.alanseiden.com"])

anond.hatelabo.jp##div.section:has(a[href*="cursor-prod.s3.eu-central-1.amazonaws.com"])

anond.hatelabo.jp##div.section:has(a[href*="helpcenter.blackvue.com"])

anond.hatelabo.jp##div.section:has(a[href*="help.otoy.com"])

anond.hatelabo.jp##div.section:has(a[href*="help.trinetcloud.com"])

anond.hatelabo.jp##div.section:has(a[href*="en.unesco.org"])

anond.hatelabo.jp##div.section:has(a[href*="festspillnn.no"])

anond.hatelabo.jp##div.section:has(a[href*="globegazette.com"])

anond.hatelabo.jp##div.section:has(a[href*="/rib.com"])

anond.hatelabo.jp##div.section:has(a[href*="rogueclimate.org"])

anond.hatelabo.jp##div.section:has(a[href*="support.dronesmadeeasy.com"])

anond.hatelabo.jp##div.section:has(a[href*="support.hammerhead.io"])

anond.hatelabo.jp##div.section:has(a[href*="support.hike.in"])

anond.hatelabo.jp##div.section:has(a[href*="support.jumpdesktop.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.cohenmilstein.com"])

anond.hatelabo.jp##div.section:has(a[href*="2kmtcentral.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.globalinnovationexchange.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.hasselt.be"])

anond.hatelabo.jp##div.section:has(a[href*="www.konoconsultants.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.ladowntownnews.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.la-rse-pour-tous.org"])

anond.hatelabo.jp##div.section:has(a[href*="over-blog.com"])

anond.hatelabo.jp##div.section:has(a[href*="live-match-direct.hatenadiary.com"])

anond.hatelabo.jp##div.section:has(a[href*="dailypost.vu"])

anond.hatelabo.jp##div.section:has(a[href*="ifthenisnow.eu"])

anond.hatelabo.jp##div.section:has(a[href*="townnews365.com"])

anond.hatelabo.jp##div.section:has(a[href*="vangreens.ca"])

anond.hatelabo.jp##div.section:has(a[href*="www.scout.org"])

anond.hatelabo.jp##div.section:has(a[href*="www.xing.com"])

anond.hatelabo.jp##div.section:has(a[href*="harryforstatedelegate.com"])

anond.hatelabo.jp##div.section:has(a[href*="matchgolive.blogspot.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.ilwomenincannabis.org"])

anond.hatelabo.jp##div.section:has(a[href*="support.perkspot.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.lwn.org.uk"])

anond.hatelabo.jp##div.section:has(a[href*="www.eau-artois-picardie.fr"])

anond.hatelabo.jp##div.section:has(a[href*="live-stream"])

anond.hatelabo.jp##div.section:has(a[href*="livestream"])

anond.hatelabo.jp##div.section:has(a[href*="footlive"])

anond.hatelabo.jp##div.section:has(a[href*="bozemandailychronicle.com"])

anond.hatelabo.jp##div.section:has(a[href*="www.urbanbees.eu"])

anond.hatelabo.jp##div.section:has(a[href*="euro-math-soc.eu"])

2018-06-12データ追加

人畜無害そうな.orgドメインもあるけれど、例えばUNESCO.orgだとこんなところにリンクが張られていてやっぱり怪しい。

ttps://en.unesco.org/creativity/sites/creativity/files/webform/article21_event_files/livestream-tv-lazio-udinese-diretta-streaming-gratis-live-sky-sport-24-gennaio-2018.pdf

UNESCOまでブロックするのはしのびない気はする。パスまで含めて絞り込んだほうが良いのかも。

2013-11-15

id:Dominique-Magne

http://www.hatena.ne.jp/help/star/help#section14

自分が付けた☆を削除する

間違えて☆を付けてしまった時や、引用のやり直しをしたい時などに、自分が付けた☆を削除することができますカラースターも通常のスターと同じ方法で削除することが可能です。 (なお、2012年3月30日より、削除したカラースターを再度利用することができなくなりました。詳しくは告知日記をご覧ください。)

削除するには、自分が付けた☆の上にマウスカーソルを重ねて約5秒程そのまま待ってください。削除を実行するかどうかの確認画面が表示され、「OK」ボタンクリックすると☆が削除されます

2013-07-19

日本って国外脱出不可能な統制国家だったっけ?

比例は自民党には投票しない「落選運動」の呼び掛け|菅直人オフィシャルブログ今日一言

http://b.hatena.ne.jp/entry/ameblo.jp/n-kan-blog/entry-11575740964.html

Dominique-Magne

あの改憲案だけでも安倍クズだと証明してる。自民党を勝たせる事は日本から出ていけない運命の人々の生活を更に圧迫するだろう

日本から出ていけない運命の人々」って???

2009-11-10

Sankaku Complexの記事で世界へ!\(^o^)/

Japanese Marriage, According to Google

ttp://www.sankakucomplex.com/2009/11/10/japanese-marriage-according-to-google/

thats just hilarious

hilariously sad, that is.

  1. 1 ^_^;

2009-10-07

[]Firefox 3.5 コンテキストメニュー ID一覧

使用用途

http://suzumi.boo.jp/adanami/200505/01_2106.php

http://wp.graphact.com/2007/08/19/103

http://blog.livedoor.jp/blankcity/archives/15346691.html

http://puppet.asablo.jp/blog/2009/08/08/4486350

http://browserjs.blog102.fc2.com/blog-entry-600.html

#contentAreaContextMenu

id="spell-no-suggestions"
label="(修正候補がありません)"

id="spell-add-to-dictionary"
label="辞書に追加"

id="spell-suggestions-separator"

id="context-openlink"
label="リンクを新しいウィンドウで開く"

id="context-openlinkintab"
label="リンクを新しいタブで開く"

id="context-sep-open"

id="context-bookmarklink"
label="このリンクブックマーク"

id="context-savelink"
label="名前を付けてリンク先を保存..."

id="context-sendlink"
label="リンクURLメールで送信..."

id="context-copyemail"
label="メールアドレスコピー"

id="context-copylink"
label="リンクURLコピー"

id="context-sep-copylink"

id="context-media-play"
label="再生"

id="context-media-pause"
label="一時停止"

id="context-media-mute"
label="ミュート"

id="context-media-unmute"
label="ミュート解除"

id="context-media-showcontrols"
label="コントロールを表示"

id="context-media-hidecontrols"
label="コントロールを隠す"

id="context-media-sep-commands"

id="context-reloadimage"
label="画像を再読み込み"

id="context-viewimage"
label="画像だけを表示"

id="context-viewvideo"
label="動画だけを表示"

id="context-copyimage-contents"
label="画像コピー"

id="context-copyimage"
label="画像URLコピー"

id="context-copyvideourl"
label="動画URLコピー"

id="context-copyaudiourl"
label="オーディオURLコピー"

id="context-sep-copyimage"

id="context-saveimage"
label="名前を付けて画像を保存..."

id="context-sendimage"
label="画像URLメールで送信..."

id="context-setDesktopBackground"
label="デスクトップの背景に設定..."

id="context-blockimage"
label="google.co.jp画像を表示しない"

id="context-savevideo"
label="名前を付けて動画を保存..."

id="context-saveaudio"
label="名前を付けてオーディオを保存..."

id="context-sendvideo"
label="動画URLメールで送信..."

id="context-sendaudio"
label="オーディオURLメールで送信..."

id="context-back"
label="戻る"

id="context-forward"
label="進む"

id="context-reload"
label="更新"

id="context-stop"
label="中止"

id="context-sep-stop"

id="context-bookmarkpage"
label="このページをブックマーク"

id="context-savepage"
label="名前を付けてページを保存..."

id="context-sendpage"
label="ページの URLメールで送信..."

id="context-sep-viewbgimage"

id="context-viewbgimage"
label="背景画像だけを表示"

id="context-undo"
label="元に戻す"

id="context-sep-undo"

id="context-cut"
label="切り取り"

id="context-copy"
label="コピー"

id="context-paste"
label="貼り付け"

id="context-delete"
label="削除"

id="context-sep-paste"

id="context-selectall"
label="すべて選択"

id="context-sep-selectall"

id="context-keywordfield"
label="この検索キーワードを設定..."

id="context-searchselect"

id="frame-sep"

id="frame"
label="このフレーム"

id="context-sep-properties"

id="context-viewpartialsource-selection"
label="選択した部分のソースを表示"

id="context-viewpartialsource-mathml"
label="MathML のソースを表示"

id="context-viewsource"
label="ページのソースを表示"

id="context-viewinfo"
label="ページの情報を表示"

id="context-metadata"
label="プロパティ"

id="spell-separator"

id="spell-check-enabled"
label="スペルチェックを行う"

id="spell-add-dictionaries-main"
label="辞書を追加..."

id="spell-dictionaries"
label="言語"

id="context-sep-bidi"

id="context-bidi-text-direction-toggle"
label="テキストの方向を切り替える"

id="context-bidi-page-direction-toggle"
label="ページの方向を切り替える"

2009-07-08

国立メディア芸術総合センター(仮称)についてアイディア募集しま

1.趣旨

 文化庁では,この度,「国立メディア芸術総合センター(仮称)」の設置にあたり,センターが魅力的なものとなるよう,その事業内容や施設内容等について,国民の皆様から広くアイディア募集することとしました。

2.募集するアイディア対象項目

 以下のAからDの事項について,アイディア募集します。

* A. センターで行う事業内容について

* B. センターの施設内容・規模等について

* C. センター管理運営について

* D. その他全般に係る事項について

【参考:検討課題(第1回「国立メディア芸術総合センター(仮称)設立準備委員会」資料)】

3.アイディアの提出方法

(1)メール

pre-mac@bunka.go.jp

(2)ファクシミリ

03-6734-4781

(3)郵送

〒100-8959 東京都千代田区霞が関3-2-2

文化庁文化部国立メディア芸術総合センター設立準備室

電話でのアイディアの御提出はお受けしておりませんので御了承願います。

4.募集期間

平成21年7月7日平成21年7月13日(17時必着)

5.アイディアの提出上の注意

* (1)2.のAからDのいずれに該当するアイディアであるかを明記してください。

* (2)個人は氏名・性別・年齢・職業を,法人法人名・代表者を明記してください。

* (3)アイディアに対して個別には回答致しかねますので,あらかじめ御了承ください。

* (4)アイディアについては,氏名・性別・年齢・職業法人名・代表者を除いて公表されることがあります。

なお,氏名等連絡先については,アイディアの内容に不明な点があった場合の連絡以外の用途では使用しません。

http://www.bunka.go.jp/oshirase_other/2009/mediageijutsu_iken_boshu.html

2008-11-30

On File Systems

(http://www.kev009.com/wp/2008/11/on-file-systems/)

訳した。分からなかったところは英語のまま。ファイルシステムについて完全な素人なので変な所があるかも。

Introduction(前置き)

ファイルシステムOS重要な要素だが最近ではあまり関心を払われていない。ビットが入ってきてビットがでていく……デスクトップシステムにとっては、たいてい十分に働いてくれる……ただし、電源が落ちるまでは。しかし、そんな状況ですら近頃ではあまり困ったことにはならない。

Linuxファイルシステムの分野には競合製品が多い。ext2が長い間標準とされてきたが、2001年辺りから他の選択肢も主流となった。あまり歴史に深入りせずに要約すると(順番は適当)、ext2進化してext3となり、ジャーナリング機能が付いた。ReiserFSがリリースされた。SGIはXFSを移植した。IBMはJFSを移植した。

いくつかの理由があって(主に政治的な理由で)ext3Linuxデファクトファイルシステムとなった。

Classic File Systems(古典ファイルシステム)

私が古典ファイルシステムと呼ぶとき、基本的にいつも同じ概念を指している。つまり古典的なUnixレイアウトファイルシステムジャーナリング機能を追加したものだ。ここに述べるのは、それら古典ファイルシステムハイライトである。

これは後知恵だが、JFSやXFSが牽引力を持たずに、ext3が人々を古典的時代に停滞させたのは一種の悲劇だった。しかしながらext3は信頼性を証明し、きちんと動くように一貫として保守されてもいる。

NextGen File Systems(新世代ファイルシステム)

2005年SunZFSという爆弾リリースした。ZFSは私が次世代ファイルシステムと呼ぶ時代への案内人である。

ハードディスクが大きくなるにつれて、バックアップ戦略、完全性(integrity)の検証、巨大なファイルサポートは前より遥かに重要になってきている。

ここあげるファイルシステム古典的なVFS lineを曖昧にしたりLVMとRAIDを強固な結合することによって管理を楽にする事を目的としている。

ダメハードウェアで起きる静かな(観測されない)データの破損も心配の種である。これに対抗するために、次世代のファイルシステムチェックサムを供えている。

いろんな意味Linuxコミュニティーは完全に油断しきっており、多くの開発者ZFSリリースされるまで次世代ファイルシステムについて真剣に考えてこなかった。Reiser4はいくつかの新しいアイデアを持っていてキラーファイルシステムとなろうとしたが、Hans Reiserは、他のカーネル開発者との著しく酷い関係を楽しんでいたのだった。ただ幸運な事に、いまではいくつかの、より先進的なファイルシステムが登場しようとしている。

Conclusion(結論)

kernel 2.6.28と一緒にext4がリリースされるが、BtrfsやTuxs3が安定するのを待った方がよい。Btrfsの開発陣は短距離走開発を行っているので、Linuxカーネルの開発サイクルに次か、あるいはその次で取り込まれると思われる。

SSDが普及するのは明白だ。理論的に速度の面で磁気ストレージより圧倒的に早く、現実にも既に書き込み速度が追い付きはじめている。最新のIntelランダムアクセスやIOPSは非常に印象的である。Btrfsは当初からSSDへの最適化を取りいれようとしている。しかし、これらの新しいデバイスは、更に速度の早い新しいファイルシステムを生むだろう。

私自身の考えでは、ウェアレベリングやFATエミュレーションSSDの性能を押し止めているため、 新たなファイルシステムが登場すればパフォーマンス改善できるだろう。

2008-10-18

http://anond.hatelabo.jp/20081018072817 の続きだよ

これでおしまいだよ

elisp

sangels.el
(require 'cl)				; for cl-seq

(defvar sangels-movies-dir nil)
(defvar sangels-player "c:/Program Files/GRETECH/GomPlayer/GOM.exe")
(defvar sangels-sort-by 'sangels-sort-by-rate)
(defvar sangels-rate-file "~/.emacs.d/.sangels/rate")
(defvar sangels-buffer "*sangels*")
(defvar sangels-thumbnail "00_thumbnail.jpg")
(defvar sangels-m3u "00_movies.m3u")
(defface sangels-name '((t (:family "fixed" :weight bold :height 3.0)))
  "")
(defface sangels-rate '((t (:family "fixed" :weight bold :height 1.5)))
  "")
(defvar sangels-mode-map
  (let ((map (make-sparse-keymap)))
    (define-key map "n" 'next-line)
    (define-key map "p" 'previous-line)
    (define-key map (kbd "RET") 'sangels-select)
    (define-key map (kbd "SPC") 'sangels-select)
    (define-key map "q" 'sangels-quit)
    (define-key map "+" 'sangels-rate-plus)
    (define-key map "-" 'sangels-rate-minus)
    map))
(defvar sangels-mode-hook nil)
(defvar sangels-highlight-overlay nil)
(defvar sangels-rate-alist nil)

(defconst sangels-rate-max 6)

(defun sangels-insert-movies ()
  (save-excursion
    (let* ((inhibit-read-only t)
           (files (remove-if-not
                   (lambda (x)
                     (and (not (member (file-name-nondirectory x) '("." "..")))
                          (file-directory-p x)
                          (member sangels-thumbnail (directory-files x))))
                   (directory-files sangels-movies-dir t)))
           (ids (mapcar 'file-name-nondirectory files)))
      (erase-buffer)
      (setq ids (sangels-sort-ids ids))
      (dolist (id ids)
        (let ((file (expand-file-name id sangels-movies-dir))
              (pos (point)))
          (insert-image-file (expand-file-name sangels-thumbnail file))
          (end-of-line)
          (insert (propertize (format "%-15s " id)
                              'face 'sangels-name))
          (sangels-insert-rate id)
          (insert "\n")
          (put-text-property pos (point) 'sangels-id id))))))

(defun sangels-sort-by-name (a b)
  (string< a b))

(defun sangels-sort-by-rate (a b)
  (or (> (sangels-rate a) (sangels-rate b))
      (sangels-sort-by-name a b)))

(defun sangels-sort-ids (ids)
  (sort ids
        (or sangels-sort-by
            'sangels-sort-by-name)))
(defun sangels-insert-rate (id)
  (let ((rate (sangels-rate id)))
    (insert (propertize (concat
                         (make-string rate ?★)
                         (make-string (- sangels-rate-max rate) ?☆))
                        'sangels-rate t
                        'face 'sangels-rate))))

(defun sangels-current-id ()
  (get-text-property (point) 'sangels-id))

(defun sangels-play-movie (movie)
  (let ((explicit-shell-file-name "cmdproxy")
        (shell-file-name "cmdproxy"))
    (apply
     'call-process-shell-command
     "start" nil "*tmp*" nil
     (mapcar (lambda (x) (concat "\"" x "\""))
             (list sangels-player
                   (unix-to-dos-filename movie))))))

(defun sangels-select ()
  (interactive)
  (let ((id (sangels-current-id)))
    (when id
      (sangels-play-movie (expand-file-name
                           sangels-m3u
                           (expand-file-name id sangels-movies-dir))))))

(defun sangels-quit ()
  (interactive)
  (kill-buffer sangels-buffer))

(defun sangels-rate (id)
  (or (cdr (assoc id sangels-rate-alist)) (/ sangels-rate-max 2)))

(defun sangels-rate-save ()
  (interactive)
  (let ((dir (file-name-directory sangels-rate-file)))
    (unless (file-exists-p dir)
      (make-directory dir t)))
  (with-temp-file sangels-rate-file
    (insert (pp-to-string sangels-rate-alist))))

(defun sangels-rate-load ()
  (interactive)
  (when (file-exists-p sangels-rate-file)
    (with-temp-buffer
      (insert-file-contents sangels-rate-file)
      (goto-char (point-min))
      (setq sangels-rate-alist (read (current-buffer))))))

(defun sangels-rate-plus (&amp;optional n)
  (interactive "p")
  (setq n (or n 1))
  (let* ((id (sangels-current-id))
         (cell (assoc id sangels-rate-alist)))
    (unless cell
      (setq cell (cons id (sangels-rate id)))
      (setq sangels-rate-alist (cons cell sangels-rate-alist)))
    (setcdr cell (+ (cdr cell) n))
    (save-excursion
      (let ((inhibit-read-only t))
        (beginning-of-line)
        (goto-char (next-single-property-change (point) 'sangels-rate))
        (delete-region (point)
                       (next-single-property-change (point) 'sangels-rate))
        (sangels-insert-rate id)))
    (sangels-rate-save)))

(defun sangels-rate-minus (&amp;optional n)
  (interactive "p")
  (setq n (or n -1))
  (sangels-rate-plus (- n)))

(defun sangels-post-command-hook ()
  (save-excursion
    (move-overlay
     sangels-highlight-overlay
     (progn
       (move-beginning-of-line 1)
       (point))
     (progn
       (move-end-of-line 1)
       (forward-line)
       (point))
     (current-buffer))))

(defun sangels-mode ()
  (interactive)
  (kill-all-local-variables)
  (use-local-map sangels-mode-map)
  (setq sangels-highlight-overlay (make-overlay 0 0))
  (overlay-put sangels-highlight-overlay 'face 'highlight)
  (overlay-put sangels-highlight-overlay 'evaporate t)
  (make-local-variable 'post-command-hook)
  (add-hook 'post-command-hook 'sangels-post-command-hook nil t)
  (setq major-mode 'sangels-mode)
  (setq mode-name "Sangels")
  (run-mode-hooks 'sangels-mode-hook)
  (set-buffer-modified-p nil)
  (setq buffer-read-only t))

(defun sangels (&amp;optional arg)
  (interactive "P")
  (when (or arg (not sangels-movies-dir))
    (setq sangels-movies-dir (read-directory-name "movies dir: ")))
  (sangels-rate-load)
  (switch-to-buffer (get-buffer-create sangels-buffer))
  (sangels-insert-movies)
  (sangels-mode))

(provide 'sangels)

2007-09-10

Gauche によるもう少し効率的なバージョン

(define str "Hello world")

(let ((a 0))
  (let1 b (with-input-from-string str
	    (lambda ()
	      (port-fold
	       (lambda (c b)
		 (if (eqv? #\o c) (inc! a))
		 (+ 1 b))
	       0
	       read-char)))
    (print a " " b)))

あるいはこう。

(use srfi-1)

(define (times* e n)
  (map (lambda _ (e)) (iota n)))

(define-macro (with-gensyms var . body)
  `(let ,(map (cut list <> '(gensym)) var)
     ,@body))

(define-macro (with-gensyms* var n . body)
  `(let ((,var (times* gensym ,n)))
     ,@body))

(define-macro (port-vfold proc seed reader)
  (with-gensyms
   (loop %proc v)
   (with-gensyms*
    pr (length seed)
    (with-gensyms*
     npr (length seed)
     `(let ((,%proc ,proc))
	(let ,loop ((,v (,reader)) ,@(map list pr seed))
	     (if (eof-object? ,v)
	       (values ,@pr)
	       (receive ,npr (,%proc ,v ,@pr)
		 (,loop (,reader) ,@npr)))))))))

(receive (a b)
    (with-input-from-string "Hello world"
      (lambda ()		    
	(port-vfold
	 (lambda (c a b)
	   (values
	    (if (eqv? #\o c) (+ a 1) a)
	    (+ 1 b)))
	 (0 0)
	 read-char)))
  (print a " " b))

文字列操作関数って高価じゃね?

2007-08-26

男性も読んでおられるかと思いますので、夫の立場の方にお願いです。社会での活動が厳しいことはお察ししていますが、妻は夫と会話をしたり、一緒に行動したりするのが好きなことを忘れないでくださいね。

第5回 夫婦関係に悩んだら|e-mama


こんなの大嘘だぜ。

ログイン ユーザー登録
ようこそ ゲスト さん