Emlog 迁移至 WordPress

作为一个 Emlog 4 年多的用户同时也是众多参与 Emlog 开发者中的一员,做出这个决定确实很难。不过 Emlog 的长期荒废,加上论坛里高质量的内容越来越少。这个也是势在必行。 最后一根稻草是:混乱的社区。于是乎,最后转向了 WordPress。 说道迁移,最麻烦的时数据的备份,之前也想过迁移,但是总是在最后一步卡住了,因为缺少一个合适的工具进行数据的导入导出。自己写的话,比较麻烦,因为对…

2018 的目标

这个时间定下这个目标似乎有些晚了,不过也算是对之前的目标的一个总结: 不过这段时间的训练下来,总的来说还算是比较满意的。 Codeforce 因为才打了两场,…, 目前稳定在了蓝名,6000 名,LeetCode 目前是 2500 名,HackerRank 目前是 4000 名。 接下来的目的就是将 CF 达到紫名,然后 LC 刷进 1000,HR 就打进 2000 吧。 过段时间找到合适的网…

Gruvbox 显示 Syntastic 语法报错信息

Vim 的 Gruvbox 配色方案现在取代了我使用了两年的 Solarized,因为他的分辨率更胜一筹。所以,我决定了后者开始了退役。但是,遇到一个问题,因为 Syntastic 语法检测的时候,他和我现在使用的代码自动格式化插件有冲突。 在格式化之后,他的错误前标(sign)会出现在错误的位置。所以,为了更方便的查找错误,我一般是开语法错误高亮的。就像如下的效果: 但是在使用了 Gruvbox…

使用非均匀量化处理图像数据

这篇文章其实也算是 “信息编码论” 的一个课程作业的总结吧. 因为之前对图像的处理, 基本都是作为一个 lib-caller , 对其中的原理部分一知半解. 正好研究生有这么个选修课程, 于是就硬着头皮选修了. 然后其中的一个实验就是要求实现一个 jpeg 压缩算法. 然后比较每个人的压缩效率, 同时还要比较信噪比. 所以正好有这个机会可以来尝试下好玩的部分. 我们首先拿到…

使用 C 尝试内存管理

在之前苦读『垃圾回收的算法与实现』,也想着什么时候能够自己手动实现一把。加上自己对 redis 也还是算熟悉,也是知道他的内存碎片问题的严重性。所以,就想着这两者结合看看能有什么好玩的地方。 首先就是,如何进行内存的管理。众所周知,C 的内存管理通常使用 malloc 和 free 两个操作进行,于是乎,如果我们需要进行申请堆区的内存空间,(以下的讨论通通以堆区申请内存空间为主,栈区分配的内存通通…

Makefile 的多目录结构写法

因为最近迷上了 C 语言。所以开始进行的一些项目的编写都是采用的 C 语言。这么就会带来一个小的问题,就是 makefile 的写法问题。 比如一个目录结构是这样的: . ├── LICENSE ├── ReadMe.md ├── TODO.md ├── makefile ├── src │   ├── makefile │   └── … └── te…

如何阅读 C 语言的声明

众所周知,C 语言的一大难点就在于变量声明。 比如说如下的几个例子: char* const *(*next)(); char *(*c[10])(int **p); void (*signal(int, void(*)(int)))(int); 基本上每一个都是晦涩难懂,看了简直像杀人。但其实也是相对来会所比较简单的一个。如果熟悉编译原理,其实可以通过人脑编译器的手段来解决难懂问题。毕竟,代码也…

C 的假装 OOP 写法

之前微博上说 C 的一个好处就是没有什么是一个 void* 解决不了的,然后因为自己用 C 写一个小程序,遇到了一个问题,就是因为 C 是强类型,但是如果需要写一个相对通用的数据结构。这个稍微有点麻烦。 比如说,hashmap,我们常用的都是 <string, string> 的一个 map,于是,相对来说的话,hash 函数比较容易。但是,如果是需要实现 Java 那样的通用数据结构…

Android Webview 加载额外 CSS

这个需求也是挺好玩的。主要是因为女朋友用的一个 APP,是城市里面的一个实时公交的 APP。但是作为一个会点代码的人,一看到这么一个 APP,第一反应是,为什么这种粗制滥造的 APP 可以存活于世,而且还是政府单位发布的。 本着,吐槽一个东西,就要拿出一个比他更好的解决方案的思路,所以我就花了将近一个下午的时间。重新做了一个 APP 送给她。 其实,APP 的难度很低,主要是实现思路比较好玩。熟悉…