Forwarded from LetITFly News (LetITFly 让技术飞)
华为曾经说过「我们为了避免用户刷机出现问题,将在60天后永久关闭解锁码申请服务」-> 「我就是死外边,从这里跳下去,也不会再开放 Bootloader 解锁」
不能预装 Google 服务导致对海外的销售有影响了,然后考虑允许 Mate 30 用户解锁 bootloader -> 「真香?」
but,频道主仍然基于个人原因不建议各位买华为的智能手机。
不能预装 Google 服务导致对海外的销售有影响了,然后考虑允许 Mate 30 用户解锁 bootloader -> 「真香?」
but,频道主仍然基于个人原因不建议各位买华为的智能手机。
《大学文凭是凭什么》
> 想喷我是学不进弱者的:『社会堕落,从贬低文科始』,另外我爱 CS,计算机科学,不是写烂文。
是的,又一篇关于『读书无用论』的文章。不过,这篇文章其实是关于个人方面的改进建议的 —— 而不是靠举些个例和指些无关痛痒的点来否认中国的教育体制,毕竟我不是营销号,表达自己的想法才是我写文的最终目的。
关于大学文凭,大家肯定都有这种看法:『大学生「素质」高』
那么这个素质是什么呢?一般认为是智商、文化水平、道德素养、学习能力、交流能力什么的,甚至不少人都能把「文凭」一栏(这还不谈毕业院校)直接对应到专业素质水平预估上面。
当然这无可厚非,实际上计算机科学的动态编译优化和 CPU 集成电路优化里也经常使用这种概率型的思路(Branch predict、Branch reordering);计算机科学的算法里也有概率型数据结构啊,比如 Bloom Filter,现在大火的 CV (计算机视觉,比如 CNN 卷积神经网络)不也是『不精确』『大概』算法的天下吗?
可是这类观点看得多了,我今天却要来说点不一样的。 『苟日新、日日新、新日新…』
假使给你两个人,竞争一个「位置」,一个是『硕士毕业』可是没有经验,一个是『大专』可是看起来有不错的工作履历,并且给人一种很用心准备的感觉,你觉得应该选择哪一位呢?
想想看,对于这个硕士,他个人以前都可以做那么复杂的题,什么单链双链、等式配平、函数平移,好像是能够和各科大佬谈笑风生…(当然因为是硕士,所以智商就更高了) 显然他要应聘的工作对这种强人是小菜一碟啦。
可是,放眼所见网络上的整个中国,我感觉『本科』甚至『硕士』们,可能有些人还欠点火候。
在十几年靠智商靠硬杠『只要学不死,就往死里学』的拼杀中脱颖而出,且不论他是靠资料、靠补习、靠天分,还是『往死学』得胜的,首先都能证明他们简直有军人的毅力和执行能力,至少对绝大部分人来说,如果不听话是学不好的。
如果不管学生听不听话、有没有执行上司命令的能力、对大环境的适应力,如何判断『学习』本身的价值呢?(下文:『学习』特指中国在校学习)
别人说学习好才是真的好、别人说『学好数理化,走遍天下都不怕』、『今天睡觉,你会做梦;今天奋斗,你会圆梦』。(下文:假设所有训练都不存在过度消耗身体健康的问题)
别人的行动是一套题一张卷子的刷、一条一条笔记的做、缠着老师问问题、早读晚自习往死里学(虽然我敢肯定里面有些人不觉得自己很累),别人的行动在『高考工厂』衡水中学、毛坦厂中学,真的是『工厂』化管理。
如此努力,当然是好事。若是这种奋斗的精神我都敢批判,那算是我犯痴呆病了。
可是你奋斗,是为了啥子。
我不知道,很多人也不知道,也是和我一样为了未来而准备而已,未来当然是未知的。
先别急着断定我是喷子
可是很多人甚至不知道自己学习是为了什么,『差生』和『优等生』一样受到这个问题的蒙蔽。
因为学历高,因为出自名校,所以加入社会劳动了,就肯定会不起吗?
所有社会上做过「了不起」事情的人,都必须是出自名校、必须是本科毕业?
什么叫了不起?比尔·盖茨了不起,可谁知道他大学时学是兼修 os(操作系统), db(数据库), ce(编译器工程)、曾在算法领域写创新化的论文、在大学期间完全靠自己实现了一个 Basic 解释器?他不只是个优秀的商人,更是一位通透的程序员。如果他没有在飞机上几小时内用卡纸打出『一遍过』程序的能力(while 国内不少『本科』程序员对更简单的程序别说一遍过,可能还得上 Google/StackOvf 搜答案,真是…),又如何能够认识那些必要的同道者、创立出微软这个这么依赖技术,并且靠技术称霸世界的公司?
可就是这么一个高智商的人,国际象棋偏偏被 9 步完败给了卡尔森。同样的,卡尔森虽然是国际象棋「棋王」,却不一定能够看懂当年计算机的存储设备『卡带』是做什么的,这就是『领域划分』。
什么叫了不起?大家知道盖茨了不起、知道阿里的创始人马云了不起、觉得百度(虽然经常陷于公关危机…)的创始人李彦宏了不起、觉得拼多多的创始人了不起、觉得『马化腾的』手游日进斗金,很了不起。
有谁知道他们背后的『核心技术』,来自于哪些人?谁知道背后的创意,是从哪里得来的? 有谁会关心背后那些默默付出,只愿被提个名字的开源贡献者和 GCC 的创始人 GNU。没有开放的『生态环境』、没有背后一份份 paper、一次次线上救命来填充技术上的鸿沟,商业化只是泡影。 你以为天猫淘宝靠着一台服务器就能够实现百万/千万并发?你以为人类面部识别能力是上天赐给计算机的?你以为『换脸』研究背后的人是按书上一步一步来的?你以为从 3D 场景到渲染结果就是『GPU 处理』完事?
有人说『要想人前风光,就得背后吃苦』。实际上做技术和工程的人就是『做应用的人前风光,肝难点的背后吃苦』,对于『基础』工程者和技术人员,有多少人是单单靠『用爱发电』写那些码农一辈子都写不出来的代码?为一个没有一分钱收益的东西连续编程十几个小时,为了什么? —— Just for fun. 当然靠『热爱』这个词太『轻』了。很多人更急着要『钱』,感受不到这个『爱』的厚重。
当然。甚至身边的那些同龄学霸们,都了不起。
中国的教育很了不起,因为她把所有领域的知识一股脑交给你,就算很累靠填鸭也得填进去。
记得曾经中美有研究团队互相出国交流研究,对对方未来发展做出预期,可以说是最好的总结了。两个团队给出了完全不一样的评价:中国说美国教育辣鸡(没有设文理科、不重视数学、不重视惩罚教育、不重视政治教育、评分只分等次、学生看起来像是低能儿)、美国人很赞叹中国对年轻人的教育方式(考试频率高、试题全、学生智商看起来很高),结果反倒是聪明的中国败给了万恶的太平洋警察,看来一定是美国人做了手脚!
我就要引用一个句子了 ——『真传十页纸、假传万卷书』。学习和分分必争的优胜劣汰给了你优越感与充实时间和知识的感觉,可为了和这种不一定有益的做法『唱反调』,我得举出一些情况来说明。
学得数理化、求解微积分、化得等式。高智商是好,可却容易『聪明反被聪明误』,也容易被表面现象遮住了思考。
中国式家长、学校眼里的『天才』、『状元』不在少数,在古代科举的时候也是一样,当然这状元什么的也往往『很成功』
可是想想历史人物里,那些为人称道者往往并非殿试上真正的『金榜题名』,比如狄仁杰
和他一个年代状元及第者,反而是「郑冠」这个生名字 —— 想必现在很多人都已经忘了他,从侧面来看,这位当时的双科科举第一名也没做出什么惊天动地的大事业。
这并非个例,中国历史上的状元基本都有数据整理,可其中又有几人算得上是『青史留名』?
上面这位老学霸的想法,就好像是一位训练有素、多次得奖的辩论手硬要和经验老农比种菜,自然大败。结果反而咒骂世道,「读书的不如种菜的」,接着骂农民势利拜金、思想不纯,完全没注意到自己已经和《围城》里方博士说话的水准差不多了。这背后实则是暗含『读书的一定比干什么的都「高端」』的神逻辑。
然后我就想,对于那些学有所成的人来说,他们发挥了他们所受教育的优势了吗?
道德上,博士高铁霸坐男、高铁套票男、本科抖脚男、鸡爪女,我敢说至少存在个例,证明了是本科以上不一定道德无问题,再想想某些贪官污吏、小苍蝇大老虎、逃到海外的,也是一样的结论。
道德上,就是小学生/高中生、农民工也比不少看客式成年『本科生』表现得积极,所以不能认为学历级别和道德水平成正比
技术上呢?理科生可能要认为这是自己的强项了。
可是看看我们的综合文化素质,好高哦。看看日本的综合解题能力,好辣鸡,考试都不能及格的。可是别人偏偏比我们多拿十倍以上的诺奖。
为什么?是因为我们的新一代还没有出师?我们给学生的压力不够大、学的东西还不够多?
尽信书,不如无书、学而不思,不如不学。
原来教育就是为了培养这么一群人,其知识是被模板化的,都是样样精通、语文洋文数学物理化学生物,无所不会、无所不学,这学问还真是大学。(『学』到是大学,原创的『问』有多少就真是不知道了。)
这么一群人基数蛮大,为什么能够做出世界上都有价值的事情的人却那么少?
为什么日本人那么蠢,获得诺贝尔奖的人那么多,科技前沿为什么都是日本人的名字?(扎心一点,为什么好像应该因为自己的智慧得胜的我们,却陷入了 996 + 复制 Copy To China 的漩涡?)
你学习是为了干什么?
『上中学,与高考无关的课,不学;到了大学,与就业无关的知识,不问;到了职场,与生计无关的事,不做。我觉得我们的教育正在培养一群精致的利己主义者。』
> 想喷我是学不进弱者的:『社会堕落,从贬低文科始』,另外我爱 CS,计算机科学,不是写烂文。
是的,又一篇关于『读书无用论』的文章。不过,这篇文章其实是关于个人方面的改进建议的 —— 而不是靠举些个例和指些无关痛痒的点来否认中国的教育体制,毕竟我不是营销号,表达自己的想法才是我写文的最终目的。
关于大学文凭,大家肯定都有这种看法:『大学生「素质」高』
那么这个素质是什么呢?一般认为是智商、文化水平、道德素养、学习能力、交流能力什么的,甚至不少人都能把「文凭」一栏(这还不谈毕业院校)直接对应到专业素质水平预估上面。
当然这无可厚非,实际上计算机科学的动态编译优化和 CPU 集成电路优化里也经常使用这种概率型的思路(Branch predict、Branch reordering);计算机科学的算法里也有概率型数据结构啊,比如 Bloom Filter,现在大火的 CV (计算机视觉,比如 CNN 卷积神经网络)不也是『不精确』『大概』算法的天下吗?
可是这类观点看得多了,我今天却要来说点不一样的。 『苟日新、日日新、新日新…』
假使给你两个人,竞争一个「位置」,一个是『硕士毕业』可是没有经验,一个是『大专』可是看起来有不错的工作履历,并且给人一种很用心准备的感觉,你觉得应该选择哪一位呢?
想想看,对于这个硕士,他个人以前都可以做那么复杂的题,什么单链双链、等式配平、函数平移,好像是能够和各科大佬谈笑风生…(当然因为是硕士,所以智商就更高了) 显然他要应聘的工作对这种强人是小菜一碟啦。
可是,放眼所见网络上的整个中国,我感觉『本科』甚至『硕士』们,可能有些人还欠点火候。
在十几年靠智商靠硬杠『只要学不死,就往死里学』的拼杀中脱颖而出,且不论他是靠资料、靠补习、靠天分,还是『往死学』得胜的,首先都能证明他们简直有军人的毅力和执行能力,至少对绝大部分人来说,如果不听话是学不好的。
如果不管学生听不听话、有没有执行上司命令的能力、对大环境的适应力,如何判断『学习』本身的价值呢?(下文:『学习』特指中国在校学习)
别人说学习好才是真的好、别人说『学好数理化,走遍天下都不怕』、『今天睡觉,你会做梦;今天奋斗,你会圆梦』。(下文:假设所有训练都不存在过度消耗身体健康的问题)
别人的行动是一套题一张卷子的刷、一条一条笔记的做、缠着老师问问题、早读晚自习往死里学(虽然我敢肯定里面有些人不觉得自己很累),别人的行动在『高考工厂』衡水中学、毛坦厂中学,真的是『工厂』化管理。
如此努力,当然是好事。若是这种奋斗的精神我都敢批判,那算是我犯痴呆病了。
可是你奋斗,是为了啥子。
我不知道,很多人也不知道,也是和我一样为了未来而准备而已,未来当然是未知的。
先别急着断定我是喷子
可是很多人甚至不知道自己学习是为了什么,『差生』和『优等生』一样受到这个问题的蒙蔽。
因为学历高,因为出自名校,所以加入社会劳动了,就肯定会不起吗?
所有社会上做过「了不起」事情的人,都必须是出自名校、必须是本科毕业?
什么叫了不起?比尔·盖茨了不起,可谁知道他大学时学是兼修 os(操作系统), db(数据库), ce(编译器工程)、曾在算法领域写创新化的论文、在大学期间完全靠自己实现了一个 Basic 解释器?他不只是个优秀的商人,更是一位通透的程序员。如果他没有在飞机上几小时内用卡纸打出『一遍过』程序的能力(while 国内不少『本科』程序员对更简单的程序别说一遍过,可能还得上 Google/StackOvf 搜答案,真是…),又如何能够认识那些必要的同道者、创立出微软这个这么依赖技术,并且靠技术称霸世界的公司?
可就是这么一个高智商的人,国际象棋偏偏被 9 步完败给了卡尔森。同样的,卡尔森虽然是国际象棋「棋王」,却不一定能够看懂当年计算机的存储设备『卡带』是做什么的,这就是『领域划分』。
什么叫了不起?大家知道盖茨了不起、知道阿里的创始人马云了不起、觉得百度(虽然经常陷于公关危机…)的创始人李彦宏了不起、觉得拼多多的创始人了不起、觉得『马化腾的』手游日进斗金,很了不起。
有谁知道他们背后的『核心技术』,来自于哪些人?谁知道背后的创意,是从哪里得来的? 有谁会关心背后那些默默付出,只愿被提个名字的开源贡献者和 GCC 的创始人 GNU。没有开放的『生态环境』、没有背后一份份 paper、一次次线上救命来填充技术上的鸿沟,商业化只是泡影。 你以为天猫淘宝靠着一台服务器就能够实现百万/千万并发?你以为人类面部识别能力是上天赐给计算机的?你以为『换脸』研究背后的人是按书上一步一步来的?你以为从 3D 场景到渲染结果就是『GPU 处理』完事?
有人说『要想人前风光,就得背后吃苦』。实际上做技术和工程的人就是『做应用的人前风光,肝难点的背后吃苦』,对于『基础』工程者和技术人员,有多少人是单单靠『用爱发电』写那些码农一辈子都写不出来的代码?为一个没有一分钱收益的东西连续编程十几个小时,为了什么? —— Just for fun. 当然靠『热爱』这个词太『轻』了。很多人更急着要『钱』,感受不到这个『爱』的厚重。
当然。甚至身边的那些同龄学霸们,都了不起。
中国的教育很了不起,因为她把所有领域的知识一股脑交给你,就算很累靠填鸭也得填进去。
记得曾经中美有研究团队互相出国交流研究,对对方未来发展做出预期,可以说是最好的总结了。两个团队给出了完全不一样的评价:中国说美国教育辣鸡(没有设文理科、不重视数学、不重视惩罚教育、不重视政治教育、评分只分等次、学生看起来像是低能儿)、美国人很赞叹中国对年轻人的教育方式(考试频率高、试题全、学生智商看起来很高),结果反倒是聪明的中国败给了万恶的太平洋警察,看来一定是美国人做了手脚!
我就要引用一个句子了 ——『真传十页纸、假传万卷书』。学习和分分必争的优胜劣汰给了你优越感与充实时间和知识的感觉,可为了和这种不一定有益的做法『唱反调』,我得举出一些情况来说明。
学得数理化、求解微积分、化得等式。高智商是好,可却容易『聪明反被聪明误』,也容易被表面现象遮住了思考。
中国式家长、学校眼里的『天才』、『状元』不在少数,在古代科举的时候也是一样,当然这状元什么的也往往『很成功』
可是想想历史人物里,那些为人称道者往往并非殿试上真正的『金榜题名』,比如狄仁杰
和他一个年代状元及第者,反而是「郑冠」这个生名字 —— 想必现在很多人都已经忘了他,从侧面来看,这位当时的双科科举第一名也没做出什么惊天动地的大事业。
这并非个例,中国历史上的状元基本都有数据整理,可其中又有几人算得上是『青史留名』?
“同学会是这个世界上最恶心的发明。”
前天晚上,一个大学学弟,在朋友圈发了这句话。然后他微信我,问我能聊聊吗。再不找个人聊聊他要气到爆炸了。上周他参加了高中同学会。他是班上的学习委员,理科学霸,人缘极好。这次同学会,他是抱着特别期待的心情去的,本以为可以和曾经关系很好的同学们好好缅怀一下热血的傻逼的青春,顺便打听一下有什么好的工作机会——他所在的杂志社快要倒闭了,想问问老同学有什么门路,没想到,大家听说他现在只是一个屌丝杂志社的屌丝编辑,象征性地跟他喝了杯酒,就转而去巴结当晚人气最高的同学了。
那个高中时代毫无存在感,成绩平平、长相平平,连槽点都没有的眼镜男。
因为,他29岁,已经是律师事务所的合伙人。
就连班上混得很不错的创业公司老板啊、总裁特助啊,都跟律师同学称兄道弟,咨询法律问题,讨论以后可能有的合作,活像当初他们有多熟似的。
学弟很愤慨:这个社会太他妈的功利了。以前这帮人,想借他的笔记,想抄他的卷子,一个个跟孙子似的。
如今在他面前全成了大爷。
以前连屁都不敢放一个的屌丝眼镜男,倒成了抢手货。
还能比这些人的功利嘴脸更恶心的吗。
上面这位老学霸的想法,就好像是一位训练有素、多次得奖的辩论手硬要和经验老农比种菜,自然大败。结果反而咒骂世道,「读书的不如种菜的」,接着骂农民势利拜金、思想不纯,完全没注意到自己已经和《围城》里方博士说话的水准差不多了。这背后实则是暗含『读书的一定比干什么的都「高端」』的神逻辑。
然后我就想,对于那些学有所成的人来说,他们发挥了他们所受教育的优势了吗?
道德上,博士高铁霸坐男、高铁套票男、本科抖脚男、鸡爪女,我敢说至少存在个例,证明了是本科以上不一定道德无问题,再想想某些贪官污吏、小苍蝇大老虎、逃到海外的,也是一样的结论。
道德上,就是小学生/高中生、农民工也比不少看客式成年『本科生』表现得积极,所以不能认为学历级别和道德水平成正比
技术上呢?理科生可能要认为这是自己的强项了。
可是看看我们的综合文化素质,好高哦。看看日本的综合解题能力,好辣鸡,考试都不能及格的。可是别人偏偏比我们多拿十倍以上的诺奖。
为什么?是因为我们的新一代还没有出师?我们给学生的压力不够大、学的东西还不够多?
尽信书,不如无书、学而不思,不如不学。
原来教育就是为了培养这么一群人,其知识是被模板化的,都是样样精通、语文洋文数学物理化学生物,无所不会、无所不学,这学问还真是大学。(『学』到是大学,原创的『问』有多少就真是不知道了。)
这么一群人基数蛮大,为什么能够做出世界上都有价值的事情的人却那么少?
为什么日本人那么蠢,获得诺贝尔奖的人那么多,科技前沿为什么都是日本人的名字?(扎心一点,为什么好像应该因为自己的智慧得胜的我们,却陷入了 996 + 复制 Copy To China 的漩涡?)
你学习是为了干什么?
『上中学,与高考无关的课,不学;到了大学,与就业无关的知识,不问;到了职场,与生计无关的事,不做。我觉得我们的教育正在培养一群精致的利己主义者。』
答案:你的分数、数学能力无法和你对工作的兴趣挂钩,也无法让你具有最基本的创造能力。 如果你想说他们很聪明,很多人不知道的就是这一点 —— 找到自己真正感兴趣的事情、继续学习下去、靠书本但不依赖书本、靠知识但不生套知识。
学死必须学死 —— 如果不学死,多花点离散的时间,用的时候也没有多大效果
用活必须用活 —— 如果不用活,迟早被计算机替代。只学到个套版还拒不悔改,学了等于没学。
聪明的人也有犯糊涂的时候、平时觉得是垃圾的人,换个地方也可能变成宝物。这个简单的道理,却被许多人屡次无视,也不知道是对自己太自信还是对自己太没自信,反正 —— 没好事。
一个对工作生活没有兴趣的人,是没有在工作上取得实质进步的希望的,也不会有心思去主动学习那些本该早就知道的知识的,更不会有创新的心思和能力。
如果因为自己是『学富五车』『汗牛充栋』就停止思考,想靠着 >90% 的全卷得分『换』深层次的职业素质和创新能力,更是不可能的。
如果因此而骄傲自满,你更是连浮士德都不如了,没有人生而知之,也没有人因为『我是天才』这种理由而停止学习,天才反而往往是永远不会停止学习的那种人,他们很能分清自己到底学了什么,不会把『学习』到的当成 TOE(Theory Of Everything),真正会学习的人,不会在更大的『元学习』上犯常识性的错误。
文凭是一个参考标准,可它偏偏是一个不怎么有关的参考标准,现在它最大的用途可能就是隔离开投机取巧、『四两拨千斤』之辈了,然而这又是一个悲哀。 —— 今天做雨伞赚钱,你学修伞、明天卖刀赚钱,你学造刀,可是计划赶不上变化,便出了『三天速成』『一周速成』,可是还嫌利润不够,便有了豆腐渣工程、少儿编程、女德班,质量下去了没人买就靠网红吹上天、靠优势位置垄断经营,当然有些人的利润比起房贷还真是不够用啊。
这年头经商赚钱,我们投资经商、后来当程序员工资高,速成、后来搞网络安全据说赚钱,疯狂找门道。人生巅峰的目标、娶妻买房的气概、本科+30天速成的情怀,让我们向成功的人生致敬!(顺带向失败、砸了招牌失了口碑的三百六十行默哀。)
前 20 年是个『无所不通』『无所不学』的学生,后半生却化成机械的齿轮,职业上沉溺于娱乐什么都不会了、什么进展都不会有了。学习和考试沦落成一个入职的标杆、生存的必需品,这对中国教育模式来说是最讽刺的事情,初衷那么美好、背后却满目疮痍。
你为什么要上学?上不上学当然不是个人可以决定的事情,但如果开始是考过了,后来却混过了,这才是人生最大的遗憾吧。
#China #school
学死必须学死 —— 如果不学死,多花点离散的时间,用的时候也没有多大效果
用活必须用活 —— 如果不用活,迟早被计算机替代。只学到个套版还拒不悔改,学了等于没学。
聪明的人也有犯糊涂的时候、平时觉得是垃圾的人,换个地方也可能变成宝物。这个简单的道理,却被许多人屡次无视,也不知道是对自己太自信还是对自己太没自信,反正 —— 没好事。
一个对工作生活没有兴趣的人,是没有在工作上取得实质进步的希望的,也不会有心思去主动学习那些本该早就知道的知识的,更不会有创新的心思和能力。
如果因为自己是『学富五车』『汗牛充栋』就停止思考,想靠着 >90% 的全卷得分『换』深层次的职业素质和创新能力,更是不可能的。
如果因此而骄傲自满,你更是连浮士德都不如了,没有人生而知之,也没有人因为『我是天才』这种理由而停止学习,天才反而往往是永远不会停止学习的那种人,他们很能分清自己到底学了什么,不会把『学习』到的当成 TOE(Theory Of Everything),真正会学习的人,不会在更大的『元学习』上犯常识性的错误。
文凭是一个参考标准,可它偏偏是一个不怎么有关的参考标准,现在它最大的用途可能就是隔离开投机取巧、『四两拨千斤』之辈了,然而这又是一个悲哀。 —— 今天做雨伞赚钱,你学修伞、明天卖刀赚钱,你学造刀,可是计划赶不上变化,便出了『三天速成』『一周速成』,可是还嫌利润不够,便有了豆腐渣工程、少儿编程、女德班,质量下去了没人买就靠网红吹上天、靠优势位置垄断经营,当然有些人的利润比起房贷还真是不够用啊。
这年头经商赚钱,我们投资经商、后来当程序员工资高,速成、后来搞网络安全据说赚钱,疯狂找门道。人生巅峰的目标、娶妻买房的气概、本科+30天速成的情怀,让我们向成功的人生致敬!(顺带向失败、砸了招牌失了口碑的三百六十行默哀。)
前 20 年是个『无所不通』『无所不学』的学生,后半生却化成机械的齿轮,职业上沉溺于娱乐什么都不会了、什么进展都不会有了。学习和考试沦落成一个入职的标杆、生存的必需品,这对中国教育模式来说是最讽刺的事情,初衷那么美好、背后却满目疮痍。
你为什么要上学?上不上学当然不是个人可以决定的事情,但如果开始是考过了,后来却混过了,这才是人生最大的遗憾吧。
#China #school
duangsuse Throws
《大学文凭是凭什么》 > 想喷我是学不进弱者的:『社会堕落,从贬低文科始』,另外我爱 CS,计算机科学,不是写烂文。 是的,又一篇关于『读书无用论』的文章。不过,这篇文章其实是关于个人方面的改进建议的 —— 而不是靠举些个例和指些无关痛痒的点来否认中国的教育体制,毕竟我不是营销号,表达自己的想法才是我写文的最终目的。 关于大学文凭,大家肯定都有这种看法:『大学生「素质」高』 那么这个素质是什么呢?一般认为是智商、文化水平、道德素养、学习能力、交流能力什么的,甚至不少人都能把「文凭」一栏(这还不谈毕业…
===== 评论区 =====
Rime RainSlide: https://telegra.ph 🌚
Rime RainSlide: https://telegra.ph 🌚
Telegraph
Telegra.ph is a minimalist publishing tool that allows you to create richly formatted posts and push them to the Web in just a click. Telegraph posts also get beautiful Instant View pages on Telegram.
duangsuse Throws
#life #China #Haha 🤔 最近看到脉动饮料新出的竹子味、仙人掌味… emmm
===== 评论区 =====
#school 本苏国庆放假,没啥计划,就是几个 lib 加上一个数据统计的,本苏写应用最辣鸡了(连 DOM 可调节大小位置的悬浮窗都要想半天,得出
应用上,我对状态机熟悉一点了,同时也稍微考虑了一下应用常做的动画应该是怎么样子用
当然这个函数也可以写得更像状态机一样。
一般应用的话,如果用 Kotlin 的 Coroutine + await/async 自然是最好的,因为非常直观,不需要老设置 callback,只是为了维护一个链条
我是这么想的,当然是空想,可是……
说起来,这个人的水平啊,我感觉还真的是越来越难用『代码行数』这种不讲理的东西决定了,反而是最厉害的大佬会去写最傻瓜式的代码,不是因为他们不知道,真的是因为他们已经经历过了、看透了。
傻瓜式的代码真的是一种奇妙的东西啊,只有突破思维定式才能写出简单又优雅的代码,和原来的那种机械重复感觉完全不是一个档次的东西。
i.width += (pos.x - i.x) / 2 都莫名兴奋)应用上,我对状态机熟悉一点了,同时也稍微考虑了一下应用常做的动画应该是怎么样子用
// 告诉你们什么叫真正的『形式化设计』这里有一点可以注意:每次状态转移不会粘滞,也就是
fun trimMarks(input: CharSequence, beg: Char = '<', end: Char = '>'): String {
val trimstr = StringBuilder()
var isInTag = false
for (char in input) {
// (0) => initial
// initial <- c = trimstr.append(c)
// initial <- beg => inTag
// inTag <- _ = {}
// inTag <- end => initial
if (!isInTag) {
if (char == beg) { isInTag = true }
else { trimstr.append(char) }
} else {
if (char == end) { isInTag = false }
else {}
}
}
return trimstr.toString()
}
initial <- beg => inTag 直接转移到了 inTag 状态,而不触发 initial <- c。我使用了一个 if (…) {} else {} 完成这个分支,保证了状态转移的 case 不会和其他 case 碰撞,当然也应该有更好的方法。当然这个函数也可以写得更像状态机一样。
object TrimMarks {
const val defaBeg = '<'
const val defaEnd = '>'
enum class State { INITIAL, IN_TAG }
fun process(input: CharSequence, beg: Char = defaBeg, end: Char = defaEnd): String {
val trimmed = StringBuilder()
var state = State.INITIAL
for (char in input) { when (state) {
State.INITIAL -> if (char == beg) { state = State.IN_TAG } else { trimmed.append(char) }
State.IN_TAG -> if (char == end) { state = State.INITIAL } else { }
}}
return trimmed.toString()
}
}
当然,这里 defa* 常量其实可以不写,因为这么抽提无必要一般应用的话,如果用 Kotlin 的 Coroutine + await/async 自然是最好的,因为非常直观,不需要老设置 callback,只是为了维护一个链条
我是这么想的,当然是空想,可是……
fun showInputAnimated(): Unit {
val line = CubicBezierLine(0.3, 0.2, 0.5)
val fadeout = ObjectPropertyAnimation(btnStart, "alpha", line, Pair(1, 0), 2000 /* aka. (2 as kotlin.Int).sec */)
fadeout.setOnAnimationEndListener { // boilerplates
val fadein = ObjectPropertyAnimation(btnStart, "alpha", line, Pair(0, 1), 1000)
fadein.animate()
}
fadeout.animate()
}
Kotlin 的 infix fun 和 tailrec fun 也比较有用啊,还有 inline val,data class : *…说起来,这个人的水平啊,我感觉还真的是越来越难用『代码行数』这种不讲理的东西决定了,反而是最厉害的大佬会去写最傻瓜式的代码,不是因为他们不知道,真的是因为他们已经经历过了、看透了。
傻瓜式的代码真的是一种奇妙的东西啊,只有突破思维定式才能写出简单又优雅的代码,和原来的那种机械重复感觉完全不是一个档次的东西。
duangsuse Throws
#school 本苏国庆放假,没啥计划,就是几个 lib 加上一个数据统计的,本苏写应用最辣鸡了(连 DOM 可调节大小位置的悬浮窗都要想半天,得出 i.width += (pos.x - i.x) / 2 都莫名兴奋) 应用上,我对状态机熟悉一点了,同时也稍微考虑了一下应用常做的动画应该是怎么样子用 // 告诉你们什么叫真正的『形式化设计』 fun trimMarks(input: CharSequence, beg: Char = '<', end: Char = '>'): String { …
我曾经写的『倒序』(那时候我连字节序到底是什么都不知道)
我记得就这程序我当时至少写了 5 分钟,当然现在我优化了自己对 bound 模型的理解力,所以会快很多(不过写错了,Kotlin 也骗我,我以为
当然我用 for 循环和 mod 取模也一样
// 别的程序员怎么写(大意)
我们看这个
它这个 0 代表
第一位是符号位,每次计算中取两次反就可以得到正确结果,但是为 0 表示正数
这么做是很秀(不过有点坑,
后来我看函数式程序员写的 atoi,才觉悟出
你看这个数组逆序的,后来如果从输出要符合的『性质』property 来看,有时候突然觉得莫名其妙视野开阔了许多,虽然实现起来还是只知那几种而已
但是在听老师发成绩的时候,我觉得有必要写个应用程序去做图表,比如用 Qt Charts(可以顺便熟悉下 C++)
可是毕竟我还是不熟悉 C++ 啊(这个应用程序名叫 DataMet)!我又想 (1) 再复习一下 Python 经典分析数据可视化了 Avg, Mid { Pie, Rect }, Scatter2D, Scatter1D (2) 我也可以用 JavaScript + DOM + echarts.js
最近设计点什么东西都莫名其妙想写 Parser 想设计新的 Expression Language 了,这次就是设计也想了一个、打算实现了一个(实现的那个就是迷你版 CondEL,用来从 Set<Tuple<*>> 里 filter 东西用来 plot 的,当然有些 plot 基于的 DataFrame 是 Tuple<Set<I>, Set...>)… 居然还要写 Type checker(而且要支持 currying 还比较头疼要用 vector,如果想支持 optional arguments 就会很 dirty 不可能,不过好处就是没有本地变量,直接用很重的 curried fun…),然后用 C++ 实现,虽然 GC 可以直接忽视掉因为
不过不管怎么样我都还得先写点教程、观点之类的东西…
今天晚上会先说点闲话,如果说完还有时间就出图表、写 TrieTree…
我记得就这程序我当时至少写了 5 分钟,当然现在我优化了自己对 bound 模型的理解力,所以会快很多(不过写错了,Kotlin 也骗我,我以为
a..b 是 (a, b] 区间的意思……Kotlin 变成全开区间了)def rev(hex); l = hex.length; "#{hex[0..l-(2*3 +1)]}#{hex[l-(2*3 +1)..l-(2*2 +1)]}#{hex[l-(2*2 +1)..l-(2*1 +1)]}#{hex[l-(2*1 +1)..l]}"; end
请问这 TMD 是哪门子代码啊?当时就是这样,规模小一点而已,我都不知道 16 位是啥子,只看 FFFF 这种东西,然后瞎 🐔 写… 类似这种代码,而且我用的还是常量(而不是 2*n+1)当然我用 for 循环和 mod 取模也一样
def revmod(hexstr)比如别人(也算是个好程序员)写的,可是还差了一点
reversed = []
for x, i in hexstr.each_char.with_index
reversed << x
if i % 2 !=0; resv = reversed[i-1] # replacement: (i+1)%2 ==0
reversed[i-1] = reversed[i]
reversed[i] = resv
end
end
return reversed.join
end
// 别的程序员怎么写(大意)
int reverseByteOrd(int i) { return ( i&(0xFF << 8*0) )<< 8*3 | ( i&(0xFF << 8*1) )<< 8*2 | ( i&(0xFF << 8*2) )<< 8*1 | ( i&(0xFF << 8*3) )<< 8*0; }
为什么 0x7F_FF_FF_FF 是 Integer.MAX_VALUE 呢?我们看这个
0x7F,就是 0b0111_FFFF,0b0 的第二个0(第一个是 0b 二进制前缀的『0』)它这个 0 代表
8(2**3), 之后的依次是 4(2**2), 2(2**1), 1(2**0),叠加上就可以了第一位是符号位,每次计算中取两次反就可以得到正确结果,但是为 0 表示正数
reverseByteOrd(0x00_00_00_7F) == 0x7F_00_00_00//true
这么做是很秀(不过有点坑,
& 的优先级没有 << 高,如果括号写漏就炸了),可是还有更好并且更快的方法后来我看函数式程序员写的 atoi,才觉悟出
i<<1<<1 = i<<2 的道理,而通过这种道理和 Kotlin 的 functional inline 我可以写出性能比一个一个去 bitwise & | 强百倍而且好看百倍的代码,最重要的是它可以做到 Java 7 程序员叹为观止的『极限』代码复用,真的是一行模板都没有typealias Cnt = Int然后可以
const val wbyte = 8
inline fun <T> rotatePrimOrd(
crossinline shl: T.(Cnt) -> T, crossinline or: T.(T) -> T, // construct T
crossinline shr: T.(Cnt) -> T, crossinline and: T.(T) -> T, // destruct T
bitselect: T, bytew: Cnt): (T) -> T = closure@{
var stack = it
var swapped = it // clone
for (_t in 1..bytew) {
val shifted = stack.and(bitselect)
stack = stack.shr(wbyte) // |00 [FF]<<00 FF|
swapped = swapped.shl(wbyte).or(shifted)
}
return@closure swapped
}
fun rotateInt32(i: Int) = rotatePrimOrd(Int::shl, Int::or, Int::shr, Int::and, 0xFF, 4)(i)
const val BYTE_1: Byte = (0x7F or -0x01)
rotateInt32(0x00_00_00_7F) == 0x7F_00_00_00 //true你看这个数组逆序的,后来如果从输出要符合的『性质』property 来看,有时候突然觉得莫名其妙视野开阔了许多,虽然实现起来还是只知那几种而已
forall i in (0, length xs]. xs[i] = xs[lastIdx - i]然后我们发现其实靠交换
where lastIdx = (length xs -1)
(0, length xs `div_ceil` 2] 就可以实现这个目标了:#include <bits/stdc++.h>Haskell 里我也还记得两种方法
using namespace std;
template <typename T>
void reverse(T *ptr, size_t len) {
size_t lastIdx = len -1;
size_t end = (len / 2) +1;
for (unsigned i = 0; i < end; ++i)
{ swap(ptr[i], ptr[lastIdx-i]); }
}
int main() {
char str[7]; const char strorig[] = "abcdefg";
memcpy(str, strorig, sizeof(strorig));
reverse(str, 7);
cout << str << endl;
}
reverse' xs = foldr (:) [] xs -- 刚才发现我误解了这个思路… 还想 foldl (:) [] 的,可是 foldl 需要 (b -> a -> b),等等好像的确是可以写,不过要 flip 一下reverse'' = foldl (++) []
reverse''' = foldl (flip (:)) []
rev'' (x : xs) = (rev'' xs) ++ x几个 lib(BinaryStreamIO, 后来我改叫 BinaryStream 了,再后来我起了个昵称叫 Doku(日语的『読』)、Duava(Data/Utilities Abstraction for Java)、CondEL) 嘛也比较 excited,(对自己)算是革新…
rev'' [] = []
rev''' = rev_rec''' []
where
rev_rec''' ac (x : xs) = rev_rec''' (x : ac) xs
rev_rec''' fin [] = fin
但是在听老师发成绩的时候,我觉得有必要写个应用程序去做图表,比如用 Qt Charts(可以顺便熟悉下 C++)
可是毕竟我还是不熟悉 C++ 啊(这个应用程序名叫 DataMet)!我又想 (1) 再复习一下 Python 经典分析数据可视化了 Avg, Mid { Pie, Rect }, Scatter2D, Scatter1D (2) 我也可以用 JavaScript + DOM + echarts.js
最近设计点什么东西都莫名其妙想写 Parser 想设计新的 Expression Language 了,这次就是设计也想了一个、打算实现了一个(实现的那个就是迷你版 CondEL,用来从 Set<Tuple<*>> 里 filter 东西用来 plot 的,当然有些 plot 基于的 DataFrame 是 Tuple<Set<I>, Set...>)… 居然还要写 Type checker(而且要支持 currying 还比较头疼要用 vector,如果想支持 optional arguments 就会很 dirty 不可能,不过好处就是没有本地变量,直接用很重的 curried fun…),然后用 C++ 实现,虽然 GC 可以直接忽视掉因为
shared_ptr Refcount 能够解决,晕不过不管怎么样我都还得先写点教程、观点之类的东西…
今天晚上会先说点闲话,如果说完还有时间就出图表、写 TrieTree…
Forwarded from null
[CloudHammer 国庆活动公告]
庆祝中华人民共和国成立 70 周年,CloudHammer 特推出全站 7 折优惠码:国庆70,7 天时间,全场 7 折,迎 70 华诞!
https://console.cloudhammer.site/user/shop
庆祝中华人民共和国成立 70 周年,CloudHammer 特推出全站 7 折优惠码:国庆70,7 天时间,全场 7 折,迎 70 华诞!
https://console.cloudhammer.site/user/shop
duangsuse Throws
🌚 求职之前,先看看你到底水准怎么样,到底有没有发展趋势 动不动就上知乎,没 B 数做水军啊
===== 评论区 =====