活着,就要折腾

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

曾经折腾过的那些

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

MacOS

Mac入门

http://www.cnblogs.com/TankXiao/archive/2013/01/05/2845413.html

改launchpad图标大小,如下改成8行,8列:

1
2
3
defaults write com.apple.dock springboard-columns -int 8
defaults write com.apple.dock springboard-rows -int 8
killall Dock

1. AppStore

Go2Shell、Chrome、The Unarchiver、Xcode、Easy New File Creator…

2. dmg安装

Alfred https://www.alfredapp.com/
go2shell https://zipzapmac.com/go2shell
cheatsheet https://cheatsheet-mac.en.softonic.co…
IINA: https://iina.io/
Magnet https://magnet.crowdcafe.com/index.html

打造MAC优雅终端(iTerm2+oh-my-zsh+fortune)

iterm2

iTerm2 + oh-my-zsh + fortune 用了很久了,换电脑有时会忘记当时是如何折腾的。整理个文件以作备忘!

完成配置后的终端具备功能:

  1. 语法高亮;
  2. 命令行Tab补全;
  3. 自动提示符;
  4. ⌘+r 快速清空代码面板,跟终端输入clear一样的效果;
  5. 每次打开,随机显示格言。
  6. 终端查看图片、传输&下载文件等。

Contiki-CC2538

InstantContiki3.0 for CC2538dk

2013InstantContiki2.6 for cc2530dk,再写个关于cc2538dk的。

环境

  1. 下载安装预装有Contiki的 InstantContiki3.0 Ubuntu虚拟机
  1. 安装驱动,一般插上板子后会自动安装(无非cp210x、pl2303、ft232、ch341),可以通过以下命令查看:
    1
    $ lsusb

一般会得到:

1
2
3
4
5
6
7
user@instant-contiki:~/contiki$ lsusb
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 002 Device 014: ID 10c4:ea60 Cygnal Integrated Products, Inc. CP210x UART Bridge / myAVR mySmartUSB light
Bus 002 Device 013: ID 0e0f:0008 VMware, Inc.
Bus 002 Device 003: ID 0e0f:0002 VMware, Inc. Virtual USB Hub
Bus 002 Device 002: ID 0e0f:0003 VMware, Inc. Virtual Mouse
Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

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
➜  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根目录,再次检查依赖,发现没,没有问题了。