
杂谈
文章平均质量分 59
ccat
Python Tutorial 2.3,2.4,2.5, 2.6, 2.7, 3.1 译者,《微型LISP解释器的构造与实现》作者。Jaskell系列Java/Scala组合子算法库作者。
展开
-
个人版 AI 辅助系统的尝试
"The Old Dwarf Forged A New Toy In His Mountain Workshop"原创 2023-12-17 01:26:22 · 1225 阅读 · 0 评论 -
优快云 个性化推荐系统的设计和演进
优快云 的个性化推荐系统,是从既有的推荐项目中剥离出来的一个子项目,这个项目随后移交到了我们AI组。在近一年的时间内,我们对这个项目进行了多次改进和重构。原创 2023-06-24 18:00:31 · 2373 阅读 · 3 评论 -
2022 年回顾
赶在春节来临前,对2022年做一个回顾。原创 2023-01-20 22:36:12 · 1271 阅读 · 0 评论 -
《数据可视化基础》读后感
这本书分门别类的介绍了各种主要的图表类型和对应的适用场景,给出了各种好和不好的设计示范原创 2022-12-05 22:02:08 · 411 阅读 · 0 评论 -
《通向实在之路》
近一段时间,我的各个开源项目都没有什么提交。在这段时间,我读完了《通向实在之路——宇宙法则的完全指南》。原创 2022-11-13 21:18:46 · 714 阅读 · 0 评论 -
(Apache) Commons Lang3 Bridge For Scala 0.0.1 发布
就在今天,我发布了 Apache Commons Lang Bridge 的第一个版本原创 2022-09-14 23:29:41 · 510 阅读 · 0 评论 -
PostgreSQL 问对
关于 PostgreSQL 的一些讨论原创 2022-06-03 12:32:23 · 255 阅读 · 1 评论 -
JDK 选择
我接触Java很早,读大学的时候,那时候互联网还很不发达,整个产业甚至整个世界都和现在大不一样。大概是在1999年,我的朋友给我寄来了一套 visual age 个人版。这个个人版 IDE限制很多,例如不能创建超过98个类。我当时是个 Delphi 爱好者,这个开发工具给我带来了很多非常新鲜的体验,例如它的交互设计和事件绑定,和我习惯的 Delphi、VB完全不一样,和当年基于 MFC 的VC也非常不一样。但是毕业之后,我先是成为了一个 Delphi 程序员,后来在 2003年开始转向 c sharp,p原创 2022-02-20 23:32:31 · 645 阅读 · 6 评论 -
工作随笔一则
对于一个需要较长时间持续工作的计算程序,可再入的能力应该排在非常优先的地位。可再入,也就是如果中断程序,可以从上一次的位置开始继续工作。如果能做到这一点,说明你的程序有持久化保存状态的能力。 可以打断,处理必要的问题后继续 梳理出了一个可以描述工作进度的信息模型 在中断再入的基础上,往往可以很容易升级为安全健壮的并行机制 可再入往往代表这个工作可以分解成多个同构的子任务,那么对子任务程序单元的优化,可以获得几何级数的回报 有可能从中抽象出对一类工作都有效的程序机制,从而整体的提升工作效率.原创 2022-01-05 21:13:51 · 842 阅读 · 0 评论 -
ghc 7.0.1 发布
<br /><br />编译了一个,有很多有意思的东西<br />Release Note 在此。列举几处我比较有兴趣的:基于 epoll/kqueue 的IO可以生成 LLVM 代码翻新了大量模块,特别是线程或异常阻塞有关的ghci 现在完整支持 import支持 haskel 2010 ,但是新标准可能会与传统的 base 模块冲突,建议使用ghc/ghci时用以下命令屏蔽冲突模块:ghci -package haskell2010 -hide-package base -hide-package ar原创 2010-11-25 22:40:00 · 5896 阅读 · 0 评论 -
我的教师生涯
在我十几年的职业生涯中,曾经在一家北大青鸟培训中心做过半年多的教师。 虽然对同行称我"刘老师",我有过一个开玩笑的解释, 但是其实这段经历才是这个称呼的由来。作为程序员,不是总有机会上讲台,所以一直想给自已做个总结。但是我实在太懒。居然四年以后才动手。有亲友曾经说我适合当老师,因为讲起话来滔滔不绝,又精通各路掌故。自已当初去求职,也有过类似的动机, 觉得终于可以施展身手。确实,讲到某段内容原创 2012-01-07 02:43:59 · 13254 阅读 · 36 评论 -
How to Read Mathematics 如何阅读数学[节选]——数学阅读时应该自省的几个问题
Why is this idea true?为什么这个想法是对的?Do I really believe it?我是否确信它?Could I convince someone else that it is true?我能说服别人也信服它吗?Why didn't the author use a different argument?为什么作者没有用一个不同的论据?Do I have a bett翻译 2010-10-26 21:26:00 · 2644 阅读 · 0 评论 -
在debian环境中设置celery自动启动
项目中用到celery,但是将它官网中提供的init.d和 default脚本部署到相关目录以后,一直不能自动启动。在stackoverflow上查到一个简单的方法,即执行update-rc.d celeryd defaultsdebian就会自已管理它的启动(需要先部署 celer 项目 contrib 目录下的自动化脚本到相关目录下)。原始出处:原创 2012-04-14 15:37:08 · 5759 阅读 · 0 评论 -
尝试haskell
<br /><br />尝试用haskell编写一个SQL解释器,做了一个初步的后端<br /> <br />代码:moduleFunswhereimportData.ListimportMonadimportSystem.DirectoryimportSystem.FilePathimportSystem.IOimportText.Regex.PCREdataStore t p =Text p |Csv p |Bin p原创 2010-11-22 02:48:00 · 2174 阅读 · 1 评论 -
NOSQL这一大桌麻将
<br />我所知道的IT术语中,没有比“NOSQL”更糟糕更混乱的了。甚至它超过了面向对象、软件工程和设计模式。后三者至少还大大繁荣了出版业、硬件制造业,提供了大量的开发人员就业机会。<br />基本上你对这个潮流有一些基本的了解,就会知道,所谓的“NOSQL”运动,大多数是指的非“关系数据库(Relational Database)”。所以,它应该叫“NORDB”更准确一些。我们看看这几年出现的,“NOSQL”的主要口号:不使用外键关联、不使用固定字段格式MapReduceKV数据库牺牲一致性和完备性,原创 2011-01-05 21:28:00 · 19451 阅读 · 28 评论 -
动态语言会淘汰静态语言吗?
上一篇博客动态语言会导致开发质量下降吗?,尽管没有我想像的那么多争议,但还是如期引发了一些误解。有一些朋友指出动态语言,具体来说是 Python 中的各种问题。这些我认为是大部分是正确的。我写上文的用意,在于讨论动态语言使用过程中,关于质量控制的必要性,以及其引发的性价比方面的争议。这并不表示动态语言全面的优于静态语言,更不表示静态语言会被动态语言全面的取代。进一步,这里我简单的说一下,我所认识到的,静态语言相对的优越性,和存在意义。这里首先我表达一下我一贯的观点:计算机不会魔法。具体来说两方面,一是离机器原创 2011-01-04 17:54:00 · 32316 阅读 · 72 评论 -
WPS 冷笑话两则
饮水机从毒霸转到WPS,我还是经常习惯性的到原来楼层摆饮水机的那个位置去接水,无视途中明明会路过饮水机。<br />但是这层楼的同一位置摆的是一个碎纸机。<br /><br /> 四大美女<br />九楼的男洗手间比十一楼装饰要多很多。例如这边摆着一个牌子,写着四大美女沉鱼落雁闭月羞花的典故。我在洗手间里找到了四副画像:王昭君、貂蝉、西施以及——一只袋鼠和一只河马的PS合照……原创 2010-08-10 10:39:00 · 1317 阅读 · 1 评论 -
EmacsW32 在 Windows 7 上启动错误的问题
<br />在Windows 7 上使用 EmacsW32时,会遇到提示,"The requested Emacs remote server is not running" 或 “不安全的目录访问” 或 "... 目录不存在" 等错误。仅限于全用 Emacs Client 时。而我们知道这个功能正是 EmacsW32 的亮点之一。它比使用普通的 Server-mode 更方便。<br /> <br />那么是不是在 Windows 7 上就没有办法了呢?我后来查到一个解决方法:<br />在 .emacs原创 2010-08-04 14:22:00 · 2431 阅读 · 0 评论 -
申请 PyCon Asia Pacific 2010 准备的主题——基于三元语义的关系数据库建模工具Socrates
基于三元语义的关系数据库动态建模工具SocratesSocrates, Relational Database Dynamic Models Make Tools摘要 SummarySocrates是一个基于关系型数据库和ORM的通用数据库工具。它通过三元语义表达了对动态数据结构的存储和管理功能。使得开发人员可以在关系数据库中管理结构可变的数据。三元语义可以方便的表达单一信息之原创 2010-01-10 18:53:00 · 1532 阅读 · 0 评论 -
JSON-framework 与 JSONKit的初步评估
JSON-Framework 和 JSONKit 都是Objective C 平台上比较常用的 JSON 数据访问工具。我经手过的项目中,这两个组件都用过。在JSONKit的主页上可以看到,JSONKit 的性能远优于JSON-Framework(即SBJSON),而使用上JSONKit也非常简单,这也得到了包括我在内的大多数同行的欢迎。但是在使用功能上,到底这两个工具有什么差异呢?我昨天索性原创 2012-01-17 20:24:33 · 13538 阅读 · 0 评论 -
《Ruby 元编程》——十年来读到的最好的编程技术书籍
远超预期的惊喜在出行前的一天拿到这本书,翻了几页,感觉不错,心里很有些纠结。要出远门的原因,衣物和工作设备之外的东西要尽量精简。 书籍方面反复挑拣,正在读和很想读的几本书,也都只好先放下,最后带上了这本新书和一本工作用书。在飞机上拿起这本书后,一边读,一边用笔勾划记录,三小时的班程,一气读完了半本。 然后在大巴、城铁和地铁上,一直到放下行李,阅读到半夜,翻到附录C结束,才满足的放下。原创 2012-02-18 11:02:57 · 29953 阅读 · 12 评论 -
debian xen-tools 虚拟机的时区管理
debian testing 的 xen-tools 创建的虚拟机,默认是utc时间,但是时区选择有问题。对于中国的东八区用户,最简单的处理方法是:cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime这个操作最好在虚拟机创建后尽早完成。如果已经部署了一些应用,可能产生的数据已经有错误,类似mysql等服务,需要重启才能生效。原创 2012-03-28 16:34:45 · 5899 阅读 · 3 评论 -
微软CLR团队的动态语言(开发)职位
这封招聘信来自 Jython 和 IronPython 的作者Jim Hugunin。在这封信中,我们可以看到微软在动态语言,特别是Python For .net 领域的兴趣和决心,以及……我们亲爱的 Hugunin 同志一贯挖坑不填的优良作风…… ——译者You may have noticed that Ive been really bad about participating原创 2004-10-14 00:10:00 · 3959 阅读 · 0 评论 -
旧译重贴:如何阅读数学
This article is part of the book Rediscovering Mathematics, which is due out in early 2011. - Rediscovering Mathematics: Patriot LedgerHow to Read Mathematics 如何阅读数学Mathematics is “a language that can翻译 2013-01-06 16:57:01 · 10501 阅读 · 1 评论 -
正确的答案都是错误的
正确的答案都是错误的从业逾12年,我找过工作,写过简历,经历过很多企业的面试;也招聘过, 面试过,收过简历,做过面试官。有成功的经验,也有失败的经历。 然而有学生和朋友问题我写简历和面试的技巧时,我只能说,没有技巧。我们在网上或书店,都会见到很多“攻略”、“秘籍”,教你记忆各种急智问题的回答方式。 从“你如何看待加班”这样比较正常问题,到“井盖为什么是圆的”这种比较文艺的问题, 以及“面试官和你妈原创 2012-09-29 16:57:20 · 10985 阅读 · 1 评论 -
手工构建 Mac OS APP (一)
手工构建 Mac OS APP (一)Table of Contents手工建立 Mac OS APP?main 函数中的故事最简结构app 程序的简单结构做点事情略进一步带主菜单的 app状态栏菜单手工调试再进一步?Aout Me手工建立 Mac OS APP?Mac OS App 开发并不复杂,XCode 提供了很好的开发环境。但是离开XCode呢?对于个人开发者,其实 XCode 是一个非常原创 2012-09-27 20:27:23 · 23257 阅读 · 13 评论 -
《编程ING》——打开神秘魔法世界的大门
从 2000 年毕业,我做这行已经超过十二年了。最初接触计算机程序,还是 DOS 下的 QBASIC ,那已经离现在有接近二十年了。最初,我只是会照猫画虎,按照老师的程序抄个素数数列,或者打印个三角形什么的。初步理解程序的结构和意义,要等到读大学以后了。那个时候在老师的鼓励下,自己买书学习 Delphi ,才开始慢慢了解一些程序语言的知识。能够自己设计和开发出有点用途的程序,则要等到工作以后,在实原创 2012-08-25 23:18:15 · 7837 阅读 · 2 评论 -
寄宿于LVM存储的xen虚拟机扩容
新主机中划分成一个xen虚拟机集群,全部部署在 lvm 存储上。昨天拖数据的时候发现文件服务器的空间规划比较紧张。于是准备给它扩容。网上查了很多中文文档,不知道是因为太旧还是什么原因,没有一个靠谱的,操作复杂而且不安全。最终在一篇英文文章中找到了一个办法,极其简单,并且验证确实可行。我用来管理虚拟机的是debian的xen-tools,它自动的给基于lvm卷的xen虚拟机分配两个卷,一原创 2012-03-27 19:48:48 · 5785 阅读 · 0 评论 -
用python发送put请求
做了一个服务,上传数据时接受put请求,查了一下,客户端代码用Python来写的话非常简单,跟Post基本一致。这里是一个用PUT上传文件数据的例子:import urllib2opener = urllib2.build_opener(urllib2.HTTPHandler)with open("/storage/pic/logo.png") as f: data=f原创 2012-04-22 11:30:07 · 23886 阅读 · 0 评论 -
beanstalkd 监听阻塞问题
如果使用 beanstalkd 的 tubes,需要注意的是(官方文档有提及),use影响put时使用的信道,而watch和ingore影响监听时的信道。客户端必须监听不少于一个的信道。默认情况下connection已经监听了default信道,至少监听一个其它tubes后,才可以ignore这个默认的tubes。如果没有显式的 ignore("default"),就容易在 reserve 的原创 2012-04-16 02:54:15 · 6102 阅读 · 0 评论 -
MyISAM 升级到 InnoDB
迁移服务器后,发现还有一批表是 MyISAM 引擎,写了一个脚本,把它们全升级到了 InnoDB。在线地址: https://github.com/xiachufang/BlackCookbook/blob/master/python/sa/My2InnoDB.py源码:#!/usr/bin/env python#coding:utf8#将mysql数据库中所有的 myisam 表原创 2012-04-10 23:24:39 · 5316 阅读 · 0 评论 -
IT宅男们,有没有什么技术让你觉得相见恨晚?
无意中想起SQLite,于是发起了这么一个话题,感谢各位朋友的参与,我把大家的话收集一下,放在这里。@sshgPY算一个吧。当初看了一个下午就决定ditch Perl了。Haskell算另一个吧。看到type class的时候,也是怦然心动。不过Haskell比Py门槛高,用的机会也相对少。呵呵,我资格比你老。我上手的时候才是2.1。查资料的时候,Internet上还有原创 2010-01-10 18:48:00 · 18093 阅读 · 59 评论 -
今天配置了一下Emacs字体
今天简单配置了一下Emacs的字体,到这个程度,我个人已经比较满意了。中文和字体我没有配置过多,简单的写了几行在 .emacs 的最前面: (set-language-environment UTF-8) (set-locale-environment "UTF-8") (set-default-font "Courier New-12原创 2010-02-03 22:28:00 · 6236 阅读 · 0 评论 -
数据库技术人员的能力评估建议与培养规划
自挖坑,存档 岗位职能区分数据库技术在现代软件技术领域有广泛的应用,与数据相关的技术岗位和职能,也可以区分为若干个不同的类别。根据在一个理想的开发团队中不同的分工和知识掌握的不同,可以区分为:程序员分析师设计师 架构师管理员对于数据库领域,分析与设计岗位、架构与运维岗位(管理员)的重叠较高。特别是分析与设计岗位通常在团队中由同一(组)人承担。在更多的团队原创 2009-11-23 15:38:00 · 5269 阅读 · 5 评论 -
不可思议的故障
今天一个朋友跟我讲了一件事。他有个客户,公司的服务器每到下午5:00以后就无法访问。但是反复检查没有发现问题。无奈,他决定到现场蹲守。五点到了,一切正常,这时前台MM对他讲,小龚啊,我们要下班了,服务器你要记得关啊。原创 2005-11-29 23:03:00 · 1926 阅读 · 2 评论 -
哈里·波特的新故事
一年一度的哈里·波特又回来了,第六集小说还没有读到,不过赶在新片公映的时间,看到了《哈里·波特与火焰杯》。应该说电影一集比一集好看了,第四集故事紧凑,视觉效果流畅完整,已经不复第一集中的生涩。可爱的双胞胎兄弟还在制造笑料,当然,主角身边则少不了没完没了的麻烦。我们的小哈里长大了,开始对女孩子心动。魔法妈妈的故事也在跟着他从小孩子的童话成长为一个少年的冒险。14岁的少年,有了比11岁更多的心事。电影原创 2005-11-22 23:49:00 · 1793 阅读 · 0 评论 -
就这样慢慢沉默
朋友总问,你的Blog更新了吗?很遗憾,很久没有更新,不是我病了或者有什么不开心的事,我只是在打游戏,在打WOW。很投入,很沉迷。我只是不知道说什么。不知不觉,我也到了快30的年纪。时间在慢慢流逝,话也慢慢变少。大概在旁观者眼中,我还是一如既往的喋喋不休。而我的心中,却越来越找不到可说的,可想的。并不是真的无物可记,只是我陷入了很多人都会经历的一个境地。对自己写的东西无法满意。有些话,不能说;有些原创 2005-11-18 01:02:00 · 1867 阅读 · 3 评论 -
该如何管理我们的知识?
信息是什么?我们这些IT业的从业者,每天都在于其打交道,我们的工作就是整理或生产信息。但是,我们是否真的理解了信息,或者信息的价值?甚至包括我们自己对工作的态度,就是反信息化的。 作为一个程序员,读到这里时不该有任何异议,你真的喜欢写文档吗?你真的认真写过文档吗?你认真地阅读过别人的文档吗?等等等等,关于文档的是是非非,已经太多了。然而,文档只是知识和项目管理的第一步。 纸上原创 2005-07-19 10:47:00 · 2585 阅读 · 0 评论 -
从苛希纳定律想到
失眠的夜里,偶然读到一段话,据说是管理学中的“苛希纳定律”(我对管理学是外行,不知道是否管理学中真的有这么一个定律):如果实际管理人员比最佳人数多两倍,工作时间就要多两倍,工作成本就要多四倍;如果实际管理人员比最佳人数多3倍,工作时间就要多3倍,工作成本就要多6倍。我没有什么管理工作的经验,不过这个定律似乎同样适用于软件设计。当过度设计带来额外的复杂度时,它的负面效应似乎不是线性增长,而是成倍数的原创 2005-03-21 05:36:00 · 1979 阅读 · 3 评论 -
Firebird的Case表达式功能
说来惭愧,自从FB1.5出来以后,一直没有顾上很深入的挖掘它的新功能,只是当它是IB的一个延续来对待——只要能平滑移植,就算OK。说来惭愧,自从FB1.5出来以后,一直没有顾上很深入的挖掘它的新功能,只是当它是IB的一个延续来对待——只要能平滑移植,就算OK。 前两天才发现,Firebird 1.5.2里,已经支持了CASE 表达式。在我看来,这是关系型数据库中一个相当重要的功能原创 2004-12-21 09:57:00 · 2197 阅读 · 0 评论