《健身课》(Gym Class) 是一款在Meta Quest上评价极高的社交VR游戏(4.9星,7.9万+评价,数百万下载量),正在寻找创始设计工程师,负责领导其移动网页应用和VR体验内的网页界面的开发。 该职位负责端到端的工作:您将使用Figma将想法转化为精美的UI,然后使用React/Node/CSS构建响应式、可用于生产环境的功能。您将负责网页路线图,优先改进社交功能、个人资料等,同时保持高性能和可访问性标准。 理想的候选人拥有3-6年以上构建消费者级网页产品的经验,具备强大的设计和编码技能,并能提供展示这两方面的作品集。务实、创业精神以及对不确定性的适应能力是关键。 《健身课》获得了来自a16z和NBA等投资者的800万美元+的资金支持,并与NBA和MLB达成了授权协议,致力于通过沉浸式体验连接世界。该职位包括有竞争力的薪资、股权和福利。
## jSciPy:一个Java SciPy实现
jSciPy是一个全面的Java库,旨在复制Python的SciPy的功能,用于在JVM和Android上进行科学计算和信号处理。它通过提供机器学习流水线中基本算法的高性能实现,填补了Java生态系统中的一个空白。
该库包括用于**信号处理**(滤波、窗口函数、卷积)、**变换**(FFT、希尔伯特变换、DCT)、**数学与分析**(ODE求解器、插值、多项式拟合)等的模块。主要功能包括高级滤波选项(巴特沃斯、切比雪夫等)、二维信号处理以及与SciPy兼容的API。
jSciPy通过其更广泛的功能集和与SciPy行为的一致性,在严格测试下实现了出色的精度(RMSE为10^-16或更低),从而使其与其他Java库(如Commons Math和JDSP)区分开来。
该库通过JitPack提供,并欢迎贡献,特别是在性能基准测试、功能扩展和文档方面。 还有一个演示Android应用程序可供参考。
经过八小时的调试,一位机器人工程师发现人行道机器人冻结的原因:由于代码与`rerun`可视化SDK之间意外的交互导致了死锁。机器人核心控制循环以100Hz的频率运行,但在通过WebRTC连接LiDAR流后16秒停止。
最初修复问题的尝试——调整线程模型和互斥锁——失败了。一个心跳线程显示循环并没有变慢,而是*被阻塞*,从而发现了`rerun`内部生成的错误Rayon工作线程。问题源于在持有互斥锁时调用`rerun.log()`,从而触发了Rayon工作窃取死锁。
解决方案很简单:减少互斥锁的持有时间。这位工程师学到了宝贵的经验:GDB对于死锁至关重要,日志不足以进行线程状态分析,并且依赖项可能会引入隐藏的线程复杂性。他们还提倡使用心跳线程来检测停滞的循环,并向`rerun`提交了一个PR来记录这个问题。