BNU-FZH

fengzhenhua@outlook.com

今天将电脑进行了升级,将原来的512G的固态硬盘更换为两个1T的固态硬盘,于是需要从头开始安装一下Archlinux, 其中最关键的一步是配置Neovim, 对于lsp插件管理器Mason和语法高亮插件TreeSitter , 其默认从https://github.com 下载对应的文件,但是国内访问是很不稳定的,所以需要更换为国内镜像网站,于是配置文件修改为

阅读全文 »

准备升级我的Thinkpad T490, 将硬盘由512G 升级为1T , 同时加装了1T的2242固态到WWan 口,今天硬盘应该就来到了,更换新硬盘后决定仍然使用ArchLinux 作为办公主力系统,于是第一步就是在Linux完成系统分区。此处,记录一下本机的分区配置和 fdisk的帮助手册。

fdisk 帮助手册

fdisk -h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
用法:
fdisk [选项] <磁盘> 更改分区表
fdisk [选项] -l [<磁盘>...] 列出分区表

显示或操作磁盘分区表。

选项:
-b, --sectors-size <大小> 显示扇区计数和大小
-B, --protect-boot 创建新标签时不要擦除 bootbits
-c, --compatibility[=<模式>] 模式,为“dos”或“nondos”(默认)
-L, --color[=<时机>] 彩色输出(auto, always 或 never)
默认启用颜色
-l, --list 显示分区并退出
-x, --list-details 类似 --list 但提供更多细节
-n, --noauto-pt 不要在空设备上创建默认分区表
-o, --output <列表> 输出列
-t, --type <类型> 只识别指定的分区表类型
-u, --units[=<单位>] 显示单位,“cylinders”柱面或“sectors”扇区(默认)
-s, --getsz 以 512-字节扇区显示设备大小[已废弃]
-b, --bytes 以字节为单位而非易读的格式来打印 SIZE
--lock[=<模式>] 使用独占设备锁(yes、no 或 nonblock)
-w, --wipe <模式> 擦除签名(auto, always 或 never)
-W, --wipe-partitions <模式> 擦除新分区的签名(auto, always 或 never)

-C, --cylinders <数字> 指定柱面数
-H, --heads <数字> 指定磁头数
-S, --sectors <数字> 指定每条磁道的扇区数

-h, --help 显示此帮助
-V, --version 显示版本

可用的输出列:
gpt: Device Start End Sectors Size Type Type-UUID Attrs Name UUID
dos: Device Start End Sectors Cylinders Size Type Id Attrs Boot End-C/H/S
Start-C/H/S
bsd: Slice Start End Sectors Cylinders Size Type Bsize Cpg Fsize
sgi: Device Start End Sectors Cylinders Size Type Id Attrs
sun: Device Start End Sectors Cylinders Size Type Id Flags

更多信息请参阅 fdisk(8)。
阅读全文 »

傲梅分区助手是一款优秀的Windows下的分区磁盘分区工具,官网为https://www.disktool.cn, 它可以免费下载使用,但是启动的时候需要一个使用码, 而这需要微信关注它的公众号,作为一款不经常使用的软件,这个体验显然不好。根据已经关注公众号的朋友提供,回复无使用码后会给出一个无使用码的版本,但是这个版本后来在其公众号中取消了,而它现在仍然可以使用,所以本博客的主要目的是提供这一地址:傲梅分区助手无使用码版

文章参考:直接下载无 "使用码" 的(傲梅)分区助手

今天解决了使用yay安装软件时无法从github.com下载的问题,比较高兴。同时,通过网络介绍测试了一下Koodo阅读器,其十分现代简洁,拿来阅读epub文件效果超棒,所以开本篇博客引用其README.md文件以介绍。为了顺利访问,此处将ghithub.com修改为国内镜像hub.yzuu.cf, 如果您可以正常访问github.com那么请自行切换即可。

简体中文 | Português | English

阅读全文 »

前段时间更新ArchLinux时,发现我的目录文档莫名其妙的被删除了!里面有大量的资料,由于之前有备份的习惯,损失不算很严重,但是也带来了麻烦,由于还有一台工作电脑,但是测试工作电脑时却没有发生同样的问题。今天尝试解决这一问题,导致这个问题的主角是程序xdg-user-dir, 和它相关的文件一共有六个,即

xdg-user-dir
1
2
3
4
5
6
/etc/xdg/user-dirs.conf
/etc/xdg/user-dirs.defaults
~/.config/user-dirs.dirs
~/.config/user-dirs.locale
/usr/bin/xdg-user-dir
/usr/bin/xdg-user-dirs-update
阅读全文 »

近期为了更好的阅读文献,使用zotero的翻译插件添加了各种词典,已经申请了腾讯、百度、小牛等翻译帐号,总体试用下来都还可以,不过最终小牛胜出。在完成这些配置之后,发现可以使用PythonGoldenDict也具备翻译句子的功能!于是一百度还找到了对应的Python脚本,而且有些还是官方给出的脚本,然而通过【免费开源词典软件】GoldenDict 使用指南(详、附句段翻译) 找到了一个多合一版本的translatorGD.py, 因为之前我配置了一个基于文本的baidu.py, 而这个具有多合一的脚本却支持html显示效果更好,所以专门开此博客来记录此脚本,同时准备基于其他翻译api不断优化和增加该脚本功能。

阅读全文 »

2023年11月13日, 实现了使用dtx编写python及其他程序代码的工作,这带来的好处就是可以文学化编程,在LaTeX中可以详细的记录程序的编写思路和使用方法,但是仍然存在一个没有解决的问题: 提取程序源码的过程中自动建立文件夹,并把源程序放在文件夹中。本身这个工作可以单独建立一个文件夹然后再执行分离程序,但是考虑到二合一文件的目标就是为了方便维护单一文件,所以需要添加这个LaTeX自动创建文件夹的功能。

阅读全文 »

申请百度翻译ID和KEY

由于zotero翻译插件的需要,如果使用免费的也很好用,但是翻译的速度和效果不是很好。于是决定今天尝试一下那些需要开通api的服务。由于自己本身就有百度帐号,所以直接使用百度帐号登录 翻译开放平台, 然后点击 个人开发者开通通用翻译API开发者信息右侧就可以看到申请的IDKey 了。此处可以参考 百度翻译Key申请教程

设置zotero翻译

打开zotero编辑首选项翻译翻译服务百度密钥 填入ID#Key → 配置完毕。

设置GoldenDict词典

经过百度得到一个Python脚本,为了方便使用,放在此处。

baidu.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#! /usr/bin/env python3
# vim:fenc=utf-8
#
# Copyright © 2023 feng <feng@archlinux>
#
# Distributed under terms of the MIT license.
import sys
import requests
import random
import json
from hashlib import md5

# 设置应用程序的 appid 和 appkey
appid = 'Your Baidu ID'
appkey = 'Your Baidu Key'

# 源语言和目标语言
from_lang = 'en'
to_lang = 'zh'

# API 相关参数
endpoint = 'http://api.fanyi.baidu.com'
path = '/api/trans/vip/translate'
url = endpoint + path

# 生成随机数作为 salt
def generate_salt():
return str(random.randint(32768, 65536))

# 计算签名
def calculate_sign(appid, source, salt, appkey):
sign_str = appid + source + salt + appkey
return md5(sign_str.encode('utf-8')).hexdigest()

# 发送翻译请求
def translate_text(source_text):
salt = generate_salt()
sign = calculate_sign(appid, source_text, salt, appkey)

headers = {'Content-Type': 'application/x-www-form-urlencoded'}
payload = {
'appid': appid,
'q': source_text,
'from': from_lang,
'to': to_lang,
'salt': salt,
'sign': sign
}

response = requests.post(url, params=payload, headers=headers)

if response.status_code == 200:
return response.text
else:
return None

# 提取翻译结果
def extract_translation(response_text):
try:
result = json.loads(response_text)
translations = result.get('trans_result', [])
if translations:
translation0 = translations[0]
return translation0.get('dst', '')
else:
return 'No translation result found.'
except json.JSONDecodeError:
return 'Failed to parse JSON response.'

if __name__ == "__main__":
if len(sys.argv) < 2:
print("Usage: python3 baidu.py <sentence>")
sys.exit(1)

source_text = sys.argv[1]
response_text = translate_text(source_text)
translation_text = extract_translation(response_text)
print(translation_text)

baidu.py放于GoldenDict的词曲存放目录,然后依次编辑词曲程序添加类型(纯文本)→名称(baidu) → 命令行

命令行
1
python3 /home/feng/.GoldenDict/baidu.py %GDWORD%

确认配置完毕

注意:在命令行中,必须使用绝对路径,否则不能正常使用。同时不要忘记给baidu.py赋上执行权限,即执行命令

1
sudo chmod +x /home/feng/.GoldenDict/baidu.py

在学习和工作中,需要编写程序,但是注释过多的话会影响速度,特别是对于科研工作而言 是一个很重要的参考! 对于一个脚本语言而言,其方便的地方是编程快速,但是其运行速度不如c等编译型语言,但是从整体来看,编写python之类的程序会更加方便。不写注释虽然可以提高运行速度,但是时间久了可能自己都读不懂程序在干什么及当时设计思路都无法回忆起来,更别谈及程序维护了。为了调和注释与可维护的矛盾,决定借用latex宏包的编写思路,使用dtx文件编写源码与说明文档二合一的文件,这样可以生成纯粹的无任何注释的脚本程序,同时也可以生成PDF格式的详细说明文档,不仅可以记录设计思路,还可以详细说明技术细节。

完成第一个 Python 脚本示例,实现了源码与注释的分离,使用 xetex 编译 timecristal.dtx 将获得 timecristal.py 无注释脚本程序,使用 xelatex 编译 timecristal.dtx 将会获得脚本的说明文档,详细的记录了各段代码的作用。

项目地址: https://gitlab.com/fengzhenhua/doc-python

阅读全文 »

cexam.sty是我开发的一款用来编写试题的宏包,2022年之前我是一名高中物理教师,所以在工作中不可避免的会遇到输入数学公式的问题,同时我也希望能够将自己多年的备课及解决的疑难问题记录下来,以备学生们在复习时或者刚开始学习物理的同学作为教材的补充使用.历经各种困难,最后找到了LaTeX,发现了这个举世无双的神奇软件.2016年自学了一年的宏包编写,成功解决了高中的物理数学试卷的排版问题。但是之前直接写的sty文件和cls文件,实现了选择、填空、计算等题型的自动排版,同时实现批量处理各种题型、实现数学与图片的排版、自动生成beamer文档、生成答题卡、教师与学生不同模式排版。但是后来发现,功能越多代码越复杂,很难维护,同时也少了一份使用说明,所以写本文档,有两个目的:

  • 方便代码的维护和升级;
  • 方便参考此说明使用它排版试卷。
  • 当前(2023-11-12 17:36)版本号v3.4.0
阅读全文 »