跳至主要内容

博文

电信的烂ADSL

最近网络一致不灵光,断线频繁。这也就算了,微软的Live Space居然也来凑热闹,总也无法登录进去,真是见鬼了。 跑到M$的windows live β官方页面看见一则《安民告示》,大意是说他们确信自己的服务器没有问题,问题发生在“某些网络”。的确,在公司用网通的时候一点问题都没有,晚上在家一上电信的烂ADSL就出事情了…… 闲时跑了两个命令看看next hop和dns的运转,贴出来留个记录: C:\>tracert www.sina.com.cn Tracing route to jupiter.sina.com.cn [61.172.201.194] over a maximum of 30 hops: 1 1 ms 1 ms 2 407 ms 745 ms * 218.1.60.217 3 535 ms 392 ms 361 ms 218.1.60.129 4 517 ms 314 ms 288 ms 218.1.2.61 5 495 ms 473 ms 407 ms 218.1.1.61 6 466 ms 411 ms 330 ms 218.1.1.134 7 327 ms 357 ms 305 ms 61.152.87.154 8 * 821 ms 683 ms 222.72.243.242 9 542 ms 434 ms 273 ms 61.172.201.194 Trace complete. C:\>nslookup gmail.google.com Server: ns-pxb.online.sh.cn Address: 202.96.209.6 Non-authoritative answer: Name: gmail.l.google.com Address: 72.14.223.107 Aliases: gmail.google.com

Beyond the Mario Maestro's Music

在Wired News看到一则新闻 " Behind the Mario Maestro's Music ",介绍的是传奇的视频游戏“玛丽兄弟”的音乐作者Koji Kondo。附YouTube上的一段 现场演奏视频 ,活泼的音乐不禁将我带回了少年时无忧无虑地打游戏的日子。最近还下载了Rome的第一季,恺撒、庞贝、屋大维…… 古罗马的故事总是令我神往~

在Fedora下自动挂载移动硬盘

(一)从Mount到fstab 最早使用Linux的时候,我遇 到的第一个难题就是如何将Windows下的硬盘分区挂载到Linux中。当时用的是mount。指定了文件系统 vfat,字符编码codepage=936等参数之后,mount一下就ok了。不过偶是个懒人,所以不情愿每次进入系统都输入一遍命令(不过必须承 认,对于当时还是个新手的偶而言,多用几次命令行还是很有好处的 ^_^ )。 Google之后了解到 /etc/fstab 文件的好处。Linux中/etc目录下的fstab文件是一个文件系统表 (File System Table file ),它维护着mount point条目。这些条目是根据HAL事件自动增添或是删除的──fstab文件不是指望靠用户手动修改的,有个程序 fstab-sync 可以自动修改fstab文件。当系统的HAL服务启动之后,上一次增加的所有条目都会被删除,而后根据需要,fstab-sync 会被调用若干次,加入合适的条目。 (二)fstab-sync和policy 了解到了这里,就要知道fstab-sync是如何知道应该增添什么条目的? # man fstab-sync 文 档说主要是参考storage.policy和volume.policy的属性。缺省的属性是存放在系统配置文件中的,在偶的Fedora 4系统中,放在 /usr/share/hal/fdi/policy/10osvendor/10-storage-policy.fdi里面。别心急修改──这个文件 是osvendor提供的,在升级的时候可能会被更新,正确的作法是在policy目录中放入单独的文件,例如,为了自动挂载移动硬盘,我新建了文件: /usr/share/hal/fdi/policy/95user.fdi。 以下是这个fdi文件的内容: <?xml version="1.0" encoding="ISO-8859-1"?> <!-- -*- SGML -*- --> <deviceinfo version="0.2">  <device>   <match key="@block.storage_device:storage.remo...

IT名人堂:Mark Zbikowski

熟悉Windows平台上EXE文件格式的人应该都记得在文件头有个'MZ'的标记,这个标记来自于这位兄台的名字首字母缩写。 This is Behind the Code’s pilot episode with Core File Services architect, Mark Zbikowski. Mark began his career at Microsoft in 1981, working on DOS 1.0 as a designer, coder and liaison with IBM. His quarter century long career has included significant involvement in OS/2, Cairo’s Object File System (OFS), and the NT File System (NTFS). In addition, he has been a key player in all of Microsoft’s File System work. Former Microsoft software architect Pat Helland interviews Mark about the early days at Microsoft, his passion for product development and the challenges of producing software.

关于 MIDP 和 WMA

SUN的官方网站上所列出的Java Verified机型中,几乎所有支持MIDP 2.0的移动设备都支持WMA API,也就是JSR 120或是JSR 205。但是这并不意味着所有MIDP 2.0的设备都支持WMA。因为MIDP 2.0(JSR 118)并没有明确要求必须同时支持JSR 120或是JSR 205。因此这二者的关系并不是依赖的,实际机型的支持要取决于特定的设备制造商(vendor)。 同样的,支持MIDP 1.0的设备也有可能支持WMA,像是Nokia 3300。 http://www.forum.nokia.com/devices/3100 以下是支持JSR 120的设备列表: http://www.j2mepolish.org/devices/devices-wmapi.html http://developers.sun.com/techtopics...st.do?apiId=42 虽然MIDP 2.0并没有明确强制设备实现WMA(JSR 120),但是Java Technologies for Wireless Industry (JSR 185),简称为JTWI,定义了设备必须实现的一系列组件。满足JTWI的设备必须在实现MIDP 2.0的同时也支持JSR 120。值得一提的是,JTWI的后继规范,简称MSA (JSR 248),试图消除Java实现的API分裂,它要求设备必须实现JSR 205。满足JTWI的设备一定支持WMA 1.1,WMA 2.0扩展了JSR 120并加入了对于MMS,即彩信的支持。因此支持WMA 2.0的手机也可以运行WMA 1.1编译的程序。 WMA 1.1 规范: JSR-120: The WMA 1.1 specification includes changes to take into account the MIDP 2.0 security framework and push architecture. JSR 205 : This JSR will extend and enhance the Wireless Messaging API (JSR-000120) Development Tools: The J2ME Wireless Toolkit 2.0 supports WMA 1.1, a...

心机

陪伴了偶四年多的手机坏了,上周末到美罗城精心挑选了半天,最后将Moto ROKR E2带回了家。四年前选择手机的时候,对于各式各样不同功能、型号的手机是完全没有概念的,更不用说广告里面一排一排的参数了。如今,由于从事的工作就是和手机打交道,而且公司里几乎有市面上所有百宝箱支持的Java手机,所以认知程度不可同日而语。连续2周,偶一直都在研究手机,打算把个人经验记录一下,于是就有了几篇小结。 标题取为“心机”,是因为移动的这个广告太寒…… 因此偶也乱写一记,当做饭后8g。 购买前的选择 这次选择机型时候,首先考虑了以下几个因素: (一)类别:智能机或是半智能机 不选择非智能机的原因在于工作需要,Nokia S40系列基本上性能都比较稳定,可惜缺乏扩展性。目前市场上最多的就是Symbian, Windows Mobile和Linux三个平台的智能手机。 Symbian,包括UIQ主要使用在Nokia S60系统和SE的中高端手机上,早期的Symbian系统是很不错的,稳定简洁,不过现在的Symbian为了支持各种各样的设备,提供越来越多的花哨功能,所以稳定性不够。 Windows Mobile的主要供货商则是多普达,以及Sharp和国内品牌的部分机型。Windows Mobile主要分为Smart Phone和Pocket PC两类,前者使用键盘操作而后者是触摸屏系列。目前市面上能见到的应该是Windows Mobile 5.0的机器,6.0的样机貌似只有内部机型,没有上市。和PC平台一样,手机的硬件配置都不错,可惜价格太高。 Linux基本上是Motorola主推,当然国内厂商也有自己研发的,不过那种质量就避而不谈了。Moto在2006年在中国连续发布了4款基于Linux操作系统的手机,像是“明”——A1200,ROKR E6等,都是触摸屏系列,惟独ROKR E2是非触屏的,深得我心。 :) (二)品牌:Nokia, Motorola和SonyEricsson 日韩的手机像是NEC和Samsung从一开始就不在候选之列,一小部分是因为排日情绪,使用感受不佳是重要原因。说实话,我不知道为啥那么多小姑娘“稀饭”三星的机子,使用习惯就不够人性化,而且大概自己对JVM部分的要求太高,感觉三星中低端的手机(如E108,E708等)在运行Java程序的时候效率是令我非常无语的,...

HTTP指令的简单解释

HTTP无疑是日常生活中使用最多的Internet协议之一。在企业级别的应用程序中,HTTP是当之无愧的最受程序员喜爱的通信协议。最近恰好在做几个简单的HTTP程序,为了更好的看清常见的GET/POST等指令是如何应用于实际通讯中的,截取了一段interaction log。 第一部分是HTTP Request,这里show的是GET method。 GET /polish/j2mepolish-2.0-beta3.jar HTTP/1.1 Host: download.berlios.de Accept: */* Referer: http://prdownload.berlios.de/polish/j2mepolish-2.0-beta3.jar User-Agent: Mozilla/4.0 (compatible; MSIE 5.00; Windows 98) Pragma: no-cache Cache-Control: no-cache Connection: close 第二部分是server的response。 HTTP/1.1 200 OK Date: Sat, 13 Jan 2007 06:57:28 GMT Server: Apache/2.0.54 (Linux/SUSE) X-Powered-By: PHP/4.4.0 Cache-Control: must-revalidate, post-check=0, pre-check=0 Content-Length: 21453320 Content-Transfer-Encoding: binary Content-Disposition: attachment; filename="j2mepolish-2.0-beta3.jar"; Connection: close Content-Type: application/x-download