「.Book」を含む日記 RSS

はてなキーワード: .Bookとは

2024-01-26

ダウンタウン松本さんの記事を見えないようにしていると心が穏やか

最近ダウンタウン松本人志ニュースに関しては、

非常に心がざわつく。

酷いこと言うんだな、とか、いや何かわざとショッキングに伝えてない?とか、

なんだ関係ない写真は、とか、これで文春は何億も稼ごうとしてるんだなとか、いろいろ感じたりする。

ブコメで、したり顔が見えてきそうな人に、反論したくなっちゃったり、

適当なこと言ってる人をボコボコにしたくなったりもする。

でも、やっぱ、そんなこと自分人生時間あんまり意味ないよね。

そもそも当事者間の話だし。

ということで、「uBlockOrigin」というツールブラウザに入れて、

フィルターに以下の様に設定しています

とても心が穏やかです。

ーーーーーーーーーーーーーーーーーーーーーーーーーーー

hatena.ne.jp##li.EntryList_entryListItem__1vXtf:has-text(人志)

b.hatena.ne.jp##.js-keyboard-selectable-item:has-text(人志)

b.hatena.ne.jp##li.js-keyboard-selectable-item.entrylist-image-entry.cat-entertainment:has-text(人志)

b.hatena.ne.jp##.entrylist-header-main > .js-keyboard-selectable-item.entrylist-image-entry.cat-entertainment:has-text(人志)

www.hatena.ne.jp##li.AnondEntry.EntryList_entryListItem__1vXtf:has-text(人志)

www.hatena.ne.jp##li.EntryList_entryListItem__1vXtf:has-text(人志)

news.yahoo.co.jp##.newsFeed_item_link:has-text(人志)

hatena.ne.jp##li.BookmarkEntry.EntryList_entryListItem__1vXtf:has-text(女性自身)

2023-08-31

次にくるマンガ大賞10位全作品1話レビュー

WEBマンガ部門

1 気になってる人が男じゃなかった ttps://comic.pixiv.net/viewer/stories/142066

 ただの百合だった。来るとは思えない。

2 猫に転生したおじさん ttps://yajimasyoukai.blog.jp/archives/22265291.html

 ただのおじさんの顔がうるさいホモだった。来るとは思えない。

3 幼稚園WARS ttps://shonenjumpplus.com/episode/4855956445109234830

 ただの主人公TUEEEEだった。来るとは思えない。

4 訳アリ心霊マンション ttps://kuragebunch.com/episode/3270296674343531283

 ここまで酷かったのでちゃん起承転結漫画になってるから驚いた。来るほどとは思えない。

5 お前、タヌキにならねーか ttps://comic.pixiv.net/viewer/stories/94699

 猫に転生したおじさんよりは面白かった。来るほどとは思えない。

6 拷問バイト君の日常 ttps://younganimal.com/episodes/c44e40bd07ed7

 イケメンが会話してるだけだった。来るとは思えない。

7 放課後ひみつクラブ。ttps://shonenjumpplus.com/episode/316112896941522424

 ヒロインは本当の美少女女装じゃなかった。ちゃんとした漫画してるので来る可能性はある。

8 アフターゴッド ttps://urasunday.com/title/1755

 なんか凄そうな漫画だった。来るのかも知れない。

9 悪役令嬢の中の人断罪された転生者のため嘘つきヒロイン復讐いたします~ ttps://comic.pixiv.net/viewer/stories/106531

 タイトルの印象よりも丁寧な作りだった。来るのかは分からない。

10バンオウ-盤王- ttps://shonenjumpplus.com/episode/316190247030932381

 要素詰め込んでるけど目が滑るってほどではなかった。ちゃんと頑張れば来る可能性はある。

コミックス部門

1 生徒会にも穴はある! ttps://viewer-trial.bookwalker.jp/03/15/viewer.html?cid=f57f295f-d33b-4dbf-972a-794c292fb62f&cty=1

 これだけはちょっと反則しますね。なんでかって言うとこの漫画が伸びた理由が「作者の分身とも言えるキャラクター(いわゆる"ウチの子")をそのまま作品に出してるんだけど、このキャラって作者のエロアカウント獣姦とかもされてたかなりピーキー立ち位置キャラですよね?」っていう部分がバズりの原動力になっているのでそのキャラがまだ出てきてない1話をそのまま貼っても意味ないので。えっと2巻の表紙になってるこの「こまろ」ってキャラがそうなんですけど、このキャラが出てきた時に界隈は明らかに「え??これ出すの??????アリなの???」と騒然としたんですよね。あっ……でも今検索しようとしたら出てこない……え嘘……情報統制みたいのかかってる?マジ??でもここまで書いた増田消すの面倒くさいからこのまま残しますけど、この辺の話はあんましないほうがいいっぽいので皆さん気をつけてくださいね

2 黄泉のツガイ ttps://www.ganganonline.com/title/1327/chapter/53533

 絵を見ただけで来るのは明白ですね。作者実績で殿堂入りという名のハブを導入したほうがいいんじゃないですか?

3 一ノ瀬家の大罪 ttps://shonenjumpplus.com/episode/4856001361517909894

 タコピー鬼つええ!別にこの漫画にはタコピー出てこないしジャンプ読者からタコピーで上がったハードルの下をくぐってる扱いされまくってるのにこんなに伸びるとかすげえ!!!

4 暗号学園のいろは ttps://shonenjumpplus.com/episode/316190246981910093

 原作者ネームバリュー殿堂入りとか導入したらいいんじゃないですか?

5 すだち魔王城 ttps://pocket.shonenmagazine.com/episode/3269754496526909416

 主人公不快感が薄い。ヒロイン可愛いい。この2つの要素は大事ですよね。

6 多聞くん今どっち!?  ttps://www.cmoa.jp/bib/speedreader/?cid=0000236863_jp_0001&u0=1&u1=0&rurl=https%3A%2F%2Fwww.cmoa.jp%2Ftitle%2F236863%2F

 好きな人は好きそう(虚無の感想)。

7 ダイヤモンド功罪 ttps://tonarinoyj.jp/episode/4855956445056488441

 1話の盛り上がりだと今回の20作品トップな感じじゃないですか?次に来そうな漫画青田買いってコンセプトと噛み合ってるのはこういう漫画だと思います

8 帝乃三姉妹は案外、チョロい。 ttps://www.sunday-webry.com/episode/3269754496643512580

 凄くサンデーっぽい漫画だと思ったらサンデーっぽい漫画過去に当ててきた人だった。

9 極楽街 ttps://jumpsq.shueisha.co.jp/rensai/gokurakugai/read/

 売れそうなマンガっぽさがあるので売れそう(虚無の感想)。

10 あそこではたらくムスブさん ttps://www.sunday-webry.com/episode/3269754496551508754

 結構前に見た気がしたので調べたらゲッサンでもう5年も連載してた。なんか新展開があって急に伸びたのかな?全然分からん

URLたくさん貼ったせいか投稿できなかったので全部h抜いた。

2023-05-04

[]2023年4月滅多にホットエントリを出さなドメインからホットエントリ

ここ1年で初めてはてなブックマーク日毎の総合人気エントリ入りしたドメインからホットエントリブクマ数順トップ30

ブクマタイトルドメイン
1376Prompt Engineering Guide – Nextrawww.promptingguide.ai
1323独身男性最近のつくりおき - #つくりおきtsukurioki.hatenablog.com
1205DON'T SAY YESmindhack.xyz
1096良さが分からない名盤(30−1位)(後編)www.zippu21.com
1013離乳食提供開始の反響を受けまして | Soup Stock Tokyoスープストックトーキョーwww.soup-stock-tokyo.com
995日常会話はなぜ成り立つのか? 「究極のフリースタイルである言語を考える【いとうせいこう×ライムスター宇多丸・対談】 | 対談・鼎談Book Bang -ブックバンwww.bookbang.jp
938ニュース :: 【研究発表】昆虫学の大問題=「昆虫はなぜ海にいないのか」に関する新仮説www.tmu.ac.jp
890GPT-1→GPT-2→GPT-3→GPT-3.5→ChatGPTGPT-4までの進化の軌跡と違いをまとめてみた|スタビジtoukei-lab.com
888人生を仕組み化していったら結婚できた件 - Amosapientiamyuchiki1000yen.hatenablog.com
789後輩が配達先で立ちションした件で、ミーティングした日の話 | twistermakiya-twister.com
785ダイエー写真集d-gallery.nakauchi.com
724日立製作所「同期SEの2割が、病気休職治療中」――労務管理システムをハックして改ざん360評価機能せずwww.mynewsjapan.com
712国内クラフトビール業界が抱えるジレンマkyotobrewing.com
675葱ダシの作り方 - /var/lib/azumakuniyukiazumakuniyuki.hatenablog.com
663東大理Ⅲにお子さんが4人受かったお母さんの、例の教育法を受けて育った一般人感想webcache.googleusercontent.com
651ソシャゲ運営を8年やって感じた、良いところと悪いところ - 音速きなこおはぎeihigh.hatenablog.com
645論文読みの日課について - ジョイジョイジョイjoisino.hatenablog.com
638ラッコ水槽iPhoneを落としてしまい、ラッコにより徹底的に叩き割られるepinesis.net
638Suica新改システムはようやっとキタ感が強いよねって話とか何ができるようになるのかとか耐障害性の話。 - O-Lab +Ossan Laboratory+ossan.hatenablog.com
631Linux におけるファイル I/O の基礎itkq.jp
584Cache Storage がめちゃくちゃ肥大化する問題について調べる | ぴんくいろにっきblog.hinaloe.net
574Stable Diffusionでハイクオリティリアル系イラストを生成できるモデル、LoRAを紹介 | Murasan Labmurasan-net.com
569更地にした土地固定資産税が、意外な金額だった - 薬指のブログkusuriyubino.hatenablog.com
569著作権侵害NHKによる無断転載の詳細と裁判結果のご報告|将棋講座ドットコムxn--pet04dr1n5x9a.com
537フェスガチ勢が「疲れにくい」と太鼓判を押すスニーカー「ホカオネオネ」がやっぱりほしい #楽天お買い物マラソン #ソレドコ - ソレドコsoredoko.jp
503GPT作曲くんcompose.yumetaro.info
502生成系AI(ChatGPT, BingAI, Bard, Midjourney, Stable Diffusion等)についてutelecon.adm.u-tokyo.ac.jp
499Vol.107 | PIZZA OF DEATH RECORDSwww.pizzaofdeath.com
482ChatGPT英語例文自動添削プロンプトyanase-yosuke.blogspot.com
481年収1500万円だけど「ペットボトルは買わず水筒持参。徒歩20分以内なら電車に乗らない」と語る女性2023年3月31日)|BIGLOBEニュースnews.biglobe.ne.jp
480なぜHTMLだけなのか。拙著武器になるHTML」の執筆を通して伝えたかたこと - Shibajukushibajuku.net
480三菱重工社名変更のお知らせwww.mhi.com

2023-02-26

anond:20230226100112

/data/data/com.hatena.android.bookmark/

の中にあると思われ。root化しないと見れないが

はてなブックマークアプリの仕組みがわからない

ヘルプか何処かに書いてありそうなんだが探し出せない

どなたか教えていただけないか

はてブアプリ特殊ブラウザだと思うが

履歴cookie等の設定画面やファイル

何処に在るの??

自分Android端末を使ってる

Android8だったか

この増田は、はてブアプリログインしているが

初めから入ってるGoogleChromeとは設定が別みたい

それとも一緒なのか??

hatenaファイル検索しても

Android/data/

com.hatena.android.bookmark

は空

そもそもアプリ本体が何処なのか探し出せない

誰か何か教えてー!

2022-05-22

はてブコメント標準出力に流すやーつ

普段から俺様が使っているスクリプトあるから、公開してほめちぎってもらうぞー!

出力はただの文字列から音声読み上げアプリでも何でも、突っ込んで遊んでくれ。

jq必須です。

ログインせず使うので当然アカウント固有の非表示設定とかは動きません。

あれなIDコメントも全部所得することになるのでご注意ください。

まあそこらへんはsedでも使って気に入らないidの行を勝手に削除してくれ

hatebu_comment.sh

#!/bin/bash

if [[ "$1" =~ ^http ]];then
	: # Success
else
	echo "Error: 引数指定したURLブックマークコメント一覧を取得するやーつ"
	echo "例: ./hatebu_comment.sh 'https://www3.nhk.or.jp/news/html/20200405/k10012369381000.html' | less"
	exit;
fi

if [[ "$1" =~ b.hatena.ne.jp/entry/s ]];then
	# はてブページのURLでも動作するように
	url="https://$(echo $1 | sed -e 's@.*/entry/s/@@')"
else
	url=$1
fi

if ! jq --version > /dev/null ;then
	echo "Error: jqがインストールされていません"
	exit;
fi

curl -s "https://b.hatena.ne.jp/entry/jsonlite/?url=$url" |
	jq '.bookmarks[] | if .comment != "" then ("「" + .user + "」 " + .comment) else empty end' |
	sed 's@^"@@g' | sed 's@"$@@g'

2021-08-05

クマをわらわらさせたい

anond:20210803181833

aa ʕ•̫͡•ʕ•̫͡•ʕ•̫͡•ʕ•̫͡•ʕ•̫͡•ʕ•̫͡•ʔ

じゃなくて

aa ʕ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ•̫͡•ʕ•̫͡•ʔ•̫͡•ʔ

にしたい

javascript:(function (d, lowerThan, count) {
  const MinimumRequiredLength = 33;
  let currentCount = count();

  const elem = d.querySelectorAll(".bookmarkadd-comment-form")[0];
  if (!elem) {
    return;
  }

  if (lowerThan(count(), MinimumRequiredLength)) {
    if (elem.value.slice(-1) !== " ") {
      elem.value += " ";
      currentCount += 1;
    }
  }

  if (lowerThan(count(), MinimumRequiredLength)) {
    const kumas = ['ʕ•̫͡•', 'ʔ•̫͡•'];
    const indexes = '001101';
    for (let i = 0; i === 0 || (lowerThan(currentCount + i * 5, MinimumRequiredLength) || currentCount + i * 5 === MinimumRequiredLength); i++) {
      elem.value += kumas[indexes[i % 6]];
    }

    elem.value += 'ʔ';
    elem.dispatchEvent(new Event("input"));
  }
})(document,
  function(a, b) { return Math.floor(b / a) !== 0 },
  function() { return Number(document.querySelectorAll('.js-bookmarkadd-comment-count')[0].innerText) || 0 }
); //add bear

こういう、特定URL特定bookmarklet を呼び出す extension とか欲しい。これは用途に合わないけれど、クマを消すやつは自動で実行されてほしいものだろうし

2021-08-03

はてブコメント時に、自動で最小限のクマを足すブックマークレット

追記

クマが30匹程度では建設的と判定されないことがあるようなので、そんな時は

const MinimumRequiredLength = 30;

の部分を変えてみてください。

その際は、ドラッグし直すのでなく、

追加済みのブックマークレット右クリック→「編集」で、30の部分だけ書き換えればOKです。

 

追記ここまで

 

 

https://anond.hatelabo.jp/20210803012020

に刺激を受けて作りました

 

id:new3 さんのコメント

https://b.hatena.ne.jp/entry/4706344345181168386/comment/new3

で、書き込み時の自動クマ補完について書かれてたので、それを実装しました。

 

インストール方法

以下の文字列選択して、Chromeブックマークバードラッグしてください。

javascript:(function () {
  const MinimumRequiredLength = 30;

  const currentCount = Number(document.querySelectorAll(".js-bookmarkadd-comment-count")[0].innerText);
  if (Math.floor(MinimumRequiredLength / currentCount) !== 0) {
    const elem = document.querySelectorAll(".bookmarkadd-comment-form")[0];
    if (elem.value.slice(-1) !== " ") {
      elem.value += " ";
    }

    const loopNum = Math.ceil((MinimumRequiredLength - currentCount) / 5);
    for (let i = 0; i !== loopNum; i++) {
      elem.value += "ʕ•̫͡•";
    }

    elem.value += "ʔ";
    elem.dispatchEvent(new Event("input"));
  }
})();

「_5)」みたいな変な名前で追加されるので、右クリック→「編集から好きな名前に変えてください。(addBearとか)

 

使い方

はてブコメント書き込み画面でブックマークレットクリックしてください。

30文字を超えるように、自動的にクマで補完されます

 

これで追加したクマを、コメント一覧画面で削除するためのブックマークレットは、

javascript:(function () {
  document.querySelectorAll(".entry-comment-text").forEach(function (e) {
    e.innerText = e.innerText.replace(/[ʕ•̫͡•ʔ]+$/, "");
  });
})();

です。

セットでお使いください。(名前はremoveBear?)

 

解説

 

誰向け?

私はクマで埋めることはしないのですが、埋めたい人もいるでしょうから、道具としてはあればよいと思いました。

 

クマで埋めてる人は、コメント直前に毎回クマコピペして、

最後クマだけ左頬のパーツを変えて……、など10秒くらい掛けてると思うのです。

その間、「ああ……またこんな作業をして……私ったら承認欲求の塊なのかしら、いやらしいわ」と自己嫌悪してたら可哀想なので、

少しでもネガティブ時間が短くなるよう、活用してみてください。

このブックマークレットを使えば、作業を1秒に短縮できます

 

はてブ仕様が元に戻ったり、さらに変化したりするかもしれないので、過渡期の現象として楽しんでます

中国の「上有政策、下有対策」の日本版みたいなものです。

2018-04-08

読んだページを全部自動ブクマする

数日前に puppeteer で自動PDF にする試みを書いたブログホッテントリに入ってるのを見た

それに影響されて自動ブクマするもの作ってみた

bg.js

const username = ""
const api_key = ""

chrome.runtime.onMessage.addListener((message, sender, sendResponse) => {
	if(message.bookmark){
		bookmark(message.bookmark)
	}
})

async function bookmark(url){
	fetch("http://b.hatena.ne.jp/atom/post", {
		method: "POST",
		referrer: "no-referrer",
		headers: {
			Accept: "application/x.atom+xml, application/xml, text/xml, */*",
			"X-WSSE": await createCredential(),
		},
		body: `
			<entry xmlns="http://purl.org/atom/ns#">
				<link rel="related" type="text/html" href="${url}" />
			</entry>
		`.replace(/\t/g, ""),
	}).then(e => {console.log(e)})
}

async function createCredential(){
	const non = Math.random().toString(36).substr(2)
	const now = new Date().toISOString()
	const buf = new TextEncoder().encode(non + now + api_key)
	const u8a = new Uint8Array(await crypto.subtle.digest("SHA-1", buf))
	const str = Array.from(u8a, e => String.fromCharCode(e)).join("")
	const b64 = btoa(str)
	return `UsernameToken Username="${username}", PasswordDigest="${b64}", Nonce="${btoa(non)}", Created="${now}"`
}

username と api_key を埋めてバックグラウンドで動かす

page.js

chrome.runtime.sendMessage({
	bookmark: location.href
})

ページ内で動かすコード

URLバックグラウンドに投げる

今は全部投げるコードになってるが、必要に応じていらないドメインを弾いたりする

2018-03-22

[]新着リストレイアウト指定メモ

昨日まではURLのお尻に?layout=headlineなどと付けることでGETメソッドを使って変更できてたのだけど出来なくなってしまった。他にも効かなくなったオプションがある。パラメータ名が変わってしまったのかもしれない。

GETメソッドではないがブラウザのLocalStoregeにはそれっぽい値が格納されていた。

bstn.bookmark.layout というキーがあり、その値を"tile","list","headline"と書き換えることでレイアウトを変化させることができた。

他にはbookmark_sort_tabというキーもある。多分並び順を変えられるのだろう。

2015-04-03

はてブ一覧ページで各コメントへのブクマ数を表示するやつ作った

こういう感じ http://i.imgur.com/LCbUGwe.png

// ==UserScript==
// @name        metaBKM
// @include     http://b.hatena.ne.jp/entry/*
// @version     1
// @grant       none
// ==/UserScript==
(function(){
  function make(){
    var list = document.querySelectorAll('#public-bookmarks .bookmark-list > li');
    for(var i = 0;i < list.length;i++){
      var commentLink = list[i].querySelector('.user-comment-link');
      if(!commentLink) {continue;}
      var bkmImg = 'http://b.hatena.ne.jp/entry/image/' + commentLink.href;
      var img = document.createElement('img');
      var a = document.createElement('a');
      img.setAttribute('src',bkmImg);
      a.setAttribute('href','http://b.hatena.ne.jp/entry/' + commentLink.href.replace(/.*?\/\//,''));
      a.appendChild(img);
      var parentElm = list[i].querySelector('span');
      parentElm.insertBefore(a, parentElm.children[2]);
    }
  }
  function check(){
    if(document.querySelector('.commentlist-loading')){
      return false;
    } else {
      return true;
    }
  }
  var timer = setInterval(function(){
    if(check()) {
      console.log(check());
      make();
      clearInterval(timer);
    }
  }, 1000);
})();

2014-01-26

honto.jp電子書籍を買ってみたメモ

あきらめてNexus10で読むことにした

2011-04-07

はてなブックマークエントリーページ新UIを見やすくするユーザCSS

コメントが3行なのを一行に戻す。

コメントがない行を消す

.nocomment{display:none;}

.bookmark-list span.comment { display: inline; }

.bookmark-list img.profile-image { width:18px; height:18px; }

■参考

http://hatena.g.hatena.ne.jp/hatenabookmark/20110405/1301981564

http://hibari.2ch.net/test/read.cgi/esite/1300432939/23-26

23名無しさんお腹いっぱい。:2011/04/06(水) 11:48:38.71

適当だけど誰かがグリモン作るまでこれで。

/*サイドバー非表示*/

#container .curvebox-body { padding:20px; }

#sidebar { display:none; }

/*アイコン縮小&コメ欄高さ詰め*/

.bookmark-list li { padding-left: 20px; }

.bookmark-list img.profile-image { width:18px; height:18px; }

.bookmark-list span.comment { display: inline; }

/*ブクマ用フォーム非表示*/

#add-bookmark-container { display:none; }

/*人気コメント非表示*/

#scored-bokkmarks { display:none; }

https://gist.github.com/903132 を組み合わせて

ブクマ追加は[B!]アイコンからにするとこれまでに近い表示に。

26 :名無しさんお腹いっぱい。:2011/04/06(水) 11:59:27.60

あ、&gt;&gt;23の一番下たいぽだった。

#scored-bookmarks { display:none; }

2011-04-05

stylishで新UIはてブエントリーページのサイドバーを下に持ってくる

http://b.hatena.ne.jp/entry/hatena.g.hatena.ne.jp/hatenabookmark/20110405/1301981564

https://addons.mozilla.org/ja/firefox/addon/stylish/

見た目だけ変えてみたぞ。

あんまりいいもんじゃないと思うけど、サイドバーがなくなったらどんな感じになるか体験してみるといいんじゃないかな。

まあどんなもんかやってみて。叩き台、印象の変化の確認。

あとおまけでスター順の部分は消しておいた。#scored-bookmarksってあるだろ、そこじゃ。

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix("http://b.hatena.ne.jp/entry/") {

#container .curvebox-body {
  padding-right:20px !important;
}
#main, #sidebar {
  width:100% !important;
  float:none !important;
}
#sidebar {
  margin-left:0 !important;
}

#scored-bookmarks{
  display:none !important;
}

}

じゃあの。

二版

http://b.hatena.ne.jp/entry/lifehack2ch.livedoor.biz/archives/51229298.html

うりゃ!

@namespace url(http://www.w3.org/1999/xhtml);
@-moz-document url-prefix("http://b.hatena.ne.jp/entry/") {

#container .curvebox-body {
  padding-right:20px !important;
}
#main, #sidebar {
  width:100% !important;
  float:none !important;
}
#sidebar {
  margin-left:0 !important;
}

#scored-bookmarks{
  display:none !important;
}


.comment {
  display:inline !important;
}
.bookmark-list .profile-image {
  width:16px!important;
  height:16px!important;
  margin-left:-24px!important;
}
.user-navigator.user-navigator-large {
  width:34px!important;
  height:20px!important;
}
.bookmark-list li {padding-left:32px!important;}


}

2010-07-11

ブックマークサイトの指針なのに。(完全な愚痴モード

私は今までに、10個近くのサイト作成公開している。

すべて、ゴリゴリプログラムを作りこんでは、ネット上にサービスを公開する形でサイトを公開している。

ブログとかで色々な情報発信・・・は、十何年前に自分にはできない・・とあきらめたからだ。

(一日に、1個の投稿をする・・など自分にはできない。)

サイトアイデアを思いついたら、短期間集中して作りこみを行い、完成したら公開、このスタイル自分には一番合っている。

公開したサイトが、役に立ちそうかどうかの判断は、ブックマークしていただいた件数を見て判断している。

しかし、はてぶの新着には、一度も表示されたことが無い。

なぜか、サイトへの訪問者が少ない&ブックマークしてもらえる時期が短期間ではないからしょうがないのだけれでも・・。

(新規登録~短期間で複数のブックマークされないと新着には上がらない)

しょうがないといえばしょうがないな・・・。

twitterでも、サイトをつぶやいてみた、でも訪問者少なかった(フォロアーがロボット収集されたフォロアーだからしょうがないか)

今までのところ

はてぶ・・4件(内1件自分

www.mixclips.org・・mixclips・・1件

pub.bookmark.ne.jp・・1件

クイックメールとともにブログで紹介してくれた方・・1件

はてぶ 見てると、一日で、何十~何千のブックマークされるページがあるけど、すごいな・・。

さて、6月20日に公開してから、20日間過ぎたけど、はたしてこのサイト未来はあるのでしょうか・・?

でも、一回公開しちゃったら、利用する方がいる間はなかなかサービス止めれないしな・・・。

一度でいいから、はてぶの新着 トップページに 載ってみたい。

良いサービスサイト宣伝方法考えていかなければ・・。

ニッチサービスだし、需要が少ないことはわかってはいるのだけれでも・・。

サイト作っていて、一番の励ましは、アクセスしかないんだよな・・。

さ、気分一新、本業の3k職である開発に戻ろう・・。

2009-05-19

ISDNでもはてブのページ自動ロード機能を快適に使う秘訣

はてブのページ自動ロード機能って便利なんだけど、ナローバンドだと高確率タイムアウトするんだよね。

ソース見たら10秒でタイムアウトしてた。1ページ=20エントリ分のサイズを70KB弱として、帯域的にぎりぎり読めたり読めなかったりする感じ。(ISDNは64Kbpsだしね。)

そこでタイムアウトの処理を潰してみたら、なんか快適に見れるようになったよ!わーいわーい!

javascript:Hatena.Bookmark.XHR.prototype.cancel=undefined;

2009-01-28

[]キーワードアンカー文字列にあるとそこからキーワードリンクにされてしまう

おそらく一昨日の激しいMOJIBAKE不具合の発生原因となった修正によると思われる、キーワードアンカー文字列にあるとそこからキーワードリンクにされてしまう、という別の不具合が発生している。

日本語などの例

+[http://anond.hatelabo.jp/:title=はてな匿名ダイアリー]
+<a href="http://anond.hatelabo.jp/">はてな匿名ダイアリー</a>
+[http://anond.hatelabo.jp/:title=&#x306F;てな匿名ダイアリー]
+[http://anond.hatelabo.jp/:title=これがはてな匿名ダイアリーの姿]
+[http://anond.hatelabo.jp/:title]

現在、上記のように書くと下記のようなリンクが生成される。

  1. はてな匿名ダイアリー
  2. はてな匿名ダイアリー
  3. はてな匿名ダイアリー
  4. これがはてな匿名ダイアリーの姿
  5. はてな匿名ダイアリー

5番目のパターンは、多くの文字の数値文字参照化と取得した文字との関係で起こっている現象であろうと、たとえば「YouTube - Broadcast Yourself([http://www.youtube.com/:title])」等から推察できる。

英数字の例

+http://www.hatelabo.jp/
+http://anond.hatelabo.jp/
+[http://www.hatelabo.jp/:title=http://www.hatelabo.jp/]
+[http://anond.hatelabo.jp/:title=http://anond.hatelabo.jp/]
+[http://anond.hatelabo.jp/:title=http://www.hatelabo.jp/]
+[http://www.hatelabo.jp/:title=http://anond.hatelabo.jp/]

例えばwwwとこのエントリー内に書いてありキーワードリンクが発生している条件では、上記の内容が下記のようなリンクになる。

この時、ASCII文字によるanondもキーワードである事に注意。

  1. http://www.hatelabo.jp/
  2. http://anond.hatelabo.jp/
  3. http://www.hatelabo.jp/
  4. http://anond.hatelabo.jp/
  5. http://www.hatelabo.jp/
  6. http://anond.hatelabo.jp/

これは若干異なるものの、以下のように連続した英数字からなる文字列の場合は途中でキーワードリンクにならないが、他の場所でキーワードリンクとなってる文字列の場合はキーワードリンクとなる従来の仕様の影響かもしれない。

  • anond0
  • abcwwwxyz

このほか従来からのpタグ(下記参照)に加え、&amp;や&gt;(ASCII文字による&と>)等の不具合も出ている。

<p&gt;

しかし、この修正でhttp://anond.hatelabo.jp/20070129012129と同一の内容であっても、多くのキーワードが正常にリンクされるようになった。

OK

C# $10 (T_T) *ist D +ANIMA yes,mama ok -196℃ .book c/w :active ave;new アンリ・カルティエ=ブレッソン ?B @CHaT [TV] ^H _no PE`Z ||リ・_・`川

文字参照ならヒットするもリンク書き換えならず

AirH" AirH" 女子高生 GIRL'S-HIGH 女子高生 GIRL'S-HIGH MÄR MÄR (*゚∀゚)ノ パキャッ (*゚∀゚)ノ パキャッ

文字参照に変換されるため双方上と同様に

R&B R&B のどごし<生> のどごし<生>

キーワード文字参照ではないが変換されるためヒットせず

P&G

存在するはずだがたぶんはてな側の問題かな?

!K7

含むキーワードを見つけられず

% \ { } ~

キーワード関連

<p&gt; <p&gt; <p>

というわけで、残るは文字参照関係だけかな。

また、近い問題としてhttp://anond.hatelabo.jp/20070328234724もあげておく。修正されていた。

結論としてエスケープは面倒臭

2008-12-19

o 21 !K7

22 AirH"

o 22 AirH"

22 AirH&amp;quot;

o 23 C#

o 24 $10

  • 25 %

26 R&B

o 26 R&B

26 R&amp;amp;B

27 B'z

27 B'z

o 28 (T_T)

o 29 (T_T)

o 2a *ist D

o 2b +ANIMA

o 2c yes,mama ok

o 2d -196℃

o 2e .book

x 2f c/w

o 3a :active

o 3b ave;new

3c のどごし<生>

3c のどごし<生>

o 3d アンリ・カルティエ=ブレッソン

3e のどごし<生>

3e のどごし<生>

x 3f ?B

o 40 @CHaT

o 5b [TV]

5c \

o 5d [TV]

^H

o 5f _no

o 60 PE`Z

7b {

o 7c ||リ・_・`川

7d }

7e ~

MÄR

o MÄR

(*゚∀゚)ノ パキャッ

o (*゚∀゚)ノ パキャッ

P&G

P&G

2008-07-22

[]関連エントリーのツリーをたどれるグレモン

結局概要表示機能追加した。unsafeWindow使いまくり大丈夫かいな。

// ==UserScript==
// @name	Hatena Bookmark Tree Expander
// @namespace	http://anond.hatelabo.jp/
// @include	http://b.hatena.ne.jp/entry/*
// ==/UserScript==
// <div class="info">
//   <ul id="similar_entries" class="bookmarklist">
//     <li></li>
//   </ul>
// </div>
// <div class="info">
//   <ul id="referred_entries" class="bookmarklist">
//     <li id="referred-entry-\d+"></li>
//   </ul>
// </div>
// <div class="info">
//   <ul id="relation_diary" class="bookmarklist">
//     <li id="diary-{id}-\d+"></li>
//   </ul>
// </div>
(function() {

function main() {
	loadBookmarkCommentViewer();
	similar.prototype.rootAppend();
	referred.prototype.rootAppend();
}

function HBTM(target) {
	this.target = target;
	this.targetXPath = "//ul[@id='"+target+"']/li";
	this.targetRegExp = new RegExp('<ul id="'+target+'"(.|\\s)*?</ul>');
}
HBTM.prototype = {
	openIcon:
		'<img width="15" height="15" class="icon" style="opacity: 0.6" src="http://anond.hatelabo.jp/images/common/open.gif"/>',
	closeIcon:
		'<img width="15" height="15" class="icon" style="opacity: 0.6" src="http://anond.hatelabo.jp/images/common/close.gif"/>',
	loadingIcon:
		'<img width="13" height="13" class="icon" src="http://anond.hatelabo.jp/images/common/loading.gif"/>',
	commentIcon: function(url) {
		return '<img class="hatena-bcomment-view-icon" src="http://r.hatena.ne.jp/images/popup.gif" onclick="iconImageClickHandler(this, \''+url+'\', event);">'
	},
	create: function() {
		this.comment = document.createElement("span");
		this.comment.innerHTML = this.commentIcon($X("string(descendant::a/@href)", this.node).value());
		this.open = document.createElement("a");
		this.open.href = "javascript:void(0)";
		this.open.innerHTML = this.openIcon;
		this.close = document.createElement("a");
		this.close.href = "javascript:void(0)";
		this.close.innerHTML = this.closeIcon;
		this.close.style.display = "none";
		this.loading = document.createElement("span");
		this.loading.innerHTML = this.loadingIcon;
		this.loading.style.display = "none";
		this.node.appendChild(this.comment);
		this.node.appendChild(document.createTextNode(" "));
		this.node.appendChild(this.open);
		this.node.appendChild(this.close);
		this.node.appendChild(this.loading);
		this.open.addEventListener("click", bind(this.openAct, this), false);
		this.close.addEventListener("click", bind(this.closeAct, this), false);
	},
	openAct: function() {
		this.open.style.display = "none";
		if (this.tree) {
			this.tree.style.display = "block";
			this.close.style.display = "inline";
		} else {
			this.loading.style.display = "inline";
			this.load();
		}
	},
	closeAct: function() {
		if (this.tree) {
			this.tree.style.display = "none";
			this.close.style.display = "none";
			this.open.style.display = "inline";
		}
	},
	load: function() {
		var url = $X("string(descendant::a[starts-with(@href, '/entry/')]/@href)", this.node).value();
		GM_xmlhttpRequest({
			method: "GET",
			url: "http://b.hatena.ne.jp"+url,
			onload: bind(this.loadCallback, this)
		});
	},
	loadCallback: function(result) {
		var match = result.responseText.match(this.targetRegExp);
		if (match) {
			var sandbox = document.createElement("div");
			sandbox.innerHTML = match[0].replace(this.target,"");
			this.tree = sandbox.firstChild;
		} else {
			this.tree = document.createElement("ul");
		}
		this.append();
		this.loading.style.display = "none";
		this.close.style.display = "inline";
	},
	append: function() {
		this.tree.style.backgroundColor = "transparent";
		this.tree.style.listStyleType = "circle";
		this.node.appendChild(this.tree);
		$X("li", this.tree).each(function(n) {
			var a = $X("a",n).node();
			var c = $X("count(//li/a[@href='"+a.href+"'])").value();
			if (c > 1) n.parentNode.removeChild(n);
		});
		$X("li", this.tree).each(bind(function(node){new this.constructor(node)}, this));
	},
	rootAppend: function() {
		$X(this.targetXPath).each(bind(function(node){new this.constructor(node)}, this));
	}
};

function similar(node) {
	this.node = node;
	this.create();
}
similar.prototype = new HBTM("similar_entries");
similar.prototype.constructor = similar;

function referred(node) {
	this.node = node;
	this.create();
}
referred.prototype = new HBTM("referred_entries");
referred.prototype.constructor = referred;

function loadBookmarkCommentViewer() {
	var head = document.getElementsByTagName("head")[0];
	var script = document.createElement("script");
	script.type = "text/javascript";
	script.src = "http://b.hatena.ne.jp/js/BookmarkCommentViewerAllInOne.1.2.js";
	head.appendChild(script);
	var css = document.createElement("link");
	css.rel="stylesheet";
	css.href="http://d.hatena.ne.jp/css/base.css";
	css.type="text/css";
	css.media="all";
	head.insertBefore(css, head.firstChild);
	window.addEventListener("load",function(){
		var BCV = unsafeWindow.BookmarkCommentViewer;
		BCV.options['screenshot'] = true;
		var asyncCommnetView = BCV.asyncCommnetView;
		BCV.asyncCommnetView = function(url, onCompleteCallback) {
			var div = asyncCommnetView(url, function(){
				onCompleteCallback.apply(this, arguments);
				new unsafeWindow.Ten.XHR("http://b.hatena.ne.jp/entry/rss/"+url, {}, function(result) {
					if (! result.responseText.match(/<description>(.*?)<\/description>/))
						return;
					if (! RegExp.$1)
						return;
//					var desc = document.createTextNode("desc: "+RegExp.$1);
					var desc = document.createElement("li");
					desc.appendChild(document.createTextNode("desc: "+RegExp.$1));
					div.lastChild.insertBefore(desc,div.lastChild.getElementsByTagName("li")[0]);
				});
			});
			return div;
		};
		BCV.asyncCommnetView.origin = asyncCommnetView;
	}, false);
}

function bind(f,o) {return function() {return f.apply(o, arguments)}}

function $X(xpath, context) {
	if (!(this instanceof $X))
		return new $X(xpath, context);
	this.xpath = xpath;
	this.context = context || document;
}
$X.prototype = {
	evaluate: function() {
		var result = document.evaluate(this.xpath, this.context, null, this.type, null);
		switch (result.resultType) {
			case XPathResult.STRING_TYPE : return result.stringValue;
			case XPathResult.NUMBER_TYPE : return result.numberValue;
			case XPathResult.BOOLEAN_TYPE: return result.booleanValue;
			case XPathResult.FIRST_ORDERED_NODE_TYPE: return result.singleNodeValue;
		}
		return result;
	},
	node: function() {
		this.type = XPathResult.FIRST_ORDERED_NODE_TYPE;
		return this.evaluate();
	},
	value: function() {
		this.type = XPathResult.ANY_TYPE;
		return this.evaluate();
	},
	each: function(func) {
		this.type = XPathResult.ORDERED_NODE_SNAPSHOT_TYPE;
		var result = this.evaluate();
		for (var i=0; i<result.snapshotLength; i++)
			func(result.snapshotItem(i));
	}
};

main();

})();

2007-01-29

[]キーワードテスト

OK

C# $10 (T_T) *ist D +ANIMA yes,mama ok -196℃ .book c/w :active ave;new アンリ・カルティエ=ブレッソン ?B @CHaT [TV] ^H _no PE`Z ||リ・_・`川

文字参照ならヒットするもリンク書き換えならず

AirH" AirH" 女子高生 GIRL'S-HIGH 女子高生 GIRL'S-HIGH MÄR MÄR (*゚∀゚)ノ パキャッ (*゚∀゚)ノ パキャッ

文字参照に変換されるため双方上と同様に

R&B R&B のどごし<生> のどごし<生>

キーワード文字参照ではないが変換されるためヒットせず

P&G

存在するはずだがたぶんはてな側の問題かな?

!K7

含むキーワードを見つけられず

% \ { } ~

キーワード関連

<p&gt; <p&gt; <p>

というわけで、残るは文字参照関係だけかな。

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