HNHacker News
TopNewBestAskShowJobs

nerd_stuff

102 karma · joined June 9, 2015

submissionscomments
nerd_stuff··on Clojure 1.7 is now available
Not sure where Ubuntu's at but Debian Stable (Jessie) has 1.6 available: https://packages.debian.org/jessie/clojure1.6
nerd_stuff··on Philae comet lander wakes up
A couple of things come to mind, though I'm speculating.

Operations: Rosetta and Philae are a pair of robots 300 million kilometers from earth, one on a comet and the other orbiting it. Rosetta's orbits require a bit of work, if I remember correctly it's not a stable orbit and Rosetta needs to be within communication range of Philae while Philae is in the sunlight.

Science: Interpreting data is not easy and probably takes months in many cases. Once they've come to their conclusions they have to write and publish their papers which takes time.

Planning: They have to plan what they will do with Philae's future awake time which is filled with unknowns and opportunities that may only happen once.

nerd_stuff··on Show HN: Clojure by Example
Thank you!

I agree with fnordsensei's comment about ordering. You might also think about including this example from the docs which demonstrates bindings are immediately available:

    (let [x 1
          y x]
      y)
    -> 1
nerd_stuff··on Show HN: Clojure by Example
This is a great project!

I believe there's a lack of clarity in the let form explanation:

  =>(let [object "light"]
  =>  (let [object "darkness"])
  =>  (println (str "God said let there be " object)))
  God said let there be light
  nil
'object' is overwritten but only within the second let form:

  =>(let [object "light"]
  =>  (let [object "darkness"]
  =>    (println (str "God said let there be " object))))
  God said let there be darkness
  nil
or even:

  =>(let [object "light"]
  =>  (println (str "God said let there be " object))
  =>  (let [object "darkness"]
  =>    (println (str "God said let there be " object))))
  God said let there be light
  God said let there be darkness
  nil
The reason for this is the let form uses lexical scoping. In other words it creates a new frame which includes the bindings declared in the square brackets. When 'object' is evaluated its binding is looked for in the current frame, then the frame that called that frame and all the way out into the global namespace stopping when a binding is found.

See also: http://stackoverflow.com/questions/1774417/scoping-rules-in-...

nerd_stuff··on Placebo Button
This fake button digital nonsense does nothing for me; I need that fake knob analog placebo effect!

It sounds crazy but most sound engineers have accidentally done this to themselves. You tweak a knob, hear the difference, and then noticing the whole channel was muted and wonder what it was that you just heard change.

← PreviousPage 3 of 3