- 浏览器
- 99%的时间是在用Safari,有时也用一下Opera和Firefox,不过Firefox在iBook上的表现实在太差
- 下载
- 国内的FTP大多使用的是GB2312编码,而我多用UTF-8环境,Cyberduck比较好用。还有用到命令行下的curl -O。
- 文本编辑
- 以前常用的是Emacs.app,写Django的时候觉的Textmate比较爽,但是要付费且中文支持不佳。现在回到命令行下的vi,其实GUI的TextWrangler也不错
- 文书处理
- 目前是用了MacTex、Office2008、iWork三种,各有优势。
- 邮件处理
- Mail.app工作用最可心,mutt看列表最可心
- 图像处理
- 画流程图、结构图都用OmniGraffle。处理图片大小等小问题,Seashore和Preview是的第一选择。
- GTD
- GTD则是最原始的手写记事本加上iCal,有试用OmniPlan什么的,还是不够易用。
- 系统增强
- Quicksilver应该是安装的第一个软件了,AppCleaner在试用软件的时候常常用
- 其它
- PlainClip去掉剪切薄里的样式。Perian给QuickTime加Plugin。Flip4Mac播wmv。iChm读chm。Chicken连VNC。Twitterrific连twitter。
Recently in 工作 Category
算起来用上mac也已经二年了,一共重装过五次系统(2次Tiger, 1次Leopard测试版,2次Leopard正式版,都是折腾),也试用过不少的软件。整理备忘。
今天吃饭前从Jackos那里拿起了一本UNIX系统管理翻了几页。书中对系统管理员的工作定义如下
这本书是在2001年在国内的第一版,最新的一版应该是Unix与Linux系统管理。上述的一段话中的某几条我还是深有感触的(这一版翻译好像有点问题,所以引用的时候我做了一些修改)。其实最有用的是最后一条,这是一个系统管理员必修的课程。而修练的方法也正如其所说。
- 添加新用户
- 给激光打印机加墨粉
- 做系统备份
- 从备份里重建那些由于用户不小心而被删除的文件
- 回答用户的问题,比如"怎么发电子邮件?",这种问题总是有人在问
- 监视系统活动,并且试着调整各项参数,使过载的系统有时间回应那些闲置中的系统
- 在用户的请求之下,暂时违反规定提前他们在打印队列里的打印作业
- 维护系统安全,并收拾上任管理员留下来的烂摊子
- 安装程序
- 清出更多的磁盘空间,特别是连续的空间
- 在系统死机之后重新开机(而且常在很晚或是不方便的时候 )
- 找出小故障,不过这可能意味要巡查在房子四周的网线,以检查该网络的每个节点
- 安装新到的设备,并改变桌椅的摆设以便安装
- 找出某个程序、命令、或是某个帐户为什么突然开始不正常工作了,虽然用户发誓他什么也没有做
- 试着修理坏掉的CAD/CAM二进制数据文件
- 参加会议
- 在网络上加入新的系统
- 尽量使用脚本自动处理上述的工作
如上所述,正式的系统管理的确是一件复杂的工作,除了计算技术之外,还得靠一点人际沟通技巧。... ... 与他人沟通最好的学习方法是,看别人怎么做,学习他们的成功之外以及避免重复他们的错误
做系统管理,一方面有系统中最高的权限,另一方面则必须和他人合作,并且为他们提供服务。管理系统其实和治理国家很像--可能是一个法西斯式的铁腕独裁者,不顾用户的需要;或者也可能因为用户的问题忙的不可开交,而没有自己的时间。其实要做好系统管理也没有什么特别的决窍,只是在这两者之间取得平衡:除了让用户尽量满意之外,也要坚持既定的政策,以维护全系统的利益。而系统管理的最终目标,则是以最简单而有效率的方法,提供用户良好的工作环境,并且顾及系统安全、用户需求、系统能力以及和用户之间的交互我有时在想应用的开发人员与系统管理人员是不是天敌。这里还有一段是关于系统管理的哲学归纳
update: Jackos从cn换到org了
- 做任何事之前先做计划
- 做完后要能够恢复回来
- 慢慢做改变
- 反复测试,直到确定没有问题
- 懂得每件事的工作原理
公司有几台服务器总是不能把自己的ssh-pubkey放上去,每一次输入那一长串的东东实在是无法忍受。看了一下expect像样的文档没有一个,倒是有一堆的例子,学习下,放在这里备忘吧。
#!/usr/bin/env expect set timeout -1 #设置超时的时间,单位是秒,-1是永不超时 set password **** #设置变量 set host [lindex $argv 0] #设置一个变量是从命令行参数得到 spawn ssh guixing@$host #来来来,下个蛋 expect "assword:" #等的就是它了 send -- "$password\r" #发出去 interact #剩下的就是自己的了
有台MySQL从库报错如下:
080211 22:18:44 Slave I/O thread: Failed reading log event, reconnecting to retry, log 'Content3325.013' position 741096772 080211 22:18:44 Slave: connected to master '****@****:3306',replication resumed in log 'Content3325.013' at position 741096772 080211 22:18:44 Slave: received 0 length packet from server, apparent master shutdown:
记录处理过程
Continue reading MySQL Replication: 从库错误.
最近有几台加过内存的Dell 2950总是很囂张的把我的mysqld给kill掉了,原因是Out of Memary了。这几台机器都有添加新内存的经历。应该是OOM-killer在做怪了吧。查了一下,这种情况好象是发生在LowMemary耗尽的时候,kernel就会把某个倒霉的pid给干掉,而且这个时候他是不会管HighMemary还有没有剩余。先做了一些调整,看看情况再说吧。
sysctl -w vm.lower_zone_protection=250 sysctl -w vm.overcommit_ratio=70 #这个可能没什么大用吧
update:
适才到 delphij那里了解了一下,32位CPU有不同的工作模式,因APE增加了四条地址线,因此有36位的物理寻址能力,但寄存器是32位的,所以最多只能使用4G内存。但是OS有办法能让你运行的一大票进程访问的内存其实是4G之外的内存,但是MySQL是他娘的线程的,所以只能在同一个进程地址内。所以MySQL只能看到4G内存,但这4G内存有1G是系统使用的,所以只有3G内存给MySQL用。解决的办法就是换64位的吧。
