November 17, 2013 / Kyle Sun / 1 Comment
Thanks to pyusb, Garmin-Forerunner-610-Extractor and GcpUploader, I am finally able to sync my Garmin 310XT watch with Garmin connect on my Linux box.
Garmin-Forerunner-610-Extractor downloads all the activity files from the watch, then calls callback scripts under $XDG_CONFIG_HOME(usually ~/.config)/garmin-extractor/scripts. In this case, it calls a script that uses gcpuploader to upload to Garmin Connect.
Don’t be fooled by the name, Garmin-Forerunner-610-Extractor actually supports a lot of Garmin devices that use ANT+:
- Garmin Forerunner 60
- Garmin Forerunner 405CX
- Garmin Forerunner 310XT
- Garmin Forerunner 610
- Garmin Forerunner 910XT
- Garmin FR70
- Garmin Swim
Here is what I did (on Archlinux, other distro should be similar):
sudo pacman -S python2-pip #install pip for python2
sudo pip2 install pyusb --pre #need version newer than 1.0a2
sudo pip2 install GcpUploader #install GcpUploader
git clone [email protected]:Tigge/Garmin-Forerunner-610-Extractor.git
cd Garmin-Forerunner-610-Extractor
# since we run as root, so the config needs to be under /root
sudo cp scripts/40-upload_to_garmin_connect.py /root/.config/garmin-extractor/scripts
sudo chmod a+x /root/.config/garmin-extractor/scripts/40-upload_to_garmin_connect.py
Also needs to change the path to gupload in the script:
# CHANGE ME:
gupload = "/usr/bin/gupload.py"
Add garmin connect credentials in /root/.guploadrc
[Credentials]
username=yourgarminuser
password=yourgarminpass
Finally, run garmin.py to sync!
sudo python2 garmin.py
Bonus: I also find trapiriik.com can sync between Garmin connect, Runkeeper, Strava, endomondo activities. One button push, sync all of them. Or for $2 a year, it can auto sync between accounts. Pretty good deal 🙂
September 18, 2012 / Kyle Sun / 0 Comments
Tmux
Tmux是screen的替代品, 因为screen项目基本已死, 又buggy, code又很臃肿, 所以就有了Tmux. Tmux已经存在有一段时间了, 不过一直没有特别需求从screen转过去. 最近因为想着要竖着切屏就换了. 基本用得功能都差不多, Tmux可以自动更新title也是很有用的.
Z – jump around
https://github.com/rupa/z
Z是帮助用户快速跳转到想去的dir的. 不知道有多少次想跳转一个文件夹的时候要打一段很长的前缀, 这个小script就轻松解决这一问题: 只要输入这个dir的特征字段既可.
HuffShell
https://github.com/paulmars/huffshell
这也是个很实用的工具, 通过对.bash_history的分析来设定常用的alias, 来减少击键, 从而增加效率.
Lift.do
这是一个iOS App, 从最开始private beta的时候就开始关注了, 目的是帮助用户建立良好的习惯, 可以设定一系列的目标每天签到, 并且可以给与完成同样目标的人一个(like). UI很简洁, 用起来效果很好. 我因此开始了睡前仰卧起坐, 起床俯卧撑, 并且每天吃早餐等好习惯.
Workflowy
https://workflowy.com/?ref=aa2344c.tw (Warning: 链接是含我的邀请码的, 双方可以额外增加一些使用量)
Workflowy是一个极简主义的to-do list App, 没有Catalog, 没有reminder, 没有repeat event, 只有非常basic的list, sublist和tag. 从复杂的to-do list还原到最简单的list, 最大的收获是input变得容易很多, 有兴趣可以试一下.
July 18, 2012 / Kyle Sun / 0 Comments
Never use –force unless you know what you are doing!
事情是这样的, 昨晚发现机器上没装php-gd extension, 然后装的时候发现系统很久没升级了, 于是就pacman -Syu了一把, glibc开始报错, /lib下有conflict:
error: failed to commit transaction (conflicting files)
glibc: /lib exists in filesystem
Errors occurred, no packages were upgraded.
一狠心就直接–force了一把, 结果:
> ls
-bash: ls: command not found
于是就尴尬了, 整个 /lib 就这么被踹了, 机器变砖鸟. 好在我不是一个人, 论坛上哭天喊地的一大群人(1,2,3).
还好linode有rescue模式, Lish也很好用, 于是根据 1,2 终于把系统复原, 期间挫折重重.
最重要的一点就是, 下次说啥也不随便 –force 了.
February 23, 2012 / Kyle Sun / 0 Comments
I came across this config long time ago but never successfully set that up on company dev servers.
set listchars=tab:▸\ ,eol:¬
It always shows something like this:
set listchars=tab:?~V?\ ,eol:?
Until i saw this post on server fault, i realized it could be the same locale issue. Simply set the locale to en_US.utf8 solves the problem.
export LANG=en_US.utf8
April 2, 2010 / Kyle Sun / 0 Comments
There are sufficient articles teaching ppl how to access guest machine via ssh in virtualbox, while it takes me time to figure out the reverse way. It is very important since i dont that trust virtual machine and i hope to do the one-way backup of my work in the host.
Well, here is the answer. If using NAT, the ip address 10.0.2.2 is the host machine.
Note: remember to add “sshd: 127.0.0.1” in /etc/hosts.allow otherwise the sshd gives u “ssh_exchange_identification: connection closed by remote host” error.