2020-07
9

状况连连

By xrspook @ 10:35:47 归类于: 烂日记

你永远都不知道纠结的路上会出什么状况。一路平坦不好玩,5分钟就能所有问题,那是无聊的节奏。老blog的重新上线是我近段时间一直在纠结的东西。要做的事情很多,应该如何开展?做这些事的步骤应该是怎样的?谁轻谁重?

首先我做的是处理blog的核心——内容。文字我是有的,我有大把大把,但里面也有非常多连我自己都说不上到底是什么的东西。有可能长文被阉割了,但我自己毫不知情,有可能是消息从其它网站上复制粘贴过来了,带入了一些我根本没有意识到的乱七八糟代码,不同网站连换行都不一样。有些是“br”,有些是“br/”,有些是“br /”,有些是“BR”,有些是“BR/”,仅仅是“b,r,/,空格”的排列组合就有多得你想不出的效果。如果这在HTML里,都不是问题,但我做静态blog的第一步是从html到markdown,该死的“strong”在html2text的脚本里是不允许期间有换行的,在这个脚本里,连续两个br就能自动匹配正路的p,但如果遇到稀奇古怪的“/”和空格呢?在我的python转码脚本里,我用了很多行去处理那些排列组合的问题,正则的、非正则的替换用了好多遍,所以脚本运行速度只可能在我一次又一次的增加新规则之后变得越来越慢。理论上,这些东西都是不存在,但事实就是这么残忍。除了html的问题,还有yaml以及文件名字符要求的问题。转义字符出现就丑陋了。丑陋归丑陋,字符不对,那是直接编译不出来的节奏。出状况这种事简直不计其数。我也不知道自己到底改了多少个版本,理论上脚本修改这种事我应该放在坚果云文件夹里进行,但因为我生成数据的文件夹和我的脚本文件夹一致,显然那就太消耗同步流量了,所以我大胆地把脚本放在了坚果云以外修改,那是一个错手就没得救的玩命。其实我完全可以把输出的文件夹设置在坚果云以外的地方,但我就是没有这么干。要把BlogBus和点点的数据匹配为WordPress的格式,然后再用WordPress格式的数据转化为markdown。为什么我要有WordPress这个步骤呢?起码但我学会了XML到另一个XML的规律后,不静态blog的时候我还能退回WordPress,虽然那意味着我导入数据的时间将是个天文数字。没经历过这些纠结,我就不会深切体会到好好码字,不要不规范乱写的重要性。从前,尤其是一开始在BlogBus写blog的时候,我总把网上看到的东西直接复制到编辑器里,这样过于简单的操作让我付出了非常多整理的代价。后来的点点几乎没有这种问题,现在我更加是极少会直接复制粘贴网上的东西到我的blog里发布,即便有时会截取一段,基本上都是保证无格式纯文本的。现在我知道了,但当时我不知道,成长是需要付出代价的。我仅仅是在处理自己的东西,所有坑都是我从前挖下的。如果我是被迫要帮别人擦屁股,估计我早就把那个人诅咒死几万年了。

内容基本确定下来后,一开始我觉得应该不会太难的静态blog主题原来也不好找。首先是样式得对上眼,其次是渲染速度要快。有些主题连单机渲染都会让我的电脑崩溃掉,连测试都无能,真的是什么都不用说了。我几乎得出一个结论,如果某个主题大于5MB,基本上无需考虑了,那些10MB左右的,更加会让我电脑宕机。不是人人都会遇到这种事,宕机与否的测试基于我需要渲染的文章有接近3900篇,不是人人都有这样的体量,这还是建立在我已经放弃了6100多篇图片内容已经失效,光文字意义不大的文章上。

内容好了,主题好了,还得考虑把网站托管在哪里。要免费,要速度快,要可以绑域名,要服务器稳定。对一个女人,对一个习惯于货比三家的人,这实在又是一个大纠结啊啊啊。

2020-03
14

回忆曾经的BlogBus

By xrspook @ 13:53:01 归类于: 烂日记

用现在的眼光去审视从前的模板,我觉得连逻辑都出现错误了。还记得当年我选用BlogBus作为我的第1个blog,是因为他们相对于其它BSP来说非常自由,可编辑空间相对大。如果你足够厉害,你甚至可以写出你个人风格的网站,但是这样一来的话,对于新手来说就可能会变成白屏,又或者会满屏的错误代码,为了保证这种事不发生,所以实际上你是没办法弄到白屏的。现在让我回想起,那个时候到底是怎样的,我已经记得不大清楚了,现在也没办法把BlogBus找来研究一番,因为他们已经消失了。BSP消失了,意味着住在上面千千万万的人也被迫消失了。我认识blog,大概首先是从Blogger开始的,然后我知道了有些人会买个域名,然后把Blogger挂在自己的域名上面。昨天我突然有了个想法,要把从前我blog上的其它blog的文章也转为WordPress,分配一个子域名,挂在自己的服务器上。在BSP挂之前,我已经把自己所有日志都倒出来了。放在哪里,一下子我说不出来,但肯定能重新挖出来。前天,我翻出自己在WordPress上面的导出数据,是个XML文件。也就是说,上面只有数据,全部都是文字,又或者说是符号。除了我的东西以外就是一些标记我的东西到底是什么类别的标签。从开始用BlogBus,我就很注意过一段时间就备份一下,所以当我要离开,当我不在那里更新的时候,我当然要把自己的东西完整再备份回来。数据是可以备份的,但图片就不是那么回事了。BlogBus上面的空间很小,又或者你可以说没有空间。在那里写日志的日子,图片我几乎都是用外联的,是相对于BlogBus来说,那些外联图片死的更早。我已经不记得自己用过多少外联图片了,但可以肯定的是,他们挂了一批又一批。有些挂了是无声无息的,有些挂了会告诉你,请你把图片先备份下来。连yahoo.com.cn的邮箱都可以挂,我不觉得这个世界还有什么是不会挂的,但据说yahoo.com的邮箱还能用。

回到BlogBus的话题上。在我开始转用WordPress,我才明白到,实际上BlogBus上可控的东西很少,重要的核心部件,他们封装起来。你顶多只能用css去给那些核心部件化妆一下。当年我最喜欢干的事就是过一段时间就换一下背景图片。当我看到漂亮的壁纸,我就会换一个背景。还记得当年我花了好多时间去研究怎么才可以让文章显示在半透明的板块上,这样就能看到漂亮的背景。的确,用PNG图片就能做。但问题是那个滤镜在某些浏览器之下完全行不通。所以要看到后面漂亮的壁纸,我又要文章展示在磨砂的板块上,我只能在原始的壁纸上自己PS一层半透的图层,大小要刚刚和我的网站尺寸完全一致。浏览器的大小,网站展示的大小是完全不一样的事,就更不用说不同浏览器解释出来的东西经常差非常远。我在网站上放过漂亮的壁纸背景,在版头上放过flash,在主页里放过音乐,也曾经把鼠标图标换成别的……现在回想起来,那些都是些花俏的事,的确很好玩。但实际上,只是停留在好玩的层面上,玩一玩也就厌倦了。

随着自己积累出来的日志越来越多,我越发明白到自己blog的核心价值到底在哪里。如果一个blog只存在了几天,几周或者几个月。那只是玩玩而已,但如果过了几年,仍然活着。我会觉得,这肯定有意思。如果像我这样,居然活了十几年,而且每天都不间断。这简直就是神仙级的存在!人生没有多少个十几年。开始的时候我是个少年,现在,我仍然觉得自己是个少年,不过,经历过很多而已。

2019-05
6

潜心写代码

By xrspook @ 17:41:34 归类于: 烂日记

昨晚我本可以很闲,留出一大堆时间来做运动,但实际上我却耗在了办公室,坐在电脑前写Excel VBA代码。我也搞不懂这种选择对我来说到底是因为我懒不想动,还是因为我觉得在检查过后或者之前我总是很有冲动做这些需要思考的事比如说写代码。这种时候我的激情会特别澎湃,可能是因为紧张,也可能是因为放松。这种时候我更容易集中精神专注在一件事上面,而且因为在做紧绷的神经以外的事,所以对我来说那是另外一种放松,虽然实际上写代码这种事对我来说一点都不轻松。

上个星期我写了能够进行分仓汇总的代码,那个代码是汇总,会自动汇总工作簿里面除了文件名含有“总”字的工作表的某些特定区域。而昨晚我写的那个代码是加一个选择项,只汇总我指定的含有某些关键字的数据。因为我需要汇总的是账本,所以这里我选择的关键字是月份,而因为我做的那些账本只在月末有数据,所以我只需要指定月份就可以了。理论上在之前的代码的基础上,我应该不需要费太大的劲,但昨晚我却又耗掉了一个晚上大概两个小时多的时间。一开始是构思应该在哪里加循环、在哪里加判断,但当我把代码组合好以后却发现我没办法让某个单元格里的值与我的目标值以我设想的方式对比。首先是获取单元格的值我没有写好。当我把那个写好以后却发现从人的角度考虑,那两个东西已经是相等的,但是程序却判断那是两种不一样的东西。原因在于我用作比较的那个东西是用InputBox录入的,而如果不以方法的形式使用InputBox,InputBox获取到的东西是字符串,但我单元格里的却是一个数字,用数字跟字符串比较,虽然看上去一样,但实际上是两回事。如果不是在VBA里用逐行调试,我不会发现这个问题。同一个数字,有双引号跟没双引号是不一样的。所以后来我在录入数据后,在把单元格的值跟录入作比较的时候我进行了一个格式转换,把字符串转为数字。进行了这些操作以后,我终于达到了我想要的效果,我不确定这么干运行时间一定会比我汇总全部的更快。虽然最终汇总出来的东西肯定短很多,但是理论上要进行比较筛选更复杂。

在自动汇总了多个工作表的数据以后,实际上我还得手动用数据透视表对汇总出来的数据进行处理。通常来说处理方式是恒定的,但也不排除会有一些特殊情况。既然数据透视表能生成某些效果,我觉得如果在VBA上更进一步我可以直接生成一个直接就是我目标汇总形式的数据。但话说回来,这种方式虽然一步就位,但是在查错方面反倒不如数据透视表爽快。因为数据透视表除了能展示合并数据以外双击单元格你还能看到详细的源数据,但如果我一步就位显然就做不到这个了。又或者我可以在VBA程序里加入一个生成目标格式数据透视表的过程,这样估计就能两全其美。

数据的分与合当我能把握的很好的时候,我就再也不怕什么智能化系统几万年都上不了线,即便上线了也是满屏的傻瓜bug了。

2015-09
3

进军ass特效

By xrspook @ 17:58:17 归类于: 烂日记

有什么不是斗智斗勇的?!!!!!!!

昨晚我过了凌晨12点才睡觉,为什么?因为半夜才开始压片,却发现MeGUI运行出错。一次一次又一次,到压制的时候才发现N多问题,到要做avs的时候才知道自己已经完全忘记怎么做,挖出2013年做Tales of Masked Men的avs参考,总算过了avs那关,但视频分辨率大小呢?分辨率要什么比例呢?要不要黑边呢?黑边怎么分配呢?字幕要用什么字体呢?字幕字体大小要多少呢?字幕的颜色要怎么整呢?默认的字幕设置肯定会让某些地方囧,我要怎么定位呢?很傻很天真,我觉得我做这个之前已经懂了很多,但实际上我什么都没考虑到位!

经过粗调和精校的srt时间轴只是第一步,只是最基础的,从srt到ass,情况就像从txt变成doc,最终我要做的不是doc而是mobi啊亲!txt的只是内容,doc的是格式,转化为mobi需要工具。我用SE和AE整出了txt,然后得通过认真学习AE特效制作和播放器各种试看(Potplayer,完美解码,射手播放器)完成doc的格式,射手反应慢,完美解码不知为何不懂得mkv外挂字幕,Potplayer不会读avs。用记事本打开ass,修改,保存,然后把视频拉进播放器,试看。再修改再保存再拉进去。即便用的是web的安全色,实际上播放器也可能识别不出来,在PhotoShop里选好的颜色,用在字幕上,播放器出来的效果完全不是那回事…… 颜色让我抓狂,字型让我抓狂,字体大小也让我抓狂。之前我试图学习一套“标准”模式,但那些都是各大字幕组的独门武功秘籍。我大概知道自己要的是什么,因为没经验,所以只能不断地尝试,直到我觉得靠谱满意为止。昨晚很傻很天真,因为今天我又足足用了1个下午(超过4小时)的时间才终于摸索出了一个最终效果。整出了第一个,往后的就好办多了(有了套路,往后只是套用而已),我懂的,但要整出第一个,对我这种力求完美的人来说太不容易了。

不同的视频分辨率即便设置同样的字号在上面的效果也会完全不同。纠结到底用什么比例的大小折腾了我半天。最终我确定把字幕压到MV画面中(视频的大小是720*320)。在电影原片里插入黑边,用16:9,即720*405,也就是说有85的黑边。85不能除以2,我又纠结了一番,我用了很长时间去测试黑边完全放在下边,但还是觉得黑边太宽我的字幕在下面垂直居中看字幕的会有点困难,最终我用了20+65的设置,20上黑边,65下黑边。之所以要设定为16:9是因为主流的各种智能设备就是这个比例的,如果小于这个数视频在智能设备上播左右会出现黑边,那时候就上下左右都黑边,效果就像明明的好视频却被无端端缩小播放了一般。16:9的设置基本可以确保在主流上播放只会上下有黑边。至于上面多一点还是下面多一点,我真的无能了。20+65纯粹是为了下面黑边的空间能放得下我全部的字幕(最多2行。设置底端边距让一行的时候字幕在黑边里垂直居中,两行的时候绝对定位让两行字幕也继续垂直居中),仅此而已。印坛压制的视频尤其是老电影各种形式都有,各种比例都有,有的字幕压在画面里,有的压在黑边里,有的部分在视频部分在黑边,有的上下黑边均高,有的上面没有黑边黑边全部在下面,有的字幕在黑边里垂直居中,有的字幕在黑边里靠上边缘…… 完全没有套路可言,很让人崩溃有木有!!!!!!!

今天我花了很多时间在黑边这个问题上,我也花了很多时间在字幕的配色上。直到今天下午,我才明白为什么有边框的字幕边框一定得用深色!今天我也懂得了ass代码里为什么控制颜色要在H后面加8位数,因为通常6位16进制的代码就能表示所有颜色了,6位代码之前的另外2位16进制代码原来是用来控制透明度的啊亲!!!!!!!我是格式控,我也是代码控,所以今天学的ass我既熟悉又陌生,既痛苦也兴奋。

不逼迫自己就不能成长起来,不成长起来就没办法成为靠谱、有担当、让人安心的好骚年。

PS:写这篇东西之前,终于整出了《爱在旅途》11个MV的其中一个,优酷把我的视频转码搞成渣了,泪奔~~~

归档:2015-09-03 小E。

2015-09-03_stamp01

2015-09-03_stamp02

2015-09-03_stamp03

2015-09-03_stamp04

2012-07
15

未知的错误让我累了

By xrspook @ 19:20:13 归类于: 烂日记

在研究模板的路上,第一次我对点点感到累了。

我已经开足马力去尝试了,但那些封装好的,却没有说明文档的模块让我摸不着头脑。如果可以不用模块我不会用模块的,我不是一个喜欢走捷径的人,除非非如此不可。模块是一种进步也是一种束缚。第二个就是错误之后反馈出来的信息,这个很重要,但就给你一句“系统内部错误”或者“渲染失败”完全没有进一步为什么,在哪里出错的信息,这叫我如何是好?这让人非常头痛,大概我已经喜欢了php的巨细吧,顺藤摸瓜即便不知道自己为什么会错,但起码会知道自己错在哪里。但点点的这个笼统的信息反馈,让人无可奈何。笼统的信息反馈就意味着用户大事小事都要找工作人员解决,降低了双方的工作效率。

关于标签墙的研究,今天我算是知道了一些。我的模板里用到了2个return,一个是为404和空白页面准备的,那个包含return的函数纯粹就只有XHTML + CSS。这个完全没有问题。一个是为自定义视图tags准备的,这个包含return的函数里面有一个循环,因为这里要调取的是所有我可以读取整个blog的热门标签。但问题来了,根据网页的布局,标签墙应该处于文章的正文处,而网页的头部有标题、描述以及导航,而其中呢,导航栏里就有以循环输出的所有自定义页面链接。也就是说,在第二个循环之前,已经有一个循环了。这么搞的话,自定义视图tags会报出“系统内部错误”。两个循环是互不相干的,都是全局的函数,没有调用和引用,为啥会“系统内部错误”呢?没搞懂。你或许会问,或许不是两个循环的问题呢,但我可以确切告诉你,必须只能是那个问题了,因为只要删掉第一个循环,神马事都木有。点点的工作人员之前提醒我说不要把有return的东西放在网页中间,应该直接放在网页头部,免得影响其它,但无论我放到哪里,只要是有在主体函数之前用循环构建过这样那样的基本框架都会出问题。这是让人很无语的。从语法上说,从道理上说这没有冲突,但谁知道这是不是点点内部的bug呢?因为到现在为止,理论上tags的自定义页面可以不加函数获取信息,实际上还是必须加上limit限制的,否则获取的信息就是0。

YOU CAN’T RUN, YOU CAN’T HIDE, YOU HAVE TO KNOW HOW TO FACE.

就在我写完这篇blog之后,拉肚子回来,在if (dian.data.pages.length > 0 )里面加上了一句“if (dian.data.pages && dian.data.pages.length > 0 )”问题解决了,搞定的意思是再也没有“系统内部错误”,网页能正常显示了,但第一个循环的pages链接都自动消失了。为什么???所以,我真的搞不懂这个定义视图。缺少的东西难道我要手动补回去?给那个pages链接们做一个人肉的hack?

好吧,这又给我上了一课,return不是恶魔,点点的各种判断才是纠结点。

© 2004 - 2024 我的天 | Theme by xrspook | Power by WordPress