代码改变世界

开源中文输入法

2012-12-27 21:39 by lvkun, 23190 阅读, 6 推荐, 收藏, 编辑
摘要:github上的本文地址开源中文输入法在Windows上面中文拼音输入法数不胜数。简单数了一下自己用过,就有六种以上:智能ABC微软拼音紫光拼音搜狗输入法谷歌输入法QQ输入法......可参考wikipedia 中文输入法列表,以及小众软件 我最喜欢的《拼音输入法》。在手机端各种拼音输入法种类更多。而在Unix和Linux平台上也存在不少中文输入法,它们不仅免费,而且开源。如果想要了解输入法的实现,不妨从它们入手。输入法大致可分为三部分:输入法框架输入法引擎输入法界面关于输入法结构的介绍,可以参见这篇文章Packaging Input Method Framework and Engines。 阅读全文

使用 Coffee Script 重写博客前台

2012-07-17 21:13 by lvkun, 576 阅读, 0 推荐, 收藏, 编辑
摘要:今年三月份的时候,我将博客迁移到 github 。当时花的时间不多, 对 javascript 使用也不是很熟练。尤其是 javascript 如何定义类, 了解的几种方式,总让我有些不太习惯。所以写的比较混乱, 基本上将所有代码都写到了一个对象里。从五月份开始,项目上比较忙,博客就没有更新。前两天刚刚忙完, 看着混乱的js代码,决定下手收拾一下。选择 Coffee ScriptCoffee Script 我也是第一次接触。不过 Coffee Script 的语法还是比较简单, 花个半个小时熟悉一下就可以了。个人认为 Coffee Script 的优点主要有:代码简洁,可读性强生成的javas 阅读全文

Cython 使用笔记

2012-05-08 22:12 by lvkun, 4146 阅读, 0 推荐, 收藏, 编辑
摘要:Cython 使用笔记前言最近 bug 改的差不多了,新项目也没有开始。闲不住,自己又开始折腾,准备使用 Cython 对当前使用的 C 库进行封装。目的有以下三个:对该 C 库的接口及代码进行初步了解;简化以后对该 C 库的单元测试开发;对python和c之间的交互有一个初步了解;Cython 简介Cython 是一门基于 Python 的编程语言, 通过额外的语法允许可选择的静态类型声明。 它的目标是成为 Python 的超集, 而Python 赋予它高级,面向对象,函数式以及动态编程等特性。 使用 Cython 编写的源代码会被转换成优化过的 C/C++ 代码, 并且被编译成 Pytho 阅读全文

翻译: Waf 教程

2012-03-30 21:52 by lvkun, 6812 阅读, 2 推荐, 收藏, 编辑
摘要:前言本人刚刚接触 Waf ,加之翻译水平一般,有什么错误大家见谅。精确版本请看 原文地址Waf 是一份用来帮助编译软件工程的软件。本教程的目标是提供如何为一个使用 Waf 的工程设置脚本的简要说明。Waf 脚本与命令软件通常有保存在版本管理系统(git, subversion 等等)的 源文件(source files),以及描述如何处理这些文件的 编译脚本(build scripts) (Makefiles,...)。一些 生成文件(build files) 通常由 源文件(source files) 转换而得,但它们是可选的。在 Waf 中编译脚本是那些命名为 'wscript&# 阅读全文

Sumlime text 2 插件: Eval Sel

2012-03-28 14:15 by lvkun, 2887 阅读, 1 推荐, 收藏, 编辑
摘要:前言Sublime text 2 确实是很不错的编辑器,用了挺长一段时间。我认为是我等用不惯 Vim/Emacs 的凡人的最佳选择。最近经常向周围同事推荐。正在学习 Scheme ,用不惯 DrRacket ,而且不太习惯用命令行形式的 REPL 。 于是准备自己开发一个简单的插件,目的是运行当前选中的语句,并显示其输出。此插件的代码保存在 github 上, 有兴趣的同学可以看一看 Eval Sel。 插件本身还有不少问题,今后会逐渐改进。开发步骤Sublime text 2 的插件开发使用的是 Python 。具体接口可以参考 API Reference。而 How to Create a 阅读全文

一道试题:找到拥有相同标签的用户对

2012-03-06 21:42 by lvkun, 1848 阅读, 1 推荐, 收藏, 编辑
摘要:问题给定sina微博的全部用户(1亿以上)和标签(uniq的标签30万左右)的关系, 系统找出共有2个或以上标签的用户对,并给出这些标签是哪些。input:userid,taglist output:userid,userid,con-taglist (sizeof(con_taglist)>=2) 数据示例输入AA,体育 新闻 清华 百年校庆 BB,娱乐 八卦 清华 新闻 CC,体育 娱乐 新闻 DD,八卦 新闻 娱乐 输出AA,BB 清华 新闻 AA,CC 体育 新闻 BB,CC 娱乐 新闻 BB,DD 娱乐 八卦 新闻 CC,DD 娱乐 新闻 生成测试数据编写 datagen.py 阅读全文

Python 对象内存占用

2012-03-01 22:51 by lvkun, 24528 阅读, 1 推荐, 收藏, 编辑
摘要:Python 对象内存占用(github地址)之前写的脚本中,需要估计程序的内存占用,所以简单研究下Python各种对象在内存中占用大小。本人对 Python 一直处在使用的阶段,没有进行深入研究。所以有什么错误还请指出,欢迎交流。一切皆是对象在 Python 一切皆是对象,包括所有类型的常量与变量,整型,布尔型,甚至函数。 参见stackoverflow上的一个问题 Is everything an object in python like ruby代码中即可以验证: # everythin in python is object def fuction(): return print i 阅读全文

在Github上写博客

2012-02-08 20:02 by lvkun, 12320 阅读, 3 推荐, 收藏, 编辑
摘要:起因工作后,我一直在博客园写博客,不过这几年一共只写了几篇。分析其中的原因:不够专注工作和生活上的事情有很多,很难一次性写完一篇长的博客; 常常会没有思路,或者突如其来的一些事情打断了写作。更喜欢用本地工具使用本地编辑器习惯了,在网页里面写总会感到别扭。喜欢纯文本格式喜欢reStructuredText,以及Markdown;不愿意在调整格式上,花太多时间。其实更喜欢写代码作为程序员,写代码的时候很快乐,而写文档的时候很痛苦。转向Github虽然很早就听说了Git,但是2011年才开始学习和使用Git, 主要还是因为公司要将版本管理工具从Synergy转向Git。 在学习过程中接触到了Gith 阅读全文

初次尝试Chrome扩展开发——以幻灯片方式显示网页内的图片

2011-09-17 20:06 by lvkun, 5013 阅读, 7 推荐, 收藏, 编辑
摘要:使用Chrome浏览器很长时间了。每次在论坛里看图片的时候,总会觉得广告和文字太多,心里想如果能够全屏看图片就好了。于是准备开发一个Chrome扩展,命名为imageGallery:能以全屏幻灯片的方式浏览图片能将尺寸比较小的图片过滤掉支持快捷键本人在工作中做的是桌面和嵌入式开发,只用过C/C++/C#,对javascript/jQuery没有怎么接触过。代码中如果存在什么问题,请大家原谅。准备工作首先是需要找一个jQuery的幻灯片插件。在比较几个插件之后,最后选择了GALLERIA。主要是它提供的全屏模式,比较符合我心中的要求。同时学习下Chrome的扩展开发文档,熟悉开发流程。正式开始1 阅读全文

2011年计划(好长时间没有更新博客了)

2011-01-10 13:49 by lvkun, 314 阅读, 0 推荐, 收藏, 编辑
摘要:今年夏天换了工作,从C++\.net平台换到了C平台,从行业软件开发换到了手机软件,改变还是很大。一进来的时候,需要学习的较多,生活上的杂事也比较多,所以一直都没有更新博客。(其实这些都是借口,还是自己太懒。。。)新的一年了,要有新的计划。2011年,准备利用业余时间深入学习下Javascript和JQuery。理由如下:虽然工作上开发语言为C,但是我一直认为技术水平与语言无关,主要还是看编程思想。Javascript很有表现力,并且能够嵌入到博客中,方便与同行们交流。个人认为UI开发会越来越倾向于HTML+Js之类的组合,很有发展前途。我会结合一个小项目(自己构想)来学习,主要目的还是掌握技 阅读全文