←2009-12-04 2009-12-05 2009-12-06→ ↑2009 ↑all
00:08:44 -!- asiekierka has joined.
00:08:46 <asiekierka> Hey
00:40:44 -!- lifthrasiir has joined.
00:41:04 -!- lifthras1ir has quit (Read error: 60 (Operation timed out)).
00:45:54 -!- coppro has quit (Remote closed the connection).
00:58:29 -!- lifthras1ir has joined.
00:58:30 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
01:38:21 -!- fungot has quit (verne.freenode.net irc.freenode.net).
01:41:34 -!- lifthras1ir has quit (Read error: 104 (Connection reset by peer)).
01:41:35 -!- lifthrasiir has joined.
01:44:33 -!- adam_d has joined.
01:48:56 -!- lifthrasiir has quit (Remote closed the connection).
01:49:00 -!- lifthrasiir has joined.
01:59:30 -!- lifthras1ir has joined.
02:00:24 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
02:06:00 -!- lifthras2ir has joined.
02:10:19 -!- lifthrasiir has quit (Read error: 104 (Connection reset by peer)).
02:18:20 -!- lifthras1ir has quit (Read error: 110 (Connection timed out)).
02:36:53 -!- lifthras2ir has quit (Read error: 54 (Connection reset by peer)).
03:39:28 -!- rodgort has quit (Client Quit).
03:39:38 -!- rodgort has joined.
03:43:18 -!- oklokok has quit (Read error: 60 (Operation timed out)).
03:55:00 -!- MigoMipo has joined.
04:04:46 -!- FireFly has joined.
05:02:14 -!- BeholdMyGlory has joined.
06:06:37 -!- adam_d has quit (Read error: 110 (Connection timed out)).
07:03:24 -!- oerjan has joined.
07:05:40 <oerjan> AnMaster: iwc :)
07:05:48 <AnMaster> oerjan, indeed
07:05:55 <AnMaster> oerjan, remind me what it was about
07:05:58 <AnMaster> I read it so long ago
07:06:23 <oerjan> president allosaurus agreed the world wasn't a strange place
07:07:12 <AnMaster> ah right
07:08:29 <oerjan> darn i can only find 27 ninjas
07:08:41 * oerjan whistles innocently
07:09:13 <AnMaster> oerjan, I can't find any
07:09:20 <oerjan> *WHOOSH*
07:09:41 <AnMaster> ... I understood that... I was just continuing the joke
07:11:13 <oerjan> with AnMaster you never know whether there is a *WHOOSH* or not. just like ninjas.
07:16:47 -!- adam_d has joined.
07:17:14 <AnMaster> oerjan, true
07:17:41 -!- adam_d_ has joined.
07:36:24 -!- adam_d has quit (Read error: 110 (Connection timed out)).
07:44:47 -!- Asztal has joined.
07:54:08 -!- ehird has joined.
07:54:40 <ehird> Close encounters of the Hird kind.
07:55:13 <ehird> 00:21:17 <Gracenotes> Stony Brook O_O
07:55:13 <ehird> 00:21:20 <augur> oh right
07:55:13 <ehird> 00:21:29 <augur> you're a cunt, now i remember
07:55:13 <ehird> excuse me, don't you go there too
07:55:19 <ehird> NECROLOGREAD
07:56:58 <ehird> 05:46:33 <AnMaster> Asztal, my family name is of that type for example. But with a bit unusual spelling
07:56:58 <ehird> norlander ~= north land/country?
07:57:21 <ehird> 05:50:23 <puzzlet> "KuraMoto" literally means storage-basis for example
07:57:21 <ehird> Good name for a file hosting company.
07:57:35 <AnMaster> ehird, yeah, north = nord/norr and land/country = land
07:57:45 <AnMaster> so well, yeah spelling was changed somewhat
07:57:56 <ehird> Swedish is boring because you can mostly just pretend it's mangled English and figure out a lot :)
07:58:01 <ehird> German even moreso
07:58:19 <ehird> then again I guess that's all languages that English raped
07:58:31 <AnMaster> ehird, you stole my reply :/
07:59:09 <ehird> it's nice to have such a whore of a native language, though, for that utility :D
07:59:15 <AnMaster> hah
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:17 <ehird> 07:02:25 <AnMaster> btw what is 1/INFINITY in double floating point?
08:00:17 <ehird> 07:02:44 <AnMaster> Assuming IEC 60559 conformance of course
08:00:17 <ehird> Prelude> 1 / (1/0) :: Double
08:00:18 <ehird> 0.0
08:00:27 <ehird> it's a smiley
08:00:35 <ehird> "I AM SHOCKED AT YOUR INTENT"
08:00:38 <AnMaster> hah
08:00:48 <ehird> ghci is pretty strict with its ieee floating point i believe
08:01:53 <ehird> btw, just because i explained google's new home page thing that doesn't mean i agree with it
08:02:01 <ehird> i, too, find it irritating
08:02:33 <ehird> however
08:02:35 <ehird> [[Starting this week, when we have high confidence that your query was misspelled, we go a step further than asking "Did you mean..." by automatically showing results for the corrected query, saving you a click. In case we did misinterpret the query, there will be a link at the top of the results to undo the auto-correction. So, the next time I'm visiting South Florida and accidentally search for [maimi restaurants], it's reassuring to know I'll quickly go
08:02:35 <ehird> straight to the results for what I really meant: Miami restaurants.]]
08:02:39 <ehird> it's about time
08:05:51 <Deewiant> Didn't they already do that?
08:06:03 <ehird> no, they showed a preview of the results
08:06:10 <ehird> this way, if they have a high confidence of an error
08:06:14 <Deewiant> Well yeah, okay
08:06:16 <ehird> they show only the fixed results
08:06:18 <ehird> with an option to undo
08:06:24 <ehird> http://3.bp.blogspot.com/_7ZYqYi4xigk/Sxb_MsMIxyI/AAAAAAAAFC0/IqU_3tGQCUU/s1600-h/barcode_mockup_fade.gif ;; i have to admit though, this is hot
08:07:04 <oerjan> and i was _already_ finding google's tendency to second-guess me occasionally annoying :(
08:07:34 <ehird> Stop whining and use grep query /the/internet.
08:07:43 <ehird> Google is clever; its suggestions are usually good.
08:09:14 <ehird> "Yahoo! Selects Google as Search Engine Provider" —2000 (http://www.google.com/corporate/timeline/images/photos/XBD_HP_20000711.png)
08:09:29 <ehird> "Yahoo! Selects Yahoo! as Search Engine Provider" —?
08:09:33 <ehird> "Yahoo! Selects Bing as Search Engine Provider" —2009
08:22:18 <ehird> 07:15:06 <asiekierka> 1/inf == 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...............1
08:22:18 <ehird> 07:15:10 <asiekierka> i guess
08:22:18 <ehird> 07:15:14 <asiekierka> the dots represent infinite 0's
08:22:18 <ehird> You fail at mathematics forever.
08:22:44 <ehird> 07:17:42 <asiekierka> 0.999999999999.................. rounds to 1!
08:22:44 <ehird> Die.
08:23:32 <ehird> 07:22:05 <AnMaster> 0.33333... given that ... is "continue forever" is *exactly* 1/3. Multiplying it with 3 will *not* yield 0.999..., but exactly 1
08:23:32 <ehird> you fail
08:23:33 <Deewiant> In general when somebody that young fails to understand something I don't think it's fair to say "forever", it's quite likely they'll understand it some time in the future
08:23:41 <ehird> 0.333.... * 3 = 0.999... = 1
08:23:50 <ehird> 0.333... = 1/3
08:23:53 <ehird> 1/3 * 3 = 1
08:23:54 <ehird> therefore
08:23:58 <ehird> 0.999... = 1
08:24:06 <ehird> 0.333... * 3 does very well equal 0.999...
08:24:11 <ehird> Deewiant: I'm allowed to memeify.
08:24:27 <Deewiant> Is the word "forever" a meme now?
08:24:49 <oerjan> you fail memes forever
08:25:20 <ehird> Deewiant: "you fail X forever" is a meme
08:25:36 <Deewiant> Okay
08:25:41 <ehird> 07:39:49 <AnMaster> otherwise casting to (bool) should make it well defined
08:25:41 <ehird> 07:40:16 <oerjan> there is a bool type?
08:25:42 <ehird> 07:40:34 <AnMaster> in C99 yes
08:25:42 <ehird> 07:40:36 <AnMaster> in C89 no
08:25:42 <ehird> Incorrect; there is a _Bool type. There is also <stdbool.h>, which contains `#define bool _Bool`.
08:26:16 <ehird> 07:57:53 <ais523_> <strider24> To me Wave is an experiment by Google to see how long they can hold the attention of people with a product that makes no sense.
08:26:16 <ehird> 07:57:56 <ais523_> Discuss.
08:26:16 <ehird> I think it's accidentally that
08:26:32 <ehird> they came up with some reasonable ideas, built it, and then realised that is the only way for it to survive
08:26:41 <oerjan> they accidentally the sense
08:30:24 <ehird> 09:05:53 <AnMaster> what about three "that" then?
08:30:24 <ehird> That that that's property, that's property.
08:30:31 <ehird> I guess that's isn't really that.
08:31:05 <ehird> 09:09:28 <AnMaster> oklofok, what about: "using that that that construct outside contrived examples is really irritating"?
08:31:05 <ehird> that that is perfectly proper English. as is had had.
08:31:15 <ehird> "He had had that that sucks before, but this time was different."
08:32:13 -!- oklofok has joined.
08:33:05 <ehird> 09:52:07 <asiekierka> where can i find any source code for BSD dc
08:33:05 <ehird> http://freebsd.org/cgi/cvsweb.cgi/src/
08:33:39 <ehird> 10:10:38 <ais523> happy australian mailman reminders day!
08:33:39 <ehird> *Australian Mailman Mailing List Reminders Day
08:34:06 <ehird> 10:14:50 <ais523> this is your last day of being a teenager, ever
08:34:07 <ehird> i don't think being 19 is actually possible
08:34:11 <ehird> when do you ever hear of someone being 19
08:34:16 <ehird> everyone is just in a void while they are 19
08:34:45 <ehird> 10:20:03 <yiyus> asiekierka: if you want to port a light dc, maybe you have more luck with p9p version
08:34:46 <ehird> <3
08:35:03 <Asztal> I don't remember being 19, so it must be a lie
08:35:19 <ehird> 10:20:44 <asiekierka> i think this one may roughly be related to the unix v7 one
08:35:20 <ehird> 10:21:02 <asiekierka> yup
08:35:20 <ehird> 10:21:16 <asiekierka> it is a port of (probably a bit newer) the version from unix v7
08:35:20 <ehird> It's a port of Plan 9's dc to POSIX with Plan 9 libraries.
08:35:33 <ehird> Plan 9's dc was probably derived from Tenth Edition Unix, being its official successor.
08:35:41 <oerjan> i most certainly remember being 19. possibly the best life in my year so far.
08:35:47 <oerjan> er
08:35:54 <oerjan> *year in my life
08:36:23 <ehird> oerjan: you'd be happier if you didn't spend all your time mentioning how gloomy you are
08:36:28 <AnMaster> <ehird> that that is perfectly proper English. as is had had. <-- yes, but still takes more work to parse than average.
08:36:59 <ehird> 10:23:38 <oklofok> girls are always like uhh big day let's cuddle
08:36:59 <ehird> 10:24:04 <AnMaster> oklofok, anything wrong with that?
08:37:00 <ehird> 10:24:49 <oklofok> well it's against the tradition.
08:37:00 <ehird> oklofok representin'
08:37:02 <oerjan> i _don't_ remember spending all my time mentioning how gloomy i am, however
08:37:38 <ehird> 10:48:35 <asiekierka> <asiekierka> line 814
08:37:38 <ehird> 10:48:35 <asiekierka> <asiekierka> Blk* div(Blk *ddivd, Blk *ddivr)
08:37:38 <ehird> 10:48:35 <asiekierka> <asiekierka> 3 "variable identifier expected"
08:37:39 <ehird> 10:48:35 <asiekierka> <asiekierka> and 2 "undefined symbol:" one for 'ddivd' and one for 'ddivr'
08:37:39 <ehird> Blk isn't defined
08:37:40 <ehird> typedef mistake
08:38:15 <ehird> 12:21:47 <AnMaster> just write a new backend for llvm, and some system specific header files and you are done
08:38:16 <ehird> 64 k memory
08:38:29 <AnMaster> ehird, I didn't say llvm would run *on* it
08:38:33 <ehird> Well then :P
08:38:35 <AnMaster> llvm is a perfectly good cross compiler
08:41:43 <ehird> I think I'm going to try to avoid the semicolon.
08:42:46 <AnMaster> ehird, in what place? programming? natural language?
08:42:51 <ehird> The latter. :P
08:43:03 <ehird> 08:29:46 <AnMaster> oklofok, how would this be handled if humanity started to colonise other planets? With possibly different lengths of day and year.
08:43:03 <ehird> colon-ise
08:43:12 <AnMaster> oops
08:43:15 <AnMaster> nice typo
08:43:54 <ehird> 08:34:59 * AnMaster notes that writing (* 365 24 60 60) is much more compact than 365 * 24 * 60 * 60 (and skipping those spaces is ugly)
08:43:54 <ehird> It's not really that ugly.
08:43:57 <ehird> AnMaster: no type
08:43:58 <ehird> *typo
08:44:28 <ehird> Anyway, 365<ENTER>24*60<ENTER>>60*.
08:44:28 <ehird> s/>>/>/
08:44:29 <ehird> HP in your face? :P
08:44:41 <AnMaster> ehird, but if it wasn't ugly it wouldn't be sorter to write it in the former way
08:45:08 <AnMaster> long live circular argument or something
08:45:46 <ehird> 08:56:41 <oklofok> iirc he likes factor
08:45:46 <ehird> heh it's interesting
08:46:21 <ehird> 09:03:43 <ais523> anyway, I'm kind of worried
08:46:22 <ehird> 09:03:48 <ais523> there was a weird whirring sound for a while
08:46:22 <ehird> 09:03:52 <ais523> then a bang above me
08:46:22 <ehird> 09:03:56 <ais523> now there's the smell of burnt silicon
08:46:22 <ehird> literally seconds after complaining about the channel not being on-topic often
08:46:44 <ehird> 09:04:36 <oklofok> overheard :P so now we're confusing overload and overheard too!
08:46:44 <ehird> overhird!
08:47:21 <ehird> the problem with RPN for complex statements is that the operands' meaning depend on the operator unless we're talking about basic arithmetic
08:47:28 <ehird> so we have to keep a mental stack of uninterpreted operands
08:48:47 <ehird> 09:19:41 <quantumEd> don't make math too formal it takes the soul out of it
08:48:47 <ehird> That, and your name quantumEd, means you are now officially an "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" quack.
08:48:51 <ehird> Have a nice day.
08:49:29 <ehird> 09:27:34 <quantumEd> oklofok just look at this picture, http://thinkzone.wlonk.com/MathGems/pics/pythagorean_theorem.gif -- this proves pythagoras without any "R" or "metric" or analytic geometry
08:49:30 <ehird> I hate visual proofs.
08:49:55 <ehird> 09:32:35 <oklofok> if you were traveling near speed of light, that proof wouldn't apply anymore
08:49:55 <ehird> marry me
08:51:47 <ehird> 09:34:36 <quantumEd> I would say it is: Mathematics
08:51:47 <ehird> 09:34:41 <oklofok> it is not: mathematics
08:51:47 <ehird> 09:34:46 <oklofok> it has nothing to do with: mathematics
08:51:48 <ehird> 09:35:01 <quantumEd> maybe to you mathematics is deduction trees which a computer can say "VALID" or "INVALID"
08:51:48 <ehird> You are ignorant to the highest degree.
08:53:59 <ehird> 10:26:24 <oklofok> also why is it so hard to remember quantumEd is fax
08:53:59 <ehird> he is?
08:54:48 <ehird> 10:27:09 <ais523> except to get statements from us that you could later use to destroy our political careers
08:54:49 <ehird> Raping horses with a stick is the only moral thing to do when confronted with a child molester.
08:54:52 <ehird> There goes my career!
08:55:27 <ehird> 10:37:14 <ais523> oklofok: you know, it's OK to unbelieve things you previously believed if someone points out errors in them
08:55:27 <ehird> Shut up, science-fascist!
08:56:50 <ehird> 09:36:10 <ais523> ok, consider a "times table" (a table where the element at (i,j) is i*j)
08:56:50 <ehird> THIS SOUNDS LIKE A JOB FOR J
08:58:16 <oerjan> poor I got left out
08:59:15 <ehird> i forgot j lulz
09:04:06 <ehird> 13:37:28 <ais523> (short)x is in the same memory location as (long)x
09:04:06 <ehird> 13:37:43 <ais523> if you use big-endian, you have to write code for downcasting
09:04:06 <ehird> 13:37:58 <ais523> this is the main theoretical advantage for little-endian, as far as I know
09:04:07 <ehird> i am now a little-endian fan
09:06:06 <ehird> 13:45:12 <ais523> AnMaster: I/O, etc
09:06:07 <ehird> 13:45:17 <ais523> as in, you need inline ASM
09:06:07 <ehird> 13:45:19 <ais523> or something else similar
09:06:07 <ehird> unsigned char *out = 0xB0000;
09:06:49 <AnMaster> ehird, eh context of the I/O stuff
09:06:59 <ehird> rtfl
09:07:02 <AnMaster> as in, what were we discussing
09:07:28 <ehird> 09.12.01
09:07:43 <AnMaster> meh, don't care enough
09:13:12 <ehird> Hey, AnMaster?
09:13:14 <ehird> "A very large, 30-year study of just about everyone in Scandinavia shows no link between mobile phone use and brain tumours."
09:13:26 <ehird> Not that I expect it'll stop your irrationality about that matter.
09:13:26 <fizzie> Speaking of things not to care about, I have this N900 phone now.
09:13:40 <ehird> fizzie: Nice timing.
09:13:44 <ehird> Or did you see my message?
09:14:53 <fizzie> Well, sort-of. I did see it, but I was already writing what I wrote when I saw it.
09:15:27 <AnMaster> ehird, err, I didn't say I believed that. I only think I said I prefer being cautious
09:15:41 <ehird> What, even now?
09:16:02 * oerjan read that as NMT-900
09:16:05 <ehird> The study provides overwhelming evidence that phones do fuck all as far as brain tumours go.
09:16:19 <ehird> AnMaster: I assume you pray 5 times a day to Mecca— to be cautious in case the Islamic god exists?
09:16:30 <ehird> (is it 5 or 7 times?)
09:16:31 <AnMaster> ehird, well sure. But at least some types of cancer can take quite some time to develop iirc. :P
09:16:41 <oerjan> 5
09:16:57 <ehird> AnMaster: The worst kind of idiot is the idiot who tries to ignore his stupidity with a bad joke.
09:17:18 <AnMaster> ehird, I wasn't replying to the praying line...
09:17:23 <ehird> I never said that.
09:17:35 <oerjan> AnMaster: if mobile phones take 30 years to develop cancer then _absolutely_ no one has any evidence that it does
09:17:49 <oerjan> because it won't have _happened_ yet
09:17:50 <AnMaster> oerjan, true
09:18:01 <ehird> "Ha! I don't know anything about how science works, and will summarily ignore this study with a huge base of evidence, yet continue to believe in evolution, even though all we have for that is that same pesky *evidence*."
09:18:03 <ehird> "... :P"
09:18:38 <AnMaster> oerjan, I think we can be quite safe in about 100 years or so. Becuase if it causes cancer over longer periods than that it can currently be safely assumed we will be killed by something else before instead.
09:18:46 <AnMaster> </joke>
09:19:28 <ehird> [[It is possible, Deltour's team wrote, that it takes longer than 10 years for tumours caused by mobile phones to turn up, that the tumours are too rare in this group to show a useful trend, or that there are trends but in subgroups too small to be measured in the study.
09:19:28 <ehird>
09:19:29 <ehird> It is just as possible that mobile phones do not cause brain tumours, they added.]]
09:19:55 <ehird> AnMaster: You should be just as cautious of radio.
09:19:56 <AnMaster> ehird, I read about this study in the newspaper today (or was it yesterday?)
09:20:02 <ehird> May I suggest moving to an area where you cannot receive radio?
09:20:05 <ehird> It's radiation, you know.
09:20:16 <ehird> You could say that everything's radiation. Sort of. I guess.
09:20:47 <AnMaster> ehird, lets avoid sun light (hey that one *does* cause cancer)
09:21:09 <ehird> How on earth can you make a joke based entirely around your foolishness and yet still go by it?
09:21:14 <ehird> It makes almost a negative amount of sense.
09:22:20 <AnMaster> um. Because you have been misunderstanding what my actual opinion on mobile phone radiation issues is?
09:22:22 <oerjan> fizzie: if it had been NTM-900, then it would really have been something not to care about
09:22:39 <ehird> AnMaster: I'm basing it entirely on what you've said today.
09:23:03 <ehird> That is: "I only think I said I prefer being cautious"
09:23:06 <AnMaster> ehird, do you have anything against: "better safe than sorry"
09:23:17 <ehird> AnMaster: Yes, because you're not trying to avoid radio signals, are you?
09:23:23 <ehird> Or low levels of sunliight.
09:23:26 <ehird> *sunlight
09:23:31 <oerjan> ehird, always interpreting any sentence in the way that most implies its source is an idiot
09:23:36 <AnMaster> ehird, well, there is also evidence that we need sunlight
09:23:46 <AnMaster> as in, too low = bad, too high = bad
09:23:52 <ehird> oerjan: I think you'll find he's interpreting it in the same way. Care to offer me whatever hackneyed interpretation you take?
09:23:56 <AnMaster> s/high/much/
09:24:10 <ehird> AnMaster: That's irrelevant. Anyway, you are still dodging the matter of radio signals.
09:24:21 <oerjan> ehird: i'm making a general statement here
09:24:34 <ehird> AnMaster: btw, the radiation from phones is non-ionizing.
09:24:55 <ehird> and in the range of tens of millions time weaker than it would take to be the weakest ionising sort.
09:25:03 <ehird> if i understand it correctly, which i think i do.
09:25:20 <ehird> and ionising radiation is what fucks up dna, and causes cancer.
09:25:43 <ehird> oh, and...
09:25:43 <ehird> [[
09:25:43 <ehird> At room temperature, your DNA is rattled around by thermal fluctuations with an energy on the order of 0.026 eV. So you can absorb radiation (Infrared Light) on this order of energy without any problem other than possibly getting hot.
09:25:43 <ehird> If you want to start harming DNA, and thus helping cause cancer, you need to hit it with photons of 3 eV or more (ultraviolet light).
09:25:44 <ehird> Cell phone radiation, on the other hand, consists of photons with around 0.000001 eV of energy (~ 1 GHz - 5 GHz ). So getting bombarded with a few of these photons isn't going to have any effect.
09:25:47 <ehird> ]]]
09:25:54 <ehird> so i guess you avoid ... existitng
09:26:13 <ehird> what with all that over-80-times-more-powerful-than-phones radiation
09:26:17 <ehird> *existing
09:35:47 <ehird> 18:58:51 <coppro> Sgeo: It's brilliant. It's the smallest device I've ever seen that a criminal could use to steal card numbers
09:35:47 <ehird> You mean... getting people to tell you their number?
09:35:52 <ehird> Store owners are EEEEEEEEEVIL
09:36:13 <ehird> Credit cards are insecure anyway.
09:36:22 <ehird> Everyone you've ever bought from could purchase things as you forever.
09:36:42 <oerjan> um they have expiration dates don't they?
09:37:35 <ehird> Yes.
09:37:41 <ehird> Well, forever=as long as you can use it.
09:37:45 <ehird> 07:58:11 <asiekierka> uuuuurgh
09:37:45 <ehird> 07:58:16 <asiekierka> what happened to ehird
09:37:46 <ehird> 08:02:08 <oerjan> there was a tragic accident involving cheddar, a moose and five ancient OSes
09:37:46 <ehird> 08:02:30 <oerjan> while ehird survived (barely), the cheddar did not.
09:37:46 * ehird nods
09:38:24 -!- Azstal has joined.
09:38:43 -!- Asztal has quit (Read error: 60 (Operation timed out)).
09:38:54 -!- Azstal has changed nick to Asztal.
09:39:24 <ehird> 12:42:53 <Gregor> http://ismarriagelegalintexas.com/
09:39:25 <ehird> isnomiclegalintexas
09:42:14 <oerjan> isrunningwordstogetherlegalintexas
09:45:16 <ehird> 14:10:13 <AnMaster> like, office suite, compiler, vector graphics editor, "better than paint" bitmap editor (gimp)
09:45:17 <ehird> gimp isn't better than paint, just more powerful
09:46:00 <ehird> 14:10:57 <AnMaster> ais523, xp x64 needs around 2.5 GB iirc
09:46:00 <ehird> 14:11:00 <AnMaster> way more reasonable
09:46:01 <ehird> "The Oberon OS is available for several other hardware platforms, generally in no cost versions. It is typically extremely compact. Even with an Oberon compiler, assorted utilities including a web browser, TCP/IP networking, and a GUI, the entire package has been able to fit on a single 3.5" floppy disk."
09:46:17 <ehird> Okay okay so I'm raving a bit on the Oberon OS' design, shut up.
09:46:21 <AnMaster> ehird, I didn't say it was good. Just more reasonable :P
09:46:29 <ehird> *OS's, fuck s-with-no-s-thingy
09:46:57 <AnMaster> s with no s?
09:47:02 <ehird> OS' vs OS's
09:47:03 <ehird> eh i need to set up bitlbee again to connect to m*b*s
09:47:25 <AnMaster> ehird, so care to give a summary about what the hell was going on last week and few weeks before that?
09:47:37 <ehird> not really. also, it's not over yet.
09:47:41 <AnMaster> ah
09:47:47 <AnMaster> good luck with.... whatever it is
09:47:58 <ehird> you get another break from me next mon-fri ;p
09:47:59 <ehird> *:P
09:48:15 <AnMaster> ehird, huh. What sort of strange thing may this be
09:48:44 <ehird> it's complicated
09:49:04 <AnMaster> ehird, parent got fired?
09:49:16 <ehird> You can sit there guessing for a few years and it won't help.
09:49:19 <oerjan> ouch
09:49:20 <AnMaster> right
09:49:41 <AnMaster> ehird, so tell us!
09:49:47 <ehird> No.
09:50:01 <AnMaster> you just love having secrets right?
09:50:56 <ehird> Hey, feel free to fuck off.
09:55:54 <ehird> 16:52:10 <lament> skullfuck is the more popular term
09:55:55 <ehird> 16:54:07 <SimonRC> I meant, being done, rather than being talked about
09:55:55 <ehird> 16:54:24 <lament> i imagine it's difficult to find a willing partner
09:55:55 <ehird> 16:54:54 <SimonRC> zzzzzzzzzzzzzzzzzzzzzzzzz
09:55:55 <ehird> 17:17:36 <Asztal> lament: who said they had to be willing?
09:55:56 <ehird> Either we just jumped the shark, or the shark just jumped us.
09:55:57 <ehird> I'm not sure which.
09:56:21 <ehird> 19:06:44 <madbrain> but than that means your solve_halting_program() function cannot return either true or false for that particular program because then the program uses the solution to prove it false
09:56:22 <ehird> :slowpoke:
09:56:52 <ehird> 19:18:33 <pikhq> quantumEd: ... "Well-founded recursion"?
09:56:52 <ehird> 19:18:49 <quantumEd> you are allowed to loop on smaller inputs than what you were given only
09:56:52 <ehird> 19:19:09 <quantumEd> so that every function (that's execution doesn't reach any "loop") terminates
09:56:52 <ehird> 19:19:28 <pikhq> And how do you intend to enforce such a restriction?
09:56:53 <ehird> It is possible.
09:57:00 <ehird> 19:20:35 <pikhq> ... And for that matter, what does "smaller inputs" mean?
09:57:00 <ehird> It's well-defined.
09:57:06 <ehird> The resultant language is sub-TC, but not too bad.
09:57:21 <ehird> http://lambda-the-ultimate.org/node/2003
09:57:21 <ehird> http://www.jucs.org/jucs_10_7/total_functional_programming/jucs_10_07_0751_0768_turner.pdf
09:57:40 <ehird> 19:29:53 <pikhq> quantumEd: What sort of ridiculous restriction on the type system *could you do* to make that not well-typed?
09:57:40 <ehird> See above.
09:57:42 <ehird> It's not useless.
09:57:46 <oerjan> ehird: we don't jump the shark. we tie it up and force it to do computation.
09:57:50 <ehird> 19:31:34 <pikhq> quantumEd: By "useful", I mean "capable of non-trivial calculation".
09:57:51 <ehird> It can do Ackermann.
10:00:58 <ehird> 12:20:53 <poiuy_qwert> ah yes those ones. who has those anymore? ;P
10:00:58 <ehird> higher-quality keys.
10:01:13 <ehird> although there are other mechanical switches apart from buckling spring
10:03:19 <ehird> 22:24:09 <Gregor> (01:31:11 AM) <>: SystemError: Cannot compiler 'Python.h'.
10:03:38 <ehird> Karnts kompiler Pygthon.h
10:03:43 <ehird> i suck at faux-german
10:04:43 <ehird> btw more people should go wtf at my sort-of-early-draft-thingy-work-in-progress-vaguely-formed-ideas dependently-typed-of-a-sort pastie.org/728571.txt?key=zl2af7lovf0knbe3avpw.
10:04:52 <ehird> http://pastie.org/728571.txt?key=zl2af7lovf0knbe3avpw for clickability
10:06:26 <ehird> erm another mistake?
10:06:30 <ehird> i suck at this :D
10:07:01 <ehird> http://pastie.org/729217.txt?key=y9oq5kkybo7uhz8eyr9vq
10:07:02 <ehird> fixed
10:07:18 <ehird> (s/List\.on/List.of/)
10:13:27 * ehird considers using haskell
10:13:49 <ehird> except for the effort of a haskell compiler, ugh
10:25:14 -!- adam_d_ has quit ("Leaving").
10:28:00 -!- quantumEd has joined.
10:47:05 -!- augur has quit (Read error: 104 (Connection reset by peer)).
11:03:21 <AnMaster> ehird, oh?
11:04:13 <ehird> AnMaster: Context of that oh?
11:04:19 <AnMaster> <ehird> except for the effort of a haskell compiler, ugh
11:04:39 <ehird> Well, an Oberon-2 compiler is about 4,000 lines.
11:04:49 <ehird> A Haskell compiler is more like 50,000.
11:04:58 <ehird> I think GHC is about 100k lines of Haskell.
11:05:14 <ehird> Oberon-2 compiler would be more like 3,000 lines in Haskell, I guess.
11:05:37 <ehird> And the snippet I pasted should be quite simple to compile too.
11:05:50 <ehird> Anything that requires 33x the effort of an Oberon-2 compiler I probably won't want to do.
11:05:52 <AnMaster> hm
11:06:01 <ehird> Haskell could fit in quite nicely to the system, but eh.
11:06:22 <AnMaster> 100k lines feel so inelegant somehow
11:07:23 <pikhq> AnMaster: GHC does a *lot*.
11:07:31 <AnMaster> true
11:09:22 <ehird> GHC is pig-ugly code
11:09:29 <ehird> there is stuff in there that makes its own monad infrastructure
11:09:36 <ehird> because monads didn't exist at the time
11:09:39 <ehird> in haskell
11:10:25 <pikhq> Oh, it still uses non-monadic Haskell?
11:10:27 <pikhq> Eeeeew.
11:12:24 <AnMaster> what did haskell use before monads?
11:12:40 <quantumEd> LISTS
11:14:43 <pikhq> Lists of actions for the IO monad, lists of other things otherwise.
11:16:00 <quantumEd> lisp had it right, CAR CDR and all that
11:16:18 <pikhq> Lisp had it wrong.
11:16:26 <pikhq> You can modify state.
11:16:35 <quantumEd> oh yeah I forgot about that
11:17:50 <ehird> You forgot continuation IO.
11:17:56 <ehird> Anyway, it was for non-IO stuff.
11:17:59 <ehird> And this is just in some parts.
11:18:06 <ehird> Other parts use regular Prelude Monads.
11:23:13 <quantumEd> pikhq what was the argument against modifying state again?
11:31:44 <pikhq> quantumEd: There is no state. There is only lambda.
11:31:56 <quantumEd> um
11:32:12 <pikhq> On a more serious note: a lack of state greatly aids reasoning about your program.
11:32:59 <ehird> Separation of Church and state.
11:33:05 <ehird> hyuk hyuk hyuk get it lambda calculus church?
11:33:06 <ehird> ahahaha
11:33:08 <ehird> I am funny comedian
11:34:39 <ehird> pikhq: have you looked at the oberon os? the paradigm is like plan 9's acme (inspired it) ftp://ftp.inf.ethz.ch/pub/ETHOberon/Native/StdAlone/
11:34:54 <ehird> maybe you'll have better luck at getting it to run in a vm than me, I think it'd be interesting to have an oberon-os-but-haskell
11:34:56 <pikhq> Can't say I have.
11:34:56 <ehird> or similar
11:35:18 <ehird> pikhq: the paradigm blends hypertext with code, it's a living-environment like smalltalk
11:35:26 <ehird> you can have code inline with documents
11:35:32 <ehird> and that's how you run commands and open things etc
11:35:51 <ehird> and everything is text, except it handles multimedia and formatting too
11:35:59 <ehird> but it's best at manipulating text/commands
11:36:15 <ehird> it divides the whole window into frames like acme, and they're as fluid as acme's frames
11:37:39 <ehird> i can boot it in qemu but the old-IDE disk driver spews a lot of crap and after installation+reboot, it just hangs trying to boot
11:37:59 <ehird> pikhq: the implications are really interesting — the installer is the same as its documentation
11:38:16 <pikhq> Huh.
11:38:18 <ehird> it just has hyperlinked commands at certain points that you erase the arguments of and fill in the appropriate ones as explained, then middle-click the command name
11:39:11 <ehird> and e.g. partitioning is done by middle-clicking (iirc) Partition.Show, which brings up another frame, scrolling down to the partition-creation command, replacing <num> and <size> and middle-clicking it
11:39:20 <ehird> so you have a sort of composition of tools there, into one documentation-tool
11:40:00 <ehird> Researchers from Helsinki University of Technology (Finland), University of New South Wales (Australia), and University of Melbourne (Australia) have succeeded in building a working transistor, whose active region composes only of a single phosphorus atom in silicon. The results have just been published in Nano Letters.
11:40:05 <ehird> grats, fizzie + Deewiant :P
11:40:15 <Deewiant> We didn't do it
11:40:36 <ehird> tkk is your uni
11:40:43 <ehird> your uni was part of it, the news article is on the tkk site
11:40:45 <ehird> I REST MY CASE
11:40:54 <Deewiant> Whatever
11:41:09 <ehird> Deewiant: moody :p
11:41:12 <Deewiant> :-P
11:42:07 <oerjan> ehird: clearly Deewiant is just denying it so no one will notice their nanobots taking over the world
11:42:19 <ehird> mmf
11:42:19 <ehird> mmf
11:42:21 <ehird> MMPH
11:42:22 <ehird> $(*$&@&(@(&@
11:42:29 <ehird> hello i am grey goo
11:42:36 <ehird> (british gray goo)
11:42:46 <quantumEd> http://tunes.org/~nef/logs/esoteric/?C=M;O=D
11:42:53 <quantumEd> what's the point in ?C=M;O=D ?
11:42:57 <oerjan> sorting
11:43:24 <quantumEd> oh I see
11:43:41 <ehird> yeah
11:44:00 <ehird> Column=Modified
11:44:03 <ehird> Order=Descending
11:45:24 <ehird> futura was designed by a german, I am the least surprised
11:49:40 <oklofok> oerjan: what did you do when you were 19?
11:50:26 <ehird> probably was unconscious for a whole year, knowing oerjan's fatalistic outlook
11:52:05 <ehird> pikhq: any luck with oberon or not interesteed?
11:52:54 <pikhq> ehird: 9~Bit busy trying to find keys.
11:53:03 <ehird> pikhq: Wat?
11:53:09 <ehird> Oh, physical keys.
11:53:21 <pikhq> Yes.
11:53:38 <oklofok> ehird: That, and your name quantumEd, means you are now officially an "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" quack. <<< THANK you
11:53:42 <ehird> As in door-openers.
11:53:54 <ehird> oklofok: no, thank YOU!
11:53:58 <ehird> this is a war on thanks
11:54:26 <ehird> I'd rather people were outright religious than quantum-mystical
11:54:37 <oklofok> but... i was agreeing with you, do i really have to fight you now?
11:54:39 <ehird> It's pathetic to see them denigrate the beauty of quantum mechanics in such a way
11:54:48 <ehird> oklofok: well, i don't know what to do otherwise :D
11:55:20 <oerjan> oklofok: i started university
11:55:55 <oklofok> ah
11:55:59 <quantumEd> oklofok what ?
11:56:02 <oerjan> also went to the math olympiad. although i'm not quite sure if that was before or after my birthday
11:56:13 <oklofok> how did you do?
11:56:16 <quantumEd> oklofok is that about me
11:56:35 <oklofok> quantumEd: you can read logs, basically i'm thanking ehird for being on my side about our debate
11:56:45 <quantumEd> oklofok us two had a debate?
11:56:48 <oklofok> yes
11:56:48 <oerjan> fairly mediocre
11:56:53 <quantumEd> oklofok what was it about
11:57:07 <oklofok> short one, but i count it as a great irc debate, because it didn't turn into a flamewar :)
11:57:11 <quantumEd> oklofok oh you're taking the piss out of me because I have a different philosophy to mathematics than you do
11:57:18 * AnMaster does something incredibly unlikely
11:57:19 <quantumEd> oklofok that's kinda lame
11:57:40 <oklofok> taking the piss out of you?
11:57:48 <quantumEd> "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY"
11:57:52 <oklofok> i'm just saying thanks for agreeing with me
11:58:09 <quantumEd> what did I agree with you on?
11:58:13 <oklofok> err yeah, that's how ehird says he disagrees
11:58:23 <ehird> quantumEd: Your definition of "mathematics" is wrong.
11:58:27 <quantumEd> felt like you were making fun of me with it
11:58:27 <oklofok> "YOU'RE A FUCKING MORON GRRRR I HATE TYOU SO MUSCH!?!?1?1?"
11:58:49 <ehird> oklofok: I don't hate him, he's just a quack.
11:58:52 <oklofok> i'm not saying i completely agree with you being totally insane :P
11:59:19 <quantumEd> yeah not sure what you're getting at but it seems like you're taking the piss
11:59:21 <oklofok> i just like it when ehird agrees with me, because i don't like being the quack... well okay i suppose i do
11:59:56 <oklofok> quantumEd: okay w/e
12:00:16 <oerjan> AnMaster: i don't really recommend spontaneously teleporting like that, what if you end up inside something?
12:00:17 <oklofok> ehird: yes, but i got the gist of it
12:00:30 <AnMaster> oerjan, no this is even stranger
12:00:36 <oerjan> oh dear
12:00:40 <AnMaster> oerjan, using a floppy device!
12:00:43 <quantumEd> oklofok are you referring to something someone said in particular? because I probably don't know what it is if so
12:00:45 <ehird> AnMaster: you broke backwards compatibility?
12:00:46 <ehird> oh.
12:00:46 <oerjan> AAAAAAAAAAAAAAAAAAAAA
12:00:54 <AnMaster> an USB one even.
12:01:17 <AnMaster> connected to an ibook.
12:01:43 <oklofok> quantumEd: wtf? i'm fucking pasting a line someone said and thanking them for agreeing with me, and you start saying i urinate, look in the fucking logs and stop being a bitch kay?
12:02:08 <quantumEd> oklofok: oh you didn't write this? "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY"
12:02:14 <oklofok> ...
12:02:16 <oerjan> if it ducks like a quack...
12:02:26 <oklofok> nono, i wrote that, then pasted it here and thanked myself
12:02:28 <ehird> quantumEd: no, I did.
12:02:31 <quantumEd> ah
12:02:32 <quantumEd> 00:48:47 <ehird> That, and your name quantumEd, means you are now officially an "omg math is innate beauty it doesn't have to be formal, plus quantum effects=consciousness=UNIVERSE MATTER TRANSCEND BEAUTY" quack.
12:02:40 <oklofok> anyway if you thought that was me, then i see why you'd be mad
12:02:48 <quantumEd> yeah I don't read a lot of what ehird writes
12:02:53 <oklofok> :P
12:02:59 <ehird> My words are made of pure pain!
12:03:01 <quantumEd> oklofok um.. thanks for making me aware of this though
12:03:04 <ehird> s/ / /
12:03:13 <ehird> Ooh, aware of it. I think I'm supposed to be scared now.
12:03:34 <quantumEd> ignorance is bliss kinda thing
12:04:06 <oerjan> ehird: you've been quantum observed!
12:04:19 <oerjan> prepare to collapse!
12:04:27 <oklofok> quantumEd: and "THANK you" wasn't exactly a sincere thanks, it was sort of sarcastic, because he sort of did what i definitely didn't want to do, and said something that usually leads to a flamewar on irc.
12:04:33 <oklofok> sort of
12:04:50 <oklofok> not sure why i'm explaining myself
12:04:54 <quantumEd> oklofok dunno it's pissing off me though, I left because ehird is such a cunt, now I can't even /ignore him
12:05:03 <oerjan> oklofok: you realize this has now officially turned into a flamewar anyhow?
12:05:16 <oklofok> :D
12:05:19 <oklofok> to both of you
12:05:54 <oklofok> oerjan: yes, but it was just because of misinterpretation, unlike most other flamewars!
12:06:01 <AnMaster> what the hell just happened
12:06:07 <AnMaster> using the floppy drive in my desktop
12:06:10 <AnMaster> made X crash
12:06:19 <AnMaster> and I get IO error on my SATA drive
12:06:23 <AnMaster> when I try to read from it
12:06:40 <AnMaster> that's ridiculous
12:06:58 <AnMaster> it's reproducible btw
12:07:20 <AnMaster> ehird, any bright idea about that?
12:07:36 <ehird> nope
12:09:17 <quantumEd> nice to be reminded how pathetically antisocial and confrontation I am too by you folks
12:09:18 <mycroftiv> did someone say ELIZA? http://www.atariarchives.org/morebasicgames/showpage.php?page=58
12:09:36 <oklofok> quantumEd: anyway i find that sometimes people that are total cunts are the ones that really make you wonder whether you're as great a person as you could be; not saying ehird has made me change my ways, but a few other total cunts have made quite an impression! :P
12:10:02 <mycroftiv> wow, i was a full 24 hours back in the scrollback
12:10:15 <ehird> quantumEd: i wasn't personally attacking you, btw.
12:10:19 <quantumEd> oklofok I don't really follow, the deal was: don't read stuff from ehird - don't get into some horrible droning argument that nobody wants to hear
12:10:20 <ehird> just your beliefs about mathematics
12:10:40 <ehird> I try not to attack people (I usually mean "you're being an idiot" when I say "you're an idiot")
12:10:51 <oklofok> quantumEd: that was a general comment, it was not about this thing here
12:11:06 <quantumEd> yeah I got that
12:12:16 -!- adu has joined.
12:12:37 <oklofok> in fact, a certain well-known #math cunt has changed my views about mathematics quite a lot
12:12:53 <adu> in a bad way?
12:12:53 <quantumEd> how?
12:13:10 <oklofok> views can only be changed in a good way
12:13:19 <oklofok> because it's i who changes them
12:13:27 <adu> don't take it personally, I'm a mathematician, and I love math, but I hate #math
12:13:36 <oklofok> well #math is full of cunts
12:13:39 <quantumEd> yeah #math is not really a good place
12:13:40 <adu> yes
12:13:45 <quantumEd> neither is this channel
12:13:49 <oklofok> i like that, really makes you think what you say
12:14:08 <quantumEd> it's the kind of place where you don't want to turn on your brain because you're only not going to get insulted if you say the pattern match responses
12:14:21 <oklofok> :D
12:14:24 <adu> oklofok: so how is your OK-language or whatever?
12:14:38 <oerjan> pattern shmattern
12:14:41 * oerjan ducks
12:14:49 -!- augur has joined.
12:14:56 <oklofok> adu: a simple version of oklotalk got implemented in python, but i've kinda gotten out of programming
12:15:10 <adu> oh
12:15:18 <adu> I've gotten into it :)
12:15:36 <adu> I wrote an OpenType to JSON converter yesterday :)
12:15:41 <oklofok> i mean i still code like little snippets every now and then, but bigger i don't really have time for bigger programs
12:15:45 <oklofok> *-bigger
12:15:51 <quantumEd> hey ehird can I PM you or are you going to be a bitch about it?
12:16:06 <oklofok> i've usually just pm'd him without asking
12:16:12 <ehird> uh, i can't promise anything mr quantum ed
12:16:22 <ehird> oklofok: you mean oklotalk--?
12:16:23 <quantumEd> oklofok yeah but past experience tells me that it's probably best to point this out here first
12:16:30 <oklofok> ehird: yes, oklotalk--
12:16:37 <oklofok> i guess it's not really a simple version of oklotalk...
12:16:42 <quantumEd> ehird fine, fuck you then
12:16:54 <ehird> quantumEd: uh, fine, pm me
12:17:01 <ehird> i won't be a bitch
12:17:32 <oklofok> i can assure everyone, that there will never be a moment in my life, or a person annoying enough, that i wouldn't love being pm'd by them
12:17:39 <adu> ehird: you're starting to sound like one
12:17:41 <oklofok> Gregor: *that* one you can quote
12:17:53 <ehird> adu: k
12:18:02 <adu> ehird: jk ;)
12:18:08 <ehird> kjk
12:18:14 <oklofok> stop talking in ehird'd favorite languages
12:18:17 <oklofok> *ehird's
12:18:22 <adu> oklofok: ok
12:18:42 <oklofok> is o a language? i probably should know...
12:18:49 <adu> what?
12:18:49 <oklofok> well okay obviously it's a language
12:18:58 <oklofok> adu: i'm sort of an o-philiac
12:19:06 <ehird> adu: "k" "j"
12:19:09 <ehird> are not actually my favourite languages
12:19:15 <ehird> it was a joek, thou seest
12:19:20 <adu> lol
12:19:29 <adu> I like "D" myself
12:19:39 <adu> all my favorite words start with d
12:19:48 <oklofok> like delicious and dick
12:20:01 <adu> like Dance, Drive, Dying
12:20:15 <adu> well maybe not dying
12:20:33 <adu> but i like driving, its fun
12:20:34 <oklofok> i'm sure you meant coloring things pretty
12:20:42 <adu> oh yes
12:20:51 <ehird> dodger dastardly devouring dick
12:21:04 <oerjan> death, destiny and despair
12:22:27 <oklofok> my cousin asked me when i'm getting a car, i said i don't have a license, he was like when are you getting it? apparently it's not a choice
12:22:27 <oerjan> (yeah it's sandman)
12:22:27 <adu> and one day, when I have 1,000 code monkeys on my payroll, I will write a bloated IDE/Editor/Browser/Neuralnet that will start with D too
12:22:27 <oklofok> i had this dream about driving a motorcycle, and have been wanting to try one since then, though, as i've mentioned here
12:22:27 <adu> Destiny! i like that one
12:22:42 <adu> Depressed...
12:23:07 <oerjan> delirium, dream, destruction and desire, to complete the set
12:23:45 <ehird> donkey
12:23:56 <oerjan> doofus
12:24:04 <Rembane> doozer
12:26:04 -!- ehird_ has joined.
12:31:15 <ehird_> A defence of preemptive multitasking: http://sprunge.us/YNUJ
12:31:17 <ehird_> I felt like writing that.
12:31:49 <ehird_> quantumEd: you still haven't /msg'd me like you said
12:32:16 <mycroftiv> ehird_: there aren't people still preaching non-preemptive multitasking, surely?
12:32:39 <mycroftiv> (were there ever?)
12:32:39 <ehird_> there are (and visionary people too), lemme find an example
12:33:58 <ehird_> http://tunes.org/cliki/no-kernel.html, fourth paragraph onwardfs
12:34:01 <ehird_> *onwards
12:34:06 <ehird_> that's pluggable task-switching, but still
12:34:19 <ehird_> i'm quite pleased with http://sprunge.us/YNUJ, it's concise and easy-to-read
12:34:29 <ehird_> i normally end up with too short/too long paragraphs/sentences
12:35:00 <ehird_> hmm the last newline should be before the though, "system." is a widow
12:35:19 <ehird_> erm, orphan
12:36:22 <ehird_> http://sprunge.us/RMJD for typographic pedants
12:37:52 <ehird_> mycroftiv: also: http://tunes.org/cliki/preemption_20and_20cooperation.html "Now, TUNES is a secure system, and we can and shall use cooperation whenever possible (=almost always)"
12:37:58 <mycroftiv> mrph, that tunes link is interesting but doesnt seem to grapple with the fact that preemptive multitasking is good both for the abstraction/layering reason you give in your essay but also as a pragmatic protection against buggy applications, aka 99.99% of applications
12:37:58 <ehird_> that page is actually on that topic
12:38:02 <ehird_> probably a better resourcee
12:38:12 <ehird_> and it may rebut your points, I haven't read it yet
12:38:28 <ehird_> mycroftiv: I noted the protection aspect too in my ...work/page/article/note/essay/whatever
12:38:35 <ehird_> "Preemptive
12:38:36 <ehird_> multitasking handles malicious or badly-written tasks much better,
12:38:36 <ehird_> too: you have a chance to terminate a task that tries to hog the
12:38:36 <ehird_> system."
12:39:10 <ehird_> and before that: "Worse, the
12:39:12 <ehird_> programmers of a task are probably not experts in task-switching,
12:39:12 <ehird_> and so it's quite likely they'll get it wrong."
12:39:44 <ehird_> "Actually, threads are interrupted and signaled by more priviledged threads, but not preempted by equally-priviledged threads. (they might be preempted by foreign threads, to which they can't compare priviledge). This is why we rather call that interruptible cooperative threads instead of preemptible threads."
12:39:49 * ehird_ wonders what that means
12:40:22 <ehird_> mycroftiv: the thing with tunes is that fare is a very strong libertarian
12:40:25 <oklofok> it means a thread that's not running can ask to be run, if needed!
12:40:35 <ehird_> and so it makes quite a lot of compromises in the name of freedom and independence of tasks
12:41:03 <ehird_> (he views system design as an exercise in ethics)
12:42:24 <oklofok> who needs threads when you can just buy multiple computers
12:42:32 -!- ehird has quit (Read error: 110 (Connection timed out)).
12:42:32 -!- ehird_ has changed nick to ehird.
12:42:38 <ehird> ninja'd
12:42:40 <mycroftiv> well, i kind of feel that way also, but i guess my ethical baseline is that if the code is open, you can always change it - and the ability to change the code means sometimes you just hard code it and figure anyone who needs to will hack it and recompile
12:43:48 <mycroftiv> (i understand of course that tunes is fully self-modifying and reflexive so that particular example is a bit un-tunesish)
12:44:04 -!- lifthrasiir has joined.
12:44:06 <mycroftiv> although really having a compiler means you are still in a self modifying environment
12:44:26 <mycroftiv> thats part of why im not fully sold on some of ideas you seem committed to, because i think they dont necessarily change as much as you might suppose
12:44:56 <ehird> a lot of my ideas aren't big in themselves, but have a large effect on the system's architecture and philosohpy
12:48:07 <ehird> mycroftiv: do you know how the viewpoints research institute is funded?
12:48:33 -!- ais523 has joined.
12:48:39 <ehird> donations and company funding
12:48:40 <ehird> how boring
12:49:07 <mycroftiv> were you hoping they sponsored a team of somali pirates?
12:49:32 <ais523> ehird: oh, I'm not sure if you knew this before, apologies if you did: there's a proposal in the UK government that gives Lord Mandelson a dictatorship
12:49:34 <ehird> no :P
12:49:58 <ehird> i thought maybe doing work for companies, letting people use unused computing power for a cost, etc
12:50:13 <ehird> ais523: an absolute dictatorship?
12:51:06 <ais523> ehird: pretty much, it's a "Mandelson can modify this law by [method]" with ineffective safeguards
12:51:29 <ehird> I don't expect it would actually be abused in such a way, thankfully.
12:51:37 <ehird> I want to get off this island ASAP anyway, though...
12:51:54 <ais523> read it yourself if you like: http://www.publications.parliament.uk/pa/ld200910/ldbills/001/10001.13-19.html#j164
12:51:58 <oklofok> there's an extra room here
12:52:23 <ehird> oklofok: i'm not sure i could legally move in with you before i'm 16 :P
12:52:37 <ehird> ais523: can you shorten this perl -n oneliner?
12:52:38 <ehird> $n{$_}++}{print"$n{$_}\t$_"foreach keys%n
12:52:43 <ehird> i can't think of any fun horrid tricks
12:52:52 <AnMaster> ais523, hi there. I had an odd hardware issue you might be of help with:
12:53:03 <ais523> ugh, the braces aren't even balanced there, that's crasily abusive. I like it
12:53:11 <ais523> although, use "for" not "foreach", they're synonyms
12:53:14 <AnMaster> <AnMaster> using the floppy drive in my desktop <AnMaster> made X crash <AnMaster> and I get IO error on my SATA drive<AnMaster> when I try to read from the floppy
12:53:19 <AnMaster> <AnMaster> that's ridiculous <AnMaster> it's reproducible btw
12:53:28 <ehird> ais523: yeah, it's abusing the implicit while(<>){code} :)
12:53:31 <ais523> yep
12:53:36 <oklofok> ehird: probably not without parental permissionz
12:53:43 <AnMaster> ais523, if you have any idea whatsoever might be going on there?
12:53:48 <ais523> AnMaster: I don't
12:53:50 <AnMaster> s/if/do/
12:54:02 <ehird> ais523: does say output a newline if the argument ends with one?
12:54:31 <ais523> probably, but it's perl6 anyway
12:54:37 <ais523> so the rest of the syntax there would be wrong
12:54:38 <ehird> no it's perl 5.10
12:54:46 <ais523> ah, it's been backported?
12:54:54 <ehird> same time as the switch thing
12:55:11 <ehird> $ perl -v
12:55:11 <ehird> This is perl, v5.8.9 built for darwin-2level
12:55:11 <ehird> fucking macports
12:55:21 <ais523> ooh, you could use an implicit hash->array cast
12:55:23 <ehird> ais523: could you test perl -e'say "fuck\n"' for me?
12:55:34 <ais523> if you didn't mind the output format being line\ncount\n
12:55:35 <ehird> or, well, any non-fuck string too
12:55:38 <ais523> rather than count\tline\n
12:55:42 <ehird> ais523: i do, that's why i didn't do it
12:55:57 <ehird> ais523: could I do
12:55:57 <ais523> String found where operator expected at -e line 1, near "say "test\n""
12:55:59 <ais523> (Do you need to predeclare say?)
12:56:01 <ehird> like php's variable variables
12:56:03 <ehird> ${$_}++
12:56:08 <ais523> looks like say isn't defined
12:56:14 <ehird> ais523: use 5.10
12:56:17 <ais523> I am
12:56:19 <ehird> use 5.10;
12:56:21 <ehird> i mean
12:56:22 <ais523> ah
12:56:42 <ehird> or rather
12:56:42 <ais523> Perl v5.100.0 required (did you mean v5.10.0?)--this is only v5.10.0, stopped.
12:56:46 <ais523> well, I didn't expect that
12:56:50 <ehird> perl -M5.10.0 -e'...'
12:57:07 <ais523> I get two newlines if I do -M5.01, though
12:57:21 <ehird> darn
12:57:41 <ehird> does ${'foo'} = x
12:57:45 <ehird> set $foo to x?
12:57:53 <ais523> yes
12:57:55 <ais523> symbolic reference
12:57:56 <ehird> and, is there an easy way to get all defined variables that aren't in perl?
12:58:01 <ais523> although, use strict may get annoyed if you do that
12:58:03 <ehird> as an array of names
12:58:09 <ais523> ehird: not AFAIK
12:58:16 <ehird> if there was:
12:58:20 <ehird> ${$_}++}{print"${$_}\t$_"for ???
12:58:24 <ais523> there's probably a hard way, though
12:58:58 <ehird> ugh, perldoc.perl.org is now ugly
13:00:33 <ehird> ais523: any silly tasks to do in perl? i'm trying to sharpen my art of the horror
13:00:44 <ehird> i'm trying to think of perl as a game. a ridiculous game.
13:01:06 <ais523> try writing a brute-force Lights Out solver
13:01:21 <ais523> I did almost that yesterday, to help solve an Enigma level
13:01:28 <ais523> (someone else's level, that is)
13:01:39 <ehird> brute-force? how?
13:01:46 <ehird> isn't that super-mega-exponentially-hard?
13:02:16 <ehird> wow, the Bible has a copyright statement
13:02:20 <ehird> or rather, a license
13:02:22 <ehird> "All scripture is given by inspiration of God, and is profitable for doctrine, for reproof, for correction, for instruction in righteousness: That the man of God may be perfect, throughly furnished unto all good works."
13:02:22 <mycroftiv> write a perl program that converts other perl programs into a human readable form
13:02:31 <ehird> 2 Timothy 3:16-17
13:03:04 <ehird> can anyone link me to the source code of use English?
13:03:32 <ehird> i'd just make it do an s//
13:03:33 <ehird> voila
13:03:35 <ehird> human readable!
13:04:38 <oklofok> ehird: for an nxn grid it'd take 2^(n*n) attempts
13:04:40 <ehird> ais523: ooh, give me something mathematical, and i/we can golf perl vs j
13:04:52 <ehird> oklofok: you mean 2^(n^2) :P
13:05:00 <oklofok> yes, i mean that too
13:05:01 <ehird> moar 2s
13:05:27 <oklofok> i mean (2^n)^n
13:05:53 <ehird> "i mean aaaaaaaaaaall sorts of things"
13:06:07 <AnMaster> ais523, what is this lights out?
13:06:15 <ehird> http://justfuckinggoogleit.com/
13:06:18 <ais523> AnMaster: a logic game
13:06:22 <AnMaster> ais523, ah
13:06:33 <AnMaster> ehird, I didn't ask you. I asked ais523
13:06:43 <ehird> You asked it in a public forum.
13:07:14 <AnMaster> ehird, That is no reason to give unhelpful answers.
13:07:20 <AnMaster> bbl
13:07:33 <ehird> It was not helpful; had you followed it, you would have reached an answer far richer than ais523's.
13:07:36 <ehird> *it was not unhelpful
13:09:03 <oklofok> AnMaster: you have a universe U, and a set of subsets of U, called S, you are then given a problem instance I, which is a subset of U, and you need to find a subset Z of S such that when you take the multiset M given by the union of sets in Z, each element of I appears in M an odd number of times, and each element in U\I appears an even amount of times
13:09:18 <oklofok> you don't get that from google
13:09:37 <ehird> your mom doesn't get that from google
13:09:44 <oklofok> haha, that's a good one
13:09:59 -!- poiuy_qwert has joined.
13:10:03 <ehird> oklofok: i think your HIGHLY COMPLEX MATHEMATICS might go over AnMaster's head.
13:10:08 <oklofok> refers to the fact my mom doesn't watch porn
13:10:15 <oklofok> highly :P
13:10:31 <ais523> ehird: http://cpansearch.perl.org/src/DAPM/perl-5.10.1/lib/English.pm
13:10:35 <oklofok> i need to train my incomprehensibility
13:10:40 <ais523> sorry I didn't answer sooner
13:10:44 <ehird> ais523: bah, too complex
13:11:19 <ais523> I love the way it's copying symbol table references
13:13:23 <oklofok> so in lights out, basically we can just think of this as summing a bunch of vectors to another vector, which is basic linear algebra, assuming you know finite fields form vector spaces when you take, well, vectors of them
13:13:59 <ais523> gah, evolution keeps crashing when I load it
13:14:02 <ais523> it wasn't doing that earlier...
13:14:30 <oklofok> i guess that doesn't really solve the part where you want the least amount of presses
13:14:45 <oklofok> what's the complexity?
13:15:32 <ais523> brute-forcing is 2^(n^2), presumably that's beatable
13:17:14 <oklofok> well finding a solution is clearly in P
13:17:22 <oklofok> the way i explained
13:17:31 * ehird wonders what the best way to geneerate a times table in j is
13:17:35 <ehird> s/ / /
13:17:48 <ais523> is there a P-time linear algebra algorithm that works even over modulo-N arithmetic?
13:18:25 <ehird> ah, (i.10)*/i.10
13:18:45 <ais523> s/geneer/gener/
13:18:53 <oklofok> take all the sets in S, and think of them as length n*n vectors, then find a nice basis for the space of n*n vectors, and store which sets of S are used to get each vector in the basis
13:18:54 <ehird> (1+i.9)*/1+i.10 if you don't want 0s
13:19:35 <oklofok> if you get a nice orthonormal basis, with 000...00100...000 vectors, it's trivial to find a solution
13:20:03 <oklofok> like you have 00110, just take the vectors 00100 and 00010, and sum the vectors of S used to get them
13:20:36 <oklofok> ais523: if you have a finite field F, F^n forms a vector space over F
13:20:56 <ehird> (1+i.9)%/1+i.9
13:20:59 <ehird> The division table!
13:21:14 <oklofok> if p is prime, then 0, .., p-1 form a finite field
13:21:21 <oklofok> in this case we have 0, 1
13:21:39 <ehird> (i.10)+/i.10 wraps in a fun way
13:21:59 <oklofok> any "linear algebra algorithm" should work on them just as well as with real vectors or whatever you have
13:22:06 <oklofok> not that i know what a linear algebra algorithm is
13:23:29 <oklofok> ais523: in particular, gaussian elimination works directly in the case of binary arithmetic
13:24:55 <ais523> ah, ok
13:25:13 <oklofok> for i = 1...n, you just take some vector that has 1 as its ith bit, and add it to all other vectors that have i as their ith bit
13:25:27 <oklofok> if no such vector exists, just skip that part
13:25:31 <oklofok> that index
13:26:39 <ehird> oklofok: what's the j thingy for making a number into a string
13:26:51 <oklofok> sry, i don't know anything about j's strings
13:27:24 <oklofok> it's not like they're that important...............................
13:27:54 <ehird> WELL YOU SHOULD :|
13:28:19 <oklofok> ah it's called row echelon form
13:28:58 <oklofok> now i kinda want to write a generic lights out solver :P
13:29:10 <ehird> do it!
13:29:34 <ais523> better still if you somehow make it TC
13:29:42 <oklofok> :P
13:30:17 <ehird> is there 3d lights out
13:30:38 <oklofok> well mine is already much more general than nd
13:30:43 <AnMaster> ehird, n-dimensional sounds even more fun
13:31:03 <oklofok> i'm just doing this for generic S \subset 2^U
13:31:24 <AnMaster> oklofok, U being the universe set?
13:32:04 <oklofok> for say 3-dimensional, you'd have n^3 elements in U, then form S by taking the, well, whatever form you want your "explosion sizes" to be
13:32:11 <oklofok> err
13:32:13 <oklofok> *explosions
13:32:37 <AnMaster> hm makes kind of sense. I think I understood some parts of it at least :)
13:32:42 <oklofok> U being the universe, or you could just think of it as the length of vectors, and give |U|
13:32:49 <ehird> ehh /me tries to remember if j has an adverb meaning repeat argument
13:32:57 <ehird> adv+v x → x v x
13:33:15 <oklofok> i suggest you study basic linear algebra, it's sort of ubiquitous stuff
13:33:49 <AnMaster> oklofok, I do know *basic* linear algebra. Like how to reduce to reduced row echelon form and such.
13:34:04 <oklofok> well right, i guess i mean you should study general linear algebra :P
13:34:12 <AnMaster> oklofok, ah
13:34:35 <AnMaster> oklofok, I also know some set theory. What I'm missing out on here is the vector stuff.
13:35:07 <oklofok> well that is linear algebra too, matrices and vectors are close friends
13:36:08 <AnMaster> oklofok, yeah I said basic. There is some module later on covering it iirc.
13:36:14 <oklofok> one thing "matrices actually are" is a kind of "implementation" of linear maps, that is, mappings between two vector spaces that preserve structure
13:36:25 <quantumEd> forget linear algebra
13:36:32 <AnMaster> quantumEd, why on earth?
13:36:54 <quantumEd> it's just solving simultaneous equations of the form ax + by + cz = d
13:36:58 <AnMaster> it's useful. For practical applications
13:37:05 <ehird> ah
13:37:06 <ehird> it's ~
13:37:07 <AnMaster> so why forget it
13:37:12 <AnMaster> quantumEd, yes and?
13:37:15 <oklofok> yeah it's a theory of that
13:37:27 <ehird> so */~i. — multiplication table
13:37:39 <oklofok> one of the theories everyone should understand
13:37:51 <quantumEd> you don't need any linear algebra to solve these equations
13:38:00 <oklofok> ...
13:38:04 <oklofok> i'm gonna go now ->
13:38:57 <AnMaster> quantumEd, well I guess there are/could be other ways. It still seems like an easy and useful way for solving large equation systems.
13:39:46 <oklofok> quantumEd: did you know a lot of modern coding theory also relies on linear algebra? while it's a theory of linear equations, it has applications outside them.
13:40:10 <quantumEd> oklofok no
13:40:16 <oklofok> i mean linear algebra is what gives says if we have a linear code, we can find a basis for our code, and we have a unique dimension
13:40:38 <oklofok> and the orthogonal complement space of C is of dimension n-dim(C)
13:41:04 <oklofok> this is all stuff that doesn't have to be proven separately, because linear algebra gives us an understanding of general vector spaces
13:41:12 <oklofok> "no".
13:41:37 <oklofok> whoops, i guess i was wrong.
13:41:37 <oklofok> ->
13:41:49 <quantumEd> when I said forget linear algebra I meant, for the duration of solving lights out
13:44:23 <oklofok> oh. then i agree in this case you could just think of it as solving equations.
13:44:41 <quantumEd> yes so don't jump to conclusions to ridicule me please
13:44:46 <oklofok> i mean for getting solutions
13:45:05 <oklofok> err, and also seeing if they exist in practical situations
13:45:16 <quantumEd> "You are such a fucking moron I am leaving rather than waste time listening to your bullshit"
13:46:09 <ehird> quantumEd: you're way too sensitive
13:46:16 <ehird> not everything's a war against you
13:46:17 <ehird> grow up
13:46:17 <oklofok> yeah, i said that, then realized that was rude, and explained myself
13:46:32 <oklofok> but mostly i said that because i was leaving
13:46:57 <oklofok> have to do a thing
13:46:59 <oklofok> quantumEd: it really did sound like you were saying linear algebra is useless.
13:47:15 <quantumEd> oklofok how much of a stupid dickhead do you think I am? seriously
13:47:31 <ehird> "You are such a fucking moron I am leaving rather than waste time listening to your bullshit" is amusing with him previously saying he left because of me
13:47:41 <ehird> "you are such a fucking dick I am leaving rather than waste time listening to your bullshit"
13:47:56 <oklofok> quantumEd: you could think it's not something people should learn as the first things in mathematics without being a stupid dickhead, imo
13:48:03 <oklofok> i would just loudly disagree, as i did.
13:48:54 <oklofok> well, w/e, again :P
13:48:55 <oklofok> ->
13:53:41 <AnMaster> quantumEd, oklofok always had problems leaving when he had to. Don't take it personally
13:53:53 <AnMaster> he usually shows up several times again before actually leaving for real
13:53:56 <ehird> s/had/has/g
13:53:56 <quantumEd> AnMaster I guess you missed what happened earlire
13:54:03 <ehird> AnMaster: quantumEd has a persecution complex.
13:54:09 <AnMaster> quantumEd, probably. I don't generally read scrollback
13:54:14 <AnMaster> ehird, "persecution"?
13:54:21 <ehird> rtfd(ictionary)
13:54:42 <ehird> an irrational and obsessive feeling or fear that one is the object of collective hostility or ill-treatment on the part of others.
13:54:54 <ehird> quoth whatever os x's dictionary is
13:55:13 <AnMaster> ehird, 2. The feeling you easily get around ehird
13:55:15 <AnMaster> right?
13:55:40 <ehird> If you're prone to taking criticisms personally when they were not so, yes.
13:55:49 <AnMaster> ehird, ... That was a joke dujh
13:55:50 <AnMaster> duh*
13:55:55 <ehird> I know.
13:56:03 <AnMaster> didn't seem so. meh
13:56:23 <ehird> i wonder if fortran has any cool ideas
13:56:34 <AnMaster> ehird, define cool
13:56:44 <ehird> interesting
13:56:57 <AnMaster> well, okay, hard to define that precisely
13:57:11 <ehird> indeed.
13:57:27 <AnMaster> also I know next to nothing about fortran
13:57:41 <ehird> i still find it hard to believe how short oberon-2's report is compared to r5rs...
13:57:42 <oerjan> been cooling for 50 years, should be practically freezing
13:58:01 <AnMaster> oh yeah I remember one thing. at least gcc's fortran compiler stores multi-dimensional arrays in the opposite order of gcc's C compiler
13:58:13 <AnMaster> as in a C array like int myarray[200][100];
13:58:32 <AnMaster> end of fortran knowledge
13:58:57 <AnMaster> oerjan, "meh"
13:58:57 <ehird> ary[x][y] = ary[(x*width)+y] is intuitive and obvious, I'd say
13:59:06 <ehird> AnMaster: he was joking
13:59:10 <AnMaster> ehird, yes
13:59:24 <AnMaster> ehird, but I found the joke rather mediocre
13:59:58 <AnMaster> ehird, not up to his usual punerific strength
14:00:01 <ehird> ary[x][y][z] = ary[(((x*width)+y)*depth)+z]
14:00:05 <ehird> wonder if that can be simplified
14:00:26 <AnMaster> ehird, anyway the thing is gcc stores it in one order and gfortran in the opposite one
14:00:29 -!- adu has quit.
14:00:34 <fizzie> MATLAB matrices are also in column-major order in memory, at least usually.
14:00:39 <AnMaster> iirc fortran was columns first, but gcc was row first
14:00:43 <AnMaster> not sure
14:00:47 <ehird> hmm
14:00:58 <ehird> in int foo[42][34]; is sizeof foo == 42*sizeof int?
14:01:04 <ehird> or is it 42*34*sizeof int
14:01:17 <fizzie> The latter.
14:01:25 <ehird> darn
14:01:26 <AnMaster> ehird, err how could the former one happen?
14:01:38 <ehird> oh, you could do sizeof foo / sizeof foo[0]
14:01:44 -!- Gracenotes has quit ("Leaving").
14:01:58 <ehird> so:
14:02:19 -!- adu has joined.
14:04:04 <ehird> hmm
14:04:19 <ehird> i had
14:04:20 <ehird> nested: A[X][Y] = A[(X*(sizeof A / sizeof A[0]))+Y]
14:04:21 <ehird> | {A[X]:nested}[Y] = A[(X*(sizeof A / sizeof A[0]))+Y]
14:04:23 <ehird> but in the latter one
14:04:30 <ehird> in the sizeofs
14:04:36 <ehird> it needs to know how nested it is previously
14:04:40 <ehird> eh
14:04:44 <ehird> just use the generic pointer rule :P
14:06:20 <ehird> AnMaster: width, depth, ?
14:06:23 <ehird> for 4-dimensions
14:06:24 <ehird> any ideas?
14:06:25 <AnMaster> ehird, sizeof is always bytes
14:06:34 <ehird> AnMaster: yes, yes, it was just an example :P
14:06:36 <AnMaster> ehird, hm?
14:06:43 <ehird> hm whatt
14:06:57 <AnMaster> for 4 dimensions?
14:06:57 <AnMaster> you asked me something
14:06:57 <AnMaster> I'm not sure what
14:06:59 <ehird> yeah
14:07:01 <ehird> width = 2d
14:07:03 <ehird> depth = 3d
14:07:04 <ehird> ? = 4d
14:07:04 <AnMaster> well yes
14:07:12 <AnMaster> does the name matter?
14:07:17 <ehird> not really
14:07:19 <ehird> i'll call it fourd
14:07:25 <ehird> and the variables x,y,z,x4
14:07:31 <AnMaster> ehird, better name: fnourd
14:07:40 <ehird> ok, mathematica has found a simpler form for me
14:08:32 <ehird> or rather, not it hasn't
14:08:39 <ehird> but it has found one with less nesting!
14:08:57 <ehird> a[x][y][z] = (depth*width*x) + (depth*y) + z
14:08:58 <AnMaster> ehird, what is the current mathematica version
14:09:08 * AnMaster has decided to get it
14:09:17 <ehird> a[x][y][z][x4] = (depth*fourd*width*x*x4) + (depth*fourd*x4*y) + (fourd*x4*z)
14:09:21 <ehird> ofc that's kinda obvious
14:09:24 <ehird> AnMaster: what; legally?!
14:09:31 <ehird> i hope your name is moneybags
14:09:37 <ehird> wait then you'd be able to look it up
14:10:00 <AnMaster> ehird, lets not go into details
14:10:00 <AnMaster> about legality
14:10:00 <ehird> so clearly illegally
14:10:00 <ehird> 7.0.1
14:10:06 <ehird> i have 7.0.0
14:10:24 <AnMaster> suffice to say I'm always a law abiding person and this is a public place and freenode doesn't use ssl, and why trust freenode anwyay.
14:10:34 <ehird> AnMaster: you'll need a key generator, and it'll only run on windows, just so you know... just in case... not that i'm implying anything...
14:10:54 <AnMaster> ehird, I have MSDNAA and I have virtualbox. What else does one need?
14:10:59 <ehird> a vm might be good... because they're not too trustable... this is for PUBLIC INFORMATION ONLY
14:11:05 <AnMaster> well yes
14:11:14 <AnMaster> if I did that I would rollback of course
14:11:19 <AnMaster> not that I would ever do such a thing
14:11:51 <ehird> if you're epileptic the demoscene light show included might be bad... JUST SAYING
14:12:04 <ehird> there, I think that was relatively inconspicuous
14:12:05 <ehird> cough
14:12:06 <AnMaster> anything important new in 7.0.1 compared to 7.0.0?
14:12:07 <ehird> just call me ford prefect
14:12:10 <ehird> AnMaster: probably not.
14:12:20 <ehird> sounds like a bugfix release
14:12:41 <ehird> and mathematica is buggy enough that it hardly matters :D
14:12:58 <AnMaster> ehird, I have of course not seen such demoscene light shows before, but I do happen to know exactly what you mean. Very strange this knowledge just dumped straight into my brain somehow.
14:13:11 <ehird> Clearly all minds are the same.
14:13:19 <AnMaster> ehird, I read that as "fnord prefect" first XD
14:13:20 <ehird> You have the ability to break down the barriers between them.
14:13:35 <ehird> AnMaster: also, you can't edit mathematica notebooks (programs) outside of mathematica, just so you kknow
14:13:37 <ehird> *know
14:13:43 <ehird> they're rich text
14:13:43 <AnMaster> ehird, okay
14:13:52 <ehird> well they're not really programs per se
14:14:08 <ehird> they're definitions, lines of code that haven't been rune, lines of code with their output (which can be interactive) below, and formatted text to explain it
14:14:30 <ehird> oh, and it automatically indents, add spacing and wraps lines for you. working against it is painful, I suggest never typing whitespace
14:14:39 <fizzie> But you can view them with that viewer thing that everyone of course has installed.
14:14:50 <ehird> finally, the default 3d output is fugly because it doesn't antialiase
14:15:00 <ehird> in the options, it's appearance→graphics→drag to the highest setting. barely any performance hit.
14:15:01 <ehird> you're welcome
14:15:44 <AnMaster> ehird, purely hypothetical: to what degree should one trust the actual pirated program in question if the keygen can't be trusted?
14:16:03 <ehird> AnMaster: Entirely.
14:16:09 <ehird> Keygens aren't cracks, they don't hack the program.
14:16:24 <ehird> They just reverse-engineered the key mechanism, and made a program that generates valid ones.
14:16:30 <AnMaster> ehird, even if the keygen is included in the same purely hypothetical torrent?
14:16:42 <ehird> AnMaster: It was not compiled by the keygen authors.
14:16:52 <ehird> The warez community... isn't too fond of bittorrent.
14:16:55 <AnMaster> ehird, says "EDGE"? hm
14:17:00 <AnMaster> ehird, why not?
14:17:03 <ehird> Neither is the piracy community.
14:17:12 <ehird> AnMaster: tradition, security, privacy.
14:17:16 <ehird> exclusivity
14:17:39 <AnMaster> ehird, well, what do you suggest, a 600 part yencoded usenet thread?
14:17:39 <AnMaster> XD
14:17:49 <AnMaster> or something around that. Probably more parts
14:18:11 <ehird> They use protected FTP servers.
14:18:16 <AnMaster> heh
14:18:34 <ehird> To get in to one, you have to have first made a certain number of releases yourself and stuff.
14:18:54 <ehird> There's a tier of most-exclusive-earliest-releases-fastest-connections down to the public sites.
14:19:19 <ehird> There're bots that distribute it all downwards. There's a race between scene groups to complete a distribution of a new release before anyone else, and the group that manages it wins that release.
14:19:20 <AnMaster> ehird, so then who uses torrents?
14:19:24 <ehird> This is all vague and I've probably made some errors.
14:19:30 <AnMaster> use*
14:19:41 <ehird> AnMaster: FTP might filter down to Usenet or whatever, or straight from the public site.
14:20:01 <ehird> Then it just circulates around P2P and shit, and someone makes a torrent at some point.
14:20:14 <AnMaster> mhm
14:20:27 <AnMaster> ehird, what sort of P2P?
14:20:37 <AnMaster> non-torrent p2p I assume
14:20:37 <ehird> like gnutella and stuff, I guess
14:20:41 <AnMaster> ah
14:20:52 <ehird> i'm fuzzy as to the path from scene-approved to torrents
14:21:27 <ehird> oh, maybe ed2k is involved somewhere
14:21:33 <AnMaster> ehird, of course, since all this is just hypothetical knowledge or something
14:21:36 <AnMaster> ed2k?
14:21:40 <ehird> http://en.wikipedia.org/wiki/EDonkey_network
14:21:54 <ehird> the ed2k://long hash links
14:22:07 <ehird> not that i've ever seen one.
14:22:13 <ehird> btw mathematica uses qt for gui
14:22:29 <ehird> you can technically use at the command line, but most of mathematica's fun is from the interactive/graphical stuff
14:22:37 <AnMaster> I haven't seen such a link either. Not even hypothetically
14:23:33 <AnMaster> ehird, does it include *.deb?
14:23:43 <ehird> It's a binary, I believe.
14:23:45 <ehird> Plus supporting files.
14:23:54 <ehird> Or an installer.
14:23:57 <ehird> http://reference.wolfram.com/mathematica/tutorial/InstallingMathematicaOnUnixAndLinux.html
14:24:00 <AnMaster> ehird, I mean, is it a installer.sh thing that spews all over the file system or not
14:24:09 <ehird> It's an installer.
14:24:15 <AnMaster> oh well
14:24:15 <ehird> 5. The installer prompts you to specify the directory in which Mathematica should be installed. The default location is /usr/local/Wolfram/Mathematica/7.0. Press Enter to accept the default, or type in a new location and then press Enter.
14:24:19 <ehird> AnMaster: But no file system spew.
14:24:25 <ehird> I'd suggest /opt/mathematica.
14:24:30 <ehird> Or if you have no /opt, /usr/lib/mathematica.
14:24:38 <ehird> 7. You are asked for the location in which to copy the executable scripts. You should choose a directory that is present on each user's PATH. The scripts are also installed in the Executables subdirectory of the Mathematica installation directory. Type a location or accept the default and press Enter.
14:24:40 <AnMaster> ehird, yeah and do it as normal user
14:24:44 <ehird> I'd choose $prefix/bin.
14:25:03 <ehird> AnMaster: That'll fuck up the ownership of the resulting files.
14:25:04 <AnMaster> as in create directory and chown it to said user, then install mathematica as it
14:25:05 <ehird> I highly doubt Wolfram have created a malicious piece of software.
14:25:35 <ehird> It only touches the Mathematica prefix and the executable prefix, it seems.
14:25:37 <AnMaster> ehird, 1) binary installer 2) hypothetical non-trusted source
14:25:42 <ehird> AnMaster: it says it requires root.
14:25:46 <AnMaster> ehird, also you said it was buggy
14:25:48 <ehird> and binary?
14:25:50 <ehird> it's shell, I believe
14:25:53 <ehird> AnMaster: Mathematica itseelf
14:25:53 <AnMaster> well okay
14:25:54 <ehird> *itself
14:25:58 <ehird> but that's mostly crashes and stuff
14:26:09 <ehird> algorithmic errors that is
14:26:13 <ehird> that make it crash
14:26:21 <AnMaster> heh
14:26:28 <AnMaster> ehird, why so badly coded one wonders
14:26:28 <ehird> i've never crashed mathematica
14:26:30 <ehird> ais523 has though
14:26:40 <ehird> but ais523 is quite pathological
14:26:53 <ehird> AnMaster: the main thing you'll notice with mathematica is that if you compose a few primitives, it's really fast
14:26:59 <ehird> and then if you write some code that isn't glue, it takes years
14:27:10 <ehird> it's bipolar performance
14:27:14 <AnMaster> also this is hypothetically strange: getting higher download speed than what your connection limit is.
14:27:18 <ehird> manic-depressive language
14:27:30 <ehird> AnMaster: what connection speed, what download speed?
14:27:37 <ehird> answer with proper units, please
14:27:48 <ehird> i.e. b=bit, B=byte, K=1000, Ki=1024
14:27:53 <ehird> otherwise I won't be able to see what you got wrong :-D
14:28:00 <ehird> your connection is 9 Mb, right?
14:28:03 <ehird> 9 megabits = 9,000 bits
14:28:06 <AnMaster> ehird, "8 megabit down" (ISP's wording), 2 megabit (1024 based) actual download
14:28:06 <ehird> erm
14:28:07 <ehird> 8
14:28:15 <ehird> AnMaster: 1024 x bit?
14:28:19 <ehird> surely you mean 2 megabyte
14:28:26 <ehird> megabit is never 1024 based
14:28:28 <ehird> it's always 1000
14:28:28 <AnMaster> ehird, yeah byte
14:28:29 <AnMaster> typo
14:28:45 <ehird> so, to translate into the formal units required for actually diagnosing the problem
14:28:56 <AnMaster> anyway I should get something around 1000 kilobyte per second max
14:28:56 <ehird> ISP says 8 Mb/s = 8 megabits per second
14:29:01 <AnMaster> I'm getting around twice
14:29:21 <AnMaster> in practise I tend to get 800 kbyte/s (unknown if it is 1000 or 1024) most time
14:29:24 <ehird> You tend to get 2 MiB/s = 16 Mb/s
14:29:25 <AnMaster> just this time...
14:29:29 <ehird> = 16 megabits per second
14:29:29 <AnMaster> ehird, indeed
14:29:31 <ehird> ...wait, what?
14:29:35 <ehird> i think google fucked up that conversion
14:29:42 <AnMaster> ehird, *8
14:29:53 <AnMaster> ehird, you went from bits to byte
14:29:53 <ehird> eh, I can't trust google to have the correct units
14:29:55 <AnMaster> I think it did
14:30:08 <AnMaster> ehird, the maths is easy, just do it yourself
14:30:10 <ehird> I'm going to write a program that actually converts them properly
14:30:18 <ehird> AnMaster: not when you get to Mi
14:30:35 <AnMaster> ehird, just unravel it down to bytes/bits
14:30:37 * ehird tries writing it in perl, for no reason
14:30:45 <AnMaster> ehird, interesting choice
14:31:19 <ehird> kilobytes to petabytes should do methinks
14:31:28 <AnMaster> ehird, decabytes!
14:31:38 <AnMaster> (just because)
14:33:41 <AnMaster> 10.4 MB/s over lan?
14:33:46 <AnMaster> that's poor
14:34:00 <AnMaster> even for ssh
14:34:12 <AnMaster> since it is gbit ethernet
14:34:18 <AnMaster> oh wait it isn't
14:34:23 <AnMaster> only part of the way
14:34:24 <AnMaster> duh
14:35:51 <ehird> wat, perl's foreach doesn't let you get the indices too?
14:35:55 <ehird> must be a way
14:36:48 <ehird> LOL, http://perldoc.perl.org/functions/ shows the thiing for index
14:36:49 <ehird> guess why
14:37:07 -!- Slereah_ has joined.
14:37:21 * AnMaster wonders why on earth /opt/plan9 is owned by the non-existent user 1002
14:37:37 <poiuy_qwert> lol
14:39:30 <ehird> argh
14:39:37 <ehird> automating -i is hard because it's just "nearest power"
14:40:01 <ehird> or is it, always?
14:40:02 <ehird> i'm not sure
14:41:11 -!- oerjan has quit ("Good night").
14:43:06 <ehird> heh
14:43:13 <ehird> i'm case-insensitive in the first letter of the prefix, but not the rest
14:43:23 <ehird> kiB = KiB
14:43:25 <ehird> but
14:43:29 <ehird> kib != kiB
14:43:45 <AnMaster> ehird, is KIB == kiB?
14:43:51 <ehird> I is a syntax error.
14:43:55 <AnMaster> ehird, oh
14:44:00 <ehird> it's just that the thing for kibibytes, officially, is kiB
14:44:02 <ehird> logically it's KiB
14:44:03 <ehird> but yeah
14:45:37 <ehird> well
14:45:40 <ehird> I guess uppercase I will work
14:45:42 <ehird> just for my laziness
14:47:39 -!- Slereah has quit (Connection timed out).
14:49:27 <ehird> ugh
14:49:30 <ehird> I need to use bignums
14:49:33 <ehird> because i work in bits
14:49:41 <ehird> since the smallest unit is b = 1 bit
14:49:56 <ehird> and 1 petabyte is a loooot of bits
14:50:08 <ehird> oh well, easy enough
14:50:10 <ehird> just
14:50:11 <ehird> use bignum;
14:50:14 <ehird> and no other code changes required
14:50:23 <ehird> (AnMaster will hate that, it's magic)
14:51:15 <AnMaster> ehird, I'm indifferent to this information
14:51:24 <ehird> seriously?
14:51:25 <AnMaster> why? Becuase I already hate perl.
14:51:32 <AnMaster> so this changes nothing
14:51:57 <ehird> hate is a strong word
14:54:07 <AnMaster> ehird, the hypothetical keygen seems to have instructions in, uh, spanish?
14:54:16 <ehird> just run the exe
14:54:28 <ehird> and put AnMaster or your real name in every field it wants (prolly name, organisation)
14:54:31 <ehird> hit the button
14:54:40 <ehird> it should give a serial key and some other ID thing
14:54:41 <AnMaster> ehird, why my real name or such
14:54:46 <AnMaster> I use made up ones normally
14:54:49 <ehird> AnMaster: because it's what mathematica will put as your license information
14:54:57 <ehird> no need for such paranoia, it's an in-program key checker
14:54:57 <AnMaster> ehird, mhm
14:55:15 <AnMaster> yeah my real name is N/A
14:55:17 <AnMaster> very nice name
14:55:33 <ehird> Norlander/Arvid
14:55:34 <ehird> Indeed it is.
14:57:05 <AnMaster> ehird, hah
14:57:36 <AnMaster> well then
14:57:55 <AnMaster> fun, own category in the program menu
14:58:01 <AnMaster> you said it didn't clobber stuff iirc?
14:58:03 <AnMaster> ehird, ^
14:58:47 <AnMaster> Top causes for wakeups:
14:58:47 <AnMaster> 32,7% (9725,4) MathKernel : schedule_hrtimeout_range (hrtimer_wakeup)
14:58:47 <AnMaster> 32,7% (9712,2) Mathematica : schedule_hrtimeout_range (hrtimer_wakeup)
14:58:47 <AnMaster> 32,5% (9655,4) java : schedule_hrtimeout_range (hrtimer_wakeup)
14:58:49 <AnMaster> wow
14:58:51 <AnMaster> ehird, ^
14:59:10 <ehird> Heh.
14:59:20 <ehird> Didn't know it clobbered the menus.
14:59:23 <ehird> Sorry.
14:59:24 <AnMaster> ehird, it causes noise from my laptop
14:59:26 <ehird> No big shakes, it's just one file.
14:59:30 <ehird> AnMaster: Even idling?
14:59:31 <AnMaster> those wakeups
14:59:33 <AnMaster> ehird, yes
14:59:44 <ehird> Open the options
14:59:46 <AnMaster> high pitched C4 mwait/C0 switches
14:59:58 <AnMaster> ehird, then?
15:00:06 <ehird> Look at the Parallel tab.
15:00:12 <AnMaster> found it
15:00:13 <AnMaster> then what
15:00:15 <ehird> should be launching kernels when needed
15:00:19 <ehird> automatic (number of cores)
15:00:25 <AnMaster> set to that
15:00:28 <ehird> is run kernels at a lower process priority set?
15:00:31 <ehird> if not, set it
15:00:48 <AnMaster> also set
15:00:55 <AnMaster> still this noise is annoying. argh
15:01:35 <ehird> shrug
15:01:39 <ehird> you'll have to deal with it
15:02:13 <AnMaster> ehird, this is "worse than CRT" noise.
15:02:23 <AnMaster> Wakeups-from-idle per second : 10379,7 interval: 10,0s
15:02:23 <AnMaster> btw
15:02:27 <AnMaster> that's quite a lot
15:02:34 <ehird> Deal with it.
15:02:34 <AnMaster> usual is around 20-40
15:02:52 <ehird> Or try setting there to be only one kernel.
15:03:03 <ehird> And set it to launch parallel kernels at startup, then restart.
15:04:14 <AnMaster> doesn't help either
15:04:16 <AnMaster> hm
15:05:37 <AnMaster> ehird, why java though hm
15:05:50 <ehird> Some part of it is Java.
15:06:08 <ehird> I would reset those settings you changed, btw.
15:06:10 <AnMaster> icedtea is buggy IME. Maybe that is why
15:06:20 <ehird> Try the open-source Sun JDK.
15:06:47 <AnMaster> Mathematica has received the signal: SIGSEGV and has exited.
15:06:51 <AnMaster> I'm not sure what I did
15:07:01 <AnMaster> launch it and quit it I think
15:07:31 -!- coppro has joined.
15:07:45 -!- poiuy_qwert has quit ("Leaving").
15:08:32 <ehird> AnMaster: Even more magic than "use bignum"
15:08:33 <ehird> use integer;
15:08:37 <ehird> Now all divisions are integer division.
15:08:41 <ehird> Of course, this is usually used in a block:
15:08:42 <ehird> {
15:08:43 <AnMaster> mhm
15:08:44 <ehird> use integer;
15:08:46 <ehird> calculations;
15:08:46 <ehird> }
15:09:05 <ehird> Hmm, in fact, I think it has to be in a block.
15:09:21 <ehird> Or, no.
15:10:24 <ehird> No, program, 8 KiB = 64 Kb, not 65.536.
15:10:31 -!- Pthing has joined.
15:10:37 <AnMaster> ehird, is there a way to tell apt-get that "no even if this is a recommends, I don't want this package"
15:10:45 <ehird> Or, no, wait, my Perl program is right.
15:10:46 <AnMaster> "error out rather than try to install this"
15:10:56 <ehird> AnMaster: There's a --dont-install-recommends-fuck-you
15:11:15 <AnMaster> ah
15:11:37 <AnMaster> still I was considering a specific one I want to ban forever to the deepest circles of hell
15:11:59 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
15:12:37 <AnMaster> but --no-install-recommends works I guess
15:13:31 <ais523> note that the "recommends" means "if you want that, you almost certainly want this too unless you're doing something really weird"
15:14:26 <AnMaster> ais523, well I disagree in this case
15:14:44 <ais523> what case is it?
15:14:58 <AnMaster> avahi-daemon and sun-java6-jdk (indirect dep)
15:15:05 <AnMaster> I don't want the former
15:15:19 <AnMaster> ais523, how do you switch implementation for alternatives?
15:15:36 <AnMaster> say, I want to switch from openjdk to sun's jdk
15:15:48 <ais523> there's a command for it, but I can never remember what it is
15:15:50 <ais523> let me check
15:16:06 <AnMaster> thanks
15:16:09 <ais523> ah, sudo update-alternatives
15:16:22 <ais523> it's probably best to read the man page before using it
15:16:54 <ais523> "sudo update-alternatives --config java" is the normal method of using it
15:16:57 <AnMaster> tldr but I have to get something sugar rich, should be able to handle it then
15:17:19 <ais523> where you write the name of the binary in question, which is probably going to be "java" here
15:17:47 <AnMaster> and it didn't help
15:17:51 <AnMaster> (with the original issue)
15:17:53 <AnMaster> ehird, ^
15:21:04 <ehird> back
15:21:26 <ehird> openjdk is sun's
15:21:28 <AnMaster> ehird, ah there seems to be many reports on this
15:21:33 <ehird> unless you want the closed one
15:21:34 <AnMaster> googling on mathematica 7 linux powertop
15:22:06 <AnMaster> ehird, well the openjdk was the buggy one, that was causing grief in another context recently
15:22:11 <AnMaster> icedtea was as bad
15:22:17 <AnMaster> the closed one being less buggy
15:22:25 <AnMaster> bugs have been filed
15:22:41 <AnMaster> (not by me, but by the author of that java application)
15:23:25 <AnMaster> ehird, http://groups.google.com/group/comp.soft-sys.math.mathematica/browse_thread/thread/861d1ad03b19d949
15:23:48 <adu> yey bugs
15:24:17 <AnMaster> ehird, same behaviour as I'm seeing
15:24:41 <fizzie> OpenJDK had some really strange bugs in the AWT/Swing image-processing parts; though those have long since been fixed. (It was just that only some of the university boxen were new enough to have fixed versions.)
15:25:09 <AnMaster> fizzie, hm the issue was in awt stuff iirc
15:25:12 <ehird> AnMaster: Try the 32-bit version?
15:25:14 <AnMaster> or maybe swing
15:25:19 <AnMaster> ehird, same cd?
15:25:24 <ehird> Dunno.
15:25:26 <ehird> Probably not.
15:25:26 -!- ais523 has quit (Remote closed the connection).
15:25:32 <ehird> Wolfram are anal with their licenses.
15:25:48 <AnMaster> ah yes same cd
15:26:27 <AnMaster> ehird, well, I need this thing called sleep. So yeah will try in 32-bit chroot tomorrow
15:26:46 <ehird> Just press the sleep button!
15:27:27 <ehird> $ ./sconvert 4PiB Pb
15:27:27 <ehird> 26.8435456 Pb
15:27:42 <ehird> 4 pebibytes is ~26.84 petabits.
15:27:45 <ehird> The more you know!
15:27:52 -!- fungot has joined.
15:27:57 <ehird> wb fungot
15:27:58 <fungot> ehird: along with nick, for a marker, not an expression?)) fnord
15:28:00 <ehird> I didn't know you'd left
15:28:03 <ehird> ^style
15:28:03 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
15:28:28 -!- jpc has joined.
15:28:42 <fizzie> Really should put fungot under some auto-restart service supervisor one of these days.
15:28:42 <fungot> fizzie: or the specification has changed, maybe it will be
15:29:03 <ehird> $ ./sconvert 1024PiB b
15:29:04 <ehird> 68719476736 b
15:29:04 <ehird> I, uh, no.
15:29:24 <AnMaster> ehird, wrong indeed
15:29:51 <ehird> I wonder if
15:29:51 <ehird> [23:27] ehird: $ ./sconvert 4PiB Pb
15:29:52 <ehird> [23:27] ehird: 26.8435456 Pb
15:29:52 <ehird> was incorrect too.
15:30:02 <fizzie> Not sure when he left either. The wlan box did reset when I added an entry to the MAC filter list, but that shouldn't affect him.
15:30:10 <AnMaster> ehird, does it work for MiB to MB?
15:30:27 <ehird> Mebibytes to megabytes, or to megabits?
15:30:40 <AnMaster> ehird, the former
15:30:40 <AnMaster> I said that
15:30:57 <ehird> $ ./sconvert 1024MiB MB
15:30:57 <ehird> 838.8608 MB
15:31:02 <ehird> AnMaster: you're known to use inconsistent units
15:31:06 <AnMaster> nnno
15:31:09 <AnMaster> that's wrong
15:31:10 <ehird> I think the above is wrong, yeah.
15:31:12 <AnMaster> very wrong
15:31:29 <ehird> Oh, OH
15:31:34 <ehird> My prefixes are— hm, no.
15:31:35 <ehird> Or...
15:31:36 <ehird> Hm.
15:31:36 <AnMaster> ehird, you had it backwards right?
15:31:48 <ehird> print expr_value($ARGV[0])/unit_value($ARGV[1]), " $ARGV[1]\n";
15:31:55 <AnMaster> try 1 MiB to MB
15:32:07 <ehird> unit_value('kB') → 8000
15:32:16 <ehird> expr_value('3 kb') → 3000
15:32:17 <ehird> Hopefully.
15:32:24 <AnMaster> err
15:32:26 <ehird> $ ./sconvert 1MiB MB
15:32:27 <ehird> 0.8192 MB
15:32:29 <AnMaster> ehird, try simple ones
15:32:29 <ehird> That looks right.
15:32:45 <ehird> AnMaster: Remember that the intermediate values are bits.
15:32:51 <ehird> Not bytes.
15:32:56 <AnMaster> ehird, well try it for just bits then
15:33:13 <ehird> $ ./sconvert 1Kib Kb
15:33:13 <ehird> 1.024 Kb
15:33:22 <AnMaster> seems about right?
15:33:27 <ehird> Yep, that's right.
15:33:36 <ehird> $ ./sconvert 1KiB KB
15:33:37 <ehird> 1.024 KB
15:33:38 <ehird> That too.
15:33:44 <ehird> $ ./sconvert 1KiB Kb
15:33:44 <ehird> 8.192 Kb
15:33:44 <ehird> And that.
15:33:46 <AnMaster> ehird, but the MiB -> MB one was wrong
15:33:51 <AnMaster> I think
15:34:04 <AnMaster> not 100% sure but
15:34:07 <ehird> Well, let's see.
15:34:14 <AnMaster> too tired to work it out
15:34:45 <ehird> 1 MiB = 1.048576 MB, I believe.
15:34:55 <ehird> $ ./sconvert 1MiB MB
15:34:56 <ehird> 0.8192 MB
15:34:56 <ehird> So, I think that's wr— oh, perhaps—
15:35:16 <AnMaster> it should be more than one MB at least
15:35:21 <AnMaster> I'm pretty sure about that
15:35:32 <ehird> WTF? Hm.
15:35:53 <AnMaster> or should it?
15:36:01 <ehird> I'm confused now.
15:36:11 <ehird> print unit_value('MiB')/8,"\n";
15:36:11 <ehird> → 8192
15:36:12 <AnMaster> an 80 GB disk fits around 74 GiB iirc
15:36:22 <ehird> Division by 8 should convert bits to bytes.
15:36:27 <ehird> So...
15:36:38 <ehird> my @ids = split //, 'kmgtp';
15:36:39 <ehird> foreach (0..4) {
15:36:39 <ehird> my $pow10 = 10**($_+3);
15:36:39 <ehird> $prefixes{$ids[$_]} = $pow10;
15:36:39 <ehird> $prefixes{$ids[$_].'i'} = 2**int((log($pow10)/log(2))+.5);
15:36:40 <ehird> }
15:36:44 <AnMaster> ehird, try 80 GB to GiB
15:36:48 <ehird> I think my error is in the i line.
15:36:53 <AnMaster> because I remember what that should be
15:37:02 <ehird> It's calculating the nearest power of two. Maybe that's incorrect.
15:37:07 <AnMaster> roghly
15:37:35 <ehird> My prefixes are definitely wrong.
15:38:01 <AnMaster> ehird, known test case from segate disk: 80 GB is around 74 GiB
15:38:26 <ehird> 61.03515625 here. My prefixes hash must be in error; let me dump it.
15:38:42 <AnMaster> yeah, 61 is nowhere near 74
15:39:00 <ehird> print "$_\t$prefixes{$_}\n" foreach (keys %prefixes);
15:39:11 <fizzie> You want fixed powers of two, not upwards-rounded ones.
15:39:31 <ehird> http://pastie.org/729686.txt?key=dqx6u1u7v0u9wipsfhg
15:39:35 <ehird> fizzie: Unverbosify?
15:39:58 <fizzie> 2^10 for ki, 2^20 for Mi and so on.
15:40:11 <AnMaster> "Today I finally tried an 2.6.27 kernel and the problem disappeared. So it seems that Mathematica has a problem with kernels newer than 2.6.27 and that this problem is not Ubuntu specific."
15:40:12 <AnMaster> ehird, ^
15:40:45 <ehird> fizzie: Oh, so it's just 2^(i*10)?
15:41:04 <ehird> Well.
15:41:05 <fizzie> For the right i, yes.
15:41:07 <ehird> (i+1)*10
15:41:15 <fizzie> Right.
15:41:18 <ehird> fizzie: k:0,m:1,g:2,t:3,p:4
15:41:26 <ehird> wow, I'm stupid :)
15:41:57 <ehird> $ ./sconvert 80GB GiB
15:41:57 <ehird> 0.007450580596923828125 GiB
15:41:57 <ehird> What.
15:42:03 <ehird> fizzie: I suspect you of incorrectosity!
15:42:18 <ehird> my @ids = split //, 'kmgtp';
15:42:18 <ehird> foreach (0..4) {
15:42:18 <ehird> $prefixes{$ids[$_]} = 10**($_+3);
15:42:18 <ehird> $prefixes{$ids[$_].'i'} = 2**(($_+1)*10);
15:42:19 <ehird> }
15:42:20 <AnMaster> okay that's some false marketing if I ever seen it
15:42:22 <AnMaster> ;P
15:42:27 <ehird> AnMaster: :-D
15:42:45 <ehird> (but srsly, it's not a drive company conspiracy, people who say that are dumb)
15:42:50 <fizzie> That's just a factor-of-1000 error if I saw right.
15:43:00 <AnMaster> ehird, but jokishly: I know that
15:43:10 <ehird> just checking
15:43:14 <ehird> loads of people really think it's false marketing
15:43:24 <AnMaster> ehird, of course the real conspiracy is SI using 1000 not 1024
15:43:25 <AnMaster> to begin with
15:43:27 <ehird> fizzie: Indeed, but I don't see why in my code.
15:43:39 <ehird> AnMaster: IMPERIAL SYSTEM UBER ALLES
15:43:44 <coppro> why is it weird that SI prefixes do not correspond to SI values?
15:43:44 <ehird> PINTS AND YARDS AND MILES
15:43:46 <ehird> DECIMAL MUST DIE
15:43:49 <coppro> *do correspond
15:44:09 <coppro> k = 1000x... deciding it ought to be 1024x just because it's more convenient is rather dumb
15:44:17 <ehird> In the US, both the time and the measurements are non-decimal, but they use them both in decimal.
15:44:21 <ehird> It's crazy!
15:44:23 <AnMaster> coppro, *woosh*
15:44:30 <ehird> coppro: Indeed. Even in a REAL binary system, 1024 wouldn't be special.
15:44:33 <AnMaster> oh is that how it feels to say it
15:44:36 <ehird> We only use 1024 because it's close to 1000.
15:44:38 <ehird> AnMaster: It's whoosh.
15:44:39 <coppro> right
15:44:44 <AnMaster> ehird, ah
15:44:48 <ehird> woosh is a girly wind. WHOOSH is MEATY!
15:44:56 <AnMaster> ehird, whaash?
15:45:04 <AnMaster> rather wet I fear
15:45:06 <ehird> Wharsh yarsherlf.
15:45:17 <AnMaster> ehird, what dialect?
15:45:18 <coppro> also, it's a lowercase k; people seem to get this wrong :/
15:45:22 <fizzie> I don't know either; do dump that %prefixes hash, since the init should be right now.
15:46:05 <ehird> coppro: Yeah, but know the crazy thing?
15:46:10 <ehird> The standard for the -i suffixes says that it's Ki-.
15:46:12 <ehird> Even though it's k-.
15:46:19 <ehird> THAT IS INCONSISTENT AND STUPID ;_;
15:46:19 <coppro> hmm... I'll just start measuring everything in dab, just to confuse people.
15:46:55 <coppro> or mb
15:46:55 <ehird> dab?
15:46:55 <fizzie> Oh. You want 10**(($_+1)*3) there too.
15:46:55 <coppro> ehird: decabits
15:46:55 <ehird> mb. That's less than one bit.
15:46:56 <ehird> HOW DOES THAT EVEN—
15:47:01 <ehird> TURKEY BOMB
15:47:01 <AnMaster> oh there are patches from wolfram it seems
15:47:02 <AnMaster> yay
15:47:06 <coppro> ehird: to confuse people who think I'm talking about Mb
15:47:09 <coppro> or even MB
15:47:16 <ehird> They think you'll mean MiB, probably.
15:47:22 <ehird> http://catseye.tc/projects/turkeyb/doc/turkeyb.html
15:47:27 <coppro> one GB == 8,000,000,000,000 mb
15:47:27 <ehird> "Two thirds of a bit plus half a trit."
15:47:38 <ehird> I am going to start measuring in BI_ITs.
15:47:39 <fizzie> Now it's 10**3, 10**4, ... and so on, which is not very right.
15:48:07 <ehird> fizzie: Err, are you sure?
15:48:10 <ehird> Wait.
15:48:12 <ehird> yes you are.
15:48:45 <ehird> $ ./sconvert 80GB GiB
15:48:45 <ehird> 74.50580596923828125 GiB
15:48:45 <ehird> I like the jut of your KiB!
15:48:51 <ehird> *rimshot*
15:49:16 <ehird> It should be legal to combine units.
15:49:20 <ehird> G = KK!
15:49:25 <coppro> umm
15:49:26 <coppro> no
15:49:30 <ehird> YES :|
15:49:38 <coppro> G = MK or KM or KKK
15:49:51 <ehird> KKK!
15:49:51 <ehird> coppro: Oh, right, I meant M.
15:49:56 <coppro> *Mk or kM or kkk
15:50:20 <coppro> hmm... other fun things to measure in: YB
15:50:24 <adu> lol
15:50:31 <adu> OOO
15:50:37 <ehird> Yotta comes after peta, right?
15:50:46 <ehird> I should probably make my calculator anal so that you have to use the correct capitalisation.
15:50:51 <adu> after, meaning smaller?
15:50:56 <ehird> I just need to make sure k's binary form becomes Ki.
15:51:06 <ehird> coppro: although, do you think I should accept ki too? Because Ki is really fucking stupid.
15:51:20 <adu> lol
15:51:31 <adu> i think prefixes are stupid
15:51:33 <fizzie> "Double prefixes such as those formerly used in micromicrofarads (picofarads), hectokilometres (100 kilometres), and millimicrons or micromillimetres (both nanometres) were also dropped with the introduction of the SI."
15:51:34 <coppro> ehird: Ki makes sense in that it's used for consistency with other 'i' forms; I wouldn't really care either way
15:51:45 <adu> why don't people just write 1000000000000000?
15:51:53 <ehird> ah, it's kMGTPEZY
15:51:59 <ehird> adu: obvious ereasons.
15:52:01 <coppro> yep
15:52:10 <coppro> k is the highest lowercase prefix
15:52:18 <fizzie> The "micromicrofarad" one is a link too.
15:52:22 <ehird> coppro: but k makes sense with consistency for... most other >0 prefixes :-)
15:52:30 <coppro> they should just have made all prefixes >1x capital
15:52:36 <coppro> that would avoid "da" as well
15:52:39 <ehird> i'll make it support both ki and Ki
15:52:45 <ehird> the first one is rational and the second one is standard
15:52:51 <coppro> make it complain if you enter KB or Kb
15:52:51 <adu> ehird: and kI
15:53:00 <ehird> coppro: yes
15:53:04 <adu> ehird: for the stupids
15:53:18 <ehird> adu: no.
15:54:08 <coppro> agree with ehird
15:54:18 <fizzie> "A micro-microfarad (μμF) that can be found in older texts is the equivalent of a picofarad." (That probably has a broken mu sign, haven't fixed the locale just right.)
15:54:37 <coppro> also, if it sees "iB", it should complain that Hungarion notation sucks
15:54:53 <ehird> Okay, program made anal.
15:54:58 <ehird> coppro: wat?
15:55:11 <ehird> also, it's hungarian
15:55:16 <coppro> yeah, typo
15:55:22 <ehird> $ ./sconvert 1KiB kB
15:55:22 <ehird> 1.024 kB
15:55:34 <ehird> $ ./sconvert 1KiB KB
15:55:34 <ehird> inf KB
15:55:40 <coppro> lol
15:55:46 <ehird> I should probably handle that
15:55:54 <adu> did you mean μμF?
15:56:01 <coppro> you should make it do other units two :D
15:56:10 <adu> or µµF?
15:56:39 <ehird> coppro: But it's mainly for byte/bit, binary/decimal confusion.
15:56:58 <coppro> curse you, Unix
15:57:04 <coppro> also, curse my atrocious word choice there
15:57:07 <coppro> that should have been "too"
15:57:09 <ehird> Unix? Why?
15:57:15 -!- kar8nga has joined.
15:57:30 <ehird> coppro: units(1) is there for the rest
15:57:58 -!- kar8nga has quit (Remote closed the connection).
15:58:12 <AnMaster> <fizzie> "A micro-microfarad (μμF) that can be found in older texts is the equivalent of a picofarad." (That probably has a broken mu sign, haven't fixed the locale just right.)
15:58:16 <AnMaster> encoding failure?
15:58:24 <AnMaster> you meant µ
15:58:25 <AnMaster> I guess
15:58:31 <AnMaster> µµ maybe
15:58:32 <adu> Ůŋıçøðë Řōχ
15:58:42 <coppro> indeed
15:58:53 <ehird> $ echo "3$(units kg grams | tail -1)" | bc
15:58:54 <ehird> 3000
15:59:08 <fizzie> It should be pretty clear from the () part what was meant.
15:59:26 <fizzie> Sleepity now, night.
15:59:45 <ehird> Use of uninitialized value in multiplication (*) at ./sconvert line 38.
15:59:46 <ehird> Use of uninitialized value in split at ./sconvert line 27.
15:59:46 <ehird> Use of uninitialized value in hash element at ./sconvert line 28.
15:59:54 <ehird> PEEEEEEEEERL :|
16:00:30 <AnMaster> ehird, use strict; use warnings; use whatever-the-thing-that-makes-you-have-to-pass-stuff-through-a-regex-to-make-it-trusted;?
16:00:43 <ehird> Nothing to do with that.
16:00:51 <ehird> Trivial bug, now fixed.
16:01:24 <AnMaster> meh
16:01:26 <ehird> Eh, now it says bad input for everything :-D
16:01:39 <AnMaster> ehird, you should have used python instead
16:01:43 <ehird> Nah.
16:01:47 <coppro> AnMaster: tainted mode?
16:01:47 <ehird> I'm going to code this in C out of curiosity, see how much bigger it is.
16:01:49 <ehird> Oh wait, bignums.
16:01:52 <AnMaster> coppro, possibly
16:01:53 <ehird> gmp.
16:01:54 <ehird> Shiver.
16:01:56 <ehird> Uh.
16:01:59 <coppro> ugh
16:02:00 <AnMaster> ehird, why not :D
16:02:06 <ehird> Maybe I'll just use longs for the C version. :P
16:02:13 <AnMaster> ehird, long long
16:02:16 <ehird> Not that it'll be able to handle yottabytes, but.
16:02:17 <ehird> AnMaster: No.
16:02:23 <coppro> ehird: why not?
16:02:34 <AnMaster> ehird, why not? you get 32 bits on 32-bit x86 then
16:03:48 <AnMaster> ehird, or use gmp
16:03:56 <ehird> You get 32-bits with long too...
16:04:04 <AnMaster> ehird, eh?
16:04:08 <AnMaster> that's what I said
16:04:34 <AnMaster> 32-bit x86 sizeof: int=4, long=4, long long=8
16:04:39 <AnMaster> 64-bit x86 sizeof: int=4, long=8, long long=8
16:04:42 <AnMaster> ehird, ^
16:04:58 <ehird> So?
16:05:01 <AnMaster> or use __int128_t if __GNUC__
16:05:02 <ehird> I don't care.
16:05:02 <AnMaster> XD
16:05:12 <AnMaster> or was it _int128_t?
16:05:16 <AnMaster> well something like that
16:05:33 <AnMaster> ehird, still why not long long?
16:06:02 <ehird> Because long is more widely supported and grokkable.
16:06:02 <coppro> long long long obv
16:06:05 <coppro> the only decent error message in all of GCC
16:06:13 <AnMaster> coppro, oh?
16:06:24 <AnMaster> ehird, stdint.h: int64_t?
16:06:28 <coppro> "Error: 'long long long' is too long for GCC"
16:06:33 <AnMaster> coppro, :D
16:07:19 <ehird> I am now of the opinion that C compilers should offer a bigint type.
16:08:07 <AnMaster> ehird, heh
16:08:36 <coppro> I don't think the standard allows that :/
16:08:55 <AnMaster> coppro, oh? as a pointer type surely?
16:09:18 <AnMaster> well, not as a simple type obviously
16:09:21 <coppro> AnMaster: ah, of course, but then all the regular operations would need functions :/
16:09:29 <ehird> long
16:09:29 <ehird> prefixes[sizeof PREFIX_NAMES][2];
16:09:33 <AnMaster> coppro, or would they?
16:09:40 <ehird> prefixes['M']['i']
16:09:43 <ehird> prefixes['M']['\0']
16:09:44 <ehird> Evil? Yes.
16:09:47 <ehird> Cool? Yes.
16:09:52 <coppro> AnMaster: I suppose an implementation could make a type implemented internally as a pointer
16:10:05 <ehird> Oh, it needs to be that sizeof + 1.
16:10:08 <ehird> For Ki.
16:10:35 <coppro> but the amount of work that would require is probably not worth it
16:13:21 <ehird> Okay, I've written prefix_value and unit_value in C.
16:13:27 <ehird> Pretty good so far.
16:14:52 <ehird> I want to use unsigned long, but I need to use -1 as an error code.
16:14:59 <ehird> Fuck you, C. Fuck you and your lack of convenient error handling.
16:16:05 <ehird> Actually, I'd say that lack of convenient error handling is C's #1 flaw.
16:16:19 <ehird> If it just had a convenient tuple type ... it's just the same as a struct...
16:17:02 <ehird> (T1, T2+) is a type the same as struct {T1 _1; T2 _2; ...}. If you write "(a, b+) = tuple;", it extracts the values. If you use _ as a name, the value is discarded.
16:17:04 <ehird> End of.
16:17:11 <ehird> Voila, now your erroring functions look like:
16:17:28 <ehird> (long, int)
16:17:29 <ehird> might_fail(void)
16:17:32 <ehird> And you use them like:
16:17:39 <ehird> (foolhardy, _) = might_fail();
16:17:39 <ehird> or
16:17:43 <ehird> (safe, err) = might_fail();
16:17:48 <ehird> Is that really so difficult?!
16:18:40 <coppro> ehird: it looks convenient, so no
16:18:44 <coppro> err
16:18:46 <coppro> yes
16:18:51 <ehird> :-D
16:19:09 <ehird> You could do it a bit with cpp, I think.
16:19:26 <ehird> At least, tuples. Not triples and beyond.
16:19:31 <ehird> Without defining a separate macro.
16:19:39 <ehird> Well, and with gcc's typeof.
16:20:30 <ehird> #define tuple(x, y) ((struct{typeof(x) a; typeof(y) b;}){(x),(y)})
16:21:25 <ehird> extract requires a temporary variable, though.
16:22:19 -!- augur has quit (Read error: 113 (No route to host)).
16:25:23 <ehird> Has anyone worked on an implementation of TURKEY BOMB apart from ais523? Didn't think so.
16:25:59 <ehird> Apparently ais523 came up with a turing-complete interpretation of the spec.
16:27:06 <coppro> O_o
16:27:19 <ehird> Why O_o?
16:27:25 -!- adu has quit.
16:27:33 <ehird> http://catseye.tc/projects/turkeyb/doc/turkeyb.html is what I'm referring to.
16:27:42 <ehird> [[AMICED
16:27:42 <ehird> A conceptual quantum state of information.
16:27:42 <ehird> Negative six sevenths of a decimal digit.]]
16:27:44 <ehird> is a tricky one
16:27:50 <ehird> ais had a NEGATIVE_AMICED type instead
16:27:55 <ehird> and negated all operations on it
16:28:28 <ehird> PUDDING is also a tricky one, I'd do void *PUDDING = 0;
16:28:32 <ehird> as the size should be infinite
16:28:38 <ehird> and all of the memory is close to infinite as it gets
16:28:45 <ehird> as far as an unknowable value goes, just don't let the program at it
16:29:11 <ehird> Oh, and HYBRID OBTAINED BY COMBINING without WITH GUSTO has to be the average of the sizes of the two types.
16:29:22 <ehird> Good luck figuring out which fields to include.
16:29:50 <ehird> TURKEY BOMB itself should just be a pointer to TURKEY BOMB.
16:30:24 <ehird> If you want to be ultra-spec-compliant:
16:31:04 <ehird> struct TURKEY_BOMB {
16:31:04 <ehird> struct TURKEY_BOMB *referent;
16:31:04 <ehird> } TURKEY_BOMB;
16:31:04 <ehird> then
16:31:05 <ehird> TURKEY_BOMB.referent = &TURKEY_BOMB;
16:31:52 <ehird> Once you've got all the types, you have to infer the language itself from the paradigm and the operators.
16:32:03 <ehird> And, well, try and figure out things like:
16:32:05 <ehird> [[BI_IT BI_IT ? BI_IT BI_IT ? BI_IT BI_IT
16:32:05 <ehird> 3-argument trit operation; unfortunately the Ancient Texts seem unclear on what it actually does. (The closest English translation appears to be "take these trits three and meditate soundly upon them.")]]
16:32:47 <ehird> [[Attempts to deduce the existance of a HUMIDOR in the given PUDDING.]]
16:32:48 <ehird> Considering that PUDDING has an unknowable value... but if we assume it's all of memory, it just works out whether any HUMIDORs exist.
16:32:54 -!- puzzlet_ has joined.
16:33:05 <ehird> [[ALL BUT EXPR
16:33:05 <ehird> Returns a PUDDING indicating everything but EXPR.]]
16:33:05 <ehird> Just keep a list of things not included in PUDDING.
16:33:22 <ehird> [[WHEREFORE ART EXPR
16:33:23 <ehird> Returns a PUDDING indicating the entire metaphysical nature of EXPR.]]
16:33:23 <ehird> Perhaps a pointer to the internal representation of the value.
16:33:36 <ehird> [[GARNISH PUDDING
16:33:37 <ehird> Convolutes the PUDDING with recent context drawn from the program. The player holding the TURKEY BOMB must pass it off.]]
16:33:37 <ehird> Not a fucking clue.
16:33:55 <ehird> [[IMAGINE PUDDING, PUDDING!
16:33:56 <ehird> Returns a NOMENCLATURE indicating all the variables unchanged between two PUDDINGs.]]
16:33:56 <ehird> "Hey, a properly-specified operation."
16:34:05 <ehird> "Perform iterative cypher transformation of set of names." is kinda vague.
16:34:26 <ehird> Somebody be interested!
16:36:36 <ehird> coppro: Stop being all O_o!
16:39:36 <ehird> A BI_IT is (2/3)+(log(3)/log(2)/2) bits...
16:39:43 <ehird> ~= 1.46 bits.
16:40:33 <ehird> = log(432)/log(64)
16:42:06 <ehird> "A composite quantum state of information."
16:42:25 <ehird> So I guess the thing to do is to store the 2/3rds of a bit as one byte, and the half a trit as one byte too.
16:44:46 * ehird gives the struct members one-character names as otherwise they'd be really long
16:45:15 <ehird> Oh great, I have to have type tags too.
16:45:55 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:49:59 -!- jpc has quit (Read error: 110 (Connection timed out)).
16:50:59 <ehird> tagHYBRID_OBTAINED_BY_COMBINING
16:52:09 <ehird> "Exactly fifteen bytes, no exceptions."
16:52:10 <ehird> Great, so you need 5-byte pointers.
16:53:03 <coppro> just change the size of a byte
16:53:10 <ehird> No :P
16:53:16 <ehird> I think what I'll do is
16:53:19 <coppro> one byte is 8/15ths of a bit
16:53:25 <ehird> char p1,p2,p3,p4,p5;
16:53:41 <ehird> The lower/upper/whatever bits of each are a few bits of the pointer.
16:53:50 <ehird> I could just pad it out, but it doesn't say pad anywhere.
16:54:05 <ehird> (The type is "TRIVIA CONCERNING type", "Three references: one to an object of the named type, two to TRIVIA objects.")
16:54:40 -!- BeholdMyGlory has quit (Remote closed the connection).
16:55:12 <ehird> Wait.
16:55:13 <ehird> "two to TRIVIA objects"
16:55:23 <ehird> I wonder if that means two TRIVIA CONCERNING objects, or two TRIVIA objects.
16:55:38 <coppro> it seems pretty clear to me
16:55:51 <ehird> coppro: Excuse me, have you read http://catseye.tc/projects/turkeyb/doc/turkeyb.html?
16:55:55 <ehird> Nothing in there is clear.
16:56:19 <ehird> ("A fraction whose numerator is a perfect square of a perfect square and whose denominator is a prime number whose ordinal position in the counting list of prime numbers is also prime.")
16:57:11 <ehird> OMG! Haskell 2010 removed n+k patterns!
16:57:12 <ehird> YESSSSSSSSSSSSSS
16:59:28 <ehird> coppro: the worst part of turkey bomb is that since it translates some stuff about the drinking game into computer terms, you have to take note of the drinking game-related items in your implementation
17:12:40 <ehird> btw, coppro, seen http://killersmurf.blogspot.com/2009/11/typefuck.html?
17:12:49 <ehird> iirc you like type/template-hacks + haskell
17:21:03 <ehird> http://bit-player.org/wp-content/uploads/2009/12/grid15r0a.png
17:21:05 <ehird> pretty
17:33:51 -!- FireFly has quit ("Leaving").
17:52:47 -!- augur has joined.
17:53:05 <ehird> Hi augur.
17:53:23 <augur> hey ehird
17:53:25 <augur> sup?
17:56:11 <ehird> The sky!
17:56:27 <ehird> for(page in `{find . | grep -v '^\./jsMath' | grep '\.html$'})
17:56:27 <ehird> grep '<title>' $page | sed 's!</?title>!!g'
17:56:27 <ehird> Discuss.
17:56:30 <ehird> Sins I have committed:
17:56:36 <ehird> 1. "Parsing" HTML with a regexp
17:56:47 <ehird> I'd have expected to commit more in such a rag-tag script.
17:59:07 * ehird removes the <h1> and makes the <title> visible instead. I am crazy.
18:01:23 <ehird> I wonder if it's kosher to do that.
18:05:40 -!- augur has quit (Read error: 60 (Operation timed out)).
18:10:25 -!- augur has joined.
18:11:32 <uorygl> augur was actually asking for the supremum.
18:12:40 <uorygl> Which is e to the power of (pi times the square root of 163).
18:14:39 <augur> o.o
18:16:46 <augur> wut
18:17:03 <augur> dont make me hurt you :|
18:18:25 <uorygl> Wait, no. 67, not 163.
18:19:36 <ehird> It'd be nice if there was a minimalist, command-line, open-source symbolic calculation system with sane syntax.
18:20:02 <ehird> You know, somewhere where you could type things like e^(pi*sqrt(163)) and be able to calculate it to arbitrary precision.
18:28:25 <augur> ehird, you should write that utility.
18:29:01 <ehird> I'm tempted to, and it wouldn't be all that hard to write the core language. But writing all the mathematical functions that go on top? And then rewriting them efficiently?
18:29:06 <ehird> I kinda lose interest at that point.
18:29:19 <augur> also, google does that.
18:29:30 <ehird> No, it doesn't.
18:29:54 <ehird> For one, it isn't symbolic. For two, its set of operations and functions is extremely limited. For three, it cannot calculate to arbitrary precision.
18:30:48 <coppro> symbolic math libraries inevitably become big and bulky
18:31:04 <ehird> Not a library, a language and core library.
18:31:13 <ehird> Existing non-symbolic languages would be hell to use for symbolic stuff.
18:31:22 <ehird> coppro: I don't see why. Their overall size, sure; simply due to their coverage.
18:31:26 <ehird> But the individual functions?
18:31:36 <uorygl> GHCi can accept syntax like e^(pi*sqrt(163)), but obviously, GHCi isn't minimalist.
18:31:42 <quantumEd> coppo kinda like algebra text books? :P
18:31:49 <ehird> uorygl: That isn't symbolic nor arbitrary precision.
18:31:56 <coppro> ehird: Bulky because there are a bunch of features you inevitably want to accept, like retrieving the simplest form
18:31:57 <uorygl> It can be arbitrary precision.
18:32:04 <uorygl> e^(pi*sqrt(163)) :: CReal
18:32:07 <quantumEd> th algorithms of algebra are really realyl hard stuff
18:32:09 <ehird> uorygl: Technically, yes; practically, no, because it's not symbolic!
18:32:18 <ehird> And CReal is far more limited than a symbolic system.
18:32:19 <quantumEd> I mean very involved in the basic case.. and then you have optimizations
18:32:27 <coppro> and I disagree that you couldn't do it in an existing language; a language with sufficiently-descriptive operators and overloading could do it fine
18:32:27 <ehird> You can actually compare symbolic things for equality, for instance.
18:32:36 <ehird> What is it with these people thinking a symbolic mathematics environment is the same as a calculator?!
18:32:42 <ehird> coppro: Yes, but not as comfortably.
18:33:04 <uorygl> I suppose GHCi could handle that symbolically as well.
18:33:05 <ehird> For instance, "a*pi*asdjads" giving that back instead of an undefined-name error? Not likely in a normal language.
18:33:12 <uorygl> e^(pi*sqrt(163)) :: Expr, or something.
18:33:18 <ehird> uorygl: Thus showing you don't know what making a symbolic environment entails — see above.
18:33:59 <uorygl> Did I claim that GHCi would accept strings like a*pi*asdjads?
18:34:13 <uorygl> Maybe I did; my conception of what "symbolic" means keeps changing.
18:34:34 <coppro> ehird: For instance, aside from the awkwardness of a lack of operators, you could do symbolic C++ pretty easily.
18:34:50 <augur> ehird
18:34:54 <augur> qs can almost do this
18:35:00 * coppro ducks
18:35:52 <augur> you should write a QS plugin
18:36:21 <coppro> QS?
18:36:25 <ehird> augur: No, it can't almost do this, at all.
18:36:28 <ehird> Not even remotely.
18:36:37 <ehird> coppro: Quicksilver.
18:36:43 <ehird> OS X thing. It's for combining data and stuff.
18:36:52 <augur> well
18:37:10 <augur> you can type into qs _some_ stuff
18:37:11 <augur> like
18:37:15 <ehird> Like there's a calculate action that you can give 2+2, you can search the system for a file then email it to someone in one chain (like "somethinginthefilename<tab>email<tab>some name<enter>").
18:37:19 <ehird> It's nothing even remotely related to this.
18:37:22 <augur> =sqrt(3^2 + 4^2)
18:37:25 <augur> and itll spit out 5
18:37:28 <ehird> coppro: Pretty easily, but it'd be uncomfortable to use.
18:37:34 <ehird> augur: THAT'S CALLED A FUCKING CALCULATOR >_<
18:37:44 <coppro> augur: That sounds like my Alt-F2
18:37:50 <coppro> or Excel :P
18:38:07 <coppro> ehird: yeah, it would be uncomfortable for complex maths
18:38:19 <augur> i know ehird
18:38:22 <coppro> and then on the other side of things, there's software like Sage
18:38:30 <coppro> which is so ridiculously complex that you almost explode
18:38:36 <augur> but calculator should be able to get everything but the pi part in e^(pi*sqrt(163))
18:39:02 <ehird> coppro: you know that sage is shit because it has its own livecd :)
18:39:02 <ehird> augur: INCORRECT.
18:39:02 <ehird> augur: Not to arbitrary precision.
18:39:03 <augur> except e^x would have to be exp(x)
18:39:03 <augur> oddly, i cant get =exp(2) to work...
18:39:05 <augur> but this is why you should create a math plugin!
18:39:06 <ehird> Not symbolically, so that the expression itself can be modified and compared.
18:39:11 <ehird> augur: Why?
18:39:21 <ehird> I won't be using OS X soon enough, and you could easily do it by making something that calls out to my tool.
18:39:22 <augur> because qs is the new commandline 8D
18:39:34 <ehird> Embedding software of massive complexity into such a prison is stupid.
18:39:41 <augur> oh, you're switching to a nix machine?
18:39:42 <augur> D:
18:39:56 <ehird> Custom-assembled Linux.
18:39:59 <ehird> Nothing like most distros.
18:40:12 <ehird> Closer to my perfect OS than OS X.
18:40:36 <pikhq> ehird: Do tell.
18:40:54 <ehird> I'm going to be using minimalist, Unixy tools, so that the command-line and the filesystem actually become a viable tool for approaching the ehirdOS linguistic interface ideal.
18:40:55 <pikhq> Oh, wait. That distro you've been talking about.
18:40:56 <pikhq> XD
18:41:01 <ehird> PIKHQ
18:41:03 <ehird> EXPERT MEMORISER
18:42:29 <ehird> coppro: incidentally, the LiveCD litmus test also works for rejecting Asterisk
18:42:56 <coppro> Linux is clearly shit then
18:43:52 <ehird> Linux isn't a program.
18:46:10 <ehird> A sitemap script written in the rc shell. Well, that's a first.
18:46:24 <ehird> (I'm trying to get my shit together and actually publish some stuff on the interwebnets.)
18:50:58 <ehird> I'm pretty sure making an element in <head> visible is a sin of some kind.
18:51:50 <coppro> <title>?
18:51:56 <ehird> yep
18:52:13 <ehird> I'm attempting to manually write the pages, and the overhead I have with <h1> gone is just a few simple lines
18:52:27 <ehird> specifically
18:52:35 <ehird> <!doctype html>
18:52:35 <ehird> <html>
18:52:36 <ehird> <head>
18:52:36 <ehird> <title>WHATEVER THE TITLE IS</title>
18:52:36 <ehird> <link rel=stylesheet href=/style.css>
18:52:36 <ehird> </head>
18:52:37 <ehird> <body>
18:52:39 <ehird> ...content...
18:52:51 <ehird> <address><a href=/>Elliott Hird</a></address>
18:52:52 <ehird> </body>
18:52:53 <ehird> </htlm>
18:52:54 <ehird> *html
18:53:12 <ehird> the only ones I have to "remember" are the stylesheet and address lines, as i know the rest
18:53:33 <ehird> but still, it feels a bit weird as i have to make <head> itself visible, then hide everything inside <head>, then unhide <title>...
18:58:03 -!- quantumEd has quit ("* I'm too lame to read BitchX.doc *").
18:59:34 <ehird> [[
18:59:34 <ehird> Dilution 1:10^60 - On average, this would require giving two billion doses per second to six billion people for 4 billion years to deliver a single molecule of the original material to any patient
18:59:35 <ehird> Dilution 1:10^400 - Dilution of popular homeopathic flu remedy Oscillococcinum
18:59:35 <ehird> ]]
19:00:54 <pikhq> "Oscillococcinum"? What the fuck does that mean?
19:01:00 <pikhq> "Oscillating cock"?
19:01:50 <ehird> It sounds MEDICAL!
19:01:54 <ehird> It must be MEDICINE!
19:04:51 -!- augur has quit (Read error: 110 (Connection timed out)).
19:07:18 <uorygl> Oscillo-: a prefix formed from "oscillating". Coccus: spherical bacterium. -In: a diminutive suffix. -Um: a Latin accusative suffic.
19:07:35 <uorygl> So it means "little oscillating spherical bacterium".
19:08:08 <uorygl> Presumably, -inum is a cute medicinal prefix, chosen in emulation of "platinum", which means "little silver".
19:09:34 -!- augur has joined.
19:21:00 * ehird decides he probably doesn't like the title-is-a-visible-element thing, considers reverting it back
19:23:48 <ehird> But on the other hand, writing out the title manually is bothersome. Gawd, I'm so indecisionful.
19:27:21 -!- augur has quit (Connection timed out).
19:30:34 -!- augur has joined.
19:40:01 * ehird realises his sitemap sorts in alphabetical order...
19:40:01 <ehird> ...on the filename
19:51:52 <uorygl> Don't fix it; it will be fascinating.
19:53:37 <ehird> uorygl: But it'll be quite annoying. "A defence of preemptive mutitasking" will appear under p, since it is preemptive.html.
19:53:37 -!- augur has quit (Read error: 110 (Connection timed out)).
19:53:50 <ehird> I only need a sitemap because I'm eschewing on-page navigational aids, anyway.
19:53:58 <ehird> And that's just for simplicity.
19:54:17 <ehird> I may not even need a sitemap, if I can make the off-page navigational aids compelling and useful enough.
19:54:35 <ehird> By the way, I think I'm tempted to write that symbolic tool.
19:55:07 <ehird> The issue is that, like quantumEd said, the basic algebra algorithms I'd have to implement efficiently would be a huge bitch.
19:56:38 <uorygl> Hey, wait, you're making a web site?
19:56:42 <ehird> Oh, and even the simplest things like an algorithm to calculate pi efficiently to theh Nth place in any base are a bitch.
19:56:52 <ehird> uorygl: Yes; I'm trying to get my act together and start publishing stuff online.
19:57:08 <ehird> I wrote http://sprunge.us/RMJD for it.
19:57:31 <uorygl> Hey, you didn't reply sarcastically.
19:57:57 <ehird> I'm feeling in a particularly unsarcastic mood right now.
19:58:16 <uorygl> Strange.
19:58:23 <ehird> Any particular reason why you asked me?
19:58:25 * uorygl ponders how to take advantage of this situation.
19:58:35 <uorygl> I guess I was interested in looking at it.
19:59:43 <ehird> I haven't actually written anything more than http://sprunge.us/RMJD for it, so imagine the *text in asterisks* is bold, the underlined text is heading-sized and bold, and it's all in a non-monospaced font.
19:59:44 <ehird> Taraaa!
20:01:59 * uorygl reads.
20:02:07 <uorygl> Your conclusion is probably correct in most cases.
20:02:48 <ehird> In what cases is it incorrect?
20:03:19 <ehird> I can think of embedded systems as one: all tasks are generally from the same source, and resources are limited enough that minimising unnecessary task-switching is a big plus.
20:03:22 <uorygl> If one process legitimately decides that it needs a lot of processing power for a little while.
20:03:37 <uorygl> And yeah, that.
20:04:53 <ehird> uorygl: Most systems nowadays are multi-core or even multi-CPU.
20:05:19 <ehird> A task can be dedicated to a CPU and have it to itself while the other tasks switch on the other coress.
20:05:21 <ehird> *cores
20:05:23 <ehird> *dedicated to a core
20:05:56 <ehird> Anyway, that advantage isn't big enough to make up for the effort. Today's supercomputing is done on systems that use preemptive multitasking, and it works fine.
20:06:06 * uorygl shrugs.
20:06:12 <uorygl> We're not really contradicting each other, here.
20:06:30 <ehird> :)
20:06:40 <ehird> Hey, the average salary for a Haskell job is $198,000.
20:06:45 <ehird> That's nice.
20:08:24 <uorygl> That's almost anomalously nice.
20:08:48 <ehird> Well, it's a very specialised skill and not many people want it.
20:08:51 <uorygl> (Gee, that word looks a lot like a misspelling.)
20:09:06 <ehird> Companies like Galois do heavy-duty reliable systems and the like, so that's high-salary already.
20:09:25 <ehird> They also happen to be one of the main users of, and contributors to, Haskell.
20:09:33 <ehird> "So, yeah."
20:13:02 <ehird> Aww; nhttpd appears to not be able to look up foo.html when /foo does not exist.
20:13:20 <ehird> So I can't get nice urls like http://domain.org/preemptive for preemptive.html.
20:17:47 <uorygl> Does an HTTP response tell you what the filename is?
20:18:38 <ehird> No.
20:18:40 <ehird> Why?
20:20:58 <ehird> uorygl's queries doth confuse.
20:30:07 <Asztal> But it can with Content-Disposition: Attachment; filename=blah.gif
20:30:13 <Asztal> (Or something like that)
20:30:43 <Asztal> Of course, your browser then shows a download dialog instead of the actual file.
20:34:01 <Asztal> http://pastie.org/729863.txt?key=ywp02s8p8potpiakeo6q <- Parsec in C#. It's a lot uglier without full type inference. :(
20:36:33 <ehird> addOp = ('+'.ToParser().Select<Func<int, int, int>>(c => (x, y) => x + y))
20:36:34 <ehird> | ('-'.ToParser().Select<Func<int, int, int>>(c => (x, y) => x - y));
20:36:34 <ehird> Puke.
20:36:53 <ehird> Anyone have an opinion on digit separators in a symbolic mathematics language?
20:37:02 <ehird> I'm considering allowing 1,000,000 and the like, just with commas.
20:37:02 <Asztal> Yeah, it can't infer Select's type parameter from the lambda expression :(
20:37:08 <ehird> (Europeans can go fuck off yo)
20:37:09 <uorygl> Just wondering.
20:37:27 <Asztal> I think 1_000_000 is good enough
20:37:43 <ehird> Asztal: In a programming language, yes.
20:37:46 <ehird> In a mathematics environment?
20:38:06 <ehird> it's just that, getting a result like
20:38:13 <ehird> -(log(2)/1,063,382,396,627,932,698,323,045,648,242,756,608)
20:38:14 <ehird> back is obviously preferable to any other way of formatting the number
20:38:17 <uorygl> 1 timesOneThousandPlus 000 timesOneThousandPlus 000
20:38:57 <Asztal> But what's log(1,000,000)? Computers don't have common sense :(
20:39:22 <ehird> Asztal: I could require that to be log(1,000, 000) or whatever.
20:39:26 <ehird> But indeed, that is ugly.
20:39:37 <ehird> One option is spaces, but it's a non-option; spaces are multiplication.
20:39:41 <uorygl> Anyway, for digit separators, I think ' is the most practical.
20:39:56 <ehird> uorygl: That's weirder than _, but might just work.
20:39:58 <uorygl> It's actually in use, and I can't immediately think of any other use for it in math.
20:40:08 <ehird> Derivative.
20:40:35 <Asztal> Sucks for the people taking the derivatives of constants, I guess
20:40:55 <uorygl> Ah, but numbers aren't functions. You *can't* take their derivative.
20:41:07 <ehird> Yeah, okay; ' it is.
20:41:11 <uorygl> Unless, you know, you're in automatically-treat-things-as-being-of-different-types-land.
20:41:31 <uorygl> (What's {1, 2, 3} + 5? {6, 7, 8}, of course.)
20:41:51 <ehird> Works in Mathematica, and probably other environments too.
20:42:10 <ehird> That's more sets/lists/whatever being magic, though,.
20:42:12 <ehird> *though.
20:42:19 <uorygl> Right.
20:42:22 <coppro> uorygl: Depending on your definition, you can take their derivative; it's just monumentally unexciting.
20:42:33 <uorygl> Haskell doesn't like that magic. Haskell likes to make that magic unnecessary.
20:42:50 <ehird> Haskell fails at it, at least in this context.
20:43:18 <uorygl> map (+ 5) [1, 2, 3]
20:43:34 <uorygl> I can conceive of a less faily way to do that.
20:44:38 <ehird> That's not How Things Work, though. You don't have to explicitly specify that, but in Haskell you do.
20:44:59 * ehird finds himself trying to avoid Mathematica's names for things, even when they're good.
20:45:01 <ehird> Stop that, stupidhird.
20:45:32 <uorygl> My inner math platonist says that in most cases, Things Work How Haskell works.
20:45:52 <uorygl> (Math platonists are silly.)
20:48:29 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)).
20:49:59 -!- lifthrasiir has joined.
20:50:18 <ehird> Strange. I can't get Mathematica to give me a number without a x 10^-foo at the end.
20:50:21 <ehird> It's not hard, Mathematica.
20:52:12 <uorygl> Multiply every number by 10^10^10.
20:52:44 <ehird> Oh, shush. :P
20:53:32 * ehird makes a concession to computerism by representing the multiplication sign as *.
20:53:35 <ehird> Sorry, x; you're ambiguous.
20:54:06 <bsmntbombdood> is that (10**10)**10 or 10**(10**10)?
20:54:28 <uorygl> 10^10^10 is 10^(10^10) because (10^10)^10 is 10^(10*10).
20:54:35 * ehird wonders how silly it is to put digit separators after the decimal point.
20:54:51 <uorygl> Not so silly that there's a practical reason not to.
20:55:44 <uorygl> Remember that the convention after the decimal point is to use one every eight digits.
20:55:54 <uorygl> (:-P, btw)
20:56:07 <ehird> Hey, Mathematica does it.
20:56:49 -!- lifthrasiir has quit (Success).
20:56:58 <ehird> Which begs the question, should it be padded out?
20:57:04 <ehird> i.e. -6.518'324'76 or -6.518'324'760?
20:57:15 <ehird> The latter is more understandable but... feels like it's straying from the purpose of displaying a number.
20:57:22 <ehird> I mean, there's no point putting a dud 0 there.
20:58:31 <uorygl> Not padding it out gives you a certain feeling under certain circumstances, i.e. makes something clearer.
20:58:42 <ehird> http://pastie.org/729983.txt?key=rl9toh4jbce5llyo0eguba
20:58:43 <ehird> I present to you an imaginary session with my tool.
20:58:51 <uorygl> It makes a really useless piece of information clearer, but at least it does make it clearer.
20:59:05 <ehird> $ = result of last line, $$ = result of previous line
20:59:11 <uorygl> Imagine if all traffic lights were white for the sake of elegance.
20:59:13 <ehird> i'll probably have up to $$$$
20:59:24 <ehird> then maybe a function for everything prior
20:59:52 <ehird> I wonder how draw() will do for more complex expressions.
21:00:02 <ehird> Certainly the code for that will be a bitch.
21:00:10 <uorygl> It would be kind of nice if your syntax allowed $ to be a function operating on itself when concatenated directly like that.
21:00:13 <ehird> I'll need a whole layout system.
21:00:19 <ehird> uorygl: like $($)?
21:00:28 <ehird> well, $ is just a regular identifier character
21:00:34 <uorygl> Semantically $($), syntactically just $.
21:00:41 <uorygl> But it would probably be too complicated.
21:00:44 <ehird> Syntactically just $$ you mean.
21:00:45 <ehird> I could have function multiplication = application.
21:00:48 <uorygl> I do mean.
21:00:52 <ehird> f x → f(x)
21:01:00 <ehird> $ $ → $($)
21:01:22 <ehird> Maybe even x f → a function taking y and returning f(x,y).
21:01:32 <ehird> So you could do $ $ $ and have it... be ambiguous.
21:01:35 -!- lifthrasiir has joined.
21:01:36 <uorygl> Traditionally, function multiplication is composition, since composition is actually associative. Then again, Haskell points out that f x meaning f(x) is really elegant.
21:01:36 <ehird> I think I'll scrap that idea.
21:01:59 <ehird> Yeah, I think having f g work as composition would be cool.
21:02:00 <uorygl> Remind me why putting things next to each other means multiplication rather than addition or something.
21:02:11 <ehird> uorygl: For convenience in algebra when doing 2a and the like.
21:02:24 <ehird> I guess.
21:02:28 * uorygl shrugs.
21:02:30 <ehird> Anyway, it does, so that's how I'm doin' it.
21:02:39 <uorygl> Math notation seems really arbitrary.
21:02:44 <ehird> It is.
21:02:49 <ehird> It's also quite pretty and convenient.
21:03:08 <ehird> uorygl: I'm considering letting $ be both a value and a function somehow.
21:03:10 <pikhq> uorygl: Well, f (x) == f x in Haskell.
21:03:16 <ehird> So $ = $(1), $$ = $(2), etc.
21:03:20 <ehird> Well.
21:03:25 <pikhq> f (x,y), of course, is quite different from f x y.
21:03:25 <ehird> That'd be $$ is a separate variable.
21:03:39 <ehird> But $(x) is the xth last line of history, and $ by itself is $(0).
21:03:48 <ehird> The issue with that idea is that you can't pass around $ the function.
21:03:59 <uorygl> This operation's going to have a symbol. This one's going to have a symbol, but it's going to be optional. This one's going to have a symbol that the operands go above and below instead of beside. This one's going to have a symbol that extends above the top of its operand. This one's not going to have a symbol at all.
21:04:31 <uorygl> I wonder if there's any point in trying to reinvent math notation. I suppose it is what computer systems do all the time.
21:04:37 <ehird> I think division as two rows separated by a line was created to break up the unending linear monotony. :P
21:05:04 <bsmntbombdood> i think your FACE breaks up the linear monotony
21:05:25 <ehird> I wonder if the word "division" to mean separation predated or postdated the use of a line separating two rows to represent division.
21:07:19 <ehird> In[35]:= FullSimplify[
21:07:19 <ehird> a^n + b^n == c^n, {Element[a, Integers], Element[b, Integers],
21:07:20 <ehird> Element[c, Integers], Element[n, Integers], a > 0, b > 0, c > 0,
21:07:20 <ehird> n > 2}]
21:07:20 <ehird> Out[35]= False
21:07:21 <uorygl> "Hi, seawolf.cis.orsum.edu." "Hey, munroe.nasa.gov. I've been having some ideas about math notation." "Great, can you send them to me raw on TCP port 12020?" "Well, they total 3.6 gigabytes. I think you'll want me to just explain them to you."
21:07:28 <ehird> "Mathematica: Yep, we know Fermat's Last Theorem."
21:07:34 <ehird> "Can calculate that in less than a second, us."
21:07:51 <ehird> uorygl: xD
21:08:17 <uorygl> The thing about theorems is that in general, they're easier to verify than to find in the first place.
21:08:27 <ehird> uorygl: You should click http://pastie.org/729983.txt?key=rl9toh4jbce5llyo0eguba because you are a bad person if you haven't.
21:08:37 * ehird ponders draw()ing something more complex
21:09:18 <uorygl> How semblant of Mathematica.
21:09:41 <uorygl> (I wonder why we're allowed to say "semblant" instead of "resemblant" but not "semble" instead of "resemble".)
21:10:16 <uorygl> (Why is it pronounced "rezemble"? "Semblant" isn't pronounced that way, is it?)
21:12:30 <ehird> uorygl: How does it resemble Mathematica, other than being a symbolic mathematical computerthingy?
21:12:37 <ehird> And, okay, D and N as function names.
21:12:57 <ehird> http://pastie.org/729994.txt?key=f2ktaru6ipl0umkusliusw
21:12:58 <ehird> How should derivatives be drawn by default? YOUR OPINION IS MORE VALUABLE THAN SALT
21:13:15 <ehird> Hmm, I guess one alternative I didn't list there is f'(x).
21:13:49 <uorygl> D \x (x^2) = 2 x
21:13:51 <uorygl> Except probably not.
21:14:08 <ehird> The whole point of draw is that it uses ASCII smarts to draw the mathematical notation :P
21:14:34 <ehird> Implementing it will be "fun"... I think it'll require an entire layout engine to handle nested expressions.
21:14:34 <uorygl> Anyway, the only notations that look like the inputs are the second and the fifth.
21:14:47 <uorygl> And I'm pretty sure the second is more common.
21:15:20 <uorygl> What would something like (1/2)^3 draw as?
21:15:36 <ehird> Sec.
21:15:41 <ehird> I'll draw it.
21:16:05 <ehird> Also, looking like the input isn't a huge deal.
21:16:14 <ehird> The whole point is so that you can examine an expression... mathematically.
21:16:46 <uorygl> How would the other notations handle D(x^2, x)?
21:17:06 <ehird> Sec, lemme handle the (1/2)^3 first.
21:17:35 <ehird> http://pastie.org/729997.txt?key=0lv8wukto6chcghrhldzw
21:17:38 <uorygl> Here's Epigram's strange way of doing (1/2)^3, by the way: http://pastebin.ca/1703894
21:17:44 <ehird> It would look like one of these, none of which are particularly satisfying.
21:18:14 <ehird> Now for your D(x^2, x) query.
21:18:21 <Asztal> That's reminiscent of the C++ library for representing numbers by box-drawing.
21:18:23 <uorygl> Use Unicode. :-P
21:18:29 <ehird> Asztal: What does it do?
21:18:37 <ehird> uorygl: I don't think there's a Unicode character that would help.
21:19:00 <uorygl> Box drawing characters!
21:19:15 <uorygl> Bezier curves! Wait, no.
21:19:40 <uorygl> I guess my favorite one there is the parentheses-only one, because it uses only parentheses.
21:20:08 <ehird> uorygl: Incidentally, Mathematica's TraditionalForm does it as (rendering to ASCII here):
21:20:18 <ehird> 2
21:20:19 <ehird> dx
21:20:19 <ehird> ---
21:20:19 <ehird> dx
21:20:25 <ehird> With the d being the actual funny curly d.
21:20:42 <ehird> It handles the f(x) case with s/x^2/f(x)/.
21:20:52 <ehird> I think that's the most common representation, actually.
21:21:09 <uorygl> What a funny, curly way of drawing that.
21:21:26 <Asztal> ehird: I can't find it, but it looks something like this: http://pastie.org/730002
21:21:26 <uorygl> I'm pretty sure the most common representation is d/dx with the thingy after it.
21:21:38 <Asztal> There's a 3D one too.
21:22:00 <Asztal> oh, wait, found it. http://www.xs4all.nl/~weegen/eelis/analogliterals.xhtml
21:22:16 <ehird> http://pastie.org/730003.txt?key=z1fpulfpftxpnwckw4r9ma
21:22:21 <ehird> Out of curiosity, how does Epigram handle it?
21:22:35 <uorygl> Asztal: that's mighty strange.
21:22:40 <uorygl> ehird: how does Epigram handle what?
21:22:48 <ehird> The derivative.
21:23:15 <uorygl> It's not for math, so it doesn't have any syntax for that.
21:24:23 <ehird> Oh, that Epigram.
21:24:36 <ehird> http://pastie.org/730005.txt?key=vzaayu7at3t3lfvthl8q
21:24:42 <ehird> Final contendors for derivative drawing.
21:25:18 <ehird> I like them all equally, I think. I think I very marginally prefer dx to d x, but the skewed alignment caused by using dx almost cancels that out.
21:25:40 <ehird> Btw, there probably won't be any way of actually parsing draw()s output. I'm not *that* crazy.
21:27:28 <ehird> uorygl: Any vote?
21:27:33 <ehird> #1 is probably the leasst conventional notation.
21:27:36 <ehird> *least
21:27:41 <ehird> That biases me against it, but it is rather clean.
21:27:56 <ehird> However, imagine if the derivatived expression contains a division.
21:28:03 <ehird> #1 would look really weird, but the others wouldn't.
21:28:06 <ehird> Well, #2 might.
21:28:37 <uorygl> My instant runoff vote: 3, 1, 2.
21:29:34 <ehird> Instant runoff voting is amusingly useless when you're the only voter.
21:30:06 <ehird> Any reason you prefer #3 to #2? It's more conventional to have no space, but it's also conventional to, you know, not actually use the Latin letter "d"; and the space helps align the top line.
21:30:11 <ehird> It is weirder-looking, though, I admit.
21:30:26 <ehird> No fan of 4 and 5 I see.
21:30:52 <uorygl> #2 looks kind of like a guy standing in a really awkward pose.
21:31:03 <ehird> You are strange.
21:31:09 <uorygl> Somewhat, yes.
21:31:25 * ehird puts in a fun division into the equation to test each one.
21:31:41 <uorygl> It's conventional to not actually use the Latin letter "d"?
21:31:44 <ehird> Ooh, and a power.
21:31:47 <ehird> uorygl: You use the weird curly d.
21:31:59 <uorygl> Only sometimes.
21:32:19 <uorygl> An actual, ordinary d is more common.
21:32:40 <uorygl> Specifically, ordinary d is the total derivative (a.k.a. "the derivative"), and curly d is the partial derivative.
21:33:01 <ehird> Okay, #1 fails horribly trying to do D(f(x)/g(2^x), x).
21:33:10 <ehird> uorygl: Hmm, right, that's just Mathematica fucking with me.
21:33:22 <ehird> I wonder how I'll represent le partiality in ASCII.
21:34:11 <uorygl> ?d, because ? vaguely resembles a curling iron.
21:34:22 <ehird> uorygl: Another poll (I hope your IRC is monospaced for this):
21:34:29 <ehird> ( x)
21:34:29 <ehird> f(2 )
21:34:30 <ehird> or
21:34:34 <ehird> x
21:34:35 <ehird> f(2 )
21:34:45 <ehird> The first looks weird to me, the second very slightly confusing.
21:35:28 <uorygl> The second definitely has confusion potential.
21:35:34 <uorygl> Wait, maybe not.
21:35:43 <uorygl> The first one is bigger, so it's better.
21:36:02 <ehird> Nah, the first one is really hard to read IMO.
21:36:19 <uorygl> Really?
21:37:14 <ehird> Yeah.
21:37:16 <ehird> http://pastie.org/730013.txt?key=r1dtedsmra4rfjswrynhq
21:37:25 <ehird> In which all of them fail horribly.
21:37:30 <ehird> Uh, the first line has a repetition there.
21:37:31 <ehird> Ignore it.
21:37:56 <ehird> I'd say 2 and 3 fared the best there; 1 the worst.
21:38:20 <uorygl> 1 could definitely fare better.
21:38:33 <uorygl> It's a subscript following the D, not preceding the expression.
21:39:00 <ehird> So it is.
21:39:02 <ehird> Let me fix that.
21:39:23 <ehird> You'll notice I added more spacing to all of them but one.
21:39:40 <ehird> I think the layout engine will, when confronted with putting a division or other block next to another thing, add another space.
21:40:05 <ehird> http://pastie.org/730017.txt?key=vxyaitcstugqz67yca1bw
21:40:07 <ehird> Fixed version.
21:40:15 <ehird> 1 does quite well now; about as well as 2 and 3.
21:40:25 <ehird> 2 and 3 are still more common notations, I believe.
21:41:01 <uorygl> I like the first three better than the last two, because they go before the expression rather than around it.
21:41:14 <uorygl> Thereby taking up less room and staying out of the way.
21:41:27 <ehird> I agree; the last two suck gigantic donkey balls. To use a metaphor.
21:41:40 <ehird> Care to rank 1-3?
21:42:03 <uorygl> Same as before, I think. 3, 1, 2.
21:42:08 <ehird> "Concur is like conquer without a q, and it has a c, and doesn't have that e between those two letters at the end."
21:42:13 <uorygl> Since, you know, they're not really different.
21:42:22 <ehird> Yeah, they're exactly the same layout-wise.
21:42:24 <ehird> Just a different prefix.
21:42:41 <uorygl> Different from how they were before you made it fractiony, I mean.
21:42:51 <uorygl> Also, the words are pronounced differently and mean different things.
21:43:04 <ehird> And are different.
21:44:17 <ehird> uorygl: Do you think I should make the layout engine able to output to multiple different formats? It seems like at the end of it, the conversion to ASCII would be a relatively small part.
21:44:25 <ehird> This is all hypothetical right now, of course.
21:44:37 <uorygl> Wait, really? You're telling me that these differently-spelled, differently-pronounced words that mean different things are *different*?
21:45:06 <uorygl> It probably would be a good idea to make the layout engine able to output to multiple different formats, in the end.
21:45:17 <uorygl> But I would think you should do more necessary things first.
21:45:22 <ehird> draw() will probably be like half the code :-P
21:45:37 -!- lifthrasiir has quit (Read error: 110 (Connection timed out)).
21:45:41 * ehird wonders how to do conditionals
21:45:50 <ehird> Mathematica-style if(a,b,c) seems so ugly, but it is rather orthogonaly.
21:47:27 <uorygl> What's wrong with "if x then y else c"?
21:47:36 <uorygl> (Notice my clever choice of letters.)
21:48:55 * ehird spends a few minutes trying to find a relevant quote
21:50:50 <ehird> I give up.
21:52:25 * ehird ponders product().
21:53:38 <ehird> And sum(), by extension.
21:53:40 <ehird> fact(n) := product(k, 1, n, k) Not enough definition.
21:53:40 <ehird> fact(n) := product(k := 1, n, k) Weird use of assignment syntax.
21:53:40 <ehird> fact(n) := product(k := {1, n}, k) That's not actually what it's assigning k to.
21:53:40 <ehird> fact(n) := product(k, {1, n}, k) I can wrap arguments in braces, too.
21:55:49 <ehird> uorygl: I think I will adopt if x then y else c as the if syntax.
21:55:58 <ehird> It'll just be sugar for if(x,y,c). I think.
21:59:19 <ehird> My function argument syntax doesn't allow for pattern matching on symbolic arguments. Mathematica solves this by making you mark every variable argument by suffixing it with _, but I don't like that
21:59:25 <ehird> Maybe {} means match.
21:59:27 <ehird> So:
21:59:35 -!- jpc has joined.
21:59:39 <ehird> foo({bar}) := quux
21:59:39 <ehird> foo(bar) := bar
21:59:48 <ehird> foo(bar) → quux
21:59:49 <ehird> foo(xyzzy) → xyzzy
22:00:26 <ehird> A bunch of identical factorials: http://pastie.org/730035.txt?key=cjgts9swnsynq9tyfmociq
22:00:38 <ehird> The last one is amusing.
22:04:25 <uorygl> productAs \k goesFrom 1 to n of k
22:04:28 <uorygl> I'll stop bothering you now.
22:04:40 <ehird> uorygl: I don't consider that bothering.
22:04:49 <ehird> The reason I used that definition is because I was mumbling on how to do product(). :P
22:05:12 <ehird> Oh, an issue with your if syntax, or perhaps with my lack of semicolons: if you have
22:05:18 <ehird> fact(n) := if n = 1 then 1
22:05:23 <ehird> you don't know if the statement's over
22:05:30 <ehird> there could be an else on the next line
22:05:46 <uorygl> What Would Haskell Do?
22:06:05 <ehird> Have a very complex, hard-to-code-without-an-editor layout system.
22:06:45 * uorygl ponders what Agda would do.
22:06:58 <lament> more languages should have "easy to code without an editor" as a design goal
22:07:08 <uorygl> Maybe just having semicolons is what you should do.
22:07:29 <ehird> uorygl: But that bothers you when you just want to calculate 2+2 and the like.
22:07:36 <ehird> And it gives an impression of statement-ness to expressions.
22:08:02 <ehird> lament: I'm not sure that's true. It is a goal for mine, though, because the primary use is via the command-line tool.
22:08:04 <uorygl> Well, it doesn't have to be an actual semicolon; it could be the word "please". :-P
22:08:54 <uorygl> Have no such thing as statements, and make every program be one huge expression!
22:08:55 <ehird> Say, it would be interesting to have an implementation that used an HTTP server to serve a little HTML+CSS+JS page with a prompt ajaxin' to /evaluate (or whatever), so that all the draw()-style output becomes HTML tables and the like.
22:09:07 <ehird> I need to sleep soon.
22:09:14 <ehird> uorygl: There are no such things as statement.
22:09:22 <ehird> *statements
22:09:36 <ehird> a;b is just an expression that evaluates a, disregards the result, and evaluates b.
22:09:46 <ehird> And expressions can be empty, so you can do {a;b;c;}.
22:10:44 <uorygl> So you've already implemented my suggestion! Scary1
22:10:52 <uorygl> s/1/!/
22:11:03 <ehird> It's the obvious thing to do. Even Ruby does it.
22:11:46 <uorygl> Say, I just got a rather silly idea: plaintext markup syntax stuff.
22:11:56 <ehird> You mean... HTML?
22:12:11 <uorygl> It would render to ASCII art.
22:12:23 <ehird> Heh.
22:12:27 <ehird> w3m -dump
22:13:32 <uorygl> <rows><r>x<sup>n</sup></r><r><fill>-</fill></r><r>n!</r></rows>
22:14:12 <ehird> That'll be basically what the internal data structures of my layout engine will have.
22:15:59 <uorygl> Will the sizes of rectangles be determined entirely bottom-up-ly, or will there be some top-down-ness as well?
22:16:56 <ehird> Erm, verbosify.
22:17:29 <uorygl> Do you share my idea of what a "rectangle" is?
22:18:04 <uorygl> Probably a lot like HTML's blocks. Rectangular shapes that the stuff is made of.
22:18:26 <ehird> Expand bottom-up-ly, top-down-ness, determining of sizes of rectangles.
22:18:49 * uorygl nods.
22:19:26 <uorygl> Suppose I have some subexpression. Will the dimensions of its bounding rectangle be determined entirely by the subexpression itself or also its surroundings?
22:20:26 <ehird> Entirely by the subexpression itself. However, the dimensions of the parent, and spacing of the surroundings, will change.
22:20:54 * uorygl nods.
22:23:18 <ehird> In that hypothetical HTTP/HTML/CSS/JS interface I mentioned, it should have an interface to the documentation so that you can click on an example and it switches to the prompt, with the example filled in.
22:30:07 <ehird> It bothers me that the simple stuff is so subtle.
22:30:16 <uorygl> This makes me want to work on my project thing. And when I think "work on my project", I think "figure out how to formalize functions".
22:30:22 <ehird> Because that means the complex stuff won't just be complex, it'll be incredibly subtle.
22:30:30 <ehird> uorygl: Symbolically!
22:30:41 <ehird> Manipulating symbolic expressions is both slow and elegant and useful
22:30:45 <ehird> s/$/./
22:30:58 <uorygl> Yes, symbolically.
22:31:37 <ehird> Then a function is just an expression with a free variable.
22:32:09 <ehird> Well, free expression; f(x) could be a free expression if x is defined but f(x) isn'tt.
22:32:14 <ehird> Calling a function is just applying a table of expression→expression.
22:32:22 <ehird> e.g. f(x)=x^2.
22:32:48 <ehird> A more traditional function = parameter list + expression; parameter list is turned into a table in the obvious way and applied to the expression.
22:32:50 <ehird> Done.
22:32:59 <uorygl> I want to be theoretically sound, since my project is centered on a theorem prover.
22:33:12 <ehird> Yes, well, just theoreticise my statements.
22:33:14 <uorygl> If a function were just an expression with a free variable, there wouldn't even be uncountably many functions.
22:33:30 <ehird> Uh, why not?
22:33:39 <ehird> One or more free expressions.
22:33:47 <ehird> Well, in fact, a function is an expression.
22:33:58 <ehird> It's just that you can't really do a meaningful replacement without a free expression.
22:34:06 <uorygl> Well, I could say that a function is an expression with two free variables combined with a set that fills one of them in.
22:34:12 <uorygl> Maybe.
22:34:21 <ehird> Why two? Why free variable (that's not symbolic)?
22:34:27 <ehird> You need free expression for f(x).
22:34:54 <ehird> e.g. in f(2), we can fill in f(2) -> 4 or f({placeholder x}) -> x*2 and get 4 back.
22:35:09 <ehird> That's how symbolic computation works: everything is a rewrite rule.
22:35:16 -!- jpc has quit ("Leaving.").
22:35:26 <uorygl> I have a pet function named Bob. For every real number x, Bob(x) is a real number taken randomly from the standard normal distribution.
22:35:34 <ehird> There's no "functions" as separate objects per se, although of course you can pass f and then the function does f(x) and since f rewrites to SomeFunction it becomes SomeFunction(x).
22:35:54 <uorygl> I *definitely* want functions to be values here.
22:35:55 <ehird> If functions are a thing in themselves, e.g. in the lambda calculus, it's not symbolic.
22:36:04 <ehird> uorygl: Boo hiss.
22:36:16 <ehird> Well, symbolic languages can have lambdas too, they're just done as a rewriting rule. :P
22:36:30 <uorygl> Because I want S -> T to actually be a type, because it means something as a mathematical sentence.
22:36:38 <uorygl> (Namely, "S implies T".)
22:36:45 <ehird> I think it's done as a rewrite rule of lambda(x,y)(z) to replace(x,z,y)
22:36:54 <ehird> which does the replacement thingy from lambda-calculus
22:37:05 <ehird> but yeah, this isn't suitable for a theorem prover
22:38:11 -!- jpc has joined.
22:38:48 -!- jpc has quit (Client Quit).
22:40:57 -!- jpc has joined.
22:41:05 <ehird> Well, musing about this sure is fun. I guess if I get off my ass and spend peopleyears (Post-feminist adaptation of manyears, dude. I mean, uh, ... associate.) of work on it, it might be a viable alternative to... an old version of Mathematica.
22:41:20 <ehird> Oh well, all I want is a fun symbolic computation environment that isn't really weird like Mathematica and isn't really archaic like Axiom and the like.
22:41:23 <ehird> And Maxima.
22:41:25 <ehird> See you for today.
22:42:08 -!- ehird has quit.
22:56:06 -!- iamcal has quit.
23:53:33 -!- augur has joined.
←2009-12-04 2009-12-05 2009-12-06→ ↑2009 ↑all