重新开张

去年4月份使用的虚拟主机homezz结束服务。备份了数据以后,本来想先放在自己AWS的VPS上过渡一段时间,后来配置出了问题,短时间没搞定apache2和php mysql的配置就放下来了,blog也一直停业至今。

这个五一的五天长假正好找到空折腾。手头的备份文件(本来以为丢了,费了一番功夫在iCloud Drive里找到了)如下:

  • MySQL数据库的SQL DUMP,版本5.7.25
  • cPanel下载的服务器wordpress目录,版本5.1.1版本。除了这个blog的本体,里面还有某人当年寄存在我blog上的博客片段。

之前用来跑shadowsocks的key找不到了,重新起了一个普通的Ubuntu 18.04,也许是因祸得福,环境更干净了,很顺利地装上了php5.6和mysql插件,apache也不需要配置直接能用。

接下来就是决定用哪家的主机,毕竟用AWS的VPS价格真不便宜,还要自己维护以及折腾SSL。候选目标最后圈定在DreamHost, BlueHost和SiteGuard。鉴于我对性能和稳定性没有要求,最后选了便宜的BlueHost(年付),另外还有LetsEncrypt的免费SSL。

没想到下一步的迁移是这次重新开张最麻烦的步骤。导出总是失败,查看了错误日志里发现应该是某一篇文章里的内容触发了bug。只好通过人肉导出一个个分类的文章的做法一点点搬,最后算是恢复了将近400篇博文。

最后启用SSL的时候又碰到了BlueHost的bug,提示未知错误。网上搜索了一圈,找到几个方案也没搞定。但第二天睡一觉起来的时候就好了,推测原因是域名解析的延迟——昨天挺晚的时候才把域名绑定到BlueHost的解析服务器上,导致和LetsEncrypt做域名认证的步骤发生了错误。BlueHost隐藏了这个错误,浪费了不少时间。

又是一篇流水账开启了这个十年的老博~

双职工装修狗的少数派报告

前言

    2015年2月5日,距离开工整整3个月,Q4最重大的人生大事——新房装修,总算结束了。是硬装部分的结束,也算是阶段性的胜利吧。从买材料到找装修公司再到现场执行全是小黑和我两个人搞定的,没太耽误上班,也没弄到披头散发、神经衰弱,想想自己好像也蛮厉害的样子~ ^_^

    写这个小结有点马后炮的味道,也不算什么经验分享,只是把自己经历的记录下来,给自己提个醒,有哪些是下次(如果有下次……)需要额外注意的地方。

 

 前期准备·设计篇

    人生第一套房2014年9月底才能拿房,当时想着装修要3个多月,要是想年前完工的话,最好拿到房就可以开始施工,那就得在拿房之前把设计的活儿干掉,所以我倒退了一下时间,从8月底开始找装修公司。

    完全没有经历过装修,找装修公司就是靠各种朋友推荐外加篱笆网看看帖子,我始终觉得篱笆网的口碑不能完全相信,一方面在于装修公司会有专人运营论坛的帖子,负面的多半会被删掉,另一方面在于一家装修公司整体靠谱,并不代表你碰上的设计师and队长and工人就靠谱,这个组合要靠谱,90%应该是靠人品。也许是因为一开始就抱着这种“装修找谁都一样是个坑”的信念,后面我才能觉得自己家装的还可以,没什么大bug。预期较低吧,哈哈。

    我一共见过7家装修公司,包括类似小米家装的“装修E站”和吐槽超级多的“百安居”,拿到的报价也是差距极大,最近细细的比较了下报价,报的便宜的都是在材料上给你报了知名品牌最便宜产品的价格,实际装修的时候,要用好看一点的,价格自然就上去了。还有吊顶啦大理石这些费用,一开始也不会报在里面,让你觉得全部装完还蛮便宜的,其实无论吊顶大理石是自己联系买还是包给施工队,都不是一笔小费用。如果装修公司跟你说“半包8万”那你就要当作“10万-11万”来留预算。

    如何确认一个设计师是不是靠谱&合适?在这个问题之前,每一个装修的人都必须坚定一个信念:这个房子是我住,我要按照自己的想法和喜好装修它。不然很容易被设计师带沟里,设计成“设计师擅长的风格”。比如我,喜欢家里四面大白墙空旷的感觉,曾约了一个设计师聊,当我跟他说完“我只想要四面白墙,不需要打什么柜子”的时候,他笑我说“四面白墙多难看”“真没见过还嫌家里储藏空间多的”。这样的设计师我给差评。我希望设计师能听完我的基本需求和喜好之后,给予一些细节上的建议或者空间利用上的新的idea,好的设计师应该是尊重和理解客人的审美的吧。此外,态度也挺重要的,用心一点的设计师在约了第一次见面的时候都会拿出房型图,跟你说一些他的想法,听听你的意见。当然,也碰上过极度不上心的,初次见面的时候就拿了本他们公司设计的作品集,半炫耀的在给我看他们给别人设计的房子。最后,提醒大家,最初约N家装修公司聊初步方案是不需要付任何定金的,在有很强烈意向之前,不要付一分钱。

    “设计师管外型美观、工人管施工便捷、业主管生活便利” 在看设计师给出的图纸的时候,一定要考虑一下是不是符合自己的生活习惯,方不方便日后的清洗。我的厨房是半开方式的,设计师一开始帮我设计成了全石膏板吊顶,后来在我的坚持下换成了铝扣板。因为厨房有油烟,吊顶上还有管道,万一要检修,敲石膏板吊顶就太夸张了。当然,设计师肯定会跟你说“不会那么容易坏的”“用好一点的脱排不会有油烟的”,请不要动摇,以后设计师又不会来帮你打扫卫生。

    电路图、水路图一定要设计师出。全套图纸里一定要有这两张图哦,曾经见过朋友家的强电分配没有图纸,全是电工师傅现场脑补,结果好多bug。电路方面,尽量多分几个回路,用大一些的电线和开关,因为家里的电器会越来越多,功率也都会很大,比如烤箱、烘干机、油汀,现在没有不代表以后不会添置,电路这样的隐蔽工程一开始做的到位一些比较后顾无忧,虽然这样会导致水电部分开销较大(回路多了,电线自然多),但我觉得值得。

    效果图是需要额外收费的,几百块钱一张也不便宜,个人觉得不是很有必要,毕竟渲染出来的效果图和实际装修出来还是会有些差别的。装修公司免费提供sketchup 3D模型图就基本足够了,看清楚吊顶的样子,格局划分、一定要跟立面图纸对应上哦,工人是对着立面图施工的。

    光看图纸是不会知道以后家里会长成什么样的,请让设计师多给你找一些类似格局、类似风格的图给你看看。如果设计师给你家设计了一些你从未见过的元素,电视机背景墙啦、不锈钢的封边条啦、玻璃装饰墙啦,请一定要设计师给你看实物图。我就是凭脑补补出了心里落差……

    设计师除了画图之外,还有个功能就是陪着买主材,地板颜色、瓷砖样子、卫浴都可以带着设计师去买,或者告诉设计师你喜欢这些样子的主材,让他的设计风格适应你要的主材的样子。有些时候你喜欢的东西单独看都很好看,但放在一起未必那么美,让设计师帮忙把关,至少能保证不太丑。

    最后,感慨一句:还好我找到了一个还算不错的设计师。(不做广告,有意询问请私聊)

 

预算·主材篇

    虽然很多人都说预算做了也白做,反正都是用来超的。但我觉得预算还是很有必要的,至少让自己知道钱都花去哪里了,一项材料买超了预算,我会尽量在另一个主材上填补回来,最后执行下来,预算超了14%,我觉得还算可以接受的,也算控制的还ok的。

    我和小黑都要上班,也只有周末才有空跑建材,所以前期做预算的时候多半是天猫的价格上浮20%做参考。预算表里分了“主材、厨电、家电、家具、其他”几个大类,之所以预算把家具家电也算上,是要考虑下自己的整体承受能力,不可能所有钱都砸给硬装,后面借钱买家具吧。

    最费钱的主材是:封窗(你绝对想不到封窗有多贵)、瓷砖、卫浴、地板、木门、橱柜。这些订好之后基本上预算就去了一大半了。主材主要的几个卖场:建配龙、美凯龙、金盛、宜山路、九星。建配龙:有点远,价格比美凯龙便宜点点;美凯龙:啥都有,有一些牌子唯一一家店就在美凯龙,那只能这里买;金盛:貌似瓷砖这里便宜;宜山路:一条街啥都有,橱柜、水槽、龙头、灯,我当时几乎每周逛一天宜山路;九星:龙蛇混杂,啥都有,啥都便宜,分不清真假。

    除了讨价还价的能力之外,买主材的时机也很重要,经历过十一、双十一、元旦等各大促销的我靠谱的说一句:还是十一的折扣最给力!只要付个订金就可以享受当时的价格了。此外,各类主材都推荐集中在一家买,比较省心,一方面买的量多,可以讨到更低的折扣和更多的赠品(我买瓷砖就让店家送了10平方的隐蔽砖,还免费搬楼),另一方面协调送货时间更方便,不用总在工地等着或者天天去工地等着各家来送货,毕竟装修狗平时也是要上班的,各种送货的时间我都会尽量约在一天,并发处理比较省时间。

    有哪些东西是可以通过京东啦淘宝啦搞定的呢?五金件、灯具、地漏角阀、镜子、水槽、洗衣池这类东西可以的。我家镜子就200块,洗衣池加上龙头才300块。不过这类大件只发物流,需要自提,沉还是挺沉的。

    最后,几个买主材的有情提醒:1、买瓷砖一定要店家送隐蔽砖包搬楼,你绝对想不到一块瓷砖有多重,16公斤!一块瓷砖!2、买卫浴也要跟店家谈搬楼,特别是你买浴缸的话,一般卫浴是不包的,但是加点钱可以。3、各种主材如果需要上门测量的一定要量,我家的门就矮了一丢丢,非常心塞。4、不要对各种“品牌特卖会”太给予希望,现场出样的东西都是比较丑的,你想要的都没有,销售只会忽悠你现场下订金,享受一个较低折扣,再去门店挑样子。

 

施工·安装篇

    说来说去现在才入正题,开工了才是战斗刚刚开始,考验心态的时候终于到来了。   

    装修的主要3个阶段:水电、泥木、油漆。大家都会说“水电是最重要的,要盯紧”,可我们作为门外汉和双职工,即便电线、水管是我自己买的,我也不能保证工人装上去的就是我买的部分,也许有掉包呢,谁知道呢。所以我是真的“两只眼全闭”的在装修,电线、油漆、大理石都是含在半包里了,大家千万别说我土豪或者对自己的房子不上心,我们只是不懂又没精力到处跑了比价,也许自己去买也是被人骗呢,我们宁愿省点精力下来赚钱。

    其实水电并不太麻烦,开槽后确定好位置,想好以后放了家具会不会挡住一些开关插座,插座网口是不是足够(我家有七八十个插座)就基本ok了,验收的时候会有设备专门去测插座有没有电,网口通不通(淘宝就有的卖,也很便宜)。

    泥木是最心塞的,特别是做好水电、装好中央空调后会发现原来的吊顶设计图根本盖不住管线。在做木工的时候,因为吊顶的事纠结了好几次,改来改去的。一定要保持良好的心态,这样的反复修改是正常和必经的过程,遇到不用心塞,想好自己能接受的样子是什么样的,问一下工人和设计师这样改动会不会对其他环节造成太大影响,然后协商一个折中的修改方案就好。有时候工人很倔强(其实是懒),不肯改动,直接给队长打电话说明意图是最直接有效的,队长自然会安排工人做事。

    做吊顶的时候预埋的脱排烟管、煤气管道都要提前埋好。煤气管是个很坑爹的玩意,煤气公司的价格超级贵,大家可以找一些专门做这个的公司来做,价格实惠不少。

    贴瓷砖没啥特别的,就是得注意砖越小,人工越高,如果是需要拼花的瓷砖,一定要给工人铺贴图,不然工人很容易贴错,或者贴不成你要的样子。铺贴图这个东西,有的瓷砖卖家回出,如果没有,就压迫设计师帮你出吧。哪些地方用隐蔽砖也要标清楚的,不然工人全部贴了好砖,费用很高的。

    至于要不要找装修队现场打柜子这个老生常谈,我觉得,一些尺寸比较尴尬的位置,没办法买到合适的柜子的,可以打。比如我家厅里面有一根水管,我就打了个立柜包住;卫生间买不到那么长的台盆柜,我就让木工现场打了一个。打柜子的好处:尺寸刚好,没有卫生死角,顶天立地,空间利用最高;打柜子的弊端:不方便移动,需要自己定做柜门,见光面,价格不便宜。所以这个问题上继续见仁见智啦。

    油漆工进场的时候,基本已经过了最艰难的时候了,我全家大白漆,没有什么调色的问题,所以油工干活儿比较方便。说个关于油漆的小插曲:某天去工地的时候正好看见刚送来的油漆,工人又不在,我就刮开了两罐多乐士包装筒上的防伪码,验了真伪,证明这个筒的确是真的,不过里面的漆,我就真的不知道了。油工退场那天,我看见被我刮开过的那两个油漆桶被当作垃圾扔掉了,其他的油漆桶没了踪影,估计是拿去“再利用”了。如果上天再给我一次机会,我就算刮破指甲,也会把整箱油漆的防伪码都刮开的。

    一遍面漆过后,就可以装橱柜、木门、地板之类的主材了。橱柜是要两次的,一次柜体一次台面。地板先装,然后是木门。安装这些东西非常非常的脏,特别是台面和木门,切割下来的粉末和木屑满屋子都是,建议大家去工地一定要准备一套“专用服”,衣服裤子鞋子包包,都要是弄脏了不心疼的那种,装修完扔掉都可以。

    最后安装的是卫浴、水槽、龙头、灯具、五金件,水电工2天大概就能全部弄完,只要交代清楚安装位置就好。顺便表扬一下我家的水电工师傅,非常好沟通,领悟力超级强,交代一遍就可以,装的又快又好。

    关于中央空调,单独提醒一下,无论大金还是格力,都是经销商负责安装的,各家经销商的服务、报价都有差别,前期需要多沟通比较。一般经销商一开始就会要求“上门实地测量”,请一定要拒绝,不要轻易透露自己的住址,因为有个恶心的制度叫“报备制度”,详情大家可以百度。当然,你已经定下来让哪家来做中央空调了,就可以让他来测量出图纸了,这个图纸是需要给到设计师看一下的,要和他的吊顶图配合的。

    装修期间不免要经历很多的询价,大家要尽量保护好自己的住址信息哦,虽然我们的个人信息已经被各种渠道卖的差不多了,但还是不要轻易的透露具体的门牌号码比较好,询价阶段,万不得已要留个地址,留到街道多少号就差不多了。

 

后记

   小白和小黑两个人历时3个月装出来的新家,不敢说一点bug没有,也不能说和自己设想的完全一样,只是觉得,我们花费的精力、纠结、投入的人民币和现在看到的效果还是对等的。能把屋子弄成现在这样,我们已经觉得自己棒棒的啦~

   感谢老公连续3个月的早起跑工地!

树莓派上手记(3)

 

能够正常运行Linux服务的树莓派显然没做到物尽其用——毕竟Web服务、BT下载这些功能并不突出,好些路由器就可以做到,也没什么折腾的噱头。要释放树莓派强大的功能,目光自然要放在可编程的GPIO端口上。

 

树莓派GPIO介绍

 

树莓派的输入输出端口由板子左上角的26个针脚构成:

 

 

 

第一版和第二版树莓派的针脚定义有些不同:

 

 

 

如果分不清哪个是1号管脚,可以把板子翻过来,只有1号管脚的焊口是正方形的,其他都是圆形(上图也有示意)。

 

26个管脚中,GPIO有17个管脚,5个GND和4个VCC(3.3V和5V各两个)。

 

点亮LED灯

 

以下需要一些简单的电子元器件进行试验,请自行淘宝。

  • 面包板

  • 导线若干(公母线、公公线、母母线)

  • LED灯(一包,电压范围2.2V – 3.3V)

  • 电阻(一包,从几十欧到1M欧都有)

 

连接方式

  • LED灯和100欧左右电阻串联

  • 正极(LED长针脚)接3.3V输出(Pin 1),负极接GND(Pin 6)

  • 不放心可以先用万用表测量一下电压

 

 

程序控制LED灯

 

GPIO的端口输出可以通过很简单的方式控制。这里需要用到一个库 wiringPi。

 

建议在自己电脑上用git clone这个库 

 

git clone git://git.drogon.net/wiringPi

 

然后把源代码scp到树莓派上,进入代码目录,然后运行./build它就可以自己编译、安装了。

 

pi@raspberrypi ~ $ gpio -v

gpio version: 2.13

Copyright (c) 2012-2013 Gordon Henderson

This is free software with ABSOLUTELY NO WARRANTY.

For details type: gpio -warranty

This Raspberry Pi is a revision 2 board.

 

wiringPi对端口的定义和树莓派有一些区别,它把树莓派不连续的GPIO端口按照0~16的顺序一一对应编号。因此使用wiringPi时,需要用wiringPi定义的方式来访问端口。比如GPIO17在wiringPi里其实就是0号端口。

 

 

这一次VCC不从3.3V的一号口引出来,而是接到了Pin 11,GPIO 17上。这个端口在wiringPi里被定义为0号。

 

 

运行下面的命令就可以点亮LED灯:

 

gpio mode 0 out # 0号端口输出模式

gpio wirte 0 1     # 0号端口输出高电平

 

通过脚本的控制,可以让LED灯发出闪烁的效果

 

#!/bin/bash

while true; do

    gpio write 0 1

    sleep 0.5

    gpio write 0 0

    sleep 0.5

done

 

最后完工全貌:

 

 

题图来源:维基百科LED条目

 

===========================

 

小白小黑开了个微信公众号,公众号 – “黑白杂谈”, 微信号 talking_ted,或者扫描下面的二维码,欢迎大家踊关注。

 

云南背包游记(四)

Day 5-7 丽江

早上9点半从双廊出发,3个多小时的车程到丽江。沿途都是山路,还目睹了一辆集卡掉下山坡被吊车拉上来的场面。

比起双廊,丽江商业化了太多,空气中都是浮躁的气氛。不想艳遇,不去酒吧的我除了闲逛就是宅在客栈里。

还是去看看风景吧,丽江好玩的就三个:茶马古道、木府、束河。一个个说。

茶马古道

客栈老板极力推荐,我还没骑过马,壮了壮胆决定去体会下。茶马古道有30多个马场,每家客栈都有相熟的马场,会有车过来接了送过去。骑马的内容都差不多,无非是路线和时间的差异,一张票包含了2个小时的骑马(实际骑了近3个小时)、坐船游拉市海和一顿午饭。我很笨的上马下马都不会,老板估计怕我摔死,给了一匹小马给我,很有虐待动物的赶脚。马夫骑一匹马在前面,用绳子牵着我和faya的马,三匹马一条直线的开始走古道。坐在马背上没有想象中的颠,不过跑起来的时候还是很要命的,基本上就是屁股烂掉的节奏。

不得不说一下云南的天气,早上出门的时候还下雨,到了中午就硕大的太阳当空照。血一般的教训告诉我们,一定要做好防晒 !特别是T恤领口部位,披肩神马的保护起来,不然晒的黑一块红一块的后悔去吧(我就是个好例子。。)

拉市海比滇池漂亮,虽然没有洱海宽阔,但水里有很多花,很漂亮。拍照出来的feel一级棒。

木府 

纳西族土司的官邸,位于丽江的中心位置。门票60元,含导游解说,大概1个半小时参观时间。就是一个地方的小型皇宫,期间有品茶活动,演示茶艺的姐姐倒是牙尖嘴利,给我们品的茶也的确是好东西,就是不知道真正卖的是不是一样的东西了。当地人说,一般卖茶叶的,给你喝的都是上等品,卖的都是次货。

束河

紧挨着丽江的另一个小古镇,打车过去一口价30块,晚上回来35-40块。街道和丽江没啥区别,咖啡店酒吧门口多半会养一只大狗,萨摩 哈士奇 金毛啥的,负责卖萌吸引客人。比较特色的是三文鱼,高山雪水喂养出来的,口感和日料的三文鱼完全不一样。经典的做法是“一鱼三吃”:嫩的部分刺身,鱼皮油炸,其他部分做锅仔。我们两个妹子点了一条2斤4两的金鳟,满满两大盘刺身吃的我们一个月内不会再想吃三文鱼。口感更有嚼劲,介于鱼生和三文鱼之间。价格倒是不算便宜,听说丽江新城里只要38元一斤,束河要78-98元一斤。

推荐美食:牦牛肉 黑山羊 腊排骨 野山菌 海菜(这个朴素的货在丽江叫做“水性杨花”)三文鱼

 

Day 8 昆明-上海

下午的飞机票从昆明飞回来,火车9点半到的昆明,剩下的时间就去了昆明博物馆闲逛,顺便去超市买点特产带回来(超市的价格比起古镇便宜太多)。

云南特产:鲜花饼、云腿月饼、小粒咖啡、云南十八怪。

 

备注:

1、昼夜温差真心大,白天短袖短裤,晚上两床被子;

2、带双人字拖很必要,古镇闲逛的时候,舒服很多;

3、古镇多是石子路,拎箱子的话很不方便,体力ok的话背包吧,35-40L的足够了;

4、务必做好防晒,高原紫外线不是盖的;

 

 

 

 

云南背包游记(三)

Day 3 大理-双廊

也许是背包太累了,在火车上的那一晚睡得特别好。5点多天还黑着的时候就被列车员轰醒了,火车居然提前到了。下了车,对着黑漆漆的大理城,一眼茫然:这么早,去哪里好呢?大理火车站可不像魔都火车站,有固定的打车的地方,一出站就被一帮黑车司机围住了,各种拉生意,问是不是去古城。完全没有胆子坐黑车,抱着包四处慌忙的搜索出租车的踪迹。好不容易发现一辆,立刻拉着faya上车,“师傅,去大理古城”“17.3公里,50块”,好吧,原来出租车也是不打表的一口价,都上车了,就算150也得坐啊。凌晨的路上连个路灯都没有,很紧张的开着导航,任凭司机师傅带着我们一路向前,不知道终点在哪里。

到古城南门的时候才6点,天还是没有亮,很冷,两边的店铺也没有开门,往回走了一阵才发现一家刚刚开门的包子铺,坐进去要了一笼包子一碗粥,有光亮的感觉好了很多。

经验教训:1、选一班天亮后到大理的火车会比较好,如K9632   2、除昆明外,打车都不打表的,一口价,同样的路线,晚上比白天贵一些 

7点多差不多看到太阳了,我们进了古城。人很少,店家都还没开门,有村子里的小学生中学生正赶去上学。偶然间看见一块“院内有自行车出租”的牌子,就决定租辆车骑着玩。价格很实惠,女式车10块钱,山地车20块钱,不限时,还可以免费寄存行李。

趁着人少,先在古城里兜了一圈,然后就奔着洱海边去了。出了古城沿着大丽公路一直骑,有指示牌标着“才村码头”方向,一条大直路骑个2公里就到了洱海边的码头,有轮渡可以过洱海。穷逼我是不会花钱坐轮渡的,把自行车停在码头旁(停车费2块),走进旁边的一片小公园,一片郁郁葱葱中有幽静的栈道,直通洱海边,坐在海边的石头上发发呆看看水鸟,等着太阳爬上头顶。

休息够了,继续往苍山方向骑,苍山上有个什么天龙八部影视基地,本来想上去瞅一瞅的,可惜在修路,单车上不去,只能靠走,想着下午就要坐车去双廊,没那么多时间,也就作罢,继续骑回古城里准备找点小吃填饱肚子。

古城里真的没啥好吃的,云南特色的饵丝我完全吃不惯,烤的那个牛奶也就一般吧,中午随便找了家饭馆吃了点不太辣的,就回店里还车拿行李出发去双廊。

插个题外话:无论大理or丽江,厕所都是收费的,1块钱一次,真的是随便找块地挖几个坑开个厕所一定发财!

双廊是靠大理挺近的一个小镇子,直接在大丽公路上拦“下关-双廊”的小中巴,招手即停,票价13元一个人,一个半小时就到了。

Day 4 双廊

双廊是个很舒服的镇子,客栈也不错,院子里有秋千,可以看到洱海,还有一只可爱的德牧叫小黑。在客栈里晒着太阳,逗逗小黑,看看书,很放松。

镇子很小,基本上吃一顿饭就能散步走一圈,2天4顿饭,我围着双廊走了4圈。

隆重推荐双廊的美食,经济实惠又好吃,一顿吃到撑也就人均50!

榕树下:酸辣鱼、海菜

吉祥红:苹果炖鸡肉、海菜、银鱼煎蛋

小火锅(名字忘记了。。):野生菌汤底鲜到爆

Anne's Cafe:有很萌很肥猫咪的咖啡馆,还有明信片可以买可以代寄

原本打算从双廊回大理再坐车去丽江的,结果发现双廊就有直接去丽江的车,75一个人,方便了很多还省时间。

 

                  

云南背包游记(二)

Day 2 石林

石林离大理有一段距离,开车大约要1个半钟头,前一天就在纠结怎么去的问题,俩女生包车太不安全,打车么又太贵。正好前一日在滇池拿到一张旅行社发的小传单,石林一日游一个人只要120块钱,还包门票和午餐,就决定打电话去和旅行社定,毕竟跟团有大巴交通便利很多。

事实证明:打死都不要跟团!

早上7点旅行社的小面包车就停在青旅门口接我们了,在市区里沿途接客人然后统一送到长途车站上大巴。上大巴,登记身份证 ,看着导游的样子还觉得挺正规挺靠谱的,这一想法到中午就彻底没有了。

石林分大石林和小石林,最有名的是阿诗玛,景区不大,门票175,园区内接驳的电瓶车25,都逛下来大概半天就够了。没什么特别的,随意拍照 到此一游即可。

中午的团餐基本连食堂水平都没有,吃完饭上了大巴,导游就开始介绍下午的活动:购物。跟团游有购物是意料之中的事情,万万没想到导游以进入云南世博园区需要身份证登记为理由,收走了我们的身份证。下午的购物点有3个,都是卖玉的,对于我这种对珠宝玉器无感的人来说,就算再便宜,也绝对不会买。在展馆里闲逛了一圈,见识了一下几十万一件的玉镯子啥的当开开眼。第一个购物点结束后上了大巴才发现原来一车人没有一个人花钱,导游的脸色瞬间就难看起来,各种冷嘲热讽,说自己赚的是干干净净的辛苦钱,我们不尊重导游等blabla的,然后迅速变脸,说下一个购物点,我们一定会出手。下一个购物点更不靠谱,一个标榜是什么经理的90后小男生,各种给我们优惠价,标价签上3w多的玉镯子,最后3k就可以拿走。一车人没人敢买,就一位看起来很土豪的上海阿姨买了个100块钱的小玩意。

逛了差不多1个小时,大家陆陆续续走出了购物点,才发现导游不见了。又等了半个小时也没见导游出来,忍不住跑回去找,见导游黑着脸站在里面数我们的身份证玩。我们以晚上要赶火车为理由想拿回身份证提前开溜,被拒,只好默默的继续等。大概拖到晚上7点半的样子,导游才一脸冤孽的上车,在全车人的抗议之下把身份证还给我们就地散团,还不忘说几句狠话撒撒怨气。

经验教训:1、能不跟团就不跟团 2、手机里备着身份证的照片,用于旅行团登记信息时用,如果有导游来收证件,一定要说没带or丢了,千万不能把证件压在导游手里,跑都跑不掉。3、在购物点不要买东西,谁买谁sb

脱离了傻逼的一日游,一身轻松,决定晚上吃点好吃的犒劳自己。云南的汽锅鸡是特色,查到了老字号福照楼,导航了一下有公交直达,二话不说马上冲过去。店很难找,小巷子黑漆漆的吓得我们差点半途而返。吃的很满足,推荐:凉米线(分量大的足够4个人)、乌鸡汽锅鸡、火焰土豆泥(有点咸)

酒足饭饱后散步回青旅拿寄存的背包,晚上22:55的火车去大理。本来以为21:30出门打车时间绰绰有余,没想到路上压根没空车,黑车倒是不少,好不容易拦到一辆空车还不去火车站,拒载一刚!万般无奈下只好搜公交线路,还好走2个路口就有直达公交车 ,一路狂奔,才没有误火车。

Tips:1、打车不靠谱,公共交通是王道 2、导航软件必须有,强推高德地图(顺便吐槽下百度地图不靠谱)3、多备着点零钱 ,公交车一次2元

好久没有坐红皮火车啦,好久没睡卧铺了,伸个懒腰,下一站:大理。

         

 

Mac OSX Tips (1)——彩色化ls输出

Mac OSX终端彩色化ls输出似乎和linux不一样。

 
最简单的就是ls -G,然后在.bash_profile里用alias把ls 定义成ls -G: (上面是简单的ls,下面是ls -G)
 

 
或者在.bash_proflie里
export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
 
 

在Mac OSX 10.7(Lion)上编译XNU内核

Apple虽然备受封闭系统的指责,但事实上只要访问http://www.opensource.apple.com,你就能看到苹果对开源软件的贡献。其中最值得一提的就是OSX内核——XNU。
根据我的理解,XNU是Mac OSX的内核,是一种融合了Mach、BSD和IOKit的混合型内核。其中Mach提供核心的基本操作(IPC、同步、VM、进程管理),BSD负责POSIX API,网络,文件系统(以及很多其他),另外IOKit则包含了驱动模型。
虽然网上有不少关于如何编译XNU的文章(包括项目),但在我的试验中,最后能够成功编译的只有这篇文章(因为正好符合各项条件,另外10.8的文章链接在此,都需翻墙),苹果官网上的文档甚至还停留在PowerPC的时代,告诉你如何通过Open Firmware进入调试模式,而Macbook早已在5年前转换到Intel平台,使用EFI作为bootloader。(另外一个明显问题是gcc4.3可以编译最新XNU,无需倒退到3.3)
具体的步骤我不逐句搬过来,概括来说就是:

  1. 下载dtrace(调试追踪工具)和bootstrap_cmds(用来生成Mach IPC服务端代码,又称Mach Interface Generator,这个是服务器版叫migcom);
  2. 分别编译并安装;
  3. 进入xnu代码目录编译;
  4. 在BUILD/obj/RELEASE_<arch> 目录里的mach_kernel就是最终文件。

有几点需要注意:

  • CC和C++一定要换成GCC前端而不是clang,CC是一个符号链接,C++我改了符号链接似乎还不行,最后指定了CXX的环境变量。
  • dtrace和bootstrap_cmds可以在http://www.opensource.apple.com/tarballs/下载打包好的tarball;
  • Xcode的Command Line Tools需要升到最新,这个不会跟着Xcode一起升级,否则在安装bootstrap_cmds时install_name_tool会报告“malformed object (unknown load command XX)”,具体看这个问答

编译完成之后当然就是更换内核重新启动了。具体步骤请看这里
另外编个内核好歹留点纪念吧,如果需要在uname信息留下你的印记的话,编辑config/version.c (我的OS是中文的,居然uname还给出中文了)

[email protected]$ uname -a
Darwin Marshalls-MacBook-Pro.local 11.4.2 DarwinMarshall’s Kernel Version 11.4.2: 2013年 2月24日 星期日 20时20分00秒 CST; wum:xnu-1699.32.7/BUILD/obj//RELEASE_X86_64 x86_64

最后附上原文里的一些步骤,防止原来的链接丢失。

  1. Build dtrace

    $ cd dtrace-90
    $ mkdir -p obj sym dst
    $ xcodebuild install -target ctfconvert -target ctfdump -target ctfmerge ARCHS="i386 x86_64" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst
    ...
    $ sudo ditto $PWD/dst/usr/local /usr/local
    Password:
    $ cd ..
  2. Build bootstrap_cmds

    $ cd bootstrap_cmds-79
    $ mkdir -p obj sym dst
    $ make install RC_ARCHS="i386" SRCROOT=$PWD OBJROOT=$PWD/obj SYMROOT=$PWD/sym DSTROOT=$PWD/dst
    ...
    $ sudo ditto $PWD/dst/usr/local /usr/local
    Password:
    $ cd ..
  3. Build xnu

    $ cd xnu-1699.22.73
    $ make ARCH_CONFIGS="I386 X86_64" KERNEL_CONFIGS="RELEASE"
    ...
    $ file BUILD/obj/RELEASE_*/mach_kernel
    BUILD/obj/RELEASE_I386/mach_kernel: Mach-O executable i386
    BUILD/obj/RELEASE_X86_64/mach_kernel: Mach-O 64-bit executable x86_64

LLVM折腾记(1)

这两天前看了一些关于LLVM的资料,比如《程序员》上的文章Dr. Dobbs上的 The Design of LLVM。之前还听说LLVM编译速度快、生成代码体积小效率高、架构优秀,连GCC都赶不上了,于是就开始琢磨着折腾折腾。
首先是下载编译最新的LLVM。我们的编译环境比较老,比如libstdc++的版本差了一点,最新的LLVM(包括3.1和3.0)都编译不起来(除了Debug+Assert版本,没想明白)。由于编译环境是公共的,自己fork一份出来太费劲,于是就将就用Debug版本编一个文件试试。
接下来是一般折腾找makefile里改编译器的地方,在一个已经用编译好的代码环境下通过touch一个源文件来一次只编一个,省的一下子把所有代码塞给clang/llvm遇上问题太多搞不定。预料上的问题很快就碰上了:代码里用了GCC的方言或者不符合标准的地方。clang(LLVM的C/C++/Objective-C前端)的主页上给出了目前不兼容GCC的列表:http://clang.llvm.org/compatibility.htm,大部分兼容性问题应该可以在这里找到答案。
第一个碰上的问题是关于模板类继承的:
http://clang.llvm.org/compatibility.html#dep_lookup_bases
改了点代码就编译通过了,算是完成了第一步。不过显然不能一直用Debug版本的下去,速度只有GCC的一半多一些,丧失了LLVM的一大优势。明天的任务就是fork出新的能够运行Release版本的编译环境。