Twitter

  • 补充上推。作为一个伪Linux用户,我从Redhat 6开始安装使用,然而始终不能坚持把Linux作为主系统,可Mac OS X可以满足我的需求,它有一个强大易用的GUI,同时它根本就是个UNIX!所以说这两个系统根本就是近亲,没什么可互相BS的。5hour, 59 minuteago
  • @ghoulr 呃……我没觉得你怀疑Mac用户的智商,我刚才实在被那个叫什么kdr2给气坏了。另外IP的问题,我明白了。6hour, 9 minuteago
  • 每当我提及Mac有多好用时,总会有傻逼(通常是Linux用户)跳出来怀疑Mac用户的智商。我本来很诧异这样的人为什么会用Linux,后来想明白了,他们根本不是经不起Win折磨而转用Linux的,而是因为工作需要,换句话说,他们和只会用Win的人没有本质区别,我释然了。7hour, 7 minuteago
  • @ghoulr 那么是谁给的IP?操作系统在TCP/IP握手的时候就给了?那为什么浏览器的日志里会有IP,是系统给的?7hour, 17 minuteago
  • 傻逼一边玩去。另, @ghoulr: Windows会把网络整个断掉。 RT @KDr2: 大多Mac用户很无脑啊,不是还有为唤醒Mac后发现休眠前的compiling没停而欢呼的么 RT @ghoulr: 这个,VPN只是修改路由规则,不会影响已有的连接7hour, 57 minuteago

last.fm

  • 纪如璟 - Unknown album
    值得一辈子去爱 纪如璟 Unknown album
    4
  • Radiohead - Pablo Honey
    You Radiohead Pablo Honey
    4
  • Radiohead - Kid A
    Motion Picture Soundtrack Radiohead Kid A
    4

我理想中的前端架构师

| 4 comments 2010-03-08 11:41:16

前端开发正变得越来越复杂,随着软件和应用逐渐Web化,可以想见以后前端开发将会成为一个独立的部门,它将拥有现在软件开发部门所拥有的全套人员,如架构师、系统分析员、开发工程师和测试人员等等。

我blog上有一位朋友留言询问我如何定义“前端架构师”这样一个职位。虽然我没做过专职的前端开发,但一直都在参与相关的工作,甚至还曾经面试过“前端架构师”这个职位。因此结合我的个人经验,我理想中的前端架构师,应该是如下这个样子的:

职责:

  1. 提升网站的前端性能,保证前端应用具有跨浏览器和跨平台兼容性及可访问性

  2. 保证前端团队的编码质量,提升其工作效率

  3. 创建并完善内部所使用的前端工具和框架

  4. 定义与后端工程师合作的边界、标准化与后端程序的接口

技能:

  1. 精通前端开发技术和Web标准

  2. 至少精通一门后端程序语言,如PHP、Ruby、Python或Java等等

  3. 精通面向对象和各种设计模式

  4. 理解Web如何工作,如HTTP协议、Apache或Nginx等等

  5. 熟练使用各种相关的工具,如Subversion、Unix/Linux shell、VI或Emacs等等

  6. 了解交互设计的基本知识

  7. 沟通能力强,能够领导团队共同进步

我分别解释一下。

首先说职责。其中前两条应该算是架构师的一个基本职责了,无须赘述;第三条“工具和框架”很重要,有了好的工具和框架,网站的设计规范才能更顺利的得以实施,这点在以前的两篇文章中谈到过(说说互联网公司内设计师的分工和为什么网页设计不应强调分工12);第四条“边界和接口”实际上以前也谈到过,这个意思就是说,后端程序只给数据,所有的页面逻辑和展现都交给前端来做。现在许多新兴的Javascript框架(如JavascriptMVCSproutCore)都号称可以脱离后端程序、直接靠test fixtures就能独立运行,我觉得这就是对我这个观点的最好证明。

接下来说技能。技能确实没什么好说的,大部分都是一个前端开发工程师所应具备的技能。其中第二条对后端语言的掌握和第三条对设计模式的理解,实际上是相当一部分前端工程师所欠缺的(我就不懂设计模式),因此特别加上。

最后要说的是,各个团队需求不同,对工程师的要求也就不同。如果你不同意上文中的某些地方,可以留言说说你遇到的情况。

TinyTui2:带有降噪功能的Twitter客户端

| 6 comments 2010-03-02 17:53:22

去年春天的时候我写过一篇名为“一个更好的Twitter客户端”的文章,里面提到了使用贝叶斯算法来对tweets的内容进行过滤,把自己不喜欢的内容删除掉,这样可以解决信息过载的问题。

庄表伟对这个事情也很感兴趣。他本来写了一个名为TinyTui的Twitter客户端的,于是我们经过简单的讨论,决定就在TinyTui的基础上,融入降噪的功能,并将这个客户端命名为TinyTui2,简称TT2。

系统需求

TT2使用PHP+MySQL编写,使用了CURL库,服务器只要支持这3个条件就能用。

降噪算法

这是TT2的重头,目前主要从三方面入手:

  1. 内容过滤。按照内容对tweets进行过滤,使用贝叶斯算法

  2. 行为过滤。按照行为规则过滤,比如过滤掉我深恶痛绝的“用RT聊天”的行为。目前没有想好用什么算法,@tinyfool和@virushuo推荐了“隐马尔可夫模型(Hidden Markov model)”“协同过滤(Collaborative filtering)”,不过这两个坑都太深了,庄老师和我都还只是站在坑边上往下看了看,没敢跳。此外,我觉得算法可以有很多种,但每种算法要单独写到一个过滤器里面,然后用户加载不同的过滤器满足自己的需求(类似LT的VisitorSense);

  3. 好友过滤。简单地说,就是给每个你follow的人以不同的权重。

这三个方面经过计算后分别得到一个0到1之间的值,然后按照某种公式把这三个值汇总,得到一个总分,最后比较这个总分和事先设定好的阙值,就可以决定某条tweet是否应该显示或者被过滤掉。

其它功能

除了降噪以外,TT2还集成了一些其它的特色功能,比如它内建了一个简单的网页代理,可以让你直接查看那些被墙的网页(典型如短网址)。

项目地址

项目托管在Google Code上:http://code.google.com/p/tinytui2/。要注意的是,提供下载的0.1-0.4版是我参与之前的版本,没有降噪功能,最新的代码请从SVN中获取。

代码完全是“quick and dirty”风格的,我们都是实用派。

使用Win32 Networking R2 Patch来使PearPC支持网络

| 0 comments 2010-02-23 18:27:36

  1. 下载OpenVPN Installer v2.0并运行它,此版的OpenVPN只支持安装了SP2的Windows XP。在安装的过程中除了TAP-WIN32 driver外其余的都不选;
  2. 到控制面板-〉网络连接中,右键单击你的Internet连接(不是新的TAP DRIVER),激活Internet连接共享(ICS)。不要担心没有连接网络电缆的提示,当你运行PearPC时它就会显示网络接通了;
  3. 修改PearPC配置文件,确保pci_rtl8139_installed = 1,以及pci_rtl8139_mac = "de:ad:ca:fe:12:34";
  4. 启动PearPC,进入OS X后点击苹果菜单-〉系统预置-〉网络,此时应该弹出一个对话框说检测到网卡,不要理会它,点“现在应用”,网卡应该出现在列表中了。点击“显示”下拉菜单,选择“PCI Ethernet Slot pci10ex,8139, Port 4”。DHCP应该好用了;
    手动配置IP4,将IP设为192.168.0.200,子网掩码255.255.255.0,路由192.168.0.1,接着输入一个可用的DNS服务器IP,如果不知道的话就用你ISP的DNS;
  5. 点击“现在应用”,现在你就可以上网冲浪了!

相关文件下载:

原文网址:http://www.kelley.ca/pearpc/

 

后记:这篇文章原本是我于2004年6月21日译出,并发在由我创建并维护的“PearPC中文站”上的。时隔近6年后再次整理发出,是因为收到一封读者来信,咨询我如何设置PearPC使其上网。

2010春节杂记

| 6 comments 2010-02-22 23:15:24

除了吃吃睡睡探访亲友,春节期间最重要的事情,就是在长春家中整理旧物。这一次整理,正经翻出了不少好玩的东西,比如下面这几样:

西部数据鱼子酱硬盘,容量1624.6MB(yfrog

西部数据鱼子酱硬盘,容量1624.6MB

这恐怕是我现存的最老的计算机硬件了-出厂日期为1995年。除了这个东西以外,我手里还有一块同轴接口的NE2000网卡,也算是个老家伙。说起这个,本来我还买过IDT C6这块CPU的,这东西产量很少,可惜后来被我卖掉了,否则现在当个收藏品也不错。

KV300(yfrog

KV300

我买的第一个正版软件,标价要260块呐,我记得实际花了180多。1998年的事。

其实KV系列(还有当年的Kill系列)的口碑都曾非常好,我那时满硬盘的CIH病毒就是KV300帮我干掉的。再看看现在这些杀毒软件厂商的口碑……我只能说很多事情怪不了别人。

旧光盘(yfrog 1yfrog 2

在宽带普及以前,在玩电脑人手中各种光盘一定是少不了的。粗略算算我手里买的光盘少说也有三、五百张,其中大部分是游戏 :D

素材光盘,还有98年的3D游戏:死亡竞赛(Forsaken)刚学网页设计时搜集的素材光盘,还有98年的3D游戏:死亡竞赛(Forsaken)。

黑暗王朝(Dark Reign)整理旧物又一战果:翻出了前几天和同事聊到的老游戏:黑暗王朝(Dark Reign)。

其实“黑暗王朝”这款游戏很好玩,AI非常高,行动路径的设定在当时也是绝无仅有的,只是在国内似乎不太流行。

《大众软件》1996年10月号(yfrog

《大众软件》1996年10月号

这是我买的第一本《大软》,至今仍然清楚地记得那是在高中放学以后,天已经黑了,我骑着自行车路过一个报刊亭时买下的。从那以后一直到2000年初,我期期不落地购买这本杂志。在那个互联网仍不普及的年代,反复研读《大软》成了我重要的学习途径。

除了《大软》以外,96-99年间各种各样的计算机杂志我买了不少,基本上市面上有的我都买过。其中特别值得一提的有两本,一是《软件报十年精华(1986-1995)》,另一本则是早期的《电脑高手》,这两本书的内容都是既广又深,读起来十分的过瘾。

阿尔卡特 OT715的附赠全键盘(yfrog

阿尔卡特 OT715的附赠全键盘

阿尔卡特 OT 715是我的第三个手机,也是迄今为止外形最讨我喜欢的一款(一个原因是,以后我就开始用形似砖头的智能机了)。715堪称是黑白机时代的机王之一,屏幕够大,功能够强,并且阿尔卡特不惜血本的给它配备了在当时看来很豪华的一些配件,比如数据同步线、数据同步底座、Creation Studio软件、耳机和这款外接全键盘。

刚才Google了一下,发现一群老外直到2006年还在为阿尔卡特OT 501(我的第二款手机)和715编写软件,真是疯子!

唐朝乐队(yfrog

唐朝乐队

唐朝的《梦回唐朝》记得吧!这是当年磁带中附带的歌词页,为了向这支伟大的乐队致敬,我给这页覆了膜。

虽然已经时过境迁,但唐朝和黑豹永远都是我心中摇滚乐的两座高峰。

《雪椰》(yfrog

雪椰

小时候很喜欢看,那个女主角在当时也算是个梦中情人了 :D 可惜作者颜开的更新速度实在太慢,差不多一年才出一本。一个漫画从我上初中就开始画,等到我上大学了还没完呢!

 

就写这么多吧,最近很少更新blog,工作一忙起来,就很难静下心来写东西。

对了,我最近主要在Twitter上说话,欢迎follow我:@felixding

一个十分好用的铃声制作软件:Ringtones

| 14 comments 2010-01-24 21:28:55

我是无意中发现这个软件的,试用了以后让我彻底改观了对铃声制作软件的看法-原来此类软件可以做得这么好用的!

软件启动后会直接读取iTunes的曲库,这样用户就不用再傻乎乎的去一首首打开mp3了。很棒的设计。

软件主界面

选取一首歌曲后,界面下方会直接显示歌曲的信息和波形图。

歌曲的信息和波形图

要截取声音片段,根本不用像我原来用过的此类软件那样、在播放的过程中设定片段开始和结束,而只要用鼠标拖动那个蓝色的区块、并调整区块的大小就行了,非常方便!

修改声音片段

更赞的是它的预览设计之妙完全出乎我的意料!按下右下角的Preview按钮后,软件进入预览模式,此时它会自动重复播放声音片段,无论是你移动了声音片段的位置、还是调整了声音片段的长短,预览都会在操作完毕后自动开始。

做铃声时最麻烦的一点无外乎调整铃声的开头和结尾,常常要反复的修改和预览。很贴心的是,当你修改完结尾后,软件会自动地从后面几秒开始播放,这样马上就能听到调整完的效果,非常方便!

制作完毕后点一下Send to iTunes,铃声就被传进iTunes的曲库了。不瞒你们说,因为担心麻烦,我买了iPhone几个月来从没改过铃声,这还是第一次,呵呵。

添加到iTunes

About

我在厦门拍的照片

丁宇(Felix Ding),电脑Geek,狂热的爱书和爱乐分子,99年迷上网页设计,并从此一发不可收。现在在上海做用户体验/产品设计咨询。Email: felixding[AT]gmail.com。

订阅到RSS

Latest Comments

  • 丁宇 2010-03-09 09:18:38

    @zszen 你的文档是怎么写的?可否拿出来分享?

    @ABDVL 1)职责的四项都是职责,当然管理也是一种职责 clin_oeil.gif ;2)是否闭门造车要看架构师或者管理者的眼界了,至少我们的项目组会仔细评估已有框架,并打算将自己的框架开源(如果最终决定自己做的话); 3)有人发垃圾留言,被我拉黑名单了,话说LT的毛毛就是好用啊,哈哈。

  • ABDVL 2010-03-09 08:33:52

    职责的前两项是技能的话后两项就算是管理吧。各个WD部门都在“前端工具和框架”,“与后端工程师合作的边界”,"标准化与后端程序的接口".做着闭门造车的努力。

    很少看到有谁来分享自己的“最佳实践”。

    Sign.......

    PS.刚还看到一堆评论来着,转眼就没了.....

  • zszen 2010-03-08 23:14:06

    每次和后台接口, 我都会写一份doc文档

    注明详细的功能, 命名, 参数来去传递, 传递方式, 特殊情况....

    好累

  • Y.Jiajia 2010-03-08 16:16:35

    恩,都是很基本的要求。我觉得还有一点是比较重要的,不仅需要定义与Server端工程师的接口与合作,同时还要与设计师有良好的沟通(非交互)与合作。因为如果前端工程师是企业价值的体现,那么设计师就是企业形象的代表(第一印象很重要)。

  • 丁宇 2010-03-08 09:52:59

    @Shawn 你用OG输出图片就好了,也可以输出成Visio可读的XML格式。

  • Shawn 2010-03-07 21:30:02

    感谢你的介绍,本来只是想在mac上找一个visio的替代品, 但是这个软件却让我用的更开心.

    不过用mac时间很短,想问一下,ominigraffle默认存文件的格式都是自家的.如果我做好了一张图,想给其他人share,或者是放到keynote或ppt里,该怎么办? 非常感谢

  • 丁宇 2010-03-04 15:42:54

    @kuber 中文分字。见 http://dingyu.me/blog/posts/view/spam-bayesian-chinese-5

  • kuber 2010-03-04 15:33:05

    中文分词怎么搞定的?

  • yezhan 2010-03-04 13:06:17

    清明的时候想去南京走走,想起你曾经去过,就来这里取取经。

  • 丁宇 2010-03-03 10:42:03

    @bing 1)从svn checkout出代码;2)按照你的用户名,修改一下tinytui2.sql;3)上传到服务器上;4)设置b8-0.4.4/etc/config_storage中mysql的主机、用户名和密码;5)把tinytui2.sql导入到数据库中;6)设置tweets_cache的属性为777;7)给b8-0.4.4这个目录用.htaccess加个密。

    现在还是挺麻烦的,慢慢改。

Douban