Skip to content

a CLI tool for tracking the number of days since you have made contact with your network.

License

Notifications You must be signed in to change notification settings

CallumBeaney/people

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

50 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

people

what is? ー This is a CLI tool for tracking the number of days since you have made contact with people.

usage
reviews
installation script on linux
manual installation
creating an alias
usage walkthrough


usage

./people  add     [person's name]
./people  check   [person's name OR substring thereof]
./people  check   all
./people  forget  [person's name]
./people  forget  all
./people  days    [number]
./people  info
./people  /* identical to 'check all' */

reviews

  • "Clearly this is made for people with ADHD."
  • "I like it a lot. If nothing else its a great guilt trip maker. I am going to go call my parents now."
  • "Seriously. I immediately installed this."
  • "I hope your tool doesn't use a time_t type, since some people here might have to back further than the UNIX Epoch. :)"
  • "useful for people who have friends/family/whatever unlike me
  • "Is there a cli tool for keeping track of how long it's been since you last used this cli tool?"

installation script for linux

If you are using a linux distribution, you can simply run this command in the program's directory:

sudo chmod +rwx install.sh;./install.sh

You might need to open new terminal window right after installation to be able to call people with its alias like e.g. people check all sans the ./.

manual installation

Download this repo using the green <>Code button above, or via the terminal:

git clone https://github.com/CallumBeaney/people  

The provided executable was compiled on an AArch64 processor. While the source code is compatible with Linux, macOS, Ubuntu, Solaris etc. running it on other operating systems may result in a bad CPU error. To fix this, simply make the program with e.g. GCC make utility like so from the root directory of this folder, and the source will be repackaged for your setup:

gcc -o people src/main.c src/helpers.c src/mainFunctions.c   

You may have to give the produced executable the appropriate R/W permissions with e.g. chmod +x path/to/people for Unix in your terminal

creating an alias

N.B. If you have used install.sh this will be done for you.

For the sake of being able to quickly check without moving to the containing folder, you can create an alias and add it to your PATH.
If using a macOS with a ZSH terminal, the process will look like this:

  1. Open a terminal and type:
nano ~/.zshrc
  1. In the file, add the following lines with the path to the executable 'people' replacing the paths below. Do not remove :$PATH from within the quotes.
export PATH="/Users/username/Applications/program_folder/people:$PATH"
alias people='/Users/username/Applications/program_folder/people'
  1. Then exit and save by ^X and submitting Y to confirm save on exit, and then reload your profile file by running:
source ~/.zshrc
  1. You can now run People like this:
% people add John Titor        
	Added John Titor to your People List
% people check John titor
	John titor - last checked 0 days ago
    Reset number of days passed to 0?
    Y/N: n

walkthrough

  1. First, add some people:
./people add Fred Durst 
    Added Fred Durst to your People List
./people add David Hume
    Added David Hume to your People List
  1. Check one of them by the exact name or by a substring:
./people check fred durst
    fred durst - last checked 0 days ago
./people check fred
    fred durst - last checked 0 days ago

Case isn't important; spelling is.
You will be prompted with an offer to reset the date associated with this name.

  1. Imagine that two months earlier 'Joanna Newsom' was added to this list:
./people check all

David Hume      - last checked  0       days ago
Fred Durst      - last checked  0       days ago
Joanna Newsom   - last checked  59      days ago  ! IMPORTANT

Again, you will be prompted with an offer to reset the dates associated with these names to 0 days.
That ! IMPORTANT is triggered when your checking interval stored in the file timespan is smaller than the elapsed days since you last checked a person.
You won't have a timespan file initially; one will be made automatically.

  1. To change that interval, run the following command with your preferred number of days before you're given a warning:
./people days 100                 
    Interval to compare dates set to: 100 days 

./people check all        
    David Hume      - last checked  0       days ago
    Fred Durst      - last checked  0       days ago
    Joanna Newsom   - last checked  59      days ago

The program will auto-sort your name list alphabetically when you do a checkall.

  1. To stop checking in on a person using their exact name:
./people forget fred durst
  1. Your namefile file would then look like below. You can add names manually; the syntax must follow the below example & there must be an empty final line in the file. If it gets corrupted, you can delete it, and when you next run an ADD command, a fresh file will be generated.
1   David Hume,29/3/2023
2   Joanna Newsom,29/1/2023
3      
  1. To forget all people in your list, just use:
./people forget all

About

a CLI tool for tracking the number of days since you have made contact with your network.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •