真实姓名:Joel
别名:taddeimania
所在地:格林维尔,美国
用户名:https://www.livecoding.tv/taddeimania/
职业:软件开发者、老师
问:你是如何和为什么发现自己对编程感兴趣的?
答:开始的时候是因为需要多于兴趣。我上高中的时候觉得编码很酷,但七年后当我发现自己的建筑专业学位的价值就像纸一样薄时,我重新评估了自己的职业规划。我记得我对编码的兴趣来自HS,并开始写了一些仿真游戏Everquest服务器的CGI脚本语言。它很快成为一些使用Python的电子表格程序的自动操作技术,也成为了一些社区大学里Java/Oracle课程的内容。在第一个学期的中途,我得到了一份工作,剩下的就是经历了。
问:在你的职业生涯中,哪一个项目是令你最引以为豪的?
答:这肯定是要保密的。要不然的话,我肯定会说,对自己的第一个项目“Pet Project”感到非常自豪。这是一个很棒的足球web应用程序,它可以从一个NES只读存储器中导出它的统计数据。我最终写了自己的只读剖析器,它可以提取数据并把它们直接从一个上传的文件中导入到数据库。
问:你写过的最疯狂的代码是什么?发生了什么事情?
答:对我来说,这是一个有点有趣的挑战。我创造了一个Quine(奎因),写了一个它自己的副本到一个影像里。它抓住了在编程中每一个字符的ascii价值,并创造了红、绿、蓝三联体码的像素值。然后它把像素写入一个矩阵,并把它输出到一个影像里。从理论上说,你可以解码像素,并把字符写回到一个文本文件里,通过这样来解码程序(详细介绍点击这里)。我还创建了一个程序,用来分析巨大的含有莫尔斯电码的音频文件,把它们输出成为简洁易读的文本。
问:请介绍一下你正在创建的analytical dashboard?
答:它是一个仪表板,livecoding.tv上的直播者可以自由选择是否使用它。它可以用来计算直播者的用户和粉丝的数量。我提到说他们可以不使用这个仪表板,这是因为无论他们是否主动使用它,它都会追踪直播者的粉丝并保存粉丝的数量。它还使用了社交平台的登录名来登录livecoding.tv,因此你不需要使用用户名和密码就可以登录了。
问:这些analytical tools可以如何帮助直播者更好地了解和定向他们在Livecoding.tv上的频道流量?
答:我已经一直在使用这个工具来体验在什么时间和哪些话题是最受欢迎的。它不但可以追踪和显示你自己的用户统计,还可以追踪来自所有频道的用户的总数量,因此你可以看到在网站的观众中,有多少比例的人正在看你的直播。这对我来说是很重要的,我不仅可以看到自己是否有很多粉丝或者只有一些,而且我还可以知道有多少比例的观众正在看自己的直播。
问:你用了哪些语言,工具和插件来创建这个analytical dashboard?
答:这个仪表板用的是Python 3以及Django的Web框架。它有一个周期性的计划任务,使用Celery和一个rabbitmq任务代理来统计所有观众。它都是在具有RDS Posgres实例的AWS EC2上运行的。至于工具,我用的是Vim,把它作为我的文本编辑器,还有Capistrano,用来有效执行应用程序。
问:你认为除了基本的内存模型和翻译的速度慢以外,Python的表现还有哪些缺点?
答:我在使用Python时唯一遇到的问题是它往往功亏一篑,因为全局翻译器是由程序锁定的,这些程序需要任何数量的线程管理。我也不认为Python本身是一种“慢”的语言。我已经很少遇到一个瓶颈了,它的存在是因为翻译器——绝大多数时候,它是一种网络潜在的状况(分配的结构),或者是一个设计得很差的数据库概要。重要的是要记住Python包含了它在C语言中执行的所有性能的关键代码,而且因为一些同样性能的工具,如Cython等,它们的出现也令Python在统计和科学界有了强大的表现。另外,如果你仍然坚持觉得Python很慢的话,就用Pypy吧,它运行得比较快。不过幸运的是,我不是要看它运行得有多快,我要做的是建设产品。
问:能说一下你在愚人节那天的直播April Fool’s Day吗?
答:说到愚人节那天的直播,我是有点搞怪的。我喜欢弄一下恶作剧。那天刚开始的时候,我改了自己的Linkedin名字,宣布说我换了一份新工作,是成为了一名Brainfuck工程师,但没有人明白这个玩笑。所以为了继续这个玩笑,我决定用Brainfuck直播某个“Web开发”。对了,如果你从来没有听过这种语言,那你先暂停看这个访问,去查一下维基……它是疯狂的。所以,没错,我是要搞一下恶作剧,所以我把自己的头发弄乱,用brainfuck作了一个hello world的HTML页面。点击这里查看代码。
问:你在南加洲大学的哪个学院教学?从程序员转变成为一名老师,发生了什么事情?
答:我在The Iron Yard教学。从程序员到老师,这是一个漫长的转变过程,但实际上我接受这份工作,继而走入课室成为老师,只是花了几个月的时间。我已经发现自己对指导和帮助新的开发者去学习编码越来越感兴趣了,我把握住这个机会,成为全职。它真的是一种乐趣。
问:在南加洲大学你教的是哪些课程?你在编程方面的知识对你发表一次学术演说有多大帮助?
答:目前为止我已经教了后台的Web和数据科学课程。我希望最终可以教前端的Web课程。我觉得自己写代码的经验,以及作为生态系统/社区的一分子,这些已经有助我交出最好的课堂经验了。教语法和覆盖API只是其中一部分我尝试去做的工作,来帮助我的学生。他们正在过渡到一个新的职业,而且需要有人为他们作引导,因此对我来说,更重要的是帮助他们成为更有效果的学习者。所以,在经过了我们的短期项目后,他们可以继续有效地学习所有出现在他们面前的新技术。
问:在南加洲,程序员的市场如何?
答:肯定比不上硅谷或是纽约,但在这里,我们正在做一件很棒的工作来填补程序员的短缺。很幸运,Iron Yard的校区遍布整个国家,它正在填补每一个地方的程序员空缺。
问:作为一名老师,什么是你的人生中最难忘的时刻?
答:演示日和毕业晚宴总是最令人难忘的。我看到了学生的成长,因为他们几乎是从没有任何经验到成为充满自信的软件开发者,这是令人印象深刻和深受鼓舞的。我觉得我从来不会忘记任何一次毕业晚宴。
观看Taddeimania最近的一个直播Intro to BrainF–k – APRIL FOOLS