2008-12-24
| 00:07 | Chouser | hiredman: you could send the strings to a separate JVM process, and kill that off every few minutes |
| 00:08 | hiredman | :( |
| 00:09 | hiredman | I think I have the stop access to certain forms thing figured out |
| 00:10 | hiredman | now I just need to learn about thread groups |
| 00: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? |
| 00:11 | hiredman | I mean people can still pee in the sandbox if I just use the jvm's sandboxing stuff |
| 00:11 | hiredman | I think there is a way to actually clamp down on what classes can run |
| 00:12 | hiredman | but that will undoubtly begin to interfere with the clojure runtime |
| 00:12 | hiredman | "Thread groups are best viewed as an unsuccessful experiment, and you may simply ignore their existence." |
| 00:12 | hiredman | how encouraging |
| 00: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. |
| 00: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 |
| 00: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 |
| 00:24 | hiredman | :( |
| 00:24 | hiredman | seems so messy |
| 00: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? |
| 00:25 | Chouser | anyway, it's just a thought. |
| 00:25 | Chouser | your box, your bot, you should do whatever you want. :-) |
| 00:27 | Chouser | clojurebot has proven his value in providing docs and svn announcements, seems to me. |
| 00:28 | hiredman | http://www.haskell.org/haskellwiki/Safely_running_untrusted_Haskell_code |
| 00:30 | hiredman | I do really miss having that machine around |
| 00:31 | hiredman | 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 |
| 00:33 | hiredman | ugh |
| 00:33 | hiredman | christ |
| 00:33 | hiredman | I'll have to reinstall java |
| 00:37 | danlarkin | my belly hurts from laughing so much at this wacky japanese game show on hulu |
| 00:46 | danlarkin | pg strikes again! http://www.reddit.com/r/programming/comments/7lf1u/coding_challenge_divide_a_list_into_n_sublists/ |
| 01:21 | kogu | hi, anyone using slime here? |
| 01:22 | kogu | 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 |
| 01:22 | kogu | but now, when i run a function, my emacs window is split in half, how do i prevent that? |
| 01:51 | yangsx | kogu: C-x 1 or C-x 0 depending on which one you want to hide |
| 05:17 | hiredman | ,(println :foo) |
| 05:17 | hiredman | clojurebot: hello? |
| 05:17 | clojurebot | Excuse me? |
| 05:21 | bOR_ | clojurebot has become sentient? |
| 05:22 | hiredman | hmmm |
| 05:23 | hiredman | (use '[foo.bar :as f]) should let me call functions from foo.bar as f/function |
| 05:23 | hiredman | ? |
| 05:24 | hiredman | or is that require? |
| 05:24 | hiredman | must be require |
| 05:24 | hiredman | nevermind |
| 05:30 | hiredman | ,(println :foo) |
| 05:30 | clojurebot | :foo |
| 06:17 | Chousuke | hiredman: what's the licence on clojurebot btw? :P |
| 06:20 | Chousuke | hiredman: I made a clojurebot git project for myself, and just noticed that without a licence, I'm not allowed to do so :/ |
| 06:20 | Chousuke | github project* |
| 10:22 | Lau_of_DK | Good afternoon all |
| 10:22 | danlarkin_ | morning |
| 10:22 | danlarkin_ | 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 | danlarkin | oh to be a monarch |
| 10:29 | Chousuke | Lau_of_DK: he was right though. |
| 10:29 | Chousuke | 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 | Lau_of_DK | (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 | Chousuke | also, <3 git |
| 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 | Lau_of_DK | 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 | 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 | Lau_of_DK | Chouser: Are you partying tonight, or do you have time for going through a macro ? |
| 10:38 | drewr | I do like magit's log history viewing. |
| 10:39 | Lau_of_DK | You doo? |
| 10:39 | Lau_of_DK | Maybe you'd want to check out Egg then |
| 10:39 | Lau_of_DK | 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 | Lau_of_DK | Good Chouser :) nps |
| 10:45 | gnuvince_ | What is that fond? |
| 10:45 | gnuvince_ | 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 | Lau_of_DK | 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 | Lau_of_DK | 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 | Lau_of_DK | regarding the video, the font is not mono, thats why everything isnt aligned in EGg |
| 10:50 | Lau_of_DK | 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 | Lau_of_DK | Anyway, got to serve dinner for the kids :) |
| 11:00 | hiredman | clojurebot: ping? |
| 11:00 | clojurebot | PONG! |
| 12:14 | Lau_of_DK | dk.bestinclass.clojureql> (def xst '(> 3 5)) |
| 12:14 | Lau_of_DK | #'dk.bestinclass.clojureql/xst |
| 12:14 | Lau_of_DK | dk.bestinclass.clojureql> (where xst) |
| 12:14 | Lau_of_DK | "xst" |
| 12:14 | Lau_of_DK | dk.bestinclass.clojureql> (where '(> 3 5)) |
| 12:15 | Lau_of_DK | "3 > 5" |
| 12:15 | Lau_of_DK | |
| 12:15 | Lau_of_DK | 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 | Lau_of_DK | duck1123: ClojureQL is nearly at alpha, I need to sort out the backend, which I might get through tonight |
| 12:36 | Lau_of_DK | 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 | Lau_of_DK | 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 | duck1123 | 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 | Lau_of_DK | 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 | Lau_of_DK | 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 | Lau_of_DK | 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 | Lau_of_DK | (run-query (sql (query [col1 col2] table1 (or (> col1 col2) (= col1 100))))) |
| 12:55 | Lau_of_DK | "SELECT (col2,col1) FROM (table1) WHERE col1 > col2 or col1 = 100" |
| 12:55 | Lau_of_DK | This actually fires now, which is nice |
| 12:59 | clojurebot | svn rev 1181; change to AtomicLong for lastPoint |
| 12:59 | clojurebot | svn rev 1182; with-open accepts multiple bindings, patch from Meikel Brandmeyer |
| 12:59 | clojurebot | svn rev 1183; more uniform map literal implementation |
| 12:59 | clojurebot | svn rev 1184; ~x not in syntax-quote yields (clojure.core/unquote x) clojure.core/unquote has no root binding |
| 12:59 | clojurebot | 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: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 | duck1123 | "where (> 3 5)" |
| 13:21 | duck1123 | |
| 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 | Lau_of_DK | 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 | Lau_of_DK | 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 | danlarkin | 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 | RSchulz | Meaning one present for every two days of the year. |
| 14:58 | danlarkin | 364 + 1 |
| 14:58 | danlarkin | oh. |
| 14:58 | danlarkin | jeez |
| 14:58 | danlarkin | that hurts |
| 14:59 | RSchulz | Puns are fun! |
| 14:59 | RSchulz | 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 | RSchulz | Not yet! |
| 14:59 | RSchulz | 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 | RSchulz | 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 | dreish | 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 | hiredman | 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 | RSchulz | (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 | RSchulz | Every snoman I've seen has been naked. |
| 15:04 | RSchulz | 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 | RSchulz | Though it could be someone giving me the finger. It's kind of hard to tell at that size. |
| 15:07 | dreish | ? |
| 15:07 | dreish | 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 | hiredman | well, I can't fix it |
| 15:10 | hiredman | no access to the box it is running on at home |
| 15:10 | hiredman | I wonder what the hell broke it |
| 15:11 | danlarkin | was it ,4 ? |
| 15:11 | hiredman | oh |
| 15:11 | hiredman | hmmmmmm |
| 15:11 | hiredman | the sandbox thing has change considerably lately |
| 15:11 | hiredman | 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 | hiredman | uh |
| 15:13 | hiredman | 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 | dreish | 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 | hiredman | 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 | dreish | 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 | dreish | 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 | dreish | 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 | hiredman | 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 | Chousuke | I've been doing some pretty drastic refactoring of clojurebot |
| 17:01 | Chousuke | 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 | Chousuke | 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 | Chousuke | it outputs debugging stuff for commands I send to it, but it doesn't respond |
| 17:16 | Chousuke | I'm using (binding) a lot though; maybe there's something wrong with my logic and some variable stays unbound |
| 17:16 | Chousuke | oh well, I'll figure it out later |
| 18:31 | hiredman | so clojurebot did not nae crash, the computer running it did |
| 18:35 | hiredman | ,4 |
| 18:38 | Chousuke | hm |
| 18:39 | hiredman | ,4 |
| 18:39 | hiredman | 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 | hiredman | own |
| 18:41 | Chousuke | oh. where is that? |
| 18:41 | Chousuke | 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 | Chousuke | that* |
| 18:42 | hiredman | (box ...) at the end there is what I am using |
| 18:42 | hiredman | you said you started a github project? |
| 18:42 | hiredman | 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 | Chousuke | it's not working yet, so I kept master separate |
| 18:45 | Chousuke | a lot of that new structure is based on wishful thinking, really. |
| 18:45 | Chousuke | 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 | Chousuke | er, I mean, I think git tracks them :P |
| 18:47 | hiredman | so they won't work |
| 18:49 | hiredman | 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 | Chousuke | I merged your foos :P |
| 19:02 | Chousuke | 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 | Chousuke | hiredman: it's pretty easy really |
| 19:03 | hiredman | seems zippy |
| 19:03 | hiredman | 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 | Chousuke | hack away |
| 19:04 | arbscht_ | then '+5x should be a legal symbol name, right? |
| 19:05 | Chousuke | I think so |
| 19:05 | Chousuke | hiredman: then again, from the dev branch, "git branch cleanup" |
| 19:05 | Chousuke | 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 | RSchulz | 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 | Chousuke | 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 | hiredman | (renaming globals to use **) |
| 19:08 | Chousuke | hm |
| 19:08 | Chousuke | didn't you get that when you forked? |
| 19:09 | Chousuke | 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 | Chousuke | "git diff HEAD 2205" in your branch shows there are many other changes too |
| 19:13 | Chousuke | it *might* be possible to pick just the correct chunks but... |
| 19:13 | Chousuke | 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 | Chousuke | even with just clojurebot I have 5 local branches and 5 remote ones |
| 19:20 | Chousuke | 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 | hiredman | 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 | RSchulz | 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 | RSchulz | 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 | Chousuke | 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 | RSchulz | 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 | Chousuke | 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 | RSchulz | 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 | Chousuke | I just have trauma :P |
| 19:34 | hiredman | ugh |
| 19:34 | hiredman | yeah |
| 19:34 | hiredman | 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 | Chousuke | 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 | Chousuke | 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 | RSchulz | 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 | RSchulz | 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 | Chousuke | hm |
| 19:49 | Chousuke | maybe not |
| 19:49 | Chousuke | :( |
| 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 | Chousuke | 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 | Chousuke | 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 | hiredman | just git merge yourbranch |
| 20:17 | hiredman | yes? |
| 20:17 | Chousuke | should work |
| 20:17 | Chousuke | 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 | 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 | Chousuke | sometimes it gets confusing, but the man pages are your friend :) |