--- 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 |