TAP INTERCAMBIO CÓDIGO QALLARIY CRIPTO KAQPISINCHI BILLETERA CRIPTOIMAYNATATAQ CRIPTO NISQA COINBASE BILLETERA NISQAPI RANTIKUNA

我一直想有一个称手的�以�身�带的设备,�以用�写作�看看视频或者�片时间写写代�。�试过用 Macbook �充当这个角色,但是觉得背在包里��在是太�了。

我考虑过很多方案,但是都�一个一个被我自己毙�了,比方说:

  • GDP Win:å®�在是对 Windows æ��ä¸�起兴趣,å�¦å¤–键盘有点过äº�å°�了。如æ�œçœŸçš„用这个写å�šå®¢å’Œä»£ç �,指尖得长è€�茧。而且价格过äº�感人,看到想哭 🥹
  • DevTerm:Linux 系统,èµ�ï¼�å�¯æƒœå±�幕过äº�å°�了,ä¸�适å�ˆé•¿æ—¶é—´ä½¿ç”¨ã€‚而且续航也是个问题
  • PinePhone:Linux 手机æ�­é…�å�Ÿè£…键盘套件,就和 DevTerm 一样了。如æ�œå�‘ç�°ä¸�好用,还能直æ�¥åˆ·æˆ� Android 系统,当 Android 手机用。官方都声æ˜�了,这个产å“�ç›®å‰�还是å�‘展阶段,使用过程中会é�‡åˆ°ä¸€äº›ä¸�å�¯é¢„知的问题,建议爱折腾的用户购买。为了防止买了个祖宗å›�家,ä»�我ç�©è®¾å¤‡å�˜æˆ�设备ç�©æˆ‘,æ�œæ–­æ”¾å¼ƒã€‚

正在茫然地时候,�然脑海中蹦出�一个�:ChromeOS 。我��对 ChromeOS 了解还�留�:它所有的应用都是基� Web �行� Chrome 之上的,简而言之,他�能�行 Web 应用和�览网页;�时他的轻�级使得 Chromebook 很便宜且性价比很高。�过一番调研之�,我惊讶地�� ChromeOS 已�进化了很多,他的功能性和易用性早已今�昔比,最终我入了一�。当然我并没有打算在本文介� ChromeOS 和 Chromebook 的功能和特性,毕竟这些东西官方网站都有。我更想分享的是,在整个�体验过程中,所看到的�料之外的惊喜。

BITCOIN NISQAWAN RUWAY QULLQI

�在的 ChromeOS �光仅仅支�网页�Web 应用和�进性网络应用(PWA:Progressive Web Apps),�时也兼容 Android 应用和 Linux 应用。它并�是简简��地在 ChromeOS 里��行了 Android 虚拟机和 Debian 虚拟机。整体上体验�常类似� Parallels Desktop 的��模�。Chrome �览器�Web 应用�PWA�Android 应用和 Linux 应用,�以如��生应用一样无�平铺在桌�上。

如上图,我们能看到左上角的 Google Play 和�下角的 Kodi,这两个都是 Android 应用。我们也能看到左下角 Linux 版本的 LibfreOffice,�上角和�侧中间的分别是 ChromeOS 内置 Chrome �览器和 Outlook 的 PWA。虽然三�系统工具集的区别引起了少许外观上的差异以�沙盒隔离造���上的差异,但是整体使用体感上没有�显地差异。

CRIPTO CHIQAPCHAQ APP

如�和 Chromebook �对的�载 Android 13 �以上版本的手机,手机中�行的应用�以直�串�到 ChromeOS 中。串�的形�,并�是投�,而是将手机中的应用如上图��模�中的�生应用一般�行在 Chromebook 上。其�这个应用并没有被安装在 Chromebook 上。

CRIPTO NISQA WALLPAKUNA

我一直在努力��我的英语水平,当然也包括阅读效�。最近��了一个 Bionic Reading 的阅读方法,能够在一定程度上帮助我��阅读效�。

�是�,我开始使用 Jiffy Reader 扩展�自动把我选定的网页转�� Bionic Reading 模�。我一直试图寻找一个工具能够全局的将尽�能多的展示内容都转�� Bionic Reading 模�,但这显然几���能。

ChromeOS 上�应用主�,无�就是网页�Web 应用和 PWA,Android 和 Linux 应用毕竟是�头。而且�者都是�行在 Chrome 之上的,简而言之,Chrome 扩展在这些应用中都会其效�,包括 Jiffy Reader。我对 Outlook 是开� Bionic Reading 模�的,所以在上�那个多窗���截图里�,我们�以清楚看到 Outlook ��标签中 Home�View 和 Help 的一些字�是加粗的。

�简而言之,����有��的�房�件�光�能在�览器里�使用了 😂

02T CRIPTO NISQA

ChromeOS 的布局是支�笔记本和平�两�模�的。它的平�模�� Touch UI Layout,体验就类似�安�平�或者安�手机,而笔记本模�当然就类似�笔记本了。�时�设置为通过识别是���鼠标或者触摸����自动无�切�。

如上图,我入的是一个分体� Chromebook。�次�上和�下兼作�护盖的键盘,Chromebook 都能顺畅地在两个模�之间无�切�,�常的方便。

先写到这了,有什么新的惊喜�慢慢补充�。

CRIPTO BOLSA KAMACHIYBITCOINS NISQAKUNA ROBINHOOD NISQAMANTAGANANCIAYUQ WILLAKUYKUNATA ESTAFA

本文����众软件的简�自由切� – 为网页添加拼音�简�转�[油猴脚本],支�自动将 yyds 转��正�中文一文,主�是为了�正在学习中文的外国朋�介�一下这个油猴脚本。所以熟悉汉语的朋��以直�访问如下�众软件站点进行阅读。

当然如�对本文的英语版有兴趣的�,请移步此页�。

CRIPTO TIYAYANDROIDPAQ CRIPTO MINERÍA NISQA RUWANAKUNAETHEREUM WAÑUSQAÑAM

在中国的时候,å�³æ—¶è�Šå¤©å·¥å…·ï¼ˆå��é�¢ä»¥ IM – Instant Messaging 代替)方é�¢ï¼ŒåŸºæœ¬ä¸Šæ˜¯å¾®ä¿¡èµ°å¤©ä¸‹ã€‚安装一个微信几ä¹�就能和所有朋å�‹ä¿�æŒ�è�”系了。

到了新加�,IM 真的是百花�放,�加之��人出���的�因,对� IM 也有��的�爱,导致你需�安装多个 IM �能和所有新朋����系。简�数了一下,我�在手机上,除了微信,还安装了 WhatsApp�Telegram�Signal�Line�Google Chat�Linkedin 等等。虽然我个人更�爱 Telegram,但我还�得频�地在��的 IM 之间切�,��让人头疼。

市场上,也��出�过一些多�一的 IM,但其�都��么�想,无�就是下�两�:

  1. 通过 Frame 将这些 IM 的网页版集�起�。这�在桌�上体验还勉勉强强;在手机上,�对这些其�是更适�大�的 UI 简直是噩梦。
  2. 通过抓包或者分�网页版将内容��出��,�新组装一个集�度更高更�观的 UI 出�。�白说,这�方�让我很担心数�安全问题,毕竟它会破��这些 IM �本端对端加密的��性。

然而,�段时间我��一个� Beeper 的�务,让我看到了一点曙光。

根�官网的介�,这简直是满足我对一个多�一 IM 的所有想象。�是�断注册,然�被��啪啪打脸�

已��了好几个月了,���然还有�几万人,简直是��无期。然�我脑海中�然蹦出�一个念头,既然他是基�开��议 Matrix 建设的,我完全�以�试自己部署一下。

简�调研了下,Matrix 彻底让我心动了:

  1. 支�桥�,�以� WhatsApp�Telegram�Signal 等等其他 IM 进行桥�,通过 Matrix �以收�所桥� IM �务的消�。
  2. 支�端对端加密。它的加密算法是开�的,并已�被��应用场景如 Signal ����的。由�它本身对端对端加密的支�,所以我�然能��所桥�的 IM �务是端对端加密的。等�说,�会因为桥�而破�了�本所使用 IM �务的���护能力。而且在部署的过程中,我��它�光是端对端加密,也是零访问加密。
  3. 完全开�,�以自部署。�光是 Matrix �务本身,Matrix 的所有的桥�组件也是开�的。虽然端对端加密在一定程度上已�足够了,但是�有我完全自部署,�能确定它真正是�到了零访问加密,很大程度上防止中间人攻击。

行动起�,开始部署。

CRIPTO MATEMÁTICAS NISQAMANTA

Matrix �务端的��开���少说也有 6 �,我最终决定使用 Synapse,因为这是唯一一款由 Matrix 核心团队自己��的�务端。

Welcome to the documentation repository for Synapse, a Matrix homeserver implementation developed by the matrix.org core team.

Introduction to Synapse @ https://github.com/matrix-org/synapse

为了方便管�和�续维护,我选用了官方文档上�通过 Docker 的部署方�。文档写的真心完善,但是�顺利部署好,还是�踩几个�的。

在开始部署之�,首先�确定好给 Matrix �务用的域�,这边我们就先以 homeserver.mymatrixhost.com �。确定好域�就开始折腾�置了,至��么安装 Docker 我就�在这里赘述了。

CMC PRECIO LISTA

首先是用如下命令生��置:

docker run -it --rm \
    --mount type=volume,src=synapse-data,dst=/data \
    -e SYNAPSE_SERVER_NAME=homeserver.mymatrixhost.com \
    -e SYNAPSE_REPORT_STATS=no \
    matrixdotorg/synapse:latest generateCode language: Bash (bash)
  • SYNAPSE_SERVER_NAME (å¿…é¡»): æœ�务使用的域å��,就是我们刚刚å�‡å®šçš„ homeserver.mymatrixhost.com。
  • SYNAPSE_REPORT_STATS (å¿…é¡»): 是å�¦ä¸ŠæŠ¥åŒ¿å��统计。我选择 no。
  • /data: Synapse 默认的é…�置文件夹路径,所以上é�¢çš„范例命令,我们将å�·æŒ‚载在了 /data。

如æ�œæˆ‘们选择数æ�®æº�目录为 synapse-data,执行完这æ�¡å‘½ä»¤å��,在 Docker 常规é…�置下,就能在 /var/lib/docker/volumes/synapse-data/_data 这个路径下é�¢å�‘ç�°è¿™ä¸ªæ–‡ä»¶ homeserver.yaml,这个就是 Matrix æœ�务端的é…�置文件,如下:

# Configuration file for Synapse.
#
# This is a YAML file: see [1] for a quick introduction. Note in particular
# that *indentation is important*: all the elements of a list or dictionary
# should have the same indentation.
#
# [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html
#
# For more information on how to configure Synapse, including a complete accounting of
# each option, go to docs/usage/configuration/config_documentation.md or
# https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html
server_name: "homeserver.mymatrixhost.com"
pid_file: /data/homeserver.pid
listeners:
  - port: 8008
    tls: false
    type: http
    x_forwarded: true
    resources:
      - names: [client, federation]
        compress: false
database:
  name: sqlite3
  args:
    database: /data/homeserver.db
log_config: "/data/homeserver.mymatrixhost.com.log.config"
media_store_path: /data/media_store
registration_shared_secret: "bzxSPVVwhHMiSs6b6YRBKreN-i^W^2tCUmS^4r~Hr:_ew,Alkb"
report_stats: false
macaroon_secret_key: "J1kYVZ~+fixo*RI@K5,~W-LoL#lMr0ZVJg.nFN,=MT_bYpk@JJ"
form_secret: "2zXL_q~hI1nF^m#yBumaIvY9dFU~j9uiFO0bGR5Rgc-U5gf6@2"
signing_key_path: "/data/homeserver.mymatrixhost.com.signing.key"
trusted_key_servers:
  - server_name: "matrix.org"

# vim:ft=yamlCode language: YAML (yaml)

大多数�置项�以直�是用默认,简�解释一下几个�置项:

PAYPAL NISQA COINBASE NISQAPI

listeners:
  - port: 8008
    tls: false
    type: httpCode language: YAML (yaml)

如�需�开� https 的�,需�将 tls 改� true。但是我�常�建议,�因有三:

  1. 为容器中应用直��置�书相对比较麻烦,
  2. �留 http ,测试起�会方便很多
  3. �以用一些替代方案��留 http 并�时以 https 对外�供�务,比方说,文档中�到了使用��代�,这也是我使用的方案。�时考虑到 http 的安全性问题,我通过防�墙关闭了外部对 8008 端�的访问,因此,�有我在主机中调试的时候,能本地调用 8008 的 http �务。

USDT A PESO

database:
  name: sqlite3
  args:
    database: /data/homeserver.dbCode language: YAML (yaml)

Synapse 支� PostgreSQL 和 SQLite,考虑到我�是拿�自用以�更方便的部署,我选择了 SQLite。�时因为�置文件夹使用了默认的 /data ,所以最终�置文件路径为 /data/homeserver.db。

�下�就是

DOGECHAIN NISQA BILLETERA

因为��除了 Synapse,我们还需��行桥�组件,而这些桥�组件将会以独立容器�行,并�会和 Synapse 在一个容器里�。所以�常有必�在�行 Matrix 之�把网络桥先�置好,这样�这些�务就能以容器�作为域��互相进行网络访问了。

docker network create synapse-netCode language: Bash (bash)

�在�以�试�行 Matrix 了。

docker run -d --name synapse \
    --mount type=volume,src=synapse-data,dst=/data \
    -p 8008:8008 \
    --net synapse-net \
    matrixdotorg/synapse:latestCode language: Bash (bash)

如上命令,我们通过 –name synapse æ�¥å‘½å�� Matrix æœ�务的容器,以便äº�我们å��é�¢é€šè¿‡è¿™ä¸ªå®¹å™¨å��æ�¥å¯¹å®¹å™¨è¿›è¡Œæ“�作。我们也通过 --net synapse-net 将这个容器链æ�¥åˆ°äº† synapse- net 这个网络桥,这样å­�别的容器å�¯ä»¥é€šè¿‡ synapse 这个域å��æ�¥è®¿é—®è¿™ä¸ªå®¹å™¨ã€‚

docker logs --tail 100 synapseCode language: Bash (bash)

�以通过这个命令查看下最新 100 �日志,检查一下�行情况。如��是自用没有过多���置的�,让 Matrix 跑起�其��常容易。在用防�墙堵� 8008 端�之�,�以访问这个地� http://{你所部署�务主机的对外 IP}/_matrix/static/ 检查你的 Matrix 状�。如�正常的�,会显示如下:

�时�以通过这个命令 docker network inspect synpase-net 查看所以��到 synpase-net 网络桥的容器的网络�置。

IMAYNATATAQ BITCOINS NISQAKUNATA RANTIKUNKI

作为一个懒人,我的�境是通过 DigitalOcean 的一键部署功能创建的 LAMP 主机,所以虽然我对 Apache2 并�熟悉,但是为了图方便,还是选择用 Apache2 �设置��代�了。

首先先在 /etc/apache2/sites-available/000-default-le-ssl.conf �加如下�置:

<VirtualHost *:443>
    ServerName homeserver.mymatrixhost.com

    RequestHeader set "X-Forwarded-Proto" expr=%{REQUEST_SCHEME}
    AllowEncodedSlashes NoDecode

    ProxyPreserveHost on
    ProxyPass /_matrix http://127.0.0.1:8008/_matrix nocanon
    ProxyPassReverse /_matrix http://127.0.0.1:8008/_matrix
    ProxyPass /_synapse/client http://127.0.0.1:8008/_synapse/client nocanon
    ProxyPassReverse /_synapse/client http://127.0.0.1:8008/_synapse/client

    ErrorLog ${APACHE_LOG_DIR}/error-matrix-server.log
    CustomLog ${APACHE_LOG_DIR}/access-matrix-server.log combined

    Include /etc/letsencrypt/options-ssl-apache.conf
    SSLCertificateFile /etc/letsencrypt/live/homeserver.mymatrixhost.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/homeserver.mymatrixhost.com/privkey.pem
</VirtualHost>Code language: Apache (apache)

在真正生效以上�置之�,还需��用必�的 Apache 模�。�通过如下命令�用:

a2enmod headers
a2enmod proxy
a2enmod proxy_httpCode language: Bash (bash)

其�在�置��代�的过程中,我�到了一个比较奇怪的事情。当我没有�用 headers 或者 proxy 模�的情况下,我直��� Apache2 �务,Apache2 会�动失败并报错�示我�用这两个模�。但是如� proxy_http 没有�用的�, Apache2 �务是�以被正常�动的。�是在通过代�端�访问�务的时候,会报如下错误:

AH01144: No protocol handler was valid for the URL /_matrix/static (scheme 'http'). If you are using a DSO version of mod_proxy, make sure the proxy submodules are included in the configuration using LoadModule.Code language: JavaScript (javascript)

报错内容也让我很费解,里��到的�然是 mod_proxy,直到我在 stackoverflow 一个高��答的评论里���除了 proxy ,proxy_http 也需�被�用。

�是很了解 Apache2,哪�朋��白为什么报错什么费解的�,求解答。

�下�就是申请 https �书和绑定域�,这里就��赘述了。一旦�置�功,当你访问 https://homeserver.mymatrixhost.com/_matrix/static/ ,能�次看到如下页�。

��我们将 Matrix 用�生产使用,所以务必关闭外部对 8008 端�的访问能力,因为 8008 �供的是�安全的 HTTP �务。

KAYPI HUK CRIPTO CHANIN WILLAKUY KACHKAN

既然 HTTPS 已��置好,那我们�以正�使用 Matrix �务了。�使用之�,还需�完�两件事情:管�员账户的创建和客户端。

TIYANA QHAWAY CRIPTO ARENA

�以通过如下命令�创建一个管�员账户

docker exec -it synapse register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml -aCode language: Bash (bash)

务必�加上 -a �数,�则创建的将会是普通账户。在此,我们�定这个管�员账户为 matrixadmin 以便��使用。

API3 CRIPTO NISQA

因为 Matrix 是开��议,所以�以�该页���,�在业界已�有很多 Matrix 客户端。在我�试了 Element 和 FluffyChat 之�,我最终选择了 FluffyChat。

选定好客户端�,就�以�试登陆了。登陆时,务必将�务端� Matrix.org 改�我们自部署的 homeserver.mymatrixhost.com,并输入上一步中生�的管�员账户的用户�和密�。�出�外的�,就�以顺利通过客户端登陆 Matrix �务了。

�下�,将开始进入最有��的部分:将这个 Matrix �务��一个多�一端对端加密 IM �务。

SICHUS KUNAN P’UNCHAY BITCOINPI 100 DÓLARES QOLQETA CHURANI CHAYQA

先� WhatsApp 和 Telegram 目�最�行的两大 IM 开始�。和部署 Synapse 一样,我�考官方文档�样选择使用 Docker ��行桥�组件

CRIPTO PORNO NISQA

TESLA TOKEN CHIQAP

先使用此命令 mkdir mautrix-whatsapp && cd mautrix-whatsapp 创建一个用æ�¥ç»´æŠ¤é…�置的目录,æ�¥ä¸‹æ�¥æ‰§è¡Œ docker run --rm -v `pwd`:/data:z dock.mau.dev/mautrix/whatsapp:latest 以åˆ�始化é…�置。然å��,你会在 mautrix-whatsapp 目录中看到 config.yaml 这个文件。

大多数�置�以直�使用默认值,简�介�一些需�修改和关注的�置项。

homeserver:
    # The address that this appservice can use to connect to the homeserver.
    address: http://synapse:8008
    # The domain of the homeserver (also known as server_name, used for MXIDs, etc).
    domain: homeserver.mymatrixhost.com

    # What software is the homeserver running?
    # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
    software: standard
    # The URL to push real-time bridge status to.
    # If set, the bridge will make POST requests to this URL whenever a user's whatsapp connection state changes.
    # The bridge will use the appservice as_token to authorize requests.
    status_endpoint: null
    # Endpoint for reporting per-message status.
    message_send_checkpoint_endpoint: null
    # Does the homeserver support https://github.com/matrix-org/matrix-spec-proposals/pull/2246?
    async_media: false

# Application service host/registration related details.
# Changing these values requires regeneration of the registration.
appservice:
    # The address that the homeserver can use to connect to this appservice.
    address: http://mautrix-whatsapp:29318Code language: YAML (yaml)

�知�是�还记得,我们��创建了 synapsenet 这个网络桥,这样�容器间�以将容器�作为域��互相进行网络通讯。以上 homeserver 的 address �置项正是用�声���我们部署的 Synapse �务。由�这些容器都�行在�一个主机,WhatsApp 桥�组件�以通过 8008 端��访问 Synapse 的�安全 http �务,所以我们将 address �置为 http://synapse:8008。以此类�,appservice 的 address �置项为 http://mautrix-whatsapp:29318。domain 当然就是之�我们�定的 homeserver.mymatrixhost.com。

    # Database config.
    database:
        # The database type. "sqlite3-fk-wal" and "postgres" are supported.
        type: sqlite3-fk-wal
        # The database URI.
        #   SQLite: A raw file path is supported, but `file:<path>?_txlock=immediate` is recommended.
        #           https://github.com/mattn/go-sqlite3#connection-string
        #   Postgres: Connection string. For example, postgres://user:password@host/database?sslmode=disable
        #             To connect via Unix socket, use something like postgres:///dbname?host=/var/run/postgresql
        uri: file:///data/db.db?_txlock=immediateCode language: YAML (yaml)

一样的��。虽然 WhatsApp 桥�组件也支� PostgreSQL,但自用�务且图方便,我选择 SQLite。如��动的时候,�到�始化 DB 失败的报错,�以直�用 touch db.db �创建一个空数�库文件。

    # End-to-bridge encryption support options.
    #
    # See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info.
    encryption:
        # Allow encryption, work in group chat rooms with e2ee enabled
        allow: true
        # Default to encryption, force-enable encryption in all portals the bridge creates
        # This will cause the bridge bot to be in private chats for the encryption to work properly.
        default: trueCode language: YAML (yaml)

将 allow 设置为 true,WhatsApp 桥�组件将会支�对桥�会�开�端对端加密。将 default 设置为 true 之�,该桥�组件就会默认对所有的桥�会�开�端对端加密。

permissions:
    "*": relay
    "homeserver.mymatrixhost.com": user
    "@matrixadmin:homeserver.mymatrixhost.com": adminCode language: YAML (yaml)

最�就是桥�应用�务的���置,admin 就是之�我们�定的 matrixadmin 用户,如上。

IMARAYKUTAQ BITCOIN URMAYKUCHKAN

�置文件已确定好,�下�就该生�应用�务注册文件。�次执行刚刚相�的命令。

docker run --rm -v `pwd`:/data:z dock.mau.dev/mautrix/whatsapp:latestCode language: Bash (bash)

�置文件夹中会出�一个新文件 registration.yaml,然�将该文件拷�到 Synapse 的�置文件夹中,并起一个更容易识别的文件�。

cp registration.yaml /var/lib/docker/volumes/synapse-data/_data/mautrix-whatsapp-registration.yamlCode language: Bash (bash)

�下�更新 Synapse �置文件将 WhatsApp 桥�组件注册到 Matrix 中,如下:

trusted_key_servers:
  - server_name: "matrix.org"
app_service_config_files:
  - /data/mautrix-telegram-registration.yaml
  - /data/mautrix-whatsapp-registration.yaml

# vim:ft=yamlCode language: YAML (yaml)

�上��以看到�外一个和 Telegram 相关的�务注册,一会就会介�。

LITECOIN QULLQIMANTA RUWASQA

�下��动桥��务。��我们将 appservice 的 address �置为 http://mautrix-whatsapp:29318,所以我们务必将容器命�为 mautrix-whatsapp 并关�到 synapsenet,如下:

docker run --restart unless-stopped --name mautrix-whatsapp --net synapse-net -v `pwd`:/data:z dock.mau.dev/mautrix/whatsapp:latestCode language: Bash (bash)

BITCOIN 100 K SOMBREROS RANTIKUQ

开�桥��务�,�� Synapse,�出�外的� WhatsApp 桥�就正�工作了。�以在客户端添加 @whatsappbot:homeserver.mymatrixhost.com 为好�,�他�� login,whatsappbot 就会进行桥�的登陆引导,整个�程和登陆网页版 WhatsApp 一模一样。我�解这个桥�组件其�就是一个网页版 WhatsApp 的�装。

至此,WhatsApp 桥��务算是正常�行了,�下���� Telegram 的桥��。

BITCOIN CASINO MANA QULLQI CHURAY

AGIX CRIPTO NISQA

部署和 WhatsApp 桥�组件类似,创建�置目录并生��置文件

mkdir mautrix-telegram && cd mautrix-telegram.
docker run --rm -v `pwd`:/data:z dock.mau.dev/mautrix/telegram:latestCode language: Bash (bash)

�样需�注� Matrix 和 Telegram 桥�应用�务的地�

# Homeserver details
homeserver:
    # The address that this appservice can use to connect to the homeserver.
    address: http://synapse:8008
    # The domain of the homeserver (for MXIDs, etc).
    domain: homeserver.mymatrixhost.com
    # Whether or not to verify the SSL certificate of the homeserver.
    # Only applies if address starts with https://
    verify_ssl: false
    # What software is the homeserver running?
    # Standard Matrix homeservers like Synapse, Dendrite and Conduit should just use "standard" here.
    software: standard
    # Number of retries for all HTTP requests if the homeserver isn't reachable.
    http_retry_count: 4
    # The URL to push real-time bridge status to.
    # If set, the bridge will make POST requests to this URL whenever a user's Telegram connection state changes.
    # The bridge will use the appservice as_token to authorize requests.
    status_endpoint:
    # Endpoint for reporting per-message status.
    message_send_checkpoint_endpoint:
    # Whether asynchronous uploads via MSC2246 should be enabled for media.
    # Requires a media repo that supports MSC2246.
    async_media: false

# Application service host/registration related details
# Changing these values requires regeneration of the registration.
appservice:
    # The address that the homeserver can use to connect to this appservice.
    address: http://mautrix-telegram:29317Code language: YAML (yaml)

�样选择 SQLite 作为数�库

    # The full URI to the database. SQLite and Postgres are supported.
    # Format examples:
    #   SQLite:   sqlite:///filename.db
    #   Postgres: postgres://username:password@hostname/dbname
    database: sqlite://db.dbCode language: YAML (yaml)

端对端加密�置

    # End-to-bridge encryption support options.
    #
    # See https://docs.mau.fi/bridges/general/end-to-bridge-encryption.html for more info.
    encryption:
        # Allow encryption, work in group chat rooms with e2ee enabled
        allow: true
        # Default to encryption, force-enable encryption in all portals the bridge creates
        # This will cause the bridge bot to be in private chats for the encryption to work properly.
        default: trueCode language: YAML (yaml)

���置

    permissions:
        '*': relaybot
        mymatrixhost.com: full
        '@matrixadmin:homeserver.mymatrixhost.com': adminCode language: YAML (yaml)

除此之外,还需��置 Telegram 的 API Key。我相信 Telegram 桥�应用�务是对一系列 Telegram API �作的�装。

telegram:
    # Get your own API keys at https://my.telegram.org/apps
    api_id: 10000001
    api_hash: 123abcdefghijklmnopqrstuvwxyz123
    # (Optional) Create your own bot at https://t.me/BotFather
    bot_token: disabledCode language: PHP (php)

显而易�,上�的 Key 是我虚�的,�是作为例�而已。我们需�� Telegram 应用创建页�申请 API Key。申请过程中,务必在 URL 输入你 Matrix �务的域�,这里我们就需�输入我们�定的 homeserver.mymatrixhost.com。

YUPAY COINBASE NISQA QULLUY

和 WhatsApp 桥�组件的步骤类似,

docker run --rm -v `pwd`:/data:z dock.mau.dev/mautrix/telegram:latest
cp registration.yaml /var/lib/docker/volumes/synapse-data/_data/mautrix-telegram-registration.yamlCode language: Bash (bash)

更新 Synapse �置文件,如下:

trusted_key_servers:
  - server_name: "matrix.org"
app_service_config_files:
  - /data/mautrix-telegram-registration.yaml
  - /data/mautrix-whatsapp-registration.yaml

# vim:ft=yamlCode language: YAML (yaml)

IMAYNATATAQ COINBASEMANTA COINBASE BILLETERAMAN T'INKINAPAQ

�下��动桥��务。��我们将 appservice 的 address �置为 http://mautrix-telegram:29317,所以我们务必将容器命�为 mautrix-telegram 并关�到 synapsenet,如下:

docker run --restart unless-stopped --name mautrix-telegram --net synapse-net -v `pwd`:/data:z dock.mau.dev/mautrix/telegram:latestCode language: Bash (bash)

HAYK'A AKCIYUNKUNA ARKB 1 BITCOINWAN KAQLLA

开�桥��务�,�� Synapse。�以在客户端添加 @telegrambot:homeserver.mymatrixhost.com 为好�,�他�� login,telegrambot 就会进行桥�的登陆引导,整个�程和登陆 Telegram 一模一样。

至此,Telegram 桥��务开始正常�行,我们�以用 FluffyChat 收� Telegram 的会�信�。

SIMBIOGÉNESIS NISQA CRIPTO NISQA

在适应了两天之�,我将 WhatsApp 和 Telegram 的消�通知都关闭了,FluffyChat ��我自部署的 Matrix 已�完全�以�定我日常的 IM 需求了。

最�,��忘记用防�墙关闭外部对 29317 和 29318 两个桥��务端�的访问。

BITCOIN BILLETERA QULLQIPAQ APPQULLQI TIKRAYBITGET ALLQUKUNA

最近入了一款很�众的全键盘手机 Unihertz Titan Slim,�一次唤醒了我对全键盘手机的热爱。�然有了写一篇日志�记录下我这份情况的想法。

�象中,应该是 2008 年,我还在攻读硕士学�的时候。那个时候我是彻彻底底的微软粉,正用�我人生的第一部触摸�手机,�作系统是 Windows Mobile 系统。有事没事刷个机,有时候还会用 C# 手�一个自己需�的手机软件(那个年代,我们还�管手机应用软件� App),�常有��。但是也�得�承认,那个时候触摸�的体验很一般。而且手机系统的交互对触摸�的支�还没有进化到很完�,大多数�作都是�通过一�触摸笔。

Samsung i718

我的���学 Solrex 给我介�了他新入的黑�手机,虽然黑�手机和当时很多主�手机一样也是�触摸�,但是它的系统��侧�的�按�滚轮,使得交互异常顺滑,�间�引了我。�是,我也入手了一款二手黑� 8700。�我了解, 2008 年在中国境内�能买到翻修过的二手黑�手机。

BITCOIN DEPÓSITO NISQAMAN YAYKUY

这也是我拥有的第一款物�全键盘手机。

Blackberry 8700

在笔画和�宫格拼音输入法大行其�的时候,黑�的全键盘简直是一股清�涌入手机市场。全键盘带�的爽快感简直是数字�宫格所无法比拟的。�时它特有的�按�滚轮带�的顺滑感也完全碾�业界最�行的上下键��确定键。当时黑�主打的是商务领域,�得�承认它在硬件交互上的确下了�少功夫,把整体�作效���到了一个新的高度。

其�很长的一段时间,黑�都是一个�眼�商务的�众�牌,直到�国�总统奥巴马的一个固执决定,让它进入了大众视�。�论上�说,当奥巴马入�白宫之�,需�将自用手机替�为总统的专用手机,但是奥巴马��求�留它的黑�手机。而这个有��的决定,使得黑�上了�版头�。

�� Android 和 iPhone 的越�强势,�类主� App 对 BlackBerry OS 的支��得越�越糟糕,所以在我的黑� 8700G 罢工之�,我有一段时间并没有�使用物�全键盘手机,但我�然在等待黑�能够出�一款眼�一亮的产�。最�终�我等到了。

CORREA QULLQI

BlackBerry Passport 为什么� Passport,是因为它的尺寸和护照几�一模一样。

Size of Blackberry Passport

它的正方形�幕�质感等特有的设计语言深深的�引了我,而且它独创的为全键盘�加了触摸设计,使得你�以通过在键盘上滑动手指对���网页�览等��滚轮翻页效�,�常惊艳。

用键盘触摸�滑动光标

而且 BlackBerry �载的 BlackBerry OS 10 兼容 Android 应用,虽然�支� Android 2.3 以下的多数应用,但在当时已��以满足日常需求了,这也是我��新选择黑�物�全键盘手机的���因之一。

当时为了购买这款手机,我首次�试了海淘。��国官网购买��货到香港,然��委托了在香港的朋�帮我寄到了中国大陆。

整体使用上�说,除了因为正方形�幕带�的 UI 适�问题,其他体验都�错 😄

SAMSUNG BLOCKCHAIN: SEGURO MÓVIL CRIPTO BILLETERA TUVIKHOAHOC

� 2016 年开始,黑�公�就�止对手机硬件的开�,开始��第三方公��布手机。虽然黑��开�硬件,但是�然��设计,所以�便��给了第三方公�,TCL �布的几款黑�手机还�错的,比如 BlackBerry KEYone。然�在 2020 年 TCL 也宣布��设计和�布任何黑�手机,并且黑�公�� 2022 年�止了对所有黑�手机的�务,正�宣告了黑�手机的终结。

COINBASE YUPAY HARK'ASQA

虽然黑�手机已�退出����,但是�然有一些�众公�在延续这份情怀,比如 Unihertz。这个公��布的手机都特别�众和有特点,例如:支�对讲机功能的 Atom XL,堪称世界上最�的 4G 手机 Jelly 系列,超长续航带有 22000 mAH 的 Tank,当然也包括带有物�全键盘�刻黑�手机的 Titan 系列。

IMAYNATATAQ MANA QULLQIYUQ BITCOINTA TARINA

Unihertz Titan

出�对 BlackBerry Passport 的钟爱,Titan 一下�就抓�了我的眼�。虽然它和 Passport 差的很远,但是 Titan 的一些�设计,让我感�到了 Unihertz 对黑�的一些特性和痛点的确是懂的。

CRIPTO CHAYMI PHATARINQA

使用 BlackBerry Passport �到最多的问题,就是应用对正方形�幕的兼容问题,而 Titan 手机�以通过三指快速�下滑动切�至迷你模��改��幕展示区域的比例,�常方便。

激活迷你模�

CRIPTO HAYWAY PISI CRUCIGRAMAPAQ

�时它也继承了 Passport 的一些优点,比如:你�样�以将键盘当作触摸��进行翻页,手感�错的全键盘。�时针对全键盘定制化的 Kika 输入法。

MANA RIQSISQA CRIPTO BILLETERA

Titan �管是作为 Passport 的�刻,还是一款三防手机,它都是�格的。但是它真的是太�了,有时候�久一会甚至会让手腕有酸痛感,倒是大幅�少我看手机的时间。�时,���在应用越���和高度功能集�,正方形�幕的兼容能力开始力��心了。

高频的迷你模�切�和过�的份�,使得我一直在期待 Unihertz 能出一个修长且相对轻便的物�全键盘手机。终�我等到了 Titan Slim

COINDRAW NISQA BILLETERA

Unihertz Titan Slim

上图,左侧是 Titan,中间是 Titan Slim,�侧是 Titan Pocket。Titan Pocket �布� Titan 之�和 Titan Slim 之�,虽然轻便了很多,但是�然是正方形�幕,所以我没有考虑。

Titan Slim 硬件方�和软件性能相比 Titan �了一定的��和优化,但整体上并没有本质�化。在交互上,也继承了 Titan 的特性,例如:键盘触摸�物�全键盘等等。设计上�有了很大�化,长方形�幕对当代 App 有了更好的兼容;�能是因为物�全键盘的缘故,所以手机�然相对��,但是相对� Titan 已�轻了很多。长时间用,手腕也没有�显的酸疼感。目� Titan Slim 正是我的主力机。

PIPAS PANTALLAWAN COINBASEYTA HACKEAYTA ATINMANCHU

其�延续黑�情怀,并�是一件易事。�在虽然如 Unihertz 的�众�业在�刻黑�手机,但是�得�承认这些�刻都谈�上完�或者说�够让人满�。在��使用这些物�全键盘手机的时候,必然需��一些妥�。比如我自己,三星手机是我�物�全键盘手机中的最爱,所以之�,我�得�为了三星手机暂时告别物�全键盘手机,而�在我�因为 Titan Slim 暂时告别了三星手机。�能�微能让我欣慰的是,我平时都是�带两部手机,一部主手机,一部工作手机,但其�工作手机的使用�很�,大多数情况下还是用工作电脑。

我也一直在期待,有一�更完�的物�全键盘手机�以出�。让我��需��出妥�的选择。

MAYQIN APPTAQ COVERT USD A USDT MANA HOLDBITCOIN MINERÍA SOFTWARE GRATIS DESCARGARIMAYNATATAQ BITCOINS BILLETERA RUWANA

��生日,�赶上黑五,终�顺利批下预算入了一个新�具: reMarkable 2。😂

reMarkable 2
reMarkable 2

在入之�,就好几个哥们�我��过这个设备了。最终说�我自己购买的,�外�是,它�致的纸质书写手感�轻薄的设计等等�点。但当我用了 reMarkable 2 一段时间之�,��它的�用性和��性远超我的想象。最让我出��料的一点是,reMarkable 的系统是基� Linux 的,而且制造商还慷慨地开放了 SSH 和�供了 root 密�。

刚好赶上年底休�,我也把这��好好把�了一下,顺便水一篇文章�当作笔记了。

CHIQAPCHASQA COINBASE YUPAY

ATHENA BITCOIN ATM QAYLLAYPI

reMarkable 2 对��拉�文字的支��常的糟糕,中日韩文字都会显示为方�,如下图。

方�
方�

有个折中的解法是尽�阅读 PDF,但是我们也�能��我们所阅读的 PDF 文档一定内嵌了所有必�字体。如�一些中日韩 CJK (Chinese, Japanese, and Korean) 字符�赖未内嵌的字体,在 reMarkable 上�还是会显示�方�。

好在 reMarkable �作系统是基� Linux,且开放 SSH 并�供了 root 密�,我们�以很方便的安装中日韩 CJK (Chinese, Japanese, and Korean) 字体。�以�考这个页��供的 RMPKG �安装。

cd /tmp;
wget https://files.davisr.me/projects/rcu/download-fontrmpkg/NotoSansCSFont.rmpkg
wget https://files.davisr.me/projects/rcu/download-fontrmpkg/NotoSansCTFont.rmpkg
wget https://files.davisr.me/projects/rcu/download-fontrmpkg/NotoSansJPFont.rmpkg
wget https://files.davisr.me/projects/rcu/download-fontrmpkg/NotoSansKRFont.rmpkg
chmod +x *.rmpkg
./NotoSansCSFont.rmpkg --install
./NotoSansCTFont.rmpkg --install
./NotoSansJPFont.rmpkg --install
./NotoSansKRFont.rmpkg --install
rm -f *.rmpkgCode language: Bash (bash)

这样�,reMarkable 内嵌的 Noto Sans 字体就会支� CJK 字符的显示。

QULLQIPA CHANIN

reMarkable 2 �生支�的文档格��有 PDF 和 EPUB,这显然是远远�够的。Toltec 这个社区维护的针对 reMarkable 的�费软件��以帮助到我。通过 Toltec 我们�以在 reMarkable 2 KOReader。�托� KOReader 强大的格�兼容性,我们就�以用 reMarkable 阅读几�所有主�格�的文档和书�了。

## 安装完 Toltec 之�,通过 opkg 命令�安装 remux 和 KOReader
opkg update
opkg upgrade
# remux
# 支�多任务的�动器
opkg install remux
# KOReader
# 支� PDF�DjVu�EPUB�FB2 等多�格�的电�书阅读器
opkg install koreaderCode language: Bash (bash)

值得一�的是,reMarkable 的�生书�和 KOReader 的书��能共享,当然我们�以用一些云存储�解决,��会详细介�。�外一定��三确认,Toltec 是�支�你所�有 reMarkable 的系统版本。

Toltec 里�还有很多有��的应用,有兴趣的�以慢慢研究。

BINANCE NISQA QULLQI

reMarkable �供了一个�览器�件。这个�件�以让用户点击一下就能将网页转�� EPUB 文章并放到 reMarkable 的书�上。虽然方便,但是我用起���么习惯:

  1. �件转��的 EPUB 内容的格��常奇怪。
  2. Pocket 是我一直在使用的��阅读应用,我并�打算切到 reMarkable。�外我也�希望把所有收�的页�都放在 reMarkable 书�上�。

�是我�手�试将 Pocket 收�的页�自动��到 reMarkable ,��是我想起了 n8n 这个开�的工作�自动化平�。

之�对 n8n �是略有耳闻,这次�试了一下,的确很方便。我将 n8n 部署在 NAS 上�,然�轻�完�了工作�的�建,下图 n8n 对 Workflow 的展示和编辑 UI,�常的直观和�好。

将 Pocket 收�上传至 Google Drive
将 Pocket 收�上传至 Google Drive

我通过调度器定时�行如上图工作�:

  1. 读�上一次检测的时间点,� Pocket 读�该时间之�我所收�的网�列表。Pocket 的�� API 有一个 since �数,通过这个�数我们�以�除�所有这个时间点之�的网�,以����拉�。
  2. 如�列表�为空,会使用 OneSimpleAPI 将这些页��次转�� PDF 文档并上传至 Google Drive。
  3. 把检测时间点更新为当�。

以上的 OneSimpleAPI 和 Google Drive 的工作�节点都是 n8n �生支�的,调用起��常方便。

在创建上�这个工作�的时候,有几点是需�注�:

  1. 我�� Pocket 的 since �数是以最�更新时间�作为�照物的,所以你如�希望把一些旧的页���至 Google Drive,�以将其�一些修改,例如:修改一下标签��新收�一下这个页�。下次被调度的时候,这个页�就会被��至 Google Drive。
  2. 当你在 Pocket 中删除了一个收�,Pocket 在彻底删除这个收�之�,会先将这个收�的状�改�为 2。所以在转�时需�过滤�状�为 2 的收�,以�将已删除的收�被上传了。
  3. n8n 的 Google Drive 库支�两个认�方�,分别是 OAuth 2 和�务账�。OAuth 2 �求你的�调地�是使用域�的。出�安全考虑,我的 NAS 并没有开放外部直�访问,是需� VPN 的,因此也没有绑定顶级域�。如���和我情况类似的�,请直�考虑使用�务账�。务必将用�上传文件的 Google Drive 目录已读写��共享给�务账�,毕竟�务账�大概�并�是你的 Gmail。
��给�务账�的��
��给�务账�的��

其�我完全�以直�将文章直�放入 reMarkable 的书�,但我个人觉得这并�是一个好主�。我还是希望通过�制 reMarkable 书�上的数�,���我能够完�当�的阅读�,�� Google Drive 选择新的读物。我�想让过多的文章���我的 reMarkable 书�。

我之�也�到 KOReader 和 reMarkable 2 �能共享书�,所以将文档和书�放在 Google Drive 的中间云存储是一个既能��书�有��,也能��两方都能方便拉�文档的最适�折中方案。

CRIPTO BURBUJA NISQA TABLA

长久以�,我一直是使用 Calibre �管���出版物,例如:�说�书��漫画和论文等等。��有了 NAS,我�将 Calibre 的书库�移到了 NAS 中,并在 Docker 容器中�行 Calibre Web,这样�我在任何设备都能对我的出版物收�进行管�。

Calibre Web 其�并�是 Calibre 的官方出�,在 GitHub 也有�止一个 fork。我个人比较�� linuxserver.io 的镜�。�如你在部署 Calibre Web 之�没有使用过 Calibre,那你会需�一个�始的书库文件 metadata.db 。你�以安装 Calibre ��始化一个,或者直��这里下载。

Calibre Web 除了给用户�供了对 Calibre 的书库基� Web 的管�能力,还支� OPDS 目录。

The Open Publication Distribution System (OPDS) Catalog format is a syndication format for electronic
publications based on Atom and HTTP. OPDS Catalogs enable the aggregation, distribution, discovery,
and acquisition of electronic publications.

OPDS Catalogs use existing or emergent open standards and conventions, with a priority on simplicity.

OPDS Catalog 1.2

这样�,我们就�以通过如下方法��索出版物:

# curl --user {username}:{password} "http://{IP}:{port}/opds/search/{queryString}"
curl --user username:password "http://{IP of NAS}:8083/opds/search/root%20cause"Code language: Bash (bash)

如能�索到,ODPS 将会把出版物信�以 XML 格�返�,其中包括书�和下载链�:

<?xml version="1.0" encoding="UTF-8"?>
<feed
  xmlns="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/terms/"
  xmlns:dcterms="http://purl.org/dc/terms/">
  <id>urn:uuid:2853dacf-ed79-42f5-8e8a-a7bb3d1ae6a2</id>
  <updated>2022-12-29T16:23:55+00:00</updated>
  <link rel="self"
        href="/opds/search/root cause?"
        type="application/atom+xml;profile=opds-catalog;type=feed;kind=navigation"/>
  <link rel="start"
        href="/opds"
        type="application/atom+xml;profile=opds-catalog;type=feed;kind=navigation"/>
  <link rel="up"
        href="/opds"
        type="application/atom+xml;profile=opds-catalog;type=feed;kind=navigation"/>
  <link rel="search"
      href="/opds/osd"
      type="application/opensearchdescription+xml"/>
  <link type="application/atom+xml" rel="search" title="Search" href="/opds/search/{searchTerms}" />
  <title>Calibre-Web</title>
  <author>
    <name>Calibre-Web</name>
    <uri>https://github.com/janeczku/calibre-web</uri>
  </author>
  <entry>
    <title>Root Cause Analysis Handbook</title>
    <id>urn:uuid:06a66a9a-59d4-415b-a472-a413b8cf923d</id>
    <updated>2022-12-22T07:56:20+00:00</updated>
    <author>
      <name>ABS Consulting</name>
    </author>
    <publisher>
      <name>Rothstein Publishing</name>
    </publisher>
    <dcterms:language>eng</dcterms:language>
    <category scheme="http://www.bisg.org/standards/bisac_subject/index.html"
              term="Business &amp; Economics"
              label="Business &amp; Economics"/>
    <summary>Are you trying to improve performance, but find that the same problems keep getting in the way? Safety, health, environmental quality, reliability, production, and security are at stake. You need the long-term planning that will keep the same issues from recurring. Root Cause Analysis Handbook: A Guide to Effective Incident Investigation is a powerful tool that gives you a detailed step-by-step process for learning from experience. Reach for this handbook any time you need field-tested advice for investigating, categorizing, reporting and trending, and ultimately eliminating the root causes of incidents. It includes step-by-step instructions, checklists, and forms for performing an analysis and enables users to effectively incorporate the methodology and apply it to a variety of situations. Using the structured techniques in the Root Cause Analysis Handbook, you will: Understand why root causes are important. Identify and define inherent problems. Collect data for problem-solving. Analyze data for root causes. Generate practical recommendations. The third edition of this global classic is the most comprehensive, all-in-one package of book, downloadable resources, color-coded RCA map, and licensed access to online resources currently available for Root Cause Analysis (RCA). Called by users &#34;the best resource on the subject&#34; and &#34;in a league of its own.&#34; Based on globally successful, proprietary methodology developed by ABS Consulting, an international firm with 50 years&#39; experience in 35 countries. Root Cause Analysis Handbook is widely used in corporate training programs and college courses all over the world. If you are responsible for quality, reliability, safety, and/or risk management, you&#39;ll want this comprehensive and practical resource at your fingertips. The book has also been selected by the American Society for Quality (ASQ) and the Risk and Insurance Society (RIMS) as a &#34;must have&#34; for their members.</summary>
    <link type="image/jpeg" href="/opds/cover/30" rel="http://opds-spec.org/image"/>
    <link type="image/jpeg" href="/opds/cover/30" rel="http://opds-spec.org/image/thumbnail"/>
    <link rel="http://opds-spec.org/acquisition" href="/opds/download/30/pdf/"
          length="24812876" mtime="2022-12-22T07:56:20+00:00" type="application/pdf"/>
  </entry>
</feed>Code language: HTML, XML (xml)

有了对 OPDS 目录的支�,我创建了如下工作����对出版物的�索并将所有�索文档都上传至 Google Drive。

将书�� Calibre 书库�索出�并上传至 Google Drive
将书�� Calibre 书库�索出�并上传至 Google Drive

我通过 Webhook 将�索字符串传递给 OPDS ��索出版物。

BITCOINS NISQA CHAKRA

reMarkable 2 还有很多值得�索的地方,例如模�方�。reMarkable 2 对 PDF 格�支�的完�度惊到了我,尤其是对 PDF 内链的支�。很多电纸书,对 PDF 文档内的链�几�是�支�的。�便是�目录这��常必�的内链,也是通过调出目录列表���点击跳转,并�能直�在阅读过程中点击跳转。

我们�以通过 reCalendar 生�模�,然�用 reMarkable 2 以日月年维度��计划和总结了。为了防止页�加载过慢,下�预览的时间跨度仅仅是两个月。大家�以根�需�在 reCalendar 定制你自己需�的特殊日�和时间跨度等等元素。

Loader Loading…
EAD Logo Taking too long?

Reload Reload document
| Open Open in new tab

关� reMarkable 2 的一些总结和分享就先到这了。我还会继续开�这个�具,有新的�分享。�

CRIPTO COM ARENA NISQAPI HORARIO NISQABITCOIN ATM NISQAMANTA HURQUYIMAYNATATAQ COINBASE NISQAPI RANTIYTA

作为一个�信�类学科学生和� IT 行业�业者,电脑一直是我生活中��分割的一部分。�时如何方便的打�好我的电脑和其周边设备一直是个�断更新的问题。

为什么这个问题会�断更新呢?

EVR CRIPTO NISQA

在学校的时候,我能够��地仅仅在宿�里�的一个�桌�。所以那个时候,我所追求的方便就是周边外设�尽�轻薄和无线。这样��以方便地把鼠标和键盘都�到抽屉里�,�时�需��新�拔线。当然�得�承认,如�忘了关了鼠标和键盘的开关,红外�收器真的很废电池 😂。那个时候还没有�牙,以���出�的早期版本�牙还�适用�支撑鼠标键盘的信�传输。

无线鼠标和信��收器
无线鼠标和信��收器

那个时候,看�我宿�桌上那笨�的主机和�光�显示器,拥有一�笔记本电脑也当是一直我梦想的事情。这样�我就�以�身带�我的电脑;一旦放寒暑�,我�以方便地把它带�家 🤭。

�光�显示器和主机箱
�光�显示器和主机箱

工作之�,所使用的电脑设备已�几�都是笔记本电脑了,而且��苹��起的笔记本轻薄化�潮所造�的��精简化,我�得�将�身�带的外设都��了支��牙的,��然��完全�够用。然�由�工作内容的�密性,需�工作电脑和生活电脑分离,我��得�尽�使用支�多设备记忆的�牙设备,以��我的一套外设�以在多个电脑之间方便切�。

STOCK CRIPTOLÓGICO NISQA

然而,因为目�公�的工作需�以�我的个人需�,最近我的设备管��得�所未有的麻烦 🤦。我需�让一套外设(键盘�鼠标�摄�头�显示器)�以方便地在四�笔记本和一�主机箱之间切�,显然�牙已���能�到了。

顺便�一�,��对五�电脑觉得奇怪,我在��公��涉�到移动端项目的时候,我有�几�手机�几�平�电脑和四�电脑,当然他们几�都���我个人,是��公�的。那个时候还没有云测试平�,所有兼容性测试都�能在本地设备上完�。

言归正传,好在我的大多数外设都是有线无线�模的,所以我想了折中方案。我把一套鼠标�键盘和显示器都�在一个多��转�器上,当我需�用哪�电脑时,我就把转�器�到哪个电脑上。由� COVID 的影�已�很�,所以我们�尔也需���公楼一下。所以当我需��公�的时候,我�需�将显示器线拔�,��扩展器和键鼠一起�到背包里。�定�

�几天,我��奇想,既然有 HDMI 切�器这�东西���显示器信��的自由切�,难�就没有一个硬件�以��所有外设的切��?�是,我真的��了 KVM 切�器,��多电脑切�器。这个 KVM �是基�内核的虚拟机,它代表了 Keyboard�Video 和 Mouse。

KVM切�器(英�:KVM switch),一般簡稱KVM,��多電腦切�器,是一種计算机硬件設備,�以使用户��一組�盤��幕和滑鼠�制多�電腦。KVM,�键盘�显示器�鼠标的英文首字�缩写(Keyboard�Video�Mouse)。

摘自 维基百科
KVM 切�器 图纸
KVM 切�器 图纸

这个切�器真是拯救了我。我�需�准备多套外设�覆盖我所有的电脑,也�需����拔�线���我的所有电脑都能被�作。我的桌�也�得更有��了一些,虽然还是很乱。

ROBINHOOD NISQAPI BITCOINS NISQAKUNATA RANTIY

KVM 切�器的�类很多,�也很多。选购的时候,�关注技术�数,尤其是 HDMI 部分,�数��差异很大。

  1. 首先�确定电脑数�,�,你需�将这套外设共享给几�电脑。
  2. USB 的�数。因为 USB 1 和 USB 2 的传输速�相差很大,主�看你的需求,是�有很多外置存储设备等等。
  3. HDMI 的规格。如�你使用 Apple TV 等支� HDR 和�比视界的设备,需�查看�供的 HDMI 是�支� HDR 和�比视界的传递。HDR 有很多�,例如 HDR�HDR 10�HDR 10+ 等等。�样,也�关注是�支�音频传递,以�支�的音频编�。
  4. 对�视频和游�爱好者,支�的最高刷新�和分辨�尤为��。需�关注一下。
  5. 是�支�热切�。直�影�切�效�和用户体验。

希望这篇�槽能帮到一些�样苦�多设备管�的朋�。

ELON ALMIZCLE DOGE QULLQICEX IO NISQA APPFIDELIDAD CRIPTO FONDO NISQA

到新加�一年多了,一直工作在一个几�没人说汉语的公�。当�事通过闲���我之�没有留学过也没有在任何英语�境下工作过,大多数都表示很诧异。也说�了�外一个事�:中国人哑巴英语的情况�常严�,严�到�少�外们都��了。最近也有很多国内朋�问我�么��英语,虽然我的英语还是很糟糕,没留学和海外工作�验且英语比我好的人真的是太多了,而且我也�敢妄称我有能力�教别人,但是我还是决定分享一下我�期用���英语的方法,希望能够帮助一些想��出一些改�的朋�入门�级英语练习 😄。

IMAYNATATAQ BITCOINTA QULLQI APPMAN T'INKINAPAQ

最�,练习英语完全是出��然。当时我刚刚�北京�到��,在��我几�没有朋�。�是我希望能够在工作伙伴外也能交到一些朋�,就决定�加英语角试试看。

我很幸�地��了一个� Have Fun English Club 的英语角,结识了一些有��的朋�。在这我衷心感谢这几�朋�,是他们给了我很多动力,帮助我熬过了人生中�其�暗的一段日�。刚开始的时候,我是典�的轻度哑巴英语。平时说中文的时候,�带打�的,一切到英语就立马�得�声,而且磕磕巴巴的。�过好在我这个人脸皮够�,很快就和大家打�一片,当时我给自己的�求是�以错,但是�能怂。🤣 为了能够更多地结交朋�,我申请�为了 HFEC 的志愿者,�担任他们活动的 Group Leader,帮助他们一起起� Topic。久而久之,我便喜欢上了练习英语(改天我会�写一篇日志,介�一下我们英语角的活动模�。这个模�比较独特在当地英语角圈还是挺�欢�的)

没多久,HFEC 因为一些内部�因解散了。�然之间没有英语角�以唠嗑了,大家觉得很无�。为了能够继续磨练自己的�语和结交更多的朋�,我们几个在 HFEC 认识的�朋�就创立了 Whatever English Club,模�更多的是借鉴 HFEC 的模�,但�加了更多游�元素,整体效��常棒,在当地也�有�气了。

练习�语,尤其是�期,�能太在���。比如说,��太在��音。如�有机会和�外交�,就会��这个世界上�奇百怪的�音多了�了,但这些�音并�会�盖他们优秀的英语水平。也��太在�说错,我们�便说中文都会有嘴瓢的时候,为什么还在�说外语出个错呢?出错了,�有机会纠错,�有机会�断进步。

ELON MUSK S TWEETS NISQAKUNAN DOGECOIN NISQAPA CHANIN YAPAKUYNINTA RUWAN

很多朋�说英语的时候总是会磕�,�因是嘴跟�上脑�。但是为什么嘴会跟�上脑�了,�把这个问题说�白并�容易。

我曾��到过这么一个说法:“中国人�语差,很大程度上是因为他们的中文太好了。�

我感觉特别有��,让我分享下我的�解。很多朋��期说英语的时候,会先在脑�里�想好�么用汉语�答,然��翻译�英语,最�说出�。但是汉语是我们的�语,而且汉语和英语�归��差别很大的两大语系。所以当我们在脑�里�试图把想好的�丽文字翻译�英语的时候,�间就�壳了,然�就“呃呃呃……�

所以我的方法是,强迫自己�为�学生。�次�需�用英语表达的时候,都用最简�的主谓宾�����,什么�语�谚语�歇�语,全部都��。这样�在转��英语说出�的时候就会容易得多,�至�会�壳。��用英语交�的�����得顺畅�,你的自信心也会得到很大的��,会给自己更多的动力继续��下�。

IMAYNATATAQ QULLQITA HURQUNA CRIPTO COM NISQAMANTA

在和英语��语的朋�用英语交�的时候,比方说两个中国人在英语角说英语,或者最近我和波兰�事开会,都�能�到一�情况。就是你说了一个��或者一个�组,对方��懂。如�没有足够的练习,�下�一定就是一阵尴尬的沉默 😄。

所以,当我�为了�学生之�,我就开始�试让自己�为一个外国�学生。我开始慢慢拒�所有英汉�典,改用英英�典。这样�久而久之,当别人��懂我的英语表达时,我�以用英语用�外一�方�解释给他�。我个人感觉,这是个�常有用的英语沟通技能。�外,我也很久没有对���表背过��了,我觉得翻英英�典而�触到的新���常容易被记�。以此�时,Lexico 也�为了我最爱访问的站点之一。

KOL CRIPTO SIGNIFICADO

�常�到一些人想当然的说:学英语就是�有英语�境,如�能在国外�上几个星期英语�对能��猛进。这�对也�对,学英语的确需�英语�境。但并�是呆在国外就能行。呆在国外英语也没啥进步的人,我身边�得多了。在都是�人的团队里�,上�说汉语,下�和家人也是说汉语。也就出门购物和�饭,会�尔说上几�英语。�便几年过�了,英语水平几�没啥�显进步。

我个人先�看剧�开英文字幕开始,�便�期很多都��懂,但是英文字幕也能��阅读速度。我虽然也很喜欢看电影,但是我看的电视剧远多�电影,因为电视剧的对白更贴近日常,更能让我自己沉浸的更真�。如�因为字幕难度太高,�然跟�上的�,�以�英文动画片开始。因为大多数的英文动画片,语速比较慢,而且相对用�比较简�。为什么我用的是大多数,因为有例外,比方说 Rick and Morty,那语速和�汇�简直是噩梦。很长一段时间之�,在看片的时候,我会刷手机。如���自己跟�上了,就倒��看。我承认这样�看片很费时间,但是这样��能慢慢让自己�英语�以和�汉语一样。比方说,我�在就在边写日志边看少年谢尔顿。因为我们在�别人用汉语唠嗑的时候,并�需�多集中精�。多�了这个练习,我�在�以在�饭点边�盒饭边和其他时区的�事开会了。除此之外,我在�其他一些�需�集中精�的事情,例如:通勤��饭�刷网页等等,也会�英语播客�新闻�电视剧对白等等。顺便�槽一下,我一直觉得�新闻�常难。因为新闻很短,而且大多数情况下上一�和下一�完全没有上下文关系。

说说我对�力�化和对英语�感度的几个转折点:

  • æŸ�一天,çª�然å�‘ç�°è‡ªå·±çœ‹ç‰‡çš„时候,ä¸�会下æ„�识的一直盯ç�€ä¸‹æ�’字幕了。
  • æŸ�一天,çª�然å�‘ç�°è‡ªå·±å�³ä¾¿å�¶å°”刷下手机也能够跟上电视剧的剧情了。
  • æŸ�一天,çª�然å�‘ç�°è‡ªå·±å�¯ä»¥æ�•æ�‰åˆ°å­—幕里é�¢çš„错误了。
  • æŸ�一天,çª�然å�‘ç�°è‡ªå·±ä¸�é…�字幕也能大致æ˜�白剧情了。
  • æŸ�一天,有个人çª�然和我说å�¥è‹±è¯­ï¼Œæˆ‘也能 get 到他在说什么了。
  • æŸ�一天,çª�然å�‘ç�°è‡ªå·±ä¸�é…�字幕完全ä¸�å½±å“�观影一些简å�•å†…容了。

以上的�化,是通过长期练习���到质�的过程。总而言之,需�有足够的�性�练习。

当然�得�承认,身在一个真�的英语�境,如�能善用这个�境的�,你的英语��将会�得�常快。至少,我在这一年多英语的��速度远胜�之�,当然这也�感谢之�自己�懈练习打下的基础。

PUNKU IO ÑUQAYKU

在��工作的还是很愉快的,但是�业生涯永远都��能尽善尽�的,所以我刚喜欢上练习英语�,我也�试�试过几家海外公�,�次都�料之中的以沟通存在障�而告终。直到多年�,��我孩�的�生,我也希望真正让生活�点改�。我�试了四个公�,��过�度人�爱尔兰人��国人��大利人�日本人�新加�人�中国人的多轮英语�试,最终都拿到了 Offer。这个结�,给我自己��练习英语打了一剂强心针。

当然,�让自己的英语练习有�效,��是,切忌自欺欺人。��把学习英语作为你沉迷�刷剧�刷电影和刷动画片的借�。真正把他们用在英语学习上�是关键。

FCA COINBASE 3 5M 13K KUTI

进入�在的公�之�,我越���更多自己在英语上的短�,譬如说:英语写作。由�无法��自己写的稀烂的英语邮件,Grammarly 也�为了我最爱访问的站点之一。我�开�客一部分�因也是因为这个,还将其设置为了�语�客。�知�大家有没有��,我的�篇文章都是有中英两个版本的,�以通过��和侧边�选择自己想看的语言版本。我希望通过书写日志能进一步练习自己的英语写作。�便这篇日志,其�并�适�给英语�语者看,旨在�浪费任何一个练习的机会,我还是写了这篇日志的英文版 🤣。

就先分享到这�。在这希望大家能够��下�。学习英语,练习是����的。而且练习本�就�是一个轻�的过程,��指望一蹴而就。动�动就放弃的,其�还是一开始就没整�白。如�此文能让任何一个人有一点点收�,我也就满足了。如�此文能帮助任何一个人入门英语练习,我就高兴�了。

CRIPTO NISQA CLIENTE NISQAPIPIKAMOON CRIPTO NISQABITCOIN 200 P'UNCHAW KUYUY CHAWPI

相信很多朋�在自己的电脑里�都有特殊化定制。这�能也是为什么很多人都�常�喜欢�置新电脑或者�装系统。

譬如我自己,有一波应用用���我的电脑使用体验,如下是�完全统计:

应用用途
SizeUp�以通过快�键将窗��附在�幕的上下左�以�死角。对�大�幕�常有用,左侧文档,�侧代�
Pap.er�以自动定时将�丽的�景画设置�我的�纸
Stretchly定时�挡�幕以强制休�
Lexico.com牛津英英�典官方网站
Cheatsheet用�查看当�应用的所有快�键
New Terminal Here在当�目录打开终端
我的常用工具列表

这些工具在��我的用机舒适度的�时,也在我造�了一些困扰,尤其�装系统和�电脑的时候。有时候是因为软件开始收费了,我需�寻找一个�费的替代�;有时候是因为�止维护很久��支�最新系统了,我需�寻找一个新的替代�。直到有段时间,Mac 似�都和我有仇一般,�年更�了三�电脑。�无��之下,我开始寻找一个能够替代这些�工具的方法,终�被我找到了一个 MacOS 上的�士军刀: Hammerspoon 。

类似的工具其�也�少,但是 Hammerspoon 在定制化能力和易用性上找到了一个平衡点。用户�需��微了解一下 Lua 基础就能很快上手利用 Hammerspoon 通俗易懂的 API 和完整的 Spoon 库��一些定制化功能。我在毫无 Lua 基础的情况下,很快通过阅读文档完�了几个功能的定制。

IGGY AZALEA NISQA CRIPTO NISQA

-- 我们�以通过引入 WinWin 这个 Spoon �轻���
hs.loadSpoon("WinWin")

-- 判断 WinWin 是�正常载入,并根�窗��制效��置热键
if spoon.WinWin then
  -- 文本�示能完�支�符�字符,这对��设置热键列表�常有用,��会说
  -- Side
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "left", "Window ⬅", function() spoon.WinWin:moveAndResize("halfleft") end) 
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "right", "Window �", function() spoon.WinWin:moveAndResize("halfright") end) 
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "up", "Window ⬆", function() spoon.WinWin:moveAndResize("halfup") end) 
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "down", "Window ⬇", function() spoon.WinWin:moveAndResize("halfdown") end) 
  -- Corner
  hs.hotkey.bind({"shift", "alt", "ctrl"}, "left", "Window ↖", function() spoon.WinWin:moveAndResize("cornerNW") end) 
  hs.hotkey.bind({"shift", "alt", "ctrl"}, "right", "Window ↘", function() spoon.WinWin:moveAndResize("cornerSE") end) 
  hs.hotkey.bind({"shift", "alt", "ctrl"}, "up", "Window ↗", function() spoon.WinWin:moveAndResize("cornerNE") end) 
  hs.hotkey.bind({"shift", "alt", "ctrl"}, "down", "Window ↙", function() spoon.WinWin:moveAndResize("cornerSW") end) 
  -- Stretch
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "C", "Window Center", function() spoon.WinWin:moveAndResize("center") end) 
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "M", "Window ↕↔", function() spoon.WinWin:moveAndResize("maximize") end) 
  -- Screen
  hs.hotkey.bind({"alt", "ctrl"}, "right", "Window � 🖥", function() spoon.WinWin:moveToScreen("next") end) 
  -- Other
  hs.hotkey.bind({"cmd", "alt", "ctrl"}, "/", "Window Undo", function() spoon.WinWin:undo() end) 
end
Code language: Lua (lua)

是�是很简�?�需�定义几个热键,选择一下需�的�制效�就 OK 了。

POPCAT CRIPTO NISQA

为了��这个,我们需�定时使用一个页�或者图片�挡整个�幕以�示电脑�的家伙应该短暂休�一下了。

首先,我们�以轻�通过 hs.timer 开�一个定时器:

obj.Timer = hs.timer.new(60, refresh)
obj.Timer:start()
Code language: Lua (lua)

然�,我们�以通过 hs.webview 创建一个�挡这个�幕的网页,页�中展示一个���的图片以达到��效�

function makeBrowserOfBreakTime ()
  local screen = require"hs.screen"
  local webview = require"hs.webview"

  local mainScreenFrame = screen:primaryScreen():frame()
  browserFrame = {
     x = mainScreenFrame.x,
     y = mainScreenFrame.y,
     h = mainScreenFrame.h,
     w = mainScreenFrame.w
  }

  local options = {
      developerExtrasEnabled = true,
  }

  -- local browser = webview.new(browserFrame, options):windowStyle(1+2+4+8)
  local browser = webview.new(browserFrame, options):windowStyle(1+2+128)
    :closeOnEscape(true)
    :deleteOnClose(true)
    :bringToFront(true)
    :allowTextEntry(true)
    :transparent(true)

  return browser
end
Code language: Lua (lua)

�下�,我们就�以通过定时器�创建 browser:show() 和销� browser:delete() 页�����挡效�。

function refresh()

  obj.curTime = obj.curTime + 1
  if obj.curTime > obj.microbreakInterval then
  
    obj.curMicrobreakCount = obj.curMicrobreakCount + 1
    if obj.curMicrobreakCount > obj.microbreakCount then
      hs.alert.show(obj.breakTime .. " minute break starts")

      local browser = makeBrowserOfBreakTime();
      browser:url("file://" .. hs.spoons.scriptPath() .. "BreakTime.html?time=" .. (obj.breakTime * 60 - 1)):show()
      hs.timer.doAfter(obj.breakTime * 60, function()
        if browser ~= nil then 
          browser:delete(); 
        end 
      end)

      obj.curMicrobreakCount = 0
    else
      hs.alert.show(obj.microbreakTime .. " second microbreak starts")

      local browser = makeBrowserOfBreakTime();
      browser:url("file://" .. hs.spoons.scriptPath() .. "BreakTime.html?time=" .. (obj.microbreakTime - 1)):show()
      hs.timer.doAfter(obj.microbreakTime, function() 
        if browser ~= nil then 
          browser:delete(); 
        end 
      end)
    end

    obj.curTime = obj.curTime - obj.microbreakInterval

  end
end
Code language: Lua (lua)

最�,我们就�以���调用 WinWin 一样载入 BreakTime 这个自定义 spoon 并�动就�以了。

ARBITRAJE CRIPTO QHATUY

以 BreakTime 为例,我们�以将下一个休�时间显示出�

BreakTime ���示
BreakTime ���示

�光如此,我们还�以把所有在 Hammerspoon 定义的热键都展示出�。

所有热键的���示
所有热键的���示

由�他对符�字符支�的很完�,所以你在��里��以设置很多有��的�示,是�是很�?😄

obj.menubar:setTitle("⌨�")
obj.menubar:setTooltip("Hot Key Info")

local hotkeys = hs.hotkey.getHotkeys()
local menuItem = {}
  
for key, value in pairs(hotkeys) do  
  local item = { title = value["msg"] }
  table.insert(menuItem, item)
end 

obj.menubar:setMenu(menuItem)Code language: Lua (lua)

除以上这些,Hammerspoon 还有很多东西值得�索。��如�有兴趣的�,�以用我的定制�便试试。我也在�断摸索完善我自己的定制。

其��光这些�工具,�次�新安装我的常用 App,例如 VS Code�Plex�Sublime Text�VIM 等等,也是个很痛苦的事情。我�在通过维护一套 homebrew 列表�快速完�大多数的 App 安装。😂

ETH APUESTA COINBASE NISQAHAYK’A TIEMPOTAQ BITCOIN APACHINANPAQBITCOINS IMATAQ CHAY

我终�给 ImgCache 进行了一次版本更新。当时我承诺会在下一个版本完�对 HTTPS 图片链�的支�,没想到一晃就是�二年。我还在开�日志中�槽了一下自己。�在我终�信守承诺,在新版本中�定了 😂。Better late than never!

时隔 12 年�布 ImgCache 0.2.1
时隔 12 年�布 ImgCache 0.2.1

当然除了支�了 HTTPS 图片链�的缓存,也�级了 Snoopy 类,更新了代�格�使得更符�代�规范和 README,还修�了两个有��的� bug。

第一个 bug 是对 SVG 图片�缀�的错误��。这几天在开� HTTPS 支�功能的时候,我用 PNG 测试,功能完全正常。但是我�然使用了一个 SVG 图片链��作为测试,��缓存的图片无法在�端展示,看了下�代�缓存的图片文件�缀��是 .svg 而是 .svg+xml 。

�白说,我已�完全想�起�,在这套�二年代的远�代�里�我是通过什么方��确定缓存图片文件�缀�的。简�翻了下代�,��是用图片链�请求 HTTP 头字段中的 Content-Type �判断。通常图片链�的 HTTP 头字段中都包�类似� Content-Type: image/png 的信��定义 MIME 类�,我们��通过 / �部分�判断是�是图片,��部分�判断图片类�直�得到�缀�就�以了。本��件也基本上就是自用,所以当时估计就�便测试了常用格�,��一切 OK,就�布版本了。

但是很奇怪的是,SVG 的 Content-Type 并�是 image/svg 而是 image/svg+xml,所以当我把��出 svg+xml 作为�缀�的时候,�端展示就出�了问题。

根� Wikipedia 中,SVG 中的矢�图信�是以 XML 格��存的,所以本质上 SVG 是一个 XML 文件。这样�一切就说得通了。

Scalable Vector Graphics (SVG) is an XML-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999.

SVG images are defined in a vector graphics format and stored in XML text files. SVG images can thus be scaled in size without loss of quality, and SVG files can be searched, indexed, scripted, and compressed. The XML text files can be created and edited with text editors or vector graphics editors, and are rendered by the most-used web browsers.

https://en.wikipedia.org/wiki/Scalable_Vector_Graphics

�是我�得�对 SVG 的 Content-Type �一个预处���作为�缀��使用。其�存在这个问题的还�止 SVG,打算在�续版本中处��。

第二个 bug 是因为 WordPress 编辑器生�的 IMG 标签是�关闭的,且最�的�性和标签末尾之间缺少空格,如下:

<meta http-equiv="content-type" content="text/html; charset=utf-8"><img src="http://nginx.org/nginx.png">
Code language: HTML, XML (xml)

而当时的我,认为所有的 HTML 标签都应该是关闭了,且最�的�性和标签结�应该是存在空格的,如下:

<meta http-equiv="content-type" content="text/html; charset=utf-8"><img src="http://nginx.org/nginx.png" />
<img src="http://nginx.org/nginx.png" ></img>
Code language: HTML, XML (xml)

基�这个认知,之�版本中��图片 URL 的正则�棒性�够,所以无法�功�这个 WordPress 生�的 IMG 标签中��出正确的图片 URL,使得�件认为图片链�都是无效的,就�止了缓存。😅

关�这个版本的故事就先扯的这里。至�下个版本,我�能会加上对缓存图片过期时间的自定义能力。由�这个�件当时主�是为了用�缓存 Feedburner 订阅数之类的图片,更新频�比较高,所以我把过期时间固定在了 1 �时,� 3600 秒。�在想想,过期时间能自定义肯定是更��一点。

好了,下个版本��。