自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 Common Lisp的值类型及SBCL中的底层表示

动态类型 vs. 静态类型众所周知Common Lisp是一种动态类型语言, 虽然编译器会在编译时检查类型, 但这种检查往往出于编译优化的目的,而不是为了类型安全的严格检查。至于动态类型,喜欢的人喜欢它,赞扬它可以让代码简洁,开发高效, 厌恶的人厌恶它,批评它不够安全,无法协同工作构建复杂系统。这也正是是动态类型语言的优美和邪恶的地方。 在Common Li

2015-03-22 22:29:57 1739

原创 Lisp, I'm back

Lisp, I'm back.    沉寂了很久, 打算重新开始Common Lisp的学习和研究工作。离开的两三年里, 身边发生了很多变化, 在技术领域里把大部分时间投入到了学习其他语言(Haskell,日语!!!...)和概念(函数式, 类型系统...)里去,每天周游在家庭生活, 公司工作和语言学习中,疲于奔命的结果是搜集了大量的Lisp论文和书,却没什么时间去看看

2015-03-14 13:00:12 2455 1

转载 CET,UTC,GMT,CST几种常见时间概述与关系

CET,UTC,GMT,CST几种常见时间概述与关系作者: 菌果果 日期: 2011年03月15日发表评论 (6)查看评论CET欧洲中部时间(英語:Central European Time,CET)是比世界标准时间(UTC)早一个小时的时区名称之一。它被大部分欧洲国家和部分北非国家采用。冬季时间为UTC+1,夏季欧洲夏令时为UTC+2。参考资料:http:

2012-05-02 12:19:55 16361 1

转载 GPGPU前世今生

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://hirose.blogbus.com/logs/61884993.htmlGPGPU,最近Nvidia喜欢大家叫她GPU Computing。这是我道听途说的一些东西,后面有主要原文网址,主要是关于GPGPU是怎么被炒热的。Nvidia可能有%99.999....的钱不是从GP

2012-04-26 15:42:22 1716

原创 Monad你我他

初识函数式编程的时候,Monad这个词就一直萦绕在我的耳边眼前和脑海中。这个在1991年由Eugenio Moggi从Category理论引进而来的概念,如同函数式编程中的许多其他概念一样有着深厚的数学背景。也许正是如此,Monad对于习惯了用传统命令式编程语言思考的人们可谓是一个难以理解的Monster。然而这个概念在越来越多的地方不断地出现,Haskell语言的官方站点上有一个关于Monad教

2012-04-26 11:28:09 1811

原创 Computational Reflection

80年代,Brian Smith在《Procedural Reflection》中将“反射”这一概念提到了前所未有的高度。在他的这篇博士论文中,给出了在程序设计语言中实现反射这一机制的通用方法。使用过高级语言的程序员们一定不会对反射概念陌生。如今多数通俗的读物上都是这么描述反射的“反射是一种让程序(或者计算)能够检查和改变自我的机制”。这样的理解确实通俗易懂,却很难让人体会反射真正的机理。想要深入

2012-04-24 16:40:23 1265 1

原创 Boehm garbage collector

好吧,boehm的发音是/bame/,是美式英语中一个从德文来的姓氏。今天想讲的是一个C下面的垃圾回收器,名叫boehm garbage collector。该回收器是使用mark and sweep算法的增量式分代垃圾回收器。使用类似x11的许可证,没错!自由软件。碰到这个垃圾回收器是在网上闲逛想寻找一种产生的软件比C更快或差不多的scheme的时候。这些scheme使用C作

2012-04-22 17:20:32 1698

转载 SBCL编译过程

SBCL编译过程  SBCL源自于CMUCL (Carnegie-Mellon University Common Lisp),而CMUCL出现于上世纪80年代。因此SBCL的代码算是已经比较成熟,从开发的角度来讲,SBCL社区的活跃度已经比较低了。事实上也的确如此,单就我所知道

2011-07-21 11:07:10 9127

原创 Emacs神器初养成

<br />文本编辑器是程序员日常工作生活中不可缺少的重要工具。优秀的文本编辑器可以解放劳动力、提高生产率。在程序员的世界里效率是一件重要的事情。因此,文本编辑器之争也就成为大家茶余饭后的谈资(如同程序设计语言一样)。我向来是一个自由主义者。谁好谁坏这种事情,所持的观点和角度不同,有时候很难分辨。程序员和文本编辑器之间的关系,应该有点像谈恋爱,萝卜青菜各有所爱。<br /> <br />Emacs是编辑器排行榜中争论较为突出的一位,支持者声称Emacs是世界上最好用的编辑器(因为配置和扩展的能力实在太强,它

2010-12-30 12:50:00 6865 4

转载 OpenSSH 服务器配置使用指南

来源:Linux公社  作者:OpenSSHOpenSSH 是 SSH (Secure SHell) 协议的免费开源实现。它用安全、加密的网络连接工具代替了 telnet、ftp、 rlogin、rsh 和 rcp 工具。OpenSSH 支持 SSH 协议的版本 1.3、1.5、和 2。自从 OpenSSH 的版本 2.9 以来,默认的协议是版本 2,该协议默认使用 RSA 钥匙。 1. 为什么使用 SSH? 4. 如果你运行的是 GNOME,跳到第 3.4.4 节。如果你没在运行 GNOME, 跳到第 3

2010-12-20 14:45:00 1127

原创 Windows 64Bit移植心得

<br />下半年公司有一个Windows下64Bit移植的项目,已经厌倦之前百无聊赖的维护工作的我,有幸接到了这项工作。废话不多说,接下来谈谈Windows下64Bit移植的心得。<br /> <br />项目特点: Visual Studio 2005 (包括MFC应用程序以及Win32 DLL) + WDK7000 (驱动程序) 环境<br /> 移植基本步骤:1. 调整项目文件目录结构<br />    心得1: 调整目录结构的原因是同时支持64Bit和32Bit的编译,这时候可能对应的要修改很多脚

2010-12-16 16:43:00 1729

原创 Linux下通过GRUB2实现与Windows的双启动

<br />前一篇文章介绍了如何在只有Windows系统可以启动的情况下,通过BCDEdit和Grub4Dos来启动Linux系统。可是这样启动Linux实际上运行了两次Boot程序。既然通过上述方法已经可以进入Linux系统了,那么不如重新设置和安装Linux下原有的Grub。当前GRUB已经升级到GRUB2,其动作方式有很大的不同。menu.lst文件没有了(开始有点摸不着头脑,有点像boot.ini没有了换成BCD的感觉)。 其实GRUB2已经不再要手动配置启动文件,这样也就不需要menu.lst文件

2010-12-15 17:24:00 5668

原创 Vista/Win7下通过BCD启动配置实现与Linux的双启动

<br />对于Linux与Windows共存的机器,如果在安装的时候先安装了Linux,而后进行Windows的安装。这时候Windows会将mbr中的grub loader覆盖掉,这样安装后Linux将无法启动。<br /> <br />在XP之前的时代,Windows系统是通过boot.ini配置文件来进行启动项的配置的。 这时候,可以使用Grub4Dos,并且通过在boot.ini的最后追加一条C:/grldr=GRUB来启动Grub4Dos,进而进入Linux系统。<br /> <br />而Vi

2010-12-15 15:12:00 2313

转载 Making a small Lisp project with quickproject and Quicklisp

<br />Nov. 24th, 2010 | 11:35 am<br /><br />A few years ago I wrote about how I make small Common Lisp projects. With the availability of Quicklisp and ASDF2, my process has changed quite a bit. Here's what I do lately. <br />Get a comfortable environment

2010-12-06 10:27:00 1315

转载 Free Software license onion

 <br />There are tons of Free Software licenses out there, and it can be confusing choosing one for your Lisp project. I'm writing this guide to clear up some confusion, but be aware that I'm not a lawyer and you probably should consult one if you are goin

2010-12-06 10:08:00 891

转载 Linux打印的介绍

打印对于Linux/Unix类系统来说,曾经没有一点问题,但那是很久以前的事情了。随着各种新型打印机的出现,特别是很多不支持PostScript功能的廉价打印机,曾一度使在Linux上的打印变得非常困难。但现在,情况已经完全不同了,在Linux上打印已经越来越方便,用Linux作为打印服务器,已经成为很多大小企业的选择。<br />在具体讲述如何安装打印机之前,先来看一下对于打印的一些比较关键的问题。打印机的命令方式:从总体上来看,打印的命令方式可以分成文本、PostScript和其它种类。所谓文本,就是那

2010-07-19 09:44:00 1348

原创 Ackermann函数的尾递归实现

曾经在微博中谈到在可计算理论中著名的Ackermann函数。当时接触到的算法是Rózsa Péter 在1935年提出的算法:A(0, n):= n + 1 for n ≥ 0 A(m, 0):= A(m - 1, 1) for m > 0 A(m, n):= A(m - 1, A(m, n - 1))  for m, n > 0该算法基于两个参变量的递归函数,但不是尾递归的。由于此算法对递归深度的增加是超过了指数级的,因此在32位的系统中,这个算法很快就能将堆栈消耗光。首先给出此算法的CL代码:;;Ack

2010-07-13 13:38:00 1522

转载 Recursion

Recursion1. IntroductionRecursion is a technique that allows us to break down a problem into one or more subproblems that are similar in form to the original problem. <br /> 2. Example: The FactorialRecall that factorial, which is written n!, has the follo

2010-07-08 13:58:00 961

翻译 Continuation in LISP

Continuation(First-class continuation)是控制指令执行顺序的一种能力。可以用来从当前执行函数跳转回上层调用函数,或者跳转到之前以退出的函数。可以把它想象成将程序的当前状态保存下来,以便以后恢复(有点像给VM做snapshot)。但要注意的是,真正的Continuation仅仅存储执行上下文,而非程序的数据。下面是的比喻能够很好的解释这一点:话说你在厨房的冰箱前,考虑来点三明治尝尝。如果这时候你做了个continuation,并将其存放到你的口袋中。然后你把火鸡和面包从冰箱

2010-07-06 14:56:00 2093

转载 最大信息熵原理

<br />摘自:http://www.wljx.sdu.edu.cn/wlwz/reading/r_infor/shang7.htm<br /> <br />在很多情况下,对一些随机事件,我们并不了解其概率分布,所掌握的只是与随机事件有关的一个或几个随机变量的平均值。<br />按最大信息熵原理,我们从全部相容的分布中挑选这样的分布,它是在某些约束条件下(通常是给定的某些随机变量的平均值)使信息熵达到极大值的分布。这一原理是由杨乃斯提出的。这是因为信息熵取得极大值时对应的一组概率分布出现的概率占绝对优势。

2010-06-23 10:40:00 2416

原创 Study Note: 1. Introduction of pattern recognition.

在BBC一档关于数学的节目里,数学家兼主持人谈到了他对Pattern的痴迷。在他看来,数学就是对Pattern寻找和研究的过程。以下笔记将要涉及的当然不是他所说的数学也不是他所说的广义的Pattern,而是曾经在大学里因为上课打盹或者逃课而没能学完(一点都没能)的模式识别。从一开始就想要把它学好学精,But God knows what I was afraid of?  没有基石无以成大业。从头来过!所有笔记内容(以问答方式)均来自于学习《Pattern Recognition 4th Edition》(

2010-06-17 19:13:00 1222 2

转载 使用 GNU CC 的预编译头文件加快编译速度

使用 GNU CC 的预编译头文件加快编译速度 既使用过 Microsoft® Visual C++® 又使用过 GNU CC 的网友一定会感受到两者编译速度的差异,尤其是对于 wxWidgets这样头文件内容多的软件。Microsoft® Visual C++® 能够有很高编译效率的原因是其支持“预编译头文件”(Pre-Compiled Header, PCH

2008-12-02 19:50:00 1062

转载 Linux Audio 编程(转)

虽然目前Linux的优势主要体现在网络服务方面,但事实上同样也有着非常丰富的媒体功能,本文就是以多媒体应用中最基本的声音为对象,介绍如何在Linux平台下开发实际的音频应用程序,同时还给出了一些常用的音频编程框架。一、数字音频音频信号是一种连续变化的模拟信号,但计算机只能处理和记录二进制的数字信号,由自然音源得到的音频信号必须经过一定的变换,成为数字音频信号之后,才能送到计算机中作进一步的

2008-11-18 13:20:00 3288

转载 数学之美 系列三 -- 隐含马尔可夫模型在语言处理中的应用(转)

  数学之美 系列三 -- 隐含马尔可夫模型在语言处理中的应用发表者:吴军,Google 研究员前言:隐含马尔可夫模型是一个数学模型,到目前为之,它一直被认为是实现快速精确的语音识别系统的最成功的方法。复杂的语音识别问题通过隐含马尔可夫模型能非常简单地被表述、解决,让我不由由衷地感叹数学模型之妙。自然语言是人类交流信息的工具。很多自然语言处理问题都可以等同于通信系统中的解码问题 --

2008-10-28 08:52:00 667

转载 数学之美 系列一 -- 统计语言模型(转)

 数学之美 系列一 -- 统计语言模型2006年4月3日 上午 08:15:00uT("time114399197227125143");从本周开始,我们将定期刊登 Google 科学家吴军写的《数学之美》系列文章,介绍数学在信息检索和自然语言处理中的主导作用和奇妙应用。发表者: 吴军, Google 研究员 前言也许大家不相信,数学是解决信息检索和自然语言处理的最好工

2008-10-28 08:49:00 878 5

转载 如何使用netfilter/iptables构建防火墙

 发布时间:2004.03.17 13:57     来源:开放系统世界    作者:吴燕 对于Internet上的系统,不管是什么情况都要明确

2008-07-14 21:10:00 981

转载 SVN 常用命令集合及简单用法

来源:SVN中文技术网[www.svn8.com] 作者:SVN技术研究中心 时间:2008-06-15 点击:284SVN在实际操作中常用命令集合及简单用法,如果我们可以把这些简单的集合方法应用到实际并熟练的记住,哪么我们的职业生涯将是美好的1、将文件checkout到本地目录svn checkout path(path是服务器上的目录)   例如:s

2008-07-13 21:02:00 11333 1

转载 awk 手册

awk 手册  简体中文版由bones7456 ([email protected])整理.原文:应该是 http://phi.sinica.edu.tw/aspac/reports/94/94011/ 但是原文很乱.说明:之前也是对awk几乎一无所知,无意中看到这篇文章,网上一搜,居然没有像样的简体中文版.有的也是不怎么完整,或者错误一大堆的.于是就顺手整理了下这篇文章.

2008-07-07 23:22:00 1816

转载 LINUX为什么不需要磁盘整理

Linux不需要磁盘碎片整理。 以下引自linux官方网站对碎片的解说:来源于 http://www.linux.org/docs/ldp/howto/Partition/appendix.html#fragmentation 引用: 10.4. So

2008-07-07 22:52:00 1275

转载 Linux内核引导参数简介

Linux内核引导参数简介作者:金步国版权声明本文作者是一位自由软件爱好者,所以本文虽然不是软件,但是本着 GPL 的精神发布。任何人都可以自由使用、转载、复制和再分发,但必须保留作者署名,亦不得对声明中的任何条款作任何形式的修改,也不得附加任何其它条件。您可 以自由链接、下载、传播此文档,但前提是必须保证全文完整转载,包括完整的版权信息和作译者声明。其他作品本文作者十分愿

2008-06-30 22:28:00 936

转载 如何在系统运行过程中修改内核参数

Linux向管理员提供了非常好的方法,使我们可以在系统运行时更改内核参数,而不需要重新引导系统。这是通过/proc虚拟文件系统实现的。/proc/sys目 录下存放着大多数的内核参数,并且设计成可以在系统运行的同时进行更改。下面我们以打开内核的 ip转发功能为例说明在系统运行时修改内核参数的两种方法。IP转发是指允许系统对来源和目的地都不是本机的数据包通过网络,RedHat默认屏蔽此功 能,在

2008-06-30 22:03:00 1037

转载 高级文件系统 - Reiserfs简介

2001 年 6 月 01 日伴随着 Linux 2.4 版本的发行,出现了大量的文件系统可能性,其中包括 ReiserFS、XFS、GFS 和其它文件系统。这些文件系统听起来的确都很酷,但是它们真正能做些什么呢,擅长在哪些方面,以及在 Linux 产品环境下如何才能安全地使用它们呢?在高级文件系统实现者指南中,Daniel Robbins 通过向您展示如何在 Linux 2.4 的环境下

2008-06-29 22:31:00 1685

转载 高级文件系统 - devfs介绍

介绍 devfs 设备,到处都是设备 Devfs,也叫设备文件系统(Device Filesystem),设计它的唯一目的就是提供一个新的(更理性的)方式管理通常位于 /dev 的所有块设备和字符设备。您也许知道,典型的 /dev 树包含数百个块特殊文件和字符特殊文件,它们全都在根文件系统上。每个特殊文件都可以让用户空间进程轻松地与内核设备实现交互。 举例来说,通过对这些特

2008-06-26 23:45:00 1223

转载 高级文件系统 - tmpfs介绍

级别: 初级 Daniel Robbins ([email protected]), 总裁/首席执行官, Gentoo Technologies, Inc. 2001 年 9 月 01 日 伴 随

2008-06-26 23:19:00 867

转载 硬盘接口简介 SCSI,IDE,ATA,PATA,SATA

SCSI,IDE,ATA,PATA,SATA SCSI(Small Computer System Interface,小型计算机系统接口) IDE(Integrated Drive Electronics,集成磁盘电子接口) ATA(Advanced Technology Attachmen,高级技术附加装置) PATA(parallel ATA,并行ATA) SATA(Serial ATA,串

2008-06-11 19:28:00 4331 1

转载 什么是LVM

LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。前面谈到,LVM是在磁盘分区和文件系统之间添加的一个逻辑层,来为文件系统屏蔽下层磁盘分区布局,提供一个抽象的盘卷,在盘卷上建立文件系统。物理卷(physical volume)物理卷就是指硬盘分区或从逻辑

2008-06-10 15:03:00 1643

转载 Linux initial RAM disk (initrd) overview

Level: Intermediate M. Tim Jones ([email protected]), Consultant Engineer, Emulex 31 Jul 2006 The

2008-06-07 15:26:00 1017

转载 Linux与Windows 通过samba互访共享资源

关于samba网上有很多的资料,不过网上资料一般倾向于企业级别的服务器搭建。最简单的、最基本的个人pc之间的访问,写的比较少,网络资料的繁多也让人无所适从,可能通常高手都不屑于写太简单文档。我记录下最简单的配置,仅供参考。  一、目的:  1.linux访问windows共享文件  2.windows访问linux共享文件(user模式-需要输入用户名和密码)  简

2008-06-06 14:38:00 1479

转载 iostat 命令

iostat 命令2008年01月11日 星期五 11:02 用途 报告中央处理器(CPU)统计信息和整个系统、适配器、tty 设备、磁盘和 CD-ROM 的输入/输出统计信息。 语法

2008-06-05 21:38:00 588

转载 RAID技术总结

概述RAID是“Redundant Array of Independent Disk”的缩写,中文意思是独立冗余磁盘阵列。冗余磁盘阵列技术诞生于1987年,由美国加州大学伯克利分校提出。RAID磁盘阵列(Redundant Array of Independent Disks)简单地解释,就是将N台硬盘透过RAID Controller(分Hardware,Software)结合成虚拟单台大

2008-06-05 21:03:00 896

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除