从一个侧面了解一下 GFW

有一面墙,中国政府至今没有承认它的存在。然而正是这一面墙,阻隔了数亿人自由地使用互联网。我们来看看一河两岸,深圳和香港,这两个跳一下都能到达彼岸的行政区域中,网民们对 Twitter 使用情况的巨大差异。


对比一,“深圳宝安机场”对比“香港赤立角机场”:

对比二,“深圳市中心”对比“香港市中心”:



这就是 GFW 这面“新时代数字柏林墙”的“鬼斧神工”。贴出来仅仅希望大家不要因为被关得太久,就忘记了自由的感觉。我所庆幸的是即便如此,仍然可以在地图上看到星星之火。


Data source: https://api.tiles.mapbox.com/v4/enf.c3a2de35/page.html?accesstoken=pk.eyJ1IjoiZW5mIiwiYSI6IkNJek92bnMifQ.xn2Uj9RkYTGRuCGg4DXZQ#14/22.6358/-246.1878

New Year


真的一点也不觉得跨年之夜和平常夜晚有什么不同。同样写写代码,哄哄孩子,平平常常地过去。看着满屏各种文字的“新年快乐”一点感觉都没有。这些年什么圣诞、新年……各种节日,我已越来越无感觉了。另外,越发觉得,喜欢做啥就做咋,干嘛非要等到某一天?及时作为、及时行乐不更好?生命本来就短暂。

BRICKS

 

What is BRICKS?

BRICKS is a list for all the domains blocked by the Chinese GFW.

Project URL: https://github.com/Leask/BRICKS

What for?

  • In order to collect all the domains blocked by the GFW with the contributers all over the internet.
  • To study how tight the restrictions are, in the Chinese internet.
  • To log the data about this terrifying digital Berlin Wall as much as possible.
  • Help you to walkaround the GFW with a proxy server.

Different from GfwList

GfwList is cool and effective, but is complex and inefficient currently. Now, I want to make it simple and work more smoothly.

Installation

$ git clone https://github.com/Leask/BRICKS.git

Uasge

  • List all websites blocked by Chinese government
    $ ./bricks list
    or just simply $ cat gfw.bricks
  • Add domain into BRICKS
    $ ./bricks add 'google.com'
  • Remove domain from BRICKS
    $ ./bricks remove 'facebook.com'
  • Make PAC file with BRICKS
    $ ./bricks makpac 'SOCKS5 127.0.0.1:8964; SOCKS 127.0.0.1:8964; DIRECT'
  • Make PAC file and launch HTTP server
    $ ./bricks pacsrv 'SOCKS5 127.0.0.1:8964; SOCKS 127.0.0.1:8964; DIRECT'
  • Show help infos
    $ ./bricks help

Contributing

  • Fork -> features implement -> tests -> pull request
  • Fork -> add domain to list -> tests -> pull request

See also

Flora_Pac: https://github.com/Leask/Flora_Pac

Get support

Email / iMessage / Hangouts: i@leaskh.com

创作的瓶颈永远来自自身

《Apple – 新しい何かを始めよう》页面美轮美奂,洋洋洒洒列出了在优秀工具的帮助下,人们用 iPad / iPhone 创造出一件件精美的绘画、摄影、视频等形式的艺术品。这一系列的创造都很唯美,不过问题在于我始终认为,一个真正优秀的创造者,从来不会因为工具的制约而限制自己的想象力和创意发挥。

一个会画画的人,可能会因为 iOS 的优秀工具而效率更高,但是给一个 Android,依然可以画得很好看,反过来,一个不会画画的人,即便给再优秀的工具,画出来依然是不堪入目。这和很多烧摄影设备,但是拍出来照片完全无法看却自以为是的设备党是一个道理。

我记得中学时候一个同班的妹子,就一个 Windows 画图,就创造过不少的奇迹。对这个观点有兴趣,可以参考一下荷兰摄影师 Haje Jan Kamps 写的 Why I Say No。创作的瓶颈永远来自自身。

扩展一下,其实写代码也一样,你用什么操作系统,什么语言,什么编辑器,你可以有自己的喜好有自己的选择和判断,但是,上升到“圣战”级别的,都只能证明自己水平低。

聊一下用了 Lollipop 几天后的感觉

2014-12-18 14.09.05

由于需要调试翻墙工具在 Android 下的表现,@StonyWong 给了我一个 Moto G 2nd Gen。到手后获得了 Lollipop 更新,在体验几天后,有一些感想,如下。

#Android 5用着其实还是很舒服的,升级到 #Lollipop 兼容后的 app 相对以往的安卓应用已经是脱胎换骨了。但是,好用有个屁用啊~这渣续航完全不能作为主力机器使用……真不是吐槽,是恨铁不成钢。另外,安卓暴露给用户的概念其实还是过多了,设置的项目和描述文字都比 iOS 逊色。

安卓的整个设计逻辑我觉得就是面向 Google 工程师自己的。这种 DNA 一直渗透着,虽然 Lollipop 之后比较注重一般用户的体验,但是仍然觉得不够友好。例如插个 USB,你还要让用户区分 MTP 还是 PTP;升级个系统还要告诉用户这个软件在做优化(ART 预处理)……

虽然很多人会因为这些选项感觉安卓无比强大,但是我却十分反感这些概念的暴露,我情愿希望它像 iOS 一样给我一条安静的进度条……好比那个无法删掉的五页面的桌面和主菜单分离的设计我就无法忍受,每次想开个 app 都要考虑一下它在哪一层……另外,功能入口的疯狂冗余让让我十分难受。

另外安卓的通知中心的确强大,widget 机制更无所不能。问题是正如 iOS8 中开放出来的一系列 API 一样,开放 === 滥用,这个结论在安卓中提现得淋漓尽致。当然了,Android 特别是 Lollipop 中,有很多相当赞的地方,这些大家体验一下很容易有惊喜的感觉,我就不多啰嗦了。

DIY 打官司:上诉

上诉过程相对简单,而且由于最近实在太忙,我就全部交给律师帮我处理了。律师起草好上诉状和委托授权书后,邮件给我,我打印并签字后快递到律师事务所,他们负责帮我提交到了法院。

在这里公开一下上诉状,委托合同基本同一审一致,就不再贴出了:


 

民事上诉状

上诉人(一审原告):黄思夏,男,汉族,1984年4月13日出生,户籍地址:广东省清远市清城区龙塘镇安丰管理区********,身份证号码:4418021984********。

被上诉人(一审被告):刘艳华,女,汉族,1972年10月4日出生,户籍地址:广东省深圳市南山区梅园路********,身份证号码:4401251972********

因上诉人不服深圳市龙岗区人民法院(2014)深龙法横民初字第1253号民事判决,特提出上诉。

上诉请求

  1. 维持深圳市龙岗区人民法院(2014)深龙法横民初字第1253号《民事判决书》的第一项判决;
  2. 维持深圳市龙岗区人民法院(2014)深龙法横民初字第1253号《民事判决书》的第二项判决;
  3. 撤销深圳市龙岗区人民法院(2014)深龙法横民初字第1253号《民事判决书》的第三项判决;
  4. 判决被上诉人按合同约定向上诉人支付违约金6400元;
  5. 判决被上诉人向上诉人赔偿中介费损失1600元;
  6. 判决被上诉人支付因其逾期交房导致上诉人被迫在别处临时短期租房的房租差额损失800元(即4000-3200);
  7. 判决被上诉人承担本案一审与二审的全部诉讼费用。

事实与理由

一、被上诉人已经构成根本违约。

1、被上诉人未按约定在2014年8月10日交付涉案房屋给上诉人。

2、2014年8月12日晚上,双方在房屋现场,均认可房屋设施(灯具、电视机、洗衣机、马桶盖、橱柜、家具等)存在损坏、破旧以及无法使用等情况。由于这样的房屋设施不符合租赁合同的交付约定,因此,双方约定在被上诉人维修后,于8月13日再进行验收。

3、2014年8月13日的验收过程中,上诉人发现被上诉人并未对房屋设施进行维修。

4、在2014年8月14日的第三次验收过程中,上诉人发现被上诉人依然没有对存在问题的房屋设施进行根本的维修。

5、2014年8月15日,被上诉人明确表示不再对房屋设施进行任何的维修。

6、2014年8月16日到22日期间,上诉人多次主动、积极和被上诉人协商,要求交付房屋,但是,被上诉人完全不予理会。

7、2014年9月16日,上诉人发现涉案房屋已被被上诉人单方面出租给案外人。

综上可知,被上诉人从一开始便在房屋交付时间方面存在违约,继而交付不符合租赁合同约定的房屋亦是违约,最后,在上诉人给予长达10天足够被上诉人按租赁合同履约(维修房屋设施后交付设施良好的房屋)的充分时间内,被上诉人仍以语言和行动违反约定。正是被上诉人的前述违约行为,导致了租赁合同根本无法履行,因此,认定被上诉人构成根本违约有事实依据。

二、原审法院认为上诉人在履行涉案房屋租赁合同过程中也存在违约行为,没有事实依据和法律依据。

1、上诉人在2014年8月14日之前,不存在任何的违约事实与行为。涉案房屋租赁合同签订之日至8月14日事实如下:

(1)上诉人按涉案房屋租赁合同的约定,于2014年8月1日预付了40天的房租、两个月租金,并于8月2日支付了中介费用,该事实已得到被上诉人承认、原审法院的查明与确认。

(2)涉案房屋租赁合同约定的交房日期为2014年8月10日,在上诉人没有正当理由而逾期交房的情况下,上诉人在8月10日当天积极地多次致电被上诉人催促交房,被上诉人态度恶劣并拒绝接听原告的电话,上诉人只好于8月10日晚上10:40分给被上诉人发短信“八月十一日拿到钥匙,晚一天下个月就少一天房租。你太欺负人了”,该短信内容已列于上诉人一审起诉时提交的《短信书面记录》证据中,被上诉人认可该《短信书面记录》证据,原审法院也认可该证据。

(3)8月11日,上诉人依然积极联系被上诉人,《短信书面记录》显示8月11日中午1点25分,上诉人给被上诉人发了短信“今天我要看到钥匙,请准备好。谢谢。”。8月11日晚上,被上诉人声称无法在8月11日交房的情况下,上诉人依然与被上诉人进行友好协商。被上诉人认可该《短信书面记录》证据,原审法院也认可该证据。

(4)8月12日晚上,首次验房过程中,上诉人发现房屋灯具、电视机、马桶、厨房柜子、洗衣机、沙发等设施陈旧、损坏或不能使用的情况后,积极与被上诉人友好协商,并最终同意被上诉人不用维修坏掉的电视机(只需要搬走),只需要更换或维修其他有问题的设施,并给被上诉人留下了合理的时间。

(5)8月13日下午,再次验房过程中,上诉人发现被上诉人没有履行已承诺的更换、维修义务,也没有搬走坏掉的电视机。上诉人再次给了被上诉人留下了合理的时间。《短信书面记录》显示,上诉人于8月13日晚上9点52分,给被上诉人发送了短信“刘姐,刚你不接电话。我下班到家听说你今天交房什么都没有维修好。马桶盖,饭厅的灯,洗衣机,消毒柜,洗手池门等等。我希望我听错了,明天再验收的时候我亲自去,希望看到都是好的。如果仍然无法完整交付。就相当于你没有履行应有的义务了。我原本以为后面的事情会相对容易沟通。但是好说话不等于好欺负。还是大家拿一点诚意出来吧。要不然就走法律流程好了,这个房子的事情我烦透了,没想到你连答应换个马桶盖的小事情都能反悔。太失望了。” 被上诉人认可该《短信书面记录》证据,原审法院也认可该证据。

(6)8月14日中午,第三次验房,被上诉人明确拒绝进行其余的维护工作。《短信书面记录》显示,上诉人于8月14日下午2点57分向被上诉人发送了短信“你并没有按照你承诺的按时按质量交付房屋。我们走法律途径解决吧。不好意思,之前浪费了大家的时间。”。被上诉人认可该《短信书面记录》证据,原审法院也认可该证据。

从上面的事实可以认定,被上诉人在8月14日之前,一直很积极地与被上诉人协商、积极地履行涉案租赁合同约定的义务,不存在任何的违约行为。原审法院认为上诉人没有进行积极的磋商之义务,没有事实依据。

2、原审法院认为上诉人8月14日没有接收房屋,存在违约行为,该认定没有法律依据。

根据涉案租赁合同的约定以及《合同法》第二百一十六条的规定,被上诉人具有按时、按约交付房屋的义务,且有义务确保涉案房屋在租赁期间符合约定的用途。在上诉人已积极磋商但被上诉人拒绝履行其先行义务的情况下,上诉人有权继续要求被上诉人交付符合租赁合同约定的房屋。可见,上诉人的要求合理合法,不存在违约的情形。

三、原审法院认为上诉人可以通过自行维修,从租金中扣减维修费用得以实现居住要求,没有事实依据和法律依据。

1、首先,被上诉人8月14日已经明确拒绝进行其余的维修工作,并提供了理由“不再投资这个房子”。“自行维修,从租金中扣减维修费用”这个臆想的方案明显违背被上诉人的意思表示,也与被上诉人的实际行为表现相违。

2、合同的变更需要双方当事人的合意。原审法院把没有达成“自行维修,从租金中扣减维修费用得以实现居住要求”的变更方案归责于上诉人一方,没有事实依据与法律依据。并且,根据《合同法》第二百二十一条,“自行维修,从租金中扣减维修费用”是上诉人(承租人)的权利而非义务,不应把上诉人不行使权利(或行使不能)的行为认定为上诉人的违约行为。

3、如上所述,被上诉人多次逾期交房、且对维修义务多次变换,证明了被上诉人丧失了商业信誉。上诉人有正当理由认为,难以从租金中扣减相关的维修费用,毕竟,在本次租赁关系中,上诉人已预付了两个月房租作为押金,且房租都是按月预付的。

综上,涉案房屋租赁合同履行过程中,被上诉人多次违约,上诉人已尽了必要的磋商义务,上诉人不存在违约行为。并且,被上诉人还存在严重的违约行为致使不能实现合同目的,应当认定被上诉人已构成根本违约。

因此,请判决被上诉人按合同约定支付违约金。本次上诉中,上诉人将违约金金额从一审主张的12000元变更为6400元。

因被上诉人的严重违约行为,导致上诉人发生中介费损失1600元,这一损失是被上诉人的过错导致,因此,需要被上诉人赔偿给上诉人。

因被上诉人的逾期交房行为导致上诉人被迫临时从别处租赁房子居住,发生了800元(4000-3200)的房租差额损失,这一损失也是被上诉人的过错导致,因此,需要被上诉人赔偿给上诉人。

最后,请判决被上诉人承担本案一审、二审的全部诉讼费用。

此致

深圳市中级人民法院

上诉人:    黄思夏    (签章)

2014 年 11 月 10 日


 

事已至此我已经完全是玩的心态了,房租、押金、中介费加起来一万多,我都不要了,律师费几千块我也不在乎了。我就要看看这房东能变态到什么地步?这法院能和谐到什么地步?世界上到底还有没有公义?我将维权到底,绝不退让。