生活中的死锁,槽都不能吐的话,还要怎么活

写程序的都知道,死锁 是个很恐怖的名词

但过日子的也都知道,死锁 在生活中却是无处不在的,尤其是被我们那些“高腰裤”们定下的那部分生活

前几天换了份工作,需要办理居住证信息变更,这不,麻烦事来了

“高腰裤”规定必须要有退工单才能改公司信息,要有退工单必须要用工单(也即办理过用工居住证备案),用工备案必须要在拿到居住证后自己再去提交相关材料,交材料必须要原公司在职,于是,麻烦就来了

由于我是在刚拿到居住证后就离职了(居住证从申请办理到最后拿到大约需要3-4个月,更别提繁琐的准备材料过程,笔者到上海4年,方才愿意去办理,可见有多麻烦,因此这样的场景,应该不少见),所以并没有来得及办理用工备案(当然,也是因为不知道还需要办理),然后就死锁了

就这事,在某群吐槽了下不满,听到了许多类似的死锁,甚是欢乐

某人:驾照过期,在北京续办,说要去山东(因为第一次是在山东办的),去山东,说要去北京,因为人在北京

某人:结婚需要开未婚证明,让去黑龙江开具,黑龙江反馈,没法开具,因为离开太久,解决办法:百度找了个刻章的,自己证明了下了事(百度找这个倒是比谷歌厉害的多)

还有一些其他著名的死锁,比如:

网站备案:先要上线才可备案,要备案后才可上线

有这么多的死锁,是高腰裤们定政策不走测试吗?我想也未必,中国没有太多黑和白,大多数政策遵守与否全在乎具体办事人当时的心情,如果都定得那么理性,也就没那么多“可操作空间了”,你看,普拉蒂尼不也是一直在反对引入高科技裁判嘛

当然,比起上面的一些相对有意的死锁,下面这个死锁则更多是无奈:

今天看到的新规定,上海市要求,无户口,未结婚的,不容许在上海买房

可丈母娘规定是,不买房就不能结婚啊~~

日子还得过不是?增图一枚

上海装修小结

结婚时,和朋友说笑,结婚是件体力活,朋友说,等你装修的时候,就会发现结婚实在是太轻松了

果然,这套60平不到的小房子,从装修开始,到全部结束,足足花了3个月时间(8月中旬到11月)

有朋友也想装修,问我,装修一共花了多少钱,我告诉了他一个数目,他吐出舌头,说我奢侈,我呵呵一笑,发给他我的清单(文末会附上),然后让他装修完后,再重新评价,果然。。

我想如果下次再有机会装修的话,应该会轻松许多,这里贴出我总结的一些经验,以供准备装修的朋友参考

  1. 选装修公司:大原则,装修市场非常胡乱,千万千万不要找小装修公司(大的装修公司也会有非常多猫腻,但相对更有保障)!最好也不要找一些不是太熟的朋友介绍,这个行业水太深
  2. 全包,还是半包?能不全包,千万不要选择全部,实在全包的话,做好心里准备吧…
  3. 碰上工人不守时,你可以骂他,但千万别动气,你的整个装修过程中,应该不会碰上什么守时的工人
  4. 对工人客气些(尤其是铺地板的,以及刷漆的工人),时常可以给买瓶啤酒什么的,花不了几个钱,工人的好坏以及用心程度,对最后的品质有很大影响,一般工人都是队长随便请的,碰上觉得技术不过关的工人,应该立即要求更换,不要发生我家这般的木工的杯具
  5. 让自己成为专家,在半包内的材料(如电线,水管,油漆,木板等),一般第一次带进来的,都不会有真货,一定要验证,发现问题,立即要求更换(自己买?一般自己买的话,需要签订协议,比如出了问题,由业主负责,所以如果不是十分信任的工人,这点钱,还是让装修队赚吧,只要能保证真货)
  6. 小户型的话,客厅建议用地砖(地砖并不比地板便宜),以后会发现生活便利许多
  7. 地板的硬度,是很重要的指标,我就是没注意,结果买来的地板,连板凳都能压出印子。。。
  8. 热门品牌的家具一般也不会准时送来,如果拖了的话,可以要求付滞纳金(或者叫违约金?)
  9. 随地多留插座,省了这个钱,以后有的是后悔的(T_T,我就是以为已经够多了)
  10. 西门子除了冰箱不好使外,远景系列插座也不建议使用,(双口和三口的没法同时用。。。。)
  11. 坐便器最好不要用移位器
  12. 关于环保:
  • 环保非常重要,家里有人不在乎的话,可以搜点新闻给他看看,或者带他去新装修的房子呆上个把小时
  • 宜家的东西,质量很差,但确实比较环保
  • 地板强烈建议用实木的
  • 床,大衣柜可以选择买样品,(家具类比较特殊,一般样品不会有折扣)
  • 听做环保的朋友说,除了通风,基本没有有用的除甲醛方法

附上花费清单,以及几张图片,最后,最重要的建议,多上淘宝看看

 

装修合同 47700
榻榻米 2366
床垫*2+4枕头 4888
窗帘*3 4310
防盗门 1500
地板 6250
踢脚线 1064
瓷砖 6690
门*3 6150
门锁*3 387
照片墙 204
1955
灯泡 208
书桌*2 2920
家具(床+衣柜+1床头柜) 11380
沙发+ 1789
沙发套+靠背 500
电视柜 710
沙发前地毯 168
福佑橱柜 11550
厨房移门 1590
油烟机+炉灶 4600
热水器 3000
冰箱 5872
厨房五金 140
餐桌+椅子 1806
浴霸+集成灯 1130
花洒 1399
淋浴房 1180
马桶 1400
台盆+镜柜 2130
晾衣架 400
卫五金 303
活性炭+除臭花 530
墙纸 1290
空调*3 11000
150459

查看更多,移步flickr:http://www.flickr.com/photos/ban_zi/sets/72157629448173800/

特定场景下,别忘了optimize table

前几日,从日志发现个请求相应异常慢,看了下,是个用mysql实现的一个任务队列,登录上去

show processlist

发现某语句执行异常慢,挺奇怪,一个常年只有几百行的表,怎么会这么慢呢

show table status;
t_task        | MyISAM |      10 | Dynamic    |      84 |            346 |    19547784 |    281474976710655 |       705536 |  19518652 |           NULL | 2011-11-20 09:38:20 | 2012-03-15 16:30:03 | NULL       | utf8_general_ci |     NULL |
恍然大悟
346行数据,却有19M了
optimize table t_task
ok,问题解决
原因分析:可变长度表,大量的插入删除,数据文件碎片太多,导致异常
结论:可变长度,存在大量插入删除修改操作的表,别忘了时常optimize一下,也可酌情考虑改成定长的(ps:对于utf8来说,为了保证定长,char(1)即使是插入1个数字,也是3字节哦)
看下手册怎么说的optimize table吧,中文版:

13.5.2.5. OPTIMIZE TABLE语法

OPTIMIZE [LOCAL | NO_WRITE_TO_BINLOG] TABLE <em>tbl_name</em> [, <em>tbl_name</em>] ...

如果您已经删除了表的一大部分,或者如果您已经对含有可变长度行的表(含有VARCHAR, BLOB或TEXT列的表)进行了很多更改,则应使用OPTIMIZE TABLE。被删除的记录被保持在链接清单中,后续的INSERT操作会重新使用旧的记录位置。您可以使用OPTIMIZE TABLE来重新利用未使用的空间,并整理数据文件的碎片。

在多数的设置中,您根本不需要运行OPTIMIZE TABLE。即使您对可变长度的行进行了大量的更新,您也不需要经常运行,每周一次或每月一次即可,只对特定的表运行。

OPTIMIZE TABLE只对MyISAM, BDB和InnoDB表起作用。

对于MyISAM表,OPTIMIZE TABLE按如下方式操作:

1. 如果表已经删除或分解了行,则修复表。

2. 如果未对索引页进行分类,则进行分类。

3. 如果表的统计数据没有更新(并且通过对索引进行分类不能实现修复),则进行更新。

对于BDB表,OPTIMIZE TABLE目前被映射到ANALYZE TABLE上。对于InnoDB表,OPTIMIZE TABLE被映射到ALTER TABLE上,这会重建表。重建操作能更新索引统计数据并释放成簇索引中的未使用的空间。请参见13.5.2.1节,“ANALYZE TABLE语法”

使用—skip-new或—safe-mode选项可以启动mysqld。通过启动mysqld,您可以使OPTIMIZE TABLE对其它表类型起作用。

注意,在OPTIMIZE TABLE运行过程中,MySQL会锁定表。

OPTIMIZE TABLE语句被写入到二进制日志中,除非使用了自选的NO_WRITE_TO_BINLOG关键词(或其别名LOCAL)。已经这么做了,因此,用于MySQL服务器的OPTIMIZE TABLE命令的作用相当于一个复制主服务器,在默认情况下,这些命令将被复制到复制从属服务器中。

一年又一年——2012版

哇,又到了写这个的时候了

本来要回顾下去年版还有哪些未完成,好在换blog的时候给丢了,这下少了许多尴尬

还是回顾下吧:

过去的一年,还算交代得过去

过去的一年,忙碌,平淡,却也不乏精彩,做了一些有意义的事情,交了一些有意思的朋友

过去的一年,九牛二虎之后终于成了房奴,接下来的二十年,将为这个冲动买单

过去的一年,结婚了,接下来的一辈子,会为这个冲动买单

过去的一年,打了一次官司,才知道如果相信法律是为弱势人群讨公道的话,那一定是看多了电视剧,接下来的几十年(谁也不确定这玩意还能坚挺多久),会因此受益,别怕打官司,更别怕被告,就那么回事儿

过去的一年,为了更多的时间,辞掉了干了两年的兼职培训——这份让我收获巨大的工作

过去的一年,切客改版几次后,终于看起来有点像是在正确的路上了

过去的一年,Thinkinlamp持续稳定发展,成功举办了年终数据库大会,毫无疑问,明年将有更大动作

新的一年呢?总得更精彩点不是?计划就不定了,咱记得要更精彩就是了

 

你知道那个产品在哪吗?

a:HI,你知道那个NB产品(产品经理)在哪吗?

b:在加班呢

a:那么牛逼,还加班?

b:人家忙着改变世界呢

a:哦。。。那个SB在哪呢?

b:也在加班吧

a:。。。那个SB也加班?

b:嗯,在忙着毁掉一切呢

板子说:同样是产品,N的人儿在改变世界,S的人儿在毁掉一切

~~~~蹲坑,再次看到那个不带单脱水功能的LG洗衣机有感,好在已经忍了3年了,再忍忍,就可以换了

 

win7用不了telnet?安装下就好

今天在家里办公,vpn连上后,需要telnet下,发现win7下telnet客户端默认状态是没安装的(有,只是没开启)

安装方法也很简单

打开控制面板  -》程序和功能  -》左上方的“打开或关闭windows功能”  -》弹出windows功能的对话框  -》找到TelnetClient(中文系统是telnet客户端),打上勾  -》ok!!

 

 

hi,板子又开始世界你好了

又一次开始了全新的blog之旅

这回和几个同事一起在linode买了个vps,此前的blog一直用的是bo-blog,一直挺喜欢bo-blog,怎奈和我同名的这位bob大哥,一直没时间再去维护,只好投奔wordpress大营了,考虑了下搬内容的成本和留下的内容的价值比,决定还是再次hello world吧

这回真的准备好好坚持下去了,虽然这句话也说了若干次了

生活,确实需要有这么一个沉淀想法,整理观点的途径

赠图一枚