#clojure log - Mar 26 2008

The Joy of Clojure
Main Clojure site
Google Group
List of all logged dates

9:03 bgeron: rhickey: 0install.net yes

9:03 rhickey: do people have to install it first?

9:06 bgeron: they have to install zeroinstall once, but you don't have to be root for that

9:06 rhickey: hmm...

9:06 bgeron: don't feel obliged to make a feed though :)

9:07 you have to package your dependencies as well if you want it to work really neat, which can be a lot of work

9:07 source implementations, compile binaries on multiple platforms if necessary

9:08 rhickey: doesn't sound like my kind of thing

9:08 * bgeron understands

9:08 rhickey: Clojure is a dev tool

9:08 * bgeron didn't feel like packaging Parrot until last monday

9:09 bgeron: what made me lose devel-time was seeing 0launch http://quackcode.org/2008/interfaces/parrot.xml work on my box

9:09 (won't work if you don't have ICU or are not on Linux-i486, which I'm fixing)

9:57 Chouser: surely anybody could package Clojure for 0install or any other packagin system if they really wanted to.

12:00 nsinghal_: Rich, I am reading from the remote repl the results of my command (all-ns). The (read rdr) is trying to parse the result. I get errors:

12:00 socket=> java.lang.Exception: ReaderError:(2,1) No dispatch macro for: <

12:00 at clojure.lang.LispReader.read(LispReader.java:158)

12:00 at clojure.fns.clojure.read__425.invoke(boot.clj:1371)

12:01 then i can keep running (read rdr) and getting errors:

12:01 java.lang.Exception: ReaderError:(2,1) Invalid token: Namespace:

12:01 at clojure.lang.LispReader.read(LispReader.java:158)

12:01 at clojure.fns.clojure.read__425.invoke(boot.clj:1371)

12:03 rhickey: The output of the REPL is meant for humans, not all of it can be read with read

12:04 So a program communicating via a Repl must take care to to execute only the fns for which the ouput can be prn'ed and read

12:04 i.e. you'll need to write some helper functions

12:07 nsinghal_: ok let me do that. thx

12:08 rhickey: (map #(. % name) (all-ns))

12:08 (xml zip clojure set user)

12:08 like that

16:30 repl-on-a-socket, client and server, 50 lines: http://en.wikibooks.org/wiki/Clojure_Programming#Examples

17:17 Nice blog entry on Clojure: http://bendiken.net/2008/03/26/finding-clojure

17:31 Chouser: what do you think about continuations? Pretty much impossible with how Clojure uses the JVM stack?

17:43 rhickey: I'm not a fan of continuations as a practical programming feature

17:49 and a no go on the JVM stack

17:50 Chouser: yeah, ok.

17:56 rhickey: TCO I'd take in a heartneat

17:56 heartbeat

17:58 http://blogs.sun.com/gbracha/entry/will_continuations_continue

22:04 jonathan_: Oh rhickey, the proxy stuff kicks ass btw! I managed to use it to render JTables exactly like my legacy C++ grids in a work demo... ;)

22:04 Go subclassing!

22:06 rhickey: Great!

22:09 jonathan_: And I ported my RPCish code to .NET this morning so my developers will be calling a Clojure/Oracle backend from .NET GUIs ... I think they are a bit freaked out by seeing someone write a IVBSAXContentHandler and get it working inside about 2 hours

22:10 hehe ... I suspect it would take me a week to get anywhere at all with WCF, not that I would ever try

22:11 rhickey: fun

22:11 jonathan_: What's your background Rich? I'm assuming you haven't had to put up with any Business Consulting ...

22:14 rhickey: scheduling, yield management, audio fingerprinting, broadcast automation, election projection and most recent, machine listening and cochlear modeling

22:15 jonathan_: what sort of scheduling?

22:16 rhickey: music and advertising scheduling for broadcasters

22:17 jonathan_: dandelionradio.com <-- best internet radio ever (aside)

22:18 interesting, I was at Queens Medical center early 90's, they did some cochlear implants there I think ... never got to work on that though, though my background is medical physics

22:19 rhickey: this is strictly modeling for machine hearing, not assistive

22:19 jonathan_: ahh ok, what's the goals for machine listening?

22:20 rhickey: automated polyphonic music transcription

22:20 jonathan_: wow, that really sounds like a lot of fun

22:20 rhickey: yup

22:21 unsolved problem territory

22:21 jonathan_: yeah, I think I've figured out, that making users happy (gas pipeline schedulers and shippers in my case), is what makes me happy

22:21 yeah, breaking new ground is cool

22:23 (for the smart kids)

22:23 but in the land of the blind, the one-eyed man is king ...

22:25 rhickey: heh

22:27 jonathan_: there's some interesting applications using doppler ultrasound to listen for high speed bloodflow at the edges of tumor vascularization

22:27 I'm sure there's loads of 'listening to' structures applications too

22:29 rhickey: yeah, I'm interested in modeling musicians, who need to 'hear', and long-term, musical memory

22:29 jonathan_: what do you play?

22:29 rhickey: guitar

22:30 and you?

22:30 jonathan_: yeah, I play bass, but it's more of a disability, than an actual ability. I own a guitar though

22:30 I wish I had time to pick it up

22:31 I'm sure playing a real instrument makes you hear differently

22:32 rhickey: hearing is an amazing sense, and very tough to model

22:33 jonathan_: how can you know if you are modeling it accurately?

22:33 rhickey: when the model can discern what I can, it works

22:34 but biological viability is secondary for my work

22:35 still, I have hair cells and and a neural net

22:36 jonathan_: if I analyze my own voice, I see 3 or 4 distinct traces, I assume that corresponds to vocal chords?

22:40 rhickey: depending on the resolution of your trace, they're either harmonics, or more coarsely, formant regions

22:41 My model has thousands of hair cells

22:41 jonathan_: ok, I had no idea, I should hit wikipedia

22:43 simulated hair cells?

22:43 moving around in the fluid in the cochlea?

22:44 rhickey: right

22:49 was doing Mathematica and C++, now moving most of it to Clojure

22:54 jonathan_: yeah, that makes sense, the JVM has a lot going for it, performance and ease of deployment, once you remove the jre1.3 from the xp path ... well for us windows users, anyway

22:55 Java numerics have a bad rep though?

22:56 FUD?

22:57 rhickey: well, I'm working on building a bridge to the Intel Performance Primitives for the lowest-level part of the filters

22:58 thousands of hair cells x 44kHz sampling rate

22:58 lots of crunching

22:59 jonathan_: wow, sounds amazing

23:02 albino: [02:22] <mnestic> funny that cloujure is on the JVM :-) you should convince him to re-write the VM in C ... a little healthy competition.

23:02 The #factor guys are talking about cloujure

23:04 jonathan_: It's in SVN, they could port it, ... or fork dotLisp ... ;)

23:04 rhickey: yikes

23:05 I would never try to write Clojure in c/c++

23:07 huge benefits to sharing memory model. GC and type system with implementation language

23:14 albino: yeah

23:14 factor started out on the jvm

23:15 jonathan_: I love Swing ... after using MFC then WinForms

23:17 rhickey: I don't know too much about factor

Logging service provided by n01se.net