Tag cloud
algorithm android apache Arch Archlinux birthday blogging C++ C++ Primer domain DreamHost English Firefox font fun G1 game Gentoo GFW GnuPG Google holiday Java life Linux Mac mail music network nVidia OI PageRank pal password programming qq science template Tor Ubuntu Vijos webmaster tools windows wordpress WoWCategories
Archives
- February 2012
- August 2011
- July 2011
- June 2011
- May 2011
- March 2011
- February 2011
- December 2010
- August 2010
- July 2010
- March 2010
- February 2010
- January 2010
- December 2009
- November 2009
- September 2009
- July 2009
- June 2009
- April 2009
- March 2009
- February 2009
- January 2009
- December 2008
- November 2008
- October 2008
- August 2008
- July 2008
- June 2008
- May 2008
- April 2008
- March 2008
- February 2008
- January 2008
- December 2007
- November 2007
- October 2007
- September 2007
- August 2007
- July 2007
- June 2007
- May 2007
- April 2007
- March 2007
- February 2007
- January 2007
- December 2006
- November 2006
- October 2006
- September 2006
- August 2006
- July 2006
License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported License.Meta
Monthly Archives: April 2009
计算任意日期是星期几的方法──蔡勒公式(Zeller's congruence)
我们经常需要计算一个日期是星期几,比较好想的方法是知道一个日期是星期几(比如 1900 年 1 月 1 日是周一),然后一天一天地数……效率有点低,呵呵。改进一点可以一次数一个月或者数一年,不过貌似得用到什么偏移表什么的,不够麻烦的。 来,我们说说蔡勒公式。形式非常诡异和神奇: [tex]$$dayOfWeek = \left(d + \left\lfloor\frac{26(m+1)}{10}\right\rfloor + y + \left\lfloor\frac{y}{4}\right\rfloor + 6 \left\lfloor\frac{y}{100}\right\rfloor + \left\lfloor\frac{y}{400}\right\rfloor\right) \mod 7$$[/tex] 这里我写的是一种比较适用于计算机计算的公式,其他的形式可以参看维基百科。 上式中,y 是年份,m 是月份,d 是日期,dayOfWeek 就是星期几了(以 0 为星期六,1 为星期日,依此类推)。特别注意,如果月份是一月或者二月,要把它们当作上一年的十三月、十四月。 当然,这个公式只适用于格里历,很久以前的事它就管不了了。 Tags:calendar
怎样废弃 PGP 密钥
由于种种原因,比如密钥已经泄露,或者你改了名字或者 email,你很可能需要废弃以前使用的 PGP 密钥,简单地不用它总不太好吧,我们来告诉别人你已经不再用这个密钥了。 以 GnuPG 为例: 首先,我们需要拿到 PGP 密钥的废弃证书: gpg -o revoke.asc --gen-revoke user-id(替换成你自己的 user-id) 这样我们就把废弃证书写到 revoke.asc 里了。其实废弃密钥应该在产生密钥对的时候就生成,然后放在安全的地方,当然我比较懒…… 之后我们导入废弃证书: gpg --import revoke.asc 这样我们就废弃了这个证书,最后我们把废弃掉的 PGP 公钥发到 keyserver 上。 gpg --send-key key-id (用 gpg --list-keys 列出 key-id) 好了,这样大家就都知道你的 PGP 密钥已经 revoked … Continue reading