Tag Archives: Tips
我的工作需要天天跟报表数据打交道,在交换的文件中,一般时间的字段内容都是 Unix 时间。为了检查数据的正确性,不可避免地需要转换 Unix 时间到人类可读的字面时间。
下面想分享的是一个在 Shell 下转换 Unix 时间到字面的小方法。与前面几篇一样,这个小 shell 函数仍然可以放在 ~/.bashrc 中方便快捷使用。
# 转换 Unix 时间到本地时间字符串
function ctime()
{
date -d "UTC 1970-01-01 $1 secs"
}
使用方法很简单:
$ ctime 1234567890 Sat Feb 14 07:31:30 CST 2009
对 date 命令熟悉的同学会说,date 不是已经有直接转 Unix 时间的参数了吗?
$ date -d @1234567890 Sat Feb 14 07:31:30 2009
但是不好意思的是,小弟有时候用的 date 程序好老,不支持 @ 符号。
$ date --version date (coreutils) 5.2.1 Written by David MacKenzie. Copyright (C) 2004 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
PS: 写完这篇博文,我又想到了一个有趣的事情,既然很多 Linux 64 位版本的 time_t 已经是 long long 格式了,那么 date 命令有没有 year 2038 问题呢?
下面是 date (coreutils) 5.2.1 在 64 位服务器上的尝试结果:
$ date +%s -d "Tue Jan 19 11:14:07 CST 2038" 2147483647 $ date +%s -d "Tue Jan 19 11:14:08 CST 2038" 2147483648 $ date +%s -d "Tue Jan 19 11:14:09 CST 2999" 32473710849 $ ctime 2147483647 Tue Jan 19 11:14:07 CST 2038 $ ctime 2147483648 Sat Dec 14 04:51:44 LMT 1901 $ ctime 32473710849 Mon Mar 28 07:33:53 LMT 1910
看来字面时间和 Unix 时间之间互转存在着问题啊!但是用 Ubuntu 11.04 的 date (GNU coreutils) 8.5 尝试就不存在这个问题了。
我总算理解了为什么别人说安卓用户三大爱好是:刷机、重启、换电池!
作为一个打拼在互联网界的民工,我不喜欢花很多钱在电子设备上,但又不想太落后于时代。在使用黑莓 8700 的这一年半中,对它的感觉经历了 “哦,这是一个很便宜的智能机” 到 “唉,这还能算是智能手机吗?” 的变化。用到目前,黑莓 8700 让我满意的地方就唯一剩下它可以独立为来电和短信铃声分配不同的提醒模式(振动、响铃、音量或LED闪),设置成为自定义的提醒profile。这对一天要24小时开机接收服务器告警短信的西二旗孩纸很有用!
于是乎,我就开始找性价比高的 Android 手机。其实之前拜托叶蒙买过一个内购的华为 U8220(坛子上一般称大内),女友一直在用;兼之电信送了一个华为 C5700,我也一直在用。不得不说使用后我对华为家终端的信任度大幅上升,因此第一考虑的国产品牌就是华为家了。
U8800 是从新蛋上买的,裸机价 1699(找代下单便宜20),移仓+快递用了 6 天——新蛋物流伤不起啊。
我在 U8800 坛子里逛了不少次,给我的第一印象是如果能忍受自带应用的话,不用刷机。回想起 U8220,貌似带的应用也不多,一直也没刷机提权啥的。谁知拿到 U8800 才发现,我靠,带了二三十个垃圾应用。
于是我想到了在坛子里的第二印象,提权之后删掉自带的应用就干净了。于是我就 recovery,提权啥的,总算把垃圾应用删完了,这下该能用了吧。然后我发现,咦,Gtalk 呢?电子市场呢?同步 Gmail 联系人的地方呢?都去哪儿了?然后就开始搜啊搜,有人说得装 Google 服务包,结果下了N个装上都不管用。最后我搞明白了一个道理:行货手机自带系统是不能用 Google 服务的,除非有人专门弄出来一个针对它的 Google 服务包。坑爹啊!你们坛子里讨论这个 ROM、那个 ROM,肿么没人说联通定制 ROM 不能用 Google 服务呢?如果这样我还费劲提个屁权啊!
于是只好刷机了。其实华为家有一点比较好的地方,就是如果某款手机也在国外或者香港销售的话,找一个标准干净的官方 ROM 比较容易(垃圾的东西只敢用来欺负自己人),而且使用的是官方的比较安全的固件升级方法。比如 U8800 就有海外版 ROM,从华为的官网上能下到,下来之后直接看帮助文件就可以,不用从论坛上找什么安装方法。
于是折腾了将近 5 个小时,这款手机总算可用了。其实时间大部分都花在前面“不想刷机”的状态上了,到最后决定刷机倒反而很快了,除了下载固件比较慢。
我真的无法理解这些国内厂商,用别人开源的手机操作系统,却要把别人的服务全抹了去,这是怎样一种忘恩负义!还有一个关键是,你又无法提供更好的服务!拿我来说,为什么一定需要 Google 服务?因为我的联系人全在 Gmail 里,我的日程安排是通过 Google Calendar 双向同步到电脑和手机。光这两点,我就必需连接到 Google 服务。我敢把联系人全部存到开心网吗?我敢用手机直连我公司的 Exchange 服务器吗?
自从大家了解到 Kindle 的系统是 Linux 后,无数仁人志士前赴后继地尝试以各种方式 hack 这个系统,对于我等用户来说真是一大幸事!
好久没有跟进电纸书论坛,居然不知道神器 FBReader Kindle 版 —— fbKindle 的发布。mobileread 网站的原帖中,已经给出了安装和配置修改方法。不过我是遵从这篇帖子中的步骤,无它,摘要读起来更快。
没用过的朋友可能不太了解 FBReader,它是一个开源的跨平台电子书阅读器,支持很多种格式,包括我们常用的 GBK 编码 txt 文档以及 epub 格式。由于 epub 格式电子资源很多,以前我还纠结于为了这些资源要不要装多看系统。现在有了原生的 fbKindle,从 epub 支持这点来看,多看是没有什么必要装了。
此外,还有国人开发的Kindle 原生系统拼音输入法,可以支持在书中或者浏览器中输入中文。虽然我没有安装成功,但我对作者的努力是相当的佩服!
在最近的使用中,我也发现了一个 Kindle3 离线读网上文章的小技巧。用 pdfcreator 将网页打印成 A6 幅面的 pdf 文件,并且在页面设置中设置四周页边距为 0(Chrome不支持,Firefox/IE可以),上下不打印网址、页数等信息。这样的 pdf 文件在 Kindle3 上会有比较好的展示效果(字体很小时顶多需要横屏),并且也有比较好的打印效果。由于 pdfcreator 还可以设置自动保存位置和自动文件命名规则,用起来还是挺方便的。
当然,如果你是可注册 K3-wifi 版用户,SendToKindle 浏览器插件可能更有用。
在越来越多有趣的事情发生在 Kindle 上之后,真期待这个生态圈将会变成什么样子。
服务器冗余和分拆是互联网服务中经常用来缓解访问压力的手段,那么检查或者管理多台同构服务器也是互联网行业工程师们绕不开的操作。经常面临的问题是:如何高效地在多台服务器上执行相同的命令,进行批量系统操作或问题检查。 Windows 下的 ssh 客户端 XShell 和 SecureCRT … Continue reading
分享几个觉得有用的小 shell 函数。 1. scppath 在进行一些跨机器的操作时,每次 scp 总要手动去拼那个路径,首先从 … Continue reading
环境:Linux Dist: CentOS 4.3,locale: en_US.UTF-8, .vimrc: set fencs=gbk … Continue reading
由于工作环境的问题,最近越来越感觉到 screen 命令的可贵,下面总结一点使用 screen 命令的小技巧。 最常用的参数组合: screen -ls … Continue reading
最近在写毕业论文,记录一下使用 LaTeX 排版时的一些笔记: 1. 正文英文使用 Times * 字体: … Continue reading
我平时习惯使用 Win+E 打开 Windows 的资源管理器,但对资源管理器的左侧栏一直不感冒。用热键打开我的电脑本身就是为了键盘操作方便,但是多了个左侧栏使方向键选择文件夹相当不方便。昨天我总算找到了覆盖 Win+E 热键的方法。 AutoHotKey … Continue reading

