21 岁我想说的

在我很小的时候,在香港电视剧的影响下,我最初的理想是当一名警察。但是很不幸,当我向着全班描述这个理想的时候,班上的同学都哈哈大笑,甚至老师也对我说,你这样的身材,能打得过小偷么。

于是这个理想再也没有跟任何人提起。但是我很俗套地感谢那位老师,因为从那以后我决定改变我的理想,成为一名科学家。

之后我读过很多科普书籍,奇怪的是,这种给青少年看的科普书,大部分的内容都是有关化学的。以至于我有很长一段时间都在意淫我成为化学家的情景。

六年级转学后,我遇到一位朋友,他给我展示了他自己写的一个博客网站。当时我很吃惊,于是和他一起自学编程。我没有零花钱,只能用学杂费的一些找零买了一本 20 块钱的 中专教材《c语言程序设计》。

和老罗一样,从那时起我就有种被上帝选中的感觉,我觉得我这辈子就是搞这个的。我从意淫自己成为化学家,变成了意淫自己天天写代码。

在这个过程中,我遭受了很多不被人理解和看好的压力,甚至被嘲笑。念高中的时候,由于在一篇周记里表达了自己的理想主义,晚修就被班主任拖出去批判了一番。

直到这一年,经历了足足 8 年,我离开了学校,真正成为了一名软件工程师,曾经意淫的场景变成了现实,和『科学家』这个理想也算占了点边。理想主义万岁。

21 岁,我希望我可以继续写代码,离自己的终极目标更加接近。而那些曾经看不起我和嘲笑过我的人,我只想说,你们这帮孙子,我去你妈的。

via Randy's Blog
我学五笔的经历

最近总是看到社区有人讨论输入法,有朋友安利双拼,有人想 开始学五笔,看了一些回帖,作为一个打了 6,7 年五笔的年轻人,我很有感触,所以就写写我学五笔的经历,给大家借鉴借鉴。

我第一次接触五笔是五年级的电脑课,那时鼠标还是有滚球的。当时电脑老师知道我很喜欢电脑,就告诉我学校准备搞一个电脑打字比赛,希望我学五笔去参赛。我那时只会打全拼,压根没有想过学五笔,但是老师告诉我,如果参加,午睡的时间可以到机房练习。听到这个『福利』之后我立马答应参赛。

之后的一个星期的午睡时间我都去机房练打字,不过我的电脑老师并没有手把手教学,而是帮我装了个叫 "wt" 的软件,是个 DOS 程序,专门用来练五笔的。(我一直没搞懂它为什么叫做 wt,最近又搜了一下,这货中文名叫『明伦五笔』)电脑老师就让我按照这个软件的进度去练。然后又给我一张字根口诀表,什么『王旁青头戈五一』,让我背一下。

刚开始我练的是很认真的,看着一排字,对照着键码提示敲。老师也没管我,自己在讲台玩电脑。于是几天以后我也就没怎么练五笔了,开始玩金山打字通,玩打字游戏,打英文。

这就是我第一次接触五笔,没有背字根,只勉强记住了一些一级简码,能打出来的词语只有『中国人』(k l w)。这段时间最大的收获其实是学会了盲打,靠金山打字通掌握了正确的打字指法。

第二次接触是我姐买了一台步步高电子词典,这部词典相当牛逼,可以用数据线连到电脑,然后安装很多游戏,我经常上厕所的时候拿去玩。后来我姐就生气了,一怒之下把游戏全删了。当时我很失落,但是我还是得上厕所,还是得拿电子词典去玩。我把所有功能都按了一遍,发现没什么好玩的,唯一算得上具有人机交互功能的程序就只有一个练五笔程序。

我就开始玩这个,但是我几乎什么字都不会,我选了四级全码的练习。四级全码的意思是同一个字母打四次就会出现的字。程序是这样的:右上角出现一个字,我得输入四个字母然后按确认看对不对。我一开始什么都不会,只会一级简码。所以我就开始一直蒙,蒙到最后我就把所有全码几乎都记住了。我现在还记得我记住的第一个全码是『火』,四个 o。

第三次是六年级毕业后的暑假,那时我的上网时间是被限制的。那段时间几乎每天在我爸上班的地方,有一台没有联网的电脑,除了 Microsoft Office, 就只有金山打字通。那时拼音输入法没有现在智能,会五笔仍然是招聘的一个加分项,所以我爸妈都希望我们学五笔。我姐是打五笔的,打字非常快,虽然和我当时打拼音的『敲打速度』差不多,但是五笔重码率非常低,不需要像拼音那样,打出来,还得看看是哪个选项。加上那时我也闷得慌,就天天用金山打字通练五笔。

很多人说学五笔得背字根表,记口诀。我从小就讨厌背诵,所以一直没有去背那个鬼东西,导致我一直非常容易忘。后来我『牺牲』了自己一些有限的上网时间,搜了一下字根排布有没有什么规律。

然后我发现果然是有的,五笔字根在键位上的排布是有规律的。

五笔的规律

首先来看一下整个字根的分布图:

对于新手来说肯定是非常吓人的,这也是很少人学五笔的原因。但是其实它是有规律的。

第一是整体上的划分,整个布局总共只有五个区,分别是撇(QWERT)、点(YUIOP)、横(ASDFG)、竖(HJKL)和折勾(XCVBNM)。这也许就五笔叫做五笔的原因。只要记住这五个区的分布就十分容易定位某个字根所在的键位了。比如你忘了『蝗』字的『虫』字旁在哪个键位,但是你知道它肯定是在 HJKL 其中一个键上。

再来深入地看某一个区中的规律。例如『刘』立刀旁,他是竖的,它肯定在 HJKL 其中一个键位上,那到底是哪一个键呢?如果你仔细看一下,你会发现,H 是一条竖,J 是两条竖,K 是三条竖,L 是四条竖。立刀旁是两竖,那它就是在 J 上了。

当然,还有很多其它的字根并不遵循这些规律,到底是为什么,我也不知道,你得问王永民先生。打多几次,就能记住。

记着这两个规律,自己再读一遍字根图,摸索一下,再打个一星期,正常人来说,是肯定能学会的。但是熟练还是得靠多打。五笔是十分靠肌肉记忆的,打到熟练的时候,你已经不会再去这个字应该怎么拆的。比如我就不会去想『应该』这两个字怎么拆,但是我知道它肯定打 YIYY

五笔快还是拼音快?

现在社区上一般讨论的是五笔快还是拼音快。常年打拼音的人肯定会说现在的拼音输入法已经相当智能,不怎么需要去考虑重码。事实确实是这样的,以前智能 ABC 的时代,五笔是完全可以虐拼音的。但现在,起码在这个点上,五笔的优势已经不再明显了。也就是说,五笔最能体现出优势是在脱离词库的场景。这有点像 vim 和 sublime 的比较,离开了 GUI,vim 的优势就迅速体现出来了。

根据我多年的经验,实际上,拼音不是最快的,五笔也不是,最快的输入方式是拼音五笔混输。说实话,打了这么多年五笔,我仍然不清楚『尴尬』两个字怎么拆,当我打到这两个字的时候,我只要输入"ganga",就立刻打出来,这是最好的,非常舒服和自然。这一段文字,除了尴尬两个字,其它全是五笔打出来的,难拆的字一点也没影响到我的打字速度。所以,还是那句话,最快的输入方式是拼音和五笔混输。

那我现在学不学五笔好?

无论在什么情况,能学习的东西,学了肯定是好的,不管它是不是『有用』的。就像 Steve Jobs 说的,connecting the dot. 有没有必要学,花多少时间去学,那是你自己要考虑的事情,作为旁人,没有办法给意见。只能说的是,学了以后不会在短时间内给你带来什么,不学你也不会失去什么

人越长大,就越少机会做些能让自己感到开心的『无用』的事情了。

最后推荐个输入法?

关于输入法,我在 Mac 上用的是 QQ 五笔,基础词库很足,再加上流行语词库,就十分够用了。打五笔,词库只有嫌多,没有嫌少的。至于手机,我在手机是不打五笔的,因为没有手感。之前已经说了,打五笔到后期基本是靠肌肉记忆的,也就是说,离开了实体键盘,很难有同样流畅的手感。我在手机上比较奇葩,用的是笔划输入,是学我姐的。最近也在玩 Google 的划动输入,所以偶尔也打打拼音。

via Randy's Blog

Invalid media: image
写给即将学习编程的大学新生

写下这篇文章,是由于我想和即将进入大学有意学习编程的同学谈谈关于编程的事,因为你可能需要一些建议,来步入这个新的阶段。

编程是非常有趣的一件事情,学会编程就像成为魔术师,你可以创造任何你想创造的东西。在我出生到现在的这 20 年里,除了文学,没有比编程更吸引我的活动。就像 Zed Shaw 所说的,『编程作为一项智力活动,是唯一一种能让你创建交互式艺术的艺术形式。你可以创建项目让别人使用,而且你可以间接地和使用者沟通。没有其他的艺术形式能做到如此程度的交互性。电影领着观众走向一个方向,绘画是不会动的。而代码却是双向互动的。』

一些困惑

但是当你开始接触(我所在的)大学的计算机相关课程,你会发现,所谓的编程学习,无非是老师教一章内容,要求你用学到的语法去解一些数学题。于是很多人选择放弃,认为编程乏味无趣,用很长的课时学习,却只能写出简单的四则运算,或者解数学题。

然而这并非编程的全部,因为这恰恰能生动地表明编程语言只不过是一种工具,你可以用它来解数学题,也能做其它更有趣、更实用的程序。

在(我所在的)大学,计算机相关课程教 C/C++。有一次,一位大三的朋友问我说,『我学 C 学了一段时间,为什么我还是感觉很没用?』我是这样回答他的:

你学 C 学了一段时间感觉没有用处并非你个人的问题,我无法跟你解释为什么,不过我可以告诉你的是,Linus Torvalds 用 C 写了 Linux 和 Git; Antirez 用 C 写了数据库 Redis. 你可能连 Git 是什么都不知道,如何用 C 写出这种水平的程序呢?

所以,当你学习 C/C++ 基础后进入困惑期时,不要因为用它写不出实用的程序而止步不前,而应该开始接触其它的编程语言。当你所学和所做的东西越来越多的时候,你慢慢就会发现,编程语言只不过是一种工具,重要的在于你想做什么,用什么语言合适去做(华软的校内游戏直播网站 SISE Game 就是例子,网站的后端用 Ruby on Rails 写,但实时聊天是用 Node.js (JavaScript) ,因为相对于 Ruby, Node.js 更加适合处理 WebSocket)。 你之所以感觉 C/C++ 没用,是因为你暂时还没有足够的眼界和能力去使用他去进行创造

应该去学什么?我的建议是一门严谨的强类型语言(如 Java)和一门愉快的脚本语言(如 JavaScript, Ruby, Python)。当然了,如果你想学一些能立竿见影的技能,你也可以写写前端(HTML, CSS)。

So, How?

对于应该如何去学习,我不打算在这里论述,我只想列出一些有用的建议:

1. 无论你要学什么,你读的第一篇文章应该是《提问的智慧》
2. 用 Google 搜索技术相关的信息
3. 购买付费可靠的科学上网服务,不要吝啬一顿饭的钱。
4. 不要害怕英文,英文非常重要。

几乎所有最新的技术在刚出来的时候只有英文文档,优质的 Tutorial 大多数也是英文的。

1. 参与一些质量高的社区,关注一些值得关注的人。

这一点很重要。学校所教的内容是陈旧、过时的(虽然这也许不是学校的错),你必须和社区保持同步,不断接触和学习新的技术。AngularJS 发布至今都有 6 年了,但在我们学校仍然在教 ExtJS,很多学生甚至毕业出来找工作的时候,连 AngularJS 都没听说过。

国内的 V2EX 和国外的 Hackernews 都是不错的社区。

一些现状

你并不能指望大学的课程或者大学老师能给你带来什么,一切都应该靠你自己。无论在多优秀或者多差劲的学校,学校本身能影响你的是辅助性的,而不是决定性的。在我的学校,几乎都在打游戏和应付考试,据我所知,即使是重点大学,这样的学生也大有人在,我渐渐明白,『你今后人生的艰难,恰恰不是因为你没能考上一个满意的学校,而是在这所学校里,在一个能让自己自由充分成长的黄金四年里,把自己给荒废了』(采铜的回答)。

为未来铺路

如果你以后有意从事编程的相关工作,你应该要知道,在找工作时和其它竞争者拉开差距的,并非你从哪里毕业,在学校当什么干部,而是你有足够的能力,并且能清楚地让别人看到你的能力。

让别人看到你能力的方法是开源社区和博客,所以我建议你在学习的过程中,多为开源做贡献,甚至可以维护一个自己的开源项目。另外还可以把自己的所学记录和总结到独立博客中。一个好的 Github Account 和好的独立博客是一份最好的简历。也许你也只有在大学这自由的四年才能有时间做这两件事情。

最后

我在广州大学华软软件学院读书已经有一年了,这一年里我遇到过许多对现在对未来感到迷茫的朋友,他们对教育抱有希望,对知识怀有渴望。我曾经试图做一些事情去改变现状,但是效果都不大,该混日子的还是继续混日子,到毕业后才开始抱怨就业难。我呸,互联网行业都缺人缺到什么地步了你跟我说就业难?

不过,只要我还没被学校开除,我还是会尽我所能地为迷茫的朋友做一些事情。至于做些什么,我还没想好,我不知道应该怎么做,如果你有好的建议,欢迎联系我。

如果你看完这篇文章,还有问题可以联系我的 Email: [email protected],只要你读过《提问的智慧》,问的问题经过自己思考,我都会尽快地详细地回复。

『你会编程。他们不会。这真他妈的酷。』

via Randy's Blog
新 MacBook 的设置和软件

趁着国补,把手头用了 5 年的 MacBook Air M1 换成了 MacBook Pro 14 寸 M4. 顺便手动重新配置新电脑,在此记录一下每次设置新电脑时我会做的一些设置和必装的软件。

设置

把点按切换成轻点:

我不喜欢用触摸板点按拖动来移动窗口,觉得有点费力,所以我会调整为三指拖移。旧版本的 OS X 可以直接在系统设置中调整,新版本的 macOS 竟然把它归类到辅助功能里了:

把 Control 键和 Caps Lock 键互换。因为我需要频繁使用 Control 键,Caps Lock 的位置是最合适的,这也是 HHKB 的默认布局:

取消 Spotlight 的所有索引,因为我用 Raycast, Spotlight 的索引会浪费计算资源:

软件

Microsoft Edge: 用了很多年的主力浏览器
清歌五笔输入法: 最好用的五笔输入法
Raycast: 不必多说
Cursor: 目前主力 IDE, 也是 Cursor 长期的订阅用户
CleanShotX: 最好用的截图软件,除了截图还有很多好用的小功能(比如 OCR, 录屏)
1Password: 密码管理
Warp: 主力 Terminal Emulator, 已经离不开通过 AI 写复杂的命令
iStat Menus: 在 Menu bar 显示系统信息,我用来实时看到网络传输速度和内存使用情况

via Randy's Blog
中国企业的过度负债现象

刘元庆博士曾说过一句很朴实的话,“从银行债权人的角度看,债务轻的客户就是好客户,债务重了就不是好客户了”,道理虽然很简单,但现实往往更加复杂。 在现实中,我们发现国内企业往往都负债很高,或者说,患上了“债务依赖症”,为什么呢? 要说这个问题,首先要说到我国金融体系。 我国在改革开放之前经历了长期的计划经济,国家对于资源的分配和金融活动有着高度的控制和干预,银行规模发达,就形成了以银行为中心的间接融资体系。1978年改革开放之后,我国开放了市场,但此前金融体系已经稳定,银行在提......

READ MORE

via 太隐 (author: Ludwig Wang)
再选毛选:《论反对日本帝国主义的策略》

1935年12月17日,六届中央政治局于陕北安定县(现子长市)瓦窑堡举行扩大会议,会上严厉批评了党内关于中国民族资产阶级不可能和中国工人农民联合抗日的错误观点,决定了建立抗日民族统一战线的策略。毛泽东在会上指出了中国革命的长期性,并批判了过去党内长时间存在狭隘的关门主义和对于革命的急性病。同时,毛泽东还提出了要吸取陈独秀右倾机会主义的教训。所以,这也是后来对待蒋介石能保持清醒的原因,主要是统一了思想和认识。 这场会议直到1935年12月25日才结束,两天后,也就是12月27日......

READ MORE

via 太隐 (author: Ludwig Wang)
2024:浏览器从 A 到 Z

和大部分人使用浏览器书签或者导航类网站索引自己的常用网站不同,我强烈依赖基于浏览器地址栏自动补全来访问我常用的网站。那么,将 A-Z 逐一输入到 Google Chrome 的地址栏里,我的 Google Chrome 都会自动补全出哪些域名呢?

请前往 https://blog.skk.moe/post/2024-browser-from-a-to-z/ 阅读全文

via Sukka's Blog
Back to Top