Quantcast
Channel: LUG@USTC
Viewing all 670 articles
Browse latest View live

doc:smart-questions

$
0
0

提问的智慧

How To Ask Questions The Smart Way

Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen

本指南英文版版权为 Eric S. Raymond, Rick Moen 所有。

原文网址:http://www.catb.org/~esr/faqs/smart-questions.html

Copyleft 2001 by D.H.Grand(nOBODY/Ginux), 2010 by Gasolin, 2015 by Ryan Wu

本中文指南是基于原文 3.10 版以及 2010 年由 Gasolin所翻译版本的最新翻译;

协助指出翻译问题,发Issue,或直接发Pull Request给我。

本文另有繁体中文版: https://github.com/ryanhanwu/How-To-Ask-Questions-The-Smart-Way

原文版本历史

目录

声明

许多项目在他们的使用协助/说明网页中链接了本指南,这么做很好,我们也鼓励大家都这么做。但如果你是负责管理这个项目网页的人,请在超链接附近的显着位置上注明:

本指南不提供此项目的实际支持服务!

我们已经深刻领教到少了上述声明所带来的痛苦。因为少了这点声明,我们不停地被一些白痴纠缠。这些白痴认为既然我们发布了这本指南,那么我们就有责任解决世上所有的技术问题。

如果你是因为需要某些协助而正在阅读这本指南,并且最后离开是因为发现从本指南作者们身上得不到直接的协助,那么你就是我们所说的那些白痴之一。别问我们问题,我们只会忽略你。我们在这本指南中是教你如何从那些真正懂得你所遇到软件或硬件问题的人取得协助,而99%的情况下那不会是我们。除非你确定本指南的作者之一刚好是你所遇到的问题领域的专家,否则请不要打扰我们,这样大家都会开心一点。

简介

黑客的世界里,当你拋出一个技术问题时,最终是否能得到有用的回答,往往取决于你所提问和追问的方式。本指南将教你如何正确的提问以获得你满意的答案。

不只是黑客,现在开放源代码(Open Source)软件已经相当盛行,你常常也可以由其他有经验的使用者身上得到好答案,这是件好事;使用者比起黑客来,往往对那些新手常遇到的问题更宽容一些。然而,将有经验的使用者视为黑客,并采用本指南所提的方法与他们沟通,同样也是能从他们身上得到满意回答的最有效方式。

首先你应该明白,黑客们喜爱有挑战性的问题,或者能激发我们思维的好问题。如果我们并非如此,那我们也不会成为你想询问的对象。如果你给了我们一个值得反复咀嚼玩味的好问题,我们自会对你感激不尽。好问题是激励,是厚礼。好问题可以提高我们的理解力,而且通常会暴露我们以前从没意识到或者思考过的问题。对黑客而言,"好问题!"是诚挚的大力称赞。

尽管如此,黑客们有着蔑视或傲慢面对简单问题的坏名声,这有时让我们看起来对新手、无知者似乎较有敌意,但其实不是那样的。

我们不讳言我们对那些不愿思考、或者在发问前不做他们该做的事的人的蔑视。那些人是时间杀手 -– 他们只想索取,从不付出,消耗我们可用在更有趣的问题或更值得回答的人身上的时间。我们称这样的人为 失败者(撸瑟)(由于历史原因,我们有时把它拼作 lusers)。

我们意识到许多人只是想使用我们写的软件,他们对学习技术细节没有兴趣。对大多数人而言,电脑只是种工具,是种达到目的的手段而已。他们有自己的生活并且有更要紧的事要做。我们了解这点,也从不指望每个人都对这些让我们着迷的技术问题感兴趣。尽管如此,我们回答问题的风格是指向那些真正对此有兴趣并愿意主动参与解决问题的人,这一点不会变,也不该变。如果连这都变了,我们就是在降低做自己最擅长的事情上的效率。

我们(在很大程度上)是自愿的,从繁忙的生活中抽出时间来解答疑惑,而且时常被提问淹没。所以我们无情的滤掉一些话题,特别是拋弃那些看起来像失败者的家伙,以便更高效的利用时间来回答赢家(winner)的问题。

如果你厌恶我们的态度,高高在上,或过于傲慢,不妨也设身处地想想。我们并没有要求你向我们屈服 -- 事实上,我们大多数人非常乐意与你平等地交流,只要你付出小小努力来满足基本要求,我们就会欢迎你加入我们的文化。但让我们帮助那些不愿意帮助自己的人是没有效率的。无知没有关系,但装白痴就是不行。

所以,你不必在技术上很在行才能吸引我们的注意,但你必须表现出能引导你变得在行的特质 -- 机敏、有想法、善于观察、乐于主动参与解决问题。如果你做不到这些使你与众不同的事情,我们建议你花点钱找家商业公司签个技术支持服务合同,而不是要求黑客个人无偿地帮助你。

如果你决定向我们求助,当然你也不希望被视为失败者,更不愿成为失败者中的一员。能立刻得到快速并有效答案的最好方法,就是像赢家那样提问 -- 聪明、自信、有解决问题的思路,只是偶尔在特定的问题上需要获得一点帮助。

(欢迎对本指南提出改进意见。你可以 email 你的建议至 esr@thyrsus.comrespond-auto@linuxmafia.com。然而请注意,本文并非网络礼节的通用指南,而我们通常会拒绝无助于在技术论坛得到有用答案的建议。)

在提问之前

在你准备要通过电子邮件、新闻群组或者聊天室提出技术问题前,请先做到以下事情:

  1. 尝试在你准备提问的论坛的旧文章中搜索答案。
  2. 尝试上网搜索以找到答案。
  3. 尝试阅读手册以找到答案。
  4. 尝试阅读常见问题文件(FAQ)以找到答案。
  5. 尝试自己检查或试验以找到答案
  6. 向你身边的强者朋友打听以找到答案。
  7. 如果你是程序开发者,请尝试阅读源代码以找到答案

当你提出问题的时候,请先表明你已经做了上述的努力;这将有助于树立你并不是一个不劳而获且浪费别人的时间的提问者。如果你能一并表达在做了上述努力的过程中所学到的东西会更好,因为我们更乐于回答那些表现出能从答案中学习的人的问题。

运用某些策略,比如先用Google搜索你所遇到的各种错误信息(既搜索Google论坛,也搜索网页),这样很可能直接就找到了能解决问题的文件或邮件列表线索。即使没有结果,在邮件列表或新闻组寻求帮助时加上一句 我在Google中搜过下列句子但没有找到什么有用的东西也是件好事,即使它只是表明了搜索引擎不能提供哪些帮助。这么做(加上搜索过的字串)也让遇到相似问题的其他人能被搜索引擎引导到你的提问来。

别着急,不要指望几秒钟的Google搜索就能解决一个复杂的问题。在向专家求助之前,再阅读一下常见问题文件(FAQ)、放轻松、坐舒服一些,再花点时间思考一下这个问题。相信我们,他们能从你的提问看出你做了多少阅读与思考,如果你是有备而来,将更有可能得到解答。不要将所有问题一股脑拋出,只因你的第一次搜索没有找到答案(或者找到太多答案)。

准备好你的问题,再将问题仔细的思考过一遍,因为草率的发问只能得到草率的回答,或者根本得不到任何答案。越是能表现出在寻求帮助前你为解决问题所付出的努力,你越有可能得到实质性的帮助。

小心别问错了问题。如果你的问题基于错误的假设,某个普通黑客(J. Random Hacker)多半会一边在心里想着蠢问题…, 一边用无意义的字面解释来答复你,希望着你会从问题的回答(而非你想得到的答案)中汲取教训。

绝不要自以为够格得到答案,你没有;你并没有。毕竟你没有为这种服务支付任何报酬。你将会是自己去挣到一个答案,靠提出有内涵的、有趣的、有思维激励作用的问题 --一个有潜力能贡献社区经验的问题,而不仅仅是被动的从他人处索取知识。

另一方面,表明你愿意在找答案的过程中做点什么是一个非常好的开端。谁能给点提示?我的这个例子里缺了什么?以及我应该检查什么地方请把我需要的确切的过程贴出来更容易得到答复。因为你表现出只要有人能指个正确方向,你就有完成它的能力和决心。

当你提问时

慎选提问的论坛

小心选择你要提问的场合。如果你做了下述的事情,你很可能被忽略掉或者被看作失败者:

  • 在与主题不合的论坛上贴出你的问题
  • 在探讨进阶技术问题的论坛张贴非常初级的问题;反之亦然
  • 在太多的不同新闻群组上重复转贴同样的问题(cross-post)
  • 向既非熟人也没有义务解决你问题的人发送私人电邮

黑客会剔除掉那些搞错场合的问题,以保护他们沟通的渠道不被无关的东西淹没。你不会想让这种事发生在自己身上的。

因此,第一步是找到对的论坛。再说一次,Google和其它搜索引擎还是你的朋友,用它们来找到与你遭遇到困难的软硬件问题最相关的网站。通常那儿都有常见问题(FAQ)、邮件列表及相关说明文件的链接。如果你的努力(包括阅读FAQ)都没有结果,网站上也许还有报告Bug(Bug-reporting)的流程或链接,如果是这样,连过去看看。

向陌生的人或论坛发送邮件最可能是风险最大的事情。举例来说,别假设一个提供丰富内容的网页的作者会想充当你的免费顾问。不要对你的问题是否会受到欢迎做太乐观的估计 -- 如果你不确定,那就向别处发送,或者压根别发。

在选择论坛、新闻群组或邮件列表时,别太相信名字,先看看FAQ或者许可书以弄清楚你的问题是否切题。发文前先翻翻已有的话题,这样可以让你感受一下那里的文化。事实上,事先在新闻组或邮件列表的历史记录中搜索与你问题相关的关键词是个极好的主意,也许这样就找到答案了。即使没有,也能帮助你归纳出更好的问题。

别像机关枪似的一次"扫射"所有的帮助渠道,这就像大喊大叫一样会使人不快。要一个一个地来。

搞清楚你的主题!最典型的错误之一是在某种致力于跨平台可移植的语言、套件或工具的论坛中提关于Unix或Windows操作系统程序界面的问题。如果你不明白为什么这是大错,最好在搞清楚这之间差异之前什么也别问。

一般来说,在仔细挑选的公共论坛中提问,会比在私有论坛中提同样的问题更容易得到有用的回答。有几个理由可以支持这点,一是看潜在的回复者有多少,二是看观众有多少。黑客较愿意回答那些能帮助到许多人的问题。

可以理解的是,老练的黑客和一些热门软件的作者正在接受过多的错发信息。就像那根最后压垮骆驼背的稻草一样,你的加入也有可能使情况走向极端 -- 已经好几次了,一些热门软件的作者从自己软件的支持中抽身出来,因为伴随而来涌入其私人邮箱的无用邮件变得无法忍受。

Stack Overflow

搜索,然后在 Stack Exchange 问。

近年来,Stack Exchange community 社区已经成为回答技术及其他问题的主要渠道,尤其是那些开放源码的项目。

因为 Google 索引是即时的,在看 Stack Exchange 之前先在 Google 搜索。有很高的机率某人已经问了一个类似的问题,而且 Stack Exchange 网站们往往会是搜索结果中最前面几个。如果你在 Google 上没有找到任何答案,你再到特定相关主题的网站去找。用标签(Tag)搜索能让你更缩小你的搜索结果。

Stack Exchange 已经成长到超过一百个网站,以下是最常用的几个站:

  • Super User 是问一些通用的电脑问题,如果你的问题跟代码或是写程序无关,只是一些网络连线之类的,请到这里。
  • Stack Overflow 是问写程序有关的问题。
  • Server Fault 是问服务器和网管相关的问题。

网站和IRC论坛

本地的使用者群组(user group),或者你所用的 Linux 发行版本也许正在宣传他们的网页论坛或 IRC 频道,并提供新手帮助(在一些非英语国家,新手论坛很可能还是邮件列表), 这些地方是开始提问的好首选,特别是当你觉得遇到的也许只是相对简单或者很普通的问题时。经过宣传的 IRC 频道是公开欢迎提问的地方,通常可以即时得到回应。

事实上,如果程序出的问题只发生在特定 Linux 发行版提供的版本(这很常见),最好先去该发行版的论坛或邮件列表中提问,再到程序本身的论坛或邮件列表提问。(否则)该项目的黑客可能仅仅回复 "用我们的版本"。

在任何论坛发文以前,先确认一下有没有搜索功能。如果有,就试着搜索一下问题的几个关键词,也许这会有帮助。如果在此之前你已做过通用的网页搜索(你也该这样做),还是再搜索一下论坛,搜索引擎有可能没来得及索引此论坛的全部内容。

通过论坛或 IRC 频道来提供使用者支持服务有增长的趋势,电子邮件则大多为项目开发者间的交流而保留。所以最好先在论坛或 IRC 中寻求与该项目相关的协助。

第二步,使用项目邮件列表

当某个项目提供开发者邮件列表时,要向列表而不是其中的个别成员提问,即使你确信他能最好地回答你的问题。查一查项目的文件和首页,找到项目的邮件列表并使用它。有几个很好的理由支持我们采用这种办法:

  • 任何好到需要向个别开发者提出的问题,也将对整个项目群组有益。反之,如果你认为自己的问题对整个项目群组来说太愚蠢,也不能成为骚扰个别开发者的理由。
  • 向列表提问可以分散开发者的负担,个别开发者(尤其是项目领导人)也许太忙以至于没法回答你的问题。
  • 大多数邮件列表都会被存档,那些被存档的内容将被搜索引擎索引。如果你向列表提问并得到解答,将来其它人可以通过网页搜索找到你的问题和答案,也就不用再次发问了。
  • 如果某些问题经常被问到,开发者可以利用此信息来改进说明文件或软件本身,以使其更清楚。如果只是私下提问,就没有人能看到最常见问题的完整场景。

如果一个项目既有"使用者" 也有"开发者"(或"黑客")邮件列表或论坛,而你又不会动到那些源代码,那么就向"使用者"列表或论坛提问。不要假设自己会在开发者列表中受到欢迎,那些人多半会将你的提问视为干扰他们开发的噪音。

然而,如果你确信你的问题很特别,而且在"使用者" 列表或论坛中几天都没有回复,可以试试前往"开发者"列表或论坛发问。建议你在张贴前最好先暗地里观察几天以了解那里的行事方式(事实上这是参与任何私有或半私有列表的好主意)

如果你找不到一个项目的邮件列表,而只能查到项目维护者的电子邮件地址,尽管向他发信。即使是在这种情况下,也别假设(项目)邮件列表不存在。在你的电子邮件中,请陈述你已经试过但没有找到合适的邮件列表,也提及你不反对将自己的邮件转发给他人(许多人认为,即使没什么秘密,私人电子邮件也不应该被公开。通过允许将你的电子邮件转发他人,你给了相应人员处置你邮件的选择)。

使用有意义且描述明确的标题

在邮件列表、新闻群组或论坛中,大约50字以内的标题是抓住资深专家注意力的好机会。别用喋喋不休的帮帮忙跪求(更别说救命啊!!!!这样让人反感的话,用这种标题会被条件反射式地忽略)来浪费这个机会。不要妄想用你的痛苦程度来打动我们,而是在这点空间中使用极简单扼要的描述方式来提出问题。

一个好标题范例是目标 -- 差异式的描述,许多技术支持组织就是这样做的。在目标部分指出是哪一个或哪一组东西有问题,在差异部分则描述与期望的行为不一致的地方。

蠢问题:救命啊!我的笔电不能正常显示了!

聪明问题:X.org 6.8.1的鼠标游标会变形,某牌显卡 MV1005 芯片组。

更聪明问题:X.org 6.8.1的鼠标游标,在某牌显卡 MV1005 芯片组环境下 - 会变形。

编写目标 -- 差异式描述的过程有助于你组织对问题的细緻思考。是什么被影响了? 仅仅是鼠标游标或者还有其它图形?只在 X.org 的 X 版中出现?或只是出现在6.8.1版中? 是针对某牌显卡芯片组?或者只是其中的 MV1005 型号? 一个黑客只需瞄一眼就能够立即明白你的环境你遇到的问题。

总而言之,请想像一下你正在一个只显示标题的存档讨论串(Thread)索引中查寻。让你的标题更好地反映问题,可使下一个搜索类似问题的人能够关注这个讨论串,而不用再次提问相同的问题。

如果你想在回复中提出问题,记得要修改内容标题,以表明你是在问一个问题, 一个看起来像 Re: 测试或者 Re: 新bug的标题很难引起足够重视。另外,在不影响连贯性之下,适当引用并删减前文的内容,能给新来的读者留下线索。

对于讨论串,不要直接点击回复来开始一个全新的讨论串,这将限制你的观众。因为有些邮件阅读程序,比如 mutt ,允许使用者按讨论串排序并通过折叠讨论串来隐藏消息,这样做的人永远看不到你发的消息。

仅仅改变标题还不够。mutt 和其它一些邮件阅读程序还会检查邮件标题以外的其它信息,以便为其指定讨论串。所以宁可发一个全新的邮件。

在网页论坛上,好的提问方式稍有不同,因为讨论串与特定的信息紧密结合,并且通常在讨论串外就看不到里面的内容,故通过回复提问,而非改变标题是可接受的。不是所有论坛都允许在回复中出现分离的标题,而且这样做了基本上没有人会去看。不过,通过回复提问,这本身就是暧昧的做法,因为它们只会被正在查看该标题的人读到。所以,除非你只想在该讨论串当前活跃的人群中提问,不然还是另起炉灶比较好。

使问题容易回复

请将你的回复寄到……来结束你的问题多半会使你得不到回答。如果你觉得花几秒钟在邮件客户端设置一下回复地址都麻烦,我们也觉得花几秒钟思考你的问题更麻烦。如果你的邮件程序不支持这样做,换个好点的;如果是操作系统不支持这种邮件程序,也换个好点的。

在论坛,要求通过电子邮件回复是非常无礼的,除非你相信回复的信息可能比较敏感(而且有人会为了某些未知的原因,只让你而不是整个论坛知道答案)。如果你只是想在有人回复讨论串时得到电子邮件提醒,可以要求网页论坛发送给你。几乎所有论坛都支持诸如追踪此讨论串有回复时发送邮件提醒等功能。

用清晰、正确、精准并语法正确的语句

我们从经验中发现,粗心的提问者通常也会粗心的写程序与思考(我敢打包票)。回答粗心大意者的问题很不值得,我们宁愿把时间耗在别处。

正确的拼字、标点符号和大小写是很重要的。一般来说,如果你觉得这样做很麻烦,不想在乎这些,那我们也觉得麻烦,不想在乎你的提问。花点额外的精力斟酌一下字句,用不着太僵硬与正式 -- 事实上,黑客文化很看重能准确地使用非正式、俚语和幽默的语句。但它必须很准确,而且有迹象表明你是在思考和关注问题。

正确地拼写、使用标点和大小写,不要将its混淆为it'sloose搞成lose或者将discrete弄成discreet。不要全部用大写,这会被视为无礼的大声嚷嚷(全部小写也好不到哪去,因为不易阅读。Alan Cox也许可以这样做,但你不行。)

更白话的说,如果你写得像是个半文盲[译注:小白]),那多半得不到理睬。也不要使用即时通讯中的简写或火星文,如将简化为会使你看起来像一个为了少打几个键而省字的小白。更糟的是,如果像个小孩似地鬼画符那绝对是在找死,可以肯定没人会理你(或者最多是给你一大堆指责与挖苦)。

如果在使用非母语的论坛提问,你可以犯点拼写和语法上的小错,但决不能在思考上马虎(没错,我们通常能弄清两者的分别)。同时,除非你知道回复者使用的语言,否则请使用英语书写。繁忙的黑客一般会直接删除用他们看不懂语言写的消息。在网络上英语是通用语言,用英语书写可以将你的问题在尚未被阅读就被直接删除的可能性降到最低。

如果英文是你的外语(Second language),提示潜在回复者你有潜在的语言困难是很好的:
[译注:以下附上原文以供使用]

English is not my native language; please excuse typing errors.

  • 英文不是我的母语,请原谅我的错字或语法

If you speak $LANGUAGE, please email/PM me;
I may need assistance translating my question.

  • 如果你说某语言,请寄信/私讯给我;我需要有人协助我翻译我的问题

I am familiar with the technical terms,
but some slang expressions and idioms are difficult for me.

  • 我对技术名词很熟悉,但对于俗语或是特别用法比较不甚了解。

I've posted my question in $LANGUAGE and English.
I'll be glad to translate responses, if you only use one or the other.

  • 我把我的问题用某语言和英文写出来,如果你只用一种语言回答,我会乐意将其翻译成另一种。

使用易于读取且标准的文件格式发送问题

如果你人为地将问题搞得难以阅读,它多半会被忽略,人们更愿读易懂的问题,所以:

  • 使用纯文字而不是HTML (关闭HTML并不难)
  • 使用MIME附件通常是可以的,前提是真正有内容(譬如附带的源代码或patch),而不仅仅是邮件程序生成的模板(譬如只是信件内容的拷贝)。
  • 不要发送一段文字只是单行句子但多次断行的邮件(这使得回复部分内容非常困难)。设想你的读者是在80个字符宽的终端机上阅读邮件,最好设置你的断行点小于80字。
  • 但是,也不要用任何固定断行资料(譬如日志档案拷贝或会话记录)。档案应该原样包含,让回复者有信心他们看到的是和你看到的一样的东西。
  • 在英语论坛中,不要使用Quoted-Printable MIME编码发送消息。这种编码对于张贴非ASCII语言可能是必须的,但很多邮件程序并不支持这种编码。当它们分断时,那些文本中四处散布的=20符号既难看也分散注意力,甚至有可能破坏内容的语意。
  • 绝对,永远不要指望黑客们阅读使用封闭格式编写的文档,像是微软公司的Word或Excel文件等。大多数黑客对此的反应就像有人将还在冒热气的猪粪倒在你门口阶梯上时你的反应一样。即便他们能够处理,他们也很厌恶这么做。
  • 如果你从使用Windows的电脑发送电子邮件,关闭微软愚蠢的智能引号功能 (从[选项] > [校订] > [自动校正选项], 按掉智能引号单选框),以免在你的邮件中到处散布垃圾字符。
  • 在论坛,勿滥用表情符号HTML功能(当它们提供时)。一两个表情符号通常没有问题,但花哨的彩色文本倾向于使人认为你是个无能之辈。过滥地使用表情符号、色彩和字体会使你看来像个傻笑的小姑娘。这通常不是个好主意,除非你只是对sex而不是有用的回复更有兴趣。

如果你使用图形用户界面的邮件程序(如微软公司的Outlook或者其它类似的),注意它们的默认设置不一定满足这些要求。大多数这类程序有基于选单的查看源代码命令,用它来检查发送文件夹中的消息,以确保发送的是没有多余杂质的纯文本文件。

精确的描述问题并言之有物

  • 仔细、清楚地描述你的问题或Bug的症状。
  • 描述问题发生的环境(机器配置、操作系统、应用程序、以及相关的信息),提供经销商的发行版和版本号(如:Fedora Core 4Slackware 9.1等)。
  • 描述在提问前你是怎样去研究和理解这个问题的。
  • 描述在提问前为确定问题而采取的诊断步骤。
  • 描述最近做过什么可能相关的硬件或软件变更。
  • 尽可能的提供一个可以重现这个问题的既定环境的方法

尽量去揣测一个黑客会怎样反问你,在他提问的时候预先给他答案。

以上几点中,当你报告的是你认为可能在代码中的问题时,给黑客一个可以重现你的问题的环境尤其重要。当你这么做时,你得到有效的回答的机会和速度都会大大的提升。

Simon Tatham写过一篇名为《如何有效的报告Bug》的出色文章。强力推荐你也读一读。

话不在多而在精

你需要提供精确有内容的信息。这并不是要求你简单的把成堆的出错代码或者资料完全转录到你的提问中。如果你有庞大而复杂的测试样例能重现程序挂掉的情境,尽量将它剪裁得越小越好。

这样做的用处至少有三点。
第一,表现出你为简化问题付出了努力,这可以使你得到回答的机会增加;
第二,简化问题使你更有可能得到有用的答案;
第三,在精炼你的bug报告的过程中,你很可能就自己找到了解决方法或权宜之计。

别动辄声称找到Bug

当你在使用软件中遇到问题,除非你非常、非常的有根据,不要动辄声称找到了Bug。提示:除非你能提供解决问题的源代码补丁,或者对前一版本的回归测试表现出不正确的行为,否则你都多半不够完全确信。这同样适用在网页和文件,如果你(声称)发现了文件的Bug,你应该能提供相应位置的修正或替代文件。

请记得,还有许多其它使用者没遇到你发现的问题,否则你在阅读文件或搜索网页时就应该发现了(你在抱怨前已经做了这些,是吧?)。这也意味着很有可能是你弄错了而不是软件本身有问题。

编写软件的人总是非常辛苦地使它尽可能完美。如果你声称找到了Bug,也就是在质疑他们的能力,即使你是对的,也有可能会冒犯到其中某部分人。这尤其严重当你在标题中嚷嚷着有Bug

提问时,即使你私下非常确信已经发现一个真正的Bug,最好写得像是做错了什么。如果真的有Bug,你会在回复中看到这点。这样做的话,如果真有Bug,维护者就会向你道歉,这总比你惹恼别人然后欠别人一个道歉要好一点。

可以低声下气,但还是要先做功课

有些人明白他们不该粗鲁或傲慢的提问并要求得到答复,但他们选择另一个极端 -- 低声下气:我知道我只是个可悲的新手,一个撸瑟,但...。这既使人困扰,也没有用,尤其是伴随着与实际问题含糊不清的描述时更令人反感。

别用原始灵长类动物的把戏来浪费你我的时间。取而代之的是,尽可能清楚地描述背景条件和你的问题情况。这比低声下气更好地定位了你的位置。

有时网页论坛会设有专为新手提问的版面,如果你真的认为遇到了初学者的问题,到那去就是了,但一样别那么低声下气。

描述问题症状而非猜测

告诉黑客们你认为问题是怎样造成的并没什么帮助。(如果你的推断如此有效,还用向别人求助吗?),因此要确信你原原本本告诉了他们问题的症状,而不是你的解释和理论;让黑客们来推测和诊断。如果你认为陈述自己的猜测很重要,清楚地说明这只是你的猜测,并描述为什么它们不起作用。

蠢问题

我在编译内核时接连遇到 SIG11 错误,
我怀疑某条飞线搭在主板的走线上了,这种情况应该怎样检查最好?

聪明问题

我的组装电脑是 FIC-PA2007 主机板搭载 AMD K6/233 CPU(威盛 Apollo VP2芯片组),
256MB Corsair PC133 SDRAM内存,在编译内核时,从开机20分钟以后就频频产生 SIG11 错误,
但是在头20分钟内从没发生过相同的问题。重新启动也没有用,但是关机一晚上就又能工作20分钟。
所有内存都换过了,没有效果。相关部分的标准编译记录如下…。

由于以上这点似乎让许多人觉得难以配合,这里有句话可以提醒你:所有的诊断专家都来自密苏里州。美国国务院的官方座右铭则是:让我看看(出自国会议员 Willard D. Vandiver 在1899年时的讲话:我来自一个出产玉米,棉花,牛蒡和民主党人的国家,滔滔雄辩既不能说服我,也不会让我满意。我来自密苏里州,你必须让我看看。) 针对诊断者而言,这并不是一种怀疑,而只是一种真实而有用的需求,以便让他们看到的是与你看到的原始证据尽可能一致的东西,而不是你的猜测与归纳的结论。所以,大方的展示给我们看吧!

按发生时间先后列出问题症状

问题发生前的一系列操作,往往就是对找出问题最有帮助的线索。因此,你的说明里应该包含你的操作步骤,以及机器和软件的反应,直到问题发生。在命令行处理的情况下,提供一段操作记录(例如运行脚本工具所生成的),并引用相关的若干行(如20行)记录会非常有帮助。

如果挂掉的程序有诊断选项(如 -v 的详述开关),试着选择这些能在记录中增加调试信息的选项。记住,不等于。试着选取适当的调试级别以便提供有用的信息而不是让读者淹没在垃圾中。

如果你的说明很长(如超过四个段落),在开头简述问题,接下来再按时间顺序详述会有所帮助。这样黑客们在读你的记录时就知道该注意哪些内容了。

描述目标而不是过程

如果你想弄清楚如何做某事(而不是报告一个Bug),在开头就描述你的目标,然后才陈述重现你所卡住的特定步骤。

经常寻求技术帮助的人在心中有个更高层次的目标,而他们在自以为能达到目标的特定道路上被卡住了,然后跑来问该怎么走,但没有意识到这条路本身就有问题。结果要费很大的劲才能搞定。

蠢问题

我怎样才能从某绘图程序的颜色选择器中取得十六进制的的RGB值?

聪明问题

我正试着用替换一幅图片的色码成自己选定的色码,我现在知道的唯一方法是编辑每个色码区块,
但却无法从某绘图程序的颜色选择器取得十六进制的的RGB值。

第二种提问法比较聪明,你可能得到像是建议采用另一个更合适的工具的回复。

别要求使用私人电邮回复

黑客们认为问题的解决过程应该公开、透明,此过程中如果更有经验的人注意到不完整或者不当之处,最初的回复才能够、也应该被纠正。同时,作为提供帮助者也能因为能力和学识被其它同行看到而得到某种奖励。

当你要求私下回复时,这个过程和奖励都被中止。别这样做,让回复者来决定是否私下回答 -- 如果他真这么做了,通常是因为他认为问题编写太差或者太肤浅,以至于对其它人没有兴趣。

这条规则存在一条有限的例外,如果你确信提问可能会引来大量雷同的回复时,那么这个神奇的提问句会是向我发电邮,我将为论坛归纳这些回复。试着将邮件列表或新闻群组从洪水般的雷同回复中解救出来是非常有礼貌的 -- 但你必须信守诺言。

清楚明确的表达你的问题以及需求

漫无边际的提问近乎无休无止的时间黑洞。最有可能给你有用答案的人通常也正是最忙的人(他们忙是因为要亲自完成大部分工作)。这样的人对无节制的时间黑洞相当厌恶,所以他们也倾向于厌恶那些漫无边际的提问。

如果你明确表述需要回答者做什么(如提供指点、发送一段代码、检查你的补丁、或是其他等等),就最有可能得到有用的答案。因为这会定出一个时间和精力的上限,便于回答者能集中精力来帮你。这么做很棒。

要理解专家们所处的世界,请把专业技能想像为充裕的资源,而回复的时间则是稀缺的资源。你要求他们奉献的时间越少,你越有可能从真正专业而且很忙的专家那里得到解答。

所以,界定一下你的问题,使专家花在辨识你的问题和回答所需要付出的时间减到最少,这技巧对你有用答案相当有帮助 -- 但这技巧通常和简化问题有所区别。因此,问我想更好的理解X,可否指点一下哪有好一点说明?通常比问你能解释一下X吗?更好。如果你的代码不能运作,通常请别人看看哪里有问题,比要求别人替你改正要明智得多。

询问有关代码的问题时

别要求他人帮你有问题的代码调试而不提示一下应该从何入手。张贴几百行的代码,然后说一声:它不会动会让你完全被忽略。只贴几十行代码,然后说一句:在第七行以后,我期待它显示 <x>,但实际出现的是 <y>比较有可能让你得到回应。

最有效描述程序问题的方法是提供最精简的Bug展示测试示例(bug-demonstrating test case)。什么是最精简的测试示例? 那是问题的缩影;一小个程序片段能刚好展示出程序的异常行为,而不包含其他令人分散注意力的内容。怎么制作最精简的测试示例?如果你知道哪一行或哪一段代码会造成异常的行为,复制下来并加入足够重现这个状况的代码(例如,足以让这段代码能被编译/直译/被应用程序处理)。如果你无法将问题缩减到一个特定区块,就复制一份代码并移除不影响产生问题行为的部分。总之,测试示例越小越好(查看话不在多而在精一节)。

一般而言,要得到一段相当精简的测试示例并不太容易,但永远先尝试这样做的是种好习惯。这种方式可以帮助你了解如何自行解决这个问题 —- 而且即使你的尝试不成功,黑客们也会看到你在尝试取得答案的过程中付出了努力,这可以让他们更愿意与你合作。

如果你只是想让别人帮忙审查(Review)一下代码,在信的开头就要说出来,并且一定要提到你认为哪一部分特别需要关注以及为什么。

别把自己家庭作业的问题贴上来

黑客们很擅长分辨哪些问题是家庭作业式的问题;因为我们中的大多数都曾自己解决这类问题。同样,这些问题得由来搞定,你会从中学到东西。你可以要求给点提示,但别要求得到完整的解决方案。

如果你怀疑自己碰到了一个家庭作业式的问题,但仍然无法解决,试试在使用者群组,论坛或(最后一招)在项目的使用者邮件列表或论坛中提问。尽管黑客们看出来,但一些有经验的使用者也许仍会给你一些提示。

去掉无意义的提问句

避免用无意义的话结束提问,例如有人能帮我吗?或者这有答案吗?

首先:如果你对问题的描述不是很好,这样问更是画蛇添足。

其次:由于这样问是画蛇添足,黑客们会很厌烦你 -- 而且通常会用逻辑上正确,但毫无意义的回答来表示他们的蔑视, 例如:没错,有人能帮你或者不,没答案

一般来说,避免用 是或否对或错有或没有类型的问句,除非你想得到是或否类型的回答

即使你很急也不要在标题写紧急

这是你的问题,不是我们的。宣称紧急极有可能事与愿违:大多数黑客会直接删除无礼和自私地企图即时引起关注的问题。更严重的是,紧急这个字(或是其他企图引起关注的标题)通常会被垃圾信过滤器过滤掉 -- 你希望能看到你问题的人可能永远也看不到。

有半个例外的情况是,如果你是在一些很高调,会使黑客们兴奋的地方,也许值得这样去做。在这种情况下,如果你有时间压力,也很有礼貌地提到这点,人们也许会有兴趣回答快一点。

当然,这风险很大,因为黑客们兴奋的点多半与你的不同。譬如从 NASA 国际空间站(International Space Station)发这样的标题没有问题,但用自我感觉良好的慈善行为或政治原因发肯定不行。事实上,张贴诸如紧急:帮我救救这个毛绒绒的小海豹!肯定让你被黑客忽略或惹恼他们,即使他们认为毛绒绒的小海豹很重要。

如果你觉得这点很不可思议,最好再把这份指南剩下的内容多读几遍,直到你弄懂了再发文。

礼多人不怪,而且有时还很有帮助

彬彬有礼,多用谢谢您的关注,或谢谢你的关照。让大家都知道你对他们花时间免费提供帮助心存感激。

坦白说,这一点并没有比清晰、正确、精准并合法语法和避免使用专用格式重要(也不能取而代之)。黑客们一般宁可读有点唐突但技术上鲜明的Bug报告,而不是那种有礼但含糊的报告。(如果这点让你不解,记住我们是按问题能教我们什么来评价问题的价值的)

然而,如果你有一串的问题待解决,客气一点肯定会增加你得到有用回应的机会。

(我们注意到,自从本指南发布后,从资深黑客那里得到的唯一严重缺陷反馈,就是对预先道谢这一条。一些黑客觉得先谢了意味着事后就不用再感谢任何人的暗示。我们的建议是要么先说先谢了然后事后再对回复者表示感谢,或者换种方式表达感激,譬如用谢谢你的关注谢谢你的关照。)

问题解决后,加个简短的补充说明

问题解决后,向所有帮助过你的人发个说明,让他们知道问题是怎样解决的,并再一次向他们表示感谢。如果问题在新闻组或者邮件列表中引起了广泛关注,应该在那里贴一个说明比较恰当。

最理想的方式是向最初提问的话题回复此消息,并在标题中包含已修正已解决或其它同等含义的明显标记。在人来人往的邮件列表里,一个看见讨论串问题 X问题的X - 已解决的潜在回复者就明白不用再浪费时间了(除非他个人觉得问题 X的有趣),因此可以利用此时间去解决其它问题。

补充说明不必很长或是很深入;简单的一句你好,原来是网线出了问题!谢谢大家 – Bill比什么也不说要来的好。事实上,除非结论真的很有技术含量,否则简短可爱的小结比长篇大论更好。说明问题是怎样解决的,但大可不必将解决问题的过程复述一遍。

对于有深度的问题,张贴调试记录的摘要是有帮助的。描述问题的最终状态,说明是什么解决了问题,在此之后才指明可以避免的盲点。避免盲点的部分应放在正确的解决方案和其它总结材料之后,而不要将此信息搞成侦探推理小说。列出那些帮助过你的名字,会让你交到更多朋友。

除了有礼貌和有内涵以外,这种类型的补充也有助于他人在邮件列表/新闻群组/论坛中搜索到真正解决你问题的方案,让他们也从中受益。

至少,这种补充有助于让每位参与协助的人因问题的解决而从中得到满足感。如果你自己不是技术专家或者黑客,那就相信我们,这种感觉对于那些你向他们求助的大师或者专家而言,是非常重要的。问题悬而未决会让人灰心;黑客们渴望看到问题被解决。好人有好报,满足他们的渴望,你会在下次提问时尝到甜头。

思考一下怎样才能避免他人将来也遇到类似的问题,自问写一份文件或加个常见问题(FAQ)会不会有帮助。如果是的话就将它们发给维护者。

在黑客中,这种良好的后继行动实际上比传统的礼节更为重要,也是你如何透过善待他人而赢得声誉的方式,这是非常有价值的资产。

如何解读答案

RTFM和STFW:如何知道你已完全搞砸了

有一个古老而神圣的传统:如果你收到RTFM (Read The Fucking Manual)的回应,回答者认为你应该去读他妈的手册。当然,基本上他是对的,你应该去读一读。

RTFM 有一个年轻的亲戚。如果你收到STFW(Search The Fucking Web)的回应,回答者认为你应该到他妈的网上搜索过了。那人多半也是对的,去搜索一下吧。(更温和一点的说法是 Google是你的朋友!)

在论坛,你也可能被要求去爬爬论坛的旧文。事实上,有人甚至可能热心地为你提供以前解决此问题的讨论串。但不要依赖这种关照,提问前应该先搜索一下旧文。

通常,用这两句之一回答你的人会给你一份包含你需要内容的手册或者一个网址,而且他们打这些字的时候也正在读着。这些答复意味着回答者认为

  • 你需要的信息非常容易获得
  • 你自己去搜索这些信息比灌给你能让你学到更多

你不应该因此不爽;依照黑客的标准,他已经表示了对你一定程度的关注,而没有对你的要求视而不见。你应该对他祖母般的慈祥表示感谢。

如果还是搞不懂

如果你看不懂回应,别立刻要求对方解释。像你以前试着自己解决问题时那样(利用手册,FAQ,网络,身边的高手),先试着去搞懂他的回应。如果你真的需要对方解释,记得表现出你已经从中学到了点什么。

比方说,如果我回答你:看来似乎是 zentry 卡住了;你应该先清除它。,然后,这是一个很糟的后续问题回应:zentry是什么?的问法应该是这样:哦~~~我看过说明了但是只有 -z 和 -p 两个参数中提到了 zentries,而且还都没有清楚的解释如何清除它。你是指这两个中的哪一个吗?还是我看漏了什么?

处理无礼的回应

很多黑客圈子中看似无礼的行为并不是存心冒犯。相反,它是直接了当,一针见血式的交流风格,这种风格更注重解决问题,而不是使人感觉舒服而却模模糊糊。

如果你觉得被冒犯了,试着平静地反应。如果有人真的做了出格的事,邮件列表、新闻群组或论坛中的前辈多半会招呼他。如果这没有发生而你却发火了,那么你发火对象的言语可能在黑客社区中看起来是正常的,而将被视为有错的一方,这将伤害到你获取信息或帮助的机会。

另一方面,你偶而真的会碰到无礼和无聊的言行。与上述相反,对真正的冒犯者狠狠地打击,用犀利的语言将其驳得体无完肤都是可以接受的。然而,在行事之前一定要非常非常的有根据。纠正无礼的言论与开始一场毫无意义的口水战仅一线之隔,黑客们自己莽撞地越线的情况并不鲜见。如果你是新手或外人,避开这种莽撞的机会并不高。如果你想得到的是信息而不是消磨时光,这时最好不要把手放在键盘上以免冒险。

(有些人断言很多黑客都有轻度的自闭症或亚斯伯格综合症,缺少用于润滑人类社会正常交往所需的神经。这既可能是真也可能是假的。如果你自己不是黑客,兴许你认为我们脑袋有问题还能帮助你应付我们的古怪行为。只管这么干好了,我们不在乎。我们喜欢我们现在这个样子,并且通常对病患标记都有站得住脚的怀疑。)

在下一节,我们会谈到另一个问题,当行为不当时所会受到的冒犯

如何避免扮演失败者

在黑客社区的论坛中有那么几次你可能会搞砸 -- 以本指南所描述到的或类似的方式。而你会在公开场合中被告知你是如何搞砸的,也许攻击的言语中还会带点夹七夹八的颜色。

这种事发生以后,你能做的最糟糕的事莫过于哀嚎你的遭遇、宣称被口头攻击、要求道歉、高声尖叫、憋闷气、威胁诉诸法律、向其雇主报怨、忘了关马桶盖等等。相反地,你该这么做:

熬过去,这很正常。事实上,它是有益健康且合理的。

社区的标准不会自行维持,它们是通过参与者积极而公开地执行来维持的。不要哭嚎所有的批评都应该通过私下的邮件传送,它不是这样运作的。当有人评论你的一个说法有误或者提出不同看法时,坚持声称受到个人攻击也毫无益处,这些都是失败者的态度。

也有其它的黑客论坛,受过高礼节要求的误导,禁止参与者张贴任何对别人帖子挑毛病的消息,并声称如果你不想帮助用户就闭嘴。结果造成有想法的参与者纷纷离开,这么做只会使它们沦为毫无意义的嘮叨与无用的技术论坛。

夸张的讲法是:你要的是友善(以上述方式)还是有用?两个里面挑一个。

记着:当黑客说你搞砸了,并且(无论多么刺耳)告诉你别再这样做时,他正在为关心他的社区而行动。对他而言,不理你并将你从他的生活中滤掉更简单。如果你无法做到感谢,至少要表现地有点尊严,别大声哀嚎,也别因为自己是个有戏剧性超级敏感的灵魂和自以为有资格的新来者,就指望别人像对待脆弱的洋娃娃那样对你。

有时候,即使你没有搞砸(或者只是在他的想像中你搞砸了),有些人也会无缘无故地攻击你本人。在这种情况下,抱怨倒是真的会把问题搞砸。

这些来找麻烦的人要么是毫无办法但自以为是专家的不中用家伙,要么就是测试你是否真会搞砸的心理专家。其它读者要么不理睬,要么用自己的方式对付他们。这些来找麻烦的人在给他们自己找麻烦,这点你不用操心。

也别让自己卷入口水战,最好不要理睬大多数的口水战 -- 当然,是在你检验它们只是口水战,而并未指出你有搞砸的地方,且也没有巧妙地将问题真正的答案藏于其后(这也是有可能的)。

不该问的问题

以下是几个经典蠢问题,以及黑客没回答时心中所想的:

问题:我能在哪找到 X 程序或 X 资源?

问题:我怎样用 X 做 Y?

问题:如何设定我的 shell 提示?

问题:我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 档案转换为 TeX 格式吗?

问题:我的程序/设定/SQL语句没有用

问题:我的 Windows 电脑有问题,你能帮我吗?

问题:我的程序不会动了,我认为系统工具 X 有问题

问题:我在安装 Linux(或者 X )时有问题,你能帮我吗?

问题:我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?


问题:我能在哪找到 X 程序或 X 资源?

回答:就在我找到它的地方啊,白痴 -- 搜索引擎的那一头。天哪!难道还有人不会用 Google吗?

问题:我怎样用 X 做 Y?

回答:如果你想解决的是 Y ,提问时别给出可能并不恰当的方法。这种问题说明提问者不但对 X 完全无知,也对 Y 要解决的问题糊涂,还被特定形势禁锢了思维。最好忽略这种人,等他们把问题搞清楚了再说。

问题:如何设定我的 shell 提示??

回答:如果你有足够的智慧提这个问题,你也该有足够的智慧去 RTFM,然后自己去找出来。

问题:我可以用 Bass-o-matic 文件转换工具将 AcmeCorp 档案转换为 TeX 格式吗?

回答:试试看就知道了。如果你试过,你既知道了答案,就不用浪费我的时间了。

问题:我的程序/设定/SQL语句没有用

回答:这不算是问题吧,我对要我问你二十个问题才找得出你真正问题的问题没兴趣 -- 我有更有意思的事要做呢。在看到这类问题的时候,我的反应通常不外如下三种

  • 你还有什么要补充的吗?
  • 真糟糕,希望你能搞定。
  • 这关我有什么屁事?

问题:我的 Windows 电脑有问题,你能帮我吗?

回答:能啊,扔掉萎软的垃圾,换个像 Linux 或 BSD 的开放源代码操作系统吧。

注意:如果程序有官方版 Windows 或者与 Windows 有互动(如Samba),你可以问与Windows相关的问题, 只是别对问题是由 Windows 操作系统而不是程序本身造成的回复感到惊讶, 因为 Windows 一般来说实在太烂,这种说法通常都是对的。

问题:我的程序不会动了,我认为系统工具 X 有问题

回答:你完全有可能是第一个注意到被成千上万用户反复使用的系统调用与函数库档案有明显缺陷的人,更有可能的是你完全没有根据。不同凡响的说法需要不同凡响的证据,当你这样声称时,你必须有清楚而详尽的缺陷说明文件作后盾。

问题:我在安装 Linux(或者 X )时有问题,你能帮我吗?

回答:不能,我只有亲自在你的电脑上动手才能找到毛病。还是去找你当地的 Linux 使用群组者寻求实际的指导吧(你能在这儿找到使用者群组的清单)。

注意:如果安装问题与某 Linux 的发行版有关,在它的邮件列表、论坛或本地使用者群组中提问也许是恰当的。此时,应描述问题的准确细节。在此之前,先用 Linux所有被怀疑的硬件作关键词仔细搜索。

问题:我怎么才能破解 root 帐号/窃取 OP 特权/读别人的邮件呢?

回答:想要这样做,说明了你是个卑鄙小人;想找个黑客帮你,说明你是个白痴!

好问题与蠢问题

最后,我将透过举一些例子,来说明怎样聪明的提问;同一个问题的两种问法被放在一起,一种是愚蠢的,另一种才是明智的。

蠢问题

我可以在哪儿找到关于 Foonly Flurbamatic 的资料?

这种问法无非想得到 STFW这样的回答。

聪明问题

我用Google搜索过 "Foonly Flurbamatic 2600",但是没找到有用的结果。谁知道上哪儿去找对这种设备编程的资料?

这个问题已经 STFW 过了,看起来他真的遇到了麻烦。

蠢问题

我从 foo 项目找来的源码没法编译。它怎么这么烂?

他觉得都是别人的错,这个傲慢自大的提问者

聪明问题

foo 项目代码在 Nulix 6.2 版下无法编译通过。我读过了 FAQ,但里面没有提到跟 Nulix 有关的问题。这是我编译过程的记录,我有什么做的不对的地方吗?

提问者已经指明了环境,也读过了FAQ,还列出了错误,并且他没有把问题的责任推到别人头上,他的问题值得被关注。

蠢问题

我的主机板有问题了,谁来帮我?

某黑客对这类问题的回答通常是:好的,还要帮你拍拍背和换尿布吗?,然后按下删除键。

聪明问题

我在 S2464 主机板上试过了 X 、 Y 和 Z ,但没什么作用,我又试了 A 、 B 和 C 。请注意当我尝试 C 时的奇怪现象。显然 florbish 正在 grommicking,但结果出人意料。通常在 Athlon MP 主机板上引起 grommicking 的原因是什么?有谁知道接下来我该做些什么测试才能找出问题?

这个家伙,从另一个角度来看,值得去回答他。他表现出了解决问题的能力,而不是坐等天上掉答案。

在最后一个问题中,注意告诉我答案给我启示,指出我还应该做什么诊断工作之间微妙而又重要的区别。

事实上,后一个问题源自于 2001 年 8 月在 Linux 内核邮件列表(lkml)上的一个真实的提问。我(Eric)就是那个提出问题的人。我在 Tyan S2464 主板上观察到了这种无法解释的锁定现象,列表成员们提供了解决这一问题的重要信息。

通过我的提问方法,我给了别人可以咀嚼玩味的东西;我设法让人们很容易参与并且被吸引进来。我显示了自己具备和他们同等的能力,并邀请他们与我共同探讨。通过告诉他们我所走过的弯路,以避免他们再浪费时间,我也表明了对他们宝贵时间的尊重。

事后,当我向每个人表示感谢,并且赞赏这次良好的讨论经历的时候, 一个 Linux 内核邮件列表的成员表示,他觉得我的问题得到解决并非由于我是这个列表中的名人,而是因为我用了正确的方式来提问。

黑客从某种角度来说是拥有丰富知识但缺乏人情味的家伙;我相信他是对的,如果我个乞讨者那样提问,不论我是谁,一定会惹恼某些人或者被他们忽视。他建议我记下这件事,这直接导致了本指南的出现。

如果得不到回答

如果仍得不到回答,请不要以为我们觉得无法帮助你。有时只是看到你问题的人不知道答案罢了。没有回应不代表你被忽视,虽然不可否认这种差别很难区分。

总的来说,简单的重复张贴问题是个很糟的点子。这将被视为无意义的喧闹。有点耐心,知道你问题答案的人可能生活在不同的时区,可能正在睡觉,也有可能你的问题一开始就没有组织好。

你可以通过其他渠道获得帮助,这些渠道通常更适合初学者的需要。

有许多网上的以及本地的使用者群组,由热情的软件爱好者(即使他们可能从没亲自写过任何软件)组成。通常人们组建这样的团体来互相帮助并帮助新手。

另外,你可以向很多商业公司寻求帮助,不论公司大还是小。别为要付费才能获得帮助而感到沮丧!毕竟,假使你的汽车发动机汽缸密封圈爆掉了-- 完全可能如此 --你还得把它送到修车铺,并且为维修付费。就算软件没花费你一分钱,你也不能强求技术支持总是免费的。

对像是 Linux 这种大众化的软件,每个开发者至少会对应到上万名使用者。根本不可能由一个人来处理来自上万名使用者的求助电话。要知道,即使你要为这些协助付费,和你所购买的同类软件相比,你所付出的也是微不足道的(通常封闭源代码软件的技术支持费用比开放源代码软件的要高得多,且内容也没那么丰富)。

如何更好地回答问题

态度和善一点。问题带来的压力常使人显得无礼或愚蠢,其实并不是这样。

对初犯者私下回复。对那些坦诚犯错之人没有必要当众羞辱,一个真正的新手也许连怎么搜索或在哪找常见问题都不知道。

如果你不确定,一定要说出来!一个听起来权威的错误回复比没有还要糟,别因为听起来像个专家很好玩,就给别人乱指路。要谦虚和诚实,给提问者与同行都树个好榜样。

如果帮不了忙,也别妨碍他。不要在实际步骤上开玩笑,那样也许会毁了使用者的设置 --有些可怜的呆瓜会把它当成真的指令。

试探性的反问以引出更多的细节。如果你做得好,提问者可以学到点东西 --你也可以。试试将蠢问题转变成好问题,别忘了我们都曾是新手。

尽管对那些懒虫抱怨一声 RTFM 是正当的,能指出文件的位置(即使只是建议个 Google 搜索关键词)会更好。

如果你决定回答,就请给出好的答案。当别人正在用错误的工具或方法时别建议笨拙的权宜之计(wordaround),应推荐更好的工具,重新界定问题。

正面的回答问题!如果这个提问者已经很深入的研究而且也表明已经试过 X 、 Y 、 Z 、 A 、 B 、 C 但没得到结果,回答 试试看 A 或是 B或者 试试X 、 Y 、 Z 、 A 、 B 、 C并附上一个链接一点用都没有。

帮助你的社区从问题中学习。当回复一个好问题时,问问自己如何修改相关文件或常见问题文件以免再次解答同样的问题?,接着再向文件维护者发一份补丁。

如果你是在研究一番后才做出的回答,展现你的技巧而不是直接端出结果。毕竟授人以鱼不如授人以渔

相关资源

如果你需要个人电脑、Unix 系统和网络如何运作的基础知识,参阅Unix系统和网络基本原理

当你发布软件或补丁时,试着按软件发布实践操作。

鸣谢

Evelyn Mitchel贡献了一些愚蠢问题例子并启发了编写如何更好地回答问题这一节, Mikhail Ramendik贡献了一些特别有价值的建议和改进。


Android 镜像使用帮助 - [初始同步方法1]

$
0
0

Android 镜像使用帮助

初始同步方法1

第一次同步数据量特别大,如果网络不稳定,中间失败就要从头再来了。所以我们提供了打包的 AOSP 镜像,为一个 tar 包,大约 25G(单文件 25G,注意你的磁盘格式要支持)。这样你 就可以通过 HTTP 的方式下载,该方法支持断点续传。

下载地址 http://mirrors.ustc.edu.cn/aosp-monthly/

请注意对比 checksum。

然后根据下文 已有仓库如何改用科大源的方法更改同步地址。

解压后用命令 repo sync 就可以把代码都 checkout 出来。

Note: tar包为定时人工从 https://mirrors.tuna.tsinghua.edu.cn/aosp-monthly/ 下载。

初始同步方法2

按照 Google 官方教程 https://source.android.com/source/downloading.html

https://android.googlesource.com/platform/manifest替换为 git://mirrors.ustc.edu.cn/aosp/platform/manifest

具体做法摘录如下(以防墙抽风):

首先下载 repo 工具。

mkdir ~/bin
PATH=~/bin:$PATH
curl https://storage.googleapis.com/git-repo-downloads/repo > ~/bin/repo
## 如果上述 URL 不可访问,可以用下面的:
## curl https://storage-googleapis.lug.ustc.edu.cn/git-repo-downloads/repo > ~/bin/repo
chmod a+x ~/bin/repo

然后建立一个工作目录(名字任意)

mkdir WORKING_DIRECTORY
cd WORKING_DIRECTORY

初始化仓库:

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest
## 如果提示无法连接到 gerrit.googlesource.com,可以编辑 ~/bin/repo,把 REPO_URL 一行替换成下面的:
## REPO_URL = 'https://gerrit-googlesource.lug.ustc.edu.cn/git-repo'

如果需要某个特定的 Android 版本(Android 版本列表):

repo init -u git://mirrors.ustc.edu.cn/aosp/platform/manifest -b android-4.0.1_r1

同步源码树(以后只需执行这条命令来同步):

repo sync

已有仓库如何改用科大源

如果您已经从官方同步了 AOSP 仓库,现在希望使用科大的 AOSP 仓库,请修改 .repo/manifests.git/config,将

url = https://android.googlesource.com/platform/manifest

修改成

url = git://mirrors.ustc.edu.cn/aosp/platform/manifest

即可。

通过 HTTP 协议同步(不推荐)

如果由于某种原因不能通过 git 协议同步,请修改 .repo/manifests.git/config,将

url = git://mirrors.ustc.edu.cn/aosp/platform/manifest

修改成

url = http://mirrors.ustc.edu.cn/aosp/platform/manifest

不推荐使用 HTTP 协议同步,因为 HTTP 服务器不支持 repo sync--depth选项,可能导致部分仓库同步失败。

通过 HTTP 同步过程中可能提示 clone.bundle 404 错误,这是正常现象,可以忽略。

说明

  1. 本镜像每天凌晨 04:30 同步一次。同步可能需要较长时间,因此使用本镜像时建议避开凌晨 04:30~06:00 这段时间。
  2. 由于硬盘 I/O 资源有限,Git 服务器每 IP 限制 5 个并发连接。repo sync命令默认使用 4 个并发连接,请勿使用 -j参数增加并发连接数。

Rust Crates 镜像使用帮助 - update config

$
0
0

Rust Crates 镜像使用帮助

使用说明

在 $HOME/.cargo/config 中添加如下内容

[registry]
index = "git://crates.mirrors.ustc.edu.cn/index"

如果所处的环境中不允许使用 git 协议, 可以把上述地址改为

index = "http://crates.mirrors.ustc.edu.cn/index"

同步频率为每两个小时更新一次.

如果 cargo 版本为 0.13.0 或以上, 需要更改 $HOME/.cargo/config 为以下内容:

[source.crates-io]
registry = "https://github.com/rust-lang/crates.io-index"
replace-with = 'ustc'
[source.ustc]
registry = "git://crates.mirrors.ustc.edu.cn/index"

相关链接

官方主页: https://crates.io/

朱晟菁 - 创建

Homebrew Bottles源

$
0
0

Homebrew Bottles源

Homebrew Bottles是Homebrew提供的二进制代码包,目前镜像站收录了以下仓库:

  • homebrew/homebrew-core
  • homebrew/homebrew-dupes
  • homebrew/homebrew-games
  • homebrew/homebrew-gui
  • homebrew/homebrew-python
  • homebrew/homebrew-php
  • homebrew/homebrew-science
  • homebrew/homebrew-versions
  • homebrew/homebrew-x11

使用方法

对于bash用户:

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.bash_profile
source ~/.bash_profile

对于zsh用户

echo 'export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.ustc.edu.cn/homebrew-bottles' >> ~/.zshrc
source ~/.zshrc

更多说明

LUG邮件列表 - Remove gmane service

$
0
0

LUG邮件列表

USTC LUG中的技术交流和活动通知通常都在邮件列表中。如果没有加入邮件列表,怎么好意思说自己是USTC LUG的一员呢?

邮件列表存档

如何加入

加入邮件列表的方法很简单:发送一封邮件到 ustc_lug+subscribe AT googlegroups.com (请把AT替换成@)某些邮箱不支持邮箱地址中的加号“+”,此时推荐使用Gmail。

推荐使用Gmail,它有两个优点:

  • threading(线索)把一封邮件及其回复显示在同一页面。LUG邮件列表中的一个主题常常引发数十个回复,此时threading可以不使收件箱被“刷屏”。如果把科大邮箱比作瀚海星云BBS的普通模式,那么Gmail的线索就是BBS的“同主题阅读”模式,也是其他论坛的常用显示方式。
  • 强大的过滤器(filter)和标签(tag)可以使你轻松对邮件进行分类。例如,我们可以对不同的邮件列表(如果您订阅了多个)应用不同的标签,还可以设置是否在“收件箱”内显示。

如果您需要使用科大邮箱,可以在科大邮箱中设置自动转发到Gmail,或者在Gmail中设置从科大邮箱定时POP3取信。这样只需登录 Gmail,就能同时收 Gmail 和科大邮箱的邮件了。

如何回复

直接回复就行了!回复会被发到ustc_lug AT googlegroups.com,然后邮件列表的提供商(Google)会把这封邮件转发给所有加入邮件列表的人。新人发布回复时需要审核,请耐心等待。

细心的同学可能注意到了:“From”一栏填的是发件人的私人邮件地址啊,为什么回复会被送到邮件列表呢?那是因为邮件中设置了Reply-To: ustc_lug AT googlegroups.com。如果你在用Gmail,可以用“Show Original”功能来了解邮件协议的更多信息。

  1. 尽量少用附件,以免占用收件人过多的邮箱空间。不要使用闭源格式的附件。如果需要附件,建议上传到home.ustc.edu.cn的个人主页空间,然后贴出链接。
  2. 尽量用纯文本,少用HTML格式(如果客户端支持的话)
  3. 回复较长的邮件时,引文应该选择性地引用,以便让其他人知道在评论的是哪一段。
  4. 对于比较严肃的技术讨论,请尽量不要转移话题。如果确实要离题,请发一个新主题,改标题为“新标题 (was: 原标题)”。

如何发新主题

直接向 ustc_lug AT googlegroups.com (请把AT替换成@)发邮件就行了,Google Groups 会帮您转发给所有加入邮件列表的人。新人发布主题时需要审核,请耐心等待。

  1. “如何回复”中列出的Tips仍然适用
  2. 主题与LUG、Linux、自由/开源软件无关时,要在标题中标“[OT]”(Off Topic的意思)
  3. 如果只是回复/讨论一个已有主题,请不要另开新主题。回复那封邮件就行了。如果你发现你的回复变成了一个新的主题,或者有人说“线索断了”,请更换邮件客户端。

提问的智慧

在邮件列表中,你所提技术问题的解答很大程度上取决于提问的方式与解决此问题的难度,本文将教你如何提问才更有可能得到满意的答复。推荐大家在提问之前看看。

原文: http://www.catb.org/esr/faqs/smart-questions.html

中文版: 提问的智慧

homebrew-core源

$
0
0

homebrew-core源

homebrew-core是Homebrew的核心软件仓库,收录了大部分的常用软件。

使用方法

在终端中执行以下命令:

cd /usr/local/Library/Taps/homebrew/homebrew-core
git remote set-url origin git://mirrors.ustc.edu.cn/homebrew-core.git

Docker 镜像使用帮助

$
0
0

Docker 镜像使用帮助

使用说明

新版的 Docker 使用 /etc/docker/daemon.json(Linux) 或者 %programdata%\docker\config\daemon.json(Windows) 来配置 Daemon。

请在该配置文件中加入(没有该文件的话,请先建一个):

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

Docker Daemon configuration file 文档: https://docs.docker.com/engine/reference/commandline/dockerd/#/daemon-configuration-file

Docker for Windows 文档: https://docs.docker.com/docker-for-windows/#/docker-daemon


以下是一些过时的配置方法

在 Docker 的启动参数中加入:

--registry-mirror=https://docker.mirrors.ustc.edu.cn

Ubuntu 用户(包括使用 systemd 的 Ubuntu 15.04)可以修改 /etc/default/docker 文件,加入如下参数:

DOCKER_OPTS="--registry-mirror=https://docker.mirrors.ustc.edu.cn"

其他 systemd 用户可以通过执行 sudo systemctl edit docker.service 来修改设置, 覆盖默认的启动参数:

[Service]
ExecStart=
ExecStart=/usr/bin/docker -d -H fd:// --registry-mirror=https://docker.mirrors.ustc.edu.cn

捐赠记录 - [2016~2017学年]

$
0
0

捐赠记录

捐款说明详见捐赠LUG,本页记载2011年起的捐赠信息,2011年以前的捐赠信息请见LUG的财务报告。

2016~2017学年

本学年会长是左格非同学,财务负责人是金孜达同学。

捐赠:

捐赠者捐赠款额捐赠日期捐赠方式款项备注
¥1002016-06-11支付宝转账开源镜像维护 -
张炜¥1002016-06-11支付宝转账服务器维护 -
谢俊¥502016-06-15支付宝转账开源镜像维护尤其是homebrew和rust
罗泽轩¥52016-08-14支付宝转账开源镜像维护支援服务器建设的小小心意

2015~2016学年

本学年会长是崔灏同学,财务负责人是崔天一同学。

捐赠:

捐赠者捐赠款额捐赠日期捐赠方式款项备注
¥402016-03-06支付宝转账未限制感谢linux协会的同学两次帮忙安装系统
Peter G¥502016-03-31新创基金未限制 -
高一凡¥4492016-04-07支付宝转账购买 Google Apps -
绪良¥1002016-04-20支付宝转账未限制 -
¥1002016-04-23支付宝转账开源镜像维护 -
鸿韬¥1002016-04-23支付宝转账未限制 捐赠开源的小师弟妹们!我是阿里的师哥~
seatle¥10242016-04-23新创基金未限制 -
连翀¥4992016-04-25支付宝转账未限制华工02级连翀,感谢你们
晓波¥502016-04-29支付宝转账未限制国内为数不多镜像AOSP的站点,加油
正君¥1002016-04-29支付宝转账未限制感谢镜像维护工作
Jessie¥502016-04-30支付宝转账开源镜像维护 -
P.Linux¥4992016-05-03支付宝转账未限制 LUG服务器维护专款
孙永录¥502016-05-09支付宝转账未限制科大校友

使用:

经办人支出结算日期款项
崔灏、高一凡¥226.102016-01-03科大博客国外接入点服务器续费

2014~2015学年

本学年会长是张荣葳同学,财务负责人是朱晟菁同学。

捐赠:

捐赠者捐赠款额捐赠日期捐赠方式款项备注
周有松¥1072015-02-10支付宝转账未限制 -
顾昊¥5,0002015-02-04支付宝转账未限制 -
赵希明¥1002015-03-11支付宝转账用于VPN维护 -
郑子涵¥88.882015-03-13支付宝转账未限制 -
崔灏¥1002015-03-31支付宝转账未限制 -
刘春山¥502015-05-29支付宝转账未限制 -
王鹏¥402015-06-01支付宝转账未限制 -
火火火¥5002015-06-10支付宝转账未限制 -
张炜¥1002015-06-11支付宝转账服务器维护 -
贴吧用户¥502015-07-18支付宝转账未限制 -
崔灏¥1,0002015-08-26支付宝转账未限制 -

使用:

经办人支出结算日期款项
崔灏、高一凡¥609.642015-07-04为东图集群添置SSD
崔灏、高一凡¥356.302015-07-04为东图集群添置交换机
崔灏¥420.842015-08-262015板衫亏空

2011年

捐赠者捐赠款额捐赠日期捐赠方式款项备注
会员¥142011-01-31现金活动经费黄若山、赵希明、张成
王鹏¥502011-01-31现金活动经费
马良¥2002011-01-05支付宝服务器维护
闫峰¥502011-01-04支付宝活动经费
华鲁¥502011-01-04支付宝活动经费
黄月新¥52011-01-03支付宝活动经费
王录恩¥103.112011-01-01支付宝服务器维护
张成¥502011-01-01支付宝活动经费
姜维¥102011-01-01支付宝活动经费
顾昊¥452011-01-01支付宝活动经费来自黄若山的图书基金捐赠
孟金钊¥102011-05-10支付宝服务器维护
冷罡华¥2002011-06-05支付宝活动经费
笨兔兔¥102011-06-06支付宝活动经费

合计捐款:¥797.11

月合计

月份活动经费服务器维护经费捐款总额
2011-06¥484¥313.11¥797.11
2010-01¥274¥303.11¥577.11

借阅记录 - [2016年借阅记录]

$
0
0

借阅记录

如欲借阅图书,请参阅图书借阅管理制度

2016年借阅记录

书名借阅者联系方式借阅日期应还日期归还日期读书报告(链接)
计算机系统概论 王子博 wzb15@mail.ustc.edu.cn 2016年8月29日 2017年1月29日 - -
计算机系统概论(英文版) 王子博 wzb15@mail.ustc.edu.cn 2016年8月29日 2017年1月29日 - -
Intel微处理器 郑子涵 zzh1996@mail.ustc.edu.cn 2016年8月29日 2017年1月29日 - -
设计模式 郑子涵 zzh1996@mail.ustc.edu.cn 2016年7月7日 2016年9月7日 - -
SQL沉思录 郑子涵 zzh1996@mail.ustc.edu.cn 2016年3月10日 2016年5月10日 2016年7月7日 -
鸟哥的Linux私房菜 基础学习篇 第三版 金孜达 jzd@mail.ustc.edu.cn 2016年6月26日 2016年7月31日 - -

2015年借阅记录

书名借阅者联系方式借阅日期应还日期归还日期读书报告(链接)
鸟哥的 Linux 私房菜 基础学习篇(第三版)熊国鑫 xgx@mail.ustc.edu.cn 2015年10月22日 2015年12月22日 2015年12月14日 -
学习 vi 和 Vim 编辑器 王嘉男 wjn2015@mail.ustc.edu.cn 2015年10月5日 2015年12月5日 - -
JavaScript 高级程序设计(第三版) 常震 ch888@mail.ustc.edu.cn 2015年3月26日 2015年5月26日 - -
CSAPP sadhen sadhen@mail.ustc.edu.cn 2015年1月1日 2015年3月1日 2015年3月11日 -
计算机程序的构造和解释(第2版,翻译) 崔灏 cuihao.leo@gmail.com 2015年1月1日 2016年1月1日 2015年12月18日 -
计算机网络(英文版·第5版) 左格非 alkaid AT mail.ustc.edu.cn 2015年1月24日 2015年3月2日 2015年3月2日 -
人工智能——一种现代方法(第二版)
Artificial Intelligence - A Modern Approach
朱晟菁 zsj950618@gmail.com 2015年3月1日 2015年8月1日 - -
数据库系统导论朱晟菁 zsj950618@gmail.com 2015年3月1日 2015年8月1日 - -
计算机网络:自顶向下方法(原书第4版)曾键2015年5月6日2015年8月1日--
深入理解计算机系统曾键2015年3月7日2015年8月1日--
程序设计语言原理(第8版)张恒若hengruoz@gmail.com2015年3月8日2015年5月8日 2015年5月4日 -
编译原理·第二版张恒若hengruoz@gmail.com2015年3月8日2015年5月8日2015年9月1日-
TCP/IP 详解(卷1:协议)
TCP/IP Illustrated Volume 1: The Protocols
郑子涵zzh1996@mail.ustc.edu.cn2015年3月20日2015年9月1日 2015年8月30日 -

2014年借阅记录

书名借阅者联系方式借阅日期应还日期归还日期读书报告(链接)
社交网站的数据挖掘与分析邱康, PB12210020-2014年9月23日2014年12月23日2015年3月8日-
密战——网络犯罪大追踪 boj boj@mail.ustc.edu.cn 2014年9月4日 2014年11月4日 2014年11月27日 -
用户体验要素 周星,PB11011066 zhou999@mail.ustc.edu.cn 2014年12月9日 2015年2月9日 2014年12月17日-
浪潮之巅 张静宁,PB14203209 changchongning AT gmail.com 2014年9月18日 2014年11月18日 2014年11月25日浪潮之巅读书笔记
学习Vi和Vim编辑器于天泽,PB14206077156565879962014年9月26日2014年11月26日2014年11月20日归还到东区
Python开发技术详解李建伟, SC14011001-2014年9月23日2014年11月23日2014年11月20日-
手把手教你构建自己的Linux系统武慧友,SM14204033186975551272014-09-262014-11-262014-10-25-
Programming Android阴钰,PB13011038182266115112014年9月26日2014年11月26日2014年11月25-
HTML5与CSS 3构成指南吴昊,PB14000207markwh@mail.ustc.edu.cn2014年9月26日2014年11月26日2015年3月14日-
鸟哥的Linux私房菜王一凡,PB14011070wyf123@mail.ustc.edu.cn2014年9月26日2014年11月26日--
计算机系统概论(英文版·第二版)刘淼丰,PB14210114155554328172014年10月12日2014年12月12日2015年1月28日-
鸟哥的Linux私房菜(基础学习篇·第二版)刘淼丰,PB14210114155554328172014年10月12日2014年12月12日--
Orange'S:一个操作系统的实现张恒若,PB12210059zhr2012@mail.ustc.edu.cn2014年10月12日2014年12月12日2014年11月30日-
PHP & MySQL Web网络编程张恒若,PB12210059zhr2012@mail.ustc.edu.cn2014年10月12日2014年12月12日2014年12月20日-
Git权威指南 杨博远,PB13007333 073plan AT gmail.com 2014年10月13日 2014年12月13日 2014年12月13日-
C++ primer 曾键,PB14011028 anonymousknight96 AT gmail.com 2014年10月19日 2014年12月19日 2015年3月15-
C和指针 刘淼丰,PB14210114 musicbow@163.com 2014年10月23日 2014年12月23日 --
鸟哥的 Linux 私房菜 张静宁,PB14203209 changchongning AT gmail.com 2014年11月27日 2015年1月17日 2015年3月1日 -
学习 GNU Emacs 张静宁,PB14203209 changchongning AT gmail.com 2014年11月27日 2015年1月17日 2015年3月1日 -
黑客与画家 张静宁,PB14203209 changchongning AT gmail.com 2014年11月27日 2015年1月17日 2014年12月26日 -

2012至2013年借阅记录

书名借阅者联系方式借阅日期应还日期归还日期读书报告(链接)
计算机组成与设计:硬件、软件接口(第3版) Thomas Copper 2012年12月31日 2013年 - -
操作系统概念7 sadhen sadhen@mail.ustc.edu.cn 2013/02/242013/04/24 - -
操作系统概念6 jal jal@mail.ustc.edu.cn2013/02/24 2013/04/24 - -
CSAPP(Chinese) jxl jxl888@mail.ustc.edu.cn 2013/02/25 2013/04/25 - -
计算机组成与设计:硬件、软件接口(第3版) sadhen 2013/02/25 2013/04/25 2014年9月 -
Modern Operating System jal jal@mail.ustc.edu.cn2013/03/02 2013/05/02 - -
鸟哥(基础学习篇,第三版)董小飞 xiaofeid@mail.ustc.edu.cn 2013年9月15日 2013年11月15日--
操作系统概念(第六版)董小飞 xiaofeid@mail.ustc.edu.cn 2013年9月15日 2013年11月15日--
学习GNU Emacs 李喵喵 - 2013年1月13日 2013年3月13日 2014年 -
C语言程序设计 老祝 2012年12月31日 2015年(已还) -
科技想要什么 boj bojieli AT gmail.com 2012-09-02 2012-11-02不详(已还) -
人工智能 boj bojieli AT gmail.com 2012-12-04 2013-02-04 2013-06-23 -
鸟哥(基础学习篇) 朱晟菁 zsj950618 AT gmail.com 2012-12-08 2013-02-08 2013年 鸟哥的_linux_私房菜_--_基础学习篇_读书笔记
Node.js开发指南 林太星2012-12-24 2013-02-24 2013-05-12 -
《黑客与画家》 sadhen sadhen1992 AT gmail.com2012-12-31 2013-03-01 2013-01-12 《黑客与画家》读书笔记
《Git权威指南》 sadhen sadhen1992 AT gmail.com 2012-12-312013-03-01 不详(已还)-
失控:全人类的最终命运和结局 jxl jxl888@mail.ustc.edu.cn 2013-02-25 2013-04-25 2013-05-27 -

2011借阅记录

书名借阅者联系方式借阅日期应还日期归还日期读书报告(链接)
系统管理指南 Apache张昊翀 solomon DOT zhc AT gmail DOT com 2010.12.13 2011.2.16 2011.1.9 读书报告
学习GUN Emacs王光远SA08006038ieee AT mail.ustc.edu.cn 13696544286 2011.1.6 2011.3.6 2011.3.3 读书报告
手把手教你构建自己的Linux系统孙锡麟s.sn.giraffe AT gmail.com 2011.1.6 2011.3.6 2011.2.23
《深入理解Linux内核》第三版孙锡麟s.sn.giraffe AT gmail.com 2011.2.23 2011.4.232011.4.16
手把手教你构建自己的Linux系统黄若山ruoshan612 AT gmail.com 2011.2.25 2011.4.25 2011.4.25
程序员的自我修养黄若山ruoshan612 AT gmail.com 2011.4.23 2011.6.232011.5.5
鸟哥的私房菜Null- 2011.4.23 2011.6.23
Gnu EmacsGodson- 2011.4.28 2011.6.28
Linux设备驱动程序Armnotstrong- 2011.5.12 2011.7.12
python开发技术详解yanfeng- 2011.5.23 2011.7.23
鸟哥的私房菜袁哲,pb09210049- 2011.6.28 2011.8.23
完美应用Ubuntu饶亚民;学号:PB09210173- 2011.6.28 2011.8.23

黑名单

借阅者借阅日期原因
孙锡麟 2011.1.6拖欠读书笔记

LUG 每周小聚 - 树莓派智能小车,Python 异步编程

$
0
0

LUG 每周小聚

我们曾经……

  • 我们曾经苦于学习 Linux 无门,
  • 我们发现很棒的工具却难于上手,
  • 我们想分享自己的心得却无人理会,
  • 我们曾经四处询问却处处碰壁。

每周小聚!

  • 每周我们选定一个主题和一位主持,
  • 与您一同分享使用 Linux 的心得体会,
  • 群策群力解决令人抓耳挠腮的问题,
  • 共同发扬 GNU 文化,提高 Linux 水平。 自 2011 年 10 月起,每周六晚上有每周小聚活动,由一位同学做技术分享演讲,欢迎所有师生参与。具体时间、地点和内容会在周四发到邮件列表和瀚海星云BBS Notice/Linux 版上。

如果您希望讨论某个主题或主持小聚,欢迎加入LUG邮件列表

每周小聚的时间地点我们会通过LUG邮件列表、BBS Linux/Notice 版、人人网等 SNS 发出通知,请大家持续关注!

每周小聚的资料在这里:ftp://ftp:ftp@ftp.ustclug.org/weekly_party/

Notice

主讲人请注意:

  • 毋忘上传 slides,越早越好(在愿意分享 slides 的前提下)FIXME slides 的版权问题?
  • 在 BBS Linux 发通知时,注意打上 LUG 标签
  • 尽早编辑本 wiki,活动时间以本 wiki 为准

TimeTable

Spring 2016

日期 主持 主题 讲稿 视频
2016-05-02 王子博 树莓派智能小车 FIXME
2016-04-17 张光宇 Python 异步编程 FIXME
2016-04-03 高一凡 Hello Docker II HelloDocker2.pdf
2016-03-27 崔灏 密码学的故事 TextWorld Without Java

Fall 2015

日期 主持 主题 讲稿 视频
2015-12-12 郑子涵 Advanced C Programming FIXME
2015-11-22 张光宇 初识 MongoDB PDF
2015-11-15 杨博远 Meet With Linux PDF
2015-11-07 崔灏 操作系统的引导——从BIOS/MBR到UEFI 作者的SSD炸了
2015-11-01 高一凡 Hello Firewalld PDF
2015-10-23 罗秀哲 Julia User Group Meetup #1
2015-10-17 杨博远 命令行生存指南 Texts

Spring 2015

日期 主持 主题 讲稿 视频
2015-05-23 高一凡 Hello Bitcoin Slides
2015-05-16 李博杰 白帽子大赛,黑客不神秘 FIXME
2015-04-18 杨博远 永远的 autotools (一) Slides
2015-04-12 王译锋 静态博客实践 Slides

Fall 2014

日期 主持 主题 讲稿 视频
2014-12-13 康雷 Tornado开发简介与实例 Slides
2014-11-22 沈达 TeXmacs入门讲座 SlidesSource Code
2014-11-08 张光宇 Clojure 简介 SlidesVideo
2014-11-01 张荣葳 你所不知道的 DNSSlidesVideo
2014-10-25 李博杰 云上的服务,你我共享 Slides
2014-10-19 崔灏 有关文件的种种魔法 Slides
2014-10-12 杨博远 Git 使用心得 Slides

Spring 2014

本学期将小聚改为Linux 入门公开课

名称 讲者 文稿 视频
第1课:What is Linux? 张荣葳 SlidesVideo
第2课:Linux基本概念和安装指南 张光宇 SlidesVideo
第3课:图形界面 VS. 命令行界面 崔灏 SlidesVideo
第4课:认识各种各样的文件 张光宇 SlidesVideo
第5课:bash基础 张荣葳 SlidesVideo
第6课:Linux网络管理介绍 贾明皓 SlidesVideo
第7课:如何高效地找东西 张荣葳 FIXMEFIXME
第8课:软件的安装与管理入门 杨博远 SlidesVideo
第9课:正则表达式基础 张恒若 FIXMEVideo

Fall 2013

日期 主持 主题 讲稿
2013-12-15 张荣葳 GPG及其使用经验
2013-11-24 李喵喵 从Mirrors主页谈现代网页设计理念
2013-11-16 张光宇 UEFI入门 slides
2013-11-10 李博杰 Linux路由与iptables配置
2013-11-02 陆颖潮 Latex入门
2013-10-26 张光宇 Doxygen入门
2013-10-20 崔灏 可爱的Python slides
2013-10-13 朱晟菁 编辑器之战
2013-09-30 张荣葳 Linux 入门基础知识

Spring 2013

日期 主持 主题 讲稿
2013-05-26 张光宇 零基础入门AWK slides
2013-05-05 沈达 TeXmacs基础 豆瓣TeXmacs小组
2013-04-06 少院技术部 Linux与Windows混合机房的无盘启动 slides1slides2
2013-03-30 张成 Linux奇巧淫技 slides
2013-03-23 李博杰 搭建Linux Web服务器 张成的slides李博杰的slides
2013-03-17 郭家华 图书馆查询机系统的制作与启动过程 slides
2013-03-09 李博杰 Bash: A Programmer's Perspective slides code

Fall 2012

日期 主持 主题 讲稿
2013-01-12 沈达 python2-networkx可视化 slides
2013-01-05 彭飞 动态二进制插桩
2012-12-29 张光宇 deb包制作过程简介 pres.tar.xz
2012-12-22 李博杰 给开源编译器插入后门
Reflections on Trusting Trust
project slides
2012-12-15 张荣葳 Linux From Scratch slides
2012-12-08 赵希明 给进程打补丁
2012-10-20 王晶晶 搜索引擎简介 slides
2012-09-29 陈张 Linux Desktop App slides

Spring 2012

日期 主持 主题 简介 讲稿
2012-05-27 李喵喵 HTML5 Lightweight JavaScript AVG
Backport & Customization
FIXME
2012-05-20 李博杰 用git进行版本控制 git基本操作及其原理
git object hash,历史穿梭
slides
2012-04-22 顾昊 正则表达式 正则表达式语法
在sed、grep、python中的应用
FIXME
2012-04-14 郭家华 iptables iptables原理
封包过滤、NAT转发、指定出口IP
slides
2012-04-08 祝元宠 用vim进行C++开发 vim与gdb等的整合
vim插件与资源,vim键盘图
Vim笔记
2012-04-01 沈达 BreAk SHell, touch linux Bash Scripting
如何使用文档和搜索来解决问题
slides
2012-03-25 陈张 Linux桌面环境的使用 原来我们可以完全用Linux工作 slides

Fall 2011

日期 主持 主题 简介 讲稿
2011-12-24 李喵喵 Jquery & Ajax jQuery选择器、DOM、事件、动画 slides
2011-12-18 李博杰 JavaScript JS基本语法,HTML DOM
2011-12-10 李博杰 动态网站架构设计 Discuz!X 的目录结构、运行流程
模板与缓存机制
2011-12-03 李博杰 关系数据模型设计 数据库表结构的设计模式 slides
2011-11-26 李博杰 PHP PHP的I/O、对象与数据库 slides
2011-11-19 李喵喵 前端实战 网页设计原则与实战 slides
2011-11-12 李博杰 PHP PHP的类型系统、语法与语义
2011-11-05 李喵喵 CSS CSS与网页设计原则 slides
2011-10-29 李喵喵 网页设计原则 设计的风格,网页设计的误区
设计基本原则之亲密性
slides
2011-10-23 李博杰 PHP PHP 语言基础
2011-10-15 李博杰 HTML HTML网页基础 slides
2011-09-24 李博杰 网络基础 网页载入流程,HTTP,TCP slides
2011-09-18 李博杰 网站开发绪论 技术概述 slides

网站开发讨论班有个单独的主页,点这里

其他周在干什么?

LUG的活动很丰富的哦 :)

使用帮助 - 更新域名

$
0
0

使用帮助

各资源的对应关系如下

fonts.gstatic.com             fonts-gstatic.proxy.ustclug.org
fonts.googleapis.com          fonts.proxy.ustclug.org
ajax.googleapis.com           ajax.proxy.ustclug.org
storage.googleapis.com        storage-googleapis.lug.ustc.edu.c
themes.googleusercontent.com  google-themes.proxy.ustclug.org
gerrit.googlesource.com       gerrit-googlesource.proxy.ustclug.org
secure.gravatar.com           gravatar.proxy.ustclug.org

USTC LUG VPN 服务 - update URL

$
0
0

USTC LUG VPN 服务

致 Wiki 维护人员:不应当添加任何指向该页面的链接。
科大 LUG VPN 服务是面向 LUG 活跃会员的,旨在为会员提供方便的回校访问服务与无障碍的全球互联网访问。

使用服务时请遵守国家法律法规与校规校纪。USTC LUG 有责任对所发现的违法违规行为进行相应的处理。

详细介绍,请访问 USTC LUG VPN 服务

网络服务列表 - [B 级服务]

$
0
0

网络服务列表

S 级服务

  • 开源镜像站(HTTP 访问):mirrors.ustc.edu.cn
  • 权威DNS:dns.lug.ustc.edu.cn

A 级服务

  • 科大博客:blog.ustc.edu.cn
  • 代码托管平台:git.ustclug.org
  • 网络加速服务:vpn.ustclug.org
  • 防污染DNS

B 级服务

  • 主页(本wiki):lug.ustc.edu.cn
  • PGP密钥同步:sks.ustclug.org
  • 用户论坛:bbs.ustclug.org
  • 网络启动:pxe.ustc.edu.cn
  • 图书馆透明计算系统
  • VPN在线申请系统:getvpn.ustclug.org
  • 开源镜像站(定时同步;rsync、FTP访问;帮助页面):mirrors.ustc.edu.cn
  • 反向代理:*.proxy.ustclug.org
  • 服务器统一认证:ldap.ustclug.org
  • 内网VPN

C 级服务

  • LUG FTP:ftp.ustclug.org
  • Ganglia 监控:status.ustclug.org
  • LDAP配置管理系统(GOSA2)

服务等级与服务标准

  • S 级:最优先保障服务可用性,24小时故障监控,故障自动转移
  • A 级:优先保障服务可用性,24小时故障监控,每日备份
  • B 级:关键数据备份
  • C 级:非保障类服务
  • 未列入本列表的服务:实验性服务

FreeBSD 镜像使用方法 - 澄清 FreeBSD 镜像状态

$
0
0

FreeBSD 镜像使用方法

FreeBSD 项目暂时不再接受新站点成为官方镜像源,且不向第三方镜像站点提供pkgng rsync同步接口。 因此,我们不建议您使用科大镜像站提供的内容。建议您使用官方支持的镜像源。您可以在 https://www.freebsd.org/doc/handbook/eresources-web.html找到官方镜像站的列表。

我们并非 FreeBSD 的官方源,所同步的文件受到上游的限制。使用请自行承担风险。

受上游所提供文件限制,本站无法提供 pkgng 软件源。

使用说明

以下使用说明已过期,请自行鉴别。

最新版的 FreeBSD 使用 pkgng 管理软件包,请查阅相关资料了解详情。

Packages使用方法

以FreeBSD 8.1 i386为例, 在终端下执行以下命令(操作前请做好相应备份)

setenv PACKAGESITE http://mirrors.ustc.edu.cn/freebsd/releases/i386/8.1-RELEASE/packages/Latest/
pkg_add -r package #package为要安装的软件名

Ports使用方法

以安装firefox为例, 编辑/etc/make.conf文件, 修改MASTERSITEBACKUP字段(操作前请做好相应备份)

MASTER_SITE_BACKUP?=http://mirrors.ustc.edu.cn/freebsd/distfiles/${DIST_SUBDIR}/
MASTER_SITE_OVERRIDE?=${MASTER_SITE_BACKUP}

然后在/usr/ports/www/firefox目录下执行以下命令(要先安装ports)

make
make install

相关链接


ustclug 自建软件源使用帮助

$
0
0

ustclug 自建软件源使用帮助

收录架构

i386, amd64, armhf

收录版本

针对Debian Jessie挑选的部分软件,版本按需确定。

使用说明

  • 编辑sources.list文件:
snippet.bash
su-c'echo deb\ http\://mirrors.ustc.edu.cn/ustclug\ ustclug\ main > /etc/apt/sources.list.d/ustclug.list'
  • 使用apt-key add添加缺失的公钥:
snippet.bash
wget-q https://mirrors.ustc.edu.cn/ustclug/ustclug.asc -O - |sudoapt-key add -
  • apt update后即可正常使用。

注意:LUG@USTC对其中的软件包的来源不做任何保证,请谨慎使用。

相关链接

Join us

Software Freedom Day - [2016年 SFD]

$
0
0

Software Freedom Day

自由软件日是在国际自由软件基金会(SFI)的领导下,由自由/开源软件爱好者自发筹集的非盈利性活动。旨在为自由/开源软件爱好者提供一个信息交流平台,以及联合各社区举办各种自由/开源软件活动。

科大 LUG 已经成功的连续几届举办了合肥站的自由软件日活动。活动得到了龙芯梦兰、龙芯俱乐部、中标软件、中科红旗、中国开源软件推进联盟等公司、开源社区,以及合肥工业大学,安徽大学等兄弟院校的大力支持。活动邀请过多个在国内开源软件领域非常有影响力的嘉宾,如科大网络中心的张焕杰老师,北京 GUG 主席李震宁先生,上海 LUG 主席姚欣宇,从事 MIPS 开发的刘世伟先生等,带来了各种内容的主题演讲。


活动介绍

SFD,可译为“软件自由日”,顾名思义是对自由、开源软件的庆祝活动。USTC LUG 自2010年起每年举办合肥中科大站的自由软件日活动,获得了不错的效果,当然其中也离不开各个公司、兄弟院校、社团、社区的大力支持。

历史 SFD 活动记录

2016年 SFD

2016年 SFD 于 2016 年 9 月 15 日举办

时间: 2016年9月15日(周四)下午2:30

地点:中国科大西区活动中心学术报告厅

活动内容:

讲者 主题 简介 资料
Gefei Zuo《开源通讯软件的加密》Slides
Bin Li《Ubuntu 和 GNOME 桌面环境》Slides
Gefei Zuo《出国网络加速服务架构》Slides

2015年 SFD

2015年 SFD 于 2015 年 9 月 19 日举办。

若您对 SFD 中科大站活动感兴趣,欢迎参与到 SFD 活动中来!参加的方式很简单,不用报名,直接去就行!

时间:2015年9月19日(周六)下午2:30

地点:中国科大西区活动中心学术报告厅

下面是这次活动内容简介:

讲者 主题 简介 资料
Chao Ye《What is OpenSouce – From an RedHat engineer's view》
Roger Luo《Julia —— 科学计算的银弹》Slides

活动新闻稿:2015软件自由日中国科大站

2014年 SFD

2014年 SFD 于 2014 年 9 月 20 日举办。

时间:2014年9月20日(周六)下午2:00

地点:中国科大东区图书馆四楼学术报告厅

下面是这次活动内容简介:

讲者 主题 简介 资料
崔灏《Mirrors是怎样炼成的》从架构到技术,全面展示Mirrors背后的故事slidesVideo
刘世伟《在Linux下开发电路板PCB》无论是日常应用还是行业需求,自由软件无处不在Video
阴钰《Sage:集大成者》Sage —— 一款强大的开源数学软件slidesVideo
张光宇《Firefox OS移动应用开发入门》用HTML5来开发移动应用,一同走进Firefox OS的世界slides演示程序Video
张荣葳《比安全更安全——GnuPG简介》用技术维护隐私,让互联网世界更为自由slidesVideo

活动新闻稿:2014自由软件日科大站

更早的 SFD

SFD 官方介绍

以下内容来源为SFD 官方网站。简体中文翻译由 @hosiet 完成,且并非正式翻译。

SFD is a worldwide celebration of Free and Open Source Software (FOSS).

SFD 是一个全球范围的对自由及开源软件(FOSS)的庆祝活动。


Vision & Objectives | 立场及意愿

Our vision is to empower all people to freely connect, create and share in a digital world that is participatory, transparent, and sustainable.

我们的目的是促使所有人能够自由地与一个积极参与的、透明的、可支持的数字世界相连,并创造、分享精神财富。


Objectives | 活动目的

  1. To celebrate software freedom and the people behind it
  2. To foster a general understanding of software freedom, and encourage adoption of free software and open standards
  3. To create more equal access to opportunities through the use of participatory technologies
  4. To promote constructive dialogue on responsibilities and rights in the information society
  5. To be inclusive of organizations and individuals that share our Vision
  6. To be pragmatic, transparent, and responsible as an organisation.


  1. 为软件自由及为软件自由奉献的人们庆祝;
  2. 培育人们对软件自由的普遍认知,并鼓励对自由软件和开放标准的采纳;
  3. 通过对吸引人积极参与的技术的应用来创造更多公平的成功机会;
  4. 促进关于信息社会中责任与权利的建设性对话;
  5. 包容吸纳同样持有我们的立场的组织与个人;
  6. 作为一个组织,务实、透明、负责任地开展工作。


Further Explanations | 活动说明

Our goal in this celebration is to educate the worldwide public about the benefits of using high quality FOSS in education, in government, at home, and in business – in short, everywhere! The non-profit organization Software Freedom International coordinates SFD at a global level, providing support, giveaways and a point of collaboration, but volunteer teams around the world organize the local SFD events to impact their own communities.

在这次庆祝活动中,我们的目标是让全球的公众认识到在各个地方使用高质量自由开源软件的好处,例如在教育行业、在政府机关、在家中、在公司办公时……简而言之,了解在所有地方使用这些软件的好处!一个特定的非盈利组织——Software Freedom International——在全球层面上对 SFD 活动进行组织协调,并提供信息支持、赠品支持及一定的工作协助。但实际上,这个活动需要依靠全球各地的志愿者队伍来组织本地的 SFD 活动,以此影响他们自己所处的社区。


捐赠记录 - [2016~2017学年]

$
0
0

捐赠记录

捐款说明详见捐赠LUG,本页记载2011年起的捐赠信息,2011年以前的捐赠信息请见LUG的财务报告。

2016~2017学年

本学年会长是左格非同学,财务负责人是金孜达同学。

捐赠:

捐赠者捐赠款额捐赠日期捐赠方式款项备注
¥1002016-06-11支付宝转账开源镜像维护 -
张炜¥1002016-06-11支付宝转账服务器维护 -
谢俊¥502016-06-15支付宝转账开源镜像维护尤其是homebrew和rust
罗泽轩¥502016-08-14支付宝转账开源镜像维护支援服务器建设的小小心意
于亮¥502016-08-18支付宝转账开源镜像维护 -
宁晨远¥1002016-09-23支付宝转账服务器维护 -

2015~2016学年

本学年会长是崔灏同学,财务负责人是崔天一同学。

捐赠:

捐赠者捐赠款额捐赠日期捐赠方式款项备注
¥402016-03-06支付宝转账未限制感谢linux协会的同学两次帮忙安装系统
Peter G¥502016-03-31新创基金未限制 -
高一凡¥4492016-04-07支付宝转账购买 Google Apps -
绪良¥1002016-04-20支付宝转账未限制 -
¥1002016-04-23支付宝转账开源镜像维护 -
鸿韬¥1002016-04-23支付宝转账未限制 捐赠开源的小师弟妹们!我是阿里的师哥~
seatle¥10242016-04-23新创基金未限制 -
连翀¥4992016-04-25支付宝转账未限制华工02级连翀,感谢你们
晓波¥502016-04-29支付宝转账未限制国内为数不多镜像AOSP的站点,加油
正君¥1002016-04-29支付宝转账未限制感谢镜像维护工作
Jessie¥502016-04-30支付宝转账开源镜像维护 -
P.Linux¥4992016-05-03支付宝转账未限制 LUG服务器维护专款
孙永录¥502016-05-09支付宝转账未限制科大校友

使用:

经办人支出结算日期款项
崔灏、高一凡¥226.102016-01-03科大博客国外接入点服务器续费

2014~2015学年

本学年会长是张荣葳同学,财务负责人是朱晟菁同学。

捐赠:

捐赠者捐赠款额捐赠日期捐赠方式款项备注
周有松¥1072015-02-10支付宝转账未限制 -
顾昊¥5,0002015-02-04支付宝转账未限制 -
赵希明¥1002015-03-11支付宝转账用于VPN维护 -
郑子涵¥88.882015-03-13支付宝转账未限制 -
崔灏¥1002015-03-31支付宝转账未限制 -
刘春山¥502015-05-29支付宝转账未限制 -
王鹏¥402015-06-01支付宝转账未限制 -
火火火¥5002015-06-10支付宝转账未限制 -
张炜¥1002015-06-11支付宝转账服务器维护 -
贴吧用户¥502015-07-18支付宝转账未限制 -
崔灏¥1,0002015-08-26支付宝转账未限制 -

使用:

经办人支出结算日期款项
崔灏、高一凡¥609.642015-07-04为东图集群添置SSD
崔灏、高一凡¥356.302015-07-04为东图集群添置交换机
崔灏¥420.842015-08-262015板衫亏空

2011年

捐赠者捐赠款额捐赠日期捐赠方式款项备注
会员¥142011-01-31现金活动经费黄若山、赵希明、张成
王鹏¥502011-01-31现金活动经费
马良¥2002011-01-05支付宝服务器维护
闫峰¥502011-01-04支付宝活动经费
华鲁¥502011-01-04支付宝活动经费
黄月新¥52011-01-03支付宝活动经费
王录恩¥103.112011-01-01支付宝服务器维护
张成¥502011-01-01支付宝活动经费
姜维¥102011-01-01支付宝活动经费
顾昊¥452011-01-01支付宝活动经费来自黄若山的图书基金捐赠
孟金钊¥102011-05-10支付宝服务器维护
冷罡华¥2002011-06-05支付宝活动经费
笨兔兔¥102011-06-06支付宝活动经费

合计捐款:¥797.11

月合计

月份活动经费服务器维护经费捐款总额
2011-06¥484¥313.11¥797.11
2010-01¥274¥303.11¥577.11

LUG负责人 - [LUG项目负责人] 更新 FTP 信息

$
0
0

LUG负责人

公共联系方式

主要负责人

代号职务姓名邮箱
CEO执行会长左格非zgf574564920 AT gmail.com
-会长崔天一1997cui AT gmail.com
CTO副会长曾键anonymousknight96 AT gmail.com
-副会长郑子涵zhengzihan1996 AT gmail.com
CFO财务金孜达tigreriessarordinary AT gmail.com
-团支书崔灏cuihao.leo AT gmail.com

LUG项目负责人

项目简介负责人
mirrors科大开源软件镜像cuihao, zsj, knight, yifan
PXE科大网络启动服务cuihao
图书馆查询机基于PXE网络启动cuihao, hosiet
USTC blog科大WordPress博客服务alkaid, yifan
LUG 主页(this wiki)hosiet
邮件列表 LUG邮件列表stephen,yifan
SNS人人,G+,etchosiet, Aenon Sun
FTPhttp://ftp.ustclug.org/ hosiet, yifan
VPN网络加速服务yifan, sqrt(-1)
freeshell VPS for USTCersalkaid, zsj, cuihao, yifan
gitlab类似GitHub的代码托管服务knight, yifan
DNSLUG权威DNS服务器roy
防污染DNSLUG自建的防污染DNS服务器yifan
BBShttps://bbs.ustclug.org/xgwang, yifan

历任负责人

2015-2016届

代号职务姓名邮箱
CEO会长崔灏cuihao.leo AT gmail.com
COO副会长张静宁changchongning AT gmail.com
CIO副会长杨博远073plan AT gmail.com
CPO副会长左格非zgf574564920 AT gmail.com
CTO技术高一凡yifan AT ustclug.org
CFO财务崔天一1997cui AT gmail.com
-宣传尤淼potatoym AT gmail.com
CNO外联张振兴-

2014-2015届

代号职务姓名邮箱
CEO会长张荣葳pudh4418 AT gmail.com
CTO副会长崔灏cuihao.leo AT gmail.com
副会长杨博远073plan AT gmail.com
COO运营李子天ztlizitian AT gmail.com
CPO资产张恒若hengruoz AT gmail.com
CNO外联杨国鑫aetheryang AT gmail.com
CFO财务朱晟菁zsj950618 AT gmail.com
CIO宣传尤淼potatoym AT gmail.com

2013-2014届

代号职务姓名邮箱
CEO会长张光宇zguangyu123 AT gmail.com
CTO技术张荣葳pudh4418 AT gmail.com
COO运营黄震宇zyfwong AT gmail.com
CPO资产沈达sadhen1992 AT gmail.com
CNO外联朱晟菁zsj950618 AT gmail.com
CFO财务童献universecopper AT gmail.com
CIO宣传孙金鹿s.sn.giraffe AT gmail.com

2012-2013届

职务姓名邮箱负责项目
会长李博杰bojieli AT gmail.com外联, 每周小聚, USTC Blog
副会长 (CTO)郭家华gjhdgm AT gmail.commirrors, PXE, FTP, 主页服务器
副会长 (COO)李喵喵ljsabc AT gmail.com海报, 大型活动, USTC Blog
财务 (CFO)童献universecopper AT gmail.com财务
资产 (CPO)沈达sadhen1992 AT gmail.comLUG书库, LUG wiki

2011-2012届

职务姓名
会长祝元宠
副会长 (CTO)顾昊
副会长张昊翀
副会长杜润东
财务 (CFO)高浩渊

2010-2011届

职务姓名
会长王鹏
副会长 (CTO)张成
副会长 (COO)赵希明
Viewing all 670 articles
Browse latest View live