旧物

前些日子,我在家里三楼杂货仓里收拾东西,翻到了我以前写过的日记,还有高中时候看过的杂志。那些时间早已灰飞烟灭,而他们也成为了我自己的文物:

那些年,我写过的日记,从小学到初中,再到高中的,还有大一和大二的

(更多…)

wordpress进行markdown写作和代码高亮

一、markdown模式

 

现在,markdown变得越来越流行,让人们可以专心文字的写作,在wordpress中也可以使用markdown。
Jetpack插件,作为集成众多功能的插件,自然也集成了markdown功能。在插件搜索里面,可以直接搜索安装。jetpack的使用需要注册一个帐号将博客与jetpack绑定起来,然后激活。你就会发现在网站后台的工具栏多了jetpack一栏,点击jetpack设置,在里面找到markdown启用即可: (更多…)

『转载』程序员必读书单

作者:Lucida

原文链接:http://lucida.me/blog/developer-reading-list/

关于

本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必读书籍,以及延伸阅读。旨在成为最好最全面的程序员必读书单。

前言

Reading makes a full man; conference a ready man; and writing an exact man.

Francis Bacon

优秀的程序员应该具备两方面能力:

  • 良好的程序设计能力:
    • 掌握常用的数据结构和算法(例如链表,栈,堆,队列,排序和散列);
    • 理解计算机科学的核心概念(例如计算机系统结构、操作系统、编译原理和计算机网络);
    • 熟悉至少两门以上编程语言(例如C++,Java,C#,和Python);
  • 专业的软件开发素养:
    • 具备良好的编程实践,能够编写可测试(Testable),可扩展(Extensible),可维护(Maintainable)的代码;
    • 把握客户需求,按时交付客户所需要的软件产品;
    • 理解现代软件开发过程中的核心概念(例如面向对象程序设计,测试驱动开发,持续集成,和持续交付等等)。

(更多…)

自然语言处理常用工具及选择汇总

一、自然语言处理常用工具(原文链接

Dependency Parser(依存语法分析器)

CaboCha: A tool for Japanese dependency structure analysis based on cascaded chunking.

KNP: A Japanese dependency parser that also includes some form of predicate-argument analysis.

MaltParser: A parser based on the shift-reduce method.

MSTParser: A tool for dependency parsing based on maximum spanning trees.

Finite State Models(有限状态模型)

Kyfd: A decoder for text-processing systems build using weighted finite state transducers.

OpenFST: A library implementing many operations over weighted finite state transducers (WFSTs) to allow for easy building of finite-state models.

General NLP Libraries(通用nlp工具)

(更多…)

关于python中lambda函数的一些体会

晚上的时候,看了一篇博文《Yet Another Lambda Tutorial》,用另一种方式讲了讲python中的lambda函数。我觉得写的挺好,因为是英文的,所以我在这里把作者的大致意思写下来,也供自己日后查阅。

Lambda: a tool for building functions(构建函数的工具)

python中定义函数的两种方法,一种是def,一种是lambda。前者是常规的定义函数的方法,要对函数进行命名,后者不对函数进行命名,因此又叫做匿名函数

What is lambda good for?(lambda的优点)

为什么需要lambda:

  • We don’t need lambda, we could get along all right without it. But…
  •  there are certain situations where it is convenient — it makes writing code a bit easier, and the written code a bit cleaner.

这这种特殊情形就是,one-off function(一次性函数),只使用一次的函数。函数的使用,通常是处于两个目的:(a) to reduce code duplication(降低代码重复率), (b) to modularize code(模块化代码)。但是,这样就有了疑惑: (更多…)

『转载』重装XP/Win7后如何恢复wubi安装的Ubuntu

本文转自:网易博客(非原创,也是转载)

我原来的电脑系统是win7 64位和ubuntu的双系统,因为64位的windows对一些软件支持的不是特别好,要重装系统位32位,又想保留ubuntu系统。在网上搜到了这样的解决办法,试了,确实可以:

1.把安装ubuntu->winboot文件夹下wubidr和wubidr.mbr两个文件拷到C盘根目录下

2.在“运行”中输入cmd到命令提示【注意命令提示符使用管理员身份打开】

在命令界面bcdedit /create /d “linux” /application bootsector

得到像c:\windows\system32>bcdedit /create /d “Ubuntu” /application bootsector

//多启动菜单上显示的名字项 {dbff544b-a7c4-11dd-a51d-00155803ebb4} 成功创建。

3.把{}中的id复制下来,如:dbff544b-a7c4-11dd-a51d-00155803ebb4

4.再输入下列命令 (注意:自己替换下面{}中的id为第2步得到的id)

bcdedit /set {id} device partition=c:

bcdedit /set {id} path \wubildr.mbr

bcdedit /set {id} description “Ubuntu”

bcdedit /displayorder {id} /addlast

测试过可以 ubuntu是在xp下wubi装的,把xp换成win7也可以使用

 

解决ubuntu中gedit打开文本异常及乱码问题

今天用ubuntu的gedit打开语料出现了Invalid byte sequence in conversion input这个错误提示,经过百度,最终解决了,方法如下(也同样适用于乱码问题):

1.在local中添加中文编码

文件路径如下:var/lib/locales/supported.d/local

在终端中用该命令行:sudo gedit var/lib/locales/supported.d/local打开

在其后追加:

zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030

接着输入命令行sudo dpkg-reconfigure locales 使刚才的配置生效

2.暗自

安装dconf-editor,命令行为:sudo apt-get install dconf-editor,

3.修改dedit编码设置

输入dconf-editor进入其中,依次点击org/gnome/gedit/preferences/encodings,看到如下图界面:

2014-11-20 22:53:24 的屏幕截图

将’GB18030′分别添加在如图位置中。注意:auto-detected必须位于“CURRENT”前面。

现在就可以愉快的使用gedit了。

由strip()函数所想到的

晚上的时候,在写一个python小脚本,从语料中提取出转折复句。结果在提取的转折复句里面,出现了大量不是转折复句的,而且还有许多转折复句并没有被提取出来。这个程序很简单,就是一个for循环里用个if语句。我花了一个小时半去找原因,最后还是问了别人才找到了原因。

以前看别人写代码,总是会在进行语料分析之前,经常使用strip()函数。我知道这是一个去除段首段尾空白字符的,包括回车、空格、制表符等。但是,从没留意过为什么要这样做,觉得是可有可无的习惯性操作。现在才算明白了。如果文本中含有大量的空白字符或者换行符,会产生莫名其妙的问题。

strip()函数,可以去除字符串首尾的空白,但不能去除中间的。对于语料来说,有必要用readlines()读取语料后逐行去除。这应该算是一个很好的习惯,可以保持语料的整齐和干净。

我想,我还是写的代码太少。