使用maple-note管理笔记


Table of Contents

更新于2019.04

  1. blog-mode 更新为 maple-note
  2. 新建 Git 仓库 emacs-maple-note

emacs-maple-note blog-mode, 一个基于tabulated-list的emacs笔记管理插件

前言

很早之前我一直在使用blog-admin作为博客笔记的管理工具, 虽然没有用社区维护的 CodeFalling/blog-admin, 而是用我自己修改的honmaple/blog-admin, 毕竟我使用的pelican, 是一个很小众的静态博客生成工具, 为了适应pelican, 也为了适应自己平时的使用, 所以自己修改了一个版本

但最近一是闲来没事,二是blog-admin使用的是ctable,中英文对齐上有些问题(虽然早就解决了), 三是觉得blog-admin有很多我不需要的代码, 而且看到那一长串的配置。。。

(setq blog-admin-backend-type 'pelican
      blog-admin-backend-new-post-in-drafts t ;; create new post in drafts by default
      blog-admin-backend-new-post-with-same-name-dir nil ;; create …

西子遇


欲把西湖比西子
淡妆浓抹总相宜

久闻西子久成思
时至菡萏时遇迟

朝闻西子犹在天
夕至柳畔觉未眠

elasticsearch笔记


elasticsearch

安装

优化

  • 关闭swap
    swapoff -a
    # 注释 /etc/fstab swap
    sysctl -p
    
  • unlimit调整
    sysctl -w vm.max_map_count=262144
    echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
    
  • 使用ssd

重启

curl -X PUT "localhost:9200/_cluster/settings" -H 'Content-Type: application/json' -d'
{
  "persistent": {
    "cluster.routing.allocation.enable": "none"
  }
}
'
curl -X POST "localhost:9200/_flush/synced …

ansible笔记


ansible动态解析inventory

ansible调用inventory模块时总会调用一个文件或脚本来进行处理, 但我想要动态的解析inventory, 即直接传入一个字符串而不是文件, 直接调用ansible的接口来进行解析(不同格式的inventory也可以手动解析,比如yaml格式可以使用pyyaml解析,不过直接使用ansible接口会更方便一些)

但问题是ansible没有直接可供调用的接口, 不过可以直接查看ansible源码,找到相应的解析函数,封装一下即可

查找源码, 根据 InventoryManager 传递的source变量找到parse_sources这个函数

class InventoryManager(object):
    def parse_sources(self, cache=False):
        ''' iterate over inventory sources and parse each one to populate it'''

        self._setup_inventory_plugins()
        ...

然后再根据

def _setup_inventory_plugins(self):
    ''' sets up loaded inventory plugins for usage '''

    inventory_loader = PluginLoader('InventoryModule', 'ansible …

如何保持一个干净的系统


Table of Contents

由于工作需要经常会使用多种语言, 比如 python, golang, lua, javascript等, 各种语言都有自己的包管理器,像python的包管理器pip, lua的包管理器luarocks。。。

每个包管理器安装package的方式,位置都不相同,对于一个有洁癖的人来说,

ls ~/ -al

后各种各样的.something简直是场灾难, 所以保持一个干净的系统是非常必要的, 比如把相关语言的package都放到一个目录(我选择放到$HOME/repo/{language})下

请不要使用root用户,或者sudo来安装非必要的软件包

python

我的python环境是pip+virtualenv+virtualenvwrapper, pip可以有多种使用方式:

  • sudo

    sudo安装的package放到/usr/lib64/python-{verison}目录下, 这可能会与系统的包管理器所安装的python package冲突, 比如docker可以使用

    sudo pacman -S docker
    

    也可以使用

    sudo pip …

花落


风落花语风落天
花落风雨花落田

无意间想到的花落系列。。。很好听的名字

花落······雨

花落······枫

花落······雾

花落······叶

花落······雪

花落······风

花落······夜

花落······月

花落······己

。。。。

自定义helm式的ivy


n 个月前, 我曾写过 helm与ivy简单对比, 并吐嘈了ivy细节打磨不够,以至于我切换到ivy不到几天后, 又回到了helm的拥抱, 但在n个月后,本着生命不止,折腾不息的精神, “狠狠地”的折腾了一把ivy, 让ivy也能像helm一样“如丝般润滑”,适应我平时的操作

吐嘈一: counsel-find-file

我在dired中移动文件, 即使已经设置了

:map …

为pelican添加子站点功能


Table of Contents

创建翻译

babel-init:
    cd $(THEMEDIR) && pybabel extract -F babel.cfg -k lazy_gettext -o messages.pot ./ && pybabel init -i messages.pot -d translations -l en

babel-update:
    cd $(THEMEDIR) && pybabel extract -F babel.cfg -k lazy_gettext -o messages.pot ./ && pybabel update -i messages.pot -d translations

babel-compile:
    cd $(THEMEDIR) && pybabel compile -d translations

动态变量

在模板里,我有一些动态变量需要翻译,比如在分类里的 Python 需要翻译成 生活苦短,但很不幸, Babel …

看,那是屋檐


听说,抬起头可以看到屋檐
可惜,外面没下雨

听说,外面在下雨
可惜,抬起头没有屋檐

落花


落花

落花有意随流水
流水无心恋落花
久在门(人)前山间坐
静(坐)看人(世)间二月花