code logs -> 2009 -> Wed, 29 Apr 2009< code.20090428.log - code.20090430.log >
--- Log opened Wed Apr 29 00:00:28 2009
--- Day changed Wed Apr 29 2009
00:00
<@Derakon>
Right, now my runtime is just over an hour...
00:07 AnnoDomini [AnnoDomini@Nightstar-29236.neoplus.adsl.tpnet.pl] has quit [Quit: I. AM. BEOWULF.]
00:12 * gnolam imagines a cluster of AnnoDominis.
00:16 * Consul imagines a cluster of doughnuts.
00:20 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code
00:21
<@Consul>
Actually, I didn't have to imagine them. And they were good.
00:23
< Namegduf>
Haha.
00:23 * Namegduf RAIDs his pizzas
00:24
< Namegduf>
In case one isn't good or gets eaten prematurely, I can simply eat from the other.
00:25
<@Consul>
Well, given that the D stands for "Disks", you'd have to re-write the acronym RAIPs, which has unfortunate connotations.
00:25
<@Consul>
Sounds like a joke from the IT Crowd.
00:25
<@gnolam>
I'm reminded of WKUK's "Grapist" sketch.
00:26
< Namegduf>
Consul: Pizzas are disks.
00:26
< Namegduf>
Or... discs.
00:26
<@Consul>
"And this is our RAIP." "Excuse me?!" "Redundant Array of Inexpensive Pizzas. Want a slice?"
00:26
< Namegduf>
Actually, either, they're jsut equivalent.
00:27
< Namegduf>
Pizzas are definitely disks.
00:27
<@Consul>
Or we could keep with the D and go for "Redundant Array of Inexpensive Donuts.":
00:27 * McMartin is down with one of those
00:28
<@Consul>
Was there ever a redundant array of *expensive* disks?
00:28
<@McMartin>
Yes, but those are just called "backups"
00:28
<@McMartin>
RAED 1.
00:29
<@Consul>
It does sorta seem that the "inexpensive" vs. "expensive" moniker is a bit out of date.
00:29
< Namegduf>
Yeah, things cost too much nowadays.
00:30
< Namegduf>
Although the people I've seen running RAIDs for cloud stuff in hosting certainly seem to take the 'inexpensive' part to heart.
01:12
<@ToxicFrog>
...dammit. I thought I had that PE problem cracked, but no.
01:13
<@ToxicFrog>
Since, for example, 56 seems like it should work, but 56+65 == 121
01:15
<@Derakon>
Heh.
01:15
<@Derakon>
It's #145, for reference.
01:16
<@MyCatVerbs>
Consul: more like, it started as "redundant array of inexpensive disks" (i.e. using clever redundancy to offset the crappiness of cheap disks) then companies like EMC realised they could make a lot of money by selling super-duper disks at enormous prices, and quietly put about the suggestion that it had always been "redundant array of independant disks." :)
01:18
<@Consul>
Heh. I remember those huge EMC arrays at Agilent.
01:19
<@ToxicFrog>
MyCatVerbs: my impression has always been that it's an outgrowth of the fact that SCSI gradually mutated into a super-expensive server technology, and IDE RAID is lolno.
01:20 * Consul tries to decide how to draw this H.
01:21
<@Consul>
I love logo design.
01:21
<@Consul>
But this one is for myself, so it's not so bad.
01:21
<@ToxicFrog>
Now, with the rise of SATA, we start seeing inexpensive RAIDs again.
01:22
<@Consul>
But this H is being a bitch. I can't find a way to make it fit.
01:24
<@McMartin>
It started as "inexpensive" because it was an academic project and grad student budgets suck >_>
01:25
<@McMartin>
This may or may not also have something to do with why the MIPS pipeline is so simple.
01:29 Derakon [~Derakon@Nightstar-4912.hsd1.ca.comcast.net] has quit [Ping Timeout]
01:41
<@McMartin>
Augh
01:41
<@McMartin>
Things that do not go together
01:41
<@McMartin>
(a) Version Control Systems
01:41
<@McMartin>
(b) Editors that do not change file modified dates
01:41 Derakon [~Derakon@Nightstar-4912.hsd1.ca.comcast.net] has joined #code
01:41 mode/#code [+o Derakon] by ChanServ
01:42
< Namegduf>
There are editors which don't?
01:42
< Namegduf>
...why? Wouldn't they have to go out of their way to avoid it?
01:43 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has quit [Quit: Z?]
01:44 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
01:45 Derakon [~Derakon@Nightstar-4912.hsd1.ca.comcast.net] has quit [Ping Timeout]
01:47 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has quit [Quit: CGI:IRC (EOF)]
01:51 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has joined #Code
01:54
<@McMartin>
There are, I don't know, and they would
01:54
<@McMartin>
I have no explanation for this.
01:55
<@McMartin>
Suffice to say that the cursing I have been directed at Vista has been entirely misplaced. Sorry, Vista. This time, for once, it was not your fault.
02:02
<@Consul>
YAY! Pandora decided it wants to work tonight.
02:02
<@Consul>
Anyone in this channel recently probably knows of my woes with Flash video. We'll see if Pandora locks up my machine.
02:03
<@McMartin>
Heh
02:05
< Reiv>
McM: Whose fault /was/ it then?
02:05
< Reiv>
Non-vista is an achievement to begin with. :p
02:07
<@McMartin>
Reiv: One of our editing applications was not modifying the file modification time, meaning that subversion would get rather confused and, among other things, not push my bugfixes through to the build system.
02:08
<@McMartin>
(At the level I work, it's actually the case that W7 > Vista > XP, but whatever)
02:08
<@McMartin>
(The 'bug' here is honestly that it was working on XP, not that it wasn't on Vista)
02:14
< Reiv>
Aha
02:14
< Reiv>
(From the stories I've heard, W7 is actually relatively decent.)
02:24 Reiv [~82d94c4d@Nightstar-29731.dsl.in-addr.zen.co.uk] has quit [Quit: CGI:IRC (EOF)]
02:37
<@ToxicFrog>
...what editor is this?
02:40
<@McMartin>
ResourceHacker.
02:40
<@McMartin>
A Win32 resource re/de/compiler.
02:43
<@McMartin>
Modifying the resource files didn't change their modified time; opening it in Notepad++, adding arbitrary text to the compiled binary, saving, deleting them, and saving again appears to have saved the day, though that hinges on QA for official report.
02:53
<@ToxicFrog>
(1) wouldn't 'touch foo' be faster?
02:53
<@ToxicFrog>
(2) your VCS doesn't support explicit 'add this file to the next changeset'?
02:54
<@McMartin>
(1) Windows doesn't have "touch" in its path
02:54
<@McMartin>
(2) No, SVN does not. In fact, it will also ignore "touch" if the diff is blank
02:54
<@McMartin>
(3) Furthermore, other clients won't receive it un"touch"ed when they svn update
02:58
<@ToxicFrog>
(1) I tend to assume Cygwin, MSYS, unxutils, or the like to be a fixture on any windows development system
02:58
<@ToxicFrog>
(2b) this makes sense to me, although I can see use cases for the opposite behaviour
02:59
<@ToxicFrog>
(3) what does this mean?
03:01
<@McMartin>
I mean, say you get it to commit anyway
03:01
<@McMartin>
And that was version 3.
03:01
<@McMartin>
And someone at version 2 says "svn up"
03:01
<@McMartin>
The output will be
03:01
<@McMartin>
"At version 3."
03:01
<@McMartin>
And the files in the working directory will not change
03:01
<@ToxicFrog>
o.O
03:02
<@McMartin>
Thus, my bugfixes were not showing up when QA tried to test them.
03:02
<@McMartin>
So, uh, yeah. Sorted.
03:02
<@McMartin>
(re (1) given that we have Windows and Mac development systems unixy stuff is typically done on the Macs.)
03:03
<@McMartin>
(I'm not depraved enough to install vim on Windows, nor again to make Firefox use vim to navigate.)
03:03
<@McMartin>
(That's per-dev; I'm generally comfortable enough with basic MS dev tools that I rarely run into trouble. This doesn't count.)
03:04
<@McMartin>
(The closest to trouble I hit is when I want to find | xargs grep, but either MSVC or Notepad++ can do something similar and generally faster, too)
03:06 * ToxicFrog fiddles with git. Hmm. If I change a file but not its timestamp, it correctly shows up as modified.
03:06
<@ToxicFrog>
I wonder what the performance implications are here for large trees.
03:41
<@McMartin>
Other bad ideas: saving an ISO to a disk through a USB 1.0 connection
03:41
<@ToxicFrog>
;.;
04:07 Derakon [~Derakon@Nightstar-4912.hsd1.ca.comcast.net] has joined #code
04:07 mode/#code [+o Derakon] by ChanServ
04:44
<@Derakon>
Does anyone see any problems with this probability calculation? http://paste.ubuntu.com/160408/
04:44
<@Derakon>
I'm trying to calculate the probability that 9 4-sided dice will beat 6 6-sided dices (PE #205).
04:44 somnolence [~somnolenc@Nightstar-3790.hsd1.ca.comcast.net] has quit [Connection reset by peer]
04:44
<@Derakon>
Thing is, this is giving me ~57% win odds while empirically I was getting more like 80%.
04:45 somnolence [~somnolenc@Nightstar-3790.hsd1.ca.comcast.net] has joined #code
05:13 somnolence [~somnolenc@Nightstar-3790.hsd1.ca.comcast.net] has quit [Client exited]
05:21
<@Derakon>
Ahh, well, my Monte Carlo simulator had given one of the guys insufficient dice. So empirically I'm getting about 57%. That's good.
05:23
<@Derakon>
Ah hah!
05:24
<@Derakon>
Python only displays seven decimal places, and it truncates after that instead of rounding.
05:24
<@Derakon>
The result was ...07 and I needed ...1 instead of ...0.
05:56 crem [~moo@Nightstar-28703.adsl.mgts.by] has joined #code
05:57 crem_ [~moo@Nightstar-28703.adsl.mgts.by] has quit [Connection reset by peer]
06:02 Syloqs-AFH [Syloq@ServicesAdmin.Nightstar.Net] has quit [Connection reset by peer]
06:03 somnolence [~somnolenc@Nightstar-3790.hsd1.ca.comcast.net] has joined #code
06:08 KBot [~karma.bot@Nightstar-29356.neoplus.adsl.tpnet.pl] has joined #Code
06:09 KarmaBot [~karma.bot@Nightstar-29236.neoplus.adsl.tpnet.pl] has quit [Ping Timeout]
06:11 KBot is now known as KarmaBot
07:32 AnnoDomini [AnnoDomini@Nightstar-29356.neoplus.adsl.tpnet.pl] has joined #Code
07:32 mode/#code [+o AnnoDomini] by ChanServ
07:32 Derakon is now known as Derakon[AFK]
07:39 somnolence [~somnolenc@Nightstar-3790.hsd1.ca.comcast.net] has quit [Connection reset by peer]
07:40 somnolence [~somnolenc@Nightstar-3790.hsd1.ca.comcast.net] has joined #code
08:46 gnolam [lenin@Nightstar-1382.A163.priv.bahnhof.se] has joined #Code
08:46 mode/#code [+o gnolam] by ChanServ
09:01
<@gnolam>
"There has been a problem with Problem Reporter. Would you like to send a report to Microsoft?"
09:04
<@AnnoDomini>
What.
09:42 You're now known as TheWatcher
10:29 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
10:29 mode/#code [+o Attilla] by ChanServ
11:18
<@gnolam>
... deja vu.
11:21
<@TheWatcher>
The sensation, the film, the comedy club, or the strip club in shreveport?
11:40 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has quit [Quit: Rhamphoryncus]
11:52
<@gnolam>
The sensation.
11:59
<@AnnoDomini>
Somehow, you remember being kicked in this way before.
12:45
<@Attilla>
the psionic power!
12:45
<@Attilla>
(and a living one at that)
13:18
<@gnolam>
<3 Process Explorer.
14:49
<@gnolam>
Nghgh. This code is giving me the headach.
15:03
<@gnolam>
I'm starting to believe the guy indents /at random/.
15:05 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
15:06 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
15:06 mode/#code [+o Attilla] by ChanServ
15:07
<@AnnoDomini>
gnolam: Some do.
15:07
<@AnnoDomini>
I have been experiencing the pain you are feeling now for the past half year.
15:08
<@Attilla>
He wants to stop Maintenance Programmers
15:33
<@TheWatcher>
Load into emacs, select all the code, M-X indent-region, save >.>
15:38
<@gnolam>
From what I remember, emacs's indentation is wonky and somewhat awful anyway.
15:39
<@gnolam>
So I'm leaning more towards "Load shells into shotgun, bring to next meeting, threaten bodily harm unless situation improves".
15:52 Consul [~consul@Nightstar-1864.dsl.sfldmi.ameritech.net] has quit [Ping Timeout]
15:52 Consul [~consul@Nightstar-3183.dsl.sfldmi.ameritech.net] has joined #code
15:52 mode/#code [+o Consul] by ChanServ
16:03
<@ToxicFrog>
Gnar.
16:03
<@ToxicFrog>
The fact that they want the count rather than, say, the sum implies that there's a simple, elegant way to calculate it without actually looking at all the numbers.
16:03
<@ToxicFrog>
But I can't figure it out.
16:04
<@ToxicFrog>
There's various culls I can do, but it seems like it should be better.
16:04 Syloqs_AFH [Syloq@Admin.Nightstar.Net] has joined #code
16:05 Syloqs_AFH is now known as Syloqs-AFH
16:23
<@ToxicFrog>
I've trimmed the runtime by 75%, but that's still half an hour.
16:35
<@ToxicFrog>
...hmm.
16:35
<@ToxicFrog>
I may be able to halve the runtime again
16:45
<@ToxicFrog>
No!
16:45
<@ToxicFrog>
Not halve, quarter!
16:49
<@ToxicFrog>
My runtime is now 1/16th of brute force.
16:49
<@ToxicFrog>
Still O(n), though ;.;
16:50
<@ToxicFrog>
Also, it seems that there are no five-digit numbers that satisfy this condition.
17:00 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
17:01 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
17:01 mode/#code [+o Attilla] by ChanServ
17:03 You're now known as TheWatcher[afk]
17:06
<@ToxicFrog>
Ding!
17:07 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
17:07 Attilla_ [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
17:10
<@gnolam>
Stick a fork in ToxicFrog, he's done.
17:13
<@ToxicFrog>
Hmm.
17:13
<@ToxicFrog>
I'm tempted to just brute-force 27 as well.
17:50 Derakon[AFK] is now known as Derakon
17:51
<@Derakon>
Pure brute force is impractical, but there's one important optimization that will speed things up immensely.
17:55 GeekSoldier [~Rob@Nightstar-8573.midstate.ip.cablemo.net] has joined #code
17:55 mode/#code [+o GeekSoldier] by ChanServ
18:00
<@ToxicFrog>
Derakon: what, for 27?
18:00
<@Derakon>
Yeah.
18:00
<@ToxicFrog>
Pure brute force: 5 seconds.
18:01
<@Derakon>
That's checking one million a-b pairs?
18:01
<@ToxicFrog>
http://lua.pastey.net/113279
18:01
<@ToxicFrog>
Yes.
18:01
<@ToxicFrog>
(note that prime() and primes() are memoized, however)
18:02
<@Derakon>
That's more than a million a-b pairs...
18:02
<@Derakon>
Oh, wait, it is.
18:02
<@Derakon>
Sorry, I read that as "for a starting from -999999, for b starting from -999999..."
18:02
<@Derakon>
Anyway. How old is your computer?
18:03
<@ToxicFrog>
Orias is pretty recent. 3GB memory, A64 X2 3800+.
18:03
<@ToxicFrog>
ben@orias:~/devel/Euler$ time lua pe.lua 27
18:04
<@ToxicFrog>
[output redacted]
18:04
<@ToxicFrog>
real 0m5.257s
18:04
<@ToxicFrog>
user 0m5.240s
18:04
<@ToxicFrog>
sys 0m0.004s
18:05
<@Derakon>
Yeah, see, that's almost exactly how long my #27 takes (5.31s) with the optimization that skips 84% of the inner loop.
18:05
<@ToxicFrog>
For comparison, since I know you were working on it earlier: 145 would have taken about 2 hours for pure brute force, and with culling took 8 minutes.
18:05
<@ToxicFrog>
That being check only prime values of b?
18:05
<@Derakon>
Yeah.
18:05
<@ToxicFrog>
I tried that and it only halved the runtime, which worries me.
18:06
<@Derakon>
(More specifically, b must be both positive and prime)
18:06
<@ToxicFrog>
(what's the basis for the positive constraint?)
18:07
<@ToxicFrog>
Incidentally, what language and what system specs? We seemed to have similar runtimes for 145, ISTR you mentioning 2 hours for the unculled approach
18:07
<@Derakon>
For a value to be prime, it must be positive; negatives are not valid primes.
18:07
<@Derakon>
And the first term is going to be just b (since n = 0), so b must be positive.
18:08
<@Derakon>
I'm running a three-year-old 2GHz Intel Core Duo with 2GB RAM.
18:09
<@ToxicFrog>
This thing reports as 1GHz/core, two cores, 2k bogoMIPS.
18:09
<@ToxicFrog>
So either the Core 1 was really terrible or the difference is in the language~
18:11
<@ToxicFrog>
Also, taking into account that you can't have negative primes: 1.564 seconds.
18:11
<@Derakon>
...right, I can't time your code without access to the prime() function.
18:12
<@Derakon>
My Lua also doesn't seem to like the line "for a=-999,999 do", complaining that "'for' limit must be a number"
18:12
<@ToxicFrog>
Sure it's not the 'for n=0,infinity'?
18:12
<@Derakon>
Oh, so it is.
18:13
<@ToxicFrog>
infinity = math.huge
18:13
<@Derakon>
Right, now it just doesn't like prime().
18:15
<@ToxicFrog>
http://lua.pastey.net/113282
18:15
<@ToxicFrog>
Memo to self: write memoize_iterator so I don't need to memoize stuff like primes() by hand
18:17
<@Derakon>
Okay, 2.98s for your script.
18:17
<@Derakon>
Here's mine for comparison: http://paste.ubuntu.com/160824/
18:18
<@Derakon>
(And this actually has a bug, since it doesn't consider that the polynomial might generate primes greater than 1000...fortunately, that's not an issue)
18:21 Attilla_ is now known as Attilla
18:21
<@ToxicFrog>
"value in list" looks expensive.
18:22
<@Derakon>
...good point, why didn't I notice that?
18:22
<@Derakon>
Okay, .71s. :)
18:23
<@ToxicFrog>
Nice
18:23
<@Derakon>
(Initialize a dict using primes as the keys, and use that dict for checking instead)
18:23
<@ToxicFrog>
I wonder what Python's prime generation algorithm is.
18:23
<@Derakon>
TMK it doesn't have one.
18:23
<@Derakon>
primes() in this case is a Sieve of Eratosthenes algorithm I wrote.
18:25
<@ToxicFrog>
Aah.
18:26 You're now known as TheWatcher
18:26
<@Derakon>
Morning, TW.
18:37
<@ToxicFrog>
Hmm. I wonder if switching my prime generator to the seive would be effective.
18:38
<@TheWatcher>
'lo Dera
18:47 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
18:47 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
18:47 mode/#code [+o Attilla] by ChanServ
19:09 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Ping Timeout]
19:11 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
19:11 mode/#code [+o Attilla] by ChanServ
19:14 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Connection reset by peer]
19:17 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has joined #code
19:17 mode/#code [+o Attilla] by ChanServ
19:43 * jerith points at #projecteuler :-)
19:43
< jerith>
Also, use a set rather than a dict in Python.
19:47 ilf_uni [~nsJChat@Nightstar-17112.vl208.georgiasouthern.edu] has joined #code
19:51
<@TheWatcher>
'lo ilf
19:53
< ilf_uni>
Hello.
19:53
< ilf_uni>
I do think my java professor has something wrong with this problem, because I cannot seem to get the GregorianCalendar class to function as he claims it does.
19:55
< ilf_uni>
As it keeps returning 2/5/1 as the current date, which I'm fairly sure is incorrect, and it has frustrated me to no end.
19:56 mode/#Code [+v ilf_uni] by TheWatcher
19:56
<@TheWatcher>
pastebin?
19:58
<+ilf_uni>
http://paste.ubuntu.com/160887/
19:59
<@TheWatcher>
ah
19:59
<@TheWatcher>
try using
19:59
<@TheWatcher>
currentDate.get(Calendar.MONTH)
19:59
<@TheWatcher>
etc
20:00
<+ilf_uni>
Ah, okay.
20:00
<@TheWatcher>
you're just printing out the class constants there, the things that you pass into get() to tell it what you're interested in.
20:01 * ilf_uni nods. Now I see it.
20:02 Attilla [~The.Attil@Nightstar-9147.cdif.cable.ntl.com] has quit [Quit: <Insert Humorous and/or serious exit message here>]
20:04
<+ilf_uni>
And now to the next question, which is something I have found myself fairly good at. Making my own classes.
20:06
< jerith>
You have to be, with Java.
20:23 Finale [c0cb88fd@Nightstar-14595.mibbit.com] has joined #code
20:23
< Finale>
given:
20:23
< Finale>
fprintf(fp, "%5f, %5f\n", x, y);
20:23
< Finale>
fscanf(fp, "%5f, %5f", &x, &y);
20:23
< Finale>
why does x zero after this?
20:24
<@Derakon>
At a guess, because your file pointer is looking at a section of the file that doesn't match what you're trying to read.
20:24
< Finale>
hm
20:24
<@Derakon>
You shouldn't try to write and read from a file using the same file pointer. It's not a good idea.
20:31
<@ToxicFrog>
Specifically, there's only one cursor position; so what happens is:
20:31
<@ToxicFrog>
- fprintf writes that data, and the cursor is left at the end of what it just wrote
20:31
<@ToxicFrog>
- fscanf then reads from that cursor position
20:32
<@ToxicFrog>
You'll need to seek backwards (man 3 fseek,ftell) to the start of the data you just wrote.
20:32
<@ToxicFrog>
What's the use case here?
20:32
<@Derakon>
If you're writing something, and then you want to read what you just wrote, you should simply save what you wrote in memory and use that instead.
20:40 ilf_uni [~nsJChat@Nightstar-17112.vl208.georgiasouthern.edu] has quit [Quit: Nightstar's Java Chat http://www.nightstar.net]
20:42
< Finale>
>_>
20:43
< Finale>
not my code, just saw it elsewhere and was curious.
21:11 * TheWatcher eyes this, wonders why é is bein stripped from his forms
22:24 Rhamphoryncus [~rhamph@Nightstar-7184.ed.shawcable.net] has joined #code
22:37 AnnoDomini [AnnoDomini@Nightstar-29356.neoplus.adsl.tpnet.pl] has quit [Quit: Drive me closer, I want to hit them with my sword!]
23:01
< simontwo>
anyone up for a theoretical question?
23:02
<@Derakon>
I'll listen, but no guarantees I'll answer.
23:02
< simontwo>
hehe
23:05
< simontwo>
I'm doing this non obligatory assignment on the theory of computer science, and one assignment reads something like this: a virus maker is trying to destroy all software in the world by writing a virus that sinks into the operating system and for all programs P that are run on the system change the (mathematical) function that the program calculates. would he succeed
23:06
< simontwo>
initially I had a hard time grasping what was theoretically about that situation and why it was such impractically phrased.
23:07
<@Derakon>
...that question doesn't make any sense. O_o
23:07
< simontwo>
I'll get to that :P
23:07
<@Derakon>
What does it mean by changing the mathematical function of a program?
23:08
< simontwo>
it sounds silly, but if a professor wrote it, I'm sure he's trying to say something that he finds sensible. ;-P so the trick is to figure out what that is.
23:12
< simontwo>
the assignment had a hint to look up kleene's second theorem, and as far as I understood, I can derive from it that for a function Q there is a function P so that the semantics of Q are equivalent to the semantics of P(Q)
23:15
<@Derakon>
Okay, you're getting into the deep theory stuff that I never quite managed to grasp.
23:15
<@Derakon>
So I'm afraid I'll not be much help here. :\
23:17
< simontwo>
I then got a second hint to think of the halting problem, and my current thoughts are these: let's say all programs can be viewed as functions and that some virus modified such functions (without destroying them, merely negating their output), then there'd theoretically be a polyglot P corresponding to some original program Q lying around somewhere that when broken by the virus would still remain unaffected because its other part ...
23:17
< simontwo>
... would come into constructive effect.
23:18
< simontwo>
yeah, it's pretty much beyond me as well. I'm taking the course a little in advance, so it's my own fault really. the only sad thing is that everyone I know who also takes the course is as lost as me even though they've had a few years worth of courses more than me. :)
23:20
< simontwo>
I haven't constructed such a fictive example, but it would live up to the criteria listed in the assignment text and respond to two concepts within theoretical computer science, so at least it looks like I made an effort. I still don't know if it even makes sense, though.
23:23
< simontwo>
hrm
23:25
< simontwo>
another interpretation is to think of all programs as immutable mathematical functions and the purpose of the virus as merely an attempt to find input for such functions that would "destroy" (whatever that means) them
23:26
< Finale>
I wanna devise a virus
23:26
< Finale>
to bring dire straits to your environment
23:26
< Finale>
Crushing corporations with a mild touch
23:26
< Finale>
Trash the whole computer system and revert you to papyrus
23:27
< simontwo>
now that's just silly.
23:27
<@gnolam>
Deltron 3030. \o/
23:28 * simontwo buys candy.
23:29
< Finale>
I got hooked via Gorillaz. >_>
23:29
< Finale>
downloaded a batch of their songs, one was Battlesong - Deltron's but misattributed to Gorillaz.
23:29
< Finale>
loved it, so I dug up the rest.
23:29
< simontwo>
or: mi a?etas bombonoj (in esperanto)
23:29
< Finale>
?
23:29
< simontwo>
never mind. :P
23:30
< simontwo>
does any of the above make sense, or is it the ramblings of a self-acknowledged madman?
23:31
< Finale>
makes some sense in-song. :P
23:31
< Finale>
look up Virus by Deltron 3030
23:31
< Finale>
or did you mean yours? >_>
23:33
<@McMartin>
simontwo's line reminds me of a random dog-Spanish phrase I ran into once
23:33
<@McMartin>
Which would translate to "my oils banana"
23:33
<@McMartin>
Where banana is clearly a verb
23:33
< simontwo>
hehe
23:34
<@McMartin>
("mis aceites bananan")
23:34
<@McMartin>
I did not realize that this was corrupted Esperanto, but it amuses me
23:35
< simontwo>
whoops
23:35
< simontwo>
mi a?etas bombonojn, right.
23:35
<@gnolam>
simontwo: Are you 100 years old?
23:36
<@gnolam>
( http://www.moderntales.com/memberimages/20080821_copy1.gif )
23:37
< simontwo>
gnolam, not in any integer base, apparently.
23:40
< simontwo>
yeah, esperanto looks like broken spanish. :)
23:40 * simontwo assumes that since everyone is elegantly treating what he wrote before as a monologue, he should stick to something more practical.
23:42
<@gnolam>
That is one of my major gripes with the language, BTW.
23:43
<@gnolam>
A whole lot of unnecessary cruft just because its creator based it on Romance languages.
23:45
<@McMartin>
I assume you've read How Not To Learn Esperanto.
23:46
<@McMartin>
He didn't base it on Romance langauges, he based it on a dialect of Polish and didn't even notice.
23:46
<@gnolam>
Nope.
23:46
<@McMartin>
If you want a conlang properly based on Romance Languages, I recommend Interlingua.
23:46
<@McMartin>
It has the advantage of actually once being good for something.
23:46
<@McMartin>
(It was a target language for scientific paper translation for awhile until English became a standard language of science)
23:47
<@McMartin>
http://www.xibalba.demon.co.uk/jbr/ranto/
23:48
<@McMartin>
Interlingua is at http://www.interlingua.com/ and is a lot more interesting if you already know a Romance Language
23:48
<@gnolam>
Does it have verb conjugation?
23:48
<@McMartin>
I believe that it does not, but it's been awhile.
23:48
<@McMartin>
The reason I believe it does not is because it's directly descended from Latine sine Inflexione
23:49
<@McMartin>
Which is, as you might guess, Latin without Inflections.
23:50
< Namegduf>
It... reads like English.
23:50
<@McMartin>
Only because English looted the shit out of Latin a century or so ago.
23:50
<@gnolam>
Any artificial language that forces you to conjugate verbs is a piss-poor one in my book. Why introduce grammatical complexity unless you absolutely /have/ to?
23:51
<@McMartin>
Depends on your goal.
23:51
<@McMartin>
Any auxlang, yes.
23:51
<@McMartin>
If you're constructing a language with an artificial history, you want it to match those histories.
23:51
<@McMartin>
If you're constructing a language for maximum data compression, same deal
23:51
< simontwo>
heh
23:51
<@gnolam>
Auxlang?
23:52
<@McMartin>
Auxiliary language.
23:52
<@McMartin>
Esperanto and Interlingua both count.
23:52
<@McMartin>
Elvish and Klingon would not.
23:52
<@McMartin>
Elvish in particular works out to "what if Finnish and Welsh were direct cousin languages"
23:53
<@McMartin>
(For that matter, English has been turning into an auxlang over the past fifty or so years)
23:53
< Finale>
:P
23:54
<@McMartin>
(Basic English and Aviation English are constructed subsets with that explicit effect)
23:55
<@McMartin>
(There's a real name for Aviation English but I forget what it is)
23:58
<@Derakon>
"Aviation English" appears to be a reasonably accepted term. http://www.macmillanenglish.com/aviationenglish/index.html
--- Log closed Thu Apr 30 00:00:13 2009
code logs -> 2009 -> Wed, 29 Apr 2009< code.20090428.log - code.20090430.log >