code logs -> 2013 -> Tue, 01 Oct 2013< code.20130930.log - code.20131002.log >
--- Log opened Tue Oct 01 00:00:54 2013
00:05 ktemkin[awol] is now known as ktemkin
00:40 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
00:48 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
01:01 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
01:01 mode/#code [+o himi] by ChanServ
01:09 thalass [thalass@Nightstar-4ab061cc.bigpond.net.au] has joined #code
02:03 thalass [thalass@Nightstar-4ab061cc.bigpond.net.au] has quit [NickServ (GHOST command used by Thalasleep)]
02:03 thalass_ [thalass@Nightstar-4ab061cc.bigpond.net.au] has joined #code
02:04 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
02:20 Turaiel is now known as Turaiel[Offline]
02:43 Turaiel[Offline] is now known as Turaiel
03:06 thalass_ [thalass@Nightstar-4ab061cc.bigpond.net.au] has quit [Ping timeout: 121 seconds]
03:07 Vorntastic [Vorn@Nightstar-e164e5be.sub-70-211-3.myvzw.com] has joined #code
03:29 Kindamoody[zZz] is now known as Kindamoody
03:48 Vorntastic [Vorn@Nightstar-e164e5be.sub-70-211-3.myvzw.com] has quit [Ping timeout: 121 seconds]
03:51 Vorntastic [Vorn@Nightstar-e164e5be.sub-70-211-3.myvzw.com] has joined #code
04:18 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
04:21 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
04:21 mode/#code [+qo Vornicus Vornicus] by ChanServ
04:41 himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code
04:41 mode/#code [+o himi] by ChanServ
04:53 Derakon is now known as Derakon[AFK]
05:19 Turaiel is now known as Turaiel[Offline]
05:26 Vorntastic [Vorn@Nightstar-e164e5be.sub-70-211-3.myvzw.com] has quit [[NS] Quit: Bye]
05:38 ktemkin is now known as ktemkin[coats]
05:46 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
05:53 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
05:57 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
05:57 mode/#code [+qo Vornicus Vornicus] by ChanServ
06:32 Kindamoody is now known as Kindamoody|out
06:45 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.]
06:49 RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code
06:54 You're now known as TheWatcher
06:58 ErikMesoy|sleep is now known as ErikMesoy
07:55 Orth [Reiver@Nightstar-226b008e.xtra.co.nz] has joined #code
07:57 Orth is now known as reivles
07:58 VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
08:36 gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has quit [Client closed the connection]
08:38 gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has joined #code
08:38 mode/#code [+o gnolam] by ChanServ
09:24 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code
09:50 himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds]
09:52 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds]
10:20 AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving]
10:31
<@TheWatcher>
every time I see "libidn" I can't help but think of it as "lib-I-don't-know"
10:31 reivles [Reiver@Nightstar-226b008e.xtra.co.nz] has quit [Ping timeout: 121 seconds]
10:37
< AnnoDomini>
Heh.
10:38
<@gnolam>
Really? You don't autocorrect it to "libido"?
10:39
<@TheWatcher>
Strangely not.
10:39
< Syka>
my mind autocorrects it to libisdn
10:39
< Syka>
and i get scared
10:39
< RichyB>
gnolam, yeah, me too. :/
10:40
<@TheWatcher>
Ugh, ISDN
10:40
< AnnoDomini>
I see "lib-ibid".
10:40
< Syka>
i know right :(
10:40
< Syka>
lib-ibis
10:40
<@TheWatcher>
("It Still Does Nothing")
10:40
< Syka>
birds, in a C library
10:40
< AnnoDomini>
They eat the locusts.
10:42
< Syka>
locusts are a common problem in C code
11:33 Vornotron [vorn@ServerAdministrator.Nightstar.Net] has joined #code
11:34 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds]
12:17
<@Tarinaky>
Wibble.
12:25
<@Tarinaky>
It's incredibly hard for me to look through job boards and crap without feeling dejected.
12:25
<@Tarinaky>
mlia.
12:27
<@TheWatcher>
I think that's actually a universal constant
12:28
<@Tarinaky>
2:1 and a minimum of 260 UCAS points.
12:28
<@Tarinaky>
That's like...
12:28
<@Tarinaky>
5 As isn't it?
12:29
<@TheWatcher>
A is 120
12:29
<@TheWatcher>
A* is 140
12:30
<@Tarinaky>
Didn't have A* when I did ALevels.
12:30
<@Tarinaky>
Which was a shockingly long time ago.
12:31
<@TheWatcher>
260 is something like two Cs and a B
12:33
<@Tarinaky>
Oh. Well.
13:01 Vornotron is now known as Vornicus
13:01 mode/#code [+qo Vornicus Vornicus] by ChanServ
13:03 Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code
13:03 mode/#code [+o Pandemic] by ChanServ
13:11 Attilla [uid13723@Nightstar-1325dff0.irccloud.com] has quit [Ping timeout: 121 seconds]
13:11 jeroud [uid10043@Nightstar-7774ea6e.irccloud.com] has quit [Ping timeout: 121 seconds]
13:27 jeroud [uid10043@Nightstar-7774ea6e.irccloud.com] has joined #code
13:56 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has joined #code
13:56 mode/#code [+o celticminstrel] by ChanServ
13:59 Stalker [Z@Nightstar-b920a19c.cust.comxnet.dk] has joined #code
14:02
< Stalker>
I have 7 boxes that uses Deep Freeze. Previously I used Lenten Reborn. I'm acquiring some new boxes but I am contemplating whether SSD would be better in terms of harddisk health.
14:09
<@gnolam>
Harddisk health as in MTBF?
14:18 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Client closed the connection]
14:18 * celticminstrel has no idea what any of that means... well, other than SSD.
14:19
< ErikMesoy>
Mean Time Between Failures
14:20
<@celticminstrel>
Deep Freeze? Lenten Reborn?
14:27
< Stalker>
Sorta, yes.
14:28
< Stalker>
I believe the excessive amount of writes is causing a sharp increase in hdd failures.
14:28
< Syka>
well thats what ssds are bad at
14:29
< Stalker>
celticminstrel: Deep Freeze is the software solution, Lenten Reborn is a hardware solution to reset a machine to "factory conditions" upon every restart. Both very googlable.
14:29
< Stalker>
But not-SSDs are also extremely bad at it.
14:29
< Stalker>
MTBF is just shy of a year.
14:30
< Syka>
you need something that uses a ramdisk
14:31 * Syka had this great setup with ubuntu public use PCs, using a unionfs'd ramdisk
14:31
< Stalker>
Can I unfreeze and alter the contents regularly?
14:31
< Syka>
in my setup, it was a boot parameter
14:32
< Syka>
(spam shift to get into GRUB, take out the unionfs entry, it's now alterable)
14:32
< Syka>
Stalker: if it has to be windows, you're sorta stuck, but if linux works, you can always do insane things such as booting from NFS or something, so the PCs have no disks at all
14:33
< Stalker>
Unfortunately this is an absolute. It has to be windows. It needs a reborn system.
14:34
< Syka>
why does it have to write to the disk, even?
14:34
< Syka>
i'd have thought that deep freeze/etc would just store the changes in RAM, or something sane
14:34
< Syka>
:/
14:34
< Stalker>
It doesn't. But Lenten Reborn did and it ruined the drives. I do not have enough information about how Deep Freeze treats the harddisks.
14:35
< Stalker>
The problem with that method has been that previously the machines has only haf 1gb of RAM. I am in the process of upgrading them and thus the question.
14:47 Syka [the@Nightstar-3cfe3057.iinet.net.au] has quit [Ping timeout: 121 seconds]
14:49
< Stalker>
Hmm, can you disable the pagefile on a winbox?
14:51
< Xon>
<Stalker> I believe the excessive amount of writes is causing a sharp increase in hdd failures.
14:51
< Xon>
actually google did a study, it's temperature changes which do it
14:52
< Stalker>
How is Lenten Reborn / Deep Freeze related to temperature changes?
14:53
< Stalker>
I am 2000kmph sure that the reborn caused the hastened demise of the disk. We have a machine next door that works just fine after 6 years and the only difference is reborn.
14:55 Syka [the@Nightstar-1c1b171d.iinet.net.au] has joined #code
14:55
< Stalker>
I mean, you're not wrong. Fluctuating temperature also hastens hardware demise.
14:55 Syka [the@Nightstar-1c1b171d.iinet.net.au] has quit [[NS] Quit: leaving]
14:55 Syka [the@Nightstar-1c1b171d.iinet.net.au] has joined #code
15:07 * ToxicFrog pokes python with a stick
15:07
<&ToxicFrog>
>>> set().add(object()) => ok
15:07
<&ToxicFrog>
>>> set().add(set()) => unhashable object
15:07 Attilla [uid13723@Nightstar-1325dff0.irccloud.com] has joined #code
15:09
< Syka>
....ahahahaha so
15:09
< Syka>
Python has solved an age old question
15:10
< Syka>
http://pb.codehash.net/totukoto.py
15:11
< Syka>
well, maybe not quite
15:12
< Syka>
but a set of empty sets does contain itself, apparently :D
15:14
< ErikMesoy>
What's the age old question?
15:14
< ErikMesoy>
Looks to me more like Python did a silly.
15:15 Attilla [uid13723@Nightstar-1325dff0.irccloud.com] has quit [Ping timeout: 121 seconds]
15:15
< Syka>
ErikMesoy: i brain derped
15:16
< Syka>
with the set question
15:16 jeroud [uid10043@Nightstar-7774ea6e.irccloud.com] has quit [Ping timeout: 121 seconds]
15:16
< Syka>
(does a set of all sets contain itself)
15:16
< Syka>
(when actually this is just an empty set)
15:16
< Syka>
(sort of)
15:16
< Syka>
i dont know man
15:17
< ErikMesoy>
A set of all sets contains itself. An empty set does not contain itself. A set containing the empty set does not contain itself. I thought these were fairly settled.
15:17 * froztbyte throws some Principia, GEB, etc. at you folks
15:19 * ErikMesoy throws some Scandinavian letters at froztbyte
15:20
< Syka>
ErikMesoy: well an empty set containing itself seems to be true according to python :p
15:20
< Syka>
well
15:20
< Syka>
if you add an empty set to itself
15:20
< Syka>
:D
15:21
<&ToxicFrog>
Ok, so the spec says that you can't add "mutable objects" to a set.
15:21
<&ToxicFrog>
But you manifestly can.
15:22
<&ToxicFrog>
You can't add sets or dicts, but you can add objects wrapping arbitrary mutable data.
15:23
<&ToxicFrog>
It looks like what it actually means is "you can't add objects that don't implement __hash__ or whose __hash__ values may change"
15:39 Attilla [uid13723@Nightstar-1325dff0.irccloud.com] has joined #code
15:48 EvilDarkLord [jjlehto3@Nightstar-2ebc32b2.cs.hut.fi] has joined #code
15:48 mode/#code [+o EvilDarkLord] by ChanServ
16:48
<@celticminstrel>
I think you can add objects whose __hash__ values may change, it's just not recommended.
16:49
< ErikMesoy>
I think of it as "you can only add metal boxes to this container, not cardboard boxes, but Python won't look inside the metal boxes to check if they contain cardboard". Is this a roughly accurate model?
17:12 jeroud [uid10043@Nightstar-7774ea6e.irccloud.com] has joined #code
17:31 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
17:43
<@Tarinaky>
I think it's more that the fundamental assumption of a map is that something's position in a map remains where you expect it to be.
17:44
<@Tarinaky>
If you put something in a filing cabinet under 'A' and the folder's name suddenly changed to begin with F... then you'd not be able to find the file.
17:45
<@Tarinaky>
See also: why your pens go missing.
17:46 * AnnoDomini fights uphill battle with prorietary bullshit hardware which doesn't do what it's told.
17:55 Turaiel[Offline] is now known as Turaiel
18:06
<&ToxicFrog>
Tarinaky: it's more that I'm used to the identity of a map not changing even if the contents do, in languages that have mutable maps.
18:07
<@Tarinaky>
I'm late to the convo so all I saw was __hash__ and assumed someone was using Python and making the built in dict cry.
18:07
<&ToxicFrog>
I am in fact using Python.
18:08
<&ToxicFrog>
Specifically I was Surprised today by the fact that you can't put a dict or a set into a set.
18:08
<&ToxicFrog>
But you can put an object wrapping a dict or a set!
18:17
< AnnoDomini>
Stupid kludge of a piece of shit. I'm telling it to route to DMZ, it continues to not do it.
18:30 * gnolam hates all over the LGPL.
18:30
< RichyB>
gnolam, que?
18:30
< RichyB>
The GPL is useful and so's BSD.
18:31
< RichyB>
Is LGPL just annoying to you?
18:31
<@Tarinaky>
ToxicFrog: Wait, what's a set in Python? I only know Dicts, lists and tuples as fundamental datastructures...
18:31
<@gnolam>
I might have to use wx again, just because I can't figure out if it's possible to do non-source release LGPL with Python.
18:32
<@Tarinaky>
*elementary? *built-in?
18:32
<@gnolam>
So yeah. Fuck it.
18:37 Turaiel is now known as Turaiel[Offline]
18:39
<&ToxicFrog>
Tarinaky: it's exactly what it sounds like? Create one with set(), or frozenset(...) for an immutable set.
18:53 Kindamoody|out is now known as Kindamoody
18:55
< RichyB>
Tarinaky, yeah, sets are a builtin in python since, maybe version 2.3.
18:55
< RichyB>
Possibly before then.
18:56
< RichyB>
set objects are mutable, with .add() and .update() methods to add individual elements and iterables of elements, respectively.
19:58 Kindamoody is now known as Kindamoody[zZz]
20:02 EvilDarkLord [jjlehto3@Nightstar-2ebc32b2.cs.hut.fi] has quit [Ping timeout: 121 seconds]
20:07
<@gnolam>
What to charge what to charge what to charge...
20:28
< RichyB>
MAH LAZOR
20:54
<@gnolam>
http://www.savagechickens.com/2013/10/late.html
21:18
< RichyB>
Unicode makes me feel like °â°
21:20
<&McMartin>
One of my friends has an "I <?> Unicode" T-shirt
21:21
<&McMartin>
(â¯Â°â¡Â°)â¯ï¸µ ÇpoÉıuâ©
21:21
< RichyB>
⥠⤠â¥
21:25 EvilDarkLord [jjlehto3@Nightstar-2ebc32b2.cs.hut.fi] has joined #code
21:25 celticminstrel [celticminst@Nightstar-5d0169f9.dsl.bell.ca] has joined #code
21:25 mode/#code [+o celticminstrel] by ChanServ
21:28 Stalker [Z@Nightstar-b920a19c.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
21:28
<@froztbyte>
McMartin: :D
21:28
<@froztbyte>
McMartin: I want that shirt now.
21:29
<@froztbyte>
gnolam: depends, which batteries are running low?
21:29 * froztbyte hides
21:45 ErikMesoy is now known as ErikMesoy|sleep
21:54 himi [fow035@Nightstar-36db723c.ffp.csiro.au] has joined #code
21:54 mode/#code [+o himi] by ChanServ
21:59 Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code
21:59 mode/#code [+o Reiv] by ChanServ
22:11
< RichyB>
Python annoys me because it is futzing impossible to do *anything* in less than five µs.
22:11
< RichyB>
Plone irks the Hell out of me because it is impossible to do anything in less than one ms.
22:12
<@Namegduf>
Java annoys me because I'm still waiting for it to start.
22:12
<@Namegduf>
:P
22:13
<@Namegduf>
(Although it is much more performant once it gets going, and I actually kind of like it, with *very carefully chosen libraries because most of the ecosystem is shit*, for network services)
22:13
< RichyB>
If you think the JVM start-up time is prohibitive, try starting a copy of Plone.
22:13
<@Namegduf>
That bad?
22:13
< RichyB>
BRB timing it with a stopwatch
22:13
<@Namegduf>
xd
22:13
<@Namegduf>
Wow.
22:14
< RichyB>
16 seconds with a hot cache. Not what you want in the middle of your development cycle.
22:15
< RichyB>
Notably used to be >30 seconds, but then I spent a bunch of money on laptops with Intel logos on them.
22:15
<@Namegduf>
Ah.
22:15
<@Namegduf>
Wow.
22:18
< RichyB>
Yes. I am used to looking at Java and going "wow, 1000ms from editor to running program? Fuck that!" and that was on significantly slower computers than this. :)
22:21
<&McMartin>
Man, my compiles always take way more than a second
22:22
< RichyB>
-0 is your friend.
22:22
< RichyB>
*-O0
22:22
< RichyB>
Alternative reply: this is why I _like_ C. (Though I'd like it even better if it had a real module system and therefore didn't need to parse headers.)
22:23
< RichyB>
^- is of course one of the arguments in favour of "you should be using Go".
22:23
<&McMartin>
Heh
22:24
<&McMartin>
You like C because yoru compiles take more than a second, or because once it's done starting is instantaneous/
22:24 * Namegduf is a huge fan of Go
22:24
< RichyB>
No, because my C compiles usually take -less- than a second with -O0.
22:24
<&McMartin>
Aha.
22:24
< RichyB>
I am not in the habit of writing multi-kLoC programs in C, though.
22:25
<&McMartin>
Ah, OK, yeah, I was about to say
22:25
< RichyB>
Realistically, 3000ms is what I'll accept for compile times in practice.
22:25
<&McMartin>
Even at -O0, a fresh UQM build will take you a good 10-15.
22:25
<&McMartin>
(UQM is, IIRC, 200 kLOC)
22:25
<@Namegduf>
Incremental builds are acceptable.
22:25
< RichyB>
I'd only ever be doing fresh builds when switching branch or something, though.
22:25
<@Namegduf>
But I was thinking annoyance at using the program due to startup times.
22:25
<&McMartin>
>_>
22:25
< RichyB>
I'm assuming that "make" is being used here.
22:25
<@Namegduf>
Rather than build times.
22:26
<&McMartin>
make isn't being used, but something similar is.
22:26
<@Namegduf>
Build systems would also not be an issue if C had a sane module system, for that matter.
22:26
<@Namegduf>
XD
22:26
< RichyB>
s/sane //
22:26
<@Namegduf>
Well, much less of one, only for linking with funky stuff.
22:27
< RichyB>
Does Rust have a module system? I'm hoping that that will turn into a usable C replacement by the time it has stabilised.
22:28
<@Namegduf>
In Go you have no build configuration at all. Imports are handled according to a search path, which is also the path you're expected to develop inside. Like the C include path configuration except the correct answer to "the include files are not in it" is "Go fuck yourself"
22:28
<@Namegduf>
You just *don't* put code outside of a GOPATH and try to build it.
22:29
< RichyB>
Huh. So to include Go libraries, you have to add them to GOPATH?
22:29
<@Namegduf>
Similarly, a package is a directory and has the import path specified by said directory's location relative to the GOPATH root, and wanting multiple in a directory makes you a bad person.
22:29
< RichyB>
+1 to that kind of rule.
22:29
< RichyB>
I freaking hate unnecessary flexibility in build systems.
22:30
<@Namegduf>
Yeah. You set a GOPATH, like $HOME/gopath or something, and then put any and all code you want to use in $GOPATH/src/import/path/is/this
22:31
<@Namegduf>
There's also standard conventions for import paths of projects on github or similar places.
22:31
<@Namegduf>
If you run "go get github.com/foo/bar"
22:31
<@Namegduf>
It will automatically check it out for you at "github.com/foo/bar"
22:32
<@Namegduf>
If your set of packages does not import itself using these paths, you are a bad person.
22:32
<@Namegduf>
If it does, then it can automatically download and build Go packages and their dependencies recursively without any build configuration.
22:33
<@Namegduf>
They are fans of convention.
22:33
< RichyB>
+0.5
22:33
<@Namegduf>
It has its flaws- a package moves host, you need to change all its import paths. But it's worth it.
22:33
< RichyB>
That's nice, but I dislike the idea of pulling a load of code off github or whatever without specifying the hashes at which to check out all of the repos.
22:34
<@Namegduf>
The rule in Go is that if you break backwards compatibility, you change your import path.
22:34
<@Namegduf>
If you're maintaining the old version, anyway.
22:34
< RichyB>
More worrying from a security POV than that.
22:34
<@Namegduf>
If you're not, then no one should be using it anymore anyway.
22:34
< RichyB>
"Download random code from the internet and then run it" is the dumbest, most common kind of code-injection vulnerability that exists.
22:36
<@Namegduf>
If you want reproducible builds, the common thing is to keep a copy of an entire GOPATH somewhere. It's the only way to be sure.
22:37
< RichyB>
Yeah. Locally mirror all of the repos that you want to depend upon and check all of them out at a known-good-set of commits.
22:38
<@Namegduf>
You *can* use go get to automatically download, and it's good for doing dev on a github repo or Google Code or bitbucket or similar while including code other people are developing.
22:38
<@Namegduf>
But you don't have to.
22:38
< RichyB>
Yes. Sorry, mostly I'm just thinking out loud there.
22:38
<@Namegduf>
So long as the code ends up in $GOPATH/src/github.com/foo/bar, which is that package's unique path, it'll use it.
22:39
< RichyB>
The reproducible-build tool that I'm thinking of is actually a trivial shell script that probably isn't even worth wrapping up into a package.
23:01
< RichyB>
Man, everything in Python goes faster if you tell the public-ly declared API to fuck off and just use the methods and variables with underscores in front of them directly.
23:05 gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has quit [Client closed the connection]
23:05 gnolam [lenin@Nightstar-f7705974.cust.bredbandsbolaget.se] has joined #code
23:05 mode/#code [+o gnolam] by ChanServ
23:40
< simon_>
I've got a graph question
23:41
< simon_>
so I'm representing undirected graphs in Standard ML using the type: ''a list * (''a * ''a) list (i.e. a list of vertices and a list of edges)
23:41
< simon_>
I want to determine if a given edge is a so-called "bridge"
23:42
< simon_>
a bridge in a graph is an edge that connects two otherwise disjunct sub-graphs
23:42
< simon_>
there's an algorithm for detecting this by Tarjan, but it only works for mutable representations of graphs.
23:42
< simon_>
http://en.wikipedia.org/wiki/Bridge_%28graph_theory%29#Tarjan.27s_Bridge-finding _algorithm
23:44
< simon_>
so my question is: does anyone know of a way of detecting a bridge in a graph represented like this?
23:44
< RichyB>
Why do you think that the graph has to be mutable?
23:44
< RichyB>
None of the steps in that algorithm cut or create any vertices or edges.
23:45
< simon_>
hmm...
23:46
< RichyB>
They all just create different mappings from vertex-labels to other things (traversal order indexes, etc)
23:48
< simon_>
alright.
23:49
< simon_>
RichyB, can you tell me this, then; it seems that I need to create a "spanning forest", which seems to be a set of spanning trees for each connected component of the graph. is that correctly understood?
23:50
< simon_>
ah, never mind. I mixed up the terms "connected component" and "strongly connected component". it seems that connected components just refer to subgraphs that are actually connected.
23:52
< simon_>
RichyB, can you tell me, instead, what a rooted forest is?
23:52
< RichyB>
Uh, I think it's the set of connected components as you say.
23:53
< RichyB>
I would assume that it's a set of trees where each tree has had one (arbitrary) node designated as the "root".
23:53
< RichyB>
Wikipedia defines a rooted-tree as a tree with some node designated as the root.
23:53
< simon_>
ah
23:53
< simon_>
thanks.
23:56
< simon_>
it's this pretty interesting project they have at uni
23:57
< RichyB>
?
23:57
< RichyB>
Oh, query. Are there off-the-shelf graph libraries that you can use? There are a couple on hackage.haskell.org and I'd hope that at least one nice one presumably already exists in ML.
23:57
< simon_>
the introductory discrete math course for computer science students is experimenting with more programming in math class. so one consequence is they try to implement various algorithms including one for finding "Euler paths".
23:58
< simon_>
so... ideally, it should be done with ML not using any smart tricks like vectors or arrays for better performance. just plain list recursion and lots of helper functions.
23:58
< simon_>
maybe an occasional tree data structure if it's particularly fitting.
23:59
< RichyB>
Hmm. I don't think that that should forbid them from teaching people to make use of abstract data types, though.
23:59
< simon_>
right :)
--- Log closed Wed Oct 02 00:00:09 2013
code logs -> 2013 -> Tue, 01 Oct 2013< code.20130930.log - code.20131002.log >

[ Latest log file ]