搭建个人工具箱

本文讲一下如何搭建一个私人的工具箱,来更好的帮助工作和生活。

什么是工具箱

顾名思义,工具箱就是一系列工具的合集,类似古代医生的药箱,通常手艺人、匠人这类的人都有这样一个箱子,里面是各种问题、场景的解决方案。

为什么要有工具箱

有了工具箱,再碰到类似的问题、场景,便可以直接从工具箱中取出合适的工具直接解决,而不是从头开始再做一个能解决这个问题的工具,比如现在要钉一个钉子:

没有工具箱:先用木头、铁器做成一个锤子,然后去敲钉子,

有了工具箱:直接取出锤子敲钉子

因为需要提高效率,所以需要工具箱。

怎么搭建工具箱

不同职业工具箱内容肯定是不同的,但是内容虽然不一样,操作的方法却是一样的——道虽不同,其理一也。

代码工具箱

这个里面主要是放一些常用的代码片段,时常用的时候不用每次都去google,自己工具箱里的工具比临时去google 更加可靠和高效,比如 Python 常用的文件结构:

#!/usr/bin/env python

# -*- coding: utf-8 -*-

import os

if __name__ == "__main__":

# TODO

python的时间转换:

# datetime 转成时间戳

#字符串转成 datetime, 2015-08-28 16:43:37.283000

d = datetime.datetime.strptime(strValue, "%Y-%m-%d %H:%M:%S.%f")

t = d.timetuple()

timeStamp = int(time.mktime(t)) # 秒

等等各种常用的片段,给个示范的不完整截图:

代码工具箱的目录组织,可以如下:

$ tree -L 2

.

├── cpp

│ └── readme-cpp.md

├── java

│ └── readme-java.md

├── kindle

│ └── kindle_notes_export.py

├── latex

│ └── readme-latex.md

├── python

│ ├── mysql_util.py

│ └── readme-python.md

├── ss

│ └── main_ss.py

└── thinking

├── images

└── thinking-model.md

私人Google

在如今这个信息纷繁复杂的时代,信息可以分成几个类型:

外网公开可搜索的,比如google、百度一搜就能有的;

付费类知识,比如:得到、极客时间等平台付费课程

平台类信息:比如微信公众号,在外网搜不到;

自己的产出、笔记等等;

要想同时搜索到这些类型的信息,没有任何一个现有平台可以做到,所以我们需要搭建自己的私人搜索引擎,同时也是我们的外部大脑。这样的工具需要满足下面的条件:

输入方便:导入、剪藏网页等

输出方便:搜索能力

额外的非必须的加分项:

格式好

编辑功能强大

根据我多年(超过5年)的使用各种软件的结论,很多软件额外加分项做的很好,可惜的是上面必须的核心功能却远远不够,最终我长期使用的是:Evernote,做私人Google 是非常优秀的,和这个软件的定位合适相符的。

当然,工具各有喜好,只要能达到自己的目的就好,我这两天在Telegram 上发起过一个投票,看看大家都偏向于哪个工具,这里把结果发出来,给大家参考,自行选择:

关于Evernote的组织形式,给一个我的参考:

我稍微了研究了一下Evernote,对于电脑端:基本笔记本、层级这类信息是放在sqlite 中,笔记内容是放在内置的一个es之类的搜索引擎里面,所以在离线时也能做到完美搜索。猜测服务器那边也多半是mysql+es+redis这种架构,同时加了一些机器学习、OCR的功能。知道了它的原理,用起来会更加放心。

一些好用的软件

Google calendar+Google keep:用来做日程规划、GTD、TODO list。有明确时间点的就在放入google calendar中,没有明确时间的放入google keep 中,简单实用,比面试上各种眼花缭乱的GTD、TODO 工具好了无数倍。而且这两个工具都在Google的 Gsuit 中,所以也不用担心被Google砍掉。

Typora:一款很优秀的markdown 写作工具;

这里讲一个复杂的使用场景:我经常用typora 写了东西,想放到evernote中,这样可以方便搜索,但是又想保持在Typora 中优秀的样式。如果直接导出html,然后复制到Evernote,样式还是会变化走样,导出PDF放入Evernote是附件形式,不够直接。

所以,完美却有点复杂的方法是:

导出html格式文件

启动nginx,本地搞个web服务器

将第一步的网页放入nginx中,使得能够访问

浏览器访问网页,然后使用浏览器的Evernote的剪藏插件保存这个网页

通过这样的方式就可以做到完美格式存入Evernote。

Show Disqus Comments