跑步十八周记

好快呀,一眨眼,又过去了六周。其中四周回国休假,幸好没有耽误跑步。微博记录的也不多,只有三条。

  • 7月30日:(昨天)个人纪录:107分钟15公里连续跑。第13周第一次(总数第59次)出勤,本月累计里程109公里。昨晚睡眠还可以,今早有些疲惫。#跑步#
  • 8月12日:第15周第一次出勤,35分钟5公里连续跑。第一次高原跑,西宁海拔2295米。中学的操场都不对外开放,步行30分钟到青海民院跑的,第一次跑塑胶跑道。运动的中老年人很多,年轻人很少,有也只是跑几圈就撤了,也许是暑假的缘故。#跑步#
  • 8月23日:今早天津第二次跑步在50分钟之后,被学校(一所初中)开教室门的大爷叫停。"学生都来了,再出点嘛事!"估计是怕同学们把我殴了。#跑步#

跑步的信息记录在Google Docs里面了,也许墙内无法访问。

总结:

  • 第十三周:33公里。第一个15公里
  • 第十四周:19.6公里
  • 第十五周:31公里。休假第一周,青海西宁,跑步场地为青海民族大学(东区)体育场内,塑胶跑道,感觉心率稍快一些的话,例如接近150,呼吸就很难受了,低于这个数,感觉还可以。
  • 第十六周:20.5公里。休假第二周,天津河西瑞江,附近一个初中,塑胶跑道,圈太小了,好像也就200米。小区内一次,便道砖,不平而且有点硬,汽车出入很多。
  • 第十七周:41.2公里。休假第三周,天津,南开大学校园,大一新生军训,体育场不让入内,便道砖一次。后两次在梅江会展中心附近的环岛东路环岛西路跑,第一次没找到圈,原路返回,第二次跑圈,每圈大约5公里,三圈。早晨车辆不多。周日北京,晚上在宾馆的健身房第一次体验跑步机。
  • 第十八周:41.9公里。休假第四周,北京,跑步机10公里。北科大体育场,塑胶跑道,两次15公里。
  • 八月出勤14次,总计119.3公里。比7月出勤20次,总计115公里。基本从每次最少5公里过渡到每次最少10公里。
  • 迪卡侬GEONAUTE的On Rhythm 300的心率带可以在LifeFitness: Club Series Treadmill上面使用
  • 最近一直在用Strava记录室外跑步信息,发现看到的地图信息有偏移,但回到挪威后,发现又正常了

展望:

  • 希望在未来两周内冲击一次20公里

跑步十二周记

最近在微博上很少记录跑步了。只有一条:

  • 7月16日:(昨晚)个人纪录:74分钟25圈10公里连续跑。20圈之前基本保持心跳150,之后145。启用了NIKE ZOOM VOMERO+ 7(体重80+KG),开始弹性效果还不错,20圈以后感觉有些硬了,左膝有些反应。昨晚睡眠不太好,但没有上周一那么亢奋了。#跑步#

自己将跑步的一些信息记录在文档中了,没有具体细节,就是每次的跑步起始时间,距离等。

日期 开始 结束 持续 小时数 距离 速度
2013.07.26 16:02:00 16:37:46 00:35:46 0.596 5 8.389
2013.07.25 15:26:00 16:02:28 00:36:28 0.608 5 8.224
2013.07.23 22:20:34 22:57:40 00:37:06 0.618 5 8.091
2013.07.22 15:25:00 16:35:42 01:10:42 1.178 10 8.489
2013.07.19 22:04:00 22:37:15 00:33:15 0.554 4.8 8.664
2013.07.18 17:41:00 18:10:23 00:29:23 0.49 4 8.163
2013.07.17 15:40:00 16:14:43 00:34:43 0.579 4.8 8.29
2013.07.15 17:05:00 18:19:20 01:14:20 1.239 10 8.071

总结:

  • 跑鞋:正式启用NIKE ZOOM VOMERO+ 7
  • 第十一周:23.6公里;第十二周:25公里
  • 第二次10公里,感觉要比第一次好些,到最后,膝盖和踝关节也没有异样的感觉。

展望:

  • 希望在未来两周内冲击一次15公里

跑步十周记

时间真快,一晃儿都10个星期了。

好多年没有锻炼身体了,现在算是人到中年了,觉得应该要改变一下了。另外夏天来到了,觉得不能再荒废这美好时光了。

关于跑步,我之前也只是在20多年前初中的时候跑过一次1500米,大学有体育达标考试,当时是1000米,好像成绩是4分钟多,工作后有一段时间跑过,但好像没有什么记录,忘了当时能跑多少,锻炼时间也记不得了。到了挪威,好像也跑过一小段时间,至少也是4、5年前的事情了。

场地方面,家附近就有一个400米的草场,如图:

5月初,在新浪微博上看到了@跑步百科的这条微博:新手8周跑步训练计划

总算给了自己一个起步的计划了。这个计划大致就是从零开始,跑走结合,目标是8周达到连续跑30分钟。

我好像是从5月6日这个星期开始的,刚开始,好像最多能连续跑2圈,然后就走1圈,跑1圈,大约持续20到30分钟。连续头两个星期,没有严格执行计划。大约两周时间运动了7次。

从第4周开始,大约每周在微博上记录自己的运动情况。

  • 6月2日:若干年没有这样运动了,跑走运动第四周进入尾声,每次半小时左右,周累计出勤4+3+6+6了。(还做不到半小时都跑下来。) #跑步#
  • 6月11日:上周第五周出勤5次。今天第六周第一次出勤,总计25次,毛着算100公里吧。连续跑2公里,单日跑3.2公里,单日跑走4.4公里,应该都是历史最高记录了。 #跑步# cc @jyzh2003
  • 6月17日:第七周第一次出勤,连续跑21.5分钟2.8公里,单日跑总计3.6公里,单日跑走总计4.4公里。上周第六周,累计出勤6次,好像有两次跑过2.4公里连续跑,周六最累,连续跑最多0.8公里,以走为主了… #跑步#
  • 6月24日:第八周第一次(总第36次)出勤,连续跑29分钟4.0公里,基本达成连续跑30分钟的最初目标。上周第七周,累计出勤5次,周六出勤时,状态不是太好,跑了5圈才不太难受了。家里领导和小朋友亲自莅临现场加油2圈,好像就跑到了9圈。 cc @跑步百科 #跑步# #新手8周跑步训练计划#
  • 6月30日:第八周第五次(总第40次)出勤,连续跑30分钟4.0公里。本周出勤5次,全部完成连续跑4.0公里,另走0.8公里。今天第一次早上跑,8:10-8:40,前七圈小腿都是硬的,后来才放松的,看来还有潜力多跑一些。第六周开始控制饮食,八周成果大致为87.5->82。#跑步#
  • 7月8日:昨天第九周第五次(总第45次)出勤。本周3次完成连续跑12圈4.8公里,2次完成连续跑10圈4公里。周一状态不错,应该再多跑一些的。现在左踝关节有些不太舒服了… #跑步#
  • 7月9日:个人纪录:48分钟17.5圈7公里连续跑。第一次使用OR300,平均心率大约在160(理论峰值220-35=185),86.5%。左踝虽然不是最好状态,但基本保持全脚掌着地,至少跑完没有恶化倾向。今天状态不错,应该还可以跑一些的。另外在此特别感谢Nokia公司的Smart Yang同学。 #跑步# cc @光年Runner_THU
  • 7月13日:第十周第五次(总第50次)出勤。本周开始使用心率表,装备除鞋外全部升级。周一48分钟7公里(个人记录),心率160,有些过量。周三至周六每次4公里,心率大约保持在150,周六左踝有些难受。#跑步#

跑步十周留影纪念:

装备方面:

软件方面:

我的手机是iPhone 4S 16G。

感觉都差不多,之前在使用手机咕咚和endomondo的时候,GPS跳点的现象都有,不过不太一样,手机咕咚每次运动会跳一次,而endomondo会3次不跳,最后一次跳好几次。runkeeper好像也类似,一般30分钟下来,会多给出200-400米不等的距离。

不过,在runkeeper的FAQ里How do I get best results with GPS fitness tracking?提到:1. 需要关闭手机wifi;2. 启动应用程序2、3分钟后,再开始记录运动。这个还是略有帮助的。

致谢:

  • 关于跑步的信息,很多参考了@光年Runner_THU博客
  • Nokia公司的Smart Yang同学,再次感谢,不远万里,帮我把这些装备从中国运到挪威,^_^

How to setup a mirror of Qt Project

There is a work from Oswald Buddenhagen, his change, qtrepotools: add mirror script.

Mirror Script

You need to have an account of codereview(gerrit) and set up the ssh keys well, more info in Contribute to Qt.

Here is the qt-codereview-mirror shell script in github.

I set up this mirror script on a Ubuntu 13.04 machine. You need to check following before to run it:

  • Install git and procmail package for git and lockfile:

  • Make sure you have /data/repos directory.

You could have a try run for the above script. If it works well for you, you can add it into your crontab, see also Ubuntu: CronHowto.

Git Daemon

Next is to run a git server on your machine. I use git-daemon for this task.

How to use your mirror?

  • For Qt 4:

If you need to push change to upstream, then you should set up gerrit remote.

  • For Qt 5:

init-repository will help you set up gerrit remote for each repo.

孩子的环境和安全(挪威)

备忘一下吧,Children’s enviroment and safety(英语)/Barns miljø og sikkerhet(挪威语)。

年龄段 英语 挪威语 网页
0-6月 英语 挪威语 Barns miljø og sikkerhet, 0-6 måneder
6月-2岁 英语 挪威语 Barns miljø og sikkerhet, 6 måneder-2 år
2-4岁 英语 挪威语 Barns miljø og sikkerhet, 2-4 år
4-6岁 英语 挪威语 Barns miljø og sikkerhet, 4-6 år
开始上学 英语 挪威语 Barns miljø og sikkerhet, skolestart

在网页中还有阿拉伯语、索马里语和乌尔都语的版本。

参考:

Distributed Compilation the build of Qt

Qt is a huge project, especially like the module, QtWebKit. If you happen to be in a computer farm, it is very useful to use distributed complation to speed up the build of Qt.

Here I suggest to use icecream on Linux and Mac OS X, and IncrediBuild on Windows(at least for Microsoft’s Visual Studio compilers). About IncrediBuild, more details perhaps will be updated in the future. See also qtrepotools: publish ibmake.bat, incredibuild xge wrapper for make/buildconsole.

Today, this blog is more about icecc/icecream.

Preparation

Linux

icecream is maintained by the SUSE people. Then there are less issues in OpenSUSE than in Ubuntu. But Ubuntu is more popular one. I just use Ubuntu as example here.

  • Install your compiler, like gcc and clang.
  • Install icecc and icemon(optional). icemon is the monitor of icecream build, better to check it when you setup the enviroments. It’s an GUI application based on Qt 4.8. Note: you need to install 0.9.8~git2012121601-0ubuntu2 and later version for icecc. More details in “icecc” package in Ubuntu.

  • For clang users, if you want to make icecream compiler package, better to do:
    • 13.04: $ sudo ln -s /usr/include/clang/3.2/include /usr/lib/clang/3.2/
    • 12.04: $ sudo ln -s /usr/include/clang /usr/lib/
  • Create compiler package: please do it. Here is the example for 13.04:

  • Enviroment settings before build:

  • Run icecc-scheduler in one of your Ubuntus:
    • Edit /etc/default/icecc, set START_ICECC_SCHEDULER="true".
  • Start icecc service: sudo /etc/init.d/icecc start, icecc-scheduler service also could be started with this. Not suggest to run multiple icecc-scheduler in same network with default values, you could edit /etc/icecc/icecc.conf with more options.
  • Stop icecc service(optional): sudo /etc/init.d/icecc stop

Mac OS X

  • Create a ‘qt’ user. Open System Preferences -> Users & Groups -> “+” under the list of users (you might need to click the lock icon first and type in your password), add a user “qt” with your standard password.
  • Install HomeBrew

  • Install XCode and command line tools.
  • Install icecc and icemon(optional).
  • Create compiler package: please do it. Here is the example for 10.8:

  • Enviroment settings before build: (Note: looks like it doesn’t work well with a compiler package. 2013-06-19)

  • Copy com.github.iceccd.plist into into /Library/LaunchDaemons .
  • sudo chown root /Library/LaunchDaemons/com.github.iceccd.plist
  • Start icecc service: sudo launchctl load /Library/LaunchDaemons/com.github.iceccd.plist
  • Stop icecc service(optional): sudo launchctl unload /Library/LaunchDaemons/com.github.iceccd.plist

Building Qt

Normally just do source ~/.icecc_rc, configure and make.

  • For clang build(both Linux and Mac OS X), please keep in mind to use -no-pch when configure.
  • For Qt4 build, the -arch argument that Qt 4 passes to the compiler confuses icecream. So for now, if you use Qt4, you need to patch your mkspec to not add that (if you build for your local architecture only), eg. in mkspecs/common/gcc-base-macx.conf.(Note: looks like it’s only on Mac OS X, I haven’t tried it yet.)

Known Issues

  • Using icecream currently screws up debug information for all object files that we compiled remotely!(Mac OS X only)

Thanks

Setup your own CommaFeed on OpenShift as Google Reader replacement

Yes, Google Reader will be dead soon, Google Blog: A second spring of cleaning.

I just read a few blogs which talked about the alternatives. Then just a few days ago, one of my friend told me there are inoreader and CommaFeed. And found this article, jasonwryan.com: Replacing Google Reader.

CommaFeed is an opensource solution(Note: it’s in maintenance when I started to write this blog), source code is on github.

Steps

Signup on OpenShift

Go to OpenShift, signup

Add JBoss 6.0 application

Go to OpenShift: Get Started, then click “WEB”, a bit down, clike “Open the Console and Create an Application”, in “Mangement Console” page, click “Create Application”, find “JBoss Enterprise Application Platform 6.0”, and install it, you need to set the “Public URL”, for example: http://mygooglereader-enjoylife.rhcloud.com , click “Create Application”.

You can add a public ssh key in next page.

(Note: I am not sure how much I will pay for that service based on “JBoss Enterprise Application Platform 6.0 is based on a premium cartridge. It costs an additional $0.03 per gear hour after the first 3 gears.”)

Install mysql 5.1

Back to OpenShift: Get Started, click “COMMAND LINE”, follow the steps in “Install the client tools on:”, for me, it’s “Mac OS X”. Then “Setup your enviroment”, command is “rhc setup”, there it will help you to create a ssh key and set up it. “rhc add-cartridge mysql-5.1 –app mygooglereader” will help you install mysql into the application. Please remember to keep the secret information like root username, password and etc.

Deploy CommaFeed to OpenShift

In OpenShift: My Applications/Mygooglereader, found the url of your git repo:

You need to make a local clone of CommaFeed and merge it with your openshift application, then push it:

If you find sth like following, then it works fine:

You can goto Your Own Google Reader, use the default user “admin” and password “admin” to login, change the password and create your own account.

Apply Goolge client ID and etc

Go to Google Code: API Console, create project, and click “API Access”, click “Create an OAuth 2.0 client ID…”. In the popup, input “Product name: mygooglereader”, “Home Page URL: http://mygooglereader-enjoylife.rhcloud.com”, click “Next” button, Then “Create client ID” button.

Then “Edit settings…”, in “Edit client settings” popup, “Authorized Redirect URIs” is “http://mygooglereader-enjoylife.rhcloud.com/google/import/callback”, “Authorized JavaScript Origins” is “http://mygooglereader-enjoylife.rhcloud.com”, click “Update” button. And found “Client ID” and “Client secret”.

Application settings in CommdFeed

Go to Your Own Google Reader, use “admin” to login. Then go to Settings page, set “Public URL” to “http://mygooglereader-enjoylife.rhcloud.com”, and also “Google client ID”, “Client secret”. Click “Save”.

Import your subscriptions from Google Reader

Go to Your Own Google Reader, use your own account, click the arrow button near the “Subscribe”, select “Import”. In “Import” popup, click “Google Reader”, then log in your google account, and wait about several minutes. All will be fine.

TODO

  • Update CommaFeed from upstream.
  • Backup mysql database.

Reference

How to embed an Info.plist into arbitrary binaries

For an application on OS X, the Info.plist file is very common. But could we embed it into the binaries?

Yes, we can. There is a compiler option “–sectcreate __TEXT __info_plist Info.plist”.

One example is the .pro file for qmlplugindump in qtdeclrative, change 4d173d5f16c103f640d4089feed44a74b14e9004.

I learned it from ariya‘s commit in phantomjs: 71425850f61ad85e33741ed5a59364327532f6a8.

And today I read an article: Gimmedebugah: how to embedded a Info.plist into arbitrary binaries, which also mentioned this. And it gives me the Apple documentation for that, Code Signing Tasks: Adding an Info.plist to Single-File Tools.

如何安装魔兽世界国服Mac版

注意:暴雪的中国代理网易那里官方并不支持魔兽世界国服Mac版,本篇文章属于社区贡献的总结。

暴雪大神其实一直是Windows+Mac双平台的,而且暗黑破坏神III都登陆PS3了。至于魔兽世界国服,不知道是当初九城引进时候的问题,还是网易接盘的问题,一直不能是用Mac版。至于国服的星际争霸II和暗黑破坏神III的Mac版的情况,我也不太清楚,好像也都没有吧。

x-only.net的Huan Zuo同学(微博: HZ老师)在这方面工作了很久,一直在他的网站上提供了Mac版的支持。在此,向他致敬。

我自己最近是从5.1开始,从Windows下切换到Mac的。

我这里主要是简述一下他的工作。

方法一:下载解压升级

下载:(1-10每个文件2G,11大约91M。下表还提供了sha1sum。)

解压:

我这里用的是The Unarchiver解压的。

升级:

直接点击运行World of Warcraft Launcher就可以了,等一会儿,就可以升级到5.3.16992。

方法二:Windows版修改

在Windows下升级至最新版5.3.16992,然后将整个文件夹复制到Mac下。(Mac可以直接读取NTFS分区的) (备注:Windows版的客户端请保留好,相当于备份。)

下载这个文件,大约84.2M,sha1sum为067a0d9c321462a99842ddc980d7777306a87088。

下载完成后,打开这个.dmg文件,会出现一组文件,全部复制粘贴到上述的Windows客户端的文件夹内,会提示有几个文件是否覆盖,回答是的。

直接点击运行World of Warcraft Launcher就可以了,等一会儿,就可以正常使用了。

参考链接:

备注: