code logs -> 2012 -> Sun, 29 Jul 2012< code.20120728.log - code.20120730.log >
--- 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
code logs -> 2012 -> Sun, 29 Jul 2012< code.20120728.log - code.20120730.log >

[ Latest log file ]