Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Remind – a sophisticated calendar and alarm program (skoll.ca)
78 points by thunderbong on Aug 31, 2021 | hide | past | favorite | 29 comments


I really love the policy notes:

Microsoft Policy

Remind can be made to run under Windows if you compile it with the Cygwin tools. However, I prefer you not to do that. Microsoft has in the past abused its monopoly position in an attempt to restrict free software, and currently exercises its dominant position in the business computing industry to lock its customers in. I'd prefer you to run Remind on a platform that is not controlled by Microsoft.

Apple Policy

Remind can be made to run under Mac OS X, but I prefer you not to do that. Apple is even more hostile than Microsoft to openness, using both technical and legal means to hobble what its customers and developers are allowed to do. If you are thinking of buying an Apple product, please don't. If you're unfortunate enough to already own Apple products, please consider switching to an open platform like Linux or FreeBSD that doesn't impose "1984"-like restrictions on your freedom. Tim Bray, a major Internet technology pioneer, said it best in his blog post:

The iPhone vision of the mobile Internet's future omits controversy, sex, and freedom, but includes strict limits on who can know what and who can say what. It's a sterile Disney-fied walled garden surrounded by sharp-toothed lawyers. The people who create the apps serve at the landlord's pleasure and fear his anger. I hate it.


According to this comment(https://old.reddit.com/r/commandline/comments/f62wlr/how_i_u..., it doesn't stop there, logic bombs have been inserted into the build scripts and the software itself to try and prevent usage on Windows.

It's one thing to state your personal preferences on a website, quite another to deliberately sabotage "free" software to try and enforce it.


That's not a logic bomb, that's a program's feature. The author discourages use on Windows, and the message clearly states so. An actual logic bomb would make it malware.


I'm a huge fan of remind, and have a `rem -q` display in every new terminal window I open.

remind can appear incredibly daunting given how long the documentation is, but it can slowly grow with you. If you're new to it I'd recommend starting with simple static reminders or importing external calendars to get a feel for it, and then work your way up as your needs/comfort increase.

Beyond the supporting tools mentioned in that page, there is also wyrd¹. It is an excellent curses interface for remind, that is incredibly useful as an interactive remind viewer and editor.

¹ https://packages.debian.org/stable/wyrd - Debian page with source links in sidebar, because upstream appears dead.


Can you give examples of what this offers over, say, Google calendar? That already send to work fine for me, and has the benefit of syncing between all my devices.


Frankly, if you're happy with Google Calendar just use that. They really are very different, I'd compare remind more to working with the Google Calendar API.

You get to control remind with other tools if that suits you, but you also get to do the legwork to make all those integrations work. For my use case that includes birthday reminders generated from my abook¹ data, social reminders fetched and merged from a few different online sources, exercise reminders generated from goldencheetah² data, astronomy reminders generated with scripts over heavens-above.com, and more.

I find remind fits in to that category of tools where you make your own workflow that suits you, more than a simple tool you use. I've been using it since 2008, and my initial import was a code-assisted import from org-mode. I expect a similar transition could happen at some point in the future if I find another tool that fits my needs better.

FWIW, I have syncing across my devices but I'd sound like that infamous dropbox review if I suggested my way of working was for everyone. For example I'm happy with ical imports for visualising my calendar on my phone, and using termux for editing it when I don't have access to a real computer.

¹ http://abook.sourceforge.net/

² https://www.goldencheetah.org/


There's also calcurse, it's pretty simple but works great.


I am using Remind since more than 20 years and it is the ultimate productivity tool for me.

The idea of Remind is to have every scheduled event of your life in a plain text file (or a collection of plain text files). Remind is like a markup-language for time and it supports extremely complicated rules for repeating events (like: garbage is collected on mondays every two weeks, but not if the monday is a holiday in which case the garbage is collected on the following tuesday - in any case remind me the evening before the actual day to put out the trash can). And if your scheduling demands exceed Reminds language features, you can use its internal Turing-complete API for setting up your own rules.

In my opinion there is nothing better than a plain text file for keeping scheduled events and I am obsessive with my Remind files. As a software developer, I have my text editors (VSC + Emacs) open all day and there is no faster way to write down an event than typing a line in my Remind file. I probably used more than 50 calendar tools in my life - standalone and cloud based. In many of them it was simply ridiculous how complicated it was to enter an event with reminder and repition rules: mouseclick after mouseclick, popup after popup, clicking tiny arrow-icons eleven times to set the month to November ;-)

I collect EVERY event of my life, sometimes many years in advance (for example, my Remind files contain the expiry dates of all important documents, end dates of subscriptions with their respective cancellation periods, anniversaries and such).

Next, Remind is a command line application, that allows to display the contents of the Remind files as calendars in the Terminal or export them for a given time range. The export options include different versions of plain text and HTML and whatever else the Remind community came up with. I made my own script, that utilizes the Remind CLI to produce an interactive HTML-calender with 5 different themes exactly to my specifications.

With Remind I own a consistent diary of every scheduled event of my life in the last 20 years. I never forget a birthday, miss a deadline or accidentally renew a subscription. My raw data is readable in a text file. I have full control over backups and encryption and my data will be usable even if Remind ceases to exist one day.


Why don't you like org-mode Agenda? Is it possible to integrate remind it with other software in any meaningful way, let's say with vimwiki or other knowledge base?


It looks more like someone was trying to make a statement than to write software. If this is actually useful, then the message is lost in all the attacks on Apple and Microsoft.


The author already lost me with the snarky

"(If you don't know what to do with a tar.gz file, you certainly won't know what to do with a "git repository". Move along; nothing to see here.)"

If you say that, but a paragraph later make remarks how Microsoft makes its software inaccessible, you might just be a little hypocritical.


This is why they call these “hills to die on”.

Ideologues have a useful role in society for identifying problems but most of them go down with their ships, while most of society just merges and adapts. Some people can’t (or won’t) tolerate the slow moving mediocrity that comes with the latter.


Really? It's literally a few paragraphs at the very end of the page? Did I miss something? And also, they went through the trouble of making it work for Windows and MacOS despite their beliefs. This to me says they're more interested in helping users than not.


It's not just a few paragraphs at the very end of the page, it has been deliberately hobbled on Windows and likely macOS too: https://old.reddit.com/r/commandline/comments/f62wlr/how_i_u...


If they cared about users, they wouldn't patronize them.


the last few lines are worth a read regarding the iPhone:

> The iPhone vision of the mobile Internet's future omits controversy, sex, and freedom, but includes strict limits on who can know what and who can say what. It's a sterile Disney-fied walled garden surrounded by sharp-toothed lawyers. The people who create the apps serve at the landlord's pleasure and fear his anger.


Would this necessarily be considered inaccurate?


No, but then again I can say “Hey Siri” and pretty much set any sort of reminder, alarm, and a dozen other things without needing to watch a nearly hour long video teaching me how to use a piece of software that basically sets reminders and alarms.

On my iPhone, I learned how to set an alarm and reminder by reading a single sentence that said “To set a reminder, say something like: “Hey Siri, set a reminder to buy Mabel’s Birthday cake at Joe’s Bakery next Monday at 2pm”. Not only do I get my reminder, but I also get directions to the bakery no matter where I am.

So, I’ll give the landlord some grace. He makes my life pretty easy.


> I can say “Hey Siri” and pretty much set any sort of reminder, alarm, and a dozen other things without needing to watch a nearly hour long video

I appreciate what you’re saying, but on the other hand, last time I checked Siri could only set one timer at a time.


I am pretty sure that in the real world a single timer at a time covers about 99%+ of the “timer” use cases. Besides I can set reminders to essentially act as a timer if I really wanted more than one.

But it’s certainly good to know that there is a wonderfully complex app out there with 32 years of development behind it that I can rely upon if I ever really need two timers and want to irritate a developer by running it on a platform they don’t approve of…


Perhaps not the take Apple would appreciate, but this reads like the first half of a parable about reading into, and learning about, nuance to me. It takes dramatically longer, is much harder, and there's a shortcut in the form of "Hey Google, who invented the telescope?"

Not to say the shortcut isn't useful, but practicing the long way can pay dividends - especially if the shortcut may give a not-quite-right answer [0]

[0] http://thelongnose.com/blog/2013/4/29/multiple-simultaneous-...


Point taken…and now I have about an hour more free time to go learn to play the hurly gurly.


A nice little walkthrough/tutorial of Remind: http://www.43folders.com/2005/02/24/guest-mike-harris-looks-...

for example...

Semi-Complex Tip: Date-Based Math

You can do date-based math with Remind. Going on a family vacation, and you want to remind yourself every day of how many weeks you’ve got left, and how much money you can save before then? I hadn't originally realized that Remind could do this, but David Skoll at Roaring Penguin helped me work out how Remind could work in weeks, instead of days. From there, it's a quick math problem to apply it to pounds to lose, dollars to save, and so on. These lines, for example, are in my Remind file:

fset _weeks() coerce("STRING", (trigdate()-today())/7) + plural((trigdate()-today())/7, " week") fset _dollars() coerce("STRING", (5(trigdate()-today())/7)) + plural(5((trigdate()-today())/7), " more dollar")

Then, you can simply say:

REM August 5 2005 +253 MSG You have [_weeks()] until your summer vacation.% REM August 5 2005 +253 MSG GOAL: Save [_dollars()] for summer vacation.%

Schweet, huh?


Wow, what an obnoxious attitude.


yeah : "I use words, language". Would I dare to say : "if you want to talk to me then learn my language" ? Come on...


Not to be confused with FloQast ReMind: https://floqast.com/products/floqast-remind/


I wonder why such a presumably free software extreme, Microsoft/apple hater would license under gpl2 instead of 3.


Remind was released in 1996. GPL3 was released in 2007. ;)


I use pal, what am I missing?

(Err...wow, I'm missing that "I'd prefer you don't do that" language at the bottom of the web page, I guess. But other than that)




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: