[程序员] 我用 deepseek 逆向了小米运动的卡路里算法,绷不住了
起因是主播最近在减肥,每天运动量不变,卡路里却忽高忽低,觉得其中必有蹊跷。让 deepseek 帮忙逆向看了一眼,看完是真绷不住。
先说明前提:我没戴小米手环,手机放裤兜或边走边刷。手环走的是另一套算法,由手环自己算完传给手机,跟下面这些无关。
我本以为这算法至少符合运动生理学。结果核心就三条:
按分钟分档,只看步频
每分钟步数 ≤138 → 0.04 卡/步 139–277 → 0.06 卡/步 ≥278 → 0.10 卡/步
注意最后那档:278 步/分相当于 4.6 步/秒,那是苏炳添、陈妤颉这种选手的顶速。而且它要的是整整一分钟都这个频率——人类压根做不到。所以实际只有前两档在用。
距离 = 步数 × 0.6 ,而且每次更新都取整
不是最后乘一次,是每次同步来 n 步,就算 int(n × 0.6) 再累加。n=13 时 7.8 → 7 ,丢 0.8 米。同步越勤,丢得越多,所以你看到的是 0.59 而不是 0.6 。
卡路里会重复累加(这是 bug )
同一分钟内,它每次更新不是把最新值同步过去,而是把这分钟的旧值再往上加一遍。
我做了个对照:
19:20 正常走 54 步,没碰手机 → 2.16 卡 ( 54×0.04 ,正确) 19:21 走 40 步,边走边下拉刷新 → 8.28 卡 8.28 ÷ 40 = 0.207 卡/步,比它自己最高档的 0.10 还高一倍。
日志里这一分钟被写了 8 次:
2 步/0.08 → 14 步/0.64 → 17 步/1.32 → 28 步/2.44 → 33 步/3.76 → 35 步/5.16 → 38 步/6.68 → 40 步/8.28 每一个都是「上一次的值 + 这一次的累计值」。这就是为什么你越刷它越大。
复现
adb logcat -G 128M && adb logcat -c 走 5 分钟 adb logcat -d -v brief > walk.log 搜 srcDataMap = {calories=[...] 看同一个 time= 的 calories 是不是在涨 注意:logcat 分段时每行会重复带 I/fitness_xxx(pid): 前缀,直接删换行会漏读,得先剥前缀。
写这些不是想证明小米多烂。就是觉得,每次当我觉得世界总不可能这么草台班子吧?现实就冲过来狠狠地给我上一课。
一个天天摆在首屏、几千万人在看的数字,能偏 30%~100%,而且偏差取决于你刷不刷手机,挺神奇的。
via V2EX (author: Chihiro316)
起因是主播最近在减肥,每天运动量不变,卡路里却忽高忽低,觉得其中必有蹊跷。让 deepseek 帮忙逆向看了一眼,看完是真绷不住。
先说明前提:我没戴小米手环,手机放裤兜或边走边刷。手环走的是另一套算法,由手环自己算完传给手机,跟下面这些无关。
我本以为这算法至少符合运动生理学。结果核心就三条:
按分钟分档,只看步频
每分钟步数 ≤138 → 0.04 卡/步 139–277 → 0.06 卡/步 ≥278 → 0.10 卡/步
注意最后那档:278 步/分相当于 4.6 步/秒,那是苏炳添、陈妤颉这种选手的顶速。而且它要的是整整一分钟都这个频率——人类压根做不到。所以实际只有前两档在用。
距离 = 步数 × 0.6 ,而且每次更新都取整
不是最后乘一次,是每次同步来 n 步,就算 int(n × 0.6) 再累加。n=13 时 7.8 → 7 ,丢 0.8 米。同步越勤,丢得越多,所以你看到的是 0.59 而不是 0.6 。
卡路里会重复累加(这是 bug )
同一分钟内,它每次更新不是把最新值同步过去,而是把这分钟的旧值再往上加一遍。
我做了个对照:
19:20 正常走 54 步,没碰手机 → 2.16 卡 ( 54×0.04 ,正确) 19:21 走 40 步,边走边下拉刷新 → 8.28 卡 8.28 ÷ 40 = 0.207 卡/步,比它自己最高档的 0.10 还高一倍。
日志里这一分钟被写了 8 次:
2 步/0.08 → 14 步/0.64 → 17 步/1.32 → 28 步/2.44 → 33 步/3.76 → 35 步/5.16 → 38 步/6.68 → 40 步/8.28 每一个都是「上一次的值 + 这一次的累计值」。这就是为什么你越刷它越大。
复现
adb logcat -G 128M && adb logcat -c 走 5 分钟 adb logcat -d -v brief > walk.log 搜 srcDataMap = {calories=[...] 看同一个 time= 的 calories 是不是在涨 注意:logcat 分段时每行会重复带 I/fitness_xxx(pid): 前缀,直接删换行会漏读,得先剥前缀。
写这些不是想证明小米多烂。就是觉得,每次当我觉得世界总不可能这么草台班子吧?现实就冲过来狠狠地给我上一课。
一个天天摆在首屏、几千万人在看的数字,能偏 30%~100%,而且偏差取决于你刷不刷手机,挺神奇的。
via V2EX (author: Chihiro316)
[Mac mini] [出租] Mac mini M5 Pro 64GB / 1TB 整机独享,远程使用,月付
手上一台闲置的 Mac mini 长期在线,找一位长期租客。
配置
Apple M5 Pro(18 核 CPU / 20 核 GPU) 64GB 统一内存 / 1TB SSD macOS 27,光纤宽带,7×24 在线 机房位置:海外(南美)
使用方式
整机独享,不和别人共用 通过 SSH / 屏幕共享远程连接 提供独立的管理员账户,退租后整机抹掉重置
规则
禁止挖矿、群发、爬虫攻击及任何违法用途 不提供 Apple ID,请使用自己的账号 需要简单说明用途
有意向请 wx 联系:wxid_s5k9oca36pud22
via V2EX (author: naruto2014)
手上一台闲置的 Mac mini 长期在线,找一位长期租客。
配置
Apple M5 Pro(18 核 CPU / 20 核 GPU) 64GB 统一内存 / 1TB SSD macOS 27,光纤宽带,7×24 在线 机房位置:海外(南美)
使用方式
整机独享,不和别人共用 通过 SSH / 屏幕共享远程连接 提供独立的管理员账户,退租后整机抹掉重置
规则
禁止挖矿、群发、爬虫攻击及任何违法用途 不提供 Apple ID,请使用自己的账号 需要简单说明用途
有意向请 wx 联系:wxid_s5k9oca36pud22
via V2EX (author: naruto2014)
[分享创造] Seedream 5.5 即将发布
传言 Seedream 5.5 即将发布,能力可以超过 nano banana 和 GPT image 吗?
我搞了个套壳站 Seedream 5.5,关注最新消息!
有啥建议评论区互动!
via V2EX (author: nathan666)
传言 Seedream 5.5 即将发布,能力可以超过 nano banana 和 GPT image 吗?
我搞了个套壳站 Seedream 5.5,关注最新消息!
有啥建议评论区互动!
via V2EX (author: nathan666)
[macOS] 写了个 macOS 原生的百度网盘下载工具 Ferry,开源
平时在 Mac 上从百度网盘下东西,不知何故总会 cpu 飙升发热严重,干脆用 Swift 写了个小工具,只管下载。
界面用的都是 SwiftUI 原生控件,安装要求 macOS 14 以上。
应用没有经过 Apple 公证,第一次打开要到「系统设置 → 隐私与安全性」里点「仍要打开」。介意的话可以自己从源码编译。
Download & GitHub: https://ferry.lemmabyte.com
现在是 0.1.0 ,自己用了一段时间。可能有些情况我没测到,大佬们轻喷。
via V2EX (author: jean)
平时在 Mac 上从百度网盘下东西,不知何故总会 cpu 飙升发热严重,干脆用 Swift 写了个小工具,只管下载。
界面用的都是 SwiftUI 原生控件,安装要求 macOS 14 以上。
应用没有经过 Apple 公证,第一次打开要到「系统设置 → 隐私与安全性」里点「仍要打开」。介意的话可以自己从源码编译。
Download & GitHub: https://ferry.lemmabyte.com
现在是 0.1.0 ,自己用了一段时间。可能有些情况我没测到,大佬们轻喷。
via V2EX (author: jean)
[分享创造] 我发现了一个超级好用的 Mac 窗口管理软件,终于不用天天整理桌面了
最近发现了一个叫 DeskPile 的 Mac 窗口管理软件,真的挺好用的,忍不住分享一下。
我平时写代码,电脑上经常同时开着 VS Code 、Chrome 、终端、微信,还有各种乱七八糟的软件。
最烦的就是窗口太多了。
比如正在写代码,突然要回个微信,回完又去浏览器查资料,等想继续写代码的时候,发现刚才那些窗口已经被盖得乱七八糟了。
有时候光是把几个窗口重新摆好,就得折腾半天。
之前也试过 Mac 自带的台前调度,还有一些分屏软件,但总觉得差点意思。尤其是我经常需要几个软件搭配着用,单纯分屏其实解决不了这个问题。
前几天无意间发现了 DeskPile ,用了几天下来,感觉终于找到适合自己的了 😂
它最吸引我的地方就是可以把几个窗口放在同一个组里。
比如我现在就分了几组:
写代码:VS Code + Chrome + 终端
日常聊天:微信 + Telegram
查资料:浏览器 + 笔记软件
需要哪组,按一下快捷键就能把整组窗口调出来,而且窗口的位置和大小都不会乱。
这个体验真的挺爽的。
以前是我自己到处找窗口,现在感觉是窗口自己跑到我面前来了。
而且它还可以给不同的窗口组设置颜色,找起来也方便。
用了几天之后,我发现自己已经开始习惯这种操作了。尤其是在几个任务之间来回切换的时候,确实舒服不少。
当然也不是什么革命性的软件,就是解决了一个我一直觉得很烦、但又懒得折腾的问题。
目前免费版就能用,想多创建几组的话是 $25 买断,不是订阅制,这点我还挺喜欢的。
官网: https://deskpile.app
视频演示: https://www.youtube.com/watch?v=pARcFdyiH0o
有用 Mac 的朋友可以试试,尤其是平时窗口开得特别多的。
via V2EX (author: Ki1m)
最近发现了一个叫 DeskPile 的 Mac 窗口管理软件,真的挺好用的,忍不住分享一下。
我平时写代码,电脑上经常同时开着 VS Code 、Chrome 、终端、微信,还有各种乱七八糟的软件。
最烦的就是窗口太多了。
比如正在写代码,突然要回个微信,回完又去浏览器查资料,等想继续写代码的时候,发现刚才那些窗口已经被盖得乱七八糟了。
有时候光是把几个窗口重新摆好,就得折腾半天。
之前也试过 Mac 自带的台前调度,还有一些分屏软件,但总觉得差点意思。尤其是我经常需要几个软件搭配着用,单纯分屏其实解决不了这个问题。
前几天无意间发现了 DeskPile ,用了几天下来,感觉终于找到适合自己的了 😂
它最吸引我的地方就是可以把几个窗口放在同一个组里。
比如我现在就分了几组:
写代码:VS Code + Chrome + 终端
日常聊天:微信 + Telegram
查资料:浏览器 + 笔记软件
需要哪组,按一下快捷键就能把整组窗口调出来,而且窗口的位置和大小都不会乱。
这个体验真的挺爽的。
以前是我自己到处找窗口,现在感觉是窗口自己跑到我面前来了。
而且它还可以给不同的窗口组设置颜色,找起来也方便。
用了几天之后,我发现自己已经开始习惯这种操作了。尤其是在几个任务之间来回切换的时候,确实舒服不少。
当然也不是什么革命性的软件,就是解决了一个我一直觉得很烦、但又懒得折腾的问题。
目前免费版就能用,想多创建几组的话是 $25 买断,不是订阅制,这点我还挺喜欢的。
官网: https://deskpile.app
视频演示: https://www.youtube.com/watch?v=pARcFdyiH0o
有用 Mac 的朋友可以试试,尤其是平时窗口开得特别多的。
via V2EX (author: Ki1m)
[分享创造] 把读书笔记放进 Apple Watch,抬腕回顾以前的划线| Booko 更新
之前在 V2EX 分享过 Booko ,一个用来导入、整理和回顾读书划线的 App 。上次更新了 Mac 版,这次把随机回顾放进了 Apple Watch 。
现在可以在手表上翻看以前的书摘,也可以把书摘放进表盘。抬腕看时间时,还能看到一句自己曾经划过的话。
如果你还不了解 Booko:它支持导入微信读书、Kindle 、Apple 图书、得到、豆瓣阅读和掌阅的划线笔记,可以按书整理,也可以记录自己的想法。
Booko 也支持随机回顾。内容保存在本地,通过个人 iCloud 在设备间同步,不需要额外账号或自建服务器。
还可以在 iPhone 、iPad 和 Mac 之间同步,最近也做了 Mac 原生小组件,相比 iPhone 镜像,体验会更好一些。
App Store: https://apps.apple.com/cn/app/id6761676075 也可以搜索「 Booko 读书笔记」下载体验。
via V2EX (author: Jiayifun)
之前在 V2EX 分享过 Booko ,一个用来导入、整理和回顾读书划线的 App 。上次更新了 Mac 版,这次把随机回顾放进了 Apple Watch 。
现在可以在手表上翻看以前的书摘,也可以把书摘放进表盘。抬腕看时间时,还能看到一句自己曾经划过的话。
如果你还不了解 Booko:它支持导入微信读书、Kindle 、Apple 图书、得到、豆瓣阅读和掌阅的划线笔记,可以按书整理,也可以记录自己的想法。
Booko 也支持随机回顾。内容保存在本地,通过个人 iCloud 在设备间同步,不需要额外账号或自建服务器。
还可以在 iPhone 、iPad 和 Mac 之间同步,最近也做了 Mac 原生小组件,相比 iPhone 镜像,体验会更好一些。
App Store: https://apps.apple.com/cn/app/id6761676075 也可以搜索「 Booko 读书笔记」下载体验。
via V2EX (author: Jiayifun)
[中转站] VBCoding 中转站| Claude/GPT/Gemini 全接入|登录送额度|用不完可退
充值比例 1:1 具体倍率如下(量大可谈): 企业级分组 0.35x plus pro 混池 0.25 kiro Claude 0.175x 站里自带 GPT-image-2 生图页面,可以直接使用生图功能,1k 、2k 和 4k 按张计费 用不完可申请退款,1R 也退 支持 GPT 、Claude 、Gemin 、Grok 模型 前 20 名送 5r 兑换卷福利 地址: https://new.vbcoding.cc/
via V2EX (author: wucongyunhao)
充值比例 1:1 具体倍率如下(量大可谈): 企业级分组 0.35x plus pro 混池 0.25 kiro Claude 0.175x 站里自带 GPT-image-2 生图页面,可以直接使用生图功能,1k 、2k 和 4k 按张计费 用不完可申请退款,1R 也退 支持 GPT 、Claude 、Gemin 、Grok 模型 前 20 名送 5r 兑换卷福利 地址: https://new.vbcoding.cc/
via V2EX (author: wucongyunhao)
[推广] MiniMax M3.1 Flash 模型 API 限时免费
MiniMax M3.1 Flash 主打多模态,支持文本/图片/视频输入和 1M 上下文,
在 Agent 任务、Coding 和 Computer Use 上表现强劲,价格极低,
纯 Coding 稳定性和幻觉控制上仍略逊于 DeepSeek V4.1 Flash 和 Opus 5.5
访问 https://tokenra.io/zh
via V2EX (author: sakurajiayou)
MiniMax M3.1 Flash 主打多模态,支持文本/图片/视频输入和 1M 上下文,
在 Agent 任务、Coding 和 Computer Use 上表现强劲,价格极低,
纯 Coding 稳定性和幻觉控制上仍略逊于 DeepSeek V4.1 Flash 和 Opus 5.5
访问 https://tokenra.io/zh
via V2EX (author: sakurajiayou)
[程序员] 不仅是 PHP 漏洞, nodejs 今天也发了
这周大家有的忙了 :)
https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
via V2EX (author: irvinglove)
这周大家有的忙了 :)
https://nodejs.org/en/blog/vulnerability/october-2026-security-releases
via V2EX (author: irvinglove)
[iPhone] iPhone Duo 媒体测评解禁了
暂时只看了一个测评 Apple 的折痕控制并没有做到行业第一 有点拔草了
何同学 https://www.bilibili.com/video/BV1XynB6EEiM/?spm_id_from=333.337.search-card.all.click&vd_source=c85aa75c44d77f721fd3a28a0113b4f7
影视飓风 https://www.bilibili.com/video/BV1xrnz6gEVD/?spm_id_from=333.337.search-card.all.click&vd_source=c85aa75c44d77f721fd3a28a0113b4f7
钟文泽 https://www.bilibili.com/video/BV16Gnz6FENp/?spm_id_from=333.337.search-card.all.click&vd_source=c85aa75c44d77f721fd3a28a0113b4f7
via V2EX (author: VWWWWWWW)
暂时只看了一个测评 Apple 的折痕控制并没有做到行业第一 有点拔草了
何同学 https://www.bilibili.com/video/BV1XynB6EEiM/?spm_id_from=333.337.search-card.all.click&vd_source=c85aa75c44d77f721fd3a28a0113b4f7
影视飓风 https://www.bilibili.com/video/BV1xrnz6gEVD/?spm_id_from=333.337.search-card.all.click&vd_source=c85aa75c44d77f721fd3a28a0113b4f7
钟文泽 https://www.bilibili.com/video/BV16Gnz6FENp/?spm_id_from=333.337.search-card.all.click&vd_source=c85aa75c44d77f721fd3a28a0113b4f7
via V2EX (author: VWWWWWWW)
[推广] clisesh 撸了一个 Agent CLI 会话恢复工具
项目:github.com/semigodking/clisesh
经常在几个 CLI 中来回切换,每个都用不同的命令。有的还要找 UUID. 有时候项目做完了很长时间,突然有人提出新的需求或者有 bug 要改,是在懒不得再去输入一堆的提示词,也不太想浪费 token,让 Agent 把代码再看一遍。于是就搞了这么一个小工具,随时随处恢复回以前的会话,这样就不用废话了,继续工作就可以了。
默认是使用 kiro-cli 来做会话内容总结的,这是我工作环境最方便的方法因为不需要配置 api 。你有 API 的话还是建议使用 API ,要流畅很多。
via V2EX (author: test0x01)
项目:github.com/semigodking/clisesh
经常在几个 CLI 中来回切换,每个都用不同的命令。有的还要找 UUID. 有时候项目做完了很长时间,突然有人提出新的需求或者有 bug 要改,是在懒不得再去输入一堆的提示词,也不太想浪费 token,让 Agent 把代码再看一遍。于是就搞了这么一个小工具,随时随处恢复回以前的会话,这样就不用废话了,继续工作就可以了。
默认是使用 kiro-cli 来做会话内容总结的,这是我工作环境最方便的方法因为不需要配置 api 。你有 API 的话还是建议使用 API ,要流畅很多。
via V2EX (author: test0x01)