ffmpeg + vs2017 编译(持续更新)

前言

2022的计划,就是开始做个小工具,拿来分析es流,主要通过解码器解码es流,来获取编码中一些过程,比如预测方向,slice qp等等。当然也包括最基本的parser,虽然这块会有很多bug(只要是字节流相关的代码都很容易出现解析和打包问题)

所以现在最先需要解决的是ffmpeg的编译,然后再找一个稳定简易的界面库来先基本完成264的码流解析和解码工作。

脚手架选择

windows terminal

msys2

vs 2017

安装

略过

编译

配置

windows terminal

msys2

这里需要说明的是,msys2现在支持ucrt和mingw64两种链接方式,区别在于前者使用系统自带的crt链接到编译出来的库中,后者使用msvs的。目前还是继续使用mingw64的版本

#先更新一下
pacman -Syu

#库管理工具
pacman -S pkgconf diffutils


pacman -S make

#sdl2必须品
pacman -S mingw-w64-x86_64-nasm mingw-w64-x86_64-gcc mingw-w64-x86_64-toolchain

vs 2017

其他

关于ffplay的编译

由于msys2自带的sdl2包和本地vs编译环境可能存在一些不兼容的情况,所以有两种办法。所以需要单独下载sdl2编译后,再创建ffplay的vs工程来做。

2022计划定一下

虽然我一直都是将自身技能分为软技能和硬技能,并且按照一定规则来进行计划,不过还是有必要重新考虑一下侧重点,这么几年下年,折腾来折腾去,东搞搞西弄弄,一直没有很好的执行一个系统性或者专业化的自身知识技能体系。但维度有一点很明确的是,自身工作方向一定要和自己的目标知识建设是存在较大关联或重合的,这方面做的还是不错,所以大部分时间都没有跑题跑的太偏了。

硬技能

  • 学历、院校、就职单位
    • 可遇不可求,有些事情已经定型了不行了。
  • 性格
    • 江山难改本性难移,只能说尽量保持克制和改善。不忘初心也很重要
  • 为人处世
    • 最讨厌乌烟瘴气、帮派和小圈子,除非有必要,小圈子是一个不错的选择,但是小圈子很容易会和前两者有很强的关联性。还是需要一定程度上的假装合群
    • 站队,不站队远比站队还严重。一直以来都不站队,或者抗拒站队,在一个比较强调控制的团队或组织里面,很容易被弄,最后过得也很惨,不过也从侧面反映了,这种团队和组织没必要长待,长久不了;事实却是证明了,不管多少年过去,这种组织或机构要么都死掉了,要么勉强维持着现状。
    • 有时候少一点有意而为,很多时候明知道这样做的结果会如何。但自己偏偏不信邪,并且带着好奇心的故意做一些事情,反过来观察大家的反应,尽管确实很有效果,也相对客观准确的能观察到信息,但实际上不太理想,容易变成掘地自焚。
  • 管理 & 洞察
    • 尽管不喜欢也不想做管理岗位,也不愿意去做。主要还是不愿意和人打交道,不想去搞那些麻烦的人和事,也不想承当责任。
    • 但事与愿违,年纪上去了,就该适当的考虑扩宽自身的路子。所以管理岗的一些同事,他们的行为风格是一个较好的学习习惯,和观察机会。透过他们可以间接学习一些成与败的经验。
    • 从小到大洞察能力是不需要做任何评价的,这一个点是先天有优势,但还需要注意一下,不能让自身主观兴趣过多的去主导洞察的目标和信息的获取。先收集信息,后整理和分类。然后适当的对洞察结果做出相应,稳优先,切莫太急躁,因为现在认为干扰信息也挺多的。

软技能

  • 知识深度
    • 这里需要明确,这里提到的知识深度不同于公司层面,因为公司层面更多是通过所谓的知识深度来淘汰人的一个借口罢了。
    • 这里更多是结合现阶段自身岗位情况,和未来目标可达岗位情况去指定的知识深度学习计划
      • 编解码
        • 目标:<了解>编码原理,能够通过码流的一些现象来判断大致的问题
        • 知识范围(粗略,待二次细化):
          • <了解> x264预处理过程
          • <了解> x264图像分割的过程(预测、宏块划分)
          • <了解> x264熵编码特点(非了解算法内部)
          • <选择了解> x264 码控等相关模块
        • check point(2-3年完成):
          • 产出工具或matlab脚本,演示预处理过程
          • 产出工具,可视化预测、宏块信息(先帧内,后帧间)
  • 知识广度
    • 这里需要明确,这里提到的知识深度不同于公司层面,因为公司层面更多是通过所谓的知识广度来淘汰人的一个借口罢了。
    • 这里更多是结合现阶段自身岗位情况,和未来目标可达岗位情况去指定的知识广度学习计划
      • 策略器
      • 目标:搞清楚现有的一些策略器,对媒体“流畅”和“质量”的影响有哪些,如何做到的。
      • 知识范围:
        • <了解> 采集 <-> 前处理 策略通路
        • <了解> 前处理 <-> 编码 策略通路
        • <了解> 编码 <-> 编码 策略通路
        • <了解> 编码 <-> 网络 策略通路
        • <了解> 总控 <-> 各子控 策略通路
      • check point(1-2年把大致流程搞清楚):
        • 产出详细图(正在做)

留意几类人

  • 没自知之明,自以为是;关系不便搞僵,不过距离要保持住
  • 自私的人,这些人靠利益维系
  • 小圈子,小帮派。凡是”小“这个东西就很成问题
  • 虚的人
  • 看似很好打交道,其实很难的人

永远不要把总盯着别人问题的人当回事

当事情失败的时候,或者出现纰漏的时候,没有任何一个双标狗是无辜的。也没有任何一个双标狗是在工作配合上能够给予别人正向的印象和积极的看法。

做事和人脉圈,能远离双标狗,就尽量远离。如果不能,那尽量投其所好,保持距离就好。

双标行为,其本质是一种认知障碍,对他人,对自身的认知障碍,无法正确的认识客观事物,或选择性认知。同样,双标行为本质还存在一定的心智不成熟或心智上的腐朽,例如不好意思面对自己,怕丢面子等。

但是呢,对于判断双标行为也缺乏强有力的定义和明确,很多时候还是靠我们自身的一个主观印象和私交来判断。实际上,这是一种人和人之间的价值观求交集行为,很多时候容易误判,经验主义和共识主义,也确实就是这么一回事。价值观的形成和被影响原因很复杂,来源于性格、先天环境、后天环境以及自我认知和自我管理。

一般先天环境缺少元素较多的情况,其实自我认知和自我管理成长一般是很容易受限的,比如说,一个家庭环境好的人和一个家庭环境不好的人,他们之间首要的差别就是经济(物质),其次就是见识(精神)。出身家庭困难一些的人,其实从小一直到走进社会的一段时间里,很容易考虑的是养活自己以及眼前的利益(可以看作是格局),出身家庭稍好的一些人,对经济的掌控能力相对会强一些,所以一般不太会有较大的经济安全感,但并不代表就一定能成为有钱人,说白了就是敢花钱。当然这在巨富和巨有势的出身人里,这个理论基本行不通,因为这样的家庭又会产生精神层面建设的失控。

所以呢,需要突破自己的一些固有限制情况,改变自己,这样才更好的去形成一个健全的价值观评价体系,即短暂的窗口期内的多种价值观的包容度。这样或许可以解决对他人评价的识别。

好了说回正题,扯远了。

为何不要把总盯着别人问题的人当回事?

  • 因为这种人要么想着推卸责任,要么就是根本没有意识到自己的问题。处理问题不是正视自己,而是能糊弄过去就糊弄过去,成长和提高速度太慢,和这种人打交道就是浪费生命。
  • 和这样的人纠缠问题太多,就会渐渐陷入事做不好,做不完的窘境。
  • 影响自身情绪,弄不好还会搞了个自我怀疑出来,得不偿失的事情,完全没有太多必要

适当的梳理好自己的情绪,撇清关系,做好自己想做和该做的事情即可。

成都一个有点违和感的城市

公司团建有几个地点可以选,除了成都是自由行以外,其他几个都是爬山活动。因为不想爬山,只想看看成都这个城市,拓宽一下自己的见识。

因为是自由行,公司预算完全充足,因此是住在天赋广场的万豪,算是高配水平。

飞机降落,下飞机后,第一个感觉就是熟悉和亲切,因为双流这个机场确实不大,而且很多地方让我第一就能联想到昆明的巫家坝机场,况且行走的路人中大多数都讲着熟悉的西南方言,而且大家的步伐适中,并不像是在赶路。顿时间感到和回家了一样,再加上机场打车到酒店对我们从杭州过去的人来说价格并不是太贵,所以好感度一下子就上来。

一路上和司机聊天的时候,感觉司机不紧不慢,说话语速很缓和,车子开的也不急不躁。沿途看到的基本都是高楼,绿化不是很多,又不少看上去很新的房子,也有不少看上去很陈旧的房子,新鲜感和亲切感瞬间油然而生。带着各种好感和加成的情况下办好了入住。

第二天私下和同事组队去了三星堆,通过网上报名三星堆一日游团提供的信息,我们来到集合点后,成都给我的那种好感在逐渐的发生一些微妙的变化:

  1. 土方车开车不文明,闯红灯,还带着油门过弯,差点压到人
  2. 城市管理看得出来有很多松懈和似乎投入不足的地方
  3. 人口稠密
  4. 城市绿化少(相比杭州来说)
  5. 路上的车子烧气的有一定比例(这侧面的展现了当地的一些经济情况)
  6. 车子以10万和20万附近的为主,尤其是10万左右的居多,基本是过日子的车
  7. BBA出现几率不算高,即便出现也都是40万以内。
  8. 车子跨度太大,但45-60万这个区间的车比较少(卡宴、xc90、a8都有,但常见的中间价位车子不算多)
  9. 人口素质有待提高,已经是一个人口稠密而且比较大的城市,城市整体发展都还不错,但吐口痰,和非川地区的人不讲普通话等现象很重。
  10. 小馆子很多,门面卫生不是很注意。
  11. 防疫绿码只认本地的,而且操作略微繁琐。
  12. 这次去景区导游给的感觉还可以,比较佛系,素质尚可。

整体能看得出来,整个城市的扩展和发展应该是短期内的,当地很多地方都没有更上变化,这既是机遇也是个问题。说是机遇,主要是因为还有一定的发展余地和空间;说是问题,那是因为有很多不确定因素,同时还存在很多问题。

所以总体来说,成都还是一个比较不错的地方,就目前来说还是很安逸的,但在居住环境上还是有待提高,首先是城市密度太大,老旧房屋太多,马路相较于车流来说较拥挤,所以还是存在很多违和的地方。

不过成都或许作为一个养老的候选地可能是有一定优势。

一些官方小工具集合

文件服务器(python)

python有个自带的http版的文件服务器,可以把整个磁盘上的目录都共享出来。

  • python2
python -m SimpleHTTPServer 
  • python3
python -m http.server

windows 符号表预下载办法

windows下调试代码,有符号表和没符号表在某些方面的开发,差别较大,尤其是和一些windows基础库或偏底层的相关性较大的部分。巨硬的符号表服务器访问比较慢,一般为了能够快速进入调试模式,都是提前下好符号表,下面是根据遍历本机所有exe、dll进行符号表匹配并下载的命令

symchk /r C:\Windows\System32\ /s srv*D:\sym*http://msdl.microsoft.com/download/symbols

这样做只能加快本机调试的速度,对于其他环境上的dmp解析,远程调试可能用处不大,主要取决于系统中各类库的版本是否和本机的一致。

【C++】virtual与override

作为一个写c++98写习惯的人,对于c++11开始新引入的一些修饰关键字已经有些模糊,尤其是override已出现,整个人就有点困惑,并且在平日写代码里面还是沿袭了c++98虚函数重载的写法,被同组的小鲜肉鄙视(其实他种种高傲又和自身水平不相称的行为,我是相当鄙视的!),问其原因又未告知。果断看c++11书先了解。

首先看看下面两种写法:

//写法一:
class A {
public:
  virtual void A() = 0;
};

class B : public A {
public:
  virtual void A() {}
};
//写法二:
class A {
public:
  virtual void A() = 0;
};

class B : public A {
public:
 void A() override {}
};

本质上上面两种写法并无太大差别,由于A这个类是纯虚类,子类只要存在有函数没有进行重载,编译阶段结汇出现报错,此时override在这里可有可无,区别不大。

但如果是下面两种写法,override就体现了作用

//写法一:
class A {
public:
  virtual void A() = 0;
  void A(const int a) {}
  virtual B() {}
};

class B : public A {
public:
  virtual void A() {}
  virtual B();
};
//写法二:
class A {
public:
  virtual void A() = 0;
  void A(const int a) {}
  virtual B() {}
};

class B : public A {
public:
 void A() override {}
 void A(const int a) override {}
 void B() override;
};
  1. 由于带参数的A函数是非虚函数,仅仅可以通过“覆盖”的方式进行,而使用override进行修饰,将会报错属性错误。这样可以用来检查类继承时候,成员函数属性错误的情况
  2. 由于加了override,在编译阶段,写法二会检查B函数在子类中是否已经被实现,如果没有实现会报错。而对于写法一来说,只有子类的B函数被使用到的时候,才会在链接期进行检查。这样可以提早发现代码漏实现的情况。

一些代码优化中的小技巧(表达式优化部分)

奇偶数判断优化

一般情况下判断奇偶数都是用

if (0 == a % 2)

但可以优化为:

if (0 == a & 1)

取偶与取奇

有时候需要对一些数进行取偶,那么代码可以优化为:

取偶:a += a&1
取奇:a += 1-(a&1)

【docker】容器中启动syslog

公司代码用了syslog,但由于一般公版的docker基础镜像里并没有syslog服务器。因此需要做个单独安装。

启动镜像后执行如下命令,即可完成syslog服务的安装和启动。

apt update && apt install rsyslog -y
rsyslogd

通过一下命令测试一下

logger "test"

在/var/log/syslog中出现了刚才的日志就说明服务安装成功。

【英伟达】高负载下nvidia-smi对性能的影响

最近在测试一个T4 gpu执行性能的问题,通过nvidia-smi来对显卡的运行效率和状态进行收集和统计。

在使用的过程中发现,该工具不同参数下对性能的影响不同。负载情况如下图。

任务为20个720p 15fps的视频转码+推理任务。相当于每秒钟执行4500次解码+4500次编码+4500次推理。

在执行nvidia-smi dmon时,发现性能影响很小;执行nvidia-smi pmon时,性能影响相对明显。

由于没有找到比较详细的信息和解释,初步推测和性能采样有关。pmon模式下,需要对每个进程做采样,会降低一些执行性能。

linux信号量那点坑

在用户角度来看,linux有两种信号量,system v和posix两种。

之前由于需要快速开发出东西来,就随便选了一个信号量来使用,后来才发现是system v,在使用过程中也遇到了一些坑。

sem_key_ = ftok(“file_exist”, 'a');

int flag = 0666;
flag |= IPC_CREAT;

sem_id_ = semget(sem_key_, 1, flag);
if (-1 == sem_id_) {
  std::cout << "semaphore create failed" << std::endl;
  return;
}

union semun sem_union;
sem_union.val = 1;
if (semctl(sem_id_, 0, SETVAL, sem_union) == -1) {
    std::cout << "semaphore semctl failed" << std::endl;
    return;
}

这里需要注意的是,ftok的第一个传入函数必须要某个存在的文件,因为需要通过具体的文件,去访问对应的nodeid,并做hash值。如果文件不存在,那么返回值将会是-1。

debian对非lvm文件系统分区扩容

在安装linux的时候,如果选择了lvm文件系统,当某个特定分区文件不够用的时候,直接通过resize即可实现在线动态扩容分区。

但由于当时为了减少一些开销,并没有使用lvm作为中间管理器,直接使用物理磁盘的分区。

debian是运行在vmware中,对于磁盘扩容比较简单,只需要进行配置一下,磁盘大小即可进行快速伸缩。

设置好vmware磁盘后,进入linux后执行fdisk -l检查硬盘大小,已经生效。

可以看到磁盘总大小200g,sda1+sda2还保持在75g。这时候执行apt install gparted后运行分区工具。

这时候先禁用swap分区,并删除swap对应的逻辑分区,接着执行修改sda1分区大小。

设置成需要的分区大小之后,在对剩余的空间执行创建对应的swap分区。然后执行mkswap /dev/sda5,查看swap分区的uuid。

执行nano /etc/fstab,修改对应的swap分区uuid,重启后即可。

【nvidia gpu】Ubuntu 18上安装cudnn环境

公司大佬用cudnn写了一个推理库,用于做背景分割。新到一台用于做测试的服务器,但sre和it都不管我,而我又是集成这个cudnn的人。所以只能自己亲自上,淡然还有大佬的帮助下成功安装了系统和驱动。

准备工作,一个新安装的ubuntu server 18。

下载好驱动、cuda、cudnn、tensorrt:

NVIDIA-Linux-x86_64-418.165.02.run

cuda-repo-ubuntu1804-10-1-local-10.1.243-418.87.00_1.0-1_amd64.deb
cuda-ubuntu1804.pin

libcudnn7_7.6.5.32-1+cuda10.1_amd64.deb
libcudnn7-dev_7.6.5.32-1+cuda10.1_amd64.deb
nv-tensorrt-repo-ubuntu1804-cuda10.1-trt6.0.1.5-ga-20190913_1-1_amd64.deb

其中需要注意的是,除了显卡驱动,其他部分都要下deb包,否则会出现打不上的情况。

然后按照教程的路线,执行dkpg -i和api install就好

葫芦七兄弟故事(一)

首先提一下葫芦七兄弟这个标题的缘由,因为在2020年4月,本人换了一个工作,进入了某A公司(不是不爱钱的那人开的公司);这个公司在现阶段是在线实时音视频做的还不错的一家,无论知名度还是市场占有率,都确实到了一定高度。

选择这家公司的原因其实也蛮简单的,主要是想通过公司的平台,对自身的技术有个提高和成长。加入公司以后却看到的不是成长和学习,而是首当其冲的就是被拉去支援隔壁大部门的工作,接着就是被各种神仙之间掐架时候的各种有意无意的误伤(说白了就是拿我指桑骂槐)。

显然透过这样的工作体验是奇差无比的,况且这里面也感到了一丝丝各种奇奇怪怪的工作氛围。

入职到今天,已经经过了9个月了。最近听到隔壁部门在做一些人员架构上的变动,听到这个消息的时候,实际上心里是有些不太舒服的。原因是隔壁组的老大要换,而过来的老大就是当初就是“恶心”过我的人。

书归正传,为何会写这个东西?

还是相对自己目前的工作状态和心里状态做一个回顾和梳理,避免一而再再而三的出现问题,反反复复的出错。同时也便于做一些及时的心态调整和变化。其目的还是为了减少这些糟心事对自己的影响,也可以适当的让自己有机会和精力朝着自己的目标去进行。

为何这样取名?

因为组里有7个人,而这7个人各有所长,也各有自己的性格特点。所以叫葫芦七兄弟比较贴切和理想。

这七个人是什么样的特点?

在我心里,这7个人的特点:

  • 老大,有自己的想法和目标,也有一定的能力,思维活络。但也许由于一些原因,又或许自身的性格特点,自己很少做一些团队工作方面的输出。或者说,在我眼里,在一些团队带领方面没有体现出管理者应有的素养(实际上很多管理者都没有)。我的新员工导师,导师这块我觉得还缺少了一些工作方面的引导(代码)。
  • 老二,年纪不大90后。不太爱多说,性格特点比较主观,有一定自我或自负的情况,不通融,不豁达。工作技能有一些比我强的地方,但可能由于一些因素,或自身自负的原因,似乎并不以为然。
  • 老三,年纪应该很大(应该是70后),似乎是做编解码出身的。起初打交道的时候,感觉还不错,能够提出一些正向且积极的意见和建议,但细细接触后发现,做事情有点拖沓,人水平不错。如果人能放下一些身段,踏实一些,不管是技术之路,还是管理之路,我相信都会不错很多。加上确实技术上有一定水平,我会很乐意找他做我的老师。
  • 老四,我。脾气大,不喜欢得罪人,但也不是什么老好人类型;不愿意直接面对工作上的矛盾;同时是一个说话“啰嗦”的人(这里面分为有真的啰嗦成分,也有别人有意或无意找的接口!)。技术功底一般,技术技能比较杂,不想一直这样杂下去,想沉淀某种技术。对目前团队信任感缺失,不太想发言,或者说在等待能够把自身感兴趣的技术做下去做深的机会。
  • 老五,其实老五和老六是同一天入职的。但后来听说老五本来也应该是4月份日志的,所以就区分开两个人了。老五是某不爱钱老板开的公司出来的,起初感觉还挺不错的,但后续不晓得是不是什么原因还是怎么的,总感觉老五做事会有几分此地无银三百两的情况;所以当时还在对老五做了一些留意和观察,对他还是尽量抱着友善的态度,但持续保持适当的距离。据说以前是做android media framework移植裁剪和维护等(搞android os里面),人技术应该挺不错的,但给我感觉做事目的性太强了,我有点怵,所以敬而远之。
  • 老六,人其实挺不错的小伙的。就是给人感觉太爱表现了,说话做事有很多时候很喜欢信口开河,对技术了解不深不扎实的情况下,也会随便说出来。人本身也许没有太多坏心眼,但是太急躁没什么好处,有时其实我也挺烦和他打交道的,说话给人感觉很喜欢瞎指挥,太把自己当回事的情况,而且影响别人的工作效率;夹带私货(心)的时候有点多,成分也有点明显。有几次我真的忍不了,搞不懂他到底想要干什么,如果技术top1的话到还没啥好说的,关键是没到这个水准,做事的那股样子给人就一个大佬的错觉样,确实很难受。有很多时候,我并不想和这种人打交道,因为提高太少了。
  • 老七,刚来。目前看上去还是挺谈得来的样子。和老大在同一个办公地点,最近活跃度降低了不少,预计身上事情在变多了。或者其他原因,后续再看。

今天先写道这里了,下一篇,我想重点写一写七兄弟,我对他们六个人的看法和感受,以及我所了解到他们可能对我的看法或感受。

2020年总结

本文来自我在老家的一个IT社区发的总结,直接复制过来。

为什么发这个话题

步入中青年阶段,想法开始复杂起来了。(就连装X都不在那么的简单粗暴,而是采取了更为凡尔赛的做法)
心中的困惑越来越多,曾经的疑惑少不少,也懂了是是而非和利弊权衡。说话学会了装腔作势和假装诗情画意(2333,单身狗相亲被虐出的技能)。

  1. 有时候,都快怀疑自己是不是成为了当初那个最讨厌人的样子。 夜空中最亮的星 – 逃跑计划
  2. 有时候,怀疑自己是不是选择和坚持是否是错的,或者不恰当。李白 – 李荣浩
  3. 有时候,想改变现在的状态。Say Yes – MKLA
  4. 有时候,那个人怎么这样,算了不想说了,说了没用,说多了还搞的大家伤和气,我还是买包瓜子和一个西瓜吃好了。演员 – 薛之谦
  5. 有时候,一直在问自己做人到底需要不需要继续保持着友善?(这里就不放歌了,Marilyn Manson的歌比较那啥)

回首过去

  • 小时候贪玩,高中中二且不听长辈的话,后来混了个大学文凭。
  • 毕业那个时候,看个网络新闻还管叫做“冲浪”,手机还是”hello moto”的黑白机;当时纠结于回老家,还是在外务工的选择。
  • 出于对专业的兴趣与常年叛逆的习惯,所以选择留在外面继续当一名代码施工人员。一晃十多年过去,母胎solo多年。看到严大大的回家帖子,我当时第一个反应是,喜提“勇于做决定和改变”。当时也心动了,原因很复杂。
  • 抱着试试的态度,2019年,分别选取了4个周末的时间回昆明分别实地踩点了几个处,同时也很荣幸的见到了社区的几位大佬,短暂的接触后,我就回所在的务工城市。这4次的实地踩点与同行/非同行沟通下来收获很多,也从各位昆明通那里学习了解到了很多信息和风土人情;很遗憾的是,我最后得到了一个结论:“尽管我也是一个土生土长的云南人,但我需要很多时间去调整和适应,两种地方民风民俗的差异,并积极融入和端正心态;已经接受并可能由此带来的一些落差”,这个过程中严大大着实打醒了我不少。
  • 2019-2020,继续围城,继续怂,继续修福报。一睁眼一闭眼一年就过去了,老男人又老一岁了。

现在

  1. 都说程序员要掌握四门基本功课,坑蒙拐骗,哦,不,是CRUD。混社会也有些时间了,坑的话,自然手到擒来;蒙,这个还行,对付一下QA基本够用;拐的话,还不太会,主要是不太喜欢内推和拉帮派啥的;骗,这个只能说还需要继续提高,毕竟现在都是互相骗的年代,招聘常年挂着,实际上就是不招人,找工作的简历注水,各种架构嘴到勤来。每天一个big story,距离上市又进了一步。
  2. 想沉下心来做事情,不想做业务,只想做纯纯的技术;可惜公司目前还没给这个机会。
  3. 羡慕别人自由,不需要为了下一顿操碎心。也羡慕别人能为了自己的梦去追寻,哪怕生活看上去没有那么华丽。
  4. 家里的是太多了(主要是长辈们的鸡毛蒜皮的矛盾),每年过年回家都快麻木了;听听就过,基本没进脑子,不管什么事,即便是教我如何做人的方面,只要不听就对了,越不听还越不见得混不下去。能够吸收这些经验的一部分同辈人(包括行为风格),情况有点不太好。
  5. 在外组建的老乡聚会,回家建设的大军在逐渐壮大,还留守务工的亲们的心,也在渐渐离去。或许是当初我太理想,又或许这就是社会阶层的不同,又或许我不配,又或许生活压倒人心。
  6. 自从上次骨折后,我的山地车也很就没骑了,虽然不愿提起,其实还是心理有所回避;太怕自己玩嗨了,又搞惊险刺激的骑法。

未来

  1. 加油吧,打工人。为构建老板不爱钱计划,努力吧打工人。
  2. 往走好30岁这个阶段的年纪,尽量成为一个不惑而有豁之人。
  3. 琐碎哪些破事少一点。

不变的梦想

  1. 有房
  2. 有个旅行车(汽车)
  3. 有辆维斯帕(300cc 就好)
  4. 有足够养老的钱