#clojure log - Dec 24 2008

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

0:07 Chouser: hiredman: you could send the strings to a separate JVM process, and kill that off every few minutes

0:08 hiredman: :(

0:09 I think I have the stop access to certain forms thing figured out

0:10 now I just need to learn about thread groups

0:10 danlarkin: and how can you pee in the pool? can't you disallow things you don't want if you can check everything with first-ing tree-seq?

0:11 hiredman: I mean people can still pee in the sandbox if I just use the jvm's sandboxing stuff

0:11 I think there is a way to actually clamp down on what classes can run

0:12 but that will undoubtly begin to interfere with the clojure runtime

0:12 "Thread groups are best viewed as an unsuccessful experiment, and you may simply ignore their existence."

0:12 how encouraging

0:22 Chouser: if you use a sub-process, you'd still need the sandbox stuff to keep people from taking over your machine, but all the within-clojure issues would no longer be an issue.

0:23 hiredman: if I use a thread group, I still need to disallow send and send-off, because I have no control over those thread pools

0:23 Chouser: let them def and defmacro and try and catch and eval all they want. but after launching the subprocess, they get 5 seconds (or 30 or 90) before the sub-process gets killed

0:24 hiredman: :(

0:24 seems so messy

0:25 Chouser: messier than trying to catch every possible attack vector individually, while disallowing the use of basic clojure features like agents and try/catch?

0:25 anyway, it's just a thought.

0:25 your box, your bot, you should do whatever you want. :-)

0:27 clojurebot has proven his value in providing docs and svn announcements, seems to me.

0:28 hiredman: http://www.haskell.org/haskellwiki/Safely_running_untrusted_Haskell_code

0:30 I do really miss having that machine around

0:31 well, it is around, it just doesn't have any thing installed on it, and it is busy moving from FreeBSD 6.2 -> FreeBSD 7-STABLE

0:33 ugh

0:33 christ

0:33 I'll have to reinstall java

0:37 danlarkin: my belly hurts from laughing so much at this wacky japanese game show on hulu

0:46 pg strikes again! http://www.reddit.com/r/programming/comments/7lf1u/coding_challenge_divide_a_list_into_n_sublists/

1:21 kogu: hi, anyone using slime here?

1:22 how i do stop the repl window from coming up? I am using a dual screen setup, so I have a new frame, which is always set to show the repl on the second monitor

1:22 but now, when i run a function, my emacs window is split in half, how do i prevent that?

1:51 yangsx: kogu: C-x 1 or C-x 0 depending on which one you want to hide

5:17 hiredman: ,(println :foo)

5:17 clojurebot: hello?

5:17 clojurebot: Excuse me?

5:21 bOR_: clojurebot has become sentient?

5:22 hiredman: hmmm

5:23 (use '[foo.bar :as f]) should let me call functions from foo.bar as f/function

5:23 ?

5:24 or is that require?

5:24 must be require

5:24 nevermind

5:30 ,(println :foo)

5:30 clojurebot: :foo

6:17 Chousuke: hiredman: what's the licence on clojurebot btw? :P

6:20 hiredman: I made a clojurebot git project for myself, and just noticed that without a licence, I'm not allowed to do so :/

6:20 github project*

10:22 Lau_of_DK: Good afternoon all

10:22 danlarkin_: morning

10:22 happy christmas eve!

10:26 Lau_of_DK: danlarkin: An interesting fact, today is The Christmas day here in Denmark and it widely celebrated, the danes spend vasts amounts of money, but around 350 years ago this holiday was outlawed by the king.

10:27 danlarkin: for what reason?

10:28 Lau_of_DK: The King was a devout follower of Christ, and so he rightfully said "Who can in their right mind believe, that such celebrations honor God?"

10:29 danlarkin: haha

10:29 oh to be a monarch

10:29 Chousuke: Lau_of_DK: he was right though.

10:29 Lau_of_DK: Christmas is not originally a christian tradition.

10:29 Lau_of_DK: Chousuke: I know - I dont celebrate christmas myself, for the very same reason

10:29 (btw, will add your patch later, havent forgotten, just behind with the commit)

10:30 Chousuke: I don't really care, myself. I just have fun and enjoy the food and peace.

10:32 also, <3 git

10:33 * Chouser wages glum and banal battle with emacs

10:33 Lau_of_DK: Weeeee :)

10:33 Chouser: bleh

10:34 Lau_of_DK: Imagine the awesome RAW power that would be thrust directly into the Clojure-community, if Chouser switched to Emacs

10:34 Chousuke: I was doing some mods to clojurebot and fumbled with the commits: committed an incomplete function by accident with another change, so I used history editing to remove the extra chunk from the commit :P

10:34 Lau_of_DK: cool, never tried that

10:34 From the CL or from Emacs?

10:34 Chouser: Chousuke: that scares me

10:35 Chousuke: and then I noticed I had *during that* mangled the commits so that my branch was no longer fast-forwardable from master, but a quick git stash & rebase made it all well

10:35 duck1123: Chousuke: are you using magit?

10:35 Chousuke: duck1123: I used the git command line tool to do that.

10:35 * danlarkin loves git too

10:35 Chousuke: I use magit with emacs though.

10:36 Lau_of_DK: Egg is nice

10:36 Chousuke: Chouser: it was easier than I thought. git commit --interactive is not exactly an intuitive interface, but it was easy once I figured out how it worked :P

10:37 Lau_of_DK: I use Egg for everything that it has, and for the few lacking features, I go with CL or Magit, mostly CL

10:38 Chouser: Are you partying tonight, or do you have time for going through a macro ?

10:38 * drewr ends up at the cmdline most of the time

10:38 drewr: I do like magit's log history viewing.

10:39 Lau_of_DK: You doo?

10:39 Maybe you'd want to check out Egg then

10:39 Its #1

10:39 drewr: Maybe I will!

10:41 Lau_of_DK: Chouser: Do you mind if I post the video I showed you last night here, so they can see Egg ?

10:42 gnuvince_: Egg?

10:43 Lau_of_DK: I hope Chouser doesnt mind, but you can see Egg in the last 30 secs of this http://www.bestinclass.dk/download/desk.ogv

10:44 Chouser: Lau_of_DK: no, why would I mind?

10:44 Lau_of_DK: Chouser: Theres just a short glimpse of a chat we had (just chitchat) and a link to your screenshot

10:45 Chouser: ah. I'm sure it's fine. thanks for asking.

10:45 drewr: Lau_of_DK: Is that your video?

10:45 Lau_of_DK: Yea

10:45 Good Chouser :) nps

10:45 gnuvince_: What is that fond?

10:45 font*

10:45 Lau_of_DK: In Emacs?

10:45 gnuvince_: Yes

10:46 Lau_of_DK: I dont know, because I dont run with it normally because its too big (but good for video)

10:46 An educated guess would be either DejaVu og Bitstreams Vera Sans Mono

10:46 drewr: Lau_of_DK: Is that a variable-width font?

10:46 Lau_of_DK: Im not sure

10:46 gnuvince_: It looks mono-width

10:46 Lau_of_DK: Bitstream Mono isnt

10:46 drewr: I guess it was just egg that wasn't lining things up right.

10:47 Lau_of_DK: (set-default-font "-bitstream-Bitstream Vera Sans Mono-normal-normal-normal-*-14-*-*-*-m-0-iso10646-1")

10:47 This is my current

10:47 gnuvince_: Hmmm

10:47 drewr: I use bitstream mono too. Guess I didn't recognize it at that size.

10:47 gnuvince_: No you're right, it's variable width in the video.

10:47 Lau_of_DK: Sorry about any confusion, the point is simply this: Egg looks smashing

10:47 drewr: Any of you figure out Emacs 23's fontset stuff yet?

10:48 Lau_of_DK: And for your normal cycle of program, commit, checkout and such, it rocks

10:48 drewr: I'm sure it's more powerful, but I really just like set-default-font.

10:48 Lau_of_DK: drewr: figure it out? I just use the old strings for the new fonts, works fine

10:48 danlarkin: I think I prefer http://github.com/pieter/gitx/tree/master

10:49 drewr: Lau_of_DK: Doesn't work for me, but I'm on OS X and I think they changed a lot.

10:49 Lau_of_DK: Oh ok

10:49 regarding the video, the font is not mono, thats why everything isnt aligned in EGg

10:50 drewr: But you can select whatever font you want from the menu, select 2 characters on screen, M-x describe-char, and then you got your font string, then just (set-default-font <string>)

10:50 Anyway, got to serve dinner for the kids :)

11:00 hiredman: clojurebot: ping?

11:00 clojurebot: PONG!

11:00 * danlarkin claps

12:14 Lau_of_DK: dk.bestinclass.clojureql> (def xst '(> 3 5))

12:14 #'dk.bestinclass.clojureql/xst

12:14 dk.bestinclass.clojureql> (where xst)

12:14 "xst"

12:14 dk.bestinclass.clojureql> (where '(> 3 5))

12:15 "3 > 5"


12:15 What am I not understanding? :)

12:19 duck1123: Lau_of_DK: where can I get clojureql? I've been wanting to play with that

12:25 danlarkin: duck1123: http://github.com/Lau-of-DK/clojureql/tree/master

12:25 Chousuke: Lau_of_DK: where is a macro?

12:26 duck1123: danlarkin: sweet, thanks

12:30 Chousuke: Lau_of_DK: if where is a macro, the arguments passed in are *forms* rather than values; so in (where xst) the first argument would be 'xst rather than its value '(> 3 5)

12:35 hiredman: clojurebot: clojureql is http://github.com/Lau-of-DK/clojureql/tree/master

12:35 clojurebot: Roger.

12:36 Lau_of_DK: Back :) Sorry for the abrubt disappearance

12:36 duck1123: ClojureQL is nearly at alpha, I need to sort out the backend, which I might get through tonight

12:36 Chousuke: Its a macro, yes

12:37 duck1123: does anyone know if the SPARQL DSL stuff is up anywhere?

12:37 Lau_of_DK: duck1123: http://groups.google.com/group/clojure/browse_frm/thread/8964588c4a2183b

12:37 All I have is that link

12:37 Chousuke: hiredman: so, what licence does clojurebot have? :)

12:38 Lau_of_DK: Chousuke: Educate the man, how can I then pass xst to the macro, so that it gets evaluated on the way in ?

12:39 duck1123: a job for unquote, perhaps?

12:40 Lau_of_DK: nope

12:43 duck1123: hmm... if ~ becomes a shortcut for c.c/unquote while not in a `, then would you have to do something like ~~a to get (unquote a) while in one?

12:43 I haven't had the chance to play with it too much yet, so excuse me if I'm way off base

12:44 Lau_of_DK: My position is the same, so I'll have to experiment a bit

12:45 To me its a little weird, that (class xst) and (class '(> 3 5)) are equals, yet evaluated differently

12:45 hiredman: hmm

12:47 duck1123: Lau_of_DK: wouldn't it make sense to try to use as much of clojure.contrib.sql as possible instead of re-inventing a lot of this?

12:48 Lau_of_DK: duck1123: Thats actually still undecided

12:48 At first I was tempted to do so, but I'd like to build the backend myself so Im sure that everythings done right, and that I understand everything

12:50 duck1123: Lau_of_DK: is (where) not defined in the version on github? I'm not seeing the impl for it

12:51 Chousuke: Lau_of_DK: class is not a macro

12:51 Lau_of_DK: No duck1123, quite alot has changed in the past 2 days, Im pushing changes within the hour

12:51 http://paste.lisp.org/display/72572

12:53 Chousuke: Lau_of_DK: your "e" parameter there is the symbol xst

12:53 Lau_of_DK: thats right

12:55 (run-query (sql (query [col1 col2] table1 (or (> col1 col2) (= col1 100)))))

12:55 "SELECT (col2,col1) FROM (table1) WHERE col1 > col2 or col1 = 100"

12:55 This actually fires now, which is nice

12:59 clojurebot: svn rev 1181; change to AtomicLong for lastPoint

12:59 svn rev 1182; with-open accepts multiple bindings, patch from Meikel Brandmeyer

12:59 svn rev 1183; more uniform map literal implementation

12:59 svn rev 1184; ~x not in syntax-quote yields (clojure.core/unquote x) clojure.core/unquote has no root binding

12:59 svn rev 1185; added release-pending-sends

12:59 hiredman: woa there

12:59 Chousuke: hoh

12:59 hiredman: I guess svn is installed then

13:00 Chousuke: well now he left :(

13:06 * duck1123 feels dumb for trying to get ~ to work without first updating clojure

13:11 Lau_of_DK: poor duck :)

13:18 duck1123: Lau_of_DK: ok, I just updated to the latest version of clojure, and (where ~xst) is working fine for me

13:21 Lau_of_DK: can you show me the repl output ?

13:21 duck1123: almost working I mean, it's not doing infix

13:21 Lau_of_DK: k, same here

13:21 duck1123: user> (where ~xst)

13:21 "where (> 3 5)"


13:23 Lau_of_DK: duck1123: I ended up doing this: When passing e to f, I (eval e) before, then it works specifically for my case

13:25 duck1123: Lau_of_DK: with that code, using ~a is the same as (eval a)

13:28 Lau_of_DK: Where works fine with (eval e) (dont know where you got a from?), but now I cant compile (compile-ast) ....

13:29 duck1123: 'a was a random example variable

13:29 Lau_of_DK: k

13:40 Greetings sohail :)

13:41 sohail: hey Lau_of_DK !

13:44 lisppaste8: Lau_of_DK pasted "Compile-Ast not compiling" at http://paste.lisp.org/display/72615

13:45 Lau_of_DK: Gents, after I changed the last line of infixed from (f e) to (f (eval e)) the macro works as I want, but now compile-ast will not compile - what am I missing here?

14:07 No takers?

14:15 danlarkin: no way to get around using eval I suppose

14:46 Lau_of_DK: danlarkin: okay, where would you use it? :)

14:54 danlarkin: Lau_of_DK: nah I guess it's an appropriate use, not sure why compile-ast doesn't compile either :-/

14:56 RSchulz: how many days do you think are in one year?

14:57 RSchulz: A lot fewer than 728!

14:57 danlarkin: but he said 364

14:58 RSchulz: And he said for "every other day of the year."

14:58 Meaning one present for every two days of the year.

14:58 danlarkin: 364 + 1

14:58 oh.

14:58 jeez

14:58 that hurts

14:59 RSchulz: Puns are fun!

14:59 That's not exactly a pun, but...

14:59 Lau_of_DK: hehe, you guys drunk ?

14:59 RSchulz: Alternate interpretations are the heart of humor, especially if you're in that oh-so-literal of fields: Computer Programming.

14:59 Not yet!

14:59 It's only noon here!

15:00 dreish: That's no excuse.

15:00 danlarkin: it's always 5 somewhere!

15:00 RSchulz: So is it always too early or always too late?

15:00 Chouser: exactly

15:01 hiredman: ,(println "? ")

15:01 clojurebot: ?

15:01 hiredman: :)

15:01 RSchulz: clojurebot: Are you drunk?

15:01 clojurebot: excusez-moi

15:01 dreish: What code point is that? Wow.

15:01 RSchulz: Kind of sensitive, isn't he?

15:01 Me thinks the bot doth protest too much.

15:02 danlarkin: clojurebot: are you drunk is <reply> Yesh.

15:02 clojurebot: You don't have to tell me twice.

15:02 dreish: http://unicodesnowmanforyou.com/

15:02 Looks like it's wearing a fez. Maybe that's just my font.

15:02 RSchulz: Was there something in that println other than blanks?

15:02 hiredman: yes

15:02 go fix your unicode

15:03 RSchulz: Hey. _I_ didn't write this thing!

15:03 dreish: U+2603

15:03 RSchulz: Is that _really_ a Unicode glyph?

15:03 dreish: http://www.fileformat.info/info/unicode/char/2603/fontsupport.htm

15:03 RSchulz: It looks to me like it's wearing a lampshade.

15:03 (See immediately preceding conversation)

15:03 dreish: Yeah. I've never seen a snowman dressed like that.

15:04 danlarkin: snowman with a fez!

15:04 RSchulz: Someone's got too much time on their hands!

15:04 Every snoman I've seen has been naked.

15:04 Huh. Snoman glyph for Snobol programming...

15:04 Chouser: http://isitchristmas.com/

15:05 danlarkin: ,4

15:05 RSchulz: Isn't it Christmas somewhere?

15:05 danlarkin: ,(println \u2603)

15:05 dreish: http://www.google.com/search?hl=en&q=is+it+tuesday

15:06 RSchulz: Hey! The font in my Konsole has a tiny little snowman glyph!

15:06 Though it could be someone giving me the finger. It's kind of hard to tell at that size.

15:07 dreish: ?

15:07 Ever needed a tricolon? ? Now you have one.

15:08 hiredman: clojurebot: why no love?

15:08 dreish: Maybe that last snowman killed him.

15:08 danlarkin: did I broked it? :(

15:08 hiredman: damn it

15:10 well, I can't fix it

15:10 no access to the box it is running on at home

15:10 I wonder what the hell broke it

15:11 danlarkin: was it ,4 ?

15:11 hiredman: oh

15:11 hmmmmmm

15:11 the sandbox thing has change considerably lately

15:11 it may have been

15:12 dreish: How inadvisable does this sound: I want to throw a RetryEx from within a function I'll be passing to commute, because it's almost always a commute operation on a data structure that will be getting a lot of contention, but maybe 0.01% of the time it will need to retry.

15:12 hiredman: clojurebot: ping?

15:12 * dreish notes I really needed a colon/question-mark hybrid character, and runs off to check the Unicode table.

15:12 hiredman: uh

15:13 dreish: messing with the stm's retry behaviour sounds pretty inadvisbale to me

15:13 dreish: But I _want_ to!

15:13 danlarkin: we won't stop you

15:13 dreish: Thanks.

15:14 Either that, or maybe there should be an additional operation on Refs, just like commute but the transaction retries if the function you pass to it returns nil.

15:15 hiredman: why not check for nil inside the function you pass?

15:15 and just do it again in the fuction

15:16 dreish: I need to repeat the transaction because the value returned by the dosync would no longer be correct.

15:17 The scenario is I have a hash that caches part of a huge data set on disk -- too big for RAM. Various threads, calling a lookup function that optionally loads values in from disk, might add key/value pairs to the hash, and the value in each case is another Ref. I don't want my function returning a Ref that isn't the canonical value for a given key.

15:18 danlarkin: dreish: are you trying to beat the OS at paging?

15:18 hiredman: dreish: put a loop in the dosync to retry if it needs to

15:18 dreish: danlarkin: Not really. Paging doesn't give me STM semantics.

15:19 Unless you mean I should load the entire data set every time I start my program.

15:19 RSchulz: dreish: What sort of total data volume are you dealing with?

15:20 dreish: RSchulz: As much as possible.

15:20 RSchulz: More than a 32-bit JVM can accommodate?

15:20 Lau_of_DK: Does noone here have any idea why compile-ast wont compile with that macro used in it?

15:20 dreish: Hopefully.

15:21 Chouser: Lau_of_DK: because there's no defmulti for compile-ast?

15:21 dreish: The idea is an editable multi-user virtual reality world.

15:22 RSchulz: That doesn't sound like it will be scalable if the design is basaed on a single-system architecture...

15:22 Lau_of_DK: Chouser: no, its way up in ;; DEFINITIONS ========

15:23 RSchulz: Which is independent to the issue of large data-set caching.

15:23 dreish: Maybe.

15:23 Lau_of_DK: Chouser: its only when I use your macro 'where' modified into 'infixed' that it wont compile, if I use my own good ol' defn infixed, then it works fine

15:24 RSchulz: So you're implementing some sort of virtual-memory-like cache? Automatic eviction based on some sort of criteria (LRU, perhaps)?

15:24 dreish: RSchulz: Yes, and that's probably the worst part of my idea.

15:24 Chouser: 'eval' doesn't have access to local variables

15:25 RSchulz: Not necessarily. Are you using weak hash maps or something of the sort?

15:25 Lau_of_DK: Then why does it work when I call it manually Chouser ?

15:26 dreish: No, but that looks like it might be a good idea. I was just going to use a PersistentHashMap and track the most recent read myself.

15:26 I hadn't yet figured out a way to do that that wouldn't be ridiculously slow.

15:27 Chouser: Lau_of_DK: you're passing the local 'ast' from 'compile-ast' to 'infixed', which then tries to use the name 'ast' in eval.

15:27 RSchulz: You should at least familiarize yourself with the Weak and Phantom (and there's one more, I think) Reference types. They're meant for this sort of thing.

15:27 Chouser: your stand-alone test doesn't refer to any local.

15:28 RSchulz: Package java.lang.ref

15:28 Lau_of_DK: Ok Chouser - ..... How do I bend this to my will ?

15:28 dreish: RSchulz: Thanks. I'll think about that.

15:28 RSchulz: Soft, Weak and Phantom, each with different retention and notification policies.

15:29 Chouser: Lau_of_DK: don't use eval. :-)

15:29 Lau_of_DK: Can you rephrase that to a variant of "use ..." ?

15:29 RSchulz: Using them in a way that interacts intelligently with Clojure's STM may require support in the Clojure data structures types, but that's just a vague hunch.

15:37 hiredman: woa

15:37 java.lang.ref is pretty cool

16:00 RSchulz: hiredman: Is this the first you've seen the java.lan.ref classes?

16:04 hiredman: yes

17:01 Chousuke: hm

17:01 I've been doing some pretty drastic refactoring of clojurebot

17:01 and it still connects to teh internets.

17:01 dreish: It's gone. That does seem pretty drastic.

17:01 Chousuke: nah, that's hiredman's version

17:01 I have my own

17:01 dreish: Oh.

17:02 Chousuke: now my problem is to figure out why it does not respond to my queries

17:03 it outputs debugging stuff for commands I send to it, but it doesn't respond

17:16 I'm using (binding) a lot though; maybe there's something wrong with my logic and some variable stays unbound

17:16 oh well, I'll figure it out later

18:31 hiredman: so clojurebot did not nae crash, the computer running it did

18:35 ,4

18:38 Chousuke: hm

18:39 hiredman: ,4

18:39 grrr

18:40 Chousuke: hiredman: I spent some time today trying to refactor clojurebot but currently my version is in a state of non-workiness :)

18:40 hiredman: ,(identity 4)

18:40 clojurebot: 4

18:40 Chousuke: will see tomorrow if I can make my version work

18:40 hiredman: I moved the sandbox stuff into it's namespace

18:41 own

18:41 Chousuke: oh. where is that?

18:41 I started from your gist from 2 days ago

18:41 hiredman: http://gist.github.com/39813

18:42 Chousuke: hmm, looks like should be easy to integrate into my version

18:42 that*

18:42 hiredman: (box ...) at the end there is what I am using

18:42 you said you started a github project?

18:42 maybe I should just fork yours

18:43 Chousuke: this is where I am at the moment http://github.com/Chousuke/clojurebot/tree/clojurebotv2-BROKEN

18:43 it's not working yet, so I kept master separate

18:43 * hiredman forks you

18:45 Chousuke: a lot of that new structure is based on wishful thinking, really.

18:45 I'm hoping I can make it work :P

18:46 hiredman: does git actually track syslinks or can I just add a syslink and it will pick up the actual file?

18:47 Chousuke: I think symlinks should work.

18:47 er, I mean, I think git tracks them :P

18:47 hiredman: so they won't work

18:49 clojurebot: where are you is <reply>http://github.com/hiredman/clojurebot/tree/master

18:49 clojurebot: You don't have to tell me twice.

18:51 hiredman: license wise, uh, MIT X11?

18:52 Chousuke: sounds fine I guess.

18:53 hiredman: http://github.com/hiredman/clojurebot/graphs/languages <-- nice

18:53 Chousuke: heh

18:58 I merged your foos :P

19:02 Being somewhat of a perfectionist I prefer not exposing weird commit messages to the public. I develop on a local branch and when done cleanup in another branch that is then merged with master and pushed. :)

19:03 hiredman: <-- just starting with git

19:03 arbscht_: is '+' considered a numeric character, when naming symbols?

19:03 Chousuke: no

19:03 hiredman: it's pretty easy really

19:03 hiredman: seems zippy

19:03 like some kind of italian car

19:03 Chousuke: say you start on master, and get a cool idea for a neat feature

19:04 arbscht_: Chousuke: was that 'no' in response to me?

19:04 Chousuke: yes

19:04 arbscht_: ok :)

19:04 Chousuke: hiredman: so you do "git branch development"

19:04 hack away

19:04 arbscht_: then '+5x should be a legal symbol name, right?

19:05 Chousuke: I think so

19:05 hiredman: then again, from the dev branch, "git branch cleanup"

19:05 hiredman: and after that, git rebase --interactive master

19:05 RSchulz: Actually, I think Clojure must do something like CL's "potential number" thing, because +5x doesn't read.

19:06 Chousuke: oh. hmm :/

19:06 RSchulz: user=> +5x

19:06 java.lang.NumberFormatException: Invalid number: +5x

19:07 Chousuke: hiredman: rebase -i is really scary: it allows you to edit commits in any way you want.

19:07 and as long as you edit only local commits, there is no danger of breaking anything.

19:07 hiredman: is there a way I can merge my clojurebot.clj with your 2205aba170852515641be694748d5d3ab4d2c21e

19:08 (renaming globals to use **)

19:08 Chousuke: hm

19:08 didn't you get that when you forked?

19:09 or did you overwrite it?

19:10 hiredman: uh, yeah I guess I did

19:12 Chousuke: I think it'll be easier to just redo the changes by hand

19:12 * hiredman fails at git

19:12 Chousuke: "git diff HEAD 2205" in your branch shows there are many other changes too

19:13 it *might* be possible to pick just the correct chunks but...

19:13 too much work :D

19:13 hiredman: yeah

19:15 RSchulz: Perhaps git failed hiredman??

19:16 Chousuke: working with git's pretty fun

19:17 even with just clojurebot I have 5 local branches and 5 remote ones

19:20 it takes a while to "get" how commits, the index, and merging/rebasing works with git, but after it clicks, it's rather pleasant

19:22 hiredman: pepperoni and bacon pizza

19:25 RSchulz: hiredman: Was that directed at your TiVo??

19:26 hiredman: no, just bragging

19:26 RSchulz: I... see... ... No I don't.

19:26 hiredman: I have pepperoni and bacon pizza, do you?

19:27 RSchulz: I'm a vegetarian.

19:27 Chousuke: we need more branches fro clojurebot so that the network graph can look something like this: http://lwn.net/images/ns/kernel/gitk-octopus.png

19:27 RSchulz: I have pesto pizza. Yum!

19:27 hiredman: oh, sorry, I hope you get well soon :P

19:28 I don't have flash so I can view the graph

19:28 Chousuke: it's not very interesting right now

19:28 RSchulz: Actually, I'm probably less likely to need convalescence!

19:29 What app is displayed in that "octopus" graphic?

19:29 Chousuke: you mean the GUI showing the graph? gitk

19:30 RSchulz: Yeah.

19:30 I need to move to newer Linux box. There isn't even a git port for this one.

19:30 Chousuke: what. how old is it? :P what distribution are you running?

19:30 it's a crappy GUI but it comes with git by default

19:30 RSchulz: It's just that I have it _so_ customized and tuned to my linking, I loathe having to upgrade.

19:31 SuSE Linux 10.0, here. I have a 10.3 box, too.

19:31 Chousuke: I suffered severe trauma with Redhat and Mandrake some years ago, so I'm nostly a debian/ubuntu guy

19:32 right now I'm using OS X though :P

19:32 RSchulz: I was a bit peeved to see that the latest Enclojure release only supports MacOS X, though I'm not even sure why it should matter.

19:32 I was more than a bit peeved when my iMac died...

19:32 Chousuke: I think I could bear using anything except RPM based distros or gentoo.

19:33 RSchulz: What's wrong with RPM? In openSUSE it's mostly buried, though I make some use of it directly even with YaST.

19:33 Chousuke: Probably nothing wrong with it nowadays

19:33 I just have trauma :P

19:34 hiredman: ugh

19:34 yeah

19:34 I haven't used rpm in over ten years, still makes me wince

19:35 RSchulz: Works for me.

19:35 Chousuke: for my gentoo dislike I have even less basis

19:35 since I've never actually used it

19:35 hiredman: you don't like to funroll your loops?

19:35 RSchulz: I really just want to _use_ my Linux box, not spend endless hours administering it. So far, SuSe / openSUSE has made that feasible.

19:35 Chousuke: but somehow all the things I hear about it have caused me to form a kind of "anti-caring" opinion of it.

19:36 meaning I don't care, nor do I want to :P

19:36 RSchulz: But... But! You ... You MUST care! Religion MATTERS!!

19:36 Chousuke: maybe only if you're a matterialist?

19:37 RSchulz: A whatist?

19:37 Never mind. It's immaterial.

19:37 Chousuke: sorry, I'm tired, can't resist the opportunity to make horrible puns :(

19:37 RSchulz: Puns are either horrible or irrelevant.

19:37 Your choice.

19:41 Chousuke: hiredman: still there?

19:41 hiredman: yessir

19:42 Chousuke: I noticed it seems to be possible to cherry-pick and re-apply my simplification changes

19:49 hm

19:49 maybe not

19:49 :(

19:57 dreish: hiredman: Are you using slicehost for clojurebot?

19:57 hiredman: no

19:57 dreish: Ah, I thought someone said that here earlier this week.

20:04 Chousuke: hiredman: hint: if you want to track my branches in your local branches: git remote add chousuke git://github.com/Chousuke/clojurebot.git; git remote update; git checkout chousuke/master -b local-tracking-branch

20:05 after that you can checkout to local-tracking-branch and you should be able to "git pull" master from my github repo to that branch

20:09 hiredman: my mind is blown

20:10 Chousuke: I'm already tracking you in hired-master :P

20:10 merged some of your changes too; it was just "git merge hired-master" in my own master branch

20:14 hiredman: interesting

20:16 Chousuke: you should sync with my repo too before you start making changes to clojurebot.clj

20:17 hiredman: I think I did

20:17 just git merge yourbranch

20:17 yes?

20:17 Chousuke: should work

20:17 you can always try it in a test branch first

20:18 hiredman: I mean I already did it

20:18 Chousuke: did you push that to github too?

20:19 hiredman: did now

20:20 Chousuke: hm, you really named it local-tracking-branch :)

20:20 hiredman: well, yeah I pasted what you said :P

20:21 * hiredman renames that

20:21 hiredman: I added a LICENSE

20:21 Chousuke: instead of creating a local tracking branch you can also "git pull chousuke/master master"

20:22 hiredman: I see

20:24 Chousuke: or actually just git pull chousuke master

20:24 sometimes it gets confusing, but the man pages are your friend :)

Logging service provided by n01se.net