[{"content":"进步记录系统简介 在这篇文章里，我想要描述一个普适性的进步记录系统。该系统的意义是为了能够让我们在日常生活中，为自己建立一个目的与意义，我们将自己日常生活中的行为，任务化，目的是让我们日常生活中的所有决策与行为，都需要尽量满足我们的guideline来完成。\n系统基于的假设 在描述系统前，我需要阐述一些使用该系统的Assumption。\n该系统的目的是给我们生活中的决策做一些指导，应该尽可能的将自己想到的goal详细的表述清楚，这样，我们做重大决策的时候，才能带有这些context。 必须承认，这样一个自我约束的系统的约束能力是较弱的，对于不同的人，应该采取不同的限制措施，一个idea是我们必须使用人际交往的context来限制自己的行为。 life success的考虑维度是因人而异的，而达成goal的各维度的权重也是如此，评判标准可以自己斟酌。 不要去纠结能力价值维度之间是否有交际，我更愿意把它看作是一种attentions，就是衡量价值的时候一些比较重要的维度，这个词语本身就是可以不断迭代的，我们的理解总是不贴切的。 不需要去ask why 为什么我们需要follow这些rules，它就是我们理解世界的一个手段，每个人都可以有自己的想法。 Without further ado, 让我们来看看这些系统如何constrain我们的日常生活中的行动吧！\n能力衡量体系 我把能力的价值分成三个维度去衡量。\n知识积累：在这个领域的专业知识，包括但不限于对该领域的理解，一些解决方案，等上层的积累。 财产（ownership）：本身可能已经有一定的经济价值，或者可以直接转换成经济价值的有实体的物件。（e.g.: 对于软件开发能力来说，可能就是已经编写好的软件，一套可以通用的模板，通过软件开发，赚取的金钱等等）（良好经历的积累，一些案例） 人脉（contextual ability）：人脉的作用有点tricky，本身人脉就有将你本身contextualize在这个领域的作用，而contextualize又需要视乎是否符合你的goal来决定他的好坏作用。人脉在一定程度上可以帮助我们进行知识积累，以及财产积累。这本身也是一种财富的聚集效应。 这三个维度应该是可以互相转化的，也就是说，三者加起来就是你在这个“能力”耕耘之后所获得的价值。另外就是，这三个维度本身也持有可以相互促进的关系，如通过知识积累，你能够impress别人，说服别人持有和你相同的观点，那你就有更多的机会去发展这段关系，从而提升人脉。\n能力的定义 好，现在我们理解了衡量能力的三个维度，我们应该要对能力本身去下定义。但是能力本身实际是看不见，摸不着的，它可能是世界上存在的一个产业，如时尚、设计、足球等等。我的理解是，只要它能够满足上面的衡量标准，他就算是一个能力。也就是说，只要我们能够用知识积累，财产，人脉对其进行描述，我们就可以称它为一个可以发展的领域。\n以身体素质为例，知识积累就是如何提升身体素质的知识，训练方法，训练常识与经验，器械的使用方法等等等等。财产，可以理解为，我本身的身体素质水平已经是达到了什么程度，这就是一种“原始”积累。我为了提升该能力，购买了什么，我的预算又是多少。而人脉就还是以contextualize的能力为标准，我有一个小伙伴可以和我一起锻炼，或者是我请了一个健身教练来教我，或者是我有小伙伴来指导我，这些都是帮助我们focus在这个领域的一个办法。\n系统实施 好的，现在我们有了衡量标准，有了想要耕耘的领域，我们如何去提升在该能力的价值呢？我的理解是我们需要设立多个大目标和小目标。我们想要提升某个领域的能力，一定是因为某些原因，我们需要去衡量这个原因本身是否能作为一个大目标，很多时候三分钟热度的标准就是，我们没办法持续用这个大目标去convince自己这个能力的重要性，很多时候只是因为一时上头而有了想提升某种能力的冲动。这也是我观察到的一个特点，就是我们的意愿本身很多时候并不能支撑我们本身去坚持这些goal。普通人，往往需要的是contextualization，或者可以说成是一些可以一起做某件事情的人，也就是我们前面提到的第三个维度。\n因此，我们在设定目标时也需要想清楚自己想要提升这些能力的原因，想清楚之后，一个比较urgent的做法是，尽量先提升这个能力的人脉价值，或者本身，我们在想要做这件事之前已经有了比较高的人脉价值，后面我们才能尽量提升其他的两个维度价值。\n好的，现在我们有了想要做的事情，也有了很强的context， 我们就可以放更多的重心到知识积累以及财产积累上了，这时我们就需要用到我们的小目标了，我们在追逐一些事情的时候，我们需要如同打怪升级一样，看到即使的反馈，需要一套体系来记录我们的进步，这就是milestone的意义，我们应该在提升能力的同时给自己一个使用能力的机会，这就是一个checkpoint，我们使用当下的价值积累，去做相关的事情，（如身体素质锻炼之后，我们去参加体育比赛，我们设定一个goal，然后去执行训练计划，这也可以称之为面向milestone的进步计划，当然每个能力的提升方式都可以是不一样的）。这里想要强调的是，及时反馈的力量，好的反馈对于我们来说是一种reward，让我们对自己更有信心，这也是一种知识积累。\n产品反思 这原本是一个我想要在计算机上实现的一个系统，但是越想到后面，我越觉得这是一种价值观的强制输出，也就是说，里面对于人的行为做了太多限制，带有太多个人的主观色彩，更多的是一种我会怎么去理解这个世界的自白，并不具备普适意义。如果实在要给上面的系统打上一个标签的话，我想应该是时刻追求意义的实用主义。对于创业者而言，要想拥有更多的使用者， 就需要尽可能从具体的行动中抽象出可灵活地由不同人用于不同用途的软件（如notion，它并不局限于作为笔记软件，而是尽可能将线上文档的各种形式包含进去）。\n这里我不希望探讨各种所谓主义之间的优劣，这本身是一种我们看待世界的方式，在不同的context下，是我们本能的总结出的一套根据自身经历可以理解的应对世间万物的方式。自身的mindset是会不断的流动的，或者说，我们是因为自身的经历而塑造了我们的主义。人为可以选择去经历一些事件，然后去静观自己想法的变化。\nGold （当实用主义者所做的事情意义缺失时，就会变得难以忍受。）\n（任何的声音都应该被听见，every word count.）\n（对于计算机来说，存、算是永恒的主题）\n（尝试不停的做，而不是一直反思）\n（想要推荐一个基于llm的knowledge base的应用，InfraNodus）seems interesting\n","permalink":"/posts/system-to-success/","summary":"进步记录系统简介 在这篇文章里，我想要描述一个普适性的进步记录系统。该系统的意义是为了能够让我们在日常生活中，为自己建立一个目的与意义，我们将","title":"System to Success"},{"content":"In this post, we talk about the concurrency model introduced in CMU15-440 P0 Part A project. Reading and Learning the Recitation of Go Concurrency will help you gain comprehensive understanding of Go concurrency pattern.\nThe Go Currency Examples As you can see, Main routine is where the action get executed. Member functions like withdraw, deposit and checkBalance are all just a way to register action to the main routine. After registering the action, Main routine will select one of the action every time, does not care about the order (in random), But will eventually execute all the action.\ndrawback In this implementation, each action does not guarantee to be executed in order, which may lead to problem in other use case. For example the K-V store use case. we need to first Put:Key:value, then we will be able to Get:Key.\ncompare with traditional C implementation In C we rely on System mechanism such as semaphore, Mutex, Monitor, Conditional Variable, for Concurrency sychronization. But in Golang, we rely on channel and goroutine, which is managed by go runtime. But underlying the implementation of channel, it still leverage System mechanism.\nP0 Implementation Consideration This is a relatively easy Project, we get to use with channel and goroutine.\nIn keyValueServer we store the information of client connection to manage clients. We maintain a channel for registering command to the server. The Concurrency here is we have multiple Clients, each might send command to server in unpredictable timing. We should register the command to the server to keep the commands in order. ","permalink":"/posts/bank-model-concurrency/","summary":"In this post, we talk about the concurrency model introduced in CMU15-440 P0 Part A project. Reading and Learning the Recitation of Go Concurrency will help you gain comprehensive understanding of Go concurrency pattern.\nThe Go Currency Examples As you can see, Main routine is where the action get executed. Member functions like withdraw, deposit and checkBalance are all just a way to register action to the main routine. After registering the action, Main routine will select one of the action every time, does not care about the order (in random), But will eventually execute all the action.","title":"Bank Model Concurrency"},{"content":"终于，我下定决心想要写blog了！这算是自己想要用心经营的第一份事业。在这篇文章里，我想要谈谈自己对于blog的看法，为什么写blog，以及我会post什么内容。\n什么是Blog 信息消化工具 数字社会，信息交换的速度很快，人们的想法、意见、做的事情，都能飞快的在网络上传输。我们每天接收的信息的数量，远远超出了百年前人们的想象。是的，我们可以知道更多的内容了，但是能否沉淀下来，我相信又是另一回事。记得看过一个记忆的金字塔，我们通过被动的接收，最终的转化率（这里就是留存率）是非常低的。我们需要不断的主动讨论、实践、传授。我视Blog为一种传授、讨论的方式。 寻找共鸣的仙境 记得看过很多自己仰慕的人谈到为什么要写博客，他们都不约而同的谈到一点，让自己的博客去Impress别人。找到与自己有共鸣的人。人们通过阅读你的博客认识你，然后因为博客的内容而想要和你交谈。最终真正见面的时候，就好像认识多年的老朋友一样，马上就能找到话题开始聊天。这是我所仰慕，也期望实现的。\n为什么要写博客 语言表达能力 作为一个软件工程师，自己会花很多时间和机器打交道。有时候会发觉自己连说一句语句通顺的话也做不到。我很仰慕那些能够清晰的表达自己的想法与心情的人，不论是勇气还是表达能力。我也希望自己能够成为那样的人，小时候，我也幻想过，自己是在官场上为自己的利益据理力争的那一类人，说出让人信服的话，调动人们的情绪。记得brooklyn99里的Terry的名场面，就算是在做一件无关紧要的事情，也能得到别人的注意，这份器定神闲，是我追求的目标！ 文章组织能力 文档的撰写是很重要的能力，我一直坚信这一点，能够把自己的内心，通过文字的方式抒发出来，还能够让别人也能感受到，这才是文字的意义。记得前不久，自己不知怎地跑到了一个艺术工作室，里面有一些艺术家租了工位在里面做艺术品，其中有一位来自法国的姐姐在画画，就走进去和她聊了起来。她提到她画画的原因是想要把自己脑子里没有表达出来的情感表达出来。我们对于内心的情感只是有一种感觉，通过画画的方式，让自己的潜意识自己表达出来。我想这也是艺术创作的本来目的吧，本来就是自己的情绪的发泄的出口，那些“意义”不过是完成成品之后想法设法赋予的理由。\n写什么内容 作为一名在读的软件工程师，大部分内容将会是自己的课程学习笔记，还有时候，会写一些游记，记录下自己觉得珍贵的回忆。希望自己能够有勇气去看清楚这个社会，多和优秀的人交流，也不断拓展自己的实力。\n","permalink":"/posts/first-post/","summary":"终于，我下定决心想要写blog了！这算是自己想要用心经营的第一份事业。在这篇文章里，我想要谈谈自己对于blog的看法，为什么写blog，以及","title":"First Post"},{"content":"This article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.\nHeadings The following HTML \u0026lt;h1\u0026gt;—\u0026lt;h6\u0026gt; elements represent six levels of section headings. \u0026lt;h1\u0026gt; is the highest section level while \u0026lt;h6\u0026gt; is the lowest.\nH1 H2 H3 H4 H5 H6 Paragraph Xerum, quo qui aut unt expliquam qui dolut labo. Aque venitatiusda cum, voluptionse latur sitiae dolessi aut parist aut dollo enim qui voluptate ma dolestendit peritin re plis aut quas inctum laceat est volestemque commosa as cus endigna tectur, offic to cor sequas etum rerum idem sintibus eiur? Quianimin porecus evelectur, cum que nis nust voloribus ratem aut omnimi, sitatur? Quiatem. Nam, omnis sum am facea corem alique molestrunt et eos evelece arcillit ut aut eos eos nus, sin conecerem erum fuga. Ri oditatquam, ad quibus unda veliamenimin cusam et facea ipsamus es exerum sitate dolores editium rerore eost, temped molorro ratiae volorro te reribus dolorer sperchicium faceata tiustia prat.\nItatur? Quiatae cullecum rem ent aut odis in re eossequodi nonsequ idebis ne sapicia is sinveli squiatum, core et que aut hariosam ex eat.\nBlockquotes The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a footer or cite element, and optionally with in-line changes such as annotations and abbreviations.\nBlockquote without attribution Tiam, ad mint andaepu dandae nostion secatur sequo quae. Note that you can use Markdown syntax within a blockquote.\nBlockquote with attribution Don\u0026rsquo;t communicate by sharing memory, share memory by communicating.\n— Rob Pike1\nTables Tables aren\u0026rsquo;t part of the core Markdown spec, but Hugo supports them out-of-the-box.\nName Age Bob 27 Alice 23 Inline Markdown within tables Italics Bold Code italics bold code Code Blocks Inline Code This is Inline Code\nOnly pre Code block with backticks \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34; /\u0026gt; \u0026lt;title\u0026gt;Example HTML5 Document\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;Test\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Code block with backticks and language specified 1 2 3 4 5 6 7 8 9 10 11 \u0026lt;!DOCTYPE html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34; /\u0026gt; \u0026lt;title\u0026gt;Example HTML5 Document\u0026lt;/title\u0026gt; \u0026lt;meta name=\u0026#34;description\u0026#34; content=\u0026#34;Sample article showcasing basic Markdown syntax and formatting for HTML elements.\u0026#34;\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;Test\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Code block indented with four spaces \u0026lt;!doctype html\u0026gt; \u0026lt;html lang=\u0026quot;en\u0026quot;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026quot;utf-8\u0026quot;\u0026gt; \u0026lt;title\u0026gt;Example HTML5 Document\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;Test\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Code block with Hugo\u0026rsquo;s internal highlight shortcode \u0026lt;!doctype html\u0026gt; \u0026lt;html lang=\u0026#34;en\u0026#34;\u0026gt; \u0026lt;head\u0026gt; \u0026lt;meta charset=\u0026#34;utf-8\u0026#34;\u0026gt; \u0026lt;title\u0026gt;Example HTML5 Document\u0026lt;/title\u0026gt; \u0026lt;/head\u0026gt; \u0026lt;body\u0026gt; \u0026lt;p\u0026gt;Test\u0026lt;/p\u0026gt; \u0026lt;/body\u0026gt; \u0026lt;/html\u0026gt; Gist List Types Ordered List First item Second item Third item Unordered List List item Another item And another item Nested list Fruit Apple Orange Banana Dairy Milk Cheese Other Elements — abbr, sub, sup, kbd, mark GIF is a bitmap image format.\nH2O\nXn + Yn = Zn\nPress CTRL+ALT+Delete to end the session.\nMost salamanders are nocturnal, and hunt for insects, worms, and other small creatures.\nThe above quote is excerpted from Rob Pike\u0026rsquo;s talk during Gopherfest, November 18, 2015.\u0026#160;\u0026#x21a9;\u0026#xfe0e;\n","permalink":"/posts/markdown-syntax/","summary":"\u003cp\u003eThis article offers a sample of basic Markdown syntax that can be used in Hugo content files, also it shows whether basic HTML elements are decorated with CSS in a Hugo theme.\u003c/p\u003e","title":"Markdown Syntax Guide"},{"content":"Emoji can be enabled in a Hugo project in a number of ways.\nThe emojify function can be called directly in templates or Inline Shortcodes.\nTo enable emoji globally, set enableEmoji to true in your site\u0026rsquo;s configuration and then you can type emoji shorthand codes directly in content files; e.g.\nThe Emoji cheat sheet is a useful reference for emoji shorthand codes.\nN.B. The above steps enable Unicode Standard emoji characters and sequences in Hugo, however the rendering of these glyphs depends on the browser and the platform. To style the emoji you can either use a third party emoji font or a font stack; e.g.\n.emoji { font-family: Apple Color Emoji, Segoe UI Emoji, NotoColorEmoji, Segoe UI Symbol, Android Emoji, EmojiSymbols; } ","permalink":"/posts/emoji-support/","summary":"\u003cp\u003eEmoji can be enabled in a Hugo project in a number of ways.\u003c/p\u003e","title":"Emoji Support"}]