Newsletters from Schale #01
动态更新第一篇,整合后的公开版本。 欢迎订阅以第一时间获取更新 :P
嗨,各位,这里是Kris Yan,via Yandao。今天是7月21日,不知不觉间这个中考后漫长的暑假早已过半,而这个全新设计的站点也已经上线一周了。所以,是时候发出第一篇Newsletter了。我目前计划是整体编排近似于阮一峰的科技爱好者周刊,不过也还在考虑中就对了......
这是我第一次写「动态更新 Newsletter」,在内容的安排上仍存在诸多有待完善的地方,希望大家能喜欢。
👨💻 专题·新站点上线
我的博客网站从 daoblog.top 迁移到了 blog.krisyan.dev ,架构从原来的基于 Vue.js
的 Gridea Client
切换成了 Next.js
,整个项目基于CaliCastle/cali.so(感谢原作者开源!)。在此期间我学到了很多,也结识了一些志同道合的朋友。
下面先简要介绍一下新网站背后的技术:
- - 设计基于TailwindCSS框架,参考TailwindCSS预置配色表与张洪Heo&cali.so进行二次修改;
- 使用Next.js构建网站,搭配Sanity,虽说牺牲了原生的
markdown
支持,但Sanity在国内的速度十分优秀,所以算是有得有失吧; - 数据统计进一步 Serverless 化,PV等数据托管在Planetscale与Drizzle的节点上,实时分析由
Vercel Analytics
支持,既摆脱了不蒜子与马上取消免费的railway上的免费额度下Umami的种种束缚,同时大陆访问速度可喜; - 邮件提醒现在使用的是Resend的服务,相较于阿里云企业邮,不但真正实现了免费额度下零成本推送,同时客制化程度更高、邮件全程可追踪、界面更美观,两个字——舒服。
下面是一些亮点功能:
1. 评论:与大多数博客的评论设计不同,我相当赞同原作者Cali“在文章底部的评论区往往缺少了跟文章本身内容上下文关联的属性”这个观点,所以评论功能仍像他的站点一样需要从文章正文中触发。不过确实第一眼容易蒙圈 😂
2. 留言墙:实现的时候其实就是重用了评论的 UI 和交互,感觉也还不错,比之前让大家在关于页面下写些长篇大论好多了。
3. Newsletters:没错,你正在读的这篇Newsletter其本身也是网站上的新功能。原先我考虑过其他服务,但要么就是收费,要么就是对于大陆用户不友好,如今整合在博客系统中,相当便捷,这也是为什么我下定决心转头 Next.js
。
小知识
原先的邮件提醒依赖于waline,但它本身只是一个评论服务,所以邮件提醒的可操作性大大下降,简而言之,能提醒,但仅限于与评论相关的提醒且不可人工干预,邮件里的图片还总是显示不出来......
🤨 在做什么呢?
我目前计划这一板块是常驻的,推荐一些我目前正在进行/感兴趣/值得分享的项目,欢迎投稿至 interesting@krisyan.dev
如果你对技术不感兴趣,建议直接跳到下一部分。
GitHub - CaliCastle / cali-fm
Cali FM
One-click deploy your podcast website via RSS
GitHub - usememos / memos
Memos
A privacy-first, lightweight note-taking service. Easily capture and share your great thoughts.
本站的“随记”页面即依赖于此项目。
GitHub - awesome-selfhosted / awesome-selfhosted
Awesome Selfhosted
A list of Free Software network services and web applications which can be hosted on your own servers.
Figma - Community / 這李設計
免费商用字体库
主要面向中国大陆使用的免费商用字体库,包含各种黑体、宋体、手写体、艺术字等 100 多个免费商用字体,每一个字体都经过严格筛选,最大程度上避免侵权风险并做到可追溯可验证。
🤔 在看什么呢?
同样的,计划常驻。分享一些我认为值得分享的文章、多媒体等内容。欢迎投稿至 readinglist@krisyan.dev
曾手握美国核弹数据的黑客去世了
与胰腺癌斗争14个月后,世界头号黑客Kevin Mitnick就此陨落,享年59岁。
他的一生充满着传奇与惊艳,以至于一个个标签都显得那般瞩目:
从平平无奇的学生修补匠,到被美国FBI追捕、成为被监禁的重罪犯;出狱后又摇身一变成了受人尊重的网络安全专家、公众演说家和作家。
甚至美国的立法部门、全球大公司都会向他请教问题,咨询专业性建议。Kevin的人生轨迹也反映出了社会对计算机黑客态度的改变:公众们学会了区分什么是黑客犯罪,什么是纯纯恶搞。
即便在与癌症做斗争,也没能阻止他对黑客技术的热情。
今年4月,他使用24块RTX4090显卡和6块RTX 2080显卡,组建了一台用于破解密码的超级计算机,并将其称之为“Badass Password Ceacker”。
但这些,只是他传奇故事中的一角,许多了解他的人留下这样的评价:
他的一生像是一部虚构的作品,只能用宏大来形容。
在mp.weixin.qq.com阅读更多
科技爱好者周刊(第 257 期):黄仁勋的 Nvidia 故事
黄仁勋的 Nvidia 故事
黄仁勋大概是硅谷最有影响力的华人,1993年,他跟两个朋友一起创办了芯片设计公司 Nvidia(中文名"英伟达")。当时是小公司,可现在是美国第五大科技公司(仅次于苹果、微软、谷歌和亚马逊)。
人民日报:因为“背带裤”,我专门开了一场班会
因为“背带裤”,我专门开了一场班会
feat.很努力的班主任
乡村小学语文教师 教研组长 教龄9年 语文赛课市一等奖 山东卫视《超级语文课》人气老师
当下频道:你每天到底刷了多少信息?我替你算了算
你每天到底刷了多少信息?我替你算了算 | 当下乱码
我们都知道当下是一个信息爆炸的时代,但你知道每天的信息到底有多“爆炸”吗?
我们安排了一个疯狂的策划——让当下的一位幸运小伙伴和 3 台 GoPro + 1 个保姆形影不离 24 小时,记录她使用手机的每个场景和刷到的每一条信息,算出看到的条目、字数、图片、视频、音频以及广告……
结果?进来看吧!
众包与数据标注:机器学习的最底层,或许是人类
众包与数据标注:机器学习的最底层,或许是人类
老文推荐 人工智能正在广泛地取代传统劳动力,然而,从某种意义上来说,机器学习的发展,也创造出了更多岗位,和更多谋生的可能。人类并非直接服务于人类,而是被用于「训练机器」。
AlanBecker:火柴人 VS 数学(Math)
火柴人 VS 数学(Math)
这些数学题你知道多少?(某种意义上的高中预习?)
文摘
Read: Good code is like a love letter to the next developer who will maintain it.
如果你不需要英语内容 / 不感兴趣,可直接跳过,前往下一节。
Author: Addy Osmani
We often romanticize the notion of programming, presenting it as an abstract form of art, a science, or even a form of magic. The truth, however, is much more practical and grounded. Code, in its essence, is communication. At the start of my book, Learning JavaScript Design Patterns, I say "good code is like a love letter to the next developer who will maintain it". It is an intimate correspondence, from one developer to another, spanning time and space.
The Language of Love
A love letter is personal, sincere, and considerate. It's a poetic testament of feelings, often meticulously crafted, with the intent to convey emotions accurately. Good code shares these characteristics. It's personal, as it mirrors the logic and approach of the coder. Good code is sincere and unadorned with unnecessary complexity. It's considerate, mindful of the next developer who will decipher it. And above all, it's meticulously crafted to solve a problem with utmost efficiency.
Patterns and Principles
Just like we have grammar rules and linguistic structures to frame our words and feelings into comprehensible sentences, we have design patterns and principles to shape our code. Patterns don't just make code scalable, maintainable, and efficient, but also readable and understandable. They provide a shared vocabulary for developers, enabling them to express intricate software designs with universally recognized structures.
Good code, therefore, leverages these patterns strategically, just like a seasoned poet would use poetic devices to create resonance. It does not apply patterns just for the sake of it, but because they add value to the solution, they make the code more comprehensible, and they ensure the longevity of the codebase.
SOLID, DRY, KISS, and YAGNI are not merely principles but are cornerstones of crafting good code. They guide a developer to make wise decisions, balance between under and over-engineering, and ultimately, write a 'love letter' that the receiver cherishes.
Best Practices
Good code also adheres to established best practices, much like a love letter would follow certain social etiquettes. Proper naming conventions, modularization, and thorough commenting are all part of this. They are not just rules to be followed, but they are the norms that define how considerate the code (or coder) is towards the next developer. They are there to make sure the intent of the coder is not lost in translation.
Embracing Tests
Just as a writer proofreads their letter, so should a developer with their code. Rigorous testing and the practice of Test-Driven Development (TDD) are indicators of a carefully crafted 'love letter'. Tests validate the performance of code under various scenarios, uncovering potential flaws and blind spots. The presence of a robust testing framework is often a testament to the quality of the code.
Empathy and Respect
Above all, the core of a love letter is empathy and respect for the reader, and so it is with good code. Writing code that others can read, understand, and maintain, is a form of professional respect. It signals the coder's understanding that their work is part of a larger, ongoing effort, that software is a living entity that evolves, and that many hands will shape its destiny over time.
Conclusion
In the end, coding is an act of creation, not unlike writing a poem or painting a picture. The beauty of our creations, however, is not judged solely by the elegance of our algorithms or the efficiency of our code, but by the joy and ease with which others can build upon our work. As developers, our task is not just to solve today's problems but also to ensure we do not become tomorrow's problem.
Good code, therefore, is not just a love letter, but it is our lasting legacy to those who follow us.
Read: How To Do Great Work
最近「黑客与画家」的作者出了一篇新的文章《How To Do Great Work / 如何做出伟大的工作》,写得特别好,在我的博客上刊登了 GPT4 翻译的中文版,你可以前往查看
英文原文链接:paulgraham.com
下面是部分摘录:
你选择的工作需要具备三个品质:
- 你有天生的适应能力,
- 你对它有深厚的兴趣,
- 同时它还要能提供展现你伟大工作的空间。
养成自我研究项目的习惯。不要让“工作”只是别人告诉你要做的事。如果你真的能做出伟大的工作,可能会在你自己的项目中。这可能会在某个更大的项目内,但你将是驱动你那部分的人。
你的项目应该是什么?对你来说,什么都可能是令人兴奋的挑战。
好奇心是为伟大工作提供动力的引擎和指明方向的舵。它不仅能驱使你前进,而且如果你让它自由发挥,它还会告诉你应该做什么。
你对什么过于好奇——到让大多数其他人都觉得无聊的程度?这就是你要找的。
一旦你找到了你非常感兴趣的东西,下一步就是学习足够多的知识,让你能够达到知识的前沿。
知识是以分形的方式扩展的,从远处看,边缘看起来很平滑,但是一旦你学得足够多以接近它们,你会发现它们其实充满了缺口。
下一步就是去发现这些缺口。这需要一些技巧,因为你的大脑希望忽视这些缺口,以便构建一个更简单的世界模型。
许多发现都来自于对大家都视为理所当然的事情提出疑问。
大胆地追求异常的想法,即使其他人对它们不感兴趣——实际上,尤其是在他们不感兴趣的情况下。如果你对所有人都忽视的某种可能性感到兴奋,而你又有足够的专业知识来精确指出他们都忽视了什么,那么这就是你能找到的最好的选择。
四个步骤:
- 选择领域,
- 学习足够的知识以到达前沿,
- 发现缺口,
- 探索有前景的缺口。
第2步和第4步需要付出艰辛的努力。这就是为什么你需要投身于你深感兴趣的事情。兴趣能驱使你比单纯的勤奋工作更努力。
最强大的三种动力是好奇心、喜悦和希望做出令人印象深刻的事情。
真正的大奖就是发现一个新的分形芽。你发现知识表面上的一条裂缝,将其撬开,里面竟是一个完整的世界。
除非亲自去做,否则你无法了解大部分工作是什么样的。
在你试图找出要做什么时,有许多力量会让你走错路。矫饰、时尚、恐惧、金钱、政治、别人的愿望、声名狼藉的骗子。但是,如果你坚持你真正感兴趣的事情,你就能抵挡住所有这些。如果你感兴趣,你就不会迷路。
在大多数情况下,做出伟大的工作的秘诀简单来说就是:努力工作,从事令人兴奋的雄心勃勃的项目,这样就会有好的结果。你无需制定一个计划然后去执行它,你只需要尽力保持某些不变的东西。
我认为对于大多数想要做出伟大工作的人来说,正确的策略不是过多地规划。在每个阶段,做最有趣的事情,并为未来保留最好的选项。
你必须努力工作,但是也有可能工作过度,如果这样的话,你会发现收获递减:疲劳会让你变得愚蠢,最终甚至会损害你的健康。
开始工作比继续工作更难。你经常需要欺骗自己才能跨越那个初始阈值。不用担心这个;这是工作的性质,不是你性格的缺陷。
如果你想做出伟大的工作,通常向自己撒谎是错误的,但这是极少数例外的情况。当我早上不愿意开始工作时,我经常通过对自己说“我只是看看到目前为止我做了些什么”来欺骗自己。五分钟后我发现了一些错误或不完整的地方,我就开始工作了。
类似的技巧也适用于开始新项目。对自己撒谎,说一个项目需要做多少工作,也是可以的。很多伟大的事情都始于某人说“这有多难呢?”
尽管如此,你要尽量完成你开始的工作,即使它比你预期的要花更多的工作。完成事情不仅仅是一种整洁或自律的锻炼。在许多项目中,最好的工作常常发生在本应是最后阶段的地方。
另一个允许的谎言是,在你的心中夸大你正在做的事情的重要性。如果这有助于你发现新事物,那么它可能原来就不是谎言。
伟大的工作是通过持续地专注于你真正感兴趣的事情来实现的。当你停下来审视时,你会惊讶于你已经走了多远。
我们感到惊讶的原因是我们低估了工作的累积效应。每天写一页看起来不像多大的事,但如果你每天都做,你一年就能写一本书。关键是:一致性。做伟大事情的人每天不会完成很多事情。他们做了一些事情,而不是什么都没做。
如果你做的工作可以产生复合效应,你就会得到指数增长。
你对某件事学的越多,学习更多的东西就越容易。吸引观众也是一样:你拥有的粉丝越多,他们就会为你带来更多的新粉丝。
工作并不仅仅在你努力时发生。当你走路、洗澡或躺在床上的时候,你会进行一种无目的的思考,这种思考可能非常有力。让你的思绪稍微游走一下,你经常会解决你无法通过正面攻击解决的问题。
然而,你必须以正常的方式努力工作,才能从这种现象中获益。你不能只是四处游荡做白日梦。白日梦必须与刻意的工作交织在一起,为它提供问题。
在你所在领域的工作中,有意识地培养你的品味。直到你知道哪个是最好的,以及使它如此的原因,你才知道你在追求什么。
诚实的核心是诚实。我们从小就被教导要诚实,这是一种无私的美德——一种牺牲。但实际上它也是一种力量来源。要看到新的想法,你需要对真相有一个异常敏锐的眼光。你正在尝试看到迄今为止别人还没有看到的更多真相。如果你不诚实,你怎么能对真相有一个敏锐的眼光呢?
你是如何从小开始做大事呢?通过制作连续的版本。伟大的事物几乎总是通过连续的版本制作出来的。你从一件小事开始,发展它,最终版本既比你计划的更聪明,也比你计划的更有野心。
不要试图在任何一个版本中塞入太多新的东西。这种做法在第一个版本(发货时间过长)和第二个版本(第二系统效应)都有名字,但这都只是一个更普遍的原则的实例。
新进入某个领域的人往往会模仿现有的工作。这本身没有什么坏处。没有比尝试复制它更好的方式来了解某件事情是如何运作的。而且模仿并不一定会使你的工作失去原创性。原创性是新思想的存在,而不是旧思想的缺乏。
寻找最好的同事。有很多项目是不能一个人完成的,即使你正在从事可以独立完成的项目,有其他人鼓励你并提供想法也是有好处的。
同事不仅影响你的工作,他们也影响你。所以,和你想变得像他们的人一起工作,因为你会变得像他们。
在同事中,质量比数量更重要。拥有一两个伟大的同事比拥有一栋楼满的还不错的同事要好。事实上,这不仅仅是更好,而是必要的,从历史来看:伟大的工作在一群人中发生的程度表明,同事往往决定了你是否能做出伟大的工作。
你如何知道你的同事足够好呢?根据我的经验,当你的同事足够好时,你会知道的。这意味着如果你不确定,你可能还没有。
做出伟大工作的人并不一定比其他人更快乐,但他们比不这样做的时候更快乐。实际上,如果你聪明并且有野心,不生产是危险的。那些聪明且有野心但没有实现多少的人往往会变得痛苦。
Alert: WormGPT
「邪恶版」大语言模型出现:每月 60 欧元,毫无道德限制,专为“网络罪犯”而生
根据网络安全公司 SlashNext 博客报道,其团队在研究生成式 AI 在网络犯罪方面的潜在风险时,偶然发现了 WormGPT:“我们最近通过一个与网络犯罪有关的著名在线论坛获得了一个名为 ‘WormGPT’的工具,它是一个 GPT 模型的黑帽替代品。”据了解,WormGPT 的收费标准是每月 60 欧元(折合约人民币 479 元),而 SlashNext 对 WormGPT 的形容是:“专为恶意活动而设计”,简直是“网络罪犯的武器库”。
WormGPT 由一名黑客设计,他写道:“这个项目(WormGPT)旨在提供 OpenAI ChatGPT 的替代方案,让你做各种非法的事情,你能想到的所有与黑帽相关的事情,都可以用 WormGPT 完成。”为了证明他的说法,他还上传了相关截图,显示用户可要求机器人生成用 Python 编码语言编写的恶意软件。
WormGPT 基于 2021 年开源的 LLM GPT-J 模型开发,工作方式与 ChatGPT 大致相同:可处理人类自然语言提出的要求,并输出所要求的任何内容,包括故事、摘要和代码。但与 ChatGPT 或 Bard 不同的是,WormGPT 不用像 OpenAI 或谷歌这样的大型公司那样,必须要承担相关的法律义务。
据 SlashNext 介绍,WormGPT 在各种数据源上进行训练,尤其集中在恶意软件相关的数据上,加上输出没有道德限制,可以被要求执行各种恶意任务,包括创建恶意软件和“一切与黑帽有关的事情”,对于网络犯罪分子而言无疑是一大利器。
对于 WormGPT,NordVPN 网络安全专家 Adrianus Warmenhoven 的评价是“ChatGPT 的邪恶双胞胎”,因为它显然是从 OpenAI 对 ChatGPT 不断施加限制、而攻击者极力规避这些限制才衍生出来的。
为了全面评估 WormGPT 相关的潜在危险,SlashNext 团队进行了以 BEC 攻击(商业电子邮件泄露,一种通过电子邮件进行的社会工程学攻击,攻击者一般会伪造电子邮件消息以诱骗受害者执行某些操作)为重点的测试:“在一次实验中,我们要求 WormGPT 生成一封电子邮件,内容是向毫无戒心的账户经理施压,迫使其支付虚假发票。”
WormGPT 的输出结果令 SlashNext 直呼危险:“结果令人非常不安。WormGPT 生成的电子邮件不仅极具说服力,而且在战略上也非常狡猾,展示了它在复杂的网络钓鱼和 BEC 攻击中的无限潜力。”
通过上面这个测试,SlashNext 总结道,类似于 WormGPT 这样的生成式 AI 技术可能会带来巨大威胁,因为有了这类工具的加持后,就连网络犯罪新手都能轻易实现诈骗。
以 BEC 攻击为例,使用生成式 AI 具有以下两大优势:
- 卓越的语法:生成式 AI 可以创建在语法上无懈可击的电子邮件,使其看起来合法合理,被系统标记为可疑邮件的可能性会大幅降低。
- 降低犯罪门槛:生成式 AI 的出现,极大简化了原本复杂的 BEC 攻击,即便是技术有限的攻击者也能使用生成式 AI,它将成为越来越多网络犯罪分子可以使用的工具。
不过同时,针对生成式 AI 可能引发的大范围 BEC 攻击,SlashNext 也建议了两种防范策略:
- 进行 BEC 专项培训:公司应制定广泛的、定期更新的培训计划,以应对 BEC 攻击,尤其是由 AI 增强的攻击,要让员工了解到 BEC 攻击的威胁,以及 AI 将如何加大这种威胁的原理。
- 强化电子邮件的验证措施:为防范 AI 驱动的 BEC 攻击,企业应执行严格的电子邮件验证流程,例如当有来自组织外部的电子邮件冒充内部高管或供应商时,系统要自动发出警报等。
本次动态更新内容就差不多这些了,感谢每位支持我并且订阅的朋友 🙏。
P.S. 我还没来得及把「取消订阅」的功能给做了,如果你以后不想收到我的动态更新 Newsletter 的话,欢迎直接在网站上留言给我,我手动帮你取消 🙇。