岁数越来越大,感觉所了解的做人的道理却越来越少。
生活复杂吗?生活需要纠缠于种种变化,需要交织于变化之中的人们。
变化无穷无尽,烦恼亦无穷无尽。
确定性让我们对生活能够精确把握,而在变化中,如何寻找一种确定性?
那就是要遵循生存的法则,坚持做人的原则。
原则不是顽固与执着,原则是生长的基础,是生存的边界。
原则能让事物变得简单,能让自己和身边的人睡得踏实。
原则不与清高相矛盾,原则只是界定了虚伪。
原则让自己不费脑筋,也让别人少伤脑筋。
岁数越来越大,感觉所了解的做人的道理却越来越少。
生活复杂吗?生活需要纠缠于种种变化,需要交织于变化之中的人们。
变化无穷无尽,烦恼亦无穷无尽。
确定性让我们对生活能够精确把握,而在变化中,如何寻找一种确定性?
那就是要遵循生存的法则,坚持做人的原则。
原则不是顽固与执着,原则是生长的基础,是生存的边界。
原则能让事物变得简单,能让自己和身边的人睡得踏实。
原则不与清高相矛盾,原则只是界定了虚伪。
原则让自己不费脑筋,也让别人少伤脑筋。
又到了一年的末尾,自来南京以后,常常满怀仪式感地做某些事。像是每年一度的登栖霞山,以及每年一度的汤山,不定期去看长江,几年一度的登钟山。
今日又去了汤山。汤山位于南京的东郊,据说此地温泉极妙,蒋介石曾经在此整了个疗养院。如今的汤山,满满的商业气息。每至元旦,南方的天气湿冷,老中青成群结队来此中嬉戏。
此温泉我已经连续踏足过三届,每年都是和不同的人。去年是和大学舍友一起在元旦节当天去的。如今2018已经落幕,个人经验是元旦还是尽量不要去泡汤,元旦泡了汤的我的2018年,干什么黄什么。
这次去汤山,感觉人流量少了很多,上次去的时候,地下车库和地面上停了不少车,小杨生煎的队一直排到了门外,连吃口饭都困难。今天的小杨生煎,店铺里只坐了一半的人。与友笑道,莫非是消费真的降级了?连汤都不泡了吗。其实也有可能是,消费升级了,人们都去了更高大上的地方玩耍,只有我们这些LowB还继续流连这里,乐此不疲。
看到温泉的一处亭子上写着一副对联,下阕是“洗身容易洗心难”。我不太想说话。
年底了,总是有各种各样的新闻出来占据我们的视野。吴小波这两天又出来预测明年的经济。朋友圈各路人才对他褒贬不一,有的赞扬有的鄙视。而我觉得他书写的还算中肯,别的不了解,也不评论。
贸易战是要继续打下去的,本世纪异彩纷呈。昨天看了iPhone XR,居然连个3D touch都不带,老乔走了以后库克真是魅了良心。我作为无产阶级恐怕以后只能站在华为这一边。
明年,就是毕业第三个年头了!看看如今的自己,真的是不太满意啊。生命真的太无可奈何,太短暂了,我们甚至都没有足够的时间去好好感受它。以前总梦想自己在各个领域里牛逼,如今甚至觉得,能在一个领域里做出点成绩就已经很对得起这一辈子了。也许很多时候幸福来源于成就感,而成就在外界看来有大有小,有的人穷尽一生作出了一点客观上看起来很微小的成就,可是只要对于生命而言足够精彩,那就足够了。
就像是新闻里拾荒者攒钱赞助贫困大学生的例子,也许他用尽一生攒下的钱,还不如很多人买过的iPhone加起来的钱多,而他的一生,可能要比大多数拥有iPhone的人要精彩。那种用一辈子时间捡破烂,帮助很多人所获得的幸福和成就感,却是我们买iPhone所体会不到的。那种幸福感,可能就叫做信念吧。
今年,从年初就告诉自己,对自己要求少一点,本命年不宜大动,可还是跳了一次槽,搬了两次家。今年给自己的要求就是,花一年时间停一停,听一听自己内心的声音,搞清楚自己想要什么。搞清楚孰可为,孰不可为。就这样昏昏浑浑混了一年以后,其实多少算是想明白一些了。
跟有的人需要在一次很远的旅行中才想明白很多道理相比,我不同,我穷,所以不需要旅行就能想的很明白。
至于想明白什么,其实就是明白了舍弃,不能又想要熊掌,又想熊不想要你的手掌。
明白了人生短暂,光阴似箭,做自己想要做的事情,自己觉得对的事情,不要浪费时间。
要尽到做人、做儿子、做男人应尽的责任。
今日的汤山一行,沐浴过后,算是给过去的自己一个终结,给未来的自己一个新的开始。
悟已往之不谏,知来者之可追。实迷途其未远,觉今是而昨非。
以后,多读书,多写字,多做学问。做个独立思考的人,做个好人。
向着2019,出发!
从二十世纪六七十年代美国的”电话飞客“到现如今的各种攻击手段,黑客的发展已经历经了快六十个年头。这期间发展出了很多新颖的攻击技术,也因此催生了信息安全行业快速蓬勃的发展,更涌现了一批又一批的牛人。黑客的圈子从来不缺故事,只是这群让政府头疼,让网民害怕,却也让人又爱又恨的可爱家伙们,他们的思路太快太活跃。他们厌恶世俗,厌倦繁杂的事务,他们更害怕被曝光,怕找麻烦,我想这大概也是黑客圈很少有人著书立传的原因吧。
其实要说起黑客精神,古代的锁匠,乃至近代以后的图灵、香农等等,他们的身上,是最早出现”黑客“这一属性的。锁匠,他们对着一把没有钥匙的锁,去苦苦探索如何巧妙的解开之,直到最后想出百般奇技,用尽千种淫巧去破解锁的过程,就是一种”hack“的行为。也就不难想到,图灵、香农这类奠定密码学、信息论等基础理论的前人了。”hack“这个单词的本意,是有劈、砍、开垦之意,最早的黑客技术,可能其理论并不复杂,甚至是一种很原始的手法,但是却因为拓宽了视野,开辟了思路,为人们所津津乐道,以至于代代相传,前赴后继。
在普罗大众悉心关注,甚至信息安全问题上升到了我们国家战略的今天,黑客精神存在很多误读和沦陷,不过所有“精神”类型的意识形态似乎都免不了如此。近几十年来,信息技术给世界带来了太多的变化,也让人们对未来的生活产生更多的想象。IT技术的更新变化尤其快,每隔一段时间,就会有新的技术被提出和使用,世界上似乎从来不缺优秀的程序员。硬件、内核、驱动、应用程序、虚拟化、Web,每一层都在IT的世界肩负着重要的一环,都需要最高明的工匠持之以恒的去维护,去打磨,安全问题自然也层出不穷。因此黑客这行当,也演变出了各个方向,有硬件黑客或者极客,有挖掘内核漏洞的黑客,有应用层玩的很好的,有精通网络协议的,也有容易入门所以玩家最多的web黑客。种种技术,各个流派,谁能分出个高下?哪里又是真正的巅峰?内核黑客手握0day,千里之外夺人系统,web黑客坐拥亿万数据,分分钟查出你的名姓,找到你的隐私!技术的世界如此奇妙,那么多人在玩这个游戏,那么多工匠在发明和创造。这个变化的世界,甚至没有任何容你喘息的机会。这也是个危险的世界,身不由己的事情太多,高处亦不胜寒。所以最后看到,很多人选择了蛰伏,选择在技术的世界里遨游或是沉沦,在自己的角落里偏安一隅,也是幸事,不亦乐乎?
近些年不管是国内还是国外,各种各样的新技术被提出,被放大。商业的东西,这里不想讨论,但是有些东西扒开来看,大家心里都是明白的。和平年代,坐在格子间里办公的人们,不愁吃喝,却总不能闲着。其实这也不只是在安全行业,任何一个行业都是这样。社会要发展,经济要运转,该花的钱要花,该演的戏要演。也总得有人做实事,有人走过场。只是每每想到这些,我就更加佩服那些让人尊敬的前辈,那些引领技术的牛人。
倒过来看我写的文字,连我自己都会觉得有些中庸。没有批判,没有宣泄,没有叙事,也没有解读。只有轻描淡写的看法,流水帐一样的记录。我深知某些时候,某些事物,我们只有欣赏权,没有发言权。
最后想说,圈子还是那个圈子,人还是那些人,事情也仍是那些事情。黑客的圈子不大,却也算是个江湖。江湖有道义,黑客有精神。
Chorder
2016/09/25
不论是在生活还是在工作中,常常在需要完成某件事情的时候,出于完美主义的情结,会想方设法的让自己陷入一种无限羁绊的尴尬境地。这时,也许是时候对自己目前所做的工作去做更深层次的思考,进而对外在的形式有所取舍,才能达到内心想要达到的真正目的。
就拿编程这件事情来说,很久以前,我很爱做的一件事情就是重复造轮子。相信每一个程序员都会有过这样的经历,好比要实现一个功能,明明前人有现成的方案可以参考,却偏偏要自己从头再重构一遍。我分析总结了一下,出现这种情况的无非有四种原因:
0.完全不知道有现成的实现(这种不做讨论所以忽略)
1.想要更深入的学习和掌握自己所要实现的功能
2.觉得现有的实现不够牛逼,必须自己重构才能超越
3.代码风格上有洁癖,存在完美主义
对于前三种,都无可厚非,因为是带有明确的目的在重构,所以不在讨论范畴之中。这里只想谈谈这最后一种,无理由的强迫自己重复劳动。
在正式踏入社会开始工作以前,我所参加的软件类型的项目,大部分都是自己发起自己完成,或是绝大部分由自己主导,带领团队开发完成,在这个过程中,出于对项目本身的考虑,会事先给自己定下很多规则,比如用什么语言,用什么模式,算法如何构建,如何通信,如何重载,会考虑很多实现过程当中的细节,甚至细到每个函数的命名。现在想想,那个时候还真是too young。如果不是后来去了某运营商实习,我永远也不会理解在一个团队当中,一个git/svn以及一些bug和工单管理系统的重要性(主要是协同作用)。在软件工程已经逐渐趋于成熟的今天,每天都有无数的系统被设计和实现,每天都有无限的需求得到解决,每个成熟的程序员其实某种意义上来说本身就构成了软件工程这个庞大系统中的一个组件,系统所需要的,只是在关键的时刻将你调用,去fix or debug某个功能,或是去create or new某个新的对象,个体左右不了全局,类似曾经Linus那样,以一人之力实现一个操作系统原型的程序员,早已经不再有可能,原因多种多样,或是囿于水平不够,或是囿于早已无法完全掌控现代操作系统的全部架构。但是这里又涉及到一个群体智慧和个体智慧的问题,因为不在题意当中,暂且按下不表。
为什么要提到上面这些呢,其实是想劝慰自己,在对待技术的时候,需要有所取舍,就普通人而言,无论是谁,穷此一生恐怕也无法阅尽操作系统的所有源码,更别说还有众多凌驾于系统之上的应用层协议、分布式、数据存储等等各种所谓解决方案,因此我认为,一个聪明的程序员,他应该做的,就是让自己成熟,让自己成为一个高明的工匠,需求是什么,系统需要什么,就去提出最快速和稳定的方案,然后实现它。而不再是纠结于开发过程,以及过程当中的细节,因为这些过程和细节,早已有更聪明的人去设计和规划好,聪明的“码农”应该做的,就是利用这个框架和模式,去最大化和最妥当的实现当下手头的工作,不浪费自己的生命,亦不浪费他人的生命。想必这就是所谓“敏捷开发”的意义。此外,最需要保留的,还有快速的学习能力,作为技术工作者,需要随时保持着高效的学习能力,在接触一种新的技术之后,能够快速的将其掌握并赋予实践应用,粗略的估算,学习的速度起码要高于摩尔定律之于硬件更新换代的速度,才不之于在十年之内落伍。否则,你可以想象一下一个十年前从事asp和access模式开发的程序员,如果在这十年间没有学习,那他的技能在今天该是有多么的落后!当然你可以说,十年前的程序员,大多如今都已晋升管理层,或是早已在技术的发展当中获得了更多的红利,实现了财富自由,可是你是否想过,十年间信息技术的发展又带来了这个行业多大程度上的饱和?我们不应过于乐观的假想自己的未来,仿佛从一线程序员->技术主管->架构师->技术高管是理所当然,但是实际上,从普通程序员往上,每一层之间都有着很深的技术沟壑。如果身处一种对技术和代码本身的羁绊当中,后果无比的可怕。如果处于一种盲目的自信,那就更加危险。
所以说到取舍,就是我们应该舍弃对于技术外在的追求,而取对技术本源的探寻。正如金庸武侠小说当中所提武功的剑宗和气宗,剑宗十年一小成,气宗三十年一小成,虽各有各的好处,也各有各的弊端。但若想一辈子都能享受武学修炼的乐趣,那还是应当修行气宗。说白了,就是作为程序员,无论你是从事.Net,Java,C/C++,Python,Ruby,Perl,Javascript甚至HTML\CSS还是正在使用世界上最好的语言php,你要做的都不是把这门语言玩出花来,对于语言,要做到的仅仅是熟练和稳定,漂亮的把活干了,代码没有故障,留下足够多的注释和接口,方便后人阅读和使用,这就够了,我们主要的精力应该放在对内核,对硬件,对寄存器的理解,对计算机底层的摸索和探寻,乃至从世间万物中得到指引,从而参透大千世界所蕴含的无限哲理。基于这些理解,再去把握事物的本源,方可在以后的生活中天马行空,犹入幻境。而参透机理的程序员,便也能够天人合一,道法自然,所出之代码,自能仙风道骨,妙不可言。
当然,关于笔者自己,还是没有开悟到这一层,但是想来凡事都有着一万小时定律,只要投入了时间和精力,对所学之事抱有热情,相信假以时日,必能在追求计算机技术的道路上走的更高更远,同时在探索技术的道路中,内心也会更加充盈和富足。保持持之以恒的决心和科学的方法,一定能够在超越自我的过程中有所突破。
我们走走停停,却最终向着同一个地方…
又是盛夏毕业季,又逢六月高考天。
有很多人同我的此刻,也有很多人似我的彼时。
历经煎熬、体味成长,是悲也好,喜也罢。
我们生命之旅的某一站,它叫做沉沦。
它又唤做重生。
所以迷茫的你,如果不知所措,那就紧紧守住属于自己的角落,因为初心,总是好的。
如果焦虑惶恐,那就去跑,去跳,去喊,去挥洒汗水,去感受生命。
如果漫无目的,那就去看,去画,去听,去苦思冥想,去体味寂静。
时光不会倒退,逝去的难以追回。
平凡和伟大都是风景,一瞬和一生都是永恒。
未知不一定是深渊,眼前也不一定就是注定。
guest@universe: ~$whoami && whereis who && find / home
0x00 关于我
很宅很宅的一枚宅男。爱好一切。
0x02 关于chorder.net
2012年3月12
搭建第一处个人站点chorder.xp3.biz,使用免费域名+免费空间
2013年
购买域名chorder.org,基于wordpress发布第一个博客站点。
2014年
chorder.org域名到期,没有继续维护
同时参与团队博客建设,维护chorder.wpsec.org
2015年初
申请域名chorder.net
并启用搬瓦工VPS,使用静态页面,定期POST文章
2015年中
使用github.io维护静态博客页面
2015年末
使用redhat公有云至今,并决定长期维护本站点。
2016年3月11日
重新迁回搬瓦工,启用https,证书颁发机构为StartCom Ltd.(https://www.startssl.com/)
0x03 在技术方面的座右铭
Talking is cheap,show me your code.
0x04 联系方式
Email: ruby -r 'base64' -e 'puts Base64.decode64("Y2hvcmRlckBjaG9yZGVyLm5ldA==")'
Powerd By Chorder
Since 2012
Update your browser to view this website correctly. Update my browser now