跳转至

2023

3.2 taskPriority

工作优先级四象限(优先级矩阵)

  • 基础版本(艾森豪威尔)
    • 对于紧急又重要的事情马上做。如果这类事情过多,那就想办法规划时间,减少此类事情。
    • 对于重要但不紧急的事情计划做。尽可能地把时间花在重要但不紧急的事情上,这样才能减少产生重要且紧急的工作量。
    • 对于紧急但不重要的事情授权做。处理原则是授权,让别人去做。
    • 最后对于不重要不紧急的事情减少做
  • 额外的维度
    • 依赖关系:工作中显露的潜在工作会打断工作的交付,砍半降低交付效率
      • 尽可能全面

拓展版本

  • 当前工作优先级评估由 四个连续值维度 + 三个逻辑指标 组成
  • 优先级评估的时候不止是自己的视角,还有别人的视角(别人在心里的权重 * 重要性 * 紧迫性)。其中别人在心里的权重,一般来说: 父母、爱人、子女 > 领导 > 我
四个连续值维度
  • 喜好程度
  • 估计工作量(投入收益比)。这一点其实很难量化,自己都没有做怎么知道,只能横向收集友商的数据。
  • 紧急的纬度由DDL时间确定,这点可以和工作量指标互动。
  • 重要性由以下几点确定,都能提高对工作的重要性评价:
    • 增加对工作的喜爱程度的任务: 高效插件与可视化工具的学习使用,
    • 提高工作效率的任务:学习基础知识,
    • 减少长期的工作量:学习、制造和使用轮子;自动化工作。
三个逻辑指标
  • 工作间依赖关系
  • 专注度要求(与疲劳度互补,清醒时才能做思考工作,一天工作后也能进行的简单工程工作)
  • 是否属于未知的领域。(与专注度要求不是正交的关系,是集合的包含关系。需要动脑的事情,肯定是未知的)
经常遇到的实际情况

相同的指标

  1. 紧急程度:不紧急。我一般会比较焦虑,所以工作会较早立项。
  2. 重要程度:我认为重要的才会主动去做,无论是对眼前的毕业考核,还是长远的考虑
  3. 喜好程度:我认为有趣的才会主动去做
  4. 工作间的依赖关系:我会遵守逻辑

不同的指标:

  1. 是否未知:阅读信息的需求
  2. 是否需要专注: 思考需求

两者结合:纯思考 > 阅读加稍微思考 > 初步的阅读收集信息 > 纯机械工作

任务周期内:时间分配和执行顺序

之前的任务优先级评判,都是从完成任务的角度考虑。但是实际情况是每个任务都需要很久(许多任务周期)才能完成。

按照优先级的指标,例如:

紧急性(3) 重要性(3) 喜好(1) 工作量(3) 总分 分配 要求
report 3 0 0 0 3 一天欠 2
thesis 3 3 0 3 9 两天多 3
AI 2 2 1 2 7 两天欠 1
OpenCL 2 1 1 1 5 一天多 1
web 1 0 0 1 2 一天欠 1
Summary 26
  1. 紧急性: 迫在眉睫(几天), 稍等几周,稍等几月,半年一年,可有可无
  2. 重要性: (当下)重大转折,(潜在)深远影响, 一年内小方向,与我无瓜
  3. 喜好:特别喜欢,有点意思,毫无波澜,有点厌恶
  4. 预估工作量(专心情况下):半年以上,一个季度,一个月,一周
  5. 要求(专注度):纯思考 > 阅读加稍微思考 > 初步的阅读收集信息 > 纯机械工作 (3~0)

注意

  • 工作安排 “必须做”占 40%,“愿意做”限制在 30% 左右,剩下30%处理出现的未发现的依赖任务和计划外工作。
  • 涉及到合作的工作:要与对方商量好,自己的选择(为什么把你鸽了,不是)

理想中的二维可视化细节

  • 科研工作与生活各自独立一张图。处理的时间段不同。
  • 横坐标是时间DDL表示紧急程度Urgency,纵坐标是重要性Impact(代表能增强自身和造轮子,还是繁琐小事)
    • 横坐标会随时间自动移动,
    • 标记出四块或者9块颜色
  • 节点可以可视化的部分
    • 颜色深浅表示喜好程度、投入收益比
    • 大小表示工作量绝对值(难易程度)
    • 会根据每日的任务自动调整
    • 甘特图 Gantt:的长条状,中间塞进度条的百分比实现。
    • 和连线表示工作依赖关系
    • 特殊颜色/形状 表示设置里程碑(北极星)任务,完成后自己会收获什么(能力属性标签)
  • 节点额外的属性值(不可视化)
    • 任务的风险
    • 需要的合作者,资源
    • DoD (完成标准,验收标准)
  • 根据公式和数据, 计算工作的优先级并给出推荐。
    • 考虑WIP(Work in Progress)
  • 实现日历功能
  • 为了能激励自身,引入信息增长统计
    • 过去一周/月/季度/年,完成的各类型的Task
    • 引入勤劳值(工作量统计),和收获值(能力增长统计)
    • 能力属性标签, 数值是否随时间衰减

已有的优先级矩阵产品

  • ducalis
  • 另一种维度,将紧急程度与工作量交换:pic

团队合作的优先级

团队合作中,解决问题的策略与优先级

对象:领导、部门的同事团队( 其余部门的同事团队),个人主体。

思考的基础与前提(多沟通,深分析,找关键):

  1. 找到问题的关键,并提出实用有效的方法
  2. 问题考虑全面,目光长远,设计方法可持续

情形:

  1. 别人遇到问题求助
    1. 授人以鱼不如授人以渔
    2. 如果有其余需求,归纳到最后一点统计决策
  2. 自己遇到问题
    1. 研究瓶颈
      1. 在充分的调研与汇总整理后,向同事或者上级咨询与求助
    2. 两难抉择: 返工的bug修复,新功能,新业务,新研究方向与现有的工作的时间冲突
      1. 工作优先级四象限:根据重要性、紧急程度、喜好程度、工作量(投入收益比)与依赖关系分类
      2. 要与提出需求的对方商量好,解释自己的选择和困难

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

3 EfficientJumpingRunning

jumping the branch task

五大阻碍工作完成时间的罪魁祸首

  1. 过多的Work in Progress
  2. 太多WIP会导致很多问题:交付延误、品质下降和员工情绪恶化
  3. 利特尔定律 \(\(平均周期时间 =\frac{平均WIP量 }{平均产出量 }\)\)
  4. 未知的依赖工作
  5. 常见依赖关系有3种: > 架构(软件和硬件):一个组件的变更可能破坏另一个组件导致它停止运行 专业知识:从专家那里获得建议或帮助(需要怎样做某事) 活动:直到活动完成才能取得进展
  6. 计划外工作(妨碍你完成某事或导致你无法实现里程碑的干扰事项)
  7. 优先级冲突(相互竞争的项目和任务。当你不确定做什么事情是最重要的时候,就会加剧这种冲突)
  8. 被忽视的工作(技术债)

如何相互影响

  1. 信念/意志确实很重要
  2. 强烈的信念能让你的工作迈出坚实的第一步,而且每一步都走得是否有力
  3. 但是前提是你要十分明确努力的方向,对工作的不自信会减半工作热情。
    1. 工作的优先级冲突,这将导致过多的WIP,从而导致更长的周期时间。
  4. 明确任务的优先级,并分阶段、逐步击破是最好的选择。

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

2: Courage to move on

Dilemma 困境

现实中的困难挫折、不如意、或者突如其来的变故/变化 会消磨和摧毁人的信念,让人变得失望难过。想逃避或者麻木自己,通常会在幻想 或者虚拟世界里寻求解脱。

Theoritical Foundation

  1. World is crucial. No time to sleep and waste more in virtual world
  2. just some happy and painless
  3. In virtual life, the more you pay, the more you lose.
  4. 逃避收获的事片刻的精神释放和快乐,但是带来的更chaos of real life

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

AntiCheat

AntiCheat

运行卡拉比丘时,报错 Anti-Cheat Expert (ACE)

ACE安全中心
安全组件运行异常。请关闭并卸载可能影响游戏按全的软
件,用杀毒软件进行杀毒清理,重启后用管理员模式启动
游戏重试。
(13-131084-433)
  1. 安全码也没有找到合适的文档
  2. 只能按照官方的老教程check一下
  3. 手动启动 Anti-Cheat Expert 服务就行
  4. 有时候需要重启

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。

VIM

cheat sheet

More advanced details

basic mode

  • : to change mode?
  • / to search
  • ? to up search
  • * to search cursor current word

replace

:{作用范围}s/{目标字符}/{替换的字符}/{替换标志}
  • 作用范围:用于指定替换的范围,
    • 1,3表示替换第一行至第三行,
    • 1,$表示替换第一行到最后一行,也可以直接用%表示。
  • 替换标志(可以组合使用):
    • c: confirm,每次替换前都会询问
    • e:不显示error
    • g: globe,不询问,整个替换
    • i: ignore,即不区分大小写

分屏

  1. 创建空白分屏 :new
  2. 打开当前文件 ???
    1. 命令(水平): [CTRL] [W] s
    2. 命令(垂直): [CTRL] [W] v
  3. 打开任意文件
    1. 命令(水平): :split [FILENAME] #或 :sp [FILENAME]
    2. 命令(垂直): :vsplit [FILENAME] #或 :vs [FILENAME]
  4. 关闭
    1. 取消其它分屏,只保留当前分屏 :only
    2. 或者 [CTRL] W o
    3. 退出当前所在分屏 :q #或者: :quit

usefully tricks

comment block text

teminal read code

ctags + 函数跳转

  1. 安装ctags sudo apt-get install exuberant-ctags
  2. 生成函数名索引文件 ctags -R . /path/another/include will generate tags file

添加

echo "set tags=$PWD/tags" >> ~/.vimrc
# or
vim ~/.vimrc
# set tags=~/Download/llvm-project-main/llvm/tags

vim 使用

Ctrl + ] # forword
Ctrl + t # 返回

Further: other ides

huawei programming : dev machine 使用tmux和zsh可以实现统一的开发环境

参考文献

Github Access

导言

作为程序员,最经常遇到的问题就是无法访问github,这无异于和世界断开连接。

  1. 由于http代理可以代理DNS请求,所以不太可能是DNS污染的问题。
  2. github加速访问两种思路:
    1. VPN加速
    2. warp或者wg转发到墙外(linux 服务器)
  3. 之前能访问,但是现在不能访问,可能是wg配置重启掉了。

Proxy in terminal

无法使用ping检查网络,wwww.github.com不会响应ping报文

ssh config

linux下通过按照如下修改.ssh/config设置账号密码,并 ssh -vT [email protected],成功后输出Hi Kirrito-k423! You've successfully authenticated, but GitHub does not provide shell access.

# .ssh/config
Host github.com
  User 943648187@qq.com
  Hostname ssh.github.com
  PreferredAuthentications publickey
  ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p #如果通过代理需要这句话
  IdentityFile ~/.ssh/id_rsa
  Port 443

Host *
  # Win报错取消下面三行 getpeername failed: Not a socket getsockname failed: Not a socket
  ControlMaster auto
  ControlPath /tmp/sshcontrol-%C
  ControlPersist 1d
  ServerAliveInterval 30
Windows PowerShell 平台

假如是windows下,如果安装了git bash,会有connect.exe的程序

配置如下1

Host github.com
  User git
  Port 22
  Hostname github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\Administrator\.ssh\id_rsa"
  TCPKeepAlive yes
  # 这里的 -a none 是 NO-AUTH 模式,参见 https://bitbucket.org/gotoh/connect/wiki/Home 中的 More detail 一节
  ProxyCommand E:\\commonSoftware\\Git\\mingw64\\bin\\connect.exe -S 127.0.0.1:7890 -a none %h %p

Host ssh.github.com
  User git
  Port 443
  Hostname ssh.github.com
  # 注意修改路径为你的路径
  IdentityFile "C:\Users\Administrator\.ssh\id_rsa"
  TCPKeepAlive yes

debug ssh clone/push

ssh-git 与 https-git的不同

git config --global http.proxy localhost:7890 # PowerShell proxy
git config --global http.proxy "http://127.0.0.1:7890"
git config --global https.proxy "http://127.0.0.1:7890"
GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone [email protected]:Kirrito-k423/autoUpdateIpconfigPushGithub.git

GIT_CURL_VERBOSE=1 GIT_TRACE=1 git clone https://github.com/llvm/llvm-project.git

Windows PowerShell 平台 git push --verbose

不同于linux平台的GIT_TRACE=1 git push,Windows PowerShell 平台应该如下设置:

$env:GIT_CURL_VERBOSE = 1
$env:GIT_TRACE = 1
git push
ssh成功,但是git操作还是失败

没使用上指定config文件,git操作需要明确指定。

$env:GIT_SSH_COMMAND = 'ssh -F /path/to/your/ssh_config'
git push

http代理

There are tons of identical solutions over the internet for defining proxy tunnel for git's downloads like this one, which all is by setting git's https.proxy & http.proxy config. but those answers are not working when you try to clone/push/pull etc. over the ssh protocol!

For example, by setting git config --global https.proxy socks5://127.0.0.1:9999 when you try to clone git clone [email protected]:user/repo.git it does not go through the defined sock5 tunnel!

环境实在是只有https代理, 可以利用github_token的https协议

# Method 1. git http + proxy http
git config --global http.proxy "http://127.0.0.1:1080"
git config --global https.proxy "http://127.0.0.1:1080"

# Method 2. git http + proxy shocks
git config --global http.proxy "socks5://127.0.0.1:1080"
git config --global https.proxy "socks5://127.0.0.1:1080"

# to unset
git config --global --unset http.proxy
git config --global --unset https.proxy

# Method 3. git ssh + proxy http
vim ~/.ssh/config
Host github.com
HostName github.com
User git
ProxyCommand socat - PROXY:127.0.0.1:%h:%p,proxyport=1087

# Method 4. git ssh + proxy socks
vim ~/.ssh/config
Host github.com
HostName github.com
User git
ProxyCommand nc -v -x 127.0.0.1:1080 %h %p

%h %phostpost的意思

或者

After some visiting so many pages, I finally find the solution to my question:

# [step 1] create a ssh-proxy
  ssh -D 9999 -qCN [email protected]

# [step 2] make git connect through the ssh-proxy
  # [current script only]
  export GIT_SSH_COMMAND='ssh -o ProxyCommand="connect -S 127.0.0.1:9999 %h %p"'
  # OR [git global setting] 
  git config --global core.sshCommand 'ssh -o ProxyCommand="connect -S 127.0.0.1:9999 %h %p"'
  # OR [one-time only use]
  git clone -c=core.sshCommand 'ssh -o ProxyCommand="connect -S 127.0.0.1:9999 %h %p"' [email protected]:user/repo.git
  # OR [current repository use only]
  git config core.sshCommand 'ssh -o ProxyCommand="connect -S 127.0.0.1:9999 %h %p"'

To install connect on Ubuntu:

sudo apt install connect-proxy

ssh代理

ssh -vT -o "ProxyCommand connect -S 127.0.0.1:7890 %h %p" [email protected]
ssh -vT -o "ProxyCommand nc -X 5 -x 127.0.0.1:7890 %h %p" [email protected]
# 使用HTTP 代理
ssh -o ProxyCommand='corkscrew proxy.net 8888 %h %p' [email protected]
ssh -o ProxyCommand='proxytunnel -p proxy.net:8888 -P username -d %h:%p' [email protected]

Wireguard 代理

post request forward is an all-in-one solution.

interface: warp
  public key: fcDZCrGbcpz3sKFqhBw7PtdInygUOtEJfPAs08Wwplc=
  private key: (hidden)
  listening port: 51825

peer: bmXOC+F1FxEMF9dyiK2H5/1SUtzH0JuVo51h2wPfgyo=
  endpoint: [2606:4700:d0::a29f:c001]:1701
  allowed ips: 172.16.0.0/24, 0.0.0.0/0, ::/0
  latest handshake: 89 days, 23 hours, 15 minutes, 28 seconds ago
  transfer: 3.51 GiB received, 1.71 GiB sent
  persistent keepalive: every 25 seconds

latest handshake: 89 days ago demonstrate wg is done for a long time. At the same time mtr github.com shows no output prove the bad situation.

STEP1: first try is to bring the wg-proxy up again

python register.py #自动生成warp-op.conf,warp.conf和warp-helper
mv warp-helper /etc/default
vim /etc/config/network #填写warp-op.conf内容,修改只用替换option private_key 和 ipv6 的 list addresses 即可
ifup warp #启动warp, 代替wg-quick up warp.conf

and test brainiac machine is back online

常见情形

大文件提交

Sometimes,it‘s the big log fault.

# find file
find . -type f -name "zsim.log.0" -size +10M
# find the most repeated lines
head -n 10000 your_file.txt | sort | uniq -c | sort -nr | head
# delete partten line in files
sed -i '/\[S 0\] WARN: \[6\] ContextChange, reason SIGRETURN, inSyscall 1/d' /staff/shaojiemike/github/PIA_huawei/log/zsim/chai-n/hsti/1000/cpu_tlb/zsim.log.0

# conbine two command
find . -type f -name "zsim.log.0" -size +10M -print0 | xargs -0 sed -i '/字符串模式/d'
# or just save the tail (sth wrong needed test)
find . -type f -name "zsim.log.0" -size +1M -exec bash -c 'tail -n 2000 "$1" > "$1"_back ' _ {} \;

请求被拦截

t00906153@A2305023964 MINGW64 ~/github
$ git clone https://github.com/jeremy-rifkin/cpptrace.git
Cloning into 'cpptrace'...
fatal: unable to access 'https://github.com/jeremy-rifkin/cpptrace.git/': SSL certificate problem: self-signed certificate in certificate chain

常见问题

error: RPC failed; curl 18 transfer closed with outstanding read data remaining

出现于使用https协议,下载大仓库时,出现该错误。

  1. 首先使用retry脚本,多重试。
  2. 脚本中有http下载的限制修改。
  3. 使用depth=1参数,只下载最新提交。之后下好后能适应unshallow复原
  4. 使用更快的https代理。 e.g., 华为xgate使用HK或者Auto
expecting SSH2_MSG_KEX_ECDH_REPLY

设置mtu解决:

STEP1:

eno0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 202.38.73.217  netmask 255.255.255.0  broadcast 202.38.73.255
        inet6 fe80::ae1f:6bff:fe8a:e4ba  prefixlen 64  scopeid 0x20<link>
        inet6 2001:da8:d800:811:ae1f:6bff:fe8a:e4ba  prefixlen 64  scopeid 0x0<global>
        inet6 2001:da8:d800:730:ae1f:6bff:fe8a:e4ba  prefixlen 64  scopeid 0x0<global>
        ether ac:1f:6b:8a:e4:ba  txqueuelen 1000  (以太网)
        RX packets 12345942  bytes 2946978044 (2.9 GB)
        RX errors 0  dropped 1438318  overruns 0  frame 0
        TX packets 4582067  bytes 675384424 (675.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

STEP2:

ifconfig eno0 mtu 1200

STEP3:

[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eno0
MTU=1200            #MTU设置

[root@localhost ~]# systemctl restart network

参考文献

DeviceExpansion

拯救者 R7000 2020(1650ti)

内存条

内存为两根8GB DDR4-3200内存组成双通道。 如果要拓展,需要全部升级为 16GB * 2。 拓展视频图文教程

M2固态

可以加装一条2280的固态, 但是无法加机械了。

B450M (主机主板)

内存条

  1. 芯片组最高支持DDR4 2933的内存频率,
  2. 单条内存最大32GB,总容量最大128GB,
  3. 向下可以兼容DDR4 2133、DDR4 2200、DDR4 2400、DDR4 2666。

M2

PCIe 3.0的数据传输速度每通道1GB/s,PCIe 2.0是其一半

B450迫击炮有两个M2插槽,一个是满速pcie3.0×4(4GB/s) 一个是半速的pcie2.0×4(2GB/s)。价格差不多的话还是用M2 nvme协议 的SSD

一点没人提过的,b450m迫击炮装上第二个m2以后,第二个pcie2.0*16的扩展(pcie_4)是没法用的。

需要进一步的研究学习

暂无

遇到的问题

暂无

开题缘由、总结、反思、吐槽~~

参考文献

上面回答部分来自ChatGPT-3.5,没有进行正确性的交叉校验。