Hi all,

Here's another long email! (When I said my emails would become more
irregular, I guess that could mean *more* frequent...)

This email is about what to do now that I've reset the code base
and starting doing deploys again. In short, let's continue making a
world where more people support FLO software (and other goods). More
specifically, some of you will need to reset your code repository, and
there is plenty of directions for current work. I'll highlight a few
of them, including the valuable task of reincorporating a lot of the
hard work that went into the pre-reset branch.

First, the nitty-gritty. For all three of you so affected, the reset
will probably require a manual reset on your end, too. Make sure you
don't have *anything* you want saved, in particular unrecorded files,
and then run the following set of commands.

    git status
    # ^ Double check that there are no unsaved changes or files
    git checkout master
    git fetch origin
    git reset --hard origin/master

So, what about new development? Let me start by demonstrating how to
see what, exactly, got left out in the reset.

Current master—the new master—has about half of the "abandoned"
commits from the old master. You can see which ones got cherry-picked
in with the following arcane whispers:

    git cherry master master-pre-reset -v | grep ^-

To see which commits have *not* been included, use the following,
almost identical incantation:

    git cherry master master-pre-reset -v | grep ^+

You can use that last command for a rough approximation of what got
left out. I don't think we should do any more cherry picking, but we
can use these lists as guides.

One obvious thing left out is Sass. I *think* we can safely add it
back. But I'm not sure. And I want to proceed much more delicately.
For instance, the very first thing that should be done with it is to
rewrite an existing Cassius file as Sass. No improvements, no Susy,
just a rewrite. Don't change defaultLayout, either. At most, create a
sibling function for the page being rewritten.

Another little chunk to bite off is the navigation panel. Start
with: What is its purpose? What user stories do we want to satisfy
with it?

As for me: My current inability to build for production makes it
apparent that we should bake that functionality into our ops stack. I
will start by reading up on Docker+tools and NixOps, which are the top
two contenders in my mind for taming deployment. I know Salt is using
docker-compose for some things, which is why I say 'Docker+tools'.

Also, I gave up on one approach to testing the website without
actually talking to stripe.com, but there are two others to try. I'd
like to use Haskell's new 'backpack' system, so I will read up on

I want to say something about what happened to the pre-reset master.
It was a systematic mistake. We bit off too much both in formulating
governance, formulating development policy, and (re)formulating
software architecture. Some people worked very hard on some of those
things, and got burned. For my part of the failure, I apologize.

But I think the organization is stronger for it. I absolutely cherish
the real-world experience I get in collaborating with all of the
highly-skilled, passionate volunteers in this project. I hope that
being part of this project continues to reward all of us in that way.


aka chreekat

p.s. Please pretend I didn't say anything about replacing Yesod in my
previous email. :) I may harbor dreams of such a thing, but I don't
think it is realistic in any short time frame.

Attachment: signature.asc
Description: OpenPGP digital signature

Dev mailing list

Reply via email to