欢迎阅读我的博客,下面是博客饭否和正文内容,推荐你用RSS阅读。

生活中的程序流程设计

今天我要做五件事,取钱,吃饭,坐公交车,买票,去图书馆还书。

条件观察:
银行在餐厅的前面,公交站在餐厅门前,坐交车需零钱,买票时间越早越好,去图书馆还书交6毛钱的罚款,图书馆收费处5:30下班。

程序设计流程:
到餐厅点6块钱一份的面, 利用厨房准备午餐的时间去银行取钱, 利用餐厅找回的其中4块零钱做公交车, 赶到买票时间最早,转城巴到图书馆还书。

实际运行:
到餐厅点6块钱一份的面, 利用厨房准备午餐时间去银行取钱,银行人多排队10分钟, 回来餐厅吃面,买单10元,为什么是10元,我明明点的是6元钱的,原因是餐厅服务员写错了, 好吧,都吃完了,几块钱算了,那请找回我坐交车的零钱,餐厅收银员回复,没有零钱,找的全是10元的, 好吧,既然没零钱,去隔壁的便利店买包纸巾找零钱吧,买包标价纸巾3块的纸巾结果收费却是4.8元,原因是涨价了签价还没来得及改,单已经打出来了不能更换商品了,好吧,付款10块找5.2元,还是没有零钱坐公车,再买一支水喝?我刚吃过饭很饱也不渴要喝水干什么,好吧,回到住处跟楼下的便利店兑换10元硬币,接着再走到公交站等公交20分钟左右终于有一班公车来了,整个流程计划是30分钟,却用去了90分钟,3倍时间!

为什么用掉了90分钟时间,为什么比原计划多3倍的时间:
餐厅服务员写错,商品标价出错,公交车不准时。

标签: ,

搁置在电脑角落里的作品

今年南方的冬季显得特别的寒冷,我穿着一套舒适的棉衣,缩在房间的角落里,脑袋里不停的思索着人生终极意义,对,就是所有年轻人都会想的问题,而我想的却更多,我把这个作品的主题命名为“黑暗里,眺望人类文明。”,并着手设计了开始页面。

home_hover

两天过去了,我在光和阴暗部分下了很大功夫,设计了3套效果图,在对人性充分观察后,最终的页面是这样:

hoedo

我带着金属摇滚走在大街上,看着行人和车辆,那一张张面孔嘴脸和行为,让我感到厌倦,是的,人类是文明的,但是,并不是所有人都懂的,至少大部分都不懂,人们需要文明,但是更需要生存,回到家里,这个作品被我搁置在WORKS文件夹里。

社会责任,艺术,对我来说是个沉重且让人费解的话题,我开始在自身找到出口,于是有了下面这个作品:

style

语义化结构、多媒体应用,易用性,用户体验,诸多原因,使用再次放开了这个作品的开发,我想,我只是想要一个名字DARK的界面。

标签: , ,

我的名字到火星了,庆祝!

火星,你好,我是来自地球人类名字。

phoenix dvd installation

早在2006年我申请参加了由美国University of Ariaona and The Planetray Society 联合美国宇航局组织的一项Message form Earth的计划,这项计划将25万来自不同国家、民族、年龄的人名,刻录在一张MINI-DVD里,由美国宇航局的凤凰号将这张刻有人类的名字的DVD送到火星上。

NASA'S PHOENIX

每次凤凰号有新的进展都会收到来自这个 Project 的来信

Thank you for participating in The Planetary Society's Messages from Earth project!

Your name is now one step closer to Mars. The silica glass mini-DVD with a quarter million names on it -- including yours -- has been installed on the Phoenix spacecraft, and is ready to go to Mars!

The spacecraft has just successfully been flown to Cape Canaveral, and now will begin final testing and preparation for launch. Phoenix will arrive and land in the northern near-polar regions in late May or early June 2008 (exact date dependent upon launch date). We’ll keep you updated on the mission as it progresses towards launch, and of course, update you on its launch and landing.

Phoenix On Mars!

凤凰号登录火星后,收到 The Planstray Society 的来信:

Phoenix On Mars!

For the first time in human history, we have landed in a polar region on another planetary body. Congratulations to the Phoenix team — we are on Mars!

Now — armed with a suite of science instruments and a digging robotic arm — the spacecraft and its team on Earth can begin hunting for water ice and adventure.

Don't forget that you are a part of this adventure…part of the story of space exploration!

As part of The Planetary Society's Messages from Earth program, your name — along with a quarter million others from around the world — is now on the surface of Mars. Landing with you on the disk is Visions of Mars, a treasure trove of literature and art — from classic works by Arthur C. Clarke and Ray Bradbury to Orson Welles' radio retelling of "The War of the Worlds" to a special audio recording of Carl Sagan delivering a message to the future.

The story of space exploration is being written everyday.

Fifty years ago we couldn't have told this story, but 50 years from now our names and thoughts...those Messages from Earth that we have sent...will be part of the story — part of the permanent record of space exploration.

Stay with us as the journey unfolds…

参考:

亚利桑那大学 the phoenix mission 网站: http://phoenix.lpl.arizona.edu/mission.php

The Planetray Society Website of Message from Earth

美国宇航局Jet Propulsion Laboratory网站:http://jpl.nasa.gov/

标签: ,

因未备案停机一周

因为没有在工业和信息化部备案,朋友的主机被强制关机了,我的网站也停止运作一周, 今天下午3点(2008-5-9 3:00pm)恢复网站运行。 大家都知道我这只是个人主页,我对那些政治和所谓的关键字毫无兴趣。 我并不反对备案,但是,也请让我知道为什么备案,我也很想支持国家的政策,但是,在这种没有任何通知的情况下就把朋友的主机强制关机的做法让人感到厌恶。

标签: ,

打印文件样式表

在打印页面的时候浏览器会忽略掉media="screen"声明的样式,如果没有明确声明媒体类型可能影响打印结果,正确的情况应该是把打印样式声明为media="print",另外还有"handheld","projection"等声明。

设置一个普通的打印样式表:

/* 准备xhtml文件 */
<link rel="stylesheet" type="text/css" media="print" href="print/css">
/* 声明背景色文本和外边距 */
body {
background-color:#fff;
color:#000;
margin:0;
font:normal 14pt/160% verdana,arial,sans-serif;
}
/* 用一个合适的LOGO */
h1 { background:url(logo.gif); }
/* 隐藏不需要打印的区域 */
#side #footer { display:none; }
/* 改变标题大小颜色字体 */
h2, h3, h4, {
font-family:Arial,Verdana,sans-serif;
font-weight:normal;
line-height:135%;
color:#000;
}
h2 { font-size:22pt; }
h3 { font-size:18pt; }
h4 { font-size:16pt; }
h4 a:link, h4 a:visited { color:#000; text-decoration:none; }
/* 把链接改成黑色 */
a:link, a:visted, a:active {
color:#000; text-decoration:none;
}
/* 显示引用的URL链接 */
#main a:after {
conetne:" (" attr(href) ")";
font-size:10pt;
}

把名词缩写也顺便改进一下:

abbr, acronym {
border-bottom:1px dotted #666;
cursor:help;
}
<abbr title="Cascading Style Sheet">CSS</abbr>

再延伸下去,这是一个跟易用性(usability)和可访问性(accessibility)有关的话题,具体可以参考W3C官方的可访问性的信息:http://www.w3.org/TR/WCAG10/full-checklist.html 和 Web Content Accessibility: http://www.w3.org/TR/WCAG20/,还有美国508: http://en.wikipedia.org/wiki/Section_508

标签: ,

action-packed 页脚

研究一下目前比较流行的一种内页布局方法“action-packed footer”页脚

把页脚内容分类

<div id="footer">
<div class="footerCol">
<h4>action-packed</h4>
......
</div>
<div class="footerCol">
<h4>Recent articles</h4>
......
</div>
<div class="footerCol">
<h4>Archives</h4>
......
</div>
<div class="footerCol">
<h4>Reading</h4>
......
<div class="spacer"></div>
</div>
<div class="spacer"></div>
</div>

按类别浮动元素

#footer {
width:760px;
margin:30px 0 0 0;
padding:40px 0 15px 0;
border:1px solid #000;
}
.footerCol {
float:left;
width:170px;
margin-left:15px;
}

为页脚内容添加样式

#footer ul {
margin:0;
padding:0 0 0 25px;
list-style:decimal;
line-height:150%;
}
#footer fieldset {
margin:0;
padding:0;
border:0;
}
#footer img {
float:left;
border:1px solid #999;
margin:0 5px 10px 0;
}
.spacer {
clear:left;
}

这是个基本模型的试验,还可以在页脚上加入更多元素,比如跳转到顶部等元素。

标签: ,

经典布局

流体浮动布局 float liquid layout。 流体定位布局 position liquid layout

流体浮动布局是以百分比为单位对列的宽度进行定位的,他随着不同尺寸的浏览器窗口进行调整宽度,小屏幕还行,大屏幕字行就会变得太长,阅读起来比较麻困难,CSS有个max-width属性可以解决这个问题,但是IE6以下版本的IE浏览器不支持这个属性。流体布局可以通过设定float或者position实现布局,布局实例见上面两个演示。

固定布局 fixed-width layout

使用固定布局可以实现对元素的精确控制,他不适合用在全局布局上,但是用到一些针对需要精确度量的内部元素,像标语,图像以及精确定位文本等,这非常有用。注意,在WIN/IE5.X浏览器下,这种布局的框模型把border, padding, margin计算在了width里。布局实例见上面的演示。

Contextual selector
这是通过触发基于ID声明的特定继承选择器来改变布局的思路,他对CSS的可行性来说很重要。让设计师最大程序的摆脱了样式表的束缚。

实现左右栏布局交换
就上面那个固定宽度布局的实例,实现左右栏交换效果,首先,准备body元素,命名id=“siwtch”,添加这个ID在样式表文件里#siwtch #sidebar内容,把左右浮动交换就行了。

实现三列变两列
就上面那个固定宽度布局的实例,实现三列变两列效果,准备body元素,命名id="twoCol",在样式文件里添加#towCol #content #sidebar内容,把content宽度加上一个侧栏宽并取消这个侧栏的外边距,把sidebar设置为display:none就行了。

最后添加一个faux column伪列

faux是false fake的意思,是一个叫dan的人提出的一个概念,这个技术可以让实际上高度不同的列给人印象却是高度一致的。他的基本原理是采用一个背景图像垂直平铺实现视觉上的一致。
准备一个尺寸精确的背景图像,把content和sidebar内容包含在一个新建的div里,把这个背景图像设置到这个新建的DIV里就行了。faux column在流体布局里工作很复杂,应用也不广。

标签: ,