活着,就要折腾

写在前面 积极的人像太阳, 照到哪里哪里亮; 消极的人像月亮, 初一十五不一样。 态度决定一切。 有什么态度, 就有什么样的未来。 有怎样的性格, 就有怎样的人生。 不折腾,你永远都是——“做梦君”!

曾经折腾过的那些

整理硬盘资料时,看到这些图片。心情很激动,这些个都是与硬件相关的,什么MP3啊等等,可惜没有保留图片,纯软件的就更多了。才发现自己2009年到现在这几年一直忙着搞公司的事。已好久没停下来做点自己真正喜欢或是让自己心动的事了!

智能家居主流无线协议对比分析

  1. 从市场角度分析,目前智能家居两极分化比较严重:
  • toB的智能家居品牌,很多都是采用Zigbee的协议,但是这些品牌的通病是toC的知名度并不高。

  • toC的智能家居品牌,用蓝牙和Wi-Fi的协议比较多,比如小米,现在绝大部分都是蓝牙mesh和Wi-Fi的智能设备。

对于通信协议来说,肯定是Wi-Fi和蓝牙更容易让人理解,也更容易让人接受。Wi-Fi家里都有,蓝牙手机上都有,但是解释起来,蓝牙mesh肯定比Zigbee更让人容易理解就对了。

  • 对于toC而言,不管你愿意不愿意,Wi-Fi和蓝牙mesh协议目前就是设备应用比较多的通信协议。

  • 对于toB而言,直接合作的并不是客户,而是房地产开发商,以及各种当地的装修品牌。这个时候又难过zigbee协议,是专业的人一对一的针对性的讲解和普及好坏。所以zigbee通信在toB的品牌比较盛行。

打造MAC高效生产力

今年的上海,注定是不平凡的一年。疫情期间,大家只能居家办公。我也在居家办公的同时,不断优化和提升MAC生产力。

Do one thing, and do it well. - A principle of Unix philosophy

一些提升效率的建议:

  • 指法用对,掌握盲打,提升敲击数字键的成功率;

  • 多用键盘快捷键少用鼠标。修改系统键盘按键,比如 Caps Lock⇪ 使用频率比较低,一般我改成了 Ctrl⌃键,因为用开发工具频繁使用到 Ctrl,改成 Ctrl 之后效率提高不少,小指头不酸啦(推荐通过系统设置-键盘-修饰键盘…修改);

    Karabiner-Elements

    搜索键值配置

    • Ctrl 与 Caps Lock 互换

    • Map ctrl + [ to escape,Change Fn + h/j/k/l to Arrows

  • 用好终端和命令行工具。

搭载M1的MacBookPro13

MacBook只用Pro,MBP2016到M1的MBP2020。

因为蝶式键盘实在是个问题,Unshaky 解决按键粘连问题。

新的MBP秒控键盘很妙,最重要的是ESC键独立成传统键,Vi党不可缺少的一个键。

VS

MBP2016(X64) 👈 👉 MBP2020(M1)

X64toM1

SDKman管理利器

项目使用java的开发者一定会为新配环境变量而头大,sdkman很好的解决了系统sdk管理的痛点,仅需简单的几行命令就可以完成sdk的安装,更改默认版本。再也不用担心环境变量的问题。

安装

既然是命令行工具,就只能用命令行方式来安装(linux,mac直接用shell,windows用powerShell)
第一步、下载

1
curl -s "https://get.sdkman.io" | bash

第二步、执行脚本

1
source "$HOME/.sdkman/bin/sdkman-init.sh"

第三步、检查是否安装成功

1
sdk version

输出版本信息即安装成功

申请Let's Encrypt通配符HTTPS证书

通配符证书是一个SSL证书,可用于为给定域上的所有子域提供https,例如,*.<domain>.com 意味着任何子域名(如www.example.comlinks.example.com)会使用相同的SSL证书。

使用通配符证书对于允许用户选择子域的应用程序非常有用,例如,wordpress.com子域下的所有博客。

acme.sh 实现了 acme 协议, 可以从 letsencrypt 生成免费的证书。

云主机常用基本操作

预检

在安装之前,请进行一些快速的配置检查,以确保您的服务器满足最低要求。

花一点时间进行这些检查,将大大减少您在安装过程中遇到问题所浪费的时间。

首先,检查服务器的语言环境为en_US.UTF-8

1
2
$ cat /etc/default/locale
LANG="en_US.UTF-8"

Ubuntu18.04下编译OpenWRT15.05遇到的问题和解决方案

最近,OpenWRT开发主战场,从ubuntu16.04 LTS 虚拟机环境迁移到了ubuntu18.04LTS,水土不服,各种不适。不多说,折腾!!!

1. 初检git出错

依赖提示 Please install Git (git-core) >= 1.6.5

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
➜  openwrt git:(master) ✗ make menuconfig
Checking 'working-make'... ok.
.
.
.
Checking 'svn'... ok.
Checking 'git'... failed.
Checking 'file'... ok.
Checking 'openssl'... ok.
Checking 'ldconfig-stub'... ok.

Build dependency: Please install Git (git-core) >= 1.6.5

/home/ubuntu/buildbot/compex/chaos_calmer/openwrt/include/prereq.mk:12: recipe for target 'prereq' failed
Prerequisite check failed. Use FORCE=1 to override.
/home/ubuntu/buildbot/compex/chaos_calmer/openwrt/include/toplevel.mk:140: recipe for target 'staging_dir/host/.prereq-build' failed
make: *** [staging_dir/host/.prereq-build] Error 1

明明已经安装了git,却提示我们安装git,只是openwrt里面prereq-build.mk的一个bug,可以通过打patch的方法来修复它。

解决方案

进到xxx/chaos_calmer/include目录,就是toplevel.mk所在的目录。

1
2
wget https://gitlab.labs.nic.cz/turris/openwrt/uploads/0673001b14ab1d1769604ff0ce7d8781/git-version-check-fix.patch
patch < git-version-check-fix.patch

回到openwrt根目录,再次检查依赖,发现没,没有问题了。