Comments (11)
from aardwolf.
Just popping into this thread to mention that I'm like 100% down to help work on event stuff. I've done events before in Rust for a telegram bot
from aardwolf.
@deutrino, thanks for the warning and reminder that time-and-date-math is a PITA, and easy to muck up. I def think that storing time as UTC and also storing the intended zone is the best practice, along with using a lib like Luxon to handle the heavy lifting of managing the domain logic of timezones.
Didn't get around to writing up stories this weekend, next weekend 🤞
from aardwolf.
@BanjoFox Is it ok if I start stubbing out some user stories as issues…?
I just want to throw out the titles for now, scoped to reasonably small pieces, like, a user can create an event, or, an organizer can change an events time… Identifying the actors and actions should help us scope out what and how to build Aardwolf a bit better than Aaaah let's implement events.
from aardwolf.
Sure go ahead :)
If you want to put anything more detailed into them we can also add a new doc to the Hackers Guide to Aardwolf
Addendum:
Would it make more sense to do separate issues, or one EVENTS.md with tick-boxes?
from aardwolf.
🤔 I think that many small issues make sense, (spawning a new github issue is cheap) and then we can link to all the issues with ticky-boxes on this issue. This will be a big rock to move.
I don't quite get the Hacker's Guide… what is its intended purpose and audience?
from aardwolf.
It is supposed to be like a one-stop-shop for finding something to work on quickly. The associated files are supposed to act as "specifications" once the particular thing has been discussed, and agreed upon. Basically it is another way to present CONTRIBUTING.md (which is probably way out-of-date at this point).
Many small issues is okay, but might get harder to manage than one milestone. I would also hate to replicate that for -every- feature/function because then it -might- become more difficult to find things quickly in the issues list. :)
Have you done many issues->one-topic before? Do you have an example that I might be able to look at to get a better feel for it?
Addendum:
Both is okay XD
from aardwolf.
Will write out small issues this weekend.
from aardwolf.
Hi folks, just wanted to save y'all some time and mention, when figuring out how to store events in the database, you almost certainly want to store the times as "intended time:" a combination of the time and time zone for when the event is to occur. Then, when displaying the event, always render it using the Olson tzinfo database with the time zone in which the event is to be displayed.
This becomes necessary for e.g. users in countries with differing definitions of daylight savings time, or for when laws about daylight savings are changed in a country with ongoing recurring events, etc. It is even relevant solely within the United States, where some areas do not observe DST; further, the EU is again toying with the idea of ending summer time, and Russia made changes in recent years.
See also: https://www.w3.org/TR/timezone/
Source: spent over a year refactoring a web calendar app due to original decision to store events in UTC. Effort cost my employer well over $100K.
from aardwolf.
Another project dealing with events is GetTogether. They are looking for help with ActivityHub mastodon/mastodon#4179 (comment)
from aardwolf.
Yeah, UTC + Timezone is both the easiest (chrono::DateTime<chrono_tz::Tz>
can't be used with Diesel, but chrono::DateTime<chrono::Utc>
can) and also the way I did it for my event bot.
from aardwolf.
Related Issues (20)
- I don't like having forkawesome dominating our repository HOT 4
- There are no uniqueness constraints in the database
- No fediverse account in ReadMe HOT 8
- Creating new user gives 404
- Runtime Problem: Illegal Instruction HOT 1
- Backend Bug - the trait `rocket::fairing::Fairing` is not implemented for `rocket_i18n::I18n` HOT 3
- [Security Issue] - Update WebPack HOT 1
- [Backend] - Explore migration to Actix-Web HOT 12
- configuration property "Log.file" not found' HOT 5
- [Documentation] - Review main README.md
- TODO: Refactor form state into trait
- 'compile_i18n!' fails with NotFound HOT 4
- Support for Decentralized Identifier
- Fix code scanning alert - this expression creates a reference which is immediately dereferenced by the compiler
- Fix code scanning alert - the following explicit lifetimes could be elided: 'b
- Backend Module API
- Frontend Module API
- Database Module API
- error[E0425]: cannot find value `assets` in this scope HOT 16
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from aardwolf.