Browsed by
Author: YI

luaL_loadfile的坑

luaL_loadfile的坑

在众多demo中,都是使用这个函数加载lua文件,然后由C程序调用lua提供的function或者value。但是调用该函数后,如果直接使用lua_getglobal去获取对应的lua函数,只会获取到空值。

luaL_loadfile实际调用了lua_load函数来加载lua文件。需要注意的是:lua_load仅加载lua代码块,但是并不运行。如果成功,会加载一个编译好的代码块作为一个匿名函数放置在栈顶。只有首先执行这个代码块,lua的vm才能最终知道各函数、变量等信息。

调用luaL_loadfile之后,应当接着调用lua_pcall执行匿名代码块,后续C代码才能有效调用Lua的函数。这样显然是比较繁琐的,lua中又提供了luaL_dofile宏来封装这两步过程:(1)加载;(2)执行。

因此,一般情况下,应该使用luaL_dofile来替代luaL_loadfile。

鸡肋的面向对象

鸡肋的面向对象

最近在研究Lua语言,主要参考Lua语言文档。简单地做了一些练习,感觉有点新鲜,也有点不适。

其中关于“面向对象”的章节实在太诡异,太拧巴了。单是那莫名其妙的冒号“:“就让人抓狂,更不用说对table的各种元操作。太夸张了,这是认真的么?作为有C++、python等语言背景的开发人员,我不得不说:这简直是为了面向对象而面向对象,无论是定义方式还是实现方式都太烂了!table固然让人击节赞叹,扭曲她去实现所谓的面向对象,有种美女变野兽的残暴感。

如果使用Lua语言,根本没有必要在意面向对象。Lua语法如此魔性,使用者应该抛弃面向对象的思维方式,而直接走函数式编程路子,堪称完美!

英国脱欧?!

英国脱欧?!

这可能是本年度最大的黑天鹅事件。从现在各方还原事情的方方面面来看,基本算是政客们玩脱了、玩过火了。这群精英阶层为了自己的私利、为了派系斗争和政党利益,居然把一个国家的前途当儿戏,把自己玩残了,也把国家玩残了。

非常震惊英国人会公投出这么个结果,一个统一的欧洲显然有利于当地各国人民的交流和发展,英国人是怎么想的?就被一些移民和恐怖袭击问题给吓倒了么?

考虑到原欧盟地区在我们整个销售中占有相当大的比重,“脱欧”这个事的影响可能很严重,我们要持续地观察。另外,在产品开发策略上可能要加大对德语地区的支持力度。

总之,这实在是很糟糕的事情,平衡被打破了,各方面都被迫要作出调整。

Linode免费升级

Linode免费升级

Linode最近13周年庆,直接将内存免费翻一倍,价格保持不变,太劲爆了!

Old Plan New Plan Price
Linode 1 GB -> Linode 2 GB $10/mo ($0.015/hr)
Linode 2 GB -> Linode 4 GB $20/mo ($0.03/hr)
Linode 4 GB -> Linode 8 GB $40/mo ($0.06/hr)

有几点需要注意:

(1)如果节点是Xen架构,则需要先转换成KVM才可以进行内存升级。如果已经是KVM架构,则可以直接升级。我升级了几个节点,爽爽的!

(2)国人非常喜爱的东京数据中心,节点都是Xen架构,而且据说已经没有空闲节点,暂不支持转换成KVM,因此要等待一段时间才行。

过往都是DigitalOcean频繁推出升级或者优惠,然后Linode被迫跟随。这次感觉Linode突袭了一次。

DigitalOcean,你看到了吗?你现在还好吗?加油啊!

Lua的真

Lua的真

居然将0和空字符串也视为“真”!学了这么多种语言,第一次遇到将0判真的情况。

而且数组下标默认从1开始!好吧,印象中Fortran似乎也是这么处理。

大家的精力真是无限,毫无意义地浪费在这些繁琐的细节上。

温良恭俭让

温良恭俭让

从小学读书起,就一直被教导:“台湾是祖国美丽的宝岛,岛上的人民温良恭俭让……”。

可是现在的台湾竟然成了诈骗岛,几十万诈骗犯不以为耻、反以为荣地诈骗大陆同胞。昔日最美的风景是人,现在最美的风景是“诈骗”!

更让人震惊的是CCTV-4最近的报道:大量台湾人居然称呼大陆人为“支那贱畜”!视频链接如下(具体报道大约从25分钟开始):

http://tv.cctv.com/live/cctv4/index.shtml?stime=1465704000&etime=1465707600&type=lbacks

我以为CCTV的报道是偏颇的、是少数人的行为,于是特意翻墙去看了香港、台湾本地的论坛,结果更加震惊!里面一边倒的各种辱骂、诅咒、讥讽,仿佛与大陆人有不共戴天之仇。

真不知道大陆这些年究竟做了什么,一直在让利、一直在送礼,结果呢?香港人骂大陆人是“蝗虫”、台湾人骂大陆人是“贱畜”!

茶叶蛋之后

茶叶蛋之后

在网络上看到一段台湾网友和大陆网友的神对话:

台湾网友:这些天好热耶,你们那停电没冷气,一定超难受吧?
大陆网友:是啊。现在都点着蜡烛上网呢!
台湾网友:那能看见吗?
大陆网友:没事,我们都能盲打!真羡慕你们的高科技,用爱发电!

我觉得这大陆网友实在太狠了,同时也很惊讶这位台湾网友的认知。别说深圳,十几年前在老家(江西,四线城市)时,就已经很少有停电这事了。

渐行渐远的南山书城

渐行渐远的南山书城

儿子非常喜欢南山书城,逢年过节或者放假的时候,都会去一趟书城并买点书回家。在书城里,儿子特别喜欢和小朋友一起坐在地上看书,并相互讨论。因为这样,我也渐渐喜欢上书城看书,在儿子看书的时候,我也能逛逛,挑选自己喜欢的书。

虽然在网上能买到更便宜的书,但是我们仍然保留了逛书城的习惯,并乐意从中购买自己喜欢的书。

而今年六一的经历实在不愉快,严重影响了心情。貌似南山书城今年重新装修了4楼的少儿部分。书柜更多了,书也更多了,相应给孩子们阅读的空间反而少了。更糟糕的是,时不时有些工作人员过来把孩子们赶起来,不让坐在地上看书。貌似要赶到3楼一个小区域去看书。

不知道这是谁出的鬼主意,实在太糟糕了。3楼那个小区域根本容不下多少孩子坐下来看书,而且那个区域还有商业活动!实际上,南山书城现在看书的位置越来越少,而卖东西的商铺越来越多。

如果不能席地而坐读书,就只能站着看了。我强烈不满,于是向工作人员反应,要求像以前一样可以坐地板上看书,要不然干吗来书城?直接在网上买不就得了?谁知道工作人员轻描淡写地说:那就去网上买好了。

我不知道南山书城是怎样一个机构,也不清楚其商业运营是否成功,但是商铺越来越多,阅读空间越来越少,这不是一个书城该有的态度。装修再豪华也没有意义,已经背离了书城的本质。

是的,我们当然可以选择上网买书。

工匠精神

工匠精神

“工匠精神”似乎是最近非常热的单词,突然之间到处都在呼唤工匠,言必称工匠。我理解“工匠精神”是要耐得住寂寞、对品质精益求精,这毫无疑问让人非常向往。

只是目前就全社会提倡“工匠精神”,合适吗?我们现在还远远达不到追求“工匠精神”的地步,我们现在更应该提倡把事情做好,把事情做对。比如下面这张图:

斑马线上的井盖
斑马线上的井盖

把井盖放好,需要技巧吗?不需要。需要精益求精吗?也不需要。只需要把事情做对即可,这么简单的要求做到了吗?连续三次都没做到!每次经过这个斑马线,我都忍不住猜想:当时的工人究竟在想什么?

只有把事情做好、做对了,我们才能进一步精益求精,而现状还差得很远。现在提倡“工匠精神”实在是荒诞、好高骛远,也就让人怀疑最终的成效,这可能也只停留在一个口号而已。

还是老老实实先学会走,再考虑怎么跑吧。

微信读书

微信读书

这是腾讯新推出的一个手机端读书软件(在iPad上也可以用),非常好用。

我比较喜欢的是读书时长可以换书币,然后又可以用书币去购买书。虽然每周的兑换额度有限制,不过对一般的书迷来说,其实都足够了。比如我,到目前为止,已经“免费”购买并看完了:吕思勉《中国通史》、霍金《时间简史》、刘慈欣《三体(全集)》。还乘机囤了几本好书,例如王小波系列等。

“微信读书”还有几个比较有意思的特点,例如写书评,例如好友排名。说到好友排名,我大部分时间都是好友中的读书冠军,有若干次被其他好友超越,倒真是被刺激了一下,暗暗较劲。

当然,最重要的特点还是真能从中淘到不少好书,是广大书迷的福音。