前几天看到中二物理所的一个视频,说到科普这件事情。
    大致体会就是呢,知识是永远学不完的,也未必能够学以致用。但是,科普的思维方式可以举一反三。(

    平成物语看着好压抑啊

    属于是烂在自己的舒适圈里了。

    属于是烂在自己的舒适圈里了。

    所以我折腾 Nextcloud 的意义何在呢?体验也不好(带宽不够),APP 体验不好(Nextloud Android 不流畅好用) ::2233:2233E5A898_E697A0E8AFAD::

    开源相册管理 https://piwigo.org/

    疫情

    开始封校了。

    Apple 开源的东西不少,不过有个特点,很多项目都是买过来之后开源的(或者说不是完全原创的)
    Swift 所依赖的 LLVM 是买 UIUC 的,但是 Apple 前期的支持对 LLVM 的成长起了非常重要的作用,现在 LLVM 社区已经是典型的大公司支配的开源社区,Apple 的主导权被 Google 分了一半了
    另外 LLVM 不是单独一个项目,还有 Clang 前端、libc++ 标准库、LLDB 调试器、lld 链接器等子项目,当然 Apple 应该不是在所有子项目中都活跃的。Swift 和 LLVM/Clang 同出 Chris Lattner 之手,翻一下会发现这些项目的代码风格是非常相似的
    除了 Swift 之外,LLVM 还是 Rust、Julia 等语言的基础,AMD 的 AOCC 以及 GPU 驱动也是基于 LLVM 的
    Swift 所依赖的基础库 Foundation 也是一块开源的,但是 Objective-C 版本的 Foundation 貌似并没有开源,虽然如此,这俩库共同依赖的 C 库 CoreFoundation 却是开源的
    为 Swift 提供智能提示功能的 SourceKit 是开源的,我没看过源码,猜测这个应该是严重依赖于 Swift 编译器本身的
    Apple 为 Swift 和 OC 钦定的并行解决方案 libdispatch 是开源且跨平台的
    WebKit 是当年 OS X 需要一个浏览器,于是就 fork 了 KDE 的 KHTML 和 KJS,由于 KHTML 当时貌似是 LGPL 协议,所以 WebKit 原则上是必须开源的。后来乱拳打死老师傅,现在没人知道 KHTML 了。之后历史又重复了自身,WebKit 被 Google fork 出的 Blink 乱拳打死老师傅
    需要注意的是 WebKit 也是个巨型项目,内部包含 WTF、WebCore、WebKit、JavaScriptCore 和 WebInspector 等多个子项目

    UNIX 系统标准的打印机管理系统 CUPS 是 Apple 买过来的,现在是开源的,之前是不是不知道
    Apple 还买了个数据库软件 FoundationDB 开源在 github 上
    此外 Apple 平台的 OS 内核 XNU 一直都是开源的,这个也是拼的 BSD 和 Mach,需要注意的是虽然 kernel 开源,但是在换到 x86 之后就没有完整的开源驱动栈了,Apple 官方关于驱动的资料也非常稀有(尤其是非桌面平台),间接导致 XNU 内核的开源系统失去了意义。XNU 源码树里面还包含 Apple 的驱动框架 IOKit,号称可以写跨平台驱动,然而实际只能写 XNU。总之摆明了就是跑 Apple 系统只能用 Apple 硬件。所以这个应该算是 Apple 最没用的开源项目 ...
    此外还有一些底层组件如 dyld、Security、Objective-C 和 Swift 的 Runtime 等是开源的,不过这些东西如果不是 hack Apple 平台的话貌似没人关注

    除此之外 Apple 还合作参与了若干技术标准和开源项目,比如和微软合作的 TrueType,Apple 自己还提出了 OpenCL (可以看下 OpenCL 的 Logo,很明显的 Apple 风,和 Khronos 其他标准都不一样)。Apple 在 W3C 也有很强的存在感,不过这个不好统计具体有哪些工作。
    不过 Apple 对技术标准的态度让人很纠结,比如对 OpenType 的支持不是很好,为了推 Metal 直接 deprecate 了 OpenGL 和 OpenCL,并且一直没有 Vulkan 的官方实现之类的奇葩事情

    Apple 曾经试图把最好的文件系统 ZFS 集成到自己平台上,不过最后项目死了,直到最近几年才换到了 APFS。Apple 也集成了最好的动态跟踪工具 DTrace,现在的 Instruments 就是基于这玩意的。这俩东西一开始都是 Sun 开发的,不知道 Apple 参与了多少。现在 Linux 上面的支持貌似还不是很成熟,想用的话欢迎入 FreeBSD。

    有一点需要注意的是 Apple 技术上的核心竞争优势之一:桌面环境和 GUI 框架( AppKit 和 UIKit )一直没有开源,很多周边的核心框架( CoreGraphics 等)也没有开源,不过我个人倒是觉得对于学习目的来说,这类项目的 API 设计重要性远超实现,倒是 LLVM、JavaScriptCore、Security、RTS 和 libdispatch 这些库的实现、优化细节都是非常重要的。

    哦对了还有最重要的:Apple 最大的优势其实还是钱,Apple 的母公司曾经向 OpenSSL、OpenBSD 等开源项目捐赠数百万元



    ::2233:2233E5A898_E98381E997B7:: 养大白菜

    熬夜不可取
    得有原则

    Handsome 体验极差的夜间模式

    Markdown 的空格什么的讲究还挺多,这个基础篇讲得还不错。

    推荐个刚发现的开源应用,DarQ(https://github.com/KieronQuinn/DarQ/ ),通过 shizuku 授权后可以针对某个应用进行强制暗色主题着色。

    效果肯定不如软件自身适配来得好,但可以打一打那些死活不肯适配暗色的国产应用,以及某些莫名其妙把暗色主题当作付费点的应用。


    src 笑死


    钱钱,嘿嘿

    又是破防的一天
    全寝脱单和全寝单身


    把 TT-RSS 也搬一起了,内存还行。
    Qbittorrent 是真的占内存


    白丝和肉肉绝了


    src
    CP 是万岁的,我只想吃糖。

    微信方面回应称,因近期平台技术升级,公众号 robots 协议出现漏洞,致使外部爬虫技术可爬取部分微信公众号内容。目前漏洞已修复 :流汗黄豆:

联系方式

关于我

那年今日
9 月前

一次或多次排查,换了路由系统之后,寝室的跳板机器(挂着外面进局域网唯一的通道两个 Shadowsocks 代理)的代理突然无法访问了,将代理迁到另一台机器上正常,怀疑是跳板机的网络问题,但是上面跑的网页也十分正常,一直没找到原因就这么搁置了很久;今晚弄另一个代理的时候顺便排查原因,检查了 Nginx 到容器的端口问题和容器内部网络问题,在容器内部 Curl Baidu 是正常的,就让我十分费解了。Shadowsocks 这边能看到 Log 提示请求到了容器内部,但是客户端却响应超时,Log 内容不足,最后想着把 ss-server 的 Log Level 提升到 Debug 模式后发现有 DNS 解析相关的问题,ss-server log 显示第一次尝试解析 v4 失败,再次尝试解析 v6 失败,搜索时发现 Github Issue服务端ipv6环境使用问题 中的配置有一行"dns":"2001:67c:2b0::4"改配置指定了 SS-server 使用的 DNS,于是指定 DNS 为局域网的网关后就正常了;"dns":"192.168.23.1"

18 月前

笔记 https://ma.ttias.be/force-redirect-http-https-custom-port-nginx/家用宽带的 443 端口一般不可用,只能用一个非标准端口,那如何在非标准 80/443 端口实现 SSL 跳转呢,这里可以用到 Nginx 的 409 错误代码,即是 497 - normal request was sent to HTTPS如果把 497 的错误相应页面改为 跳转 https 的 302,就可以实现,在 Server 段加一行 error_page 497 https://$host:1234$request_uri; 就可以了,最后形如server { listen 1234 ssl; server_name your.site.tld; ssl on; ... error_page 497 https://$host:1234$request_uri; ...