编程领域的即将到来的 “Macintosh 时刻”
计算机的发展历程:计算机从最初的打孔卡片和命令行界面,发展到图形用户界面(GUI),这是由施乐帕洛阿尔托研究中心(Xerox PARC)发明,并由苹果的麦金塔(Macintosh)在 1984 年首次商业成功。GUI 的出现让计算机变得可视化,更易于理解,使得计算能力普及到每个人。
编程的变革:作者认为,编程领域正在经历类似麦金塔时刻的变革。结合视觉界面和人工智能(AI)辅助,将使编程变得像使用智能手机一样直观,从而为更多人打开软件创造的大门。
编程的抽象化:编程的历史是不断简化复杂事物的过程。从二进制到汇编语言,再到高级语言如 C,现代语言和框架使编程更加易于接近。然而,尽管取得了进步,编程的基本方式自 70 年代以来并没有根本变化。
可视化的价值:GUI 之所以能大幅提高计算的可访问性,是因为它利用了我们大脑自然处理信息的方式。大脑约有 20-30% 的区域专门用于视觉处理。与 GUI 的交互符合我们大脑的自然工作方式,例如拖拽文件,因为它直观地反映了我们在现实世界中与物体的交互方式。
编程的现状:尽管取得了进步,编程仍然是基于文本的活动,即使在表示本质上是视觉化的事物时也是如此。这造成了能编码和不能编码的人之间的巨大鸿沟。
使编程直观的两个要素:可视化代码和自然语言处理。通过可视化代码结构,使用手势操作,一目了然地理解代码流程;通过自然语言处理,用英语描述变化并将其转换为功能性代码。
AI 在编程变革中的作用 :特别是大型语言模型(LLMs),将在这一变革中发挥关键作用。这些模型可以弥合人类意图和机器指令之间的差距,允许人们用自然语言表达想法,并将其转换为功能性代码。
打破障碍的价值:当前能编码和不能编码的人之间的差距,人为地阻碍了团队之间的工作流程。想象一下,如果营销团队能够即时实施和测试想法,而不需要等待开发资源,或者设计师能够调整实际工作的代码而不仅仅是草图。
潜在影响:这种编程的转变可能对技术行业之外产生巨大影响,包括加速创新、改进现有系统、增强创造力和经济赋能。
从历史中学习:我们以前也见过这种技术的民主化。例如,1979 年电子表格软件 VisiCalc 的出现,并没有让会计师的工作变得过时,反而使他们更有力量、更受欢迎、更具战略性。
前进的道路:向一个编程技能对每个人都可用的世界过渡不会一夜之间发生。我们将看到逐渐的转变,某些工具变得越来越视觉化和直观。
克服挑战:当然,这个愿景并非没有挑战。我们需要确保这些新工具能够处理现实世界软件开发的复杂性,解决安全性和代码质量问题,并找到将这些新方法与现有代码库和开发实践相结合的方法。
总结:编程的麦金塔时刻即将到来,它将和原始麦金塔对个人计算的影响一样具有变革性。这不仅仅是关于用 AI 替代人类创造力,而是通过消除技术障碍来增强人类创造力。它允许人们专注于他们想法的 "什么" 和 "为什么",而不是陷入 "如何"。
#AI #编程 #可视化 #思考
https://www.builder.io/blog/macintosh-moment-programming
计算机的发展历程:计算机从最初的打孔卡片和命令行界面,发展到图形用户界面(GUI),这是由施乐帕洛阿尔托研究中心(Xerox PARC)发明,并由苹果的麦金塔(Macintosh)在 1984 年首次商业成功。GUI 的出现让计算机变得可视化,更易于理解,使得计算能力普及到每个人。
编程的变革:作者认为,编程领域正在经历类似麦金塔时刻的变革。结合视觉界面和人工智能(AI)辅助,将使编程变得像使用智能手机一样直观,从而为更多人打开软件创造的大门。
编程的抽象化:编程的历史是不断简化复杂事物的过程。从二进制到汇编语言,再到高级语言如 C,现代语言和框架使编程更加易于接近。然而,尽管取得了进步,编程的基本方式自 70 年代以来并没有根本变化。
可视化的价值:GUI 之所以能大幅提高计算的可访问性,是因为它利用了我们大脑自然处理信息的方式。大脑约有 20-30% 的区域专门用于视觉处理。与 GUI 的交互符合我们大脑的自然工作方式,例如拖拽文件,因为它直观地反映了我们在现实世界中与物体的交互方式。
编程的现状:尽管取得了进步,编程仍然是基于文本的活动,即使在表示本质上是视觉化的事物时也是如此。这造成了能编码和不能编码的人之间的巨大鸿沟。
使编程直观的两个要素:可视化代码和自然语言处理。通过可视化代码结构,使用手势操作,一目了然地理解代码流程;通过自然语言处理,用英语描述变化并将其转换为功能性代码。
AI 在编程变革中的作用 :特别是大型语言模型(LLMs),将在这一变革中发挥关键作用。这些模型可以弥合人类意图和机器指令之间的差距,允许人们用自然语言表达想法,并将其转换为功能性代码。
打破障碍的价值:当前能编码和不能编码的人之间的差距,人为地阻碍了团队之间的工作流程。想象一下,如果营销团队能够即时实施和测试想法,而不需要等待开发资源,或者设计师能够调整实际工作的代码而不仅仅是草图。
潜在影响:这种编程的转变可能对技术行业之外产生巨大影响,包括加速创新、改进现有系统、增强创造力和经济赋能。
从历史中学习:我们以前也见过这种技术的民主化。例如,1979 年电子表格软件 VisiCalc 的出现,并没有让会计师的工作变得过时,反而使他们更有力量、更受欢迎、更具战略性。
前进的道路:向一个编程技能对每个人都可用的世界过渡不会一夜之间发生。我们将看到逐渐的转变,某些工具变得越来越视觉化和直观。
克服挑战:当然,这个愿景并非没有挑战。我们需要确保这些新工具能够处理现实世界软件开发的复杂性,解决安全性和代码质量问题,并找到将这些新方法与现有代码库和开发实践相结合的方法。
总结:编程的麦金塔时刻即将到来,它将和原始麦金塔对个人计算的影响一样具有变革性。这不仅仅是关于用 AI 替代人类创造力,而是通过消除技术障碍来增强人类创造力。它允许人们专注于他们想法的 "什么" 和 "为什么",而不是陷入 "如何"。
#AI #编程 #可视化 #思考
https://www.builder.io/blog/macintosh-moment-programming
Builder.io
The Upcoming “Macintosh Moment” of Programming
Visual development and AI are set to make coding as intuitive as using a smartphone. Learn how this shift will democratize programming and boost innovation.
Docker-OSX 允许用户在 Docker 容器中运行 macOS 虚拟机,实现接近原生的 OSX-KVM 性能。该项目支持 X11 转发,适用于 macOS 安全研究以及持续集成/持续部署(CI/CD)环境,并特别对 iMessage 安全研究提供了便利。
#Tools #Docker
https://github.com/sickcodes/Docker-OSX
#Tools #Docker
https://github.com/sickcodes/Docker-OSX
GitHub
GitHub - sickcodes/Docker-OSX: Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security…
Run macOS VM in a Docker! Run near native OSX-KVM in Docker! X11 Forwarding! CI/CD for OS X Security Research! Docker mac Containers. - sickcodes/Docker-OSX
Github 正式推出 GitHub 模型:新一代 AI 工程师在 GitHub 上构建
GitHub Models 旨在使每位开发者都能成为 AI 工程师。通过提供行业领先的大型和小型语言模型,GitHub 希望简化从模型测试到生产部署的整个流程。
用户可以在 GitHub 上免费访问和测试各种模型,如 Llama 3.1、GPT-4o 及其迷你版本、Phi 3 和 Mistral Large 2 等。GitHub 与微软持续致力于保护隐私和安全,确保用户在模型 Playground 中的所有输入和输出都不会与模型提供商共享或用于训练模型。
#Github #AI
https://github.blog/news-insights/product-news/introducing-github-models/
GitHub Models 旨在使每位开发者都能成为 AI 工程师。通过提供行业领先的大型和小型语言模型,GitHub 希望简化从模型测试到生产部署的整个流程。
用户可以在 GitHub 上免费访问和测试各种模型,如 Llama 3.1、GPT-4o 及其迷你版本、Phi 3 和 Mistral Large 2 等。GitHub 与微软持续致力于保护隐私和安全,确保用户在模型 Playground 中的所有输入和输出都不会与模型提供商共享或用于训练模型。
#Github #AI
https://github.blog/news-insights/product-news/introducing-github-models/
The GitHub Blog
Introducing GitHub Models: A new generation of AI engineers building on GitHub
We are enabling the rise of the AI engineer with GitHub Models – bringing the power of industry leading large and small language models to our more than 100 million users directly on GitHub.
AI 虽然强大,但有时也会显得不够智能,特别是在大型语言模型(LLMs)中,它们有时会 “幻觉” 般地编造信息。这种现象发生的原因是 AI 模型基于大量网络文本训练,虽然能生成类似人类的文本,但并不真正理解所表达的内容。
改善 AI 的五大策略:
1. 设定明确边界:给 AI 设定明确的信息范围和使用规则,要求其仅使用给定信息回答问题,不知道时明确表示不知道,从而提高可靠性。
2. 清晰明确的指令:提供给 AI 的数据和指令需要非常具体,避免含糊不清,确保 AI 按预期使用数据。
3. 允许用户反馈:即使 AI 出错,通过聊天界面允许用户提供更多上下文或澄清请求,实现 AI 输出的迭代优化。
4. 不要完全依赖 AI:在设计到代码的工作流程中,结合传统编程和 AI 的优势,AI 擅长特定任务,但核心逻辑和结构通常还是传统代码更可靠。
5. 提供清晰的例子:通过例子而非仅仅抽象指令来指导 AI,例子能帮助 AI 更准确地理解任务要求。
微代理方法
将大问题拆分为小问题,由专门的 AI 处理,并在 AI 操作之间加入非 AI 检查,以保持可靠性。
开发者建议
1. 从简单开始,使用工具如 GitHub Copilot 探索 AI 的潜力。
2. 解决实际问题,而非仅仅追求潮流。
3. 持续迭代,适应 AI 技术的快速发展。
4. 保持上下文连贯性,帮助 AI 保持话题相关性。
5. 总是准备一个非 AI 的备选方案。
6. 理解 AI 的局限性,合理设计 AI 功能。
总结
构建可靠的 AI 功能需要理解 AI 的优势和局限,并找到合适的解决方案。遵循上述原则,我们可以创造真正解决问题的 AI 产品。
#AI
https://www.builder.io/blog/make-ai-suck-less
改善 AI 的五大策略:
1. 设定明确边界:给 AI 设定明确的信息范围和使用规则,要求其仅使用给定信息回答问题,不知道时明确表示不知道,从而提高可靠性。
2. 清晰明确的指令:提供给 AI 的数据和指令需要非常具体,避免含糊不清,确保 AI 按预期使用数据。
3. 允许用户反馈:即使 AI 出错,通过聊天界面允许用户提供更多上下文或澄清请求,实现 AI 输出的迭代优化。
4. 不要完全依赖 AI:在设计到代码的工作流程中,结合传统编程和 AI 的优势,AI 擅长特定任务,但核心逻辑和结构通常还是传统代码更可靠。
5. 提供清晰的例子:通过例子而非仅仅抽象指令来指导 AI,例子能帮助 AI 更准确地理解任务要求。
微代理方法
将大问题拆分为小问题,由专门的 AI 处理,并在 AI 操作之间加入非 AI 检查,以保持可靠性。
开发者建议
1. 从简单开始,使用工具如 GitHub Copilot 探索 AI 的潜力。
2. 解决实际问题,而非仅仅追求潮流。
3. 持续迭代,适应 AI 技术的快速发展。
4. 保持上下文连贯性,帮助 AI 保持话题相关性。
5. 总是准备一个非 AI 的备选方案。
6. 理解 AI 的局限性,合理设计 AI 功能。
总结
构建可靠的 AI 功能需要理解 AI 的优势和局限,并找到合适的解决方案。遵循上述原则,我们可以创造真正解决问题的 AI 产品。
#AI
https://www.builder.io/blog/make-ai-suck-less
Builder.io
How to Make AI Suck Less When Building AI Features
Practical tips for making AI less prone to errors in products. Covers techniques like constraining AI responses, clear instructions, and hybrid approaches
Google 推出了一款名为 Smart Paste 的内部工具,旨在通过自动化调整粘贴代码来简化代码编写工作流程。该工具利用了生成式 AI 技术,预测代码环境的下一个状态,并对粘贴的代码进行上下文感知的调整。Smart Paste 基于大型序列模型 DIDACT 的最新进展,该模型已使代码审查、构建修复等工具成为可能。
在 Google 的代码库中,约有 25% 的粘贴操作会立即进行修改,这些修改从简单的语法修正到更复杂的代码上下文适应性调整不等。Smart Paste 通过预测和自动调整,减少了代码编写流程中的中断,从而加快了开发速度。在一项涉及约 40,000 名工程师的使用研究中,发现有 6.9% 的 IDE 中的粘贴操作使用了 Smart Paste,接受率达到了 42.5%,显著优化了用户的工作流程。
Smart Paste 的开发团队通过从 Google 代码库中提取粘贴后编辑的数据,并使用启发式规则来确保数据质量,进行了模型训练和校准。模型需要在速度和准确性之间找到平衡,最终确定了大约 150 毫秒的延迟,以在 56% 的评估案例中展示建议。
在用户体验(UX)设计方面,Smart Paste 采用了一种简单的交互模型,通过设置置信度阈值来展示高置信度的编辑建议。为了避免打断用户的工作流程,如果用户不接受建议,建议会自动消失。此外,通过观察和实验,团队还优化了建议的显示时长和视觉模式,最终选择了内联差异预览作为展示建议的方式。
未来,Smart Paste 计划重新考虑对于小的高置信度变更的自动应用模式,并探索模型在复制粘贴交互之外提供有用建议的能力。通过分析用户行为,Smart Paste 已经成功地在 Google 的最常用 IDE 中默认启用,并且每周有数十万条建议被 Google 员工接受。
#AI
https://research.google/blog/smart-paste-for-context-aware-adjustments-to-pasted-code/
在 Google 的代码库中,约有 25% 的粘贴操作会立即进行修改,这些修改从简单的语法修正到更复杂的代码上下文适应性调整不等。Smart Paste 通过预测和自动调整,减少了代码编写流程中的中断,从而加快了开发速度。在一项涉及约 40,000 名工程师的使用研究中,发现有 6.9% 的 IDE 中的粘贴操作使用了 Smart Paste,接受率达到了 42.5%,显著优化了用户的工作流程。
Smart Paste 的开发团队通过从 Google 代码库中提取粘贴后编辑的数据,并使用启发式规则来确保数据质量,进行了模型训练和校准。模型需要在速度和准确性之间找到平衡,最终确定了大约 150 毫秒的延迟,以在 56% 的评估案例中展示建议。
在用户体验(UX)设计方面,Smart Paste 采用了一种简单的交互模型,通过设置置信度阈值来展示高置信度的编辑建议。为了避免打断用户的工作流程,如果用户不接受建议,建议会自动消失。此外,通过观察和实验,团队还优化了建议的显示时长和视觉模式,最终选择了内联差异预览作为展示建议的方式。
未来,Smart Paste 计划重新考虑对于小的高置信度变更的自动应用模式,并探索模型在复制粘贴交互之外提供有用建议的能力。通过分析用户行为,Smart Paste 已经成功地在 Google 的最常用 IDE 中默认启用,并且每周有数十万条建议被 Google 员工接受。
#AI
https://research.google/blog/smart-paste-for-context-aware-adjustments-to-pasted-code/
Nicholas Carlini 深入探讨了如何将人工智能(AI)特别是大型语言模型(LLMs)应用于日常生活和研究工作之中。Carlini 首先表达了对 “AI” 一词的不满,认为当前的 AI 技术常被过度炒作,但他通过个人经验分享,证实了 AI 在实际应用中的价值。
关键应用场景
1. 提高编程效率:Carlini 指出,与大型语言模型的互动显著提高了他的编程速度,特别是在研究项目和个人项目中。
2. 构建 Web 应用:他利用 AI 快速构建了使用全新技术的 Web 应用,例如使用 GPT-4 帮助编写了一个关于预测 AI 性能的问答游戏。
3. 学习新技术:AI 作为导师,帮助 Carlini 快速掌握新的编程框架和技术。
4. 简化代码:通过 AI 的辅助,Carlini 能够简化大型代码库,提高代码的可读性和性能。
5. 自动化任务:AI 帮助自动化了许多单调的任务,如常规的脚本编写和错误调试。
6. API 参考和搜索引擎:AI 在某种程度上替代了传统的 API 文档查询和网络搜索,尤其是在配置新包或项目时。
学习与自动化
Carlini 将 AI 的帮助归类为 “帮助我学习” 和 “自动化无聊的任务”。他认为,尽管自动化任务可能看起来不引人注目,但它让他能够专注于解决更难的问题。
现实应用
文章中,作者分享了与 AI 模型的 50 次对话实例,这些实例都是他为了完成实际工作而进行的,并非为了展示 AI 的惊人能力。
细微差别
Carlini 强调,尽管他讨论了 AI 的实用性,但他并不认为当前的 LLMs 会接管世界,也不会对未来模型可能或不可能做的事情发表评论。他讨论的是今天存在的模型是否对他个人有用。
结论
Carlini 希望他的文章能够通过具体的例子,让读者了解他如何使用 LLMs 来提高效率,即使这些例子可能看起来并不引人注目。
文章最后,Carlini 表达了对 AI 技术潜在负面影响的认识,包括错误信息、滥用、监控和工作置换等问题,并计划在将来的文章中详细讨论这些有害影响。
#AI
https://nicholas.carlini.com/writing/2024/how-i-use-ai.html
关键应用场景
1. 提高编程效率:Carlini 指出,与大型语言模型的互动显著提高了他的编程速度,特别是在研究项目和个人项目中。
2. 构建 Web 应用:他利用 AI 快速构建了使用全新技术的 Web 应用,例如使用 GPT-4 帮助编写了一个关于预测 AI 性能的问答游戏。
3. 学习新技术:AI 作为导师,帮助 Carlini 快速掌握新的编程框架和技术。
4. 简化代码:通过 AI 的辅助,Carlini 能够简化大型代码库,提高代码的可读性和性能。
5. 自动化任务:AI 帮助自动化了许多单调的任务,如常规的脚本编写和错误调试。
6. API 参考和搜索引擎:AI 在某种程度上替代了传统的 API 文档查询和网络搜索,尤其是在配置新包或项目时。
学习与自动化
Carlini 将 AI 的帮助归类为 “帮助我学习” 和 “自动化无聊的任务”。他认为,尽管自动化任务可能看起来不引人注目,但它让他能够专注于解决更难的问题。
现实应用
文章中,作者分享了与 AI 模型的 50 次对话实例,这些实例都是他为了完成实际工作而进行的,并非为了展示 AI 的惊人能力。
细微差别
Carlini 强调,尽管他讨论了 AI 的实用性,但他并不认为当前的 LLMs 会接管世界,也不会对未来模型可能或不可能做的事情发表评论。他讨论的是今天存在的模型是否对他个人有用。
结论
Carlini 希望他的文章能够通过具体的例子,让读者了解他如何使用 LLMs 来提高效率,即使这些例子可能看起来并不引人注目。
文章最后,Carlini 表达了对 AI 技术潜在负面影响的认识,包括错误信息、滥用、监控和工作置换等问题,并计划在将来的文章中详细讨论这些有害影响。
#AI
https://nicholas.carlini.com/writing/2024/how-i-use-ai.html
Carlini
How I Use "AI"
I don't think that AI models (by which I mean: large language models) are over-hyped. In this post I will list 50 ways I've used them.
Forwarded from 科技圈🎗在花频道📮
英特尔宣布裁员 1.5 万人,CEO 帕特・基辛格:令人痛苦、非常艰难
在今天公布了财报之后,英特尔 CEO 帕特・基辛格宣布进行一项“重大成本削减措施”—— 计划在 2025 年实现节约 100 亿美元(当前约 722.44 亿元人民币)的成本,包括减少约 15000 个职位,约占员工总数 15%,大部分措施将于今年年底前完成。
帕特・基辛格声称这些决定对自己来说是“极大的挑战”,是其职业生涯中“最艰难的事情”。他在备忘录中向员工作出承诺,在未来的几周和几个月里,公司会优先考虑诚实、透明和尊重的文化。
IT之家
☘️ 关注频道 @ZaiHuaPd
📮 投稿爆料 @ZaiHuabot
在今天公布了财报之后,英特尔 CEO 帕特・基辛格宣布进行一项“重大成本削减措施”—— 计划在 2025 年实现节约 100 亿美元(当前约 722.44 亿元人民币)的成本,包括减少约 15000 个职位,约占员工总数 15%,大部分措施将于今年年底前完成。
帕特・基辛格声称这些决定对自己来说是“极大的挑战”,是其职业生涯中“最艰难的事情”。他在备忘录中向员工作出承诺,在未来的几周和几个月里,公司会优先考虑诚实、透明和尊重的文化。
IT之家
☘️ 关注频道 @ZaiHuaPd
📮 投稿爆料 @ZaiHuabot
2024 年,随着技术进步和黑客手段的演变,企业在选择合适的认证方法时需要平衡安全性和易用性。认证方法通常分为三类:知识因素(如密码和安全问题)、拥有因素(如安全卡和硬件令牌)、生物特征因素(如指纹和面部扫描)。多因素认证(MFA)通过结合不同因素增加安全性,但每种认证方法都有其优缺点。
密码 :尽管存在多种攻击方式,如钓鱼攻击、暴力破解和中间人攻击,密码因其简单部署和用户熟悉度而广受欢迎。但业界正逐步向无密码的未来过渡,使用密码管理器和单点登录(SSO)来减轻风险。
一次性密码(OTP) :作为次要认证因素较为安全,但通过短信或电子邮件发送的 OTP 易受攻击。更安全的 OTP 包括认证器应用和硬件安全令牌。
生物识别 :作为主要认证方法较为安全,但一旦生物识别数据被泄露,用户无法重置。此外,存在隐私问题和潜在的偏见问题。
硬件密钥 :如 Yubikeys,是最安全的认证因素之一,对 MiM、网络钓鱼和键盘记录攻击免疫,但携带不便且可能丢失。
设备认证和信任因素 :确保只有经过批准的设备可以登录,是零信任架构的关键部分。
人文因素 :设计 MFA 时,应考虑用户习惯和错误,简化认证流程,保护隐私,并创建安全文化。
#安全
https://blog.1password.com/authentication-methods/
密码 :尽管存在多种攻击方式,如钓鱼攻击、暴力破解和中间人攻击,密码因其简单部署和用户熟悉度而广受欢迎。但业界正逐步向无密码的未来过渡,使用密码管理器和单点登录(SSO)来减轻风险。
一次性密码(OTP) :作为次要认证因素较为安全,但通过短信或电子邮件发送的 OTP 易受攻击。更安全的 OTP 包括认证器应用和硬件安全令牌。
生物识别 :作为主要认证方法较为安全,但一旦生物识别数据被泄露,用户无法重置。此外,存在隐私问题和潜在的偏见问题。
硬件密钥 :如 Yubikeys,是最安全的认证因素之一,对 MiM、网络钓鱼和键盘记录攻击免疫,但携带不便且可能丢失。
设备认证和信任因素 :确保只有经过批准的设备可以登录,是零信任架构的关键部分。
人文因素 :设计 MFA 时,应考虑用户习惯和错误,简化认证流程,保护隐私,并创建安全文化。
#安全
https://blog.1password.com/authentication-methods/
1Password Blog
2024's least and most secure authentication methods | 1Password Blog
Passkeys, Dongles, or Biometrics? What’s the right mix to build hacker-proof MFA?
OpenAI 在其 API 中引入了结构化输出功能,确保模型生成的 JSON 输出严格符合开发者提供的 JSON Schema。这一新特性显著提高了模型输出的可靠性,允许开发者构建更精确的 AI 应用,如数据查询、用户界面生成等。通过限制模型输出到有效 Token,结构化输出在复杂模式遵循的评估中达到了 100% 的准确率,并且 SDK 已更新以支持这一功能。尽管存在一些限制,如对 JSON Schema 子集的支持和首次使用新模式的延迟,结构化输出的推出为开发者提供了一个强大的工具,以实现更安全、高效的开发体验。
#OpenAI
https://openai.com/index/introducing-structured-outputs-in-the-api/
#OpenAI
https://openai.com/index/introducing-structured-outputs-in-the-api/
Openai
Introducing Structured Outputs in the API
We are introducing Structured Outputs in the API—model outputs now reliably adhere to developer-supplied JSON Schemas.
将你的 Telegram Channel 转为微博客。
#Tools
https://github.com/ccbikai/BroadcastChannel/blob/main/README.zh-cn.md
#Tools
https://github.com/ccbikai/BroadcastChannel/blob/main/README.zh-cn.md
GitHub
BroadcastChannel/README.zh-cn.md at main · ccbikai/BroadcastChannel
Turn your Telegram Channel into a MicroBlog. Contribute to ccbikai/BroadcastChannel development by creating an account on GitHub.
如何将项目干好?
理解动机
项目初期,了解用户需求、恐惧和愿景至关重要。这有助于确定项目目标并提出更好的解决方案。如果没有用户,应从产品摘要开始,确保产品与摘要相符。
周密规划
1. 决策系统:根据Daniel Kahneman的理论,人类有两种决策模式,直觉快速的"System One"和深思熟虑的"System Two"。
2. 项目规划模式 :分为"快速思考,慢速行动"和"慢速思考,快速行动"两种模式。前者可能导致项目停滞,后者通过深入规划避免问题。
可靠预测
1. 锚定与调整 :基于以往类似项目的时间估计,然后进行调整,但错误的锚定会导致错误的预测。
2. 参照类预测 :利用同类已完成项目作为参照,根据项目差异进行估计调整。
迭代原型设计
1. 实验的必要性 :对于包含未知或风险元素的项目,通过原型或概念验证来确保问题可解。
2. 迭代规划 :将项目分为规划和开发阶段,通过多次迭代,从低保真度到高保真度逐步完善设计。
重视经验
1. 经验丰富的人 :专家拥有显性和隐性知识,隐性知识是长期经验积累的直觉。
2. 成熟技术 :选择经过迭代精炼的成熟技术,而非仅因为新颖或定制化而选择未经验证的技术。
构建高效团队
1. 冲突解决 :领导层需迅速介入解决多团队或公司间的冲突。
2. 身份与目标 :确保不同公司的人员有共同的目标感和归属感。
3. 开放沟通 :领导层需倾听团队反馈并快速做出调整,以建立心理安全感。
结论
成功的项目在于这些理念的执行程度。了解这些理念后,可以在失败的项目中轻易发现它们的缺失。
#项目管理
https://www.sheshbabu.com/posts/how-big-things-get-done/
理解动机
项目初期,了解用户需求、恐惧和愿景至关重要。这有助于确定项目目标并提出更好的解决方案。如果没有用户,应从产品摘要开始,确保产品与摘要相符。
周密规划
1. 决策系统:根据Daniel Kahneman的理论,人类有两种决策模式,直觉快速的"System One"和深思熟虑的"System Two"。
2. 项目规划模式 :分为"快速思考,慢速行动"和"慢速思考,快速行动"两种模式。前者可能导致项目停滞,后者通过深入规划避免问题。
可靠预测
1. 锚定与调整 :基于以往类似项目的时间估计,然后进行调整,但错误的锚定会导致错误的预测。
2. 参照类预测 :利用同类已完成项目作为参照,根据项目差异进行估计调整。
迭代原型设计
1. 实验的必要性 :对于包含未知或风险元素的项目,通过原型或概念验证来确保问题可解。
2. 迭代规划 :将项目分为规划和开发阶段,通过多次迭代,从低保真度到高保真度逐步完善设计。
重视经验
1. 经验丰富的人 :专家拥有显性和隐性知识,隐性知识是长期经验积累的直觉。
2. 成熟技术 :选择经过迭代精炼的成熟技术,而非仅因为新颖或定制化而选择未经验证的技术。
构建高效团队
1. 冲突解决 :领导层需迅速介入解决多团队或公司间的冲突。
2. 身份与目标 :确保不同公司的人员有共同的目标感和归属感。
3. 开放沟通 :领导层需倾听团队反馈并快速做出调整,以建立心理安全感。
结论
成功的项目在于这些理念的执行程度。了解这些理念后,可以在失败的项目中轻易发现它们的缺失。
#项目管理
https://www.sheshbabu.com/posts/how-big-things-get-done/
Shesh's blog
How Big Things Get Done
Puppeteer 23 版本和 Firefox 129 版本都宣布了对 WebDriver BiDi(双向协议)的支持。WebDriver BiDi 是一个跨浏览器自动化的新标准,它允许开发者使用统一的 API 来自动化不同的浏览器。Mozilla 在过去四年中一直是 WebDriver BiDi 的坚定合作伙伴,不仅帮助塑造了这一新标准,还在 Firefox 中逐步实现了它,并在 Firefox WebDriver Newsletter 中详细记录了进展。
Puppeteer,一个基于 Chrome DevTools Protocol(CDP)的自动化工具,能够自动化基于 Chromium 的浏览器。2019 年,Puppeteer 对 Firefox 进行了实验性支持。为了实现这一目标,Mozilla 在 Firefox 中实现了 CDP 的一个子集,并通过 Puppeteer API 实现了自动化,但这带来了一些限制,比如 CDP 不是公开标准化的,且 Firefox 只实现了 CDP 的一个子集。
随着 WebDriver BiDi 的推出,Puppeteer 用户现在可以根据需要选择 Firefox 或 Chrome 进行自动化测试,只需在启动 Puppeteer 实例时指定浏览器配置。
#自动化测试 #Chrome #Puppeteer #Firefox
https://developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi?hl=en
Puppeteer,一个基于 Chrome DevTools Protocol(CDP)的自动化工具,能够自动化基于 Chromium 的浏览器。2019 年,Puppeteer 对 Firefox 进行了实验性支持。为了实现这一目标,Mozilla 在 Firefox 中实现了 CDP 的一个子集,并通过 Puppeteer API 实现了自动化,但这带来了一些限制,比如 CDP 不是公开标准化的,且 Firefox 只实现了 CDP 的一个子集。
随着 WebDriver BiDi 的推出,Puppeteer 用户现在可以根据需要选择 Firefox 或 Chrome 进行自动化测试,只需在启动 Puppeteer 实例时指定浏览器配置。
#自动化测试 #Chrome #Puppeteer #Firefox
https://developer.chrome.com/blog/firefox-support-in-puppeteer-with-webdriver-bidi?hl=en
Chrome for Developers
WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer | Blog | Chrome for Developers
Puppeteer 23 introduces stable support for Firefox 129 and up, offering a unified API for Chrome and Firefox automation, based on WebDriver BiDi.
《Reckoning: Part 1 — The Landscape》 是一个四部分系列的第一部分,探讨了以 JavaScript 为先导的前端文化如何破坏了美国的公共服务。作者在 2011 年移居伦敦,参与了 Google 为 Android 开发的首个 “真正” 浏览器。当时,Android 系统默认浏览器基于系统 WebView,更新速度受限于设备更换的缓慢节奏。随着移动设备逐渐成为主导形态,浏览器开发者迅速适应了这一变化,并在 2014 年取得了足够的进展,开始考虑如何让网络参与到移动设备的应用模型中,最终在 2015 年推出了 PWA 和推送通知。
然而,在这一新平台上工作的开发人员中,出现了一些令人不安的模式。许多开发人员将缓慢的、面向桌面的 JavaScript 框架带入移动网络,这些现代的、以移动为先的项目既不需要也无法承担额外的框架膨胀。到了 2016 年,前端实践已经完全陷入了一厢情愿的思考,尽管警报已经拉响,但没有任何改变。
2016 年之后,低端市场的爆炸性增长已成为既定事实。数亿低收入的翻盖手机用户开始升级换代。不同品牌不断复制 2016 年的中档 Android 手机,以各种名称推出,唯一的恒定因素是中等规格和不断降低的价格。这使得网络与应用作为主导平台之间的竞争真正开始。
但低端革命在网络开发圈几乎未被注意到。前端开发者以与桌面相同的速度向移动网络注入 JavaScript,破坏了预算有限用户的良好体验希望。从 2014 年到 2022 年,中位数设备规格基本停滞不前。与此同时,网络开发者确保了 “iPhone” 中的 “i” 代表了 “不平等”。
高端手机的价格加速上涨,但平均售价仍停留在 300 到 350 美元之间。低端市场的爆炸性增长是唯一阻止平均售价上升的因素。为了保持 325 美元的平均售价,每售出一部 1000 美元的 iPhone,就需要售出三部 100 美元的低端手机,而这正是发生的情况。
尽管如此,以 JavaScript 为先导、以框架为中心的教条仍在继续,无论它与新现实多么不兼容。可以预见的是,那些承诺提供 “类似应用体验” 的工具并没有做到。数十亿部廉价手机总是拥有最新的浏览器,却发现它们的 CPU 和网络被设计用来解决它们没有的平台缺陷的膨胀脚本所堵塞。
2019 年,Code for America 发布了首个国家级在线福利项目访问调查,这些项目由每个州构建和运营。2023 年的后续研究提供了有关数字福利服务传播的重要新数据。CFA 2019 年研究的一个有价值的成果是 Dustin Palmer 的一篇文章,记录了许多在线福利门户未能为即将到来的移动优先现实设计的机会,这在世界其他地方已经是现状。
如果门户网站在手机上表现不佳,依赖智能手机的用户将被可预见地排除在外。但是,糟糕的设计并不是智能手机依赖用户可能面临的唯一潜在行政负担。人们用来访问公共支持的网络和设备并不是最新一代或顶级的。它们正好处于设备价格、年龄和网络性能分布的尾部。这些是前端失去十年的假设一再被证明是灾难性的条件的重叠之处。
如果公共服务部门采用了前端影响者推广的 JavaScript 重堆栈,那将是悲剧性的。基于框架的、"全栈" 开发现在是硅谷的默认设置,但在通用服务中显然应该避免。在商业环境中造成痛苦的笨重和昂贵的堆栈,如果引入公共部门,就永远不可能有成功的希望。
#JavaScript
https://infrequently.org/2024/08/the-landscape/
然而,在这一新平台上工作的开发人员中,出现了一些令人不安的模式。许多开发人员将缓慢的、面向桌面的 JavaScript 框架带入移动网络,这些现代的、以移动为先的项目既不需要也无法承担额外的框架膨胀。到了 2016 年,前端实践已经完全陷入了一厢情愿的思考,尽管警报已经拉响,但没有任何改变。
2016 年之后,低端市场的爆炸性增长已成为既定事实。数亿低收入的翻盖手机用户开始升级换代。不同品牌不断复制 2016 年的中档 Android 手机,以各种名称推出,唯一的恒定因素是中等规格和不断降低的价格。这使得网络与应用作为主导平台之间的竞争真正开始。
但低端革命在网络开发圈几乎未被注意到。前端开发者以与桌面相同的速度向移动网络注入 JavaScript,破坏了预算有限用户的良好体验希望。从 2014 年到 2022 年,中位数设备规格基本停滞不前。与此同时,网络开发者确保了 “iPhone” 中的 “i” 代表了 “不平等”。
高端手机的价格加速上涨,但平均售价仍停留在 300 到 350 美元之间。低端市场的爆炸性增长是唯一阻止平均售价上升的因素。为了保持 325 美元的平均售价,每售出一部 1000 美元的 iPhone,就需要售出三部 100 美元的低端手机,而这正是发生的情况。
尽管如此,以 JavaScript 为先导、以框架为中心的教条仍在继续,无论它与新现实多么不兼容。可以预见的是,那些承诺提供 “类似应用体验” 的工具并没有做到。数十亿部廉价手机总是拥有最新的浏览器,却发现它们的 CPU 和网络被设计用来解决它们没有的平台缺陷的膨胀脚本所堵塞。
2019 年,Code for America 发布了首个国家级在线福利项目访问调查,这些项目由每个州构建和运营。2023 年的后续研究提供了有关数字福利服务传播的重要新数据。CFA 2019 年研究的一个有价值的成果是 Dustin Palmer 的一篇文章,记录了许多在线福利门户未能为即将到来的移动优先现实设计的机会,这在世界其他地方已经是现状。
如果门户网站在手机上表现不佳,依赖智能手机的用户将被可预见地排除在外。但是,糟糕的设计并不是智能手机依赖用户可能面临的唯一潜在行政负担。人们用来访问公共支持的网络和设备并不是最新一代或顶级的。它们正好处于设备价格、年龄和网络性能分布的尾部。这些是前端失去十年的假设一再被证明是灾难性的条件的重叠之处。
如果公共服务部门采用了前端影响者推广的 JavaScript 重堆栈,那将是悲剧性的。基于框架的、"全栈" 开发现在是硅谷的默认设置,但在通用服务中显然应该避免。在商业环境中造成痛苦的笨重和昂贵的堆栈,如果引入公共部门,就永远不可能有成功的希望。
#JavaScript
https://infrequently.org/2024/08/the-landscape/
Infrequently Noted
Reckoning: Part 1 — The Landscape - Infrequently Noted
It would be tragic if public sector services adopted the JavaScript-heavy stacks that frontend influencers have popularised. Right?
一项发表在《酒店营销与管理杂志》 6 月刊的研究指出,将产品描述为使用人工智能(AI)可能会降低消费者的购买意愿。研究者通过不同年龄组的样本测试发现,无论是吸尘器、电视、消费服务还是健康服务,只要产品描述中提及 AI,购买或使用产品的意愿就会显著降低。
#AI
https://edition.cnn.com/2024/08/10/business/brands-avoid-term-customers/index.html
#AI
https://edition.cnn.com/2024/08/10/business/brands-avoid-term-customers/index.html
CNN
Brands should avoid this popular term. It’s turning off customers
A study published in the Journal of Hospitality of Marketing & Management finds that consumers are very much turned off by products that say they are “AI-powered”
地球上所有水资源汇聚成一个球体。
地球的水资源在与地球体积的比较中显得非常微小。美国地质调查局的这张图像通过蓝色球体展示了地球水资源的相对量。其中最大的球体代表了地球上所有的水,包括海洋、冰盖、湖泊、河流、地下水、大气水以及生物体内的水分。
https://www.usgs.gov/media/images/all-earths-water-a-single-sphere
地球的水资源在与地球体积的比较中显得非常微小。美国地质调查局的这张图像通过蓝色球体展示了地球水资源的相对量。其中最大的球体代表了地球上所有的水,包括海洋、冰盖、湖泊、河流、地下水、大气水以及生物体内的水分。
https://www.usgs.gov/media/images/all-earths-water-a-single-sphere
Blitz 是一个高性能的 HTML 和 CSS 渲染器,由 WGPU 驱动,专为 "Dioxus Native" 项目设计。它是一个轻量级的 webview,但 JavaScript 引擎被替换成了原生的 Rust API,这使得 Rust 的响应性/状态管理库如 Dioxus 能直接与之交互。
#渲染器 #Rust
https://github.com/DioxusLabs/blitz
#渲染器 #Rust
https://github.com/DioxusLabs/blitz
GitHub
GitHub - DioxusLabs/blitz: A radically modular HTML/CSS rendering engine
A radically modular HTML/CSS rendering engine. Contribute to DioxusLabs/blitz development by creating an account on GitHub.