Latest Posts

Mac版本的微信(Wechat)在偷你的数据吗?

来源 推特网友@haoel发现Mac OS版微信占用很大的硬盘空间,经过研究发现是Wechat在写log,内容是binary的,不知道里面写了什么,而且往还服务器上传。发现细节看原文吧。互联网公司收集用户数据的普遍行为,不必上纲上线。也许类似的方法可以用来看看其他应用有没类似行为。 这位小哥还做了个视频。 微信日志(xlog)例子 解决方法 虽然我们不知道微信记录了什么,但是是我们可以禁止微信写日志占硬盘的行为的,这样可以避免硬盘空间被占用过多。当然微信还是可以上传直接上传有权限访问的数据的,只是不能写入日志再上传,因为这个目录不让写新任何的文件了。在terminal里 400就是“只读”的意思。禁用以后,修改权限以后微信还是能正常使用。 本文链接

做了个小工具查询湾区特斯拉超级充电站现时充电费率

最近特斯拉又调整超级充电站充电费率时间,半价时间从早上11点结束提早到早上10点,而晚上开始时间从9点推迟到10点。所以全天半价时间比调整前一共少了2小时。2022大通胀之下,电车车主也很难独善其身。虽然目前费用还是比油价要低很多。为了方便查询,做了个小工具查询湾区现时充电费率: 特斯拉超级充电站现时费用查询 (中文版)(英文版) 出门前可以先在电脑或手机上看一眼而不用跑车里看。

Javascript定时更新DOM例子,简单得一看就会

本文用一个简单的例子示范一下怎样用Javascript来定时更新网页里的DOM。DOM全程是Document Object Model,也就是HTML网页上的元素。使用Javascript能让原本静态的HTML动起来。 效果如下: Counter Demo 以下例子代码全部在一个HTML文件里,可以命名为updatedom_demo.html,内容如下: 保存后用浏览器打开就能看到动画网页。 本文链接

怎样用CDN加载和使用moment.js时区库做Javascript的时区转换?

在旧金山湾区时间与北京时间转换,用Javascript方便地实现时区转换例子一文中示范了怎样用moment.js做时间的时区转换的例子。例子里下载了moment.js和moment-timezone-with-data.js,如官方文档所说的,加载如下 那么能不能不下载,直接用CDN呢?也是可以的 那么之前的例子就变成如下 使用CDN就不再需要把两个js文件下载和html文件放一起,而加载地址改成CDN的URL。使用上和原来一样。 本文链接

旧金山湾区时间与北京时间转换,用Javascript方便地实现时区转换例子

在当今这个服务全球化时代,时区转换是使用各种编程语言时经常遇到的问题。之前的这篇文章讲了Python实现时间在不同时区的换算,本文讲一下怎样用Javascript实现。多亏了moment.js这个库,时区转换实现非常直观方便,比Python的pytz好用点。Google出来排名前几名的文章感觉并不满意,所以在这总结分享一下,以便需要的时候很容易找到end to end能工作的例子。 从上面例子可以看到,真的非常简单,基本就是一个moment对象调用tz函数,参数为新时区的名字,就生成了表示新时区时间一个新的moment。可以用format打印出来来验证其准确性。 在Chrome浏览器验证 Javascript的好处就是有个浏览器就可以跑,不需要设置什么环境。验证上面代码可以打开moment.js的官网,打开developer tool的console, 注意,一定要在这个网站下打开developer tools,这样moment会在浏览器环境里,在其他网站下打开会找不到moment。 运行上面代码如下 已知湾区时间(-0700)比北京时间(0800)晚15小时,所以上面结果是正确的。moment(sftime)是创建一个copy,如果用sftime.tz(‘Asia/Shanghai’)就会改变sftime这个对象本身的内容,而我们想新建一个bjtime的对象存放北京时间。 建立一个HTML文件来运行代码 如果需要在本地建立一个HTML,可以把moment.js和moment-timezone-with-data.js下载下来,放在和将要创建的test_moment.html文件放一起。编辑test_moment.html如下: 在Chrome打开test_moment.html可以看到空白页面。打开developer -> Javascript Console可以看到结果

旧金山湾区时间与北京时间转换,用python实现时区转换例子

San Francisco Time ?? Beijing Time ?? 把一个时区的时间,比如湾区9:00am,转换成另一个时区的时间,比如北京/香港/新加坡时间,应该是很简单的问题。用Python做时区转换好像挺麻烦的,容易出错。Google出来的前几条结果都不是很让人满意,本文总结我测试过可靠可行不太复杂的方法,以及一些容易出错的地方。 先上可行的Python例子,把三藩(SF)湾区时间9am, 转换成对应的北京时间,用了datetime和pytz。先构造一个湾区时间的对象,然后转化成北京/香港/新加坡时间。 加上注解和debug信息。 可以看到建立的湾区时间时区为-0700而北京时间为0800,可以验证湾区和中国时差为15小时。 时区行话解释 全球标准时间用的是位于英国的格林威治时间(GMT, Greenwich Mean Time)。因为以前格林威治天文台是世界中心,本初子午线或者0度经线就定义为穿过它的经线。然后又有了一个叫世界协调时间的东西(UTC, Coordinated Universal Time)。这个和GMT基本一致,大概就是北京话和普通话的区别吧。北京在Greenwich的东边,时间领先GMT/UTC 8小时,所以叫东八区,代号0800。而湾区在格林威治的西边,时间滞后7个小时(美国国会通过了永久使用夏令时法案),所以叫西7区,代号-0700。而两地时差为7+9=15,北京时间比湾区时间领先15个小时。 同理,日本和韩国位于东9区,代号为0900,那么时间就比为与东八区的中国早1小时。 当地真实时间和约定标准时间 一个地方的真实时间只取决于太阳相对当地的位置,也就是取决于当地经度。但是为了方便,每个国家可以人为规定用什么时间。比如整个中国虽然跨了几个纬度,确人为规定了各地都使用北京时间。新加坡真实时间应该为0655,确规定使用0800,也许是和大中华区保持一致比较方便。 回到Python上,这也正是pytz包的一些坑的来源。pytz用的是地理意义上的真实时间,而人们真正使用的是当地法律约定的时间,这两者是有差别的。 Python datetime不设时区是什么时间? 如果新建一个datetime对象,不设时区的话,会是当地时间。 用epochconverter转换1656658800.0,正是湾区时间2022-07-01 00:00:00 如果replace了timezone,就把底下的timestamp变了,而不是保持timestamp而改变时间表示形式(日期,小时/分/秒)。所以replace(tzinfo=…)并不是做时区变换。而且注意下面例子里上海时间是0806,并不是0800,应该用了地理意义上的真实时间而不是法定时间。这个地理时间在生活中基本没用,这个pytz的坑之一。 参考 Python3中datetime时区转换介绍与踩坑 python datetime时区转换 技巧:用datetime模块处理时区转换,不要用time模块 将UTC、EST时区的时间转化成北京时间(python) pytz库时区的坑(转) The Solution…
Read more

Python Pathlib生存手册,几个短例子极速上手

Pathlib是Python里自带的处理OS路径的library,功能非常强大,可以代替原来的os.path。本文提供几个简单的例子供查询,帮您极速上手,引用到自己的python project里。 创建操作Path对象例子 可以用”/“直接得到下一层目录或文件的Path对象 Home Path对象例子 需要注意的是,Path constructor的参数不认识~。需要用Path.home()。 验证tilda不work 验证Path.home() work 当前目录例子 如果需要当前目录的对象可以用cwd函数或者.加resolve函数 遍历文件夹例子 也就是implement bash命令 用pathlib实现如下 外面函数python_find接受path string,里面的递归函数_python_find接受pathlib.Path object。用iterdir列出当前input path下的所有对象,先打印它们的路径,如果是目录,就继续调用递归函数_python_find打印下一层目录里面的内容。 Pathlib删除文件例子 删除文件 删除目录/文件夹 rmdir只能删除空的文件夹/目录,如果内部还有其他文件或目录会报错。 删除非空目录/文件夹 这个只能自己用上面两个函数用递归实现。这里我增加了显示被删除文件size的信息。 参考 一分钟学一个 Python 标准库之 Pathlib PathLib recursively remove directory? pathlib — Object-oriented filesystem paths…
Read more

特斯拉不能用手机发动车怎么办?一招解决

问题描述 特斯拉很方便的一点就是只要手机在身上,就能直接开锁住的车门。坐上驾驶位置,踩刹车,车就进入“发动”状态,可以进行下一步操作:换挡。最近就遇到个小问题,手机可以开车门,可以自动连蓝牙音箱,但是踩刹车屏幕就提示要把卡片钥匙放在cup holder后面那里刷一下。每次开车就要这样,实在太不方便了,不能忍,必须解决! 解决方法 网上查了半天,看了很多Youtube videos,都不行,此处省略掉各种不成功的尝试。这里记录一下最后work的解决方案。 删除手机上Tesla App。关掉重新开不行。 到App store重新安装Tesla App 用email和密码登陆 这时,App上对应的车会出现Pair Car Key选项,平时是没有的 选pair,然后按车屏幕提示,在cup holder后面刷一下car key 这时应该就成功了,可以下车走远锁车,然后试试走进开车门,踩刹车,换挡。应该全程不再需要car key。

在湾区得了急性中耳炎怎么办?两个实用办法

声明:纯生活经验分享,具体诊断和治疗方案请咨询专业医生。 病因和治疗 耳朵内部发炎,肿胀,疼痛,感觉堵塞不通而影响听力?那么很可能就是得了中耳炎,起因是耳道被细菌感染了。儿童和成人都有可能会得。细菌无处不在,身体体抗力下降的时候就会防线被攻破。治疗方法是需要吃抗生素,一般是阿莫西林(amoxicillin)。 哪里看医生? Onsite就诊 那么问题来了,阿莫西林之类的抗生素在美国属于处方药,需要医生的处方(prescription)。如果发病当天约家庭医生,一般是来不及的。家庭医生预约一般都需要几天到几周。在湾区(San Francisco Bay Area),可以去urgent care。 如果在南湾,可以去Palo Alto Medical Foundation的儿童Urgent Care,比如 Palo Alto Center Pediatric Urgent Care (儿童) Mountain View Center Urgent Care (大人和儿童都可以) 网站上有开放时间,wait times估计和预约链接。其他医疗机构应该也有类似服务,可以根据个人地点和保险选择。医生检查后一般会开止痛药和阿莫西林,当天可以去病人选择的药店,比如CVS或Walgreens领取,等待时间一般1小时左右。看完医生开车过去可能就差不多了。 网上就诊 随着科技发展,网上问诊也开始变得普遍。如果保险有支持网上就诊,比如Teladoc之类的,也可以在网上约医生 ,一般等待时间在10分钟到1个半小时左右。好处是不用出门和到Urgent care排队。时间也更加灵活,Urgent care到晚上8点后也关门了。网上医生也可以开处方,然后同样去病人选择的药店领取。 家庭医生Follow Up Urgent care和网上医生都是救急,保险起见,医生一般都会建议还是要约上家庭医生做后续检查。吃了几天药,等看上家庭医生的时候,可能已经好的差不多了。 阿莫西林副作用…
Read more