無標題文檔

截图有时候能勾起些回忆

今天周末,我把我的移动硬盘带到公司来打算整理下我的文件。无意间当整理我的图片目录的时候发现「尘封」已久的一些系统截图。

这些可以说都是我使用计算机的见证。由于截图众多,我精选了其中的几张有趣的,和大家分享一下。

https://friable.rocks/_/2007_11_10/1194688388.gif

首先是控制台。谁说 Linux 的控制台是黑底白字非常死板的?有了 Bootsplash ,在控制台上可以任意的加上彩色的背景。

https://friable.rocks/_/2007_11_10/1194688347.gif

看来上面的这张图相信大家知道我为什么取名叫 feelinglucky -「手气不错」了吧。是的,当时我运气不错,因为我的老机(MMX 166)由于硬件老旧,所以内核一下子就找到了。我记得当时同寝室的哥们被我气得半死,呵呵。

https://friable.rocks/_/2007_11_10/1194688414.gif

Linux 下我还是喜欢使用 VIM 编写程序,这已经成为我的信仰了(请允许我这样说)。可能你会看见控制台的字体非常奇怪。在 Slackware Linux 下,编辑 /etc/rc.d/rc.fonts 就可以在 Framebuffer 控制台下显示自己想要的字体了。

https://friable.rocks/_/2007_11_10/1194688426.gif

对于中文的支持内核级别的当然是使用 UNICON 了,这个是 TurboLinux 的一个项目。已经很久没有关注这个项目来,自工作了以后我发现我很少「折腾」 Linux 了。我还依稀的记得为了同时打上 UNICON 和 Bootsplash 补丁我 Hack 了不少的时间(当时的 Linux 版本号我记得是 2.4.22)。

https://friable.rocks/_/2007_11_10/1194688442.gif

相信大家还是喜欢 GUI 界面吧,上面这张是 Fvwm 窗口管理器 的截图。我开了一个 xclock 用来显示当前时间,还有一个系统监视工具(名字我一时给忘记了)。界面虽然简单,但是我绑定了很多的快捷键,所以非常好用。

https://friable.rocks/_/2007_11_10/1194688459.gif

工作和娱乐是两不误的。 XMMS 可以说就是我 Linux 下的 Winamp。至于 VIM,它走到哪里都可以用,哪怕是在火星。这图中还有一个叫 MRXVT 的控制台终端,看得出它的亮点就是多标签页吧。

https://friable.rocks/_/2007_11_10/1194688476.gif

除了 FVWM 以外,我偶尔也会使用一下 WindowMaker ,不过这仅仅是换换胃口。截图上显示除了该死的 VIM 外还有几个 DockApp ,开启了一个终端用 MUTT 收信。还有一个 GIMP ,不过版本比较老了,这个是 GTK+ 版本的(起码是两年前的了)。

https://friable.rocks/_/2007_11_10/1194688494.gif

*ix 下可以用 Wine 模拟 Windows 应用程序,也可以用 VMWare 模拟一个虚拟机装一个 Windows 系统。上面的这张就比较有意思了,我是用了一个 DOSBox 模拟 TurboC 2.0 (相信学 C 语言的同学都不陌生)。

https://friable.rocks/_/2007_11_10/1194688508.jpg

生命有时候就在于「折腾」。我很庆幸大学四年的时光能学到很多的东西,在这里我要感谢那台早已淘汰的 MMX 166 笔记本。详细信息兄弟们可以 到这里看看

使用 OpenDNS 防止 DNS 劫持

时候我们的 ISP 时不时地会在 DNS 上搞一些小动作,更有甚者甚至会搞 DNS 劫持。上个月的时候据说有 大面积的网站指向到了百度 。这是非常 具有中国 Characteristic 的

有是否我们会用 Tor 跳墙访问一些别屏蔽的网站,但是这样的访问速度实在是不敢恭维。最好的办法就是不要使用 ISP 提供给我们的 DNS 服务器。在这方面有一个很好的选择就是 OpenDNS 。OpenDNS 是一个提供免费 DNS 服务的网站,口号是更安全、更快速、更智能。

至于如何使用 OpenDNS 的方法非常的简单,只要在你的接入链接属性中的 TCP/IP 属性的 DNS 选项改成 208.67.222.222 或者是 208.67.220.220 即可,如下图所示:

https://friable.rocks/_/2007_11_10/1194632793.gif

注:发布此文也是因为前段时间有部分兄弟(这里要感谢 IPFox 兄弟)报告网站显示 「Hello, world! 」所致。我查询发现是 DNS 莫名其妙的指向了不正确的 IP,遂发此文。

让我们一起忽悠 Spam 机器人吧

很多人的 Blog 都被 Spam 机器人骚扰,有的甚至已经到了无法容忍的地步。这是一种不幸,同时也是一种荣幸。不幸的是那些无聊的 Spam 尽是发一些广告消息,而荣幸的是它给我们带来了流量。

很庆幸我的 Gracecode.com 的流量还不足够引起 Spam 机器人的重视。但是防患于未然,毕竟不是每个 Blog 都是喜欢垃圾评论的。下面根据我看到的、学到的结合我自己的经验在不影响用户体验的前提下说说防止 Spam 的「小窍门」。

别和我谈论如何美化验证码图片,因为我想网站访问者和我本人都不喜欢那些图片的。

防止 Spam 垃圾评论

Spam 其实是很傻的,傻到它似乎无法去辨认 Javascript 和 CSS。防止它们我们只要在 from 中加入一个空的 textarea 就可以了。然后运用 Javascript 和 CSS 将这个 textarea 设置为隐藏就可以了(现在主流的浏览器都支持 CSS 和 Javascript)。

然后我们在服务器端测试这个 textarea 是否有输入,如果有输入那么就十有八九是 Spam 机器人。因为普通「人类」访问并提交这个 from 的时候他是无法看见这个 textarea 的。

防止 Trackback Spam

有时候道理一点就通。那么类似于 Trackback 这样的外部可写操作就非常的简单实现防止 Spam 了。比如我们设定一个 Trackback 的链接地址的 HTML 代码如下:

<a href="http://www.gracecode.com/trackback/blackhole" 
    id="trackback_id">Trackback</a>

然后根据当前的文章内容(比如 ID 等)运用 Javascript 将这个 trackback_id 的 href 值修改成正常的 Trackback 的地址就可以了。让 Trackback Spam 掉入无尽的黑洞里面吧!

总结

上面只是一点的「小窍门」而已,非到万不得已千万不要让用户输入那些该死的验证码。我个人认为这样在麻烦用户的同时,同时也麻烦了自己(很多人在花心思思考如何将自己验证码做得美观)。

最后,让我们一起对付 Spam 机器人吧,包括 Gracecode.com 在内的广大 Blogger 不怕你!

使用 Gtalk 实时关注网站的留言情况

前几天 wiLdGoose 兄弟 打电话给我,说他的服务器被网监给查封了,原因是因为某个虚拟主机下的论坛发布了「不和谐」的内容。他现在对用户留言等非常的关注,生怕再次出现这些内容,我想这是无可奈何的事情。

当我和他聊到我的 Blog 有没有留言审查功能的时候,我回答是没有。他很意外的说这样会不「安全」的,随时可能会被和谐。

留言的审查我个人感觉对于我那么「懒」的一个人来说会非常的麻烦。而且加入留言审查以后用户留言每项都要审查通过,对于用户来说他们的留言会不能马上看见,而对于网站的管理人员核定每项的留言是否「合法」,这也是一件非常繁琐的事情。

我想了一下找到了一个折中的办法。

通常我们使用 RSS 输出每天更新的文章聚合。而事实上用户的留言内容也可以通过 RSS 来输出,然后点击这条信息跳到用户所留言的那条文章详细页面中。最后可以根据留言的「合法性」决定是否删除用户留言。

制作和编写这样的 RSS 程序我想对于一般的程序员来说是非常容易的事情。但是如何将 RSS 输出的内容实时的反馈给我们管理人员呢?我们有 RSS 阅读器,但是我们不可能每天重复的打开阅读器关注用户的每条留言,而我这个时候想起了一个名叫「 哪吒 」的服务。

哪吒 服务提供了实时通知 RSS 更新的服务,它支持 MSN/Skye/Gtalk 和 Email 的实时通知。这样我们就可以在 哪吒 上注册一个帐号,然后一边开启 Gtalk,一边随时关注网站的留言情况。

出于安全性考虑,你也可以设置成此条 RSS 为私有订阅。这样你就不用在 Blog 本身开发留言审查功能和邮件通知等功能,节省了我们大量的重复劳动时间。

最后,比如我绑定的 Gtalk,用户如果有新的留言。它会跳出如下的窗口通知你,你的网站被人踩过了:

https://friable.rocks/_/2007_10_30/1193739447.png

选择 PostgreSQL, MySQL, Oracle 数据库我之见

最近公司的项目选择了一个全新的数据库系统作为开发平台,我也正在努力的适应在此数据库下的开发是使用。对于很多用户(包括我们程序员)都对于选择何种数据库往往一头雾水。而我以前也经历过此阶段,下面我想谈谈我的看法。

由于本人只是使用过 PostgreSQL, MySQL, Oracle 这三种数据库。这三种数据库也非常有代表性,下面的讨论我只针对这三种数据库而言。有关其他的数据库请大家自行推敲。

版权问题

MySQL 和 PostgreSQL 都是开放的数据库系统。MySQL 的使用协议比较的复杂,从简单的方面看,它是基于 GPL 协议的(为 MySQL 的用户可以得到 MySQLAB 的支持,并使用 MySQL 协议)。PostgreSQL 系统是完全基于 BSD 协议的,这这一点它比 MySQL 更加的「自由」。

GPL 协议要求用户必须公开你修改以后的代码。而 BSD 协议则可以自由的用在商业用途上,无需任何的限制。

而 Oracle 是完全一个商业的系统。它的使用完全是需要付费的,并且不能修改、拷贝其代码和程序甚至文档。

成本

成本相对版权而言。按照上述三种的数据库系统,如果按照费用的计算来讲。Oracle 的支出是最高的,MySQL 相对来说所付的费用稍微少一点。PostgreSQL 则是完全免费的。

支持

对于数据库的后期技术支持是非常重要的。Oracle 数据库有由于是商业产品,所以他的支持自然非常的周到。按照国内的情况,MySQL 和 PostgreSQL 的支持基本上是依靠网络和社区。

吞吐性能

从技术的角度上将,由于三种数据库的应用对象不一样,所体现的性能并不相同。Oracle 适合中大型的系统开发和维护,性能适合海量数据的存储。而 MySQL 则是适合中小型的系统快速的开发和维护,PostgreSQL 则标榜自己是「功能最全的开源数据库系统」,性能自然不俗。

而我从我个人的使用经验来说,打一个形象的比方:Oracle 好比卡车、MySQL 好比皮卡、而 PostgreSQL 好比是客车。

稳定性

对于稳定性能来说,这三种数据库都可以适应 7×24 小时的考验。相对性能来说,我的个人经验是 Oracle 的稳定性是最好的,MySQL 其次,而 PostgreSQL 次之(相对而言,这三种数据库的稳定性都是很优秀的)。

总结

说道这里,你可能对于这三种数据库还是难以抉择。我的个人意见就是,按照实际的项目的需求、规模和成本考虑出发。

Oracle 是大中型项目的首选,而它的支出比较高。相对经济的替换方案是 PostgreSQL(但它需要更多的人工支出)。

对于中小型的项目,MySQL 则完全是可以胜任的。Lamp 系统在开源界的性能是有目共睹的。

而对于程序的开发来说,Oracle 常和 Java(JSP)搭配,MySQL 则一般和 PHP 搭配,PostgreSQL 则可以和多种程序链接。

附:

一家之言,仅作参考之用。下面我摘一下来自 searchoracle.com 的一则经典的回答

PostgreSQL, MySQL, Oracle or other? ===

> QUESTION POSED ON: 26 April 2002

Which should I choose: PostgreSQL, MySQL, Oracle or other? The application is not Web-based, and the database contains 50 tables with the biggest table containing 18 million rows (6GB total). The engine should have:

good backup/restore to/from file service # ability to lock at row level # fast inserting, updating posts

> EXPERT RESPONSE

Which database version do you select? That's a tough one. It all depends on a lot of different factors. You've listed a few factors, but not all of them. The biggest one is price. How much can you afford? Oracle will cost much more. And MySQL is free as long as you follow the GPL. You state that you want the ability to lock at the row level. Oracle is one of the best at this, but MySQL with InnoDB is making progress. You also stat that you want fast inserts and updates. For that, I'd go with Oracle. A properly configured Oracle database will run really nicely.

Other factors to consider are the expected number of concurrent users, the expected data growth, and that application. Like I said, there are lots of factors to consider. In these cases, it's not a bad idea to hire a consultant to help in your determination so that your company doesn't waste time and money.

我该选择 PostgreSQL, MySQL, Oracle 还是其他?(注:时间为 2002 年 4 月 26 日)

我的项目不是一个 Web 项目,数据库大概有 50 个表最大的可能包含了一千八百万条数据(大概有 6G 的数据)。我该选择什么数据库呢? PostgreSQL、MySQL、Oracle 还是其他?所需的要求必须包含:

良好的备份/恢复系统 # 具有行锁定功能(lock at row level) # 具有良好的性能

专家回答:

到底您该选择哪个系统?这个问题非常的难以回答。这是居于不同的需求而定的。您只是列出了一小部分的要求,并没有全部列出您到底需要什么。最大的问题可能是成本的问题。您的预计支出是多少呢?Oracle 可能需要您更多支出。MySQL 是基于 GPL 协议的,所以它的支出相对少些。您需要有行级锁定功能(lock at row level),我想 Oracle 是最好的权责,但是 MySQL 包含了 InnoDB 以后也具有此良好的性能(译注:自 MySQL 3.2 以后已经具有此功能了)。再次,您需要有良好的性能。老实说,我更倾向于 Oracle。具有良好配置以后的 Oracle 性能会让人非常的满意。

还有其他的需求就是有多少的用户使用您的数据库,数据库的增长幅度,还有就是其上的应用。想我上面所说的,需要考虑的因素有很多。我并不能完全决定您到底使用哪个数据库,我想您或许需要一个顾问评审您具体的应用了以后才可能最终决定下来,这并不需要很多的时间和投入。

这三种数据库近年的趋势图

https://friable.rocks/_/2007_10_29/1193654980.png

我的照片

嗨!我叫「明城」,八零后、码农、宁波佬,现居杭州。除了这里,同时也欢迎您关注我的 GitHubTwitterInstagram 等。

这个 Blog 原先的名字叫 Gracecode.com 、现在叫 「無標題文檔」 。 其实无所谓叫什么名字,作为码农知道取名是件很难的事情。最后想到的这个名字,其实都没啥特别的含义,系统默认的文件名而已。

作为八零后,自认为还仅存点傲娇式的幽默感,以及对平淡生活的追求和向往。 为了免得对号入座和不必要的麻烦,声明本站点所持观点仅代表个人意见,不代表自己所服务公司的立场。

如果您想联系我,可以发我邮件 `echo bWluZ2NoZW5nQGdyYWNlY29kZS5jb20K | base64 -d`

文章

项目