Share

美剧:ShareVirus.com

软件:SharetheFiles.com

Google 搜索 site:sharethefiles.com PyCharm

 

图标:FindIcons.com

发表评论

为什么极客们都痛恨IE?

这是一篇译文,原文出处:How to Geek

sshot-2010-10-18-1-04-07-47

众所周知,Geek 痛恨 IE,但是你有没有想过为什么?让我们追本溯源来公正地回顾一下它的历史……想不出理由来就当是为后来者吧。

可能与你想的有点不同,这篇文章的初衷并不是为了发起一场IE批斗大会 — 事实上,我们对 IE9 的硬件加速等新功能感到非常惊艳 — 但还请继续往下阅读。

在很久很久以前,IE 出现在了这个世界上,并且它的功能还很强大

我们都习惯性地认为 IE 是一款落后于时代的、运行缓慢、出错频频的浏览器,但它并不是一直是这样的 — 事实上,很久以前,正是 IE 的很多开拓创新才使得整个 Web 变成了如今这个模样。

image

以下是对这个声名狼藉的浏览器容易被人遗忘的历史的简单回顾:

1996: Internet Explorer 3

这个版本于1997年发布,是第一款支持 CSS(级联式样式表)的浏览器。是的,你没有看错 — 事实上,IE3 还引入了许多新特性如 Java applets 和悲剧的 ActiveX控件。

1997: Internet Explorer 4
IE4 带来了一个速度极快(就当时来讲)的渲染引擎,并且可以以组件形式嵌入其他应用 — 其重要性远远超出人们的想象。IE4 还引入了允许网页使用 JavaScript 来动态更改页面内容的动态 HTML,并且新增了活动桌面的整合。

听起来更诡异了?似乎已经没有人还记得这些了,但是IE4还是一个跨平台的浏览器 — 你可以在 Mac OS、Solaris 和 HP-UX 上安装 — 在IE5发布前夕,IE4已经达到了60%的市场占有率。

1999: Internet Explorer 5.x
微软发明了Ajax。等等……我操?没错,就是这个版本的IE引入了Javascript的XMLHttpRequest特性,最终形成了如今你正在使用的每一个web应用背后的后台技术 — 就像Gmail。当然,“Ajax”这个专业术语是很多年后由另外一个非微软的人提出的,但是IE5已经能够支持其完美运行。

没错,微软在创新。

从IE3到IE6,微软动用其所有资源以确保在创新方面有竞争优势,比Netscape很快发布包含新特性的更好的浏览器。事实上,Netscape 3 Gold是一坨错误多多崩溃频频的垃圾,而Netscape 4的运行速度极其龟速并且几乎只能显示简单的表格 — 少量CSS便会经常导致浏览器崩溃。

在过去,web开发者就像现在抱怨IE6一样抱怨Netscape。

是什么让IE一错再错?

image

所有问题都由微软将 IE 作为 Windows 组件捆绑销售而起,并且由于卸载无比困难使得用户几乎无法选择其他浏览器来替换。接下来便是他们开始利用其垄断优势试图将Netscape赶出市场的龌龊事迹,很多人开始将微软视作邪恶帝国。

微软放弃了创新

到了2001年,微软发布了IE6,为Web开发者带来了很多新特性,但是由于已经没有了竞争对手而且 IE 有了高达95%的市场占有率,微软干脆停止开发了 — 真的,他们在长达5年内哪怕FireFox发布了之后也仍然没有任何动作,Geek们开始左顾右盼。

微软特色

微软的终极问题是他们的创新都没有按照web标准来 — 如果只有IE一家独大,那么这并不是个问题,问题是遵循标准的Firefox和Webkit出现了之后,对于Web开发者来说这就是一个大问题了。

安全漏洞和崩溃

由于微软决定不再继续努力,并且他们根本不参与Firefox以及其他浏览器之间的竞争,bugs和安全漏洞便蜂拥而出 — 并且都很严重。举个例子,仅需下面这段代码就可以让IE6崩溃:

<script>for(x in document.write){document.write(x);}</script>

事实上,本段开始的那幅截图就是利用这个bug做出来的。

IE7 和 IE8 乳臭未干,姗姗来迟

在IE6问世5年之后微软终于抽出时间发布了IE7,IE7新增了标签功能,仅仅从用户角度来看还说得过去,但是对于Web开发者来说这仍然是场噩梦,因为原本只需要考虑兼容一个垃圾而现在变成了两个。

又过了两年半,微软发布了IE8,对CSS支持得更好,并且新增很多特性,如隐私浏览模式,可以避免一个网页坏掉便拖垮整个浏览器的独立标签功能,还有防钓鱼功能。而此事,大多数Geek早就转移阵地到Firefox了,还有些人继续转移到Google Chrome。

Geek们痛恨IE的真正原因

image[21]

并不是因为是Geek便讨厌所有次等过时的东西(事实上我们痴迷复古式计算机)所以我们喜欢Atari、NES、Commodore 64等等。我们以身为Geek见多识广而骄傲。那么为什么IE是个另类呢?

下面便是让我们痛恨这个混身烂疮的浏览器的几个原因:

对Web开发者来说,兼容IE就像眼中刺

web设计者一天的生活:你花费数个小时做出页面来,然后在Google Chrome、Firefox、Safari 甚至是 Opera 里测试,结果都非常完美,太棒了!

现在你打开IE,发现自己的作品看起来像是扔到搅拌机搅拌完了一样。于是你一边骂娘一边试着调整页面使其在IE6和IE7里看起来不那么奇怪,而花费的时间将数倍于之前开发的总时间。

Geek 们使用 IE 纯粹是被逼无奈image

全世界的 Geek 都被逼着在工作时使用IE,尽管有很多更好的浏览器,因为企业应用而必须兼容IE,必须使得网站在IE下运行正常,而我们又没有办法劝服所有人都去换一个更好的浏览器。

Geek 并不讨厌过时的事物,但是他们讨厌被强制使用过时的事物。

好消息是,前方的道路是光明的

感谢上帝,在浏览器国度里,似乎微软在犯下的无数个错误后终于幡然醒悟。他们的市场占有率跌破50%,他们终于知道要开始遵循 Web 标准了。

IE9 发布在即,它有着类似Google Chrome的界面,炫速的硬件加速,并且出人意料的完美支持HTML5。事实上,由于它进步如此之大以至于有34%的本站读者表示他们会更换到 IE9。

微软号称IE9将改变整个世界,他们说得没错 — 只是他们忘记说了拖整个Web后腿的正事他们自己。如今IE6的噩梦终于要结束了。

13 comments

照葫芦画蟒蛇

starting python on google app engine
1.BirdNest  http://code.google.com/p/birdnest/
推特收购了Tweetie并发布免费版,支持API。被逼自己动手搭,结果却出乎意料地简单。网上教程很多,比如最近在风口浪尖上的月光的教程,遵循这个步骤下去,deploy的过程很顺利,但是却用不了,经由 @ggarlic老湿指点,在项目Google Code的 Issue14里发现了如下修改方法。

自建Google APE出错的解决方案
1、
下载Google APE源码的地址是:
http://birdnest.googlecode.com/svn/branches/gae
而不是:
http://birdnest.googlecode.com/svn/trunk/(不要用这个)

2、
如若你的code.py文件中,第82-91行为下列内容,请把这些内容删除:

    import socket
    import re
    ua = web.ctx.environ.get("HTTP_USER_AGENT", 'None')
    if ua.find('jibjib') >= 0:
      socket.setdefaulttimeout(60)

    elif ua.find('zh-CN') >= 0:
      #raise Exception('unknown error')
      socket.setdefaulttimeout(2)
    else:
      socket.setdefaulttimeout(2)

再试,可以了。

2.GAppProxy http://code.google.com/p/gappproxy/
目前使用其Windows客户端,并添加为系统服务,FF下配合AutoProxy使用,基本感觉不到墙的存在了。
问题1:twitter能打开但无法登陆。 – 用此版本替换,问题解决。
问题2:YouTube等视频网站能打开,但连接错误。 – 待搞
问题3:经常弹出提示证书无法识别。 – 待搞

3.虾米自动签到
参照VeryCD自动灌水脚本,改写了个虾米自动签到脚本。
app.yaml:

application: xiami #此处修改为自己的app名称
version: 1
runtime: python
api_version: 1

handlers:
- url: /sign
script: sign.py

cron.yaml

cron:
- description: daily sign job
url:  /sign
schedule: every 6 hours
timezone: Asia/Chongqing

sign.py

#!/usr/bin/env python
#coding:utf-8
#author:sourbell
#http://sourbell.im

import urllib2,urllib,httplib,cookielib
email = 'i@sourbell.im'  #改成自己的用户名
passwd = 'password' #改成自己的密码

def login():
    '''这个就是登录脚本'''
    print 'try to login...'

    #登录需要准备cookie
    cookie=cookielib.CookieJar()
    opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cookie), urllib2.HTTPHandler)
    urllib2.install_opener(opener)

    #现在填表
    postdata=urllib.urlencode({'email':email,
        'password':passwd,
        'submit':'登录',

    })
    req = urllib2.Request(
        url = 'http://www.xiami.com/member/login',
        data = postdata
    )

    #填header,伪装成正常浏览访问,这是一种写法,也可以用我之前那篇文章的写法,更有条理一点
    req.add_header('User-Agent','Mozilla/5.0 (Windows; U; Windows NT 6.1; en-US; rv:1.9.1.6) Gecko/20091201 Firefox/3.5.6')
    req.add_header('Accept','text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8')
    req.add_header('Accept-Encoding','gzip,deflate')

    #交登录表,然后就登录成功了
    print '...login form submitted'
    result = urllib2.urlopen(req).read()
    print '...login succeed!'

def sign():
    url = 'http://www.xiami.com/task/sign'
    request = urllib2.Request(url)
    response = urllib2.urlopen(request)
    print '...sign succeed!'

if __name__ == '__main__':
    login()
    sign()

1:没有技术含量的改写,有错误也难免。此签到功能只要打开某网址就可以了,以后应该会改掉吧。因为涉及到密码,所以还是单帐号比较好。
2:SDUpload无法上传cron计划任务配置文件,必须用GAE的 [appcfg.py update 目录名]。
3:原本安装了Python3.1,后来发现不仅print这些函数变了,很多lib比如urllib、urllib2都转到test下去了,嫌麻烦又换回了2.6。
4:原本以为模拟点击按钮需要使用PAM30,结果用了才知道那是实际打开一个IE来模拟点击了。并且使用PAM必须先安装此扩展

, , , 2 comments

今天我Mark all as Read了

    个人近况。在经历了4个多月的穴居生活之后,今天—六月一日我重新成为了一名朝九晚六的上班族。新公司全名叫“苏州数字地图网络科技有限公司”,坐落于苏州市十全街吏舍弄苏大创业园,是一家面向网络数字地图的年轻的创业公司。
    因为后来我膨胀了所以还是忍不住再唠叨一下这次找工作的经历。由于一贯的拖延症,我花了两天时间终于在智联招聘上完成了个人简历,我很谨慎地投了六家公司甚至在 Google Doc里建了个表格按照顺序记录各家公司信息以及反馈状态,然后想如果一个礼拜内没有一个回电我该怎么办。第二天非常意外地接到这家我并没有投的公司,电话里经理说在智联看到我的简历,还说现在他们公司有我一前同事(其实也是大学同学)和另外一个大学同学。当时我琢磨着如果对方有收藏癖的话要了我就正好凑齐咱大学学院三个班的了。第二天早上我很激动地去面试,经理不在让项目经理面试,坐下后他的第一句话是,我觉得你的简历写得很实在,个人简介里写七年美剧史锻炼出强劲的英语听力及口语(某肥涛现在直接呼唤我为”七年美剧史 “),我害羞地笑了笑,他说前两天LOST大结局你看了没,我立刻就不紧张了两腮的绯红立刻隐去立刻就利索地告诉他我看得很不过瘾并且打算从第一季第一集开始再看一遍。去之前同学告诉我可能会让我搭个框架实现个简单的增删改查,让我把笔记本带上,在谈到项目经验时,有几个古老的项目我来之前没有重看一遍,只好拿出笔记本打开Eclipse并迅速定位到提及的某个功能,这一三百六十度侧空翻七百二十度转体三周半前空翻一个月的精准连贯动作也间接证明了简历里并非虚假内容。
    一面结束后就谈工资了,我膨胀了。
    下楼后我给媳妇儿打电话,告诉她咱拮据的日子快结束啦;给在老家的老爸打电话,告诉他借他的钱年底可以还啦;给在老哥家的老妈打电话,试图从他们那里证明我这个他们眼里永远的小盆友也还稍微有点价值。
    今天下午,经理找我聊了聊,从公司现状、目标、想法等等谈起,谈到互联网盈利模式,谈到整个经济形势,我基本上将自己的想法和盘托出了,但是最终证明很多都是错误的并且很多事情都没有想得彻底。他说公司的理念是开发员不仅仅负责开发,鼓励大家提出新想法。我想这就是做产品与做外包的差别吧,这正是我所期待的。
    每次新进一家公司都会忍不住花痴般地狂想一番,但究竟有没有奔头还得冷静下来慢慢看,我是个三分热度的人,如果要做好一件事必须隔段时间来点动力,经理说了类似今天的聊天还会很多,但我想我必须不断提高自己否则对方提个名词还得跟我解释这就没法聊了。
    进公司前给我展示了目前的几个正在开发中的产品,我觉得完成以后我会很自豪的展示给朋友们看的。

    一切从头开始,浏览器卡了10秒钟后,Your reading list has no unread items,舒畅。

, 10 comments

iPod Touch 入手

    所有冲动消费都异常刺激。
    从打算买到拿到手总共三天时间,中间还有一天被媳妇儿训话而一度打消了念头。礼拜一晚上下单,礼拜三上午送到手,快速度很。除了官方标配还加了一张膜一个硅胶套一个海绵套,绝对不值一百来块钱。以前买相机时贴过一张膜,我一边儿把表面一层上的贴纸刮干净一边儿埋怨设计太不人性,几个小时后才发现那张膜一共三层,揭掉刮了半天的那层才是完美的。硅胶套套上总觉得吸灰尘脏脏的,可不套上背面的保护膜边角总会翘起来。
    首次开机要 iTunes 帐号来激活,很久之前已经安装并注册了个帐号,所以这个过程很快。不过EtionT老师说最好注册个美国帐号,很多app中国用户看不到,万恶的美帝!开机后iTunes自动同步资源库中的音乐到Touch里,接着我把从早我一天入手Touch的sfufoet老师博客里看到Sein老师给的一些app全部下了下来。EtionT老师还热情推荐了若干款app “ stanza,dropbox,skype,wordpress,支付宝 ,facebook,fring,evernote,google地球,wikipedia,豆瓣电台,IMDB,MTIME,有道词典,GoodReader-lite,优酷,4sq,对了,还有牛逼的MobileRss”。
    最后还送了一条“邪恶的建议“ — 去淘宝上花十几块买张黑卡猛下游戏。说到这个黑卡,最近PT里流传一些Web-DL版720p非录自HDTV,而是从 iTunes里下载再去除DRM拷贝,一般40分钟一集美剧文件大小1.45G,普通720p是1.09G,前者较后者的优点除了清晰之外而且没有电视台图标等杂七杂八的东西,适合收藏。目前只有一个小组会制作,而这个小组是由HDB里面的人发起的,所以可以说是唯一来源,HDC里有人提议到淘宝上买点黑卡来搞个小组不一定没HDB搞得好,这敢情好。
    前几天推上有一个段子说:用ThinkPad的脸都臭,用MacBook的腿都抖。我用的ThinkPad,梦想着把玩MBP,莫非我白天脸臭,睡觉腿抖?用ThinkPad的很多装商务(比如俺),大多数时候用下巴看人,俗称装逼。用MacBook的则装时尚,大多数时候不看人,俗称装酷。现在我可以开始学着装酷了。

    扯远了,下面主要介绍如何用笔记本共享闲置的无线网卡给iTouch来Wi-Fi,本来以为网上教程一大把还不挺容易的哇,结果花了一天时间。网上教程大多是本地拨号,不考虑已经存在一个有线路由的情况,只要考虑这一点问题就解决了。

第一步:启用无线连接,共享本地连接。本地连接 – 属性 – 高级,勾上两个允许,确定。如果提示出错,就先拔掉网线共享再插回。
第二步:配置无线连接,发射无线信号。无线连接 – 属性 – Internet协议 (TCP/IP) – 属性,假设路由器IP为192.168.0.1的话,本地连接应该为192.168.0.2-255,那么这里设置无线IP为另外一个IP段比如 :192.168.1.1,子网掩码:255.255.255.0,其他项留空。确定后进入无线网络配置,勾选用Windows配置我的无限网络设置,勾选高级 – 仅计算机到计算机(特定) ,添加 – 开放式 – WEP,去掉自动为我提供此密钥并输入密码,输入网络名(SSID)后确定成功。
第三步:客户端Wi-Fi。iTouch为例,选择刚才的SSID,输入密码,进入配置。选择静态:IP:192.168.1.2;子网掩码:255.255.255.0;路由器:192.168.1.1。

Done。

, 20 comments

还有一些关于绝命毒师的事情

游戏 – Walt’s Warning

Game

很可耻的在把玩了数个小时后,我仍然不敢说我会玩或者通关这个游戏了,但是这个游戏可说的东西很多,想到除了小游戏外每季都有Minisodes,不得不赞叹剧组剧集之外花费如此多精力之敬业。打开网站后看到的如上画面,在选择Enter Walt’s World进入游戏之前,可以先选择Customize来自定义你的名字、所在地以及上传头像(在游戏里会用到)。进入游戏后你就成为了一个误闯Walt野外制毒点的蠢蛋了,很快就会被Walt搞趴下整晕然后抓进小房车,下面的剧情会根据你的反应变化而变化,我摸索到的有如下几种结局:

1.睁开眼后没有反应,Walt暴怒,“醒醒!你丫再装!”,被整晕扔出去。
2.睁开眼后东张西望,Walt暴怒,“你丫有没有听我说话?!”,被整晕扔出去。
3.听Walt讲完自身遭遇后,盯着他身后的手枪,Walt 拿过枪将你砸晕扔出去。
4.听Walt讲完自身遭遇后,盯着他身后桌上的瓶瓶罐罐,Walt慢慢悠悠戴上防毒面具,混合出点化学气体将你整晕扔出去。

在线玩Walt’s Warning! 继续阅读

, , , 3 comments

另外一些关于绝命毒师的故事

知识 – 氢氟酸

场景:S01E02 | 使用者:Jesse | 目的:化尸 | 群众感想:重口味 | 剧透:Walter的让Jesse去超市买塑料桶,告诉他要底部有三角形标志的聚乙烯,并强调了要写着LDPE的(注:LDPE(低密度聚乙烯),随处可见的塑料袋多以LDPE制造。),结果Jesse没能买到足够装下整个Body的大桶而空手回来了。Walter回家后Jesse自作主张将Body放进浴缸戴上防毒面具打开买来的用塑料瓶装着的氢氟酸,于是杯具了……
Jesse
无意中在基本没什么内容的绝命毒师百度贴吧中看到一个尚有点内容的帖子是这么个比剧集还要重口味的:化尸水的可行性报告,友情提示帖子实验品用的是鸭翅。
由于初高中学习的化学知识基本还给几位长得跟Walter差不多的老师了,所以上述帖子里用到的很多酸除了间歇性出现在新闻中被用来面膜或者喂熊的浓硫酸之外其他都没印象了,倒是剧集里的这个氢氟酸里的这个氟元素很感兴趣。高中老师肯定讲过氟元素是一种非常非常活跃的元素,遇到绝大多数元素都会立即发生化合作用。可以想象当初我听到这里的时候一定也会觉得很有意思,但是现在我一点也不记得了,我是在这篇文章里看到的:死亡元素-氟 以及另外一篇类似的文章 发现氟的悲壮历程。后面一篇对最终成功提取氟的莫瓦桑有细致入微如小说般的描写……

知识 – 雷汞

场景:S01E06 | 使用者:Walter | 目的:爆炸 | 群众感想:震撼 | 剧透:负责销售的Jesse找到地盘上的扛把子Tuco,想将刚出炉的冰毒卖给他却被他打残,Walter得知后拎了一袋形似冰毒的雷汞便深入虎穴了……
Walter
雷汞,又名雷酸汞,有机化合物,白色或灰色结晶,深棕色晶体;溶于热水、乙醇和氨水。雷汞干燥时受轻微摩擦、撞击或加热,即可引爆,故贮存时必须保持较低的温度。有毒,受到热、摩擦或冲击时,极易爆炸,用来制雷管。雷汞在工业和军事上可作雷管药帽。via 百度百科
继续阅读

, , 3 comments

蛋疼搜藏癖之反射[下]

27,Spy Game,2001

Spy Game

26,The Princess Diaries,2001

The Princess Diaries

28,Deuces Wild,2002

Deuces Wild

29,Kangaroo Jack,2003

Kangaroo Jack

30,The Matrix Reloaded,2003

The Matrix Reloaded
继续阅读

, 5 comments