学车日志
三 9th
最近工作比较忙,周末也很忙,四处奔波
学车的计划过年回来之后就有了,于上周六交了4000块钱,第一天就正式开始练习了,目前为止学会了启动,换挡,1档左转弯,弯前换挡,弯中换挡,弯后换挡,刹车停车..
学车报名前我折腾的是:非上海户籍需要临时居住证,本来办这个也不是很麻烦,到所在居委会登记一下一般就能办了,但是要看运气了,有些居委会办暂住证的人不是啥大官却一副官腔,完全不是本着为人民群众办事的态度来服务的,我在的小区就这样,跑了好几趟也没在我所在的小区办成,还需要出租房户主的户口本号码,无奈房东最近好像不在上海,我也不想再去找这小区办证的人了,叽叽歪歪,还说啥我租房的,要让我们房东交出租房的10%的税,房东不交让我可以补,好像意思是不交这个税暂住证不能办…有些SB总是自以为很聪明,TMD我不在你这办了还不行吗?
后来学车的师傅说办在他们家,他LP认识居委会的人,当天就去办了,报了些基本信息,交了88块钱和1张照片,立等可取,临时居住征就搞定了,在中国办事绝对的需要关系!!!
学车体检的地方人狂多,所谓的体检基本就是走个形式,这个流程一共交100块钱其实这个比较关键.在中国没办法,不得不服从一些形式大于内容的龟腚.
当然各行各业都有其”潜规则”,象学车午饭师傅含蓄的意思我们,饭钱就我们学车的平摊了,不过我们的师傅还算靠谱,还对我们说了不收钱,送包香烟还是可以的.
第一天学完总结一下就是师傅挺不错,缺点就是大多数情况下教的只是操作,对于为什么要这么操作没说,所以我都是在听他的指令操作,而不是自己知道为什么要这么操作,而且由于紧张手忙脚乱当然也就出现几次失误.
另外提醒想学车的朋友学车报名的注意事项:
1. 问清楚驾校的报名费包括哪些不包括哪些
2. 问清楚具体教你的师傅一些情况,比如凶不凶,抽不抽烟,一辆车带几个人一起学
3. 自觉遵守潜规则吧,逃不掉的
TeamName SilverBullet
三 2nd
最近我们Team取名了——SilverBullet
第一个提议是Terminator (猜想提名者是美国大片科幻类题材的忠实粉丝)
第二个提议是Vampire (猜想提名者对欧洲魔幻类题材作品情有独钟)
我就想,什么东西比终结者和吸血鬼更厉害呢,然后就想到了传说中的“银弹”,银弹是西方传说(基督教?不确定)中能杀死恶魔(吸血鬼,浪人都适用)的终极武器。
提议SilverBullet这个名字的另一个重要原因是为了向经典致敬;Fred Brooks《人月神话》提到No Silver Bullet这个软件工程的经典论文,该论述中强调真正的银弹并不存在,而所谓的银弹则是指没有任何一项技术或方法可以能让软件工程的生产力在十年内提高十倍。
当然还有点附加原因:“银弹”这个团队的名称给YY倾向严重的哥们也能带来不少乐趣,我就不在此一一列举各种YY的谐音词了,各位YY达人自个儿Happy就好啦。
BTW:google 图片“银弹”会发现很多不太和谐的内容,这张配图还是好不容易才找到的
快速配置php开发环境
二 24th
PDT – Eclipse for PHP Developers
XAMPP – Apache + PHP + MySql + … all in one
关键点:
傻瓜式安装完成XAMPP,解压完成PDT之后
1. 打开XAMPP控制板->启动 Apache,MySql
2. 配置PDT,选择Window->Preferences->PHP->PHP Executables->Search (选择XAMPP安装目录里的php目录)
3. 新建php工程的时候选择”Create Project from existing source”,然后填入XAMPP的htdocs目录+”工程名称”,这样做是为了 Run as-> PHP Web Page的时候就能马上预览效果了
当然phpeclipse和XAMPP也能集成得不错,可以参看这篇写得很详细的适合新手上路的文章: Eclipse3.4 下搭建PHP 开发环境 xampp
补充:
要调试的话,需要安装zend debug插件http://downloads.zend.com/pdt,安装完成之后,配置PDT的PHP Executables为安装插件目录下的PHP。(已经在列表里面了,选择设置一个默认的即可)
在火车站被一个小孩抱住腿
二 10th
出门的时候飘着小雨,坏天气对于有事情要办的人来说总是不爽的,所以心情比较一般
2号线转3号线在上海火车站北广场出去,到长途客运总站买回家的汽车票
鸟车站感觉修了有好几年了,还没改造好,要绕好远的才能到买票的地方
怎么不拿迎世博,刷外墙,修马路的劲头来修北广场呢?
刚到地铁出口就听到
while (ture)
{
chant “发票发票”
}
其中不乏带小孩的中年妇女,七老八十的老奶奶
为什么卖发票这么流行呢?还不是因为有市场,还不是因为这些某些性质的单位需要用报销的方式来逃税漏税?
这些单位大肆偷税漏税,相比之下像咱们这样在外企干活的小白领,连每个月的公交补助都要上税进贡,何其不公!
且不说这些进贡的钱到底被有关部门花到那里去了。。。
继续往前,走了长长一段满是泥泞的路,原本就狭窄的路两边还有不少卖黑货手机、盗版海宝、内部中华、油炸肉串、玉米棒的。。。
还有倒卖车票的、拉黑车的、帮人拉行李的。。。
当然还有不少乞讨的,跪着的,躺着的,到处抱人家腿的。。。
(求3元回家车票钱的女孩子估计很有钱了,不屑于在这样的天气出来吧,又或者这样的天气不利于她在地上写字)
怎么走了这么久唯独不见管理治安的。。。
(相信很多人有过在火车站手机钱包被偷的经历吧)
平日里报导上作威作福的城管大爷们,这里难道不是最应该维护市容的地方么?
公安系统的警察同志们,公务员,这里难道不是你最应该维护治安的地方么?
交通系统的警察同志们,公务员,这里难道不是你最应该打击黑车的地方么?
到了车站,看到的是辛辛苦苦维持秩序的车站保安,虽然穿的是警服,干着最辛苦的差事,他们也不一定是属于编制里的。。。
买完票往回走的路上,终于被一个小孩子看中了,估计觉得我长得温柔,向我粘了过来
两步之外,我就对她摇了摇手,表示不会给她钱
但是她丝毫没有退却的意思,开始粘上来,拽我的衣服
我用正常的语气说道:”不要烦哦”
但是她似乎更加坚定了,抱住了我的腿,大有吃定我的意思
此时,想到这里的种种现象,众多不爽一下子涌上心头,脸色一沉,大喝一声:”不要烦!!!”
明显感觉到她小小的身子为之一振,吓到了,不自觉的松开了手,嘟哝着嘴小声的骂我。。。
做人,该凶的时候一定要凶,而且要一鼓作气,要凶得粗暴而有气势,才能喝退这样的小鬼
虽然吓唬了这个小女孩,心里稍稍有些不忍,但是想到她背后那邪恶的黑手,要坚信自己做的是正确的事情
今天一旦心慈手软给了她钱,那么她背后的那个黑手,肯定备受鼓舞,变本加厉的弄出更多的抱腿小孩
只有大家都不给钱的时候,他们无利可图,抱腿的小孩也有可能会越来越少
不求实现理想国,只愿这些现象越来越少。。。
为iPhone优化网页的技巧
二 7th
为了使得网页看上去更像native的程序,我们需要对网页进行一些优化
本文包含一些小的技巧:
1. 如何隐藏iPhone Safari的地址栏
2. 如何设置网页的桌面快捷方式图标
3. 如何为网页设置iPhone的样式
4. 如何在网页中检测屏幕的方向
5. 如何在网页中检测当前的位置
为iPhone优化网页,最需要了解的应该是下面这个属性
viewport: 可见窗口
可见窗口在iPhone Safari上和桌面Safari略有不同,iPhone上默认没有滚动条,默认的实际的可见大小在竖屏状态下,如下图是320*356,地址栏占据了60像素的高度,稍后我们有办法将其隐藏,得以使用这宝贵的60像素。
iPhone的Safari在显示传统的web网页时(未做优化的网页),viewport会被设置成显示网页宽度的980像素,即在320*356的大小内显示原网页980像素的内容,做了适当的缩放等调整。
所以我们做网页优化的时候,可以通过设置这个meta属性,更多细节可以参考: “Safari Web Content Guide.pdf”
<meta name="viewport" content="width=device-width,height=device-height, initial-scale=1.0, user-scalable=no"/>
width=device-width, //设备宽度
height=device-height, //设备高度
initial-scale=1.0, //初始的缩放比例
user-scalable=no //是否允许用户缩放
小技巧
1. 如何隐藏iPhone Safari的地址栏
设置这个属性(文档里面说有用,但是好像不太成功)
<meta name="apple-mobile-web-app-capable" content="yes" />
还有一种办法,页面加载完成之后滚动窗口,这个确实有效,唯一要注意的是页面高度必须够长,我一般设成device-height就没问题了:
<script type="text/javascript">
addEventListener("load", function() { setTimeout(hideURLbar, 0); }, false);
function hideURLbar(){
window.scrollTo(0,1);
}
</script>
2. 如何设置网页的桌面快捷方式图标
这个其实不算技巧,只是从Apple文档里找到这一项罢了
<link rel="apple-touch-icon" href="apple-touch-icon.png"/> <link rel="apple-touch-startup-image" href="startup.png"/>
第一行就是设置桌面快捷方式图标的,图标必须是57*57像素的文件,不需要自己做圆角和高亮效果,系统会自动帮你搞定这个
放在网页根目录会作用于下面的全部网页,当然也可以为每个页面设置单独的图标
第二行是设置启动画面(没看到成功效果)
3. 如何为网页设置iPhone的样式
这个是CSS media selector的一点小技巧
<!--[if !IE]>--> <link media="only screen and (max-device-width: 480px)" rel="stylesheet" type="text/css" href="iphone.css"/> <!--<![endif]-->
4. 如何在网页中检测屏幕的方向
<script type="text/javascript">
function updateOrientation()
{
var displayStr = "Orientation : ";
switch(window.orientation)
{
case 0:
displayStr += "Portrait";
break;
case -90:
displayStr += "Landscape (right, screen turned clockwise)";
break;
case 90:
displayStr += "Landscape (left, screen turned counterclockwise)";
break;
case 180:
displayStr += "Portrait (upside-down portrait)";
break;
}
document.getElementById("output").innerHTML = displayStr;
}
</script>
<body onorientationchange="updateOrientation();">
5. 如何在网页中检测当前的位置
<script type="text/javascript">
navigator.geolocation.getCurrentPosition(showMap);
function showMap(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
document.getElementById("latitude").innerHTML = latitude;
document.getElementById("longitude").innerHTML = longitude;
}
//Register for location changes
var watchId = navigator.geolocation.watchPosition(scrollMap,handleError);
function scrollMap(position) {
latitude = position.coords.latitude;
longitude = position.coords.longitude;
document.getElementById("latitude").innerHTML = "scrollMap->"+latitude;
document.getElementById("longitude").innerHTML = "scrollMap->"+longitude;
}
function handleError(error) {
document.getElementById("error").innerHTML = error;
}
function buttonClickHandler() {
// Unregister when the user clicks a button
navigator.geolocation.clearWatch(watchId);
}
</script>
</head>
<body>
<div id="location">
latitude:<p id="latitude">null</p>
longitude:<p id="longitude">null</p>
</div>
<div>
<input type="button" value="clearWatch" onclick="buttonClickHandler();"/>
</div>
<div id="error"></div>
</body>
WordPress彩色的标签云
二 7th
自己写simpleblog程序的时候做过一个彩色的标签云,所以想自己写一个用到wordpress里面,后来发现网上这样的代码很多,就找了段现成的。
修改了mystique主题的widgets模板文件 ~/wp-content/themes/mystique/lib/widgets.php
可以看到重点是wordpress的这个方法add_filter(‘wp_tag_cloud’, ‘colorCloud’, 1),我没做过wordpress开发,对这个不熟啦,
但是联想了一下Servlet的filter机制,对这个函数的理解也八九不离十啦,能用了。
<div class="tag-cloud">
<!--Colorful tag cloud -->
<?php
function colorCloud($text) {
$text = preg_replace_callback('|<a (.+?)>|i', 'colorCloudCallback', $text);
return $text;
}
function colorCloudCallback($matches) {
$text = $matches[1];
$color = dechex(rand(0,16777215));
$pattern = '/style=(\'|\")(.*)(\'|\")/i';
$text = preg_replace($pattern, "style=\"color:#{$color};$2;\"", $text);
return "<a $text>";
}
add_filter('wp_tag_cloud', 'colorCloud', 1);
?>
<!--end -->
<?php wp_tag_cloud(apply_filters('widget_tag_cloud_args', array())); ?>
</div>
mystique主题的中文翻译有问题,下载了个poedit修改了一下zh_CN.po文件,这个工具蛮方便的,能自动生成mo文件,自己更新一下主题下的mo文件就行了
~/wp-content/themes/mystique/lang/
zh_CN.mo
zh_CN.po
Google voice recognition API
二 4th
Google语音搜索的识别率非常棒!
iPhone自带的语音控制识别率很一般!
纯粹YY一下,要是Google提供出他的语音识别API给开发者多好啊!
在高识别率的基础上相信全球的开发者肯定能搞出不少杀手级别的应用!
眼前最现实的是各种平台上的文字输入都将受益!
Second post from iPhone
二 1st
A post from iPhone
一 31st
测试用iphone发个帖子,
后台的richtext editor不能用,
wordpress的网页显示还可以,
form表单输入也没什么问题,
bug也有使用ajax取数据的地方有时候不响应,
滚动条显示不出来,safari挂过一次!
iphone输入法的联想和搜狗比则显得功能不够强劲
有空再写个iphone的使用感受!
炫酷CSS超链接按钮一
一 27th
上一篇文章提到用CSS分割图片的技巧,例子中也展示了一个很漂亮的CSS按钮,今天在tutorialzine看到这篇教程 Sweet AJAX Tabs With jQuery 1.4 & CSS3的按钮也很漂亮,把demo代码下载下来之后,看了一下也是用CSS定位分割图片的技巧做出来的,和上一篇文章中按钮实现略有不同,下面就来解析怎么做出如下的效果:
首先按钮的HTML代码,
<a class="green" href="#">Tab two <span class="left"></span><span class="right"></span></a>
这个按钮的图片由左中右三部分构成,两边的图片是做好了边框效果的,中间的图片可以无限扩展。即下图显示的效果(注:图像来源于tutorialzine原教程)
源图像是这样的,其实还分成了亮度有区别的上下两部分,使用上文中已经介绍过的CSS技巧达到鼠标移上去高亮的效果。
->
->
->
让我们来看看实现一个按钮核心的CSS代码:
a.blue{background:url(img/blue_mid.png) repeat-x top center; color:#03426e;}
a.blue span.left{ background:url(img/blue_left.png) no-repeat left top;}
a.blue span.right{ background:url(img/blue_right.png) no-repeat right top;}
然后是定义按钮size、边框、边距等的CSS代码:
a,a:visited{
/* Styling the hyperlinks of the tabs as colorful buttons */
float:left;
font-size:18px;
/* display:block allows for additinal CSS rules to take effect, such as paddings: */
display:block;
padding:7px 16px 1px;
margin:4px 5px;
height:29px;
/* Giving positioning */
position:relative;
/* CSS3 text-shadow */
text-shadow:1px 1px 1px #CCCCCC;
}
.left{
/* The left span in the hyperlink */
height:37px;
left:0;
position:absolute;
top:0;
width:10px;
}
.right{
/* The right span in the hyperlink */
height:37px;
right:0;
position:absolute;
top:0;
width:10px;
}





