安全地使用Easy Connect
背景
访问公司内网需要使用easy connect连接VPN进行访问。如果是在家用自己熟悉的电脑进行办公,这就会带来隐私相关的问题:
我们私人的网络数据会被easy connect获取
该软件有可能会对电脑的文件进行监控。参考这个讨论。
解决方案
对于需要使用easy connect的又不想自己的个人隐私遭泄漏,在尝试过后,有两种方案:
使用可以直接访问公司内网的电脑作为jump server
使用 docker container,留出代理端口给宿主机,进行VPN访问
这两种方案经过尝试之后都能成功实现对内网的访问,但是第二种,基于docker的方案在稳定性和简单程度上,会远胜于方案一。
借助docker进行访问
Github上已经有打包好的docker image,使用方法也列在其README内。这里只对其用法做一个简单的补充。
跑docker container的命令可以使用:
12345678docker run -d --name easyconnect \ --security-opt=no-new-privileges \ ...
Cannot Unmute With Keyboard
Problem
After updating Manjaro, my keyboard cannot unmute audio.
Solution
1rm /var/lib/alsa/*
References: Alsa mixer unmute problem on Thinkpad laptop
最小生成树算法
Kruskal 算法
新建图GGG,GGG中拥有原图中相同的节点,但没有边
将原图中所有的边按权值从小到大排序
从权值最小的边开始,如果这条边连接的两个节点于图GGG中不在同一个连通分量中,则添加这条边到图GGG中
重复3,直至图GGG中所有的节点都在同一个连通分量中
伪代码:
123456789algorithm Kruskal(G) is F:= ∅ for each v ∈ G.V do MAKE-SET(v) for each (u, v) in G.E ordered by weight(u, v), increasing do if FIND-SET(u) ≠ FIND-SET(v) then F:= F ∪ {(u, v)} UNION(FIND-SET(u), FIND-SET(v)) return F
Prim 算法
输入:一个加权连通图,其中顶点集合为VVV,边集合为VVV;
初始化:Vnew=xV_{new} = {x}Vnew=x,其中xx ...
Floyd-Warshall 算法
弗洛伊德算法(Floyd-Warshall algorithm) 是解决两点间最短路径的一种算法。时间复杂度O(N3)O(N^{3})O(N3),空间复杂度O(N2)O(N^{2})O(N2)。
其算法原理为动态规划:
设Di,j,kD_{i,j,k}Di,j,k为从i到j的只以 (1…k) 集合中的节点为中间节点的最短路径长
若最短路径经过k,则Di,j,k=Di,k,k−1+Dj,k,k−1D_{i,j,k}=D_{i,k,k-1}+D_{j,k,k-1}Di,j,k=Di,k,k−1+Dj,k,k−1
若不经过k,则Di,j,k=Di,j,k−1D_{i,j,k}=D_{i,j,k-1}Di,j,k=Di,j,k−1
因而,Di,j,k=min(Di,k,k−1+Dj,k,k−1,Di,j,k−1)D_{i,j,k}=min(D_{i,k,k-1}+D_{j,k,k-1}, D_{i,j,k-1})Di,j,k=min(Di,k,k−1+Dj,k,k−1,Di,j,k−1)
伪代码:
12345678910111 let dist be a |V| × | ...
从HEXO迁移到HUGO
为什么要进行迁移
对我来说HEXO实在是过于麻烦。
最早接触这个东西,是看到别人的博客,发现很有趣,因此自己也想写一点东西上去。那个时候普遍采用 GitHub Page + HEXO 的做法,我自然也使用了同样的方法。
然而随着时间线的拉长,在不同的环境下进行博客的恢复、管理,让我开始想尝试HEXO以外的方式。HEXO对我来说,不好的有以下几个方面:
包管理复杂。HEXO不像HUGO这样已经编译好,而使用npm进行各种包的管理,对于一个这方面的小白来说,我完全没法自己处理好各种 warning 和 error。GitHub也常常提示我有安全漏洞,但是我都不知道如何去修复比较好
图片插入麻烦。最开始我选择将图片上传到7牛进行托管,但是几年后我发现链接早就已经失效了。还是放在本地比较保险。而HEXO的本地插入实在是不敢恭维。
公式编辑。在我最开始使用到HEXO的时候,我并没有关心公式编辑这个问题。但是随着专业学习的深入,我逐渐开始依赖起这个功能来。承接第一点,让 HEXO 支持公式编辑费了我不少时间,让我对 HEXO 的易用程度进一步失去信心。我不想再未来当我需要新功能的时候, ...
Decision Tree and k-Nearest Neighbors Learning
Entropy
1. Shannon information
I=−log2pI = -\log_2{p}
I=−log2p
$ p $ is the probability of the event
Event with smaller probability contains more information.
Logrithm base is 2 beacause in information technology 1 bit represents “0” or “1”.
It can also be regarded as how many bits we need to represent a random variable
#bits=log21p\#bits = \log_2{1\over{p}}
#bits=log2p1
For example, when one variable has 8 possibilities. Each of them has a probability of 1/8. Then we need $ \log_2{8} = 3 ...
Transaction and Concurrency Control
Transaction
Definition
Transaction: A sequence of multiple actions to be executed as an atomic unit.
Transaction in SQL view:
Begin transaction
Sequence of SQL statements
End transaction
Transaction Manager controls excution of transactions. Program logic is invisible to DBMS. For example:
123456781. start transaction2. read(R)3. R = R - 100 ------> Invisible4. write(R)5. read(S)6. S = S + 100 ------> Invisible7. write(S)8. end transaction
ACID Properties
A tomicity: All actions in the ...
My Manjaro i3 Configurations
Manjaro edition: Manjaro-i3
This post is about how I configure my Manjaro i3
Softwares to Install
fcitx5 (no need to install sogou pinyin for linux anymore)
deepin-wine-wechat
deepin-wine-tim
wps-office (together with ttf-wps-fonts)
ttf-menlo-powerline-git (font for terminal)
mpv (vedio player)
netease-cloud-music
Insync (sync a certain folder with google driver)
variety (wallpaper software)
picom
albert (a fast launcher)
vim (with vimplus)
flameshot (screen capture tool)
nerd-fonts-jetbrains-m ...
Use Oracle on Docker for Windows
Environment
version
WSL
2
Docker Engine
v19.03.13
Oracle Database
Enterprise 12.2.0.1
Install WLS2
Check detailed and official document here.
Problems I encountered
1. Use any commands related to WSL2 will cause error: “The attempted operation is not supported for the type of object referenced.”
This is beacause the proxy software conflicts with the sock port of WSL2.
Short term solution
Run command line as admin:
1netsh winsock reset
Then reboot computer.
Long term solution
Downlo ...
第一次辞职
距离本周一提出离职已经过去4天。在同CEO以及CTO都经过交流之后,终于思考清楚,也能好好地把事情做个记录。
给人力的离职信全文
本次离职的直接原因是生病发烧,带来心态上的变化,根本原因还是对工作内容的不喜欢。在和两位老板交流时,他们都表达了挽留的意思。但是挽留的说法却不尽相同。
我是在周一晚上向CEO提出离职的,随后便进行了一次长达51分钟的电话聊天。聊天内容基本上是在问我对工作不满意的地方,以及我希望怎么样调整工作的方向。我个人对于CEO的印象还是非常不错的。年轻,没有架子,思辨性很强,对员工也极为友善,愿意培养新人。当初也是他直接省去了后续的面试,在两轮面试后,直接将我招进公司。在和他聊了这么多之后,我不由得感觉到一阵内疚加失落,这种感觉一直持续到周二结束。
一方面我个人觉得这样的老板之后确实是很难遇到了,另一方面,虽然我的离职想法早就确定了,但是在目前公司缺人的情况下突然提出来,还是有点惭愧。
为此我特意和我同样在工作的同学进行了短暂的意见交流,在得到他的支持意见后,我也逐渐安下心来。离职的想法也愈加坚定。
到了周五,即今天,和CTO交流时,老实说还是有些许紧张。浑身上下会不自 ...