memcache sample code

簡單版的測試 sample code

[code language=’php’]

// filename : memcache.php

$memcache = new Memcache;
$memcache->addServer('172.20.50.25', 11211);

// set 一個值到 memcache

$memcache->set('key', time() , MEMCACHE_COMPRESSED, 120);

// get 值

$data=$memcache->get('key');
print_r($data);

Holux m-241 logger 的 KML data 匯出 , 用 excel 編輯後再轉回 KML

今天早上都在玩這個…
把 kml 檔案用 simplexml 讀出來 , 簡單分析了一下就知道座標跟高度等資料在那裡了,
接著用以下的程式把它轉出 csv 檔
[code language=’php’]
$string=file_get_contents(“0816.kml”);

$xml = simplexml_load_string($string);

printf(“Name,Latitude,Longitude,Altitude,Dist,Description ,Icon,IconScale,IconAltitude,IconHeading, IconColor, LineStringColor,HideNameUntilMouseOver\n”);

$icon=”196″;
$iconscale=”0.2″;
$iconaltitude=10;
$iconheading=”line-180″;
$iconcolor=”yellow”;
$linestringcolor=”aqua”;
$HideNameUntilMouseOver=”true”;

$cnt=0;
$t1=0;
$last_point=array();
$dist=0;
$total_dist=0;
$ignore_time=120; // 120 seconds
$ignore_dist=10; // 10 meters

foreach ($xml->Document->Folder->Placemark as $k=>$v) {
$point=explode(“,”,trim($v->Point->coordinates));
if ( $last_point[0] ) {
$dist=sqrt( pow(abs($point[0]-$last_point[0])*110.766417,2) + pow(abs($point[1]-$last_point[1])*110.766417,2) );
$dist*=1000;
} else {
$dist=0;
}
$total_dist+=$dist;
$last_point=$point;
if ( $point[2]name);
$timestamp=strtotime($str_time);
if ( ($timestamp-$t1)<$ignore_time &amp;&amp; $dist<$ignore_dist ) continue; $t1=$timestamp; printf("%s , ",date("H:i:s",$timestamp)); printf("%s , ",$point[1]); printf("%s , ",$point[0]); printf("%s , ",$point[2]); printf("%s , ",$total_dist); printf("NO.%d
%s
Altitude : %s M , “,$cnt++,$str_time,$point[2]);
printf(“%s , “,$icon);
printf(“%s , “,$iconscale);
printf(“%s , “,$iconaltitude);
printf(“%s , “,$iconheading);
printf(“%s , “,$iconcolor);
printf(“%s , “,$linestringcolor);
printf(“%s , “,$HideNameUntilMouseOver);
printf(“\n”);
}[/code]

用 excel 把 csv 讀進來編輯, 一方面用 google earth 來對原來資料 , 看那邊停留久的 data
減少一些 , 再用這個 service 把 csv 轉回 KML 檔

Excel To KML – Display Excel files on Google Earth

今天(8/19)聽了 aska 的建議, 增加 “忽略” 時間跟距離的片段進去

今天(8/21)終於把這段程式改成可以給大家用的 service 了:
http://www.monster.com.tw/kml2csv

screenrc

; ---
screen -t ROOT  0  bash
screen -t D1  1  bash
screen -t D2  2  bash
screen -t D3  3  bash
screen -t D4  4  bash
screen -t D5  5  bash
screen -t D6  6  bash
screen -t D7  7  bash
screen -t D8  8  bash
screen -t D9  9  bash
select 1

startup_message off

# MY CAPTION
caption always "%H-(%n) %t %c"

; ---

bike中社路+風櫃嘴

騎完中社路還不過癮, 繼續騎風櫃嘴
下滑風櫃嘴…我說 “god 一直拉煞車…手都快斷掉了”
黃同學說 “奇怪? 剛剛是怎麼騎上來的?”

今天還有一件豬頭事….帶了 logger 但就是忘記忘記按下開始記錄
看來要再來一次

裝了 SyntaxHighlighter Plus , 程式碼可以看清楚了

SyntaxHighlighter Plus

It supports the following languages (the alias for use in the post is listed next to the name):

* Bash — bash, sh
* C++ — cpp, c, c++
* C# — c#, c-sharp, csharp
* CSS — css
* Delphi — delphi, pascal
* Java — java
* JavaScript — js, jscript, javascript
* PHP — php
* Python — py, python
* Ruby — rb, ruby, rails, ror
* SQL — sql
* VB — vb, vb.net

* XML/HTML — xml, html, xhtml, xslt

修改 … /wp-content/plugins/syntaxhighlighter-plus/shlfiles/SyntaxHighlighter.css
把 .dp-highlighter 的 width 改成想要的寬度

[code language=C]
#include
main() {
printf(“Hello World!”);
}

[/code]