Good good study, day day up

aleung的学习笔记, aleung的idea

看 Google Maps 上面的卫星图,珠江新城一带一片灰蒙蒙,但是有个奇怪的现象:高层建筑的楼顶似乎会清晰一些。

阅读全文 »

读书笔记摘抄:《众妙之门——网页排版设计制胜秘诀

版式设计

正文字号常见为12~14px。

标题与正文字号(font-size)的比例,比较流行的平均值是1.96。也就是将正文文字字号乘以2,就得到标题文字的字号。字号从传统值(6,7,8,9,10,11,12,14,16,18,21,24,36,48,60,72)或者斐波那契数列(8,13,21,34,55)中选择,可以得到更自然的版式效果。

计算行宽的简单方法:行宽=字号*30。如果字号是10px,行宽就是300px,差不多等于一行65个字。

阅读全文 »

今天難得的陰天,早上下過雨,溫度30℃出頭,沒有早幾天那麽酷熱,也有點風。
磨磨蹭蹭,早上10點半才出發。熱身段過後,按5’30”配速,從江灣橋過河南,沿江邊一直往東跑。

過了廣州塔,就到獵德大橋,大概10km位置。這時我面臨著一個艱難的選擇:上橋,就過到珠江新城然後沿江邊往回走,穿過二沙島回家,這是跑過好多次的路線,大概十七八公里左右。如果直走,就一直要到琶洲大橋才能過橋,到了北岸往回跑,要到家路程估計有近30公里,這時我從沒有跑過的距離。在我的大腦還在激烈思想鬥爭的時候,雙腿肌肉已經作出了決定——直走。

考慮到前路漫漫,將速度下降到5’50”。這時接近正午時分,雖然沒有太陽直射,人也比較熱,心率上升到接近160。找賣水的地方,但琶洲一帶很荒蕪,估算著也撐到過了琶洲橋後也沒問題。

13.5km處上橋,這橋真長,足足一公里。過了琶洲大橋下來,14.6km,去超市買運動飲料喝,停了幾分鐘。這麽一停下來,就沒法重新跑起來了,完全不想動。繼續跑後氣喘得很厲害,隔夜風爐都吹得著,腳擡不起,步頻下降了很多。將速度下降到6’30”了,希望能夠慢慢適應過來。堅持了一段,毫無起色,終於在過了華南大橋底,到了17km處放棄了。不清楚為什麼買水停了一下後狀態會突然變得那麽差,看回數據,過橋前的速度還是保持得比較平穩的5’50”左右。以前我也有經驗是不能停,一旦停下就很難重新回復狀態,但慢慢適應一段時間後還是可以的,這次完全不行。

找不到廁所,鑽進樹叢裏面尿尿。舒暢完後渾身酥軟,一轉身沒站穩跟身後樹幹長滿刺的木棉樹來了個親密接觸。

阅读全文 »

幾年前我寫過對Google中國地圖偏移規律的分析(1)(2),根據抓取到的偏移量數據,大概看出呈現了sin(a)+sin(3a)這樣的函數曲線規律,並且這個函數以不同頻率和幅度疊加了兩次。當時我推導出函數及其係數,利用它去校正偏移,在百公里範圍的區域內已經非常理想,但是在全國大範圍的不同區域,係數需要有點不同,也就是擬合函數還是差了一些低頻率的細節。不過當時的分析細節我也不敢在博客裏面寫,後來我也沒有再搞地圖方面的應用開發了,就把這個放下。

實際上這個地圖偏移並不是Google自己搞的算法,而是國家測繪局以立法的形式統一要求加的,稱為地形图非线性保密处理,所有從事國內電子地圖的廠商應該都得到了這個算法,實際上並起不到什麼所謂保護國家安全和國家利益的作用(保護行業壟斷者利益倒是真的),但是這個地圖偏移對地理信息處理和GPS技術的民用化起到了巨大的阻礙作用,近年各種與地理位置相關的應用如雨後春筍般湧現,但都為中國地圖的偏移而頭痛不已,後來由於下面提到的算法的流傳,問題得以解決,但增加很多不必要的複雜性和浪費開發、數據處理的人力。在我看來,這個地圖非線性加密處理在地理信息領域就像GFW在互聯網信息領域一樣,浪費了大量社會財富來對技術發展與應用進行封鎖。李成名,你真的成名了。

感謝Internet,感謝open source,現在這個偏移算法在網上已經可以輕松找到了。

網上流傳的原始算法是這個Java文件,然後有人整理過代碼,接力開發出多種語言版本。在『A Fork of Stuffs』博客裏,地球坐标系 (WGS-84) 到火星坐标系 (GCJ-02) 的转换算法給出了C#實現,這個博客另外一篇火星坐标系 (GCJ-02) 与百度坐标系 (BD-09) 的转换算法也很有用。而使用比較方便應該是下面的github代碼庫:

阅读全文 »

Pebble手錶戴了兩個星期,如果用一句話來總結感受,那就是:基本滿意,但還沒到愛不釋手的程度,沒有帶來驚喜。

阅读全文 »

Usually I used Astah to draw UML diagram to put into design document in MS Word or PowerPoint format. The separation of the source and generated file making management of the UML model file a problem. And also it’s annoying to adjust a large amount of elements by dragging with mouse whenever you add something in the diagram. For a coder, typing on keyboard is faster than drawing with mouse.

Now I switch to PlantUML. Just write UML in its DSL and PlantUML generates the diagram. It supports most of the frequent used UML diagrams, which I use most are sequence diagram, class diagram and state diagram. Then I paste the generated diagram into slides (design document) and keep the “source” in note. No need to wonder where to find original UML model file when I need to update the diagram.

The core of PlantUML is simply a jar file. It parses the text input and depends on dot tool from Graphviz for graph generation (except sequence diagram).

There are a bunch of ways to run PlantUML. I highlight some of them I prefer:

  • Online editor. Best choice if you’re too lazy to install anything on your computer.
  • Desktop (Windows): PlantUML File Watcher
  • Embedded into Octopress blog platform. The below examples are using it.
  • IDE plugin. Easy way to keep UML together with source code.
阅读全文 »

昨天在捣弄 miCoachNike+ 的数据迁移,到了最后一步发现调用 Nike+ API 需要传送client_id和client_secret,这两个信息是用来认证客户端的,但Nike并没有公开开放API,因此无法申请到client_id。看 tcx2nikeplus 的作者说他是通过查看iPhone应用发送的请求来拿到这两个信息的。但是 Nike+ API 都是走HTTPS的,普通方式的截包看不到加密传输的数据。

要嗅探加密传输,必须通过中间人攻击的方式才行。上网搜索一下看看有没有现成工具,果然一搜就找到了:Burp Suite。它是一个安全测试工具,功能好像有不少,我这里用它做代理,从中监控应用到服务器的通讯内容。

下面记录大致操作过程。

在PC上安装运行Burp,设置 Proxy - Options - Proxy Listeners,让它监听合适的地址和端口,并且选择 “Generate CA-signed per-host certificates”。

将浏览器代理指向Burp proxy,访问任意一个https地址,Burp这时是中间人,它会用自己的根证书(PortSwiggerCA)签发一个目标服务器的证书,替换了真正服务器的证书。浏览器应该会有安全报警,因为系统并不信任签发这个证书的CA。查看证书详细信息,选择根证书并且信任这个根证书,就会把PortSwiggerCA的证书加入到系统的信任列表中。

阅读全文 »

11月23日,参加了2013广州马拉松的半程赛事,这是我第二次跑半程马拉松,赛会成绩1:55:11,自己按过出发点的计时是1:52:50。这个成绩比上一年要差了一些,2012广州半马的自己计时是1:49:57。但还是完成目标了,我赛前预订的是两小时内完成。

今年的训练是从7月中旬开始的(见: 今年首次长跑训练),最开始的目标是全程马拉松,但是训练断断续续了好多回:八月初去大辣甲岛坐快艇颠伤了腰;九月中旬肠胃炎病了一回体重一下掉了两公斤;十月中旬出差;十月中旬到十一月中旬咳嗽了一个月。总之一直都没有跟上训练计划,训练强度没有上去,跑全马没有可能了,报名时还是选择半马。咳嗽延续了很长时间,严重到胸口肋骨痛,虽然训练没有完全停止,但很担心这样的身体状态连半马都跑不下来了,幸好到了十一月中旬,赛前两周咳嗽逐步好转。一直都没有怎么跑长距离,都是平常的30分钟,十一月开始才将每次跑量增加到12km左右。11月16日(赛前一周)晚遇上Nike的夜跑活动,那次跑得非常轻松,13km步速5:27,就对完赛非常有信心了。赛前一周内减量,周二周四跑了两次慢速短时间维持运动状态。

从周训练量图上看得出来:太少了,很多时候每周2小时都不够。

今年的路线比去年好多了,都是沿着江边跑。半程路线没有经过老城区,时间也早,观众没有那么多,但气氛也还是比去年好,观众都在热情的叫喊,特别是跑到路边跟一溜的观众一一击掌,兴奋度立马提高,特别有动力。

阅读全文 »

上个月在公司里分享的主题。Slideshare上看不到页面的动画效果,页面里的东西混一起了,要下载原PowerPoint文件看才行。

阅读全文 »