Recent Posts

's avatar

《还愿》很棒,可是为什么要乳滑,为什么啊?

前几天,台湾游戏制作团队「赤烛」发布了它们的第二部作品《还愿》。本身是很正常的恐怖游戏,有许多人觉得它非常恐怖,也有许多游戏主播不畏恐惧地在给害怕自己玩的人直播。这是对于一个非常恐怖的恐怖游戏来说,再正常不过的现象了。只是里面有一个彩蛋,引起了不和谐的风波:

「习近平小熊维尼」,用篆体写在了一张贴图上。

明明是这么优秀的游戏,为什么偏偏要乳滑啊?为什么啊?这实在太可惜了——我看到许多人这样想。如果是曾经的我,大概也会这样觉得。但是现在如果你有这样想法的话,我写出了这篇文章,希望可以缓解一下你的心情。

「明明是非常棒的作品,可为什么偏要加入这样侮辱的东西啊?」我也经常有这样的感受。自己喜欢的东西,却不得不和自己非常讨厌的东西纠缠着,对于这两者的结合,要是讨厌它也太浪费了,可要是喜欢它的话,对于自己讨厌的部分却无法释怀。这毫无疑问是一件令人难受的事情。可是,在这次事件中,这个令人讨厌的部分,自己真的有必要那样讨厌吗?

简单地说,我觉得这没有什么大不了的。游戏彩蛋拿国家领导人开玩笑,并不是一个需要非常反感的事情。

拿一个人开玩笑再正常不过了。当然,要除了当这个玩笑是对着自己开,而我们觉得这个玩笑开得很不恰当的时候;或者当这个玩笑会冒犯到我们喜欢的人的时候(是广义上的喜欢,包括朋友、家人,还有偶尔遇见的路人)。而习近平,需要被我们当作是喜欢的人吗?他当然是国家领导人,可这也并没有使他在这个方面变得有多么特殊,事实上作为政治人物,被骂是再正常不过的事情了。在世界的大部分地方,开政治人物的玩笑也是很平常的事情。我们说奥巴马长得像跳跳虎,安倍长得像驴,川普在各种演讲上的发言以及推文上的错别字实在是太搞笑了。这些都没有问题,那么说习近平小熊维尼,为什么就不可以了呢?游戏彩蛋没有针对对我们玩家中的任何一个人,而只是针对习近平开玩笑。为了这样一个遥远的人被开玩笑而生气,实在是太没有必要了。我们可能觉得这个玩笑一点也不好笑,但也不必因此反感它嘛。而且作为一国之主,习近平显然不会被这么一个小游戏团队的一句话冒犯到。

台湾独立一直是个敏感的话题,你可能会因为这个游戏宣扬了支持台湾独立的观念而讨厌它。但值得思考的是,为什么在许多观点不同的时候,我们都可以相对和平地相处,而只要涉及一点政治,就不得不暴跳如雷呢?我们在游戏中遇到一个不喜欢的东西,通常都会继续玩下去,如果令我们不喜欢的东西有很多,也最多是批评这个游戏并告诉其它人不要去玩,并希望开发者能在以后改进。遇到自己不支持的政治观点时也是一样,我们只需要表达自己的不认同就足够了,而不需要像 Steam 上的许多评论评论中一样辱骂开发者,诅咒他们早点解散。当然,你可能还是会觉得一个游戏加入了自己讨厌的政治观点是无可救药的——可是如果我们回来看,《还愿》的这只彩蛋里面,也并没有说任何支持台湾独立的话啊。

不管你是觉得台湾独立是非常坏的主意,或者是需要双手赞成的提案,还是觉得都无所谓,都和这个游戏没有关系。《还愿》又不是一个政治游戏,它只是一个包含了「习近平小熊维尼」这句彩蛋的恐怖游戏罢了。赤烛的成员的确可能抱着支持台湾独立的想法,其实大部分台湾人都这样想,但要是仅仅因为作者抱有了和我们不同的观点就要抵制他们的所有作品的话,那世界上有这么多怀有不同观点的作者,岂不是许多作品都需要抵制了?至少基本上所有台湾出产的文学、艺术作品,还有游戏,都会变成需要抵制的对象了,这怎么想都太夸张了嘛。

实际上,即使是面对表达了支持台湾独立的游戏,也没有必要看到就直接拒绝。你也许觉得台湾独立是一件很坏的事情,是分裂国家、挑起战争、对生活影响巨大的事情,但从另一方面想,这有比杀人放火,炸掉政府大楼,宣扬恐怖主义这样的政治理念更加可怕吗?没有吧?但实际上,从电子游戏这方面看来,扮演杀人狂魔和恐怖分子的游戏却备受欢迎。而台湾独立不但远没有这么可怕,也和恐怖主义不同,它在世界上还有非常多的人支持。我们也许认为它是不应该被支持的,但这只是我们的观点,从客观的事实上来说,应该怎样还不知道呢。

当然啦,这篇文章也不是一篇我表达政治观点的文章,我只是希望能够为大家减少一些气愤。真的,一个游戏彩蛋而已,有必要上纲上线吗?如果你也在看完了这篇文章之后,觉得没有必要,那么谢谢你让我的文章变得有用,也祝愿你能够享受游戏,在其它的地方能够少遇见令自己不愉快的事情。如果你完全不同意我的说法,那么也感谢你至少没有马上关掉文章拉黑我,而是耐心的把它读完了。不管怎样,大家怎样做都是大家的自由,对吧?


除特殊说明外,本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。转载时请注明来自 FiveYellowMice's Blog ,以及原文链接

虽然 RSS 是一种很好的新闻获取方式,但是不同的 RSS 阅读器所显示的内容可能会有很大差距,有些甚至无法显示所有内容。所以为了能够获取到完整的内容,最好还是点开网页链接看。
之所以还是保留了 RSS 的全文输出,是因为摘要输出会被很多人讨厌……

cuihao's avatar

留言板备份

null
's avatar

与萌狼的笔谈

是一个平常的夜晚,萌狼少见地发来一条消息,说想要和友情链接里的各位来一次笔谈。然后黄鼠很荣幸地,成为了第一位。正好,黄鼠也经常发愁博文没灵感写、博客日渐荒废呢,要做笔谈的话,不但是个介绍自己和了解别人的机会,也顺便能够给博客补充一点活力。于是就开心的答应了(虽然咕咕咕了 3 天才写有出来)。

所以「笔谈」这样东西是什么呢?

一开始萌狼提起的时候,黄鼠也有些疑惑,可又感觉似乎在其他地方有听说过这样的东西。记得是跟歌手和主播之间互相客串类似的做法, 互相向对方提一些问题,然后各写一篇文章来回答 ——至少萌狼觉得黄鼠这样理解是没有问题的呢。

但黄鼠还是好奇的查询了一下,笔谈具体是什么,然后维基百科说……

笔谈,是指人们在面对面的情况下不使用口头语言而是通过互相书面书写或键盘输入文字的方式,来传达彼此意思的沟通行为。

……是汉字文化圈地域内不同母语的文人相互交流的方法之一。主要使用汉字以及文言文(汉文)的交流方式。

唔唔,诶?原来是东亚国家之间的人以前因为用的文字一样,所以用来勉强交流的方式嘛……好像差距有点大诶。嘛,不管了,总之就当作互相提问的意思好了。

下面就是萌狼提出的问题了

Q1. 除了博客的「关于」页面以外,还愿意再向咱介绍一下自己嘛?

这样的打算,其实很早之前就有呢。看到许多人都有专门的个人主页,做得很漂亮,黄鼠也打算过效仿着做一个。这也是黄鼠购买 fym.moe 域名的原因。结果嘛……点开那个链接的话就显而易见了,个人主页一直处在咕咕的状态,大概已经快要有两年的时间处在这样的状态了。所以要让黄鼠现在做出一些个人介绍的话,也不知道要从哪里讲起呢……

——每次都是这样,自从有了那个个人主页予定的域名之后,黄鼠在每次遇到简略介绍自己的机会的时候,都会这样想:唔啊……这里要怎样说呐……还是等到以后写好个人主页上那篇完整、系统的自我介绍之后,再放一个链接过去好了,在这里写简略的介绍,果然还是太浪费脑筋了。就是因为每次都这样想,而个人主页又一直咕咕咕,所以最后落得黄鼠不管是长的自我介绍还是短的自我介绍,都没有写出来过。

话说,既然说到博客的「关于」页面,那个似乎也需要不小的更新了呢……不过既然黄鼠有决定之后写一篇完整的自我介绍,还是等到那里写好之后再链接过去吧,单独写一下果然还是太废脑筋了。

萌狼是想要黄鼠在这里做出一些自我介绍嘛?可是黄鼠已经有打算在个人主页上面写一篇完整的介绍了,觉得还是等到黄鼠写好的时候,直接去那里看会比较好呢。

(咕咕咕)

Q2. 这个名字是怎么想到的呢?

这其实是自己真的还在中二的时候,做出的一些饱含中二成分的决定啦……唔,实际上也不只是中二呢。要说出来的话,还是太羞耻了。

总之总之,大家先这样看。

首先, Five ,是一个很吉利的数字,对吧?一个正常人就是有五根手指,所以这就是 Five 的来源。至于一个人有一只手还是两只手,那种事情就先不管啦。

然后 Yellow ,是因为,呃,那个,柠檬的颜色,对吧?柠檬吃起来很甜,一点都不酸,对吧?黄鼠可以一口气吃下 5 个,所以这就是 Yellow 的原因。

最后呢,这个, Mice ,怎么说呢,就是就是,唔,要怎样解释大家才会相信呢。就是这个……老鼠!老鼠……呃,老鼠很厉害对吧?可以吃掉猫咪,所以这就是 Mice 的来源,嗯。

以上的解释都是真实的 FiveYellowMice 的名字的来源,而且没有一点点事实错误哦。(光速逃)

Q3. 是怎么喜欢上视觉小说的呢?

剧透警告:这里会有对《守护甜心》第二季的开始,对藤咲的介绍的小剧透喔。虽然不算是很重要的内容,但失去这个惊喜还是很可惜的。

其实主要的原因很简单呢,说是令人大跌眼镜也不为过,当时自己可以使用到的电脑,性能非常差劲,连 Ubuntu 的 Unity 桌面都会让显卡吃力无比。主流的游戏都没有办法运行,于是就只好推视觉小说了 _(:3)<)_ 。

一开始接触视觉小说,是因为看到《守护甜心》里面的藤咲凪彦,觉得很厉害,所以就到百度百科上面看了看,就发现,原来这样类型的角色不但有专门的名称,而且还有很多诶!兴奋的黄鼠又看到里面说这样类型的角色的始祖是一个被称作《少女爱上姐姐》的视觉小说,于是黄鼠就找来玩了玩,便把新世界的大门打开了(双重意义上的)。

说到现在黄鼠依然喜欢视觉小说的原因的话,就要复杂一些了。黄鼠对 RPG 的剧情很感兴趣,但是又很讨厌维护各种属性值,也不愿意跑来跑去,只想看剧情对话。视觉小说刚刚好就是和去掉游戏成分、只剩下剧情的 RPG 一样,所以在听说了有这样类型的游戏的时候,黄鼠觉得简直就是像找到了知己一样的感觉呢。而且和其它类型的游戏不一样,视觉小说一点难度都没有,对于手残的黄鼠来说再合适不过了。

不过其实黄鼠觉得,把视觉小说和「游戏」比较不是一个很合适的分类。名字都叫做视觉「小说」,内容也是和小说一样,一直往下读就可以了,仅仅是有偶尔出现的选项,能够带来的游戏性和真正的游戏比还是相差太多了。而和真正的小说比较的话,视觉小说不但有多出了背景和立绘,还会经常有很棒的 BGM ,再加上偶尔会有的语音的话,还有一半的动画的感觉,而有了这些附加的东西以后,主要的故事表现手段还是文字。黄鼠觉得文字是一种能够有深度和艺术性的很棒的媒介,漫画和动画都很难避免会失去一些这样的东西,而视觉小说却能够在不破坏小说的优点的情况下,依靠图像和声音弥补了很多的缺点。这就是黄鼠认为视觉小说最棒的地方呢。

Q4. 对咱的印象怎么样?

萌狼嘛……因为第一次认识的时候,萌狼的设定还没有出现,所以一开始的印象是那种很厉害,做事情又有行动力又有坚定想法的大佬。只是后来嘛……才渐渐熟悉起来,意识到其实萌狼是和大家都一样的人(狼?),拥有自己的喜怒哀乐,也有失落的时候。

然后就是萌狼的设定,除了支仓冻砂带来的「狼」的设定以外,萌狼带给黄鼠的印象,就是很喜欢发送「😂」,遇见很多东西的时候都会用「😂」来作为回应。在很多时候向群里面发送一些东西,会一点回应都收不到,黄鼠就会觉得自己发出的内容非常无趣,直到有看到萌狼的「😂」的时候,才欣慰感受到,还是有人觉得黄鼠发送的东西是有趣的呢。是萌狼的「😂」在这些时候给了黄鼠继续下去的动力。

再接下来的话,就是音游的方面了。黄鼠也忘记了是在什么时候知道的萌狼喜欢音游,在意识到以前,音游狼的印象就已经刻印在脑中了。萌狼的音游水平,在黄鼠感觉是那种很厉害,但也不是遥不可及的那种,就像是漫画里的「前辈」一样,让黄鼠把音游渐渐熟悉了。

最后一点,是黄鼠不喜欢萌狼的一点。萌狼喜欢说讽刺的话,或者是叫做风凉话。像是在有新人被推荐东西的时候说「不要用。反正都是被大佬鄙视的」这样的话,以及在完全没有提起萌狼如何的时候说「您您您,咱就是弱鸡」这样的话。萌狼说这是在音游圈子里面的普遍现象,可是黄鼠觉得,音游圈里面会崇拜水平高的玩家,对其他人卖弱,但没有必要说讽刺的话嘛。

Q5. 还记得第一次接触 GNU 是什么时候嘛?

如果是说第一次用到 GPL 的软件的话,那应该是很久以前了。也许 Firefox 是黄鼠第一个在自己家的设备上使用过的 GPL 软件,但也不能确定有没有更早的呢。

如果是说第一次知道 GNU 这个理念的话,大概是在 2015 年,黄鼠使用 Ubuntu 的时候了。觉得 GNU 非常厉害,能够使开源的东西也这样好用呢。黄鼠也很认同利用自己的开源软件,使别人在使用了黄鼠的开源软件的时候也不得不开源的做法。开源作为一个大家共有的东西,索取了再返还,也是合理的事情。然后黄鼠就成为了 RMS 的粉丝,开始传教……(逃)不过大概没有萌狼厉害啦。

Q6. 现在有在做什么嘛?

自从高中毕业了之后,黄鼠就越来越颓废了。以前本来是计划了好久,雄心勃勃的计划,都越来越缺少动力去做了。两年前有着想写一个评论系统的计划,到了现在一直也没有见到里程碑。再之前打算写的可以自定义项目的追番列表 sedosipE ,即使有了想要看许多列表里面都没有记录的冷门漫画的需求,也还是随着各种其它的事情渐渐淡化了。

现实方面的,去年有试过健身,但果然体育方面的事情还是没有办法让黄鼠有动力去做呢。脱离了教练的监督以后,就一直颓废下去了。另外也担心健身效果太好的话,女装的计划就得抛弃了,黄鼠觉得这样是很大的损失。

不过女装最近倒是有开始尝试了。之前放假的时候心血来潮,在超市里面买了一盒脱毛膏,又痛苦又耗时地把两条腿处理完毕了。不过那个时候,黄鼠还没有打算马上开始女装,是在同一天,一位群友的说「既然已经脱毛了,不如就开始女装吧,要不然之后还得来一次」,使黄鼠提早产生了女装的动力。现在有到下半身的程度,但是上半身的挑战看起来更加严峻呢……要化妆什么的更是听起来就令人望而却步,于是就连这也开始停滞了。

也是在假期的时候,觉得自己越来越滞后的黄鼠,感到自己一定要继续学习才行,于是就把放置了很久的《Head First C》拿出来看了。里面有一章是有写用 Arduino 做出东西,黄鼠想「诶, Arduino ,是听说过很多次的名字诶,大家好多人也都有玩过的样子」,于是在新年回到中国的时候,依靠淘宝进入了这个大坑。这次黄鼠再次雄心壮志地立下了自己要做出一个带有 16x16 LED 屏幕的东西,但是组件比想象中地多了很多,黄鼠又因为面基 Eq彼得,还有过年回老家探访亲戚什么的,错过了春节快递停运之前的时间,只好等到回到澳洲之后才能梳理需要的组件。但是这样子的话,成本就噌噌地上涨了呢。时间也是大概要等到一个月之后,材料到达之后才能开始了……希望到达的时候,黄鼠的热情没有消减才好呢。

还有还有最后一点,就是想要恋爱 ( > ∀ <) /!虽然在这样的方面,黄鼠看起来也没有什么可以 take initiative 的事情就是啦。

Q7. 有什么话要对咱说嘛?

平常都有说话的机会,所以硬要黄鼠说下什么的话,也不是一件容易的事情呐。总之……萌狼好吃!

萌狼好吃!
萌狼好食!
萌狼好吔!

(在被追到之前赶紧逃)

笔谈还有另一边喔!

上面是黄鼠对萌狼提出的问题的回答,那么既然是交换提问回答的笔谈,黄鼠也向萌狼提出了一些问题,让萌狼在萌狼的博客上面回答呢。如果还没有看过的话,可以走向这里喔。

🍎😋


除特殊说明外,本作品采用知识共享署名-相同方式共享 4.0 国际许可协议进行许可。转载时请注明来自 FiveYellowMice's Blog ,以及原文链接

虽然 RSS 是一种很好的新闻获取方式,但是不同的 RSS 阅读器所显示的内容可能会有很大差距,有些甚至无法显示所有内容。所以为了能够获取到完整的内容,最好还是点开网页链接看。
之所以还是保留了 RSS 的全文输出,是因为摘要输出会被很多人讨厌……

HY's avatar

TwitterImg Downloader

想必不少朋友也和我一样关注了很多画师,定期收图。 Pixiv的图片文件名可以直接反推出图源,直接保存就可以,但 […]
h404bi's avatar

彻底搞懂 Windows 控制台的设置

Windows Console Host(即 conhost.exe,下称“ConHost”[1])中的设置可能有点难以理解,主要是因为在过去几十年中这个设置系统不断发展。根据 ConHost 如何被调用,这些设置项会存储在不同的位置。

设置加载的层级

决定一个控制台设置的加载与存储是基于以下层级进行的:

  1. 写死在 conhostv2.dll 里面的设置
  2. 用户定义的控制台默认设置,存储在注册表 HKCU\Console
  3. 每个控制台应用程序[2]单独的设置,存储在注册表 HKCU\Console\<sub-key> 中,其中 sub-key 使用以下两种值中的一种:
    • 控制台应用程序的文件路径(其中的 \ 会替换成 _
    • 控制台应用程序的标题
  4. Windows 快捷方式(.lnk)中的设置

当一个控制台应用程序被启动后,ConHost 会依据加载情况决定使用哪些设置,同时会按照前述的层级先后对一些进行覆盖。每一个设置项将取其最后加载的值,也就是说在第 4 级(Windows 快捷方式)中的值会覆盖掉第 2 级(用户定义的默认设置)中的值。

这样一个层级设计解释了为什么在每个控制台实例窗口的标题菜单中,都会有一个“默认值” 选项以及一个“属性”选项。

修改“默认值”时,改动会存储到注册表 HKCU\Console 中,写入用户定义默认设置(即前述层级中的第 2 级)。

修改“属性”时,改动会存储到注册表中的控制台应用程序单独设置或者 Windows 快捷方式中:

  • 如果这个控制台应用程序是被直接(比如是从 Win+R,Windows 运行对话中)启动的,则改动会存储到前述的控制台应用程序单独存储位置(层级中的第 3 级)中。
  • 如果这个控制台应用程序是通过 Windows 快捷方式被启动的,则改动会直接存储到这个快捷方式 .lnk 文件中(层级中的第 4 级)。你可以右键这个控制台应用程序的快捷方式,选择“属性”查看其设置。

当一个控制台应用程序被启动后,ConHost 会根据前述的层级,从第 1 级写死的默认设置开始覆盖设置,最后确定使用哪些设置。这意味着在 Windows 快捷方式中的设置会覆盖掉注册表中的控制台应用程序单独设置以及默认设置。

值得注意的是在注册表中的设置是“稀疏”的,意味着如果某个设置项为空,则不会修改正在使用的值。这允许用户在所有控制台应用程序之间共享部分设置项的同时指定其它一些特定设置项。

而快捷方式文件则会将每个设置项都存储其中,不管是否有默认设置。这些设置会以不透明的数据块存储在快捷方式中。

下面是 Windows 控制台的设置列表,包含了简短的描述以介绍其作用。

设置项名字类型描述
FontSizeCoordinate (REG_DWORD)字体像素大小
FontFamilyREG_DWORDGDI 字体族
ScreenBufferSizeCoordinate (REG_DWORD)屏幕缓冲区大小,宽x高个字符
CursorSizeREG_DWORD光标大小
WindowSizeCoordinate (REG_DWORD)窗口大小,宽x高个字符
WindowPositionCoordinate (REG_DWORD)窗口位置,宽x高个像素(如果没有设置则进行自动定位)
WindowAlphaREG_DWORD窗口透明度(取值范围:0x4D-0xFF)
ScreenColorsREG_DWORD前景色与背景色
PopupColorsREG_DWORD显示弹窗(CMD.exe 按 F2)时的前景色与背景色
QuickEditREG_DWORD快速编辑模式是否开启
FaceNameREG_SZ字体名字 (默认使用 __DefaultTTFont__,根据你的代码页 CodePage 选择最合适的字体)
FontWeightREG_DWORDGDI 字重
InsertModeREG_DWORD插入模式是否开启
HistoryBufferSizeREG_DWORD命令记录缓冲区大小
NumberOfHistoryBuffersREG_DWORD命令记录缓冲区数量
HistoryNoDupREG_DWORD是否丢弃旧的副本
ColorTable%%REG_DWORD16 色的调色盘中每个颜色的 RGB 值
ExtendedEditKeyREG_DWORD是否启用扩展的文本选择键
WordDelimitersREG_SZ分词符列表(例:' .-/\=|,()[]{}'
TrimLeadingZerosREG_DWORD选取复制文字时是否删除首部零宽字符(使用 00000001 表示 1
EnableColorSelectionREG_DWORD选择时是否同时复制颜色
ScrollScaleREG_DWORD使用滚轮滚动时一次滚动多少行
CodePageREG_DWORD代码页 CodePage
ForceV2REG_DWORD是否使用新版控制台
LineSelection*REG_DWORD是否启用对选定内容自动换行
FilterOnPaste*REG_DWORD是否在粘贴时筛选剪贴板内容(如:将弯引号替换为直引号)
LineWrapREG_DWORD是否在调整窗口大小时对输出的文本换行
CtrlKeyShortcutsDisabledREG_DWORD是否启用 Ctrl 键快捷方式
AllowAltF4CloseREG_DWORD是否禁用 Alt-F4 热键
VirtualTerminalLevelREG_DWORD控制台 VT 支持级别

*仅在新版控制台中有效

已知问题

与大多数复杂的事物一样,有一些问题需要注意:

系统更新会导致设置被重置

每当你升级到新版本的 Windows 时,系统级的快捷方式以及“「开始」菜单”中的设置会被重置为默认值。这意味着如果你升级了系统,你自定义的字体、颜色等设置将会全部重置为 Windows 的默认值。

后记

本文为译文,原文见 Understanding Windows Console Host Settings,有些许删改。


  1. 在 Wikipedia 上也称 Win32 控制台 ↩︎

  2. 注意“控制台”与“控制台应用程序”的区别,前者指 ConHost 宿主程序,后者是运行在 ConHost 下的应用,如 cmd.exe/powershell.exe ↩︎

's avatar

FLAC / MP3 / WAV 批量转 aac

自动检查 ffmpeg 是否有启用 fdkacc-lib,如果没有则使用 native_aac 编码器。

关于编译带有 fdk 支援的 ffmpeg 请参见官方文档;因为 GPL 病毒的原因,就不放出编译版了。

#!/usr/bin/env node
/**
 * FLAC/MP3 to aac script
 * MIT License
 * (C) 2019 Jixun.Moe
 */

/* configuration */
const srcExt = ['flac', 'mp3', 'wav'];
const maxThreads = 4;

/*
 * override with command line options
 * node to_acc.js ./rip ./aac
 */
const srcDir  = process.argv[2] || './rip';
const destDir = process.argv[3] || './aac';

/* import modules */
const fs = require('fs');
const util = require('util');
const readdir = util.promisify(fs.readdir);
const copyFile = util.promisify(fs.copyFile);
const exec = util.promisify(require('child_process').execFile);

/* global variables */
let threads = [];
let files = [];
let aacCodec = 'aac';

function getExt(name) {
    const m = name.toLowerCase().match(/\.(\w+)$/);
    if (m) return m[1];
    return '';
}

async function scanDir(dir, outDir) {
    const scanResult = (await readdir(dir)).filter(d => d[0] != '.');
    for (let i = 0; i < scanResult.length; i++) {
        const inPath = dir + '/' + scanResult[i];
        let outPath = outDir + '/' + scanResult[i];

        const stat = fs.statSync(inPath);

        // sync directory structure.
        if (stat.isDirectory()) {
            // create subdirectory
            try {
                fs.statSync(outPath);
            } catch {
                fs.mkdirSync(outPath);
            }
            await scanDir(inPath, outPath);
            continue;
        }

        const inExt = getExt(inPath);

        // Music file to convert
        if (srcExt.indexOf(inExt) != -1) {
            outPath = outPath.slice(0, -inExt.length) + 'aac';

            try {
                fs.statSync(outPath);

                // file exists, skip...
                continue;
            } catch {}

            files.push([inPath, outPath]);
            continue;
        }
        
        // other file type
        console.info('copy %s...', inPath);
        await copyFile(inPath, outPath);
    }
}

async function doWork(thread) {
    while (true) {
        let work = files.shift();
        if (!work) break;

        const [input, output] = work;
        console.info('[T%d] converting %s...', thread, input);
        await exec('ffmpeg', ['-i', input, '-c:a', aacCodec, '-vbr', '3', output]);
    }

    console.info('thread T%d complete.', thread);
}

async function detectFdk() {
    const {stdout, stderr} = await exec('ffmpeg', ['-codecs']);

    // test for libfdk
    const useFdk = /encoders:[\w\s]* libfdk_aac/.test(stdout);
    console.info('libfdk: %s', useFdk);

    aacCodec = useFdk ? 'libfdk_aac' : 'aac';
}

async function main() {
    // let detect and scan run at the same time.
    const detect = detectFdk();
    await scanDir(srcDir, destDir);
    await detect;

    console.info('to process: %d files.', files.length);

    // create threads
    for(let i = 1; i <= maxThreads; i++) {
        threads.push(doWork(i));
    }

    // wait for thread complete
    // 感谢 orzFly
    await Promise.all(threads);
    
    console.info('done');
}

main();
依云's avatar

在 Linux 下整理磁盘碎片

本文来自依云's Blog,转载请注明。

磁盘碎片其实有两种:文件碎了,和空闲空间碎了。使用 FIEMAP 命令可以获取到文件在磁盘(的逻辑地址上)的分布情况。也是 filefrag -v 命令输出的东西。比如我的 pacman.log 就很碎:

Filesystem type is: 58465342
File size of /var/log/pacman.log is 11052443 (2699 blocks of 4096 bytes)
 ext:     logical_offset:        physical_offset: length:   expected: flags:
   0:        0..    2015:  170210423.. 170212438:   2016:
   1:     2016..    2017:  170567879.. 170567880:      2:  170212439:
   2:     2018..    2027:  170569969.. 170569978:     10:  170567881:
   3:     2028..    2030:  170574582.. 170574584:      3:  170569979:
   4:     2031..    2031:  170574631.. 170574631:      1:  170574585:
   5:     2032..    2033:  170592662.. 170592663:      2:  170574632:
....
 123:     2683..    2687:   56903805..  56903809:      5:   56906403:
 124:     2688..    2698:   56903011..  56903021:     11:   56903810: last,eof
/var/log/pacman.log: 125 extents found

整理的办法也很简单,复制一下,基本上就好了。只要剩余空间足够,小文件会变成一整块,大文件也是少数几块。如果非要弄一整块大的,比如我存放 pacman 数据库的那个小文件系统,可以用 fallocate -l 200M pacman.fs2 这样子的命令分配空间,然后把数据 dd 进去(cp 不行,因为它会先截断文件再写入,之前分配的空间就释放掉了)。

介绍完毕,重点来了:怎么找到那些被写得很碎很碎的文件呢?

对每个文件调用 filefrag 肯定太慢了,所以我写了个库和工具 fiemap-rs 直接调用 FIEMAP。它提供两个工具。一个是 fraghist,统计碎片数量分布直方图,用来了解一下某群文件有多碎。另一个是 fragmorethan,用来寻找碎到一定程度的文件。运行起来是这样子的:

/var/log:
# Number of samples = 712
# Min = 1
# Max = 297
#
# Mean = 11.338483146067423
# Standard deviation = 40.138129228003045
# Variance = 1611.0694179238724
#
# Each ∎ is a count of 13
#
  1 ..  31 [ 658 ]: ∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎∎
 31 ..  61 [  11 ]:
 61 ..  91 [   9 ]:
 91 .. 121 [  10 ]:
121 .. 151 [   6 ]:
151 .. 181 [   5 ]:
181 .. 211 [   3 ]:
211 .. 241 [   2 ]:
241 .. 271 [   3 ]:
271 .. 301 [   5 ]:
/var/log/journal/00000000000000000000000000000000/system@xxx.journal: 271
/var/log/journal/00000000000000000000000000000000/system@xxx.journal: 277
/var/log/journal/00000000000000000000000000000000/system.journal: 274
/var/log/journal/00000000000000000000000000000000/system@xxx.journal: 297
/var/log/journal/00000000000000000000000000000000/system@xxx.journal: 274

我系统上最碎的两群文件是 journal 日志和 python2-carbon 的数据文件。carbon 优化做得挺不好的,明明是预分配的固定大小文件啊,不知道怎么的就弄得很碎了。部分程序的日志(如 pacman、getmail)和火狐的 SQLite 数据库也挺碎的。后边这些我已经处理掉了所以示例输出只好用 journal 的啦。

找到想要整理的过碎的文件之后,复制一下就好啦:

for f in $(<list); do sudo cp -a $f $f.new; sudo mv $f.new $f; done

啊对了,工具的编译方法是,获取源码并安装 Rust 之后,在项目根目录里 cargo build --release 然后就可以在 target/release 下找到新鲜的可执行文件了~顺便说一下,这东西是支持 Android 的哦。

farseerfc's avatar

【聽譯】曰くつきの艶書

特別な世界と 特別な人と 特別的世界 和特別的人
何も不思議じゃない 普通の人間と 和完全沒有不可思議之處的普通人
憧れでもなくて 羨みでもない 不是憧憬 也不是羨慕
限りなくゼロに近い 気持ちだけ 只是無限接近於零的心情

それっていつだって 那是什麼時候的事情呢
人って忘れてくから 人也真是健忘
傷つかないように 可能只是盡力不想傷害
守っているだけなのかも 只是默默守護着
しれないね 也說不定

例え明日がこなくても 就算明天沒有到來
わたしは続いてく 我也會繼續下去
この先も傍に居る 這以後永遠在你身邊
そう思いながら 一邊這麼想
眠りにつくの 一邊要睡着

好奇心が強くて 物怖じしないで 好奇心很強 也不懼怕事物
誰にも優しくて 少し利己的な娘 對誰都很溫柔 也有點利己的孩子
ここで生きてくこと ルールを守れば 要在這兒生活的話 只要遵守規則
難しくないよ 不安はあるけど 一點也不難呀 雖然會有不安

もし君がいつか 如果有一天
人の敵になっても 你與衆人爲敵的話
大丈夫だから 也沒關係的
わたしもあのひともいる 我和那個人都在
覚えてるよ 記住這呀

例え世界が崩れても 就算世界都崩潰了
平和は続くから 和平也會繼續下去的
わたしの中のあの娘を 我心中的那個孩子
ずっと生かしてたい 想讓她一直活下去
生きてる限り 只要我還活着

普通の人間だけど 普通じゃない 雖然是普通人 卻不普通
わたしと似てる君を 見守りたい 想要守護很像我的你

例え二度と目が覚めなくても 就算再也不會睜開眼睛
記憶は繋がる 記憶是連在一起的
わたしじゃなくなるけど 雖然會變得不再是我了
わたしでいるから 但是以我的形式存在

例え明日がこなくても 就算明天沒有到來
わたしは続いてゆく 我也會繼續下去
この先も傍に居る 這以後永遠在你身邊
そう思いながら 一邊這麼想着
眠りにつくの 一邊要睡着

《 曰(いわ) くつきの 艶(えん) 書(しょ) 》 ,翻譯一下的話便是《帶着故事的情書》。博麗 夢還不是博麗 夢的時候,博麗 夢的歌。

曲調來自東方黑歷史(PC98作) TH03 《東方夢時空 〜 Phantasmagoria of Dim.Dream.》中博麗 夢的主題曲《東方妖恋談》, 和ZUN主筆的東方官方設定集《東方求聞史紀 〜 Perfect Memento in Strict Sense.》附錄CD「幺楽団」 中的《阿礼の子供》。

歌詞中講述的故事來自ZUN起草春河もえ作畫的漫畫《東方鈴奈庵》的第十六・十七話。


特別(とくべつ) な 世界(せかい) と 特別(とくべつ) な 人(ひと) と 特別的世界 和特別的人
何(なに) も 不思議(ふしぎ) じゃない 普通(ふつう) の 人間(にんげん) と 和完全沒有不可思議之處的普通人
憧(あこが) れでもなくて 羨(うらや) みでもない 不是憧憬 也不是羨慕
限(かぎ) りなくゼロに 近(ちか) い 気(き) 持(も) ちだけ 只是無限接近於零的心情

それっていつだって 那是什麼時候的事情呢
人(ひと) って 忘(わす) れてくから 人也真是健忘
傷(きず) つかないように 可能只是盡力不想傷害
守(まも) っているだけなのかも 只是默默守護着
しれないね 也說不定

例(たと) え 明日(あす) がこなくても 就算明天沒有到來
わたしは 続(つづ) いてく 我也會繼續下去
この 先(さき) も 傍(そば) に 居(い) る 這以後永遠在你身邊
そう 思(おも) いながら 一邊這麼想
眠(ねむ) りにつくの 一邊要睡着

好奇(こうき) 心(しん) が 強(つよ) くて  物(も) 怖(の) じしないで 好奇心很強 也不懼怕事物
誰(だれ) にも 優(やさ) しくて  少(すこ) し 利己(りこ) 的(てき) な 娘(こ) 對誰都很溫柔 也有點利己的孩子
ここで 生(い) きてくこと ルールを 守(まも) れば 要在這兒生活的話 只要遵守規則
難(むずか) しくないよ  不安(ふあん) はあるけど 一點也不難呀 雖然會有不安

もし 君(きみ) がいつか 如果有一天
人(ひと) の 敵(てき) になっても 你與衆人爲敵的話
大丈夫(だいじょうぶ) だから 也沒關係的
わたしもあのひともいる 我和那個人都在
覚(おぼ) えてるよ 記住這呀

例(たと) え 世界(せかい) が 崩(くず) れても 就算世界都崩潰了
平和(へいわ) は 続(つづ) くから 和平也會繼續下去的
わたしの 中(なか) のあの 娘(こ) を 我心中的那個孩子
ずっと 生(い) かしてたい 想讓她一直活下去
生(い) きてる 限(かぎ) り 只要我還活着

普通(ふつう) の 人間(にんげん) だけど 普通(ふつう) じゃない 雖然是普通人 卻不普通
わたしと 似(に) てる 君(きみ) を 見(み) 守(ま) りたい 想要守護很像我的你

例(たと) え 二(に) 度(ど) と 目(め) が 覚(さ) めなくても 就算再也不會睜開眼睛
記憶(きおく) は 繋(つな) がる 記憶是連在一起的
わたしじゃなくなるけど 雖然會變得不再是我了
わたしでいるから 但是以我的形式存在

例(たと) え 明日(あす) がこなくても 就算明天沒有到來
わたしは 続(つづ) いてゆく 我也會繼續下去
この 先(さき) も 傍(そば) に 居(い) る 這以後永遠在你身邊
そう 思(おも) いながら 一邊這麼想着
眠(ねむ) りにつくの 一邊要睡着



靈夢立ち絵 表情差分 (Pixiv 54967865)   バトルっぽい靈夢立ち絵 表情差分 (Pixiv 59688700)

brainbush's avatar

OpenWrt 编译安装 Nginx rtmp module

参考 https://wonpn.com/2018-03-15-compile-nginx-with-ssl.html

1. 下载 OpenWrt SDK

这里我使用的是斐讯K3,所以下载 bcm53xx 的。

wget https://downloads.openwrt.org/releases/18.06.2/targets/bcm53xx/generic/openwrt-sdk-18.06.2-bcm53xx_gcc-7.3.0_musl_eabi.Linux-x86_64.tar.xz
tar xf openwrt-sdk-18.06.2-bcm53xx_gcc-7.3.0_musl_eabi.Linux-x86_64.tar.xz

2. 下载 Nginx rtmp module

wget https://github.com/arut/nginx-rtmp-module/archive/v1.2.1.zip
unzip v1.2.1.zip

3. 下载nginx并添加设置选项

./scripts/feeds update
./scripts/feeds search nginx
./scripts/feeds install nginx

修改 package/feeds/packages/nginx/Congif.in 添加:

config NGINX_RTMP
         bool
         prompt "Enable RTMP module"
         help
                 Enable RTMP module
         default n

修改 package/feeds/packages/nginx/Makefile ,在213行附近(TARGET_CFLAGS前)添加:

ifeq ($(CONFIG_NGINX_RTMP),y)
  ADDITIONAL_MODULES += --add-module=/path/to/nginx-rtmp-module
endif

4. 修改和编译

make menuconfig
# 在network->Web Servers/Proxies->Nginx->Configuration->开启 Enable SSL module 和 Enable RTMP module 
# (如没有RTMP module请检查是否在Config.in重添加)
make -j4

5. 抱走 Nginx 包

cp bin/packages/arm_cortex-a9/packages/nginx_1.12.2-1_arm_cortex-a9.ipk /where/you/want
摸完了
's avatar

空白的 2018

总而言之,Benpigchu 的整个 2018 年几乎什么像样的事情都没有做。如果是有心观察 Benpigchu 的人的话,大概已经发现这一点了吧。

现在看来过去的这一年和接下来的几个月会是人生中比较困难的一段时间了。

发生了什么

这个……我也不是很清楚,只能大概描述一下。下面的文字会比较混乱。

其实一直以来 Benpigchu 对于自己的未来一直处于迷茫,或者说是,逃避的态度,以至于没有为未来做任何的准备,所以也没有科研经验和实习经历。

而在 2017 年的后半,也就是大三下学期,迎来了 THU 计算机系的五大金刚课程(编译原理、网络原理、计算机组成结构、软件工程、信号处理原理)。这个学期可以说是榨干了我的行动力,虽然挺过来了,但是似乎也产生了一些不好的后果。

我们 THU 计算机系的保研安排是在大四下学期,在这之前我的家长因为看我犹豫不决,所以建议我争取保研,但是……总之我没有动力为这个目标去努力。到了暑假的后半,母上甚至来协助……或是强制我准备申请。这份好意我是理解的,但是在我的抗拒之下理所当然地失败了。

再之后就是这一年的后半,大四上学期。按理说我应该在此时通过秋季校园招聘找到一份工作,但是由于履历的缺失、简历投递少,我并没有获得一份 offer。然后就到了现在了。

过去的一年大概上就是这样的情况吧。

可是为什么不行动起来啊

你说得对,错的是我。

可是为什么我会是错的呢?我其实也不太清楚,但是似乎有一些线索在……确实感觉自己有些地方不太对。

一个……应该是比较低的自我评价。毕竟一方面自己没有什么建树,另一方面 THU 计算机系真是人才辈出,无论是什么方面都能找到能碾压你的人,自然就无法自信起来。更可怕的是这种思维一旦建立起来,就很难从外界改变,别人的赞美会被当做是恭维,而就算真的做到了什么也只会有“这不是大家都能搞定的事情么”而没有什么成就感。这种自我评价甚至还会自我应验,因为怀疑自己所以不敢尝试,因为没有尝试所以把事情搞砸。可以说算是一个蛮严重的问题的。

还有一个就是害怕和逃避未来吧。确实大学这几年来并没有思考过将来的打算,或者说是在害怕这种不确定性而不去做这种思考。事实上我能确定的比较大的计划仅仅是不去做某件事情而已。我不知道我的前路该如何走,我也不去考虑,所以我只能这样子混日子混下去。

于是我就成为了一个没有行动力的人。没有目的就没有推力,害怕结果就会产生阻力,最后当然什么也做不到。

于是,我的困境

现在的我是一个没有毕业去向的人。工作肯定是要找的,但是就算我是 THU 计算机系的,没有个像样经历,GPA 又低于半数同学,我能得到一个还可以的 offer 么?

由此引发而来的是来自家庭的压力。我既然是 THU 计算机系的,那肯定能有不错的前程。就算这句话以一种鼓励的语气说出来,也会被理解成一种过高的期许,甚至是一种嘲讽。我不知道我该如何回应这种鼓励,更不用说批评和鼓励了。

更重要的是我要如何修复这种糟糕的心态,毕竟长此以往就算有偶尔的成就,也于事无补的。

我要如何重回正轨?

我不知道。

也许我应该行动起来,但是我要如何行动起来,或者说有什么能让我行动起来?

我真的不知道要如何回答这个难题。

也许我写下这段文字就能帮助我解决一些问题,但是也许不会有什么实质性的效果。

总之祝我好运吧。也祝你们好运。

依云's avatar

docker 里几个基本概念的简单类比

本文来自依云's Blog,转载请注明。

首先说明一下,这是一位 docker 新手对于 docker 的粗浅理解。如有不对还请谅解。我很早之前就尝试过使用 docker,然而由于术语的差异,导致我每次运行东西时都傻乎乎地创建了一个新的容器……现在感觉用法终于是弄对了,所以整理一下,将其类比到 Linux 上的普通软件的概念上。

image 相当于软件分发中的软件(安装)包。 Dockerfile 跟 PKGBUILD 类似,是用于制作一个 image 的打包脚本。用 docker build -t name:tag . 就可以制作。 container(容器) 一个容器就像是一个安装好了的软件包。该软件已经准备好,随时可以运行了。 docker run 「安装」指定的 image。也就是从 image 制作出容器来,顺带着进行首次运行。如果反复使用,会把同一个软件给安装多次。 docker start 就像是「运行」一个已经安装好的软件,容器跑起来了。之前容器的状态(文件的修改)也会生效。 docker ps 列出运行中或者已安装(带 -a 参数)的软件们。前者和 UNIX 命令 ps 类似,后者则没什么相似之处了。 docker exec 在正在运行的软件的环境内执行命令。有点类似于 ssh。 repository 跟 Linux 的包含众多软件的软件源并不一样。这个东西跟软件名类似,用于标识为特定功能的 image 集。发布出来的 repository 名的格式通常是 `owner/name`,跟 GitHub 差不多的。 tag 软件的版本,跟什么 lite、pro、beta 之类区分类似。它并不是用于分类的标签,也不是 git 中对于指定版本的不变的称呼。它更像是 git 的分支在某些情况下的作用,比如 latest tag 就跟 git 仓库的 master 分支一样,总是指向最新的版本。

我经过以上这样的映射之后,docker 理解起来就容易多了,行为也更符合预期。

farseerfc's avatar

用 usbip 轉發 raspberry pi 的 USB 鍵盤鼠標給 Arch Linux 的 PC

惠狐 megumifox 寫了篇 用PulseAudio將電腦的聲音用手機放出來 ,文末提到想知道我怎麼用樹莓派轉發 USB 的,於是寫篇文章記錄一下。

起因

家裏有個裝了 Arch Linux ARM 的樹莓派3B 閒置着,裝了 Arch Linux ARM 偶爾上電更新一下, 不過因爲性能實在不適合做別的事情於是一直在吃灰。某日 給老婆安利幻想萬華鏡和老婆看片 的時候, 老婆不吃安利於是遷怒鍵盤鼠標鍵盤鼠標被長長的 USB 線扯着感覺很難受 ,於是偶發奇想,能不能利用一下樹莓派的多達 4 個 USB 2.0 端口接鼠標鍵盤呢, 這樣鼠標鍵盤就可以跟着樹莓派來回走,不用拖着長長的 USB 線了。

上網搜了一下, Linux 環境有個 usbip 工具正好能做到這個。原理也很直觀, usbip 能把 USB …

farseerfc's avatar

【聽譯】からくれなゐの影

空見やればその姿 望向天空的話那個身影
馳せ 馳せ来る 彼方から 從遙遠彼方 飛馳而來
千里万里の向こうから 千里萬里的迢迢對面
今日も誰かが挑み来る 今天也有誰前來挑戰

「見せばやな」の声をあげ 「見識一下」衆人高喊
「やれ頼もう」の声をあげ 「上啊加油」群起振奮
どこからともなくやってくる 無論從何處都會趕來
その名もその影もまだ知らず 未曾聽聞的那名字那身影

ああ此度も現れる 啊 這次也出現了
からくれなゐ の色を帯び 唐紅色的一陣風飄過

虚仮威しの妖怪か 是虛張聲勢的妖怪麼
身の程知らずの妖精か 是毫無自知之明的妖精麼
果てはこれはこれはと 結果這一次這一次會是
これこそが真の強敵か 貨真價實的強敵麼

斯くも多彩な技を比べて 比試此般多彩的技巧
その奥義 その秘伝を 今高らかに 那奧義 那秘傳 如今更高階
掲ぐは何符 謳うは何符 揭起的是什麼符 詠唱的是什麼符
数えれば …
Kouga's avatar

给国行 VIVO NEX S 瘦身喵!

国行手机里有一大堆用不上的垃圾软件和糟糕的桌面,用着真糟心喵!最好的方式是彻底刷机,但是没有找到合适的方法,如果有任何成功刷成 Global 版本的方式,务必告诉咱喵!

清理前准备

  1. 确保你的互联网连接!这点非常重要因为接下来的操作都要求在 良好 网络条件下进行,或者你也可以尝试全部下载了脱机处理喵~
  2. 电脑上安装必要的 adb 工具和驱动(咱是用的 Arch Linux,这里的流程同样适用于Windows)
  3. 备份数据

清理流程

  1. APK镜像站上下载 Google Play Store、Google Photos 等套件,因为脑残的 VIVO 安全中心会让你无法正确安装和升级这些谷歌套件;
  2. 手机关机,等待10s后 长按 音量+ 和 电源键 开启 fastboot 菜单,用 音量 +/- 选择 Recovery
  3. 点击
Kouga's avatar

Ubuntu Server Web Management

0. Don't do this!

  1. Webmin

因为社区配合问题,Webmin不再在官方源包提供,几年前安装过但是效果不佳,各种插件配合也不怎么样,还经常莫名其妙崩溃喵……所以……这次直接就跳过了这个方案。

  1. Cockpit

官方源安装,基于WS代理进行管理,看上去还不错;但是,sudo 始终有授权问题,导致部分配置不可用,部分插件也失去响应;Web Console 没有处理中文字体导致界面崩坏时常发生;

  1. Zentyal

官方源安装;简直毒瘤;不小心安装了它的Network和Firewall组件,直接将我整台服务器踢下线了!PPPoE也始终有问题无法拨号!

  1. Ajenti

Installing...Failed.

  1. ansible

Hands on righnow. Maybe that's the soulation.

's avatar

莉兹与女装变态杀人魔的选择

有人提醒我 SSL 证书过期,于是我想起来,我还有一个博客。

或许是因为 acme.sh 更新,或是什么变化,总之就是挂了,十分遗憾。但挂在 GitHub pages 上的主页大多数情况下都不会挂,所以可以去那里看一看。

回不来的时间

新年的冬风,今年也是格外的刺骨。虽然没有新闻里芝加哥那么冷,但至少晚间在回去的路上,不穿上厚外衣,戴上手套,捂紧帽子,是免不了要瑟瑟发抖一番的。

农夫冻得手脚冰凉,在与蛇的战斗中,两手僵硬,有劲无处使,落得一个被蛇咬的下场。

元月27日或许是一切混乱的起点。

这一天,弄到了一个卖手机亏损的公司生产的家用主机。于是 Jirga Para Lhao 被拯救了。但 30 个小时就这样过去了。

青鸟不会做杀人的梦

我有时候会思考应该如何写一篇感想。

客观性是我试图避免的:我想写一些主观的、个人的感受,而不是所有人都会感受到、都可以表达出来的东西。我想写的是我个人的感想,而不是所有人的感想。之前的尝试在这一方面都不算是令人满意——大多时刻只是事实的罗列,或者是单纯的侃侃而谈。

聊天倒是也不坏。蔡康永的情商书(为什么我会看这么大众的书,不过转念一想,倒也有种别样的趣味)里就有“分身”这一说法。人每时每刻都需要和他人交流,但往往会忽视与自己的交流。与自己的交流听起来好像很奇怪。尝试培养另外一个不同的自己,跟这个自己对话。这可以说是一种审视自己的方式,也可以是一种批判性思考的方式。从这一个方向用尽九牛二虎之力也推不开的门,说不定换个方向就能轻松打开。

回到侃侃而谈。可能变成侃侃而谈也能从侧面说明,想从心灵这个湖里,捞出感想的鱼,不是件容易的事情,把捞上来的鱼卖给他人,也不是件容易的事情。不过鱼还没有捞上来,就想着销路,算是有点眼高手低了。

不过鱼有大的鱼和小的鱼,就像苹果有甜的苹果和不甜的苹果。大的鱼属于那种容易发现的。比如看完《活着》,感受到悲伤、无奈、沉重。不过转念一想,悲伤和喜悦都只是游在表面上的鱼,而在深水里的,是那种达观、顽强、活下去的力量,是这股力量支撑着人走下去。活着才有酸甜苦辣,活着才有风雨彩虹。

结果又变成万人都能说出的感想了。我大概不适合这差事。

同学聚会

参加了高中的同学聚会。令我惊奇的是,我没那么快活。

用一句大俗话来说,就是感觉少了点什么。

我曾经不止一次梦到过和高中同学搞事——建车站、开组会,无所不为。这或许这是我高中过于安分的反作用。搞事的时候我是快乐的,虽然在梦里的事都说不清楚,但大概的确是这样。

所以一个很大的可能就是,因为没怎么搞事。

灰姑娘是不是因为穿上了水晶鞋,所以不能自由奔跑了呢?

我翻遍了卡拉 OK 的歌单,翻遍了火锅的锅底,但都没有找到答案。

冬天来了,冬天还会远吗

在严寒中,在风雪里,食堂一个接着一个地关门了。有的等春暖花开之际会像燕子一般归来,有的则永远也不会回来了。

可我仍然没有吃到藤椒口味的浇汁饭。

cunky's avatar

使用uWSGI和Nginx部署Django项目

开始这篇文章为我在2019年1月31日部署Django的笔记,具体环境如下:System:Ubuntu 16.04.5 LTSWeb Server:Nginx/1.10.3 uWSGI/2.0....
Cee's avatar

Oh My 2018

Summary

変わる世界、 変わらない私。

Moments

2 第一次在国外过年,跨年的时候正好在面 Tumblr

3 和郑老板的自由女神像之旅

3 HackNYU First Prize

3 Frank 走了

4 和腾壕、岛娘的日本 LongHash Hackathon

5 买了吉他

5 西海岸旅行

6 开始在 Tumblr 写 iOS

7 Miku Expo 2018

8 搬家

9 换了纽约州驾照

9 秋招开始

10 第一封 Offer,来自 GrubHub

11 Chara Expo USA

11 决定当一名 Googler 了

12 决战 C95(三日)

Input & Output

+ Sony RX100 VI

- iPhone 7 Plus (Jet Black)

+ iPad Pro 12.9-inch (Space Gray)

- iPad Pro 10.5-inch (Silver)

+ Sony WH-1000XM3 (Gray Silver)

- Sony MDR-1000X (Gray Silver)

Numbers

  • 9,567 photos
  • 0 posts (?)
  • 2,853 twitter followers
  • 760 instagram followers
  • 11 books
  • 245 contributions (only on GitHub)

Hall of Fame

The Next

  • 写完 One Clock!
  • 努力找到另一半😘(真丢人,退群吧)

PS:拖这么晚才发的原因是升级了系统 Ruby 挂了…没法生成静态网页

farseerfc's avatar

【聽譯】Opposite World

間違いを正す その心は嗚呼 想糾正錯誤的 那顆心啊
朽ち果てた草や木に 水を注ぐ様 就像對早已乾枯的草木澆水一樣
だけれど 意味もなくそれを「善」と感じて 只不過 根本毫無意義 只是感覺到那是「善」
闇雲に向かう先 それを「支配」と呼ぶ 黑雲中趕向遠方 把它稱作「支配」

「明日は晴れる」「きっと雨が降る」などと当たり前に 「明天會放晴」「肯定要下雨」這種稀鬆平常地
過ごした日々が こんなに遠くになってしまうなんて 度過的日子 爲何變得如此遙遠了呢
-今- -現在-

止まぬ霧雨 見えぬ光が 止不住的霧雨中 看不見光
世界を赤く 染め上げてしまうのか 是要把整個世界都染上紅色麼
薄い記憶を 辿っていけば 如果追尋朦朧的記憶的話
この血液は 覚えているのか 這血液中 還可曾記得
争いの「タネ」を 爭端的「種子」麼?

そっと腰掛ける 背の高い座には 輕輕倚靠上 那高高座椅
見渡せる仕組みには作られていない 尚未完成可以放眼遠眺的結構
それ故 その眼 頭 身体を駆使して 因此 眼球帶動頭 驅使身體
目に見えぬ無意味にも 意味を生まれさせて 即使看不見的無意義中 也讓它產生出意義
剣を向けた私にさえ 優しく微笑み返す 就連拔劍相向的我 你也溫柔地對我微笑
「これまでの戦いの意味」を 忘れてしまう程に 以至於讓我忘記了「至今爲止戰鬥的意義」
-何故?- -爲什麼?-

得体の知れぬ 生き方をする 隱藏着自己真實身份的生活方式
お前のような 者も有りと言える 像你這種也是 可以存在的
鏡を照らして 合わせてみても 照着鏡子比對一下身影
全てが同じ とは言えないから 也不能說是全都相同吧
同じはないから 因爲還並不相同

止まぬ霧雨 見えぬ光が 止不住的霧雨中 看不見光
世界を赤く 染め上げてしまうのか 是要把整個世界都染上紅色麼
薄い記憶を 辿っていけば 如果追尋朦朧的記憶的話
この血液は 覚えているのか 這血液中 還可曾記得
争いの「タネ」を 爭端的「種子」麼?

亡き王女の為のセプテット 原曲 管弦樂團版

Opposite World,原曲是十六夜咲夜最喜歡的大小姐蕾米利亞,在東方正作 TH06 《東方紅魔鄉》中的主題曲 《亡き王女の為のセプテット》 。這首是描述蕾米利亞的故事,同時也作爲《幻想萬華鏡》的 ED 從而比較有知名度。說起 TH06 雖然是第六部東方正作了,不過前5部都是 PC86 上的黑歷史,所以通常 TH06 開始纔算是東方整體系列的開篇。 說道 TH06 的標題《東方紅魔鄉》,不少人誤以爲「紅魔鄉」和「紅魔館」指的的同一個東西, 或者「紅魔鄉」和「幻想鄉」指的是同一個東西,這裏稍微說一下, TH06 講的是發生在幻想鄉的「紅霧異變」, 突然出現在「幻想鄉」的紅魔館主人蕾米利亞想用紅霧遮蓋住整個幻想鄉的天空,從而「紅魔鄉」指的是在 「紅霧異變」發生時,被紅魔籠罩下的幻想鄉。解決了紅霧異變之後,就不存在紅魔鄉了, 只有紅魔館還位於幻想鄉湖畔。

關於《 亡(な) き 王女(おうじょ) の 為(ため) のセプテット》這個曲名, 翻譯的話是《爲已逝公主譜寫的七重奏》,對此神主 ZUN 的描述也很有意思:

Music Room Music Room
レミリア・スカーレットのテーマです。 這是蕾米利亞・斯卡蕾特的主題曲。
これがラストだ!といわんばかりの曲を目指しました。 あんまり重厚さを出したり不気味さを出したり、そういうありが ちラストは嫌なので、ジャズフュージョンチックにロリっぽさを 混ぜて...、ってそれじゃいつもとあんまり変わらんな。 このメロディは自分でも理解しやすく、気に入っています。 「這是最後了!」這首曲子的目標就是讓人想喊出這種話。 充斥着厚重感和陰森感,這麼一想的話又不想讓人感覺和通常的最終章沒什麼區別, 於是又混入了爵士風格和蘿莉的感覺……這,和往常的也差不多沒什麼變化吶。 這個旋律我自己也能容易理解,覺得很喜歡。
裏音楽コメント 裏音樂評論
とあるクラシックの有名曲をもじってタイトルにしています。
その曲とは一切の関係もありません。
しかも曲はセプテットでもないです。雰囲気だけ(汗)
そもそも、誰も亡くなっていないし、王女ってだれ?
標題是模仿某知名古典音樂的。
但是和那首曲子完全沒有關係。
何況這首曲子也不是七重奏。只是氣氛上像(汗)
話說回來,也沒有誰去逝,而且公主是誰呢?

看上去大小姐的身世和這標題的來源都疑點重重。嘛,回表「幽閉サテライト」社團 senya 譜詞演唱的 Opposite World 這首歌,和主人一樣,歌詞內容也比較隱晦,大體上感覺是在講紅霧異變。 紅霧異變的時候蕾米利亞想讓紅霧覆蓋整個幻想鄉的天空, 這樣她和二小姐就可以不用避開陽光自由地行走在幻想鄉了,她把這種行爲稱之爲「支配」。 值得一提身爲吸血鬼的大小姐和二小姐不光懼怕陽光,也懼怕下雨,下雨天同樣是不能出門的。 因此整首歌詞就在講述大小姐蕾米利亞爲了同類,糾正錯誤的「太陽」,凡事親歷親爲。 以整個世界爲敵,也即歌詞的標題 Opposite World 。

如果把陽光比作商業軟件環境,把斯卡蕾特一族紅魔館的人比作開源社區的貢獻者們, 說到如大小姐一般事無鉅細親歷親爲,只爲給自己留下一個足以棲身的淨土,這樣的人你能想到誰呢?


間(ま) 違(ち) いを 正(ただ) す その 心(こころ) は 嗚呼(ああ)
朽(く) ち 果(は) てた 草(くさ) や 木(き) に  水(みず) を 注(そそ) ぐ 様(よう)
だけれど  意味(いみ) もなくそれを「 善(ぜん) 」と 感(かん) じて
闇雲(やみくも) に 向(む) かう 先(さき)  それを「 支配(しはい) 」と 呼(よ) ぶ

明日(あした) は 晴(は) れる きっと 雨(あめ) が 降(ふ) る などと 当(あ) たり 前(まえ) に
過(す) ごしたが こんなに 遠(とお) くになってしまうなんて
- 今(いま) -

止(や) まぬ 霧雨(きりさめ)   見(み) えぬ 光(ひかり) が
世界(せかい) を 赤(あか) く  染(そ) め 上(あ) げてしまうのか
薄(うす) い 記憶(きおく) を  辿(たど) っていけば
この 血液(けつえき) は  覚(おぼ) えているのか
争(あらそ) いの「タネ」を

そっと 腰(こし) 掛(か) ける  背(せ) の 高(たか) い 座(ざ) には
見(み) 渡(わ) せる 仕(し) 組(く) みには 作(つく) られていない
それ 故(ゆえ)  その 眼(まなこ)   頭(あたま)   身体(からだ) を 駆使(くし) して
目(め) に 見(み) えぬ 無(む) 意味(いみ) にも  意味(いみ) を 生(う) まれさせて
剣(けん) を 向(む) けた 私(わたし) にさえ  優(やさ) しく 微笑(ほほえ) み 返(かえ) す
「これまでの 戦(たたか) いの 意味(いみ) 」を  忘(わす) れてしまう 程(ほど) に
- 何故(なぜ) ?-

得体(えたい) の 知(し) れぬ  生(い) きをする
お 前(まえ) のような  者(もの) も 有(あ) りと 言(い) える
鏡(かがみ) を 照(て) らして  合(あ) わせてみても
全(すべ) てが 同(おな) じ とは 言(い) えないから
同(おな) じはないから

止(や) まぬ 霧雨(きりさめ)   見(み) えぬ 光(ひかり) が
世界(せかい) を 赤(あか) く  染(そ) め 上(あ) げてしまうのか
薄(うす) い 記憶(きおく) を  辿(たど) っていけば
この 血液(けつえき) は  覚(おぼ) えているのか
争(あらそ) いの「タネ」を





IceHoney Blog's avatar

亚马逊S3服务简单介绍

最近在做后端的开发,需要一些二进制数据保存在服务器云端。团队决定调查AWS的S3服务是否满足需求,所以就做了一些调查工作。不过也遇到很多坑的地方。所以记录下来,防止以后再遇到。

基本需求

需要云服务有稳定性保证,并且可以批量上传文件。可以设置上传和下载链接的有效期。

AWS试用

AWS提供免费试用,但是注册的时候需要填写信用卡信息。确实有点不安,万一不小心被收费了就不好了。

生成上传凭证

我使用的是AWS的 JavaScript SDK。使用createPresignedPost API可以创建用于上传的凭证。这个凭证是根据用户的AccessId,AccessKey和Policy策略等计算生成的,并没有和AWS服务器直接进行交互。所以不用担心这个接口和AWS直接的流量费用问题。

var params = {
  Bucket: 'bucket',
  Conditions: [
    ['starts-with', '$key', 'path/to/uploads/']
  ]
};
s3.createPresignedPost(params, function(err, data) {
  if (err) {
    console.error('Presigning post data encountered an error', err);
  } else {
    data.Fields.key = 'path/to/uploads/${filename}';
    console.log('The post data is', data);
  }
});

官方提供的例子中,可以使用starts-with的方式来指定上传文件的key必须是以什么开头的,这样就可以指定上传的文件夹。很多文件也可以使用这一个上传凭证来完成上传。

上传Policy构造

AWS提供了一个详细文档说明如何构造合法的Policy:Creating a POST Policy。例如常见的需求就是在上传的时候添加meta信息声明文件的格式或者MD5值。 Policy的Conditions数组里面可以添加["starts-with", "$x-amz-meta-md5checksum", ""]。最后一个参数为空字符串代表可以上传任何数值。

构造POST表单

AWS也有文档说明了如何构造一个上传的表单。这个表单中最重要的是一句注释:The elements after this will be ignored。在file字段之后的所有信息都会被忽略掉,我测试的时候一直把x-amz-meta-md5checksum字段放在file字段之后导致上传一直报错。直到Stack Overflow上面有人解释了才恍然大悟。

构造下载链接

我们使用getSignedUrl API来生成下载链接,下载链接也是根据自己的AccessId和AccessKey生成链接的凭证,也没有和AWS服务器直接进行交互。当请求文件的时候,AWS再计算凭证是否有效。所以后端无需和AWS交互就可以返回客户端有效的AWS下载链接。针对需要返回实际文件的API接口,可以采用返回302的跳转链接来完成需求。示例代码如下:

var params = {Bucket: 'bucket', Key: 'key'};
var url = s3.getSignedUrl('getObject', params);
console.log('The URL is', url);

可能有人会问,这个API也可以用来上传啊。但是这个API接口必须指定key值,这样我们就需要为每个文件来生成一个独立的上传URL。这样太麻烦了。

总结

我们使用pre-sign的方式来生成URL主要是为了对客户端透明。虽然我们可以设置最小权限的IAM User给客户端,但是客户端很容易被逆向拿到敏感数据。这样难免会有风险,所以生成一个单纯的URL供客户端使用一定程度上保证了安全性也减少了客户端的复杂性。毕竟我也不想引入一个AWS的SDK进来。

's avatar

Transmission WebUI 批量添加磁链

抓到一堆磁链,手动加入下载很麻烦… 于是做了个简单的脚本。

(() => {

async function request (object) {
  return new Promise((resolve, reject) => {
    transmission.remote.sendRequest(object, resolve);
  });
}

async function addMagnets(urls) {
  for(let i = 0; i < urls.length; i++) {
    const url = urls[i];

    console.info('add %d/%d: %O', i + 1, urls.length, await request({
      method: 'torrent-add',
      arguments: {
        'paused': false,
        'download-dir': $("#download-dir").val(),
        'filename': url
      }
    }));
  }
}

addMagnets(`
此处填入地址,一行一个 (填入时删除此行)
`.split('\n').map(n => n.trim()).filter(n => n));

})()
Kouga's avatar

OSMO Pocket 上手玩喵~

  1. 事实上机身侧面的两组触点就是USB喵~
  2. 机身底部的USB其实也可以直接插手机用来拍摄喵~
  3. 甚至你可以用OTG线转接其它类型USB口手机接上去喵~
  4. 机身夹具可以自己打印或者淘宝30元一个喵~可以和GoPro一系列夹具互换喵~
  5. 机身不防水,但是我们有防水喷漆和防水套喵~官方套子还没看到暂时不评价喵~
  6. 整个机身其实就是无人机摄像头部分喵~只是没有一套避震橡筋结构喵~
  7. 质量非常轻(115.1g),加上USB这架构……我有个大胆的想法,让它起飞当FPV喵~
  8. 如果想要手持也不出现水平或者垂直大幅移动,可以很简单的用各种夹具摆拍喵~

QAQ,但是咱博客的图床挂了喵……怎么上图喵……

's avatar

从 HMV 英国站导出 CD 音轨信息

买了张 EAC 读不出自动填写信息的音乐光盘(freedb 服务),只好自己去网上抓一下音轨的信息。

HMV 英国 找到了整理好的表格,用脚本提取所有信息然后通过 mp3tag 批量导入。

导出脚本如下:

// HVM UK Track Info Dump Script for mp3tag by Jixun<https://jixun.moe>
// MIT License, use at your own risk.

document.body.querySelectorAll('.table--track-listing').forEach((disc, i) => {
  const pad = (n) =>  `0${n}`.slice(-2)
  const tracks = ([].map.call(disc.querySelectorAll('tr>td:first-child'), (x, i) => ({
    track: i + 1,
    name: x.nextElementSibling.textContent.trim(),
    artist: x.nextElementSibling.nextElementSibling.textContent.trim(),
  })))

  console.info('Disc %d\n%s', i + 1, tracks.map(track => `${track.artist} / ${track.name}`).join('\n'))
})

将每张光盘的导出数据另存为文本文档,然后在软件选中光盘文件,然后在菜单选择「Convert」→「Text File - Tag」,填入文本文件,以及格式填入 %artist% / %title%

点击「Preview」检查数据是否与光盘后面的曲目相对应,如果对的话就回到这个界面点击「OK」即可。

h404bi's avatar

历经数月,GitHub 章鱼猫寄来的 T 恤竟然……

Get Your Pull-Request Merged!

竟然寄到了,而且还有小惊喜。


起因是参加了由 GitHub 和 DigitalOcean 联合举办的 Hacktoberfest 2018 活动。据说已经是第五届了,活动目的就是鼓励更多的人对开源社区做出贡献,支持开源项目。在活动期间内在 GitHub 上发出并且被合并 5 次 Pull-Request,就能登记领取文化 T 恤。挺好的。

Hacktoberfest 2018

当时觉得 5 个 Pull-Request 被合并其实不难。倒是在想,这文化 T 到底能不能顺利漂洋过海来到手中。毕竟,我还有 2018 年中从宝岛台湾寄给自己的明信片到现在还是了无音讯的(悲伤)。抱着一丝希望,完成了任务填写了信息。之后就当作没有这回事不管了。

数个月后,突然收到邮政打电话过来询问是不是“茶某某”,说有份国际快件让我去自提。彼时我在上班砍需求中,一时没想起来,就纳闷我名字里没茶这个字啊,这时对面已经挂线了。缓过神来才想起可能是 Hacktoberfest 的 T 恤,就只好等下班去邮政仓库转一圈。

邮政晚上 9 点下班关门,赶着时间提前溜去了目的地拿到了包裹。

打码打码打码...

居然是从 Germany 德国寄过来的,我还以为是你大 USA 呢(图中的邮票是打码加上去的,谁会寄快件贴邮票哈哈哈),贴的满满的邮寄信息贴纸。这里有个小插曲要说下。去自提其实没有很顺利,到场后说是外国包裹,被告知要出示身份证并且不能代领。我不是代领,但是还是遇到了问题,在仓库现场根据我的身份证信息找不到包裹。我想到前面打电话叫我 “茶(Cha)某某”,才醒悟到当时填邮寄信息时,我心大填了英文名而不是姓名拼音。后面拿笔纸写了英文名才找到。被告知国家实行实名制,快件要写实名,不能只凭电话收取云云。还好最后拍了快件照片,让我签收了。工作人员要回收签收贴纸,但由于贴纸贴了太多不好撕,就让我现场剪开了包裹拿走了物品,留下了袋子。在剪开之前拍了上面那张照片。

经过这次后,觉得涉及实物相关的特别是跨国的东西,邮寄信息等资料最好还是写拼音。心大写英文还是不太行,有时候会造成麻烦。


接下来算是“开箱”。

除了 T 恤之外还有……

小惊喜就是包裹里除了一件 T 恤外,还有几张 Stickers。现场拆包裹时邮政的工作人员心细帮我拿了出来,不然我可能拿了件衣服就跑了。

整件衣服就是稍微浅色一点的酒红色。挑了最小号的,感觉刚刚好。正面一个大号 Hacktoberfest LOGO,右侧衣袖印了活动主办方的产品 LOGO,这样你穿出去就是“移动广告”啦。

DigitalOcean、GitHub 以及不认识的 Twilio。

Hacktoberfest 2018 LOGO

整件衣服所有能找到的图案

District - VERY IMPORTANT TEE

哈哈哈,我看得这个“VERY IMPORTANT TEE”的时候真的笑了。这衣服牌子起的名字真有意思。

面料产地

一半棉一半涤纶……倒是摸得出来棉量一般。产地 Honduras 洪都拉斯,拉丁美洲国家…… 所以这件衣服有飞了快一圈地球了吗?

Hacktoberfest 2018 LOGO 细节

Hacktoberfest 2018 LOGO 细节

Hacktoberfest 2018 LOGO 细节

其实可以很明显地看出来,衣服的 LOGO 印花做得是相当直接粗暴的,也有些“粗糙”吧。这种衣服,放洗衣机里拉扯几次,估计印花就烂的差不多了。所以这些文化广告 T 呢,很多情况下要么穿的话就手洗,要么就……不愿做移动广告,供起来做收藏咯哈哈哈……

Stickers

四张贴纸,分别对应 GitHub 章鱼猫、DigitalOcean 鲨鱼、Hacktoberfest LOGO 以及不认识的 Twilio。剩下那个大概是马克杯垫。贴纸是真的小惊喜了,章鱼猫挺好的。

Stickers

有 DigitalOcean 的新用户广告,还有让你收到衣服后穿上然后去 Twitter 上的 #Hacktoberfest 发推分享 2333。我在推上搜索看到有不少分享了,并且才知道除了这一款 DigitalOcean 联名的酒红色 T 恤外,还有微软款等其它款的!我觉得还更好看,有点羡慕……

来自推特用户 @tanhengyeow

看到大眼睛的回形针了吧!好赞啊。不过不管怎样,能收到还是很高兴,于是就记录下来了。有下一届的话,我应该还会参加的,嘿嘿。

farseerfc's avatar

【聽譯】華鳥風月

嗚呼 華のように鮮やかに さあ 啊 像花那樣鮮豔 颯
嗚呼 鳥のように優雅に 啊 像鳥那樣優雅
嗚呼 風まかせも心地良い さあ 啊 憑風拂面也很舒服 颯
嗚呼 月明かり照らされて 啊 明月光輝照耀世間

正しさなんてもの 所謂的正確與否
人の物指しによって変わる 會根據人的判斷而改變
この世界 不変あるとするならば 這個世間 要說不變的事物 唯有
華鳥風月 厳かで美しいもの 花鳥風月 這些莊嚴而美麗的事物

後悔をして 学び また歩もう 經歷過後悔 學會教訓 繼續前行
二度と過ち 繰り返さぬように 不要讓錯誤再一次重複發生
歴史とは 変わらぬ感情が 所謂的歷史 也就是不變的感情
廻り廻って 傷つけて和解された 峯迴路轉 相互中傷又和解
世界の成長 也是世界的成長

正しさなんてもの 所謂的正確與否
大人にも分からない幻想 更多是連大人都無法理解的幻想
この世界 不変あるとするならば 在這世間 要說不變的事物 唯有
華鳥風月 穏やかで懐かしきもの 花鳥風月 這些穩重而令人懷念的事物

汚れぬことが 不同流合污
正義なのだろうか? 就能算是正義了麼?
過ちの中にあるけじめに 一次次犯錯中 尋找每次的區別
魅せられ知った 穢れを恐れぬ愛も 被魅惑後又知情 卻還無懼於污點的愛
正しさと言うこと 也能說是正確的吧

形無いからこそ 正因爲沒有形狀
感じようと思える 所以纔更想去感受到
それも 生けるものすべて内側に持つ 這一點也 讓它存在的原因全都是發自內心
華鳥風月 測れないから意味がある 花鳥風月 因爲無法測量所以纔有意義
だからこそ 愛を彷徨う 正因如此 纔會在愛中彷徨

悲しめる心も 讓人悲傷的心也
怒れる優しささえも 就連讓人憤怒的溫柔也
きっと 生けるものすべて内側に持つ 一定是 讓它存在的原因全都是發自內心
華鳥風月 何処までも美しくなれ 花鳥風月 無論何處 都美麗動人
いつまでも美しくあれ 無論何時 都美麗動人

《花鳥風月》,算是比較著名的東方改編曲了,因爲作爲《幻想万華鏡》的片頭片尾曲, 配上了動畫的片段,算是對整個東方正作故事中描繪事物的總結。 就像我第一篇翻譯的歌詞 《童遊》 因爲是對神主ZUN自己的主題曲《童祭》的重新譜詞而有了總起的性質, 這篇《花鳥風月》也因爲用在《幻想万華鏡》而有了總結的性質。


嗚呼(あゝ)   華(はな) のように 鮮(あざ) やかに さあ
嗚呼(あゝ)   鳥(とり) のように 優雅(ゆうが) に
嗚呼(あゝ)   風(かぜ) まかせも 心地(ここち) 良(よ) い さあ
嗚呼(あゝ)   月(つき) 明(あ) かり 照(て) らされて

正(ただ) しさなんてもの
人(ひと) の 物(もの) 指(さ) しによって 変(か) わる
この 世界(せかい)   不変(ふへん) あるとするならば
華鳥風月(かちょうふうげつ)   厳(おごそ) かで 美(うつく) しいもの

後悔(こうかい) をして  学(まな) び また 歩(あゆ) もう
二(に) 度(ど) と 過(あやま) ち  繰(く) り 返(かえ) さぬように
歴史(れきし) とは  変(か) わらぬ 感情(かんじょう) が
廻(めぐ) り 廻(めぐ) って  傷(きず) つけて 和解(わかい) された
世界(せかい) の 成長(せいちょう)

正(ただ) しさなんてもの
大人(おとな) にも 分(わ) からない 幻想(げんそう)
この 世界(せかい)   不変(ふへん) あるとするならば
華鳥風月(かちょうふうげつ)   穏(おだ) やかで 懐(なつ) かしきもの

汚(けが) れぬことが
正義(せいぎ) なのだろうか?
過(あやま) ちの 中(なか) にあるけじめに
魅(み) せられ 知(し) った  穢(けが) れを 恐(おそ) れぬ 愛(あい) も
正(ただ) しさと 言(い) うこと

形(かたち) 無(な) いからこそ
感(かん) じようと 思(おも) える
それも  生(い) けるものすべて 内側(うちがわ) に 持(も) つ
華鳥風月(かちょうふうげつ)   測(はか) れないから 意味(いみ) がある
だからこそ  愛(あい) を 彷徨(ほうこう) う

悲(かな) しめる 心(こころ) も
怒(おこ) れる 優(やさ) しささえも
きっと  生(い) けるものすべて 内側(うちがわ) に 持(も) つ
華鳥風月(かちょうふうげつ)   何処(どこ) までも 美(うつく) しくなれ
いつまでも 美(うつく) しくあれ

farseerfc's avatar

【聽譯】酔花

千切れた雲の隙間に 映ゆる今宵の月は 波雲飄過的空隙之間 掩映出今夜明月
解けた帯によく似た 淡い花模様 恰似寬解下的腰帶上 淡雅花紋
愛し君の唇が 口ずさむ手毬唄 你可愛的小嘴 輕聲哼起童謠小調
あの日の面影はもう 禍夜最の果て 那日容顏已成爲 那夜災禍最後的結果

根雪の下で芽吹いた意思の 殘雪下破土而出的心意
蕾は何処で咲くのだろう? 花苞又會在何處綻放呢?
差しのべた手の温もりは変わることなく 伸出的手 溫暖還尚未消散

失くした物を忘れ去るように 就像要忘卻那些失去的事物
過ぎ行く四季の移ろいに 四季輪轉交替不停
道の端揺らぐ花よ 君は今何思う 路旁搖曳的花啊 你現在又在想什麼

遠く滲む縹色 流々と旅行く魚は 共長天一色的流水 絡繹不絕的魚群
「己が運命」と散りても羽瀬に惑いて 說是爲「自己的命運」而犧牲 卻是困入了魚簍中

葉黒無く脆く砕けた命(ツキ)の 飄渺而脆弱的這已經破碎的生命(殘月)
欠片は何処へ還るだろう? 碎片該歸還於何處呢?
天翔けるその煌きは 語ることなく 曾經在天空翱翔時的輝煌 也無人能訴說

共に朝まで話した夢を 一同徹夜暢談的夢想
紙の小舟に浮かべよう 摺成小紙船浮在水面上
長く続くこの旅路を 静かに見送って 這段漫長旅途 只能靜靜目送

君在りし日の あの彩りよ 你尚在時的 那片光彩啊
何時かまた音連れるように 要待何時才能傳來音訊
ぽつり、ぽつり 紡ぐ音霊 夜風に乗せて 一點一滴 紡出的音符 乘上夜風

去りゆく物へ 捧ぐ思いの 對遠去的事物 奉上思念
その儚さに止め処なく 這片虛無感無處可安
瞼から落ちる玉は 何故杯を染む 眼角滑落的點滴 爲何濁了杯中酒

又是一首以 《砕月》 爲曲調填詞寫的歌呢,算上之前翻譯過的 《愛き夜道》 和 《月見桜》 這已經是 第三首 了,看來我真的很喜歡《砕月》的曲調呢。 聽過之前這兩首的人大概會感覺出來,雖然三首歌有共同的曲調,卻有不同的曲風, 大多東方同人的音樂都是如此,因爲原曲都是神主ZUN的遊戲配樂,沒有歌詞, 於是同人創作者根據各自的理解重新演繹成不同的二次創作。 某種程度上,這很像自由軟件社區呢。

標題「 酔花(すいか) 」,是個文字遊戲,因爲 《砕月》 這首曲調算是《東方萃夢想》的BOSS 伊吹萃香 的主題曲,標題就是 萃香(すいか) 這個名字的不同漢字轉寫。

曲風用詞非常古樸,以至於只看到了兩個音讀漢字詞(「意思」和「四季」), 別的漢字都是訓讀,甚至作者給出的訓讀表記的一些詞的漢字寫法接近 萬葉假名 , 而非現代更常用的訓讀漢字,看來作者是想模仿中古時代那段時期的日語風格。 這古風翻譯起來也更困難,於是照例,標假名的同時給出字詞解釋。


千切(ちぎ) れた 雲(くも) の 隙間(すきま) に 映(は) ゆる 今宵(こよい) の 月(つき) は 千切(ちぎ) れた 雲(くも): ちぎれ雲 ,厚層雲下流動的斷片雲。
解(ほど) けた 帯(おび) によく 似(に) た 淡(あわ) い 花(はな) 模様(もよう)
愛(いと) し 君(きみ) の 唇(くちびる) が 口(くち) ずさむ 手毬(てまり) 唄(うた) 手毬(てまり) 唄(うた): 手鞠歌 ,明治時期起小孩一邊玩手毬一邊唱的童謠。
あの 日(ひ) の 面影(おもかげ) はもう 禍(まが) 夜(よ) 最(も) の 果(は) て

根雪(ねゆき) の 下(した) で 芽(め) 吹(ぶ) いた 意思(いし) の
蕾(つぼみ) は 何処(どこ) で 咲(さ) くのだろう?
差(さ) しのべた 手(て) の 温(ぬく) もりは 変(か) わることなく

失(な) くした 物(もの) を 忘(わす) れ 去(さ) るように
過(す) ぎ 行(ゆ) く 四季(しき) の 移(うつ) ろいに
道(みち) の 端(はじ) 揺(ゆ) らぐ 花(はな) よ 君(きみ) は 今(いま) 何(なに) 思(おも) う

遠(とお) く 滲(にじ) む 縹色(はなだいろ) 流々(るる) と 旅(たび) 行(ゆ) く 魚(うお) は 直譯:遠去的淡藍色融入(天空),匆匆趕路旅行的魚。
「 己(おれ) が 運命(さだめ) 」と 散(ち) りても 羽瀬(はせ) に 惑(まど) いて 羽瀬(はせ) :一種類似魚簍的竹製捕魚工具,漲潮時等魚游入其中,落潮時把魚困在裏面。

葉黒無(はかな) く 脆(もろ) く 砕(くだ) けた 命(ツキ) の 葉黒無(はかな) く:現代訓讀漢字寫作「 儚(はかな) く」,飄渺不定的。 命(ツキ) :這裏命是当て字,讀作 月(つき) 。
欠片(かけら) は 何処(どこ) へ 還(かえ) るだろう?
天(あま) 翔(か) けるその 煌(きらめ) きは  語(かた) ることなく

共(とも) に 朝(あさ) まで 話(はな) した 夢(ゆめ) を
紙(かみ) の 小舟(こぶね) に 浮(う) かべよう
長(なが) く 続(つづ) くこの 旅路(たびじ) を 静(しず) かに 見(み) 送(お) って

君(きみ) 在(あ) りし 日(ひ) の あの 彩(いろど) りよ
何時(いつ) かまた 音(おと) 連(つ) れるように 音(おと) 連(つ) れる:現代訓讀漢字寫作「 訪(おとず) れる」 ,到訪,造訪。倒是原本的寫法「音(おと) 連(つ) れる」更能體現 「帶來音訊」的意思。
ぽつり、ぽつり  紡(つむ) ぐ 音(おと) 霊(たま) 夜(よ) 風(かぜ) に 乗(の) せて

去(さ) りゆく 物(もの) へ  捧(ささ) ぐ 思(おも) いの
その 儚(はかな) さに 止(と) め 処(と) なく
瞼(まぶた) から 落(お) ちる 玉(たま) は 何故(なぜ) 杯(さかずき) を 染(そ) む
Felix Yan's avatar

用脏办法解决 BLE 鼠标重连后指针不动的问题

我的蓝牙鼠标(雷柏 MT750)使用 BLE(Bluetooth Low Energy) 连接笔记本时,时常遇到自动重连后电脑这边认为已连接,而鼠标那边灯自动灭掉,鼠标指针无反应的问题。在网上反复搜索 bluez 相关问题找到了许多类似问题,鼠标类型也集中在罗技、ThinkPad 等 BLE 鼠标上。

偶然间发现每次重连后,如果手动用 bluetoothctl 发一个 “pair” 指令(会超时失败),就能令鼠标正常连接。给 bluez 报了一个 bug 后,我写了下面的简单脚本先绕过问题:

#!/usr/bin/python

import dbus
import dbus.mainloop.glib
from gi.repository import GLib

adapter = "hci0"
device = "xx:xx:xx:xx:xx:xx"
device_path = '/org/bluez/' + adapter + "/dev_" + device.replace(":", "_")

dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
system_bus = dbus.SystemBus()
device_object = system_bus.get_object('org.bluez', device_path)
device_interface = dbus.Interface(device_object, 'org.bluez.Device1')

def device_info(_arg0, event, _arg2):
    if event.get("Connected"):
        print("Mouse connected, attempt to pair...")
        try:
            device_interface.Pair()
        except dbus.exceptions.DBusException:
            pass

system_bus.add_signal_receiver(
    device_info,
    dbus_interface='org.freedesktop.DBus.Properties',
    signal_name="PropertiesChanged",
    arg0='org.bluez.Device1')

GLib.MainLoop().run()

保持在后台运行即可。我自己测试了一段时间,效果非常好。

PS: bluez 上游 bugzilla 堆满了各种没有回答的错误报告,目测不是那么好修的……

farseerfc's avatar

【聽譯】咲夜 〜親不孝な人間のお話〜

まだ幼いあなたを「咲夜」って名付けた 在你還很小的時候就給你取名「咲夜」
夜に咲き誇る漢字2文字で「咲夜」 在夜晚盛開而自誇的漢字兩個字「咲夜」
見習いからメイドとして始めたころは 你剛開始做見習女僕那時
まだ日傘を持つ手が震えてたりしてた 撐陽傘的手臂還在不停顫抖

いつもいつも私たちは一緒だったなぁ 永遠永遠我們會在一起吶
背伸びして私の髪をといてくれたなぁ 你踮着腳幫我梳過頭髮吶
大きな胸に夜色の瞳輝かせたなぁ 看到大胸的時候你的夜色的瞳孔兩眼發過光吶
あなたがそばに来て私はいっぱい笑ったんだなぁ 自從你來身邊之後我盡情笑過很多次吶

咲夜 咲夜 会いたいよ 咲夜 咲夜 好想見到你啊
いやだ朝までなんて待てないよ 不行 根本不可能等到天亮啊
天に輝く明星 お願い 天上最亮的金星 求你了
時の針をもっと回して 讓時鐘的錶針再多轉一些
咲夜 咲夜 会いたいよ 咲夜 咲夜 好想見到你啊
いやだ懐こい笑顔待てないよ 不行 熟悉的笑容根本等不及了
天に輝く明星 お願い 天上最亮的金星 求你了
時の針を早く回して …
farseerfc's avatar

【聽譯】ミゼラブルの雫

君はなぜ泣いているの? 你爲什麼在哭呢?
知らんぷり もう出来ない 已經不能再裝作沒有看到
悪戯に笑い合える 君がいい 捉弄人之後笑還回來 那樣更適合你

『同情』や『共感』は後付け 說「同情」或「共鳴」都是馬後炮
とにかく君が心配 總之還是擔心你
素直に「笑って」と言えば 以爲單純地一句「笑一下」
元通りになると思ってたよ 就能回到原來的樣子

哀しみが零れ落ちて 悲傷的眼淚零落
足元を濡らしてゆく 沾溼腳旁足畔
幼気で深い 君の見過ごせぬ 無法忽視楚楚可憐的你
小さな海は 小小一灘海
安っぽい慰めでは 掉價的安慰
汲み取れはしないと知り 也知道大概不能感同身受
励ましや 問うことさえ 鼓勵的話 甚至詢問緣由
躊躇った 都躊躇了

優しく接してあげたい 想能夠溫柔地接觸你
だけれど どうすればいい? 但是話說 該如何做呢?
迷った言葉なんかより 比起令人困惑的言語
優しく頭を撫でてあげた 選擇溫柔地摸摸你的腦袋

哀しみが零れ落ちて 悲傷的眼淚零落
足元を濡らしてゆく 沾溼腳旁足畔
幼気で深い 君の見過ごせぬ 無法忽視楚楚可憐的你
小さな海は 小小一灘海
寄り添って 弱い気持ち 並肩靠着 微弱的心情
汲み取ってゆけばいいさ 如果你能體會到的話就好
『手を握る』それだけでも 只要能握住你的手
今はいい 現在就足夠

時は経ち 次第に 隨着時間經過
君は心を解いてくれた 你的心結也漸漸解開
時間には敵わないね 沒有東西能與時間爲敵
優秀だ 真厲害

ちっぽけで弱い自分 微小又柔弱的自己
無力さを知ってしまった 知道了自己的無力
でも君は「ありがとう」って 但是你的一句「謝謝」
微笑んで 涙ぬぐった 微笑着 溼潤了我的眼眶
「ねえ、いつもの冗談で笑わせて?」 「吶、再講一次那個笑話吧?」
ほらやっぱり 你看果然
無邪気にからかう君は素敵だよ 天真無邪地捉弄人的你真是太棒了

還能不能,讓時間治癒一切呢。


君(きみ) はなぜ 泣(な) いているの?
知(し) らんぷり もう 出来(でき) ない
悪戯(いたずら) に 笑(わら) い 合(あ) える  君(きみ) がいい

『 同情(どうじょう) 』や『 共感(きょうかん) 』は 後(こう) 付(つ) け
とにかく 君(きみ) が 心配(しんぱい)
素直(すなお) に「 笑(わら) って」と 言(い) えば
元(もと) 通(とお) りになると 思(おも) ってたよ

哀(かな) しみが 零(こぼ) れ 落(お) ちて
足元(あしもと) を 濡(ぬ) らしてゆく
幼(いたい) 気(け) で 深(ふか) い  君(きみ) の 見(み) 過(す) ごせぬ
小(ちい) さな 海(うみ) は
安(やす) っぽい 慰(なぐさ) めでは
汲(く) み 取(と) れはしないと 知(し) り
励(はげ) ましや  問(と) うことさえ
躊躇(ためら) った

優(やさ) しく 接(せっ) してあげたい
だけれど どうすればいい?
迷(まよ) った 言葉(ことば) なんかより
優(やさ) しく 頭(あたま) を 撫(な) でてあげた

哀(かな) しみが 零(こぼ) れ 落(お) ちて
足元(あしもと) を 濡(ぬ) らしてゆく
幼(いたい) 気(け) で 深(ふか) い  君(きみ) の 見(み) 過(す) ごせぬ
小(ちい) さな 海(うみ) は
寄(よ) り 添(そ) って  弱(よわ) い 気(き) 持(も) ち
汲(く) み 取(と) ってゆけばいいさ
『 手(て) を 握(にぎ) る』それだけでも
今(いま) はいい

時(とき) は 経(た) ち  次第(しだい) に
君(きみ) は 心(こころ) を 解(と) いてくれた
時間(じかん) には 敵(かな) わないね
優秀(ゆうしゅう) だ

ちっぽけで 弱(よわ) い 自分(じぶん)
無力(むりょく) さを 知(し) ってしまった
でも 君(きみ) は「ありがとう」って
微笑(ほほえ) んで  涙(なみだ) ぬぐった
「ねえ、いつもの 冗談(じょうだん) で 笑(わら) わせて?」
ほらやっぱり
無邪気(むじゃき) にからかう 君(きみ) は 素敵(すてき) だよ
farseerfc's avatar

【聽譯】月見桜

幾千の夜 幾万の星 數千夜晚 數萬繁星
泣いて流れ抱きしめて 哭着喊着抱緊着
愛しい君を 切に思う 深切想念着 深愛的你
涙枯らせる程に 甚至流乾眼淚的程度

揺り籠のように揺れる 像搖籃一樣搖擺中
時代は儚さの小舟 時代就像纖纖小船
紡ぎ合える指先さえも 就連十指相合的指尖也
風の悪戯に解けてく 因風的玩笑而解開

虚ろな心一つ 一顆空虛的心
天の川を旅しながら 漫遊於銀河繁星中
何時か辿り着けると信じ 堅信終有一日能到達
願う切なさの道標 所思所念的那塊路標處
遥かな記憶の果て この灯火 探尋遙遠記憶的終點 這片燈火
約束の月見桜 感じて 約定的月下櫻 感覺到

幾千の恋 幾万の傷 數千戀愛 數萬傷痕
強く深く限りなく 強烈的深刻的無邊無垠的
描く未来 永久人 描繪中的未來 永恆不變的人
現在を忘れる程に 甚至忘了現在的程度

幾千の夜 幾万の星 數千夜晚 數萬繁星
泣いて流れ抱きしめて 哭着喊着抱緊着
愛しい君を 切に思う 深切想念着 深愛的你
涙枯らせる程に 甚至流乾眼淚的程度

揺り籠はまだ揺れる 搖籃仍在搖擺中
時代は争いを求む 時代在追尋紛爭
刹那 一欠けの温もりも 短暫剎那間 那一片溫暖也
奪い奪われる稲光 於你爭我搶中化爲閃光一現

静かな心一つ 一顆沉靜的心
私は足枷を拭い 我擦拭着腳鐐
疲れ切った体のままで 憑着已完全累垮的身體
君の居場所を探している 尋找你所在的地方
仄かな光浴びて ただ煌めく 沐浴在微微亮光中 只是星光閃爍
無碍に咲く月見桜 見上げて 與世無爭中盛開的月下櫻 擡頭仰望

幾千の夢 幾万の罪 數千夢想 數萬罪行
人は人を求め行く 人與人相互探尋
一雫の 希望にさえ 就連一小滴希望也
言葉失う程に 甚至無言以對的程度

幾千の夜 幾万の星 數千夜晚 數萬繁星
泣いて流れ抱きしめて 哭着喊着抱緊着
愛しい君を 切に思う 深切想念着 深愛的你
涙枯らせる程に 甚至流乾眼淚的程度

幾千の夢 幾万の罪 數千夢想 數萬罪行
人は人を求め行く 人與人相互探尋
一雫の 希望にさえ 就連一小滴希望也
言葉失う程に 甚至無言以對的程度

幾千の夜 幾万の星 數千夜晚 數萬繁星
泣いて流れ抱きしめて 哭着喊着抱緊着
愛しい君を 切に思う 深切想念着 深愛的你
涙枯らせる程に 甚至流乾眼淚的程度

這首其實原本計劃聖誕夜前就開始着手翻譯了,不過事況突變,到今天才發出來。 又是一首大量使用和語用詞的,非常古風的歌。照例,左側註音,右側釋義。


幾(いく) 千(せん) の 夜(よる)   幾(いく) 万(まん) の 星(ほし)
泣(な) いて 流(なが) れ 抱(だ) きしめて
愛(いと) しい 君(きみ) を  切(せつ) に 思(おも) う
涙(なみだ) 枯(か) らせる 程(ほど) に

揺(ゆ) り 籠(かご) のように 揺(ゆ) れる
時代(じだい) は 儚(はかな) さの 小舟(こぶね) 儚(はかな) さ:脆弱的,飄渺不定的,虛無的。
紡(つむ) ぎ 合(あ) える 指先(ゆびさき) さえも 紡(つむ) ぎ 合(あ) える:像紡織物那樣嚴絲合縫, 這裏指代十指交叉的兩手指尖。
風(かぜ) の 悪戯(いたずら) に 解(と) けてく 悪戯(いたずら):惡作劇、玩笑。這裏更有陰差陽錯、機緣巧合的感覺。

虚(うつ) ろな 心(こころ) 一(ひと) つ
天(てん) の 川(がわ) を 旅(たび) しながら
何時(いつ) か 辿(たど) り 着(つ) けると 信(しん) じ
願(ねが) う 切(せつ) なさの 道標(みちしるべ) 願(ねが) う:祈願中的。切(せつ) なさ:深切想念的。
遥(はる) かな 記憶(きおく) の 果(は) て この 灯火(ともしび) 果(は) て:終點。
約束(やくそく) の 月見(つきみ) 桜(ざくら)   感(かん) じて

幾(いく) 千(せん) の 恋(こい)   幾(いく) 万(まん) の 傷(きず)
強(つよ) く 深(ふか) く 限(かぎ) りなく
描(えが) く 未来(みらい)   永久(とこしえ) 人(びと) 永久(とこしえ):永久這個漢字可以音讀「えいきゅう」或者訓讀 「とこしえ」、「とわ」,感覺意思都差不多。
現在(いま) を 忘(わす) れる 程(ほど) に 現在(いま):這裏 今(いま) 標上了当て字「現在」, 「現在」這個詞本身只有音讀「げんざい」

幾(いく) 千(せん) の 夜(よる)   幾(いく) 万(まん) の 星(ほし)
泣(な) いて 流(なが) れ 抱(だ) きしめて
愛(いと) しい 君(きみ) を  切(せつ) に 思(おも) う
涙(なみだ) 枯(か) らせる 程(ほど) に

揺(ゆ) り 籠(かご) はまだ 揺(ゆ) れる
時代(じだい) は 争(あらそ) いを 求(もと) む 争(あらそ) い:紛爭。求(もと) む:渴求、尋求。
刹那(せつな)   一(ひと) 欠(か) けの 温(ぬく) もりも 一(ひと) 欠(か) け:破碎的一小片。
奪(うば) い 奪(うば) われる 稲光(いなびかり) 奪(うば) い 奪(うば) われる:搶奪( 奪(うば) う)這個動詞的連用形緊接受動態,表達相互搶奪。 稲光(いなびかり):閃電,閃光。

静(しず) かな 心(こころ) 一(ひと) つ
私(わたし) は 足枷(あしかせ) を 拭(ぬぐ) い
疲(つか) れ 切(き) った 体(からだ) のままで
君(きみ) の 居場所(いばしょ) を 探(さが) している
仄(ほの) かな 光(ひかり) 浴(あ) びて ただ 煌(きら) めく 仄(ほの) か:微弱的亮光。煌(きら) めく:閃爍。
無碍(むげ) に 咲(さ) く 月見(つきみ) 桜(ざくら)   見(み) 上(あ) げて 無碍(むげ):不受週遭影響。

幾(いく) 千(せん) の 夢(ゆめ)   幾(いく) 万(まん) の 罪(つみ)
人(ひと) は 人(ひと) を 求(と) め 行(ゆ) く 求(と) め 行(ゆ) く:動詞連用形+ 行(ゆ) く表趨勢, 人有探求人的趨勢。
一(いち) 雫(しずく) の  希望(きぼう) にさえ
言葉(ことば) 失(うしな) う 程(ほど) に

幾(いく) 千(せん) の 夜(よる)   幾(いく) 万(まん) の 星(ほし)
泣(な) いて 流(なが) れ 抱(だ) きしめて
愛(いと) しい 君(きみ) を  切(せつ) に 思(おも) う
涙(なみだ) 枯(か) らせる 程(ほど) に

幾(いく) 千(せん) の 夢(ゆめ)   幾(いく) 万(まん) の 罪(つみ)
人(ひと) は 人(ひと) を 求(と) め 行(ゆ) く
一(いち) 雫(しずく) の  希望(きぼう) にさえ
言葉(ことば) 失(うしな) う 程(ほど) に

幾(いく) 千(せん) の 夜(よる)   幾(いく) 万(まん) の 星(ほし)
泣(な) いて 流(なが) れ 抱(だ) きしめて
愛(いと) しい 君(きみ) を  切(せつ) に 思(おも) う
涙(なみだ) 枯(か) らせる 程(ほど) に
farseerfc's avatar

【聽譯】シンデレラアバター

シンデレラアバターは駆け引きが上手 仙杜瑞拉的身份適合臨機應變
然り気なく君にガラスの靴を捧げます 若無其事地向你送去水晶鞋

理想的女性像で君を誑かすの 用理想的女性形象誘惑你
「猫かぶり」さえ可愛らしい魔性で 甚至扮作貓咪那麼可愛又魔性
磨かれた名演技に酔い痴れなさい 快痴醉於我磨練已久的演技下吧
灰かぶった少女なんていなかったの 蓬頭垢面的灰姑娘根本不存在

シンデレラアバターは魔法の産物 仙杜瑞拉的身份是魔法的產物
お伽噺では刺激不足 大人の味 童話故事不夠刺激 成人的味道
シンデレラアバターは我儘にさせる 憑藉仙杜瑞拉的身份讓我爲所欲爲
迎えに来てよ 唇が乾かないうちに 快來迎接我吧 趁脣印未乾

お姫様 召使い なんでも演じれそう 公主 侍從 感覺什麼都能演
臆病な本性さえ隠せるなら 只要能藏起我膽小的本性
これほどに私を狡賢くさせる 讓我變得如此狡詐
君の魅力こそが罪 気付いてるの? 全是你的魅力的罪過 沒注意到麼?

シンデレラアバターは魔法の産物 仙杜瑞拉的身份是魔法的產物
お伽噺では刺激不足 大人の味 童話故事不夠刺激 成人的味道
シンデレラアバターは我儘にさせる 憑藉仙杜瑞拉的身份讓我爲所欲爲
迎えに来てよ 唇が乾かないうちに 快來迎接我吧 趁脣印未乾

シンデレラアバターは駆け引きが上手 仙杜瑞拉的身份適合臨機應變
然り気なく君にガラスの靴を捧げます 若無其事地向你送去水晶鞋

シンデレラアバターは魔法の産物 仙杜瑞拉的身份是魔法的產物
お伽噺では刺激不足 大人の味 童話故事不夠刺激 成人的味道
シンデレラアバターは我儘にさせる 憑藉仙杜瑞拉的身份讓我爲所欲爲
迎えに来てよ 唇が乾かないうちに 快來迎接我吧 趁脣印未乾

お伽噺では刺激不足 童話故事不夠刺激
シンデレラアバターは 仙杜瑞拉的身份
迎えに来てよ 唇が乾かないうちに 快來迎接我吧 趁脣印未乾

お伽噺より刺激的な愛を頂戴 快給我比童話故事更刺激的愛吧

童話《灰姑娘》在日語通常是音譯爲仙杜瑞拉(シンデレラ),而這篇歌詞中, 仙杜瑞拉的身份是說灰姑娘由魔法變身後的身份,與灰姑娘本身的身份( 灰(はい) かぶった 少女(しょうじょ) )相對。

照例,左側註音,右側釋意。


シンデレラアバターは 駆(か) け 引(ひ) きが 上手(じょうず) シンデレラアバター: cinderella avatar。 駆(か) け 引(ひ) き:在戰場等場合的臨機應變。
然(さ) り 気(げ) なく 君(きみ) にガラスの 靴(くつ) を 捧(ささ) げます 然(さ) り 気(げ) なく:若無其事,裝作是不經意間。

理想的(りそうてき) 女性像(じょせいぞう) で 君(きみ) を 誑(たぶら) かすの 誑(たぶら) かす:欺騙、誘惑、勾引。
「 猫(ねこ) かぶり」さえ 可愛(かわい) らしい 魔性(ましょう) で 「 猫(ねこ) かぶり」:更常見的是引申義,表示裝作老實、乖巧。這裏本意裝作貓的樣子。
磨(みが) かれた 名演技(めいえんぎ) に 酔(よ) い 痴(し) れなさい
灰(はい) かぶった 少女(しょうじょ) なんていなかったの

シンデレラアバターは 魔法(まほう) の 産物(さんぶつ)
お 伽噺(とぎばなし) では 刺激(しげき) 不足(ぶそく)   大人(おとな) の 味(あじ)
シンデレラアバターは 我儘(わがまま) にさせる
迎(むか) えに 来(き) てよ  唇(くちびる) が 乾(かわ) かないうちに

お 姫様(ひめさま)   召使(めしつか) い なんでも 演(えん) じれそう
臆病(おくびょう) な 本性(ほんしょう) さえ 隠(かく) せるなら
これほどに 私(わたし) を 狡賢(ずるがしこ) くさせる
君(きみ) の 魅力(みりょく) こそが 罪(つみ)   気(き) 付(づ) いてるの?

シンデレラアバターは 魔法(まほう) の 産物(さんぶつ)
お 伽噺(とぎばなし) では 刺激(しげき) 不足(ぶそく)   大人(おとな) の 味(あじ)
シンデレラアバターは 我儘(わがまま) にさせる
迎(むか) えに 来(き) てよ  唇(くちびる) が 乾(かわ) かないうちに

シンデレラアバターは 駆(か) け 引(ひ) きが 上手(じょうず)
然(さ) り 気(げ) なく 君(きみ) にガラスの 靴(くつ) を 捧(ささ) げます

シンデレラアバターは 魔法(まほう) の 産物(さんぶつ)
お 伽噺(とぎばなし) では 刺激(しげき) 不足(ぶそく)   大人(おとな) の 味(あじ)
シンデレラアバターは 我儘(わがまま) にさせる
迎(むか) えに 来(き) てよ  唇(くちびる) が 乾(かわ) かないうちに

お 伽噺(とぎばなし) では 刺激(しげき) 不足(ぶそく)
シンデレラアバターは
迎(むか) えに 来(き) てよ  唇(くちびる) が 乾(かわ) かないうちに

お 伽噺(とぎばなし) より 刺激的(しげきてき) な 愛(あい) を 頂戴(ちょうだい)
farseerfc's avatar

【聽譯】残響は鳴り止まず

残響は鳴り止まず 回聲響而不絕
胸に残る 留於心中
記憶に縋ることだけ 沉溺在記憶中這一點
上手くなってしまった 卻變愈發熟練了

光降る 陽光灑落
平穏に誘われて 誘向平穩日常
窓から見える 從窗沿看去
いつもの後ろ姿を探した 探尋一直在那兒的背影
わかってる 我明白的

会えなくなるわけでも無くて 並不是再也見不到了
君が消えてしまうことも無い 也不是你要永遠消失了
過去と違うことは一つ 和過去相比唯一不同的一點
「答え」が知らせた見えない壁 是得知了「答案」這堵看不見的牆

残響は鳴り止まず 回聲響而不絕
胸に残る 留於心中
元の形が消えても 就算已經沒有了原本的形狀
哀しみは消えません 悲涼還是不會消失

綺麗だった音色も 曾經清澈的音色
濁っていた 也變得渾濁
あのドアを開けなければ 沒打開那扇門的話
知らずにいられたのに 明明還能繼續不知情的

ぎこちない 生疏而尷尬
新たな二人の距離 兩人間新的距離
何を話せば 該說什麼
いいかも分からなくなるなんてね 已經不知道如何說了
わかってる 我明白的

もう昔の二人では無い 已經不再是從前的兩人了
むしろ「二人」という表現も 不如說「兩人」這種說法
私の中で生み出した 也只是我憑空想出的
元々滑稽な絵空事 原本就很滑稽的白日夢

後悔は行動の 如果說後悔是行動的
証という 証據的話
けれど実らぬなら 反過來如果沒有結果的話
そう 意味が無い 是的 就沒有意義
それが恋 這就是戀

美しく散りたいよ 好想完美地消失啊
格好悪いよ 現在好尷尬啊
一人ですすり泣く日々 一個人悽悽落淚的每天
残響に混じるだけ 只是融入在回聲中

誰にも言えない感情 對誰也無法啓齒的感情
言えぬどころか増していくから 因爲不能說所以更難過
もう一度だけ駄目でしょうか? 再最後重來一次不行麼?
この気持ちは迷惑でしょうか? 這種心情會讓你困擾麼?
聞けないよ 這沒法問啊

残響は鳴り止まず 回聲響而不絕
胸に残る 留於心中
元の形が消えても 就算已經沒有了原本的形狀
哀しみは消えません 悲涼還是不會消失

生き甲斐だった君が 你原本是我活下去的動力
ここにいない 現在卻不在了
このドアを開けなければ 如果沒有打開這扇門的話
知らずにいられたのに 明明還能繼續不知情的

一人ですすり泣く日々 一個人悽悽落淚的每天
残響に混じるだけ 只是融入在回聲中

照例左側註音,右側解釋字詞。


残響(ざんきょう) は 鳴(な) り 止(や) まず 残響(ざんきょう):中文似乎應該叫 混響 ,和回聲有點關係但是又不是同一回事。這裏翻譯成回聲似乎也沒什麼問題。
胸(むね) に 残(のこ) る
記憶(きおく) に 縋(すが) ることだけ 縋(すが) る:作爲依靠緊緊抓住某物,這裏就是以記憶爲救命稻草的感覺。 還有一層引申義是對佛神祈願。
上手(うま) くなってしまった

光(ひかり) 降(ふ) る
平穏(へいおん) に 誘(さそ) われて
窓(まど) から 見(み) える
いつもの 後(うし) ろ 姿(すがた) を 探(さが) した
わかってる

会(あ) えなくなるわけでも 無(な) くて
君(きみ) が 消(き) えてしまうことも 無(な) い
過去(かこ) と 違(ちが) うことは 一(ひと) つ
「 答(こた) え」が 知(し) らせた 見(み) えない 壁(かべ)

残響(ざんきょう) は 鳴(な) り 止(や) まず
胸(むね) に 残(のこ) る
元(もと) の 形(かたち) が 消(き) えても
哀(かな) しみは 消(き) えません

綺麗(きれい) だった 音色(きたい) も 音色(きたい):一般音色讀作ねいろ或者おんしょく,這裏寫音色讀作きたい, 懷疑是表達「 気体(きたい) 」。
濁(にご) っていた
あのドアを 開(あ) けなければ
知(し) らずにいられたのに

ぎこちない ぎこちない:荒涼的樣子,悲涼的樣子,蕭條的樣子。
新(あら) たな 二(に) 人(にん) の 距離(きょり)
何(なに) を 話(はな) せば
いいかも 分(わ) からなくなるなんてね
わかってる

もう 昔(むかし) の 二人(ふたり) では 無(な) い
むしろ「 二(に) 人(にん) 」という 表現(ひょうげん) も
私(わたし) の 中(なか) で 生(う) み 出(だ) した
元々(もともと) 滑稽(こっけい) な 絵空事(えそらごと)

後悔(こうかい) は 行動(こうどう) の
証(あかし) という
けれど 実(みの) らぬなら
そう  意味(いみ) が 無(な) い
それが 恋(こい)

美(うつく) しく 散(ち) りたいよ 直譯:好想美麗地凋謝啊
格好(かっこ) 悪(わる) いよ 格好(かっこ) 悪(わる) い:不帥氣,很衰,很囧
一人(ひとり) ですすり 泣(な) く 日々(ひび)
残響(ざんきょう) に 混(ま) じるだけ

誰(だれ) にも 言(い) えない 感情(かんじょう)
言(い) えぬどころか 増(ま) していくから
もう 一度(いちど) だけ 駄目(だめ) でしょうか?
この 気持(きも) ちは 迷惑(めいわく) でしょうか?
聞(き) けないよ

残響(ざんきょう) は 鳴(な) り 止(や) まず
胸(むね) に 残(のこ) る
元(もと) の 形(かたち) が 消(き) えても
哀(かな) しみは 消(き) えません

生(い) き 甲斐(がい) だった 君(きみ) が 生(い) き 甲斐(がい):活下去的价值,活下去的目的
ここにいない
このドアを 開(あ) けなければ
知(し) らずにいられたのに

一人(ひとり) ですすり 泣(な) く 日々(ひび)
残響(ざんきょう) に 混(ま) じるだけ
farseerfc's avatar

【聽譯】夜桜に君を隠して

夜桜に君を隠して 將你藏於這夜櫻中
新たな道へ 走向新的方向

無情な選択 無情的選擇
美しさも無く 沒有絲毫美感
まあ 悲劇だったら 嘛 要是場悲劇的話
見世物には良い 很適合別人旁觀吧

君は月の様に輝いてる 你像月亮一樣照亮夜空
見ないように生きるなど 要裝作沒看到繼續活着什麼的
素面では到底無理な訳で 清醒的時候說實話我做不到
今宵も散る花を浮かべ 今夜也讓花瓣浮於杯盞

夜桜に君を隠して 將你藏於這夜櫻中
美酒を味わう 品味這美酒
酔い痴れたら 如果能癡醉於
都忘れ 這片野春菊
君を忘れ 從而忘記你
新たな未来 向新的未來

愚かな期待を 愚蠢的期待
君の言葉から 起因於你的話語
そう 未練が生んだ 是 產生這份留戀
捻じれた解釈 是因爲扭曲的解釋

君は月の様に眩しいけど 你雖像月亮一樣耀眼
朝はいずれやってくる 但是清晨遲早會來臨
アンニュイに溺れるばかりでは 一味沉溺在萎靡中的話
君の思う壺なんでしょう 會正中你的下懷吧

夜桜に君を隠して 將你藏於這夜櫻中
美酒を飲み干し 飲盡這美酒
強気になれ 振作起來
都忘れ 這片野春菊
君を忘れ 從而忘記你
新たな未来 向新的未來
歩き出そうか 該邁出腳步了吧

大空に君は隠れて 浩瀚晴空中你藏了起來
心は澄んで 一掃心中雜念
微睡む中 趁稍睡片刻
都忘れ 這片野春菊
君を刻み 記下你的過往
新たな日々へ 邁向新的一天

夜桜の咲くこの場所で 在開着夜櫻的這片地方
生まれ変わろう 重獲新生吧

雖然不算很難的日語,還是有個別用詞需要解釋一下。照例左側註音,右側解釋字詞。


夜桜(よざくら) に 君(きみ) を 隠(かく) して 隠(かく) して:隠す,將什麼藏起來的及物形式,他動詞。
新(あら) たな 道(みち) へ

無情(むじょう) な 選択(せんたく)
美(うつく) しさも 無(な) く
まあ  悲劇(ひげき) だったら
見世物(みせもの) には 良(よ) い 見世物(みせもの):街頭表演

君(きみ) は 月(つき) の 様(よう) に 輝(かがや) いてる
見(み) ないように 生(い) きるなど
素面(しらふ) では 到底(とうてい) 無理(むり) な 訳(わけ) で 素面(しらふ):沒有醉酒的清醒狀態,白臉。
今宵(こよい) も 散(ち) る 花(はな) を 浮(う) かべ 直譯:今夜也會讓謝的花浮起。聯繫上下文大概是指花瓣浮在酒盞中。

夜桜(よざくら) に 君(きみ) を 隠(かく) して
美酒(びしゅ) を 味(あじ) わう
酔(よ) い 痴(し) れたら
都(みやこ) 忘(わす) れ 都(みやこ) 忘(わす) れ:花名,野春菊。菊科,茼蒿屬,淡紫色花瓣,黃色花蕊。
君(きみ) を 忘(わす) れ
新(あら) たな 未来(みらい)

愚(おろ) かな 期待(きたい) を
君(きみ) の 言葉(ことば) から
そう  未練(みれん) が 生(う) んだ 未練(みれん):無法完全放棄的事物,仍抱有執着的事物。原意是心態尚未成熟。
捻(ね) じれた 解釈(かいしゃく) 捻(ね) じれる:動詞原意是搓繩子,引申爲扭曲的事態、表裏不一的心態、道理說不通的狀態。

君(きみ) は 月(つき) の 様(よう) に 眩(まぶ) しいけど
朝(あさ) はいずれやってくる
アンニュイに 溺(おぼ) れるばかりでは アンニュイ:ennui,倦怠,萎靡不振。
君(きみ) の 思(おも) う 壺(つぼ) なんでしょう 思(おも) う 壺(つぼ):正中下懷。原意的壺是指骰子賭博中用的那個罐子, 從而「 思(おも) う 壺(つぼ) 」原意即骰子中出現自己所想的點數。

夜桜(よざくら) に 君(きみ) を 隠(かく) して
美酒(びしゅ) を 飲(の) み 干(ほ) し
強気(つよき) になれ
都(みやこ) 忘(わす) れ
君(きみ) を 忘(わす) れ
新(あら) たな 未来(みらい)
歩(ある) き 出(だ) そうか

大空(おおぞら) に 君(きみ) は 隠(かく) れて 隠(かく) れて:隠れる,什麼東西隱藏起來的不及物形式,自動詞。
心(こころ) は 澄(す) んで
微睡(もどろ) む 中(なか) 微睡(もどろ) む:稍睡,暫睡。
都(みやこ) 忘(わす) れ
君(きみ) を 刻(きざ) み
新(あら) たな 日々(ひび) へ

夜桜(よざくら) の 咲(さ) くこの 場所(ばしょ) で
生(う) まれ 変(か) わろう
AlisterTT's avatar

2019怎么年初就开始丧了

2018年末的时候,一个朋友和我聊起去某地玩的事,我想着挺好呗,干脆计划19年一起出去一波吧,今天和去过的同事仔细咨询了一下,把情况告诉我朋友,结果他丫的前些天已经去过了。

没办法只能另找人组队,问了一个基友倒是很乐意去,他们那边能去两对4个人,问题是我就处于一个电灯泡的状态了,他很随意的告诉我“你找个妹子不就行了”,真想抽他一大嘴巴子,感觉就像我傻呵呵的开了个团,结果因为自己单身的原因被踢出来了,头一次体会到了单身狗的绝望,比那种一个人去吃自助餐还凄惨,真不是开玩笑的,当时简直丧到极点。

现在的情况是,今年要想出去玩,还得先找个独立的队友才行,一个人出远门肯定会有诸多不方便,想想就头大呀,谁来教教我怎么办…

依云's avatar

解析 zxinc IPv6 数据库

本文来自依云's Blog,转载请注明。

很久以前,我就开始使用纯真 IP 数据库来进行简单的 IP 归属查询。离线数据库的好处在于快速、可依赖,我可以使用 ipmarkup 程序来快速地给文本中的所有 IP 地址注解。

然后随着 IPv6 的普及,我越来越多地需要查询 IPv6 地址了。每次 whois 或者找 ipip.net 实在是太没效率了,还暴露隐私。于是看到这个IP地址查询网站提供离线数据库下载之后,就也做了一个和 LinuxToy 介绍的这个程序类似的工具。

数据格式部分参考《纯真IP数据库格式详解》以及该网站自带的简略说明。

ipdb 程序库(带命令行)使用截图:

用于在文本中标注 IP 的 ipmarkup 工具链接开头给了。另外有一个 cip 可以根据情况调用 ipdb 或者 QQWry。

ipdb 解析部分只依赖 Python 3.5+,下载及更新部分会依赖我同一仓库中的 myutils 库。

顺便我也优化了一下 QQWry 模块:一是没必要保留一个低效率的版本,二是既然用 mmap 了,就去掉了所有的 seek 操作,目前大概是线程安全的了。这种跳转来跳转去的二进制格式,就算不用 mmap,也可以用 pread 来操作,免得要维护个当前文件位置,还线程不安全。

lwl12's avatar

Bye 2018, Hi 2019

L2019, runway 18R, clear for take off.


cunky's avatar

2018年终总结

时间流逝不等人
转眼之间就来到了2018的最后一天
是时候总结一下了


瞎逼逼
二零一八年感觉过得格外快的一年,可能是生活节奏的变化吧,哪像之前的咸鱼生活

今年是我写博客以来的第三个年头了,可能你会问为何最早只有到今年七八月的,这是因为之前写的文章都因为某些技术上的原因,被我搞丢了,那段时间有停更了半年,直到今年七八月我才重新开始写博客。感觉今年最大的变化就是又老了一岁吧......

哦对了,还有就是七月份我接触Python,并从Java投入Python的怀抱。

看过的书
18年可以说是我看书看的比较多的一年。我是个挺浮躁的人,看书总静不下心,可能是生活的快节奏和读书的慢节奏不匹配的原因吧。总是看了一会儿就放到一边,自制力可以说是越来越差。近年底的几个月,我强迫自己远离了电子设备,从书架上拿出了买了,但几乎不看的书。

  • 《时间移民》大刘的短篇科幻小说
    这是我拿下来的第一本书,主要是因为太久没看书,想先从简单点的入手,培养一下感觉,当然也不是说特意选的。为什么不是长篇小说呢?我个人感觉长篇小说看起来其实挺累的,毕竟书的内容多,情节丰富,对我的思维考验挺大的。
  • 《GAMERS 电玩咖!》日本恋爱喜剧轻小说
    看了两本短篇小说后,朋友给我推荐了轻小说,我才突然想起有很多动漫是轻小说改编的,于是就挑了一部我比较喜欢的动漫的轻小说看了看。轻小说给我的感觉很特殊,看起来压力小,很简单,篇幅大,有些轻小说都出到几十卷了,令人汗颜,但毕竟这种类型的小说被定义为可以轻松阅读的小说,一卷看下来也花不了多少时间,这种小说类型可以说是立马让我爱上了
  • 一坨技术书籍
    这类没什么好说的,主要是学习新知识必须要看的。

期望
说到年前期望,我就想起了... :-D

2019快到了,希望明年的自己可以看更多书,接触更多的人,了解更多的知识。

还有期待和朋友做的区块链项目能在明年初上线( ^_^ )

最后
2018 - 2019

Thank You For Your Support
Cunky记
2018.12.31

farseerfc's avatar

【聽譯】星色夜空

星が広がる空 廣闊星空下
一人立ち止まって 一個人駐足
伝えられずにいる 傳達不到的思緒
この想い 見上げて 仰頭許下心願

目に見える物は 眼中映入的事物
全部 愛おしくて 全部都如此可愛
耳に届く音は 耳中傳入的聲音
何もかも 美しい 句句都如此美麗

星を 線で結んで 用線條將星星連起來
君を描いて 畫出你的樣子
瞳 の中に 映した 牢牢記在眼中
いつも 強がる 一直在 逞強的
私は突っぱねて 我一直在抗拒
本当は 君が居ないと 其實 沒有你
駄目なのに 就完全不行

遠く 遠く 続いてる空 向遠方延展的夜空
その向こうで 君は 何想う 那一端的你 在想什麼
いつか消える あの星の下 不知何時會消失的 那顆星下
永遠を願い 想い 見上げ 但願人長久 許下心願

強く 弱く 光を放つ 忽強忽弱 閃爍亮光
君の近くに 北斗七星 你的附近 有北斗七星
そんな 輝きであるように 就像那星的耀眼
君を想い 願い掛けて 帶上我對你的想念

夜が明けていく 夜漸漸破曉
君を想えなくなる 想你的時間將盡
朝が来る頃には 迎來早晨的時候
また強がってしまう 又要逞強起來
微かな光は 細微的光亮
もっと愛おしくて 愈發變得愛惜
朝へ向かう音に 對着破曉的聲音
耳を固く塞ぐ 嚴實地堵上耳朵

時を止めて夜が続いてく魔法が 如果有能讓時間停止繼續夜晚的魔法
この手に あればいいのに 在我手上的話就好了
本当は君と居るときも 同じように 其實和你在一起的時候 也是一樣
ずっと 思っているのに 一直在想着你

長く 永く 続いてる夜 夜晚永遠持續下去
この闇の中で 君を想う 這片黑暗中 在想着你
いつも隠して持ち歩いた 一直藏在身邊隨身帶着
君がくれた人形見つめ 盯着你給我的人偶

弱く 強く 何度も 君の 細聲地大聲地 無數次
名前を 繰り返し 呼んでいる 翻來覆去呼喊你的名字
よく間違えては怒られた 經常搞錯惹你生氣
覚え難い 愛しい名前 很難記的 喜歡的名字

遠く 遠く 続いてる空 向遠方延展的夜空
その向こうで 君は 何想う 那一端的你 在想什麼
いつか消える あの星の下 不知何時會消失的 那顆星下
永遠を願い 想い 見上げ 但願人長久 許下心願

強く 弱く 光を放つ 忽強忽弱 閃爍亮光
君の近くに 北斗七星 你的附近 有北斗七星
そんな 輝きであるように 就像那星的耀眼
君を想い 願い掛けて 帶上我對你的想念

這首魔理莎和愛麗絲的「星色夜空」用詞都比較簡單,就只放註音版吧。 只不過翻譯的時候,譯着譯着還在想,歌詞中提到兩人分處兩地的思念, 會不會不僅僅是遠距離,而是壽命論下的陰陽兩隔呢?


星(ほし) が 広(ひろ) がる 空(そら)
一人(ひとり) 立(た) ち 止(ど) まって
伝(つた) えられずにいる
この 想(おも) い  見上(みあ) げて

目(め) に 見(み) える 物(もの) は
全部(ぜんぶ)   愛(いと) おしくて
耳(みみ) に 届(とど) く 音(おと) は
何(なに) もかも  美(うつく) しい

星(ほし) を  線(せん) で 結(むす) んで
君(きみ) を 描(えが) いて
瞳(ひとみ)  の 中(なか) に  映(うつ) した
いつも  強(つよ) がる
私(わたし) は 突(つ) っぱねて
本当(ほんとう) は  君(きみ) が 居(い) ないと
駄目(だめ) なのに

遠(とお) く  遠(とお) く  続(つづ) いてる 空(そら)
その 向(む) こうで  君(きみ) は  何(なに) 想(おも) う
いつか 消(き) える あの 星(ほし) の 下(した)
永遠(とわ) を 願(ねが) い  想(おも) い  見上(みあ) げ

強(つよ) く  弱(よわ) く  光(ひかり) を 放(はな) つ
君(きみ) の 近(ちか) くに  北斗七星(ほくとしちせい)
そんな  輝(かがや) きであるように
君(きみ) を 想(おも) い  願(ねが) い 掛(か) けて

夜(よる) が 明(あ) けていく
君(きみ) を 想(おも) えなくなる
朝(あさ) が 来(く) る 頃(ころ) には
また 強(つよ) がってしまう
微(かす) かな 光(ひかり) は
もっと 愛(いと) おしくて
朝(あさ) へ 向(む) かう 音(おと) に
耳(みみ) を 固(かた) く 塞(ふさ) ぐ

時(とき) を 止(と) めて 夜(よる) が 続(つづ) いてく 魔法(まほう) が
この 手(て) に あればいいのに
本当(ほんとう) は 君(きみ) と 居(い) るときも  同(おな) じように
ずっと  思(おも) っているのに

長(なが) く  永(なが) く  続(つづ) いてる 夜(よる)
この 闇(やみ) の 中(なか) で  君(きみ) を 想(おも) う
いつも 隠(かく) して 持(も) ち 歩(ある) いた
君(きみ) がくれた 人形(にんぎょう) 見(み) つめ

弱(よわ) く  強(つよ) く  何度(なんど) も  君(きみ) の
名前(なまえ) を  繰(く) り 返(かえ) し  呼(よ) んでいる
よく 間違(まち) えては 怒(おこ) られた
覚(おぼ) え 難(にく) い  愛(いと) しい 名前(なまえ)

遠(とお) く  遠(とお) く  続(つづ) いてる 空(そら)
その 向(む) こうで  君(きみ) は  何(なに) 想(おも) う
いつか 消(き) える あの 星(ほし) の 下(した)
永遠(とわ) を 願(ねが) い  想(おも) い  見上(みあ) げ

強(つよ) く  弱(よわ) く  光(ひかり) を 放(はな) つ
君(きみ) の 近(ちか) くに  北斗七星(ほくとしちせい)
そんな  輝(かがや) きであるように
君(きみ) を 想(おも) い  願(ねが) い 掛(か) けて
farseerfc's avatar

【聽譯】愛き夜道

たま たま
向こうの世界は いつも 賑やか 對面的世界 總是很熱鬧
だけど どこか つまらなそうだ 但是 總覺得哪兒 有些無趣
『一緒に笑える』それだけのこと 『能一起歡笑』只有這一點
とても大切なこと 是最重要的事

ランコ ランコ
教えてくれた君への感謝は 你告訴我種種的感激之情
尽きないけど 「ありがとう」とは 無以言表 就連一句「謝謝」
照れくさくて 言えそうにない 都羞澀得 難以啓齒
今夜も 黙って乾杯 今晚也 默默乾杯

たま ランコ たま ランコ
「憂世鬱世」云々 嘆き節 聊起「憂世鬱世」云云 悲嘆處
肴に呷る 酒の苦味よ …
SgDylan's avatar

2018 年终总结

还有三天,2018 就要从指缝流走了。
是时候总结一下了。


's avatar

以此纪念逝去的圣诞节

纵使有千言万语欲与诉说,坐到电脑面前便一个字也不想打。

放一个 Ujico*/Snail’s House 前几天的曲子吧。Magical Holiday。因为暂时上不了 SoundCloud,就放 Youtube 上的视频吧,也很漂亮。



另外,在点 Profile 的时候请戴上耳机。

别的留给新年再说吧。

依云's avatar

Ant Design 彩蛋事件之我见

本文来自依云's Blog,转载请注明。

事情是这样的:一个叫「Ant Design」的大概有挺多人用的前端框架加入了一个彩蛋,在12月25日这天会更改按钮样式并修改提示文字为无意义的消息。

由于使用广泛,此事搞得比较严重,听说有程序员因此被开除,还有不少老板在跟甲方解释。事发之后,作者发布了道歉,并称「这完全是我个人的一意孤行且愚蠢的决定」。

确实很愚蠢,因为当事人似乎还没有意识到自己为什么「愚蠢」。在程序库中加入未预期的行为,是十分不负责任的表现。

库应当提供机制而非策略,并且具有良好定义的行为。软件中彩蛋这种东西由来已久,为什么这次影响这么大呢?其根本原因不在于它是开源软件,也不在于使用广泛,而是在于——它是库。库能不能提供彩蛋呢?是可以的,只要它是以 opt-in 的形式提供的,并且有文档明确其行为,使用方需要显式启用就没有任何问题。库的作者不需要知道圣诞节还可能在1月,也不需要知道代码是运行在哪个国家,他的职责应当是提供清晰明确的行为,而不是某天给你耍个花招。只有最终面向用户的应用才知道什么样的彩蛋对于它的用户是合适的,所以决定权在于应用。

至于那些在 issue 下边滥骂的人,真是给中国人丢脸唉。

PS: 关于「洋节」,shell909090 有篇文章《关于抵制洋节》。关于阿里巴巴,shell909090 还有篇《最近的阿里月饼事件》。

PPS: 每当国外发生这种令程序员们关注的事件的时候,Internet ArchiveArchive.is 上都有会很多的存档来保留历史,而国内发生这种事件,却并没有多少人去存档。大概有保存意思的人们也只是自私地本地截图保存了吧。

SgDylan's avatar

简易 FM 电台搭建

发霉派发射 FM 最简单的方法是从 GitHub 找个相关的 repo 然后装上。
但是那样音质太菜了,所以有了本文。

farseerfc's avatar

【聽譯】竹ノ花

その花を 咲かせばあとは 那朵花 開了之後將如何
枯れるのが その定めか 就會枯了麼 宿命是如此麼
その命 散らしてつなぐ 那條命 將斷卻又續
思いを全て 受け取って 所思所想 全盤盡收
竹ノ花 竹之花

【七】 【七】
遠くに見ゆるその影に ふと過る 遠遠望去那背影 忽又消失
遠い日に交わした約束 遠久之日互換的約定
この手の届かぬところへ 歩み去る 漸漸走向伸手也無法觸及的地方
その背中に影を合わせて 將自己的身影重疊在那背影上
交わし足りぬ言葉 那些說不盡的對話
全てを胸に押し止め 全都壓在心底
ただただ願うのは 只是一心所願
愛した女の幸せか 所愛的女子是否幸福

竹ノ花 竹之花
咲けばただ 一旦開花的話
散るまでの身と聞けども 聽聞生命就僅剩到花謝爲止
その命の在る限り 只要那命還在
どうか生きてゆけと 還請一定要活下去
その幸せを願えばと 只願你能幸福
この身を引くも厭わずに 要我離開也不惜
ただ小さく深い傷跡が 只是會留下小而深的傷痕
いつまでも疼いている 嗚呼 永遠會隱隱作痛 啊

【弥】 【弥】
遠くに消えるその影に 望向遠去的那個身影
目が滲む 視線模糊
彼方去りゆくは愛し人 遠去的正是所戀之人
その身に生まれた因果を 生爲此身的因果
受けながら 不得不接受
この気持ちだけは換え難く 只是這心情難以改變
はらり滑り落ちる 不意間就滑倒在地
掴んだ幸せの脆さに 因爲手握的幸福是如此脆弱
それでも願うのは 即便如此仍願
愛した男と生きること 你能和所愛的男子在一起

竹ノ花 竹之花
咲いてただ 雖已開花
散るまでの身を抱えて 花謝之前抱着身子
誰にでなく 愛を叫ぶ 並不對着誰 高喊着愛
共に生きていたいと 想和你一起活下去
ただ幸せを願ったが 卻又希望你能幸福
それでも儚く消ゆるのみ 或是說只能卑微地消失
ただ深い哀の終わらずに 只是不住的深深悲哀
いつまでも遺されて 嗚呼 永遠會這麼留着 啊

―どうか わたしの代わりに 請一定 代替我
 どうか 愛を伝えてと 請一定 表露出愛
―どうか わたしの代わりに 請一定 代替我
 どうか あの人と生きてと 請一定 和那人在一起

【求】 【求】
遠くに探すその影が 歩み寄る 探尋那遠去的身影 快步前行
誰よりも近くに寄り添って 比起任何人都湊得更近
全てを内に閉じ込めたその瞳 全都深深藏在心底的那雙眼
ただ静かに刻を重ねて 只是靜靜地隨時間沉澱
愛も 悲しみも 愛也好 悲痛也好
この背に全て引き受けて 我想都承擔下來
我が子に願うのは 只願我的孩子
何も背負わずに 可以無需承擔任何
生きること 只要活下去

竹ノ花 竹之花
未だ咲かぬ 還不能讓它開
その身だからこそ生きよと 正因爲生得此身所以才要活下去
限り在るその命 有限的生命裏
せめて自分らしく 至少像自己所願
人の世に 在這人世間
愛だけが 只有愛是
全てである筈もなければ 就算全都不應該有
ただ一途に幸せに 只是一心追尋幸福
生きていけと願う 但願能一直活下去
その幸せを願うなら 想要那幸福的話
どうかその道を真っ直ぐに 請沿着那條路直奔
ただ深く愛を胸に秘め 只是心中所藏深深的愛
いつまでも願っている 嗚呼 祈願能成爲永恆 啊
farseerfc's avatar

【聽譯】君さえいなけりゃよかった

君さえいなけりゃよかった 如果你從未出現過該多好
降り出した雨の中で 君に出会った時から 下起雨的那一刻 從遇到你那時起
君がいないということが 当たり前じゃなくなった 身邊沒有你的情況 就已經不再是平常
ああ こんなはずじゃない 啊 不應該是這樣的
ずっと自分勝手にさ 過ごせたはずなのに 明明一直是散漫地過着自己的日子
まるで僕じゃないような僕が さらけ出されてくよ 就像是帶出了不是我的另一面的我

君さえいなけりゃよかった こんな気持ちは知らないから 如果你從未出現過該多好 就不會知道這種心情
やらなくちゃいけないことが 手つかずのまま積もってく 一堆不得不做的事情 堆在手頭越積越多
僕じゃなくてもいいのなら こっちを見て笑わないでよ 如果不是我也可以的話 就別看着我這邊笑啊
大袈裟じゃなくてそれだけで 忘れられなくなるの 甚至那些不重要的事情 都變得難以忘記了

君の適当な話も 全部心に刺さります 你無意間隨口說的話 全都刺在心頭
気にしなけりゃいいのにな 残らずかき集めちゃうの 雖說只要不在意就可以了 卻一句不剩全收集了起來
ああ こんなはずじゃない こんなはずじゃない 啊 不應該是這樣的 不應該是這樣的

君に出会わなきゃよかった こんなに寂しくなるのなら 如果沒遇到過你該多好 就不會變得如此寂寞
君じゃなくてもいいことが もう見つからないの 已經找不到 和你無關也可以的情況了
忘れられないから 君じゃなかったら 無法忘記了 要不是你的話

いっそ見損なってしまうような そんなひとだったらなあ 乾脆變成根本看不起的人 如果是那種人的話
でもそれでも どうせ無理そう 嫌いになれないや 但是即使如此 大概反正也不可能 無法變得討厭

僕がいなくてもいいなら いっそ不幸になってしまえ 如果不是我也可以的話 乾脆變得不幸吧
最後にまた僕の元に 泣きついてくればいい 最後還是會回到我身邊 哭着湊過來的話就可以
君さえいなけりゃよかった こんな気持ちは知らないから 如果沒有你該多好 就不會知道這種心情
やらなくちゃいけないことが 手つかずのまま積もってく 一堆不得不做的事情 堆在手頭越積越多
僕じゃなくてもいいのなら こっちを見て笑わないでよ 如果不是我也可以的話 就別看着我這邊笑啊
大袈裟じゃなくてそれだけで 甚至那些不重要的事情
君のこと 間違いなく 對你 毫無疑問
苦しいほど 好きになっちゃうよ 刻骨銘心地 變得喜歡上了啊

忘れられないから 君じゃなかったら 因爲無法忘記 如果不是你的話
君に出会わなきゃ 僕じゃなかったら 要是沒遇到過你 如果不是我的話
君さえいなけりゃよかった 如果你從未出現過該多好
farseerfc's avatar

【聽譯】童遊

華咲 花開
望み望まれて此処に 此處有求有應
愛でたきものは此れに有り 此處有喜愛之物
夢と現と交えては 夢境與現世交匯時
幻想郷(幻の国) に、遊ぶがいい 可於幻想鄉玩

空を征く者がいる 有空中飛的
怪異を祓う者がいる 有驅散怪異的
其れ等を望む子等がいる 亦有期望她們的
御伽噺を耳にして 耳中聽聞怪誕軼事
思い巡らす其れ以上に 心中所思更爲怪異
生きる幻想が其処に居る 幻想中的生活正在彼處

何時の世も 凡世間
愛でたきものは 喜愛之物
往来の 往來的
童遊の 孩童遊戲
中にこそ有れ 亦正在此處

華咲 花開
真優雅、舞うたれば 當真優雅地翩翩起舞
華の都は、此れに有り 花都亦在此處
夢と現と交えては 夢境與現世交匯時
今日も変わりなく町角に 今日一如既往街頭巷角

華散 花落
口伝伝承(昔話) を祀れば 祭念起過往軼事
愛でたきものは此れに有り 此處有喜愛之物
夢と現と交えては 夢境與現世交匯時
幻想郷(幻の国) に、遊ぶがいい 可於幻想鄉玩

空で踊る者がいる 有空中起舞的
怪異を使役う者がいる 有使役怪異的
其れ等を真似る子等がいる 亦有模仿她們的
拙いものと思えども 回憶起舊時糗事
その手に握る其れこそが 手中緊握的正是
何時か幻想を生んでいく 何時幻想生於其中

さあ詠え 來唱吧
舞い踊りては 隨歌起舞的
華やかに 繁花爛漫
己が描く 自己描繪
命名決闘(童遊) を 命名決闘(孩童遊戲)

彩風 彩風
真優雅、舞うたれば 當真優雅地翩翩起舞
風の神も、愛でたからむ 風之神靈亦必欣然
夢と現と交えては 夢境與現世交匯時
明日の来る事を疑わず 明日之事毫不存疑

微風 微風
名(夢) を其処に、込め入れば 以己之 名(夢) 混於彼處
道往く者も、愛でたからむ 往來之人亦必欣然
夢と現と交えては 夢境與現世交匯時
幻想郷(幻の国) に、遊ぶがいい 可於幻想鄉玩

伝説の夢の国に 傳說中夢境的國度
生きて、生きて、生きて 但願生於其中
明日行く町角は片隅 明日所往街頭巷尾
其処彼処に 於之此處彼處
耳を澄ませば 如若清耳靜心
その息遣いを聞く 傾聽那氣息
空も、地の底も 空中亦,地底亦
星の水際も全てに 繁星的海岸亦全部
移ろい逝く季節の 交替過往的季節
その狭間でさえも 就算其中的間隙
望み望まれて其処に有り 亦在此處有求有應

華咲 花開
まこと優雅、舞うたれば 當真優雅地翩翩起舞
華の都は、此れに有り 花之都亦在此處
夢と現と交えては 夢境與現世交匯時
人も妖も諸共に 人亦,妖亦,其餘亦

華散 花落
そして日も、暮れぬれば 隨之日亦落時
躍り疲れて家路なり 舞盡成歸路
夢と現と交えては 夢境與現世交匯時
幻想郷(幻の国) に、遊ぶがいい 可於幻想鄉玩

華咲 花開
そして又も、町角に 隨之又在巷角
童遊の変わらずに 往日無異的孩童遊戲
夢と現と交えては 夢境與現世交匯時
幻想郷(幻の国) は此れに有り 此處有幻想鄉

華咲 花開
望み望まれて此処に 此處有求有應
愛でたきものは此れに有り 此處有喜愛之物
夢と現と交えては 夢境與現世交匯時
幻想郷(幻の国) に、遊ぶがいい 可於幻想鄉玩

上面這個原文寫法用了很多 当て字 ,表意而不表音,如果想對着唱的話可以參考下面這個版本:

華咲
望み望まれてここに
めでたきものはこれにあり
夢と現(うつつ)と交えては
幻の国に、遊ぶがいい

空を征(ゆ)くものがいる
怪異を祓うものがいる
それらを望む子らがいる
御伽噺(おとぎばなし)を耳にして
思い巡(めぐ)らす其れ以上に
生きる幻想が其処に居る

 いつの世も
 めでたきものは
 往来の
 童遊(わらべあそび)の
 なかにこそあれ

華咲
まこと優雅、舞うたれば
華の都は、これにあり
夢と現と交えては
今日も変わりなく町角に

華散
昔話(むかしばなし)を祀(まつ)れば
めでたきものはこれにあり
夢と現と交えては
幻の国に、遊ぶがいい

空で踊るものがいる
怪異を使役うものがいる
それらを真似る子らがいる
拙(つたな)いものと思えども
その手に握る其れこそが
いつか幻想を生んでいく

 さあ詠え
 舞い踊りては
 華やかに
 己が描く
 童遊(わらべあそび)を

彩風(さやかぜ)
まこと優雅、舞うたれば
風の神も、めでたからむ
夢と現と交えては
明日の来る事を疑わず

微風(そのかぜ)
夢(ゆめ)をそこに、込め入れば
道往く者も、めでたからむ
夢と現と交えては
幻の国に、遊ぶがいい

伝説の夢の国に
生きて、生きて、生きて
明日行く町角は片隅
そこかしこに
耳を澄ませば
その息遣いを聞く
空も、地の底も
星の水際(みぎわ)も全てに
移ろい逝く季節の
その狭間(はざま)でさえも
望み望まれてそこにあり

華咲
まこと優雅、舞うたれば
華の都は、これにあり
夢と現と交えては
人も妖(あやかし)も諸共(もろとも)に

華散
そして日も、暮れぬれば
躍り疲れて家路なり
夢と現と交えては
幻の国に、遊ぶがいい

華咲
そしてまたも、町角に
童遊(わらべあそび)の変わらずに
夢と現と交えては
幻の国はこれにあり

華咲
望み望まれてここに
めでたきものはこれにあり
夢と現と交えては
幻の国に、遊ぶがいい
h404bi's avatar

我都在用些什么 Chrome 扩展程序

Chrome 好用的一大原因是拥有各种各样数不清的扩展程序,丰富的扩展资源能给用户 带来许多方便的增强功能。其实扩展的使用跟个人平时日常生活的使用习惯是有很大 关联的,比如喜欢浏览些什么网站、使用什么服务、以及从事什么工作等等。
Phoenix Nemo's avatar

制作 Arch Linux 内存系统启动盘

之前尝试过 Arch Linux in RAM 完全运行在内存中的轻量业务系统,最近在维护一些物理服务器看到没有安装系统的服务器不断重启,想到了可以制作类似的内存系统启动盘,以高效完成系统测试、安装、远程维护等任务。

这时候就要祭出 mkarchiso 大法了。这是自动化制作最新版 Arch Live 镜像的工具集,当然也可用于制作定制化的 Arch 镜像。

准备

首先安装 archiso

1
~> sudo pacman -Syy archiso

它提供了两种配置方案,一种是只包含基本系统的 baseline,一种是可以制作定制 ISO 的 releng。要制作维护用 ISO,当然是复制 releng 配置啦。

1
2
~> cp -r /usr/share/archiso/configs/releng/ archlive
~> cd archlive

定制

整个过程不要太简单。先来了解下各个文件的用途:

  • build.sh - 用于制作镜像的自动化脚本,可以在这里修改一些名称变量或制作过程的逻辑。
  • packages.x86_64 - 一份要安装的包列表,一行一个。
  • pacman.conf - pacman 的配置文件,不用多说了吧。
  • airootfs - Live 系统的 rootfs,除了安装的包之外,其他的定制(以及启动执行脚本等)都在这里。遵循 rootfs 的目录规则。
  • efiboot / syslinux / isolinux 用于设置 BIOS / EFI 启动的配置。

[archlinuxcn] 仓库加入 pacman.conf

1
2
[archlinuxcn]
Server = https://cdn.repo.archlinuxcn.org/$arch

然后修改 packages.x86_64,加入 archlinuxcn-keyring 和其他需要预安装的包:

1
2
3
4
5
archlinuxcn-keyring
htop
iftop
iotop
ipmitool

按需修改即可啦。

要启动为内存系统,需要加启动参数 copytoram

修改文件 syslinux/archiso_pxe.cfgsyslinux/archiso_sys.cfg 文件,在启动参数后加 copytoram,像这样:

1
2
3
4
5
6
7
8
9
10
11
INCLUDE boot/syslinux/archiso_head.cfg

LABEL arch64
TEXT HELP
Boot the Arch Linux (x86_64) live medium.
It allows you to install Arch Linux or perform system maintenance.
ENDTEXT
MENU LABEL Boot Arch Linux (x86_64)
LINUX boot/x86_64/vmlinuz
INITRD boot/intel_ucode.img,boot/amd_ucode.img,boot/x86_64/archiso.img
APPEND archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram

启动时即可将整个 SquashFS 文件复制到内存。如果内存比较小,也可以指定 copytoram_size 来限制 tmpfs 占用内存的最大数量。

同样,也需要修改 efiboot/loader/entries/archiso-x86_64-usb.conf 的启动参数。在 options 行添加

1
options archisobasedir=%INSTALL_DIR% archisolabel=%ARCHISO_LABEL% copytoram

制作

创建工作目录和输出目录

1
mkdir -p work out

最后一步,只需要以 root 权限执行 ./build.sh 就可以啦。

要看具体执行过程的话,加 -v-h 看所有参数。

完成后,即可在 out 目录得到准备好的 ISO 文件。将其 dd 到 USB 闪存盘,大功告成(‘・ω・’)

Ref:

  1. https://wiki.archlinux.org/index.php/Archiso
  2. https://git.archlinux.org/archiso.git/tree/docs/README.bootparams#n53
's avatar

感到烦躁?先休息一会吧

Stuck? Switch to “Play Mode” 有感。

摘抄:

... Instead of trying to get things right, I should put myself in “Play Mode”. From his email:

In “Play,” just write or work on something you want... At the end, if you like what you’ve done, bring it in... If you don’t, discard it... It’s okay if nothing comes from it.

粗翻:

与其烦躁的逼着自己去做某些事情(如工作时卡住),不如先撒会欢 —— 随便写、玩或者休息一会(比如一个小时);如果撒欢时做的事情无关的话,就先放到一边。

即使做的事情无关,但是心情却会因此好起来,能够继续专注于工作。

farseerfc's avatar

【譯】使用 GNU stow 管理你的點文件

譯註

這篇是翻譯自 Brandon Invergo 的博客的英文文章 Using GNU Stow to manage your dotfiles 。 Brandon Invergo 的博客採用 CC-BY-SA 3.0 授權,因此本文也同樣採用 CC-BY-SA 3.0 ,不同於其它我寫的文章是 CC-BY-NC-SA 4.0 授權。

我自己已經使用此文中介紹的方案管理 我自己的 dotfiles 快 3 年了。最早想採用這樣的管理方案是爲了方便在多臺 Arch Linux 系統之間同步配置, 後來逐漸主力系統也更新換代了一次,又同步到了自己的 vps 上去,目前管理多個 Arch Linux 上都多少都有這套配置。甚至裝好 Arch Linux 添加好用戶最初做的事情就是安裝 …

17windy's avatar

[美羽释厄录] 0.95 发布贴 性能和游戏性大优化 12.07.2018更新

12月7日21点15分前下载的小伙伴拜托重新下载下,解决了一个蛙人关卡浣熊叶子无效的bug。

0.95更新日志:

1,感谢美羽和咲冥两位大佬的倾力支持,美羽和灵梦(卷)有了新形象,其中灵梦(卷)的形象由美羽进行了精确描述

2,伤害系统整个重构,优化性能至少50%,消灭卡顿!

3,载入功能升级,加载关卡更快更快更快

4,修改美羽的移动控制,改为弹幕类游戏通用的RAW方式,即按下移动键不会有加减速的缓冲和惯性,直接固定每次的移动距离,改善游戏体验

5,每个BOSS都有了特殊的弹幕风格,蛙人和大X王BOSS战重做,更有挑战性和观赏性

6,BOSS战胜利后会全屏消弹避免喜闻乐见

7,部分关卡的小怪会有偶尔的上下刷新

8,通常关卡整体难度下降,便于刷钱

9,美羽的特殊武器蓄能速度增加了50%

10,灵梦(卷)提供了增益!增加了30%-50%的资金获取量(视不同关卡)

11,部分武器进行了小改动,斩龙剑改造

12,战斗魔偶特殊道具更改为浣熊的叶子

13,修正了某个会导致美羽无敌的BUG

14,修正了英雄愿望有时只会造成一次伤害的BUG

15,修正了修改音量后部分关卡失效的BUG

16,灵梦(卷)商店增加了商品的描述提示,鼠标移到商品上显示

17,主菜单美化

新DLC关卡BOSS征集!请想要暴打美羽/被美羽暴打的碰友至喵窝社区论坛报名哦!

 

目前暂时只提供windows版,还望谅解。

下载链接:

0.95版本地下载

下载 Miu DB V0.95
点击次数: 101, 文件大小: 267.2 MB, 日期: 2018 12月 07

0.95版百度云分流 链接:https://pan.baidu.com/s/1ofJR7Ue4d_YGKgYiXOytAw 提取码:o19f

 

PS:之后可能会有一个月-一个半月的时间暂停更新,忙主要项目,不然会被卷素质三连~

SgDylan's avatar

EmiyaEngine 杂谈录 「其一」

人耳是一对既简单又复杂的器官。
说它简单,是因为人类可以制造电子的替代品;说它复杂,是因为再好的替代品都不能完全还原其功能。
它的原理,简单说只是将声音的机械波转换为神经电信号,但实际上这是包括耳廓、耳洞甚至是表皮绒毛的系统工程。
这些部件通过发挥其物理结构的作用对外界声音进行加工,才有了人体感知声音的前提。
再往后,大脑通过对其进行一系列解构调味,才有了最终感受到的样子。
现在的我们,将这一些系列的调味成为「心理声学」。

SgDylan's avatar

尝试在HEXO内嵌歌曲

SgDylan's avatar

关于MBR与GPT的一些记录

SgDylan's avatar

如何为UWP应用开启回环访问权限

SgDylan's avatar

在 Android 设备体验 Hi-Fi

最近搞了个 XMOS 做 USB 驱动芯片,配合 ESS-9018 做 DAC 的 USB DAC。
具体型号就不说了,用的是 XMOS 官方的参考方案。

SgDylan's avatar

修复Windows10上因为MacType导致的蓝屏问题

SgDylan's avatar

Tinc 笔记

Tinc 是一个 MeshVPN 网络的实现。
以下是这玩意的踩坑记录。

SgDylan's avatar

在视频处理中使用SVP4

SVP 是一个不错的视频插帧工具,可以通过详尽的参数设定处理出适合自己的高帧率视频。
目前,SVP 的主要版本是 SVP4。
本次主要记录的是使用 SVP4 配合视频压制工具制作高帧率视频的过程。

SgDylan's avatar

EmiyaEngine 杂谈录 「其二」

上一篇中谈到了心理声学与人造玄学,其中为说明采样虚拟乐器的不完全「HiRes」,
拿了两首所谓的「HiRes」音乐做了可视化谱分析,说到了一些可能不太正确的推论。
本篇继续推进,站到技术层面窥视他们背后的原理。

SgDylan's avatar

使用Python脚本计算单片机纯软件延时计数值

编写单片机程序时,经常为了保证时序使用软件延时程序。
以下是一种精确计算软件延时的方法(强迫症福音)。

SgDylan's avatar

饥荒 Don't Starve Together 服务器安装记录

这是一份饥荒联机服务器搭建记录的流水账。
记录的是在 单核 1GB内存 1Mbps 安装有Ubuntu14.04 的 腾讯云学生机上安装饥荒联机版的过程。
安装中包括了主世界和洞穴世界,且有安装人物Mod和工具Mod。
需要注意的是,这份安装记录适用于 Steam 最新正版饥荒。TGP 版似乎并不支持。

SgDylan's avatar

一种批量下载Bilibili视频的方法

需要的环境及工具:

  1. 一台可以运行 Python3 的机器
  2. Python 3 ( 推荐 Python 3.5.1 )
  3. pip
  4. you-get
SgDylan's avatar

使用手机远程控制 PC 网易云音乐

折腾过 Foobar2000 的人可能知道,Foobar2000 有一款叫做 foo_httpcontrol 的远程控制插件。
同时,有爱好者根据这个插件提供的接口,写出了使用手机控制 Foobar2000 的 Android 应用程序
于是,做一个远程控制网易云音乐程序的想法就诞生了。
考虑到自己一时半会写不出像 foobar2000 controller 这样的 Android 应用程序,于是考虑借用这一套 API 格式实现一个兼容的控制服务端。

SgDylan's avatar

导出 nginx 自动目录的链接到 aria2

不多说废话,就是一个 Javascript 插件,实现的功能如标题所说。
在 tampermonkey 上运行正常,暂时没有发现 BUG。
用不惯 rsync 的可以试试用这个用从 seedbox 拖文件。

SgDylan's avatar

一种阻碍DPI检测上网设备数量的方法

背景
学校最近把三家运营商都并入校园网了,使用一套名为深澜的系统对绑定不同运营商的用户自动加载不同的路由实现网络流量走不同的 ISP 出口。同时,大概是为了更大地盈利,加入了 DPI 和缓存服务器,并同时屏蔽了外部网络的 53 端口。
至此,接入校园网的用户无法使用默认使用 53 端口的 DNS(TCP/UDP),同时只允许接入三台上网设备。

SgDylan's avatar

使用 ESP8266 搭建 IoT 节点

刚好要买 ARM 板子,就顺手一并买了一块传说中的廉价 WiFi 开发板——使用 ESP8266 的 NodeMCU 。
那么就来说说这块据说性能强大、价格低廉,且可以写脚本语言的开发板。

SgDylan's avatar

Roland MIDI 软件合成器安装记录

这是一篇记录软件 MIDI 合成器安装的流水账,如有错误请及时指出。

SgDylan's avatar

在 PotPlayer 中使用 VapourSynth 加载 SVP4

SVP 是很棒的视频插帧软件。SVP 看片爽过吸大麻(大雾)
但是一直以来这东西都是通过 ffdshow raw filter 加载 AviSynth 脚本的方式介入播放器作用的。
从某个版本开始,SVP4 开始支持 VapourSynth 加载,
但是官方的教程还没有跟进,所以就稍微说一下吧。
需要注意的是,这个功能需要 SVP4 Pro,使用 Free 版本的用户请买一份 Pro 先。
顺便,感谢字幕组压片dalao @hoshinokun 的帮助。

's avatar

法国服务器将在一月迁移 终止部分服务

法国服务器准备不再续约了。

考虑到十二月没有时间来迁移网站,暂时决定将服务器续期到 2019 年 1 月 31 日。

届时受影响的服务:

  • 网易云音乐反代 - 关闭服务

其他服务会在一月中旬无缝迁移到新的服务器,不受影响。

AprocySanae's avatar

谁在里面

这篇文章完全是虚构的,比如我几乎晚上不加班,也没有会 JOJO 立的同事。毫无疑问我看过冰菓小说,当然日常系推理也并非冰菓的专利。

我的确寻思过写个和千反田类似的女孩放入书中,以读者的身份引出线索。但是构思时候很悲伤地发现我并不熟悉女性的思考方式。

文辞相当市侩,但是毫无疑问这才是我熟悉的生活。

青色旋律's avatar

短暂的休止符

最近忙于生活,暂时没有更新,非常抱歉的说。

希望能早点安定下来,静下心来做自己想做的事情……青色的旋律只是进入了短暂的休止,并没有迎来终结。

更多的脑洞…… JavaScript 的教程等等等等,未完待续……

's avatar

Redis Desktop Manager (RDM) 0.9.999 x64 个人编译版

官方的 Windows 版本需要订阅,或者自己编译。

用 QT 折腾大半天后终于编译好了。

已知问题

  1. 无法切换语言。原因未知,有懂 QT 的大佬指点一下吗?

说明

因为使用的是 VS2017 x64 编译器,需要 Win7+ x64 操作系统。

VS 2017 运行时下载:微软

RDM 下载

IceHoney Blog's avatar

前端开发地图应用的调研

我司的产品终于发布了新版本,所以忙碌的开发暂时告一段落。最近在做下一期的规划,然后就是要做前端网站来满足用户的需求。由于我们的产品是和地图强相关的,所以也对地图做了很多调研。

基本需求

产品需要在国内和国外使用,费用合理,可以换地图的贴图并且能在地图上绘制各种信息。例如多边形或圆形还有贝塞尔曲线。

MapKit JS

苹果居然也出了网页版本的地图产品MapKit JS,可谓是良心。但是目前还处于Beta版本。如果以后要考虑产品的全平台化,显然不是一个很好的选择。不过苹果的产品可以在国内国外使用不用太担心地图偏移问题,而且可以贴图和绘制图形,但是目前网页版还不能绘制贝塞尔曲线,iOS客户端倒是可以。

MapBox

MapBox是一个地图服务提供商,经过调研MapBox使用最新的WebGL技术来渲染,摆脱了传统的下tile来贴图的方式,渲染速度得到了大大的提升。也能解决国内和国外的地图显示问题,但是画图功能就只有画线和多边形。不过提供了底层的画图层的接口,需要自己写WebGL的shader。这就增加了开发成本。。。

GoogleMap

谷歌地图当然好,但是我最后才说。因为谷歌无法在国内使用,这种情况下我就不得不写两套接口来对应,例如国内高德地图,国外谷歌地图,会大大增加开发成本。而且谷歌地图最近刚升级付费条款,费用是按照请求次数来收,所以用户大量增长之后的开销也会非常大。不过谷歌也不能画贝塞尔曲线。。。

地理坐标系

由于是需要在地图上绘制新的tiles,所以自然就涉及到坐标的转换和计算。如何计算一个经纬度落在哪一张tiles上,以及在不同缩放级别下tiles的正常显示和重绘。这些都是需要自己来实现的。 这里有一个还算有名的官方介绍,并给出了Python的源码。可以参考这个来进行实现。

坐标系转换

每个国家都有自己的坐标系系统,虽然GPS使用的WGS 84标准非常流行,但是这个是美国制定的。每个国家当然都需要根据自己国家需要来定制自己的标准。例如中国就有北京54坐标系,西安80坐标系。北京54和西安80是参心坐标系,大地原点分别在苏联和西安。难以表达高度信息,目前国家正在推广2000国家大地坐标系,这个和WGS84一样是地心坐标系,即以地球质量中心为原点。日本也有自己的平面直角坐标系,我们当然需要各种坐标转换,还好有现成的开源项目proj4js

总结

各个地图服务商都各有优劣,但却没有一款完美的。主要是用途也比较特殊,可能在地图服务上进行二次开发的可能性比较高吧。不过提供地图服务的也没几家可以选择的。。。

's avatar

网站部分功能下线 [已恢复]

VPS 因未知原因下线,问题还在排查中。

部分服务器的内容受到影响,包括:

  • 英文博客 (jixun.uk)
  • 评论系统 (c.jixun.moe)
  • 本站的静态资源 (s1.jixun.moe)
  • 托管于本站的资源 (jixun.downloaddl.jixun.moe)
  • 网易云音乐反代服务
  • … 以及其他个人用的子域名服务。

已经修复,根据 Uptime Robot 提供的数据,本次事件导致服务器下线总计 2 小时 25 分。

依云's avatar

通过 Cloudflare DNS 验证来申请 Let's Encrypt 证书

本文来自依云's Blog,转载请注明。

我本地的 MediaWiki 的证书过期啦,干脆申请个免费证书好了。之所以用 HTTPS,是因为 MediaWiki 不喜欢不加密的 HTTP,会登录不了……

在网上寻找时,发现 certbot 就有 Cloudflare 的插件呢!这下就方便了。首先 pacman -S certbot-dns-cloudflare 装上,然后把自己的 Cloudflare 凭证信息写到一个 ini 文件里:

dns_cloudflare_email = cloudflare@example.com
dns_cloudflare_api_key = 0123456789abcdef0123456789abcdef01234567

就这么两行。保存好,设置好权限,然后就可以申请证书了:

sudo certbot certonly -d 域名列表 --dns-cloudflare --dns-cloudflare-credentials 凭证ini文件路径

稍微回答几个问题,证书就在 /etc/letsencrypt/live 下准备好啦。在 nginx 里配置一下就好了。

然后还要加个 cron 任务来更新证书(dcron 格式):

@weekly         ID=cert-renew   certbot renew -q

这样就大功告成了。

依云's avatar

正确地上传至 PyPI 并展示文档

本文来自依云's Blog,转载请注明。

数年过去了,今天经过多次尝试和询问,我终于成功让 nvchecker 的文档以富文件的形式展示在 PyPI 上了!

正确地打包上传命令是这样的:

rm -rf dist && python setup.py sdist && twine check dist/* && twine upload -s dist/*

如果 twine check 不通过,那么修正后重新执行。如果文档包含错误,PyPI 会以纯文本形式展示。

  • 听说要设置 long_description_content_type。好像 Markdown 才要设置的,rst 不用。
  • 听说不支持 # 开头的链接。实际上现在已经支持了。
  • 听说要用 twine,那就用吧。

原来我之前的文档一直没有正确地渲染,是因为有一个标题的「-」少了两个……

关于 PyPI 的资料是挺多的,但是细节不够详细,陈旧信息很多,唉。

Phoenix Nemo's avatar

使用 fs.WriteStream 编写超简单的日志流

虽然 console.log 很好用,但是生产环境需要保存日志的时候就比较蛋疼。暴力 fs.appendFile 会消耗大量的 file handler,因此用 writable stream 来复用 file handler 是更好的选择。

大概是个不能再简单的思路了。先创建一个写入流

1
2
3
const fs = require('fs');

let logStream = fs.createWriteStream('./test.log');

这样便创建了一个文件写入口,需要时直接调用 logStream.write 即可写入数据。
接下来编写一个用于记录日志的函数替代 console.log

1
2
3
function logger (message) {
logStream.write(message);
}

至此基本功能就写完啦。但是太简陋了对不对,还是要再加点装饰。

重写 logger 函数,区分 stdoutstderr

1
2
3
4
5
6
7
8
9
10
11
12
let logInfo = fs.createWriteStream('./stdout.log');
let logError = fs.createWriteStream('./stderr.log');

let Logger = {};

Logger.info = (message) => {
logInfo.write('[INFO] ' + message);
}

Logger.error = (message) => {
logError.write('[ERROR] ' + message);
}

感觉还是少了点什么…日期?

1
2
3
Logger.info = (message) => {
logInfo.write(new Date().toISOString() + ' [INFO] ' + message + '\n');
}

嗯嗯。这就像样了。把代码整合起来

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
const fs = require('fs');

let logInfo = fs.createWriteStream('./stdout.log');
let logError = fs.createWiteStream('./stderr.log');

let Logger = {};

Logger.info = (message) => {
logInfo.write(new Date().toISOString() + ' [INFO] ' + message + '\n');
}
Logger.error = (message) => {
logError.write(new Date().toISOString() + ' [ERROR] ' + message + '\n');
}

module.exports = Logger;

需要用时

1
Logger.info('This is an information.');

现在看对应的 stdout.log 文件就有相应内容啦。

1
2
~> tail -f stdout.log
2018-11-18T10:52:57.333Z [INFO] This is an information.

不够刺激?

1
2
3
[...Array(10000)].forEach((item, index) => {
Logger.info('Hello! ' + index);
});
1
2
3
4
5
6
7
8
9
10
11
12
~> tail -f stdout.log
...
2018-11-18T10:58:30.661Z [INFO] Hello! 9990
2018-11-18T10:58:30.661Z [INFO] Hello! 9991
2018-11-18T10:58:30.661Z [INFO] Hello! 9992
2018-11-18T10:58:30.661Z [INFO] Hello! 9993
2018-11-18T10:58:30.661Z [INFO] Hello! 9994
2018-11-18T10:58:30.661Z [INFO] Hello! 9995
2018-11-18T10:58:30.661Z [INFO] Hello! 9996
2018-11-18T10:58:30.661Z [INFO] Hello! 9997
2018-11-18T10:58:30.661Z [INFO] Hello! 9998
2018-11-18T10:58:30.661Z [INFO] Hello! 9999

搞定(┌・ω・)┌超简单的吧。

's avatar

十一月十七日 -- 前女友小说,字体,摄影

今天没打游戏。

小说

磨了一点 Your Diary 的感想,就没动了,买了另外一本三秋的书,加上一本书凑免邮。反而是看纸城境介的继母的拖油瓶是前女友看到快 6 点。

很有趣的小说。男性向的。

因为看轻小说不用带脑子,所以这也是不带脑子的评论。这也是我的一种心理安慰。一个人如果因为一本无趣的小说而熬夜,那未免也太空虚了吧。

在访谈中,关于连载,作者纸城大致是这么说的:如果小说被印刷成书出版,那只能让读者享受 3 小时;而如果放在网络上连载,则能够让读者每周都享受 168 小时。

关于这部书有趣的地方,作者大致是这么说的:我写这部作品,就专注于这一点,而不是加入学园祭等各种元素来充实内容,这使得这部作品非常纯粹。

因为我记的不太清楚了,所以就不加 quote 了。当然这也不代表我个人观点,虽然说人会把记忆改造成自己想要的样子,但我觉得这观点怎样都好,所以就忘的差不多了,更别说根据自己的好恶改造了。

我个人觉得误会是这部作品的一个支撑,也是全篇反复出现的一个要素。男女主人公因为小小的误会,关系出现了隔阂,导致最终的分手。男主自认为讨厌女主,但心里还给女主留着位置,他并努力和女主保持着适当的距离;而反观女主,男主在面前的时候针锋相对,不在面前的时候变身大花痴。导致怎么看,都是变相秀恩爱。

这让我想起了作品时间和现实时间同步的一部网络小说,其天气也是忠实于日本某地的天气。可名字忘了。

今天下雨。

看了一点人间失格,感觉不能理解。先不管三张相片是想表达什么(从内容上看推测是概括了主角的一生),几页看下来,大致是一位神经性厌食症少年的独白。具体是不是还要继续往下看。

摄影

我不摄影。

看了一篇关于 Magnum Contact Sheets 的博客,讲的很长很详细,地址忘了。

Contact sheets 是在底片时代,摄影师为了降低成本,就先把底片的缩小版印下来,再在其中挑选想要的照片。从 contact sheets 中可以看到摄影师的思考,过程,以及失败。Magnum 是有名的摄影师社区,其成员都是经过遴选的,因此这本书里的 contact sheets 也可算是大师级别的作品。

看到 Dali Atomicus 的时候,我以为里面的人是随便一个演员,结果一查是达利本人,而其创意也来自达利的画 Leda Atomica,里面的物体都是漂浮着的,在照片中该画被悬在右侧。照片里的猫也是真的,是助手丢出去的。大概那时候没有动物保护组织,可以随便来。照片一共拍了28次,可以说不管是摄影师,达利,打扫的人,还是猫都辛苦了,猫还会被水浇到,所以可能最辛苦。

总而言之,文章想对广大摄影爱好者表达的几点建议,一个是多拍,一个是拍了要看,一个是以前拍的也要看,说不定会有新的发现(因此不要立即删掉觉得不好的照片)。

字体

方正面向移动端阅读,推出了方正悠宋。当然要钱,而且不能发布。因此我没用。当然如果遇到什么好的免费的衬线体,大概是会换的,不然英文是衬线,中文是黑体,不免有些不协调。

注:移动端是这样,电脑端可能不是这样。

Hymmnos 字体也会加回来的,大概。

其他的记不清了。

想不到要写什么了。

's avatar

Fedora 29 安装 FCITX 输入法 + Rime/拼音

上图为安装后的效果


首先安装适配各种程序的基础包:

sudo dnf install fcitx-{ui-light,qt{4,5},table,gtk{2,3},table-{extra,other,chinese},configtool}

安装「中州韵」:

# 启用 fzug - 中文社区源
sudo dnf install https://mirrors.tuna.tsinghua.edu.cn/fzug/free/29/x86_64/fzug-release-29-0.1.noarch.rpm

# 关掉 fzug 的 non-free(非自由软件) 源,因为这个源并不存在
sudo sed -i.bak 's/enabled=1/enabled=0/' /etc/yum.repos.d/fzug-nonfree.repo

# 安装中州韵
sudo dnf install fcitx-rime

如果不想安装 fzug 中文社区源,可以安装普通的拼音:

sudo dnf install fcitx-pinyin

之后运行「im-chooser」在弹出的界面选择 fcitx,然后登出重新登录即可生效。

's avatar

100% 橙汁修改器更新 (4.0)

更新 4.0

很久没有更新这个修改器了…原因是对修改器进行了重做,现在改用 C++ 开发,抛弃掉 .net 环境。

支持联网获取修改器所需数据,希望能解决每个版本的游戏都需要重新编译修改器的问题。

缺点:

  1. 不支持离线使用。每次点击“寻找游戏”都需要联网查询所需数据,可能在后续版本会建立一个缓存机制。
  2. 不支持 XP,也希望我能不需要支持 XP。如果真的需要 XP 的支持的话,请在留言告诉我,我会更新编译器使其兼容。

以后如果不是游戏有大更新,修改器应该也不用更新。

100% Orange Juice 修改器

依云's avatar

与 Android 进行 WLAN Direct 连接

本文来自依云's Blog,转载请注明。

首先 iw list 看是否支持。如果支持,那就

iw dev wlan0 interface add p2p0 type __p2pdev

这样其实并不会多出一个叫 p2p0 的网络接口。iw dev 能看到多了个「Unnamed/non-netdev」设备。不执行这个也可以连接上 WLAN Direct,但是当前的 managed Wi-Fi 连接会断掉。执行之后再连接,managed 连接会持续,iw dev 里会有两个 Unnamed,不知道何故。另外这个 type __p2pdev 加上去了我就不知道怎么删除了。试了几个命令,结果搞得内核 oops 了……

然后是 wpa_supplicant 配置文件:

ctrl_interface=/run/wpa_supplicant_p2p
ap_scan=1

device_name=起一个名字
device_type=1-0050F204-1

driver_param=use_p2p_group_interface=1

wpa_supplicant 跑起来。注意这里的接口名还是那个 managed 接口的。

wpa_supplicant -i wlan0 -c p2p_config.conf

然后 wpa_cli 连过去操作:

wpa_cli -p /run/wpa_supplicant_p2p

首先用 p2p_find 开启搜索。这时候对端设备能够看到自己了。使用 p2p_connect 对端MAC pbc go_intent=0 连接,在对端接受连接即可。go_intent=0 是让对方作为 group owner,这样对端 Android 才会提供 DHCP 服务(否则要本地提供了)。

然后就可以给自己添加 IP 地址了。此时是可以用 dhcpcd 的,然而直接跑的话它会抢走默认路由,所以知道地址范围之后手动加一个好了:

ip a add 192.168.49.22/24 dev p2p-wlan0-1

Android 设备的地址是 192.168.49.1。

之后就可以用 adb connect 然后 scrcpy 了。

PS: Android 很喜欢四十几的 IP 段呢。USB 网络共享是 192.168.42.129/24,Wi-Fi 网络共享是 192.168.43.1/24,而 WLAN Direct 是 192.168.49.1/24。不知道蓝牙网络共享是多少呢。

PPS: scrcpy 在我的 XZ2C 上运行完美,但是在 MIUI 10 上需要去开发者选项里开启选项「USB 调试(安全设置)」,否则会是「只读模式」,只能看,所有交互操作无效。

参考资料

Kouga's avatar

速成速冻肉丸

  1. 空气炸锅200℃预热2分钟;
  2. 速冻的撒尿牛丸拆开,裹点油,入锅,120℃5分钟;
  3. 为了得到脆外皮,再烤180℃1分钟出锅;

嗯,是不是很简单喵?结果咱咬开第一颗就爆了喵……QAQ……没照片喵……

Felix Yan's avatar

为 glibc localedata 添加民国纪年支持

昨天被 @聞其詳 问起 glibc 对日本平成XX年的纪年支持情况(感谢 @farseerfc 老师),发现 glibc localedata 中并未包括民国纪年支持。在查询文档后稍微鼓捣了一下,简单实现了这个功能:

$ LC_TIME=zh_TW.UTF-8 date +%EY
民國107年
$ LC_TIME=zh_TW.UTF-8 date +%EY --date="1912/4/3"
民國元年
$ LC_TIME=zh_TW.UTF-8 date +%EY --date="1913/4/3"
民國2年
$ LC_TIME=zh_TW.UTF-8 date +%EY --date="1911/4/3"
民前1年
$ LC_TIME=zh_TW.UTF-8 date +%EY --date="1900/4/3"
民前12年

修改方法:

编辑 /usr/share/i18n/locales/zh_TW 文件,找到 END LC_TIME,在它之前加入这样三行:

era "+:2:1913//01//01:+*:民國:%EC%Ey年";/
    "+:1:1912//01//01:1912//12//31:民國:%EC元年";/
    "+:1:1911//12//31:-*:民前:%EC%Ey年"

保存后重新 locale-gen 即可。

不足:暂时没有弄明白怎么实现中文数字,不过阿拉伯数字也还过得去……

提交:glibc 的提交方式好像比较麻烦,所以先写篇博客好了。

发散:这个方法当然还可以用来实现各种自定义年号,比如朝鲜的主体纪年同样在 1912 年为元年,另外还有1970 “Unix 元年”、2013(咚咚咚,敲门声

h404bi's avatar

再谈谈 Scoop 这个 Windows 下的软件包管理器

与 Chocolatey Windows 包管理工具(Package Manager)相比, Scoop 是一款更为轻量的 Windows 包管理器。本文将对比 Chocolatey Scoop 这两款工具的区别,介绍一下 Scoop 安装使用体验,如果你没有重度的包管理需求, 不妨可以尝试一下 Scoop PowerShell Concfg 这套组合。
's avatar

如何被 GitHub Pages 蹬鼻子上脸

被什么蹬鼻子上脸?

GitHub Pages 是 GitHub 不知道在哪一年推出的网站托管服务。用户将网站内容放在一个 GitHub 仓库中(无论仓库是公共还是私有的),然后喝口水的功夫,网站就建立起来了。

GitHub Pages 有如下几个好处:

  1. 不要钱(以这种寒酸网站为基准)
  2. 方便,一键部署,一键 TLS
  3. 使用 GitHub CDN,不容易炸
  4. 炸了也是 GitHub 背锅

用户可以通过如下的几种方式部署 GitHub Pages:

  1. 使用名为 <username/org name>.github.io 的仓库作为网站的根目录 (webroot)
  2. 使用一个仓库的 mastergh-pages 分支作为网站的根目录
  3. 使用一个仓库的 master 分支的 docs/ 文件夹作为网站的根目录

在方式 1 下,默认可以通过<username/org name>.github.io 访问建立的网站;而在方式 2 和 3 下,默认通过 <username/org name>.github.io/<repo name> 进行访问。

除了给定的域名,GitHub Pages 还提供了自定义域名的选项,支持 example.comwww.example.com 形式的域名。具体看 wiki 。

被 GitHub Pages 怎么上脸?

通常来说,建一个博客需要如下几个部分:

  1. IP
  2. 域名
  3. 服务器
  4. 内容

使用网页托管服务,相当于用户交出了对服务器的完全控制,这有其两面性:用户可以不管什么阿帕奇,什么引擎X,但用户在服务器层面上能有多大的自由,完全取决于托管服务商的支持。

在 GitHub Pages 为例,用户失去了:

  1. HTTP redirect 的能力,具体来说,用户只能用一个 meta 标签做重定向,而不是返回 HTTP 301/302 进行重定向。
  2. 个性化错误页面,只能按照 GitHub Pages 的要求指定一个网页作为 404 页面(虽然大多情况下这就够了)。

你说的我都明白,所以这又怎么了?

其实没怎么。

由于上一篇博客中做的修改,现在的 RSS 变成了一个到中文 RSS Feed 的 HTTP 重定向。用 GitHub Pages 会使得无法重定向,导致 RSS 订阅会掉。

另外一个没有提及的问题是 GitHub Pages 的罪恶连锁:

不使用 .github.io -> 自定义域名不能使用 CNAME -> 自定义域名使用 A 记录 -> 每次部署的时候报警

以及

不使用 .github.io -> 自定义域名不能使用 CNAME -> 自定义域名使用 A 记录 -> 随机 302

其中第二个问题是由于 GitHub 方面需要平衡负载而导致的。

下一步?

再说。

cunky's avatar

Python 教程开坑

Why

关于写Python入门教程可以说是心血来潮?(°Д°)
嘛 主要是我过于菜鸟 会的东西也不多 博客搭好也不知道写些什么
就跟朋友 TYMON 42 >大佬 一起写Python的入门教程

EMMM

还是第一次写教程 很多东西可能都没有考虑到 有疑问的可以在下面评论留言
我会尽量地回答问题 也希望能从我这稍微学到一点有用的东西( ̄▽ ̄)~*

Continue

Cunky > 一只鸽子(只会咕咕咕!!!∑(゚Д゚ノ)ノ
TYMON 42 > 大佬(主力军ヽ(゚Д゚)ノ

笔记最后更新时间 2018-10-29 23:19

's avatar

育碧 key 切断了那条蛇

Yubikey & PAM

之前没看懂 PAM 怎么用,今天重新看了一下pam(8),打算搞好之前想弄的 yubikey 解锁桌面。

pam(8)的结果:这在说什么?

看了一篇讲 PAM 的博客:噢,我明白了(没有懂),甚至应该修改 /etc/pam.d下的哪一个文件都不清楚。

还是另一篇博客让我豁然开朗。

先在 Arch Linux 上安装yubico-pam包。

然后修改/etc/pam.d/system-auth,将下面一行添加到 auth required pam_unix.so ... 那一行的前面。如果添加到后面的话,还会先调用 pam_unix.so 来索取密码,而且失败了就失败了,并不能 fallback 到 Yubikey 登陆,然而将 sufficientpam_yubico 放在最前,当 yubikey 验证成功了就一定成功。

如果写的是 required 而不是 sufficient ,结果就是不仅要 yubikey 验证成功,而且还要接着再输一遍密码,相当于倒过来的二步验证。

auth sufficient pam_yubico.so id=<yubikey API id> authfile=/etc/yubikeys

这样就大功告成了!现在 sudo,解锁屏,登陆都可以用 Yubikey 一摁完成了!

当然,如果 KDE 的用户

  • 只想用它解锁屏,就把这一行放到 /etc/pam.d/kde 里的对应位置,注意当前用户需要有 authfile 的读权限,否则无法使用
  • 只想用它登陆,就把这一行放到 /etc/pam.d/sddm 里的对应位置

如果只想用 yubikey 登陆 console (估计没有这样的人),就把这一行放到 /etc/pam.d/login 里就行了,ssh类似,大概。

而如果想离线也能验证,或者嫌在线验证时间过长的话,就换用 challenge-response 模式就可以了。具体见 Yubico 官网的相关页面,就懒得再翻译一遍了。设置好之后甚至连一摁都不需要了。

Arch Wiki 关于 Yubikey 的条目可以说比较混乱,而 Fedora Wiki 的页面则较为简洁直白,可以作为参考。

顺便一提,也是 Fedora Wiki 告诉我有 modhex 这种东西。 Yubikey 作为键盘输入,它只会向机器发送键盘扫描码,机器再将其转换为按键。因此 Yubikey 不能控制键盘的 layout ,也就导致如果随意输入,在不同的键盘 layout 上可能会输出不同的字符。比如QWERTY的Y,在德语键盘上就成了Z(它交换了Y和Z),而在日语键盘上差不多就是假名 N (说差不多的意思是在假名输入下才是 N)。因此 Yubikey 选择了那些在任何键盘 layout 下都不会变的16个字符,用以表示16进制数,这就是 modhex 。

请关掉假名输入!不然そそそそそそりこはすいきまにすこまきましすいりそなままりこのかいそひひしきのにすきしのき

中断

今天读了一篇关于硬件中断,以及如何用 PIC 处理的博文,因为没怎么看懂,就不翻译了。

玩蛇?玩个蛇皮!

Arcaea 潜力值终于上 9 了,或者说,才上 9 。啊……

慢慢来吧。

lwl12's avatar

更新至第三代服务器环境 | Docker 萌新体验记

博客算是 lwl 第一个用上 VPS 的项目了,和很多初学者一样,lwl 一直在使用一键包来完成服务器环境的架设。随着时间的推移以及请求量的增加,现有的服务器环境维护变得越来越困难,甚至开始出现了一些无法找到原因的问题。为此, lwl 决定开始着手设计和部署第三代服务器运行环境。
Kouga's avatar

Ghost 这个博客升级真是烦死了喵!

从 0.x 时代开始用的这货,竟然弄了个断崖式升级喵喵喵!所有 1.x 之前的数据无法直接导入到 2.x 喵!

于是升级流程就变成了(卧槽这货的编辑器支持中文输入法也有问题喵个咪……)

  1. 将0.x时代的所有博文用 JSON 导出(前提是你的 0.x 博客还能启动,此时推荐NVM来安装 node 6.x.x LTS 版本启动);
  2. 安装 Ghost Cli 工具(建议 nvm 切换到 8.x.x LTS 版本);
  3. 安装 Ghost 1.x 版本(只是过一遍数据,本地即可) ghost install local --v1 --db=sqlite3
  4. 在 1.x 的控制台上导入 0.x 时代的 JSON 文件,再导出一份 1.x 的JSON文件备份;
  5. 尝试直接升级 Ghost ghost update ,如果成功应该能升级到 2.x 的当前版本;
  6. 如果 步骤5 大量出错不可解,新建个文件夹再次安装 Ghost 当前版本 ghost install 然后尝试导入 步骤4 导出的 1.x JSON 备份文件;

如果以上都不行,那还是放弃这个平台比较好喵……我导入后只是不少文章顺序混乱了,但是都还在喵……

参考链接🔗:

IceHoney Blog's avatar

后端开发的技术总结

说实话,最近前端开发的事情并不是很多。所以自己也慢慢开始做后端开发,逐渐向全沾工程师靠拢。现在的开发工作,分工分明,后端也只需要专注API的请求与返回就好了。

API文档

使用API Blueprint作为API规范,并使用RSpec API Blueprint来自动生成文档。 生成的Markdown文件,可以很方便的转换成网页便于客户端开发。例如这个工具aglio

后端开发

现在采用的开发技术框架是Ruby on Rails。不得不吐嘈一句,Ruby on Rails在日本真是压倒性的流行。Ruby on Rails还是MVC架构,原生支持RESTful API。但我觉得下一代的接口标准应该是facebook推出的GraphQL,不过先阶段RESTful API也足够了。

Models

Models主要是用来描述数据库结构,表与表之间的关系。还可以定义对数据库操作的方法,数据之间复杂的业务逻辑基本都是放在这里。

Views

Views主要是用来定义相应的数据的格式,把数据整合成统一的JSON标准供客户端使用。

Controllers

Controllers是请求的入口,用来定义请求的参数,并接收请求进行参数的过滤处理。然后调用Models里定义的方法完成数据的操作,并调用Views来完成数据的响应。

权限管理

权限管理是一件非常复杂的事情,定义某个接口在什么条件下可以调用,需要检查用户是什么身份。所以推荐是使用现有的成熟框架来进行管理。这里使用pundit来管理各个请求的权限检查。

软删除

在实际的项目中,我们需要进行软删除操作。例如用户加入了某个组织,以组织成员的身份发表了文章。当用户退出这个组织的时候,我们并不能直接删除数据库记录。否则无法显示文章的作者。这时候我们就需要软删除操作,对用户来说这条记录已经消失了。但对开发者来说,这条记录还是需要的。我们也使用框架来解决这个问题,这里采用的是Paranoia

测试

后端开发是偏向于纯逻辑的开发,所以测试非常重要。正常情况下的输入输出非常简单,代码的80%都是需要考虑到各种各样的边界条件。需要考虑到用户的各种不同情况下的操作,给出合适的错误提示。所以需要完善的测试来覆盖所有场景,这里采用的是e2e测试,模拟请求,测试后端服务器的响应输出是否符合预期。采用的测试框架是rspec-rails

参考:

Ruby on Rails Guides

Roy Binux's avatar

少女前线拖尸脚本 和 生成它的可视化工具

最近在玩少女前线,这是一个手机游戏,over。不是,就真的没有什么好讲的嘛,了解的人早有耳闻,不了解的就只要知道这是个手机游戏就好了,嗯。

然后,我会好好地,正常地,氪金地去玩这个游戏吗?不可能的,玩游戏哪有破解它有意思呢。当年破解 Ingress 是因为它用的 HTTPS 通信的,算是本行。百万亚瑟王是因为别人已经逆向好了,我只是写了一些 bot。现在这么办,玩不了了吗?作为一个不会安卓,不会逆向,不会汇编的菜鸡,那我只好上按键精灵了啊。于是乎,我找到了这个: AnkuLua

AnkuLua 是一個專注在自動化的Android App
基本自動化動作有:

  • 抓取螢幕並找尋指定圖案
  • 對找圖結果採取使用者要的動作(例如點擊、抓放(drag and drop)、打字…等等)

最重要的是,它能运行 lua 脚本!虽然我是一个不会安卓,不会逆向,不会汇编的菜鸡,但是我会 lua 啊。

ankulua-vision

不过,在使用过程中发现,找寻指定图案,需要不断截图/裁剪,这样太麻烦了。于是我又用 electron 做了一个可视化的截图资源管理器 ankulua-vision,像这样的:

基本思路就是,一般游戏是由众多 UI 界面组成的,点击某个按钮能跳转到某个界面上去。那么通过截图,标注识别区域,那么程序就能知道游戏现在所处的界面。通过标注按钮区域,那么只需要 goto('battle'),程序就能自动规划从当前界面到 battle 的可行路径,然后点啊点啊就完成需要的操作了。这样一方面不需要自己去裁剪图片了,另一方面通过框架代码,在运行过程中能够有更多的错误检查,自动应对可能出现的各种异常。

理论上,对于点啊点的游戏,是能实现无代码的。即使不能,对于复杂的动作,也可以通过 lua 拓展。

源码在这里:https://github.com/binux/ankulua-vision

你依旧需要在安卓手机或者模拟器中安装 ankulua,然后加载生成的 start.lua 脚本。默认自带了一个简单的循环逻辑,运行后可以直接图形化界面配置运行。当然你也可以通过 lua 脚本拓展,除了 ankulua 本身的 API 可用之外,你也可以使用 stateMachine 这套界面跳转逻辑 API,重用简化步骤。stateMachine 的 API 在 README 中有简略的文档说明。

源码使用 GPLv3 或 MIT 许可证,取决于第一个有效 PR(例如 fix typo 不算),如果第一个 PR 之前有商业化需求或者 PR 作者要求,则 MIT。

少女前线拖尸脚本

WARNING: 任何使用脚本的行为都是官方禁止的,我不对下文所述任何内容以及其后果负责

于是,这里就是 少女前线的拖尸脚本:

https://github.com/binux/binux_github_com/releases/download/gf/shojo.zip

同时它也是一个 ankulua-vision 的项目,你可以通过 ankulua-vision 打开这个项目目录,调整截屏或者按钮位置。

脚本实现的功能

  • 43e, 02, 52n 拖尸
  • 自动重启后勤
  • 自动强化或者分解人形
  • 自动修理

使用方法

  1. 根据 [填坑结束?][失了智]萌新向拖尸教学帖[更新8-1N相关] 一文准备好打手和阵型,一队练级队,二队补给队,52n 还需要 3 队狗粮队。
  2. 解压拷贝脚本到手机中,在 ankulua 中加载 start.lua。
  3. 在启动界面中选择你的两个打手(每轮结束后,两个打手会交换),选择拖尸任务,如果仅自动后勤,选择 null 就好了。

其中 52n 会在战斗中撤退 5, 8 号位 (见 NGA 文 “43e的说明” 展开部分),02 在选择 m4a1 时会撤退 1, 7 号位。

然后开始吧!

WARNING: 任何使用脚本的行为都是官方禁止的,我不对上文所述任何内容以及其后果负责

over

依云's avatar

获得高精度环形镜子一枚

本文来自依云's Blog,转载请注明。

如图:

这面镜子上边有好几百G数据呢,然而早已读不出来了。

镜子来源于九年前的西数移动硬盘。因为太老了所以坏掉了吧,反正是识别不了了。最近看到 YouTube 上有人各种折腾硬盘,群里又有人拆了好几面镜子出来,所以我把它找出来拆啦。这镜子比我那总也擦不干净的丽塔芙镜子清晰多了呢,就是小了点儿。

拆起来也不难。首先想办法把壳弄开。然后见着螺丝就旋下来,见着贴纸就撕掉。那覆盖一个螺丝孔的小圆片不用撕下来,直接螺丝刀往中间捅,然后把螺丝旋下来就好了。

覆盖磁头的那块金属有两个螺丝,其中一个在洞里。它上边有块形状奇怪的磁铁,照片里吸了很多螺丝的就是了。磁头是直接翻个面,让重力把它拉下来就可以了,我之前以为还有螺丝之类的还弄了好久呢,结果手一翻它自己掉下来了。马达中间那个螺丝很不容易取下,因为整体会跟着转。我是用剪刀卡住它的两个洞才给旋下来的。剩下的手拆就可以了。

's avatar

multilanguage

借助 hexo generator multilingual feed 的帮助,本站的 RSS feed 实现了语言的隔离。

中文文章的 RSS feed
RSS feed of English posts

当然 原来的 RSS feed 还是任何语言都会有的。

本来想实现 post 的隔离,但既不会又不想去学。所以就搁置啦!

's avatar

2018 XJNU CTF Web Writeup

比较简单的新疆师范大学的 CTF 比赛 http://ctf.xjnu.edu.cn/
Felix Yan's avatar

请不要把 Wifi Dongle 翻译成加密狗

在许多翻译过来的文本里,无线网卡(Wifi Dongle / Wifi Adapter)被翻译成了“加密狗”。最近在微博大火的一篇《俄罗斯特工又蠢了!实名行动暴露自己还卖了300多特工队友…..》里面,又出现了类似的错误,让我不得不想说说这个问题。

先来看看这个例子:

文章描述了几个黑客在目标附近发射伪造热点钓鱼,此处的未翻译单词包括了 Wifi 和 Dongle。根据上下文,带一个无线网卡发射热点应该是正确的意思,而加密狗在这里和上下文没啥关系……

我尝试在搜索引擎里搜索对应词组,很不幸,惨状令人叹息:

就连正规电子产品的用户界面都中了枪:

这个问题的来源,看起来是国内加密狗早年被简单称呼为 Dongle:

Dongle,按照维基百科的解释,是和 Adapter(适配器)很类似的一个词,泛指了一大类连接、转换器。

Wireless/Wifi Dongle = Wifi 适配器,Bluetooth Dongle = 蓝牙适配器,以此类推。所以,在看到类似 USB Dongle 这样模糊名字的时候,请务必联系上下文。如果原文用了 Wifi Dongle 这样比较明确含义的词组,请翻译为 Wifi 适配器,或者无线适配器,不要再翻译成加密狗了。

cunky's avatar

2018 · 夏日笔记

多图警告!

这里是Cunky的说~
可以说这又是一个新坑了 (虽然之前也没开过什么坑ε=(´ο`*)))唉

嘛 这个笔记本质就是记录一下生活的 没有什么别的 也不会写的像一篇散文一样 最多是流水账吧(/ω\)

珠海 · 夏

Cunky今年从六月到十月就没出过门(包括国庆假期
说来也是有些遗憾的,不过这些天在翻看照片时,发现了一些挺好看的随手拍的照片

这是珠海海边的标志性建筑 大贝壳儿~
话说贝壳儿附近的海都这么蓝么 (。-_-。)

途经活动中心的时候随手拍的

珠海的望海楼 可以看见情侣路中的绝大多数景象╰(°▽°)╯

这张图是在野狸岛上拍的 可以看见城区乌云密布 也是挺有意思的场景
(回去的时候被淋成落汤鸡了 [●´Å`●]  


这俩图片是傍晚回家的时候路过拍的 感觉很漂亮呢!
只可惜没有拿相机 手机拍下来的也修不了图(˘•ω•˘)

这张图片是和朋友一块看日出的时候拍的
(五点就把我叫醒ヽ(ー_ー)ノ

这是石景山啦~ 那天和朋友出去转了转 只是天气不大好
(不过有种奇妙的感觉Σ(っ°Д°;)っ

说来之后要和 TYMON 42 一起更新Python相关的内容呢~
(对于我这只鸽子来说 可能...
To Be Continue

笔记最后更新时间 2018-10-27 23:02

17windy's avatar

[美羽释厄录]更新预告

0.92更新预告(进行中):

1,主菜单UI美化

2,载入功能升级,实现战斗场景同步加载(即载入显示完成即可玩)

3,伤害系统重做,以期整体提升游戏性能减少卡顿

4,部分敌人刷新行为修改(影响全部小怪关卡)

5,美羽武器系统数值平衡

6,三大BOSS战继续完善,为不同BOSS增设不同的子弹造型,调整战斗难度,掉落物调整

7,商店场景为可购买物品增加鼠标悬停时的提示(可选,低优先度)

8,斩龙剑性能改造

9,BOSS战胜利自动消除全部子弹

0.91更新(已完成):

1,商店UI优化,商店物品价格调整

2,游戏场景载入时间可感觉的优化缩短

3,降低敌人普通小弹的伤害,大幅降低敌人追踪导弹的伤害

4,增加美羽初始弹药的伤害触发范围,稍微增加美羽初始弹药的伤害,稍微增加刀风类射击的射程

5,Level9 BOSS难度调整(P2弹幕修改、受弹面正常化、稍微降低防御力)

6,Level1+2难度降低

7,三路射击鱼形怪物首次射击延后0.5秒

8,主菜单开始游戏部分菜单底部增加当前Gems数量显示

9,所有战斗场景增加了暂停功能(Esc)

10,修复主菜单的语言本地化设置

11,修复Level6蛙人BOSS战不出小怪的问题

cunky's avatar

Cloud-Torrent搭建日志

很多人买了VPS以后 会出现资源闲置的情况
今天就给大家介绍一下Cloud-Torrent这款简单好用(还行吧XD)的BT下载工具

链接

GitHub项目:https://github.com/jpillora/cloud-torrent

准备

你需要一台能用的VPS 我这里用的是一台OVZ的小机子

安装

安装Cloud-Torrent十分简单
在终端输入

curl https://i.jpillora.com/cloud-torrent! | bash

即可
附:Cloud-Torrent最新版本:https://github.com/jpillora/cloud-torrent/releases/latest
成功安装以后输入 cloud-torrent --help 可以查看帮助

接下来是启动Cloud-Torrent

cloud-torrent \
  -t 'Cunky' \
  -p '9090' \
  -a 'cunky:testest0744'

完成后即可通过 http://ip:port 进入Web管理界面
注:cunky为用户名 testest0744为密码
其他安装方法 如docker等请参考GitHub的Cloud-Torrent项目
这里建议安装SSL证书保证安全性

使用

如图

可以直接将种子拖进去 也可以直接上传 或者填写磁力链接
我这的机子测试最高到过50MB/s
这个也可以结合脚本和Rclone来用 都是不错的

笔记最后更新时间 2018-10-02 22:08

17windy's avatar

[美羽释厄录] 0.91先行版 发布贴 10.02.2018更新

0.91更新日志:

1,商店UI优化,商店物品价格调整

2,游戏场景载入时间可感觉的优化缩短

3,降低敌人普通小弹的伤害,大幅降低敌人追踪导弹的伤害

4,增加美羽初始弹药的伤害触发范围,稍微增加美羽初始弹药的伤害,稍微增加刀风类射击的射程

5,Level9 BOSS难度调整(P2弹幕修改、受弹面正常化、稍微降低防御力)

6,Level1+2难度降低

7,三路射击鱼形怪物首次射击延后0.5秒

8,主菜单开始游戏部分菜单底部增加当前Gems数量显示

9,所有战斗场景增加了暂停功能(Esc)

10,修复主菜单的语言本地化设置

11,修复Level6蛙人BOSS战不出小怪的问题


经过一段时间的开(gu)发(gu)惭愧,美羽释厄录先行版终于发布啦!希望各位朋友能够喜欢:)

游戏类型:

横版飞行射击

游戏主题:

东方+喵窝

游戏作者:

17windy

游戏版本:

先行0.9版

已知问题:

分辨率自适应脚本存在问题,切换分辨率数字标示不明确

游戏UI还很简陋,将在未来继续完善

虽然经过了大量的优化工作,部分战斗仍存在少量掉帧问题…

语言本地化未完工(道具部分多语言问题很大),目前暂以中文文本为主

部分场景载入速度较慢

首发网站:

17.works


感谢释萝对于黑洞背景和美羽人物形象设计的付出。

该版本游戏不用于任何商业目的,欢迎下载试玩,可在不修改游戏安装包并注明作者的情况下随意转载。


先行版目前暂时只提供windows版,还望谅解。

下载链接:

0.91版

下载 Miu DB V0.91
点击次数: 82, 文件大小: 233.9 MB, 日期: 2018 10月 02

0.9版

下载 Miu DB V0.9
点击次数: 63, 文件大小: 240.4 MB, 日期: 2018 10月 01

百度云分流:

0.91版 链接:https://pan.baidu.com/s/1cnWUV-QuDKuZ2rfO9QKtyA 提取码:8dmk

0.9版 链接:https://pan.baidu.com/s/1v2UfCHoyUyoct5AmZfofVA 提取码:0zx7

via these people and places