Also, general programming advice:

I find myself switching between top-down and bottom-up approaches
willy-nilly, but in either case I would avoid worrying about choosing
components and impls right away.  With both approaches, when prototyping,
I'd favor use of core functions and data structures wherever possible at
first as it provides the most generic ways to change your mind in the
future.

Top-down: 'programming by wishful thinking', assume functions will
implement your desired inputs and outputs, this is kind of like TDD.

Bottom-up: draw out the components and boundaries between them, spec out
one component, implement it, revisit the interconnections and iterate.

If the data-model code (I'd just use simple maps and an atom or something)
starts becoming too specific, at that point you should consider
re-implementing it in datomic.  By then, you'd have a body of code with
some semantics and tests that constrain the design, and the design-space is
smaller, therefore easier to wrap your head around.

You have to know when it's possible and beneficial to defer decisions, and
this is an exercise in visualizing dependency graphs and thinking through
ramifications.  Eventually you'll have an idea of what 'complex' feels
like, with language to explain it, and techniques to avoid it.

I draw boxes with inputs and outputs on them in a make-up-as-I-go-along
notation..  that's beneficial for me usually.


On Thu, Mar 20, 2014 at 11:47 AM, Gary Trakhman <gary.trakh...@gmail.com>wrote:

> This sounds like exactly what doodle does: http://doodle.com/en/
>
>
> On Thu, Mar 20, 2014 at 11:43 AM, kurofune <jesseluisd...@gmail.com>wrote:
>
>> Thanks for the responses. I looked into google calendar but I couldn't
>> find anything about this feature. I agree that things can get complex and
>> unwieldy really quick. I am of course using emails and calendars. The
>> problem is that when dealing with large numbers of customers it would be
>> nice to have a black and white system to make clear whether or not an
>> appointment was scheduled. Some people forget to enter things into their
>> calendars after reading the emails oar enter them wrong, others think that
>> the next appointment is implicit, even on national holidays, because it is
>> a weekly event. I just want to eliminate room for error. asymmetry would be
>>  when one person has an appointment scheduled for a time and the other
>> person doesn't. I thought that was pretty clear from the context but I
>> guess I should have explained more. I will look more into google calendar
>> to see if scheduling can be automatically verified between users like I am
>> hoping.
>>
>> Cheers,
>>
>> Jesse
>>
>> --
>> You received this message because you are subscribed to the Google
>> Groups "Clojure" group.
>> To post to this group, send email to clojure@googlegroups.com
>> Note that posts from new members are moderated - please be patient with
>> your first post.
>> To unsubscribe from this group, send email to
>> clojure+unsubscr...@googlegroups.com
>> For more options, visit this group at
>> http://groups.google.com/group/clojure?hl=en
>> ---
>> You received this message because you are subscribed to the Google Groups
>> "Clojure" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to clojure+unsubscr...@googlegroups.com.
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"Clojure" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to clojure+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to