Avatar_small

用 C 扩展写 Lua closure

这个是《programming in lua》中的有的一个例子,通过 closure(闭包)来实现一个 tuple(元组)。 元组是一种具有匿名字段的常量记录。可以用一个数字索引来检索某个字段,或者一次性检索所有字段。 这里的实现将元组表示为函数,元组的值存放在函数绑定的 upvalue 中。大概的 Lua 代码示意如下: local tuple = ...

Avatar_small

可以监视目录变化的小程序

这是我在写 Cikada 时遇到的一个小问题,发现利用 GIO 库的 GFileMonitor 类与 GLib 提供的 GMainLoop 主循环可以很方便的解决它。

Avatar_small

STM32 学习笔记 中断优先级理解

Cortex-M3的中断嵌套可真让我理解得云里雾里的。一般的中断优先级就算了,还搞个什么的亚优先级。查找资料中查找到这个亚优先级还有好多别名'副优先级'、'响应优先级'…… 不过从'响应优先级' 和'抢占优先级' 这两个就可以看出这两种优先级的区别。 抢占优先级就是...

Avatar_small

登陆 Awesome WM

因为gnome-shell 老是出现奇怪的登录时freeze现象, 而ubuntu的unity的firefox拖拽链接和图片也存在freeze现象。(https://bugs.launchpad.net/unity/+bug/773382) 果断Arch卸载gnome-shell,转用awesome。 登陆成功,感觉良好。 我的awesome设置。 ...

Avatar_small

生成毕业论文清单的python脚本

快乐的大学生活就要结束了,到了毕业季,大家在兴奋中有充满了伤感,不知道何时才能再度重逢,再像这样一起生活四年是不可能了。我们应该珍惜自己身边的朋友,也许有各种毛病,但是,是人就有毛病,没有的话,那就成神了。 闲话不说了,今天早上整理同学的论文,可能是自己没做好通知,大多数同学的文件名都有问题,非常蛋疼的一个一个的帮同学修改文件名。然后去教务处交上了,但是忘了做论文的清单了,难道...

Avatar_small

jinjia2 中文文档

补充: 1. 在模板中设置自定义变量: {%set variable_name = value%} 比如设置{%set username='Jack'%} 那么在设置之后就可以使用{{ username }}得到输出Jack section 1 API 1 jinja2的Hello wo...

Avatar_small

求字符串所有重复两次以上字符

static void Main(string[] args) { string mete = "aaaassdsfdgfezdxcrgrefsdfdsgdfdfdfsagdfbhdfbtfffgrrssdsdasfcccdghhh"; int s=0; f...

Avatar_small

插入LaTeX图片水印

自从毕业论文用\(\LaTeX{}\)写之后,就喜欢用LaTeX写各种文档,其中也包括公司的文档。昨天写公司文档的时候,突然想,要是能在文档里插入公司图标的水印,那不是很好嘛。说做就做,便停下文档编辑工作,开始搜索,Google之后,找到一个eso-pic宏包,效果很不错。既然找到了,那就试试,便很高兴的用到文档中,编译完之后,得到的效果确实不错,但无奈的是,第一页水印图片的透明度根...

Avatar_small

局部搜索,模拟退火,遗传算法,禁忌搜索,门特卡罗算法的形象比喻

局部搜索,模拟退火,遗传算法,禁忌搜索,门特卡罗算法的形象比喻 为了找出地球上最高的山,一群有志气的兔子们开始想办法。 1、兔子朝着比现在高的地方跳去。他们找到了不远处的最高山峰。但是这座山不一定是珠穆朗玛峰。这就是局部搜索,它不能保证局部最优值就是全局最优值。 2、兔子喝醉了。他随机地跳了很长时间。这期间,它可能走向高处,也可能踏入平地。但是,他渐渐清醒了并朝最高...

Avatar_small

Ruby 中的 Array Shuffle 算法

其实就是数组的洗牌算法,洗牌算法主要是生成一组互不相同的伪随机数列,可用于随机排序等等。 如果单纯依赖 C 库的 rand 去生成随机数来做的话,容易发生碰撞,尤其在需要生成的数列个数比较大的情况下。 Ruby 的 Array 有一个 shuffle 的方法,用于生成随机排序的元素新数组: (1..12).to_a.shuffle => [12, ...

Avatar_small

Open Game Maker 2D 1.0.2 is released

Open Game Maker 2D 1.0.2 is released. It is a bug-fix version of 1.0.1, so it is very recommended to update ^^ Project: http://ogm2d.sourceforge.net Download: http://sourceforge.net/proj...

Avatar_small

屏幕 IO 是很慢的

今天测试写的一个 lua 脚本,用于文件解析和输出报表,然后发现输出很慢,差不多要 400s 左右的时间,输出的行数越 10万行,总数据量 1.2MB。 然后发觉自己在运行命令里关掉了 stdout 的 buffer,但是开启后并没有多大的速度提升,然而,如果把输出重定向(cmd /c xxx > output.txt)后,速度有了质变,只需要 0.31s,其中 IO 只...

Avatar_small

PageRank简介

今天去听了一个讲座,讲的是基于机器学习方法的rank算法,讲到了PageRank(google.com)和HITS(ask.com)算法,本来就像看看PageRank是怎么回事,刚好借此机会学习一下。 概念 PageRank是以google创始人Larry Page命名的一种链接分析算法,它根据网页的相关性和重要性来给网页赋予一个权重值。一个网页p的...

Avatar_small

ubuntu下安装与使用vim-latex suite

1、下载插件 从http://sourceforge.net/projects/vim-latex/files/下载vim-latex插件。 2、安装插件 解压下载的压缩包到~/.vim目录。 设置vimrc。详细参见:http://vim-latex.sourceforge.net/documentation/latex-suit...

Avatar_small

练手脚本 复制文件到同名目录中

不断地思考,不断地想偷懒。 运行环境: cygwin 从目录4.25复制到目录e,如果文件存在/目录不存在,则不复制,并记录 . |-- 4.25 | |-- 1 | | |-- 1.jpg | | |-- 2.jpg | | |-- 3.jpg | | |-- 4.jpg | | `-- 5.jpg | |-- 2...