HN user

utx00

205 karma

test 1234 hhh

Posts0
Comments176
View on HN
No posts found.

can you motivate yourself to finish something small? say something that will take you one week? if nothing comes to mind, can you say wake up at 6am everyday for a week? or walk 2 miles everyday for a week? or cook for yourself, as best you can, "interesting" dinners? just for a week.

after that week is over, maybe report back?

i would not make any life changing decisions just now.

thanks for your feedback.

so far we're going with couch and haven't experienced this. the best part of course is that we can add items to documents on the fly whilst keeping the existing test data! this is major for us. we can go back to testing right away. with MySQL the changes were so major that it was better just dumping and recreating from scratch (we are using django) and this wasn't exactly fast. django has a project "south" that would help with this, but we're eventually deploying to oracle and cannot rely on it or have the time to extend it to properly work with oracle.

so i tried it for a couple of days, and the speed was the thing that impressed me the most actually. the rest is not that dissimilar, but i didn't dislike it as much as i thought i would :) - our workflow assumes mq already so a git add is a qnew, or qref, a git diff --cache is a qdiff, a git diff is an hg diff ... so on. most commits i make are usually a qfinish, which is comparable to a git commit (no -a).

how do you manage patch queues in git? we need them because we are constantly backporting to different versions of our app. branches will mean n merges for n versions. stacked git? or is there a git native way to manage the same?

what about something like tortoisehg? gitk is pretty crude in comparison.

i assume one can glue a diff/merge tool like meld. is the experience similar when resolving conflicts?

thanks for any feedback.

i guess i will have to try git to be sure, but i really don't see a difference here. usually if i'm going to try something drastic, i try it on a clone that i know i can throw away.

the patches directory that mq uses can be put under hg control.

i don't know about git reset, but everything you mentioned before can be done with mercurial (mq, histedit, ...)

so if you track project state with branches (for say versions) and you need to apply 'new feature' to all this n branches, does that mean n merges for your team? not for ours.

in all fairness, there is stacked git. go crazy.

one wonders how this works then, if Hg branches are so sub-optimal: http://hg-git.github.com/

you can re-write history in mercurial too - with the same obvious implications for both.

one thing that did go away with Hg was the need to merge unfamiliar code because someone upstream did a git-rebase.

HN Help: I'm lost 17 years ago

first thing is to stop ruminating. even if your mind wants to. even if it feels like that is the best way out of this situation. so stop now. don't look for explanations, don't try to understand. that would make it worse. the answers are not in what we accomplish, or in what we think we need to do or be (great doctor vs. lowly coder) - all dangerous fabrications.

watch this video: http://video.google.com/videoplay?docid=-1424079446171087119..., it's only :45 or so.

read these - take the day off and read them if you need to:

http://www.amazon.com/Full-Catastrophe-Living-Wisdom-Illness...

http://www.amazon.com/Mindful-Way-through-Depression-Unhappi...

retarded is too harsh :) however the same can be accomplished through macros in a way that is better integrated with the language (when debugging lombok generated code lombok tags are not of much use i would imagine, forcing one to understand the generated code).

something like:

(defdata mountain name :setter :getter latitude :getter etc ...)

might not be too hard to implement on top of clos (or on top of defstruct - but clos has the advantage of already having flexible accessors) not sure about clojure.

Critiquing Clojure 17 years ago

it is definitely more verbose and uglier. but in practice it does not seem to be a problem. for instance, comparing to arc, if you had notfn for ~, and testify, you could write all as:

  (defun all (test seq)
    (funcall (notfn #'some) (complement (testify test)) seq))
doesn't seem that bad.
Critiquing Clojure 17 years ago

in cl, you can use defsetf to almost do the same. as a matter of fact, taking a cue from arc, you can write a macro like:

  (defmacro deftable (name)
    `(progn
       (defparameter ,name (make-hash-table))
       (defun ,name (k)
         (gethash k ,name))
       (defsetf ,name (k) (v)
         `(setf (gethash ,k ,',name) ,v))))
now you can do: (deftable client), which creates the hashtable, and then

(client 'phone) will retrieve the value,

(setf (client 'phone) '4444444) will set the value.

Ants: locks vs stm 17 years ago

right, but i'm guessing his (and mine) trouble handling that loop has more to do with loop that it does with us - at least that's what i tell myself so please be gentle

Ants: locks vs stm 17 years ago

talk about loop abuse:

     (flet ((make-random-move (rankf)
                     (loop for place in places
                           for rank = (funcall rankf place)
                           collect (cons place rank) into ranks
                           sum rank into ranks-total
                           finally (loop with r = (if (zerop ranks-total) -1
                                                    (random ranks-total))
                                         for (place . rank) in (shuffle ranks)
                                         sum rank into current-ranks-total
                                         when (< r current-ranks-total)
                                         do (cond ((and (eq place ahead) (move ant)))
                                                  ((eq place ahead-left)
                                                   (turn ant -1))
                                                  ((eq place ahead-right)
                                                   (turn ant +1)))))))
              (if (ant-food ant)