深入鳳梨田底下的一條坑道——珍珠港時代的一座舊地下飛機廠——我坐在終端機前,可以幾近無限地取得世界上幾乎所有男女老幼的通訊,只要人們曾經撥打過一通電話或碰觸過一部電腦。這些人當中,包括三億二千萬美國同胞,他們日常生活的一舉一動都遭到監視,不僅嚴重違反美國憲法,更是違背自由社會的基本價值。


人生是什麼?不只是我們說了些什麼,甚至不只是做了些什麼。人生亦在於我們所喜愛的、所相信的。以我而言,我最喜愛和相信的,是連結,人際的連結,以及促成這些的科技。當然,這些科技也包括書籍。但在我這個世代,連結,主要意味著網際網路。

在你產生反感、明白網際網路瘋狂毒害我們這個時代之前,請諒解,對我來說,當我認識網際網路之時,那是很不一樣的東西。網路既是朋友,也是父母,是一個無邊界、無限制的社群,既是單一、也是無數的聲音,一個已經有人墾殖但尚未遭到剝削的共同邊境,各式各樣的部落和睦相處,每個成員都能自由選擇自己的姓名、歷史和風俗習慣。每個人都戴著面具,然而這種多數匿名造就的文化所產生的事實多於造假,因為重點在於創造與合作,而不是商業與競爭。當然這之間也會有衝突,但善意與善念會勝過衝突——而這正是真正的先驅精神。


往線上發展電子商務的早期浪潮很快便成為泡沫,接著在本世紀之初終於破滅。在那之後,企業界明白,人們在線上的興趣不在於消費,更在於分享,而且網路促成的人際連結是可以賣錢的。如果人們在線上想做的事主要是跟家人、朋友和陌生人報告自己的近況,從而得知家人、朋友和陌生人的近況,那麼企業只需要設法將自己擠進這些社交互動之中,再從中獲利即可。

這便是監視資本主義(surveillance capitalism)的開端,也是我原先所認知的網路的終點。


美國政府在全然漠視開國憲章之下,屈服於這種誘惑,而且一旦嚐過這棵毒樹的果實,便陷入狂熱無法自拔。在暗地裡,政府掌握全民監視的權力,這種權威就定義上而言,對無辜者的傷害遠大於對犯罪者的傷害。

阅读全文 »

如何为 Windows 的 Chrome 设置 Socks5 代理,网上千篇一律的文章都是教你使用 Chrome 扩展 Proxy SwitchyOmega 来实现。

但无法使用代理突破网络封锁,又怎么在 Chrome 扩展商店下载使用 Proxy SwitchyOmega 呢?(Chrome 67 以后不再支持安装本地 .crx 扩展)这就成了先有鸡还是先有蛋的问题。

如果局域网内已有可用的 Socks5 代理服务,在不安装任何程序的情况下(我就是不想装什么 Proxifier),其实简单几步即可实现:

  1. 关闭所有 Chrome 窗口和进程
  2. 右键点击 Chrome 快捷方式,查看属性,获得 Chrome 程序的目标位置,如:

    C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
  3. 打开运行(Ctrl+R),输入命令:

    <chrome.exe>   --show-app-list  --proxy-server="SOCKS5://<address>:<port>"

例如:

C:\Program Files (x86)\Google\Chrome\Application\chrome.exe   --show-app-list  --proxy-server="SOCKS5://192.168.1.10:1080

  1. 运行上述命令后打开的 Chrome 已经自动设置了 Socks5 临时代理,如果 Socks 服务正常的话,你可以畅快地访问 Chrome 扩展商店安装 Proxy SwitchyOmega 了。后面的骚操作就不多说了。

写到这里突然想起来,其实 Socks5 服务有没有在局域网内都无所谓,只要正确设置地址和端口即可。

别忘了这是临时代理,除非运行上述命令启动 Chrome,否则重启 Chrome 代理设置失效。

由于众所周知的原因,非会员下载百度网盘的速度慢的令人发指,所以目前最推荐的度盘下载工具是 Pandownload,但是软件本身需要登录百度账号,如果账号被限速也没辙。经笔者实测,发现 Pandownload 的网页版配合 Aria2 可以无账号高速下载。不过这不是本文重点。

Pandownload 允许用户将度盘分享链接中的 baidu 修改为 baiduwp 后进行访问,可直接解析资源后下载。频繁点击 URL 修改实在麻烦。受《用 JavaScript 为 URL 瘦身》一文的启发,想到可以用 JS 制作小书签,即点即用。

不知道小书签为何物的话,可以参阅少数派的这篇文章

本文提供一些笔者自己收藏使用的小书签,拖动下方链接到浏览器收藏栏即可保存。

网络上有很多提供小书签的网站,比如这个,如果你会 JavaScript 的话也可以自己制作。欢迎各位在评论区分享你的小书签。

Laravel 作为大名鼎鼎的 PHP Web 框架,有着「过度设计」的美誉(滑稽)。也就免不了附带着一些需要学习和摸索才能掌握的奇技淫巧(好吧其实只需要看看文档就行)。笔者结合自身的开发经验,把值得一提的东西梳理成文,便于读者在使用 Laravel 进行开发时事半功倍。

Composer

已经 9102 年了,Composer 作为 PHP 的包管理工具,相信已经不需要做介绍了。使用 Laravel 的过程中不可避免地会使用到各种各样的第三方包,Laravel 毫无疑问是使用 Composer 进行包管理的,对于国内开发者而言,第一件事显然是把 Composer 换为国内源,只需执行一下命令即可修改全局设置:

$ composer config -g repo.packagist composer https://packagist.phpcomposer.com

调试代码

打印变量

一般使用框架自带的 dd() 方法而不是 PHP 原生方法 print_r()var_dump() 来打印变量信息,因为 dd() 方法可以打印多个任何类型变量:dd($object, 123, [123, 324]);

顺便一提,所谓 dd 的意思是 dump, die,而在最新的 Laravel 6 框架中,新增了 ddd() 方法,它是 dd() 方法的升级版,意思是 dump, die, debug,你可以在这篇文章查看该方法的介绍。

打印 SQL 语句

在使用框架的 ORM 查询构造器时,可以通过 toSql() 方法输出原生 SQL 语句。

SQL 语句中的参数值由于被 ? 代替,可以使用 getBindings() 输出构造器中的查询条件:

<?php

$builder = DB::table('user')->where('id', 1);
$bindings = $builder->getBindings();
$sql = str_replace('?', '%s', $builder->toSql());
$sql = sprintf($sql, ...$bindings);

dd($sql);
阅读全文 »

翻转问答 VOL30 | 道理能解决消费主义和奢侈的否定欲望?

Episode Archive

道理无法解决问题

  • 消费主义本身并不是一个多深的批判,对消费主义的批评不需要过高的学术门槛。
  • 批判难度低并不意味着不具备批判价值。
  • 掌握道理本身不难,但改变和解决问题并不能通过了解某个道理来完成。

个人主义与消费依存

  • 消费主义与消费不是一回事。
  • 个人主义兴起之后,社会分工的消费交换使消费主义与消费的关联越来越紧密。
  • 依靠消费来维持日常生活,并不一定是消费主义的,而「由单一消费提供一切」的生活就是消费主义的。举例来说,购买器材录制播客,在录制过程中产出的内容并不是消费行为本身能够购买而来的,所以这一行为本身不是消费主义的。简单来看,消费过程中是否有内容产出,可以视为判断是否是消费主义的一个依据。

平民主义与消费权的平等

  • 消费权的平等伴随这消费门槛的降低而逐渐消失。在过去,某些消费具有门槛,例如衣冠不整不可进入餐厅;贵族社会使用的产品为特供等。
  • 消费权的不平等意味着在既有时代背景下,消费作为一种客体并不是最重要的东西,而导致消费不平等的因素或许比消费更重要,例如前述例子中的文明程度、权力等。
  • 平民主义兴起使得导致消费权不平等的因素越来越被反对,导致消费权不平等的各种特权亦被排斥,进而消逝。例如,一辆好车应该卖给谁,不以驾驶技术高低而论,而是价高者得。
  • 在诉诸消费权平等的过程中,金钱逐渐成为了决定消费的最重要的要素。附着在消费行为上的其他价值被渐渐瓦解,消费内涵的价值成了钱的价值。
  • 追求钱的价值会让物质的使用意义逐渐消逝,成为被观看的现象,让社会景观化
  • 物质本身的使用价值,需要更多的公共场合来展示,需要更多的公众关注。公共场合越小,公共场合越萎缩,社会越景观化,社会就越容易进入消费主义。
阅读全文 »