前一段看过几篇讨论“IT从业者应该怎样装逼”的文章。我窃以为那些文章中,技巧成分过重,而装逼这事应以修炼内功为主。这一修炼需要长期努力,至少应该从在研究生时期(甚至本科生时期)就修行不辍。本人装逼水平有限,但十分愿意分享一下入门经验;况且自己经验不够丰富,经常弄巧成拙,顺便自嘲一下。我将装逼经验总结为以下10条,欢迎拍砖:

1.操作系统一定不能用 Windows! Unix / Linux系的东西是首选。普通青年可选用 Ubuntu 、 Fedora 之类的 Linux 发行版,文艺青年可选用 Arch 或者 Gentoo,2B青年可用 FreeBSD 。苹果 OSX 是 Darwin 系的 Unix ,所以勉强可用,但是 Terminal 窗口要保持常开,以示“与富二代群体划清界限”。

2. 只有在迫不得已的时候,才进入图形界面,一边输入startx,还要一边做出不情愿的表情,然后开始哀叹或咒骂,内容以图形界面的缺点为主,比如 KDE 浪费资源, Gnome 脑残设计多, Xfce 充满 Bug , LXDE 巨难看等等。进入图形界面之后,要立刻开个 Terminal。

3. 无论是图形界面还是文本界面,显示语言必须是英文。删除所有中文字体,迫使中文无法显示,或显示为乱码。图形界面的背景不妨使用纯色以体现专业,拿开源项目的徽标或海报做背景也可以,但千万不能使用女神照片之类的——要体现牛叉,就要摆出“老子才不愁妹子”的姿态。

4. 在被迫使用图形界面的情况下,熟练使用各种快捷键,以减少鼠标操作次数。连续使用快捷键时,击键频率须达到每分钟50键(组合键按1键计算)。这样即可保证屏幕中各种内容以“闪动”形式呈现,为观众带来视觉冲击。如果思维卡壳,无法按照预定击键序列操作,也要强行使用切换窗口、切换工作空间之类的冗余操作,保持手指忙碌、屏幕闪动。

5. 选择软件时,以入门难度为第一标准。哪个软件最难学,就一定要用哪个。如果几个软件一样难学,那么哪个是开源的,就用哪个。如果都是开源的,那么哪个界面不直观,就用哪个。照这样选出的软件,一定会带来一些痛苦,但无论多疼,你一定要在使用时称赞其美好,并向他人推销。例如,能用LaTeX的话,就不用 OpenOffice / LibreOffice Writer (Word 明显不能用);能用 dot 就不用 dia ;能用 scilab 就不用 octave。

6. 选定软件之后进行安装时,类似 App Store 的东西一定不能用。如果软件提供了源代码,一定要通过编译源代码的方式进行安装,BSD之类的操作系统可以使用 port 。如果原来的软件是 gcc 编译通过的,那你就一定要换 icc 编译,并手动修改代码,解决兼容性问题。有麻烦要上,没有麻烦创造麻烦也要上。总之,对于同一款软件,怎样安装不方便,就一定要怎样安装。

7. 计算机专业学生,免不了要做程序、写代码。在这项活动中装逼是比较容易的:编程语言无关紧要,比如普通青年可用 C/C++, Java, Python 等等,文艺青年可用 Haskell,2B青年可用 Prolog。无论使用何种语言,一定不能用集成开发环境,编辑代码可用 emacs 或者vi / vim,移动光标的时候,一定不能使用方向键。

8. 如果需要描述某个技术过程,那么语言一定要自信张扬,潇洒飘逸。能用简称泽不用全称,能用术语就不用正常语言,能用英语就不用中文。

例(改编自真实对话):

师妹:假如我就是想用 MySQL community,为了避免类似 Fedora 那样其他很多软件包依赖 MariaDB Client 的情况,应该如何弄?

师兄:你问这问题在打包上非常好实现。MariaDB 和 MySQL Community 的 spec 里都添加一条 Provides: mysql,并保持两者 devel library 包名都为 libmysqld-devel,然后在所有要用 mysql 数据格式的其它软件包里都直接 BuildRequires: libmysqld-devel。接下来如果两者在一个 repo 里,编译可能会出现提示说有两个同样的软件包提供了相同的 so,你必须手选一个。而两者包名相同,你手选不了。OBS 是使用 %define prefered 来控制服务器的,MariaDB 是 1,Community 是 0,所以优先用 MariaDB 来编。Koji 如果想实现的话可以把 community 放在另一个 repo 比如 non-free 里面,做 DVD 的时候确保把两者都灌进去就行。至于用户就完全分辨不出来了,因为 zypper 的机制是优先使用已有 lib 和已有 lib 的 devel 包,除非版本号大或者你手装 community 的 client 才会被替换(一般不架设 LAMP 不需要 server 只要 client,基本都已经装好了你也注意不到)。而 yum 应该可以人为的把 release 号弄小一号实现优先安装 MariaDB 提供的 libmysqld-devel。另外 Provides 的作用就是说你可以 yum install mysql-client。会提示你选一还是选二,你连名字都不用记住。

9. 对于一个无须提供具体过程的问题,回答要简短明确,并用一句话给出一个尽可能超出对方知识范围之外的解释,以显示自己深不可测。

例(改编自真实对话):

师妹:是不是所有非递归算法都能写成递归形式呀?

师兄:是啊!否则图灵机和 lambda 演算就不等价了。

10. 尽可能将有关计算机的话题引向宇宙万物、人生哲学之类的话题上,以装出一种“返璞归真、草木皆机、万物大同、人机合一”的崇高境界。

例(改编自真实对话):

师妹:为啥对于许多问题,贪心算法无法寻得最优解呢?

师兄:这是宇宙万物繁衍之基本道理。每步皆取最优,看似强硬霸道,实则愚昧。所谓亢龙有悔,盈不可久也,或云坚强者死之徒。做人、行事也是如此,如果只是贪得眼前利益,总是强硬地采取当前最优解,长期来看,就未必是最好的做法,到头来甚至不免竹篮打水,前功尽弃。

师妹:既然这样,那贪心法岂不是没啥用处?

师兄:非也。一个巧妙的贪心法,即使不能取得全局最优,也能找到一个相当不错的解,而找到这个解所花费的计算时间,往往比那些能找到最优解的算法少得多。人生许多问题,在乎的不仅仅是收获,而是收获与付出的比值。把计算结果看作收获,把运算时间看作付出,这就不难看出贪心法的美妙了。用贪心法节省出的时间、精力和计算资源,完全可以用来做更有意义的事情。生活也是如此啊,在几件小事上殚精竭虑,找最好的路子,却枉费时日,劳民伤财,又如何能享受人生呢?

作者:郭策,转自他的人人网日志,2013年4月15日

学计算机做人需要有什么基础,计算机专业学生装逼入门相关推荐

  1. 学计算机做人需要有什么基础,计算机专业学生装逼入门(文/郭策)

    前一段看过几篇讨论"IT从业者应该怎样装逼"的文章.我窃以为那些文章中,技巧成分过重,而装逼这事应以修炼内功为主.这一修炼需要长期努力,至少应该从在研究生时期(甚至本科生时期)就修 ...

  2. 用计算机表示45,计算机应用基础信息专业技术习题(45页)-原创力文档

    计算机应用基础信息技术习题 -------------------------------- 作者: -------------------------------- 日期: 计算机应用基础信息技术习 ...

  3. 计算机cct 考试试题,基础计算机cct考试模拟题-20210331070830.docx-原创力文档

    内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) 内部编号:(YUUT-TBBY-MMUT-URRUY-UOOY-DBUYI-0128) 基础计算机cct考试模拟 ...

  4. 计算机导论mod,算法基础计算机导论.ppt

    算法基础计算机导论 计算机导论 黄国兴.陶树平.丁岳伟编著 计算机导论 --软件部分 巢爱棠 atchao@yeah.net 办公室:1208 软件部分 第2章 计算机的基础知识(2.4-2.6) 第 ...

  5. 跨专业考浙大计算机考研难度,0基础跨专业计算机考研经验-2013浙大

    我本科专业环境科学,迫于找工作的压力和对计算机专业的热爱,决定考研的时候想转专业考计算机.虽然过程比较坎坷,初试.面试和机试都不怎么圆满,不过总归被录取了.下面我谈谈我考研的一些经验吧. 考研分数:政 ...

  6. 应用软件是计算机运行操作的基础,计算机基础

    一.编程语言的作用 ​ 我们使用电脑的目的就是让计算机帮助我们实现一些功能,提高我们的工作效率.老板让员工干一件事情,需要下达指令,这个指令可以是口头表达.文件下发,总之需要一个交流的介质或者沟通的媒 ...

  7. 计算机及网络技术基础,计算机及网络技术基础.pdf

    电子发烧友 电子技术论坛 础 基 术 技 络 网 机 算 计 校 学 科 专 等 高 范 师 阳 郧 北 湖 洲 统 何 电子发烧友 电子技术论坛 1 电子发烧友 电子技术论坛 第一部分计算机网络基础 ...

  8. 数字信息化是计算机处理信息的基础,计算机基础

    计算机基本知识及Word,Excel等办公软件的基本操作 计算机基础 一.概述 当今世界已发展到信息时代,其标志是各种信息工具的大量使用.如电脑.手机.电话.打印机.数码相机等.随着社会的进步和生产力 ...

  9. 计算机二级msoffice应用基础,计算机二级MSOffice高级应用考试基础知识

    计算机二级MSOffice高级应用考试基础知识 计算机应用主要是科学计算.工程设计等数值应用,这一阶段使用第一代电子管计算机(数字机和模拟机),硬件体积庞大,运算速度慢,系统维护需要较高的技术,软件尚 ...

最新文章

  1. Interesting Array
  2. Python基础之格式化输出函数format()功能详解
  3. 什么是 ANSI C 和 GNU C
  4. oracle如何计算2个坐标的距离,百度地图两个坐标之间的距离计算
  5. 翻牌游戏如何打乱牌面java_剑仙登上虎牙封面C位,成为新的牌面,虎牙造星能力真的强...
  6. java二嗨租车项目_Java入门第二季6-1租车项目代码
  7. mysql删除emp表的语句_MySQL删除数据表(DORP TABLE语句)
  8. 数据结构 | 链表队列(基本操作及图示)
  9. linux机器光口和电口的区别,易天光通信SFP电口模块和10G SFP+电口模块介绍
  10. c#调用系统资源大集合(二)
  11. python 中文乱码_python 解决cv2绘制中文乱码问题
  12. django form 介绍
  13. 达梦DEM部署、agent配置与监控使用
  14. 对接亚马逊 SP-API(Amazon Selling Partner API) 第五章:Reports 模块
  15. 姿态估计1-04:FSA-Net(头部姿态估算)-白话给你讲论文-翻译无死角(2)
  16. 如何设置计算机桌面待办事项,怎么在Windows电脑桌面便签上显示未来要处理的待办事项?...
  17. 帆软连接好数据库,字段带有中文的显示乱码解决方案
  18. ping命令的几个简单使用
  19. 如何从零开始搭建高性能直播平台?
  20. 248Echarts - 3D 曲面(Parametric Surface Rose)

热门文章

  1. IAR一键更新项目文件树及include路径 IAR项目版本降级
  2. php购物车订单业务逻辑,购物车业务逻辑
  3. Listen1使用教程
  4. 以太坊之Windows DApp开发环境的搭建
  5. C++ 字符串、string、char *、char[]、const char*的转换和区别
  6. JAVA怎么批量更新mysql_java 批量添加、批量更新 操作数据库
  7. [BUUCTF]PWN17——[HarekazeCTF2019]baby_rop
  8. 用小白鼠鉴别有毒药水问题
  9. PyCharm敲代码光标变黑框
  10. 前端多级组织(部门)结构展示