转眼又是一年过

一 21st, 2009  ,
1

Comments

域名到期了我都不知道,害得博客无故关了俩天,续费后直至今天早晨才发现又可以访问。

转眼又是一年过去了,内心深处一直不愿意承认自己毕业很长时间的事实,一直还以学生来衡量自己,仿佛毕业的那个时刻就在昨天;但是细心算算,打06年末离开学校,至今已有俩年多矣,到北京也有两年了,俩年里自己慢慢的适应了北京的堵车、鬼天气、吃盒饭……有时我自己还在想,为什么自己大学时代一直期盼的工作上班在自己未曾设防间就成现实?一切都很快,猝不及防;

去年春节回家的一切还历历在目,给家人带的北京糕点、特产,排队买的火车票,以及那辆冻死人不偿命的临客列车,今年不知道是自己懒了,还是工作的繁琐让自己不再顾及火车票的事情了,托了朋友加了100块买了张动车;在cnbeta上看到新闻说铁道部出来辟谣说“票贩子的车票主要来自反复排队懂窗口购票所得”,我真觉得这是天大的笑话,为什么呢,请听我罗列以下数据:

  • 今年应该是春运的高峰了,总运量达到23.2亿人,也就是2,320,000,000人;
  • 假设:100人中有一个是票贩子,那么有23,200,000即2300万
  • 假设:如铁道部所言,这2300万票贩子反复在窗口买票

我的疑惑点:

  • 相对于广大民众,人数相差100倍的票贩子却拿到了大部分车票,难道23.2亿群众都是傻子,连排队买票都不会?
  • 如果真的有2300万票贩子,那么为什么我们找票贩子还那么难?想想啊,100人里就有一个了
  • 如果真的有2300万票贩子,那天朝公布的已经抓到2000余人票贩子又算的了什么?

所以票贩子比我这里预想的少的多,但他们的手中的票却一点也不少。我们还能相信他们是雇人或者自己在窗口排队购买的车票么?再想:他们雇人顶多一张票加个几十块钱,说白了就是几十块钱,而广大民众自己排队买票的心情可是要急切很多,因为首先他们需要车票回家,这玩意金钱替代不了;其次他们如果买不到,到票贩子那里购买,那么一张票就可能加好几百;综上两点,他们有什么理由输给排队买票的片贩子或者票贩子所雇之人?

所以铁道部的辟谣简直就当民众是白痴嘛,大家都去排过队买过票。

昨天看新闻说酷讯、赶集、同城等主要火车票转让网站又被强制关闭,看完这个消息我真的是太失望了,还是那么道理,存在即合理,火车站要买的着票谁还花高价上网买去啊?网上火车票转让几乎是我们买高价票的主要来源了,而且我们真的也乐意,花那几个钱也乐意,毕竟生在这个年代了,能有什么辙?

当然大家肯定有怨言,因为自己多花钱了,多花钱还不让发几句牢骚嘛?就如去五星级大酒店点瓶矿泉水,你还不容我喝水的时候嘟嘟几句嘛?天朝可能觉得这就是不河蟹的地方了,我很欣慰天朝发现的那么迅捷,但是接下来我就要骂娘了;发现问题不假,但是解决问题不是这个办法呀,河渠堵塞不是靠几道大坝就能抱住安全的,正确的做法是疏通啊;

真的不知道这黄牛倒票和什么部门存在什么样的经济或者其他利益,抓黄牛、封网站,就tmd不肯找找源头的问题,还好意思腆着脸出来辟谣,无耻啊无耻……

在过俩天就回家了,北京的一年又结束咯,希望大家牛年大吉,来年不用为买票那么辛苦啊……

试问:黄牛党的票从何来?

一 15th, 2009  , ,
4

Comments

    刚在腾讯新闻上看到上海旅客买票历程:十多人三路通宵买到三张票,文中提及“上海站8天内车次2成有票”和“黄牛票价翻着跟斗往上涨”形成鲜明对比,我不知道别人看到此处什么感受,反正我的感受是这是铁路部门的失职,如果再深入追究,大家应该知道是谁的失职,此处不做深入探讨。

    我的感想是,黄牛党手中那么多的票不会凭空变出来,他也不是假票,而是正正经经的可以乘坐天朝列车可以回家过年的票,票来来源于铁路部门,有人可能会说好多票贩子是从代售点拿的票,那么我要再反问:代售点的设立是谁审查考核的?代售点的售票受谁监督的?

    曾经在网上看过一些抄底的文章,大概就是揭露票贩子的操作流程,其实票无非来源于俩大方面:

  1. 代售点
  2. 火车站

    有人说票贩子是不是有什么法宝啊,能搞到那么多票?其实很简单,“无利不起早”,这句俗语能说明一切,他们的法宝就是“利益”,说的露骨点就是“钞票”,或许有很多人此时又在驳斥我的观点,说光有钱是不行的,还得有“relationship”,那就让我在此给你论证一下吧!

    提起代售点,很多人会说我到代售点加200让人帮留票人家都不干,所以他们可能觉得代售点太“刚正不阿”了,其实人家不卖你原因太明显了,稍加总结就知道,比起票贩子你有太多的不利因素了:

  1. 量少;票贩子可能每张票就加30块,但是他们一次要个成百上千张,这样纵使每张的利少,但是总体的利就大了;
  2. 不稳定;适逢节假日,票贩子就会有需求,这些代售点在节假日就会有“利益”,很长期,很稳定,而对于个人要组织起30个人一起稳定的购票就已经很难了,再保证他稳定的节假日都有如此大的需求,谈何容易?有人可能要钻牛角尖跟我说“那我可以买很多然后自己网上再转让啊,反正好的票很容易卖掉!”,呵呵,那么试问,您现在的身份和票贩子何异?
  3. 不可信;票贩子肯定不会那么容易出卖自己的票源,纵使被抓也不会那么轻易说出,因为他们的东山再起还得靠人家,而个人就不同了,他们可能会将此秘诀广为传颂,如此一来,代售点肯定要被查处,因为代售点的规定不可以这么做!

    其实这样的销售链在别的地方也很常见的,比如你去批发市场,人家明明白白告诉你这衣服批发就是80,但你要单买加20人家都不定卖给你。倒不是他们不想赚这现成的20块钱,而是如果他们卖给你了,那么其他的批发商会有意见,觉得这批发点不正规贪小财,势必造成负面影响,这样的效果越大的批发点越明显,我曾经跟随父亲去过临沂的鞋帽批发市场,看中一双75的鞋,店主说120,少了免谈,这120和外面的卖价就持平了,所以最后我当然没买;当然如果你批发了他们家的货物,那么情况就有所扭转了,这也就是黄牛党想去代售点给朋友搞几张额外的票是太容易的事情了,呵呵!

    前面我提到的黄牛的票绝大部分来自代售点,当然也有来自火车站的,这个可能多少有点“relationship”,有几个黄牛是用排队的方式拿票的?而且天朝出台的政策规定“没人限买几张”更成他们的障碍了,所以这里的“relationship”是很有作用的;

    好多人可能还说倒票犯法,有警察叔叔呢!其实大家都不是小孩了,倒票的被警察抓住后下场是什么?别说判刑坐牢,估计连拘留都寥寥无几,最多的还是罚款,罚个万儿八千的,罚完黄牛,黄牛哪能就此罢休,他们肯定是在每张票上分别多加点钱,以弥补这被罚款的钱,最后呢,广大的赶着回家过年的百姓们买票的成本又高了一成;

    天朝每年春节会派出大量的警力去打击黄牛,但是效果如何呢?我想这个每个人都心如明镜;这样为了一张票争的头破血流的情况也许在西方一些国家听起来会觉得太搞笑了,他们有的甚至不会相信为了张车票会到那种程度;整治的最好办法不是“堵”,而是“疏”,首先黄牛做的这事情有利而无技术门槛,其次广大的劳苦大众给其创造了巨大的市场需求,这样的生财之道在劳动力严重富余的社会怎么可能没有人去做?

    “存在即合理”,忘了这是谁的观点了,一种事物或者现象如果存在了,而且并非短暂的昙花一现,而是长期的野火烧不净的存在了,那么他就是合理的,黄牛倒票事情的存在和发生不是因为黄牛存在而存在,也不会因为黄牛消失而消失,如果人们这种过年回家买张火车票的简单需求得不到满足,而是单单的消灭了黄牛,那么事情会更严重,因为那个时候抗议的可就不是黄牛了;

    有人会问那么是不是现在的列车真的太少呢?少的不足以运送人们回家过年?其实也未必如此,每年来回倒卖最后想回家的基本都回家了,只不过多花点钱,多花的钱没有用到改善火车速度和服务上,而是进了黄牛的腰包;所以大家应该很少看到说有成千上万人因为一票难求滞留某火车站的吧?我觉得还是票分发流程上需要改进;

    就好像北京的路一样,北京的公路覆盖面积相比世界同等城市而言算多的多了,但是堵车的事情在北京已经见怪不怪了,原因不在于路多路少,而是路的位置和枢纽是否合理。难道治理北京的堵车就单单在控制不让汽车上路或者建造越来越多的路呢?不赘言……

    归根结底,铁路的票来自铁路,甭管通过什么方式吧,我觉得如果要治理还得从根源抓;

maxthon中文首页的小问题

一 8th, 2009  , , ,
3

Comments

    细心的朋友可能和我一样早就发现这个问题了,打开http://www.maxthon.cn后页面上方会动态实时的显示maxthon被下载的次数,如下图:

正常的效果

    但是如果你打开的是http://maxthon.cn会发现这个功能失效了,显示在页面上的是

非正常效果

    这个问题貌似已经很久很久了,如果我记忆力足够好的话我发现这个小问题已经有一年时间了,原以为maxthon的开发人员会在不久就修改掉,可惜没有,我查看了这页面和其附属的js代码,大概知道是什么原因造成的了;

    首先,页面上下载次数是一个指定id的span,然后用js去修改这个obj的innerHTML,目前大家好像都是这样做的;页面代码如下:

<span class="downloadNowCounter">已有 <span id="counternumber">.........</span> 次下载</span>

    然后我在其页面附属的js里找到了:

maxWebsite.counterDataURL = "http://www.maxthon.cn/api/counter";

及相关函数,相关函数不再赘述,问题就出在这句代码里;用浏览器打开http://www.maxthon.cn/api/counter得到的是一个数字,与页面正常显示的下载数字格式是一样的,这也就是下载数量的source,js每秒都会触发这个链接从而得到这些数字然后用getElementById的方法将得到的数字写入预先定义好id的span里,但为什么这里会出错呢?

    用FF打开http://maxthon.cn,在错误控制台里可以看到N条警告,即“安全错误:位于http://maxthon.cn/的内容不可以载入来自http://www.maxthon.cn/api/counter的数据。”

    我的理解是:这里的http://www.maxthon.cn/api/counter走的http协议,就如PHP的file_get_contents一样,如果不写http地址,只写出php相对路径,只会读取那个PHP文件,而不会用php去解析此文件;但是这里的js自身的安全不允许载入非本域名以外的内容,所以导致此效果没有实现;

    我想解决办法很简单,在js中加载http://www.maxthon.cn/api/counter的时候判断一下域名,即如果是用http://maxthon.cn访问网站就该加载http://maxthon.cn/api/counter,这样问题自然接就解决了;

    写完这文章我自己也觉得此文貌似没有任何意义,不过我觉得像maxthon这样的公司对自身和产品还是精益求精的比较好,毕竟浏览器和用户的关系很密切,而且maxthon有很大一批忠实用户;

left join造成COUNT会有M*N的问题的解決方式

一 8th, 2009  , , ,
0

Comments

先看例子:
表A
+----+-------+
| id | name |
+----+-------+
| 1 | jason |
| 2 | tom |
| 3 | jack |
| 4 | mathy |
+----+-------+

表log_1
+----+------+
| id | A_id |
+----+------+
| 1 | 1 |
| 2 | 2 |
| 3 | 1 |
| 4 | 1 |
| 5 | 3 |
| 6 | 2 |
+----+------+

表log_2
+----+------+
| id | A_id |
+----+------+
| 1 | 4 |
| 2 | 2 |
| 3 | 3 |
| 4 | 3 |
| 5 | 4 |
| 6 | 1 |
| 7 | 3 |
| 8 | 2 |
+----+------+

想同时查询表A的各条数据在log_1和log_2中的出现次数统计,用以下sql代码查询

SELECT A . * , COUNT( b.id ) AS log_1_num, COUNT( c.id ) AS log_2_num
FROM A
LEFT JOIN log_1 b ON A.id = b.A_id
LEFT JOIN log_2 c ON A.id = c.A_id
GROUP BY A.id

结果如下:

+----+-------+-----------+-----------+
| id | name | log_1_num | log_2_num |
+----+-------+-----------+-----------+
| 1 | jason | 3 | 3 |
| 2 | tom | 4 | 4 |
| 3 | jack | 3 | 3 |
| 4 | mathy | 0 | 2 |
+----+-------+-----------+-----------+

看到此数据第一反映是他肯定有问题,因为log_1_num的总和和log_1表的条数并不相等,仔细看发现是第二次left join的时候将log_2的表里数据与第一次的left join做了笛卡尔乘,所以出现了m*n 的效果,多半都要做 (m*n)/m才能得出正确的数值;

但是看官方的手册里给distinct可以解决次问题,即

SELECT A.*,COUNT(DISTINCT b.id) AS log_1_num,COUNT(DISTINCT c.id) AS log_2_num
FROM A
LEFT JOIN log_1 b ON A.id=b.A_id
LEFT JOIN log_2 c ON A.id=c.A_id
GROUP BY A.id

结果如下,
+----+-------+-----------+-----------+
| id | name | log_1_num | log_2_num |
+----+-------+-----------+-----------+
| 1 | jason | 3 | 1 |
| 2 | tom | 2 | 2 |
| 3 | jack | 1 | 3 |
| 4 | mathy | 0 | 2 |
+----+-------+-----------+-----------+

当然,distinct的查询效率貌似不怎么样,但是这是我想到的比较好的办法了;

当然还有另一种办法,那就是用A表分别和log_1和log_2左关联,然后利用将结果合并,貌似那样也不咋滴吧!

元旦假期闲谈

一 4th, 2009  , ,
2

Comments

    已经很久没有体验这样清闲的假期了,一切都是那么的安逸。搁在以前,四天的假期可以给自己安排一个小小的计划,可能是旅游,也可能是学习,而现在却什么也没有做,自己懒了,也可能是好多生活方式被改变了,像如今这样深夜还坐在电脑前写日志的日志真的太少了,自己发的牢骚也越来越少了,时间几乎都被挥霍在不知所谓的无聊活动里了。

    今天看见耗子在博客里说他已经顺利毕业了,之前也告诉过我会在本月回国,他的打算初期好像会待在北京,如果真是那样的话在北京又多了一个玩伴了,在我印象中耗子可是活脱脱一个会玩的人呀!

以上内容为2009.1.3凌晨所写
————————————–分割线————————————————

    今天已经到了假期的最后一天了,今天还是外甥打灯笼——照旧(找舅),11点左右被二美叫醒过一次,好像是叫我起来吃饭,可不知道怎的又迷迷糊糊睡着了,下午一点多终于睡不着了,躺在床上圆睁双眼想看着天花板想了半天,终于想到我是不是该起床了。囧rz……

    起来终于看见那一大锅面条了,都糊糊了,还是吃了一大碗下去,总比啃面包强吧;然后又开始收拾这个没完没了的屋子,我就纳闷了,我明明记得我是2号下午收拾的屋子,为什么今天才4号又乱成这样了……百思不得其解只好作罢,打开电脑看speak2me那组qq联系人,居然一个也不再,大家真齐心啊,放假时候绝对不露面,哈哈。

    上了校内,看眼大家的动态,大多都是年会呀,旅游啊什么的内容和照片;看这个就烦,想想一年就这么过去了,去年此时应该还在忍受那没完没了的煎熬,转眼就一年过去了,好像没有发生什么重大的变故啊,看来是自己有点停滞不前了,我觉得自己要加强自我批评,自己鞭策自己以促使自己进步啊!