【WIP】Rime(1):介绍与安装

【WIP】Rime(1):介绍与安装

图源:@爱卿 《夏》 82079855

什么是 Rime?

RIME,官方中文名称为“中州韻”(即“中州韵”,中原之韵),是一款开源的轻量的跨平台输入法库,由佛振等人开发。源代码现托管在 Github 上:rime/librime。Rime 具有很强的扩展性和可定制性——你可以使用 Lua 编写它的插件,也可以通过自定义配置文件实现自己研发的、更加高效的汉字输入方案,或者实现多语言混合输入,又或者你只是想在各个平台上获得统一的文字输入体验。这一特性使得强大的 Rime 在使用上拥有无限的可能性。本文是 Rime 系列的第一篇,主要记录 Rime 在各个平台下的安装,及其基础的使用方法。

如何安装 Rime?

Librime 是一个开源的输入法库。库像是一种”后端“,不能直接用于文字输入。需要和配套的“前端”(一说“发行版”)一起使用。“前端”也已有不少实现,列举使用人数较多的输入法“前端”如下:

  • rime/squirrel,中文名为“鼠须管”,macOS 下的输入法前端;
  • rime/weasel,中文名为“小狼毫”,Windows 下的输入法前端;
  • osfans/trime,中文名为“同文输入法”,Android 下的输入法前端;
  • jimmy54/iRime,中文名为“iRime输入法”,iOS 下的输入法前端,注意有应用内购付费,而且有人反映其并未严格按照Rime前端统一的规范加载配置文件;
  • rime/ibus-rime,Linux 下的输入法前端,基于 IBus;
  • fcitx-rime,Linux 下的输入法前端,基于 Fcitx

或者你也可以利用librime,编写自己的输入法前端。

Windows - Weasel

Weasel可以直接在Rime的官网下载安装,也可以手动编译安装。截止本文写作之时,Rime官方发布的稳定版本为0.14.3,采用librime 1.5.3版本,更新于2019年6月22日。而librime的最新版本已迭代至了1.7.2,修复了不少错误并且向后兼容。因此强烈推荐手动编译新版本并安装。

编译所需环境:

  • Visual Studio 2017
  • Boost 1.69.0
  • CMake
  • NSIS
  • Git、7z、Wget for Windows等常见工具

下面简单叙述步骤。

阅读更多
【WIP】CMU 15-462 笔记 Part.1

【WIP】CMU 15-462 笔记 Part.1

图片来源:@Lifeline 88401620

增补(感谢@oyiadin):本系列笔记将添加《Games 101:现代计算机图形学入门》、《Games 102:几何建模与处理》、“龙书”(《Introduction to 3D Game Programming with DirectX 12》)三个额外来源的笔记。大段的非CMU课程的笔记会在显著位置标识。

Lecture 1

什么是计算机图形学

计算机图形学:利用计算机合成视觉信息或利用计算机合成/操控感官信息的学科。

计算机图形学的应用

  • 影视

  • 动画

  • 游戏

  • 数据可视化

  • 工业设计,平面设计

  • 数字绘画

  • 虚拟现实

    相同的内容后续整理VR课笔记时不再赘述。

    • 虚拟现实(VR):指所看到的一切均为虚拟的,比如虚拟现实游戏、虚拟现实视频等。

    • 增强现实(AR):指看到的是真实的现实 + 虚拟的、对当前现实进行分析处理或修改等生成的虚拟事物,比如Apple ARkit。

    • 混合现实(MR):VR + AR,使用类似VR的手段,达到AR这种结合当前现实与虚拟事物的效果,比如Hololens。

  • 制造业(3D打印)

  • 模拟

  • 排版与字体设计

    • “The Quick Brown Fox Jumps Over The Lazy Dog”:一句有意义的英文句子,内含全部的26个英文字母,常用来对字体(字形、字号、间距等)进行测试。

    • “Lorem ipsum dolor sit amet, consectetur adipisicing elit.”:又叫“乱数假文”或者“哑元文本”。主要的目的为测试文章或文字在不同字型、版型下看起来的效果。更多资料请查阅:https://cn.lipsum.com/

  • ……

计算机图形学与计算机视觉的区别

计算机图形学:将数据转化为图形。也就是“画出来”。

计算机视觉:将图形转化为数据。也就是“看到”。

计算机图形学需要哪些基础

  • 表示方法(编码)

  • 采样与混叠

  • 数学方法(表示动态和三位形体)

  • 光线

  • 透视

  • ……

对正方体建个模?

  • 如何表示

    • 顶点:利用坐标

    • 边:利用边的两个顶点唯一确定

  • 如何绘制

    • 三维图形转化为二维图形:小孔成像模型

      设相机坐标为 $(a,b,c)$ ,待确定点的坐标为 $(x,y,z)$ 。要得到该点在二维平面上的坐标,可进行如下算法步骤:

      1. $(x,y,z)$ 与 $(a,b,c)$ 相减,得到原三维点与摄像机的相对位置;

      2. 将其中的 $(x,y)$ 与 $z$ 相除,得到 $(\frac{x}{z},\frac{y}{z})$,即是所求的 $(u,v)$。

    • 连线。这就要细说到电脑如何绘制直线。

阅读更多
ASUS C302CA Chromebook 安装 Linux 和 Windows

ASUS C302CA Chromebook 安装 Linux 和 Windows

图源:@山桂贰 87141455

最近在咸鱼上淘到了一个二手的华硕 Chromebook(具体型号是 ASUS C302CA)。四核 M3-6Y30 + 8G 运行内存+ 32G eMMC 存储 + 12.5 寸触摸屏,虽然机身有少量磕碰,笔记本的转折铰链也有问题,但 800 元的价格着实实惠。

机器寄过来的时候依然是原装系统(Power Wash 过的 Chrome OS)。写个文章记录一将 OS 从 Chrome OS 换成 Manjaro 和 Windows 10 的过程。

拆写保护(WP)螺丝

Chromebook 的 BIOS 都是为了配合 Chrome OS 而特殊定做的,因此无法用来启动其他操作系统,没有 BIOS 设置界面,也无法升级 BIOS。但是可能是出于修理和防止可能的 BIOS 紧急固件更新,制造商仍然允许使用者解除 BIOS 的写入保护。常见的保护方式在 Chromium Projects Wiki 里有详细说明:

Application Processor (AP) Firmware

AP firmware (also known as “SOC firmware”, “host firmware”, “main firmware” or even “BIOS”) typically resides on a SPI ROM. Protection registers on the SPI ROM are programmed to protect the read-only region, and these registers normally cannot be modified while the SPI ROM WP (write protect) pin is asserted. This pin is asserted through various physical means (see below), but with effort, users can unprotect devices they own.

Embedded Controller (EC) Firmware

The Chrome OS Embedded Controller (EC) typically has a WP input pin driven by the same hardware that generates SOC firmware write protect. While this pin is asserted, certain debug features (eg. arbitrary I2C access through host commands) are locked out. Some ECs load code from external storage, and for these ECs, RO protection works similar to SOC firmware RO protection (WP pin is asserted to EC SPI ROM). Other ECs use internal flash, and these ECs emulate SPI ROM protection registers, disabling write access to certain regions while the WP pin is asserted.

阅读更多

【WIP】C 语言拾遗 Part.1

long 与 long long

long 一般占用4~8字节,long long 至少 占用8个字节。不同的平台和编译器,长度可能不同。

sizeof() 运算符

注意 sizeof() 属于运算符的一种,这个运算符用于测量括号内的变量(或类型)占用的字节数量。多数情况下,这一数量在编译时确定,因此 sizeof() 的运行结果是一个编译时常量。但也有例外,如C99标准引入的变长数组特性。该类数组的size需在程序运行时、数组开辟后确定。

由于是编译时常量,括号内如果是表达式,则表达式不会被执行。

1
2
3
int a = 1; // a = 1
int b = sizeof(a++); // b = 4
// a = 1, a++ 没有执行

浮点数精度问题

老生长谈的话题了。由于误差,以下的逻辑判断结果都是成立(1):

1
2
(0.1 + 0.1 + 0.1) != 0.3; // 1;
1 + (1e123 - 1e123) != (1 + 1e123) - 1e123; // 1;

没有 body 的 for 循环

可以写成如下形式:

1
2
3
for(i = 0; i < 10; i++) {
;
}

或者如下形式:

1
for(i = 0; i < 10; i++);
阅读更多

【WIP】数字图像处理 笔记 Part.1

课程笔记,筛选重点记录。

Bartlane电缆图像传输系统

Bartlane系统由哈里·G·巴塞洛缪和梅纳德·D·麦克法兰发明于1920年,因此以他们的名字命名。Bartlane系统于1921年第一次横跨大西洋传送了一张新闻照片。照片可以通过Bartlane系统在三个小时内传输到大西洋对岸。照片为有线传输进行了特殊编码,并由接收端的电报打印机重新绘制出来。传输的图像最初为5级灰度,在1929年增加到了15级。

这是数字图像的首次应用——即,数字图像技术被首次应用于新闻行业中。

模拟图像处理

模拟图像处理包括对光的直接处理(如使用透镜等)和对电流的直接处理(指未经采样和量化的连续电流)。例如:传统胶片摄影、遥感图像处理、电视信号处理等。

优点:

  • 高速,可达到几乎实时的处理速度,理论上处理速度与光子传播速率等同。

  • 可并行处理。

缺点:

  • 精确度差。虽然信号处理前具有无限细节,但是处理时易引入误差和噪声。

  • 灵活性差。以模拟方式存储和传输图像往往需要价格高昂的设备,而且过程缓慢(或在保证实时的前提下数据量不高)。

为什么将图像数字化?

  • 精准度高。具体表现在能够完美保证处理结果的一致性、完美复制处理后的结果。

  • 利用当代计算机驱动的强大算力。性能足够的前提下可实现远超模拟图像处理复杂度的图像处理流程,且使用软件实现,简单方便。

  • 传输与储存方便。如今网络可在几秒内传输高清图像,或在带宽足够时传输高比特率视频。

阅读更多

【WIP】算法与数据结构 回顾笔记 Part.1

由于高中接触过,所以这里记一些大纲、注意事项、概念和模板之类的东西。

算法与数据结构大纲

数据结构

  • 一维:

    • 基础:数组(Array),链表(Linked list)

    • 高级:栈(Stack),队列(Queue),双端队列(Deque),集合(Set),映射(Map)等。

  • 二维:

    • 基础:树(Tree),图(Graph)

    • 高级:二叉搜索树(BST),堆(Heap),并查集(Disjoint Set),字典树(Trie)等。

  • 特殊结构:

    • 位运算(Bitwise),布隆过滤器(BloomFilter)

    • 缓存(LRU)

    • ……

  • ……

算法

  • 分支(if-else,switch)

  • 迭代(for,while)

  • 递归(分治法,回溯法等)

  • 搜索(深搜,广搜,A* 等)

  • 动态规划

  • 二分查找

  • 贪心

  • 计算几何

  • ……

Your browser is out-of-date!

Update your browser to view this website correctly.&npsb;Update my browser now

×