惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Microsoft Azure Blog
Microsoft Azure Blog
Cloudbric
Cloudbric
I
InfoQ
V
V2EX
博客园_首页
The Register - Security
The Register - Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Secure Thoughts
Vercel News
Vercel News
Forbes - Security
Forbes - Security
云风的 BLOG
云风的 BLOG
PCI Perspectives
PCI Perspectives
L
LINUX DO - 最新话题
D
DataBreaches.Net
H
Hacker News: Front Page
Application and Cybersecurity Blog
Application and Cybersecurity Blog
B
Blog RSS Feed
A
About on SuperTechFans
N
News and Events Feed by Topic
Apple Machine Learning Research
Apple Machine Learning Research
Help Net Security
Help Net Security
Attack and Defense Labs
Attack and Defense Labs
N
Netflix TechBlog - Medium
Spread Privacy
Spread Privacy
F
Full Disclosure
Recorded Future
Recorded Future
AWS News Blog
AWS News Blog
博客园 - 【当耐特】
The Cloudflare Blog
T
Threatpost
T
Tor Project blog
Google DeepMind News
Google DeepMind News
C
CXSECURITY Database RSS Feed - CXSecurity.com
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Recent Announcements
Recent Announcements
M
MIT News - Artificial intelligence
A
Arctic Wolf
C
Check Point Blog
Stack Overflow Blog
Stack Overflow Blog
T
Threat Research - Cisco Blogs
Security Archives - TechRepublic
Security Archives - TechRepublic
Hacker News - Newest:
Hacker News - Newest: "LLM"
WordPress大学
WordPress大学
Cyberwarzone
Cyberwarzone
小众软件
小众软件
C
Cyber Attacks, Cyber Crime and Cyber Security
P
Proofpoint News Feed
Security Latest
Security Latest
The Last Watchdog
The Last Watchdog

BMPI

构建自己的信息简报 2.0 我的退休计划:把无期变成有期 从情绪化交易到系统化投资 策引2025 实盘大考:当算法跑赢人性 三十五 我的AI投资助手 我的投资之路 BMPI周记008:设止损而勇试错 BMPI周记007:经济下行 BMPI周记006:时光机 BMPI周记005:直播小完结 BMPI周记004:不要做空 BMPI周记003:十年前的今天 BMPI周记002:交易之难 BMPI周记001:开始直播 对交易的思考 AI驱动开发:从Prompt到Product(直播) 策引全球投资组合:A股1号 策引全球投资组合:A股2号 策引全球投资组合:A股3号 策引全球投资组合:A股全球 策引全球投资组合:加密币1号 策引全球投资组合:加密币2号 策引全球投资组合:美股1号 策引全球投资组合:美股2号 策引全球投资组合:美股3号 策引全球投资组合:美股4号 策引全球投资组合:美股全球 全球投资开户完全指南:A股与美股篇 我的2023 全球经济中的隐形巨人 海外银行证券开户薅羊毛小记 我与ChatGPT结对编程的体验 ChatGPT背后的语言模型简史 ChatGPT应用开发小记 我的AI阅读助手 SQLite的文艺复兴 2022亏了多少 # 组合季报(2022Q4) AI降临 构建自己的信息简报 善用GitHub Real-time Web应用开发新体验 我的巨亏经历 # 组合季报(2022Q3) Google软件工程之工具篇 构建自己的杠杆 我的投资助手 Google软件工程之过程篇 Google软件工程之文化篇 交易之难 # 组合季报(2022Q2) 从技术难题中学习 编程语言是如何实现并发的之并发模型篇 疫情与战争 # 组合季报(2022Q1) 编程语言是如何实现并发的之操作系统篇 编程语言是如何实现泛型的 写在第二十五万字 走进 Web3 财富常识 复盘2021 # 组合季报(2021Q4) 分布式系统中的时间 分布式系统下的认证与授权 如何学习一门技术 K8S 云原生应用开发小记 使用 Beancount 管理家庭财务 三周年小记 # 组合月报(202109) 仓位管理是核心 # 组合月报(202108) 云端 IDE 护城河还在但城没了 # 组合月报(202107) 构建高质量的信息输入渠道 最牛指数 # 组合月报(202106) 国际化与本地化 慢慢变富 # 组合月报(202105) 失败驱动开发 加密币挖矿小记 家庭资产配置的阶段 # 组合月报(202104) OKR + GTD + Note => Logseq 我的个人项目技术栈 长期投资之难 # 组合月报(202103) 我的人生管理系统 当别人的股票基金上涨时 # 组合月报(202101) 基于Serverless实现静态博客访问统计功能 构建终身学习体系进行自我提升 我的家庭理财规划 投资的秘密 # 组合月报(202012) 零成本搭建现代博客之优化国内访问速度 我的绘图工具箱 关于银行分期贷款的坑 # 组合月报(202011) 投资交易的心理建设 # 组合月报(202010) 大跌时我们能做什么 # 组合月报(202009) 双均线交易策略 # 组合月报(202008) Serverless应用开发小记 投资理财书籍推荐 # 组合月报(202007) 200万小目标 # 组合月报(202006) 零成本搭建现代博客之加载速度优化篇 零成本搭建现代博客之订阅推送篇 我常用的浏览器插件 零成本搭建现代博客之SEO优化篇 什么是SEO 零成本搭建现代博客之搭建篇 用Markdown可以做什么 什么是互联网广告
My GTD Tool
Dawei Ma · 2020-01-15 · via BMPI

“One inch of time, one inch of gold, it is difficult to buy an inch of gold,” 1, “Time Is Money” 2, these two well-known sayings, tell everyone a truth: poor does not matter, as long as you have time. Although everyone ’s time is the same from the unit, the efficiency of unit time is very different. Ignore the factors of intelligence and external resources. Each person manages time in different ways. It is an important factor in determining time utilization.

Archimedes said, “Give me a fulcrum, I can lift the entire planet.” This is physical leverage; in futures investments, the leverage can be up to 20 times, winning the club’s tender model, and losing to the sea to work; since leverage So beautiful, is there a way to improve my time utilization and indirectly achieve the effect of time leverage? Of course, this is GTD.

What’s GTD

GTD (Getting Things Done) 3 is a time management method, which can help you systematically formulate random transactions in life into planned tasks, liberate your brain, and help you work more effectively Achieve the goals of life. Let’s first review the process of the brain in everyday work and life: “A very important thing, such as exercising requires you to choose a few days a week to exercise, which is a long-term return goal. Today was originally You need to move according to plan. Suddenly, a more urgent but insignificant event prompts you to abandon your plan and resolve it, and then there is a high probability that your plan is ruined by many urgent and unimportant things. Will this happen? Because our brains are more inclined to deal with urgent matters rather than important and non-urgent ones in evolution. This is determined by survival priority, because urgent matters may have a greater impact on life in the short term. But this has prevented many important, but urgent, long-term planning goals from being achieved. Long-term goals need to be advanced step by step according to the plan, such as reading habits, writing habits, bookkeeping habits, and acquisition of many important skills.

GTD Workflow

Several important components can be seen from the workflow diagram of GTD:

  1. Collect {Various life / learning / work affairs}-> Clear your brain
  2. Processing {Screen out effective actionable matters}-> Identification task
  3. Organize {Organize your affairs into to-dos / projects / schedules / waiting / maybe in the future}-> Set goals
  4. Check {Daily check to-do list}-> Remind yourself what to do today
  5. Action {Perform to-do tasks}-> Focus on completing tasks
  6. Review {Weekly / Monthly Review}-> Review goals from the perspective of life goals / long-term goals / short-term goals / recent goals / current tasks

“Get everything out of your head. Make a series of decisions about actions when things happen, not when they happen. Organize your project’s reminders and the next step in the right category. Action. Keep your system updated and complete, and fully checked so that you can trust your intuitive choices about what you are doing (or not doing) at all times. “4

GTD Problem

The ideal is beautiful. This theory seems to help us plan all aspects of life, but it is actually difficult to implement. 5 Although it is difficult to implement, I still tried to use GTD to form a time management habit, and made my own time management tool v1 version 6.

My GTD Tool v1

My tool set in this version:

  1. OneNote: note system, storing all kinds of materials
  2. OmniFocus: The realization of GTD, can complete 6 major links of GTD
  3. Calendar: Simple to-do list + notification

v1 problem

  1. High learning costs. It is difficult to implement OmniFocus in accordance with the GTD process, and it takes time to form a usage habit.
  2. Poor operation flexibility. Store all kinds of items in Inbox on the mobile phone side, and then convert them into project / task / to-do list. It is inefficient, and it is not flexible to operate on the computer side.
  3. High purchase cost. OmniFocus' iOS and Mac versions cost more than a thousand yuan.
  4. Poor scalability. Commercial software is impossible for you to customize functions.
  5. The data is not mine. One day, if OmniFocus’s company does not make this software, my data for several years may be gone. Data is particularly important for long-term software such as GTD, and the data format is best to be universal, not just supporting specific software.

Because of the above problems, after using my v1 for a while, OmniFocus was abandoned by me.

My GTD Tool v2

My tool set in this version:     

  1. OneNote: note system, storing all kinds of materials
  2. Memorandum: Partial implementation of GTD
  3. Calendar: Simple to-do list + notification

v2 problem

Although the memo is easy to operate on the mobile terminal, it does not have good organizational functions, filtering functions, reminder functions, and data migration. It is inconvenient especially when creating many projects, so this is destined to be a temporary transition plan.

My GTD Tool v3

This is the scheme I currently use. After going through the first two versions, I think time management tools need to have the following characteristics:

  1. Low learning costs. The operating cost cannot be too high, otherwise it will be difficult to persist for a long time. So be sure to get started soon.
  2. High flexibility. Most of the tools consider the use of the mobile phone as the main platform, but the mobile phone naturally has the problem of poor operation flexibility. The efficiency of the computer compared to the mobile phone is definitely very high. Therefore, the tool should be based on the computer operation. And reminders.
  3. Strong scalability. Need to have certain customization capabilities, tools must be open source, you can add your own features.
  4. The data is stored independently, in plain text format, and does not depend on specific tools and platforms, and is in its own hands.

v3’s tool set:

  1. VSCode + plugin (TODO ++)
  2. GitHub Calendar

First explain why this combination is? As a developer, the editor is most often used on weekdays. I chose VSCode because his ecology is better than Emacs. The startup speed is still very fast after installing many plug-ins. Plug-in development is simple. Backed by Microsoft, the software experience is very good. There just happens to be a Todo + 7 plug-in. This plug-in supports a plain text file with a todo suffix. This file is very easy to create a to-do item, supports project nesting, and uses shortcut keys to mark pending To do status, as shown below:

When I found this plug-in, after using it for a while, I found it very suitable for to-do management, but there is a problem that the plug-in window on the left does not support viewing What is being done, and I hope to see To to-dos that are marked as important but have not started. Because when I create a lot of to-do items, the priority of many items is not high, I may do it at some time in the future, these are things that I don’t care about at present. I am most concerned about what is currently being done. At the same time, I am also very concerned about the most important but not urgent things in my life goals. I must always remind me to review and do not lose important goals in urgent and unimportant things.

Because this plugin is open source, I cloned a copy and added a viewing window to view what is currently being done and important but not started, and published it as Todo++.

With this VSCode plug-in, I solved the problem of editing to-do items on the computer. This method is flexible enough. You can manage your work, study, and life in the following ways:

.
├── self
│   ├── idea.todo
│   └── inbox.todo
├── study
│   ├── book.todo
│   └── Handmade leather goods learning.todo
└── work
    ├── project_a.todo
    └── project_b.todo

Each area you focus on is managed using a todo file. Then you can split countless projects in this area. Each project can be divided into sub-projects indefinitely. Each sub-project is finally disassembled into executable tasks. Item, use shortcut keys to quickly mark the three states of this to-do item (started / done / canceled), and you can also use @critical to mark whether the task is important.

Project B_1:
    ☐ Project A_1_1 @started(19-12-17 20:45)
    ✔ Project A_1_2 @done(19-12-17 20:45)

Project B_2:
    ☐ Project A_2_1 @critical 
    ☐ Project A_2_2 @low 

When you have done this, you can immediately see in the left window of VSCode which tasks are being done and which tasks are important but have not started.

I also made a template library for todo, use this template to create my own private repository: todo_starter. After creating the clone, use VSCode and TODO ++ plugins to start using it.

After solving the operation problems on the computer side, a very important function on the mobile side is to remind, how can I receive the current work and important but not started things on the mobile phone every day?

To solve this problem, I developed a parser library for todo files: todo_parser_lib. This library can parse the todo files in the specified directory and filter out what is currently being done. The things that are important but not started yet are then rendered into an html file. With this library, we can combine the Actions 8 function provided by GitHub. Every time we push update to the repository, we can automatically use this library to render html, and then send an email to our designated mailbox to remind us. The configuration of this GitHub Actions is also placed in the template library todo_starter. You only need to provide the email address and SMTP address of the mail service provider in the warehouse settings-> secrets. The configuration is as follows:

name: schedule-email
on: 
  schedule:
    # * is a special character in YAML so you have to quote this string
    - cron:  '0 1 * * *' # Change this to your time
  push:
    branches:
      - master # Change this to your default branch
jobs:
  make-html-send-email:
    name: make-html-send-email
    runs-on: ubuntu-latest
    steps:
    - name: Checkout repository
      uses: actions/checkout@master
    - name: Set up Node.js
      uses: actions/setup-node@master
      with:
        node-version: 10.0.0
    - run: npm install -g todo-plus-parser
    - run: todo-plus-parser -i "./" -o "./out.html"
    - name: send-email
      uses: bmpi-dev/action-send-mail@master
      with:
        server_address: ${{secrets.MAIL_SMTP_SERVER}} # your send mail SMTP addr
        server_port: 465
        username: ${{secrets.MAIL_USERNAME}} # your send mail username
        password: ${{secrets.MAIL_PASSWORD}} # your send mail password
        subject: TODO++
        body: file://out.html
        to: ${{secrets.MAIL_TO}} # your receive mail
        from: ${{secrets.MAIL_FROM}} # your send mail username

I set up a scheduled task at the same time, GitHub Actions will automatically build at 9 am every day, and then send an email to remind you. Since the data is plain text, you can put it anywhere (web disk, GitHub, etc.). The final effect is as follows:

v3 pro

  1. Plain text format. It is easy to make a parser to parse this kind of yaml / python-like indentation style format, and it is also easy to edit, and can be operated with any editor. Of course, it is best to use VSCode and TODO ++ plugins, this will be more convenient.
  2. High flexibility. You can use the directory to distinguish different areas at will, and you can set up various related projects in a single file, and the projects can be split infinitely.
  3. Strong scalability. For example, if you want to extend a function, add non-important but not started to-do list viewing and reminder functions, at this time you can extend the VSCode plugin and todo_parser_lib. You can also use GitHub Actions and other pipelines to do automated task processing, combined with IFTTT can play a lot of tricks.
  4. Data is private. The data is yours, and you no longer need to rely on specific companies and platforms.
  5. Free. It’s all free, except it takes some time for you.

v3 Usage Scenarios

Imagine that every morning you receive an email reminding you of what you should do today and those things that are important to you but haven’t started yet. Always remind yourself of your important goals. When there are some new things to do, turn on your computer to add them, push them to GitHub’s cloud service, and then your phone will automatically receive a newly built to-do list email. What do you need to record when you are not at your computer? You can temporarily record it into your mobile phone memo, and when you have a computer, reorganize it into your todo file. For those events that need to be reminded at a specific time, add them directly to the calendar.

v3 Further Ideas

We have a tool for editing TODO on the computer side. It may not be good to just accept the reminder on the mobile phone side. Can we make a Bot notification based on Telegram? Can you create an app to support mobile editing? Can you make a command line tool? Of course it is possible. Now that we have made a parser, with the json data parsed by the parser, we can further do further processing based on the json data format. When I had this idea, I suddenly realized that someone must have thought of it and did it. After some searching, I finally found todotxt 9.

Although todotxt is also a txt-based time management tool, it still doesn’t match my needs, so I finally came out with v3.

Emacs ORG-MODE

When it comes to To Do, I can’t justify Emacs’s org.

Org mode is for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system.10

It can be said that Org is omnipotent. It can take notes and TODO, and can also plan projects and write documents. All of this is pure text! The only drawback may be that you need to master the ancient artifact of Emacs, and you may also need to master the ancient language elisp. These two mountains are not easy to climb and scare away a lot of people, so although the artifact is good, the cost of use has to be considered. Does not meet my requirements for low learning costs.

References


  1. From “Zeng Guang Xian Wen” ↩︎

  2. https://en.wikipedia.org/wiki/Time_Is_Money ↩︎

  3. https://gettingthingsdone.com/ ↩︎

  4. https://zh.wikipedia.org/wiki/%E5%B0%BD%E7%AE%A1%E5%8E%BB%E5%81%9A ↩︎

  5. Why is the GTD tool unsustainable for most people? ↩︎

  6. Manage your time with GTD philosophy ↩︎

  7. Todo+ ↩︎

  8. Github Actions ↩︎

  9. http://todotxt.org/ ↩︎

  10. https://orgmode.org/ ↩︎