Friday, September 19, 2014

Have an idea for a flat job-assignment structure for a consultancy or small-jobs company. The company has one corps of engineers who work client cases. Clients work specifically with one of these agent-engineers as long as the relationship lasts and they coordinate feature additions, formulate engineering tasks from customer issues, advocate for the task-engineers (we'll get to them), negotiate the up-front price of the task, and input tasks for completion. A second corps of engineers, when tasks are input, self-assign to the tasks they want to work on. Task-engineers can bring in or agree to work with other engineers and either work out a payment split among themselves or formally agree on how to split it. Task-engineers can also suggest changes to the payments which would encourage them to work on the task.

Naturally, there would be some tasks that virtually no one wants to work on because they're mundane, no one has the skills, or no one likes the company, or any number of reasons. For these tasks, there should be a coercive rule that, for instance, requires junior engineers to take tasks no one else acts on. Alternatively, there could be something like a points system. Really guaranteeing liveness of every task is the hardest thing to manage when you have self-election. It could be necessary to remove the guarantee of completion -- which would be awful -- or to outsource the tasks or to have such a large pool of workers that tasks rarely die and can be handled on a case-by-case basis.

~~~~

Tuesday, September 9, 2014

Margaret Sanger

Margaret Sanger is credited with founding modern birth control tools and education for women in the United States. She began her campaign for women's health and welfare in the 1900s during the same time as the Comstock Laws (effective from the 1870s), which restricted the transmission of contraceptive information on the grounds that the materials were obscene.

~~~~

Wednesday, August 27, 2014

For some reason, the Play Framework docs give you an overly verbose syntax for setting up a fake application on each test:

    @Test
    public void findById() {
        running(fakeApplication(inMemoryDatabase("test")), new Runnable() {
            public void run() {
                Computer macintosh = Computer.findById(21l);
                assertThat(macintosh.name).isEqualTo("Macintosh");
                assertThat(formatted(macintosh.introduced)).isEqualTo("1984-01-24");
            }
        });
    }
It's much cleaner to do that with with the Helpers class and JUnit setup and teardowns (i.e., @Before and @After)

public class ApplicationTest {
    private FakeApplication fa;

    private FakeApplication provideFakeApplication()
    {
        return Helpers.fakeApplication(Helpers.inMemoryDatabase());
    }

    @Before
    public void startapp()
    {
        fa = provideFakeApplication();
        Helpers.start(fa);
    }

    @After
    public void stopapp()
    {
        Helpers.stop(fa);
    }

    @Test
    public void checkSums() {
        /* Runs in a FakeApplication context */
        Result result = Helpers.routeAndCall(Helpers.fakeRequest(Helpers.GET, "/sums"));
        System.out.println("sums result "+ Helpers.contentAsString(result));
    }
...
}
Using the wrapper can't even be justified for one-off tests except for the fact that you might forget to call Helpers.stop.

~~~~

Monday, August 25, 2014

Despite all of my posts discounting my TagFS (there are so many). I've started dog-fooding it, using a mounted TagFS for articles and things I've downloaded while doing research. It may be that standard Unix commands and file browsers are sufficient interfaces for the common case of tagging files. I will post back eventually if I make changes based on this usage.

~~~~

Saturday, July 19, 2014

What joy when the insouciant
armadillo glances at us and doesn't
quicken his trotting
across the track into the palm brush.
What is this joy? That no animal
falters, but knows what it must do
--Denise Levertov

~~~~

Tuesday, July 15, 2014

Such acts targeting places of worship are unacceptable. They are extremely grave et will always find a determined response from the authorities,” he said in a statement. He said France ''will never tolerate the import of the Israeli-Palestinian conflict on French soil.'

~~~~

Thursday, July 10, 2014

It's hard to explain the phrase, "There's no such thing as consciousness". I used to say it, but I don't know if it's as productive as I used to think it is. When I say that, my intention is to divorce the idea of consciousness from its myriad associations--the irremovable notions that are associated with the word "consciousness". I think we can get to the place where the phenomenon itself is usable--where it becomes a like a pencil, perhaps. That is to say, where something like a human can affect the world through an exercise like writing to re-inscribe on some little part of the world (like a piece of paper) some little part of its little world (its mind).

These analogies and analogies...

~~~~