Python 101的作者Mike Driscoll访谈

由Len Epp

Mike是三本Leanpub书籍的作者,分别是Python 101Python 201和* wxPython Cookbook。 在这次采访中,Leanpub联合创始人Len Epp与Mike谈了他的职业,他的书以及他在Leanpub上自我出版的经历。

此次采访记录于2016年10月25日。

采访的完整音频在这里。 您可以在iTunes中订阅此播客或直接添加以下播客URL:http://leanpub.com/podcast.xml。

为简洁明了起见,对本采访进行了编辑。

Len:嗨,我是Leanpub的Len Epp。 在这个Leanpub播客中,我将采访Mike Driscoll。 Mike是一位计算机程序员,他在blog.pythonlibrary.org上撰写了颇受欢迎的博客“ The Mouse Versus the Python”。 自2006年以来,他一直在使用Python进行编程,并且自2009年以来一直是Packt Pack Publishing的技术评论员。他还偶尔为Python软件基金会撰写博客。

迈克(Mike)是三本可在Leanpub上出售的书籍的作者,这些书籍分别是Python 101Python 201wxPython Cookbook * Python 101主要是为初学者学习如何使用Python 3编写的。Python201Python 101的续集,主要用于中级Python程序员。 而且wxPython Cookbook充满了使用wxPython工具包的重要提示和技巧。

在这次采访中,我们将讨论Mike的专业兴趣,他的书以及他的自我出版经验,这真的很有趣。 所以,谢谢迈克,您参加了Leanpub播客。

迈克:非常感谢你,莱恩。

Len:我通常想通过询问人们的起源故事来开始这些面试,所以我想知道您是否介意告诉我们您成为一名程序员的道路以及此后的工作类型?

迈克:当然。 当我上高中时,我决定我真的很想进入计算机图形学。 然后我意识到我在绘画方面并不是那么出色。 因此,我决定改为研究计算机编程。 前两年真的很艰难。 我在社区大学学习计算机科学,但并没有真正了解它。 然后在我的第三年,一切都开始点击。 我当时想,“我能做到,这将成为现实。”

然后,.com破灭了,我找不到任何工作。 因此,我开始为一家拍卖公司做网站工作,最终被当地政府聘用从事Python工作。 基本上,我是在试用中学习Python的。 他们说:“基本上可以弄清楚它,或者被炒鱿鱼。”我学会了它,并且擅长于此,从那以后我一直从事Python。

现在,当我确实使用Python时,我开始意识到可以帮助我将其扎根到我的大脑中,我可以开始编写它。 因此,我使用博客软件-起初是个脑力激荡,以帮助我记住这是我过去所做的事情-并且我不想以后忘记它。 如果您一段时间不使用库,则经常发生这种情况。

因此,这就是博客开始的原因,最终我的读者如此之多,而且所有人都想知道,“嘿,您可以开始将它们变成书籍吗?”这就是书籍写作诞生的方式。

Len:我想在面试中问程序员的一件事是,如果您今天刚开始,您会以与以前相同的方式进入它吗? 例如,您现在会上大学并学习计算机科学吗? 还是您会另辟start径?

迈克:每条道路上肯定都有利弊。 我认为如果走大学路线,您可以采用更有条理的方式来编程,因为您很可能会获得所需的算法和数学。 另一方面,如果您选择运行编程语言本身,那么我认为您会更快地理解该语言,因为您在使用它的同时就正在学习它。

在我参加的课程中,大部分时间里,您有一个学期的课程,实际上是相当la脚的程序或项目,实际上并没有教给您很多东西。 它只是教了您概念和语法,但没有教您如何实际使用该语言。 因此,就像我说的那样-有优点也有缺点。

如果您要进入工程学学位,则肯定需要算法。 您也需要数学。 但是,如果您想学习一种语言-很多时候,我认为只需深入并启动几个项目来弄清该语言,可能会更快地学习该语言。

伦:在第三年的学习中,发生了什么事情,有什么特别的事情可以帮助您扭转困境? 还是仅仅是逐渐积累的知识和经验?

迈克:我相信我正在上一门C ++课,还有关于讲师教我单击它的方式。 而且我认为在过去的两年中,我正在学习的所有概念和知识都融合在一起了。 然后我变得:“哦,这就是全部。”我开始理解所有这些抽象概念以及如何应用它们。

Len:我很好奇您的博客如此受欢迎。 它是有机增长,才刚刚开始发生吗? 还是在各个地方推广它?

迈克:本来我相信那只是有机的。 我最终加入了一个名为Planet Python的地方,该地方是Python博客的汇总。 人们偶尔会发布我的文章,并在Reddit上发布。 但是在大多数情况下,我并没有做太多广告。 然后最终我开始添加-我认为它叫做TweetFeed,不幸的是,今年实际上已经倒闭了。 他们会自动为我发送我的文章,因此我不必总是记住这样做。 但是除此之外,还有一些在Hacker News上的帖子,我自己并没有做很多广告。

伦:真的很有趣。 您几乎在一开始就用Python 101撰写了有关如何学习基础知识的文章。 在书的描述中,您将讨论如何比大多数初学者更快地切换到中级内容。 我想知道您是否可以谈一点? 关于为什么学习基础知识还不够?

迈克:当然。 我读过很多Python书籍和许多编程书籍。 但是我在许多初学者中都注意到了-您学习语法,然后不了解如何应用它。 因此,当我写自己的书时,我想超越基础知识。 我想进入实际上很有趣的东西。 我很感兴趣,希望读者也很感兴趣。

我注意到许多这些初学者书籍中缺少的另一件事是,它们没有告诉您如何编写程序,然后分发程序。 因此,如果我想编写一个模块并将其分发给Python社区的其他成员,则大多数书籍都不会告诉您如何执行此操作。 或者,我想创建一个程序,然后将其变成Windows的可执行文件或安装程序。 大多数书籍也没有告诉您如何做到这一点。

所以我决定,我将填补这一空白,并展示如何快速进入Python。 向他们展示标准库中已经存在的哪种库-您无需安装任何东西。 然后向您展示安装程序,创建自己的模块,如何分发它们,然后最终创建自己的可执行文件是多么容易。

Len:我想知道您是否不介意谈论wxPython Toolkit是什么,以及您对此有何参与?

Mike:是的,所以wxPython Toolkit是一个跨平台的用户界面。 它是wxWidgets的包装,wxWidgets是一个C ++库,有点像Qt工具包。 关于wxPython的好处是,它通常会将本机小部件带到所写的任何操作系统上,并实际使用这些小部件,而不是像Qt那样绘制传真。 因此,您最终要做的是,实际上每个平台上都有非常本地化的小部件,并且看起来正确。 而且,您有时不会像TkInter或Qt那样看到任何怪异或怪异的东西。

我之所以参与其中,是因为我实际上是在转换一些VBA代码-将Excel和Access转换为wxPython。 因此,我学会了如何做。 然后,我在社区中工作了很多,他们帮助我弄清楚了如何使用该工具包。 然后,我通过帮助其他也想使用它的新手回馈了自己。

Len:帮忙是您在网上找到的工作主题。 例如,您的书籍有截屏视频,还有帮助人们的视频。 我相信您是在2014年出版的第一本书Python 101 ,并为此进行了Kickstarter活动,并准备了以后的书。 我想知道您是否可以谈一点? 您第一次开始Kickstarter广告系列的经历是什么?

迈克:这很有趣。 我以前从未做过此事,但过去我曾支持过一些Kickstarter广告活动,但我想到进行Kickstarter广告活动是衡量我书的内容是否会让其他人感兴趣的好方法。 因此,我创建了一个目录,并将其作为Kickstarter的一部分发布,并解释了我将在每个Kickstarter中介绍的所有不同部分,以及为什么我认为它们很重要。

就像我刚刚告诉你的那样,为什么我以自己的方式写第一本书。 人们的确对此做出了回应,到目前为止, Python 101吸引了最多的支持者,也是我所有项目中投入最多的。 我真的很喜欢那个过程。 我必须了解读者是谁,他们对什么感兴趣,以及他们将来可能对什么样的事情感兴趣。 他们总是通过我的博客或电子邮件给我反馈。

Len:我注意到,就像许多在Leanpub上出版书籍的人一样,在书的开头有一个小节,其中包含供人们与您联系的电子邮件地址,并请他们提供反馈。 该方法对您的书有用吗? 您认为它有助于改善书中的内容吗?

迈克:是的,我是这样认为的。 大多数时候,他们不会通过这种方式与我联系。 他们实际上是通过我的网络-通过我的博客与我联系。

我也确实通过这些电子邮件地址获得联系。 我提到了几个错误报告。 在大多数情况下,它们只是愚蠢的错别字。 但是偶尔会有一个例子,我只是测试不够好,所以我不得不修改。 但总的来说,这是与读者建立联系的一种非常好的方式。

Len:您提到,我想在Kickstarter上观看有关Python 101Python 201的视频,您打算用募集的资金做一些广告。 我想知道您是否可以谈谈您广告书籍的经验?

迈克:好吧, Python 101我并没有做我想做的那么多广告。 但是对于Python 201 ,我做了很多软广告。 我将主要通过我的博客进行促销,但还会将电子邮件发送到多年来积累的电子邮件列表中。 我也一直在尝试寻找一些有针对性的广告,[我可以在Facebook或Twitter上使用这些广告。

但是我的研究表明,其中许多方法都无法很好地收回投资。 例如,您必须使用少于10%的东西。 因此,如果您有1,000美元的资金,您可能想用100美元做广告,以使用这些方法获得任何形式的投资回报。 使用那种报价,配额或百分比并不会给您太多广告。 所以我没有做太多的事情。

但是上周我发现了一些有趣的事情,在那里我发布了促销活动,在那里我免费赠送第二本书48小时。 这带来了许多新读者。

伦:我在看那件事的发生。 在短短几天内,您获得了大约16,000名读者。 真的很高兴看到。 我想特别问你。 是否有一个著名的推特人? 还是您发现了一些特别的事情?

迈克:我不相信有名人。 实际上,当我最初这样做时,我只是将其发布在Reddit上-那里有一个Python subreddit。 所以这就是我发布的地方。 我认为这是大多数人的来源,我可以从以前的发布网站中收集到的分析数据很少。 但这只是有机地从那里发展而来的。 然后,我决定在我的博客上进行推广。 而且确实有很多人浏览我的博客。 因此,我认为这两种组合吸引了很多读者。

伦:您实际上也有书籍的印刷版,或者至少有前两本书。 我想知道您是否愿意告诉别人您如何制作这些印刷书籍? 我相信它们会在露露和亚马逊上出售。

迈克:是的,这是正确的。 当我编写Python 101时 ,我使用的不是Leanpub,而是使用其他东西来创建它们。 我有一个用Python编写的自制脚本,实际上可以将这些书生成PDF以及MOBI和EPUB版本。

最终,我需要找出一种方法将PDF放到Lulu上以生成书。 因此,我必须创建没有封面的书的版本,有时也没有其他信息,因为Lulu不想将封面的一部分作为PDF的一部分。 您必须单独上传。 所以我只是用我正在使用的任何书来逐步完成该过程。 有时,您必须生成书并切断封面,然后让Lulu处理。 然后将其添加到后端。

总的来说,我认为一切进展顺利。 他们有一个全球覆盖计划,使您可以通过Amazon和Barnes&Noble以及其他许多网站以及国际范围进行发布。 他们有非常严格的规则。 因此,如果您没有在正确的页面上输入ISBN,他们将不会接受。 有很多我甚至都不知道的小陷阱,我不得不克服,并确保如果我再次重新创建这本书,我总是将其添加进去。 只是您根本没有想过的小事情。

伦:您的印刷书籍销售情况如何?

迈克:真的不是很好。 印刷书籍通常每月售出很少。 一本书发行的第一个月,我大概会得到10到50。 然后,每个月两三个。 因此,我的大部分销售显然都是电子产品。 例如,人们想要在亚马逊上使用数字版本或Kindle版本。

Len:你们都写过技术书,也都对它们进行了审查,我想知道-我想问一下您对技术书出版中出现的趋势有何看法(如果有的话)向前。 您认为十年内该行业的发展趋势如何?

迈克:我最近注意到的一个大趋势是,诸如O’Reilly和Apress之类的大公司都将进入利基市场。 他们正在写有针对性的书。 因此,例如,O’Reilly发行了一本SQL炼金术书,该书仅适用于Python中的SQL炼金术库。 Packt Publishing确实做到了很多。 在那里,他们可以找到有关科学计算的各种书籍,Pandas,Django,甚至还有Turbo Gears书籍。 他们只有各种各样的小图书馆书籍,而您通常不会看到。

就像10年前,当我第一次开始这个旅程时,您不能只是出去买东西-我想要一本关于这个拥有10,000名用户或任何其他内容的小型图书馆的书。 现在可以了。 这似乎是趋势。 因为甚至O’Reilly都在这样做,其他一些大公司也在尝试这样做。

Len:您的书籍可以通过Gumroad,Lulu和Amazon以及Leanpub上的博客进行销售。 我想知道您是否不介意谈论您为什么也决定在Leanpub上发布?

迈克:我通过Planet Python看过其他作者,他们提到成功使用Leanpub。 我认为开辟另一种收入渠道是值得尝试的。 因此,这是我尝试使用它们的主要动力。 到目前为止,它工作得很好。 我实际上很喜欢Leanpub生成书籍的方式。

我认为它看起来比我自己编写本书的家庭版更为专业。 所以我可能会开始将Gumroad切掉一些。 仅仅因为我认为Leanpub在跟踪销售方面做得更好,而且书的质量似乎比我自己做的要好。

Len:作者提高销售量的技术之一是在Leanpub上制作包装,因此他们将书籍和视频一起出售。 这就是我所看到的趋势。 我认为O’Reilly专门收购了一家公司(我想是去年或前一年在加拿大),这全都与制作视频有关。 我想知道您是否有一个原因没有在Leanpub上制作您的截屏视频包? 或者,如果这只是您不感兴趣的事情。

迈克:实际上,我打算打包,但是我没有意识到我可以使用这些视频。 我不认为截屏节目可以与之配合……我认为Leanpub主要用于书籍。 我认为我无法将视频与书籍结合在一起。

伦:哦,那是我们沟通不力的错。 是的,您实际上可以使用来创建包装-您可以将书和数字内容一起出售。 这样就可以成为代码示例。 它可以是电子表格。 它也可以是视频。 我们非常畅销的数据科学书籍之一以非常不错的包装出售,同时还附带了一些非常受欢迎的超大视频文件。

文本内容和视频内容的这种打包在一起似乎是一件事,在技术出版领域已经很普遍了。

我立即注意到您在书中做得很好的一件事是,您的封面很棒。 我想知道您是否可以谈谈如何成功获得如此出色的封面? 我想您是从Kickstarter广告系列中筹集了一些资金来聘请平面设计师的?

迈克:是的,基本上。 实际上,对于我的Python 101本书,我实际上是自己自己资助封面艺术的。 实际上,我也为Python 201做过。 但基本上,我去找了一个可以根据鼠标与python的思想绘制设计的人,这是我的博客标题。 然后我采纳了这个想法,并创建了一个关于教室的想法-Python 101-老鼠可以在其中学习python。

我使用的第一个家伙真的很棒。 我喜欢和他一起工作,他做得很好。 但是后来他经历了一段糟糕的日子-基本上是糟糕的一年,再也无法为我工作。 因此,实际上我最终不得不为我的下两本书寻找其他艺术家。 而且我认为这实际上是一种好习惯,因为当您查看不同的封面时,它会给他们一种新鲜的外观,因为每本书都是由不同的艺术家完成的。

因此,对于Python 201,我雇了一位漂亮的俄罗斯女士来画画,她做得非常好,对此赞不绝口。 她实际上已经为我的另一本尚未出版的书做了工作,但是我很期待明年宣布。

然后我从wxPython Cookbook获得的另一位女士是乌克兰人,她也做得很好。 但是,正如您所看到的,如果您仔细看每张封面,它们的样式都非常不同。

Len:是的,我现在将它们全部显示在屏幕上。 他们有很大的不同,但是他们拥有共同的品质。 您是否曾经找到过特定的服务?

迈克:第一位艺术家,实际上我最终问我的兄弟,因为他认识很多艺术家。 他只是推荐了这个家伙。 对于其他两个,我访问了Adobe网站。 他们运行了一个程序,您可以查找艺术家。 我不记得它的名字了。 我找到了,该网站名为Behance,它是Adobe的会员。 基本上,艺术家可以去那里展示他们的作品,人们可以通过Behance与他们联系,并确定他们是否有空进行委托。

Len:谢谢,那真的很有用。 我敢肯定,很多自出版的作者都将很高兴听到高质量的封面资源。 我的意思是,它确实对销售产生了巨大的影响。

我的最后一个问题是-如果有一个我们可以为您构建的功能,或者一个我们可以修复的功能,或者我们可以改进的功能,或者您想我们在Leanpub上做的我们想念的事情-那将是什么? ?

迈克:我注意到我目前的书中需要的一项功能是图像缩放。 我正在为wxPython书做很多屏幕截图,并使用重组后的文本来做,我可以告诉程序以任何想要的方式缩放图像。 但是Leanpub目前似乎没有办法以编程方式对其进行实际扩展。 因此,我必须找到一种不同的方法。 到目前为止,我尝试过的方法效果并不理想,所以……。

Len:好的,谢谢你。 我将通知团队。 图片是我们知道可以做更多工作来改进的地方,这将是非常好的反馈。

非常感谢Mike,这次采访。 并且还可以使用Leanpub来出版您的书籍。 我们真的很感激。

迈克:谢谢您提供了如此出色的服务,并感谢我的加入。

伦:谢谢。