关于时间与空间的猜想


  • 背景

    不知道从何时开始,就听过这样一个说法: 如果人类所达到的速度超越光速,那么人类将穿越时空。前些年网文电视剧可谓穿越盛行,今天我也来胡言乱语一番!

  • 胡言乱语

    光从某一点x出发,在其经过的路径范围内,有一不同于光所在空间y空间z,z的时间流速与y空间的时间流速不一样,或者说z空间的时间流速小于于y空间的流速,即z空间一天,y空间一年。

    由此就可发现,当y空间内的光从x点出发,在经过z空间范围内时,由于在z,y空间时间流速不一致,原本到达k点 (x到k的距离大于x到z空间的距离)所花费的时间为1s,但z空间的存在,需要花费0.3s才能通过z空间的范围,现在只需要远小于0.3s的时间就能通过z空间的范围。

    相对于y空间而言,原本需要花费1s才能到达k点,现在也许只需要0.8s,如果简单按照速度公式v=S/t,光速将超越299792458m/s,相对而言,y空间与z空间也会有所谓的穿越。

当然,z空间也可以看作是一个y空间里的一个介质,光速不能通过简单的线性公式算出,反正我是在胡言乱语而已

linux笔记


记录

设置临时英文环境变量

LANG="en_US.UTF-8" git branch 2> /dev/null

linux下gif播放

feh只支持静态文件,可用

animate output.gif

supervisor增加新配置不重启

supervisorctl reread …

十二月十日小记


今天真是不错的一天

今天出门,在电梯遇到一人,“小伙子,你有二十了吧”,“我今年二十X了”,“我看你不到二十的样子”,“我以为我看起来挺老的”,“怎么会。。。”

以前只是在电视新闻上看到有人直接撞到玻璃门上,其实真不怪他们,有时候玻璃门真看起来没有一样。我今天就这样直接撞上去了,说实话,还真疼

附几张今天用手机拍的照片,昨天用相机拍的raw格式暂时打不开/捂脸

python尾递归优化


参考 这里

class TailRecurseException(BaseException):
    def __init__(self, args, kwargs):
        self.args = args
        self.kwargs = kwargs


def tail_call_optimized(g):
    """
    This function decorates a function with tail call
    optimization. It does this by throwing an exception
    if it is it's own grandparent, and catching such
    exceptions to fake the tail call optimization.

    This function fails if the decorated
    function recurses in a non-tail context.
    """

    def …

使用tornado实时输出日志


import tornado
from tornado.web import Application
from tornado.web import RequestHandler
from tornado.websocket import WebSocketHandler
import os
import json

template = '''<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8"/>
    <title>Document</title>
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <script src="https://cdn.bootcss.com/jquery/2.1.4/jquery.min.js"></script>
    <script src="https://cdn.bootcss.com/bootstrap/3 …

一个很好的想法


我有这样一个想法

有这么一个app

  1. 它可以自定义表单,然后保存到本地或者远程数据库
  2. 还可以填写一个远程url,验证的token,或者其他验证需要的header信息
  3. 填好之后就可以提交相关的表单

好吧,其实是写说说,写博客使用的

它还有另外一个功能: 上传图片

  1. 同样是先填写远程url,验证信息
  2. 填写其它相关信息
  3. 选择本地图片进行上传
  4. 上传成功后返回相应的url链接

好吧,越来越像朋友圈和QQ空间了

但是,它可以自定义发布和上传的url呀!

最后,如果要更大,更远一些,可以对使用者的博客等内容进行相应的聚合,分类,成为一个优质的移动聚合平台.

嗯,好想法,就等谁实现了

为pelican增加上一篇下一篇功能


功能实现很简单, pelican也有类似的插件实现 https://github.com/getpelican/pelican-plugins/tree/master/neighbors

不过自己实现起来更爽不是吗? 而且类似prev_article_in_categoryprev_article_in_subcategory的功能我并不需要

首先参考pelican的文档,基础实现

def add_neighbors(generator):
    ....

def register():
    signals.article_generator_finalized.connect(add_neighbors)

然后在generator.articles列表上进行操作,为article增加previous_articlenext_article对象

先进行排序(按时间)

articles = generator.articles
articles.sort(key=(lambda x: x.date), reverse=True)

然后可以使用iter关键字,把列表变成生成器,使用next()( python2用a.next(),python3用a.__next__())获取下一个可迭代对象

pre_article …

时间format输出格式参考


date --help

%% 一个文字的 %
%a 当前locale 的星期名缩写(例如: 日,代表星期日)
%A 当前locale 的星期名全称 (如:星期日)
%b 当前locale 的月名缩写 (如:一,代表一月)
%B 当前locale 的月名全称 (如:一月)
%c 当前locale 的日期和时间 (如:2005年3月3日 星期四 23:05:25)
%C 世纪;比如 %Y,通常为省略当前年份的后两位数字(例如:20)
%d 按月计的日期(例如:01)
%D 按月计的日期;等于%m/%d/%y
%e 按月计的日期,添加空格,等于%_d
%F 完整日期格式,等价于 %Y-%m-%d
%g ISO-8601 …

lua中匪夷所思的table长度


s = { 1, 2, 3, 4, 5, 6 }
print(#s)     -- output: 6
s[4] = nil
print(#s)     -- output: 6
s[7] = nil
print(#s)     -- output: 3
s[4] = 4
print(#s)     -- output: 6
s[4] = nil
print(#s)     -- output: 3

print()

s = { "1", "2", "3", "4", "5", "6" }
print(#s)     -- output: 6
s["4"] = nil
print(#s)     -- output: 6
s["7"] = nil
print(#s)     -- output …