《写给大家看的设计书》读后感

我读过两本关于视觉设计的书,一本是《写给程序员的Web设计书》, 这是第二本《写给大家看的设计书》

写给大家看的设计书

我对前者的评价是「作者花了大约25%的篇幅来讲述设计理念和方法,这也是我真正想看的部分。 本来想从书中获取更多布局、色彩、字体的内容,发现还是太少了。图灵系的书翻译不错。」

相对应的,《写给大家看的设计书》是我真心想看的设计入门书。作者的文字功底好,经验丰富, 范例适合,取材广泛,总之,是不可多得的一本好书。

书中提到了设计四大原则:亲密性 / 对齐 / 重复 / 对比。依靠这四个原则, 就可以设计出效果不错的出版物(包括书籍、文档、幻灯片、网页等等)

  • 对比(Contrast):对比的基本思想是,要避免页面上的元素过于相似,如果元素 (字体、颜色、大小、线宽、形状、空间等)不相同,那就干脆让它们截然不同。 要让页面引人注目,对比通常是最重要的一个因素,正是它能使读者首先看到这个页面 …

more ...

关于 NetworkManager / PolicyKit / ConsoleKit 的那些屌事

在使用 Awesome 的过程中,我又遇到了一个老问题「NetworkManager 在非 Gnome 环境启动后,会无法 添加 / 删除 / 编辑 无线连接」。明眼人一看就知道, 这是权限的问题。

问题描述

我的环境是 ArchLinux / xmonad 0.10 / awesome v3.4.11 / GDM 3.4.1 / NetworkManager 0.9.4.0, 下面我用 awesome 做示例,其他非 Gnome WM 也应该是类似配置。

我的 WM 启动流程是: 通过 GDM 启动 xmonad / awesome,启动 …

more ...

使用独立图床子域名

最近在将 Wordpres 切换到 OctoPress,顺便将图片统一放到Upload4D管理。

我挑选图床管理程序有下面几个需求,需求由强到弱排列:

  • 开源
  • 简单
  • 不需数据库支持
  • 支持分目录
  • 允许上传图片
  • 支持后台直接操作文件
  • 支持用户管理,不允许其他人上传
  • 页面美观
  • 不要生成缩略图等文件
  • 软件持续更新

于是我踏上了「考古之旅」,先后试用了 MiniGal Nano / MG2 / CF Image Host Script / minishowcase 等等图床软件,评测记录如下。

参赛选手

MiniGal Nano

MG Nano

  • 没有上传功能
  • 没有后台管理功能
  • 2010年最后更新

MG2

MG2 前台 MG2 管理界面

  • 假目录,其实所有照片在同一目录下面
  • 界面丑
  • 09年更新

美优网 Meiu Studio|php相册系统

  • 国产
  • 需要 …
more ...


Vim 下模拟 Emacs 键绑定

Vimer 需要 Emacs 键绑定?看上去很蛋疼的需求吧。其实不然,大部分的 Shell / Readline 默认绑定的是 Emacs 键位绑定(处于输入状态下,Emacs 的键位很好用)。Vim 的模式切换很牛逼,但是 Insert 模式下面,只有寥寥几个快捷键,我修改了配置文件,绑定需要的 Emcas 按键到 Vim 中来。

Github 中搜索关键字 Vim Emcas key bind,出来一些结果,不是很完美,我又慢慢调教了几个星期,放出我的 .vimrc。

" 模拟 Emacs 键绑定
" Move
inoremap <C-a> <Home>
inoremap <C-e> <End>
"inoremap <C-p …
more ...

使用 Vundle 管理 Vim 插件

早在这个月初,我就在 Vim 的邮件列表看到了一封关于 Vim 插件管理的 邮件。 才惊呼原来有这么强大的插件可以用来管理我那一坨插件, 今天细细阅读并查了一些资料,变开始配置自己的 Vim。

几种管理插件

Vim 的插件管理工具有蛮多,比如:

Vim-addon-manager 和 vimana 的对比,参见 Vim的插件管理工具

我最会选择了 Vundle,通过子目录管理插件,支持 Git 更新。 我其实不太喜欢子目录,觉得目录太多看着烦,但是考虑到在没有一个良好的 PKG 包描述文件的前提下,分子目录是一种简单有效的方法。

Vundle 通过 git 来对插件进行更新,有三种源可以添加:

  • github 中 vim-scripts 的项目(这个账号是为 …
more ...

Fcitx 配置

Fcitx

Fcitx

Fcitx 简介:

小企鹅中文输入法(Free Chinese Input Toy for X,fcitx)
是一个以 GPL 方式发布的输入法框架, 编写它的目是为桌面环境提供一个灵活的输入方案。

本程序目前可以支持XIM和GTK2,GTK3,QT4的IM Module,可为支持

XIM 的 X 应用程序提供输入服务。 fcitx 的源码包内提供了区位和全/简/双拼,

并支持基于码表的输入法(自带五笔、二笔和仓颉等输入码表)。

您可以从 http://fcitx.googlecode.com 下载最新的发布版本。

当年刚开始使用 Linux 时候,使用的是 iBus,随后发现 Fcitx 这个输入法, 试用了一下就发现自己所需要的 双拼 / 模糊音 / 自定义输入 功能都有提供 …

more ...

GAE 编程指南读书笔记

GAE 和我蛮有缘分,我初学 Python 的其中一个原因就是当时 GAE 刚推出, 当时想法是免费的应用要用起来,要不然就浪费了。随后也假模假样的看文档, 就是没有什么产出。

去年写了一个小应用 dbevent2gc , 期间发现 GAE 和普通程序开发的诸多不同,又遭遇 GAE 配额大幅缩水, 写出来的应用运转的不太稳定。在南京图书馆的架上看见这本《GAE 编程指南读书笔记》, 立即借回家仔细阅读。

  • GAE 的简介

    • 运行时环境 Python / Java
    • 数据存储 Datastore(实体 / 查询 / 索引 / 事务)
    • 服务(Memcache / GAccount / 任务队列 / 计划任务)
    • 工具(SDK / appcfg / dev_appserver / 控制台)
    • 入门(安装 / GAccount / webapp / app …
more ...

在Python中调试代码

撰写程序时候,需要在调试上面花费不少时间,好的调试工具可以让这个过程如虎添翼, 靠打 log 调试会是一种很痛苦的过程,我总结一下 Pylons 开发的调试技巧。

吐槽:团队开发时候,每个成员需要学习、总结和分享各自的开发技巧, 这样才能自我提升并提高开发效率。这属于团队文化建设,开发是一种艺术创造过程, 绝对不是简单的复制和粘帖。

在 Python 中调试

pdb

在代码中加入下列语句即可启用交互式调试。

import pdb;pdb.set_trace()

在 pdb 中,可以使用 h / l / b / n / s / c / j / a / p / ! / q 这些命令所代表的含义可以通过 h(elp) 打印出来。

参考链接:

ipdb

比 pdb 更好用的是 …

more ...

Chrome 独立代理设置

Chrome 在2011年4月份时候,加入了两个新的实验性扩展分支,分别是 Web Navigation Extension API 以及 Proxy Extension API, 通过他们,可以让 Chrome 使用自己独立的代理。

借助这个新功能,我们可以通过 SwitchySharp 使用某个 list 完成部分网址代理。

我的环境: Arch Linux / Chromiun(17.0.963.78) / Proxy SwitchySharp 1.9.38。

安装 Proxy SwitchySharp

由于 SwitchyPlus 停止维护, 因此这里我使用 Proxy SwitchySharp

Proxy SwitchySharp 介绍如下:

轻松快捷地管理和切换多个代理设置。基于 "Proxy …

more ...