Author Archives: Michael

Control My Data Project

看了Twitter最近做的事情,还有Big Tech对Parler做的事情,我越发觉得自己控制自己的数据的重要性。目前有几个想法:

Email Hosting

鉴于Gmail对于隐私的恶意,我决定从Gmail移走。我的绝大多数email都是用的私有域名,所以切换email provider还是不难的。我考虑过自己建服务器,但自建的稳定性肯定比不过大厂,而且我也不愿意花那么多钱做redundancy,目前的思路还是找自带E2E加密的provider。

Financial Data

很早以前觉得Mint很方便,对自己的财务信息一目了然,但也给了这家公司窥探我财务状况的途径,毕竟服务是免费的,我实际上是出卖我的数据。

Contact and Calendar

我已经不相信Google那套Don’t be evil的鬼话,所以G Suite里的数据能迁移多少迁移多少。

Password Management

已经用了两年Bitwarden,开源的项目让人放心不少。但想到AWS直接拔Parler网线的事件就细思极恐,自己掌握数据还是很重要的。

Note Management

我之前从Evernote迁移到了OneNote,虽然OneNote并没有什么硬伤,但是我还是对Cloud心存芥蒂。

Photos and Local Files

一年前,我已经自己搭建了一个NAS,把所有照片放进去,手机上关闭一切Cloud Sync功能,装一个叫PhotoSync的app把照片同步到本地NAS。

本地文件转换的更早,使用Cryptomator去加密本地文件,然后把加密后的数据同步到Cloud,服务商看到的只是加密后的乱码,无法猜到我到底在存什么。

同理,NAS也会把数据同步到Cloud做redundancy,但是在传输之前在本地加密过,服务商也只能看到加密后的乱码。

Default

智能家庭2.0

在之前一篇文章里,描述了我的智能家庭1.0版本。当时还只有一个电器,RF24无线传输的价值并没有体现的很明显。但到了2.0版本,有了卧室灯,客厅灯,空调等用电器,无线传输就非常有意义了。

在这一版本我加了一个新功能: 人体感应。其实就是在每个单片机上连一个Motion Sensor,一旦有信号发生,就发送给主控,也就是Raspberry Pi,主控经过判断后作出反应,是应该开或者关。

所以这一版本在整体结构上没有大的变化,主要是发生在软件层:
Raspberry Pi上的主控程序central: https://github.com/miccrun/smarthome/tree/master/central 这个程序会不停读一个文件,一旦有其他程序往这个文件里写入指令,它就会自动执行并且删掉已执行的指令。
Raspberry Pi上的Website: https://github.com/miccrun/smartcontrol 这个site可以响应用户请求,并且生成对应的指令,写入central的buffer文件里。
Arduino程序: https://github.com/miccrun/smarthome/tree/master/arduino

Programming , , , ,

Feedly Tweak – Open feed item in background tab for Firefox

It’s so sad to see Google Reader die, but I found a pretty good alternative, it’s Feedly. The interface looks nice, it can import subscriptions from Google Reader easily, and the most important thing for me is that, it supports keyboard shortcuts.

But there is one thing I don’t really like: when I press ‘v’ to open the feed link, it will focus to the newly opened tab. For Google Reader, I used Google Reader Tweak – Open Links in Background to solve this problem. So when I press ‘v’, the browser will open a background tab to display the link.

I know there is a Chrome version plugin that can solve this, but I love Firefox, it’s my daily browser. The Google Reader Tweak inspired me, I hacked the code to support Feedly. Here is the Feedly version: Feedly Tweak.

Currently, I use Feedly 14.0.485, it has a bug. When you open the links, it will contains a string “?utm_source=feedly” at the end of each feed item. I fixed it in the GM script.

Installation:
1. Install GreaseMonkey Add-on.
2. Install the GM script by clicking here.

Hope you like it!

Update:
03/18/2015 Fix the background opening for new GreaseMonkey

Programming , , , , , ,

Use Siri to control your light and fan

Use a cellphone or computer to control your light is not breaking news, but really full of fun.

Check this quick demo first.

Continue reading

Programming , , , ,

解决iCloud You can’t sign in at this time

有一个多月Message不能发图片了,一直显示发送失败,File Transfers里一直显示什么read scream error。忍了一个月没管,有次闲来无事,搜了下,网上说可以注销iCloud重新登陆试试看,结果注销后就再也登录不进去了,提示You can’t sign in at this time。试了各种办法都没用,已经做好重装系统的打算了,之前都不觉得Mac还要重装系统。今天,发现FaceTime都不能用了,不能接也不能打,本来要给我妈视频的,这已经忍无可忍了。

有篇文章说在登陆iCloud的时候,打开Console,查看日志,里面写的是certificate invalid。然后我就打开Keychain Access,看里面的证书,突然想起来以前为了屏蔽CNNIC,把entrust.net一起屏蔽了,难道是因为这个?把entrust重新信任,果然什么都正常了。后来查看了下,*.icloud.com确实用的是entrust的证书。

据说entrust已经不再信任CNNIC,但我还没找到可靠的来源。

Mac , , , ,

签证经历

好久没写博客了,这段时间都忙各种事情,而现在毕业季也是各种乱七八糟,但我还是想写点什么。6.13,我拿到了签证,想想一年前的6.11,我还在苦逼的考GRE,当时阅读都是蒙的,基本是裸考了。。。现在想想,这一年过得,真是辛苦啊。

这里我就说说签证的一些经历。我本来想和同学一起去北京中介那做签证培训的,然后顺便就在那签了,但是中介说不能跨区,只好先去北京培训,然后滚到上海去签。其实中介也没培训啥东西,签证问题也都是网上的那些,就是帮我整理了下材料,填了申请表,预约了个时间。我约的是6.13早上7:45的,12号滚到上海后,住在长寿路的7天里,这个地方里地铁站还真近,就10米。我算过了,从房间里出发,坐地铁在静安寺换乘,走路到梅龙镇广场,半个小时不到,还是蛮方便的。到了梅龙镇广场,就是各种排队,现在下面排队拿号,然后坐电梯上去排队安检,再排队提交材料让工作人员审核,这里工作人员会把你的材料再整理一次,不要的东西还给你,放入一个他们的透明文件夹内,这个文件夹就不用动了,不需要添加或者拿掉任何材料,直接扔给VO就好了。然后又是排队,排队按指纹,排队等VO面试。

面试我的VO貌似就是传说中长得很帅的水果小王子,确实很水果啊。
Continue reading

Thoughts , ,

MySQL的字符集设置

在使用MySQL的时候,有时会出现中文乱码的现象,很多情况是因为字符集的设置问题。

网上一些帖子指出,在my.cnf里添加 default-character-set=utf8 即可把MySQL的字符集改成UTF8。

但在新版本MySQL中,这个参数已经失效,而如果添加了这个参数,服务将无法重启。
如果直接运行mysqld在前台显示,会提示[ERROR] mysqld: unknown variable ‘default-character-set=utf8’。

在查阅MySQL官方用户手册后发现,在新版MySQL中,应该使用如下的变量修改字符集。

[mysqld]
character-set-server=utf8
collation-server=utf8_unicode_ci

Linux , ,

海淘第一单——瑞士军刀

我是从twitter上知道海淘这个东西的,自己去Amazon上看了下,美国的东西确实便宜,特别是Black Friday和圣诞节这段时间,果断买个军刀试试看。

海淘其实很简单,流程就是先从美国购物网站下单,地址填写一家转运公司的仓库地址,然后告诉转运公司,收到货物后,寄回中国。整个过程就是过了个转运的环节。只要你有张双币信用卡,就可以海淘了。

我自己买了个Victorinox Swiss Army Champion,27.5刀,比国内便宜一半了。

顺便帮同学带了个Kingston 8G TF卡,Class 4的,7.99刀,这个国内也便宜,但淘宝水太深了,很难保证买到真货。

另外还带了三只Staedtler的自动铅笔,这货国内也是贵的要死。
Continue reading

Thoughts , ,

RoboCup仿真3D正式比赛环境搭建——其他细节

本文介绍一些Linux使用中的技巧。

使用sudo命令

Fedora默认安装是不会把建立的用户添加到sudoers里的,要手动添加。
编辑/etc/sudoers,找到如下内容。
## Allow root to run any commands anywhere
root ALL=(ALL) ALL

添加一行,比如账号为robocup
robocup ALL=(ALL) ALL
这样使用sudo命令的时候,就不会出错了。

换源

Fedora默认的源那是慢的要死,推荐科大的源。
参见下面文章修改源。
中科大开源软件镜像站源设置
Continue reading

RoboCup , , , , , , ,

RoboCup仿真3D正式比赛环境搭建——比赛系统使用

比赛系统要在Monitor上进行安装配置。

1. 配置ssh

比赛系统的原理即是用ssh控制Server和Client机器,执行相应的程序。所以这里必须要开启ssh服务,除了Monitor,其他机器的ssh服务都必须打开。
但ssh登陆的时候,需要输入密码,显然这样非常不友好,我们可以把主机添加到信任列表中。
在Monitor上执行如下命令,后面跟需要无密码登陆的服务器IP,一组机器里要添加三台:Server,ClientA、ClientB。
ssh-copy-id 192.168.1.2

2. 比赛系统的配置与使用

由于使用了NFS,而且比赛时为只读的。但有些队伍需要将stdout或者stderr重定向到文件以备调试之用,所以这里要设置一个可读写的文件夹,之前在配置NFS服务器的时候,我写的那个脚本已经建立了一个符号链接,这里将建立符号链接对应的实际文件夹。脚本点击这里下载。
Continue reading

RoboCup , , , , ,