Dannie from Shanghai

Sunday, July 06, 2008

彻底放弃XP, 开始使用Ubuntu 8.04.1 !

今天可能是值得我个人纪念的一天,终于决定在一台IBM Thinkpad T41上彻底放弃原先的WindowsXP系统(事实上我安装WindowsXP+Ubuntu 8.04双系统有1个月了). 重新安装Ubuntu 8.04.1 (2008-7-2版本).

原因是我发现平时在家用WindowsXP基本都是在浪费时间,在网上下无聊的视频电影看,无谓的浪费着生命.想想自己也30出头了,始终没能做过什么有意义的事情;即便是开个头,也往往不能坚持.
在Ubuntu下,我至少还能看看文挡学点有意思的东西,最近在看TAOUP(The Art of Unix Programming) ESR的作品,感受很深,希望自己能够坚持看完.

Labels: , , ,

Saturday, February 17, 2007

猪年到了

再过2个小时,就是猪年了。一边看着听着春节联欢晚会,一边不禁感慨良多。
昨天小年夜,是我们节前最后一天上班,在下班路上空荡荡的车厢里,我给手机里400多个联系人中的一半发了拜年短信。很快许多人给我回了,一直陆陆续续到今天的一天里又收到很多。还很意外的收到许多,我没想到或者是我没有联系手机的给我发来的贺年短信。

许多熟悉的,有着很多记忆的;许多没有太多联系,但感觉有几面之缘。我都发了完全一样的短信!是不是有些懒惰?从回复的短信里,一些许久没联系的朋友又搭上了线,新的约会已经定好。

春节联欢晚会很无聊,但是够热闹;中国人过年不就是图个热闹吗?

Labels:

Tuesday, January 16, 2007

"Programming Windows with MFC" 2nd Ed.

虽然关于这本书的中文译本有不少非议,可我目前只找到这个“博彦”的中文电子版本。所以也只好先看了再说,如果可能将来买个英文版本的。

Friday, January 12, 2007

Serial Port Win32 API 编程

这三天终于在查了N多网络资料,甚至不得以买了本人民邮电的《VC++串口编程和工程实践》后,终于完成了我一直做的一个TM-U120的黑标设置程序。其实,并口部分很简单,我很早就有解决办法了。但串口部分,我不想用MSComm32.ocx,因为哪个控件需要制作安装程序,或者手动注册,有点麻烦。

直接使用Win32 API,进行串口编程是不很酷。虽然这不是什么了不起的技术,但我相信,实际能够做好的程序员其实并不多。

Wednesday, January 10, 2007

C# Serialport 输出多出2个字节"3F 80"

C# Serialport 输出多出2个字节"3F 80"

始终没能弄明白为什么C#用Serialport类,输出信息时;
第一次输出总是多出两个字节"3F 80",这个似乎就是串口1的地址啊。

Tuesday, January 09, 2007

"Learning the bash Shell" 笔记

第二章:
emacs编辑模式

emacs的命令太多,很多看来似乎并不那么直观和方便;
我只选了一些有用的行命令如下:
Ctrl-A 移动到行开头
Ctrl-E 移动到行结尾
Ctrl-K 想前删除到行尾

Ctrl-L 清屏,等于clear
ESC L 光标位置处单词所有字母变小写

FreeBSD 6.1 loopback bug!

FreeBSD 6.1 loopback确实有个BUG,现象之一就是发现无论如何配置Samba;
从WindowXP总是不能访问,然后报"没有权限之类"的错误,其实这个报告不准确.

你用smbclient -L 就会发现是request不到对应端口的服务,对于smbd的内部
机制,偶也不懂!不过,我找到一个老外的提示,freebsd.org上也有报告这个bug.
就是在:/etc/rc.conf中:

network_interface = "lo0 xl0"

注意!!"lo0"是必须手动添加上去的,否则FreeBSD就会有loopback找不到的问题!

确认方法是,ifconfig的时候应该看到:

lo0: flags=8049 mtu 16834
inet6 ........
等等内容!

FreeBSD 6.1 loopback确实有个BUG,现象之一就是发现无论如何配置Samba;
从WindowXP总是不能访问,然后报"没有权限之类"的错误,其实这个报告不准确.

你用smbclient -L 就会发现是request不到对应端口的服务,对于smbd的内部
机制,偶也不懂!不过,我找到一个老外的提示,freebsd.org上也有报告这个bug.
就是在:/etc/rc.conf中:

network_interface = "lo0 xl0"

注意!!"lo0"是必须手动添加上去的,否则FreeBSD就会有loopback找不到的问题!

确认方法是,ifconfig的时候应该看到:

lo0: flags=8049 mtu 16834
inet6 ........
等等内容!

FreeBSD 6.1 loopback确实有个BUG,现象之一就是发现无论如何配置Samba;
从WindowXP总是不能访问,然后报"没有权限之类"的错误,其实这个报告不准确.

你用smbclient -L 就会发现是request不到对应端口的服务,对于smbd的内部
机制,偶也不懂!不过,我找到一个老外的提示,freebsd.org上也有报告这个bug.
就是在:/etc/rc.conf中:

network_interface = "lo0 xl0"

注意!!"lo0"是必须手动添加上去的,否则FreeBSD就会有loopback找不到的问题!

确认方法是,ifconfig的时候应该看到:

lo0: flags=8049 mtu 16834
inet6 ........
等等内容!

JBuilder2006

看到天涯上有人在问这个,我猜想如下:

JBuilder2006的项目是不能直接在JBuilder2005中使用的,原因是JB2006是基于Eclipse的;
JB2006其实和以前的JB应该也没什么必然联系了。

Monday, January 08, 2007

Java打印发展历史

自从问世以来,Java 在多数方面都成长迅速。但一直以来,打印输出是Java 最弱的方面之一。事实上,Java1.0 根本不支持任何打印功能。Java1.1 在java.awt 包里包含了一个叫做PrintJob 的类,但是这个类提供的打印功能十分粗糙和不可靠。当 Java1.2 (或者说“Java2”)出现后,依据PrinterJob 以及在新的java.awt.print 包里定义的类和接口,它提供了一个彻底分离的打印设计机制(称为Java 2D printing API)。这些改进使得基于PrintJob的机制(即AWT printing)基本上被淘汰了,但是PrintJob 从未被真正废弃,而且至少在本文里仍然是一个技术上支持的类。

在J2SE 1.3 里又增加了一些变化,利用在java.awt 包里适合的JobAttributes 和PageAttributes 两个类,PrintJob 的功能扩展到设定任务和页面的属性。随着J2SE 1.3 的发布,打印能力变得足够强壮,但是在关联两个完全分离的打印机制时,仍然存在一些问题。比如,两种机制都使用java.awt.Graphics 类的一个实例,来展现打印内容,意味着所有要打印的东西都必须用一张图片表示。此外,更新后的PrintJob 工具变得更强壮,但仅提供了很有限的任务相关的属性设置。最终,两种机制都没有提供一种选择目标打印机的可编程的途径。

Java 打印最大的改变发生于J2SE 1.4 的发布,其带来的Java 打印服务API。第三代Java 打印支持的诞生,借助于javax.print 包的 PrintService 和DocPrintJob 接口的实现突破了上述限。因为新的API 代表了两种旧的打印机制功能定义的父集,是你应该通常使用的并是本文的焦点。

从较高层次上来看,使用Java 打印服务API 的步骤是很简单的:

1. 定位打印服务(打印机),可以限制返回的列表,只要那些符合您应用程序需要的打印机。打印服务由PrintService 的实例体现。

2. 通过调用PrintService 接口中定义的createPrintJob() 方法创建一个打印任务。打印任务由DocPrintJob 的一个实例代表。

3. 创建一个Doc 接口的实现,来描述你想要打印的数据。你也可以创建一个PrintRequestAttributeSet 的实例,来定义你想要的打印选项。

4. 通过DocPrintJob 接口定义的print() 方法来初始化打印,指定你先前创建的Doc,指定PrintRequestAttributeSet 或者空值。

POS for .NET的实现写入UPOS 1.10

POS fot .NET 实现在UPOS 1.9里只有一页的说明;
但是在UPOS 1.10中就已经有了比较完整的实现说明。

目前在.NET环境下,实现UPOS规范主要有两种方法:

1.OPOS Wrapper:
借助一个工具,可以为每个ActiveX/COM组件生成一个DLL库;
可以将应用程序的.NET方式请求,转为OPOS
CCO能接受的方式;然后再是CCO
调用SO;

2. .NET环境下,建立一个查询库,只实现SO对象,而SO让位给PosAPIExplorer
机制。

具体,还不是很懂,正在学习中。。。

Google Group -- "POS Developer"

Google Group -- "POS Developer"
昨天在Google Groups上新建立了一个Group,叫“POS Developer"

主要是想给国内的POS开发者一个交流的平台!

CUPS Notes <4>

13 CUPS编程概述
13.1.1 头文件
/usr/include/cups
cups.h file.h ppd.h http.h md5.h i18n.h language.h

13.2
cupsGetDefault()
cupsGetPrinters()

10

世界上总共有 10 种人,一种懂得什么是二进制 ,一种不懂。

CUPS Notes <2>

1.4.1 CUPS邮件列表
发送 subscribe cups 给majordomo@cups.org
取消 unsubscribe cups 给majordomo@easysw.com

1.4.3 Website
http://www.cups.org/
http://www.linuxprinting.org/
http://www.pwg.org/
http://www.adobe.com/products/printerdrivers/winppd.html PPD

3.1.1
获取可用设备列表 lpinfo -v

3.2.1
lpadmin -p name -E -v "URI device" -m "PPD file"
lpoption

http://localhost:631/printers

4
lp
lpr
lpstat
lpoptions

5.1 基础知识
CUPS调度程序由 IPP服务器(cupsd)+轮询守护程序(cups-polled)+逐行打印机守护程序网关(cups-lpd)

5.1.4 重启动CUPS服务
Ubuntu 6.06
/etc/init.d/cupsys restart