为什么说黑客总是好的作家

大名鼎鼎的伊莱克先生在他著名的一问中谈到,令人惊讶的是,一个好的黑客,几乎总是一个好的作家。这是为什么呢。我想了想,应该是因为:

首先,什么是写作?写作分两个部分:你想,你表达。

第一、想象:我们可以尽可能努力的去接触外部世界,但人类的想象力本身,据我所知,是很难锻炼。但对象既然已经是一名出色的黑客,(既然他能够成为可称道的黑客)不管思维是天马行空也好,行云流水也好,应该假定他已经拥有超乎常人,有价值的想象力。

第二、表达:黑客的职业,常常就是在锻炼自然语言的表达力。why?先来看看什么是好的写作。以我的标准衡量,简洁,准确,逻辑清晰。这就是好的文字。

所谓写作,不一定是奇想连篇的小说,电视上的广告,网页上的说明文字,都是写作。

而黑客终日书写代码,编程最最最重要的一点,就是清晰的逻辑思维结构。

而代码最最最重要的组成部分,就是注释。

假如对方是合格的黑客,那么他一定擅长书写注释。

而自己写过注释就知道,要在一句话中,概括一个函数的功能是非常困难。

这就好像140字的微博和1400字的博文的区别一样。要书写好的注释,就必然有简洁而准确的文风。

这就解释了为什么黑客总是好的作家。

说说VMware Player的毛病及与VirtualBox虚拟机的一点对比

原来我一直被VMware公司的虚拟机所吸引,因为VMware的产品不仅在虚拟机界最有名气,还因为它出售企业级产品,叫人掏钱买的总不能太差吧!但安装了之后却失望了。我总结一下(我安装的VMware Player):

一般外部的观点是,VMware Player吃资源,VirtualBox在低配置的机器上表现更好,但VMware Player可开启3D加速,可玩大多数游戏。现在我要就说说我自己的一些感受:

VMware Player界面华丽,但是卡的很,拖动一下程序窗口就要卡一下,不知道是不是我的集成显卡问题。而且VMware Player在上个版本前一直都不能创建虚拟机,这个版本开始能够创建虚拟机了。可以从光盘创建,也可以直接从iso镜像创建,这一点比较方便。但是设置比virtualbox少的多,VMware Player把用户定位于非专业用户。

VMware Player在安装虚拟机时,使用一个内置的easy install来安装系统,简单的说,这玩意儿就类似于Ghost XP的无人值守一键安装,只需在创建虚拟机时输入好帐号密码和windows激活码,就不用再管它一路安好。方便归方便,但这样你也就无法对系统手动分区设置了,XP在安好之后只有一个c盘。见鬼的是这玩意儿好像还不能关掉。

VMware Player极度依赖网络,开机后假如不拨号直接打开VMware Player会假死般的卡上几分钟。在安装系统时会下载安装相应的插件,为什么不把这些插件直接集成在安装包里呢?本来安装包就已经不算小了(100多M)。在网速不好的时候简直要命,这种假设每个用户都有高速网络连接的行为,实在让人不敢恭维。

该死的下载窗口,取消下载后原来的下载任务都残留在窗口里,居然还不能清空。而且不能创建系统快照!

安装完XP,进入虚拟机之后:在virtualbox里,必须安装增强插件,才能把开始很小的桌面放大到全屏。VMware Player里,进入系统后调节一下分辨率就可以了。很方便。但是拖动窗口依然一卡一卡的。

打开DX设置,3D是激活的。但依然不能玩游戏。拷贝了几个游戏。ja2和英雄无敌3等打开之后只显示一个极小的窗口,和不调分辨率时一样,CS和红色警戒干脆无法运行。插入光盘时系统会去检测光盘导致桌面卡上半天,鼠标无法移动,也无法使用其他功能。难道这个狗日的软件是单线程的吗?

总之,VMware Player让我很失望。感觉vmware就像微软一样,走上了那条软件做的大而臃肿,靠市场运作取代用户体验的不归路。

SSID是什么意思?解答SSID广播的作用

定义:SSID是一个无线局域网络(WLAN)的名称。SSID是区分大小写的文本字符串,是一个最大长度不超过32个字符的字母数字字符(字母或数字)的顺序(当然,这个名字你可以自己随便取)。就作用上来讲,SSID看起来就像是无线接入点(AP)MAC地址,所以无线局域网上的所有无线设备必须使用相同的SSID才能进行互相沟通。现在您大致知道SSID是什么意思了吧?!

在无线局域网中SSID作用非常重要,它能阻隔其他无线设备访问您的无线局域网 (无论是有意或无意地)。 要进行通信,无线设备必须使用相同的SSID名称。

设置无线网络SSID

图中为设置无线网络SSID号(名称)

很多无线设备能自动搜索到SSID,因为一般情况下一个公共的无线接入点(AP)会把SSID会被广播出去。不过如果您的无线网络是只私用的,那么应该设置禁止广播SSID,不然可能有人来蹭网了。毫无疑问,通过禁止广播SSID可以提高无线局域网的安全性。(扩展:防止蹭网:无线网络关闭SSID广播后的连接上网方法

总之,SSID是什么意思?一个无线网络的名称!为了发现无线网络中的无线网卡和无线接入点以便使无线局域网内的设备互相联通您就需要它。

为什么字节码+虚拟机的模式比机器码+编译器更流行?

众所周知现在的软件行业是解释型语言的天下,无论是开源轻量级语言Python/Perl/Ruby还是企业级应用Java甚至微软新搞出来的.Net系列/C#,都基于字节码+虚拟机模式。这么做毫无疑问比机器码+编译器更慢,而且机器码+编译器也并非不能实现高等语言,那么why?

Hacks and Painters里给出的解答是:字节码十分接近机器码,因此为字节码编写基于硬件的解释器比编写编译器更容易!

想象一下。接近自然语言的高等语言+编译器+机器码与接近机器语言的字节码+解释器+机器码。当然是后者更容易,但是后者就额外需要把源代码翻译成字节码的编译器,但这个编译器只要实现一次就够了!(最复杂的部分只要做一次就够),而针对不同的硬件编写解释器是相对十分容易的。

另外如Hacks and Painters所说的,增加软件中间层,会降低执行效率,但能使编程更灵活,开发出的东西更强大。换句话说,这是一个不断抽象,不断接近人类自然思维的过程。

字节码更通用,更灵活,更强大,不拘于平台限制。其唯一的缺点是降低代码运行效率,但是在硬件速度18个月翻一番的今天,这并不重要。

XLS文件怎么打开?4种操作系统下打开XLS文件的方法

XLS格式文件是微软97版和2003版的office Excel(也称为 表格)所创建的文件, Excel是微软办公office套件(包含Word、Excel、PPT)里面的一个程序,是使用最频繁的办公软件之一。

注意:XLS格式是一个较老的Excel文件格式,从Microsoft Office Excel 2007及以后的2010都是采用XLSX格式。不仅Excel如此,Word(由doc变成docx格式)、PPT(由ppt变成了pptx格式)的新老格式也是如此,新格式就是在老格式上加个“X”,如下所示:

微软Excel、PowerPoint、Word格式演变

微软Excel、PowerPoint、Word格式演变

我想说到这里您应该知道XLS文件怎么打开,您需要做的就是下载一个office办公软件即可,而且您的选择有很多,不仅仅是Windows系统还有苹果的Mac OS X、Linux、Android(安卓)这三款操作系统下也有一些软件了用来打开XLS文件。

WindowsWindows

Microsoft Office软件 Excel 2010 (也可直接下载Microsoft office,Excel就包含在内)
金山WPS(中国金山软件的免费办公套件)
OpenOffice.org(开源免费的跨平台办公套件)
Corel WordPerfect Office X6
Ability Office

mac苹果Mac OS X

Microsoft Excel 2011(Mac版)
OpenOffice.org

linuxLinux

OpenOffice.org(Linux系统下的最佳选择)

AndroidAndroid(安卓) 

Kingsoft Office for Android(中国金山软件办公套件的安卓版本)

上面所列的软件都是其官方网站链接以及获得官方认可的合法第三方链接,您可通过链接获取相应版本,对于收费版本网络上通常存在中文破解版、绿色版等资源,大家可根据具体情况选择。如果您对本文对XLS文件怎么打开这个疑问所做的相关解答有何意见或建议欢迎留言,我们一起探讨交流。

腾讯的无节操要度娘和我来承担:百度搜索提示页面被黑客入侵

以前穆童在百度搜索东西的时候,偶尔也能看到一些网站被:百度提示您:该页面可能因黑客侵入而存在安全风险,我当时还真以为这些网站真的就是被黑客入侵了呢,看到那些网页敬而远之生怕有什么高级病毒在我点开网页的时候感染了我的计算机。而事实呢?并非如此!

要不是看到穆童博客的一个网页也被百度提示:该页面可能因黑客侵入而存在安全风险提示。我可能还是那么认为的真是被入侵了。如下图所示:

页面被黑客侵入存在安全风险

刚看到这个提示的时候,可不了得,着实吓了我一跳。NND谁那么闲来黑我的博客啊。可当我将鼠标放在哪行提示上时,又弹出了一个对话框,显示:

所谓的“违规”内容被误报为黑客入侵

所谓的“违规”内容被误报为黑客入侵

擦啊,什么违规?在看看居然是电脑管家报错的。百度什么时候出了电脑管家?仔细一看,妹的,然来是腾讯的那款垃圾软件。哥一向对腾讯没啥好感。本来不想扯你,你这找骂。哥写文章都是反复检验的,完全对得起党(这是首要的)对得起国家对得起人民群众,这傻X居然说我违规,我规你妹啊。

百度这个安全联盟说实在的,为了一起来反360现在反而损伤了自己的根基,使得搜索质量的不准确性、误导性加大了不少,这次的算法升级也是一个熊样,我心中的女神:度娘也在这次升级中被无数黑帽SEOer给糟蹋了(不知道是碰到的还是这些SEOer真的那么厉害)。

于是我立马进入内容查看到底哪里“违规”了,擦啊,不就写了几个天朝、几个XX(真的就是“XX”这两个字母,不是别的东西)、几个色字。这几个内容本身就和电视棒脱离不了关系,难不成要我介绍怎么组装电脑不给介绍硬盘吗?这不是误导广大基友么?哥绝对不会那样,哥写就要写个明白,写个全面。不然作为一个中国人怎么对得起国家的培养?怎么对得起作为最睿智的灵长类动物领袖的身份?人家奥巴马会怎么看我?

扯远了,剩下的就是给腾讯申诉(提到这个就有辱我智商),然后也得给我仰慕已久的高贵而美丽的度娘姐姐一份“情愿表”希望能尽早给消除这个误报。唉,明明是腾讯的无节操却要度娘和我们小站长来承担!度娘……苦海无边回头是岸啊!!!

Linux系统(Debian和Ubuntu)下彻底删除wine的办法

wine是一个在linux下模拟windows的东西,不过这个wine很难卸载,所以我专门写了怎么卸载这个东西的办法:

1、终端中执行sudo apt-get remove wine1.3(wine1.3是你安装wine时的软件包命,如果你当时之间apt-get wine来安装的就直接输入apt-get install remove wine)

2、删除wine的目录文件:sudo rm -r /home/username/.wine(username是你的用户名)

3、卸载残留的软件包:sudo apt-get autoremove

4、清理wine模拟运行的windows程序:sudo rm -r /home/username/.local/share/applications

5、清理残余的windows程序:sudo rm -r /home/username/.config/menus/applications-merged/wine*

注意,这里以root权限使用了rm -r命令,这个命令很危险,如果路径输入错误可能会直接悲剧,慎重点哈

Niconico动画播放速度很慢缓冲很久的解决办法

这一招是我自己摸索出来的。希望能让有同样困扰的同学解决问题。

众所周知(众?),在中国看niconico不仅仅是慢,而是无法忍受。我即使开日本专线VPN,周六周日和晚上高峰时段,也要花三倍的时间去缓冲一部视频。而且缓冲条走的极不稳定!相比之下看youtube都用不着缓冲。说明不是国际出口的问题。那么有啥办法可以解决这个问题。专线VPN本身已经优化过路由,说明我们不能再通过对路由做手脚提高速度。有啥办法呢?哥告诉你,哥有办法。

用火狐浏览器下载

首先你要是Niconico付费会员(Niconico动画网付费高级会员试用感受)。至于为什么,下面再说。 然后安装火狐浏览器,再安装adblock plus套件,Auto-Proxy套件,Flashblock套件,Greasemonkey套件,Nicofox套件。

因为我们访问这个网站已经够慢了,当然要想办法减少它上面无用的内容,比如广告啊广告等等广告之类的。adblock plus套件能拦截下大多数广告。然后呢,有些可能不是广告,但用处不大的内容,我们也能自己写个脚本把它过滤掉,所以需要Greasemonkey。写JS脚本很简单,甚至都不用学。

Auto-Proxy套件就不用解释了,没有它你都打不开这个网站。

Flashblock套件让你在打开一个视频的时候,预先锁定它,不去缓冲它。然后就轮到本文的主角:Nicofox套件。

这个套件是台湾人写的,有很多有趣的功能。这里我只谈它的下载功能。你打开一个网页,锁住它,先不要缓冲它。然后点开nicofox的下载窗口,下载这个视频。

看看速度有多快?我用2M 网通 adsl,dreamhost ssh,付费会员帐号。足足有满速160KB/s的速度!即使在尖峰时段也有60-70kb!这样一部100M的视频,十分多一点就下完了。包括所有弹幕。如果你去缓冲这样一部视频要多长时间?我告诉你,最少要一个小时。(延伸:详解:4M/2M/1M宽带下载速度是多少

如果你不是付费会员,那么还是没有这个速度。我过去在低画质时段,经常是二十多k,二十多k,而且非常不稳定。所以说nico承诺的这个专用回线,的确不是瞎吹的!我连续测试了三天,付费会员帐号的下载速度非常快而且稳定!

等你下完了,好。这时候点击flashblock的按钮,开始缓冲这部视频吧,你会发现,一秒就缓冲完了。为什么?因为nicofox把视频下到了firefox的缓存里头!浏览器直接读取就行了!

(实际上,它是通过浏览器缓存进行下载,在缓存中拼凑出完整的文件,再拷贝到你指定的文件夹。)但是这个办法有个缺点,那就是session的时效性。根据我的经验,如果视频大于20M,等你下完,网页的session也失效了。你这时候缓冲它会返回一个错误。

但是没关系啊,你已经把它吓到了硬盘上。可以用nicofox自带的弹幕播放器播放。所以上面所说的方法,只是我个人更喜欢在网页界面看罢了。你完全可以下载完之后,直接关掉网页,用nicofox或其他的弹幕播放器播放。

推荐nicoplayer这个播放器,它是日本人开发的,设定十分详细,可以手动调整弹幕的算法,还能用自带的下载器下载视频和弹幕。只不过不支持内设代理,在中国这可是致命的缺陷。我已经写了一封邮件给开发者,希望下一个版本能有所调整。

缘由猜想

最后我解释一下这么做的原理。其实我也不懂技术,只是猜想。为什么下载会比在浏览器里缓冲快?缓冲不也是下载吗?想必很多人都有类似经验,访问国外网站时,速度极慢,奇怪的是下载东西却很快。

为什么Niconico动画播放那么慢呢?这就像火星探测器和地球通信一样。信号来往,有半个小时的延迟。探测器发出信号———地球接受信号,处理,返回信号———探测器接受信号,行动。我操,一个小时过去了。

但是假如地球往探测器发送一个文件流,即便有延迟,但是信号会绵延不绝的抵达火星,即使这个信号是半个小时前发出的。探测器每接受一个信号,下一个信号就紧接着抵达。

这就是 Niconico 下载为什么会快的原因。如果路由畅通。不存在不稳定现象的话。如果你写过脚本来获取视频下载地址的话,那么你会知道,视频不是保存在一个服务器上的。而是被分成几十,上百小段,保存在不同的服务器上。

因此浏览器很可能是在:发出信号,获取视频地址,等待应答———漫长的时间————服务器回复。这个回环中浪费了宝贵的时间。而用nicofox下载,可能是因为形成了数据流,所以充分了带宽,无视了延迟。当然我也只是猜想而已。

迅雷离线不能下载迅雷专用连接(下到PHP文件)的解决办法

迅雷的离线下载,是不能下迅雷自己的专有链接的。如果您把迅雷的专有链接扔离线下载,您会下到一个PHP文件。

用Vim文本编辑器打开这个文件,发现里面写有tracker服务器地址一类信息。于是更名为.torrent之后再扔进离线。哦~这就可以下了,作为BT任务。

为什么不直接装迅雷?我是绝对不会在机器上装迅雷的,哪怕是在沙盘里。哥有洁癖。

Emacs是什么?说说我认为的这个黑客专用文本编辑器

Emacs是什么?它是个文本编辑器,emacs和windows自带记事本一样都是文本编辑器,就像我和奥巴马都是人类一样。我为什么选择emacs而不是vim?理由有三:

  • emacs是gnu计划的第一个项目,可以说它和理查德·斯托曼的大胡子一样有着图腾般的宗教性象征意义,这是vim没有的
  • emacs的根基是用c写的一个lisp解释器,其他部分全是用lisp写的。你不觉得这个构想非常酷么?《社交网络》里马克伯格就是用emacs
    和perl黑掉了哈佛(是哈佛么?)所有的网站。你不觉得emacs本身就很酷么?有点“专业黑客就要用emacs”的感觉么?
  • 也是最重要的一点,emacs的扩展语言是Lisp,反正早晚都要学Lisp的,而vim的扩展语言是一个特有的普通脚本语言,学了只是浪费宝贵的时间,反正我是这么认为。

今天基本搞定了emacs,指的是搞定了这货作为一个编辑器的基本功能,接下来的路还长的很。我的环境是32位linux mint13 xfce,emacs23.3 从源安装。

首先是个人配置文件,就是和.vimrc一样的玩意儿,安装vim后,会默认建立这么一个东西,并往里写入一些脚本,就像.bashrc一样。但是emacs默认是没有这个文件的。根据gnu网站的说法,这货叫做init file,程序会默认到家目录下寻找.emacs,如果没有的话,到.emacs.d/下寻找init.el,但是默认是全没有的。有.emacs.d目录,但是下面只有auto-save-list。自己手动建立一个(在家目录下),emacs .emacs.

内容是:

(global-unset-key (kbd "C-SPC"))
(set-default-font "DejaVu Sans Mono-14")
(set-fontset-font (frame-parameter nil 'font)
'han'("WenQuanYi Micro Hei"))
(defun toggle-fullscreen()
(interactive)
(x-send-client-message
nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_FULLSCREEN" 0))
)
(run-with-idle-timer 0.1 nil 'toggle-fullscreen)

基本都是google来的,以前也不会lisp,凭着一点点编程基础,勉强能看懂不到 一半。

(global-unset-key (kbd “C-SPC”)) 指的是解除ctrl+空格的键位绑定,因为和系统的切换输入法冲突。

(set-default-font “DejaVu Sans Mono-14″)
(set-fontset-font (frame-parameter nil ‘font)
‘han’(“WenQuanYi Micro Hei”))

指的是切换默认字体,默认字体难看而且太小。主要意思呢大概就是说设置DejaVu Sans Mono为默认情况下的字体,字号为14号。然后再设置一个字符集,设置字符集字体为WenQuanYi Micro Hei(文泉驿微米黑),当编码为非拉丁字母时,系统自动会在/etc/fonts/conf.avail中寻找编码,比如汉字,就对应han,泰文就对应thai,等等。当系统找到编码之后呢,就搜索编码后面的字体了,如果成功找到了,便显示出来,找不到就报错。

(defun toggle-fullscreen()
(interactive)
(x-send-client-message
nil 0 nil "_NET_WM_STATE" 32
'(2 "_NET_WM_STATE_FULLSCREEN" 0))
)
(run-with-idle-timer 0.1 nil 'toggle-fullscreen)

指的是打开emacs时自动全屏,因为我的屏幕太小,这是在ubuntu论坛找到的,意思是啥不明白。这样打开emacs时就会自动放大字体然后全屏了,但是依然ctrl+空格无法切换输入法,emacs显示键位未绑定,但是中断到这里被拦截了,没有继续向下传。我是修改了ibus的快捷键,从c+空格换成shit+空格。

但是切换为拼音输入法也无法输入中文,输入不进去,google之后sudo emacs /etc/environment,添加

LC_CTYPE="zh_CN.UFT-8"

修改完毕以后,重启生效。可能因为我安装的是英文系统,这样改过后显示依然是英文。emacs就可以输入中文了,再加上一行

(run-with-idle-timer 0.1 nil 'delete-other-windows)

本来打开后会有一个额外的开始界面,这样就去掉了。这和打开后手动按C-x 1 效果是一样的。

我对emacs的理解

emacs的底部是一个用c书写的lisp解释器,这只上所有都是用lisp书写的,也就是说一切都是lisp。你在buffer里打字时实际上是一个单纯的文本编辑器。所有的Ctrl-,alt- 组合键运行的都是绑定的命令,这在帮助里可以看到。比如C-x 1运行了delete-other-windows这个Lisp函数。一切都是lisp函数在起作用,你也可以写自己的lisp函数来定制emacs,可以把简单的函数写在。emacs文件里,也可以写在el文件中然后在.emacs里载入,使用时可以绑定在相应键位上,也可以M-x来执行。总之,emacs的功能全来自那些复杂的lisp函数,离开这些代码,emacs就只是一个单纯的记事本而已。