东北大学编程教育改革 | 将浏览器变成 Neovim | 专为 Vision Pro 设计的 3D 摄像机 | 向量数据库 UI

开发 开发工具
Reservoirs Lab 为 Postgres 作为向量数据库提供了一个强大的可视化工具,适合数据科学家和开发者在本地环境中快速探索和分析高维数据。虽然有一些挑战,但总体来说,这是一个值得尝试的工具。

Firenvim – 将浏览器变成 Neovim 客户端

https://github.com/glacambre/firenvim

图片

Firenvim 是一个浏览器扩展,可以让你在浏览器中使用 Neovim 编辑文本区域。支持 Firefox 和 Chrome 浏览器,其他基于 Chromium 的浏览器(如 Brave、Vivaldi、Opera 和 Arc)也应该可以使用,但未经过官方测试。。

安装 Firenvim 后,只需点击任何文本区域,它就会立即被 Firenvim 替换。你可以像在 Neovim 中一样编辑文本,保存内容只需在 Neovim 中输入 :w,关闭 Firenvim 覆盖并返回文本区域则使用 :q。如果选择的元素没有显示 Firenvim 框架,尝试按下 Ctrl + Shift + F。

Firenvim 提供了许多配置选项,可以在 init.lua 中设置。例如,你可以配置 Firenvim 自动接管哪些网站的文本区域,设置命令行的显示方式,以及如何处理特殊字符等。此外,还可以通过 UIEnter 和 UILeave 自动命令检测 Firenvim 是否连接到 Neovim 实例。

评论(如有):

  • 网友 mastermedo:我尝试过几次 Firenvim,但遇到了与其他扩展(如 Vimium)的快捷键冲突问题,以及在大多数文本提示框中 Firenvim 占用空间太小的问题。虽然理论上可以复制粘贴 Neovim 配置,但适用于终端的配置并不一定适合浏览器中的小文本区域。
  • 网友 MantisShrimp90:对于需要在应用生态系统内编辑代码的情况,Firenvim 非常有用。例如,ServiceNow 强制使用其糟糕的专有编辑器,而 Firenvim 可以提供更好的编辑体验。不过,需要谨慎配置哪些网站启用 Firenvim,以免在每个小文本提示框中都激活它。
  • 网友 jeroenhd:尽管 Firenvim 很强大,但其安全风险让我望而却步。理想情况下,有人可以将 Neovim 编译成 WebAssembly,这样就可以在不与任何本地二进制文件交互的情况下使用,虽然会牺牲一些性能和功能。
  • 网友 yonrg:Tridactyl 也有类似的功能,可以将编辑面板内容拆分到真实的 Vim 或 gVim 编辑器中。我很少使用这个功能,通常只在需要多行注释时才会用到。对于简单的文本输入,我还是更喜欢留在浏览器界面中。
  • 网友 eviks:GhostText 是一个类似的扩展,使用外部文本编辑器,特别适合短消息。即使浏览器或扩展崩溃,也不会丢失宝贵的数据。对于较长的文本消息,也不受制于通常较小的输入文本框。

Blackmagic 推出 3D 摄像机 URSA Cine Immersive,专为 Vision Pro 设计

https://www.macrumors.com/2024/12/16/black-magic-3d-vision-pro-camera/

Blackmagic 今日宣布其 URSA Cine Immersive 摄像机现已开放预购,预计将于 2025 年第一季度末开始交付。这款摄像机是全球首款专为 Apple Vision Pro 设计的商业 3D 摄像系统,售价为 30,000 美元。

URSA Cine Immersive 摄像机配备了定制的立体 3D 镜头系统和双 8K 传感器,能够捕捉 180 度视野的 3D 视频,并支持空间音频,最高帧率为 90fps。每只眼睛的分辨率高达 8,160 x 7,200,动态范围达到 16 挡,确保每一帧的细节和色彩准确性。摄像机还配备了两个 5 英寸 HDR 触摸屏和一个外部颜色状态 LCD 屏幕,提供多种连接选项,包括 12G-SDI 输出、10G 以太网、USB-C 和 XLR 音频端口,以及 8 针 Lemo 连接器用于供电。

内置的 8TB Blackmagic Media Module 可存储约两小时的 8K 立体视频,支持 Blackmagic RAW 格式,并且支持 Cloud Store 快速媒体上传和同步。

评论(如有):

  • 网友 LaSombra:黑魔官网的公告中甚至没有提到 Vision Pro,只提到了一次 Apple。
  • 网友 paxys:有多少电影制作人会花费 30,000 美元拍摄仅适用于单个平台的视频,尤其是这个平台几乎没人用?至少他们应该放弃专有格式,支持 Quest 和其他头显。
  • 网友 oDot:我研究过实拍动漫,这款摄像机看起来真的很酷,特别是如果可以精细控制每个传感器,甚至更换镜头(无论是官方支持还是非官方支持)。动漫的优势在于逐帧绘制,因此可以在动作密集的场景中“更换”镜头。使用这款摄像机可以同时拍摄两种不同的设置,实现类似的效果。
  • 网友 brabel:90 年代末有一部电影,讲述了一种神经设备可以记录大脑活动,以便后来的人通过设备重播这些体验。但这种体验变得像毒品一样让人上瘾,人们无法停止体验他人的虚拟经历。有人知道这部电影是什么吗?
  • 网友 throwaway48476:他们卖出了多少 Vision Pro?还有多少人在使用?
  • 网友 TheAceOfHearts:有没有人在专门为 Vision Pro 制作电影?虽然 Apple 可以赞助一些影片来充实他们的内容库,但对于创作者来说,潜在观众太少了,显得不太吸引人。不过,如果 Vision Pro 用户是你想要的目标受众,这可能是个不错的选择。这些用户可能会对专门为其平台制作的内容感兴趣并愿意购买。
  • 网友 OliverGuy:8TB 存储两小时的 8K 立体视频,这对任何编辑来说都是一个巨大的工作流程挑战,即使按照今天的标准来看,这也是一个不小的数据量。
  • 网友 ulfw:哈哈,这真是小众中的小众中的小众。这款摄像机的预期销量会有多少?两位数?个位数?
  • 网友 freedomben:很酷!但我真心希望它不使用某种仅限 Apple 设备的专有格式。

东北大学的编程教育革命:系统化设计与团队合作

https://felleisen.org/matthias/Thoughts/Developing_Developers.html

图片

东北大学计算机科学系在过去的 12 年里,开发了一种独特的编程教学方法,强调系统化和显式化的程序设计。这种方法不仅帮助学生更好地准备他们的第一份编程工作,还为他们未来的职业发展打下了坚实的基础。

传统编程课程的问题

传统的编程课程往往采用“尝试直到成功”的方法,教授学生模仿和实验。这种方法虽然对喜欢摆弄小玩意的学生有吸引力,但也让许多其他有潜力的学生望而却步。东北大学的课程则不同,它通过明确的设计规则和系统化的方法,帮助学生掌握编程的核心技能。

明确的设计规则

《How to Design Programs》是第一本系统地介绍如何构建程序的教材。书中详细介绍了结构化设计的方法,包括六个步骤:理解问题、选择数据表示、编写示例、定义函数签名、创建函数框架、编写测试。这种方法不仅适用于编程,还可以应用于其他领域的系统化问题解决。

课程设置

  • Fundamentals I:使用教学语言引入系统化设计,学生从第一天起就开始配对编程,培养沟通和协作能力。
  • Fundamentals II:使用 Java 教授如何在实际语言中应用设计原则,引入代码审查。
  • Logic in Computer Science:教授逻辑推理,帮助学生理解程序的正确性。
  • OOD:扩展项目规模,教授接口和协议的设计。
  • Software Development:综合所有核心课程,让学生参与代码维护和团队合作。

学生反馈

  • hahahacorn:东北大学的课程设计和原则非常出色。我在工作中很快成为导师,发现其他开发者缺乏系统化思考的能力。
  • achenet:配对编程对我的编程能力提升很大,课程过程非常有趣。
  • delusional:虽然早期的学习经历充满挑战,但正是这些经历让我成为了一个优秀的开发者。

小编锐评

东北大学的这套编程教育方法不仅注重技术技能的培养,还强调团队合作和沟通能力的重要性。这种方法或许可以为其他高校提供借鉴,帮助更多学生更好地适应未来的软件开发工作。

ISO 8583: 信用卡通信的语言

https://increase.com/articles/iso-8583-the-language-of-credit-cards

图片图片

ISO 8583 是信用卡交易的标准协议,用于实时通信。无论是你在 POS 设备上刷卡还是在线购物,最终都会生成一条 ISO 8583 消息,这条消息会在商户的收单处理器、卡网络和银行的发卡处理器之间传递。

基本结构

ISO 8583 消息包含三个主要部分:

  • 消息类型指示符(Message Type Indicator, MTI):四位数字代码,表示消息类型,如授权请求(0100)、授权响应(0110)等。
  • 位图(Bitmap):指示哪些字段存在。每个位对应一个字段,1 表示存在,0 表示不存在。
  • 数据元素(Data Elements):实际的数据字段,包括卡片号、交易金额等。

复杂性与挑战

尽管 ISO 8583 是一个标准,但各卡网络(如 Visa、Mastercard、American Express)在实现细节上存在显著差异。例如,不同的网络可能使用不同的编码方式(ASCII、EBCDIC、BCD)和字段定义。这些差异使得实现一个通用的 ISO 8583 解析器变得非常复杂。

评论(如有):

  • 网友 ekmartin:虽然称为标准,但实际实现中有很多细微差别,使得集成过程非常困难。特别是 Mastercard 的实现最为复杂。
  • 网友 ocf:Visa 和 Mastercard 的实现并不完全标准化,各自发布了数千页的文档来覆盖标准字段的使用和专有数据的嵌入。大多数卡管理和发行平台都很好地抽象了这些差异。
  • 网友 t0mas88:这种协议在当时是很常见的,类似于打包的 C 结构体。接收端需要注意动态字段长度的验证,防止读取超出消息范围或无限缓冲区分配。这些问题现在已经被很好地理解了。
  • 网友 heywire:很多公司为了绕过 ISO 8583 的限制,会在 API 调用前后添加非 PCI 数据,以传递额外信息。虽然这种方法加快了市场进入速度,但也引入了许多新的故障模式。

小编锐评

ISO 8583 作为信用卡通信的核心协议,虽然历史悠久,但其复杂性和网络间的差异使得实现和维护变得相当困难。随着技术的发展,ISO 20022 等新标准的出现可能会逐步取代 ISO 8583,但这一过程需要时间和全球范围内的共同努力。对于开发者和支付行业的从业者来说,了解这些底层协议的运作原理仍然具有重要意义。

Postgres 作为向量数据库的 GUI 工具:Reservoirs Lab

https://github.com/Z-Gort/Reservoirs-Lab

图片图片

Reservoirs Lab 是一个轻量级的 Electron 应用程序,旨在直接连接到 Postgres 数据库并可视化高维向量嵌入。用户可以通过该工具交互式地探索数据,并查看元数据与向量嵌入之间的语义相似性。以下是 Reservoirs Lab 的主要功能:

  • Postgres 集成:通过连接字符串直接连接到 Postgres 数据库。
  • 向量可视化:交互式地绘制和探索高维向量。
  • 邻域探索:点击数据点查看按余弦相似度排序的相关点,同时保持聚类。
  • 轻量且本地运行:在本地运行,保护数据隐私。

安装步骤

  1. 确保已安装 Node.js 和 npm。
  2. 克隆仓库:git clone https://github.com/z-gort/reservoirs-lab.git
  3. 进入项目目录。
  4. 安装依赖:npm install
  5. 启动应用:npm start
  6. 输入 Postgres 数据库连接字符串。

评论(如有):

  • wenc:这个工具很好,但建议提到使用 UMAP 进行降维,并注意超参数的选择。降维到 2 维可能会有很大变化,可以考虑投影到更多维度,通过散点图矩阵来可视化。
  • redwood:有人见过 Atlas 吗?绝对美丽的向量可视化工具。
  • gregncheese:我还没找到比 Tensorflow Projector 更好的工具:Tensorflow Projector。不过需要先将数据准备成 TSV 文件。
  • samanthasu:优秀的可视化!
  • z-gort:如果有机会重来,我可能不会选择 Electron。本地进行降维分析确实有一些挑战,但通过分析随机采样的几千个点,可以在本地 GUI 中获得数据的整体视图。
  • ddtaylor:这个工具使用了 pgVector 吗?

小编锐评

Reservoirs Lab 为 Postgres 作为向量数据库提供了一个强大的可视化工具,适合数据科学家和开发者在本地环境中快速探索和分析高维数据。虽然有一些挑战,但总体来说,这是一个值得尝试的工具。

Solaar:轻松管理 Logitech 设备的 Linux 工具

https://github.com/pwr-Solaar/Solaar

图片图片

Solaar 是一个强大的 Linux 工具,用于管理和配置 Logitech 的无线和有线设备,包括键盘、鼠标和其他外设。它不仅支持 Unifying、Bolt、Lightspeed 和 Nano 接收器连接的设备,还支持通过 USB 电缆或蓝牙连接的设备。

功能亮点

  • 设备管理:轻松配对和解配设备与接收器。
  • 自定义设置:配置设备的各种设置,如 DPI、电池状态等。
  • 自定义按钮:根据个人需求自定义设备按钮的功能。
  • 规则引擎:运行规则以响应设备发送的特殊消息,实现自动化操作。

用户评价

  • 网友 loufe:我使用过 MX Master 鼠标多年,Solaar 真是解决了我在蓝牙连接上的所有问题。它的界面比 Logitech 的软件更简洁,功能更强大。感谢开发者!
  • 网友 yapyap:Solaar 比 Logitech 自己的软件好用多了。你可以看到实际的电池百分比,还可以设置具体的 DPI 数值,而不是那个烦人的滑块。
  • 网友 bbutkovic:我一直在使用 Solaar 管理我的 MX Master 2s,特别是调整滚轮的自由滚动点,效果非常好。还可以绑定键盘快捷键到特定的手势,非常方便。

相关工具

  • Piper:另一个用于配置 Logitech 设备的工具,适用于有线鼠标。
  • logiops:虽然规则功能较弱,但也是一个不错的选择。

总结

Solaar 是一个轻量级且功能强大的工具,适合所有使用 Logitech 设备的 Linux 用户。它不仅简化了设备管理,还提供了丰富的自定义选项,让用户体验更加个性化。如果你正在寻找一个可靠的 Linux 设备管理工具,Solaar 绝对值得一试。

责任编辑:武晓燕 来源: Piper蛋窝
相关推荐

2024-12-20 08:26:25

Python字节码缓存机制__pycache_

2015-06-18 17:25:19

地铁华为

2013-08-28 13:51:19

2016-09-19 10:14:54

PythonNumpy数据

2009-08-17 16:48:34

ASP.NET缓存机制

2015-12-16 12:40:32

H5缓存机制移动

2024-01-03 16:29:01

Agent性能优化

2016-01-20 14:11:59

戴尔云计算

2024-11-06 08:13:28

2023-08-30 11:03:47

Java工具

2021-01-29 23:26:25

大数据人工智能5G

2018-07-12 20:41:54

人工智能世界杯腾讯云

2024-12-05 09:02:00

Pythonif​

2011-07-01 10:11:39

2013-06-28 09:45:58

vSphere虚拟机

2009-08-13 16:57:37

.NET缓存机制

2021-05-28 23:04:23

Python利器执行

2021-06-10 10:02:19

优化缓存性能

2016-03-09 09:54:47

Python开发缓存机制

2017-08-08 09:45:43

Python性能优化
点赞
收藏

51CTO技术栈公众号