UOJ多评测机一键配置脚本

OI赛制比赛的终测,一个评测机显然是不够的。200人的比赛,要10台评测机,7分钟才能测完。(成本大概10块钱?)

但是这些评测机平时闲置着又很浪费,于是我参考uoj开源版文档,写了一个一键配置脚本。配合阿里云的机器hostname自动顺序命名来使用。

#!/bin/bash

echo STEP1
sudo apt-get update
sudo apt-get -y install apt-transport-https ca-certificates curl software-properties-common

echo STEP2
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
sudo apt-get -y update
sudo apt-get -y install docker-ce

echo STEP3
sudo service docker start 
sudo docker --version 
sudo docker pull universaloj/uoj-system:judger



# https://universaloj.github.io/post/%E5%A4%9A%E8%AF%84%E6%B5%8B%E6%9C%BA%E9%85%8D%E7%BD%AE.html

echo STEP4
echo "172.31.41.20 host.name" >> /etc/hosts


echo "UOJ_PROTOCOL=http" > judger_env.list
echo "UOJ_HOST=host.name" >> judger_env.list
echo "JUDGER_NAME=$(hostname)" >> judger_env.list
echo "JUDGER_PASSWORD=JUDGER_PASSWORD_HERE" >> judger_env.list
echo "SOCKET_PORT=2333" >> judger_env.list
echo "SOCKET_PASSWORD=SOCKET_PASSWORD_HERE" >> judger_env.list

sudo docker run --name $(hostname) -p 2333:2333 -dit --env-file judger_env.list --cap-add SYS_PTRACE universaloj/uoj-system:judger

touch ~/init_done
cat /etc/hosts
cat /etc/hosts | grep $(hostname)

todo: 尝试使用pwntools等类似工具自动化ssh,做到批量添加&删除评测机0手动。

Arduino连接两个MPU6050

关于 MPU 6050

MPU 6050是一个陀螺仪+加速度仪传感器芯片,通过I2C总线的方式与Arduino通信。

传感器还包含一个DMP(Digital Motion Processor)模块,能够对传感器的数据进行一些处理。

连接一个 MPU 6050

这篇文章描述了怎么Arduino和一个MPU-6050连接,主要是macOS上的环境配置和这篇教程

连线的方式是这样的(原图):

连接两个 MPU 6050 并在 Processing 里可视化

两个芯片的连接方式和上图一样,但是其中一个芯片AD0连接GND,另一个AD0连接3.3V,这样他们在I2C中的地址是不同的(分别是0x680x69)。

然后Arduino的代码中,可以每轮分别从两个传感器的DMP读取信息,标识好数据分别来自哪个传感器,发送给串口。

Processing里可以每轮根据串口读入的数据对3D模型的姿态进行调整。

Code在这个gist

Sublime Text 弹窗 Patch

Sublime 是一款优秀的文本编辑器。

什么,你是 vs code 用户? 那我只好推荐你用这款插件了。

正版售价$80,但是可以无限试用,不过在一定时间后会弹窗提示。

下面记录一下使用 Hopper 软件将该弹窗去掉的过程。

首先用 Hopper 打开 /Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text

Continue reading “Sublime Text 弹窗 Patch”