Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Aw, that's not what I hoped it would be. An actual file-based calendar UI is a neat idea, where you can (for instance) echo into a file to create a calendar event on the command line.


There's a standard file type for this already: https://en.wikipedia.org/wiki/ICalendar

It would be cool to see a filesystem layer present a tree of ICS files where editing one also updated your various API-based web calendars.


Get close by mounting your CalDAV server directory with the usual WebDAV tooling.


That's what I hoped this would be!


Not sure I hoped, but from the title I expected.

I don't have more than 10 entries per week. Partly because I prefer real work over meetings, so I work at a place that does not have a lot of meetings. And once you don't have many, it's easier to remember other appointments, no need to use a calendar for everything. So even if this had been a useful mapping of calendar entries into a directory tree, I would not have felt an urge to use it.


This is completely me talking out my but:

Could one use the txtai python libe to be told to train on the temporal relationships between events that pass through it as an fastAPI endpoint to a calender... then as the events head to whatever is holding them in the calendar - txtai is training and indexing, first on temporal notes, then on context. so you ould easly as it to give you a

"Show all the social events that happen on wednesdays with a dress code"

(but it learns the nature of certain events, when they occur and social clues around what /who /wheres are typically occuring...

"This venue typically holds events on W F S and the clientelle is typicalaly this, attendance that, rsvps x, cost ~$$"


Same here. I think that would be a terrific idea.

$ cat /cal/2024/08/04/events


Good tab expansion in a very virtual filesystem would work wonders:

    $ cat /cal/nexttues<TAB>
    $ cat /cal/2024/08/13/

    $ cat /cal/nextweek<TAB>
    $ cat /cal/2024/w32/
I seem to recall that I had lunch with somebody last July:

    $ grep -ir somebody /cal/2023/07/
    /cal/2023/07/12/events:13:00-14:00 Lunch with somebody


the most amazing feature of the Google calendar web UI that has since been dropped was a way to schedule events with a human message - "30 meeting with Bob next Tuesday at 10", rather than clicking a bunch of buttons in a UI.


I remember that! I think they have just collapsed to handling what most people try, evidently '[time] description'.

A couple of weeks ago I was surprised and annoyed that adding an event with description "10:30-11:00 Pointless Meeting" no longer scheduled my Pointless Meeting. Tried again very carefully. Wasn't working. Worked again the next day. Did anyone else experience this?

I can't wait for them to feed my description to an LLM to generate the event. "Schedule drinks at 7 at the bar behind the office next Tuesday. Invite my favourite colleagues and their teammates. Make them curious but not suspicious."


Try Mac/iOS calendar - it has allowed to do just that for ages.


Not sure I follow, but how is this more convenient than pressing the UI buttons? Genuinely curious.


Maybe the UI was slow? Then this has the same advantage of speed that CLIs tend to have over graphical interfaces.


Well in a CLI you're not writing full English sentences. You don't say "make a directory called xyz in the current directory," you're saying "mkdir xyz". I'd rather just use a GUI than type out a full natural-language sentence.


You do you. Dozens of people do prefer text-based over the context-switching involved in reaching for pointer interface and clicking that button.


Todoist as well. Plus every second tue of the month for 4 months, and queries like that.


With Google Assistant you can still do this, but you need to speak it, with the prefix "Add calendar event..."(well, Google Assistant on the phone also accepts keyboard input). I find it much faster than the button clicking.


Similarly in iOS there's some surprising: "Move my 3pm meeting from today to tomorrow 10am", and a clutch tip: "Hey Siri, Delete All My Alarms", b/c there's no UI to delete and confirm the 100 alarms that accrue of "7:00am, 7:05am, 7:07am, 7:15am, ...etc..." ;-)


Not this exactly, but I used to keep a calendar as a text file, where each day was a single line containing the date, week day and possibly some events.

Something like:

    4h sun: 1500 dentist's appointment, 1800 dinner with friends
Where a=jan, b=feb, c=marc, ... l=dec.

The initial file was autogenerated with a 10-line Python script.

You can have variations on this, like allowing multiple rows per day, one row per event.

I also used to keep an unstructured "journal.txt" file, where notes were separated by two blank lines, and you could reference topics (like #toRead) and dates (like #4h24) with #, like social media hashtags.


If I gzip my meetings, will they get shorter? If so, I'm on board.


This is going to be my new, and probably overused phrase: "Can we gzip this meeting, I've shit to do"!


I think you mean

  $ ls /cal/2024/08/04
Or perhaps

  $ cat /cal/2024/08/04/*
;)


I was thinking about this and came to the conclusion that I'd want to define some events per date, like you illustrated (`"12:30 dentist" > /cal/2024/08/04`), but others I'd like to define per event, like `2024-08-23 12:30 > /cal/massage`, which seemed messy. I didn't really resolve this question for myself.


Why not enable both modes? It's a virtual filesystem after all. You don't need a single path per event.


I wasn't considering making it a virtual filesystem. My main goal was something that's editable with any text editor and syncable with SyncThing. I guess denormalization doesn't necessarily mean that these requirements are not met.


This would be fantastic and very in line with Unix philosophy.


More Plan9 but yeah, I was thinking the same thing.


So the question begs: how hard would this be to write.

Because I want it!


This is essentially just CalDAV[1], no? So a FUSE CalDAV client. Surely not that difficult in Go, Rust or something similar with ready libraries.

[1]: https://en.wikipedia.org/wiki/CalDAV


> This is essentially just CalDAV[1], no?

I reckon, yeah.

From this article[1] writing a FUSE filesystem doesn't look that hard.

I might give it a go this weekend. Assuming I remember!

[1] https://blog.trieoflogs.com/2021-05-25-fuse-filesystem-go/


Will all users on the system have to share the same calendar?


I don't see where it's remotely useful, the idea sounds fun but it's not praticle.

Explain how it is better vs having a simple cli that parse args and store that into SQLite.


The point of such fake filesystems (like /proc or /sys) is that everyone immediately understands them. Yes, you could have a syscall for /proc, but it is more complicated.


Understand how? You still need to understand the path layout, something is still parsing that path so it needs to be valid.


discoverability - but then proc is not the best example for that - a lot of proc seems to be inpenetrable without documentation

access - for discovery and poking around you won't need a dedicated tool, just `cat` or `less` or `vim`


Explain how it's worse than what's in OP. Look, sometimes you just want to see a fun idea turn into reality, right?




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

Search: