ココロ

ココロ

41 posts
「翻译」数字漫画协会 EPUB3 固定布局 规格指南 ver.1.0
EPUB3

「翻译」数字漫画协会 EPUB3 固定布局 规格指南 ver.1.0

本指南是用于漫画电子书制作开发和阅读器(RS)的 EPUB3 固定布局规范的总结。 目前,IDPF(国际数字出版论坛 International Digital Publishing Forum)指定的 EPUB3 规范中允许多样的写法,这导致了各方制作的文件有差别,因阅读器的差异不能顺利显示的情况。希望本指南的使用,能促进数字漫画的制作和出版,使尽可能更多的漫画在尽可能更多的电子书店上架,为读者带来丰富的阅读体验。

短视频局部区域静态化
OpenCV

短视频局部区域静态化

.-..-..-. 潜水高清群,有群友需要将短视频画面中的部分区域静态化,看了一下最简单的处理办法就是找到矩形区域的相关坐标,然后用 ffmpeg 根据坐标值直接替换每一帧矩形区域内的像素点。通俗一点讲就是将一张图片盖在一段视频的某部分区域上,达到部分区域静态化的效果。 简单的,可以通过 ffmpeg 的 overlay 参数达到这一效果。大概是这么写的命令?(我没实际使用过) ffmpeg -i input -i logo -filter_complex 'overlay=10:main_h-overlay_

Mining

使用服务器空闲的 CPU 资源挖矿

这里介绍一下门罗币的挖矿方法。 门罗币钱包 首先你需要一个钱包用来保存你挖矿所得的币值,这里推荐使用门罗币官方钱包:https://mymonero.com 注册方式非常简单,点击首页的 Create an Account 进入到注册页面,然后将 Private Login Key 妥善保存,并且复制粘贴到下方的输入框中确认。 这个 Private Login Key 非常的重要,相当于你的账号密码,建议电子档纸质档各保存一份。以后登录钱包就是通过这个 Private Login Key 来的。 登录进自己账号,就可以看到自己的钱包地址了,这个地址在接下来配置挖矿程序的时候有用。 选择矿池 我个人试用过的矿池 xmr.nanopool.org 和 coinfoundry.org/pool/xmr

树莓派

毕业设计制作记录

2018/6/3 2018/6/2 后天毕设答辩,今天急急忙忙做了一个木盒子。当了一整天的木工。 2018/3/20 准备开题报告、文献翻译还有文献综述。 2018/3/19 终于把 opencv 编译安装上了。 ?? 今天投了一份简历校招找工作了,在准备面试,所以没做太多的新东西。 2018/3/18 更新两张图 DHT11 温湿度传感器 新买的传感器,可以同时测出温度和湿度,用来代替以前用到的 DS18B20。 DHT11 工作原理资料 https://cdn-shop.adafruit.com/datasheets/DHT11-chinese.pdf 人体红外传感器 2018/

Qt

macOS Qt Creator 配置 OpenCV

先用 Homebrew 安装 opencv: brew tap homebrew/science brew install opencv3 或者去官网下载源码手动编译也行。 Homebrew 安装的目录在 /usr/local/Cellar/opencv/<version>/,但是一般都会做一个符号链接到 /usr/local/lib 和 /usr/local/include,所以不管是用哪种方法安装的 opencv,建议最好都使用这个路径。 然后在 Qt Creator 的项目设置里,添加 /usr/local/bin 到环境变量 PATH 里去: 如果使用的

C/C++

C++ 多线程编程尝试

在开发 animeloop-cli 的时候,考虑到某些使用者机器是服务器版多核心多线程 CPU ,需要添加程序运行多核心支持。 大致尝试了几种多线程编程方法。 OpenMP OpenMP 用于共享内存并行系统的多线程程序设计的一套指导性注释(Compiler Directive)。 首先用一段简单的代码展示 OpenMP 最基础的使用: #include <iostream> #include <omp.h> int main() { #pragma omp parallel for for (int i = 0; i < 10; ++i) { std::cout << i; } return

illustration2vec

为 Animeloop 生成标签

截止目前 animeloop.org 已经有 410 series, 4153 episodes, 174905 loops 这么大量的数据了。但是这些数据都还只是原始数据,没有任何的标签记录。 这次借助 illustration2vec 这个项目来给每个 loop 生成一些标签,让这些大量的数据直接相互联系、进行分类。 illustration2vec 目前由于很长一段时间没维护了,直接运行起来有点问题,有些许代码行段落需要 fix 一些,所以这里就直接 fork 了一份来修复暂时用着,项目代码仓库:https://github.com/moeoverflow/illustration2vec。 运行程序得到的原始数据(Raw Data): [{'character': [(u'hatsune miku', 0.9999994039535522)], 'copyright':

Arch

ARCH LINUX TIPS

修复 N 卡显示画面撕裂问题 Nvidia Tearing [1] 无论使用哪种 compositor ,画面撕裂可以通过强制 full composition pipeline 解决。 测试此选项是否可用,请运行: nvidia-settings --assign CurrentMetaMode="nvidia-auto-select +0+0 { ForceFullCompositionPipeline = On }" 如果以上操作有效的话,为了使设置效果永久生效,必须在 Xorg 配置文件中写入相应配置。具体设置应该开启 TripleBuffering 并且 AllowIndirectGLXProtocol 设置为禁用。配置案例如下: # edit /etc/X11/xorg.conf.d/20-nvidia.conf

toilet

使用 Toilet 生成 SSH banner

无事水一发。 以前登录远程服务器,欢迎信息都在过于单调了,于是想要生成一些有意思的画面显示出来。 网上搜索了一下,找到了 Toilet 这个 ASCII Art 软件。 安装很简单的不用多说了, sudo apt-get install toilet 安装完成之后输入 toilet -h,先看看使用说明。 $ toilet -h -f, --font <name> select the font -d, --directory <dir> specify font directory -s, -S, -k, -W, -o render

animeloop

Animeloop 项目计划

https://animeloop.org 这个项目的主要目标是自动生成并收集动漫画面当中有趣的可循环片段,比如下面这个循环片段[1]: Your browser does not support video 几个主要的子项目: animeloop-cli animeloop-server animeloop-wallpaper animeloop-illus2vec animeloop-desktop(计划中) animeloop-mad(计划中) animeloop-cli 参考阅读: Animeloop 动漫循环识别方法 动漫循环识别 (已废弃) animeloop-server 参考阅读: Animeloop 网页服务器开发细节 animeloop-illus2vec 参考阅读: 为 Animeloop 生成标签 animeloop-wallpaper(已废弃) 项目依赖于 Wallpaper Engine,目前只支持 Windows 平台。

Animeloop 网页服务器开发细节
C/C++

Animeloop 网页服务器开发细节

这篇文章主要记录了在开发 animeloop server 的过程中遇到的一些问题和相关的解决办法,以及整体服务器程序的结构设计。 基本结构 图片生成于 iThoughtsX for Mac 数据库 Animeloop 服务器数据库一开始是使用的 MySQL 的,但是后来为了尝试新技术方便,改用了 MongoDB。我个人的想法是,这种不包括用户数据的站,其实是并没有多少数据量,(对比一些社交网站,可能用户会发大量的文字或者上传大量的图片),所以~~从偷懒的角度来讲,~~至少开发前期是完全不需要考虑性能问题的。使用之前在网上也搜索过相关的信息,比如使用 MongoDB 的优缺点,

iBooks

iBooks 数据库设计分析

很久以前还吐槽过 iBooks 的数据库表设计特别鬼畜,实际上后来我发现我错了。为什么错了呢?但是我为了研究如何自定义 iBooks 丛书集的时候[1],用 SQLite 的方式打开的数据库文件,导致我看到了一堆大写字母拼写成的数据项名字。而实际上正确的打开方式是用 Xcode 的 Core Data 组件打开。 获取数据库 Schema 我们可以通过「显示包内容」的方式进入到 iBooks 软件的内部文件夹,查找拿到编译过的数据库 Schema 文件(.mom)。或者直接在命令行输入 cd /Applications/iBooks.app/Contents。 或者也可以使用 Core Data Editor[2] 这个软件来找我们需要的数据库表设定信息。 然后新建一个 Xcode

iBooks

iBooks 自定义丛书集

前段时间 iBooks Store 还没被和谐的时候,从商店里下载一些套装书,书架上是以丛书系列的方式显示的,但是如果是自己手动添加的电子书,会发现 iBooks 并不能识别 metadata,于是网上搜索了一下相关资料,找到了一份 15 年网友给的回答[1]。大致情况就是:如果要自己手动添加几本书到一个 series 里,需要自己修改数据库,而且还不能通过 iCloud 同步到手机平板上去,也就是说就算手动修改成功,也只有在 macOS 上的 iBooks 有丛书显示效果。 这里大致翻译整理一下基本过程(以《来自新世界》上下册为例): 测试环境:macOS 10.12.3 (16D32)、iBooks 1.8 (1261.

EPUB

Calibre 开启网页共享服务器

Calibre 是一个多平台电子书管理软件,可以用来管理 epub、mobi 或者 txt 等格式的电子书...... 总之 Calibre 是 macOS 上为数不多的电子书管理软件之一,用过的人对这款软件评价褒贬不一,有的人觉得这软件由于是 qt (原以为是 Java 写的来着)写的跨平台程序界面太丑了,也有人说这软件运行太慢了,其他的还包括太重了之类的评价,不过我倒觉得还好,毕竟只是拿来管理电子书文件的,真正要阅读电子书和展示~~(装逼)~~还得靠 iBooks。 直到最近我才知道这软件可以开一个供分享的网页服务器[1],而且还有一套已经写好了的网页界面(虽然 UI 跟不上潮流,不过嘛还行)。这里顺便也记录一下搭建 calibre-server 的方法。(这里只提供 Ubuntu 系统环境的安装方法。 首先是在服务器上安装 Calibre(命令有一点长注意请复制完整)

macOS

Sparkle 常规使用姿势

Maria 在最近终于添加上了自动更新的功能,之前有想过加这个功能,但是当进入 Sparkle 官网看到密密麻麻的文档和需要手动签证书什么的字眼,懒癌突然发作。 寒假一天闲着总算是把这个功能添加上了。总的来讲,添加这个功能非常的简单,但前提是你使用较新版本的 Xcode,第二前提是你有耐心仔细的看使用文档[1](这一点特别重要,不然你会犯一些特别弱智的错误)。 appcast.xml Sparkle 发布更新是通过 RSS 的方式来做的。Sparkle 自定义了一套专用的 xml 格式,如果手动书写的话会比较麻烦,所以自己写了一些小程序来快速生成 appcast.xml。 // npm install xml var xml = require('xml'); var Appcast = function(info) { this.title = info.

项目展示静态网页
Project

项目展示静态网页

先放链接 https://proj.windisco.com 很早就想做这个页面了,展示自己做的一些个人项目。之前有尝试做过,原本以为会有 App 专用的展示网页模版,在网上搜索了很多关键词发现并没有,连收费的都没,于是就放弃了。 原本也是想给每一个单独的项目建一个专用页面,后来觉得其实做一个项目列表就行了。于是在网上搜索了一下 HTML5 Template CSS3 Single Page 之类的关键词,得到了大量的模板参考,最后选择了 landing 这个模板。拿来改了改,就成现在的样子了。 但是手工修改

Hexo

换回 Ghost

用了一段时间的 Hexo,直接根据 .md 文件来生成博客网站,一开始觉得挺有意思的,配合 Git hook 自动化部署生成静态网页文件也很大程度的自动化了,另外还有一个优势就是资源占用。当时服务器资源挺紧张的,使用 Hexo 的话用 Nginx 转发一下静态文件基本不占用资源的,相比 Ghost 启动就占用 100+ MB 内存简直是完全胜利。 但是这几天乘着更换新服务器还是换回了 Ghost,即便是 Hexo 已经做到很好的自动化了但是我个人觉得还是没有 Ghost 来得方便。很多时候突然想到些什么想要写,但是因为身边没带电脑就直接放弃了,也有尝试过写在备忘录里有空再转移,但是什么时候有空呢可能一直就忘记了。 期间还自己写了一个适配 Hexo 的主题用于另一个网站。找个时间移植到 Ghost 吧,看了一下文档还是挺齐全的,至少比 Hexo 万年不更新好多了。

从 UIKit 到 Cocoa 框架移植
Cocoa

从 UIKit 到 Cocoa 框架移植

最近在编写自己的独立应用,其中需要用到一些加载等待动画效果,到 Github 上去找了一圈,发现现有的轮子全是面向 iOS UIKit 的,于是决定将其中一个 NVActivityIndicatorView[1] 移植到 Cocoa 下,由于代码量不算太大,所以移植不算太麻烦,只是过程中遇到过一些坑,这里写下来记录一下。 UIKit -> Cocoa 常用类粗暴替换 相信做过 Cocoa/Cocoa Touch 最最最基础开发的人都知道,AppKit

OS X

Maria 开发记录 II

Maria 是为 aria2 这款命令行下载软件定制的 Native App,开发 Maria 本身是不用写下载核心代码的。 这个项目最初创建于4月份,至今已经有6个月了,从最初的一个 Today Widget 发展到现在已经快要接近于完整的 macOS 应用了,(但是在我眼里还是不算完整应用,因为下载核心需要依赖 aria2 项目,而缺乏自己的下载核心程序),之前也写过一篇文章简单讲了一下这个程序的编写过程。最近的几次更新主要是对 aria2 的深度集成,到目前也已经有所成果了,所以准备记录一下这其中的过程和坑。 集成 aria2 一开始是根本没打算集成 aria2 的,因为考虑到其他类似的软件比如 Aria2GUI 或者是 Aria2D 都是用的直接打包一个 aria2 二进制包的方式,实际上还是通过 rpc 的方式来控制下载操作。 我个人觉得这种方式集成

Hexo

黑白漫画去白底

对于黑白漫这类图片,如果放在一个背景不是白色的网页上,会显得很突兀,所以需要将图片的灰白色部分去除掉变成透明的。 另外也是因为在 iBooks 上体验到了这个功能,于是就自己写了一个简陋的版本。这里大致讲一些算法思路。 因为是要直接在浏览器上处理,所以就直接使用 JavaScript 写了。先获取 img 标签,再把得到的 Image 对象转换成 Canvas 对象,再通过 canvas 来处理像素块,得到去除白底的图片。 从 Canvas 里直接获取到的数据是 RGBA 格式(red-green-blue-alpha format)。 [255, 253, 255, 255, 252, 250, 252, 255, 254, 252, 254, 255,

Hexo

自己设计 Hexo 主题模板

自己设计一套博客主题,暑假计划做的事情在拖到暑假结束之后终于在学校完成了,先上一张基础版本的截图吧。 设计借鉴 iBooks 和多看阅读软件的设计,重点突出中文排版,文章排版使用 han.css ,所以这套主题适用于一般日记散文中文文章,而不适合用作程序员的技术博客。 之前一直使用的是 Ghost ,从很早的版本就开始使用, Ghost 的确是一个很不错的博客程序,适合小白用户。但是由于自己的服务器需要更多的运行资源,所以由 Ghost 改为 Hexo。Hexo 可以直接一次性生成所有页面的静态文件,然后配合 nginx 使用,节省了 Ghost 或者 Hexo Server 将近 100MB 的基础内存使用。 在编写 Hexo 主题的过程中也是遇到了不少的坑,这里集中提出来。 首先要想自己写一个主题出来,肯定是要去 Hexo 官网