OS Project中简单的缓存优化

最近在做()操作系统的project。

整个系统基本照着《30天自制操作系统》(OSASK)这本书上的代码写。不过,我在系统UI方面一直是颜控,这样做出来的操作系统只有256色,而且处处受制于所谓的调色板,界面连我自己都看不下去。经过参考其他hobby OS的代码,发现了multiboot这一系统规范,其中最吸引我的就是32位颜色以及最高4k分辨率(需要efi)的原生支持。

使用HomeBridge监测LEDE/OpenWrt路由器温度

HomeBridge对iOS用户来说是个非常实用的工具,它可以把几乎任何不支持HomeKit的智能硬件桥接到HomeKit上。

LEDE是著名开源路由器系统项目OpenWrt的继任者。它继承了OpenWrt极高的自由度和海量的插件,可以轻松实现广告过滤、PT挂种、Samba共享等强大且实用的功能。同时,它也带来了很多问题,最麻烦的就是发热。随便运行几个插件就能让温度稳在80℃以上,在夏天尤其危险。温度过高轻则导致路由器重启,重则烧坏芯片,所以随时了解路由器温度显得十分重要。

iOS版osu!(iosu!)开坑

项目地址:https://github.com/imxieyi/iosu

目前实现的功能:

  1. 用iTunes导入歌曲文件夹
  2. 读取并解析.osu谱面(不完整)
  3. 绘制HitCircle(包括Slider中的HitCircle)
  4. 读取.osu和.osb中的StoryBoard
  5. 解析并播放StoryBoard(初步实现)

StoryBoard播放演示视频:
http://www.bilibili.com/video/av9580463
http://www.bilibili.com/video/av9582040
http://www.bilibili.com/video/av9582174
http://www.bilibili.com/video/av9582511

以下是废话:

在vscode中集成msys2终端

vscode是微软出品的代码编辑器。这个编辑器原生支持C、C++等语言的编译运行和调试,也可以通过插件实现其他语言的调试。它还有一个内置的终端功能,默认使用powershell。然而有些时候我们需要的是msys2这种类Linux环境而不是纯windows命令行。比如ESP-IDF就要求在msys2的环境下编译,cmd和powershell下均会报错。这种情况下就需要把vscode内置的终端替换成msys2。

用ESP32和HomeBridge做支持HomeKit的RGB LED

用过ios10的人都知道苹果在ios10中加入了“家庭”应用,然而几乎没人知道这个应用有什么作用。苹果官网在ios10的介绍页面上对此有说明,说白了就是用来管理及控制智能硬件的应用。
目前市场上支持HomeKit的硬件少之又少,而且价格都非常高。按照苹果一贯的尿性,通讯协议不公开。在各路大神的努力下,成功找到了HomeKit的通讯协议,并用各种语言实现,比如HomeControl即为Go语言实现的HomeKit。
HomeBridge是用Nodejs实现的HomeKit网关,支持通过插件添加各种配件,homebridge-better-http-rgb就是其中之一,使用HTTP协议控制一个智能灯。
由于用Nodejs编写,HomeBridge可以非常容易的安装到各种支持的平台上,比如树莓派。
废话不多说,直接上代码:
https://github.com/imxieyi/esp32-rgb-homebridge
目前版本虽然能够实现用ios设备控制灯的亮度及颜色等参数,甚至能用Siri控制,但是稳定性有待加强。同时,在后期可以考虑直接用ESP32实现HomeKit协议,这样就不需要HomeBridge做中继了。

利用简单的PowerShell脚本实现尔雅网课暂停检测

俗话说:科技让生活更美好。面对让人头疼的思政课,尤其是以网课形式上的思政课,相信没有几个人有兴趣听下去。超星尔雅这个网课平台被很多高校使用,经过多年以来与学生斗智斗勇,它已经拥有各种防止刷课的机制:每个视频中间都会弹题,每一章内容都被细分到极致,鼠标离开播放器就暂停,甚至能检测出刷课软件。
于是,身边很多同学选择了妥协,他们中有的在刷网课的同时写作业、玩手机,有的用另一台设备播放网课。然而这两种方法有个共同的缺点:你必须留出一部分注意力去关注网课是否暂停,而这非常distractive。
我想,能不能让播放器更“智能”一点呢?即我们完全不用去刻意关注网课播放状态,甚至不用听声音,网课一旦暂停就会主动提醒我们去答题。

|