Copy-Paste in Hyprland across Wayland & XWayland
After a certain upgrade of hyprland, I can no longer copy&paste across Wayland & XWayland apps, which is very annoying.
The relatied issue: https://github.com/hyprwm/Hyprland/issues/6132
Maybe fixed in: https://github.com/hyprwm/Hyprland/pull/6086
According to 6132 issue, some provide a walk around. I tailored it to adapt it to my system.
Create a shell in ~
directory, named clipsync.sh
1 | !/usr/bin/env sh |
alias in ~/.zshrc
:
1 | alias clipsync="~/clipsync.sh" |
enable it by running
1 | clipsync watch |
kill all by running
1 | clipsync kill |
Self-start, configured in ~/.config/hyprland/hyprland.conf
1 | exec-once = clipsync watch |
REMEMBER TO REMOVE ALL THESE STUFF WHEN HYPRLAND HAS FIXED THE ISSUE
Solved in ISSUE 6086
新的Input System:https://gamedevbeginner.com/input-in-unity-made-easy-complete-guide-to-the-new-system/#how_to_manage_input
目前的想法是将unity的physx和mujoco结合在一起,简化physx的对于相对运动很少的刚体间的物理解算。
Mujoco:https://mujoco.readthedocs.io/en/latest/unity.html
System used: Archlinux
clangd
vscode
, vim/neovim
STM32CubeMX is mainly responsible for generating the project with your configuration.
For Distro like Ubuntu/Debain, you can go to the ST official site
Or you can install the software through distro repository
1 | yay -S stm32cubemx |
For Arch, you need to modify the AUR repository (I mean, maybe the maintainer doesn’t do a good job).
The URL for the repository:https://aur.archlinux.org/packages/stm32cubemx
First clone the repository
1 | git clone https://aur.archlinux.org/stm32cubemx.git |
Modify the required jdk version in file stm32cubemx.sh
from exec archlinux-java-run --min 17 -- -jar /opt/stm32cubemx/STM32CubeMX "$@"
to exec archlinux-java-run --min 17 --max 20 -- -jar /opt/stm32cubemx/STM32CubeMX "$@"
Then build and install the STM32CubeMX
1 | makepkg --noconfirm --skipinteg -si |
Since STM32CubeMX is not compatible with jdk22 (which is the default jdk that arch is currently using), you need to install jdk17 through yay -S jdk17-openjdk
Then you can start STM32CubeMX by running stm32cubemx
, and hopefully, everything is fine.
Use arm-none-eabi-gcc
1 | yay -S arm-none-eabi-gcc |
Use OpenOCD
to burn and debug STM32 through STLink v2 (the blue USB device provided by us).
1 | yay -S openocd |
Open your STM32CubeMX, follow the instruction of Lab1.pdf
to configure your project.
NOTE: In Project Manage -> Project -> Project Settings -> Toolchain / IDE
, use Makefile/CMake
.
Generate the code and go to the project directory (with Makefile
/CMakeLists.txt
in the directory).
Then you need to generate the compile_commands.json
for clangd
to recognize the project.
1 | bear -- make |
1 | cmake -S ./ -B ./build |
1 | make |
Then target binary file is ./build/<Project Name>.bin
1 | cmake --build ./build |
Then target binary file is ./build/<Project Name>.elf
Use OpenOCD
to load the binary file to the board.
1 | sudo openocd -f /usr/share/openocd/scripts/interface/stlink.cfg -f /usr/share/openocd/scripts/target/stm32f1x.cfg -c "program ./build/<Project Name>.bin reset exit 0x8000000" |
1 | Open On-Chip Debugger 0.12.0 |
NOTE: In different Distro, the cfg
file for OpenOCD
may locate in different directories. You need to find it by yourselves.
Note: When uploading binary file to STM32, it’s recommended to use .bin
file instead of .elf
file.
Please use the following script to convert the .elf
to .bin
and upload.
1 | cmake -DCMAKE_EXPORT_COMPILE_COMMANDS=ON . |
You have three possible choices. I recommend using Ozone.
reference:
https://rohanrhu.github.io/gdb-frontend/tutorials/embedded-debugging/
reference:
https://blog.csdn.net/qq_41757528/article/details/127741620
reference:
https://blog.csdn.net/weixin_41572450/article/details/124710818
Maybe the best debug tool for stm32
To use segger ozone, you need a different linker called jlink (originally we use st-link v2). You need to buy this linker first (maybe on Taobao or Amazon).
Install Ozone through:
1 | yay -S ozone |
.elf
is recommended).set some breakpoints and watch some variables of your interest.
Press the green “power” icon on the upper left corner to start (upload the program and start the debugging process)
Press the blue “play” icon besides “power” to continue.
The source code repository:https://github.com/unpbook/unpv13e
1 | git clone https://github.com/unpbook/unpv13e |
Configure the makefile for your system:
1 | CC=gcc CFLAGS=-w CPPFLAGS=-w ./configure |
In archlinux, if you use
./configure
directly, you will getWimplicit
compile error in the following steps.
Build the dependence library.
1 | cd lib |
You can test by using the sample program
1 | cd ../intro |
If you get error
1 | connect error: Connection refused |
You need to install xinetd
, configure it and start the service
1 | yay -S xinetd |
And run daytimetcpcli
again, you will get something like
1 | 16 MAY 2024 14:09:07 CST |
Then, you are all set.
philosophy will never judge the correctness of reality while ideology will.
关于ideology,例如苏联的连环杀人狂,在资本世界才有连环杀人于是苏联对于自己国家的杀人狂不追查,认为不存在。
The philosophy of relation.
Doesn’t judge anything, just describe all the interaction.(unlike morality)
There is no reason for that. The reason is simply because of being.
Dead-end for ethical argument.
The ends justify the means(the efforts for getting the result).
Besiege
需要更高的建造自由度:例如刚体零件的顶点自定义,3轴移动,3轴旋转,3轴缩放。
可视化内容更丰富:例如碰撞箱,连接点。
目前还是使用phsX引擎,考虑一下GPU加速这块功能。
零件之间的连接考虑使用joint以外的方式,特别是某些刚性连接。
参考我写的BesiegeModern Mod
{金属,木,玻璃}
需要自己写shader material实现该功能。
譬如撞击变形,高速击穿之类的
很难
在已有父刚体在运行中,更改碰撞箱布置是非常耗费性能的。
自定义场景元素
参考mc机械动力模组的“思索”
animation制作
起部分教程作用,添加沉浸感,吸引一些非硬核玩家
难,可能对电脑性能有较高要求。
unity shader
unity animation
美术相关工具
物理引擎Game Physics Engine Development
unity URP
考虑到便携易学,放寝室里也不会占太多空间,入了尤克里里(虽然貌似ysn前不久还在wb吐槽过)。300块在闲鱼收了一架单板相思木的尤克里里。
下面就暂且记录一下尤克里里的学习过程吧。
https://www.bilibili.com/video/BV1d2421T7xJ/?spm_id_from=333.337.search-card.all.click&vd_source=45fc7197aaca220eec8fef4c2711efe3
进度:
7/19:11小节,前奏的速度终于可以跟上了。好好听。
7/20:17小节,后面的指弹琶音好难,横按也按不到位。
7/27:27小节,横按还是效果不好,但至少能出音了,就是不是很稳定。录了个小视频。
9/20:卡在38小节扫弦,节奏掌握不好
泛音扫弦到底是怎么做到的。。
easy啦
海鲜市场在众多鲁琴中找到一把GRG221PA1 classic拾音器的电吉他,遂购入。音箱用marshell的ms2迷你音箱,方便寝室里使用,暂且不连效果器。
看到学吉他分为这么些个级别:
我要做吉他🦸!
拟题:
基于混合现实的智能体交互
具体功能:
通过hololens2获取场景数据(识别小车/其他物体的位置,网格信息)。
通过hololens2的立体空间交互能力,指挥小车进行移动,执行任务(譬如抓取柱体并移动到相应位置)。