#853 dd 替代品
Linux 2022-12-25dd if=image.iso of=/dev/sdb bs=4M
# 用 cat 就行:
cat image.iso >/dev/sdb
# 如果想要进度信息:
cat image.iso | pv >/dev/sdb
dd if=/dev/zero of=image.iso bs=4MB count=25
# 用 head:
head -c 100MB /dev/zero >image.iso
coding in a complicated world
dd if=image.iso of=/dev/sdb bs=4M
# 用 cat 就行:
cat image.iso >/dev/sdb
# 如果想要进度信息:
cat image.iso | pv >/dev/sdb
dd if=/dev/zero of=image.iso bs=4MB count=25
# 用 head:
head -c 100MB /dev/zero >image.iso
今日发现一个 Python 2.7 的一个大坑:部分版本下 JSON 解析字符串为 str 类型,部分版本解析成 unicode 类型。
Python 2.7 (r27:82500, Apr 12 2016, 21:09:36)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import json; print(repr(json.loads('"a"')));
'a'
Python 2.7.15 (default, Jul 22 2019, 17:38:55)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import json; json.loads('"s"'); exit();
's'
Python 2.7.15 (default, Jun 26 2018, 11:17:18)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-17)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import json; json.loads('"s"'); exit();
u's'
Python 2.7.18 (default, Mar 23 2022, 15:07:54)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-44)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import json; json.loads('"s"'); exit();
u's'
找到一个相关的 Issue:json.loads() on str should return unicode, not str,
对应 GitHub 上的 Issue#54247。
根据相关内容,这个问题影响了 Python 2.7 的一些版本。
还有:json.loads() returns str instead of unicode for empty strings,
对应 GitHub 上的 Issue#56191。
我一直用 zsh + omz,但是毕竟 bash 才是大多数情况下的默认 Shell。
zsh 和 bash 都是用上下键来搜索历史记录,但是不同的是,zsh 会利用已经输入部分做前缀匹配,而 bash 不会,只是简单的上一条、下一条。
今天学会一个方法(Bash history search, partial + up-arrow):
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
凑活凑活吧。
已经加到我个人的 bash 配置中。
package main
var A int = 3
var B int = A + 1
var C int = A
package main
import "fmt"
var D = f()
func f() int {
A = 1
return 1
}
func main() {
fmt.Println(A, B, C)
}
markjour@victus ~/test02
$ go version
go version go1.18.6 windows/amd64
markjour@victus ~/test02
$ go run f1.go f2.go
1 4 3
markjour@victus ~/test02
$ go run f2.go f1.go
1 2 3
f1f2 的情况下:变量初始化的顺序应该为 A B C D,所以输出 1 4 3 是没有问题的。
f2f1 的情况下:变量初始化的顺序应该为 A D B C,所以按理应该输出 1 2 1,实际确实输出 1 2 3。
f1 中 A C 中只要一个的初始化改成这样就可以符合预期:
func initA() int {
return 3
}
func initC() int {
return A
}
这是 Go 的一个 BUG,即将在 Go 1.20 修复。
知道就行了。
由于疫情的封控措施导致官民矛盾非常激烈,到处都是对抗。
我自己小区就有暴力冲突,社区工作人员和物业保安群殴 “闯岗” 租户。我所知道的周边小区也是差不多。其他的某些地方甚至是聚集性的大事件(抖音删帖非常严重)。
这些 “小浪花” 单独拿出来,可能觉得是和物业在斗争、和大白在斗争、和社区工作人员在斗争,实际上背后是对镇府不作为,不敢担当的不满。
市镇府肯定知道下面的情况,可是没有做任何干涉。在一定程度上我能理解,一方面上面有这 m 条、那 n 条,要求 “精准防控”,尽可能开放,一方面又对防疫不力的地方杀鸡儆猴(就没见到几个因为过度防控而收到严厉处分的)。
但是:
第一,居委会作为居民自治组织,没有执法权,将居委会推到一线,给大家封路、封门、钉板子,凭什么。
第二,没有人能够出具有法律效力的(带公章)文件要求封控,经常就是群里发个消息,可能再带一张居委会的 A4 扫描件,也没有公章。问就是上级单位。
第三,小区封控起来之后,物质的供应方面,镇府没有任何作为。
本来我们都在小区铁门内买,门外门店老板递过来,结果工商(?)的一天查几次,要求他们关门,所以经常要到处找哪里有卖菜的地方。
我在买菜的时候,还听到一起买菜的人在说,工商要我们在家吃几天面条挺过去。
本来大部分人都不用和镇府打交道,因为疫情防控的关系,大家直接面对面了。
还有,大家在传核酸企业的一些传闻,这个我不了解情况,就不评论了,但是证监会给他们上市割韭菜的机会是为什么?
注:如果要出小区,需要社区出具的一个小纸条,注明原因,承诺两点一线,物业的检查方面也非常松,基本上是看到拿出来一个纸条就放行,并且没有时间限制。
上面是之前的情况,最近这两天风向来了个 180° 的大转弯。之前是应检尽检,一天几次的在小区群里催大家下楼做核酸。突然一声不吭,
再就是身边慢慢星星点点听说有人发烧、有人自测阳性。
药店基本上感冒发烧消毒的东西,啥都没有,只能靠自己挺了。镇府在这方面(医药供应)还是啥都没作为。服了。
之前新闻联播里面天天说美国新冠的情况,现在也不提了。
之前说新冠好像非常严重,现在说是和感冒差不多,可以自己挺过去。
之前强调防控是保障人民的生命权,现在说放开是精准调研之后选择的最好时机。
现在这种从上到下都紧跟 ZZ 形势说话的氛围,做没有脑子的咽喉,让人挺没有信任感的。
虽然表面上看不太出来,但是从长远来讲,这都是信心的流失。
最重要的还是期间各级镇府的不作为。在不违反规定的情况下,其实有好多事情可以做,那样的话,也不会是现在这个局面。
街道,街道办事处,相当于乡政府,镇政府
工作人员是事业编制,少部分是公务员
法律依据:
《地方各级人民代表大会和地方各级人民政府组织法》第六十八条规定:
> 市辖区、不设区的市人民政府,经上一级人民政府批准,可以设立若干个街道,管理机构为街道办事处,作为市辖区、不设区的市的派出机关。
居委会,居民委员会,相当于村委会(村民委员会)
又叫社区居民委员会,简称社区。(?)
法律依据:
《中华人民共和国城市居民委员会组织法》
业委会,业主委员会,小区自行选举代表业主利益的组织。管理小区公共利益,监督物业公司的工作。
选举需要经过街道和社区批准。
法律依据:
...,在未经街道办事处和社区组织批准的情况下,...
BComp 之前过期也可以一直用,只是提示一下,现在不行了。
这是我在 Windows 平台上非常习惯了的一个工具。
作为一个做软件开发的人,搞这种歪门邪道,我还是会有罪恶感的,所以点进去看了一下官方售价,70 刀,瞬间没有罪恶感了。
网上找了几个注册密钥,都提示 “授权密钥已被吊销”,然后看到这个方法,亲测有效:
在注册表中删除这个条目:HKEY_CURRENT_USER\Software\Scooter Software\Beyond Compare 4\CacheId
就行。
如果不知道我上面说的时什么意思,就把下面这段代码保存为 bcompAddTime.bat
,双击执行。
如果提示 “没有适当的权限访问该项目”,就右键,管理员身份运行。
@echo off
echo
echo 开始删除 =====================================================================
echo
reg delete "HKCU\Software\Scooter Software\Beyond Compare 4" /v CacheID /f
echo
echo 删除完成 =====================================================================
echo
reg query "HKCU\Software\Scooter Software\Beyond Compare 4"
pause
短信,Short Message/Messaging Service,SMS
彩信,多媒体短信,Multimedia Messaging Service,MMS
Although the standard does not specify a maximum size for a message, 300 kB and 600 kB are the recommended sizes used by networks for compatibility with MMS 1.2 and MMS 1.3 devices respectively.
The limit for the first generation of MMS was 50 kB.
MMS 依赖 WAP。
发送彩信的时候,内容编码之后投递给多媒体消息服务中心(MMSC)(如果跨运营商,会中转到收信人运营商 MMSC)。
收信人运营商会确认设备是否支持 MMS,如果支持,就发送一个 WAPPush 通知,内容就是一个 URL,也就是才新内容的地址。
一般来说,默认都是需要收信人手动确认是否接收,如果同意接收就会连上 URL 下载内容在手机端浏览。(网页?)
闪信,Flash SMS
影信,视频短信
彩信升级版,支持:文字,图片,视频,音频
阿里云叫做数字短信,和卡片短信(就是下面的 AIM 短信)一起被归类到多媒体短信中。
短信内容不支持纯文字或纯视频或纯图片或纯音频,模板须大于 660 KB。
图片+音频+视频+文本须小于 1900 KB,超过后不支持。
燃信,中国移动的营销概念,就是视频短信,加上了一点卖用户数据的成分在里面(实名认证,用户画像)。
富信,富媒体短信,Rich Communication Services,RCS
5G 消息,5G 短信,RCS 的国内名称,其实和 5G 技术没有一毛钱关系,只是和运营商的 5G 业务绑定在一起
AIM 短信,智能短信,智慧短信,手机上的短信应用将普通文本短信渲染成更丰富的样式,还有交互的功能,可以打开轻应用,应用,H5 页面,拨号,打开地图等。
这三年,由于疫情,已经有好些次远程办公了(有时是在老家,甚至有次在旅游景点),相信很多人都是这样。
我没有体验过那种真正远程办公的工作氛围,只是迫不得已的把远程当做备选方案而已。所以现在只能基于我的这些经历说一下自己的思考。
https://github.com/topics/static-site-generator
GitHub 搜索了一下,知名的静态网站生成器,大部分是 JS/TS 写的。
社区上经常见到的一些项目有 JS 的 Hexo
,Ruby 的 Jekyll
,Go 的 Hugo
。
JavaScript
Python
Ruby
Rust
Go