浪费的本质:从资源损耗到财富遮蔽

今天谈谈一个有趣的话题,“浪费”。我们尝试理解一下浪费的本质。

浪费的定义存在于各个阶层,而且与奢靡并不相同,我们大概定义一下“浪费”和”奢靡“的不同之处。从底层看待上层的话,“奢靡”的意义在于这种消耗的成本过于高昂,但是可以理解且有一定的意义,仅仅是”我得不到的东西“而已,而“浪费”的意义在于,这种消耗其没有产生任何有意义的价值,甚至“象征的意义”都没有,这种消耗,摧毁了”我本来可能得到而且我想要得到的东西”。当然,无论奢靡还是浪费,都是从自身所在的阶层,将认知套用在上层上的,譬如“皇帝用金扁担,皇后用金饭碗“。这种区分不仅仅受到阶层的影响,也是个人的主观判断,每个人可能有各自的判断,有些人认为是奢靡的,另外一些人则认为那是浪费,有的人则认为是正常的消耗。

记在M公司组织CTF夺旗赛的经历

我在M公司工作了接近三年,跳槽前接到的的最后一项工作,是作为公司的黑客马拉松组委会一员,组织当年的黑马活动:CTF夺旗赛,即Capture The Flag。做网络安全应该很熟悉这项赛事,而我在当时,仅仅是对这个赛事的名称和赛制略有了解而已,虽然当时已经确定了下一份工作是一家API安全公司。 参与这个工作的原因大致是因为我要离职,所以手上没有确定的长期工作,而过往的工作交道中可能给组委会的负责人K姐留下了点做事细致且能填得了新坑的印象,反正公司内也没什么研发懂这个事情,于是我就稀里糊涂了便成为了实际上的技术负责人,时间其实有点紧张,印象中是在我提出离职后,大概也就不到一个月的准备时间。 大部门的领导帮忙出面向其他部门邀题的同时,我就在思考题目的组织方式,不能太难,Pwn这种二进制漏洞作为非安全公司的黑马竞赛题目就完全不合适了,可能时间全部耗完都没人有任何思路,Reverse Engineering也不太合适,简单到可以归类于MISC难度的还凑活。最后的题目主干由Crypto和MISC,以及Web组成,重点用Web做区分度。 我当时的设想是,整个比赛要有话题性和热度,不能太难,让参赛队伍都卡住,也不能太简单,让参赛队伍最后按照解题速度来排名,最好有点普适的趣味度让不同背景的团队都有所得,也能有一定的安全实战场景,体现一定的专业性和教育性。 因为这是公司的第一届CTF比赛,所以并没有合适的人讨论或者过往的经验参考,专业的CTF比赛经验又不适用于我们,所以在网上选题的时候,我对于每道题都会在不看答案的情况下从头开始思考,一直到做出结果,然后再去看题目原有的解题思路,考虑和比较其中的不同之处,再考虑所有参赛队伍的能力情况,以此来预测最后的通过率和解题时间的上下限。基于这种"普通程序员“的视角,很多从其他部门邀来的题目,就被淘汰掉了,或者过于偏门,或者过于艰难,所以最后所有的题目都是我筛选或者选择后的定稿。 压轴题是一道PHP的Phar漏洞和目录遍历漏洞的Web题,在网上找到原题后,从头开始做了一遍再对照原题的解题思路,把细节处做了一些调整,使得题目与原题不全相同又更简单了一些。虽然略显“专业”,但是对于基础扎实和逻辑性强的队伍,即使没有任何相关背景,也能通过搜索关键词在网上找到提示,一步步做出解答。 最后再对所有题目检查一遍,确保解题思路在“普通程序员”的知识范围之内,虽然这个知识范围的跨度也已经很大了,但总归能在互联网上找到思路却又不能照抄。对题目调整难度,控制解答时间,其实是一个很主观的工作,我只能不断猜测,上千人公司的研发团队,参赛的三人队伍有几十支,大部分队伍是什么样的,最优秀的又应该是什么样的。 整理完题目后便是靶场和比赛环境的部署了,虽然有运维团队和公司的网安同事帮忙,然而细节上仍然要靠自己把关,即自己去故意破坏或者修改靶场环境,单是redis环境的安全性测试就把相关的文档和配置重新啃了一遍,有些配置甚至在正常的研发需求中很少遇见,这避免了竞赛中有人删改原有答案,撑爆内存以及故意关机等,从赛后的日志来看,这些尝试都出现不止一次,当然也都失败了。 除了靶场环境以外,作为输入答案和提供实时排名的CTFd也在nginx上做了防护和实时的请求统计,当时的预测就是难免会有过度上头的围观者基于恶作剧的心态来破坏秩序,果不其然开赛时ctfd就被海量的请求刷到卡顿,在公司大群内贴出警告和对应的IP统计信息后,这些异常请求就偃旗息鼓了。 之后就是顺利的一下午,不同团队的比分逐渐拉开差距,但又都有不同速度的进展,最后半小时有两只队伍平分,并且都卡在最后的PHP的漏洞题目上,比赛截止前大概不到十分钟左右,唯一的优胜者终于打通全关。戏剧感拉足,没有意外,系统没有被破坏,所有的题目都能够被解答出来,排名在前的队伍得分紧凑又有差距,几乎所有队伍都在各自不同擅长的题目上得了分。 大老板和其他领导给优胜者们颁了奖,一等奖的团队很兴奋,二三等奖也很开心。我也很开心,虽然领导们肯定不知道这后面有什么样的细节工作,但是一切尽在计划中的满足感才能产生最多的内啡肽。K姐虽然不是研发出身,不过依照对我的信任和她自己的敏锐度应该能猜出来我到底避开了多少坑,于是赛后还特意给我发了个纪念品。 我没有给我所在团队的同事漏题,他们也没拿到任何优胜,只是参赛纪念而已,但我想他们也丝毫不会想过埋怨我 ,毕竟对于正直的人而言,公正远比蝇头小利重要得多。 离开M公司已四年有余,老同事们也星散四方,写下这段记忆,算是对当初工作一点的自傲的追忆,也是对那些可敬可爱同事的回忆。

千字回顾从五十年代到互联网早期的程序设计语言

这篇文章是作为后续一篇讨论程序员细分工作的文章的前提,我们之所以先从程序语言的历史说起,是因为当我们将程序员分为各种岗位讨论时,这些岗位其实都起源于某个源头,并从中分化,如果我们想对现实进行一个较为深入的探讨,就不得不对历史有所回顾。

千字回顾从五十年代到互联网早期的程序设计语言

曾经有一个猎头问我,觉得哪个方向有前(钱)景,对于这个问题我颇是思考一阵子后,一开始觉得似乎要从广义的资源垄断权,以及广义的复利分配权入手,本文就是对这个问题的进一步资料和思考整理所得。我并不是经济或者历史专业出身,这篇文章也不是严谨的历史学文章,基本上使用网络资料,而不是印刷出版物作为直接参考来源。这篇文章也“尽量而难免“避免讨论公正与道德,只是一篇个人主观上对客观现实的观点而已,而且可以确定的是,跳过了极其多的重要概念和历史阶段,即使记录下的很多方面也会有疏漏和错误,也许想写好这样一篇文章,或许需要人类学,历史学,社会学,经济学等多个学科的知识有着足够积累,而本文只是一篇浮于表面极为狭隘的又难免错误的主观札记而已,对于本质的理解则远远不足。

当程序员写程序时在想什么和做什么

今天要从宏观角度讲一个程序员是如何写程序的故事,我们假设这个程序员是一个理想的程序员,并且是无所不能的,精力充沛的,因为这样可以减少涉及多人的合作和交流(即额外的成本),我们在本文中将避免讨论此类影响。当然,理想的程序员并不存在,世界上存在的是能力上有着极大差距的个体,很多项目也需要多个程序员或者细分的其他角色来合作开发。

日报及站会的管理实践和背后的心理学初探

日报周报以及站会,在公司尤其互联网公司中,似乎总会成为一个让人感觉五味陈杂的话题,本文就借助一点作者过往的实践,做一些初步的探索。

评估一个员工的产出犹如征税,越需要精确的评估,则评估成本和对员工产出的影响则越大,如同精确征税时对征税方和被征税方的成本支出的影响,或者说,这似乎也可称作某种“测不准原理”,技术的进步可以减轻这种成本的影响,但一定无法完全消除。

漫谈互联网行业的黑话

漫谈互联网行业的黑话

前言:

黑话一词由来甚久,常人最直观的印象,便是和帮派江湖有关,而这对于大部分普通人来说自然是在现实中难以接触的,所以通常是通过文艺创作的方式让大众了解,最耳熟能详的大概便是林海雪原中的“天王盖地虎,宝塔镇河妖”。又譬如在西游记中,孙悟空在求师于菩提祖师时,也说自己“不懂行帮的市语”,请祖师讲的浅显些。查询网上的材料,大致的说法是黑话起源于唐朝,然而终究难见系统的整理,大概因为和帮派相关,上不得台面,所以无法在正史中记载,而仅能在各种文学作品或者口耳相传中记录和进化下来,唐朝又是雕版印刷术和传奇类小说兴起的朝代,这可能是黑话较难见到早于唐代记录的重要原因。

人之三性

人之三性

人性和理性的讨论文字,已经很多了,或者再用一个相当模糊或者不准确的定义,把人性置换为感性,大概文字会更多。

我却以为,还应该加上“财性”为好,虽然这个概念是我杜撰的。这三者大概是一个三角的关系,虽然说三者的边界往往模糊不清。

说企业之利润的来源(二)

说企业之利润的来源(二)

考虑各种各样的假设中的极端情况:

如果用金钱来衡量财富的话,假设一个人带着价值一千万的黄金回到100年前,甚至40年前,按照他可能的物质生活状态,可能现在的我们并不能说他富有。