Purlvin's private Weblog ‹℘›

through the EyE, through the Life

Monthly Archives: February 2011

另一个人

科室里,坐斜对面的小朋友df,明日就不来了。他的离职是今日才刚刚知晓。坐于自己一旁的小朋友zt说df乃是要回成都去,说他的老婆在那里。之后与zt的闲聊总会不经意提及df的离开,每次都会不自觉地叹气。说不清的缘由。

zt说成都是去了就再也不想离开的地方。于是问,为何不也回去。他说只可能在上海了,便没了下文。下班路上不经意说及他去年买的房子,告诉说是60平的老房,120万的房贷要还23年。突然,似乎明白了些什么。

(from htc desire)

Advertisements

GRE words Agenda ICS文件

春节假期时,曾在图书馆花了两个小时翻遍这本薄薄的小册子《17天搞定GRE单词》 。GRE红宝书几近8千的词汇,竟可只用一二十天就能背完。惊叹之余,细细想那记忆曲线,貌似也是很有说服力。当时就想着是否可以写个按那规则背单词的小软件,并且还要是手机版本的。虽然终是有andorid的手机,却是没有时间去学着折腾,也就只得将这念头暂且放放。

大年三十那夜百无聊赖,折腾着,研究了下google calendar导入的ICS文件格式(MAC下iCal、Microsoft Office的Entourage也都可以直接以此文件导入),然后写了下面一个C的简单小程序,用来生成一个按照那书所提记忆规律的提醒、可以导入google calendar的ICS文件。虽也是折腾了许久,却依旧只是信手之作罢了,很多地方都是欠妥。对于ICS文件理解只凭了导出的文件,当日是露了些内容的,只能iCal导入,后来方才发现。晚间又是拿来稍微修改,可以网页上直接google calendar导入。配上Andorid的手机,手机桌面加个google calendar的widget,自动与google帐户的calendar同步,感觉着实不错。想想或许也会有人需要,虽是半成品,也索性贴出,有意者可拿去继续折腾。

/*

* main.c

* test

*

* Created by ZHANG Joseph on 2/2/11.

* Copyright 2011 __MyCompanyName__. All rights reserved.

*

*/

#include<stdio.h>

#include <time.h>

#include <string.h>

#include “main.h”

const int max_list=50;

const int list_per_day=2;

const int start_year=2011;

const int start_month=2;

const int start_day=16;

const int start_hour=22;

//int start_date=20110216;

const char *head_ics=

BEGIN:VCALENDARn

PRODID:-//Google Inc//Google Calendar 70.9054//ENn

VERSION:2.0n

CALSCALE:GREGORIANn

METHOD:PUBLISHn

X-WR-CALNAME:purlvin@gmail.comn

X-WR-TIMEZONE:Asia/Shanghain

n

BEGIN:VTIMEZONEn

TZID:Asia/Shanghain

X-LIC-LOCATION:Asia/Shanghain

BEGIN:STANDARDn

TZOFFSETFROM:+0800n

TZOFFSETTO:+0800n

TZNAME:CSTn

DTSTART:19700101T000000n

END:STANDARDn

END:VTIMEZONEn

;

int list_review[]={1,2,4,7,15};

int list_review_all[]={1,3,7,14,29};

const int max_day=1+(1+2+4+7+15)+50/2;

const int max_task=6;

//int list_arry[max_day][max_task];

char list_arry[54][255];

int main()

{

FILE *ptr_file;

int x;

time_t now;

struct tm *timenow;

time(&now);

timenow = localtime(&now);

char *now_str;

sprintf(now_str,“%04d%02d%02dT%02d%02d%02d”, timenow->tm_year+1900,timenow->tm_mon+1,timenow->tm_mday,timenow->tm_hour,timenow->tm_min,timenow->tm_sec);

time_t tmp_time;

struct tm time_str,*ptr_time;

time_str.tm_year = start_year1900;

time_str.tm_mon = start_month1;

time_str.tm_mday = start_day;

time_str.tm_hour = start_hour;

time_str.tm_min = 00;

time_str.tm_sec = 00;

time_str.tm_isdst = –1;

ptr_time=&time_str;

ptr_file =fopen(“GRE_words_Calendar.ics”, “w”);

for (x=0; x<max_list/list_per_day; x++)

{

char str_t[255];

strcpy(str_t,list_arry[x]);

sprintf(list_arry[x], “New L%d~%d %s “,x*list_per_day+1,(x+1)*list_per_day,str_t);

for (int j=0; j<sizeof(list_review)/sizeof(int); j++) {

int p=x+list_review_all[j];

sprintf(list_arry[p], “%s(*%d)Review L%d~%d “,list_arry[p],list_review[j],x*list_per_day+1,(x+1)*list_per_day);

}

}

fprintf(ptr_file,“%sn”, head_ics);

ptr_time=&time_str;

for (x=0; x<54; x++)

{

fprintf(ptr_file,“BEGIN:VEVENTn”);

fprintf(ptr_file,“DTSTART:%04d%02d%02dT%2d0000Zn”, ptr_time->tm_year+1900,ptr_time->tm_mon+1,ptr_time->tm_mday,ptr_time->tm_hour8);

fprintf(ptr_file,“DTEND:%04d%02d%02dT%2d0000Zn”, ptr_time->tm_year+1900,ptr_time->tm_mon+1,ptr_time->tm_mday,ptr_time->tm_hour+18);

fprintf(ptr_file,“DTSTAMP:%04d%02d%02dT%2d0000Zn”, ptr_time->tm_year+1900,ptr_time->tm_mon+1,ptr_time->tm_mday,ptr_time->tm_hour+18);

// fprintf(ptr_file,”DTSTAMP:20110202T134726Zn”);

// fprintf(ptr_file,”UID:D86791AF-4A96-4AA1-A4CC-ICS-%dn”,time(NULL)+clock());

fprintf(ptr_file,“UID:D86791AF-4A96-4AA1-A4CC-ICS-%s-%02dn”,now_str,x);

fprintf(ptr_file,“CREATED:20110202T131609Zn”);

fprintf(ptr_file,“DESCRIPTION:n”);

fprintf(ptr_file,“LAST-MODIFIED:20110202T134333Zn”);

fprintf(ptr_file,“LOCATION:n”);

fprintf(ptr_file,“SEQUENCE:1n”);

fprintf(ptr_file,“STATUS:CONFIRMEDn”);

fprintf(ptr_file,“SUMMARY:%sn”,list_arry[x]);

fprintf(ptr_file,“TRANSP:OPAQUEn”);

fprintf(ptr_file,“END:VEVENTn”);

fprintf(ptr_file,“n”);

time_str.tm_mday++;

tmp_time=mktime(&time_str);

ptr_time=localtime(&tmp_time);

}

fprintf(ptr_file,“END:VCALENDARn”);

fclose(ptr_file);

return 0;

}

顺便也附个个人理解非常典型的ICS文件,不作解释,想来看过自会明白。

BEGIN:VCALENDAR
PRODID:-//Google Inc//Google Calendar 70.9054//EN
VERSION:2.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:purlvin@gmail.com
X-WR-TIMEZONE:Asia/Shanghai

BEGIN:VTIMEZONE
TZID:Asia/Shanghai
X-LIC-LOCATION:Asia/Shanghai
BEGIN:STANDARD
TZOFFSETFROM:+0800
TZOFFSETTO:+0800
TZNAME:CST
DTSTART:19700101T000000
END:STANDARD
END:VTIMEZONE

BEGIN:VEVENT
DTSTART:20110216T140000Z
DTEND:20110216T150000Z
DTSTAMP:20110216T150000Z
UID:D86791AF-4A96-4AA1-A4CC-ICS-20110219T003122-00
CREATED:20110202T131609Z
DESCRIPTION:
LAST-MODIFIED:20110202T134333Z
LOCATION:
SEQUENCE:1
STATUS:CONFIRMED
SUMMARY:New L1~2
TRANSP:OPAQUE
END:VEVENT

BEGIN:VEVENT
DTSTART:20110217T140000Z
DTEND:20110217T150000Z
DTSTAMP:20110217T150000Z
UID:D86791AF-4A96-4AA1-A4CC-ICS-20110219T003122-01
CREATED:20110202T131609Z
DESCRIPTION:
LAST-MODIFIED:20110202T134333Z
LOCATION:
SEQUENCE:1
STATUS:CONFIRMED
SUMMARY:New L3~4 (*1)Review L1~2
TRANSP:OPAQUE
END:VEVENT

END:VCALENDAR

缄口

晚间的公交上,读了康康blog上的三期节目稿。都是长长的,耐了性子读完。对其中提及的乐人和歌曲多半兴趣不大,却是喜欢那字里行间透出的娓娓道来的味道。似乎已是很久很久没有听她的节目,只记得她的声音该是温软,就像那文字的感觉。

康康最近一期节目稿“情歌还是老的好”中零零散散提及了许多,读来着实觉得其中好些东西都是值了来细细品品味道。当然,此处姑且撇开,回归主题,“缄口”的自省亦是来自于此。康康说到了不曾知晓的“围脖女王姚晨触礁的婚姻”和“‘芥末之门’的《裸婚》故事”,并且其间还有这么一段的话:

可是啊,岁月是无法预知的审判。所以我常常很迷信,觉得幸福是和鹅绒被一样,是不能拿出来晒的奢侈品。觉得姚晨要是没有再围脖上晒了那么多幸福甜蜜的时刻,也许现在,她还不会恢复单身。

晒幸福,到了最后,幸福终是晒到了尽头。终于醒悟,好些事情该是不能四处宣扬的,最好方法该是悄悄藏于心底。一度自以为当下到了“分享”的时代,就将自己的喜怒哀乐尽数抛了出来,殊不知真会有多少人去看,有甚意义可言?一个人心中倘若都容不下半点的东西,那该是多么肤浅?缄口,牢骚也好、幸福也罢,自己的故事该是多些缄口,自此开始或许还是不晚。

太过奥妙

这个世界太过奥妙。当见到同事口中的”单片机”是了ARM,跑的竟是自己一直折腾却又不能的嵌入式操作系统。而就在昨晚,好不容易鼓起勇气,投出的几份简历也都是了这个职位。我不由感叹了。

这个世界太过奥妙。当都已要忘记,每个上班的早晨在那车站见到的那个美丽姑娘。隔了近一个月,她又一次出现。也许只是放了一个寒假,也许是今天开学。我不由感叹了。

这个世界真的太过奥妙。同事说那ARM开发板是老早也就买好,而这几个月来我却偏偏要被如此空耗。明明同事对此不怎么会,却被安排去做了。而自己一去就说了本是做那个的,却还得继续承受折腾雷达的煎熬 。时隔两年,投出的简历依旧还是那几家,而自己更是没有半点的长进,知道那结果必是依旧如早先般的飘渺。世界也就是这么奥妙。

这个世界真的太过奥妙。喜欢“将爱”中乐言与小艾公交的邂逅,每个早晨上班的车站,那短短的几分钟,竟真的总会见到同一个漂亮姑娘。想想正式上班不久就是见到,两个多月,始终没有半句的言语,即使某个时刻那车站只剩下我们二人。车窗外,天气很冷,一个个女子却是不得不抱了那一束束火红的玫瑰。世界也就是这么奥妙。

(from htc desire)

谁还在读?

更新了“一梦华胥” ,莫名去信手翻看了些早先留下的文字。最初的天真烂漫、语无伦次,到了今日的看淡一切、郁郁寡欢。人总是会变的吧,莫非这就是了所谓的成长?

去了Google Analytics,看了下访问的情况。多半时间个位数的访问量,真是少得可怜,不由生出了失落。虽也时常会写道,“或许这blog只是写予自己”。此刻想来也许只是自欺欺人罢了,始终不曾关了旁人阅读的权限。也许,也许只因尚且怀了一线希冀,希望能寻得一人可以分享自己的种种心绪。偶尔也会见到熟人留下的只言片语,而更多时间却是一片寂静,静得好似与世隔绝。

想起“I Am Legend”,想起片中那画面,Will Smith扮演的主角对了电台整日寻找别的幸存者,突然觉了同那画面竟是如此相像。这个blog,这里的闲言碎语,谁曾读过?又有谁还依旧读着? 对此,一无所知,却是突然很想知道。倘如你还在读着,就请告予我知吧。直接添加评论,抑或MSN、QQ、新浪微博、开心之类的留言或是发私信(尽管下了决心此类SNS要一周后再去查看),再不济也还可以写邮件给我。总之,请让我知晓你的存在,也好多些继续的动力。