欲望大过了能力,由此产生了焦虑

pycurl多进程下载数据

在我为组里写的海雾反演工具包中,有一个葵花卫星数据下载的函数。因为葵花卫星数据是通过FTP方式下载的,而Python的requests库又不支持FTP协议,所以只好借助了pycurl来下载数据。

最近葵花数据的下载异常的慢,而pycurl似乎没有多线程下载的功能(我在撰写这篇发现pycurl中有一个CurlMulti对象,似乎可以通过该对象实现在一个Python进程中同时下载多个数据片段),pycurl对多线程的支持也不好,无奈只能自己想办法实现多进程下载的功能了。

pycurl多进程下载数据

使用meson构建打包Python包

最近在重构组里的代码上遇到一件稍微棘手的事情。导师的旧代码是使用Fortran编写的,其对一些Python无法方便读取的二进制数据做了非常精细的操作,导致将代码完全Python化的难度直线上升。折衷的方案是通过使用numpy.f2py工具,将Fortran代码转换成Python扩展,这样就引入了新的问题,如何将扩展的编译融合进Python包的打包和安装过程中。

meson构建系统是我在几个月前无意中了解到的新工具,其包含了能够帮助编译和打包的Python模块,并且现有的一些项目都已完全将meson作为后端,例如scipynumpy。因此我决定将这作为一个练手的机会,使用meson来帮助构建这个Python包。

使用meson构建打包Python包

使用cfgrib将数据保存为GRIB文件

最近想要将导师的WRF工具包里的一些功能使用Python重写,因为想要使用优雅的方式实现,所以不可避免的涉及到了GRIB文件的读写。花了两天时间摸清楚了如何将数据写入GRIB文件,期间还遇到一些比较奇怪的问题。

使用cfgrib将数据保存为GRIB文件

在Ubuntu 22.04服务器上配置VNC服务

今天想登陆进组里的Ubuntu服务器查看一下网络是如何配置的,因为之前是直接在图形界面设置的,但是现在服务器在机房懒得进去,就干脆研究了一下怎么设置VNC服务端,好远程连进去。

网上搜索了一大堆教程,全都是抄来抄去教你怎么配置xstartup文件,明明ArchWiki上就有相关的教程,简单设置一下就好了。

在Ubuntu 22.04服务器上配置VNC服务

配置dnsmasq使用DoH

最近学院的网络异常的差,DNS查询也异常的慢。索性升级一下台式dnsmasq的配置,使用DoH来解析DNS。这样DNS的解析请求就可以通过台式配置好的SSH隧道使用服务器的代理。

配置dnsmasq使用DoH

撸一个禁止Windows自动更新的脚本

忽然翻到了之前自己写的一个禁止Windows自动更新的脚本,记录一下

撸一个禁止Windows自动更新的脚本

电脑通过USB连接树莓派Zero(Bad USB)

最近正在不断的修改代码、训练模型,每次训练都至少需要40分钟左右的时间,实在是无聊。所以又拿出了我的树莓派Zero 2W,看看所谓的BadUSB怎么搞。

其实大概一两年前我就搞过,但是在我的Arch系统上完全复现不出网上的那些教程所谓的最后效果。试过了包括但不限于来自CSDN,StackOverflow,UbuntuAsk等各大论坛上的教程,各种配置都试过了,但是效果就是不好(至少在我的Arch系统上不好)。真是可恶啊,小小的一个事情竟然没有一个比较靠谱的实现教程。

经过参考著名的USB攻击平台项目 P4wnP1 的设置,我截取了其中的部分代码进行了设置,最终完成了电脑通过USB连接树莓派Zero这个目标。

电脑通过USB连接树莓派Zero(Bad USB)

Linux下STM32的开发环境配置和烧录指令

最近做海雾的预报比较无聊,总得找个东西打发时间,于是翻出了大概两年前嫖的别人的板子。当时他们的创业园办公室要被收回了,于是我就去捡垃圾,看看有什么好东西。然后就搞到了这块STM32F103VET6野火指南者板子,上面还有一块屏幕,挺香的。

翻了一下野火官方的教学视频,发现是用的Keil开发的,但是我的Arch没法运行Keil,所以又花了两天时间弄清楚如何在Arch上开发,编译,烧录STM32的程序。

Linux下STM32的开发环境配置和烧录指令

PyQt中的国际化问题

最近自己搞的海雾识别可视化界面已经基本完善可用了,唯一的不足就是没有弄国际化。因为网上有关 PyQt 国际化的示例实在是太不全了,方法五花八门,甚至连 Stack Overflow 上都没有很好的解决方法。经过自己的不断搜索,以及阅读 PyQt 上的手册,终于搞明白了 PyQt5 和 PyQt6 两个版本 PyQt 国际化的方法。

image-20231105205151967
PyQt中的国际化问题

matplotlib中非对称的Colormap

女朋友说想画一个非对称的Colormap的图出来(也即0还是对应于白色,但是两侧的数值范围是不一样的),于是就研究了一下,最后的效果如下

image-20231020110103054
matplotlib中非对称的Colormap