カテゴリー
ツール

ublacklist – 検索エンジンの結果から特定ドメインを排除するブラウザ拡張

iorate/ublacklist は、グーグル検索(やその他の検索エンジン)で、検索結果から特定のドメインの結果を隠すというブラウザ拡張(Chrome, Firefox, Safari対応)です。

Chrome Store での Ublacklist拡張配布ページ

Chrome版でためしてみました。ブラウザの上部に進入禁止のようなロゴの Ublacklist ボタンが出て、そこからオプションの編集画面へ行けます。

オプションメニューでは、検索結果から排したいドメインやURLを、正規表現などで指定できます。

ublacklist拡張のオプションメニュー

とは言っても、マッチさせたいパターンを入力するのはプログラマー以外は楽ではないでしょう。

ublacklist拡張で、検索結果からサイトをブロック対象に追加

検索結果のページから、「このサイトをブロックする」でパターンを追加することもできるので、検索しながら「このサイトの結果は自分には合わないな」と思ったら追加していけば、自分のブロックリストを育てていくことができるでしょう。

メニューも説明もすべて日本語化されていますし、ブロックしたサイトのリストを他のPC間で共有したり、公開して他のユーザーに共有したりと、機能が充実していますね。オープンソースで更新も活発そうです。

業界によっては検索しても上位のページが検索エンジンに特化されたものばかりで、実際に役に立つページが見つけにくいということもあるでしょう。そういうサイトを頭で覚えて避けていくのも年功かもしれませんが、このようなツールを使って見分けるところも自動化してしまうのは仕事の効率化の一つと言えるでしょう。

どのサイトの情報が自分にとって有用かを見極めること自体が難しいこともあるでしょうし、一度ブロックしてしまうと間違いを正せなさそう、などの問題もありそうですけれど。

Hacker News では、uBlock Origin など一般的な広告ブロッカーツールなどで同様の結果を得るための設定方法も紹介されていて、これはこれでブラウザ拡張を入れる個数が増えなくていいと思います。機能特化した拡張の簡便さを取るかどうかですね。

[追記] 社内から、StackOverflow の単純機械翻訳サイト(スパムサイト)をブロックするリストの情報を教えてもらいました。これいいですね。

via uBlacklist – Block specific sites from appearing in Google search results | Hacker News

カテゴリー
ツール

rss-proxy – 非対応のwebサイトからRSSやJSONを生成する、セルフホストもできるOSSツール

damoeb/rss-proxy は、ウェブサイトが RSS feed を提供していなくても、HTML の構造から類推した新着情報を切り出してくれるオープンソースのツールです。

feed を提供してないウェブサイトのURLを入れると、html の構造から列挙になっている箇所を探し出し、生成する新着 feed の候補を並べてくれます。

それぞれの候補が差している箇所は赤点線で示されるので、ここが自分の欲しい新着情報だと思ったら、右下のfeed生成ボタンを押すと、RSS feed が生成されます。

RSS/ATOM 形式だけでなく、JSON を生成することもできるので、プログラムから利用したい場合はそちらが便利という人もいるでしょう。

デモサイトもあるのでここで動作を試すこともできますが、ソースコードは公開されており、呼び出すだけで動くdockeイメージも配布されているため、ローカルでも簡単に使ってみることができました。

スーパーマーケットの特売情報をJSONで取る、とか手軽にできそうです。

ローカルPC や自分のVPS等で動かしておくことで、これまで RSS リーダーで捕捉できていなかったウェブサイトの新着情報を効率良く受け取ることができるのではないでしょうか。

任意のウェブサイトからフィードを生成するサービスはいくつもあり、RSSリーダーの中にもそのような機能を内蔵しているものもあります。ですが、変換できる数に上限が有ったり、有料だったりと制限のあるものも多いです。

自前でホストすればそのあたりは制限がありませんし、ソースコードがあって自分で中を見ることができるのは、自動の切り出しでは飽き足らず個別に手を加えて新着情報を取りたいサイトが出た場合などに良さそうですね。

rss-proxy on docker
dockerで動かした時のログの様子

via Hacker News

カテゴリー
ツール

hashids – 自然数からか逆なユニークidを生成する多言語に対応したライブラリ

Hashids は、0または正の数をアルファベット+数字の短い並びに変換し、また逆変換で元の数を取り出すことができるライブラリです。

YouTubeの動画ページのURLについている、動画と一対一にマッチした文字列や、bit.ly などのURL転送サービスでURLごとに生成される文字列のような、一意に決まってなるべく短い文字列を作るという目的で作られたそうです。

サイトのトップに列挙されているのですぐにわかりますが、非常に多くのプログラミング言語に移植されています。

JavaScript, Ruby, Python, Java, Scala, PHP, Perl, Perl 6, Swift, Clojure, Objective-C, C, C++11, D, F#, Go, Erlang, Lua, Haskell, OCaml, Elixir, Rust, Smalltalk, ColdFusion, Kotlin, Nim, VBA, Haxe, Crystal, Elm, ActionScript, Bash, R, TSQL, PostgreSQL, PLpgSQL, Dart, Io, Julia, .NET

Rails, Django, WordPress, など言語だけでなくフレームワークやCMSのプラグインも作られていて、多くの言語や環境を超えて生成されたunique id を渡して取り出すこともできそうです。双方向の変換ができますが、ソルトを与えることで変換結果は個々に違わせることができます。
w
昨日のワードフィルタに関する Hacker News の議論で出てきたのでこのライブラリを知ったのですが、このライブラリの十分にコンパクトな仕様の中で面白いと思ったのは、このユニークな文字列の生成時に「よくある英語の卑語が出てこないようにする」ための方法がドキュメントに大きく書いてあることですね。

ユニークな文字列の生成時に、c, s, f, h, u, i, t の文字が連続して並ばないように指定することで、システムが自動的に作ったユニークidの中に英語のマズイ単語が偶然出てくることを防げることが多い、そうです。経験的なものでしょうけどそんなハックがあるんですね。hashid の変換関数ではセパレータとしてこれらの文字を与えることで、セパレータ同士が隣接しないようにできます。これによって使えない文字列が相当数出てしまいユニークidも少し長くなってしまうでしょうけれど、ユニークidに偶然卑語が出るとよくない、と思うサービス開発者も多いのかもしれません。