--- Log opened Sun Jul 29 00:00:00 2012 |
00:25 | | You're now known as TheWatcher[T-2] |
00:37 | | You're now known as TheWatcher[zZzZ] |
01:12 | <&ToxicFrog> | Fuck all web browsers forever |
01:12 | <&ToxicFrog> | I'm almost desperate enough to try Firefox again |
01:12 | <&McMartin> | It's worth a shot, especially with your new workflows. |
01:16 | <&ToxicFrog> | Chrome has been working out OK except when it fails in completely nonsensical ways, like refusing to download to any sort of network mount or generate sensible error messages when that happens |
01:17 | <&ToxicFrog> | My biggest concern with FF is that googling seems indicate that features I consider absolutely critical, like automatic save/restore of the tabset, are still relegated to extensions. |
01:18 | <&McMartin> | Aha. |
01:23 | <&ToxicFrog> | And my previous experiences with FF extensions have been uniformly awful. |
01:24 | <&McMartin> | Pretty much |
01:24 | <&McMartin> | NoScript is OK~ |
01:24 | < froztbyte> | not really |
01:24 | <&McMartin> | I didn't say it was good |
01:24 | < froztbyte> | err, sorry |
01:24 | < froztbyte> | I was still on tf's lines |
01:24 | < froztbyte> | but the tab-state thing has been solid for a few releases now |
01:25 | < froztbyte> | in the prefs menu, set it to recover your tabs from a previous session, and tick the "don't load until I click on them" box |
01:25 | <&ToxicFrog> | froztbyte: and it saves the tabs under all circumstances, not just when it crashes? |
01:25 | < froztbyte> | yeah |
01:25 | <&ToxicFrog> | Because last time I tried, it would auto-restore tabs if it crashed (or try to) but quitting normally would discard the |
01:25 | <&ToxicFrog> | *them. |
01:26 | < froztbyte> | it even manages to save all my panorama workspaces nicely |
01:26 | < froztbyte> | (ctrl+shift+e -> panorama) |
01:26 | < froztbyte> | I think they might be called Tab Groups after a rename, not sure |
01:26 | < froztbyte> | anyway, I give chrome a proper shot every now and then |
01:26 | < Rhamphoryncus> | Doesn't save my workspaces properly. Rather, it saves the tabs, but forgets where the windows are or what size or that they were maximized |
01:26 | < froztbyte> | it's just .... worse for me |
01:26 | < froztbyte> | so I use Fx and Fx Nightly |
01:27 | < froztbyte> | both are much less heavy on RAM, do what I expect more often, and in Nightly's case usually on par with speed (on complex enough things for it to matter) |
01:27 | < Rhamphoryncus> | ToxicFrog: I think there's an issue with multiple windows vs single window. With just one "quit" can mean "close all these tabs" rather than quit |
01:27 | < froztbyte> | ah |
01:27 | < froztbyte> | I've noticed that |
01:27 | < Rhamphoryncus> | firefox.. fast? |
01:28 | < Rhamphoryncus> | Maybe for the first 10 minutes |
01:28 | < froztbyte> | if you press the exit button top-right on a window when you have more than one of them |
01:28 | < froztbyte> | you wanna use file -> quit |
01:28 | < froztbyte> | otherwise the exit button means "close this window" |
01:28 | < Rhamphoryncus> | days later though it's chop-central |
01:28 | < froztbyte> | I can't really say I find that to be the case here :/ |
01:28 | < froztbyte> | and it's not like I don't load it heavily, either |
01:29 | <&ToxicFrog> | Yeah, the other problem I've historically had with FF is runaway memory usage |
01:29 | < Rhamphoryncus> | Might be extension related, but it's hard to tell when it takes an indeterminate number of days to be noticed |
01:29 | < froztbyte> | though I don't know of a nice easy way to track stats with it |
01:29 | < froztbyte> | Rhamphoryncus: oh, yeah, the extension tracking issue is quite painful |
01:29 | < froztbyte> | they're working on that |
01:29 | < froztbyte> | recently it became possible to track memory usage for containers |
01:29 | < Rhamphoryncus> | FF has always been a massive memory hog. Same thing actually, it takes days to show up |
01:29 | <&ToxicFrog> | Which I have never observed with Opera, and not yet with Chrome |
01:30 | < froztbyte> | which was quite an extensive set of modifications, I'm led to believe |
01:30 | < Rhamphoryncus> | but FF is literally the reason why I bought 8 gigs rather than 4 gigs |
01:30 | <&ToxicFrog> | (and Chrome is also nice because if you need to temporarily reclaim memory, you can just kill the most expensive tab-processes and they'll come back next time you look at that tab) |
01:30 | < froztbyte> | anyway, gimme a moment |
01:30 | < froztbyte> | Chromium 1,395,568k 178,920k |
01:30 | < froztbyte> | Firefox 888,892k 30,616k |
01:30 | <&ToxicFrog> | (rather than having to kill the entire browser, or close tabs and pray that it free()s some of the resources associated with them (spoiler alert: it won't) |
01:30 | < froztbyte> | that was from earlier this week on my work laptop |
01:30 | < froztbyte> | Fx had at least 20 more tabs |
01:30 | < Rhamphoryncus> | 8 would leave it usable after a couple days, when it was using several gigs already. With 4 it'd already be thrashing |
01:31 | < froztbyte> | I basically have to cull my chromium instances every 2~3 days |
01:31 | < froztbyte> | otherwise I start swapping like mad |
01:31 | < Rhamphoryncus> | FF is listed at a gig resident, two gigs virtual |
01:32 | | * ToxicFrog ponders if the actual answer here is to go back to opera 11.x. |
01:32 | < Rhamphoryncus> | But.. everything on linux uses an inordinate amount of ram |
01:32 | < Rhamphoryncus> | pidgin is 60 megs resident, 1.4 gigs virtual. Actually pretty low on resident today.. |
01:33 | < Rhamphoryncus> | scribes? 52 megs resident, 674 megs virtual |
01:33 | < Rhamphoryncus> | xchat is similar |
01:34 | < Rhamphoryncus> | It could be those are mmapped files.. no sane way to tell. Although overall swap usage is low |
01:34 | <&McMartin> | The virtual is essentially free. |
01:34 | <&McMartin> | It's just pre-earmarked. |
01:35 | < Rhamphoryncus> | There isn't any file they should be mmapping that large |
01:35 | < Rhamphoryncus> | McMartin: theoretically |
01:35 | <&ToxicFrog> | McMartin: and shared libraries |
01:35 | <&McMartin> | My Linux machine only has a gig of RAM and I don't actually swap with it much. |
01:35 | < Rhamphoryncus> | My experience is the unnecessarily large address space just masks the real abuses that are included in virtual memory |
01:36 | < Rhamphoryncus> | McMartin: .. do you have X? :P |
01:36 | <&ToxicFrog> | But yeah, if you look at VSS, I currently have something like 40GB alloated |
01:36 | <&ToxicFrog> | Of the 3GB in this system |
01:36 | <&McMartin> | Rhamphoryncus: It's running GNOME 3 and can run FF and Emacs simultaneously in a GNOME 3 session. |
01:36 | < Rhamphoryncus> | >.< |
01:36 | <&ToxicFrog> | If you look at actual memory in use, it's at 2GB. |
01:36 | <&McMartin> | "Virtual charge" is *completely* meaningless. |
01:36 | < Rhamphoryncus> | They like your box much more than mine |
01:36 | <&ToxicFrog> | +600MB or so of block cache. |
01:37 | <&McMartin> | On the othe rhand, I can't run Scala on *anything*. |
01:37 | <&McMartin> | Not even Hello World. |
01:38 | <&ToxicFrog> | McMartin: that actually leads me to wonder if there is something wrong with your default JVM configuration or something |
01:38 | <&McMartin> | It seems really plausible. |
01:38 | <&McMartin> | Clojure does seem to be faster generally, given your experience with Kessler - but the difference is enormous between them on Iodine. |
01:38 | <&ToxicFrog> | Because while Scala is a memory hog, I can successfully run IDEA, the Scala compile server, a browser, and some random scala program concurrently on this 3GB laptop |
01:39 | <&ToxicFrog> | Barely, mind you |
01:39 | <&McMartin> | That makes me think that Scala's doing something Clojure isn't that's killing the system. |
01:39 | <&ToxicFrog> | But without problems as long as I don't, say, also do 'lein repl' or something |
01:39 | <&ToxicFrog> | And yeah, in general clojure seems to be much smaller and have a smaller memory footprint. |
01:49 | | * ToxicFrog experimentally feeds it a 2MB SFS file |
01:49 | <&ToxicFrog> | Seems to hit steady state around 800MB memory usage. |
03:00 | | Kindamoody[zZz] is now known as Kindamoody |
03:31 | | * McMartin completes all problems of difficulty Medium or less on 4clojure. |
03:31 | <&McMartin> | And about half the Hard problems. |
03:31 | <&McMartin> | 4clojure's timeout mechanic is kind of dumb |
03:33 | <&McMartin> | It appears to lock up on Java interop, which is also clearly necessary for some of the problems. |
03:33 | <&McMartin> | But you can dick around with inappropriate bits of clojure.core and it works fine. |
03:35 | <&McMartin> | (Specifically, instead of calling Long/valueOf I am instead passing it to (comp long bigint) |
04:23 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [NickServ (GHOST command used by chriswei_)] |
04:23 | | Derakon [chriswei@A2BA3E.B9B7BA.69087F.47AF3F] has joined #code |
04:23 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:24 | <&Derakon> | Question time! |
04:24 | <&Derakon> | I need to put Pyrel up on some kind of open-source repository/project-control thingy. |
04:24 | <&Derakon> | Pyrel being my Python reimplementation of Angband. |
04:25 | <&Derakon> | The current Angband development is largely on Github. |
04:25 | <&Derakon> | I've expressed my distaste for git (in favor of mercurial) in the past, but it does do something I rather like -- everyone can make a GitHub account, use it to fork an existing project, do some development, push to their repo, and then request someone on the "master" project to integrate their patch. |
04:25 | <&Derakon> | To my knowledge things like Google Code cannot do this. |
04:26 | <&Derakon> | Though Google Code does provide ticket tracking and a wiki, which are useful even if you don't use the source repo. |
04:27 | <&Derakon> | There's Bitbucket, which AFAI am aware is basically Github for mercurial...should I just end up using Google Code for project management and something else for source control? |
04:27 | <&Derakon> | Any suggestions? |
04:30 | <&Derakon> | (I guess Saturday evenings are not the best time to be asking this kind of question here...) |
04:32 | <&McMartin> | My understanding is that bitbucket.org is Like Github But For Mercurial. |
04:32 | <&McMartin> | Oh, which you said in those words |
04:32 | <&Derakon> | Glad to know that my prognosis was accurate though. |
04:32 | <&McMartin> | But it does have the fork capability as well |
04:33 | <&Derakon> | Cool. |
04:34 | <&Derakon> | Any thoughts on mixing that with Google Code or other open-source project management system? |
04:34 | <&McMartin> | I've only ever had bad experiences with trying to sync things across multiple sites. |
04:37 | <&Derakon> | My assumption would be that the Google Code "instance" of the code would be synced only when a new version is published and binaries are available. |
04:38 | <&Derakon> | Alternately the actual repo on Google Code could be left blank and just the ticketing/wiki could be used. |
04:51 | | Attilla [Obsolete@Nightstar-5dc38631.as43234.net] has quit [Ping timeout: 121 seconds] |
04:52 | | Kindamoody is now known as Kindamoody|afk |
04:54 | <&Derakon> | In any event, it sounds like it should be safe to make a Bitbucket repo. |
05:07 | <&Derakon> | And there we go. https://bitbucket.org/derakon/pyrel |
05:12 | | Kindamoody|afk is now known as Kindamoody |
05:47 | | io|BAND_CAMP is now known as iospace |
05:48 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has joined #code |
05:48 | | mode/#code [+o Vash] by ChanServ |
06:03 | | Derakon [chriswei@A2BA3E.B9B7BA.69087F.47AF3F] has quit [[NS] Quit: Leaving] |
06:03 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
06:03 | | mode/#code [+ao Derakon Derakon] by ChanServ |
06:04 | <&ToxicFrog> | Derakon: FYI, github also has issue tracking and wiki support |
06:05 | <&ToxicFrog> | Given that Bitbucket is LGHBFHg I'd expect it to as well. |
06:34 | <~Vornicus> | lghbfhg? |
06:34 | <~Vornicus> | Okay, decoded |
06:34 | <~Vornicus> | Not something I'd acronymize, that |
06:38 | | Vash [Vash@Nightstar-e8057de2.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
06:46 | | iospace is now known as io\t-2 |
06:50 | | io\t-2 is now known as iospacedout |
07:02 | | Nemu [NeophoxProd@Nightstar-8124418f.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
08:14 | | * McMartin -_- at 4clojure |
08:14 | <&McMartin> | These are *bad people* |
08:15 | <&McMartin> | Solving this problem has made me a *worse programmer* |
08:18 | <&McMartin> | http://www.4clojure.com/problem/113 |
08:18 | <&McMartin> | Seriously |
08:21 | | * rms is really curious what LGHBFHG means now |
08:22 | <&McMartin> | Like Git Hub But For Mercurial |
08:22 | < rms> | Ah |
08:22 | < rms> | Yeah... I wouldn't acronymize that either |
09:00 | | Nemu [NeophoxProd@Nightstar-cf3aa501.asahi-net.or.jp] has joined #code |
10:51 | | Kindamoody is now known as Kindamoody|movie |
11:21 | | You're now known as TheWatcher |
11:56 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
12:35 | <~Vornicus> | I dreamed last night that I went to McM's rummage sale and found my old C64 PRG, with my name on the back cover in shitty 1st grader cursive. |
12:38 | < sshine> | I dreamt some drug addicts were kicking foals on a field. |
12:41 | <~Vornicus> | Somewhere along the line I also picked up a 1541, complete with spurious IDE cable |
12:47 | <~Vornicus> | also I like that mainpage faq: "So wait, I can't buy cheap real estate here?" |
12:51 | <~Vornicus> | er, 4clojure.com's mainpage faq |
13:02 | | Attilla [Obsolete@Nightstar-e1aa90d7.as43234.net] has joined #code |
13:15 | | Attilla [Obsolete@Nightstar-e1aa90d7.as43234.net] has quit [Ping timeout: 121 seconds] |
13:21 | | Attilla [Obsolete@Nightstar-e1aa90d7.as43234.net] has joined #code |
14:18 | | Kindamoody|movie is now known as Kindamoody |
14:44 | | iospacedout is now known as iospace |
16:32 | < sshine> | I'm trying to solve the coin-changing problem functionally |
16:32 | < sshine> | coins = [1,2,5,10,20,50,100,200] |
16:32 | < sshine> | f :: Int -> [[Int]] |
16:32 | < sshine> | f 0 = [[]] |
16:32 | < sshine> | f rest = concatMap (\c -> map (c:) . g $ rest - c) (filter (<= rest) coins) |
16:33 | < sshine> | this has the unfortunate side-effect that I generate all permutations of the same change. |
16:36 | < sshine> | e.g. f 5 ==> [[1,1,1,1,1],[1,1,1,2],[1,1,2,1],[1,2,1,1],[1,2,2],[2,1,1,1],[2,1,2],[2,2,1],[5] ] |
16:38 | < sshine> | so if I do: (nub . map sort . f) 5, I get what I want. |
16:39 | < sshine> | so I figure, why don't I just nub in every iteration to reduce an explosion in results. |
16:43 | < sshine> | only, that doesn't seem to work for me. |
16:45 | < sshine> | f rest = concatMap (\c -> nub . map (sort . (c:)) . g $ rest - c) (filter (<= rest) coins) |
16:56 | < sshine> | then f 5 ==> [[1,1,1,1,1],[1,1,1,2],[1,2,2],[1,1,1,2],[1,2,2],[5]], which suggests that it doesn't work for all iterations. |
17:05 | < sshine> | perhaps that's just an off-by-one, but it's not a good solution anyways. |
17:24 | < sshine> | ah, never mind. I can be more greedy for better performance. |
17:59 | | rms is now known as Vasi |
18:00 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
18:35 | | Kindamoody [Kindamoody@Nightstar-05577424.tbcn.telia.com] has quit [[NS] Quit: Reboot!!!] |
18:40 | | Kindamoody [Kindamoody@Nightstar-05577424.tbcn.telia.com] has joined #code |
18:40 | | mode/#code [+o Kindamoody] by ChanServ |
19:07 | | Kindamoody is now known as Kindamoody[zZz] |
19:38 | <&McMartin> | Vornicus: The back cover of my PRG (as well as the various tearouts) has been missing for years |
19:38 | <&McMartin> | So you never know |
20:20 | <~Vornicus> | sshine: way I'd do it is make sure that you work your way through the coin sizes in order. |
20:21 | <&McMartin> | The greedy algorithm is not guaranteed to work for coin-changing in the general case. |
20:23 | | * McMartin consults one of his old textbooks |
20:24 | <&McMartin> | ... in fact, it either is or is closely related to an NP-complete problem. |
20:26 | <~Vornicus> | It's not hard, procedurally |
20:26 | <&McMartin> | It's not terribly hard functionally either. |
20:27 | <&McMartin> | The ML solution I have here in the textbook is six lines long. |
20:39 | < froztbyte> | which problem number is that one? |
20:39 | <&McMartin> | AFAIK, it's not. |
20:39 | <&McMartin> | It is, however, the motivating example for lists in Chapter 3 of "ML for the Working Programmer" |
20:40 | < froztbyte> | ah |
20:40 | < froztbyte> | haha |
20:41 | <&McMartin> | (It uses recursion though, not list transformers. As there is a backtracking element to all general solutions I'm not sure how good an idea list transforers are here) |
20:45 | < froztbyte> | just quickly summarise for me though please, the problem is specifically ... ? |
20:46 | < froztbyte> | (it's out of my visible scrollback and the backfetch appears to be slow -_-) |
20:46 | <&McMartin> | Making change give a sum of money and a set of denominations |
20:47 | <&McMartin> | More exciting for systems like the pre-decimal British monetary system where the greedy algorithm actually doesn't work. |
20:47 | < froztbyte> | ah I see |
20:48 | < froztbyte> | iirc the first time I encountered that (in primary school, as a test on one of their educational programs), I used a stack-like approach |
20:48 | < froztbyte> | and just popped things off the top as I could go along |
21:11 | <~Vornicus> | I used, uh |
21:13 | <~Vornicus> | change_combos = [0 for k in range(TARGET + 1)]; change_combos[0] = 1; for coin in COINS: for n, count in enumerate(change_combos[:-coin]): change_combos[n + coin] += count |
21:13 | <~Vornicus> | I think, anyway, I haven't looked at my actual solution. |
21:19 | <~Vornicus> | (this is, I think, approximately as smooth as it gets) |
21:23 | | Vasi is now known as rms |
21:23 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code |
21:24 | <~Vornicus> | There is a moneychanging problem in euler |
21:26 | <~Vornicus> | http://projecteuler.net/problem=31 yeah. |
21:44 | <~Vornicus> | (note: the result for that is almost but not quite large enough that I don't know how performant you'll get an actual enumerate solution. |
22:08 | <&McMartin> | God, 4clojure, you are such a fuckup site. |
22:08 | | * McMartin loses interest in most of the remaining problems. |
22:08 | <&McMartin> | This is kind of an interesting problem: |
22:08 | <&McMartin> | http://www.4clojure.com/problem/130 |
22:09 | <&McMartin> | "Each node is represented as a vector..." |
22:09 | <&McMartin> | Number of vectors in the given test cases: zero |
22:09 | <&McMartin> | Number of lists in the given test cases: many |
23:09 | | cpux|2 [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code |
23:11 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [Ping timeout: 121 seconds] |
23:22 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
--- Log closed Mon Jul 30 00:00:15 2012 |