tenshin.js开发杂记 TJS与KS的未来篇

Kirikiri引擎使用了一种叫做TJS (Kirikiri TPV Javascript)的类JS语言用于引擎的逻辑,功能比早期JS稍微多上一截。TJS出来的时候还是互联网的黎明时期,也就是那个AJAX都没有的时代,自然谈不上什么JSON了。在漫长的时间中,TJS和标准JS走向了不同的方向,TJS的功能几乎停滞,而JS,或者说ECMAScript则有了自己的完整生态体系和现代化的语言标准。时至今日两者可以说除了最基本的语法甚至没什么一样的了。不过类JS语言的一大特征是可以玩JSON这点倒是保留了下来。

而KS(KAG Script)呢,则是Kirikiri的剧情脚本语言,大致相当于……Markdown?Shell脚本?所谓的DSL(领域特定语言)?那东西倒是好,写法简单,解析起来也方便,就是跑起来有点那啥。

继续阅读“tenshin.js开发杂记 TJS与KS的未来篇”

tenshin.js开发杂记 技术选型篇

天神乱漫 => lucky || !unlucky

《README.md》

最近程序写多了,突然想说点什么,干脆借着开发杂记的名号夹杂点私货算了,反正PROVIDED “AS IS”

为什么是B/S

本项目的技术栈继承自完全娱乐性质的kagura.js。为什么选择B/S架构也要追溯到那时。写那东西的时候,我本来只是想自动播放某《神乐黎明记 雷道之章》的HCG和音频什么的。我曾经考虑用Python,后来想了想,我还要大战图形界面,算了(拿C#写倒是不用怎么战图形界面,不过我当时没想到)。想了想,上JavaScript,写HTML,排版方便,UI和业务逻辑分离,于是那个项目便用了JS。然后呢,我发现JS(至少是浏览器里面的JS)的文件系统API简直要人命,在忍耐了一整个空气中弥漫着躁动气息的夜晚之后,我终于忍不住了。可是代码已经水了三百行出来了,现在换语言怕是来不及,我灵机一动,nginx目录浏览带json模式,拿来假装自己是RESTAPI挺合适,于是那项目就成了B/S架构。

继续阅读“tenshin.js开发杂记 技术选型篇”

女装对网管的加成

转载,原文在此

元旦假期终于回家了……当然还要去抢救服务器。

服务器RAID阵列爆炸,老毛病了,这次挂了几个月。插拔硬盘N次无果。

遂女装。

女装后果然迅速识别到了硬盘,虽然还是被坑了多次,但总算把数据抢救出来了。

女装好啊。你现在能看到隔壁那个站,全靠了我和 @Moycat 的女装。

一例ACPI兼容性问题引发的无法使用超线程故障

我们机房装备有一台Dell FS12-TY (Dell C2100的定制版本),使用双E5640 CPU,计12物理核心24逻辑核心,BIOS已经升级至最新。

欲安装Proxmox VE 5.0,可成功使用U盘引导至启动项选择界面,随后选择Install,报错ERST: Failed to get Error Log Address Range. 随后卡死。经查资料,系内核依赖ACPI 4而BIOS仅提供ACPI 3。解决方案是在内核启动参数中加入noacpi

后发现系统仅识别到12个CPU核心,排除CPU损坏和BIOS配置错误后,想起系统内核禁用了ACPI。经查说明书,使用超线程需要通过ACPI枚举CPU核心。因内核无ACPI,所以无法枚举核心进而使用超线程。尝试使用acpi=ht参数启动,此内核参数仅启用超线程依赖的ACPI功能,因ACPI兼容性问题再次失败。后因系统内核是定制版且服务器性能过剩,放弃进一步治疗,在12核心无超线程下运行。

附:Proxmox VE更新的版本再次添加了对该服务器ACPI的支持,超线程回来了。

随着python解释器的一阵运行,整个Photoshop都变得索然无味起来

本文是某浏览器索然无味的前篇,讲述了如何用PIL自动拼图。

前段时间搞到一把Galgame,在例行拆包之后(关于拆包,还有一点背时故事,看看好久讲嘛),我看着面前的图片碎片和Photoshop,突然有了一个大胆的想法:既然游戏引擎本身可以组装图片,那我能不能模仿游戏引擎来自动组装呢?

可以!当然可以!俗话说,Python是万能的。在一个整个空气中都弥漫着躁动气息的夜晚,我在机房对着电脑桌面无所事事,算了,发NMD呆,Steam关闭,Notepad++启动!

继续阅读“随着python解释器的一阵运行,整个Photoshop都变得索然无味起来”

随着Javascript引擎的一阵运转,整个浏览器都变得索然无味起来

论如何用浏览器跑Galgame

前段时间搞到一把Galgame,在例行拆包,自动化拼图之后(关于自动化拼图,还有一点背时故事,看看好久讲嘛),我看着面前的桌面,突然有了一个大胆的想法:既然我能够自动化读取一部分游戏逻辑来组装图片,那我能不能同时把文本和声音组装上去呢?

可以!当然可以!俗话说,凡是能用Javascript重写的程序,就必将用Javascript重写。在一个整个空气中都弥漫着躁动气息的夜晚,我在床上辗转反侧难以入眠,算了,睡NMB,起来编!

继续阅读“随着Javascript引擎的一阵运转,整个浏览器都变得索然无味起来”

[转载]此时我躺在成都某宾馆的床上

©Moycat   2015

因奇故备份之


Day -8

此时我躺在成都某宾馆的床上,等待着随时的入睡。

所谓竞赛学习,实已名存实亡,与在南充的自习并无两样。虽然,在这边,感觉似乎要好些。

这次在成都,没有半年多前的那般匆忙,倒竟比在南充还要舒爽些。只是成都没有南充的夜雨,很是干燥。

只是敌不过,还剩八天的这个事实。

不想谈自己与OI,然而忍不住。

上个学期的半年来,似乎我没有放超过一丝一毫的精力在OI中。2月培训的囫囵吞枣后,似乎彻底把我噎住了,噎了半年。我怀疑半年来我做过几道OI的题,看过几页OI的书。这并不光彩,然而为何我的雄心竟会萎缩至此?

或许是我早就隐隐觉得,OI和文化课、其他竞赛的相似点,还是有那么多。

我之所以讨厌大多数高考要考的文化课,无非是做它们的题很是烦人:如果你知道这个解题套路,那么套进去,得分;你要是不知道,任你想破头皮,做不出来。

这世界上的问题,的确很多需要经验去解决,经验——或记忆,是人类赖以存活的根基。可是在文化课的题目中,这一点被无限放大了,你就是要背住这个套路,这个题型,这个方法,否则死路一条。也许并不是如此吧,但我所在的环境处处如此,以至于我总觉得其中另有目的。

但OI不也如此吗?背下各种各样的算法,了解各种各样的题型。在STL还没被解禁的时候,一个排序算法都需要背得想吐。那时候之机械更甚,真不明白明明有STL为什么不允许用。但OI毕竟和其他科目不同,否则我早就放弃了,就像我入学短短几个月后放弃物理竞赛一样。虽然我不知道是不是我对信息技术的喜爱遮住了什么缺点。不过也无所谓了。

在被噎住半年后,我才重新拿起OI,备战NOIP——也就是这学期开始吧。从找时间练,再晚上放学留在机房练,又停课练,现在跑到成都练。能沉浸在自己喜欢的事情里,感觉真是好啊,只是这时间太短了。但我没有为过去的半年后悔,因为我知道后悔无用,而且就算再来一次,也未必会被我珍惜。

唯一令我欣慰的是,NOIP就算失败也不会是我OI的终点。还有省选,虽然希望不大。但将来到了大学,我可不想去ACM了……那时既然有了自由,我就会做自己梦想的事。

离NOIP2015还有短短几天。未来的事,又有谁能预见。

简易Web QoTD服务

简单地说,我想在我的网页上随机显示一句话,于是便顺手搞了一个这东西。之所以不用公共服务,是因为公共服务的内容无法控制——万一我想循环播放毛主席语录呢。

使用

虽然估计没人用。

API

  • 地址:https://scsfdx.org/api/qotd
  • 方法:随便
  • 参数:没有
  • 返回:纯文本形式的一行语录
  • 示例:如下
user@localhost:~$ curl https://scsfdx.org/api/qotd
千芳茉花丛雨行,恋春芦姿荡旅莹。万情何待穗织齐?花舞娜飞蕾挥尽。
user@localhost:~$

随便用,要加语录请找站长。代码什么的还没来得及收拾,好久开个Gitea或者上Github再说。

继续阅读“简易Web QoTD服务”