
Security News
vlt Launches "reproduce": A New Tool Challenging the Limits of Package Provenance
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
A powerful CLI designed to help you schedule and organize reminders efficiently and effectively. Easily manage your To Do list, schedule one-time or recurring reminders, add notes, and view and manage upcoming reminders, all from the comfort of your terminal.
RemindMail offers a variety of features to enhance your productivity:
zsh
or bash
python3
remind.md
path and other important variables pip install remindmail
# adjust path accordingly
pip install -r requirements.md
cabinet --configure # see below for instructions
curl -s https://api.github.com/repos/tylerjwoodfin/remindmail/releases/latest \
| grep "browser_download_url" \
| cut -d '"' -f 4 \
| xargs curl -L -o remindmail.pex
sudo mv remindmail.pex /usr/local/bin/remind
remind -m cabinet --config
cabinet is installed as a dependency.
initialize using cabinet --configure
; see cabinet's README for details.
add the properties below using cabinet -e
:
{
"remindmail": {
"mongodb_enabled": true, # optional if using mongodb - default false
"path": {
"file": "/path/to/remind.md"
}
},
"email": {
"from": "YourUniqueAndNonGmailEmailAddress",
"from_pw": "YourPassword",
"from_name": "Your Name",
"to": "RemindersSentToThisEmailAddress",
"smtp_server": "your domain's smtp server",
"imap_server": "your domain's imap server",
"port": 465
}
}
Gmail will not work due to their security restrictions.
it's very bad practice to store your password in plaintext; take appropriate precautions.
mongodb_enabled
is set to true
.~/.config/cabinet/config.json
- see https://www.github.com/tyjerwoodfin/cabinet for configuration instructions.type "crontab -e" in the terminal and add something like:
0 4 * * * remind --generate
(sends matching reminders at 4AM)0 4 * * * remind --later
(sends emails scheduled for later)your setup may require remind
to be replaced with something like:
0 4 * * * python3 /path/to/site-packages/remind/remind.py --generate
this function requires use of SMTP; please ensure you've configured this correctly.
remind
: Schedule a new reminder interactivelyremind --title 'reminder title' --when 'june 20'
: Schedule a new reminder programaticallyremind --title 'reminder title' --when '2024-06-20'
: Schedule a new reminder programaticallyremind --title 'reminder title' --when 'every 3 weeks'
: Schedule a new reminder programaticallyremind --title 'reminder title' --when 'friday'
: Schedule a new reminder programaticallyremind --title 'reminder title' --when friday --save
: Schedule a new reminder programatically, saves without confirmationremind --title 'reminder title' --when 'every 2 Mondays'
: Schedule a new reminder programaticallyremind --title 'reminder title' --when 'now'
: Sends an email immediatelyremind -h
(or --help
): Displays usage information.remind -g
(or --generate
): Generates all reminders scheduled for today.
--dry-run
to see what would be sent without actually sending anything.remind -g --file=/path/to/special/remind.md
will use the specified file instead of the default.remind --later
: Emails reminders that are marked with [later]
remind --st
(or --show-tomorrow
): Lists reminders in remind.md that target tomorrow's dateremind --sw
(or --show-week
): Lists reminders for the next 7 daysremind -e
(or --edit
): Opens remind.md
in your configured editorremind --list-all
: Lists all reminders in remind.md
. Useful for debugging.cabinet --config
: Configures cabinet--save
is used, a confirmation will appear.j
and k
in VI Mode) to navigate.j
or k
to enter VI mode.j
and k
navigate up and down; h
and l
navigate left and right.i
to exit VI mode.q
to cancel the reminder.remind.md
file is a simple Markdown file that contains your reminders.[tag,frequency,offset]modifier Title
Tag | Description |
---|---|
d | day |
w | week |
m | month |
YYYY-MM-DD | date |
MM-DD | date |
dom | day of month |
sun | Sunday |
mon | Monday |
tue | Tuesday |
wed | Wednesday |
thu | Thursday |
fri | Friday |
sat | Saturday |
later | for later |
offset
field to shift reminder schedules.The offset is determined by the epoch date.
1619394350
, then today is Sunday, April 25, 2021 at 11:45:50PM UTC.epochTime
/60/60/24/7.
1619394350 /60/60/24/7 ~= 2677
2677 % 3 == 1
, meaning scheduling a reminder for [W,3]
would be sent last week, but not this week (or next week or the week after).Modifier | Description |
---|---|
d | delete after sending (one-time reminder) |
c | execute title as command; do not send email |
[w,1] Laundry
- this will send each week on Sunday.
[w,2] Sheets
- This will be sent every 2 weeks on Sunday.
[m,3] Review Budget # comments will be ignored in titles
- This will be sent on the 1st of every 3 months.
[m,3,2] Change AC filter
- every 3 months, with an offset of 2
(see notes about Offset below)
[2024-05-03]d send report
- send on May 3
- This will be deleted after it's sent, as indicated by `]d`.
[09-20,1] Get a Flu Shot
This will be sent on September 20.
Anything underneath a reminder tag is considered a note and will
be sent in the body of the email.
[fri] Submit Timesheet
<b>Will be sent every Friday. Reminder notes support HTML.</b>
[fri,2] Payday!
- This will send every other Friday.
[thu,1]c ls > /home/tyler/directory.log
- Reminders ending with `]c` will be executed as commands, rather than
sent as emails.
[d,1] 40 Daily Pushups
This is sent each day.
[later] play diplomacy board game
This isn't sent, but it is saved for later and can be sent using
`remind --later`.
FAQs
Easily schedule reminders to be emailed
We found that remindmail demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt's new "reproduce" tool verifies npm packages against their source code, outperforming traditional provenance adoption in the JavaScript ecosystem.
Research
Security News
Socket researchers uncovered a malicious PyPI package exploiting Deezer’s API to enable coordinated music piracy through API abuse and C2 server control.
Research
The Socket Research Team discovered a malicious npm package, '@ton-wallet/create', stealing cryptocurrency wallet keys from developers and users in the TON ecosystem.