Commodore 64 BASIC 2.0 高分辨率位图图形与快速清屏
这篇文章介绍了如何在Commodore 64的BASIC 2.0环境下高效地处理高分辨率位图图形,特别是快速清屏的方法。文章指出,Commodore 64原生BASIC缺乏直接处理位图的指令,传统的清屏方法效率低下。作者巧妙地利用BASIC字符串存储机制,通过创建并填充大量包含CHR$(0)的字符串来覆盖位图内存区域,从而实现快速清屏,并用一个绘制余弦函数的例子展示了该方法的应用。
阅读更多
这篇文章介绍了如何在Commodore 64的BASIC 2.0环境下高效地处理高分辨率位图图形,特别是快速清屏的方法。文章指出,Commodore 64原生BASIC缺乏直接处理位图的指令,传统的清屏方法效率低下。作者巧妙地利用BASIC字符串存储机制,通过创建并填充大量包含CHR$(0)的字符串来覆盖位图内存区域,从而实现快速清屏,并用一个绘制余弦函数的例子展示了该方法的应用。
阅读更多
Docker Desktop for macOS用户近日遭遇启动问题,macOS系统将`com.docker.vmnetd`或`com.docker.socket`报告为恶意软件。Docker官方已确认问题根源在于部分已安装文件的签名错误,并发布了补丁程序,建议用户更新至最新版本或手动替换相关文件。此问题已得到解决,但Docker仍在持续监控以防出现新的问题。
阅读更多
传统单元测试方法论常常陷入教条,导致大量无效测试和时间浪费。本文挑战了“单元”的概念,主张从用户视角出发,编写集成测试和端到端测试,而非死板地为每个类或方法编写单元测试。作者建议减少对代码隔离和mock的依赖,利用真实数据库和Docker等工具,提高测试效率和意义。同时,文章强调测试驱动开发(TDD)并非万能,软件架构设计应优先考虑非功能性需求。最终,作者指出,选择测试策略的关键在于权衡质量保证、重构能力和反馈速度。
阅读更多
芒果,这种甜蜜的水果,其起源却隐藏着许多谜团。佛罗里达国际大学的Emily Warschefsky博士为解开芒果的身世之谜,踏上了横跨亚洲的科研之旅。她走访了多个植物园和森林,收集了大量的芒果属植物样本,并运用DNA测序技术,研究不同芒果物种之间的关系。研究发现,东南亚和印度的芒果在基因上存在差异,这挑战了传统上认为芒果起源于喜马拉雅山脉的单一物种的观点。研究提出了几种可能的解释,包括多次驯化事件和不同物种的杂交。Warschefsky博士的研究不仅加深了我们对芒果起源的理解,也为芒果育种和种植提供了新的思路。
阅读更多
程序员Joflof历经多年,终于完成了对1983年经典游戏《巷猫》的重制版。该重制版不仅保留了原汁原味的像素画面和音效,还新增了五个关卡和多人游戏模式,最多可支持4只小猫同时游戏。此外,Joflof还为街机爱好者特别增加了街机模式配置选项。目前游戏仅支持Windows系统,但作者希望有热心人士能协助移植到Linux和Mac系统。
阅读更多
Caravan是一个灵活的、基于传输的JavaScript/TypeScript日志系统,它支持多种传输方式(例如控制台、文件、Datadog和BetterStack),允许按日志级别进行过滤,并支持通过派生日志器绑定上下文和数据脱敏。开发者可以使用它轻松记录各种信息,包括基本日志、元数据日志以及上下文相关的日志,提高调试和监控效率。其TypeScript优先的设计也方便了开发者使用。
阅读更多
本文探讨了设计令牌在现代UI架构中的作用。通过将设计决策转化为数据,设计令牌作为单一事实来源,实现跨平台自动化代码生成,从而提高设计一致性和更新速度。文章详细介绍了设计令牌的分层组织(选项令牌、决策令牌、组件令牌),自动化分发流程,以及如何选择合适的层数和令牌范围。最终,它阐述了设计令牌的适用场景和局限性,帮助读者判断其是否适合自己的项目。
阅读更多
当前的ERP软件静态且难以使用,用户需适应软件的界面和流程。Lumina公司提出一种“适应性软件”的概念,利用生成式AI,让软件适应用户。该软件能理解自然语言指令,自动完成任务,例如根据邮件自动生成报价、更新员工排班等。它连接其他系统,自动处理数据,解放员工,让他们专注于战略决策而非数据录入。这将改变人机交互方式,让员工从繁琐操作中解脱,专注于创造性和战略规划。
阅读更多
据弗劳恩霍夫太阳能系统研究所(Fraunhofer ISE)报告,2024年德国可再生能源发电量占比达到62.7%,其中太阳能发电占比14%。太阳能发电量创纪录地达到72.2太瓦时,风能仍然是德国最大的电力来源,发电量为136.4太瓦时。尽管天气条件不佳,但由于光伏装机容量的迅速扩张,光伏发电量仍创下新高。电池储能容量也大幅增长,装机容量从8.6吉瓦增至12.1吉瓦。德国的碳排放量持续下降,2024年降至1.52亿吨,比1990年水平下降了58%。
阅读更多
一位在18F担任设计师的作者,因不堪忍受新政府的政治压力和对联邦政府的恶意重组而辞职。作者描述了18F积极的工作氛围和同事间的互助,以及新政府领导层以“技术胜利”为名义进行的裁员行动,这让她意识到自己可能面临被解雇的风险,最终选择辞职。这篇文章不仅讲述了一个个人的工作经历,也反映了美国政府内部的政治斗争和对公共服务的冲击,以及对联邦雇员的潜在威胁。
阅读更多
据Recorded Future报告,尽管美国政府对中国政府支持的黑客组织Salt Typhoon实施了制裁,该组织仍在持续攻击全球电信运营商。Salt Typhoon近期入侵了五家电信公司,包括一家美国大型电信运营商的子公司以及意大利、南非和泰国的电信公司。他们利用Cisco设备漏洞,并对缅甸Mytel公司基础设施进行了侦察。此次攻击目标还包括一些大学,疑似为了获取相关技术研究成果。尽管美国财政部已对与Salt Typhoon有关联的四川久信和网络科技公司进行制裁,但Recorded Future预计该组织的攻击活动将持续下去。
阅读更多
ResumeVue是一个私密的求职平台,汇集了来自招聘经理、招聘人员、风投公司、创业公司等渠道的职位信息。用户可以直接联系招聘方,提高求职效率。两位用户Francesca和Chris分享了他们的成功经验,证明ResumeVue帮助他们快速找到工作并获得更多面试机会。ResumeVue还提供简历视频托管和数据分析等工具,帮助求职者提升竞争力。
阅读更多
UNIX 共同作者 Ken Thompson 在其论文“Reflections on Trusting Trust”中讲述了一个惊人的故事:他如何在 C 编译器中植入后门,并在编译登录程序时自动插入该后门,从而绕过系统安全。更令人震惊的是,该后门能够自我复制,即使源代码中删除了后门代码,编译器也能在编译过程中重新插入它。这个故事深刻地阐述了对软件信任的局限性,以及即使在源代码级别进行审查也无法完全保证软件安全的现实。
阅读更多
SeleniumBase是一个强大的Python框架,用于Web自动化、测试和绕过机器人检测。它基于Selenium WebDriver,并集成了pytest等测试运行器,提供简洁的语法和丰富的功能,例如自动等待页面元素加载、生成测试报告和Dashboard、支持多种浏览器和操作系统等。SeleniumBase还提供多种模式,例如UC模式和CDP模式,以增强测试的隐蔽性和可靠性,并包含丰富的示例和文档,帮助用户快速上手。
阅读更多
停车改革先驱Donald Shoup教授于2月6日逝世。本文讲述了Shoup教授如何彻底改变了停车的政治经济学以及城市本身的面貌。他提出的“免费停车的巨大成本”理论指出,停车位价格过低导致资源浪费和城市交通拥堵。Shoup教授倡导基于需求的停车定价和取消最低停车位要求,并通过建立停车收益区将停车收入用于改善当地基础设施,从而获得民众支持。他的理念已在全球数千个城市得到应用,对城市规划产生了深远影响。
阅读更多
Bluesky 社交平台上涌现出各种主题的热门内容聚合,涵盖科学、宠物、书籍、音乐、游戏、艺术、黑人文化、体育等多个领域。这些主题内容聚合,通过关键词或标签进行分类,方便用户快速找到感兴趣的内容。平台还提供了一些工具,帮助用户创建和管理自己的主题聚合。
阅读更多
本文探讨了无限Nim游戏,一种将传统Nim游戏扩展到超限序数的游戏。作者首先回顾了有限Nim游戏的获胜策略——平衡策略,然后引入了超限序数的二进制表示法,并证明了每个序数都有唯一的二进制表示。作者进一步证明了平衡策略同样适用于无限Nim游戏,并通过一个具体的例子展示了如何运用该策略找到获胜的走法。
阅读更多
这个项目是对naklecha/llama3-from-scratch的增强版,它在原项目的基础上进行了全面的改进和优化,旨在帮助大家更轻松地理解和掌握Llama 3模型的实现原理和详细推导过程。项目核心改进包括:内容呈现顺序的重新编排、目录结构的调整、大量详细的代码注释、矩阵维度变化的完整标注、丰富的原理性解释和详细推导、新增KV-Cache推导章节以及中英文双语文档。教程从加载模型文件和配置文件开始,逐步讲解了文本转嵌入、Transformer块构建、注意力机制实现、位置编码、RMS归一化、SwiGLU前馈网络等核心步骤,最终实现了对下一个token的预测,并深入探讨了top-k预测、不同token嵌入的影响以及KV缓存机制的原理和优势。
阅读更多
还在为支付账单而烦恼吗?Check Supply 提供了一种便捷的支票支付服务,让你像1999年一样轻松写支票。无论你需要支付房租、税款还是工资,Check Supply都能满足你的需求。该服务提供无限支票发送、实时追踪通知、详细报表等功能,未来还将推出定时邮寄、定期支票设置以及低余额提醒等功能,让你轻松管理财务。
阅读更多
本文介绍了使用Jujutsu版本控制工具进行高效代码合并和分支管理的方法。作者提出了一种“megamerge”工作流,通过创建合并提交作为工作区,并在完成部分工作后使用`jj squash`将更改压缩到合适的父提交中。更进一步,`jj absorb`命令可以自动将更改整合到合适的父提交,简化了工作流程。这种方法使得开发者可以方便地管理多个并行的工作流,提高开发效率,尤其在处理大型、长期运行的升级项目时优势明显。
阅读更多
U2乐队的鼓手拉里·穆伦·小(Larry Mullen Jr.)近日首次公开透露自己患有计算障碍症(dyscalculia),这是一种影响数学能力的学习障碍。他表示,自己无法进行简单的计数和加法运算,甚至将数拍子比作“攀登珠穆朗玛峰”。这一坦诚的分享为人们了解学习障碍提供了新的视角,也展现了这位音乐家在克服挑战的同时,仍然取得了巨大的成就。
阅读更多
程序员们经常纠结于技术选型,争论哪种语言或框架更好。但真相是,用户不在乎这些!他们不会注意到你节省的额外10毫秒,也不会因为你使用了最新的JavaScript框架而体验 magically 提升。真正重要的是你对产品和用户需求的关注。每种编程语言和框架都有其擅长的领域,但技术选择本身并不能决定产品的成功。与其追逐潮流,不如选择自己熟悉的、乐于使用的、能激发你不断改进的技术。找到技术选择与产品价值之间的平衡,才是打造优秀产品的关键。
阅读更多
Schrödinger是一家将量子力学应用于药物和材料设计的生物科技公司,其软件被全球前20大制药公司广泛使用。然而,上市五年后,其股价却徘徊于历史低点。本文深入探讨了Schrödinger的商业模式、财务状况以及在AI浪潮中的机遇与挑战。Nvidia CEO黄仁勋曾敦促Schrödinger“放眼更大格局”,拥抱AI。Schrödinger CEO Farid起初犹豫,但最终认识到AI与公司现有技术的结合将极具潜力。目前,Schrödinger正积极与合作伙伴合作,并推进其内部药物研发,临床数据有望在2025年公布。其未来发展将取决于能否成功平衡软件业务和生物技术研发,并清晰地向投资者传达其价值主张。
阅读更多
一个名为 @smoores/epub 的 Node.js 库正式发布,它能够检查、修改和创建 EPUB 3 出版物。该库提供了高级 API,简化了 EPUB 规范的实现细节,例如设置标题和获取作者信息;同时也提供了低级 API,允许更精细地控制 EPUB 结构,例如添加章节和元数据。@smoores/epub 基于 fast-xml-parser,提供了强大的 XML 解析和操作功能,方便开发者处理 EPUB 文件的 XML 内容。
阅读更多
LLVM静态分析器新增了对Z3约束求解器的支持,这使得其能够更有效地过滤掉误报。文章通过一个简单的例子演示了两种使用Z3的方法:一是将其作为外部求解器,二是利用其进行误报的验证。第一种方法虽然能彻底消除误报,但速度显著下降(约15倍);第二种方法速度更快,通过Z3验证来减少误报。实验结果表明,启用Z3后,LLVM静态分析器能够准确识别并避免因位运算导致的误报,提高了分析结果的可靠性。
阅读更多
Discourse开源论坛在2014年8月26日发布了1.0版本,并推出托管服务。十年来,它始终坚持100%开源,并不断发展壮大。从最初的15个插件发展到如今的49个,并加入了聊天和AI功能,例如AI机器人和摘要功能。团队规模也从4人发展到102人,遍布全球25个国家和14个时区。Discourse已服务超过2万个社区,拥有超过1亿个主题和近16.5亿个帖子。
阅读更多
近期,Python项目Ultralytics遭受供应链攻击,攻击者入侵其GitHub Actions工作流程并窃取PyPI API令牌,导致版本8.3.41、8.3.42、8.3.45和8.3.46被污染。攻击未利用PyPI自身漏洞,而是针对GitHub Actions缓存。PyPI利用可信发布和Sigstore透明日志迅速识别并移除恶意软件,并指出API令牌和GitHub环境配置的不足。文章强调了保障软件代码库和发布流程的重要性,并为开发者提供了加强安全性的建议,包括使用可信发布者、锁定依赖项、避免使用不安全模式以及启用多因素身份验证等。
阅读更多
Modelica协会致力于推广Modelica语言及其相关工具,Modelica是一种面向对象的建模语言,用于构建和模拟复杂系统,尤其擅长对基于数学方程的、可重用的组件进行非因果连接建模。该协会提供语言规范、工具、库以及社区支持,助力用户高效地进行系统建模。
阅读更多
本文探讨了在使用用户输入执行shell命令时避免命令注入漏洞的安全方法。作者首先展示了一个存在漏洞的例子,然后介绍了三种改进方案:使用`execFile`替代`exec`、使用环境变量传递参数以及使用JavaScript的模板字面量进行安全插值。文章还比较了Python和Swift等其他语言中的类似方法,并提出了一种在Python中使用装饰器和正则表达式实现安全插值的奇技淫巧(不推荐用于生产环境)。
阅读更多
本文讨论了Rust借用检查器的四个令人惊讶的局限性,这些局限性即使经验丰富的Rust程序员也可能遇到。第一个局限是借用检查器无法充分考虑match和return语句,导致在处理HashMap时需要额外的检查。第二个局限与异步编程有关,目前Rust无法表达某些异步回调的类型签名。第三个局限是FnMut闭包不允许重新借用捕获的变量,限制了异步操作中对可变状态的访问。最后一个局限是Send检查器缺乏控制流感知能力,导致某些本应是Send的Future被错误地标记为非Send。作者通过具体的代码示例和解决方法,阐述了这些局限性及其带来的挑战,并呼吁改进Rust的类型系统以提升开发效率。
阅读更多