Sky:有信仰的活着!
UserScript: 一键展开 GitHub PR 评论
最近一段时间工作花了很多功夫在GitHub上做Code Review,夸张的时候一天需要Review将近20个Pull Request,不得不说这是一个很耗精力和体力的事情。
在GitHub Review PR 的时候,遇到一个很蛋疼的事情:
很多提交的Review Comments在Code Owner重新提交有关修改的Commit之后GitHub PR页面里会把这些Comments折叠起来。如果要查看之前提交的内容,需要一个个手动点击Show outdated 按钮。
秉着重复三次就得用程序解决的原则,写了一个油猴脚本,可以在PR页面里面注入一个Expand All Comments按钮,一键展开全部Outdated Comments。
脚本已经发布到GitHub和OpenUserJS上了,希望有同样蛋疼体验的同学能舒缓一下。
- GitHub: https://github.com/skyjia/expand-pr-comments
- OpenUserJS: https://openuserjs.org/scripts/skyjia/Expand_All_PR_Comments
您可能需要为浏览器安装一个油猴脚本管理器插件:
- 推荐 Tampermonkey: https://tampermonkey.net/
我的 dotfiles
My Dotfile Repository: https://github.com/skyjia/dotfiles
兼容 macOS 与 Linux
|
|
Before Getting Start
It’s best to read the follwing articles before you start:
Installation
1 Install Dependencies
Homebrew & Cask
If you’re an OS X user, the best way to manage software pacakges is to use Homebrew & Cask.
a) Install Homebrew
|
|
b) Install brew cask
|
|
Refer to:
For Linux user, please try LinuxBrew instead.
GNU stow
I recommend to use GNU stow
to manage dotfiles, because it’s free, portable, and lightweight.
Install stow with homebrew:
|
|
2 Clone and Apply dotfiles
|
|
If you want to apply a configuration package, try to execute following commands:
|
|
For example, apply httpie configuration package:
|
|
3 Package Configuration
vim
Vim configuration is based on Janus. Install MacVim and Janus as followed:
|
|
tmux
tmux configuration is based on gpakosz/.tmux.
|
|
spacemacs
|
|
GitHub Repository: https://github.com/skyjia/dotfiles
Kali Linux 安装后配置
写作本文时,使用的是 Kali Linux 2017.1
1234 Distributor ID:KaliDescription:Kali GNU/Linux RollingRelease:kali-rollingCodename:kali-rolling工作环境:VirtualBox VM on MacBook Pro
内容持续更新。
基本系统配置
切换到root用户
su
判断kali版本
lsb_release -a
更新 Packages
- 首次启动先执行更新。
- 日常维护每四天更新一次。
|
|
配置 OpenSSH Server
安装配置 openssh-server:
|
|
修改 /etc/ssh/sshd_config
文件:
|
|
启动服务:
|
|
参考:
添加新用户
|
|
配置VM网卡
为Kali 的 VM 配置两个网卡:
- Adapter 1: NAT,用于通过Host与外网连接通讯;
- Adapter 2: Host-only Adapter,用于 VM 与 Host 通讯。
由于默认情况下各个网卡会从DHCP获取配置,并设置网关,但操作系统中只能允许一个默认网关,因此我们需要修改下网络连接设置。
登录 Kali,打开 Network 配置工具,为每个网卡配置独立的 Profile:
- Ethernet (eth0)
- Profile 名称:
NAT-Auto
- 启用 IPv4 ( Automatic DHCP)
- 禁用 IPv6 (如果不使用)
- Profile 名称:
- Ethernet (eth1)
- Profile 名称:
Host-Only
- 启用 IPv4 ( Automatic DHCP)
- 禁用 IPv6 (如果不使用)
- 勾选
Use this connection only for resources on its network
选项
- Profile 名称:
Gnome桌面
配置 HiDPI
由于工作环境使用的是Retina显示屏,需要对桌面进行HiDPI设置,以达到正常文字显示效果。
在VirtualBox中修改虚拟机设置:
Display > HiDPI Support: 勾选
Use Unscaled HiDPI Output
修改完成后重启虚拟机;
登陆Kali,在 Tweak Tool 中设置,将 Windows > HiDPI > Window scaling 设定为
2
.执行命令,修改桌面界面缩放比例:
1gsettings set org.gnome.desktop.interface scaling-factor 2
禁用桌面锁屏
Settings > Power > Power Saving: Never
个性化设置与常用软件
dotfiles
我的 dotfiles: https://github.com/skyjia/dotfiles
科学上网
TBD
注意事项
避免安装Flash Player
任何时候都不要装。
不要在你安装的kali 2.0中添加额外的源
- 如果因为某些原因,在安装kali过程中,当被问到使用网络镜像时选择了
No
,可能会导致你的sources.list文件中丢失一些条目。如果是这种情况,检查一下官方的源列表来确定哪些条目应该在那个文件中。即使很多非官方的说明让你这样做,你也应该避免在sources.list文件中添加多余的源。 - 不要添加kali-dev, kali-rolling 或者任何其他的kali源除非你有特别的理由,一般情况下你是没有的。
- 如果你不得不添加额外的源,在
/etc/apt/sources.list.d/
目录下添加一个新的源文件。
npm extraneous error 经历
今天在例行检查清理 npm package 时遇到了狗血的npm ERR! extraneous
问题:
|
|
索性来个彻底的清理:
- Global packages中,除了
npm
package,其它的package先全部删除 - 安装
cnpm
,替代npm
(你懂的),然后安装回所需的Global packages
|
|
根据淘宝NPM镜像(https://npm.taobao.org/)安装指导,安装`cnpm`:
|
|
原因分析
本地的node.js是使用Homebrew安装的,由于node版本更新,导致一些安装在global的package出现extraneous问题。修复方式是重新安装(或更新)有问题的package。
!!!此处敲黑板!!!
由于Homebrew管理的node会经常升级更新,并且cnpm
默认会将package安装到当前运行版本的node安装文件夹之中,这个默认行为会在node再次升级后导致已安装的全局package失效。因此,我们需要手动修改npm
的prefix
设置。通过修改~/.cnpmrc
,增加如下一行记录:
|
|
此时检查cnpm的配置会发现prefix
的默认值已经被覆盖:
|
|
macOS 下以不同语言启动应用程序
近日把Mac QQ升级到新版之后,看到这样一个英文版 Setting 界面时感觉别扭,应该属于强迫症间歇性发作,实在忍不住想切换到中文界面:
- 文字格式和用语有差异
- 不合格的英文翻译
但是,Mac QQ并没有提供选择界面语言的选项,想通过软件内配置切换语言这条路是走不通了。其实Mac QQ是支持多语言的,默认行为是根据当前操作系统配置的语言首选项显示QQ的界面语言。通过 Show Package Contents 查看QQ应用程序可以看到内部支持的多语言配置文件信息:
我当前OS环境配置的系统语言是英文,暂时也不想将系统的语言改回中文,因此通过以下命令行方式指定语言并启动QQ:
|
|
实测环境:macOS Sierra 10.12.4