Commit graph

52 commits

Author SHA1 Message Date
John Ericson
1b1b1d14a7
[RFC 0124] Do not auto-close stale Nix issues and PRs, matching Nixpkgs's policy (#124)
* nix-mark-stale-issues: Copy template

* nix-mark-stale-issues: First draft

* stale-nix-no-close: Update

* stale-nix-no-close: Make the diff less normative

* nix-mark-stale-issues: Fix typo

Thanks!

Co-authored-by: Niklas Hambüchen <mail@nh2.me>

Co-authored-by: Niklas Hambüchen <mail@nh2.me>
2022-06-19 07:00:35 -04:00
tomberek
01d0c0798a
[RFC 0102] Moderation Team (#102)
Co-authored-by: David Arnold <dgx.arnold@gmail.com>
Co-authored-by: 7c6f434c <7c6f434c@mail.ru>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
2022-02-21 10:23:23 +01:00
Las Safin
331380bf93
[RFC 0097] Unset read permission bit on /nix/store for other users (#97) 2022-02-09 14:57:10 +01:00
Robert Scott
6cd3a49c9a
[RFC 0089] Collect non-source package meta attribute (#89)
Co-authored-by: asymmetric <lorenzo@mailbox.org>
2022-02-09 14:56:01 +01:00
Eelco Dolstra
b5181c9246
[RFC 0106] Nix release schedule (#106)
* Nix release schedule
* Fix link
* Update rfcs/0106-nix-release-schedule.md

Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>

* Add shepherds
* Update to reflect latest meeting

Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
2022-01-26 15:20:00 +01:00
Maximilian Bosch
5fa45c912a
[RFC 0108] NixOS Container rewrite (#108)
* Initial nixos container commit because I want to view diffs between changes

* Updates / Improvements

* Note regarding static networking

* Updates

* update

* Update.

* Update.

* Update

Thanks Linus for the proof-read :)

* Update.

Mention that nixops container backend is also affected as pointed out by
fpletz.

* fixup! wording, spelling

* Move document according to assigned RFC number

* Linkify related issues

As it's done in https://github.com/NixOS/rfcs/blob/master/rfcs/0004-replace-unicode-quotes.md

* Bind-mounting Nix state isn't strictly needed

It's sufficient to have the store-paths available.

* Wording

Co-authored-by: Kevin Cox <kevincox@kevincox.ca>

* Clarify "default mode", remove a few unnecessary implementation details

* rfc108: add shepherds

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

* Apply wording suggestions from @lheckemann

Co-authored-by: Linus Heckemann <git@sphalerite.org>

* Usage of `nsenter` to update a container's configuration is not relevant for the RFC

* Rename `config` to `system-config` to avoid ambiguities in the module system

* Explicitly talk about deprecation of current implementation

Co-authored-by: Erik Arvstedt <erik.arvstedt@gmail.com>
Co-authored-by: Kevin Cox <kevincox@kevincox.ca>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2022-01-12 15:29:54 +01:00
John Ericson
9a2f5accf0
[RFC 0092] Computed derivations (#92)
* Initial draft "ret-cont" recursive Nix

* Fix typos and finish trailing sentance

* Switch to advocating temp store rather than daemon socket

Also:

 - Allow fixed output builds (in that temp store)

 - Clean up drawbacks and alternatives.

* ret-cont-recursive-nix: Fix typo

Thanks @siddharthist!

Co-Authored-By: Ericson2314 <git@JohnEricson.me>

* ret-cont-recursive-nix: Fix typo

Thanks @Mic92

Co-Authored-By: Ericson2314 <git@JohnEricson.me>

* ret-cont-recursive-nix: Fix typo

Thanks @globin

Co-Authored-By: Ericson2314 <git@JohnEricson.me>

* ret-cont-recursive-nix: Fix typo

Thanks @siddharthist!

Co-Authored-By: Ericson2314 <git@JohnEricson.me>

* ret-cont-recursive-nix: Clean up motivation, adding examples

* ret-cont-recursive-nix: Improve syntax highlighting

* Do a lousy job formalizing the detailed design

Break off some previously inline observations into their own subsection.

* ret-cont-recursive-nix: Mention `builtins.exec` in alternatives

* ret-cont-recursive-nix: Fix typo

Thanks @Mic92!

Co-Authored-By: Ericson2314 <git@JohnEricson.me>

* ret-cont-recursive-nix: Remove dangling "$o"

The later examples with `nix-instantiate` automatically get all the outputs of the final rewritten drv, so there's no output iteration needed. `"$o"` was mistakenly copied over from the earlier examples.

Thanks to @ocharles for asking me the question that led me to this. Hopefully this change answers that?

* Update rfcs/0000-ret-cont-recursive-nix.md

Co-Authored-By: Domen Kožar <domen@enlambda.com>

* ret-cont-recursive: Fix typo

about -> out

* ret-cont: Add examples and expand future work

* ret-cont: Fix syntax error

No `let`, so don't need `in`.

* ret-cont: Mention Ninja's upcomming `dyndep` and C++ oppertunity

* ret-cont: Fix missing explicit `outputs` and `__recursive`

This was in the "wrapper" derivation example.

* ret-cont: "caching builds" -> "caching evaluation"

We already cache builds just fine, thanks!

Thanks @globin for catching

* ret-cont: Improve formalism and reference #62

* drv-build-drv: Start drafting from old ret-cont-recursive-nix RFC

* drv-buiild-drv: WIP rewrite

* plan-dynamism: Rewrite RFC yet again

* plan-dynamism: Rename file accordingly

* plan-dynanism: Fix typo

Thanks @mweinelt.

* plan-dynanism: Fix formalism slightly

* Apply suggestions from code review

Thanks!

Co-authored-by: Rosario Pulella <Rosariopulella@gmail.com>
Co-authored-by: Ninjatrappeur <NinjaTrappeur@users.noreply.github.com>

* plan-dynamism: `Buildables` -> `DerivedPathsWithHints`

Thanks @sternenseemann for catching.

* plan-dynamism: Add semantics and examples for `!` syntax

* plan-dynamism: Too many dashes in `--derivation`

* plan-dynanism: Put pupose of text hashing before name

* Apply suggestions from code review

Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>

* Apply suggestions from code review

Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>

* Apply suggestions from code review

* Update rfcs/0000-plan-dynanism.md

* plan-dynanism: Fix bad sentence

Thanks @roberth!

* plan-dynamism: Number the two parts

* plan-dynamism: Rip out part 2

There is more to do I'm sure, but I wanted to get the ball rolling.

* plan-dynamism: New motivation

* plan-dynamism: Fix typo

Thanks @L-as

* TEMP PLES AMEND

* [RFC 0092] Rename file

* [RFC 0092] Fix YAML header

* [RFC 0092] Rewrite summary

* [RFC 0092] Add link to documentation

* [RFC 0092] Rewrite example section

* [RFC 0092] Small fix

* [RFC 0092] Rewrite drawbacks and alternatives

* [RFC 0092] Improve alternatives section

* [RFC 0092] Fix syntax error

* [RFC 0092] Small change

* [RFC 0092] Remove unnecessary file

* [RFC 0092] Add comment about IFD

* [RFC 0092] Fix typo

* Update rfcs/0092-plan-dynamism.md

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

* plan-dynamism-experiment: Make clear is experimental

* plan-dynamism-experiment: Fix typo

Thanks @L-as

Co-authored-by: Langston Barrett <langston.barrett@gmail.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Robin Gloster <mail@glob.in>
Co-authored-by: Domen Kožar <domen@enlambda.com>
Co-authored-by: Rosario Pulella <Rosariopulella@gmail.com>
Co-authored-by: Ninjatrappeur <NinjaTrappeur@users.noreply.github.com>
Co-authored-by: Ollie Charles <ollie@ocharles.org.uk>
Co-authored-by: Las Safin <me@las.rs>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
2022-01-12 15:28:48 +01:00
Théophane Hufschmitt
bcdca7c741
[RFC 0062] Content-addressed paths (#62)
* CAP RFC: First draft

* typo

* Apply @grahamc's suggestions

Co-Authored-By: Graham Christensen <graham@grahamc.com>

* nix code -> Nix expression

* Break-up the big introduction paragraph

As suggested in https://github.com/NixOS/rfcs/pull/62/files#r356694585

* Rename to match the PR number

* Rename the drv attribute to __contentAddressed

Makes it more in line with other "magic" attributes like
`__structuredAttributes`

Also fix the orthograph

* Mention the GC issue

* Remove the ambiguity on what an `output` is

* Replace aliases paths by a pathOf mapping

* Move the example after the design description

* Rephrase the design

In particular, replace `static` and `dynamic` by `symbolic` and
`resolved`

* Add shepherd team

* Rewrite the RFC to account for the RFC meeting comments

- Add the notion of `drvOutputId`
- Replace the alias paths by a `PathOf(drvOutputId)` function
- Mention the notion of "truster" in the `PathOf` function

* Add a section about leaking output paths

* Refine the design summary

* Rename dependency-addressed into input-addressed

And define the term at the begining of the RFC

* minor fixup after comments

* Apply suggestions from code review

Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Profpatsch <philip.patsch@tweag.io>

* Update rfcs/0062-content-addressed-paths.md

* Update the terminology to match the in the implementation

* Reword the detailed design presentation

* Quote some strings in the yaml frontmatter

* Add a design paragraph about the remote caching

And update the “unresolved questions” to take it into account

* Lift the determinism requirement

It's not required anymore by the current remote caching semantics

* Typo

Co-authored-by: davidak <davidak@users.noreply.github.com>

* Apply suggestions from code review

Co-authored-by: davidak <davidak@users.noreply.github.com>

* Rewrite the RFC

This is mostly a full-rewrite of the RFC to

1. Make it more “incremental”: A first part just describes the minimal
   model upon which everything is based, and a second one shows
   different extensions of this model to add more features
2. Remove the big ugly examples that don’t add much value because they
   aren’t really readable
3. Add a python pseudo-code pseudo-formalisation of the RFC.
  This is imho both more readable and precise than nested bullet-points
  of handwaved language

* Make the python samples a bit more pythonic

Co-authored-by: zseri <zseri.devel@ytrizja.de>

* Explicit that unresolved dependencies are eval-time

* Prettify

* Make the end-goal an experiment

Simplify the paperwork and just get this to FCP because right now it’s stuck in a hole

Co-authored-by: Théophane Hufschmitt <regnat@users.noreply.github.com>
Co-authored-by: Graham Christensen <graham@grahamc.com>
Co-authored-by: John Ericson <John.Ericson@Obsidian.Systems>
Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Profpatsch <philip.patsch@tweag.io>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: davidak <davidak@users.noreply.github.com>
Co-authored-by: zseri <zseri.devel@ytrizja.de>
2022-01-12 15:28:23 +01:00
Kevin Cox
603c217850
[RFC 88] fix typos. (#115)
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2021-12-01 14:26:07 +01:00
sugarykeytone
7997bf0937
0023-musl-libc.md - Update obsolete URL (#116)
Co-authored-by: Cole Helbling <cole.e.helbling@outlook.com>
2021-12-01 14:25:03 +01:00
Kevin Cox
a36c8e90c3
[RFC 0088] Nixpkgs Breaking Change Policy (#88)
* Create RFC for nixpkgs Breaking Change Policy

This specifies the expected workflow as a base for workflows and future automation.

* Update rfcs/0088-nixpkgs-breaking-change-policy.md

Co-authored-by: asymmetric <lorenzo@mailbox.org>

* Reformat metadata

* Update and clarify.

- Highlight the high-level goal.
- Highlight the low-level goal of this specific RFC.
- Wording fixes.

* Implement suggestions from shepherds meeting.

* Set shepherd leader

Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>

* Typo fix

Co-authored-by: Théo Zimmermann <theo.zimmi@gmail.com>

Co-authored-by: asymmetric <lorenzo@mailbox.org>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Théo Zimmermann <theo.zimmi@gmail.com>
2021-11-17 15:15:33 +01:00
toonn
fe4b5325ac
RFC 46: Minor typo fixes (#113) 2021-11-03 08:57:30 +00:00
Ryan Mulligan
71f76fab15
[RFC 0094] Use Matrix for Official Chat (#94)
* [RFC 0094] Use Matrix for Official Chat

* Add shepherd metadata

* [RFC 0094] apply shepherd suggestions feedback

* Update rfcs/0094-use-matrix-for-official-chat.md

Co-authored-by: Sven Slootweg <admin@cryto.net>

Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Sven Slootweg <admin@cryto.net>
2021-09-02 14:57:06 +01:00
Ryan Mulligan
fd559bdb82
small clarification to RFC85 (#90)
This didn't quite make it in before it was merged.
2021-04-10 06:06:49 +01:00
Jonathan Ringer
aada139bf2
[RFC 0085] NixOS Release Stabilization: ZHF on master, new timeline (#85)
Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
2021-04-06 07:39:56 +01:00
Silvan Mosberger
45b76f20ad
[RFC 0042] NixOS settings options (#42)
Co-authored-by: Domen Kožar <domen@enlambda.com>
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2021-01-14 05:45:59 +00:00
Jonathan Ringer
123e94a3bf
[RFC 0080] Change NixOS releases to YY.05,YY.11 (#80) 2020-12-17 13:41:40 +00:00
Tuomas Tynkkynen
eee65998c1
[RFC 0032] Phase running changes for better nix-shell use (#32)
Co-authored-by: Linus Heckemann <git@sphalerite.org>
2020-11-19 14:18:13 +00:00
Mathieu Boespflug
748cbd6b08
[RFC 0072] Switch to CommonMark for documentation (#72)
* Switch to CommonMark for documentation

This RFC proposes to convert the documentation for the Nix, Nixpkgs
and NixOS projects from Docbook to CommonMark Markdown. It proposes
requirements for web facing documentation. It does not mandate
a choice of toolchain to generate a website with documentation. The
choice is left to the implementers and maintainers.

* Update rfcs/0000-commonmark-docs.md

Co-authored-by: Profpatsch <mail@profpatsch.de>

* Update rfcs/0000-commonmark-docs.md

Co-authored-by: Frederik Rietdijk <freddyrietdijk@fridh.nl>

* Update rfcs/0000-commonmark-docs.md

Co-authored-by: davidak <davidak@users.noreply.github.com>

* Update rfcs/0000-commonmark-docs.md

Co-authored-by: davidak <davidak@users.noreply.github.com>

* Update rfcs/0000-commonmark-docs.md

Co-authored-by: Ryan Mulligan <ryan@ryantm.com>

* Add shepherd metadata

* Add shepherd metadata

* Allow CommonMark plus small number of extensions

The exact set of extensions used is left to the documentation team.

* Final adjustments

- Nix now already uses markdown
- Fix grammar mistake
- Remove requirement of extensions having to be supported by
  at least 3 toolchains
- Add requirement for an extension for references
- Rename the file to its designated name

Co-authored-by: Profpatsch <mail@profpatsch.de>
Co-authored-by: Frederik Rietdijk <freddyrietdijk@fridh.nl>
Co-authored-by: davidak <davidak@users.noreply.github.com>
Co-authored-by: zimbatm <zimbatm@zimbatm.com>
Co-authored-by: Ryan Mulligan <ryan@ryantm.com>
Co-authored-by: Linus Heckemann <git@sphalerite.org>
Co-authored-by: Silvan Mosberger <contact@infinisil.com>
2020-11-04 09:34:49 +01:00
worldofpeace
3d280b6980
[RFC 0071] Retired Committers Amendment (#71)
Co-authored-by: Jörg Thalheim <Mic92@users.noreply.github.com>
2020-08-27 15:19:44 +02:00
Andreas Rammhold
531f980705
Expand the RFC acronym at least once (#69)
* Expand the RFC acronym at least once

While it is probably know to most it should also be documented what we expand RFC to.

* Capitalize "RFC"

Co-authored-by: zimbatm <zimbatm@zimbatm.com>

Co-authored-by: Eelco Dolstra <edolstra@gmail.com>
Co-authored-by: zimbatm <zimbatm@zimbatm.com>
2020-06-02 13:37:28 +02:00
Till Höppner
7c5ee3478d
[RFC-0055] Retire inactive nixpkgs committers (#55) 2020-05-25 10:15:47 +01:00
worldofpeace
3c113d3025 Update members of RFC Steering Comittee (#65) 2020-01-23 13:59:44 +00:00
Michael Raskin
b7f4ae9583 [RFC 0046] Platform Support Tiers (#46)
[RFC 0046] Platform Support Tiers
2020-01-14 08:51:38 +00:00
Jonas Schievink
3165942ff7 template: fix typo (#63) 2019-12-13 15:49:57 +01:00
Michael Raskin
7bcdb8d878 [RFC 0045] Deprecating unquoted URL syntax (#45)
* A small RFC on deprecating URL syntax

* Convert alternatives to a list

* Add a mention of tooling in future work

* A remark from @globin about one more problem with unquoted URLs

* Grammar edit: comparison of URLs, paths and strings.

Co-Authored-By: 7c6f434c <7c6f434c@mail.ru>

* Style edit: possibility of future removal

Co-Authored-By: 7c6f434c <7c6f434c@mail.ru>

* 0045: commit to using the tooling that now exists

* Update rfcs/0045-deprecate-url-syntax.md

Shepherd team

Co-Authored-By: Domen Kožar <domen@enlambda.com>

* Fix shepherd list

* Update based on a discussion

* Explicitly make future removal conditional on editions; restrict the claim about no special support to the Nix language itself
2019-11-25 12:49:18 +01:00
John Ericson
337b3d7962 Make the detailed design terse by separating examples (#60) 2019-11-21 13:37:25 +01:00
Leonhard Markert
17e6306f41 README.md: remove template paragraph (#61)
This paragraph seems to be a leftover or copy-pasta from the RFC template. It doesn't really fit into the flow of the text, so I think it was included or left here by mistake.
2019-11-21 12:02:23 +00:00
Ryan Mulligan
f4ddd45b43 [RFC 0051] Mark stale nixpkgs issues (#51)
* rfc51: close stale issues initial draft

* rfc0051: use staleLabel consistent with nixpkgs labeling conventions

* rfc0051: do not close issues

* rfc0051: reword motivation

* record the members of the shepherd team

* Update rfcs/0051-mark-stale-issues.md

Co-Authored-By: asymmetric <lorenzo@mailbox.org>

* [RFC 0051] remove references to "issue" in stale message
2019-11-14 13:56:16 +01:00
Silvan Mosberger
698b1ca1a6 [RFC 0052] Away from static IDs (#52) 2019-10-21 10:21:50 +02:00
Eelco Dolstra
830cea04a8
"accepted" directory -> "rfcs" directory (#48)
Reflect the fact that there is no "accepted" directory.
2019-06-20 12:35:35 +02:00
Eelco Dolstra
8b85b5ed68 "accepted" directory -> "rfcs" directory (#48)
Reflect the fact that there is no "accepted" directory.
2019-06-20 09:05:19 +00:00
Eelco Dolstra
55b5862c40 "accepted" directory -> "rfcs" directory (#48)
Reflect the fact that there is no "accepted" directory.
2019-06-20 09:05:06 +00:00
Domen Kožar
ed5cb360fb
template: add shepherd team and leader (#47)
* template: add shepherd team and leader

* Update 0000-template.md
2019-06-12 15:21:51 +02:00
Robin Gloster
2ea88d8c71
[RFC 0043] RFC Steering Committee Rotation (#43)
* RFC-0043: RFC Steering Committee Rotation

* RFC-0043: formatting

* RFC-0043: abdication -> resignation

* RFC-0043: add voting as possible alternatives

* RFC-0043: address reviews

* RFC-0043: rephrase membership ending sentence

* RFC-0043: either -> any
2019-06-11 14:32:25 +00:00
Shea Levy
a5d864f413 [RFC 0044] Disband the Nix Core Team (#44) 2019-05-28 10:02:09 +00:00
Graham Christensen
138600bd78
RFC-0039: unprivileged maintainer team (#39)
RFC-0039: unprivileged maintainer team
2019-03-13 11:30:03 -04:00
Eelco Dolstra
ce738bb101
Fix typos 2019-01-31 16:47:11 +01:00
Robin Gloster
d9aad92911 Implementation of RFC 36 (#38)
* Implementation of RFC 36

see #36

* Fix reference to 'this RFC' -> RFC #36
2019-01-08 15:13:49 +01:00
Robin Gloster
b8b0622bfe [RFC 0036] Improving the RFC process (#36)
* 0036-rfc-process-team-amendment: draft

Co-authored-by: Graham Christensen <graham@grahamc.com>

* 0036-rfc-process-team-amendment: clarifications

Co-Authored-By: globin <mail@glob.in>

* 0036-rfc-process-team-amendment: remove typo recommendation

The github UI has improved since this was written and we should no
longer discourage this.

* 0036-rfc-process-team-amendment: Glossary -> Terminology

* 0036-rfc-process-team-amendment: disallow author/co-author as Shepherds

* 0036-rfc-process-team-amendment: incorporate feedback from discussion

* 0036-rfc-process-team-amendment: update rfc process graph

* 0036-rfc-process-team-amendment: merge postpone and reject

* 0036-rfc-process-team-amendment: improve Shepherd Leader paragraph
2018-12-25 11:47:01 +01:00
Vladimír Čunát
56f5acdb4c staging workflow (#26)
* staging workflow: init empty RFC

* 0026-staging-workflow: first draft

* 0026-staging-workflow: second draft

Close https://github.com/vcunat/rfcs/pull/2

* 0026-staging-workflow alternatives: more discussion
2018-11-15 15:03:01 +01:00
Will Dietz
13b5084807 [RFC 0023] Support musl libc (#23)
* copy rfc template, unnumbered as of yet

* musl-libc RFC: first draft

* musl-libc RFC: rename to patch pull req number

* musl-libc: whoops, no links in top bit, that's metadata.

Move links to later.

* record the name of a brave co-author

* musl rfc: squash second batch of changes

* rfc: specify initial team \o/, add a small clarification.

* Add myself to the "musl team"
2018-06-28 12:36:54 +02:00
Graham Christensen
5d91defc4d [RFC 0025] Nix Core Team (#25) 2018-03-02 16:10:32 +01:00
Robin Gloster
aa1201a153 [RFC 0015] NixOS Release Managers (#15) (#15) 2017-07-31 09:18:51 +01:00
Graham Christensen
935a4b4e5c Update mailing list. (#16) 2017-07-18 14:11:17 +02:00
Guillaume Maudoux
690b7ca81e [RFC 0004] Replace Unicode Quotes (#4)
* Add Replace Unicode Quotes draft.

* Replace Unicode Quotes: various fixes.
2017-05-14 12:37:35 +01:00
Shea Levy
e65839cc26 Add future work section to the template 2017-04-01 12:46:33 -04:00
Eelco Dolstra
d439f087e7
Typo fixes 2017-03-28 14:40:19 +02:00
zimbatm
cff5922776 Implement RFC 0001 (#2)
Implement RFC 0001
2017-03-18 21:47:24 +00:00
zimbatm
8f83af7ce0 RFC to describe the RFC process (#1) 2017-03-18 21:42:31 +00:00