13个不错的Javascript和CSS的菜单
以前发布过两篇文章——“ 30种时尚的CSS网站导航条 ”和“ 20个优秀的Javascript导航技术 ”,今天向大家介绍一下,13个不错的Javascript和CSS的菜单。
1) 性感的滑动型菜单
演示:
Mootols Version
演示:
Script.aculo.usVersion
VIM有趣的命令
前几天逛豆瓣,发现了VIM一个有趣的小技巧。
在VIM中输入:h!试试看会发现什么。
再输入:h 42呢?又会有什么发现?
Richard Feynman, 挑战者号, 软件工程
源文: 链接 (本文主要根据挑战者号的问题,以及Richard Feynman那对NASA严厉的批评报告,批评了不适当的“自顶向下”的设计方法,并总结了一下软件工程和其它工程的相通的一些观点。翻译水平有限,欢迎指正)
佛罗里达州,美国东部时间1986年1月28日上午11时39分, 挑战者号航天飞机 执行为期6天的 STS-51-L 任务 ,在发射后,其右侧固体火箭助推器(SRB – Solid Rocket Booster )的O型环密封圈(用于连接两节助推器)失效,泄漏出来的热汽达到了5000华氏度,直接蒸发了O型密封圈,并灼烧了毗邻的外部燃料舱,在几秒钟内,外部燃料舱出现结构连接失效,空气的动力迅速分解了航天飞机。在而航天飞机上升72秒以后,助推器脱落,导致航天发飞向侧面滑出。几乎在引航员 Michael J. Smith 发出”Uh oh” 的同时,整个航天飞机完全解体,片刻,航天飞机内部发生爆炸,所有7名宇航员罹难。 那时的我还只是一个小孩,我从电视下方滚动的新闻条目知道了这一惨剧。
在那个时候,火箭助推器工程师曾经警告过这个O型环可能存在问题,但可惜的是,NASA的管理层忽略了这个问题。 美国总统里根委派 罗杰斯委员会 对事故进行了调查,调查成员包括著名的物理学家Richard Feynman。其不羁的态度和直来直去的方法和罗杰斯委员会的风格形成了鲜明的反差。主席罗杰斯,一个政客,评论Feynman是一个“真正的痛苦”。最后,在委员会提交的报告中,Feynman反判的观点几乎被清除了出去。并且,Feynman曾被主席威胁过要把他的名字从报告中完全除掉,但最终,他们还是同意在报告中加一个附录,但只是个人观点—— Appendix F – Personal Observations on Reliability of Shuttle 。
装完Ubuntu 9.10后要干的事
Ubuntu 9.10刚刚release,就有人在网上发表了贴子告诉大家在装完这个操作系统后,还需要去安装的一些开源免费软件,相当丰富。不过,这个贴子的链接被GFW干掉了,所以,你需要使用Tor的支持,或是使用Google Reader才能查看 源文 ( RSS链接 )。而这个贴子非常长,所以我无法作全文翻译,不过这个贴子的内容具有很强的指导意义,所以我在这里为大家总结一下该文所提到的那些诸多的东西。(关于那些如何翻墙的事情怎么做我就不多说了,网上有很多相关的文章,你自己搜索一下就可以找到)
基本工作
1)第一件事自然是下载那些Ubuntu的镜像站点表,以及更新操作系统的一些补丁。“系统”->“管理”-> “更新管理器”。
2)第二件事是设置文件目录共享。就是在文件夹上点右键,在菜单中选“属性”,然后在对话框中选“共享”,那个对话框整得跟XP几乎一模一样。当然,这需要samba的支持。(sudo apt-get install samba)
3)接下来是设置时间同步。通过NTP(Network Time Protocol)同步你的时间。通过点击“系统”->“管理”-> “时间/日期”,然后选择“Keep synchronized with Internet servers”(和Internet服务器同步),于是你需要安装NTP协议。(sudo apt-get install ntp)
文件备份的几个简单命令
我们知道,备份文件是一件很重要的事情,我在《 优秀程序员的十个习惯 》一文向大家说明了备份文件应该是程序员最基本的一个习惯。本文主要是向大家介绍一些在备份文件和数据时能用得到的一些示例,当然,这些示例主要是通过一些命令行或是脚本来实现的。这就是用命令行和脚本的优势,你可以实现比较灵活和自动的定制。
本文中的脚本和示例都是主要是通过zip, tar, ftp, wget和shell脚本来完成。在Linux下,你可以什么也不用安装任何程序,但在Windows下,你需要安装zip 和wget这三个命令(在本文的最后有这三个命令的链接,你可以去下载)
几个小脚本
1)首先,我们来看一下,如何给某目录打个zip包。
Windows :
zip -r backup.zip "c:\yourfolder"
Linux : (打包自己的home目录)
tar -czvf ~/backup.tgz --exclude backup.tgz ~/
ldd 的一个安全问题
我们知道“ldd”这个命令主要是被程序员或是管理员用来查看可执行文件所依赖的动态链接库的。是的,这就是这个命令的用处。可是,这个命令比你想像的要危险得多,也许很多黑客通过ldd的安全问题来攻击你的服务器。其实,ldd的安全问题存在很长的时间了,但居然没有被官方文档所记录来下,这听上去更加难以理解了。怎么?是不是听起来有点不可思议?下面,让我为你细细道来。
首先,我们先来了解一下,我们怎么来使用ldd的,请你看一下下面的几个命令:
(1) $ ldd /bin/grep linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/libc.so.6 (0xb7eca000) /lib/ld-linux.so.2 (0xb801e000) (2) $ LD_TRACE_LOADED_OBJECTS=1 /bin/grep linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/libc.so.6 (0xb7e30000) /lib/ld-linux.so.2 (0xb7f84000) (3) $ LD_TRACE_LOADED_OBJECTS=1 /lib/ld-linux.so.2 /bin/grep linux-gate.so.1 => (0xffffe000) libc.so.6 => /lib/libc.so.6 (0xb7f7c000) /lib/ld-linux.so.2 (0xb80d0000)
第(1)个命令,我们运行了
ldd
于
/bin/grep
。我们可以看到命令的输出是我们想要的,那就是
/bin/grep
所依赖的动态链接库。
第(2)个命令设置了一个叫 LD_TRACE_LOADED_OBJECTS 的环境变量,然后就好像在运行命令
/bin/grep
(但其实并不是)。 其运行结果和ldd的输出是一样的!
第(3)个命令也是设置了环境变量 LD_TRACE_LOADED_OBJECTS ,然后调用了动态链接库
ld-linux.so
并把
/bin/grep
作为参数传给它。我们发现,其输出结果还是和前面两个一样的。
Windows 7 的新粉丝 Linus Torvalds
正当Windows 7 开始热卖的时候,正当广大北美用户抱怨Windows 7的销售价格,在东方要比西方便宜很多的时候。我们著名的Linus Torvalds来到了日本东京的一个软件商店里“庆祝Windows 7的Release”,难道他是去那里买一份便宜的Windows 7?
Linus Torvalds, 图片来自一个未经确认的 Yodobashi 商店, Tokyo, Japan. 来源: Jim Zemlin/The Linux Foundation ( 点击看大图 )
这个图片目前还没有新闻报道,不过已有很多来源可以参考了……
Ajax开发利器UIzard
正如UIzard这个名字所暗示的,这是一个User Interface 的Wizard,从字面上理解,这是一个做界面的向导。这有什么奇怪的,Dreamwave之流已经是相当的成熟了,还能好得过它?是的,这个开源的项目,也许并没有那些商业软件那么成熟,不过,我想告诉你的是,这个开源软件绝对是值得我们重点关注的一个软件。
你可以理解为这是一个Web开发的IDE,不过其集成了Ajax方面的东西。这并不仅仅简单的是那种“所见即所得”的编辑器。而且,它也不信仅可以让那些非程序员非常简单地创建一个从前端到后端的Web应用,而且,他还可以让你连接数据库,创建非常复杂的布局和时间线,甚至于一些套件(白板,在线的类Word,Excel,PPT等功能),所有这些,你只需要简单的点几下按钮就可以了。真是相当的强大。(下面是个抓图)