关于AB和ABP的一点趣事

因为在我接触电脑之后就跳过了使用FireFox的过程,对AdBlock的历史也不是很了解,今天正好看到了Google+上一篇讨论Google+是否应该有ADs的Post,趁着这个契机就了解了一下AdBlock和AdBlock Plus的历史渊源(因为这个问题一直让人比较纠结)

关于Chrome Web Store中AdBlock Plus和AdBlock的一点区别

以下内容站在Chrome用户角度看

AdBlock(以下简称AB)

AB说: 这是为chrome开发的原生的优化过的扩展程序。我是受到了firefox版ABP的启发开发出来的。那个原来叫做AdThwart,最近才更名为ABP的扩展,跟我没有关系。
This is AdBlock: the original Chrome extension written from the ground up to be optimized for Chrome. I was inspired by the excellent Firefox "Adblock Plus" project (which is a fork of an old Firefox "Adblock" project -- confusing, I know), but I'm not related to those, nor to "Adblock Plus For Google Chrome", to which the old "AdThwart" extension was recently renamed.

AdBlock Plus(以下简称ABP)

ABP说: ABP是一个社区驱动的开源项目。最初是为firefox开发的扩展,下载次数上亿,是地球上最流行的浏览器扩展,现在我们也提供Google Chrome版本,这个扩展原来叫做AdThwart。现在整个社区正努力让这个扩展变得和FireFox上一样有用。 记住,那个叫做AB的广告过滤扩展,表现也相当出色,不过跟我们无关。
AdBlock Plus is a community-driven open source project that aims to make the internet better for everyone. It was originally created for the Firefox browser and with more than 100 million downloads it has become the most popular browser extension in the world. We are now offering Adblock Plus for Google Chrome(formerly AdThwart) as well and the community is working hard to produce the same value you know from the Firefox version.
Please note that there is another extension called "AdBlock", which is not related to the AdBlock Plus movement but also works great.
总的来讲,ABP来自正牌的FireFox原先的团队,而AB是个人收到原先FireFox扩展的启发从原先FireFox扩展AdBlock项目fork出来自行开发出来的Chrome扩展。如果你感到还是不甚清楚,月关博客上面有一篇互联网过滤广告的小历史的文章,里面介绍的很详细,有关ABP和AB的历史故事也有很多的介绍。有的时候发现重温过去互联网上的故事还蛮有意思的。既然现在理清楚了两者的关系就让我来说说我的使用经历和我最终的选择吧。

AdBlock vs AdBlock Plus之我的选择

图标(外形)

先来看看两者在Chrome下的形态,AB是在扩展栏,而ABP是在地址栏末尾

内存占用

说实话,我一开始真找不到方法来测试两者内存占用大小关系,因为两个AdBlock内存占用都会和其他扩展程序合并起来,因为我不大了解Chrome扩展的机制,所以没办法判断,不过还好禁用很多扩展之后两个终于分开了.在稳定之后的截图如下:
从图看,AdBlock占用内存还是略高于AdBlock Plus,并且我观察了一段时间,AB确实在内存上占用较多.

易用性(界面)

只能这样说两个的易用性都很强,非常容易上手,而上手之后几乎不需要你设置什么.而在我看来AB的界面设计方面AB较优.选项一目了然,虽然可能有人说ABP设计要更加简洁,当然也没错,可是我还是比较喜欢AB的设计,并且AB在右击菜单中也有相应选项,可以更加快速的屏蔽到某些广告.
    
总体来说AB能允许你单独设定在某一页面停用,某一域名停用,而ABP只能单独设置某一域名下停用.

自定义过滤规则

其实两者都是使用了ABP的过滤列表,或者其他人维护的过滤列表 https://easylist-downloads.adblockplus.org/easylist.txt https://code.google.com/p/adblock-chinalist/ https://easylist-downloads.adblockplus.org/easyprivacy.txt https://adblock-chinalist.googlecode.com/svn/trunk/adblock.txt https://chromeadblock.com/filters/adblock_custom.txt .....

更多的比较

参考这篇文章吧,这篇文章在安装过程,用户界面,速度,Banner广告屏蔽效果,视频广告屏蔽效果,自定义过滤列表方面给出评分,当然也只是一家之言,仅供参考.

总结

因为ABP可能是FireFox过来的老人们开发的,可能积累的东西成熟一点,而AB属个人开发者,所以可能在内存占用,速度,算法优化方面比不上ABP,但是AB能做到现在这样实属不易,看准时机抢占Chrome的市场,倒逼ABP的开发者开发Chrome扩展.而AB因属于个人,所以也能玩出"愚人节将所有广告变成猫"这样的新闻.因为我一直用的都是AB,我也不能以我一家之言推荐大家都使用AB,但是各位看到这里应该能够决断出自己会选择哪一款扩展了吧~~~
参考:豆瓣 zhihu

Ingress Portal申请准则

Candidate Portal criteria Portal申请准则

In general, candidate Portals must be safe and accessible to the public. Candidate Portals should allow for reasonable Portal density - please avoid submitting Portals that overlap, touch or are duplicates of existing Portals. 通常来说,候选的Portal必须是安全的并且能够公开得到的。候选Portal应该在合理的Portal密度下(提交的Portal可能会因为与现有的Portal距离太近而被拒)-请尽量不要提交重复的Portal。

Examples of high-quality submissions that may be accepted:

能够被接受的高质量申请:
  • Art (i.e., statues, outdoor murals, unique building features, fountains, artistic graffiti, etc.) 艺术作品(例如,雕塑,户外壁画,特殊的建筑,喷泉,艺术涂鸦等等)
  • Unique architecture and special outdoor buildings 独特风格的建筑或者特殊的户外建筑
  • Unique local businesses (i.e., a one-of-a-kind, local shop) 独特的当地商户
  • Historic buildings and landmarks 历史性建筑或者标志
  • Transit stations 中转站
  • Public libraries 公共图书馆
  • Public places of worship 公共朝拜礼堂(教堂)
  • Water towers 水塔
  • Entrance signs for campgrounds, national forests, metropolitan parks, state parks and recreational parks 野营区域,国家森林,城市公园以及各种形式的公园的入口

Examples of submissions that may not be accepted if they lack architectural or historical significance:

可能不会被通过的申请:
  • Bridges, tunnels and dams 桥梁,隧道,水坝
  • Fire departments, hospitals and police stations 消防部门,医院,警察局

Example types of submission candidates that are usually rejected:

被拒绝的申请可能有如下情况:
  • Temporary or seasonal art installations 暂时的或者季节性的建筑或者装置
  • General nature shots 风景照
  • Natural features (i.e., creeks, lakes, hills) 自然界存在(例如:小溪,湖泊,山丘)
  • Portal photos that contain people, even if the actual Portal meets all other criteria Portal照片包含了人
  • Portal photos that contain unobscured license plates, even if the actual Portal meets all other criteria Portal照片包含了可识别的牌照

Guidelines for Portal titles

Titles may be submitted i- n any language
  • Where there is no “official” title for the Portal (i.e., fountains and statues without names), we welcome creative titles to distinguish the candidate Portal from other similar Portals
  • Please do not include real names or codenames in titles
  • Please do not include HTML in Portal titles
  • Note: We cannot accept title or description edits for historical markers.
  • Please direct these edits to hmdb.org

Guidelines for Portal descriptions

  • The “Description” field on candidate Portal submissions may be used to populate the More info >> link from the Portal details page on your Scanner.
  • While not required, if you choose to enter a description for your candidate Portal, please include detailed information that other players might find interesting about the Portal; for example, interesting facts about the art or building, historical significance, etc.
  • Descriptions may be submitted in any language.
  • Please do not include HTML in Portal descriptions.
  • Please keep our Terms of Service in mind when providing descriptions.

Tampermonkey调用外部编辑器编辑userscript

在Chrome下有一Tampermonkey的插件,管理油猴子脚本,本身也自带一个编辑器,但是用它的编辑器功能上总有缺陷,而Tampermonkey(以下简称“TM")又不能直接调用磁盘的上的脚本,所以通过特殊方式实现用外部编辑器编辑磁盘上的js文件,然后Tampermoney自动加载自动调用。
以下来自TM的论坛

@require tag能够调用到本地磁盘上的文件,使用这种@require方法可能会有延迟。
具体方法:

  • 打开Chrome扩展管理,勾选TM“允许访问文件网址”
  • 进入TM管理,添加一个新脚本
  • 打开文件管理器,找到脚本存放位置
  • 用中意的编辑器打开脚本
  • 复制脚本Header,在新脚本提交
  • 复制脚本在本机存放的位置
  • 在TM中新建的脚本Header位置插入新行 ---- ”//@require file://<path>/<filename>"
  • 保存TM中新脚本,然后就结束了。

我将英文贴在下面:
  • first go to Chrome's extensions page and check if the "Allow access to file URLs" setting is enabled for TM
  • now goto TM's context menu and click at "Add a new script..." a new TM options tab opens
  • open the file browser (Explorer, Nautilus, ...) and go to the location where the script is placed
  • open your script with your prefered (external) editor
  • copy the userscript header (only the header is needed!) to TM's options tab
  • go to the file browser and click at the address bar (Explorer) or press CTRL-L (Nautilus)
  • copy the path and go back to TM's options tab
  • insert a new line with a valid path and filename to the userscript header: "@require file://<path>/<filename>"
  • save the newly added script and you're done!
一个例子:假设你的脚本在C:\Users\janb\Documents\Scripts\test.js 并且开头如下:
// ==UserScript==
// @name Test'Em'All
// @namespace http://tampermonkey.net/empty.html
// @version 0.1
// @description this does nothing but giving a good example
// @match http://tampermonkey.net/empty.html
// ==/UserScript==

console.log("running at " + window.location.href);
// Normal script now do a lot of other things...

接下来你在TM中创建一个新脚本,内容如下:
// ==UserScript==
// @name Test'Em'All
// @namespace http://tampermonkey.net/empty.html
// @version 0.1
// @description this does nothing but giving a good example
// @match http://tampermonkey.net/empty.html
// @require file://C:\Users\janb\Documents\Scripts\test.js
// ==/UserScript==
结束
现在你就可以编辑本地”C:\Users\janb\Documents\Scripts\test.js“的文件,所有修改都会及时的反映到“http://tampermonkey.net/empty.html”这个网址。

几个注意点:

  • 一定注意将TM的允许访问本地文件勾选上~
  • 如果你的本地地址中文件夹有空格,用 %20 代替 ,例如“file://C:\Eigene%20Dateien\test.js”
  • 你的本地文件不要以 user.js 结尾,user.js文件会被Chrome接管,TM不能接受到~

给Linux用户的注意点:
不要用“~”来表示home directory
在路径开始的时候加“/“ 例如:”file:///home/janb/Documents/test.js“

最后再一次感谢TM的开发人员。
TM的一片通用教程

Quote Of The Day