本月获奖者是Julian Egelstaff (jegelstaff),因他为Formulize制作的新版本!
你来自哪里,现在住在哪里?
我来自加拿大安大略省南部,虽然我在卡尔顿大学读书期间和之后在渥太华生活了九年。自2001年以来我一直住在多伦多。
你编程多久了?
我从大约十岁左右开始编程。我在学校里学习 Commodores 上的 BASIC,那时候学校还会教授一些关于计算机的知识,而不仅仅是教我们如何使用某款特定的软件。我不得不自学使用 Atary BASIC 的方言,只能用最基本的参考手册来学习这种语言——这实际上非常困难,因为例如,在 Atari BASIC 中,你在使用字符串变量之前必须对其进行尺寸设定,而在 Commodore BASIC 中则不需要,所以我几个月只能编写依赖数字输入的程序。
实际上,我在高中大部分时间里都没有再摆弄那些东西,但我一直保持着对计算机的兴趣。后来当我在软件公司工作的时候,这体现在我不仅知道如何打开电脑,所以最终我编写脚本来自动化桌面出版流程。
此外,那时互联网爆炸式发展,所以我学习了 HTML 和相关的东西,最终以一种非常迂回的方式,这导致了 PHP 编程的出现。
你的专业是什么?
我的主要专业知识是咨询。我听着人们想要做什么,然后想出实现他们的目标的技术方案。通常,我会与人谈论他们试图设计或构建的基于网络的系统,但这并不总是基于网络。
我与人合伙创立了一家非盈利公司 Freeform Solutions(http://www.freeformsolutions.ca),旨在帮助其他非盈利组织使用计算机和技术来更好地实现自己的使命。所以这是一个很大的覆盖面,我可以集中我的咨询专业知识来帮助那些做好事的组织,我希望帮助他们做得更好。
所有编程和网页开发的东西实际上都是从属于提供优质技术选项给那些有伟大想法但没有技术能力的人的主要目标。
什么让你接触到了Xoops?
我们在寻找一个灵活的系统作为数据录入和报告工具的基础。XOOPS 有一个强大的基础设置——用户管理,权限管理,一套相当标准的社区网站模块等——外加 Formulaire,这基本上是我们当时想要的。经过 100 小时的编码后,我们有了 Formulize 1。那是在 2004 年。
XOOPS 吸引人的地方在于,从 2000 年到 2002 年,我曾在一家为自身构建了门户系统的组织内部工作,并探索了该系统中权限管理和用户管理的许多概念,而我们当时并不知道什么是门户系统——在 2000 年没有人真正将门户系统作为一个产品来创建——我们当时所拥有的许多概念与 XOOPS 相似,所以它是一个很好的匹配,并且是我们几年前开始的自然延续。
另一个代码库不是开源的,我们无法继续在它上面工作,所以鉴于 XOOPS 是一个成熟、免费且由其他人维护的代码库,这是一个巨大的优势。
你最喜欢XOOPS的哪些方面?
我喜欢干净的面向对象结构,以及 smarttemplate 引擎的有效使用,尽管我们并没有充分利用 Formulize,但无论如何。
XOOPS 本身没有太多现成功能,但它是一个非常灵活的应用程序开发平台。它是一个非常轻量级的编程框架,几乎是作为一个门户系统,它非常轻量。在此基础上,它非常有效。
这也使得它与其他系统集成的非常灵活,这正是我目前的最大兴趣所在。因此,XOOPS成为了一个很好的选择系统,当你想通过使用一些基于XOOPS的工具来扩展其他网站的功能时,例如Formulize。这是我今年在多伦多FSOSS会议上的一个主题的演讲内容(http://fsoss.senecac.on.ca/2008/?q=node/85)。在大约一周或两周后,将在fsoss网站上提供这次演讲的视频。
你为什么决定开发Formulize?
我们希望构建一些东西,这些东西是我们在先前提到的非开源代码库中所构建的进化的东西。我们有一个客户需要一个基于Web表单的数据录入和报告工具,我们知道如何构建一个能满足各种业务需求的工具,因为我们已经这样做过了。所以我们开始重建我们所做的东西,以Formulaire为基础,因为它非常接近我们需要的大多数基本功能。
一个关键的想法是构建一个灵活的东西,因为我们知道客户端在未来会有不同的需求,而他们将来可能无法让我们构建一些新的东西。所以Formulize从一开始就有一个非常具体的的设计目标,使能力非常通用,这样你就能够标准化的使用它来模拟各种各样的流程和程序。
事实证明,这种方法非常灵活,可扩展,后续的开发很大程度上是受这种想法的启发,试图看看我们能将这种想法发挥到何种程度,是否能够创造出开源世界中最强大的一套业务流程建模工具,同时还尽可能地被非程序员所接受。
你在编程方面最大的成就是什么,让你最为自豪?
毫无疑问,我的ZCE认证。
这是PHP专家程序员的行业认证。你必须明白,我的高等教育背景是新闻学和哲学。我只是一个计算机爱好者,我擅长数学,但我在学校里并不是一个超级计算机发烧友。我没有学习计算机科学或计算机工程,或者在学习或之后的任何类似技术。但我对编程有一种天赋,我得到了一些跨越技术实现和系统设计边界的工作。
在我提到过的桌面排版自动化工作之前,那家公司的培训有素的程序员曾试图为桌面排版部门编写一些东西。那是一个彻底的失败,因为程序员不理解桌面排版流程和主题。所以当我介入尝试时,我不知道半数的编程就像原始程序员所知的那样,但我了解主题,我足够了解编程,以至于我制作了一个实用的自动化脚本,在那个公司使用了四年,这在计算机行业中是很长的时间!
所以,我可以说是“意外地”进入了编程领域,因为我是一个拥有全局视角的人,了解我们试图实现的目标,并且我了解足够的技术,以确保我正在工作中的实现能够真正工作。最近我在《PHP Architect》杂志上读了一篇文章,提到当涉及到编程时,做好正确的事情,即使做得不好,也比做错事情做得好要好。这大概总结了我进入真正计算机编程世界的经历。
当我大约8年前转而从基于Web的技术,开始使用PHP时,可以说确实有一些学习曲线。但到了2006年我参加PHP Works会议的时候,他们免费为所有与会者提供ZCE考试,我想,什么该死的,我现在对PHP了解一二,毕竟我为Formulize编写了一些代码,还在XOOPS以及其他事物上进行了一些修改。
所以我坐下来就参加了一场考试,没有准备,就是那天的知识。我通过了考试。所以这是对我的一次很大程度的验证,我现在不是在以一种错误的方式做着正确的事情了。
当你不编码时,你的爱好是什么?
哦,这不仅仅是个爱好……我不工作的时候,大部分时间都在照顾我的女儿们。我的妻子是一位在公共部门,非营利机构以及法律援助客户律师事务所工作的非常成功的律师,她在家里工作。所以我的主要工作是照顾我们的女儿们,我只是在他们上学或者我岳父母照顾他们的时段做这个“工作”。他们非常慷慨,一周有两个下午来照顾女儿们。
所以代码更像是个爱好,当爸爸才是我的工作。我们家还有一个非常棒的46加仑水族箱,我喜欢保养和保护里面的鱼。我还是有一定的电影爱好者,不算特别狂热,但我们家有一些DVD的收藏。
你最喜欢的电影和音乐是什么?
很难有绝对的喜好,但我认为《人类之子》是我近几年看过的最好的电影。我也是新《太空堡垒卡拉迪加》的大粉丝,可惜他们在愚蠢的安排上拉长了剧集。皮克斯的电影我也百看不厌,这些人真是天才。
我喜欢爵士音乐和偶尔的一些古典音乐。自从高中以来,我几乎没有听过摇滚或流行音乐。尽管我对宠物商店男孩乐队有一定的偏爱。他们最近的一张专辑实际上真的很不错。
如果你有一个30秒的商业广告,向世界传达一条信息,你会说什么?
关于气候变化的话题。那里正在发生一些非常,非常,非常可怕的事情,我坚信我们正在迅速耗尽一切可以真正产生影响的应对措施的时间。
人们认为他们个人的所作所为微不足道,因为他们认为美国排放量是问题的一半,或中国的排放量才是真正的问题。但这并不正确,至少这不是整个故事。
首先,有人必须指明前进的方向。必须有创新和示范,这样我们才能看到出路。必须有以德服人的领导。
但同时也有一句古老的谚语,对于像气候变化这样的大众问题,是100%正确的:“雨滴不认为自己造成了洪水”。我们所有人都为这个问题做出了贡献。我们都可以为解决方案做出贡献。