2012年2月4日星期六

尼龙包被的螺丝 Nylon coated screw

这几天在拆解Thinkpad R30和Nokia N81时,都注意到了一个细节:
Remove the nylon coated screws, and do not use them again. 
一开始我很疑惑,并不明白这一句英文的准确含义。难道是尼龙螺丝?不会吧,那为什么要加『coated』这个单词呢?

更让我疑惑的是,官方拆解说明中均要求这些螺丝仅为『一次性』使用,不可重复使用。

今天再次看到这个螺丝,终于明白了其中的含义了。出于电绝缘或者连接可靠性的考虑,在一些不锈钢螺丝表面,除了有黑色的『烤漆』之外,还会在螺纹处喷涂一层尼龙。这种螺丝在安装和拆卸一次后,尼龙会碎裂,再次安装的话则不会起到其应有的作用了。因此需要使用新的螺丝。

事实上这种螺丝之前见过很多,不过一直以为那是螺丝紧固物掉下的碎屑,例如用螺丝紧固绿色物体就会在螺纹处有绿色碎屑,并没有想到这小小的螺丝还有这般讲究。

当然了,对于我们平时使用来说,一般毋须讲究这么多,再次使用也未尝不可。毕竟民用的东西又不是什么航空航天。即使你讲究这么多,你在国内的一般五金店也很难买到匹配的螺丝。国内的五金店能买到质量合格的螺丝就不错了,买到这么讲究的,呵呵,我看悬。

至少从这个细节可以看出来这些电子设备厂商对消费者认真的态度。希望每一个手机的售后服务都能学习一下,既然官方售后要这么多钱,就要完全遵循规矩办事,该一次性的器件,就给一次性了才是。

尼龙螺丝  nylon screw

尼龙包被的螺丝 nylon coated screw
(注意螺纹处喷涂了棕色的尼龙)

2011年10月11日星期二

为什么没有IPv5?

其实,IPv5是有的,只不过仅限于实验和过渡,并不会推向市场。请看:

IPv4: Currently used by most network devices. However, with more and more computers accessing the internet, IPv4 IPs are running out quickly. Just like in a city, addresses have to be created for new neighborhoods but, if your neighborhood gets too large, you will have to come up with an entire new pool of addresses. IPv4 is limited to 4,294,967,296 IPs.

IPv5: This is an experimental protocol for UNIX based systems. In keeping with standard UNIX (a computer Operating System) release conventions, all odd-numbered versions are considered experimental. It was never intended to be used by the general public.

IPv6: The replacement for the aging IPv4. The estimated number of unique IPs for IPv6 is 340,282,366,920,938,463,463,374,607,431,768,211,456 (or 2^128).

来自: http://www.whatismyip.com/#ixzz1aR9kgprq

2011年6月18日星期六

MATLAB随笔——图形的旋转放缩

使用MATLAB可以对图形进行旋转和放缩,这一切都是依赖这样一个矩阵

以下是示例代码,作用是绘制一个等边三角形,并不断迭代旋转缩小:

所得结果如下:


如果需要逆时针旋转,只需使用A的逆矩阵A^(-1)即可。

2011年6月1日星期三

使用Verilog实现一个自校正环形计数器

A Self-reset Ring Counter realized using Verilog HDL


题目来自《Digital Design:Principles and Practices》。
This problem is from Digital Design:Principles and Practices
8.56.写出状态为1111 1110,1111 1101, 1111 1011, 1111 0111, ……, 0111 1111, 1111 1110, ……的8位自校正计数器的VHDL或Verilog程序。要求计数器具有复位输入和时能输入,当复位信号有效是计数器回到初始状态,只有当时能信号有效是才计数。

本设计选择使用Verilog硬件描述语言,选择Altera Quartus II 软件作为编译工具。
在下边的代码中,复位端子RST和使能端子ENA均为高电平有效,均为同步输入端。

The following code snippet is hosted on Github Gist.

2011年5月26日星期四

我的TeX手札之 源代码引用和语法高亮

LaTeX自带的『原文照排』的verbatim环境的确不错,但是其功能略显简略,不能满足我们引用各种源代码的高级要求。本文介绍一下宏包listing的使用,并给出引用源代码并作高亮显示的TeX代码示例。
通常地,我们引用源代码的要求有:
  • 字体样式与正文有明显区分,美观大方
  • 可以标注代码行号
  • 可以添加背景色,可以添加边框
  • 可以对援引源代码进行语法高亮
那么listing宏包一定是你非常好的选择!

listing宏包支持代码上色的语言非常之多,目前所支持的语言有:
ABAP    IDL    Plasm    ACSL    inform    POV    Ada    Java    Prolog
Algol    JVMIS    Promela    Ant    ksh    Python    Assembler    Lisp    R
Awk    Logo    Reduce    bash    make    Rexx    Basic    Mathematica    RSL
C    Matlab    Ruby    C++    Mercury    S    Caml    MetaPost    SAS
Clean    Miranda    Scilab    Cobol    Mizar    sh    Comal    ML    SHELXL
csh    Modula-2    Simula    Delphi    MuPAD    SQL    Eiffel    NASTRAN    tcl
Elan    Oberon-2    TeX    erlang    OCL    VBScript    Euphoria    Octave     Verilog
Fortran    Oz    VHDL    GCL    Pascal    VRML    Gnuplot    Perl    XML
Haskell    PHP    XSLT    HTML    PL/I
当然,这个语言列表可能会随时间推移而逐渐庞大,如果你所援引的语言暂时不在上述之列,你仍可以自定义语法高亮的规则,不过,这便不再本文讨论之范畴。

以下给出的是使用了listing宏包的TeX代码示例,该代码可以使用LaTeX,pdfLaTeX,XeLaTeX等编译通过。


有关这个示例的TeX源文件以及排版结果之DVI档,PDF档,请移步:
https://docs.google.com/leaf?id=0ByIYMq1zOBB4NzJlNmJmMWYtZmU2ZS00NGJlLTliOWUtODc0NjJhZGY5YWIw&hl=zh_CN

2011年5月7日星期六

我的XeTeX/LaTeX手札 之 DIY模板篇

本文未完成……

本文的目的是整理一些常见的XeTeX/LaTeX页面设置,段落设置,字体设置等各种格式上设置所需要的一些代码,以方便自己日后制作模板。

页面设置

纸张大小

不用加载任何宏包就可以很容易的设置纸张大小,只需在documentclass加入关于纸张大小的选项即可。
\documentclass[a4paper]{article}
默认就是a4
其他可用的选项还有
  • a4paper (297mm * 210mm)
  • a5paper (210mm * 148mm)
  • b5paper (250mm * 176mm)
  • letterpaper (11in * 8.5in)
  • legalpaper (14in * 8.5in)
  • executivepaper (10.5in * 7.25in)
这些选择内部实际上是设置 \paperheight 和 \paperwidth 两个值。手动设置的方式是
\setlength\paperheight{高度}
\setlength\paperwidth{宽度}

使用geometry宏包

使用geometry宏包,可以让页边距和页眉页脚的设置变得非常简单
\documentclass[a4paper]{article}
\usepackage{geometry}
\geometry{left=2.5cm,right=2.5cm,top=2.5cm,bottom=2.5cm}
\begin{document}
test
\end{document}

2011年4月13日星期三

Karnaugh Map Minimizer exe. for up to 8 inputs | 最多八输入卡诺图化简程序

最近正在学数字逻辑设计《数字设计原理与实践》,有关卡诺图化简的问题,有时候不能看出来最简单的画法,尤其是对多输入(5输入以上),于是乎在网上搜索到了一个卡诺图化简器。


软件最多化简8输入的卡诺图,结果以文字和图形同时显示。
软件名称:Karnaugh Map Minimizer   Alpha 

界面语言:英语、克罗地亚语
授权形式:GPL
项目地址:http://k-map.sourceforge.net/
下载地址:http://sourceforge.net/projects/k-map/

2011年4月6日星期三

使用MATLAB计算北京到纽约的新旧航线里程

数学实验的PPT课件参见百度文库
http://wenku.baidu.com/view/2eda008884868762caaed5a6.html
本文给出了实验的示例程序以及输出结果。

以下是mlab21.m的代码,用于计算北京到纽约的航线例程:

执行mlab21后得到以下结果
Dmatrix =
             0       1144.90       2155.64       9608.53      10993.77
       1144.90             0       1766.78       9936.44      11870.27
       2155.64       1766.78             0       8283.06      10764.64
       9608.53       9936.44       8283.06             0       4061.47
      10993.77      11870.27      10764.64       4061.47             0
可以清楚的看到,北京直飞纽约的航线例程为10993.77km,
而旧航线里程为1144.90+1766.78+8283.06+4061.47= 15256.21 (km).
假设飞机按照统计的平均时速980km/h匀速前进,那么新航线比旧航线至少节约了4.35小时,这尚未包含在各个中转站花费的候机时间。

以下是mlab22.m的代码,用于在球面上绘制新旧航线:


这一段程序调用了skyway(p1,p2,color)函数,代码如下:


执行mlab.22之后,可以在Figure(1)窗口中看到绘制的新旧航线图:
视角一(示太平洋)
视角二(示北极)

2011年4月3日星期日

鉴别真假逻辑M215无线鼠标,真假对比照片

今天买一只罗技M215无线鼠标,当时有一点小不对头,就是这只鼠标在玻璃桌面上不能用,其实很多鼠标都不行的,但是先前我买的M215可以,所以有一点小疑问,但也没在意。但是回到宿舍后发现今天买的鼠标是假的,假货最怕对比,只要一对比,真假立现!
这是我今天买的罗技M215,假货,正面外观与真货没有任何区别,看来我这次大意了。
下面就来对比一下真货和假货:
真:正面贴有防伪标签
假:同样位置却贴着『25m』,正面没有贴防伪


真:标签印刷清晰可辨
假:标签印刷模糊不清,中间有圆形突起
真:塑料质感好,左下角可以窥得电路板一角,绿色的。
假:塑料质量不好,照片看不出来。电池盖弹出按钮有明显段程感。
真:窥视里面的电路板,做工精细,绿色的板子。
假:里面的板子是普通的,没有绿色阻焊层,板上蓝色的是电容

总结一下鉴别真假的办法吧:
1、真货标签印刷清晰,假货印刷粗糙。
2、真货里面的塑料质感很好,假货里面的塑料比较粗劣。
3、真货内部是涂有绿色阻焊漆的双面板,假货内部是单面板,原件面看不到阻焊。
4假货附赠的电池是劣质555电池。
5、真货开关下面有红绿色区分开启关闭状态,假货没有。
6、开启鼠标开关后,真货指示灯绿色常亮若干秒熄灭,连续使用时指示灯不亮。假货红绿交错闪烁一次,绿色闪烁若干次后熄灭,连续使用时红色闪烁。
7、目前我见到有3种外包装,我第一次买的真货,包装正面有防伪没有『25m』;今天买的假货包装正面有『25m』防伪在背面;京东商城等地的包装正面同时有『25m』和防伪。目前Google搜索『罗技M215』得到的图片大多数是正面贴有『25m』而没有防伪的,他们全部是假货?诅咒生产销售假货的人们!!

 最简单的官方鉴别方法:
固定电话查询: 拨打800-820-7199(免费电话查询)
短信查询: 编辑短信发送到106695882108(暂时不支持133、153、189等新号段)
网站查询: www.logitech.com.cn/antifake
请记下这些地址,防止被假冒的网站或者网站欺骗。



2011年3月29日星期二

简单C语言快速计算真值表!

正在学数字逻辑的我,实在厌倦了那些纯粹推演真值表的题目,太无聊了!于是为了偷懒一下,编写了一下小程序……

The follwing code snippet is hosted on Github Gist.
在程序中,使用到了几个逻辑算符,取反INVERT『~』逻辑与AND『&』逻辑或OR『|』,它们跟 非『!』逻辑与『&&』逻辑或『||』的区别是,前者是对二进制操作数的每一位进行操作,而后者则是把操作数当作一个整体进行运算。
如果你如要更多或者更少的变量,或者你需要计算其他的表达式,简单地按照这个模板进行更改即可,这并不困难~
之所以选择C-FREE编程环境,是因为他比Turbo C++或者Borland C要友好的多,而且是免费的。如果你对编程环境|编译器了解不多,那建议你使用C-FREE。