Browsed by
作者: 陈皓

芝兰生于深谷,不以无人而不芳 君子修身养德,不以穷困而改志
chmod -x chmod的N种解法

chmod -x chmod的N种解法

在SlidesShare.net上有这么一个幻灯片,其说了如下的一个面试题:

如果某天你的Unix/Linux系统上的chomd命令被某人去掉了x属性(执行属性),
那么,你如何恢复呢?

下面是一些答案:

1)重新安装。对于Debian的系统:

sudo apt-get install --reinstall coreutils

2)使用语言级的chmod

  • Perl:perl-e ‘chmod 0755, “/bin/chmod”‘
  • Python:python -c “import os;os.chmod(‘/bin/chmod’, 0755)”
  • Node.js:require(“fs”).chmodSync(“/bin/chmod”, 0755);
  • C程序:
#include <sys/types.h>
#include<sys/stat.h>
void main()
{
chmod("/bin/chmod", 0000755);
}

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (10 人打了分,平均分: 3.30 )
Loading...
Go语言的”Issue 9″ Closed!

Go语言的”Issue 9″ Closed!

还记得Google发布Go语言没几天就要 更名Issue 9 的那个事吗?那是2009年11月的事了,差不多一年了,今天Google的Go语言团队终于正式回复这个bug了。

Comment 1097 by project member [email protected], Today (11 hours ago)

The naming similarity is unfortunate. However, there are many computing
products and services named Go. In the 11 months since our release, there
has been minimal confusion of the two languages, so we are closing this
issue.

“名命类似是很不幸的。然而,那有很多的计算机产品和服务都叫Go。自从我们发布Go语言的这11个月里,这两个语言只有极少的混乱,所以,我们决定关闭这个问题。”

目前,该bug的状态为Unfortunate,这个状态很有创造性啊,在我的这么多年软件开发过程中,我还没有在任何的bug管理系统中见过这种状态,嗯,要不我也给我们公司的Defect Tracking System加上一个这种状态?

好烂啊有点差凑合看看还不错很精彩 (5 人打了分,平均分: 2.60 )
Loading...
主流文本编辑器学习曲线

主流文本编辑器学习曲线

下图是几个经典的文本编辑器的学习曲线,不排除其中有调侃和幽默的味道。

主流编辑器学习曲线图

注1Pico(PIne COmposer)是Unix操作系统中最常见的三种文字处理软件之一,具有文字编辑、搜索、拼写检查、文件浏览和段对齐功能,适合高效地编辑短小的文件。Pico是由华盛顿大学开发的免费软件,随着pine电子邮件处理软件发布。它是在Emacs的基础上以pine的邮件编辑为目标而开发的,所以其指令集是Emacs的子集,但是由于在界面上有提示快捷键,相对于vi和Emacs来说更加容易使用。由于Pico虽然是免费软件,但是它并不是开源软件,所以很多Linux版本并不包含Pico。这些版本通常提供一个界面类似的开源软件nano——Pico的克隆版。

注2:图中的纵横坐标没有标明。我所理解的是——X轴是熟练程度,Y轴是技能。于是对于notepad 来说,技能和熟练程度呈正比。对于VS来说,熟练程度越大,所需要技能先是越来越多,而随着熟练程度的增长,你需要的技能也越少。而对于VI来说,一开始就需要相当大的技能,但一旦掌握这些技能,则你将会越来越熟练。而对于emacs来说,技能和熟练程度是呈旋涡状。

好烂啊有点差凑合看看还不错很精彩 (29 人打了分,平均分: 4.17 )
Loading...
Javascript向量图Lib–Raphaël

Javascript向量图Lib–Raphaël

我们知道很多的Javascript的lib库了,比如:jQuery,YUI,Ext JS等等。今天看到一个很牛X的lib叫Raphaël [ˈrafēəl],这是一个很小的JavaScript library,可以让在你的Web上整一些向量图,并且可以完成一些动画和图形变化,很强大。

Raphaël使用的是  W3C 推荐的 SVG和VML 来创建图片。这意味着所创建的图形对象一样可以是一个DOM对象,可以被你的Javascript的事件来操作。Raphaël 支持所有的主流浏览器:Firefox 3.0+, Safari 3.0+, Chrome 5.0+, Opera 9.5+ d 和 Internet Explorer 6.0+,最强大的是,这个js文件被压缩后也就60K。

下面,让我们来看几个示例:

下面是一个图形变化的示例,点击两个图形间的箭头。

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (13 人打了分,平均分: 4.00 )
Loading...
编程语言进化

编程语言进化

以前本站发布过《编程语言时间地理图》、《计算机编程简史图》,下面是两张关于编程语言的进化图。

第一张是比较宏观的,来源在这里,虽然是去年的,但还是比较不错的,其把计算机编程语言分成了五个时代——

  • 语言诞生。1940年代。第一个语言应该是:Ada Lovelace,
  • 编译器时代。1950年代。这个时代的代表语言是:Fortran, LISP, 和 COBOL,编程语言开始引入编译器优化技术。
  • 模式时代。1960年代-1970年代。这个时代是编程语言最重大的变革。在这个时代,所有人都在思考如何让设计一个好的编程语言以让编程更简单。面向对象也因为Simula而出现,而Smalltalk成了第一个纯动态类型的语言,C/C++、Pascal和SQL也是这个时代出现的,而第一个功能性/函数式语言ML也是这个时代出现的。所以说,这个时代是一个百花齐放的时代。而1980年代并没有太多的创新的东西,而只是对70年代出现的那些语言优化和发展的时期,如:1979年发明的C++语言。
  • 生产力时代。1990年代以来主要是如何增进编程生产率的时代,这个时代出现了很多framework,代码库,以及快速开发的IDE,很多公司都在这个时期致力于这些增进生率的工作,如:delphi, power builder, MFC,boost等等。但最重要的还是因为引入了虚拟机——WORA(Write Once, Run Anywhere),JVM 是这方面的代表作。之后的.NET整出来的那些东西都是。今天的JPython, JRuby等都是为整合开发效率和维护效率。参看《基于JVM的语言正在开始流行
  • 后现代。未来的编程语言要走向何方,我不太清楚,不过,大家可以看看本站的这几篇文章:《五个编程语言设计的失误》、《C++和JAVA传统中积极的一面

下面是一张大图,让你看看整个编程语言的进代图。(点击看大图)

阅读全文 Read More

好烂啊有点差凑合看看还不错很精彩 (9 人打了分,平均分: 3.56 )
Loading...
Google未公开API:转MAC地址为经纬度

Google未公开API:转MAC地址为经纬度

这里有一个POC(Proof of Concept)可以通过你Web浏览器后面的路由器XSS攻击得到一个准确的GPS坐标。注意:路由器和Web浏览器以及IP地址并不包含任和地理信息。其方法是使用了一个Google未公开的API。大约方法如下:

  1. 访问一个网页,这个网页隐藏了一个基于你WiFi路由器的XSS( 参见: XSS  Verizon FiOS router
  2. 通过这个XSS 可以获得路由器的MAC 地址。
  3. 然后通过 Google Location Services我们可以把这个MAC地址映射到GPS坐标。Googel的这个服务是基于HTTP的服务。这并不是一个Google正式发布的API,而是通过 Firefox’s Location-Aware Browsing 发现的。

演示地点在这里:http://samy.pl/mapxss/

我试了一下,无论无线和有线都可以准确定位我的位置。很强大,你也试试看。

好烂啊有点差凑合看看还不错很精彩 (7 人打了分,平均分: 3.29 )
Loading...