北京时间3月29日

现在是北京时间2023年3月29日晚上8点55分。 现在的压力堪比21年与前任分手的那个晚上,也是在北京,凌晨两点打的去机场,在候机室焦急地等待中午12点与她见面。 和现在非常相似,当时在候机厅等待的我,一边知道结果已经发生,但是却在没有被现实彻底打死之前还留存一丝希望。也就是她也许只是一时赌气,我最后一次回去会让她感动的,我们之间还有希望。 目前的状况也大抵如此,不过细想确实还是比分手轻松一点点。毕竟分手是已经确定分手了,而我现在失业也只是最糟糕的情况,至少明天还能去赚明天的工钱。只要我不明确说我一定要辞职,我的路就还没有完全锁死,但是异动是肯定异动了,这点上跟当初分手是一样的,已经说出来了。 目前的情况简单概括,因为我感觉目前所在的部门发展空间不大,并且有点约束了我的个人发展,加上有一个部门刚到提出了对活水同学不设置满一年要求,接受校招生。所以我就去活水面试了,然后通过了对面c-3,c-2领导以及对面hrbp的同意。接下来我和我的领导申请活水,但是我的领导说最迟5月31号放我走(这个时间点是目前的项目结束的时间点),在5月31号之前如果他能招到人也能放我走(这个条件我目前看来概率几乎为0)。 有一些大环境背景可能需要补充。目前我司如果社招需要走到最高级领导审批(说白了我们这种部门没社招名额),并且现在部门人数不能增加。还有一个很特殊的情况,我司规定最小部门人数为8人,目前我们部门算上我也就是8个人(我承认我活水之前低估了这个规定的影响)。也就是我走的话,那本部门可能会面临解体的风险,不过hrbp说这个不需要担心)。同时,一般公司活水要求员工入职满一年,像我这种入职只有7个月的确实是特殊情况,上级领导可以拒绝活水申请。 关键矛盾点在于,我想要异动过去的部门,他们的hc不一定能保留到五月底。(我承认,我活水的时候确实忘记考虑这一件事了,我并没有想到领导会卡我这么久,从我跟他交流那天算得两个半月才让我活水)。目前和对面沟通的结果是对面目前能接受到4月30号,4月15号是可以,4月30号已经是最迟了。 于是就有了这将近一个月的冲突窗口,如果对面真的在4月30号之后明确说没有hc了,那我就是活水失败了。首先本部门我肯定没有发展空间了,最多苟一苟,能苟到我工作满一年都了不起。甚至如果对面部门没有hc后,我们部门又招到人了,那我就得打包走了。 但目前情况非常复杂,完全没有一个很好的线路梳理,我只能想到哪里写到哪里。 我们部门能不能招到人? 因为现在不让从外部招聘,所以都是内部活水,有没有人愿意活水来我们这里非常难说。现在大环境不好,有工作就不错了,像我这样胆子大敢活水的可能没几个。加上我们部门业务本身就一般,所以我们部门能不能招到人就是未知数。 如果真能招到人,我的意向部门还没有hc了。那就是 坏结局1: 我只能主动离职或者被裁 如果意向部门没hc了,但是我们一直没找到人。加上现在缺人,而我至少掌握了组内相当一部分核心功能的开发。那就是 坏结局2: 我只能在组里苟一苟,苟到招到人被裁 如果我们能在4月30号前招到人,反正是在意向部门没hc之前招到人。那就是 好结局1: 组内不缺人,我异动成功 对面部门能不能招到比我更合适的? 其实对面部门应该也难社招,或者成本高,当然也有可能也有校招生想要异动,这其实是我一个盲区,我并不清楚目前我的竞争对手有谁?虽然对方hrbp在得知我的意思(我如实告诉他如果情况最糟糕我就得失业了)后,跟我说不用担心,他们一定全力帮助引进我。但是这也只是个口头承诺啊。 如果对面部门虽然很急,但是确实在5月31号之前他们也没法招到更合适的人。那就是 好结局2: 组内项目交付,我最后时间异动成功 如果对面能招到更合适的,甚至已经有了。那就是 坏结局1: 我只能主动离职或者被裁 能不能让我的现任领导把最后截止日期提前? 其实他担心的无非就是两个点,都已经沟通交流过了 担心我不能正常完成工作交接(这个完全在我的可控制范围) 后记 April 28, 2023 OK,现在是北京时间2023年4月28日晚上8点13分。刚刚嗦了一碗最爱吃的螺蛳粉,外面刚是雨后。而我就在今天下午,搬到了新部门的工位。也就是,我的异动成功啦! 上面的文章是一个月前我非常焦虑,非常紧张的时候写下的,那一周我已经开始对外投简历了,而且也开始再找留学中介咨询留学的事。因为一旦活水失败就失业了。但是呢,通过文字记录下我当时的情况并作分析,在分析到最后,也就是上半截文章中最后没开始写的2.,我突然想到了解决方案。因为我前任领导担心的是我无法完成工作交接,具体说是无法在规定时间完成工作交接。整个异动活动中所有人的问题都在时间上。时间是所有矛盾的核心。 我当时所在的部门要我留的时间长这样才能完成工作(这边有个小trick啊,虽然我能在一周完成工作,但是领导有一种我呆够一个月他才放心的认为我完成了工作这种想法,因为他实际上不掌握我们当时做的业务啊,这就不具体细说了) 我要去的部门希望我尽快去。 而时间就在这里面,最多两个月,怎么办? 不休假! 附上我当晚写的第二天和领导交流的草稿: xx哥,首先我为上一次沟通中有些鲁莽而道歉。但是这次沟通我想给一个更好的解决方案。 您对我异动的犹豫主要有两个方面,一个是担心我异动之后无法正常完成交接(因为我不在你的管理范围内),第二个是我异动后我们组内成员太少。 对于第二个问题我还在努力想办法,但是第一个问题我可以给一个尽我全力的目前看来最好的解决方案。 您最迟可以让我在5月31日异动,这时候xx项目可以完成。 首先,xx项目现在如果按理想情况还剩2个月,后面肯定会有一些突发问题需要解决,这是我理解的。 但是目前一定也已经有很多功能点确定需要开发,也就是到5月31日还有两个月的时间进行开发工作。 (从31号开始算)首先大前提,目前我一定还属于您管理。 到5月31号,一共42天工作日, 5月份有五一,四月份一共19个工作日,算上明天,一共20个工作日,而这20个工作日伴随着9个节假日。如果算上五月份五一的假期,那就是12个节假日,20个工作日。 而目前xx项目后续大部分功能都与我的开发有比较大的相关性,我个人可以完全控制大部分功能的开发。 所以,我可以一个月不休,将xx项目的开发工作提前,而使得5月份只要进行简单的维护工作。 并且,这整个4月份您是可控的,也就是不像我异动完了之后,您无法控制我的工作安排。 所以这个协商总结下来是,我个人用我个人的时间加速并高质量完成xx项目的开发,到4月底您验收,如果满足您的预期,那么您让我异动, 不满足,那么一切照常,您还是五月份让我走(或者对面没hc了我只能等着应届生失业) 而这个协商有两个基本出发点,第一我对我个人技术的高度自信, 因为xxxx,xxxxxxx,xxxx的功能都是我开发的,并且我有完整的开发测试流程,和精心设计的回归测试 同时,整个xx平台基于xxxx的通用查询服务也都是我完全独立设计与开发的,每一行代码都是我精心打磨的,现在升级到3.0版本,我是最熟知它也是最会使用它的人 加上我也是xxxx开源社区贡献者 整个项目的开发我是完全有自信,您可以相信我我对项目功能开发时间的评估 第二我对您的信任。 您可能还会担心,如果到5月份,用户又提出新需求了怎么办,那没有关系,这完全在您的管控中,我尽我全力完成xx项目的开发后您可以做评估,用户的改动如果我这边还需要做大量的工作并且您还是担心我无法完成交接,那我可以继续工作。 如果您同意了,那我可能还有一个小小的请求,那就是在需求设计的时候允许我旁听,我不会发表意见,但是我希望能更快速更高效地开发,因为在之前已经存在好多次我的架构设计其实可以满足需求但是因为一些信息不对等导致我们换了一些奇怪的做法。 所以之后我连续上了半个多月的班后,对面部门直接来要人,然后我这边就放了。其实这中间还有各种各样的原因和曲折,但是不方便公开说。 总结下来,这一次异动我得到的教训是: 自身实力是最最最重要的,有一身真本事啥都不怕。 没有到最后都不要放弃,如果当时我直接开摆了,对面部门也可能不会发现我的努力,原部门估计更懒得理我的异动。 终于知道管理层需要什么能力了,真不是所有人都有管理才能。 至于我异动这件事我会不会后悔或者后怕,毕竟这是一件风险很大的事情。...

April 28, 2023 · 1 min

ARIES论文研读(1)

论文名称:《ARIES: A Transaction Recovery Method Supporting Fine-Granularity Locking and Partial Rollbacks Using Write-Ahead Logging》 章节:Abstract ARIES的厉害之处 ARIES怎么做到的 ARIES:Algorithm for Recovery and Isolation Exploiting Semantics support partial rollbacks of transactions support fine-granularity(e.g. record) locking and recovery support fuzzy checkpoints, selective and deferred restart, fuzzy image copies, media recovery, and high concurrency lock modes 使用write-ahead logging(WAL) repeating history → redo all missing update before performing the rollbacks of the the loser transactions during restart after a system failure...

April 17, 2023 · 1 min

收纳原则

对我而言,收纳一直是个很痛苦的事情。如何把家中各种物品放在它应该在的位置,保持家中条理清晰,干干净净。 今天终于腾出时间,稍微整理了一下房间,因为保守起见,收纳箱只买了两个,导致其他物品没地方放了就暂时停止,等新购的三个收纳箱到了之后再继续收纳。 不过今天突然对收纳有了一点点开窍,没读过相关的书籍和攻略,全是个人体验,后续有时间可以了解了解这方面的内容,应该是有相关的领域的。毕竟收纳也是一种组织行为。 我自己的小心得: 物品放在哪里取决于它最常使用的位置 之前我总是陷入一个误区,东西放在哪里是看它是什么。比如杯子应该放在桌子上。但如果我的杯子是做为一个花盆,那它就该放在阳台上。而且,如果我有很多杯子,有的杯子我习惯在电脑桌上喝水,有的比较大我习惯在厨房用,那就应该分开来放。它在哪个地方用的最多,就应该放到那个地方去。这里也是一个生活小哲学了,不要拘泥于标签,标签一定是在行为出现之后做的一个划分而已。比如职业,我是一个程序员但我不只是程序员,也不可能只是程序员。我有这方面的技能,为了简单与他人做一个区分给我一个标签,但标签只是附加的一个分类,它与我的本质,我的过去与未来毫无关联。只是一种语言上的方便而已。 一件物品很久不用了就应该存储或者丢弃 我有一个手机支架,但是这个手机支架适合手机横着放,它的体积特别大,在我有限的书桌上一直很碍事,但我之前总觉得书桌上要放一个手机支架,所以我就一直把这个碍事的手机支架摆在书桌上,我使用它的频率几乎为0。因为我要是在书桌上看视频,我可以直接拿我的mac看。所以这一次我直接把它丢进收纳箱了,或许未来必须看手机时可以拿出来用一下。 备用物品在完成使命后就该丢弃 我买一些自己组装的家具或者物品时,卖家通常会多给一些零部件保证我能顺利安装。之前我总是会把这些零件囤起来,抱着万一坏了还能拿这些零部件修一下的念头。但是至今为止,我都没有一次拿存下来的零部件修过物品。这些零部件存在的目的是保证安装时能顺利,而维修和安装是两件事,维修需要维修工具,需要维修技巧。囤着安装的备用物品,整理他们的时间远高于它们被使用到的价值。甚至,如果不分类整理,就算物品坏了要维修,也不知道哪个零部件用得上。

April 16, 2023 · 1 min

关于密室的一点想法

自从大学时搞话剧社,被团委疯狂毙剧本后,我就一直抱着话剧已死的心态看待话剧。除了偶尔的兴起,尝新的体验,专业学习,我想不到普罗大众有什么理由去看话剧演出。电影,电视剧,短视频的兴起已经完全淹没了话剧曾经的辉煌。或者应该这样说,话剧这种表演艺术形式相对于电影与电视剧就是马车与汽车的区别。是的,老一派当然可以说话剧的欣赏自然有它的魅力,现场看肯定能看到与线上不同的效果,但我认为,这些所谓独特的体验,与坐马车是一样的。我坐马车也有独特的体验,可以慢慢悠悠欣赏沿途的风景,体验体验颠簸,但也只是体验而已,现实的交通还是得坐汽车。 去看一场话剧演出,如果位置不好看得还不如看电影。我花那么多钱去坐一个差位置岂不是遭罪。所以我觉得话剧这个东西就是没什么前途,演员赚不到饭钱还有谁会继续做,当个艺术搞搞还行,但是搞艺术就不要把赚不到钱的原因怪大众审美不行,自己落伍了别拉着人民群众垫背。 不过,最近在同事的带领下体验了几次高质量的真人NPC密室,其中有一场我觉得可以当演出来看(虽然我胆小没有完全细看)。在话剧这个行业,我当然了解的不是很深入了,一直说搞一种沉浸式演出,我不知道这是学院派提出来的,还是谁搞出来的,大概就是观众和表演的互动性很强。可是这不就是密室吗?颇有OSI和TCP/IP的范儿了,学院派和实践派。不过密室这东西应该是纯纯的民间艺术,我猜是从鬼屋进化而来,刚兴起那会品质还是一般的,不过现在的密室的精致以及NPC的表演能力,实在令我惊叹。我猜想,再发展几年,这个行业应该也会正规化了,到时候各大表演系的学生只不准就有很多直接投身于此,而且这也是个很好的职业。 畅想一下,当然这篇文章也是我随性而想,没有调研,接下来我畅想的事可能已经发生或者正在发生。如果有公司全力投入,正规化密室,或者后续起一个新概念,沉浸式体验馆(现在好像不少密室已经叫这个了),然后培养一批非常专业的演员,倒也是新时代话剧了。 April 16, 2023 后来又去看了一些关于密室从业者的采访以及文章,发现并没有那么轻松简单。一方面密室的剧本以及场景搭建大部分都是友专门的公司搭建的,这些公司估计不直接参与营业,而是负责机关设计,剧本设计(我觉得这才是赚钱的大头),大部门开办密室的,自己其实没有剧本生产能力以及密室搭建能力(包括机关设计)。一般一个密室要建起来,前期投资就得几十万,可能二三十万的样子。而搭建完毕后,第一有没有人玩儿,第二密室很多都是一次性的,用户玩儿好后就不玩儿了(现在很多密室的设计和剧本都是有多刷机制,但是再怎么多,也就那么几次)。

April 9, 2023 · 1 min

Mysql主从复制安装

阅读前了解一下mariadb与mysql的关系 centos7使用二进制包安装mysql sudo groupadd mysql sudo useradd -r -g mysql -s /bin/false mysql cd /usr/local sudo tar zxvf /path/to/mysql-VERSION-OS.tar.gz sudo ln -s full-path-to-mysql-VERSION-OS mysql # 如果要删除软链接使用unlink mysql cd mysql sudo chown mysql:mysql -R /usr/local/mysql sudo chmod 755 /usr/local/mysql/ 修改/etc/my.cnf配置 [mysqld] bind-address=0.0.0.0 port=3306 user=mysql basedir=/usr/local/mysql datadir=/usr/local/mysql/data socket=/tmp/mysql.sock log-error=/usr/local/mysql/data/mysql.err pid-file=/usr/local/mysql/data/mysql.pid #character config # character_set_server=utf8mb4 # symbolic-links=0 # #explicit_defaults_for_timestamp=true # # # Settings user and group are ignored when systemd is used. # If you need to run mysqld under a different user or group, # customize your systemd unit file for mariadb according to the # instructions in [http://fedoraproject....

March 21, 2023 · 2 min

ANTLR学习笔记(2)

书籍名称:The definitive ANTLR 4 Reference 章节:Chapter4 A quick tour ANTLR解析的模版 g4文件中这样定义可以在生成的java文件中创造出常量MUL 使用vistor手动遍历 使用Listener 还可以深度自定义 public static void main(String[] args) throws IOException { String inputFile = null; if (args.length > 0){ inputFile = args[0]; } InputStream is = System.in; if(inputFile!=null){ is = new FileInputStream(inputFile); } ANTLRInputStream input = new ANTLRInputStream(is); ExprLexer lexer = new ExprLexer(input); CommonTokenStream tokens = new CommonTokenStream(lexer); ExprParser parser = new ExprParser(tokens); ParseTree tree = parser.prog(); System.out.println(tree.toStringTree(parser)); } 词法解析和语法解析可以拆分成两个文件,使用idea插件生成只需要先生成词法再生成语法就可以。...

March 8, 2023 · 1 min

死亡在冬日

这是一篇旧稿,迁移到本博客 给活着的老人做棺材有一个专门的说法叫做做柴。柴字到底是怎么写我也不是很清楚,发音确实叫柴。做柴要请人吃饭,我母亲的好友的母亲做柴,请我去吃饭。我自从在外求学就没有见过这位老人家。先见面的是她的丈夫,背比我记忆中驼了很多,头发光泽也黯淡了不少,走路开始有点颤颤巍巍的了。后来也见到那位奶奶,看上去虽然显老,但也挺有精神。我的母亲告诉我,这位老人被查出来患了癌症。医生刚说这个消息的时候她家里人谁也不信,觉着老人家精神挺好的,说话做事也并无大碍。医生说现在看上去好好的,谁知道哪一天就头一仰倒下去。家里人要带老人家去大医院再去诊一诊,老人家摆摆手不愿去。我的母亲说我北边奶奶的柴也做了好几年了,就放在后面茅坑旁边的屋子里。 饭桌上自然聊邻里奇闻轶事,谈论的最多的是我东边的维来爷爷家的女婿喝酒开电动车摔死了。我小时候一直喜欢跑到维来爷爷家要喝他家的奶粉,但长大后很少去他家,因为他家有一只贼凶的狗,我一路过就冲着我旺旺大叫。加上以前维来爷爷家是养鸽子的,每次我一去,狗叫鸽子飞,好不热闹。但是维来爷爷的女婿我从没见过,直到那天去吃席,交份子钱的时候路过灵堂,看到尸体的脑袋缠上满满当当的绷带。我撇了一眼就走了,不敢仔细看。我的姑爷来我家吃饭时说他见了那个女婿的头,肿成了猪头,很难看。维来爷爷的孙女上高二了,我们吃席的时候有礼仪牵着她给大家磕头,每一个人都放下了碗筷端详着她,就像洞里一只只倒挂的蝙蝠。我的母亲说维来爷爷的女儿这几天一定会瘦很多,已经好几天没怎么吃饭了,邻里都去安慰她。姑爷说她反正已经够胖了,瘦一点也好。 我朋友的老太也去世了,应该算善终,活了八九十岁了,拉扯大了九个孩子。只是我去我朋友家时,他的奶奶把我认错成另一个人了。小的时候这位奶奶对我很是亲切,但现在少了几分亲近,因为她大抵是不认识现在的我了。 今年过年很是冷清,年前大家都讨论着维来该怎么过这个年。年后大家都在骂维来女婿在外面赌钱欠了二十多万。 我想着躺在灵堂的那个人,维来家什么时候没有鸽子了,我也记不得了。

March 3, 2023 · 1 min

ANTLR学习日志

阅读的是作者自己写的**The Definitive ANTLR 4 Reference** 使用方式: 要装有jdk cd /usr/local/lib # 找一个想安装的目录就行 curl -O https://www.antlr.org/download/antlr-4.0-complete.jar# 这里必须使用https的链接,https://github.com/antlr/antlr4/issues/2422 # 一个jar包就可以跑了,下面都是为了省事 export CLASSPATH=".:/usr/local/lib/antlr-4.0-complete.jar:$CLASSPATH" alias antlr4='java -jar /usr/local/lib/antlr-4.0-complete.jar' helloword grammar Hello; // Define a grammar called Hello r : 'hello' ID ; // match keyword hello followed by an identifier ID : [a-z]+ ; // match lower-case identifiers WS : [ \t\r\n]+ -> skip ; // skip spaces, tabs, newlines, \r (Windows) antlr4 Hello.g4 javac *....

February 28, 2023 · 2 min

HadoopMapReduce代码分析GrepExample(二)

run方法先进行命令行参数校验,没什么好看的。 接下来创建临时文件,用的是Path类,目前也没什么好看的。 接下来获取Configuration,用的实现的接口的getConf(),在之前ToolRunner中已经set了一个了,这个Configuration很简单,直接new出来的,loadDefaults为true。 (Context和conf是不一样的两个东西) conf目前看起来是简单的map存放各种配置,里面会有些对过期的key的检查与设置。 接下来创建了一个Job,job里面用了深拷贝将conf里的配置拷贝给自己,这样job中随便怎么修改conf也不会影响外部,深拷贝将conf变成了JobConf。 然后在Job中set需要执行的类,这次就是Grep.class,我觉得这一步非常关键,好好学一下。 进去之后就是先找jar包,好像确实就是找jar,最后返回的是file:这种通用文件定位格式的字符串。 后面的设置mapper,reducer,combiner class没什么复杂的,就是把对应的class保存起来。 重头戏应该是waitForCompletion,这个函数就是将job提交到cluster。 Job一共就只有两种状态,DEFINE,RUNNING,如果是DEFINE那就提交。粗看了一下,这里的wait是提交上去之后立即返回,然后不断轮询状态,要是轮询失败了就抛异常。看看submit()函数里具体做了什么。 好吧,submit这里就有点看不懂了,好像做了一些mock,得debug进去看一看

February 23, 2023 · 1 min

手机人生

来北京工作之后办了一张北京的中国移动卡,办完之后才发现是一张刚注销的卡。这张卡还绑定着原机主的银行卡,所以原机主的转账记录收入支出的信息都发给我了。从短信内容来看,原机主应该是个房东,因为这张卡绑定的银行卡的每月收入都来自自如的转账。而且中间有几次中介打电话问我要不要考虑卖掉哪儿哪儿哪儿的一套房。 每个月我收到工资后先划出一部分交房租的时候,我的手机倒是会弹出收租的信息,倒是同时体验了一把房东的快乐。 今天大概是他的子女来京?早上七点多给我打电话,听那边的声音说刚下飞机,说这个手机号是她的不知道为什么串号了。这个时间工作日坐飞机来北京,大概率是大学生?返校季。后来又有个男人打电话给我,可能是女子不清楚发生什么了,让胆大的来。不过好笑的是,每次对方都问我我是哪位?那我怎么自我介绍?难道还得把自己生世阐述一番?我也只好以问代答,“您是哪位”。中国的见面招呼已经从“吃饭了”变成了“你哪位?”,感觉有“how do you do”的无厘头之势。 我看场面太尴尬,就直接说明了这个手机号应该是原主人注销了,请麻烦通知原主人还有他的亲朋好友。男人用一口很地道的北京话对我道谢。 以后可能不能再体会一下房东的快乐了吧。

February 22, 2023 · 1 min