macbook pro 使用1664天的感受

我之前写过一篇文章《macbook pro使用三年后的感受》,今天这篇文章是用4.5年的感受。 再次梳理一下,中间遇到过的问题 蝴蝶键盘很早有有些问题了,最近疫情在家,键盘被用坏了,J键直接坏了。只能外接键盘来用 屏幕下方出现淡红色的纹路,不太明显,基本不影响使用 中间我自己给macbook换过一次电池,换电池之前只要不插电,macbook很容易就关机了 风扇经常转,噪音有点吵,我已经觉得无所谓了 17年买这台电脑的时候,应该是9400左右。配置应该是最低配的 i5双核2.3Ghz, 8G内存,128硬盘的。 有些人可能惊讶,128G的硬盘怎么能够用的。但是我的确够用,我的磁盘还有将近50G的剩余空间呢。 我不是视频或者影音工作者,用的软件比较少。整个应用程序所占用的空间才4个多G。剩下的文稿可能大部分是代码。 由于我我基本上都是远程用ssh连上nuc上开发,所以mac上的资料更少。 但是macbook键盘坏了这个问题,是不能忍的。偶尔要移动办工的时候,不可能再带个外接键盘吧。 是时候准备和陪伴我4.5年的电脑说再见了。 本来想买14寸的macbook pro m1的,但是重量的增加以及很丑的刘海也是我不能忍的。 所以我觉得我会买一台轻便点的windows笔记本,而且windows还有一个很吸引我的点,就是linux子系统。这个linux子系统,要比mac的系统更加linux。 各位同学有没有推荐的windows的轻便笔记本呢?

2022-04-04 21:29:13 · 1 min · Eddie Wang

github clone加速

我有一个github仓库,https://github.com/wangduanduan/opensips, 这个源码比较大,git clone 比较慢。 我们使用https://www.gitclone.com/提供的加速服务。 # 从github上clone git clone https://github.com/wangduanduan/opensips.git # 从gitclone上clone # 只需要在github前面加上gitclone.com/ # 速度就非常快,达到1mb/s git clone https://gitclone.com/github.com/wangduanduan/opensips.git 但是这时候git repo的仓库地址是 https://gitclone.com/github.com/wangduanduan/opensips.git,并不是真正的仓库地址,而且我更喜欢用的是ssh方式的远程地址,所以我们就需要修改一下 git remote set-url origin git@github.com:wangduanduan/opensips.git

2022-03-29 09:17:23 · 1 min · Eddie Wang

[未完成] 浪潮之底系列 - tcpdump的故事

故事发生在1988年的美国。这一年互联网的始祖网络,阿帕网已经诞生了将近20年。而我们所熟知的linux将在三年后,也就是1991才出现。 在1988年,这时候的互联网只有阿帕网。 然而这个网络并没有想象中的那么好用,他还存在很多问题,而且也经常崩溃。 解决阿帕网崩溃的这个问题,落到了LBL(Lawrence Berkeley National Laboratory实验室的肩上。 这个实验室有四个牛人,他们同时也是tcpdump的发明人。 Van Jacobson Sally Floyd Vern Paxson Steve McCanne 这个实验室主要的研究方向是TCP拥塞控制、BSD包过滤、VoIP等方向。 为了解决阿帕网经常崩溃的问题,就必须要有一个好用的抓包工具。 本着不重复造轮子的原则,这时候也已经又了一个叫做etherfind的工具,但是这个工具有以下的问题 包过滤的语法非常蹩脚 协议编解码能力非常弱 性能也非常弱 总之一句话,他们认为etherfind不行。 工欲善其事,必先利其器。所以他们就想创造一个新的工具。这个工具必须要有以下的特征 能够从协议栈底层过滤包 把高级的过滤语法能够编译的底层的代码 能够在驱动层进行过滤 创建了一个内核模块叫做 Berkeley Packet Filter(BPF) 参考 https://baike.baidu.com/item/ARPAnet/3562284

2022-03-27 17:33:18 · 1 min · Eddie Wang

为什么我又开始使用Firefox浏览器

对于浏览器,我有以下几个需求 能在所有平台上运行,包括mac, windows, linux, ios, 安卓 能够非常方便的同步浏览器之间的数据,例如书签之类的 能够很方便的安装扩展程序,无需翻墙 按照这些条件,只有Firefox能否满足。 当然安装使用Firefox的时候,也出现了几小插曲。 macos 我在ios上登录Firefox上的账户,在MacOS的Firefox却无法登陆,查了才发现,原来FireFox的账号分为国内版和国际版,两者之间数据不通,所以在macos上,也要登陆国内版本,就是带有火狐通行证的登陆页面。 需要在同步页面点击切换至本地服务。 linux/manjaro manjaro上安装的firefox居然没有切换本地服务这个选项,后来发现这个浏览器上没有附加组件管理器所以需要去 http://mozilla.com.cn/moz-addon.html, 安装好附加组件管理器,登陆的时候,应该就可以跳转到带有火狐通行证的登陆页面了。

2022-02-25 23:03:41 · 1 min · Eddie Wang

有意思的命令行工具

1. datamash https://www.gnu.org/software/datamash/ 能够方便的计算数据的平均值,最大值,最小值等数据。 2. textsql https://github.com/dinedal/textql 能够方便的对csv文件做sql查询 3. graph-cli https://github.com/mcastorina/graph-cli 能够直接读取csv文件,然后绘图。

2022-02-25 09:23:35 · 1 min · Eddie Wang

manjaro kde 之旅

1. 安装vivaldi浏览器 pamac install vivaldi 参考:https://wiki.manjaro.org/index.php/Vivaldi_Browser 2. 关闭三次密码错误锁定 修改/etc/security/faillock.conf, 将其中的deny取消注释,并改为0,然后注销。重新登录。 deny = 0 3. 禁用大写锁定键 在输入设备中,选择键盘-》高级》 Caps Lock行为, 选中Caps Lock被禁用, 然后应用。

2022-01-18 09:39:05 · 1 min · Eddie Wang

开源免费的ssh终端工具

要求 [必须] 能够保存密码, 或者用私钥登录 [必须] 能够支持ftp/sftp [必须] 开源免费 [必须] 界面漂亮,支持中文字符 [可选] 支持同步ssh配置 [必须] 支持跨平台 Tabby A terminal for a more modern age (formerly Terminus) https://github.com/Eugeny/tabby https://tabby.sh/ 25.7k Star 基于electron, 主要开发语言typescript Electerm Terminal/ssh/sftp client(linux, mac, win) https://github.com/electerm/electerm https://electerm.github.io/electerm/ 4.8k star 基于electron, 主要开发语言javascript WindTerm A Quicker and better SSH/Telnet/Serial/Shell/Sftp client for DevOps. https://github.com/kingToolbox/WindTerm 2.6K star 主要开发语言: C

2021-12-22 16:53:05 · 1 min · Eddie Wang

使用brew作为deepin的包管理工具

11月2号,我的主力开发工具macbook开始退役。 我换了nuc11 i7, 安装了国产的deepin(深度)操作系统。总体体验蛮好的,只是apt-get的软件包里,太多都是很老的包。所以我想到以前用mac的包管理工具homebrew, 据说它不仅仅可以在mac上工作,主流的linux也是能够使用的。 homebrew的介绍是:The Missing Package Manager for macOS (or Linux)。也就是说brew完全可以在linux上运行。 安装方式也很简单: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 上面的shell执行之后,brew就安装成功了。 和mac不同的是,linux homebrew的安装包的可执行命令的目录是:/home/linuxbrew/.linuxbrew/bin, 所以需要把它加入到PATH中,安装的软件才能正确执行。 参考 https://brew.sh/

2021-11-18 08:42:53 · 1 min · Eddie Wang

印象笔记不太智能的智能替换

为什么是印象笔记 作为一个笔记,或者说文本编辑器,一个最基本的要求,就是能按照用户的按键输入。而不是用户输入了A,然后在页面上看到了B。 但是对于印象笔记来说,我已经遇到过好多次因为输入问题,几乎想要放弃印象笔记。但是就目前来讲,仍然没有好用的替代品。 对于笔记软件来说,我有以下的几个最为基础的要求。 必须跨平台。能够有桌面端App和IOS或者安卓的APP 必须同步要快。 必须要能有网页剪藏的插件 必须要少折腾,用户体验好。我的目的是记录内容,而不是折腾各种同步或者网络配置。 必须是付费的产品。免费的产品,是没有可持续发展潜力的。当然,付费需要在接受范围之内。 必须足够稳定 用户界面,体验必须足够好 必须要离线使用 就目前来说,能满足以上几个要求的,屈指可数。 印象笔记虽然有恶心的广告推送(即使会员也有广告),但是一般在非特殊的日子,广告不回一直存在的。 印象笔记不太智能的替换 把英文单引号替换成中文单引号 把两个–天换成一个中文破折号 以上两个问题,在粘贴代码的时候,是致命的问题。我本来粘贴的是两个–,粘贴到印象笔记里居然变成一个中文破折号,那么后期在复制出来用的,必然出现问题。 我问了官方的客服,官方的客户也不知道怎么解决。 后来我自己在网上搜索,发现了解决问题的方法。 以上所有的关于替换的问题,都是和编辑器的替换设置有关。 打开一个笔记,然后点击右键 选择替换,可以看到里面有智能引号,只能破折号,智能连接,文本替换,建议把这几个都取消勾选 还有一个可能性,就是在**编辑->拼写和语法->自动拼写纠正,**这个要关闭。

2021-10-02 12:25:34 · 1 min · Eddie Wang

简单实用的M4教程

文本处理的难点 有一个文本文件,内容如下,摘抄其中两行内容如下,里面有两个配置db_addr, local_ip这两个配置,需要在不同环境要修改的。 db_addr=1.2.3.4:3306 local_ip=192.168.2.4 但是哪些地方要修改呢?为了提醒后续的维护者,我们给要修改的地方加个备注吧。 db_addr=1.2.3.4:3306 # 这里要修改 local_ip=192.168.2.4 # 这里要修改 .... ... if len(a) = 1024 { # 这里要修改1024 ... } ... 用sed替换? 让别人一个一个地方去修改,也太麻烦了,有没有可能用脚本去处理呢?例如我们用DB_ADDR和LOCAL_IP这种字符串作为占位符,然后我们就可以用sed之类的命令去做替换了。 db_addr=DB_ADDR local_ip=LOCAL_IP sed -i 's/DB_ADDR/1.2.3.4:3306/g;s/LOCAL_IP/192.168.0.1/g' 1.cfg 这样做是有点方便了,但是也有以下几个问题 如果定义的占位符太多,sed会变得越来越长 如果某些占位符里本身就含有/或者一些特殊含义的字符,就需要做特殊处理了 用M4吧,专业的人做专业的事情 apt-get install m4 通过命令行定义宏 1.m4 db_addr=DB_ADDR local_ip=LOCAL_IP .... ... if len(a) = MAX_LEN { ... } ... M4可以使用-D来定义宏和宏对应的值,默认输出到标准输出,我们可以用>将输出写到文件中 m4 -D DB_ADDR=1.2.3.4:3306 -D LOCAL_IP=192.168.2.2 -D MAX_LEN=2048 1.m4 db_addr=1.2.3.4:3306 local_ip=192.168.2.2 .... ... if 1 = 2048 { ... } ... 用define语句定义宏 用define()语句来定义宏 用`‘来作为字符串引用,避免被展开 define(`DB_ADDR', `1.2.3.4:3306') define(`LOCAL_IP', `192.168.2.2') define(`MAX_LEN', `2048') db_addr=DB_ADDR local_ip=LOCAL_IP .... ... if len(a) = MAX_LEN { ... } ... 执行命令m4 1.m4, 可以看到宏展开,但是有很多空行。 ...

2021-09-25 12:22:19 · 1 min · Eddie Wang