00:02:32 <ehird> AnMaster: btw, re LFS: I might, but I imagine that most of what I pick up will be stuff that doesn't matter due to my design choices (e.g. dynamic linking issues)
00:12:28 <ehird> 11:21:44 <AnMaster> why is there a status setting thingy at the top of it
00:12:28 <ehird> 11:21:48 <ais523> for IM clients
00:12:39 <ais523> email has online/offline?
00:12:50 <ehird> (i thought he meant the messaging menu)
00:12:56 <ehird> which is linked to it
00:13:12 <ehird> 11:24:20 <AnMaster> ais523, argh: https://bugs.launchpad.net/ubuntu/+source/indicator-applet/+bug/447964
00:13:12 <ehird> 11:24:34 <AnMaster> ais523, it seems linked to evolution, But it is in the indicator applet thingy
00:13:13 <ehird> 11:24:42 <AnMaster> which iirc is used for other (useful) stuff
00:13:13 <ehird> The messaging menu IS useful.
00:13:21 <ehird> 11:25:24 <ais523> it's empathy it's linked to, not evolution
00:13:21 <ehird> 11:25:29 <ais523> oh, the letter icon
00:13:22 <ehird> 11:25:36 <ais523> that means new mail arrived, I think
00:13:27 <ehird> or someone signed in recently
00:13:55 -!- oerjan has joined.
00:14:00 <AnMaster> ehird, it isn't like that VM has evolution set up or anything
00:14:08 <ehird> Just remove it from the panel.
00:14:15 <ehird> No need to uninstall anything.
00:14:17 <AnMaster> ehird, isn't it used for other stuff?
00:14:30 <ehird> The indicator applet is the meessaging menu.
00:14:57 <ehird> "A small applet to display information from various applications consistently in the panel.
00:14:58 <ehird> The first revision is focusing on messaging applications. The design specification for the messaging component is available at: https://wiki.ubuntu.com/MessagingMenu/"
00:15:05 <ehird> So currently it's just for email and IM, but it won't be later.
00:19:15 <zzo38> Is the uber-jackal effect in ADOM too weak?
00:21:31 <zzo38> I don't know, if ever, if they will ever release the source-codes for ADOM or not.
00:23:20 <ehird> AnMaster: Can KDE3 desktops view a special desktop with all desktops combined?
00:24:02 <zzo38> O, now I found it. But at first I didn't have the browser open
00:24:02 <AnMaster> ehird, no. Where would one have place for it?
00:24:18 <ehird> AnMaster: What does that mean?
00:24:24 <ehird> Where would one have place?
00:24:35 <AnMaster> ehird, view all? at the same time? on the same monitor
00:24:50 <ehird> It just arranges all the windows together in dwm.
00:24:52 <zzo38> I look it seems is not too bad
00:24:59 <ehird> In dwm, tags are as much an organisational tool as a screen extender.
00:25:20 <zzo38> However, still if I write, I would write my own, however. (But I might based on others window managers)
00:25:36 <ehird> (you can name the tags too)
00:25:47 <AnMaster> ehird, it would be hard to see them all?
00:25:56 <ehird> Sure, they'd be quite small.
00:25:59 <ehird> But it's a useful overview.
00:26:12 <AnMaster> ehird, so less useful than, say, Exposé?
00:26:20 <ehird> It's not for the same purpose as Exposé.
00:27:40 <ehird> The error is in thinking that a tag is a desktop, instead of a means of organising.
00:27:53 <ehird> Yes, it lets you organise a windowspace bigger than your screen could handle for using an individual window.
00:28:03 <ehird> But it's also about grouping related windows, which is why you can apply multiple tags.
00:28:20 <ehird> So mod+0 is like looking at the "actual workspace" that you're organising: you can see every window you have.
00:28:33 <ehird> Useful if, for instance, you want to make two windows interact briefly.
00:29:06 <ehird> Incidentally, dwm is a perfectly capable floating WM too.
00:29:07 <AnMaster> ehird, you would like gentoo's init system. Quite sane. dependency based. Doesn't use classical run levels much (nothing you think of as an user). Uses instead named ones. "boot" and "default" only normally
00:29:15 <AnMaster> yes still sysvinit but you can replace it
00:29:28 <ehird> (a proper floating WM that is)
00:30:05 <ehird> you have to bring windows to the top with the keyboard, but you can mod+drag to move, and it's sloppy focus (hover to focus)
00:30:44 <ehird> The benefits are obvious — the dwm config lets you set certain programs to appear in a separate workspace and with different layouts.
00:30:52 <ehird> So you could have a workspace for running the GIMP in floating mode.
00:30:54 <ehird> Voila, no problems.
00:31:22 <ehird> (Plus it means ex-evilwm junkies can cope. :-P)
00:31:38 <AnMaster> never used evilwm. tell me about it
00:32:05 <ehird> It's just a very minimalist floating manager with no window decorations apart from a one pixel border.
00:32:11 <ehird> http://www.6809.org.uk/evilwm/images/cap1.jpg may ring a bell.
00:32:35 <ehird> http://www.6809.org.uk/evilwm/
00:32:39 <ehird> fizzie used it I believe.
00:33:01 <AnMaster> that is the official screenshot?
00:37:03 <AnMaster> "The launchd daemon is essentially a replacement for init, rc, the init.d and rc.d scripts, SystemStarter"
00:37:16 <AnMaster> http://en.wikipedia.org/wiki/Unix_security
00:37:31 -!- BeholdMyGlory has joined.
00:39:22 <ehird> Incidentally, I rewrote my silly ii script in rc:
00:39:25 <ehird> for (line in `{ tail -n 0 -f out }) {
00:39:25 <ehird> if (echo $line | cut -f4- -d' ' | grep -i rhee\+t >/dev/null) {
00:39:48 <ehird> for (line in `{ tail -n 0 -f out }) {
00:39:48 <ehird> if (echo $line | cut -f4- -d' ' | grep -i rhee\+t >/dev/null) {
00:40:09 <ehird> More readable, methinks, than the sh version:
00:40:11 <ehird> tail -n 0 -f out |
00:40:11 <ehird> while read line; do
00:40:11 <ehird> if echo $line | cut -f4- -d" " | grep -i 'rhee\+t' >/dev/null; then
00:40:23 <ehird> In fact, I could simplify it further, I think.
00:41:12 <zzo38> Some window managers use alt+drag to move window, but I think only the window manager's key should be used by the window manager. (Which key it is could be configurable in the configuration file)
00:41:25 <ehird> It's set in config.h with dwm.
00:41:28 <ehird> Mod is alt by default.
00:41:53 <zzo38> Like, I think the LOGO key should be used by default, but if you don't have that key you could use PRINTSCREEN instead, for example.
00:42:32 <ehird> Nah, my simplification made it less readable (I changed:
00:42:38 <ehird> if (echo $line | cut -f4- -d' ' | grep -i rhee\+t >/dev/null) {
00:42:48 <ehird> if (`{ cut -f4- -d' ' | grep -i rhee\+t >/dev/null } <<< $line) {
00:43:02 <fizzie> I used evilwm, yes; I'm not sure I used it on the main desktop (might have, though), but definitely on that one low-end laptop.
00:43:10 <fizzie> It does the "configure by twiddling the source" thing too.
00:44:21 -!- ehiird has joined.
00:44:22 <ehird> Well, there's a proper config.h with dwm.
00:44:27 <ehird> So it's not like you're editing hardcoded things.
00:45:03 <ehird> how can you say that without using it?
00:47:29 <zzo38> One pixel border is enough (like evilwm and dwm both has). Resizing can be done with wm's key and left button for floating windows, wm's key with right button for tiled windows, and wm's key with middle button to move. For keyboard operation, you can just use wm's key in combination with some other keys (such as arrow keys)
00:48:17 <ehird> Why have separate buttons for tiling windows only
00:49:00 <zzo38> So that the windows do not have to designated tiled/floating, you can just use them in both ways. So, you can easily switch and stuff however you prefer
00:49:15 <zzo38> Just if you use tiled resize, it will also resize the other windows with adjacent borders too
00:49:23 <zzo38> That's how I would write it, anyways.
00:49:29 <fizzie> There's a sort of a configuration section in evilwm.h too, though it's pretty small and the file contains a lot of other crap, too. Oh, and keyboard bindings are in keymap.h which is pretty editable. (Pretty strangely, though, the combination of modifiers is not configured there, but instead there's a command line flags (-mask1, -mask2, -altmask) to define those.)
00:49:38 <ehird> In dwm, moving or resizing a window makes it floating.
00:49:55 <ehird> The only resizing you can do for tiling windows is to make one of the two columns bigger or smaller.
00:50:11 <ehird> And moving is handled merely by making something either the main window or secondary.
00:50:22 <ehird> I've never felt the need to manually manage any tiling windows.
00:51:32 <ehird> It does do mod+right click to resize a floating window, though; never thought to try that.
00:52:48 <ehird> zzo38: Also, middle button drags are awkward, since it's usually a clickable mouse wheel.
00:53:40 <zzo38> Yes, I know, but I never use the wheel, I only use it to click
00:53:52 <zzo38> I don't like the wheel there
00:53:54 <ehird> The web is unusable without the wheel.
00:53:58 <ehird> Or, really, any long document.
00:54:01 <zzo38> Sometimes it is accidentally pushed in one direction or the other
00:54:07 <ehird> Not if it's a good mouse.
00:54:12 <ehird> They have good resistance.
00:54:19 <zzo38> No, I use the web without the wheel. I use the page-up/page-down keys to navigate through the document
00:54:38 <ehird> That just gives me a headache and pisses me off as I try and find where I left off in the last page.
00:54:46 <ehird> Plus I can't scroll things nicely in my line of sight without a pain.
00:55:35 <zzo38> I could drag the scrollbar or use the up/down arrows too if I need more precise scrolling. Another thing I sometimes do, is click and hold the scroll bar and then use either the mouse or keys to scroll, and then move the mouse away from the scroll-bar to return
00:55:37 <AnMaster> <ehird> if echo $line | cut -f4- -d" " | grep -i 'rhee\+t' >/dev/null; then
00:55:53 <zzo38> At least this works in Windows. Not sure about Linux
00:56:00 <ehird> AnMaster: Um, do feel free to rewrite that with IFS.
00:56:17 <AnMaster> ehird, IFS and read -d of course
00:56:18 <ehird> zzo38: Dragging the scrollbar is the same as flicking the wheel except more of a pain
00:56:38 <ehird> AnMaster: Congratulations, the Unix philosophy weeps at your desire to make everything in one program
00:57:01 <ehird> Is it possible to avoid using PAM with recent kernels?
00:57:04 <AnMaster> ehird, when coding python I tried to make all functions as few lines as possible.
00:57:12 <AnMaster> ehird, PAM is not related to kernel afaik
00:57:13 <ehird> That's nice, AnMaster.
00:57:17 <zzo38> Not to me. I would rather have a mouse without a wheel if I could get one
00:57:34 <ehird> zzo38: I'm just saying that you should consider that most people like their wheel before assigning things to the middle button.
00:57:36 <AnMaster> and night, *tries to sleep again* →
00:57:37 <zzo38> I prefer to use the middle button as a middle button
00:57:58 <zzo38> Otherwise you have only two buttons
00:58:19 <ehird> zzo38: Clicking with the middle wheel is easy.
00:58:23 <AnMaster> I use scrollwheel as scrolling and clicking it for paste
00:58:23 <ehird> zzo38: But clicking and dragging is not.
00:58:40 <lament> clicking and dragging is hot.
00:58:41 <AnMaster> tilting it for scrolling sideways
00:58:42 <ehird> You just have to avoid middle-click-drag motions, not middle-clicks.
00:59:00 <AnMaster> ehird, clicking and dragging isn't *too* hard
00:59:08 <ehird> It's something to consider.
00:59:45 <zzo38> I can certainly consider it. But, if someone doesn't like the way I wrote it, they can change it themself
01:00:06 <AnMaster> oh yeah I bet you will have a config option for it :P
01:00:16 <zzo38> I don't need to avoid middle-click-drag
01:00:23 <ehird> Personally I'm happy that I don't need to rewrite every piece of software before using it because compromises have been made for other people.
01:00:35 <ehird> And thank $DEITY for that.
01:01:17 <pikhq> I use the web without the wheel. Of course, I have mouseless link-following, so it's a bit more usable...
01:02:04 <zzo38> When I write software, it is generally written for groups of people who prefer it this way, including (but not necessarily limited to) myself. And, it can be Free Software/Open Source so that other people can even modify it, too.
01:02:32 <ehird> The hardest part with a distro is that compiling the kernel is a must to get it going, but you'll need to do it over and over and over and over and over and over again.
01:02:32 <zzo38> There is a large number of various different software
01:02:38 <zzo38> You can find a different software, too.
01:08:32 -!- madbrain has joined.
01:09:00 -!- sierinjs has quit (Read error: 110 (Connection timed out)).
01:10:52 <ehird> i wish dwm let you name tags at runtime, although it'd probably be a pain to manage
01:19:21 <ehird> Woot, at works perfectly
01:22:14 <ehird> Pretty sure using at is kinda overkill for a clock, though
01:22:37 <ehird> Could just, you know, have a sleeping process
01:22:41 <ehird> Does anyone actually use at?
01:22:56 <ehird> Still, at least the script is quite nice:
01:23:01 <ehird> now=( $(date +'%H %M') )
01:23:02 <ehird> if [ $m = 59 ]; then
01:23:14 <ehird> at $(printf %02i%02i $h $m) <<EOF
01:23:16 <ehird> xsetroot -display :0 -name $h:$m
01:23:18 <ehird> bash /home/ehird/foo
01:23:44 <ehird> well, actually, the version the VM is running has no space in the h= line's $((...)), but that's... quite minor
01:25:24 <Sgeo> Why do virtual worlds die?
01:25:32 <Sgeo> Cybertown, I blame on IVN
01:25:45 <Sgeo> AW, I can blame on the insane price increase in 2002
01:26:06 -!- zzo38 has quit ("The next-to-last (and only) movement was a one-voice fugue.").
01:26:13 <Sgeo> But why Worlds.com ? They were active in 2001. No price increases, no new limitations on what non-payers can do
01:26:22 <Sgeo> Go there now, and there's no one there
01:26:28 <ehird> because everyone playing them left high school and realised they sucked
01:27:53 <Sgeo> It occurs to me that I can't imagine SL living on with maybe only 113 people online at a time
01:28:15 <Sgeo> (That's how many people are on AW right now)
01:29:04 <Sgeo> SL servers use more computational resources than AW servers (I think). I can't imagine SL staying alive with as few users as AW, or CT, or Worlds.com
01:29:48 <ehird> soon SL will die too.
01:30:16 <Sgeo> ehird, and my fear is that when SL loses members, the servers themselves will shut down.
01:30:23 <Sgeo> Everything will be inaccessible
01:30:36 <Sgeo> AW still has (a few) users, the servers are still running
01:30:40 <Sgeo> Same with CT, same with Worlds
01:30:55 <Sgeo> But I can't see SL surviving in the same way
01:30:55 <ehird> SL, on the other hand, is a business that isn't on crack and is making money.
01:31:03 <ehird> The others are steadily draining cash, yum yum.
01:31:07 <ehird> They'll die soon too.
01:31:37 <Sgeo> I doubt that CT, AW, and Worlds take as much money to run as SL
01:31:50 <Sgeo> I'd imagine that CT particularly is very cheap
01:32:02 <Sgeo> Just a webserver, and an ancient Blaxxun Community Server thingy
01:32:37 <Sgeo> (Didn't stop them from moving to a subscription model, turning CT from a thriving community to a ghost town)
01:34:48 <ehird> Wow, I forgot that xterm had a menu.
01:35:08 * Sgeo has a plan that would allow the AW community to preserve all the buildings for private exploration if AW ever shuts down
01:35:28 <Sgeo> Requires a bit of reverse-engineering though.. although it's reverse-engineering that's been done before
01:44:52 -!- FireFly has quit ("Later").
01:48:52 <ehird> "I've never quite figured out Google's interface. I just wait for the lmgtfy links." —reddit
01:54:05 * oerjan failed to avoid a facepalm there
01:56:23 <Sgeo> ehird, it's a joke... I hope
01:56:36 <ehird> Sgeo: Did I imply it wasn't?
01:56:49 <Sgeo> Why did oerjan facepalm?
01:58:16 <oerjan> a learned reflex, it would seem, since i never did it before getting here...
02:15:49 <oklopol> wait you physically facepalm?
02:16:11 <oklopol> i didn't know that's also a real life thing, thought it was just a word
02:16:24 <ehird> http://cdn0.knowyourmeme.com/i/1582/original/picard-facepalm.jpg
02:16:45 <oklopol> umm star trek isn't real life
02:17:05 <ehird> i was giving an example, mr whiney bitch mcbitcherson
02:19:02 <oklopol> WELL EXCUSE ME FOR BEING A FUCKING RETARDED BITCH
02:19:24 <ehird> I WILL GENOCIDE YOU
02:19:36 <oklopol> so i have this binary linear code
02:20:05 <oklopol> and there are exactly 7 words of weight 3
02:20:21 <oklopol> need to prove 1111111 belongs to the code
02:20:51 <oklopol> i would ask #math but nobody knows anything there
02:21:02 <oerjan> you'll have to define some terms...
02:21:23 <oklopol> the code forms a vector space over the field {0, 1}
02:21:47 <oklopol> sum of 1-bits for binary codes
02:22:17 <oklopol> this is pretty much all i know about coding theory atm, first homework set... so, tell me if you have ideas.
02:22:57 <oerjan> i don't know about coding theory but i think i understand the question
02:23:48 <oklopol> yes, but i think it's the solution that's the hard part!
02:24:10 <oklopol> well actually that's not always true
02:24:22 <oerjan> so i don't know if there are relevant theorems in your course beyond the obvious xoring things together
02:25:07 <oklopol> well we've gone over what it means for it to be a vector space
02:25:30 <oklopol> that there's a base... but you probably understand vector spaces, so.
02:25:31 <oerjan> in this case (with {0,1}) it only means you are closed under xor'ing bitstrings
02:26:06 <oerjan> i mean it's not an empty set
02:26:18 <oklopol> i keep thinking you can make errors
02:27:06 <oklopol> anyway the fact we know there's a base isn't really that direct a consequence of that
02:27:47 <oklopol> of course if you put them on a matrix and do some elimination, it's trivial, and also if you know anything about vector spaces... but just knowing closed under xor doesn't obviously say "base exists" to me
02:28:15 <oerjan> well clearly you can assume those words of weight 3 are a base
02:28:22 <ehird> "OpenSSL is written by monkeys"
02:28:48 <oerjan> although you may have to throw away some codes
02:29:24 <oklopol> if there were 7 vectors in the base
02:29:29 <oklopol> it would be the whole space
02:29:59 <oerjan> i was thinking wrong, maybe
02:30:46 <oklopol> there can be ones with smaller weight
02:31:32 <oklopol> although for instance you can't have many ones, for instance five ones gives you 10 vectors of weight 3
02:32:10 <oklopol> i tried to do this sorta elimination to figure out the dimension of the space, but that's pretty much as far as i got :P
02:32:34 <oerjan> what i should have said is you can assume your base is contained in those weight 3 codes
02:33:11 <oerjan> because throwing out anything not generated by them doesn't make the problem easier
02:33:56 <oklopol> contained how? you mean for each b in the base there's a codeword of weight 3 that contains all b's 1-bits
02:34:11 <oerjan> no, that each b in the base has weight 3
02:36:40 <oerjan> anyway. for a start, xoring two weight 3 codes gives something with weight 2, 4 or 6
02:37:57 <ehird> "The code is further proof that C is just a step above assembly. If you pretend it's assembly then the mess is justified ;)"
02:37:57 <ehird> i've become a c weenie because i felt a pang reading this :(
02:38:29 -!- Jaykul[AFK] has changed nick to Jaykul.
02:38:34 <ehird> whoa who is Jaykul
02:38:41 <oklopol> ehiird: less panging, more coding theory
02:38:48 <ehird> aaa someone in ##asp.net. run! run!
02:38:51 <HackEgo> * frank: a smooth-textured sausage of minced beef or pork usually smoked; often served on a bread roll \ [23]wordnetweb.princeton.edu/perl/webwn \ * A sausage is a prepared food, usually made from ground meat, animal fat, salt, and spices (sometimes with other ingredients such as herbs), typically packed in a
02:38:52 <ehird> run from the devil!
02:39:03 <ehird> HackEgo: correct and useless!
02:40:32 <oerjan> lessee, i think there must be some weight 3 codes whose xor has weight 2
02:41:04 <oerjan> otherwise there is not enough overlap
02:41:29 <oklopol> by renaming, we can essentially only get 1110000, 0011100, 0000111 otherwise
02:42:35 <oklopol> brain is kinda shutting down, should probably consider sleeping
02:43:01 <oerjan> yeah, this looks like a kind of puzzle, really
02:43:57 <oklopol> god i hate the lecturer... well actually he's pretty awesome, tends to say stuff like "well, we have to check why X has property Y... but this is trivial, because obviously Z", and then laughs out loud at how simple it was
02:44:41 <ehird> so you don't hate him
02:45:23 <oklopol> oerjan: it's possible, yes
02:45:51 <oklopol> the lecturer is known for his puzzles no one manages to solve
02:46:17 <oklopol> or no one but me, occasionally
02:46:58 <oklopol> just haven't really developed much of an intuition for coding theory, and i don't know shit about combinatorics, which is a prerequisite for the course
02:47:13 <ehird> talk about something less interesting
02:47:13 <oklopol> (supposed to be a fifth year course)
02:47:51 <ehird> oklopol: you do realise that your life will feel worthless as soon as you get your phd (in a few months) and you can't do any university work any more :D
02:47:56 <oklopol> err yes, i take all courses i see, no matter what the prerequisites are
02:48:07 <ehird> "Noooo! I've wasted my life being productive!"
02:49:04 <ehird> and then you die, and then WHAT WILL YOU DO THEN
02:49:12 <ehird> can't do university work if you're DEAD
02:50:32 * oklopol considers reading the whole material of the combinatorics course in case that'd help solve the exercise
02:52:32 <oerjan> ehird: he'll go to a haitian zombie university, duh
02:53:05 <oerjan> lots of brainwork there
02:53:33 <ehird> oklopol: are you doing the maximum number of simultaneous courses?
02:53:34 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
02:54:04 <oklopol> i'm doing every course i considered even remotely interesting though
02:54:06 <ehird> oklopol: do a topological sort on the courses so that the prerequisites come first, and sign up for as many courses as you can, then delete them from the list
02:54:13 <oklopol> and twice as many courses as most people do
02:54:14 -!- puzzlet has joined.
02:54:26 <ehird> you will complete every course in just a few years
02:54:31 <ehird> as long as you like hard work
02:54:35 <ehird> now go and get some fucking 5s
02:55:05 <oklopol> ehiird: except no need to do a topological sort when i can just take courses without taking the prerequisites.
02:55:27 <ehird> if you know the prerequisites there's a good chance you'll finish a course faster
02:55:32 <ehird> thus allowing you to do, guess what
02:55:47 <ehird> so nearing the end you'll be going through courses insanely fast
02:56:07 <ehird> you know what you have to do?
02:56:11 <ehird> go to the nearest university
02:56:14 <ehird> and do it all over again
02:56:24 <ehird> once you've done all the universities in finland
02:56:29 <ehird> go to the nearest universe in another country
02:56:33 <ehird> and eventually, oklopol
02:56:36 <ehird> you will know EVERYTHING
02:56:46 <ehird> and will therefore
02:56:57 <oklopol> oh well that's a fair point
02:57:01 <ehird> oklopol: then you can start research.
02:57:26 <ehird> since you know everything you'll have to rig the setups so that they actually create new truths
02:57:30 <ehird> which you will then discover
02:58:24 <oklopol> anyway i couldn't be *that* much faster, there are only a few courses i'm not taking, and those mostly are about stuff i already know, plus the master's degree related seminar
02:58:45 <ehird> the point is that you have to do that to optimise better for the later courses
02:58:46 <oklopol> (not doing my master's this year, unfortunately)
02:58:56 <ehird> so it's little benefit now, but it actually speeds up in the future!
03:01:01 <ehird> "The main question regarding the Das Keyboard Professional Model “S” should not be whether it’s a very nice keyboard: it is."
03:01:01 <ehird> oh shut up it fails at key rollover
03:02:23 <ehird> "The Original Das Keyboard Professional lacks media function keys, has only a single USB connector, isn’t compatible with KVM switches, and doesn’t have “Full n-key rollover,” which means that if you mash, say, six keys at once, the keyboard might not register all of them."
03:02:24 <ehird> yeah and neither does the S
03:03:48 <ehird> anyway who wants to help me make this distro, you can do all the boring parts
03:03:50 <ehird> yeah didn't think so
03:04:06 <ehird> i will let you sleep IF
03:04:09 <ehird> you help me with this
03:04:37 <oklopol> anyone here an expert on beta distribution?
03:08:55 * oerjan vaguely recalls the name from statistics. that means no, btw
03:17:35 -!- Asztal has quit (Read error: 110 (Connection timed out)).
03:46:09 -!- BeholdMyGlory has quit (Remote closed the connection).
03:50:07 <Warrigal> oklopol: I'm an expert on the beta distribution the same way that I'm an expert on the derivative of x^2.
03:50:54 <madbrain> yeah the original das keyboard has a too slow scan I think yeah
03:51:44 <Gregor> The Das Keyboard: TOO F***ING LOUD.
03:54:11 <Warrigal> oklopol: so, uh, I guess I would like it if you would ask a question.
03:55:00 <Warrigal> Wow, everyone but oklopol is speaking now.
03:55:16 <oerjan> he probably fell asleep
03:56:04 <oklopol> technically i'm still awake, and the beta one is probably not very interesting
03:56:34 <oklopol> would probably suffice for read its characteristics from wp.
03:56:44 <oklopol> but i'm not going to do anything anymore
03:56:45 <Warrigal> oklopol: saying that you have a question automatically makes the question interesting.
03:57:27 <ehird> Gregor: Model Ms are louder. And Model Fs are even moreso.
03:57:33 <oklopol> dunno, dunno, in any case i'm not going to get the paper, since i'm too tired
03:58:00 <ehird> Gregor: You can get clicky keyboards without the click, though; the Cherry Browns are slightly lighter and with less of a tactile push, but they don't click and are pretty similar to the Blues used in the Das.
03:58:16 <ehird> Gregor: Of course if you're paying hundreds for a keyboard anyway might as well get a ~$250 Topre >:D
04:01:25 -!- coppro has quit (Remote closed the connection).
04:02:04 -!- coppro has joined.
04:03:34 <ehird> I wish there was a way to detect vt100 apps so I could write a terminal that lets you do actually useful shit and changes mode for them.
04:03:58 -!- coppro has quit (Remote closed the connection).
04:05:04 <ehird> apps that reposition cursor, for instance every curses-using app
04:05:09 <ehird> and other vt100 stuff
04:05:11 <ehird> colour is okay though
04:05:17 <ehird> don't need to detect colour usage
04:05:29 <ehird> apps that make the input raw
04:05:32 <ehird> so that they get every character
04:06:13 <madbrain> why not just output straight VGA text mode
04:06:31 <ehird> what has that got to do with anything
04:07:09 <madbrain> hmm, I'm thinking in terms of dos apps, sorry
04:07:18 <ehird> I don't write vt100 apps
04:07:27 <ehird> I just wish they identified themselves as "hello we are going to fuck with the terminal"
04:07:32 <ehird> because I want to have a terminal that can copy and paste across lines without copying an actual linebreaks, that can support keyboard shortcuts without mangling them horribly due to applications inside the terminal, that can delete selected text after highlighting it like everything else
04:07:56 <ehird> and stupid applications like vi and everything that want to shoehorn a complex UI onto a command-line system stop me doing this
04:08:07 <ehird> so if i could detect them, i could emulate a vt100 like every other terminal and let them take over
04:08:15 <ehird> and when we drop back to a shell, it could become rich again
04:08:27 <ehird> but they don't identify themselves, they just go ahead and control it
04:09:23 <madbrain> what about detecting vt100 escape sequences?
04:09:31 <ehird> that's one possibility, for sure
04:09:45 <ehird> but if a program doesn't use one at startup that'd be weird
04:09:50 <ehird> because it'd come into the normal text view then bam
04:09:55 <ehird> all the other stuff is gone as it takes over the terminal
04:10:27 <oklopol> Warrigal: you could try to solve the problem i did tell about
04:10:38 <ehird> madbrain: vt100 apps are pretty common you know
04:10:44 <ehird> and it'd be a huge pain to have to do that
04:11:03 <ehird> + perhaps so annoying to outweigh the benefits of being able to assume text
04:11:15 <madbrain> ah, dunno, I'm comming from a world of DOS and windows so that stuff is different for me
04:11:20 <ehird> otoh, it would let me use the rc shell without bloating it with filename completion and the like nicely, like it is in plan9...
04:11:31 <ehird> madbrain: i'll try and explain
04:11:34 <ehird> madbrain: you know edit.com?
04:11:43 <madbrain> so my reference for that is the VGA text mode
04:11:56 <Warrigal> oklopol: what problem was that?
04:12:12 <ehird> madbrain: and you know, e.g. deltree or whatever? a command that prints its status linearly and the like
04:12:17 <oklopol> Warrigal: read logs, wasn't that long ago
04:12:31 <ehird> madbrain: and command.com itself, which is like deltree or whatever but also has user input
04:12:33 <oklopol> the binary linear code thing
04:12:59 <ehird> madbrain: well, edit.com is like a curses app on linux (which use the vt100 codes to do colours, reposition the caret to output in predefined places instead of linearly, get direct access to the keypresses, yada yada yada)
04:13:00 <Warrigal> oklopol: prove that if you have a binary linear code of word length 7 and there are exactly 7 words of weight 3, then 1111111 belongs to the code?
04:13:08 <ehird> madbrain: and deltree and command.com are like "regular" terminal apps
04:13:15 <ehird> e.g. vim and emacs without the GUI are ncurses apps
04:13:52 <madbrain> but then wouldn't most "rich" apps start filling the screen with colors and stuff like that right off the bat?
04:14:04 <ehird> well, I can handle colours in plain text
04:14:09 <ehird> but yes, most would indeed
04:14:13 <Warrigal> A binary linear code is a code that forms a vector space over {0, 1} where addition is elementwise XOR?
04:14:19 <ehird> I'm definitely considering it nnow
04:14:30 <ehird> perhaps I should make a new window for vt100 stuff, too
04:14:35 <ehird> since it'll act differently
04:14:43 <ehird> and to let you terminate it etc. via the normal terminal
04:15:03 <madbrain> vt100 is, what, similar to VGA text mode, right?
04:15:33 <ehird> I'm not sure what you mean
04:15:38 <Warrigal> And the "weight" of a code is the number of 1s in it?
04:15:41 <ehird> vt100 was just an ancient CRT terminal you plugged into a mainframe
04:15:45 <ehird> you could output text to it like normal
04:15:52 <ehird> but it also has special things to output that do things like:
04:15:55 <ehird> set background/foreground colour
04:15:56 <madbrain> (in terms of functionality, not interface)
04:16:01 <ehird> move cursor (where text is output) up one line
04:16:04 <ehird> left one character
04:16:16 <ehird> stop buffering text at lines before you send it to me, give me every keypress raw
04:16:18 <ehird> so i can handle it how i want
04:16:20 <ehird> that sort of stuff
04:17:06 <ehird> madbrain: thanks for making me rethink that detecting wouldn't work, btw; I'm seriously considering it now
04:17:22 <ehird> madbrain: one issue, though, is: how do I know when it's stopped vt100ing? I guess I'll look at the process tree and mark them as vt100ing
04:17:33 <ehird> so i need to look at processes the shell creates
04:17:36 <Warrigal> Well, if the code contains everything it possibly can, it has 21 words of weight 3. I would bet that if you XOR all 7 words of weight 3, you'll always get 1111111.
04:17:40 <ehird> so this will actually be more involved than your typical terminal
04:18:04 <Warrigal> So then it's a matter of proving that for any possible set of 7, for each position, an odd number of the 7 have a 1 in that position.
04:18:22 <madbrain> you could probably maintain a non vt100 and a vt100 state
04:18:57 <ehird> madbrain: yah, but for most terminals, once the vt100ing program is through, they don't know
04:19:03 <ehird> they don't handle processes, the shell does
04:19:07 <ehird> and the terminal just blithely follows the ouutput
04:19:28 <oklopol> Warrigal: what do you mean by 21?
04:19:41 <ehird> `addquote <oklopol> Warrigal: what do you mean by 21?
04:19:55 <madbrain> well, once it goes out of vt100, the special characters would eventually get flushed out of the screen no?
04:19:56 <HackEgo> 100|<oklopol> Warrigal: what do you mean by 21?
04:20:18 <ehird> what do you mean by 100
04:20:22 <ehird> madbrain: that's true
04:20:39 <ehird> madbrain: but that'd be even weirder to have it go back; I'm thinking of spawning a separate window for vt100 stuff, since it behaves differently
04:20:55 <ehird> madbrain: vt100 apps mess up the scrollback (things scrolled off-screen) anyway
04:21:05 <ehird> since they take over the entire screen, they usually overwrite stuff before themselves
04:21:08 <ehird> not all of it, just some
04:21:14 <ehird> so putting it in another window helps that
04:21:36 <Warrigal> I wish 35/7 were a power of two.
04:22:25 <madbrain> ehird: well, basically they stop doing vertical scrolling and make the screen into a 2 array, no?
04:22:27 <oklopol> well, tell me if you come up with anything interesting, time to sleep
04:22:55 <ehird> madbrain: basically. the problem is that, e.g. if you scroll down in a vt100 app, then scroll up in your terminal, you see the top line of the current scrolling, and then the line before you started it
04:23:10 <ehird> after quitting, they disappear as if they never happened
04:23:17 <ehird> it's all very weird
04:27:04 <madbrain> ehird: so it's basically text prompt up to the vt100 app, then vt100 sorta as if it was a virtual screen, except that screen disappears on quitting?
04:27:20 <ehird> here, let me tell you what i mean by losing backlog
04:27:39 <ehird> first I resize my terminal to 6 lines high to demonstrate
04:27:51 <ehird> i just hit enter until i got a tiny scrollbar
04:27:59 <ehird> I type in "man rc", hit enter
04:28:02 <ehird> and it all turns into
04:28:12 <ehird> although there's a blank line after RC(1)
04:28:29 <ehird> anyway, you can see that it's cut off some backlog; it could have cut off a command's outputt in the middle were it there
04:28:34 <ehird> so I press q to quit, and
04:28:48 <ehird> this is all very weird and awkward
04:28:56 <ehird> curses apps just aren't like the command-line
04:29:01 <ehird> so I want to segregate them to a window
04:29:24 <ehird> and that way i can interpret the rest as regular text
04:29:30 <ehird> thus making using the terminal with other apps not hellish
04:30:11 <madbrain> well, you could detect ncurses apps and give them a virtual 24 line window inside your scrolling window
04:30:40 <ehird> but the thing is, that still leads to an inconsistent experience, because now they are trapping your keystrokes
04:30:44 <ehird> so you lose the keyboard shortcuts
04:30:52 <ehird> and copying and pasting doesn't work the same, etc
04:31:00 <ehird> and you can't highlight some text and delete it, say in vim or emacs
04:31:04 <ehird> because it doesn't work that way
04:31:56 <ehird> plan 9 does this awesomely
04:32:10 <ehird> if you start a "rich" app (there is no gui/cli distinction),
04:32:14 <ehird> it takes over the terminal until you exit
04:32:18 <ehird> the clever thing is
04:32:22 <ehird> every window in plan 9 is the same as a terminal window
04:32:27 <ehird> the same text interface, totally malleable
04:32:39 <ehird> so basically, the text window, you can just print to it
04:32:46 <ehird> or you can replace it with two text windows
04:32:54 <ehird> it's made so that a terminal isn't an oddity
04:33:13 <ehird> unfortunately there's still existing apps in the way in linux. :(
04:35:03 <madbrain> yeah it would take something akin to "video modes"
04:37:33 <madbrain> well, outputting any vt100 character is implicitly "switch to vt100 mode"
04:37:38 <ehird> #plan9's hostility is unparalleled:
04:37:38 <ehird> [03:35] ehird: hmm
04:37:38 <ehird> [03:35] ehird: does $"`{...} work?
04:37:44 <ehird> but just for that process
04:38:00 <ehird> so I have to scoop up the previous output, put it in a new window, and redirect the process's output there in vt100 mode
04:38:45 <madbrain> it would be good if you had a "return from vt100" procedure too
04:39:30 <madbrain> supposing the guy calls a series of apps that switch between the two kinds of apps or something
04:39:49 <madbrain> normally a vt100 would do some cleaning up when quitting no?
04:39:59 <ehird> in most terminals, it's very simple
04:40:03 <ehird> the program simply stops executing
04:40:05 <ehird> and the shell prints its prompt
04:40:07 <ehird> and you keep going
04:40:09 <ehird> it's all one stream
04:40:47 <oerjan> ehird: man termcap, man terminfo. i'm pretty sure there _was_ some "start using escape sequences" sequence in at least one of them...
04:40:50 <madbrain> then obviously you should put your hook into the shell
04:41:20 <ehird> oerjan: ah, you mean construct my own?
04:41:26 <madbrain> and make the shell activate your "exit from vt100 mode" procedure when starting up
04:41:35 <oerjan> that's how curses applications determine how a terminal works...
04:42:02 <oerjan> ehird: i was wondering since you kept saying vt100 if you didn't know about it...
04:42:08 <ehird> oerjan: i know about i t
04:42:20 <ehird> I just didn't realise it let you tell the app to output something when it starts doing funny business
04:42:35 <oerjan> i am pretty sure i vaguely recall it ;D
04:45:28 <madbrain> are there any 132 column apps?
04:45:42 <ehird> most progs can handle any terminal size.
04:45:54 <ehird> clock=`{date +'%b %-d, %H:%M'}
04:45:54 <ehird> xsetroot -name $"clock
04:46:00 <ehird> while (sleep `{echo 60-`{date +%S} | bc}) update
04:46:02 <ehird> Clocks are awesome!
04:47:00 <oerjan> hm maybe i was thinking of ti/te in termcap
04:47:10 <madbrain> yeah one of the escape sequences is "reset terminal to initial state"
04:47:53 <ehird> come to think of it, I should probably make it say -11-01 instead of Nov 1
04:47:59 <ehird> since I use the number more than the name
04:48:04 <ehird> and it doesn't tell me the full name anyway
04:48:09 <ehird> -11-01 is pretty ugly though
04:48:40 <ehird> heh, that thing's running sleep 59 right now
04:48:45 <madbrain> one thing that's funny is that they hacked a 132 column text mode into the PC, obviously for vt100 compatibility, but they did it really late (like, in SVGA cards)
04:48:50 <ehird> could have been a perfect 60 if i wasn't a second too late!
04:49:10 <ehird> hmm, maybe I should add a funge factor of sleeping one extra second, just in case I get it just before the next minute starts
04:49:13 <ehird> not a big deal though
04:49:20 <madbrain> it's like the weirdest video mode ever
04:50:25 <madbrain> these docs say that it had a 132x mode, but probably that people didn't use it
04:51:12 <ehird> annoying that it's very hard to say "start of next minute" with things like sleep
04:51:17 <ehird> sleep `{echo 60-`{date +%S} | bc} is ugly
04:51:28 <ehird> (translation: "Sleep for 60 seconds minus the seconds elapsed in the current minute".)
04:52:50 <madbrain> that's an... interesting way of coding
04:53:02 <ehird> madbrain: what, the composition of simple commands?
04:53:08 <ehird> yeah, it's called unix. well, it was called unix in the 70s.
04:53:45 <ehird> bc is the calculator, echo just prints something out, a | b runs a sending the output to b as it goes, `{...} runs ... and expands its output into the command it's in
04:53:52 <ehird> it'd look like this in the more common bash:
04:53:59 <ehird> sleep $(echo 60-$(date +%S) | bc)
04:54:03 <ehird> or, more probable,
04:54:15 <ehird> sleep $(( 60-$(date +%S) ))
04:54:41 <madbrain> yeah, window's shell isn't good enough for that!
04:55:08 <ehird> yeah what do you guys do, keep a (non-digital) clock on your desk?
04:55:20 -!- fax has joined.
04:55:59 -!- coppro has joined.
04:56:09 <madbrain> dunno, but a .bat file clock sounds like it would be hard to code
04:56:20 <madbrain> dunno if .bat is even turing complete
04:56:30 <ehird> it has goto, I'm pretty sure it is
04:56:43 <ehird> plus potentially infinite storage (filesystem)
04:57:08 <ehird> madbrain: write a brainfuck interp and see
04:57:11 <ehird> shouldn't be too hard
04:57:14 <madbrain> yeah ok it might be using some ugly tricks
04:57:39 <madbrain> such as creating new .bat files and running them
04:59:43 <MizardX> ( echo import brainfuck, sys & echo brainfuck.run(' '.join(sys.argv[1:])) ) | python
05:02:57 <oerjan> you and your invisible end-of-line spaces
05:05:08 <oerjan> neither irssi nor the logs contain it, maybe it is stripped by the irc server
05:05:22 <madbrain> hmm, what's the typical length of a dram refresh cycle%?
05:06:09 <madbrain> ie how much time maximum between refreshes?
05:06:15 <oerjan> a dram is always refreshing
05:06:37 -!- Pthing has joined.
05:06:40 <madbrain> oerjan: well, if by always you mean every 10ms or some similar value
05:07:09 <madbrain> ehird: dram loses data if you don't regularly read and rewrite it!
05:07:21 <oerjan> *whoosh*. admittedly that word's probably obscure in english, but it exists.
05:07:43 <ehird> 1 a small drink of whiskey or other spirits (often used in humorous imitation of Scottish speech)
05:08:12 <ehird> madbrain: anyway, something like 10 minutes
05:08:18 <ehird> is the record for post-shutdown recovery
05:08:21 <madbrain> dunno how modern PCs refresh DRAM... afaik some older ones had an interrupt
05:08:21 <ehird> more if you cool it
05:10:51 <madbrain> like, afaik, one reason the z80 was popular was that it handled ram refresh for you
05:29:24 <madbrain> that is a totally strategic time!
05:30:03 * coppro is a connoisseur of esoteric words
05:33:50 <fax> I'm a lol conoisseur
05:34:42 <ehird> madbrain: 16 meters? that's an awfully long time!
05:35:33 <oerjan> not at all, that's very short, ask any relativist
05:36:56 <Sgeo> ....Someone forgot where his OWN building was
05:37:32 <Sgeo> Days after he showed it to me
05:38:55 <ehird> that'd be more amusing if it wasn't almost certainly in BobsVeryOwnVirtualRealityCirca1999.
05:40:27 <Sgeo> It was in AWTeen 3205.00N 1235.00E -0.01a 0 (Active Worlds)
05:40:49 <Sgeo> AW lets you save locations (I'd hate to imagine a place that didn't)
05:41:13 <Sgeo> Anyways, I need to go to sleep. Bye all
05:43:22 <ehird> EVERYONE: Stop fucking using sourceforge!
05:44:56 <oerjan> i find it somewhat difficult to understand how someone could use sourceforge for fucking in the first place
05:45:21 <ehird> it doesn't even parse that way, so you fail :p
05:45:26 <ehird> also, rule 34 is about porn.
05:46:02 <oerjan> i claim it can parse that way
05:47:22 <ehird> chomsky hates you.
05:47:45 <oerjan> chomsky hates nearly everyone, doesn't he.
05:49:27 <madbrain> rule 34 is about cartoon porn yeah
05:49:51 <ehird> no, it's about porn in general.
05:50:29 <Gregor> What's this about porn?
05:50:38 <Gregor> Oh, the rule is just "There is porn of it. Period."
05:51:41 <pikhq> And it's very very true.
05:52:30 <madbrain> well, technically it's about porn in general, but what it mostly means is that it's hard not to find porn of whatever cartoon and that there are many crazy fetishes
05:52:57 <ehird> madbrain — premier mind-reader since 2009
06:00:44 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:00:48 <madbrain> rule 1: most artists have drawn some porn
06:01:23 * coppro just had a terrible thought
06:01:23 <ehird> I'm fairly sure that's not a rule of /b/ no matter what set you use.
06:01:25 <madbrain> corollary: this includes artists that do kids games and cartoons
06:01:28 <ehird> coppro: unthink it
06:02:02 <ehird> Oh yeah, baby, gimme that... bloated download page?
06:05:08 <Gregor> `addquote <coppro> SF.net porn :/ <ehird> Oh yeah, baby, gimme that... bloated download page?
06:05:25 <HackEgo> 101|<coppro> SF.net porn :/ <ehird> Oh yeah, baby, gimme that... bloated download page?
06:06:13 <ehird> I'll badly integrate all your web apps into a slow-loading monstrosity, if you know what I mean ;-)
06:12:00 -!- fax has quit ("Leaving").
06:13:41 * ehird spontaneously combusts
06:15:56 <madbrain> I'm looking at DRAM datasheets to figure out how to design a system
06:16:22 -!- Asztal has joined.
06:16:33 <ehird> madbrain: what are you doing?
06:18:36 <madbrain> trying to design a system with a cpu, graphics and sound hardware
06:18:45 <ehird> madbrain: like, custom cpu? fpga?
06:18:53 <ehird> design your own computer? fucking awesome
06:19:07 <madbrain> possibly all that stuff running from inside a fpga yeah
06:19:20 <ehird> i absolutely want to do that some day
06:19:35 <ehird> madbrain: the good fpgas are so expensive though :(
06:19:49 <ehird> like $500 up; the $200 "evaluation boards" are limited as far as complexity, iirc
06:19:57 <ehird> each board can only handle so much logic
06:20:02 <ehird> and the $200 ones don't handle much at all
06:20:14 <ehird> you'd have to ask ais523
06:20:17 <ehird> he's studied this stuff
06:20:34 <madbrain> there's not too much point to a 500$ fpga, I could get a beagle board for that price :/
06:20:39 <ais523> yes, actually doing it in hardware costs far too much
06:20:54 <ehird> madbrain: also, the tools to put VHDL or whatever onto the chip are expensive
06:20:56 <ehird> bsmntbombdood: how do they know what
06:21:04 <ehird> madbrain: like "contact us"
06:21:11 <ehird> bsmntbombdood: what apples
06:21:21 <madbrain> ehird: then I'll probably go for one of those spartan3 evaluation boards or something
06:21:23 <ehird> madbrain: (for price)
06:21:39 <ehird> madbrain: well, they might come with tools of some sort
06:22:22 <madbrain> well, a design with cache is rather complicated, so without cache there should be some sort of upper complexity limit
06:22:47 <ehird> bsmntbombdood: how do what apples know what
06:23:03 <ehird> madbrain: make it a microcode interpreter and swap the cpu microcode from registers to RAM :-D
06:23:05 <madbrain> ie probably go for some kind of RISC for the cpu since with only raw DRAM access there's a limit to data access rates
06:23:42 <ehird> bsmntbombdood: how drunk are you exactly
06:23:51 <ehird> madbrain: you know what microcode is right?
06:24:26 <ehird> madbrain: basically, modern CPUs don't implement the CPU in the actual electric pathways
06:24:35 <ehird> madbrain: they have an interpreter for a proprietary microcode, like a RISC architecture
06:24:46 <ehird> madbrain: and each instruction is coded in it, in super-fast, on-chip ROM
06:24:47 <madbrain> I think it's basically CPU opcodes get expanded to larger processor instruction data inside
06:24:57 <ehird> and the processor executes the microcode instead of the instructions directly
06:25:10 <ehird> so current CISC chips are actually RISC internally
06:25:16 <ehird> although you can't change it and it's undocumented, so uh
06:25:19 <ehird> good luck doing anything with it
06:25:45 <ehird> madbrain: ofc, storing the microcode in RAM would be so slow and swapping it to registers is useless since there's so few of them :-)
06:25:59 <madbrain> I'd like to do a super out-of-order stack reduction based chip but that would be way too large for a fpga :D
06:26:15 <ehird> madbrain: fpgas can cost up to like $5,000
06:26:19 <ehird> not many limits with them really
06:27:08 <ehird> bsmntbombdood: so uh what was that about apples
06:27:38 <madbrain> but yeah, right now I'm debating on whether to try to take advantage of fast-page/edo DRAM or go for static access cycles
06:28:08 <ehird> madbrain: please make it something not like the standard risc architectures
06:29:05 <ehird> madbrain: because they're boring.
06:31:36 <madbrain> like, I'm going through this sdram specification.... this is complicated
06:31:46 <ehird> bsmntbombdood: eat it
06:31:56 <ehird> madbrain: i think the fpgas abstract the ram away for you
06:32:29 <ais523> variables in the HDL become RAM in the fpga
06:32:46 <ais523> although sometimes the compiler is stupid and you have to specifically tell it to use dedicated RAM rather than LUT-based RAM
06:33:02 <ehird> LUT is the complexity unit, right?
06:33:43 <ais523> you can make one LUT into one bit of RAM
06:33:47 <ais523> but that's normally really wasteful
06:33:56 <ais523> so FPGAs tend to come with some pre-built RAM too
06:34:02 <madbrain> ah, but you're talking about in fpga ram
06:34:28 <madbrain> and typically comes in, what, 16k? probably more or less depending of the chip but still
06:34:45 <ehird> the $200 boards have like 256 MiB of RAM
06:34:49 <ehird> or was it like 23 MiB
06:34:55 <ehird> whatever it was, it was very sufficient
06:35:58 <madbrain> on chip ram is static ram and can be addressed pretty fast... cpu caches are SRAM for instance
06:36:26 <madbrain> but SDRAM is DRAM and you have to sorta planify who gets a turn to read from it, etc...
06:36:47 <madbrain> not to mention variable access times depending on type of accesses
06:47:06 <madbrain> like, one possible manner is to make a chip that outputs 320x240 and where everything is based on 400 memory cycles per scanline
06:49:25 <madbrain> from there, if you keep a lid on register space, ROM space, and excessive multipliers, it should be synthesizable
06:49:54 <madbrain> obviously that would give a rather classic, probably amiga-like design
07:00:12 <madbrain> then a fast-page or edo-based design, which would be more 486-y
07:06:06 <ehird> amiga-like is good! do that.
07:06:20 <ehird> i'm always a fan of the tied-to-the-CRT-rate stuff
07:30:25 * oerjan swattit madbrainum -----###
07:30:28 -!- Jaykul has changed nick to Jaykul[AFK].
07:32:13 <madbrain> except it has way too many pins :(
07:35:32 -!- coppro has quit (Remote closed the connection).
07:41:45 -!- calamari has joined.
07:54:38 -!- Gracenotes has quit (Remote closed the connection).
07:55:28 -!- Gracenotes has joined.
07:59:59 -!- clog has quit (ended).
08:15:27 -!- clog has joined.
08:15:27 <ehird> "Just one incident: when my Symbolics came, the seller mixed up billing and shipping address and sent it to my home. Had to pick it up at the post office but they sent a customs postcard with the price on it. Well, I had to explain why I would spend "that much" on an old keyboard. After everything was settled I looked at the postcard once more and realized it only showed the shipping costs."
08:21:00 -!- Asztal has quit (Read error: 110 (Connection timed out)).
08:21:28 <ehird> Things to do to make the distro: * Get hardware. * Set up Arch development environment. * Go through the gigantic kernel configuration process. * Write the init. * Figure out what login to use and all that crap. * Figure out what libc to use. * See if LLVM can do a.out, if not, switch from it (unlikely) or get it to work or whatever...
08:21:29 <ehird> * Figure out what coreutils to use, or write one I guess; port it if it's a BSD one, etc. * Compile some stuff. * Write a package manager. * Compile a toolchain for the toolchain. * Bootstrap shortly after. * Write the rest of this list
08:21:56 <madbrain> man, sdram modules have 168 pins o_@
08:21:58 <ehird> At some point some testing would be good, and getting other people to test too...
08:22:08 <ehird> You guys like testing, right?! Thought so.
08:24:51 <ehird> (Maybe I can get pikhq to test it by replacing all references to Linux with As-Of-Yet Unnamed Suckless.org Kernel.)
08:25:40 <pikhq> ehird: Eh, I have free time, and am at least curious to see what you come up with.
08:25:55 <ehird> Wow, it worked before I even did it.
08:25:59 <ehird> That's some mighty good plan.
08:26:53 <ehird> I should probably build a box with some medium-common-denominator hardware to get it all working...
08:27:19 <ehird> Using something high-end is probably a bad idea considering the state of drivers.
08:28:04 <ehird> I'll have to restrain myself from omitting everything from the kernel that I don't use...
08:28:35 <pikhq> "Eh, who needs disks, anyways? That's what a ramdisk is for, right?"
08:29:35 <ehird> RAM?! Recent Core 2 processors have 12 MiB of L2 cache, you know.
08:29:43 <ehird> As for the cache... we did fine with L1 back in the day!
08:30:19 <ehird> Think about it. The Core 2's L2 cache? It can hold 8.3333333333333333333333333333333333333333333333333333333333333... fully formatted floppy disks.
08:30:34 <ehird> bsmntbombdood: yeah and 4x256 KiB of L2 I believe
08:33:33 -!- madbrain has quit ("Radiateur").
08:33:48 <ehird> android's libc (bionic) has no termios
08:34:03 <ehird> i guess that doesn't really matter
08:37:04 <ehird> Android implements its own account management, and does not use /etc/passwd. There is no getpwent(), and getpwnam()/getpwuid() are implemented as wrappers around an Android ID service. At present, the Android ID service consists of 25 hard-coded accounts in <android_filesystem_config.h>
08:37:04 <ehird> ugh, so bionic is quite tied to android
08:37:14 <ehird> i really wish dietlibc wasn't fucking retardedly gpl
08:37:22 <ehird> it's clearly the right thing
08:42:47 <ehird> ah, now i remember why I dumped dietlibc
08:42:48 <ehird> • The BSD people would not accept it without $LICENSE==BSD (currently:
08:42:49 <ehird> • Then, Microsof t could steal my code to make Windoze less obviously broken
08:42:49 <ehird> (can’t let that happen).
08:42:59 <ehird> the author is a fucking loon.
08:43:20 <ehird> Why is it GPL and not LGPL or BSD?
08:43:20 <ehird> Because I don’t want to be r ipped of f.
08:43:21 <ehird> Implicit: "or anyone to use it"
08:44:14 <pikhq> Implicit: "I have less regard for common practical scenarios than RMS."
08:45:17 <ehird> pikhq: should I go off the deep end and write my own libc, or just use newlib!
08:45:27 <ehird> the fact that i can ask that question probably signifies I've already gone off the deep end
08:46:18 <ehird> newlib doesn't support linux
08:46:26 <ehird> doesn't support linux.
08:46:41 <ehird> That's, um, what's the word, uhh, stupid
08:46:54 <ehird> Seems they added it.
08:55:29 <ehird> pikhq: I can't use uclibc
08:55:40 <ehird> It's LGPL, so if I link with it I have to offer an unlinked object file
08:56:19 <ehird> So my choice is either:
08:56:27 <ehird> Hack up Bionic to work on non-Android and stuff...
08:58:20 <ehird> What a crock of shit this is!
08:59:18 <ehird> Apparently most of newlib is BSD-style
09:01:52 <pikhq> ehird: Red Hat bought Cygnus.
09:01:57 <pikhq> Cygnus developed newlib.
09:02:12 <ehird> Hopefully newlib should work, though it seems rather stale.
09:02:29 <pikhq> Hmm. Maybe you could port BSD libc?
09:02:30 <ehird> But it beats hacking up Bionic, which is rather Android-tied (e.g. no /etc/passwd or fstab support)
09:02:38 <ehird> pikhq: I was thinking about that, and looked it up
09:02:51 <ehird> http://www.freebsd.org/cgi/cvsweb.cgi/src/lib/libc/i386/
09:02:56 <ehird> BEHOLD THE EPIC MORASS OF ASSEMBLY CODE!!!
09:03:08 <ehird> Admittedly that's just some of it.
09:03:17 <pikhq> Clearly I should have said "Minix".
09:03:50 <ehird> I thought Tanenbaum was criminally insane... http://harmful.cat-v.org/software/andy_tanenbaum
09:04:35 <ehird> Anyway, BSD libcs are quite good, but still pretty bad: http://www.freebsd.org/cgi/cvsweb.cgi/~checkout~/src/lib/libc/stdlib/atexit.c?rev=1.8.10.1.2.1;content-type=text%2Fplain
09:05:33 <ehird> Let's see how to compile newlib.
09:06:11 <pikhq> On a brighter note, porting BSD libc to Linux would make porting BSD utils... Trivial.
09:06:46 <ehird> That's true. What I'd have would look suspiciously like a BSD at the end, though, and they're not without their flaws.
09:06:56 <ehird> At that point I'd do well to save myself the effort and use their kernel too.
09:11:31 <ehird> Oh, hey, I forgot about that one.
09:12:05 <ehird> pikhq: I could port PDCLib to Linux/a.out if it hasn't been already, very easily.
09:12:20 <ehird> PDCLib is very minimalist and it's very easy to port it (it was designed for hobbyist OSs).
09:12:41 <ehird> Unfortunately it's inccomplete...
09:14:27 -!- Gracenotes has quit (Remote closed the connection).
09:24:25 -!- ehird_ has joined.
09:25:36 * ehird_ compiles an i686 ELF newlib because he's too lazy to set up a crosscompiler
09:27:46 <ehird_> Pretty sure newlib is gcc only, I might try it with clang though
09:29:55 <ehird_> http://www.pfu.co.jp/hhkeyboard/
09:29:56 <ehird_> Happy Hacking Keyboard Red Control Key!
09:33:49 <ehird_> grrrrrrrrrrrrrrrrrrrrrrrrrrrmbklfgjksfdg
09:39:32 <ehird_> pikhq: any opinion on how I should handle progs like dwm that have to be recompiled to config? same with the kernel too. i don't want to become source-based
09:39:43 <ehird_> maybe just make it simple to download my build environment for a package
09:39:48 <ehird_> still seems like a pain
09:39:51 <ehird_> since you can't autoupdate etc
09:40:08 -!- calamari has quit ("Leaving").
09:40:13 -!- ehiird has quit (Read error: 110 (Connection timed out)).
09:40:45 -!- ehird has quit (Read error: 110 (Connection timed out)).
09:40:46 -!- ehird_ has changed nick to ehird.
09:49:15 <ehird> No standard library,
09:49:19 <ehird> Static binary, if you please
09:49:24 <ehird> Yes, include newlib's includes
09:49:36 <ehird> And -lgcc because you demand it, dammit
09:49:50 <ehird> Cannot find entry simple _start, but it's just a warning
09:49:54 <ehird> To the tune of ./test, 1, 2, 3:
09:49:59 <ehird> Segmentation fault
09:50:10 <ehird> And ls tells me: 163 KiB.
09:50:12 <ehird> ↑↑↑↑ BEST POEM EVER
09:50:26 <ehird> *symbol not simple
09:57:26 <ehird> does anyone know if it's possible to take a linux installation and boot it but tell it to use another binary somewhere else as init?
09:06:06 <ehird> http://doc.cat-v.org/bell_labs/face_the_nation/
09:06:12 <ehird> Each image was then reduced interactively to a 48«48 bit (1 bit per pixel) black– and– white 'ikon. '
09:06:28 <ehird> Am I reading the paper that pioneered the terminology icon?
09:14:50 <AnMaster> <ehird> AnMaster: There? <-- now I am
09:15:09 <ehird> paste the context?
09:15:25 <AnMaster> <oklopol> anyone here an expert on beta distribution?
09:15:25 <AnMaster> <oklopol> i wish my brain worked
09:15:25 <AnMaster> * oerjan vaguely recalls the name from statistics. that means no, btw
09:15:25 <AnMaster> * Asztal has quit (Read error: 110 (Connection timed out))
09:15:29 <AnMaster> * BeholdMyGlory has quit (Remote closed the connection)
09:15:31 <AnMaster> <Warrigal> oklopol: I'm an expert on the beta distribution the same way that I'm an expert on the derivative of x^2.
09:16:10 <AnMaster> ehird, damn you. ;P Searching scrollback for highlight all in vain.
09:17:11 <ehird> [08:57] ehird: does anyone know if it's possible to take a linux installation and boot it but tell it to use another binary somewhere else as init?
09:17:47 <AnMaster> ehird, known last line of rescue is to use init=/bin/busybox at the end of the kernel command line
09:18:14 <ehird> I wonder what argv init gets
09:18:15 <AnMaster> ehird, wouldn't work very well with an initrd of course
09:18:52 <AnMaster> ehird, I'd expect argv[0] to be as usual, the rest none, or kernel command line maybe
09:19:02 <ehird> I think Arch uses an initrd by default
09:19:07 <AnMaster> of course you can get kernel command line easily once /proc is up
09:19:14 <AnMaster> ehird, it does. But my arch box doesn't
09:19:22 <ehird> So, I'd have to futz with it.
09:19:30 <AnMaster> ehird, dropping initrd saved half a minute of boot on my old pentium3 with arch
09:19:44 * ehird ponders registering rwx.st
09:20:08 <AnMaster> from just over a minute down about 30 seconds. Then later on I managed to bring it down to ~14 seconds by messing around with init scripts
09:20:21 <AnMaster> like commenting out parts that weren't relevant to me
09:20:28 <AnMaster> oh and disabling automatic module loading
09:20:40 <AnMaster> as in, "try to load modules are required"
09:20:47 <AnMaster> everything relevant was built in anyway
09:20:51 <ehird> With my distro getting rid of unused init stuff will be really easy
09:20:59 <ehird> since you see it all every time you go to enable or disable a daemon anyway
09:21:03 <ehird> as it's the same operationn
09:21:53 <AnMaster> ehird, hm? Oh and since that box is headless all it starts is basically network, sshd, ntpd and nfs server iirc
09:22:09 <ehird> there's no separate init scripts/inittab
09:22:15 <AnMaster> ehird, oh btw those 14 seconds were from grub. BIOS takes about 14 seconds itself
09:22:26 <ehird> so commenting out stuff you don't use is just adding a # before some lines in the file you use to configure daemons
09:22:40 <AnMaster> ehird, well yeah. Makes updates a bit messy though
09:22:49 <ehird> Not really, just adding packages
09:22:53 <ehird> And that's simple to solve:
09:23:03 <ehird> # installpkg kde-bloatware
09:23:07 <AnMaster> oh ffs. Judging from harddrive activity light it is fsck after n mounts time
09:23:11 <ehird> This package has an init script:
09:23:14 -!- adam_d_ has joined.
09:23:27 <ehird> /etc/rc.d/kde-bloatware -- start KDE bloatware services
09:23:33 <ehird> /etc/rc.d/kde-bloatware.start -- start KDE bloatware services
09:23:35 <AnMaster> DAEMONS=(syslog-ng network rpcbind nfs-common @iptables @sshd @crond @ntpdate @ntpd @smartd @xinetd @nfs-server)
09:23:38 <ehird> /etc/rc.d/kde-bloatware.stop -- stop KDE bloatware services
09:23:44 <ehird> just tell the users to add the lines
09:24:53 <ehird> I sure will enjoy reporting e.g. bugs to software authors using this distro
09:25:09 <ehird> <me> author: blah blah blah, this fails when doing etc etc, not sure what the problem is, can you help?
09:25:14 <AnMaster> ehird, oh? Mostly due to a.out I assume?
09:25:16 <ehird> <author> me: ok, what distro are you using?
09:25:20 <ehird> <me> author: um, $name
09:25:28 <ehird> <author> me: never heard of it. is it a derivative or something?
09:25:33 <ehird> <me> author: well... no...
09:25:36 <ehird> <author> me: gimme a link
09:25:42 <ehird> <me> author: http://blah.org/
09:25:54 <ehird> <author> me: static binaries? a.out? this isn't 1990!
09:25:59 <ehird> <me> author: hey! they're good because--
09:26:03 <ehird> <author> me: sorry, no support
09:26:11 <ehird> ** author has kicked me from the channel
09:26:24 <AnMaster> ehird, I very much suspect that some binaries will break if they can't dlopen() stuff.
09:26:38 <ehird> AnMaster: That's true, but most programs let you disable that crap.
09:27:00 * AnMaster curses.... wrote "pacman -Sy upgrade"
09:27:08 <ehird> For those that really want programs that don't let you... well, I can have a dynamic linker as a package... but... stay well away if you don't absolutely have to...
09:27:11 <AnMaster> at least I didn't mix up portage into it as well
09:27:56 <AnMaster> ehird, what browser will you include? I somehow assume that you won't be happy with links or lynx
09:28:09 <ehird> Probably http://surf.suckless.org/.
09:28:17 <ehird> WebKit + suckless.
09:28:30 <AnMaster> oh and just a vague memory. I think a.out will confuse the hell out of boehm-gc (w3m uses that iirc)
09:28:46 <ehird> I tried links -g incidenatlly
09:28:56 <ehird> Does its own font rendering, I think
09:29:04 <ehird> menus and dialogs and form widgets are curses-style
09:29:14 <ehird> It'd be a lot better if it was elinks
09:29:24 <ehird> fucking annoying to have gigantic piles of list-menus blocking your view
09:29:35 <ehird> I'd have installed surf into the VM, but Arch broke libwebkit. sigh.
09:29:43 <ehird> so I'm twiddling my thumbs until they fix it
09:30:10 <AnMaster> ehird, btw that p3 box with arch has a weird issue. If the system is loaded, new ssh connections time out
09:30:16 <ehird> see, if we had static binaries, software authors could safely supply binaries they know will work :P
09:30:18 <AnMaster> loaded here means CPU or network load
09:30:24 <ehird> on almost any system
09:30:28 <ehird> with no dependencies
09:30:35 <ehird> whee, packages got updated
09:30:41 <ehird> install install install. i live for nothing other than to update packages.
09:30:59 <ehird> like all these lib*s i'm getting here. wouldn't need them with STATIC BINARIES DID I MENTION STATIC BINARIES :P
09:31:01 <AnMaster> ehird, you know python will break badly by this?
09:31:12 <ehird> AnMaster: Fairly sure it won't. Care to justify?
09:31:19 <AnMaster> ehird, all loadable C modules will break.
09:31:27 <AnMaster> and they aren't *that* uncommon
09:31:39 <ehird> I'm something like 47% sure I could link them in.
09:31:58 <AnMaster> ehird, yes you could. But then you would need to rebuild python to add a new one
09:32:13 <ehird> Yes. Just like the kernel.
09:32:33 <ehird> C modules are packages that install .as to a directory somewhere.
09:32:42 <ehird> And the builder script just links in them all.
09:32:46 <ehird> Same with kernel modules.
09:32:58 <ehird> That way you can install/uninstall modules, and just flip the buildkernel binary or whatever and it'll all work.
09:33:07 <ehird> The modules are implemented at the package level, effectively.
09:35:51 -!- oerjan has quit ("Zzzz").
09:37:12 <ehird> Of course, it is annoying.
09:37:20 <ehird> The kernel can be fast to build, Python not so much.
09:37:31 <AnMaster> ehird, would need some adjustments to the binary linking. But quite possible in theory yes
09:37:33 <ehird> And definitely slower than downloading a binary on a fast connection.
09:37:38 <ehird> Plus it's a pain for the user...
09:37:40 <AnMaster> ehird, oh and X... X loads drivers and such as *.so
09:37:52 <AnMaster> would need to patch X quite a bit
09:37:53 <ehird> AnMaster: Yeah, pretty sure you can link those in.
09:38:28 <AnMaster> ehird, with python it is easy to (just change the C code a bit so it looks like those modules already built into python)
09:38:37 <AnMaster> with X I suspect it needs some more work
09:38:54 <ehird> you have to patch it?
09:39:32 -!- adam_d has quit (Read error: 110 (Connection timed out)).
09:39:41 <AnMaster> ehird, python? well yes think so. So that the module is initialised the right way. Some minor adjustments only. Possibly adding to some array of modules in the main python binary (not sure about that bit)
09:40:17 <ehird> Maybe I can write a fun stub dynamic linker that does some sort of unholy hack using processes...
09:40:24 <ehird> As in, an .so is a binary, and it spawns it...
09:40:31 <ehird> ...on the other hand that would be unholy
09:40:53 <AnMaster> doesn't *.exe and *.dll have different address spaces on windows iirc?
09:41:03 <AnMaster> and you have to hack stuff when you want to share things
09:42:02 <ehird> I remember what I was going to ask you, AnMaster
09:42:12 <ehird> AnMaster: is it possible to compile a gentoo system using static binaries?
09:42:57 <AnMaster> ehird, unknown. But since portage is in python I see a potential problem right there.
09:43:14 <ehird> Compile static binaries != omit dynamic linker
09:43:18 <ehird> == pass -static to everything
09:43:33 <ehird> AnMaster: does it still take 24h to compile everything?
09:43:48 <AnMaster> ehird, true. But you can't easily mix dynamic linking and static linking iirc
09:44:09 <AnMaster> ehird, depends on hardware. Haven't done a clean install of gentoo for ages.
09:44:10 <ehird> a -static binary can easily dlopen().
09:44:16 <ehird> Hardware is... a VM.
09:45:12 <AnMaster> ehird, it won't be as fast as installing ubuntu of course. And it will require user interaction in many parts. Unless you use that "not really newfangled any longer" GUI installer. Which I never tried.
09:45:37 <ehird> I don't mind interaction, but if it takes 4 hours or more I'm pretty much not going to bother.
09:45:53 <AnMaster> other people complained it was laughably bad in the beginning. I assume it improved
09:46:03 <AnMaster> ehird, depends on how much system you want
09:46:49 <ehird> Small kernel (but I don't want to configure it manually), hopefully with no initrd or anything, networking, X11.
09:46:52 <ehird> That's pretty much it.
09:49:10 <ehird> 2.1ghz core 2 duo, 1 gib of ram, pretty boring vm/host really
09:52:05 <AnMaster> ehird, manually or auto with initramfs are the options iirc
09:52:19 <AnMaster> unless genkernel nowdays can generate without initramfs
09:52:20 <ehird> Fine, I can do that.
09:52:25 <ehird> So how long would it take, roughly?
09:52:36 <ehird> <4 hours, <10 hours, <24 hours, <48 hours?
09:52:39 <AnMaster> ehird, was that "no X" or "with X"?
09:53:05 <ehird> Drivers supplied by VirtualBox, nothing else needed apart from vesa to bootstrap.
09:53:15 <AnMaster> hm. assuming a system with dual quad core Xeon CPUs?
09:53:30 <ehird> [09:49] ehird: 2.1ghz core 2 duo, 1 gib of ram, pretty boring vm/host really
09:54:09 <AnMaster> ehird, could be less than 4. Definitely less than 6 at least.
09:54:25 <AnMaster> unless things got a lot more bloated since 2007
09:54:45 <ehird> how big are dem livecds i wonder...
09:55:09 <AnMaster> ehird, classical command line stage3 install would only require minimal cd. which is around 100 MB for x86_64
09:55:29 <AnMaster> ehird, oh btw if you got for multilib x86_64 it will probably not manage in less than 4 hours
09:55:38 <ehird> i wonder what exactly they have on that monstrosity over ubuntu's 700 megs
09:55:50 <ehird> LiveDVD (released Oct 10, 2009)
09:55:51 <ehird> (up to 2.6 gigabytes depending on arch)
09:55:53 <ehird> http://www.gentoo.org/main/en/where.xml
09:56:39 <AnMaster> ehird, minimal install + stage3 install following manual
09:56:59 <ehird> stage3 has compiled stuff doesn't it
09:57:17 <AnMaster> ehird, stage3 is enough base system to compile new stuff
09:57:29 <ehird> so, not static binaries then
09:57:37 <AnMaster> but if you are going for static it will likely take longer, due to having to figure out how.
09:57:52 <AnMaster> some packages do have an useflag "static"
09:58:03 <ehird> the chainsaw maneuver
10:00:46 <AnMaster> ehird, sure. I won't be surprised if things break
10:01:33 <ehird> no point with all that
10:01:37 <ehird> I'll just jump straight to my distro
10:02:26 <ehird> as soon as I have a kernel and an init it can be booted
10:02:30 -!- adam_d has joined.
10:02:46 <ehird> but... I need hardware first
10:03:00 <ehird> because VMs reaaaaaaaaaaaally aren't real world
10:04:36 <ehird> anyone got an old computer they want to give to me? :P
10:05:14 <ehird> one because the cognitive dissonance of such an environment on the quite frankly pretty opposite iMac would probably break my brain
10:05:22 <ehird> two because the damn EFI would be bigger than my distro!*
10:05:34 <ehird> three because i don't want to deal with EFI and crap
10:05:49 <ehird> I can't swap the hardware easily
10:05:55 <ehird> I can't test whether new hardware works or whatever
10:06:12 <ehird> can't swap an SSD in to test performance
10:07:15 <ehird> everyone else is going to be running this on pc hardware
10:07:21 <ehird> and i want to minimise my pain
10:08:46 <ehird> besides, the silent pc tinkerer in me still hasn't found release
10:09:45 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
10:12:38 <AnMaster> ehird, so you were the guy that said "Hi! I'm Linux"?
10:12:59 <AnMaster> except you pretended you were the Mac guy
10:13:15 <ehird> http://dmartin.org/files/Mac_linux.jpg
10:13:39 <AnMaster> ehird, one of several variants of it
10:14:58 <ehird> anyway I'm kinda reluctant to call it a linux distro because when i say linux distro i get a clear picture and my head and mine isn't it...
10:15:29 <AnMaster> ehird, it would be a linux distro
10:15:30 <ehird> ("almost certainly cookie-cutter" and "all the general 'modern' crap")
10:15:42 <ehird> that's a good way of explaining it
10:16:01 <AnMaster> ehird, it is kind of the inverse of Debian/BSD in a way
10:16:40 <AnMaster> ehird, what will it be called?
10:17:01 <ehird> man, I'm terrible at names...
10:17:42 <ehird> monolith (ooh that's a good one)
10:17:45 <ehird> (not very googlable though)
10:17:54 <ehird> monolix.. aw, it's taken.
10:19:47 <ehird> I wonder what my install procedure will be like
10:20:30 <ehird> Probably just "use the package manager to install the packages inside the empty partition" for the most part.
10:23:43 <ehird> Hey, that's an acttual existing thing.
10:24:13 <ehird> http://en.wikipedia.org/wiki/Microlith
10:24:41 -!- MigoMipo has joined.
10:26:00 <ehird> anyway, no point thinking about a name now
10:26:20 <ehird> I'll probably call the init something lame like ehird's init anyway
10:26:22 <AnMaster> ehird, git is too bloated for this btw. I suggest rcs
10:26:28 <ehird> And the package manager might have its own name
10:26:52 <ehird> Methinks git is not bloated. :P
10:28:10 <ehird> You forgot the few git-*s!
10:28:15 <AnMaster> hm seems like rcs consists of several binaries too
10:28:24 <ehird> git-cvsserver, git-shell, you know, all these things.
10:28:26 <AnMaster> ehird, I thought they were symlinks or such?
10:28:33 <ehird> Also, that was abolished.
10:28:37 <ehird> These are just auxillary tool,s.
10:29:43 <AnMaster> ehird, half of the git files are in /usr/share/doc anyway
10:29:53 <ehird> All that pesky documentation. Just bloat!
10:30:12 <ehird> Use your MIND to understand it.
10:30:15 <AnMaster> just that half is much smaller half
10:30:36 <AnMaster> $ qlist rcs | grep -v /usr/share | wc -l
10:30:40 <pikhq> ehird: RE: static Gentoo.
10:30:41 <AnMaster> $ qlist git | grep -v /usr/share | wc -l
10:30:49 <pikhq> You could back in 2005; the profile for that is no longer maintained at all.
10:31:05 <pikhq> Dropped along with uclibc support.
10:31:29 <pikhq> Yeah; I'm kinda upset about it too.
10:31:30 <AnMaster> $ qlist rcs | grep -v /usr/share | xargs du -bh --total | tail -n 1
10:31:33 <AnMaster> $ qlist git | grep -v /usr/share | xargs du -bh --total | tail -n 1
10:31:43 <AnMaster> ehird, git is bloated. Even excluding docs
10:31:51 <AnMaster> (and possibly other non-docs in /usr/share)
10:31:58 <pikhq> ... Git does a lot more than rcs.
10:32:04 <ehird> pikhq: I have to wonder if any user or developer ever really wanted dynamic linking before some crazy guy added it.
10:32:07 <AnMaster> but that wasn't the point here
10:32:09 <ehird> AnMaster: wow, rcs is that big?
10:32:12 <ehird> git is that small?
10:32:19 <ehird> that's a really tiny difference considering how much better git is
10:32:53 <AnMaster> ehird, 13 MB with the compressed docs in /usr/share
10:32:59 <pikhq> rcs is like the worst revision control system that actually does the job of a revision control system...
10:33:09 <AnMaster> must have been a recent change
10:33:10 <pikhq> AnMaster: Gentoo uses whatever PORTAGE_COMPRESS is set to.
10:33:14 <ehird> You're being too kind to rcs, pikhq.
10:33:25 <ehird> CVS is actually better than RCS.
10:33:28 <AnMaster> pikhq, worse than visual sourcesafe?
10:33:43 <ehird> AnMaster: do you just have an internal macro that uses anything microsoft as a lowest common denominator?
10:33:50 <pikhq> They may have changed it in the 10.0 profile; I dunno, I set PORTAGE_COMPRESS to lzma quite a while ago.
10:34:11 <pikhq> ehird: RCS does the job. *Barely*.
10:34:21 <ehird> pikhq: Yes, but, you know how bad CVS is?
10:34:26 <ehird> pikhq: CVS was AN IMPROVEMENT on RCS.
10:34:46 <AnMaster> ehird, not a macro. it is a <whateever the name for built in function is in lisp>
10:35:04 <ehird> Someone written in Lisp would never code in Bash and C.
10:35:07 <pikhq> ehird: I'm saying that the only things worse than RCS are adhoc shared directories with "branches" consisting of "renaming files" and crazy shit like that.
10:35:30 <ehird> Your aa key is stuttering.
10:35:43 <ehird> Either that or your a key actually has "aa" printed on it, which would be lulzy.
10:35:55 <pikhq> cp foo "fooBar";cp foo "baz/foo"; # There's revision control!
10:36:17 <ehird> "cp" "foo" "foobar"
10:36:23 <ehird> Useless use of quotes award!
10:36:28 <AnMaster> ehird, my finggeerrs are ccoold.
10:36:44 <AnMaster> shatttering finger nails I gueesss
10:36:47 <pikhq> ehird: I typed that in meaning to use spaces and didn't use spaces.
10:36:54 <ehird> AnMaster: Put the damn heating on.
10:37:45 <AnMaster> ehird, how do you turn a fireplace up?
10:38:02 <AnMaster> (j/k, both the electric heater and the fireplace are "on")
10:38:14 <ehird> How cold is it indoors in Sweden?!
10:38:23 <ehird> Surely those would be enough to warm any room.
10:39:03 <AnMaster> ehird, house built in 1907. Sure it has been upgraded since then. But still, not quite the same as a modern house
10:39:18 <ehird> Yes, but really, those would be enough to warm a 5 C room.
10:39:30 <pikhq> ehird: How warm of you.
10:39:43 <AnMaster> ehird, I estimate it is around 17 C indoors atm
10:39:55 <ehird> I bet people in Nordic countries are actually warmer than e.g. Brits, because they always have heating on.
10:40:24 <AnMaster> ehird, not during middle of summer
10:40:35 <ehird> But your summers are probably better than ours.
10:40:47 <ehird> Maybe a few days of sun.
10:40:50 <AnMaster> maybe only July in north Sweden
10:40:56 <AnMaster> ehird, we do get *some* rain too
10:40:59 <ehird> Brr, subarctic climatee.
10:41:08 <ehird> It's like bipolar disorder for weather.
10:41:29 <ehird> HEY THIS SUMMER IS PRETTY COOL
10:41:34 <ehird> wow it is winter and my toes fell off
10:41:37 <ehird> repeat ad infinitum
10:42:00 <ehird> also, the sun becomes retarded
10:42:06 <ehird> "ima stay up here for dayz"
10:42:16 <ehird> "but but i dont wanna get up for like. a day"
10:44:00 <ehird> You could make a passable multitouch surface with some patterned glass and a webcam chip.
10:44:08 <ehird> Quite easy to detect a hand.
10:44:15 <ehird> And fingers, with an appropriate pattern.
10:45:04 <ehird> Yeah, it's like night and day for months in subarctic climates.
10:45:09 <AnMaster> like a few months during summer all up and some months during winter all down
10:45:35 <AnMaster> ehird, quite cool to see the sun going around to the north instead of setting
10:46:02 <ehird> The daylight parts + everyone adopts Uberman = HAHA WE ARE TOTALLY TWICE AS AWESOME AS YOU
10:46:05 * AnMaster has been up there during summer
10:46:20 <ehird> "We're just up. Almost continuously."
10:50:14 <AnMaster> people sleep during the time that would have been night
10:50:30 <ehird> I know, but if everyone did adopt Uberman, it would be colossally awesome.
10:50:41 <AnMaster> that is. when the sun is standing in north
10:52:20 -!- oklopol has quit (Read error: 60 (Operation timed out)).
10:52:21 <ehird> Fun thing to do: Mirror entire compilation setup for my distro, type "mk". Watch every package in the whole distro compile.
10:53:12 <AnMaster> does mk support -j (or equivalent)
10:53:43 <ehird> "The environment variable $NPROC determines how many targets may be updated simultaneously; Some operating systems, e.g. Plan 9, set $NPROC automatically to the number of CPUs on the current machine."
10:53:43 <AnMaster> ibm roadrunner. How many seconds will it take?
10:53:56 <ehird> How about Blue Gene, which runs Plan 9?
10:54:07 <ehird> Anyway, I don't know. Less than a minute for sure.
10:54:14 <ehird> Maybe more if you include KDE ;-)
10:54:28 <ehird> Anyway, I hope I don't outgrow having to compile every package myself...
10:54:44 <ehird> I doubt I'd be able to get people to contribute server resources.
10:54:51 <AnMaster> ehird, yeah. some stuff can't be done in parallel. Like when you have to generate the source file for something else (think: flex, bison, ...)
10:55:41 <AnMaster> ehird, predition: you won't be the next ubuntu
10:56:32 <ehird> I don't expect more than, say, 100 users for a long time.
10:56:39 <ehird> Even that's pushing it.
10:56:52 <ehird> I don't think that's true.
10:57:10 <ehird> I'll be pretty committed to maintaining packages.
10:57:16 <AnMaster> ehird, well. zzo could have used it. But he will likely make his own as well instead
10:57:18 <ehird> And there isn't really anything like it. stali is the closest.
10:57:32 <ehird> AnMaster: zzo doesn't innovate, though... he just reinvents at the same level.
10:57:37 <ehird> He doesn't do anything new.
10:57:49 <ehird> Uh, no offence if he's reading this.
10:58:06 <ehird> Here's a good option: "Name of this option"
10:58:12 <ehird> It's a string, defaults to "Name of this option"
10:58:31 <ehird> [X] The state of this option
10:59:45 <ehird> I imagine if I posted it on the Arch Linux forums I'd get some users, even if only temporarily. (But I don't really like the crowd there.)
10:59:58 <ehird> And I'm not masochistic enough to create busywork for myself like that.
11:01:53 <AnMaster> (heh "no offence meant" after a your mom joke really makes no sense)
11:02:27 <ehird> Guess who else really makes no sense?
11:08:22 <ehird> I wonder how much stuff compiles with libc5.
11:09:23 <ehird> Last non-glibc release. I was just curious.
11:10:25 <ehird> so I can't distribute statically linked uclibc binaries,
11:10:28 <ehird> without also distributing an unlinked .o
11:10:36 <AnMaster> ehird, what will you use instead of bison?
11:10:55 <ehird> Of course if some stuff depends on either they can have it,.
11:11:22 <ehird> Anyway, my only existing options are Newlib and Bionic (Android's).
11:11:39 <ehird> Bionic doesn't support /etc/passwd or fstab and their user stuff is hardcoded and stuff, but with hackery it would make a nice BSD-licensed minimalist libc.
11:11:46 <ehird> But still, it's always going to be dictated by Android.
11:11:54 <ehird> Newlib is stale but, I think, acceptable.
11:11:57 <ehird> It feels very meh, though.
11:12:02 <ehird> And I don't like Red Hat.
11:12:07 <ais523> AnMaster: ick depends on a yacc-like and a lex-like
11:12:08 <ehird> AnMaster: That is one option.
11:12:13 <ais523> I don't think they have to be bison and flex specifically
11:12:16 <ehird> AnMaster: It'd be a lot of work, though. A lot.
11:12:22 <ehird> They use lots of BSD-only stuff.
11:12:28 <AnMaster> ais523, wasn't it some infinite lookahead for '. or something like that?
11:12:36 * AnMaster forgot the details of that parsing issue
11:12:38 <ehird> AnMaster: And BSD libc and BSD kernel are even more tied together than BSD kernel and BSD userland.
11:12:52 <ehird> I don't like being dictated by the whims of the developers of the BSD, y'know?
11:13:19 <ehird> I'm no good at optimisation.
11:13:54 <ehird> Anyway, maintaining a compatible libc would be a metric fuckton of work.
11:13:59 <ehird> Enough to build a small company around.
11:14:25 <ehird> dietlibc would be so, so perfect if only its author wasn't a lunatic who GPL licenses it to stop Microsoft stealing it *sigh*.
11:14:38 <AnMaster> ehird, what architectures will you support?
11:15:09 <ehird> before you ask the answer is compatibility
11:15:17 <ehird> i said that before that appeared on my screen :)
11:15:47 <AnMaster> I don't have sub-second timestamps
11:15:47 <ehird> anyway, 64-bit doesn't really have any advantages apart from registers
11:16:00 <ehird> it uses the PAE hack just like you can do in 32-bit, so no advantages for lots of memory
11:16:01 <AnMaster> ehird, and with more than 4 GB RAM.
11:16:21 <AnMaster> user space can't have more than 4 GB in one process
11:16:40 <ehird> that's a pretty edge user case.
11:17:18 <ehird> when it becomes common I'll flip some switches and make it 64-bit only
11:17:25 <ehird> (processes using over 4 GiB)
11:17:50 <AnMaster> ehird, and imagine working with IPv6 ips. dividing two of them on 32-bit needs a lot more operations than on 64-bit (no clue why you would do that though)
11:17:50 <ehird> AnMaster: anyway clearly the larger filesystems and higher ram usage cause the need to use >4 GiB, 64-bit is inverse-of-self-defeating ;-)
11:18:11 <ehird> IPv6 is divided into blocks
11:18:35 <ehird> you can, for instance, get all addresses divisible by 39853948
11:19:17 <AnMaster> but what then did you mean by blocks. Not same as I was thinking about presumably
11:19:23 <ehird> i'd like to watch a totally serious documentary that isn't outrageously absurd, except the only problem is it's filled with things that are total lies
11:20:00 <AnMaster> ehird, if it wasn't outrageously absurd, idiots would think it was true
11:20:23 <ehird> Just put "Note: All of the following contents are full of complete lies." at the start :P
11:21:02 <AnMaster> ehird, no one would see that, everyone would think it was the usual "you may not copy, lend, watch or touch this dvd blah blah"
11:21:13 <ehird> Then that is their problem.
11:21:53 <AnMaster> (that was an example of outrageously absurd btw)
11:23:00 <ehird> I think newlib is my best option for now
11:28:36 <Pthing> a while back i wrote 2/3 out in full peano set theoretic notation
11:28:45 <Pthing> all {{{{}}}{}{}{}{{}}}, rhythm
11:29:01 <Pthing> well yesterday i got round to turning that into music
11:29:26 <Pthing> so { goes up a n-tatonic tone, } goes down, a comma is a pause and so on similarly
11:29:43 <Pthing> http://users.aber.ac.uk/rhw6/music/halfsecrests5-tet.mp3
11:30:16 <Pthing> it is surprisingly (except not because it's pretty richly structured) melodic
11:30:21 <AnMaster> Pthing, peano set theoretic notation? *googles*
11:30:36 <Pthing> http://lebesgue.wordpress.com/2009/09/21/two-thirds-of-nothing/
11:31:04 <AnMaster> Pthing, that seems to be a rather verbose notation in any case
11:31:09 <Pthing> the integers are constructed as an equivalence set of ordered pairs of naturals
11:31:41 <Pthing> and 2/3 with a dedekind cut using integers
11:31:52 <ehird> Pthing: i like this mp3
11:32:14 <Pthing> there are shorter versions
11:32:16 <ehird> says the classical listener.
11:32:35 <AnMaster> ehird, usually you get around 10 minutes at most, unless it is Mahler.
11:33:10 <Pthing> http://users.aber.ac.uk/rhw6/music/onetwentiethat200hz.mp3 is 5 minutes for example
11:33:19 <Pthing> and considerably more manic, especially given it doesn't have rests
11:33:21 <ehird> Pthing: i'm listening to this and all three of my neurons dedicated to saying "hey is this philip glass" are firing ontinuously
11:33:26 <Pthing> it's also not on any musical scale
11:33:27 <AnMaster> Pthing, there is some bas sound in the bg?
11:33:30 <Pthing> ehird, yes, it's uncanny
11:33:31 <AnMaster> Pthing, of the first one I mean
11:33:50 <Pthing> AnMaster, two sources of gunk because I hacked it together quickly
11:33:58 <Pthing> the "rests" are actually 25 hz tones
11:34:18 <Pthing> the clicking is because when it adds tones, it just writes them sequentially, so it's all very cuspy
11:34:29 <Pthing> hence you get a clicking at every note, but I think it helps
11:34:35 * ehird pauses to listen to the 5m one
11:34:37 <ehird> AnMaster: wuick hack
11:34:52 <Pthing> i put it to 1 but something horrible happened
11:35:08 <ehird> http://users.aber.ac.uk/rhw6/music/onetwentiethat200hz.mp3 isn't very good. :P
11:35:18 <Pthing> well see it's not even scaled
11:35:30 <Pthing> it just turns the frequency up or down 200 hz linearly
11:35:41 <Pthing> doing it on a chromatic scale is also weird
11:35:42 <Pthing> http://users.aber.ac.uk/rhw6/music/onetenth12-tet.mp3
11:35:55 <Pthing> but it sounds a little like The Flight of the Bumble Bee
11:36:18 <AnMaster> Pthing, ghostly theme on hyper speed?
11:36:32 <Pthing> what's the ghostly theme
11:36:51 <AnMaster> Pthing, thing SNES RPG or such. Ghost wood. the theme there.
11:37:01 <AnMaster> where SNES RPG is any generic SNES RPG
11:37:07 <Pthing> i don't know it, but I see your point
11:37:22 <Pthing> the philip glass thing is a good point
11:37:39 <Pthing> if it were orchestrated properly, it would sound surprisingly good for all that it is entirely algorithmic
11:37:57 <Pthing> because I've not worked out how to get python to do midi yet
11:38:22 <Pthing> whereas getting it to write sine waves to wav is a matter of stealing code from somebody's blog
11:38:40 <AnMaster> Pthing, http://wiki.python.org/moin/PythonInMusic ?
11:38:54 <Pthing> yeah, i looked all that up
11:39:18 <Pthing> but i figured also i might as well just do bleep bloop sine waves to see if it was worth making it prettier
11:39:54 <ehird> http://users.aber.ac.uk/rhw6/music/halfsecrests5-tet.mp3 settles into a beat after a while
11:40:03 <AnMaster> Pthing, using silence for pauses might work better. Not sure though
11:40:06 <ehird> like, the repetition has abstracted away into a rhyythm
11:40:19 <Pthing> AnMaster, well undoubtedly yes
11:40:31 <ehird> I like the little pats
11:40:44 <AnMaster> Pthing, especially since I have good enough headphones to hear those 25 Hz tones quite clearly
11:41:08 <Pthing> yeah i probably ought to try that
11:41:14 <ehird> run it through a lowpass filter
11:41:24 <AnMaster> ehird, I'm just doing: $ mplayer http://users.aber.ac.uk/rhw6/music/halfsecrests5-tet.mp3
11:41:32 <AnMaster> would be a PITA to figure out how
11:41:36 <Pthing> i don't see any way short of like, smoothing out the waveform somehow to get rid of them, nor do I want to get rid of them
11:41:50 <Pthing> probably in the ~~real orchestration~~ there's some violins just going duhduhduhduhduh
11:41:53 <ehird> Pthing: open audacity, put wav in, lowpass
11:42:18 <AnMaster> Pthing, why insert silence instead from the beginning? Is that harder?
11:42:25 <ehird> http://upload.wikimedia.org/wikipedia/en/7/73/Spectrogram-of-swept-triangular-wave.png ;; the matrix data centre!
11:42:54 <Pthing> AnMaster, yeah, the way I've jambed the stolen code in, it's difficult to get it to pass through to silence
11:43:10 <Pthing> without adding more jambed code, by which point I shouldn't be jambing shit together like that
11:43:20 <AnMaster> Pthing, getting this on piano or such would be awesome
11:43:36 <Pthing> i still think it'd be better as a string quartet
11:43:59 <AnMaster> Pthing, maybe. Seems a bit too fast for that though
11:45:23 <Pthing> pizzicto would get the clickiness, I guess
11:46:06 <AnMaster> Pthing, I find it hard to believe any human could manage that for ~20 minutes though :P
11:46:12 <Pthing> then we'll build robots
11:46:19 <Pthing> a race of atomic supermen
11:46:23 <AnMaster> ehird, about the beat. There is a beat from the start to me
11:46:31 <ehird> aah I've always wanted a robotic math rock band
11:46:45 <ehird> their timing would be IMPECCABLE
11:48:17 <Pthing> oh wait hang on i think i see a way to get silences
11:48:49 <ehird> noo you'll ruin it
11:49:09 <fizzie> Just add "-af sinesuppress=25" or "-af equalizer=-12:0:0:0:0:0:0:0:0:0" to the mplayer command line. (Disclaimer: I don't know whether either one will work, can't seem to find a generic FIR filter there.)
11:49:27 <AnMaster> fizzie, the second one. What does it mean?
11:50:40 <fizzie> It's a 10-band equalizer; that line of numbers is telling it to provide -12 dB of amplification at 31.25 Hz, 0 on all other bands; it should at least make any 25 Hz frequency components less loud.
11:51:55 <ehird> the ending is n ice
11:54:08 <Pthing> yeah okay that sounds like it worked
11:55:53 <ehird> http://doc.cat-v.org/bell_labs/crabs/technical-memorandum.pdf
11:55:53 <ehird> awesome awesome awesome
11:59:16 <ehird> damn could you implement crabs on X11?
11:59:26 <ehird> nothing's stopping windows from fucking with each other right?
11:59:59 <AnMaster> ehird, what exactly does crabs do? I find that scanned text quite hard to read
12:00:21 <ehird> It's impossible at smaller sizes
12:00:24 <ehird> But at bigger sizes it's fine
12:00:33 <ehird> You really need to read it, it's awe-inspiring
12:00:39 <ehird> AnMaster: it gets better on the actual text
12:00:45 <ehird> starting "TECHNICAL MEMORANDUM", "Laws and violations"
12:00:58 <AnMaster> I read the laws and violations section
12:01:08 <AnMaster> quite funny. But I want like an abstract of crabs
12:01:17 <fizzie> Audacity's highpass filter gets rid of them reasonably well, but that's unarguably more work than just streaming through mplayer. (You really don't want to low*pass* at 25 Hz; unless you want to keep just them and discard everything else.)
12:01:25 <ehird> AnMaster: your loss; it's absolute genius
12:01:30 <ehird> summarising it would ruin it
12:01:48 <AnMaster> ehird, it is pixly when you zoom in
12:01:57 <ehird> Don't zoom in that far then.
12:02:22 <Pthing> http://users.aber.ac.uk/rhw6/music/halfsectruerests5-tet.mp3
12:02:59 <fizzie> *Oh*, the name wasn't about "secrets" at all.
12:02:59 <AnMaster> Pthing, those clicks. What causes them did you say?
12:03:18 <ehird> Pthing: sounds more mechanical
12:03:41 <Pthing> it seems to be because it writes half a second of sine wave at, say, A, then it goes up and immediately starts writing another sine wave a tone higher
12:03:49 <Pthing> so the waveform is cuspy
12:04:19 <ehird> AnMaster: do you realise how demanding that sounds
12:05:05 <AnMaster> that knowledge is assumed about
12:05:11 <ehird> A game of some sort.
12:05:19 <ehird> Doesn't matter too much
12:06:31 <ehird> This is from 1984, btw
12:06:42 <ehird> Bonus: It includes screenshots of circa 1984 graphical Unix environments
12:06:45 <ehird> Non-X11, I believe
12:06:53 <ehird> Including the 1-bit faces
12:07:49 <ehird> including code with k&r decls :)
12:08:05 <AnMaster> why was one of them *dicating code*
12:08:40 <ehird> Dictating i.e. explaining it
12:08:57 <AnMaster> just wondering why they did it like that
12:09:01 <ehird> No, dictating means reciting
12:09:04 <ehird> But in this context it means explaining
12:09:11 <ehird> And because people know English better than C
12:09:11 <fizzie> Pair programming, you know. Back in the eighties! How agile.
12:09:26 <ehird> Their PRODUCTIVITY. So high. SO HIGH
12:10:28 <AnMaster> wasn't it possible back then to draw to a private buffer and blit it to the screen or such?
12:10:44 <ehird> The graphical environment was called Blit.
12:10:59 <ehird> I don't know what you mean, though.
12:11:10 <AnMaster> ehird, double buffering basically I guess.
12:11:17 <ehird> Sure, why wouldn't you be able to
12:11:29 * AnMaster just read about "angry measles"
12:11:40 <ehird> It just gets better.
12:12:12 <AnMaster> ehird, I'm just wondering why they can't look at a private bitmap. which might or might not be hidden by a window on top. In theory that would work as wlel
12:12:29 <ehird> Because you can't access other process's memory.
12:12:54 <AnMaster> ehird, er. I think you misunderstood me
12:13:28 <AnMaster> I mean, like a modern game would do. Render to a canvas. You can read it yourself. Window system takes care of handling hiding part of it when another window is on top
12:14:13 <ehird> This has nothing to do with any of the demos.
12:17:39 <fizzie> Sure it does: anything that keeps a private bitmap and blits it on screen whenever some part of it changes (and periodically-but-often) is sort-of crab-immune. (The story about crabs eating someone's painting, for example, wouldn't really work on a modern painty program which doesn't use the screen as the only copy of the bitmap-being-edited.)
12:17:56 <fizzie> I'm not sure that sort of stuff would be fast enough on a terminal, though.
12:18:02 <ehird> Too slow, not simple enough.
12:18:12 <ehird> Not needed, because, you know.
12:18:19 <ehird> Only things like crabs break it.
12:18:32 <ehird> Besides, it's not something that's easy to discovevr.
12:18:43 <ehird> It's quite ludicrous to do two graphic writes to do one
12:21:19 <ehird> "TMBR: A mind consisting of computable determinism does not perceive."
12:21:19 <ehird> Guess I'm a p-zombie then
12:22:18 <fizzie> "Anti-evolutionist Don McLeroy, a dentist and chair of the Texas State Board of Education, testified at Friday's hearing: 'I disagree with these experts. Someone has got to stand up to experts.'" Yes! Down with the experts, I say! Always being all.. experty, all over the place!
12:22:29 <AnMaster> ehird, it mentions the lens being unaffected by being re-generated. Well, basically every modern app would be unaffected. terminal would be fixed by simply scrolling it up down a few steps
12:24:18 <fizzie> AnMaster: Unless you make the crab mark onto a separate mostly-transparent window, and use a bit of programming to always keep that on top of the window below.
12:25:02 <fizzie> That one Windows proggie that lets you shoot your windows with a shotgun, leaving permanent marks, does something like that, I think.
12:25:03 <AnMaster> fizzie, true, and what ehird said
12:25:40 <ehird> "I believe that best form of government is a mix of libertarian, socialitic, free market policies." how coincidental, i believe the best colour is both black and white
12:26:33 <ehird> "You are everybody but don't realize it." why am I reading this subreddit, it's just uninformed idiots stating their idiotic beliefs
12:26:40 -!- puzzlet_ has joined.
12:29:22 * ehird toys with the idea of registering rwx.st
12:30:02 <ehird> because I need a domain and it's short and catchy. rwx after the file permissions, st is a popular country-code-hijacked-for-generic-stuff dealie
12:30:43 <ehird> plus it looks aesthetically pleasing — http://rwx.st/bsdutils/releases/bsdutils-12.tar.gz
12:31:03 <fizzie> ehird: And then everyone can read, write and execute you!
12:31:21 <fizzie> Ooh, pointless X trickery: http://xdesktopwaves.sourceforge.net/
12:31:56 <ehird> Anyway, rwx.st is also pretty neutral, i.e. it's not really tied to anything because it's a meaningless jumble of letters
12:32:05 <ehird> Hard to fool myself into thinking I'll keep it forever, but eh.
12:33:01 <ehird> My only complaint is that on QWERTY, rwx is a bit left-biased.
12:33:15 <ehird> However, it's quite easy to type.
12:34:45 <AnMaster> fizzie, can't magnify screenshots
12:34:49 <ehird> i should write a mail server thing.
12:34:50 <augur> hows it goin, kids
12:35:14 <AnMaster> ehird, why write a mail server?
12:35:22 <ehird> cuz they all suck :/
12:35:25 <augur> cory doctorow has a new story out. :X
12:35:39 <fizzie> AnMaster: Yes. I also am a bit doubtful as to how well it works on modern, compositey 3d-fluffy X stuff; the proggie seems a bit on the old side.
12:35:50 <ehird> augur: does it include a really, really, really awkward sex scene? just kidding, of course it does
12:35:57 <AnMaster> fizzie, oh I thought it used composite
12:36:00 <ehird> (note: I have never actually read any cory doctorow novels)
12:36:09 <ehird> AnMaster: qmail is probably nice if you apply 500 paatches
12:36:19 <augur> ehird: i dont know. its about decommissioning the first AI
12:36:20 <AnMaster> ehird, yeah that is what netqmail is about
12:36:25 <fizzie> AnMaster: I don't really know; it's just that GCC 2.7 doesn't sound so new. But maybe they've just tested with old compilers too.
12:36:33 <ehird> augur: "twiddle my bits baby"
12:36:53 <AnMaster> fizzie, okay, xshape is old iir
12:36:56 <ehird> AnMaster: doesn't qmail depend on daemontools crap anyway?
12:37:19 <fizzie> AnMaster: Last release from Sat Dec 18 2004.
12:37:24 <ehird> how about rc-shell-script-init :P
12:37:41 <AnMaster> ehird, unsure. I would recommend a supervisor if possible. But not strictly needed I think
12:38:35 <ehird> Anyway, um something was meant to go here but I got distracted
12:39:09 <ehird> i have not yet slept.
12:39:30 <ehird> i'm sure it was relevant
12:39:35 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
12:39:39 <ehird> can't have been "it can't be too hard" writing a mail server will be a bitch
12:39:58 <ehird> wonder if i could avoid imap, just rsync from the server to get your mail :)
12:40:12 <ehird> ...since imap is really bad
12:40:46 <ehird> so is smtp come to think of it
12:41:07 <AnMaster> for like talking to other mail servers
12:41:08 <ehird> you can avoid it for sending your own mail, though
12:41:21 <ehird> for instance "ssh sendmail ..."
12:41:23 <AnMaster> well the mail server needs to use it to send it onwards
12:41:26 <ehird> (sendmail(1) != sendmail)
12:41:30 <ehird> AnMaster: well, yeah.
12:42:17 <AnMaster> ehird, ssh is bloated. Your distro should use telnet
12:42:29 <ehird> in fact i was just starting to write a line complaining about ssh
12:42:43 <ehird> the negotiation crap in ssh is so stupid
12:42:50 <ehird> "hurr let's put every encryption algorithm EVER"
12:42:56 <ehird> "and guarantee NONE OF THEM"
12:43:03 <ehird> "and then, just, like, chit-chat for hours to decide which to use"
12:43:14 <ehird> "WE ARE CRYPTOGRAPHERS FUCK YEAH"
12:43:32 <AnMaster> ehird, it doesn't seem to take long to me?
12:43:33 <ehird> also, ssh is really big so it's hard to trustt.
12:43:38 <ehird> AnMaster: everything is fast.
12:44:48 <ehird> i guess i should concentrate on getting myself some hardware
12:45:02 <ehird> them new, cheaper, cooler and more energy-efficient i7s are looking mighty purty
12:46:04 <ehird> lol, intel though will apparently never stop ripping people off
12:46:23 <ehird> same specs otherwise
12:47:00 <ehird> i mean really, is there a >=1 GHz processor in the world that cannot be overclocked by .13?
12:49:56 <AnMaster> ehird, depends on if the 2.8 ones are made from bad 2.93 ones
12:50:05 <AnMaster> like, "they still work just fine for the lower speed"
12:50:10 <ehird> no, i highly doubt that
12:50:21 <ehird> seeing as the core i7 is the highest-end desktop processor intel offer
12:50:23 <AnMaster> somewhat like the 3 core cpus from 4 core cpus with one bad core
12:50:45 <ehird> ...I'm driven to Core 2 slightly, though, because I'd like ECC...
12:51:00 <AnMaster> ehird, i7 doesn't support ECC?
12:51:16 <ehird> They're Xeon "Nehalem".
12:51:25 <AnMaster> ehird, why not go for that then
12:51:35 <ehird> Because it costs like $500 more just for the CPU.
12:52:20 <ehird> $639.99 for 2.93 GHz
12:52:29 <ehird> No 2.8 GHz option though, just 2.66 GHz at $269.99
12:53:21 <AnMaster> ehird, you probably want kernel and libc available in cpu specific versions. For other software generic would work well
12:53:31 <AnMaster> well, maybe video player. Not sure
12:53:33 <ehird> why? debian doesn't
12:53:41 <ehird> i don't see anyone complaining
12:53:49 <ehird> heck, debian are not even 686
12:54:00 <AnMaster> ehird, ubuntu does on i686 for i386 and i686 libcs iirc
12:54:20 <AnMaster> forgot when that was added exactly
12:54:24 <ehird> sounds like someone's using a pentium 4
12:54:30 <ehird> because it's a pessimisation on recent hardware
12:54:34 <ehird> and if you are using a pentium 4
12:54:44 <AnMaster> ehird, depends on if the branch is predictable
12:54:45 <ehird> can dead people use pentium 4s?
12:54:55 <ehird> http://ondioline.org/mail/cmov-a-bad-idea-on-out-of-order-cpus
12:55:23 <AnMaster> ehird, when I profiled I saw basically no difference on modern hardware. But a large speed up on a pentium 3
12:55:51 <ehird> everything is slow on a p3
12:56:08 <AnMaster> ehird, not really. remember than 14 second boot with arch and no initrd?
12:56:27 <ehird> wanna donate that box? :P
12:56:46 <ehird> stop saying pata nobody says pata
12:56:59 <fizzie> Debian does somewhat CPU-specific kernels; linux-image-2.6-{486,686,amd64} are available on the i386 platform.
12:57:10 <ehird> p3s actually went up to 1.4 GHz
12:57:47 <fizzie> AnMaster: Yes, if you want to run a 32-bit debian on an amd64-style CPU.
12:57:52 <fizzie> People do that sort of thing.
12:58:10 <ehird> Oh, a good reason to write my own mail server: to write my own mailing list software. Duh!
12:58:10 <fizzie> Oh, and libc6-{,i686,amd64} too.
12:58:23 <ehird> AnMaster: you can optimise for amd64 architectures without using long mode
12:58:38 <ehird> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
12:58:41 <ehird> NOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
12:58:50 <ehird> i hereby swear off mailing lists for ever and a day
12:58:57 * AnMaster forces ehird to read his font rendered in Ariel instead of Helvetica
12:59:05 <ehird> i define ariel to be an alias to helvetica
12:59:37 <AnMaster> Linux phoenix 2.6.31.5-L1 #1 Sun Nov 1 12:32:00 CET 2009 i686 Pentium III (Coppermine) GenuineIntel GNU/Linux
12:59:57 <ehird> http://en.wikipedia.org/wiki/Intel_Core#Core_i9
13:00:03 <ehird> six cores? next year?
13:00:08 <AnMaster> total used free shared buffers cached
13:00:15 <ehird> FUCKING WITH MY MIND AND SHIT
13:00:16 <ehird> at least it's the same socket
13:00:21 <ehird> I HAVE LOTS OF MONEY ANYWAY RIGHT?
13:00:29 -!- fax has joined.
13:00:48 <AnMaster> ehird, why do you need high end hardware?
13:00:49 <ehird> well i have quite a bit but that's just because i never buy anything and little amounts accumulate, funny how that works
13:00:58 <fizzie> I can't even get my puny 4G used:
13:00:59 <fizzie> total used free shared buffers cached
13:00:59 <fizzie> Mem: 3835 2116 1719 0 139 964
13:01:03 <AnMaster> ehird, oh btw your distro might be binary. but to *you* it will be source based
13:01:13 <AnMaster> you will make the binary packages
13:01:16 <ehird> AnMaster: separate step
13:01:26 <ehird> i can install a package i compiled earlier that i'm not using
13:01:32 <ehird> so really it's just like maintaining a source tree
13:01:37 <ehird> a horrible source tree
13:01:41 <ehird> full of horrible software
13:02:29 <AnMaster> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pse36 mmx fxsr sse
13:02:42 <ehird> AnMaster: also because high end hardware is fast. and if you're careful with your system config and willing to get your hands dirty you can get it for quite cheap
13:03:11 <ehird> and it's way cooler to have a silent supercomputer on the floor than a silent lagger
13:03:55 <fizzie> flags : fpu vme de pse tsc msr mce cx8 sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 tm pbe bts est tm2
13:04:17 <fizzie> Yes, but not so much more.
13:04:35 <AnMaster> model name : Pentium III (Coppermine)
13:05:05 <ehird> INTEL 4004 FUCK YEAH
13:05:10 <fizzie> An "Intel(R) Pentium(R) M processor 1400MHz"; it's just the speedstep-or-whatever-they-called-their-cpufreq-thing that's made it 600 MHz.
13:05:33 <AnMaster> fizzie, my p3 doesn't support cpufreq changes
13:05:45 <AnMaster> ehird, sure. But you don't have one
13:05:52 <AnMaster> ehird, and those spaces are all messed up
13:05:59 <AnMaster> not aligned like what I pasted
13:06:00 <fizzie> The Atom I have has more flags than the Athlon X2.
13:06:01 <fizzie> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl tm2 ssse3 cx16 xtpr pdcm movbe lahf_lm
13:06:06 <ehird> i just copied the spaces from your first line
13:06:28 <AnMaster> ehird, um they are aligned in monspace. so it can't be same for all
13:06:30 <ehird> 12 GiB of RAM for $249.99? why, don't mind if I do
13:06:35 <ehird> AnMaster: don't care
13:07:02 <AnMaster> fizzie, heh that's quite a mouthful
13:07:11 <AnMaster> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 lahf_lm tpr_shadow vnmi flexpriority
13:07:17 <fizzie> I think they're just making those up nowadays.
13:07:21 <AnMaster> model name : Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz
13:07:44 <ehird> $291.98 for 12 GiB DDR3 ECC.
13:09:01 <fizzie> flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx lm constant_tsc arch_perfmon pebs bts rep_good pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm tpr_shadow vnmi flexpriority
13:09:28 <fizzie> That's a work-workstation; we're almost flag-buddies, though there's some difference somewhere, judging from the length.
13:09:55 <fizzie> "Intel(R) Core(TM)2 Quad CPU Q9400 @ 2.66GHz", and apparently it has xsave that yours doesn't.
13:09:56 <ehird> ugh, why can't i7 processors just support ecc?
13:11:10 <fizzie> AnMaster: No idea. And according to http://en.wikipedia.org/wiki/List_of_Intel_Atom_microprocessors the Atom 230 I have has "XD bit (an NX bit implementation)".
13:11:18 * ehird filters mobos by manufacturer=intel
13:11:36 <ehird> AnMaster: damn foolin' mobo vendors ain't gonna fool me no' mo'!
13:11:45 <ehird> at least i can trust intel to have a rock solid board
13:11:51 <ehird> also: intel graphics
13:12:04 <ehird> admittedly i don't know if you can get intel graphics on the i7 boards
13:12:24 <AnMaster> ./include/asm/cpufeature.h:#define X86_FEATURE_XSAVE (4*32+26) /* XSAVE/XRSTOR/XSETBV/XGETBV */
13:12:34 <AnMaster> that is in /usr/src/linux-*/arch/x86
13:13:18 <AnMaster> http://lwn.net/Articles/281921/
13:13:34 <ehird> why haven't you realised a good processor since the last time I checked up on you
13:14:54 <fizzie> Heh, this X2 workstation I have has an Athlon 64 X2 5600+ with a rated TDP of 89 W; the Atom box has a TDP of 4 W. That's quite a difference in performance/watt; I mean, this box is faster, but it's certainly not 89/4 times faster.
13:14:57 <ehird> it'd be cool if you could buy actual intel graphics cards
13:15:27 <AnMaster> fizzie, I don't think it scales linearly anyway. but even so
13:19:20 <fizzie> The CSC guy's "future of supercomputing" presentation had one slide, where they had calculated some specs for a hypothetical one exaflops supercomputer using today's tech; it was something like half a million cores, using about 300 megawatts of power; that's 35 % of one of Finland's four nuclear reactors. Not very feasible.
13:21:28 <fizzie> It's funny how Wikipedia's "nuclear power plant" infobox has a "Status: Operating" line, and the "Operating" text is coloured green. It makes it look like it's hooked directly to the reactor sensors and displays real-time data.
13:22:49 <AnMaster> ehird, btw that cmov related link. Have you actually read it all?
13:22:58 <AnMaster> "It really all boils down to: there's simply no real reason to use cmov.
13:22:58 <AnMaster> It's not horrible either, so go ahead and use it if you want to, but don't
13:22:58 <AnMaster> expect your code to really magically run any faster.
13:23:11 <ehird> my y and u keyss are swapped
13:23:19 <ehird> AnMaster: yes but it demonstrates that having cmov versions of kernels is tupid
13:24:21 <ehird> and syntax highlighting
13:24:39 <ehird> AND AUTOINDENTATION
13:24:50 <ehird> and paren matching
13:25:28 <ehird> you know which xedit i'm talking about right?
13:25:43 <ehird> protip: control+middle button -> edit mode -> C/C++
13:25:49 <ehird> type in a simple program and see it get autoindented and highlighted
13:25:52 <ehird> i never even knew.
13:27:17 <AnMaster> ehird, I hardly remember xedit
13:27:18 <fizzie> FirePath (a VLIW-ish -- two ops per instruction, so maybe not so V -- all-SIMD architecture used in central-office DSL stuff) has a funky SIMD-conditional-execution thing.
13:27:23 <ehird> AnMaster: start it and you'll remeember
13:28:12 <fizzie> http://everything2.com/title/FirePath has a bit of an example.
13:28:13 <AnMaster> ehird, unable to find it. And ubuntu doesn't list a package containing it
13:28:21 <ehird> um... it comes with x
13:28:27 <ehird> failing that, install xedit package?
13:28:58 <AnMaster> W: Unable to locate package xedit
13:29:04 <ehird> use the dpkg search thing
13:29:15 <fizzie> (Sophie Wilson was a guest at the Altparty event; first time I heard about FirePath. It's sadly so very unknown, except to people who do the DSL stuff.)
13:29:25 <AnMaster> ehird, what is the case for the binary?
13:29:46 <AnMaster> $ apt-file find /usr/bin/xedit
13:30:03 <AnMaster> ehird, I'm afraid ubuntu doesn't have it (jaunty at least)
13:30:10 <fizzie> "/usr/bin/xedit x11-apps [not avr32] "
13:30:42 <fizzie> No files called "xedit" in Ubuntu-jaunty. :/
13:32:06 <fizzie> karmic's "x11-apps" has xedit, too; that's even queererer.
13:32:24 <AnMaster> x11-apps exists, contains no xedit?
13:32:44 <fizzie> http://packages.ubuntu.com/jaunty/x11-apps → http://packages.ubuntu.com/karmic/x11-apps -- the only difference is the xedit line.
13:33:01 <AnMaster> fizzie, changelog entry about it?
13:33:09 <fizzie> x11-apps (7.4+2) unstable; urgency=low
13:33:09 <fizzie> * Add xedit 1.1.2, closes: #499085, #505064.
13:33:24 <fizzie> x11-apps (7.3+4) unstable; urgency=low
13:33:24 <fizzie> * Remove xedit from the package, it's unmaintained and broken
13:33:24 <fizzie> * Remove xedit's conffiles on upgrade.
13:33:57 <fizzie> You can probably check out those bug report numbers for more details.
13:33:58 * AnMaster is too lazy to check those bugs out
13:34:08 <AnMaster> argh you were half a second faster
13:34:48 -!- MigoMipo has quit (Ping timeout: 180 seconds).
13:35:13 <ehird> hey, xedit is actually pretty good for editing C!
13:35:40 <ehird> the syntax highlighting is very complete, the colours pleasing, the automatic indentation perfect...
13:35:46 <ehird> and the keybindings good
13:36:11 <fizzie> Ubuntu bug #1: "Microsoft has a majority market share". Declined for Edgy, Feisty, Gutsy, Hardy, Intrepid, Karmic; Nominated for Lucid. Sure. (Though I guess it's been that way all the time.)
13:36:48 <ehird> I always feel stupid doing
13:37:05 <ehird> AnMaster: presumably he was commenting on the nomination
13:37:21 <AnMaster> ehird, yes but why the break after it. It isn't required afaik
13:37:33 <AnMaster> you can have fall through cases after all
13:37:59 <AnMaster> ehird, so yeah you should feel stupid
13:38:14 <ehird> i think inconsistency is worse.
13:38:25 <AnMaster> ehird, hm gcc at least should be able to figure out exit() never returns, since it has __attribute__((noreturn)) iirc
13:42:43 <ehird> things i don't like: the part where xedit just crashed onm me
13:44:08 <AnMaster> (but a bug that it is active when INTERCAL syntax highlighting isn't used)
13:51:13 <AnMaster> ehird, install debugging symbols. Run under gdb
13:51:34 <ehird> prolly apple's x11 server
13:58:53 -!- Telesforo has joined.
14:00:22 -!- Telesforo has quit (Client Quit).
14:00:54 <fizzie> "Message sending failed. Check E-Mail settings." Yay, what a colossally helpful error message.
14:01:23 <Deewiant> Better than "[c]ontact your system administrator."
14:03:00 <fizzie> Got it from the phone when trying to send outgoing email. I guess it's possible the operator has a different outgoing-SMTP server for us mobile users, it's just that the only one I can find from the support pages is the one on their generic "email settings" page.
14:07:22 <fizzie> Right, there's some sort of blog comment saying that it's "smtp.mobiili.net" for that. Great.
14:08:20 <fizzie> Not that it works any better with that.
14:09:32 <ehird> okay, this is just ridiculous
14:09:35 <ehird> xedit has a lisp evaluator
14:12:30 <fizzie> No, *this* is ridiculous: To send email, I have to go to mailbox settings and toggle the "Security" setting to "Off", because otherwise it tries to use SMTP-over-SSL, which is not supported by the operator's outgoing SMTP server. To read email, I have to go back to the settings and toggle "Security" to "On", because that's the only way to make it use IMAP-oer-SSL, which is required by the IMAP server.
14:13:12 <fizzie> Okay, I guess the Lisp evaluator is pretty ridiculous too. Still.
14:20:54 <fizzie> That's funny; the 25 second sound clip is 2208 bytes. Format's 8 kHz narrowband AMR; since even the lowest codec in that family is 4.75 kbit/s, and that file has about 700 bits/s, I'm forced to conclude that it's just using the "store some statistics of the background noise and not the signal itself" mode for the whole file.
14:21:14 <fizzie> Maybe the phone wasn't the best possible device for recording the suspicious-sounding power supply noise after all.
14:32:05 -!- BeholdMyGlory has joined.
14:37:25 <AnMaster> <Deewiant> Better than "[c]ontact your system administrator." <-- why the [] around c?
14:38:12 <ehird> english quotation style fail.
14:40:14 <AnMaster> fizzie, store statistics of signal noise? is there really a sound format with that?
14:40:49 <fizzie> AnMaster: http://en.wikipedia.org/wiki/AMR-NB -- it's called Comfort Noise Generation (CNG) there.
14:41:24 <fizzie> I think Speex has it too.
14:41:48 <fizzie> At least the VAD and DTX parts; maybe not the noise generation.
14:42:23 -!- migomipo has joined.
14:42:47 <fizzie> "Discontinuous transmission is an addition to VAD/VBR operation, that allows to stop transmitting completely when the background noise is stationary. In a file, 5 bits are used for each missing frame (corresponding to 250 bit/s)." I guess Speex doesn't store noise statistics, at that. Well, AMR does, anyway.
14:44:06 <Deewiant> AnMaster: Indicates that it was originally capitalized but I changed it to lower case.
15:11:32 -!- ehird has quit.
15:16:01 <augur> i think im going to go to a cafe and chill for the whole day
15:16:14 <augur> who thinks i should do this?
15:25:03 -!- augur has quit (Read error: 60 (Operation timed out)).
15:34:01 -!- atrapado has joined.
15:37:05 -!- Pthing has quit (Remote closed the connection).
15:47:46 -!- atrapado has quit (Read error: 104 (Connection reset by peer)).
16:53:43 -!- FireFly has joined.
17:00:15 -!- BeholdMyGlory has quit (Remote closed the connection).
17:01:02 -!- Asztal has joined.
17:07:47 -!- BeholdMyGlory has joined.
17:11:51 -!- coppro has joined.
18:03:42 -!- FireFly has quit ("Later").
18:06:39 -!- BeholdMyGlory has quit (Remote closed the connection).
18:13:09 -!- fax has quit ("Leaving").
18:23:45 -!- BeholdMyGlory has joined.
18:30:35 -!- Jaykul[AFK] has changed nick to Jaykul.
19:16:25 -!- oerjan has joined.
19:22:55 <AnMaster> oerjan, but you weren't here hours ago when I read it
19:23:04 <AnMaster> oerjan, what the hell was it about now again?
19:23:27 <oerjan> two clearly linked concepts
19:29:03 -!- Oranjer has joined.
19:43:03 -!- FireFly has joined.
19:43:36 -!- FireFly has quit (Nick collision from syn.).
19:43:39 -!- ais523 has quit (Nick collision from syn.).
19:43:39 -!- AnMaster has quit (Nick collision from syn.).
19:43:42 -!- coppro has quit (Nick collision from syn.).
19:43:44 -!- comex has quit (Nick collision from syn.).
19:43:44 -!- EgoBot has quit (Nick collision from syn.).
19:43:48 -!- migomipo has quit (Nick collision from syn.).
19:43:48 -!- BeholdMyGlory has quit (Nick collision from syn.).
19:43:50 -!- Deewiant has quit (Nick collision from syn.).
19:43:59 -!- adam_d has quit (Nick collision from syn.).
19:43:59 -!- dbc has quit (Nick collision from syn.).
19:43:59 -!- Asztal has quit (Nick collision from syn.).
19:44:01 -!- fungot has quit (Nick collision from syn.).
19:44:01 -!- fizzie has quit (Nick collision from syn.).
19:44:01 -!- Slereah_ has quit (Nick collision from syn.).
19:44:01 -!- cal153 has quit (Nick collision from syn.).
19:44:03 -!- comex_ has joined.
19:44:08 -!- FireFly has joined.
19:44:14 -!- AnMaster has joined.
19:44:17 -!- Deewiant has joined.
19:44:25 -!- comex_ has quit (Nick collision from syn.).
19:44:25 -!- fizzie` has joined.
19:44:26 -!- AnMaster has quit (Nick collision from syn.).
19:44:26 -!- FireFly has quit (Nick collision from syn.).
19:44:29 -!- fizzie` has quit (Nick collision from syn.).
19:44:33 -!- ais523 has joined.
19:44:35 -!- Slereah has joined.
19:44:42 -!- FireyFly has joined.
19:44:49 -!- cal153 has joined.
19:44:58 -!- fizzie has joined.
19:45:01 -!- Asztal has joined.
19:45:02 -!- adam_d has joined.
19:45:05 <ais523> ##overflow is filling up massively fast
19:45:22 <ais523> I think the server went mad and decided to K-line /everyone/
19:45:29 -!- BeholdMyGlory has joined.
19:45:30 <fizzie> -syn- Your reported IP [0.0.0.15] is banned: christel; Your access to freenode has been terminated. klines@freenode.net with questions. (2009/02/19 18.45)
19:45:31 -!- EgoBot has joined.
19:45:36 <fizzie> Yes, that was pretty strange.
19:45:43 -!- coppro has joined.
19:45:50 <fizzie> Incidentally, I don't think my IP is 0.0.0.15.
19:47:10 <ais523> oh, my IP was reported as 0.0.0.10
19:47:22 -!- dbc has joined.
19:47:29 <fizzie> "-Md- [GlobalNotice] sorry for the recent mass-kill issue! we are investigating what happened exactly" Heh. "Sorry that we killed you. Our bad."
19:47:29 <ais523> I'm not surprised that that IP is banned
19:47:30 -!- AnMaster has joined.
19:47:42 <ais523> but I am surprised that it misdetected the IP that badly
19:48:49 -!- comex has joined.
19:54:40 <ais523> AnMaster: freenode went mad and k-lined /everyone/
19:54:44 <AnMaster> -syn- Your reported IP [0.0.0.10] is banned: christel; Your access to freenode has been terminated. klines@freenode.net with questions. (2009/02/19 18.45)
19:54:45 <FireyFly> [20:46:50] <Md> [>> $*] [GlobalNotice] sorry for the recent mass-kill issue! we are investigating what happened exactly
19:55:09 <Oranjer> yay me! I love being immune to horrible, horrible bad luck
19:55:34 <FireyFly> [20:45:52] <fizzie> Incidentally, I don't think my IP is 0.0.0.15.
19:55:34 <FireyFly> [20:47:12] <ais523> oh, my IP was reported as 0.0.0.10
19:55:39 <FireyFly> And yes, my was reported as .15
19:55:41 <AnMaster> FireyFly, I wasn't connected at that point I think
19:55:50 <fizzie> That's three .10s, two .15s.
19:55:55 <AnMaster> at least I never got the message
19:56:35 <AnMaster> I heard some on another network (chatspike) that mentioned being unaffected. They all used ipv6
19:56:53 -!- puzzlet has joined.
19:57:30 * oerjan was never k-lined, he thinks.
19:58:19 <AnMaster> still joining channels it seems
19:59:49 -!- Oranjer has quit (Nick collision from services.).
20:00:27 -!- Oranjer has joined.
20:00:53 <oerjan> i am unable to _list_ #freenode
20:02:19 <oerjan> i don't think i am using ipv6 to connect to freenode
20:02:27 -!- Oranjer has left (?).
20:02:32 <oerjan> 21:00 LIST Server load is temporarily too heavy. Please wait a while and try again.
20:02:51 <AnMaster> * Channel #freenode modes: +tncPLfJ
20:02:56 <oerjan> AnMaster: /list command?
20:03:07 -!- Oranjer has joined.
20:03:28 <fizzie> Deewiant: Ooh, your number is very big.
20:03:29 <MizardX> « quit » {AnMaster} {n=AnMaster@90.130.2.147} Nick collision from syn.
20:05:10 <AnMaster> oerjan, I don't think you remember what that does. And I'm too lazy to explain
20:05:12 <AnMaster> plus it won't work on freenode anyway
20:06:25 <oerjan> what doesn't work on #freenode? i've used /list many times
20:07:38 <AnMaster> oerjan, you mean /names or /who
20:08:00 <oerjan> AnMaster: i _was_ listing a channel. sheesh.
20:08:16 <oerjan> it's what i use to see a channel topic
20:08:31 <AnMaster> oerjan, can you list #gentoo or something like it?
20:08:58 <oerjan> 21:08 #gentoo 756 Gentoo Linux support | Can't speak? /join #gentoo-ops | Paste over 4 lines? http://dpaste.com | KDE4? xrl.us/otdxr + #gentoo-kde | e2fsprogs block fix: xrl.us/bea7ut | X Server 1.5? Bust KB/Mouse? xrl.us/bem6c4 1.6? http://xrl.us/bfqrjt | poppler blocks? xrl.us/bephtt | Gentoo 10.0 LiveDVD: xrl.us/gentoo10years | Profiles:
20:09:04 <oerjan> 2008.0->10.0 | irefox/ nvidia-drivers/ glibc/ nptl downgrade? sync and retry
20:09:54 <AnMaster> <+RichiH> -- PLEASE READ: we had a massive bug in one of our internal service bots which caused a massive, network-wide kill. that christel was mentioned is pure chance so please do not message her about it. we are working on fixing the problem. the bot has been disabled, for now --
20:10:05 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
20:10:56 <oerjan> AnMaster: i don't think i have tried to use /list without a channel argument, if that's what you mean. i'm not _that_ stupid :D
20:18:46 -!- FireyFly has changed nick to FireFly.
20:22:48 -!- ais523 has quit (Read error: 110 (Connection timed out)).
20:53:45 * pikhq too wasn't disconnected
20:59:17 -!- augur has joined.
21:00:00 <Ilari> I think I figured out who was disconnected (which also explains why I wasn't).
21:01:41 <Ilari> Pretty much anybody whose local part of ident starts with 0-9, a-f or A-F. Mine starts with 'u' (the real account name would start with 'I').
21:02:56 <oerjan> hm maybe it did things alphabetically and was stopped halfway through
21:03:29 * oerjan goes to see what that http://announce.freenode.net link was about
21:08:39 <Ilari> Some apparently think that it is not possible to have Unix login names that start with capital letter. Not true.
21:10:10 -!- Rugxulo has joined.
21:11:32 <Ilari> login[21013]: FAILED LOGIN (2) on '/dev/tty4' FOR 'UNKNOWN', Authentication failure login[21013]: pam_unix(login:session): session opened for user Ilari by LOGIN(uid=0)
21:12:08 <Ilari> The first is what one gets for trying to log in as user 'ilari'.
21:13:09 <AnMaster> Ilari, eh, well it is case sensitive
21:13:15 <pikhq> It's certainly possible. It just makes logging in a pain on certain old terminals.
21:13:22 <pikhq> (which are still supported by termcap)
21:14:36 <Ilari> The reason why it wasn't possible in some systems is compatiblity feature of terminal emulation. But Linux TTY emulator doesn't have that feature (because it doesn't need it).
21:16:36 <Gregor> http://www.amazon.com/Essential-Vivaldi-Masterpieces-Amazon-Exclusive/dp/B002POQ2UQ . Go. Buy.
21:21:36 <MizardX> Haha... What would Vivaldi think if he saw that?
21:23:24 <fizzie> Oh, so the IP is also about hexadecimals; so 'ais523' => 0xa => 10 => 0.0.0.10; 'fis' => 0xf => 15 => 0.0.0.15; 'deewiant' => 0xdee => 3566 => 0.0.13.238.
21:23:55 <Gregor> MizardX: Well, after taking a few years to explain the very most basics of all the technology employed, the value of a dollar, and the major changes in economic conditions from when he was alive 'til now, I'm thinkin' not much.
21:24:18 -!- oerjan has quit ("leaving").
21:24:39 -!- adam_d has quit (Read error: 60 (Operation timed out)).
21:24:44 <Rugxulo> he was (apparently) a priest, so I doubt he cared about money
21:24:45 <Deewiant> Ah, it was in the announcement.
21:31:32 -!- Rugxulo has quit (Read error: 104 (Connection reset by peer)).
21:31:42 -!- Rugxulo has joined.
21:34:35 <Rugxulo> AnMaster> unless things got a lot more bloated since 2007
21:36:19 <fizzie> Deewiant: I read the announcement only after spotting that fact; though admittedly I spotted it only after hexadecimals were mentioned.
21:39:20 -!- adam_d has joined.
21:39:37 -!- Oranjer has left (?).
21:44:35 <AnMaster> conclusion from this symbol: ⇔ dejavu has sucky hinting outside the more common symbols.
21:45:04 <AnMaster> somewhat better on the higher DPI screen of my laptop. But not much
21:45:35 -!- madbrain has joined.
21:45:41 <Gregor> AnMaster: Yeah, that's pretty awful.
21:45:43 <madbrain> Anyone interested in a system design compo?
21:45:49 <madbrain> http://s.engramstudio.com/src/sdc.txt <- tentative rules
21:45:54 <AnMaster> Gregor, you see what it is supposed to be?
21:46:13 <Gregor> AnMaster: Liberation mono is a bit better.
21:46:31 <AnMaster> Gregor, sans-serif and monospaced? as many symbols?
21:46:43 <madbrain> I could make a version of the compo with faster fast page ram or EDO or SDRAM but that's more complicated and can wait
21:46:46 * pikhq may need to switch fonts -- that is rather annoying.
21:46:49 <Gregor> Yes, yes and yes. But by "a bit" I really meant "a bit", not "a lot".
21:47:36 <pikhq> AnMaster: From Deja Vu Sans Mono.
21:47:45 <AnMaster> pikhq, you could make a patch or something
21:47:48 <pikhq> The other Deja Vu fonts seem to have nice hinting.
21:47:57 <AnMaster> pikhq, but you need mono space
21:48:14 <AnMaster> just do /msg chanserv help (or /cs help on a properly set up client)
21:48:15 <pikhq> Not all that nice when it comes to things like <=> or => or ->...
21:48:29 <pikhq> AnMaster: I use a terminal for most things.
21:48:41 <pikhq> -> and => are hard to distinguish.
21:48:50 <pikhq> (the combination, not the two-character sequence)
21:49:32 <AnMaster> Liberation mono? seems to be missing it *goes font hunting*
21:53:09 <Rugxulo> ... from the depths of the netherworld!
21:53:39 <AnMaster> Rugxulo, hah. No that is the gentoo command to install a package
21:54:56 <AnMaster> brb restarting client to make it see the new fonts...
21:55:27 <AnMaster> why couldn't it see the new ones on the fly
21:55:39 * AnMaster just reconnected to the bouncer
21:56:13 <AnMaster> Gregor, that liberation is smaller at 9 pt
21:56:42 <Gregor> Liberation mono is sans serif.
21:56:53 <Gregor> Hrm. Actually, it seems to be inconsistent-serif :P
21:57:28 <Gregor> You fontophiles are idiots.
21:57:36 <Rugxulo> AnMaster, yes I (barely) recognized that ... but at first it looked strange ;-)
21:57:47 <Gregor> I can understand the complaint about <=>, but this is just nonsense.
21:57:48 <AnMaster> <Rugxulo> AnMaster, yes I (barely) recognized that ... but at first it looked strange ;-) <-- what?
21:57:59 * AnMaster doesn't have scrollback from before disconnecting
21:58:19 <Rugxulo> <AnMaster> Rugxulo, hah. No that is the gentoo command to install a package
21:58:31 <AnMaster> Gregor, I'm no fontofile. I prefer Ariel over Helvetia because the font spacing is proper in konqueror with it
21:58:56 <AnMaster> Gregor, I'm the person who is interested in proper colour handling
21:59:20 <Rugxulo> <ehird> everything is slow on a p3
21:59:31 <Rugxulo> some P4s are allegedly slower than some P3s !!
22:00:32 <Rugxulo> so you still run a P3 box?
22:01:13 <Gregor> <Rugxulo> some P4s are allegedly slower than some P3s !! ; It is true of all lines of Intels (at least since P1pro) that there are early models of the newer one that is slower than the latest models of the previous one.
22:01:44 <Rugxulo> <ehird> six cores? next year?
22:01:48 <AnMaster> I swear it is faster than the 2 GHz P4 I used to have
22:01:49 <Rugxulo> I thought that was later this year? (guess not)
22:02:00 <Rugxulo> faster at what, Gentoo or something else?
22:02:24 <Gregor> AnMaster: That's just because the P4 is always running so hot that it has to run slow to avoid melting :P
22:02:39 <Rugxulo> seriously, that's probably true
22:02:55 <AnMaster> Rugxulo, compiling, running stuff, generic. And the p4 ran gentoo, but the p3 runs arch
22:02:56 * Rugxulo has a P4, hasn't used it too much lately except when router got scrambled temporarily
22:03:03 * pikhq should get a P4 for the sake of warming his coffee
22:03:14 <Rugxulo> compiling depends on the GCC used, etc.
22:03:21 <pikhq> Though, knowing P4s, that should more be "making his coffee"...
22:03:27 <AnMaster> Rugxulo, the p4 broke in early 2006 iirc
22:03:41 <Rugxulo> what exactly broke on it? just stopped working?
22:03:42 <AnMaster> the p3 I got my hands on in mid 2007
22:04:09 <Rugxulo> the only really "bad" part about a P3 is how heavily ignored SSE1 is by programmers
22:04:18 <AnMaster> Rugxulo, it refused to boot. Removing CPU showed some black parts on it
22:04:54 <Rugxulo> P4 broke even classic software optimizations, so no wonder it was slow
22:05:12 <AnMaster> Rugxulo, and heatsink and such was cleaned regularly.
22:05:43 <Rugxulo> <AnMaster> ehird, I estimate it is around 17 C indoors atm
22:05:52 <Rugxulo> you could maybe use another one to kill two birds with one stone ;-)
22:06:07 <AnMaster> Rugxulo, I care about environment a bit
22:06:18 <AnMaster> so I try to go by bus instead of car and so on
22:06:48 <AnMaster> (no train around here that could do the job. well there are trains, but they don't go on useful times)
22:06:50 <Rugxulo> I know I know, P4 isn't optimal in any form
22:10:46 <Rugxulo> your laptop already has VMX?
22:10:59 <Rugxulo> oops, sorry, brain lapse, thought it said AVX
22:11:34 <Rugxulo> 2.26 Ghz, does it get good battery life?
22:12:49 <Rugxulo> <ehird> it'd be cool if you could buy actual intel graphics cards
22:12:54 <Rugxulo> not if you want to use latest Ubuntu :-P
22:13:24 <AnMaster> <Rugxulo> oops, sorry, brain lapse, thought it said AVX
22:13:45 <AnMaster> Rugxulo, as for battery life. around 3 hours with wlan off
22:14:17 <AnMaster> due to the storm of broadcasts from misconfigured laptops at university
22:14:24 <AnMaster> you know. mdns, upnp and so on
22:14:44 <Rugxulo> <ehird> um... it comes with x
22:14:51 <Rugxulo> then that's not the Xedit I was thinking of
22:15:01 <AnMaster> Rugxulo, oh you were talking about the flags I posted?
22:15:20 <Rugxulo> probably ... yes, sorry, reading logs in lieu or real conversation ;-)
22:15:32 <Rugxulo> 3 hours w/ what size battery? 12 cell???
22:15:50 <Rugxulo> that's still better than mine
22:16:00 <AnMaster> Rugxulo, it is more like 2 hours and 55 minutes though
22:16:42 <Rugxulo> AMD64x2 1.7 Ghz w/ 6 cell only gets 2 hours MAX on power saver!! (e.g. both cores halved)
22:16:59 <AnMaster> Rugxulo, AMD CPUs use more power
22:17:00 <AnMaster> other than that they are better IMO
22:17:23 <Rugxulo> I knew AMD used more power, but still ... pretty crappy to not even be able to watch a 2 hour DVD, barely
22:17:31 <Rugxulo> and it still gets noticeably warm, bah
22:17:44 <AnMaster> Rugxulo, oh I never tried watching dvd on it
22:17:47 <Rugxulo> but it does at least match (or surpass) my P4 in performace
22:17:58 <Rugxulo> I don't either, just saying, kinda inconvenient
22:18:02 <AnMaster> Rugxulo, I plan to replace the dvd drive in the ultrabay with an extra battery
22:18:19 <Rugxulo> you can get a 12-cell, probably helps more than replacing the DVD drive
22:18:27 <AnMaster> Rugxulo, no place in backpack for that
22:18:33 <Rugxulo> also probably my fault for using Vista (even 7 claims better battery life)
22:18:46 <AnMaster> Rugxulo, I use linux. Of course.
22:18:54 <Rugxulo> though I remember antiX Mepis not being too great either (shut off without warning)
22:18:55 <AnMaster> can't use anything lacking a proper shell
22:19:18 <Rugxulo> some "lightweight" Mepis derivative
22:19:36 <Rugxulo> I've tried a billion liveCDs, just never installed any
22:20:16 <AnMaster> because things just work. Mostly
22:20:19 <Rugxulo> http://antix.mepis.org/index.php/Main_Page
22:20:26 <Rugxulo> haven't tried it lately, had a few issues I didn't like
22:20:37 <Rugxulo> but at least it had DOSBox by default, which I liked
22:20:54 <AnMaster> Rugxulo, where would I find software to run in it
22:21:04 <AnMaster> it would be one or two clicks away in most distros
22:21:24 <Rugxulo> I have a (lame) DOS-related website
22:21:37 <AnMaster> Rugxulo, never saw the point of DOS
22:21:55 <Rugxulo> then use 4DOS or DJGPP Bash ;-)
22:22:04 <AnMaster> Rugxulo, and no memory protection
22:22:22 <Rugxulo> memory protection in DJGPP (and other DPMI stuff), etc.
22:22:25 <madbrain> djgpp + libraries helps with a couple of these
22:22:30 <AnMaster> hell even Apple's System 7 had multi tasking. (no memory protection though)
22:22:37 <Rugxulo> multitasking not free but exists (Win 3+, Desqview, DR-DOS 7)
22:22:58 <AnMaster> Rugxulo, yeah. Windows indeed. then go NT and drop DOS completely
22:22:59 <Rugxulo> use DOSEMU or DOSBox with a "real" OS in the background for multitasking
22:23:17 <Rugxulo> one of these days I wish I would know enough to make my own DOS-oriented distro (based on uber-lean Linux, most likely)
22:23:18 <AnMaster> I fail to see the point of windows OR dos
22:23:38 <Rugxulo> "run DOS from Win9x" ... but it ain't free and limits you in some ways
22:23:42 <Rugxulo> there is no universal solution
22:23:51 <AnMaster> I grew up on macs. Used windows for a short while (including XP). But then went completely Linu
22:23:58 <Rugxulo> NT didn't drop DOS completely, just much weaker support
22:24:05 <AnMaster> red hat 5.0 was the first linux distro I tried
22:24:13 <pikhq> AnMaster: DOS is mostly useful by merit of being a very low-level OS that's at least vaguely usable.
22:24:17 <AnMaster> still compared to windows back then it was awesome
22:24:23 <Rugxulo> DOS has "no point" if you're not used to it
22:24:36 <Rugxulo> just like C++ or Java have no point if you don't grok them
22:24:46 <AnMaster> Rugxulo, I grok more C++ than I'd want to
22:24:59 <pikhq> I have come to grok C++ template programming.
22:25:12 <madbrain> dunno, I like DOS stuff but it's rare to find some use where you couldn't do it in win32 instead
22:25:24 <pikhq> madbrain: Loadlin?
22:25:37 <Rugxulo> that's because Win32 has had most everything from DOS ported to it (and Linux also), plus all new stuff only targets the main three (OS X, Win32, Linux)
22:25:41 <pikhq> A Linux bootloader.
22:25:50 <pikhq> And a DOS executable.
22:26:28 <AnMaster> just use grub 1 or lilo or something
22:26:34 <pikhq> It's nowhere near as crazy a hack as you'd think, too.
22:26:44 <Rugxulo> probably more useful when UMSDOS worked (2.4 kernels)
22:26:57 <AnMaster> Rugxulo, what was the point of UMDOS
22:27:08 <Rugxulo> no need to repartition just to try Linux
22:27:09 <pikhq> AnMaster: Dual-boot Linux/Windows setups.
22:27:16 <Rugxulo> just dump some files atop your pre-existing FAT and voila
22:27:18 <pikhq> Very useful before XP.
22:27:42 <pikhq> No, the Linux filesystem was FAT.
22:27:46 <Rugxulo> mkdir linux ; cd linux ; unzip old_linux.zip ; linux.bat (runs)
22:28:14 <Rugxulo> it used FAT as host file system, no ext2 required
22:28:17 <pikhq> (... with extra metadata)
22:28:30 <Rugxulo> ---linux.--- (or similar, I forget)
22:28:39 <Rugxulo> this was before QEMU, BOCHS, etc. became popular
22:29:26 <Rugxulo> yeah, but you can't run DOS or Windows on ext3, and plus usually those took up the whole drive by default
22:29:42 <Rugxulo> I like VirtualBox too, it runs very well (when it works, which is most of the time, thankfully)
22:29:53 <AnMaster> Rugxulo, resize partitions? I'm pretty sure there was some tool for it
22:30:05 <Rugxulo> assuming you actually wanted to resize
22:30:24 <Rugxulo> this was probably also before liveCDs became popular
22:30:59 <AnMaster> no I really fails to see the point of DOS or windows. DOS very much so
22:31:30 <Deewiant> Kind of like esoteric programming
22:31:38 <pikhq> UMSDOS predates emulation at sane speed.
22:31:55 <Rugxulo> DOS is pointless if you don't know / like it
22:32:08 <madbrain> DOS had a point when window's gfx stuff was too slow
22:32:30 <AnMaster> Deewiant, not quite. If /// was TC or not was pretty interesting
22:33:18 <AnMaster> C64 I can understand people being nostalgic about
22:33:22 <Rugxulo> I like DOS mostly for my familiarity with it and its small size
22:33:43 <madbrain> well, the c64 did have a flavor yeah
22:33:43 <AnMaster> Deewiant, to begin with: SID chipset
22:33:44 <Rugxulo> DOS has lots of good games, too
22:33:56 <AnMaster> Rugxulo, not what I'm talking about
22:33:57 <madbrain> I think SID is overrated though
22:34:09 <Deewiant> AnMaster: Why SID but not PC speaker?
22:34:18 <AnMaster> Deewiant, because SID actually sounded good?
22:34:19 <Deewiant> Or adlib, or Roland MT-32, or whatever
22:34:27 <AnMaster> plus I can beep the pc speaker inside linux
22:34:38 <Deewiant> And you can emulate a SID easily
22:34:52 <AnMaster> which is why I don't have a c64. I use an emulator
22:34:56 <madbrain> well, on PC most games that sounded good had soundtracks mixed in real time
22:35:10 <AnMaster> madbrain, probably. What about it?
22:35:29 <AnMaster> or Roland MT-32? (sounds familiar, unlike adlib)
22:35:35 <madbrain> adlib is actually complex and interesting hardware
22:35:49 <madbrain> roland mt-32 sounded a lot better but nobody had that
22:36:11 <AnMaster> madbrain, oh? how do they compare to stuff like my Soundblaster Live! 5.1?
22:36:13 <madbrain> plus most of the sounds are in ROM and you can't change them
22:36:54 <madbrain> you give it something like 512 instructions to process sound
22:36:54 <AnMaster> madbrain, indeed. And it has good bass tones
22:37:20 <Rugxulo> http://www.adlibtracker.net/
22:37:22 <AnMaster> madbrain, actually I just use it for it's hardware midi and good bass compared to on board sound
22:37:31 <Rugxulo> (somebody in here claimed to write some stuff with that, madbrain???)
22:37:59 <Rugxulo> and (surprise!) AT2 needs DOS ;-)
22:38:09 <madbrain> ruxglo: http://8bitcollective.com/music/mad/Oskari+goes+to+Soundblasterland/
22:38:34 <madbrain> yeah, AdT2 is hard to run out of dos
22:38:45 <AnMaster> I'm used to high quality samples
22:38:57 <AnMaster> because I care about that sort of stuff
22:39:07 <madbrain> basically the adlib combines 2 waveforms to make a more complicated one
22:39:32 <AnMaster> madbrain, oh algorithmic synth is inferior to samples
22:39:50 <madbrain> adlib is an algorithmic synth yes
22:40:11 <madbrain> mt-32 is also partially algorithmic, and partially (very small) samples
22:40:22 <AnMaster> madbrain, I have a roland electric piano next to me. Should tell you I expect some decent sound :P
22:41:27 <Rugxulo> madbrain, was that one of your songs?
22:41:34 <AnMaster> madbrain, you can emulate it in software on modern hardware
22:41:50 <madbrain> sound hardware is basically dead
22:41:51 <AnMaster> which is not exactly true of my sb live yet
22:42:16 <madbrain> anmaster: you could probably rip the samples out of it and reverse engineer its reverb :D
22:42:22 <AnMaster> madbrain, depends. my sb live does manage better low bass (25 Hz and below) than any on board stuff
22:42:40 <AnMaster> I have professional headphones.
22:43:00 <AnMaster> the on board via just cuts off below 50 Hz
22:43:16 <madbrain> might be due to stupid DAC design on onboard
22:43:26 <AnMaster> whatever the laptop has cuts off below 45 Hz. But below 70 Hz it is very weak
22:43:43 <madbrain> aha yeah they do that on laptops sometimes
22:44:09 <AnMaster> madbrain, and the via stuff is on desktop
22:44:37 <madbrain> maybe you could get unfiltered sound with some soldiering
22:44:49 <AnMaster> madbrain, it's less than half a year. No way
22:45:03 <AnMaster> madbrain, btw my headphones are http://www.beyerdynamic.de/en/broadcast-studio-video-production/products/headphonesheadsets/headphones.html?tx_sbproductdatabase_pi1%5BshowUid%5D%5BshowUID%5D=41&tx_sbproductdatabase_pi1%5BshowUid%5D%5BbackPID%5D=93&cHash=0fd1ee1ab1
22:46:00 <madbrain> I don't have a budget for that sort of expensive stuff yeah
22:46:13 <AnMaster> luckily classical music doesn't suffer quite as much from that cut off as other music
22:46:43 <AnMaster> and I love classical music. And also other art music from other periods. Like the romantic period
22:47:10 <madbrain> what you could do is use the SBlive then
22:47:21 <AnMaster> madbrain, yep. But not when traveling with my laptop
22:47:29 <AnMaster> of course those headphones are pretty bulky
22:47:47 <AnMaster> madbrain, only complaint I have is listed in that link:
22:47:49 <AnMaster> "Average pressure on ear acc. to IEC 60268-7 4.5 N"
22:48:06 <AnMaster> I think this is mechanical pressure
22:48:36 <AnMaster> slightly too much to be completely comfortable for long time wear
22:51:40 <madbrain> but yeah many DOS games use software synthesis instead
22:52:31 <madbrain> which depends on the quality of the samples but is usually good
22:52:36 <AnMaster> madbrain, most of the time I prefer real recorded music. High quality stuff. CDs
22:55:18 <Rugxulo> AnMaster, how much RAM does your laptop have?
22:55:45 <madbrain> dunno about CD audio... it sounds good but it tends to be a tad more disconnected from the game action
22:56:13 <Rugxulo> okay, that's what I thought I remembered
22:56:32 <AnMaster> madbrain, oh I didn't mean for game
22:56:44 <AnMaster> madbrain, I meant for sitting back and enjoying a symphony
22:57:26 <Rugxulo> I wonder what you use those 4 GB for ;-)
22:58:33 <AnMaster> Rugxulo, not much. Was like a 5 minute difference
22:59:07 <AnMaster> Rugxulo, and I usually need no more than 2 hours in one run
22:59:30 * Rugxulo wishes all laptops lasted 12 hours ...
23:00:34 <Rugxulo> P.S. speaking of music for DOS, http://www.oldskool.org/pc/MONOTONE
23:01:02 <AnMaster> Rugxulo, what is a tracker exactly?
23:01:23 <AnMaster> also on my laptop if I turn off the speakers, the pcspeaker doesn't beep
23:01:24 <madbrain> anmaster: type of music program that originated on the amiga
23:01:31 * AnMaster guess it is emulated in the BIOS or such
23:01:49 <madbrain> anmaster: the amiga had 4 sample playing channels so its music software was based around that
23:02:09 <AnMaster> madbrain, couldn't play any wave tone?
23:02:13 <Rugxulo> tracker is usually used to describe .MOD editors, etc.
23:02:24 <madbrain> wave and samples are the same thing
23:02:26 <AnMaster> Rugxulo, hah. haven't seen a *.mod in ages
23:02:40 <Rugxulo> well, this isn't .MOD either, it's a custom format ;-)
23:02:41 <AnMaster> madbrain, samples to me means samples like in a soundfont
23:02:55 <Deewiant> About half of the music I listen to is *.{mod,s3m,it,xm}
23:03:09 <AnMaster> Deewiant, seen all of those except it
23:03:14 <AnMaster> what is the difference between them
23:03:18 <Deewiant> Well, for the past two years or so it's been about all of the music I listen to
23:03:44 <Deewiant> AnMaster: Different trackers' formats.
23:04:01 <Rugxulo> .mod is oldest (with a few extensions), .s3m is from Scream Tracker 3 (circa 1994), .xm is from Fast Tracker (mid 90s), .it is from Impulse Tracker (late '90s)
23:04:05 <Deewiant> ProTracker, Scream Tracker 3, Impulse Tracker and FastTracker 2.
23:04:05 <madbrain> anmaster: basically each one is a sucessive improvement over the previous one (mod->s3m->xm->it)
23:04:28 <Rugxulo> except Impulse Tracker is specifically meant as a better Scream Tracker
23:04:35 <AnMaster> whatever is wrong with *.ogg and *.flac these days :P
23:05:05 <Rugxulo> AnMaster, I think your problem is that you don't realize that the world existed before Core 2, 4 GB RAM, 64-bit, etc. ;-)
23:05:10 <madbrain> you can't rip the samples out of them or snoop how the dude composed music :D
23:05:20 <AnMaster> Rugxulo, I certainly do. But I grew up with mac
23:05:28 <AnMaster> I can go on being nostalgic about old mac games
23:05:48 <AnMaster> except, I uh don't see the point. I'm nostalgic like twice a year
23:05:53 <Rugxulo> but you keep saying, "What's the point?" as if it was always so cut and dry
23:06:17 <AnMaster> Rugxulo, yes. Because these sound awful compared even to macs from the same year
23:06:25 <Deewiant> I'm nostalgic at least once per day
23:06:33 <Rugxulo> beauty is in the eye of the beholder
23:07:10 <AnMaster> Rugxulo, okay I do get nostalgic over Myst. Especially with the sound of the CD drive of a performa 5600 in the background (or was it 5200? I forgot...)
23:07:19 <Rugxulo> a twinkee is inferior to a real cake but still a bit tasty nevertheless
23:08:00 <HackEgo> * A Twinkie is a "Golden Sponge Cake with Creamy Filling" popular in the United States and elsewhere in North America. ... \ [14]en.wikipedia.org/wiki/Twinkee \
23:08:13 <HackEgo> bin \ help.txt \ huh \ karma \ paste \ quotes \ share \ tmpdir.658
23:08:49 <HackEgo> ? \ addquote \ calc \ commands \ creatures \ define \ esolang \ etymology \ fortune \ google \ helpme \ imdb \ karma \ minifind \ paste \ ping \ quote \ rec \ runfor \ sayhi \ strfile \ toutf8 \ translate \ translatefromto \ translateto \ unstr \ url \ wolfram
23:11:07 <AnMaster> Rugxulo, also I could get faux nostalgic about old unix
23:11:43 * AnMaster wonders if you can emulate a pre-OS X PPC mac on linux easily
23:12:41 <Rugxulo> yes I have Myst on both PC and Atari JagCD
23:12:52 <Rugxulo> came close to beating it in 2005 but never did finish (haven't played it much since)
23:13:15 <Rugxulo> it's not faux nostalgia, DOS lives (barely), just some of us find it interesting
23:13:20 * Gregor kills a runaway process on codu.
23:13:22 <HackEgo> bin \ help.txt \ huh \ karma \ paste \ quotes \ share \ tmpdir.914
23:13:43 <Rugxulo> I got stuck at that maze underground, couldn't figure out what to do
23:13:51 <Rugxulo> not afraid of cheating, just too lazy to bother I guess
23:14:09 <AnMaster> Rugxulo, oh in the sound world?
23:14:10 <Rugxulo> I hear some of the sequels are good, though, but never tried 'em
23:14:20 <Rugxulo> no, in the tunnel car thingy
23:14:30 <AnMaster> Rugxulo, with faux nostalgia I meant "never used those, so can't be nostalgic about them, but still is"
23:14:37 <Rugxulo> it's kinda an underwhelming game in some ways (very isolating)
23:14:41 <AnMaster> Rugxulo, that was in the soundworld
23:14:50 <Rugxulo> I probably missed something obvious
23:14:57 <Rugxulo> I should probably go ahead and cheat and finish it one of these days
23:14:58 <AnMaster> Rugxulo, something rather non-obvious
23:15:12 <AnMaster> Rugxulo, you got sounds indicating direction you should go
23:15:28 <Rugxulo> PPC? PearPC? (dunno really)
23:15:49 <Rugxulo> I still need to finish Gabriel Knight 1 one of these days
23:16:01 <Rugxulo> but QEMU supports other arches, doesn't it??
23:16:59 <AnMaster> Rugxulo, yeah but not Mac as such
23:17:21 <Rugxulo> AnMaster, ever tried Ardi's Executor?
23:17:27 <Rugxulo> (but that was mostly System 6, I think)
23:17:27 <Warrigal> Just wondering if that's also your name.
23:17:51 <Rugxulo> http://github.com/ctm/executor
23:18:05 <Rugxulo> ran on DOS at one point (circa 1996) using DJGPP
23:18:16 <AnMaster> Rugxulo, need to run PPC binaries
23:18:17 <Rugxulo> now it's been ported to Linux
23:18:32 <Rugxulo> ah, well this is 68000 (only I think??)
23:19:28 <Rugxulo> easy to forget all their billions of transitions
23:21:14 <Rugxulo> I'm sure someone has done it, just dunno who
23:21:41 -!- adam_d has quit ("Leaving").
23:29:16 <Rugxulo> noticeably different keyboard on this laptop than P4 (harder to play Llamatron, barely)
23:30:07 <Rugxulo> long story short, I'm 30 (not that old), but I do remember DOS + Win 3.1
23:30:27 <Rugxulo> and I still use old computers, hence I need a "lite" OS more than "lightweight Linux" (128 MB??? o_O)
23:31:06 <fizzie> QEMU does some Macintosh hardware bits too. No idea how complete it is; personally I've just played around with PearPC.
23:33:23 <Rugxulo> Deewiant: http://www.llamasoft.co.uk
23:34:00 <Rugxulo> no, I mean old Llamasoft is freely available there
23:34:58 <fizzie> There was that one iPhone-runs-System 7-with-QEMU newspost -- http://mobile.osnews.com/printer.php?news_id=21045 though the actual site seems less alive -- that might've been with the m68k emulator, who knows -- qemu site hardware target list has "G3 Beige PowerMac (PowerPC processor)".
23:36:09 <AnMaster> <fizzie> QEMU does some Macintosh hardware bits too. No idea how complete it is; personally I've just played around with PearPC. <-- which doesn't do pre-OS X
23:36:18 <AnMaster> <Rugxulo> weird clone of Robotron <-- never heard of that
23:36:31 <Rugxulo> Robotron is from like 1980 or so
23:36:53 <Rugxulo> http://www.klov.com/game_detail.php?game_id=9347
23:36:59 <Rugxulo> it's on Midway Arcade Treasures 1
23:38:06 <fizzie> AnMaster: Well, there's SheepShaver; that one does pre-OS X only ("7.5.2 thru 9.0.4"), don't know how well.
23:39:20 <AnMaster> Rugxulo, yeah. good point. Since I have that old ibook when I want this
23:39:39 <AnMaster> Rugxulo, still the OS is at least better than DOS
23:40:12 <AnMaster> Rugxulo, mac apps were better.
23:41:20 <fizzie> SheepShaver's supposed to run pretty well on actual PowerPC systems, if you want just virtualizationary stuff; I gather the PowerPC core emulation isn't all that hot, though certainly with modern processors it might not be such a big issue.
23:41:38 <AnMaster> http://en.wikipedia.org/wiki/Llamatron <-- ugh arcade style
23:41:58 * AnMaster always preferred games where you could win. Not more and more levels all the time
23:43:14 <AnMaster> fizzie, I want sound and ability to run OS 8 or OS 9 to run some old games. Mostly turn based. Though one "real" time
23:43:27 <Rugxulo> arcade style is unavoidable when cloning an arcade game ;-)
23:43:39 <AnMaster> Rugxulo, which is why you shouldn't
23:43:42 <Rugxulo> what, you don't like trying to beat your high score??
23:43:47 <Deewiant> It did have an ending, didn't it?
23:43:50 <fizzie> I remember being envious of a Mac-using friend, because he had that funky paper airplane game. (http://en.wikipedia.org/wiki/Glider_PRO)
23:44:10 <coppro> what about Nanosaur :D
23:44:19 <AnMaster> coppro, oh I think my mac had that
23:45:20 <coppro> I miss those types of games.
23:45:23 <fizzie> (Well, Glider 4 or something, but I don't think that has a Wikipedia article.)
23:45:47 -!- oerjan has joined.
23:46:33 <fizzie> AnMaster: http://www.lauppert.ws/screen1/mac/glider.png
23:46:39 <fizzie> The games are nowadays free, it seems.
23:46:57 <AnMaster> fizzie, what was the objective?
23:47:31 <Deewiant> Hey, I remember playing something like that.
23:47:52 <fizzie> To fly the paper airplane through the house, avoiding all obstacles. (IIRC, the only controls you had were "left" and "right" to toggle the direction; heat vents made the airplane go up, in other places it just glided slowly downwards.)
23:48:13 <Deewiant> Possibly a ripoff of some kind, since I think it was on a PC. It /was/ a paper aeroplane.
23:48:17 <fizzie> Those things on the floor in that screenshot are heat vents, I think.
23:48:23 <fizzie> Deewiant: There's a Windows port of Glider 4.0.
23:48:30 <fizzie> Deewiant: http://homepage.mac.com/calhoun/Downloads.html
23:48:35 <fizzie> If you feel like checking.
23:48:51 <fizzie> (The "PRO" version probably has colors and everything.)
23:48:55 <Deewiant> I wonder what the time stamp on that thing is.
23:49:13 <Deewiant> The Wikipedia article doesn't even mention a Windows version.
23:49:37 <fizzie> Deewiant: Right, because the Wikipedia article is for the PRO version.
23:51:52 <fizzie> Oh, and the eponymous glider gets electrocuted if you fly it directly in front of a electricity wall socket thing. That's very realistic; I get shocked every time I walk past a wall outlet too.
23:51:58 <AnMaster> why is a screenshot so much worse than a picture of a car when it comes to license?
23:54:35 <oerjan> fizzie: lousy grounding i bet
00:04:52 <coppro> http://www.sciencedaily.com/releases/2009/10/091008142957.htm <-- look at the google ads O_o
00:06:06 <Rugxulo> "Biological Data Analysis" ... "Microbial Insights" ... "$89 Home DNA Test"
00:06:11 <Rugxulo> is that what you saw too? (doubt it)
00:06:57 <coppro> no, but I saw similar ones
00:07:13 <coppro> the best one I got was "miRNA array analysis"
00:07:21 <coppro> seems a bit esoteric to be on google ads
00:11:25 -!- dbc has quit (Client Quit).
00:14:49 * coppro doesn't want to do homework :(
00:22:56 <coppro> which together account for 100% of my school subjects :/
00:22:57 <Rugxulo> break it up into bite-sized pieces, perhaps?
00:24:27 <Rugxulo> but esoteric languages are creative
00:24:55 <coppro> but in a different way
00:25:04 -!- FireFly has quit ("Later").
00:25:05 <Warrigal> I'm kind of glad I'm taking only math classes.
00:25:06 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
00:25:14 <coppro> This is the school version of creative - e.g. "stuff that isn't what you normally do"
00:25:25 <coppro> Warrigal: I can't wait until Uni :)
00:25:35 <Warrigal> I wanted to take five-ish math classes next semester, but the head of the math department came and told me I shouldn't do that.
00:25:43 <oerjan> biology isn't creative unless you engineer new lifeforms
00:26:02 <Rugxulo> Warrigal, you'd probably burn out with 5+
00:26:33 <oerjan> i'm _still_ waiting for oklopol's great burnout this year
00:26:59 <Warrigal> I burned out this semester with a single non-math class. :-P
00:28:09 <Warrigal> Well, actually a double non-math class.
00:28:39 <coppro> I spend half my day working at a biotech firm, it's awesome :)
00:30:25 <coppro> okay, done the noncreative part of part 1
00:30:34 <Warrigal> coppro: so what are you currenly doing for education?
00:31:22 <Rugxulo> he said "uni", kinda a giveaway ;-)
00:31:39 <Warrigal> Hmm. How does the education system go there?
00:31:56 <coppro> well, and kindergarten, but that doesn't count
00:32:25 <coppro> No province has had 13 for several years
00:32:48 <coppro> Well, except Quebec has the weird CEGEP thing
00:33:08 <coppro> Quebec has 11 years + 2 years CEGEP
00:33:26 <Warrigal> What part of that is high school?
00:34:07 <coppro> oh no, Quebec just has secondary schools, which are 5 years
00:34:21 <coppro> no distinction between junior high/middle school and high school
00:34:51 <Warrigal> I was kind of an expecting an answer along the lines of "one year of kindergarten, eight years of primary school, four years of secondary school (high school), then college/university".
00:35:18 <coppro> one year kindergarten, 6 years elementary, 3 years junior high, 3 years high school in Alberta
00:35:23 <coppro> two years preschool optional
00:37:03 <Warrigal> So pretty much like in the US but with one year of high school removed and added to elementary.
00:37:18 <coppro> Think so, not 100% sure
00:37:27 <Rugxulo> even in the U.S. in some places, 9th is in middle
00:37:29 <coppro> (given that I don't know your system)
00:37:51 <coppro> All I know is that I hope I get accepted to UW
00:38:49 -!- coppro has quit (Remote closed the connection).
00:39:15 <Warrigal> Hmm, I guess the two systems are actually consistent, then.
00:39:52 -!- coppro has joined.
00:41:17 <coppro> Best math school in the country, and high up there worldwide
00:42:59 <coppro> Only problem is, my transcript doesn't look as good as it should because of stupid options I was forced to take :(
00:43:24 <Rugxulo> transcripts are dishonest anyways (well, mine is)
00:44:03 <Warrigal> I seem to often get the feeling that the school I'm at... kinda sucks.
00:44:21 <Warrigal> Grand Valley State University.
00:44:39 <coppro> but then again, I haven't heard of most US schools except the big ones
00:45:01 <Rugxulo> I've never heard of it either, doesn't mean it's bad
00:45:20 <Rugxulo> although that feeling that one's school sucks is fairly common ;-)
00:46:36 <Warrigal> What I used to think is that the Internet could teach me in minutes what school teaches in weeks.
00:47:55 <Warrigal> Now it seems that while that's more or less true for certain types of declarative knowledge, for procedural knowledge, it's a different story.
00:48:35 <Rugxulo> and yet school isn't exactly a "bargain", either
00:48:54 <Warrigal> Still, though, I feel like my greatest advances in procedural knowledge have come about online.
00:49:37 <coppro> The problem is that the internet, while it has most of the knowledge you may deign to acquire, it generally sucks at explaining it
00:49:42 <Warrigal> I've had two "what the hell am I doing" moments online, and none in school.
00:49:52 <coppro> and you're left to figure out which order to learn things on your own
00:50:07 -!- dbc has joined.
00:50:13 <Warrigal> As in "hmm, well, I suppose that if you kind of visualize it like this, you can kind of see that--what the hell am I doing? There's a formula for this"!
00:51:05 <madbrain> dunno.. i think there isn't too much good music theory on the net
00:51:13 <Warrigal> One was when I was trying to figure out a parameter that would make two functions tangent. I took the arctangent of the derivative.
00:51:17 <coppro> madbrain: I said "most", not all
00:51:19 <coppro> The #1 issue with school that helps give that feeling is a lot of knowledge that should be procedural (e.g. math) is treated like it isn't.
00:51:30 <coppro> especially at low levels
00:51:36 <Warrigal> The other was when solving the Diophantine equation x^2 - y^2 = 1817; I didn't realize that the left side could be factored.
00:51:43 <Rugxulo> school = rote memorization and busywork, that's all
00:52:11 <coppro> Rugxulo: see, that's the problem. When it /isn't/ that, it's exciting to learn
00:52:21 <Rugxulo> music theory = only good in as much as you are willing to discard it
00:52:43 <madbrain> rux: ah, but many jobs are rote memorization and busy work
00:52:55 <coppro> e.g. have you ever seen a teacher show the derivation of the quadratic formula?
00:53:10 <Warrigal> I've seen a teacher show the derivation of the quadratic formula.
00:53:25 <Warrigal> I was perplexed by the fact that the other students called the derivation "freaky".
00:53:31 <madbrain> like, I love being creative and all, but now I have to get someone to pay for it and it sounds hard
00:53:46 <coppro> At least they got shown how it works
00:53:49 <madbrain> rux: dunno what to think about music theory...
00:53:54 <Warrigal> It's freaky that when you do this, you get the same answer as when people did it hundreds of years ago? What the *hell* did you expect?
00:54:01 <coppro> It's easier to remember things you understand
00:54:06 <Rugxulo> Charlie Parker: "Learn as much as you can, then forget all that s**t"
00:54:15 <coppro> this is THE problem with math education in North America
00:54:44 <Rugxulo> yes, but they don't have time to let you understand, only time to make you memorize stuff and do lots of busywork
00:54:57 <Rugxulo> gotta cram in so much curriculum
00:55:06 <coppro> They could teach things far quicker if they showed you how to understand
00:55:07 <Rugxulo> must give so many tests, etc.
00:55:14 <pikhq> They have plenty of time.
00:55:18 <Rugxulo> well, then they suck too bad ;-)
00:55:39 <coppro> It's a systemic problem
00:55:40 <Rugxulo> you think Windows 7 really needs 16 GB of HD space?? nope, but they waste it
00:55:42 <madbrain> well, its not the smart mathematicians who teach¸
00:55:53 <pikhq> I don't see why it's unreasonable to get a basic understanding of mathematics in that time.
00:56:05 <coppro> Another great example is fractions
00:56:06 <madbrain> the ones who teach are the ones who know how to deal with kids
00:56:27 <pikhq> Of course, people appear to think that mathematics is merely calculation. So...
00:56:32 <pikhq> madbrain: ... Ah, no.
00:56:45 <Rugxulo> no, the ones who teach are whoever they can get
00:56:58 <Rugxulo> and you don't need lots of experience either
00:57:06 <coppro> pikhq: A symptom of the flawed education
00:57:08 <pikhq> The ones who teach are the ones who know how not to send people to the guillotine.
00:57:14 <pikhq> coppro: Absolutely.
00:57:14 <Rugxulo> my 4th grade teacher's parents were younger than mine (at the time!)
00:58:14 <Rugxulo> (disclosure: my own mother is a math teacher)
00:58:25 <Rugxulo> (not that I ever learned jack from her)
00:59:10 <pikhq> Rugxulo: Yet, you program.
00:59:17 <madbrain> dunno, I learned some math (mostly having to do with programming!)... I never figured out how to do integrals though
00:59:21 <Rugxulo> BTW, I think the guillotine was outlawed in 1982 or so in France, so... ;-)
00:59:26 <pikhq> Which... *is mathematics*.
00:59:29 <Warrigal> I wonder why I remembered the number 1817...
01:00:20 <madbrain> still better than the gas chamber
01:00:42 <Warrigal> If I had to choose a method of execution for myself, I'm sure I would choose nitrogen asphyxiation.
01:00:46 <coppro> 1812 was the year of the War of 1812!
01:00:57 <Warrigal> I can't imagine how any method of execution could be more humane.
01:01:57 <Warrigal> I guess execution by natural causes is a pretty humane way to do it. :-)
01:02:24 <Warrigal> The thing about nitrogen asphyxiation is it works like this:
01:02:30 <Warrigal> You put on a mask. You get dizzy. You die.
01:02:42 * pikhq votes execution by bomb -- sitting right next to the one who gave out the death sentence.
01:03:29 <Warrigal> Execution by suicide-brought-on-by-remorse-brought-on-by-murder.
01:07:21 <Rugxulo> (what, never heard of that dish?)
01:07:42 <Rugxulo> http://en.wikipedia.org/wiki/Death_by_Chocolate
01:11:57 -!- ehird has joined.
01:12:04 <ehird> "Finally, every time Psystar turns on any of the Psystar computers running Mac OS X, which it does before shipping each computer, Psystar necessarily makes a separate modified copy of Mac OS X in Random Access Memory, or RAM. This is the third unlawful copy." —Apple
01:12:08 <ehird> Apparently I'm a pirate.
01:13:17 <Rugxulo> sorry, but counting like that is a little bit of a stretch
01:13:36 <ehird> Clearly I was quoting it and calling myself a pirate because I thought it was sane and reasonable.
01:13:40 * Rugxulo hears that latest Ubuntu runs on Intel Macs
01:13:46 <ehird> I wasn't mocking it or anything, nosiree, thanks for the apology.
01:13:53 <ehird> linux has run on intel macs since about 3 seconds after they came out
01:13:55 <Rugxulo> I'm just agreeing, it's a bit isnane
01:13:59 <ehird> *more like a few monthhts
01:14:11 <ehird> well, ok, windows took a bit longer i think
01:14:18 <ehird> Rugxulo: without boot camp.
01:14:24 <ehird> boot camp just partitions and gives you a driver CD
01:14:42 <ehird> there was an EFI upgrade (like BIOS) that let you boot BIOS things from it, you see
01:14:44 <ehird> when boot camp came out
01:14:50 <ehird> people just hacked up their own shit
01:14:53 <ehird> so you could run windows on it
01:15:00 <ehird> linux happened earlier because there is a linux bootloader for efi
01:15:06 <ehird> nobody uses it now though
01:15:39 <Rugxulo> latest Ubuntu has issues with Intel gfx, I hear
01:16:22 <ehird> they're changing everything around. after this intel graphics should be good
01:16:37 <ehird> ubuntu by itself does very little apart from ship unstable things that barely work
01:16:50 <Rugxulo> based upon Debian "testing", from what I've read
01:17:13 <ehird> anyway, you've been able to install rEFIt (EFI bootloader selector thingy, just point-and-click in OS X to install), pop in an ubuntu CD in an intel mac and install it for years now
01:17:28 <Rugxulo> I never hear anybody doing that, though
01:17:43 <ehird> Tons of people do it. I've done it several times and used Ubuntu for a few weeks recently.
01:17:58 <ehird> Case in point: http://ubuntuforums.org/forumdisplay.php?f=328
01:18:05 <ehird> A whole forum of Mac Ubuntu users.
01:19:31 <Rugxulo> "Please join the irc release party in ...", heh
01:19:45 <ehird> PPC is a "community-supported port"
01:19:49 <ehird> Translation: "barely works"
01:21:05 <ehird> I won't be using this machine "sometime soon" anyway; hopefully I'll forget all the crap I needed to get it working.
01:21:06 <Rugxulo> translation: "soon to be obsoleted, even by us!"
01:21:26 <ehird> It's been community-supported (== we won't support it) since 2006, iirc.
01:21:40 <ehird> The population of Mac users that use Ubuntu is small enough; PPC Ubuntu?
01:21:49 <Rugxulo> I hate that about Macs, they brag how great they are then drop them like stones once they are *barely* obsolete
01:22:05 <ehird> PPC was obsolete before 2005
01:22:24 <ehird> G5 was fast, sure... but they still sucked. Especially the heat output.
01:22:36 <ehird> I imagine Apple were trying to jump the PPC ship since before 2004.
01:22:43 <ehird> Rugxulo: in fact, the first Intel machines sent to developers—
01:22:47 <ehird> were pentium 4 Mac Pros
01:22:56 <Rugxulo> but Apple never sold anything before Core 1, right?
01:23:09 <Rugxulo> (even though they'd been testing since 2000)
01:23:19 <ehird> i'm going to go ahead and guess that negotiating with intel is hard
01:23:39 <Rugxulo> Intel made a specific variant of the cpu just for Apple
01:23:50 <Rugxulo> then again, Apple is 100% Intel-only, so I'm not too surprised
01:24:00 <ehird> for hte macbook air
01:24:06 <ehird> It uses a stock CPU nowadays
01:24:19 <ehird> anyway, dropping ppc support from snow leopard saved ~10 GiB and means they can do a bunch of intel optimisations, which is cool. ppc users aree used to everyything being slow and crufty anyway :D
01:24:24 <ehird> *are *everything *fucking keyboard
01:24:45 <Rugxulo> just the idea that a machine still runs perfectly but is obsoleted ... ugh
01:25:53 <ehird> I'm pretty sure you must be in favour of abolishing capitalism in favour of massexcessism, where the more time you waste and neglect things most people actually use, the more money you get.
01:26:14 <ehird> And PPCs don't run perfectly, btw.
01:26:26 <Rugxulo> nothing does, but it doesn't mean it's useless
01:27:21 <ehird> I'd try to explain proper allocation of resources and practicality and all those sane things but I think I've tried that too many times already.
01:29:16 <ehird> Rugxulo: presumably you'll complain that my static-only linux distro sucks because i'll compile it for i686 only, when all the software could work on i386...
01:30:07 <Rugxulo> Linux these days won't run well (if at all) on less than a 686 anyways
01:30:49 <Rugxulo> and honestly, most people don't have older than a 686 anyways
01:31:01 <ehird> Ha, and most people don't have older than an Intel Mac...
01:31:14 <ehird> Anyone who buys a Mac expecting a loooooong product life on the latest stuff is deluding themselves anyway.
01:31:19 <ehird> Rugxulo: yeah, and my $person owns a <686 too
01:31:29 <ehird> you do realise that people use linux on embedded devices, btw?
01:31:32 <Rugxulo> I still have an original P1
01:31:35 <ehird> those are ... rather less powerful than a 686.
01:31:50 <Rugxulo> I'm not saying they don't exist, but especially since nobody seems to care, then it's heavily moot
01:32:14 -!- Oranjer has joined.
01:32:20 <ehird> [01:24] Rugxulo: just the idea that a machine still runs perfectly but is obsoleted ... ugh
01:32:30 <ehird> pretty sure pentium 1s ran pretty "perfectly" if you stayed minimal
01:32:35 <ehird> you're being pretty contradictory here
01:32:48 <ehird> that's linux's fault
01:32:51 <Rugxulo> I can do more in DOS than Linux
01:32:53 <ehird> the CPU ran perfectly, which is the issue at hand
01:32:55 -!- Oranjer has left (?).
01:32:56 <ehird> therefore, linux should support it
01:33:18 <ehird> that's the single-handed dumbest thing you've ever said
01:34:10 <Rugxulo> you only get laughed away trying to do things like that
01:35:23 <ehird> one, probably because you were saying dumb shit and not listening to them; two, i've never had that experience, ever; three, you do realise as a rebuttal to my statement that according to you, the pentium 1 should be supported by linux, this is a complete non-sequitur?
01:35:50 <Rugxulo> Pentium 1 is (barely) supported
01:35:54 <ehird> and finally, four, if ubuntu (that my mother uses!) is elitist, you're crazy
01:36:03 <Rugxulo> most 586s don't support over a certain amount of RAM (e.g. 64 MB)
01:36:44 <Rugxulo> and in reality, much less is installed, and Linux doesn't work very well with low amounts
01:36:54 <Rugxulo> (unless you like mad swapping)
01:37:21 <ehird> i don't think you've ever tried to use linux on a low-end machine. it can handle low RAM just fine.
01:37:31 <ehird> unless you were trying to install ubuntu with gnome or something.
01:38:04 <Rugxulo> it can't handle it well, that's for sure
01:38:16 <Rugxulo> at least not without recompiling everything from scratch, rolling your own, etc.
01:38:40 <Rugxulo> I'm not talking about the very minimal "runs but does nothing" install either
01:39:58 <ehird> seriously, debian runs on everything.
01:40:05 <ehird> debian+busybox runs on everything and a machine.
01:40:48 <Rugxulo> no, Contiki runs on everything :-)
01:41:38 <Rugxulo> x86-64 is a mode, not a chip
01:41:53 <ehird> amd64 is an architecture in itself
01:41:55 <Rugxulo> so it still runs in legacy 32-bit mode
01:42:01 <ehird> it is not the same
01:42:17 <Rugxulo> are there any AMD64 chips that won't run 32-bit or 16-bit? no, so it's moot
01:42:30 <ehird> you're not listening to what i'm saying.
01:42:39 <Rugxulo> because I can't hear you, this is text :-P
01:42:54 <ehird> ooh, please point out we're typing into keyboards again, it's hilarious
01:43:35 <Rugxulo> thiis froom thee guuy whoo caan't stoop tallking aboout hiis keeyboard
01:43:47 <ehird> because it sucks and i need to buy a better one
01:43:53 <Rugxulo> okay, no seriously, I know Debian can run on low end, but it won't be fun, that's for sure
01:44:04 <Rugxulo> the days are long gone where you can comfortably run Linux in less than 128 MB of RAM
01:44:07 <ehird> gimme that p1 and i'll get linux on it
01:44:22 <Rugxulo> to do what exactly? 32 MB just isn't enough to do anything
01:44:32 <Rugxulo> even DSL (or TinyCore) needs 32 MB minimum
01:44:39 <ehird> you are wroooooong
01:44:43 <Rugxulo> so that rules out ever compiling anything
01:44:59 <Rugxulo> unless you go to console only, and even then modern GCC is a hog
01:45:00 <ehird> just because you can't run gcc 4...
01:45:08 <ehird> seriously, you have no idea about this
01:45:18 <Rugxulo> even GCC 3.4.6 would probably be slow (as 3.4.4 with DJGPP isn't really fast)
01:45:42 <ehird> the kernel for instance compiles with gcc 2.
01:46:07 <Rugxulo> it used to *only* compile with GCC 2, but that changed when people finally got tired of that annoyance (although GCC 2 is lightning fast in comparison)
01:46:23 <pikhq> Heck, I'm going to go out and get a Linux system that should run in 32MB of RAM.
01:46:47 <Rugxulo> BasicLinux can run in very low amounts, but it's useless
01:47:09 <ehird> pikhq: as in a computer?
01:47:24 <ehird> http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/082/8234/8234f3.png
01:47:25 <pikhq> ehird: I don't have said computer any more, sadly.
01:47:26 <ehird> basiclinux is useless?
01:47:37 <ehird> pikhq: ah, you mean a distro or whatever
01:47:45 <pikhq> Trivial to do, really.
01:48:01 <ehird> it seems Rugxulo's definition of useless is runs smoothly on a p1
01:48:07 <ehird> which is an amusingly circular definition.
01:49:03 <Rugxulo> "runs" what, exactly? 'cause kernel + Busybox isn't much functionality, IMHO
01:49:53 <ehird> not like basiclinux runs X11 or anything
01:49:59 <pikhq> That + troff is a nice typesetting system.
01:50:10 <ehird> troff is not a nice typesetting system pikhq.
01:50:11 <pikhq> Well, nice except that it's outclassed by TeX. :P
01:50:25 <pikhq> ehird: I'm mostly referring to the original "official" use of UNIX, there.
01:50:33 <ehird> it's still unreadable
01:50:55 <ehird> troff would be 10x better it you could do \{foo} to mean \n.foo\n
01:51:13 <pikhq> Considering it's competition was not very far removed from the original printing presses, though...
01:52:35 * ehird rewrites a manpage with \{...} out of curiosity
02:03:21 <Rugxulo> BTW, dumb question, but why a.out?
02:03:29 <pikhq> Because ELF is overkill.
02:03:38 <ehird> I think he means why the filename
02:03:44 <Rugxulo> no, I meant for your distro
02:04:00 <ehird> Because ELF was invented to make dynamic linking suck less (and, well, for some debugging stuff).
02:04:06 <ehird> Although really COFF did that too, ELF was just going furtherr.
02:04:13 <ehird> As a.out is simpler and I don't do dynamic linking...
02:04:18 <Rugxulo> DJGPP still uses COFF (as does NT, more or less)
02:04:39 <pikhq> NT uses something closely related to COFF.
02:04:44 <ehird> Still, COFF is even more obscure than a.out for Linux, and has the same disadvantages as ELF.
02:04:51 <Rugxulo> their own weird variant, oddly different
02:05:00 <ehird> Windows uses PE, which is a derivative of COFF.
02:05:13 <ehird> What did they use in 9x, I wonder?
02:05:22 <ehird> "Microsoft migrated to the PE format with the introduction of the Windows NT 3.1 operating system. All later versions of Windows, including Windows 95/98/ME, support the file structure."
02:05:42 <Rugxulo> I suppose they mean Win32s
02:05:46 <ehird> The NE, abbreviation for New Executable, is a 16-bit[1] executable file format that was introduced in Windows 3.x [2], and was also used at a later[dubious – discuss] time in OS/2 and 16-bit Windows. While it was "new" at the time of invention, it is now rare and obsolete, though its usage can still be found by a few select programs.[3] It is backwards compatible with the older DOS MZ format.[1]
02:05:53 <Rugxulo> I don't remember ever seeing PE in Win3x, only NE
02:06:07 <ehird> Someone add NE support to Linux!
02:06:12 <pikhq> PE has an NE/MZ header.
02:06:22 <ehird> Em nemz nemz nemz nemz
02:06:27 <pikhq> ehird: With the new ability to have arbitrary executable formats, not hard at all.
02:06:28 <ehird> Executable nomming.
02:06:40 <pikhq> Just make a userspace NE loader, and register it with the kernel.
02:07:00 <ehird> http://en.wikipedia.org/wiki/Relocatable_Object_Module_Format
02:07:09 <pikhq> The same trick can be done to add PE support to Linux. (with Win32 support happening all magic-like)
02:07:30 -!- Rugxulo` has joined.
02:07:40 <ehird> Linux+PE+Wine = Oh god kill me now
02:08:11 <pikhq> ehird: It consists just of making the kernel call out to Wine when it sees a PE header.
02:08:30 <pikhq> Just a matter of making an appropriately formatted file in /proc, IIRC.
02:08:54 <pikhq> Not exactly a *great* idea, but nowhere near as crazy as you'd think.
02:09:11 <Rugxulo`> WINE is way more overkill than DOSEMU
02:09:28 <pikhq> WINE does a lot more than DOSEMU.
02:09:42 <pikhq> It implements a complex ABI, rather than just being a vm86 handler.
02:09:58 <pikhq> (and/or a simple 8086 emulator)
02:10:00 <Rugxulo`> DOSEMU on x86-64 emulates all 16-bit instructions
02:10:05 <ehird> Someone gimme some cash to buy a Topre board :(
02:10:29 -!- Rugxulo has quit (Read error: 113 (No route to host)).
02:10:38 -!- Rugxulo` has changed nick to Rugxulo.
02:11:15 <ehird> Money! To me! In return gratitude. It's an unbeatable deal.
02:11:51 <ehird> Feed my infinite need to buy a $250 keyboard ;_;
02:12:25 <ehird> Nope, but it does have a bunch of switches on the back to remap stuff.
02:12:40 <ehird> well, the controller might be able to run uclinux
02:13:15 <ehird> It doesn't look very fancy at all, really... http://static.benippon.net/magento/media/catalog/product/cache/1/image/5e06319eda06f020e43594a9c230972d/E/L/ELEC-PD-KB400WN.jpg
02:13:22 <pikhq> I'm pretty sure Linux's support for arbitrary executable formats could be used to implement some compatibility layers (akin to, say, FreeBSD's Linux support)
02:13:35 <ehird> is freebsd's linux support still good these days?
02:13:51 <Rugxulo> should be, last I heard 8.0 would have 2.6 support
02:14:11 <ehird> someone run gnome on top of it :-D
02:14:12 <pikhq> ehird: They're upgrading it from 2.4.2 to 2.6 support, syscall-wise.
02:14:24 <pikhq> But yeah, it seems to be rather good.
02:15:14 <ehird> maybe i should just get a filco with cherry switches to tide me over, they're more like $100 :-P
02:15:27 <ehird> or an uber-cheap TVS Gold or Scorpius M10 for like $50
02:15:36 <ehird> those only haves blues though.
02:17:04 <ehird> should probably switch to colemamk sometime.
02:20:42 <lament> because colemak is a halfway measure between qwerty and dvorak
02:21:00 <ehird> yeah, i thought that too and deewiant said "no it isn't bitch" and i researched it
02:21:02 <lament> rather hard to come up with a legitimate use case for that
02:21:08 <ehird> colemak actually has better statistical properties than dvorak.
02:21:20 <ehird> the numbers don't lie
02:21:39 <Gregor> What should I name my HackBot-alike wiki?
02:21:42 <lament> what statistical properties?
02:21:44 <ehird> for instance finger travel, how much you stray from the home row
02:21:55 <ehird> colemak is simply better than dvorak
02:22:12 <ehird> lament: whatever you say.
02:22:21 <lament> unsubstantiated nonsense
02:22:25 <Rugxulo> HockBat, HackBotter, HackBot++
02:22:28 <ehird> that's nice, troll
02:22:38 <Gregor> ehird: I'm thinking of making a wiki where every node is like a command in HackEgo.
02:22:53 <ehird> Gregor: that's not really a "wiki" is it
02:23:11 <Gregor> How is it not? Anybody can edit any page, the pages just happen to be scripts.
02:23:27 <ehird> So, everything that lets people change it on the internet is now a wiki?
02:23:37 <ehird> Collaborative paint? more like WIKI PAINT
02:23:57 <Gregor> Except this would actually be extremely similar to a wiki, in that there are pages which are editable.
02:24:03 <lament> but the biggest problem with colemak is that it's used exclusively by douchebag
02:24:16 <ehird> lament: Deewiant loves you too
02:24:18 <lament> i've only met one person who used colemak, and he was a douchebag
02:24:37 <lament> well it's not a very popular layout
02:24:42 <ehird> lament: do you use dvorak?
02:24:51 <ehird> funny, you're a douchebag too
02:25:05 <ehird> i will now proceed to discard all the rest of my sample of dvorak users to be on a level playing field
02:25:10 <Rugxulo> http://www.kimgrahamstudios.com/images/troll-15.jpg
02:25:21 <ehird> it's fun having an op that's a troll!
02:25:23 <ehird> lament: aw sorry :(
02:25:25 <lament> i'm not a douchebag. I'm not even a bag!
02:25:36 <ehird> you're not even a tree i don't know what Rugxulo is talkingn about
02:27:35 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:28:54 <ehird> 25-Dec-2006: David Piepgrass: Why QWERTY, And What's Better? (PDF).
02:28:54 <ehird> “All things considered, I believe Colemak is better than Dvorak and the best alternative to QWERTY.”
02:28:54 <ehird> David Piepgrass is the designer of the Asset keyboard layout.
02:28:55 <ehird> According to carpalx, which is the most extensive research on keyboard layouts done so far, Colemak wins over Dvorak and QWERTY in all different typing effort models.
02:28:55 <ehird> According to Andrei Stanescu: "Colemak is quite close to Dvorak. It scores a little bit better in some areas and a bit worse in other areas, and its overall score is usually 2-5% better than that of Dvorak, but it is worse for some texts. So it's slightly better than Dvorak, especially if you take into consideration its other advantages (better position for Backspace and similarity to Qwerty)."
02:29:00 <ehird> —http://colemak.com/Media
02:29:02 <ehird> yes, their media page is biased but that doesn't change the facts. also, http://colemak.com/Ergonomic
02:29:04 <ehird> also see http://colemak.com/Compare to get some statistics for various texts
02:29:06 <ehird> i could go on but i'm lazy
02:30:36 <ehird> anyway I type fast enough on QWERTY, so it's mainly hand strain and comfort that makes me want to switch.
02:30:47 <ehird> (i think slower than i can type, so)
02:31:24 <Rugxulo> BTW, ehird, what main apps will your distro intend to run?
02:32:29 <ehird> window manager http://dwm.suckless.org/, terminal emulator (either urxvt or st (http://st.suckless.org/) or something), command-line toolset, vim, irc client ii (http://tools.suckless.org/ii), browser prolly surf http://surf.suckless.org/... i swear it isn't all suckless software, just the most-used stuff :-P
02:32:40 <ehird> (ignoring infrastructure)
02:32:59 <ehird> (in which case my init, my package manager, xorg, not sure what shell yet (maybe pdksh))
02:33:14 <ehird> Rugxulo: alas tcc can't really compile much worthwhile. besides, it's ELF only
02:33:26 <ehird> gcc for kernel+libc+stuff,
02:33:27 <Rugxulo> but it can run .c as if scripts
02:33:34 <ehird> clang (llvm) for the rest
02:33:38 <ehird> or gcc if absoslutely needed
02:33:43 <ehird> libc is probably newlib
02:33:47 <ehird> or eglibc for shit things that require glibc
02:33:50 <ehird> Rugxulo: no it can't
02:33:54 <ehird> it just compiles them and runs them
02:34:00 <ehird> you can do that with anything. besides, it's useless
02:34:54 <ehird> tcc is cool though... shinhichiro hamaji (anarchy golf owner) contributed 64-bit support to the latest release
02:35:14 <Rugxulo> I know Rob Landrey whined forever that it didn't support 64-bit
02:35:28 <ehird> is that the guy that worked on it?
02:35:35 <ehird> there were other reasons too iirc
02:35:36 <Rugxulo> he forked it a few times, that's all
02:35:48 <ehird> his complaints were mostly complete dormancy.
02:35:53 -!- lament has set topic: http://tunes.org/~nef/logs/esoteric/?C=M;O=D | Colemak = ban.
02:35:56 <ehird> little option other than to fork
02:35:57 <Rugxulo> well, that and relying on CVS
02:36:01 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:36:05 <Rugxulo> which he hates with a passion
02:36:49 <ehird> as does anyone sane.
02:39:27 <pikhq> CVS's use was only excusable when the principle alternative was RCS...
02:42:10 <ehird> let's talk about things not likenable to laughing at a retarded kitten
02:42:53 <ehird> if (argc == 2 && !strcmp(argv[1], "--version")) {
02:42:53 <ehird> puts("This is not GNU sed version 4.0");
02:43:02 <ehird> chopped fof the comment
02:43:05 <ehird> /* Lie to autoconf when it starts asking stupid questions. */
02:43:17 <ehird> *oops *chopped *off
02:45:10 <ehird> 12:10:56 <oerjan> AnMaster: i don't think i have tried to use /list without a channel argument, if that's what you mean. i'm not _that_ stupid :D
02:45:29 <ehird> in fact it only takes a few seconds on freenode
02:45:44 <ehird> there's only 5769 public rooms
02:46:12 <ehird> "[#!/bin/mksh] Welcome to the portable MirBSD Korn Shell discussion channel. For mksh on MirBSD see #mirbsd on Freeforge (http://mirbsd.de/irc) as well; be invited to stay here though. Encoding: UTF-8. English spoken. Wir sprechen Deutsch."
02:46:37 <ehird> "This is the website of the MirBSD™ Korn Shell, an actively developed free implementation of the Korn Shell programming language and a successor to the Public Domain Korn Shell (pdksh)."
02:46:40 <ehird> hope it ain't bloated
02:46:44 <ehird> Rugxulo: pdksh is unmaintained though
02:46:57 <Rugxulo> they also forked JOE (-> JUPP)
02:47:13 <ehird> definitely not gonna ship bash
02:47:42 <Rugxulo> you can do an "--enable-minimal-config" with Bash, if desired
02:47:53 <ehird> eh, much rather have a better shell
02:47:55 <Rugxulo> oh, don't forget Dash (although if you dislike GPL, it probably is)
02:48:01 <ehird> dash will be available for compatibility, probably
02:48:13 <ehird> for shell scripting, rc will be overwhelmingly recommended
02:49:15 <ehird> I'm consdering shipping the Heirloom tools http://heirloom.sourceforge.net/ as the userlaand
02:49:53 <Rugxulo> I don't think rc will run autoconf scripts, so you'll have to use dash or similar
02:50:11 <ehird> no duh, rc is totally different
02:50:21 <ehird> autoconf scripts can be run with pdksh and the like.
02:50:28 <ehird> since they're ridiculously over-portable.
02:50:35 <ehird> which in this case happens to be advantageous for me.
02:50:39 <Rugxulo> I dunno, often they don't get enough testing
02:50:42 <ehird> dash will be an optional install i.e. a package
02:50:50 <ehird> if something breaks, try and fix it, else install dash
02:50:57 <Rugxulo> any reason to avoid GPL (e.g. dietlibc) explicitly?
02:51:12 <ehird> well, one, I don't like GPL, but I have two specific objections to dietlibc being GPL
02:51:23 <ehird> one, the author is a raving loon about it (says it's to stop microsoft stealing it to make windows better)
02:51:31 <ehird> two, it means i can't redistribute non-GPL binaries compiled with it
02:51:36 <ehird> so i simply cannot use it
02:51:43 <ehird> (and yes, this is acknowledged by the author)
02:51:43 <madbrain> yeah, maybe LGPL might be better no?
02:51:47 <ehird> madbrain: aha, in fact
02:51:51 <ehird> uclibc is lgpl and i can't use it either
02:51:54 <ehird> since i statically link
02:51:54 <Rugxulo> non-GPL compatible, maybe, but that's not a huge problem as lots of stuff is GPL anyways
02:51:59 <ehird> i'd have to distribute the unlinked .o
02:52:11 <ehird> (the program's .o)
02:52:16 <ehird> Rugxulo: ha ha ha ha ha ha HA
02:52:28 <ehird> Rugxulo: no, a large amount of non-shit software is non-gpl
02:52:40 <Rugxulo> I know others exist, but GPL is definitely popular
02:52:48 <ehird> for instance all suckless tools, all ported plan 9 tools, ... and a lot of shit software is non-gpl too: xorg, ncurses, ...
02:53:13 <ehird> Rugxulo: let's put it this way — simply by selecting the least crappy software I can, I will be shipping almost no GPL'd code
02:53:29 <ehird> depending on having all the programs I ship be GPL will simply never happen
02:53:37 <ehird> anyway, my first objection stands regardless of anything; he's a loon
02:53:42 <ehird> (in fact he's a rather well-known loon)
02:54:00 <ehird> btw since when is clang gpl.
02:54:14 <ehird> it's bsd just like llvm
02:54:27 <ehird> ...which is why I'm probably going to use it as the main userspace compiler
02:54:29 <pikhq> llvm-gcc is the only GPL thing of LLVM.
02:54:39 <ehird> (will have to write my own a.out support for LLVM; easy enough)
02:54:52 <ehird> you didn't, but i see how to parse it now
02:54:58 <Rugxulo> I'm not denying other licenses exist, but GPL is everywhere (seemingly)
02:55:34 <ehird> thankfully those sane enough to produce decent software are also almost always sane enough to avoid the gpl
02:55:46 <ehird> let's see, what will be gpl'd that i ship... linux and...
02:55:55 <ehird> pretty sure that's it
02:56:01 <Rugxulo> VIM is GPL compatible, but I don't know the exact details
02:56:04 <ehird> (ofc there will be gpl'd packages available, talking about default distribution)
02:56:21 <ehird> ah, okay, linux and vim then
02:56:33 <ehird> — I'd prefer to ship a better vi clone than vim but they all kinda suck
02:56:36 <Rugxulo> Perl is dual licensed, I think (artistic and GPL)
02:56:39 <ehird> at least vim isn't retarded about being traditional
02:56:46 <ehird> i'm looking at you, http://ex-vi.sourceforge.net/
02:56:56 <ehird> (by the same guy as the heirloom tools incidentally)
02:57:07 <ehird> elvis is unmaintained and shit, wait, i just addressed all of them :P
02:57:27 <ehird> nvi is basically the same as http://ex-vi.sourceforge.net/
02:57:32 <ehird> except nvi is a reimplementation
02:57:41 <Rugxulo> I like VILE, personally, but Elvis is okay too, XVI is a little too spartan
02:57:42 <ehird> and ex-vi is the real deal
02:57:52 <ehird> vile isn't a vi clone anyway
02:58:01 <Rugxulo> no, NVI is a clean-room reimplementation that is 8-bit clean, full undo, tab completion, etc.
02:58:19 <Rugxulo> but VILE does a lot of stuff normal vi does while keeping most "finger feel"
02:59:03 <ehird> maybe I'll just ship plan9port's acme :)))
02:59:19 <ehird> I will ship some 9base tools though, maybe even the whole thing
02:59:37 <pikhq> ehird: Well, it's not surprising that you've got non-GPL'd stuff as the default distribution.
02:59:38 <ehird> (plan9port fork that just has minimal stuff, no plan9 gui tools or whatever; rc, awk, sed, a few plan9 libs etc)
02:59:40 <Rugxulo> (hmmm, can't remember what license)
02:59:51 <ehird> In fact, I might use the libutf included for osme stuff
03:00:01 <ehird> the original, and best, unicode+utf-8 library
03:00:19 <ehird> (first implementation of utf-8, right after they invented it)
03:00:22 <pikhq> Most of the nonsuck out there is pretty much BSD.
03:00:40 <Rugxulo> it comes in all shapes and sizes :-)
03:00:53 <Rugxulo> good and bad stuff exists in everything
03:01:06 <ehird> it takes someone sane to produce software that doesn't suck, or at least sanely insane
03:01:09 <pikhq> (There's GNU stuff that at least functions correctly, and there's old proprietary UNIX stuff that has crazy amounts of buffer overflows)
03:01:11 <ehird> sane people don't use the gpl
03:01:43 <ehird> the mindset someone requires to use the gpl (authoritarian, paranoia, conspiratorial anti-corporatism, ...) is the kind of mindset that produces bad software
03:01:47 <ehird> (especially authoritarianism)
03:01:47 <Rugxulo> even MS (rarely) uses the GPL (for that tiny bit of driver code they wrote recently)
03:01:58 <ehird> Rugxulo: and? MS stuff sucks
03:01:58 <Rugxulo> and most people consider them "most insane of all" !!
03:02:14 <Rugxulo> but 99% of their stuff ain't GPL, so ... how can it suck? ;-)
03:02:15 <ehird> multiple exclamation marks. a sure sign of madness
03:02:28 <ehird> most non-suck isn't GPL != most non-GPL isn't suck
03:02:41 <ehird> come on, that's like a third grader's logical error
03:02:46 <Rugxulo> I know, but you'd think that the company with the most money could hire the best talent, and yet that isn't true either
03:02:55 <ehird> they can and do, ms people are smart
03:02:58 <Rugxulo> and they shun the GPL yet still "suck"
03:03:00 <ehird> it's just that they can't manage them
03:03:20 <ehird> you realise, Rugxulo, that the inventors of unix worked for ms?
03:03:24 <ehird> well some of them at least
03:03:41 <ehird> eh, i forget who it was
03:03:43 <Rugxulo> I know they hired the VMS dude and owned Xenix for a while
03:04:01 <ehird> cutler is a moron who hates unix and spreads fud about it
03:04:27 <ehird> no he doesn't, he loves NT
03:04:39 <ehird> oh, did he change his mind? exciting.
03:04:56 <ehird> anyway, yes, some MS people are smart. the reason they don't have as many is because they manage the smart people terribly
03:05:00 <ehird> so smart people avoid them
03:05:07 <ehird> they're perfectly capable of hiring them
03:05:35 <Rugxulo> he stopped working for them after NT 4.0 (from what I heard)
03:05:48 <Rugxulo> they just kept him quiet about his differences and continued without him
03:06:02 <ehird> what ... he still works at microsoft dude
03:06:05 <Rugxulo> and MS is too keen to advertise instead of actually fixing things
03:06:11 <Rugxulo> no he doesn't, at least not last I heard
03:06:14 <Rugxulo> even Zippo doesn't work there anymore
03:06:23 <ehird> "David Cutler at work on Windows Azure", picture, wikipedia
03:06:24 <ehird> A Community Technology Preview was given to Professional Developers Conference 2008 attendees.[3] This preview is set to expire in the 2nd quarter of 2009.[citation needed]
03:06:37 <ehird> At the 2008 Professional Developers Conference, Microsoft announced Azure Services Platform, a cloud-based operating system which Microsoft is developing. During the conference keynote, Cutler was mentioned as a lead developer on the project, along with Amitabh Srivastava.[3]
03:06:41 <ehird> He was officially involved with the Windows XP Pro 64-bit and Windows Server 2003 SP1 64-bit releases, as well as Windows Vista. He moved to working on Microsoft's Live Platform in August 2006. Dave Cutler was awarded the prestigious status of Technical Fellow at Microsoft.
03:06:55 <ehird> http://www.microsoft.com/presspass/exec/techfellow/Cutler/default.mspx
03:07:09 <Rugxulo> that sounds different from what I read, but what do I know? :-P
03:07:32 <ehird> seems ksh doesn't support tab completion or whatever, begging the question "why use this over rc?"
03:07:51 <ehird> only reason not to use rc is because terminals are dumb and rc only does what it shhould (be a shell)
03:07:53 <pikhq> That's quite awful.
03:08:02 <ehird> so as a hack, use a shitty shell that oversteps its boundaries
03:08:06 <ehird> pikhq: define "that"
03:08:11 <pikhq> No tab completion?
03:09:18 <Rugxulo> I think?? pdksh supports tab completion
03:09:29 <ehird> really cuz i installed it and i see no tabs bein' completed
03:09:34 <Rugxulo> BTW, here's what I read on Wikipedia for Cutler (discussion page, heh, not exactly official):
03:09:36 <ehird> reading the manpage
03:09:36 <Rugxulo> "Cutler 'left' Microsoft in the spring of 1996. Oh yes he's 'officially' on board but that's only because Microsoft don't want to lose his name. Instead they've helped finance Cutler's race car passion. As Cutler himself said of the deal: 'it keeps me from pissing all over them'. By the time of the Denver DC the word was getting out and Microsofties were whispering in panic 'Dave is gone! Dave is gone!' —Preceding unsigned com
03:09:37 <Rugxulo> by 90.5.7.87 (talk • contribs) 20:47, August 31, 2008"
03:09:55 <ehird> conspiracy theories; exciting
03:10:48 <ehird> Interactive Input Line Editing
03:10:48 <ehird> The shell supports three modes of reading command lines from a tty in
03:10:49 <ehird> an interactive session. Which is used is controlled by the emacs,
03:12:35 <ehird> well i can edit line but not tab
03:12:47 <ehird> vi-tabcomplete In vi command line editing, do
03:12:47 <ehird> command / file name completion
03:12:48 <ehird> when tab (^I) is entered in
03:13:01 <Rugxulo> "And sorry but I have first hand information that regardless of where he was officially moved he wasn't there anymore. He got sick and tired of them, did a deal to stay silent, and left. He turns up for dos and MS want his name around but he is definitely out of the picture by the spring of 1996. And that's first hand info - from the former developers on his team right outside the Tribe. —Preceding unsigned comment added by 90
03:13:01 <Rugxulo> (talk • contribs) 20:47, August 31, 2008"
03:14:24 <ehird> got completion working
03:14:58 <ehird> bind ^I=complete-list
03:15:11 <ehird> does it read .kshrc
03:17:19 <ehird> whatever, those are the two commands you need
03:19:54 <ehird> well, this seems to "work"
03:19:59 <ehird> i'd much prefer rc, but...
03:22:59 <ehird> I need to refine my C code.
03:25:42 <ehird> "BTW, don't blame me for this hack; it's in the original ksh."
03:28:14 <ehird> PS1="\$(pwd | sed 's@^$HOME@~@')$ "
03:30:13 <ehird> What's the code to change title of xterm again?
03:32:24 <pikhq> Pity my code for that is in zsh...
03:35:37 <ehird> bind ^I=complete-list
03:35:38 <ehird> dir="\$(pwd | sed 's@^$HOME@~@')"
03:35:38 <ehird> title=$(printf "\r\r\r\e]0;$dir\a\r")
03:35:38 <ehird> PS1="$title$dir$ "
03:36:20 <ehird> I don't think the r stuff works properly
03:36:30 <ehird> bind ^I=complete-list
03:36:30 <ehird> dir="\$(pwd | sed 's@^$HOME@~@')"
03:36:31 <ehird> title=$(printf "\e]0;$dir\a")
03:36:31 <ehird> PS1="$title$dir$ "
03:37:16 <ehird> if [ $0 = ksh ]; then . ~/.kshrc; fi
03:39:03 <ehird> hmm what's the ${##} type thing to replace...
03:39:12 <ehird> gah, rc is so much simpler than all of this b u l l s h i t
03:39:46 <ehird> you wanna know how you get shit in the title in rc?
03:39:47 <ehird> fn prompt { printf '\e]0;'^`{pwd}^'\a' }
03:39:51 <ehird> that doesn't do the replacement
03:39:59 <ehird> wanna know how fucking easy it is to do the replacement?
03:40:20 <ehird> fn prompt { printf '\e]0;'^`{pwd | sed "s@^$HOME@~@"}^'\a' }
03:41:56 <ehird> btw, why do people truncate history files?
03:43:48 -!- Rugxulo has left (?).
03:45:32 <ehird> okay, i will get this working
03:51:07 <ehird> why ism't there a rlwrap that keeps track of cwd
04:10:13 -!- deschutron has joined.
04:16:25 -!- Pthing has joined.
04:16:53 <madbrain> what would be a good repartition of memory cycles for a system
04:17:59 * ehird considers writing a fortran compiler for no reason
04:18:06 <madbrain> considering you have 400 memory cycles per scanline (in 320x240 @ 60fps) to share between video hardware, cpu and sound
04:18:27 <ehird> who needs 60fps, do 640x480 @ 30fps
04:19:03 <madbrain> 30fps is not NTSC or VGA compatible
04:19:06 <ehird> (in fact I'd go for 1280x960 @ 15fps unless i was going to do fun demosceney stuff, but eh; no lcds really support that res)
04:19:21 <ehird> do 24fps then :-P or 29.999997 or whatever ntsc is
04:19:33 <ehird> but 320x240 is a bit low w imo
04:19:52 <madbrain> VGA refuses to display anything that had a horiz refresh of less than 30khz
04:20:21 <madbrain> (in fact that's what vga does for low resolution modes)
04:20:48 <ehird> i mean you can do fun graphics at 320x240, but text will be ugly or limited
04:21:05 <madbrain> yeah text definitely benefits from 640x480
04:21:12 <ehird> 30fps is enough for all the fast-paced FPS games out there /shrug
04:21:17 <deschutron> do you mean set the video output at 30Hz, and then display each frame twice at 60Hz
04:21:26 <ehird> that could work, yep
04:22:05 <madbrain> If you display 640x480 on a TV, you have to make it interlaced though
04:22:26 <ehird> could just use a crt
04:22:45 <ehird> i guess vga is too boringly conventional :-D
04:22:51 <madbrain> Afaik a CRT accepts most stuff you throw at it
04:22:59 <ehird> interlacing would work fine though
04:23:08 -!- coppro has quit (Read error: 110 (Connection timed out)).
04:23:13 <madbrain> But the horiz rate has to be at least 30khz
04:23:13 <ehird> well, apart from the artifacts :-P
04:24:14 <madbrain> Hence 320x240 (which is actually 320x480 with each line displayed twice) and 640x480
04:24:59 <ehird> Supporting a TV is cool, though... but interlacing artifacts would ruin the coolness of hooking up an fpga to a TV and seeing a spinning cube :)
04:25:37 <ehird> http://en.wikipedia.org/wiki/576i
04:25:57 <madbrain> I have no device that would show it
04:26:00 <ehird> what do you canucks use
04:26:48 <ehird> low resolution might not be so bad since it's a crt tv
04:26:52 <ehird> they basically antialiase for you ;-)
04:27:20 <madbrain> I'm probably going to base it on VGA timing
04:28:48 <madbrain> I wonder if LCDs will accept 524 scanline 640x480 or if they want 525 scanlines
04:29:01 <ehird> isn't vga 640x480 interlacing on a tv
04:29:13 <ehird> also, LCDs just accept their native resolution. anything else is acceptable
04:29:15 <ehird> it'll just scale it to shit
04:29:33 <madbrain> well, dunno how LCDs handle freaky hacked VGA modes
04:30:05 <madbrain> one thing I know is that they guess the horiz resolution from the # of lines
04:30:28 <madbrain> specifically they guess 640x350, 720x400 and 640x480
04:31:11 <madbrain> Unfortunately that wrecks 640x400 modes (80x50 text mode and 320x200)
04:33:41 <Ilari> Aren't normal text modes 9 pixels wide per character cell?
04:34:09 <madbrain> there are both 8 pixel and 9 pixel modes!
04:34:20 <ehird> that's way too small to actually read though :P
04:34:47 <madbrain> in fact VGA has 2 different clock crystals, one for 8 pixel mode (640x) and one for 9 pixel mode (720x)
04:35:09 <Ilari> Isn't there also 16 pixel mode?
04:35:17 <ehird> each glyph must be 8x20 for 640x480 80x24 text mode
04:36:13 <madbrain> In 9 pixel mode it generates an extra pixel, usually black, without any charset data
04:36:23 <ehird> by glyph i mean including spaciing
04:36:28 <madbrain> ehird: that's a kinda weird mode
04:36:36 <ehird> so assuming one pixel character separation,
04:36:40 <ehird> and two pixel line separation
04:36:48 <ehird> chars themselves would be 7x18
04:37:22 <ehird> madbrain: it's weird, but it's also fun and unconventional :P
04:37:35 <madbrain> more common is 640x350 80x25 with 8x14 chars, 720x400 80x25 with 8+1x16 chars
04:38:01 <ehird> but 80x24 is more common than 80x25 :-P
04:38:14 <ehird> 80x24 is universal on unix
04:38:35 <ehird> who wants to imitate the PC!
04:39:22 <madbrain> I've done some ZZT and Megazeux games, the systems are based on 80x25
04:39:30 <ehird> anyway, square chars are silly :-P
04:39:44 <ehird> english isn't square!
04:39:50 <madbrain> Well, that's because our alphabet is narrow yeah :D
04:40:21 <ehird> 8x12 might be good; gives you 80x40
04:40:31 <ehird> which is an *excellent* size for English text
04:40:53 <ehird> (and programming...)
04:41:26 <ehird> might be a bit TOO narrow though
04:41:45 <ehird> use two pixels at bottom or top for line spacing
04:41:47 <ehird> and only one for char spacing
04:41:55 <ehird> (of course you can use them for characters that don't quite fit...)
04:42:03 <ehird> that way it isn't quite as narrow but the glyphs are still 8x12
04:42:13 <madbrain> ok, I have my VGA tweaking program ready to use :D
04:42:57 <madbrain> http://www.gameprogrammer.com/demos/tweak16b.zip <- a good old classic vga tweaking program some dude wrote in 1993
04:44:53 <ehird> drawing non-cookie-cutter pixel fonts is hard
04:45:00 <madbrain> ok, the monitor can definitely cope with a missing vga line or two :D
04:45:17 <ehird> 8x12 would be cool to serif
04:45:17 <madbrain> ehird: I drew a couple in megazeux's char editor
04:45:30 <madbrain> (8x14 of course since that's what megazeux uses)
04:46:06 <madbrain> The best trick with text mode fonts is to keep using 2 pixel wide vertical lines
04:49:00 <ehird> hmm, that could make this look less like an outline, yeah
04:50:00 <ehird> there's enough variation to do bold here
04:55:30 <ehird> madbrain: 7x12 might be better for english text, actually (regular glyph size 6x10 due to spacing)
04:55:53 <ehird> (it's just that "c" looks a bit stretched)
04:57:24 <ehird> madbrain: does 640x480 on a tv have square pixels?
04:57:49 <madbrain> On TVs it's probably something like "who knows"
04:58:09 <madbrain> I can't remember if TVs eat the top and bottom 8 lines
04:59:17 <ehird> funny how the pixels look different when you zoom out
04:59:24 <ehird> most CRTs are so crappy as to smooth out any oddities anyway :D
04:59:41 <madbrain> At least ZSNES seems to output 256x224
05:00:09 <ehird> and wow — 640x480 is a lot with 8x12 characters! (7x10 regular glyphs yada yada yada)
05:00:28 <ehird> could fit a novel onto one screen :P
05:01:08 <ehird> 80x40 doesn't seem much, but it looks like it...
05:02:42 <ehird> Funny how you have to do slightly different m etrics to get bold characters to have the same shape as regular ones.
05:03:36 <ehird> why don't people do more serifed pixel fonts?
05:04:01 <ehird> so do I, but serif pixel fonts look nice
05:04:08 <ehird> since the serifs are so tiny, it's just like adding some spice to it
05:04:36 <madbrain> Sans serif is a bit more stylistically neutral
05:05:19 <ehird> but all sans serif pixel fonts look the same :)
05:06:55 <ehird> well definitely my, what was it, 3x4 glyphs (always 1px spacing around it, so 4x5 if you want ot be pedantic) were pretty unique and yet the same...
05:07:04 <ehird> unique because I had to contort lots of characters in fun ways, the same because, well
05:07:18 <ehird> there aren't many ways to draw the alphabet, numbers and some punctuation at that size
05:07:25 <ehird> although i did have two sets of numbers, lowercase and uppercase
05:07:28 <ehird> that went with the corresponding alphabet
05:07:38 <ehird> and every single one was different
05:07:48 <ehird> madbrain: glyph or char (spacing)
05:07:59 <ehird> glyph w/o spacing char w/
05:08:30 <madbrain> Including spacing, so 7 pixel of data
05:08:48 <madbrain> Unless you also use the spacing pixels!
05:09:10 <ehird> sometimes you can use them for e.g. accents
05:09:22 <ehird> (ascenders it's generally best to leave the normal spacing)
05:10:00 <ehird> the one I'm doing now is 7x10 usual glyph, 8x12 size
05:10:10 <ehird> so your suggestion has been heeded :-P
05:10:38 <madbrain> yeah you need space for descencers, accents over capital letters
05:10:43 -!- oerjan has quit ("leaving").
05:10:53 <ehird> i have a whole two vertical pixels available for descenders :-P
05:10:56 <ehird> (the vertical spacing at the bottom)
05:11:29 <ehird> no real space for accents though :-D
05:11:30 <madbrain> I think 8x14 fonts normally have 2 space lines at the top and 3 at the bottom
05:11:53 <ehird> 7x10 glyphs are just enough to be able to design :P
05:12:02 <ehird> e is really hard though
05:12:27 <madbrain> dunno, you don't have to squeeze it
05:12:39 <ehird> well, to get it looking like my other chars
05:13:01 <ehird> madbrain: aah s was almost impossible in my 3x4-glyph font
05:13:19 <ehird> (capital letter = lowercase letter height for space)
05:13:39 <ehird> in the end I used an optical illusion to make it look like z was like a small zeta even though it had no curve :P
05:13:40 <madbrain> most snes games use sans serif
05:13:53 <ehird> I used the same to do N
05:13:59 <ehird> i had to optical illusion the slant
05:15:57 <madbrain> just don't make it into a typewriter font :D
05:17:53 <madbrain> Dunno, I always thought courrier looked awful :D
05:19:34 <madbrain> some games have chinese calligraphy imitation fonts
05:19:58 <madbrain> although it's hard to shoehorn latin letters into chinese calligraphy due to the kind of shape they use :D
05:22:16 <ehird> my bold letters look smaller
05:22:23 <ehird> well they are, i guess, they're shorter generally, the lowercase parts
05:22:26 <ehird> but that's just so they don't look weird
05:24:50 <ehird> ooh f is a challenge
05:26:39 <ehird> looks a bit weird, but oho well
05:28:42 <ehird> I should use this as a terminal font
05:34:16 -!- Gracenotes has joined.
05:34:53 <madbrain> I think there's this idea that sans serif is closer to a "pure" version of the letters
05:35:13 <ehird> that's true, but it also reflects why sans serif pixel fonts almost all look identical
05:35:27 <ehird> because you have to express the purest form in such constraints, there's almost a "right way" to do it
05:35:49 <ehird> at bigger sizes there's more ambiguity, so to speak, so you can have unique sans serif typefaces
05:35:58 <ehird> but going smaller, serifs really help to distinguish it
05:41:21 <madbrain> just found the vga 28mhz clock bit
05:42:08 <ehird> how do you make i span 7 chars
05:42:14 <ehird> you don't, and you have a shitload of spacing
05:43:38 <ehird> monospace is pretty silly.
05:43:51 <madbrain> although you can get it to 4 pixels wide with serif
05:44:35 <ehird> wait, how four pixels
06:02:04 <madbrain> most modes that would be neat flat out don't work
06:02:24 <ehird> modes as in text modes or
06:02:34 -!- coppro has joined.
06:03:24 <ehird> which neat ones don't work?
06:04:09 <madbrain> 80x40 text mode 640x480 with 8x12 chars DOES work though :D
06:04:24 <ehird> The best mode there is!
06:04:38 <madbrain> the ones that aren't 320x or 360x (or 640x or 720x for 16 color and text modes)
06:04:52 <ehird> 80x48 might be cooler tho
06:05:01 <ehird> since you can have two unix terminals at once
06:05:26 <ehird> hmm yeah, too easy
06:05:37 <ehird> just need to do 8x10
06:05:38 <madbrain> basically character height is free
06:05:50 <madbrain> because it has no effect on monitor timing
06:06:00 <ehird> 80x12 is better for text, anyway, so losing a few lines is no big deal
06:06:16 <madbrain> monitor timing is the stupid part where the monitor gets finnicky and refuses your mode
06:06:34 <ehird> madbrain: what's the lowest res and highest timing you ca n d o
06:07:34 <madbrain> VGA is not meant for modes other than x350, x400 and x480 although normally modes with less lines actually do work
06:10:10 <madbrain> what works is modes with faster frame rates and more lines, except VGA has a fixed clock so none of these modes are practical outside SVGA
06:17:49 -!- madbrain has quit ("Radiateur").
06:31:57 <ehird> "Of the 51 system calls present in Plan 9, we have written equivalents of the most essential ones, allowing simple executables like cat, sed, grep and even the Plan 9 C compiler, 8c to run unmodified on Linux." —Glendix
06:32:00 <ehird> maybe i could reuse the c compiler
06:32:04 <ehird> too standards incompliant
06:32:17 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
06:37:57 <ehird> http://www.istockphoto.com/file_closeup/technology/computers/7869585-man-using-trackball.php?id=7869585 hypnotic
06:43:03 -!- cal153 has joined.
06:53:32 <ehird> "The way it was characterized politically, you had copyright, which is what the big companies use to lock everything up; you had copyleft, which is free software's way of making sure they can't lock it up; and then Berkeley had what we called 'copycenter', which is 'take it down to the copy center and make as many copies as you want.'" — Kirk McKusick, BSDCon 1999
06:55:01 <ehird> "Controversial decisions are often made differently from OpenBSD; for instance, there won't be any support for SMP in MirOS." let me know how that works out for you
07:02:54 -!- deschutron has left (?).
07:04:32 <ehird> an alternative to llvm/clang? mayhaps
07:06:06 <ehird> http://pcc.zentus.com/cgi-bin/cvsweb.cgi/os/linux/ccconfig.h?rev=1.16;content-type=text%2Fplain Repeat after me! Linux! Is! Not! ELF!
07:37:23 * ehird attempts to use CVS as a DVCS
07:45:05 <ehird> That was surprisingly easy
07:48:39 <ehird> Ew, I even got pulling and pushing for free
07:48:48 <ehird> I feel dirty now (← DO NOT TAKE THESE TWO LINES OUT OF CONTEXT)
07:49:21 <ehird> http://www.blogcdn.com/www.engadget.com/media/2009/11/new_thinkpad_1.jpg
07:49:23 <ehird> This image is photoshopped
07:49:24 <ehird> This image is photoshopped
07:49:25 <ehird> This image is photoshopped
07:49:27 <ehird> This image is photoshopped or a ripoff
07:49:36 <ehird> Oh god AnMaster, you are so lucky to have bought yours already
07:52:18 <ehird> waaaaaaaait, it looks 4:3
07:56:04 -!- Asztal has joined.
07:56:28 -!- coppro has quit (Remote closed the connection).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:47 -!- Jaykul has changed nick to Jaykul[AFK].
08:09:35 <ehird> A C compiler that compiles in less than a minute. Refreshing.
08:17:52 <ehird> http://pcc.ludd.ltu.se/, an update of the old pcc. BSD licensed.
08:18:03 <ehird> Tiny, fast. Good platform support. Good GCC compatibility.
08:18:08 <ehird> BSDs are eyeing it to replace GCC eventually.
08:18:16 <ehird> It also compiles very quickly.
08:18:22 <ehird> (as in, compiles code you give to it)
08:18:23 <pikhq> A C compiler that doesn't have more abstraction layers than frontends. :P
08:18:28 <ehird> and the compiler itself compiles in less than a minute
08:18:43 * ehird makes it compile itself
08:19:33 <ehird> Unfortunately it doesn't have -Os yet
08:19:47 <ehird> but methinks this may be a contender for the main compiler
08:19:53 <ehird> Minimalist, well-coded, well-licensed, and fast.
08:20:11 <ehird> "YACC The `Yet Another C Compiler' implementation to use."
08:20:16 <ehird> a typo in autoconf?!
08:20:47 <pikhq> And I thought autoconf was a well-implemented bad idea, rather than a typo'd one. :P
08:20:56 <ehird> I sure hope someone changed that in some pcc file, because oh my word.
08:20:59 <ehird> ...Microwerks? SERIOUSLY?
08:21:03 <ehird> /usr/include//stdarg.h:8: error: "This header only supports __MWERKS__."
08:21:03 <ehird> ...Microwerks? SERIOUSLY?
08:21:13 <ehird> #if defined(__GNUC__)
08:21:14 <ehird> #include_next <stdarg.h>
08:21:14 <ehird> #elif defined(__MWERKS__)
08:21:14 <ehird> #include "mw_stdarg.h"
08:21:15 <ehird> #error "This header only supports __MWERKS__."
08:21:57 <ehird> Additionally, stdargs.h only works with gcc. Paste the following lines into /usr/local/lib/pcc/stdarg.h:
08:22:00 <ehird> Thanks pcc website
08:22:15 <ehird> It does the obvious:
08:22:17 <ehird> #ifndef _STDARG_H_
08:22:17 <ehird> #define _STDARG_H_
08:22:17 <ehird> #define va_list char *
08:22:18 <ehird> #define va_start(ap, last) __builtin_stdarg_start((ap), last)
08:22:18 <ehird> #define va_arg(ap, type) __builtin_va_arg((ap), type)
08:22:20 <ehird> #define va_end(ap) __builtin_va_end((ap))
08:22:22 <ehird> #define va_copy(dest, src) __builtin_va_copy((dest), (src))
08:22:26 <ehird> Oops, flood. Sorry.
08:22:46 <ehird> ld whines a lot about
08:22:47 <ehird> ld warning: can't find atom for N_GSYM stabs _stublist:G1 in compat.o
08:22:53 <ehird> and we get the error
08:22:56 <ehird> pcc -DGCC_COMPAT -DPCC_DEBUG -Dos_darwin -Dmach_i386 -D_ISOC99_SOURCE -I. -I. -I../.. -I../../mip -I../../arch/i386 -I../../os/darwin -g -Wall -Wmissing-prototypes -Wstrict-prototypes -Wshadow -Wsign-compare -Wtruncate -c -o pftn.o pftn.c
08:22:56 <ehird> pftn.c, line 1856: compiler error: Cannot generate code, node 0x839b70 op OREG
08:23:35 <ehird> for (i = 0, base = tylnk.next; base; base = base->next, i++)
08:23:41 <ehird> Odd place to fail (the second line, I think)
08:55:53 <ehird> Maybe it's in fact the previous line.
08:57:32 <AnMaster> <ehird> http://www.blogcdn.com/www.engadget.com/media/2009/11/new_thinkpad_1.jpg <-- huh
08:57:40 <ehird> probably either photoshopped or a fake.
08:57:45 <ehird> (ripoff fake that is)
08:57:55 <ehird> especially note that stretched thinkpad logo≥
08:58:04 <ehird> puzzlet: it's an abomination against thinkpads
08:58:10 <ehird> - chiclet keyboard (seriously!!)
08:58:17 <ehird> - ugh, just so ugly
08:58:33 <ehird> the keys are separated
08:58:35 <ehird> think macbook keyboard
08:58:48 <ehird> also shallower than most laptop keyboards
08:58:58 <ehird> i'm fairly sure lenovo would never do this though
08:59:02 <ehird> unless to the sl line, which sucks anyway
08:59:41 <ehird> "consumer"; glossy, iirc 16:9 not sure though
08:59:47 <ehird> internals are not actually thinkpad internals.
08:59:51 <ehird> (taken from ideapad or something)
09:00:09 <ehird> "consumer" lenovo notebooks
09:00:50 <ehird> AnMaster: link me to latest cfunge code drop or bzr or whatever
09:00:55 <ehird> I'm gonna try and compile it with pcc :)
09:01:42 <AnMaster> ehird, it doesn't compile with pcc. at least didn't last I tried.
09:01:55 <ehird> that's been improved.
09:02:06 <ehird> http://www.bsdfund.org/projects/pcc/
09:02:10 <ehird> see "improved c99 functionality".
09:03:14 <ehird> "Support BSD with every purchase! Every time you use the BSD Fund Visa, a small donation is made to BSD Fund to support its programs."
09:03:14 <ehird> That requires some dedication...
09:03:54 <AnMaster> https://code.launchpad.net/~anmaster/cfunge/trunk
09:04:06 <AnMaster> maybe there is a "get a tarball" link there somewhere
09:04:29 <ehird> CMake seems happy with pcc so far, using ccmake.
09:04:49 <ehird> Default settings are fine to build a full cfunge, yep?
09:05:12 <AnMaster> ehird, should be. Not sure if cmake is likely to mess something up there
09:05:30 <ehird> [ 9%] Building C object CMakeFiles/cfunge.dir/lib/genx/genx.c.o
09:05:34 <ehird> /Users/ehird/Downloads/trunk/lib/genx/genx.c, line 848: compiler error: Cannot generate code, node 0x81c490 op >>
09:05:38 <ehird> Eventful build, that.
09:05:47 <ehird> Note: This is probably due to me being on OS X.
09:05:53 <ehird> Want I should try it in my Arch VM?
09:05:54 <AnMaster> ehird, that file isn't even very C99ish
09:05:59 <ehird> See note about OS X.
09:06:15 <AnMaster> ehird, well. feel free to. I tried it under FreeBSD iirc
09:07:15 <ehird> "Command substitution was something else I added because that gives you very general mechanism to do string processing; it allows you to get strings back from commands and use them as the text of the script as if you had typed it directly. I think this was a new idea that I, at least, had not seen in scripting languages, except perhaps LISP."
09:07:15 <ehird> Fuck you Bourne, it was a really terrible idae.
09:08:01 <ehird> because you have to put quotes everywhere so that it ends up just like a regular programming language
09:08:27 <ehird> all uses of it in non-quoted ways apart from to send as arguments (like python *foo) are harmful hacks because the shell is crippled
09:08:53 <ehird> "sudo pacman -S bzr cvs"
09:09:35 <ehird> AnMaster: Also: "Moreover - although the v7 shell is written in C - Bourne took advantage of some macros[1] to give the C source code an ALGOL 68 flavor."
09:09:40 <ehird> Basically this guy is totally crazy.
09:09:54 <ehird> ("Nobody really knows what the Bourne shell's grammar is. Even examination of the source code is little help." —Tom Duff)
09:10:15 <ehird> http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/sh/main.c.html
09:10:21 <ehird> Feast your eyes upon the macroed horror!!!!
09:10:31 <ehird> IF (flags&prompt) ANDF standin->fstak==0 ANDF !eof
09:10:32 <ehird> THENIF mailnod.namval
09:10:32 <ehird> ANDF stat(mailnod.namval,&statb)>=0 ANDF statb.st_size
09:10:32 <ehird> ANDF (statb.st_mtime != mailtime)
09:11:30 <ehird> Sweet, pcc supports pdp11.
09:12:26 <ehird> pdksh probably isn't so bad.
09:12:37 <ehird> I'm still erring on the side of rc for the shell
09:12:56 <AnMaster> ehird, who was that "Tom Duff" you mentioned (invokes aisness)
09:13:10 <ehird> http://en.wikipedia.org/wiki/Tom_Duff. he also has an account on our wiki, and that picture is horrible
09:13:31 <ehird> AnMaster: duff device
09:13:43 <ehird> http://doc.cat-v.org/plan_9/2nd_edition/papers/gfx/pjw.ps.17761.gif
09:13:46 <ehird> much better picture :-P
09:13:58 <ehird> wait, that's "pjw"
09:14:57 <ehird> Hmm, pcc doesn't do C++.
09:15:17 <AnMaster> when it becomes stable for c++
09:15:26 <ehird> Linking clangged WebKit with pcc'd surf, though?
09:15:39 <AnMaster> ehird, why not use clang for everything?
09:15:48 <ehird> pcc is simpler, faster.
09:16:25 * ehird is considering purchasing a trackball
09:16:42 <ehird> it's just... i think i've retarded my thumbs using a mouse for so lnog
09:16:53 <ehird> emulating trackball motion is uncomfortable
09:17:25 * ehird make clean, reconfigure w—
09:17:29 <ehird> oh, I forgot to compile the libraries first
09:19:06 <ehird> Can too create executables!
09:19:31 <ehird> Would help if pcc was in my path, ehehehehe...
09:19:37 <ehird> Oops, turned into MKRY there.
09:20:17 <ehird> AnMaster: have you ever used a trackball?
09:20:33 <AnMaster> ehird, yes. found it quite awkward. Only very temporarily
09:20:41 <AnMaster> when helping someone having one with a computer issue.
09:20:51 <ehird> i.e. trackball in middle or to the side
09:20:56 <AnMaster> ehird, I think the ball was on the side
09:21:22 <ehird> Uncomfortable just after your thumb (bottom of your hand), would you say? That's what I'm getting when attempting it in thin air
09:21:30 <ehird> The lifting up motion, so to speak.
09:21:37 <ehird> Woot, pcc compiles itself.
09:21:38 <AnMaster> ehird, The fact that it was a left hand edition didn't help
09:21:46 <ehird> Well that'd do it.
09:21:59 <ehird> Aaaand pcc is replaced by a pcc compiled by itself YO DAWG
09:22:01 <AnMaster> ehird, I actually use mouse quite well with either hand
09:22:29 * AnMaster has a symetric mouse for that reason
09:25:05 <ehird> pcc cannot compile a simple test program, sweet
09:25:14 <ehird> "ld: cannot find -lc"
09:25:54 <ehird> /lib/libc.so.6 exists.
09:28:05 <AnMaster> ehird, well then. I can't help you at all
09:29:37 <ehird> base-devel is all you need in arch, right?
09:30:01 <AnMaster> ehird, uh. maybe. not 100% sure. I know it works on my arch system for sure
09:30:07 <AnMaster> but it was so long ago I set it up
09:31:17 <ehird> Not with pcc it doesn't.
09:32:15 <AnMaster> wait if gcc didn't work. How comes you could compile pcc at all?
09:32:29 <ehird> I don't know, don't ask me.
09:32:56 <ehird> Maybe only pcc is adding -lc, and I forgot to rm -rf before ccmaking without CC=pcc.
09:32:58 <ehird> So it used pcc again.
09:33:03 <ehird> But pcc could compile pcc.
09:33:06 <ehird> So cmake is fucking up.
09:33:30 <AnMaster> ehird, possible. Or pcc is having issues with one of the cmake tests
09:33:40 <AnMaster> ehird, check if cmake works with gcc for cfunge
09:33:46 <ehird> "-lc" is wrong, whyever it's being added.
09:33:55 <ehird> it starts configuring
09:34:09 <AnMaster> well then. if it passes the point where cmake fails pcc?
09:34:59 <AnMaster> ehird, just that I know cfunge breaks some older cmake 2.6 versions. IIRC the interval [2.6, 2.6.3)
09:35:26 <AnMaster> ehird, yeah same thing. Just me being lazy
09:35:43 <AnMaster> ehird, anyway it breaks it by throwing a syntax error during the configure thing
09:37:29 <ehird> There's also /usr/lib/libc.so
09:37:56 <ehird> ASCII C program text?!
09:38:07 <ehird> it's a gnu ld script
09:38:12 <ehird> But my ld is gnu...
09:38:24 <ehird> Anyway, won't it use /lib/libc.so.6?
09:38:38 <AnMaster> it should by that linker script
09:38:47 <AnMaster> Use the shared library, but some functions are only in
09:38:47 <AnMaster> the static library, so try that secondarily. */
09:38:47 <AnMaster> GROUP ( /lib64/libc.so.6 /usr/lib64/libc_nonshared.a AS_NEEDED ( /lib64/ld-linux-x86-64.so.2 ) )
09:38:56 <ehird> yeah, that's what i have too
09:39:37 <AnMaster> but it should be similar. maybe some diff in the /lib64 bit depending on how exactly the multilib stuff is done
09:40:02 <ehird> ENABLE_64BIT is on.
09:40:15 <AnMaster> ehird, that only affects size of funge cells
09:40:17 <ehird> I'll look in the retarded 64 directories — hey, another problem my distro doesn't have! :P
09:40:24 <ehird> AnMaster: well it's 64 bit arch too
09:40:37 <AnMaster> ehird, it is int32_t vs. int64_t for funge cells
09:40:47 <ehird> OUTPUT_FORMAT(elf32-i386)
09:40:55 <ehird> what in cry's name
09:40:59 <ehird> do i need some sort of
09:41:02 <ehird> magic-64bit-package
09:41:12 <AnMaster> ehird, wait, is the distro 64-bit?
09:41:35 <ehird> I'm so confused... about everything...
09:41:51 <ehird> Ha, a blind person who likes Python.
09:42:16 <ehird> [[I code with edbrowse, which is a derivitive of /bin/ed]]
09:42:22 <ehird> (Also the only option)
09:42:41 <ehird> The whole blind thing doesn't mesh with, you know, graphical editors.
09:42:50 <ehird> (Including vi and all)
09:42:56 <AnMaster> ehird, one of those braile ttys?
09:43:06 <ehird> Screenreaders are easier.
09:43:10 <ehird> And make typing easier.
09:43:19 <AnMaster> ehird, possibly. *imagines Microsoft sam reading lisp code*
09:43:30 <ehird> I sort of wish I could be temporarily blind, just so I could set up a tricked out text-to-speech environmeent.
09:45:58 * AnMaster imagines ehird's parents reaction on that
09:46:01 <ehird> It's a whole fun avenue of interface design that I'm totally deprived of. Blind people have it easy!
09:46:09 <AnMaster> wait I think I missed some ' there
09:46:54 <AnMaster> ehird, you know. Since you aren't deaf you could use it even when without a blindfold
09:47:18 <ehird> But I'd cheat by looking.
09:47:29 <ehird> Also, it'd be boring. :P
09:48:33 <ehird> What I mean is, looking at something that doesn't change (assuming I blanked the screen).
09:50:20 <fizzie> Just remember to not eat any floating eyes to get the most realistic being-blind blindfold experience.
09:50:21 <AnMaster> ehird, tell me if you manage to get pcc to work
09:50:45 <ehird> I can just do -Wl,-v
09:51:13 <ehird> Or just --verbose :P
09:51:38 <ehird> Actually, it is the same as -V
09:51:41 <AnMaster> that dumps the entire default linker script it seems
09:51:54 <ehird> Well, it's dumping the script too
09:52:09 <AnMaster> --verbose dumps linker script, -V doens't
09:52:25 <AnMaster> -v, --version Print version information
09:52:25 <AnMaster> -V Print version and emulation information
09:52:25 <ehird> "attempt to open /usr/local/lib/pcc/i686-pc-linux-gnu/0.9.9/lib//libc.a failed"
09:52:29 <ehird> YOU ARE STUPID AND YOU SHOULD FEEL STUPID
09:52:31 <AnMaster> --verbose Output lots of information during link
09:52:46 <AnMaster> ehird, pcc is doing something strange with the arguments?
09:52:57 <AnMaster> ehird, I'm pretty sure it must have passed the full path for that to happen
09:53:00 <ehird> But it should surely then look at the next directory
09:53:04 <ehird> It's definitely -lc
09:53:57 <AnMaster> attempt to open /usr/x86_64-pc-linux-gnu/binutils-bin/2.18/../../lib/libc.so failed
09:53:57 <AnMaster> attempt to open /usr/x86_64-pc-linux-gnu/binutils-bin/2.18/../../lib/libc.a failed
09:53:57 <AnMaster> attempt to open /usr/x86_64-pc-linux-gnu/lib64/libc.so failed
09:54:08 <AnMaster> attempt to open /usr/lib64/libc.so succeeded
09:54:08 <AnMaster> opened script file /usr/lib64/libc.so
09:54:12 <AnMaster> attempt to open /lib64/libc.so.6 succeeded
09:54:35 <ehird> Any way to get ld to tell me what arguments it'd getting?
09:56:45 <AnMaster> ehird, make ld a shell script that prints args then call the real ld
09:56:57 <AnMaster> that should work at the very least
09:56:59 <ehird> That would be my second choice.
09:58:34 <fizzie> strace it is always an option.
09:58:41 <fizzie> Rrrr, AnMaster's too fast.
09:58:41 <ehird> YOU HAVE BEEN REVEALED
09:58:47 <ehird> AnMaster, fizzie: I KNEW YOU WERE THE SAME
09:58:52 <ehird> fizzie is just major trolling me with AnMaster
09:59:02 <fizzie> I should've just stopped at "strace" without bothering with the trailing part.
09:59:12 <ehird> But fizzie doesn't annoy me.
09:59:19 <AnMaster> ehird, that is the whole point
10:00:09 <ehird> Please do that some more; it's devastating.
10:00:27 <ehird> strace + ncurses = LOL WUT
10:01:15 <AnMaster> path to pcc if it isn't in path
10:01:30 <AnMaster> ehird, and use the follow forks mode
10:01:39 <AnMaster> otherwise it won't tell you anything useful
10:02:04 <AnMaster> -f -- follow forks, -ff -- with output into separate files
10:02:04 <AnMaster> -F -- attempt to follow vforks, -h -- print help message
10:02:16 <ehird> Whee hueg spew to my console.
10:02:43 <fizzie> Yes, -o is often a good idea for strace too.
10:03:05 <AnMaster> since there will be lots of forks
10:03:34 <fizzie> I'd do -f; you can grep a single file just as easily as multiple files.
10:04:01 <AnMaster> <ehird> "attempt to open /usr/local/lib/pcc/i686-pc-linux-gnu/0.9.9/lib//libc.a failed" <-- last solution: symlink that to the right file?
10:04:22 <AnMaster> ehird, oh btw your tripplet would be different
10:04:27 <ehird> Tripppppppppppppplet.
10:04:37 <ehird> It'll be i686-pc-linux-newlib.
10:04:44 <ehird> AnMaster: better trippplet
10:05:03 <ehird> Where does the executable format go in a full whateverlet?
10:05:48 <ehird> Wait, what? It's executing /usr/local/bin/ld.
10:06:04 <ehird> Which uh, doesn't exist
10:06:08 <ehird> Does -f follow vforks?
10:06:18 <ehird> Because there's a vfork() here
10:06:24 <ehird> Does -F follow fork()s or do i need both
10:06:29 <AnMaster> "<AnMaster> -F -- attempt to follow vforks, -h -- print help message"
10:06:48 <ehird> Ah, the local one fails
10:06:54 <AnMaster> -F This option is now obsolete and it has the same functionality as -f.
10:07:51 <ehird> It looks for libc.so and .a in the pcc dir, then /usr/i686{...}/lib/libc.{so,a}
10:07:55 <ehird> then local- libc.so
10:08:22 <ehird> then goes t o /usr/lib/libc.so, um, again? whatever
10:08:39 <ehird> Then it goes to /lib/libc.so.6 which works (!)
10:08:49 <AnMaster> ehird, then what causes the error?
10:09:00 <ehird> then it reads something into a buffer containing "the 'gets' function is dangerous[…]" xD
10:09:20 <AnMaster> ehird, oh well I don't use it. It probably just reads a section listing bad stuff.
10:09:22 <ehird> Then it goes to /usr/lib/libc_nonshared.a, no fucking clue why
10:09:33 <AnMaster> /usr/lib/libc_nonshared.a exists?
10:09:48 * AnMaster wonders what the local-libc is
10:10:01 <ehird> now it goes to /lib/ld-linux.so.2
10:10:25 -!- ehird has quit.
11:08:21 -!- ais523 has joined.
11:39:59 -!- Gracenotes has quit (Connection timed out).
11:42:29 -!- Asztal has quit (Read error: 110 (Connection timed out)).
12:03:58 -!- Gracenotes has joined.
12:05:32 * AnMaster considers the differences between the ubuntu installer and the netbsd installer.
12:06:30 <AnMaster> I think the netbsd installer is asking me more questions than even the ubuntu installer in expert mode on that alternative cd did..
12:07:08 <AnMaster> ooh like this: "Please choose the password cipher to use. NetBSD can be configured to use either the DES, MD5, Blowfish or SHA1 schemes."
12:08:05 <AnMaster> and 'If you are upgrading and would like to keep configuration unchanged, choose the last option "do not change".'
12:08:17 <AnMaster> (why can't it check that itself btw...)
12:28:31 -!- Asztal has joined.
12:53:25 -!- augur_ has joined.
12:53:27 -!- augur has quit (Read error: 104 (Connection reset by peer)).
12:56:14 -!- FireyFly has joined.
13:31:59 -!- FireyFly has changed nick to FireFly.
13:33:36 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
13:33:39 -!- augur has joined.
13:46:23 -!- BeholdMyGlory has joined.
13:48:50 <fizzie> I don't quite see how the installer is supposed to check whether the user wants to change something or not except by asking the user, like it's doing there.
13:51:20 <AnMaster> fizzie, well, you have to select one of them on first install. So giving an option to not change on a new install is weird
13:51:24 <AnMaster> since it is meant for upgrades
13:51:40 <AnMaster> oh it also asks you if you *want* to see the root password
13:52:23 <fizzie> That's for cryptanalysts that want a can-I-break-it test where they can't cheat. (Okay, so not really.)
13:53:56 <fizzie> Feh; "2 November 2009: Notification of accepted applications" was promised, but I haven't received any emails yet. Certainly there's still many hours of 2 Nov remaining, but still.
13:58:28 -!- FireFly has quit ("Later").
14:01:28 <fizzie> For my thesis research funding thing.
14:02:02 -!- augur has quit (Read error: 110 (Connection timed out)).
14:02:24 <AnMaster> fizzie, so you suspect you weren't accpted?
14:04:02 <fizzie> Actually I suspect otherwise, based on very unofficial hush-hush rumours from my super²visor (who was in the graduate school board meeting where these things were designed); I guess they're just lazy about official announcements.
14:04:25 <fizzie> (A super²visor is a supervisor's supervisor, of course.)
14:04:50 <fizzie> s/designed/decided/; thinko.
14:19:20 -!- Jaykul[AFK] has changed nick to Jaykul.
14:20:33 -!- Jaykul has left (?).
16:14:34 -!- sebbu has joined.
16:23:00 -!- sebbu3 has joined.
16:32:04 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
16:34:26 -!- FireFly has joined.
16:38:52 -!- sebbu has quit (Read error: 110 (Connection timed out)).
17:02:39 -!- augur has joined.
17:25:25 -!- Pthing has quit (Read error: 104 (Connection reset by peer)).
17:26:35 -!- sebbu has joined.
17:28:49 -!- Gracenotes_ has joined.
17:33:30 -!- Oranjer1 has joined.
17:40:04 -!- Gracenotes has quit (Connection timed out).
17:41:19 <AnMaster> [125244.889404] ACPI Warning (nseval-0177): Excess arguments - method [BEEP] needs 1, found 2 [20080926] <-- huh?
17:42:14 -!- sebbu3 has quit (Read error: 110 (Connection timed out)).
17:44:58 -!- ais523 has quit (Read error: 113 (No route to host)).
17:51:00 <Oranjer1> well, do you know what it says?
17:51:24 -!- Oranjer1 has changed nick to Oranjer.
17:52:06 <AnMaster> Oranjer, I read it, if that is what you mean
17:52:11 <AnMaster> http://www.mail-archive.com/ibm-acpi-devel%40lists.sourceforge.net/msg01770.html
17:53:33 <AnMaster> however my thinkpad is not listed in that quirk table
17:54:11 -!- lament has left (?).
17:54:12 <AnMaster> should. Day after tomorrow though. Bit busy currently. Large test tomorrow at university
18:15:19 -!- sebbu2 has joined.
18:27:38 -!- FireFly has quit ("Later").
18:28:58 -!- sebbu has quit (Read error: 110 (Connection timed out)).
19:01:33 <fizzie> Yay, BasiliskII; http://zem.fi/~fis/mac.png
19:03:40 -!- Gracenotes_ has quit ("Leaving").
19:07:46 <fizzie> AnMaster: No, BasiliskII does 68k only.
19:07:49 <AnMaster> fizzie, what is that Unix thing? network share?
19:07:59 <AnMaster> fizzie, or some sort of "guest additions"?
19:08:48 <fizzie> AnMaster: It's a BasiliskII-internal "show this Unix path as a volume" thing; I'm not quite sure how it's done on the MacOS side; it needs File System Manager V1.2 installed, though.
19:10:20 <fizzie> AnMaster: Uh... no comment, due to not exactly owning a 68k-suitable Mac right now.
19:10:35 <AnMaster> Oranjer, you could google. You ask so many questions that we just end up ignoring them as it is
19:11:05 <AnMaster> fizzie, I only have a "newworld" mac
19:11:12 <fizzie> Well, it was from http://files.oldos.org/files/macdl/quadra650.rom
19:12:16 <AnMaster> I think I may have a cd with that for PPC around
19:12:53 <fizzie> 7.5.3 from Apple's site.
19:13:13 <fizzie> http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/
19:13:53 <fizzie> Oh, and http://w1.312.comhem.se/~u31227643/macboot.img.gz for a boot floppy image.
19:15:00 <fizzie> That macboot.img is the System 7.5 "Network Access Disk"; it's just that Apple's disk image of it is StuffIt'd with a reasonably new version, something macunpack on Linux doesn't read. Of course if you have a system that can run real StuffIt, that's not a problem.
19:15:08 <AnMaster> fizzie, interesting when removing the file from that last url
19:15:20 -!- adam_d has joined.
19:15:44 <AnMaster> fizzie, depends. How new? I have one with OS 9...
19:15:58 <fizzie> I don't know how new, but that sounds new enough.
19:16:41 <fizzie> And .smi.bin is a very good format; you can use the hfsutils tools to get the MacBinary file into a HFS disk image, then attach that into whatever emulator you use for running MacOS, and there the .smi files are automagically mountable. (Of course you need something to boot from, like that network access disk image.)
19:20:49 <AnMaster> fizzie, no resource fork issues?
19:21:15 <fizzie> Well, not during the installation. Some problems with the provided Glider 4 zip, though.
19:21:29 <AnMaster> fizzie, what about glider pro?
19:21:53 <fizzie> As in, "too new, not interested".
19:21:56 <AnMaster> fizzie, damn. So basically useless. tried that shoehorn?
19:22:14 <fizzie> I assume it might be PPC-only, too, since it runs on OS X and OS 9 only.
19:22:34 <AnMaster> fizzie, there are those "fat binaries"
19:22:50 <AnMaster> somewhat like the universal binaries these days
19:23:11 <fizzie> Yes, I guess. I don't have OS 9, anyway.
19:23:45 <fizzie> Err, except maybe as the "Classic" thing on the PPC OS X iBook.
19:24:16 <fizzie> But, well, I could then just run it under OS X on the iBook, it's a supported system and all. Where's the fun in that?
19:25:33 <AnMaster> fizzie, that would bring down fungot wouldn't it?
19:25:50 <fizzie> The web server laptop is still not the iBook.
19:25:59 <fizzie> It's that Pentium M I pasted flags from the other day.
19:26:11 <fizzie> And I guess fungot died in that Freenode messup too.
19:26:52 <fizzie> RAW >>> ERROR :Closing Link: momus.zem.fi (Nick collision from syn.) <<<
19:26:55 <AnMaster> fizzie, oh? does it quit or reconnect in that case?
19:27:07 <fizzie> No, it dies if the SOCK 'R' operation fails.
19:27:22 <AnMaster> fizzie, so why didn't your service supervisor restart it?
19:27:36 <fizzie> Because I don't run it under one?
19:27:57 -!- fungot has joined.
19:27:58 <AnMaster> it sounds like the obvious thing
19:28:25 <AnMaster> fizzie, if it is on ubuntu you could write an upstart script for it
19:29:32 <fizzie> It's a relatively messy Debian virtual-machine thing, and I'm not interested enough to play with it that much; there's a lot to fix, the ignore settings still aren't persisted, for one thing.
19:31:53 <fizzie> Anyway, the Glider 4 zip seems to have the resource forks saved in that OS X thing, with a __MACOSX folder containing ._foo files for each foo file. The "macstream" utility I have can do some sort of AppleShare → MacBinary conversion (then I could stuff the MacBinary data into the HFS disk with hfsutils), and as far as I know that's sort-of the AppleShare format, but it just says "Short file X" for the zero-length data files X, where all the real meat is in
19:31:53 <fizzie> the ._X resource fork.
19:32:41 <AnMaster> and that should prove that cfunge is portable. Because if it runs on netbsd it implies that it is likely it will run on all platforms netbsd supports (I know it works on sparc already and ppc, so endian issues would be unlikely). And if it runs on all platforms that netbsd supports it runs on everything
19:33:28 -!- serp has joined.
19:33:43 <serp> what is this channel?
19:33:55 <AnMaster> a language about esoteric programming languages
19:34:06 <AnMaster> (hm why isn't that in topic any more)
19:34:19 <AnMaster> serp, you were going here for the other sort?
19:34:51 <serp> no I like esoteric languages
19:34:53 <serp> what is your favorite?
19:35:22 <fizzie> I guess I could use genisoimage (mkisofs) to make a HFS CD image, I think that tool had a really crazy list of supported formats. That feels a bit silly though.
19:35:22 <serp> I like befunge
19:35:26 <serp> haven't heard about intercal
19:35:47 <AnMaster> intercal would the the archetypical one. Since it was basically the first one
19:35:50 -!- Oranjer has quit (Read error: 110 (Connection timed out)).
19:36:08 <AnMaster> (not that it is on topic all the time.)
19:36:37 <AnMaster> we are all easily distracted perhaps?
19:36:45 <AnMaster> yay, I got cfunge to compile under netbsd
19:36:51 <serp> I like esoteric languages
19:38:26 <olsner> serp: som du ser finns det andra svenskar här också :D
19:38:56 <olsner> och en norrman (oerjan) som dyker upp ibland
19:41:21 <serp> är alla svenskar?
19:41:36 <fizzie> AnMaster: Yay, http://zem.fi/~fis/glider.png
19:41:41 <olsner> nee, typ bara vi och AnMaster
19:41:46 <AnMaster> how strange. I had to use "ftp http://..." to download over http
19:41:55 <AnMaster> that is just so completely stupid
19:42:25 <AnMaster> (also I keep to English in order to ensure others can read it)
19:42:38 <fizzie> I have a feeling OS X didn't include wget by default, but had a FTP client that could speak HTTP; at least somewhere I've done ftp http://... too.
19:43:09 <fizzie> I don't think it was that, I haven't used NetBSD in ages.
19:43:26 <fizzie> AnMaster: And there's a 16-color mode too. (It asked on startup whether I want to switch to 2-color or 16-color mode.)
19:43:49 <AnMaster> btw cfunge turns out to work better on netbsd than on openbsd
19:43:50 <fizzie> "genisoimage -o ../glider_4.iso -hfs --osx-double ." got me a .iso image that had the correct resource forks.
19:47:29 <AnMaster> olsner, where do you know serp from btw?
19:48:14 -!- ampleyfly has joined.
19:48:27 <AnMaster> Deewiant, seems cfunge passes mycology on netbsd too. Apart from some minor differences for FPSP/FPDP
19:48:38 <olsner> from the same place as ampleyfly here, actually
19:48:41 <AnMaster> UNDEF: E says asin(2) is 0.000000 (actually complex: NaN)
19:48:49 <AnMaster> I suspect bug in netbsd asin here
19:48:55 <AnMaster> because I remember openbsd used to have the same bug
19:49:08 <fizzie> Now if I'd just suck less in that game, heh.
19:49:10 <serp> ampleyfly and me made a esoteric language for a course. unfortunately the report is in Swedish. some examples are on the last page: http://www-und.ida.liu.se/~jakfr986/b4ch.pdf
19:50:06 <serp> it's similair to befunge in 4 dimensions
19:50:31 <AnMaster> serp, there is already n-dimensional befunge
19:50:39 <AnMaster> well. more than 3D is uncommon but...
19:50:47 <AnMaster> serp, so what befunge version did you use? 98?
19:51:01 <serp> it's not a befunge... we just borrowed some ideas frm there
19:51:07 <AnMaster> serp, at university? Huh how did you get that past
19:51:27 <serp> it was for an intro course in lisp
19:51:46 <serp> datateknik på LiTH
19:52:13 <AnMaster> Dataingengör? Eller någon annan variant?
19:53:44 * AnMaster undrar om man kan få det vid örebro universitet också
19:54:01 <fizzie> Not providing a public_html-alike directory sounds pretty strange.
19:54:23 <AnMaster> fizzie, well maybe they do. But since it is windows mostly where the hell would you look
19:55:13 <fizzie> Hrm, well, that's another thing. For the record, our place gives students a "60 MB soft-quota, 100 MB hard-quota" public_html directory at users.tkk.fi or some-such.
19:55:42 <fizzie> (Hm, and I have 52M in use. That's curious.)
19:56:37 <fizzie> PNG format screenshots from the Eurovision Song Contest and everything else that's very study-related.
19:57:20 <fizzie> 33M of PNG files containing different graphized versions of fungot, also. :p
19:57:20 <fungot> fizzie: oh well. guess that saved me.
19:57:40 <fizzie> fungot: Er, were you in some sort of danger, then?
19:57:41 <fungot> fizzie: " oh wow this is"
19:58:03 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
19:58:27 <fizzie> It resets to the irc style whenever it gets rebooted.
19:58:51 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
19:59:07 <AnMaster> fizzie, png? try advpng and optipng
19:59:18 <fungot> http://git.zem.fi/fungot
19:59:27 <AnMaster> fizzie, but that is not the uni one is it?
19:59:48 <fizzie> No, that's my own place.
20:00:57 -!- cal153 has joined.
20:01:04 <fizzie> http://users.tkk.fi/~htkallas/euroviisukoodi1.png is at the university web-space.
20:01:33 <fizzie> They showed that bit during the Eurovision contest between-songs-nonsense-videos one year.
20:01:52 <fizzie> (It makes very little sense.)
20:02:08 <fizzie> (Also ...2.png and 3.png.)
20:03:28 <fizzie> Yes. The "|YLE|TV2" in the corner is the logo of the local broadcast company.
20:03:55 <fizzie> I assume someone was just told to "write some sort of code-like stuff here".
20:03:57 <AnMaster> fizzie, hm did it look like it was a screenshot or a photo of a screen
20:04:21 <AnMaster> fizzie, you mean it isn't something like a bluescreen on a public display?
20:05:02 <AnMaster> which could be explained by all those errors
20:05:05 <fizzie> I don't remember the surroundings; I think they showed a guy at a keyboard, then focused on the monitor showing that bit.
20:05:43 <AnMaster> and that is quite a lot of whitespace
20:10:48 <Deewiant> I like how they chose to write it in Eclipse, which highlights it all as erroneous
20:14:33 <pikhq> That is perfectly valid (if useless) Plof.
20:15:08 -!- FireFly has joined.
20:22:54 <fizzie> Social networking! http://twitter.com/big_ben_clock (Link courtesy of ineiros.)
20:24:30 <AnMaster> fizzie, what version of that emulator did you use?
20:24:46 <fizzie> Whatever was packaged in Debian. Let's see.
20:25:04 <fizzie> 0.9.20070407-4 according to the package.
20:25:21 <fizzie> "Basilisk II V1.0 by Christian Bauer et al." according to the program itself.
20:25:28 <AnMaster> I'm unable to find anything newer than 2005
20:26:34 <fizzie> basilisk2 (0.9.20070407-1) unstable; urgency=low
20:26:34 <fizzie> * New upstream CVS snapshot.
20:26:34 <fizzie> + Bugfixes and improvements for 64bit host archs.
20:26:41 <fizzie> That's what it's built from.
20:32:01 <AnMaster> fizzie, what mac model id did you select in basilisk?
20:32:39 <fizzie> "Quadra 900 (MacOS 8.x)" and 68040, since those were mentioned in a howto; seemed to work.
20:32:41 <pikhq> AnMaster: If is a function, and go and to could be perfectly valid expressions in context.
20:33:01 <pikhq> Still, the third one is not valid Plof.
20:33:02 <fizzie> If you compiled the JIT stuff in, 68040 and enabling JIT might be a good idea too. I didn't bother; it's fast enough anyway.
20:33:12 <pikhq> (not without some crazy PlofBNF hacks, that is)
20:34:00 <fizzie> I'd have tried sheepshaver too, but no-one seems to have bothered to add that to the Debian archives, and I really don't have *any* use for it, so I can't see why to compile it from sources.
20:34:24 <AnMaster> pikhq, BNF hacks? basically extending the compiler?
20:34:35 <pikhq> AnMaster: ... Yes.
20:34:46 <AnMaster> pikhq, or can you someone define it in the code?
20:34:51 <pikhq> Though to be fair, Plof is *designed to do that*.
20:34:58 <AnMaster> do you need to recompile the compiler for it?
20:35:23 <AnMaster> fizzie, what about the RAM size?
20:35:40 <fizzie> AnMaster: 64 megs should be enough for everyone. (I think that was visible in my screenshot too.)
20:35:48 <pikhq> The grammer of Plof is defined inside of a Plof file.
20:36:12 <pikhq> (well, using a bootstrap grammer defined in bytecode)
20:37:58 <fizzie> AnMaster: If I can find the browser tab.
20:38:11 <AnMaster> anyway I'm rather confused now
20:40:02 <fizzie> AnMaster: http://wiki.oldos.org/Mac/68kEmulator -- but it's pretty windows-oriented and I think at some parts also contradictory. I just adapted a bit. (Substituted that existing macboot.img for the whole stuffit+floppy-writing nonsense, and hfsutils command-line tools for HFVExplorer.)
20:40:25 <AnMaster> fizzie, where do I put in the floppy image to use
20:40:45 <AnMaster> fizzie, this system lacks a real floppy drive
20:40:45 <fizzie> ~/.basilisk_ii_prefs "floppy /path/to/image"
20:41:17 <fizzie> The configuration dialogs for the X version are a bit limited.
20:41:48 <fizzie> Alternatively run it with "BasiliskII --floppy /path/to" for a one-time use.
20:42:00 <fizzie> "cdrom", but do you need that for something?
20:42:11 <fizzie> I needed it for the Glider 4 image only. :p
20:42:40 <AnMaster> fizzie, what about the shared with unix thingy?
20:42:59 <fizzie> That's what the config dialog calls "Unix Root" in the Volumes tab.
20:43:10 <fizzie> "extfs" in the config file.
20:43:33 <AnMaster> why doesn't that show up from the floppy
20:43:40 <AnMaster> how do I get the OS image there
20:43:51 <fizzie> The floppy doesn't have that FSM 1.2 thing for the shared-drive.
20:43:58 <fizzie> You need to copy the .smi and .part files to your HD image.
20:44:19 <AnMaster> fizzie, formatting it first with HFS+?
20:44:42 <fizzie> Plain HFS, if you're running System 7. But you can format it by booting from the floppy.
20:44:50 <fizzie> It'll automagically suggest formatting the disk.
20:44:58 <fizzie> I guess hfsutils has a format tool too, though.
20:45:18 <fizzie> (You can create an image file with dd, or in the BasiliskII configuration dialog.)
20:45:23 <AnMaster> fizzie, removing the binhex thingy?
20:45:34 <AnMaster> fizzie, figured out how to create the HD no issue
20:46:01 <fizzie> You get rid of the MacBinary encoding (it's .bin, not .hqx) when copying files from Unix to the HFS image with hfsutils.
20:46:33 <fizzie> Something like hmount + hmkdir inst + hcopy -m .../*.bin :inst + humount.
20:47:29 <fizzie> It's a bit mtools-like (or CVS "login" like) in that it maintains a "current volume and directory" in ~/.hcwd.
20:48:02 <fizzie> Actually I'm not sure whether mtools does that, maybe not.
20:48:04 <AnMaster> hcopy: "System_7.5.3_19of19.part.bin": not a directory
20:48:13 <fizzie> You need the destination path too.
20:48:13 <AnMaster> "hcopy -m .../*.bin" seems wrong
20:48:20 -!- Gracenotes has joined.
20:48:20 <fizzie> : or :inst or something.
20:48:33 <fizzie> (":" for current-directory, ":inst" if you hmkdir'd a place for the files.)
20:49:08 <AnMaster> fizzie, and then just the installers from Mac HD?
20:49:22 <AnMaster> the tutorial talks about copying the system dir
20:49:37 <fizzie> I don't think so; I think the installer will create one.
20:49:40 <fizzie> But you can if you want.
20:50:11 <fizzie> I did, but really, I don't think it matters much.
20:51:29 <fizzie> In both cases you should be able to just run the .smi file on the HD, and then the "Install System software" app from the virtual CD it mounts on the desktop.
20:52:33 <fizzie> I also did a Custom Install with some pseudo-sensible software selections, even though the tutorial warns that the 7.5.5 update won't work with it; I'm not that interested in the update anyway.
20:53:13 <AnMaster> fizzie, yay finally I found a use for 4 GB RAM. ATM FreeBSD, NetBSD VMs are running. And this Basilisk II
20:53:28 <AnMaster> both the *BSD VMs are heavily loaded
20:53:49 <fizzie> System 7.5.3 shutdown and startup are horribly quick too.
20:54:06 <AnMaster> fizzie, on modern hardware yes
20:54:24 <fizzie> Also haven't tried networking yet. It needs a silly custom kernel module for "share a physical Ethernet device" networking, but ethertap virtual-networking might work without that too.
20:54:56 <fizzie> I'm a bit suspicious to whether that works any more, if they haven't updated it since 2007.
20:55:07 <AnMaster> fizzie, oh now I get a "unimplemented trap" error
20:56:42 <fizzie> Might be some extension, perhaps; the tutorial notes that "A/Rose under Networking and Extensions" is incompatible with Basilisk.
20:57:36 <AnMaster> fizzie, 1024x600 . I wonder what sort of wide screen that is
20:58:04 <AnMaster> removing the extension solved it
20:58:05 <fizzie> I've been running it with the classic 512x384 screen.
20:58:42 <AnMaster> fizzie, too small on a high dpi screen
20:59:53 <fizzie> Could maybe play around with the networking, but there aren't *that* many interesting 68k-mac Interwebby programs. iCab 2.9.9, IE 3.something, Netscape 3 as far as browsers go.
21:00:44 <AnMaster> fizzie, does this os have apple script?
21:01:10 <fizzie> There were some AppleScript-related things in the installer, yes.
21:01:49 <AnMaster> fizzie, I wonder if I could get norton speeddisk the defragment thing to run on this
21:02:07 <AnMaster> fizzie, that iso of the game you mentioned. Where?
21:02:20 <AnMaster> it seemed too messy. surely you could share?
21:02:32 <AnMaster> since it was released without charge now
21:03:20 <fizzie> http://zem.fi/~fis/glider_4.iso possibly. I guess you could run BasiliskII as "BasiliskII --cdrom /path/to/glider_4.iso" for a one-time copy-to-HD use.
21:04:20 <AnMaster> but took 20 seconds to download
21:04:49 <fizzie> That's what consumer ADSL is like, you know.
21:04:52 <AnMaster> fizzie, btw those --floppy and --cdrom seems to be saved
21:05:04 <fizzie> Right, I wondered about that.
21:06:13 <AnMaster> fizzie, what keys to rebuild desktop sort of thing?
21:06:20 <fizzie> It's 1 Mbps outwards; theoretically that should get something like 122 kB/s at most.
21:07:13 <fizzie> Don't know about that.
21:08:06 <fizzie> I don't even quite know how it maps command/option to ctrl/alt. (Probably just like that.)
21:08:55 <fizzie> "On PC-style keyboards, "Alt" is the Mac "Command" key, while the "Windows" key is the Mac "Option" key.". Well, that's what the README says. It might not work out like that.
21:10:03 <fizzie> Command-option during booting or something.
21:10:15 <fizzie> There might've been some messing-around with extensions though.
21:10:21 <fizzie> The interwebs probably know more than me.
21:31:05 -!- scorchsaber has joined.
21:31:53 -!- scorchsaber has left (?).
21:39:56 -!- adam_d has quit (Read error: 113 (No route to host)).
21:44:10 <AnMaster> fizzie, did you manage to get that system 7.5.5 update to work?
21:44:29 <AnMaster> fizzie, makes disk image unbootable for me
21:44:33 <fizzie> Not needed for Glider 4. :p
21:44:45 <fizzie> Did you do the Easy Install thing?
21:56:05 <fizzie> The tutorial does say that only Easy Install works with the 7.5.5 update.
23:14:50 -!- olsner has quit ("Leaving").
23:31:25 -!- madbrain has joined.
23:55:37 -!- coppro has joined.
23:57:35 -!- BeholdMyGlory has quit (Remote closed the connection).
23:57:44 -!- FireFly has quit ("Later").
00:09:49 -!- sebbu has joined.
00:10:28 -!- Asztal has quit (Read error: 104 (Connection reset by peer)).
00:10:37 -!- Asztal has joined.
00:11:46 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
00:14:37 -!- Sgeo has joined.
00:15:34 <Sgeo> I just saw a glimpse of the AW SDK, and I'm horrified
00:15:47 <Sgeo> Maybe I'm not seeing something here, but the http://wiki.activeworlds.com/index.php?title=Aw_object_click#Usage makes my eyes bleed
00:16:02 -!- cal153 has joined.
00:16:53 -!- augur has quit (Read error: 60 (Operation timed out)).
00:23:31 -!- Jerry has quit (Nick collision from services.).
00:23:44 -!- Cerise has joined.
00:24:12 -!- Cerise has changed nick to Guest90640.
00:27:28 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
00:41:16 -!- augur has joined.
01:19:12 -!- oerjan has joined.
01:21:53 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:06:36 -!- oerjan has quit ("leaving").
02:20:47 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
03:09:04 -!- augur has changed nick to Hofstadter.
03:09:12 -!- Hofstadter has changed nick to AUGUR.
03:09:34 -!- AUGUR has changed nick to augur.
03:17:40 -!- Oranjer has joined.
04:10:55 -!- bsmntbombdood_ has joined.
04:17:36 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
04:43:07 <augur> xkcd has contributed no funny to the world today
04:43:16 <augur> but it HAS contributed a wonderful data visualization technique
04:43:17 <augur> http://infosthetics.com/archives/2009/11/visualizing_movie_characters.html#comments
04:44:00 <Oranjer> dammit, I thought of that like, two days before
04:44:19 <augur> did you follow up your thought by drawing it out and posting it to your webcomic?
04:44:27 <augur> ARE YOU RANDALL MONROE?!
04:44:51 <coppro> Why has sourceforge gotten so bad
04:44:52 <Oranjer> also, I suspect he at least takes more than two days to do each webcomic? maybe?
04:45:10 <augur> http://www.informationisbeautiful.net/visualizations/timelines/
04:45:33 <augur> one would hpe it does not take more than two days to do the comics
04:45:39 <augur> seeing a show theyre released every two days!
04:45:44 <coppro> augur: EXCEPT HE USE MOVIE LOTR AND NOT THE NOVEL
04:46:25 <augur> how do you even know
04:46:32 <coppro> augur: Saruman dies in Isengard
04:46:53 <coppro> in the book, he goes to the Shire
04:47:36 <augur> i have not read the book
04:47:58 <coppro> cardinal sin of eekery
04:48:35 <Oranjer> I have only read The Hobbit
04:48:41 <augur> my reading is limited to non-fiction
04:48:49 <Oranjer> I also forgot to return that book to the library, several years ago
04:48:52 <augur> i cant stay interested in fiction writing
04:49:06 <coppro> not a cardinal sin, then, but still bad
04:49:09 <Oranjer> also, augur, I've had trouble reading fiction lately
04:50:49 <Oranjer> anyway, I have to go to sleep
04:51:20 -!- Oranjer has left (?).
05:14:56 -!- kar8nga has joined.
06:07:52 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
06:44:52 * Warrigal ponders how to compile Unlambda.
06:45:08 <Warrigal> To compile Unlambda, one must first compile to Unlambda.
06:46:01 <madbrain> lua has a function that compiles a program from a string
06:46:20 <madbrain> so translate the unlambda program into lua and run that
06:50:22 <Warrigal> I want to compile it into a language into which it is not that easy to compile stuff like Unlambda.
06:50:43 <Warrigal> I think I want to compile between Unlambda and BF.
06:52:17 <Warrigal> Then again, I'd rather come up with some languages that can actually be compiled nicely.
06:56:18 <madbrain> unlambda in bf sounds pretty damn hard though :D
06:56:44 <Warrigal> Hmm, the esolangs Wikipedia has articles about are LOLCODE, Befunge, Brainfuck, Chef, FALSE, the OISC gang, Piet, Shakespeare, Whitespace, INTERCAL, and Taxi.
06:56:45 <madbrain> it involves, what, tail call recursion, garbage collecting
06:59:46 <Warrigal> I'm going to ignore all of those but Befunge, Brainfuck, FALSE, and OISC.
07:00:31 -!- kar8nga has quit (Remote closed the connection).
07:01:21 <madbrain> unlambda is my favorite by far
07:01:43 <madbrain> followed by brainfuck probably
07:02:28 <Warrigal> Then I'm going to add /// and Unlambda.
07:05:05 <Warrigal> Then I'm going to refine OISC into Subleq.
07:06:28 -!- madbrain has quit ("Radiateur").
07:07:13 -!- Pthing has joined.
07:08:30 <Warrigal> So that makes the list Befunge, Brainfuck, Subleq, ///, Unlambda. A fun bunch.
07:22:41 -!- FireFly has joined.
07:23:24 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
07:32:42 -!- cal153 has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:43 -!- adam_d has joined.
08:22:38 -!- FireFly has quit ("Later").
08:43:02 -!- ais523 has joined.
09:01:48 -!- adam_d has quit ("Leaving").
10:36:29 -!- KingOfKarlsruhe has joined.
10:39:00 -!- KingOfKarlsruhe has quit (Remote closed the connection).
10:44:17 <ais523> ugh, this website has the stupidest validation ever
10:45:02 <ais523> basically, every letter you type in the forms, it sends off an AJAX request to the server to verify what you wrote
10:45:22 <ais523> even more fun, if you type more than a few characters in a second, it thinks you're trying to DOS it with all those AJAX requests
10:45:57 <ais523> also, it doesn't allow punctuation marks at all
10:46:11 <ais523> even in textboxes where you'd expect them to be used, such as "how did you hear about us"
10:46:38 <AnMaster> ais523, why answer the form then?
10:46:48 <ais523> AnMaster: trying to create an account, and opencores.org
10:47:10 <ais523> AnMaster: open-source hardware
10:47:19 <AnMaster> I see. File a bug report about the web form then
10:47:51 <AnMaster> if it is open source I would expect them to not just ignore it
10:47:51 <ais523> AnMaster: nowhere obvious to file it, there isn't even an obvious contact address
10:48:11 <ais523> the website doesn't /act/ open-source
10:48:21 <AnMaster> http://opencores.org/opencores,contact ?
10:48:23 <ais523> I think it's made by people used to closed hardware support that don't get open source
10:48:44 <AnMaster> ais523, large company behind it?
10:48:53 <ais523> so almost certainly, they don't really get what they're doing
10:49:06 <AnMaster> ais523, why create an account then?
10:49:15 <ais523> IIRC you need one to download from it
10:49:21 <ais523> their account-creation system isn't even automated
10:49:24 <ais523> it seems it was sent off to a human
10:49:38 <ais523> gah, this FAQ is unusable
10:49:46 <ais523> it shows the answers to the questions on-hover
10:50:03 <AnMaster> ais523, yes and it does that even with js turned off
10:50:05 <ais523> which means that when you stop using one question and have a look at the next, the question moves so it's no longer under your mouse and collapses again
10:50:07 <AnMaster> which means they used css for it
10:50:23 <ais523> this place is like a mix of best practices and worst practices...
10:50:53 <ais523> AnMaster: things like graceful fallback for no JS
10:51:07 <ais523> "OpenCores reserves the right to charge for advertising or SPAM sent to any mailing list"
10:51:48 <AnMaster> well. not very good in lynx. But the menu looks ok
10:51:56 <AnMaster> too little spacing between headers though
10:52:06 <AnMaster> like no blank line between paragraphs
10:52:16 <AnMaster> ais523, of their own lists I assume
10:52:27 <ais523> I'm more amused at the naivety of it all
10:53:34 <AnMaster> well. I have to leave soon. To take the bus. Test in discrete math this afternoon.
10:54:15 <AnMaster> there are two words in English that are very similar, but the same word in Swedish
10:54:20 <ais523> "discrete" = opposite of continuous
10:54:29 <ais523> "discreet" = without causing a fuss about it
10:54:45 <AnMaster> ais523, same word for both in Swedish + very similar in English
10:55:00 <AnMaster> I'm sure you can understand my confusion about the terminology in English
11:00:10 -!- Pthing has quit (Remote closed the connection).
12:46:12 -!- oerjan has joined.
12:47:36 <oerjan> 20:43:07 <augur> xkcd has contributed no funny to the world today
12:47:36 <oerjan> 20:43:16 <augur> but it HAS contributed a wonderful data visualization technique
12:48:04 <oerjan> that was about my thought too - i was annoyed there was no way to zoom in :D
12:48:16 * ais523 is too lazy to actually focus a web browser to go there
12:48:20 <ais523> and clicks on a link in IRC instead
12:48:54 <oerjan> i am assuming this was actually yesterday's xkcd - checking now
12:50:18 <oerjan> oh now there is a zoom
12:52:08 <fizzie> There was a zoom yesterday too; at least yesterday our time zone, maybe not when you visited it.
12:52:23 <oerjan> hm maybe i managed somehow to miss it
12:52:51 <ais523> 657 is pretty impressive
12:52:55 <oerjan> i may have been confused by the hover text
12:52:56 <fizzie> And, well; when the title is "Movie Narrative Charts", you can't really complain that much about using the movie LOTR.
12:57:00 <ais523> the funny is the ones at the bottom right, I think
12:59:32 <fizzie> The labels in the Jurassic Park graphs did make me smile; especially the "must go faster" one. It is very evocative of the scene.
13:32:23 -!- MigoMipo has joined.
13:45:34 -!- oerjan has quit ("Reboot").
14:18:10 -!- BeholdMyGlory has joined.
14:25:18 -!- augur has quit (Read error: 60 (Operation timed out)).
14:43:07 -!- Pthing has joined.
14:47:43 <ais523> <opencores> You dont have permissions to view this page. You might need to login or your account might be disabled.
14:47:47 <ais523> nice ambiguous sentence, there
14:56:13 <ais523> even more fun, someone's storing tarballs (well, .zip files) in svn, rather than the original files
15:11:24 -!- MigoMipo has quit ("Page closed").
15:22:27 -!- augur has joined.
15:28:24 -!- coppro has quit ("I am leaving. You are about to explode.").
15:33:17 <ais523> left the lecture halfway through, it was that bad
15:33:19 -!- Pthing has quit (Remote closed the connection).
15:33:28 <ais523> well, 10 seconds before halfway, I didn't quite time it correctly
15:35:07 <augur> http://abc.go.com/shows/v/
15:35:12 <augur> i wish this would just happen already
15:50:47 -!- ais523 has quit (Read error: 113 (No route to host)).
16:06:10 -!- sebbu2 has joined.
16:10:23 -!- Pthing has joined.
16:13:06 -!- sebbu has quit (Read error: 60 (Operation timed out)).
16:49:23 -!- Asztal has joined.
16:49:42 -!- FireFly has joined.
17:13:26 -!- kar8nga has joined.
17:15:14 -!- fax has joined.
17:31:15 <AnMaster> augur, there is a way to zoom in. click the image
17:51:04 -!- Azstal has joined.
17:52:20 -!- Guest90640 has changed nick to Cerise.
17:52:40 -!- Asztal^_^ has joined.
17:53:52 -!- ais523 has joined.
18:04:23 -!- Asztal_ has joined.
18:07:27 -!- Asztal has quit (Read error: 110 (Connection timed out)).
18:07:34 -!- Asztal_ has changed nick to Asztal.
18:08:44 -!- Azstal has quit (Read error: 110 (Connection timed out)).
18:10:32 <augur> anmaster: i didnt say that.
18:10:57 <AnMaster> oh indeed. oerjan had stopped quoting at that point
18:12:20 -!- Asztal^_^ has quit (Read error: 110 (Connection timed out)).
18:41:01 -!- Pthing has quit (Remote closed the connection).
18:48:29 -!- ais523_ has joined.
18:51:05 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
18:51:55 <AnMaster> Gregor, what was the name of that chroot thing you used?
18:56:22 <fizzie> [0x7f6e0c0081b8] v4l2 demux error: cannot open video device '/dev/video1' (No space left on device)
18:56:22 <fizzie> That's a bit strange error from a video device. (I'm sure it has some sort of silly meaning, but anyway.)
18:59:10 <ais523_> woah, that was really strange
18:59:20 <ais523_> most of the applications I have segfaulted, then the kernel paniced
18:59:28 <ais523_> and the syslog is in the wrong format and talks about a Trojan
19:00:29 -!- ais523 has quit (Read error: 110 (Connection timed out)).
19:00:40 <fizzie> ohci_hcd 0000:00:12.1: leak ed ffff8800378152d0 (#81) state 2
19:00:40 <fizzie> usb 4-2: usb_submit_urb() failed, error -28
19:00:40 <fizzie> It seems to be usb_submit_urb that returns ENOSPC. Don't know why.
19:00:40 -!- ais523_ has changed nick to ais523.
19:01:08 <AnMaster> ais523, and time for clean reinstall + restore files you can verify by hand from backups
19:01:15 <ais523> <syslog> 350720:6cfac1d7dfe66763441977dc8bcaf41c:Trojan.Agent-116143
19:01:25 <ais523> no, that isn't the format syslog /should/ be in
19:01:30 <ais523> I think an actual trojan is unlikely
19:01:37 <ais523> one thing I'm wondering about is ClamAV going mad
19:01:44 <ais523> and accidentally dumping part of its virus database into memory
19:01:53 <ais523> and causing a panic, and that bit ended up getting saved to syslog
19:02:04 <AnMaster> ais523, but what about all those other apps?
19:03:14 <ais523> let me paste the relevant pastebin section
19:03:51 <ais523> http://pastebin.ca/1655187
19:04:04 <ais523> atm, I'm grepping the entire hard drive for "Trojan.Agent-", and also doing a virus scan
19:04:11 <ais523> *the relevant syslog section
19:05:21 <ais523> my /theory/ is that ClamAV's virus database contains a line that looks like that, and that it somehow got dumped to sylog
19:05:44 <fizzie> It's nice to have two drivers for this webcam (sn9c102 and gspca_sonixj) of which only one works. Should make some rules to prioritize the working one in module-autoloading.
19:05:52 -!- Gracenotes has quit ("Leaving").
19:06:16 <AnMaster> ais523, I would also run memtest btw
19:06:33 <ais523> and a few bitflips are unlikely to cause /that/
19:06:41 <AnMaster> ais523, kernel messed up big I suspect
19:06:41 <ais523> I think software bugs are more likely
19:07:04 <AnMaster> ais523, should try to reproduce and file a bug report
19:07:10 <ais523> actually, it's even possible that the offending lines were added to the syslog by fsck
19:07:17 <ais523> AnMaster: where would it be?
19:07:32 <AnMaster> ais523, eh wait, fsck had to fix something that bad?
19:07:39 <ais523> it ran after I restarted it
19:07:46 <ais523> and cleaned up loads of inodes
19:07:50 <AnMaster> ais523, I would run, from a cd, some verifier tool
19:07:57 <ais523> heh, what if the ext3 journal got corrupted?
19:08:02 <AnMaster> to check that all packages have correct md5sum
19:08:11 -!- FireFly has quit ("Later").
19:08:32 <AnMaster> ais523, also use smartctl in case disk is dying
19:08:37 <ais523> don't have a relatively recent one on me
19:09:09 <AnMaster> ais523, an older one could work. Point is, something that you can run a tool like debsums on (iirc you use a debian based distro?
19:09:45 <ais523> Palimpsest says the disk is fine
19:10:05 <ais523> GUI SMART-parameter extractor thing
19:10:40 <AnMaster> ais523, manually check the error log
19:11:09 <ais523> I don't have smartctl installed
19:11:19 <AnMaster> ais523, how would this Palimpsest read things then
19:11:27 <ais523> same way smartctl does, presumably
19:11:42 <AnMaster> ais523, well look at the SMART error log and such
19:12:31 <ais523> doesn't seem to have an option to
19:14:45 <AnMaster> ais523, sounds like a shit tool
19:15:00 <ais523> well, it was on here as part of the default distribution
19:15:09 <ais523> I think it's mostly meant for setting up RAIDs and fscking drives and so on
19:16:32 <AnMaster> cp /dev/urandom /tmp/chroot/dev
19:16:37 <AnMaster> you would think that would work
19:16:44 <AnMaster> cp doesn't copy the special file
19:17:12 <AnMaster> cat /dev/urandom > /tmp/chroot/dev/urandom
19:19:19 <ais523> you can use ls -l and mknod to do the same thing
19:19:34 * ais523 wonders if mknod can be used to escape from a chroot if you have root
19:20:19 <AnMaster> ais523, just trying to get su to work inside the chroot
19:20:27 <AnMaster> so I can drop privs in there and run the thing I need
19:20:33 <ais523> why does su need /dev/urandom?
19:20:46 <AnMaster> ais523, I think it is the dynamic linker that does.
19:20:52 <AnMaster> heap randomisation or something is my guess
19:21:03 <AnMaster> it happens before several mprotect calls
19:28:08 <AnMaster> ais523, argh ubuntu: su wants dbus (indirectly)
19:30:44 <pikhq> PAM makes things complex. Hooray.
19:32:16 <AnMaster> # chroot /opt/chroot /bin/su foo
19:32:16 <AnMaster> su: must be run from a terminal
19:32:38 <AnMaster> 2) it wanted to be run from a terminal the second time only
19:32:49 <AnMaster> just did that to test. su isn't suid in there
19:36:26 * AnMaster did that to run unstuff with no harm
19:36:32 <AnMaster> basically I don't trust that thing one bit
19:36:40 <AnMaster> oh yeah this was in a VM on top of it
19:38:00 -!- FireFly has joined.
19:46:23 <AnMaster> ais523, for working with *.sit
19:46:40 <AnMaster> only option there is on *nix though for recent versions of the file format
19:46:51 <AnMaster> oh and *.sit is used on macs. mostly pre-OS X
19:55:22 -!- sebbu has joined.
19:57:14 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
19:58:19 -!- puzzlet has joined.
20:03:33 <AnMaster> fizzie, I got sheepshaver to boot as far as install cd for OS 9 at least
20:04:34 <AnMaster> fizzie, for some reason the disk still get the OS 7 look for the icon
20:04:42 <AnMaster> and no it wasn't formatted there
20:05:09 <AnMaster> argh the cd tells me it can't be used with this computer :/
20:10:49 -!- sebbu2 has quit (Connection timed out).
20:12:14 <AnMaster> well lets see if the 8.6 CD works
20:23:50 <fizzie> Annoying. There's this composite-video (and mono-audio) "AV cable" for my camera, but the video output seems to be enabled only in playback mode. I could've used it as a much-better-sensor webcam; even blurry composite-video PAL is better than the horrible far-too-dark cheapo webcam otherwise.
20:24:50 <fizzie> The manual says "Even if you set [VIDEO OUT] to [PAL], the output signal will still be NTSC in the recording mode", which sounds like there should be something going out in the other mode too, but that doesn't seem to be the case.
20:29:13 <AnMaster> fizzie, you mean there is no signal at all in the recording mode?
20:29:36 <AnMaster> even though manual says there will be?
20:30:02 <AnMaster> fizzie, idea: use it, then a web cam on the LCD screen preview XD
20:30:48 <fizzie> Well, the manual doesn't exactly say it very clearly, just that one sentence sort of implies it. On the other hand, when it talks about the TV out settings there's a "[playback mode only]" tag in those parts.
20:37:48 <fizzie> I guess they could be using some of the same DSP bits for both showing the moving preview picture on the LCD as well as doing the TV out video signal generation. At least I hope there's a sensible explanation like that; it would be pretty silly if it were just a completely unnecessary programmatic limitation, added in hopes of getting people to buy dedicated video cameras instead.
20:39:18 <AnMaster> fizzie, I think the latter is more probable
20:40:31 <fizzie> (I'm trying to set up some sort of video recording thing to see whether the cat does anything else than sleeping during the day when we're both at work.)
20:43:44 <AnMaster> okay.. seems "couldn't be installed on this computer" meant "do not emulate so much ram"
20:54:43 <AnMaster> fizzie, installing OS 9 sure is a lot slower than installing OS 7
20:54:59 <AnMaster> btw OS 9 cd did boot on 16 MB RAM but then refused to install
21:03:31 <fizzie> Half a gigabyte is quite a lot.
21:46:53 <AnMaster> fizzie, oh and... sheepshaver is buggy
21:53:21 <fizzie> I'm not sure there are very many alternatives. Rosetta is OS X -only and doesn't run the Classic environment anyway, PearPC doesn't emulate the necessary powermac bits, and I guess qemu's not very complete either, though it does have some powermac peripherals. (At least I can't find many references to running Mac OS with qemu-system-ppc.)
21:53:35 <fizzie> SheepShaver might work better on a powerpc arch, though.
21:55:20 <fizzie> (Though on Linux/PPC you could just run Mac-on-Linux.)
21:56:22 <fizzie> http://mac-on-linux.sourceforge.net/, you know.
21:56:30 <fizzie> It's a bit dead nowadays.
21:57:04 <fizzie> Runs Linux/PPC, Mac OS X or Mac OS 7.5.2 - 9.2.2 on a Linux/PPC host.
21:57:40 <fizzie> But it doesn't do PowerPC emulation at all, so you can't run it on an Intel box, so I guess people have lost interest after Apple did the Intel switch.
21:58:19 <fizzie> I tried it on that Performa, actually, and it seemed to work reasonably well. Haven't tried on the iBook, though.
21:59:06 <AnMaster> ooh I found a cd with norton utilities for mac
21:59:19 <AnMaster> there is no "symantec" mentioned there
21:59:40 <AnMaster> oh and it has some disk checker and some disk defrag apps iirc
22:04:19 <AnMaster> gah can't get it to boot from a cd now :/
22:07:17 <AnMaster> fizzie, it mostly seems that it is mostly stable when you mostly don't access that "Unix" thing
22:18:09 <pikhq> If you could manage to get qemu-user to work, then you could do the MISC binary format support thing and get PPC binary emulation going...
22:18:28 <AnMaster> pikhq, so you can run mac binaries there?
22:18:43 <AnMaster> that is what I'm interested in
22:19:08 <AnMaster> pikhq, new enough to be PPC only
22:19:24 <AnMaster> pikhq, would need classic still
22:19:32 <AnMaster> since it is PPC classic that is relevant here
22:20:15 <AnMaster> pikhq, what is "freaking tricky" then?
22:20:24 <pikhq> qemu-user-ppc and Mac-on-Linux is the only way I can think of to do it...
22:20:37 <AnMaster> well.. sheepshaver kind of works
22:20:40 <pikhq> AnMaster: Run PPC non-Unix Mac binaries.
22:20:42 -!- KingOfKarlsruhe has joined.
22:21:25 <AnMaster> http://developer.apple.com/tools/mpw-tools/
22:23:29 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:24:51 <fizzie> Oh yes, those have been released quite a while ago.
22:25:16 <fizzie> I had them installed on the Performa, for example (I *do* keep talking about it, but it's your fault really); you get a reasonably shell-like thing with it.
22:25:36 <pikhq> And a Make-alike, IIRC.
22:29:29 -!- Oranjer has joined.
22:31:28 <AnMaster> Oranjer, please please stop saying "what" or such as often
22:31:59 <AnMaster> fizzie, I completely forgot how it worked though
22:32:50 <AnMaster> fizzie, I do keep wondering why ftp downloads from apple.com are running at around 30 K/s
22:38:50 <AnMaster> fizzie, any luck with networking in it?
22:45:40 -!- adam_d has joined.
22:48:04 <AnMaster> now apple's ftp is messing up sometimes wanting login
22:50:41 -!- augur has quit (Read error: 54 (Connection reset by peer)).
22:50:56 -!- augur has joined.
22:51:52 <ais523> AnMaster: debsums did find one file (and its manpage) that was wrong, but it was pdftoppm, in poppler-utils
22:52:14 <ais523> the manpage looked normal, so I think the wrong version got installed somehow
22:57:27 -!- augur has quit (Read error: 60 (Operation timed out)).
23:07:15 -!- Oranjer1 has joined.
23:16:20 -!- Oranjer has quit (Nick collision from services.).
23:16:25 -!- Oranjer1 has changed nick to Oranjer.
23:23:31 -!- FireFly has quit ("Later").
23:25:00 -!- cal153 has quit (Read error: 54 (Connection reset by peer)).
23:27:06 -!- cal153 has joined.
23:27:32 -!- coppro has joined.
23:47:33 -!- BeholdMyGlory has quit (Remote closed the connection).
00:34:50 -!- adam_d has quit (Read error: 113 (No route to host)).
01:42:24 -!- Sgeo has joined.
01:42:32 <Sgeo> int aw_create (char* universe_domain, int universe_port, void** instance)
01:42:53 <Sgeo> The AW SDK wants me to use a void pointer to refer to "instances" (not the OOP meaning) of bots
01:43:20 <Sgeo> http://www.activeworlds.com/sdk/multiple.htm
01:44:21 -!- Oranjer1 has joined.
01:45:38 -!- Oranjer1 has left (?).
01:51:31 <MizardX> Gregor: http://codu.org:2888/wiki/list -- just added :)
01:52:45 <Gregor> The next step would be to write a wikicode "interpreter", so that standard wiki pages can be made without ripping ones brains out.
01:54:41 <Gregor> (I just made a small improvement to the "new page" thingy)
01:59:56 -!- oerjan has joined.
02:01:33 -!- Oranjer has quit (Read error: 110 (Connection timed out)).
02:12:43 -!- fax has quit ("Leaving").
02:40:31 <Gregor> Did somebody in here make wikify?
02:44:02 <Gregor> Just wondering where it came from.
02:45:56 -!- oerjan has quit ("SPOING").
02:48:13 <MizardX> Only resolves wiki links [[pagename title]] and converts linbreaks to <br/> for now. http://codu.org:2888/wiki/wikify/foo
02:49:54 <Gregor> Can you make it ignore chebang lines?
02:50:05 <Gregor> Then it can be made the chebang line of a file :)
02:53:45 <Gregor> OK, so it has a few minor problems ^^
02:54:04 <Gregor> See http://codu.org:2888/wiki/wikitest
02:54:15 <Gregor> I can probably fix these, will just have to remember some Python is all :)
02:56:50 <pikhq> Gregor: If not, you could make it into an executable format.
02:57:00 <Gregor> MizardX: Yeah, that chebang line won't work :P
02:57:37 <MizardX> So, multi-level shebang scripts isn't allowed?
02:57:48 <Gregor> MizardX: It is allowed, but chebang lines have to start with /
02:57:59 <Gregor> Hence why I did /usr/bin/env wikify
03:00:45 <MizardX> hmf... I did make wikify make links using itself
03:01:36 <Gregor> That's ... not ideal? :P I think I'd prefer chebangs to be the standard mechanism. Idonno *shrugs*
03:05:14 <Gregor> I guess it doesn't matter, the whole idea is everybody can hack Hackiki to do whatever they want :P
03:06:47 <Gregor> The only issue with that is that then when you're in wikify, you're sort of trapped, you can't have some wiki pages use wikify and some not.
03:11:15 -!- Oranjer1 has joined.
03:12:34 -!- Oranjer1 has changed nick to Oranjer.
03:13:58 * pikhq notes that Plash is awesome.
03:14:22 <pikhq> http://plash.beasts.org/wiki/
03:14:59 * Sgeo notes that the AW SDK makes him want to shoot himself
03:48:06 -!- Gracenotes has joined.
04:17:13 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
04:23:47 <Warrigal> I want to make a Hackiki-crawling script and put it on Hackiki.
04:27:25 * Warrigal decides that his current big project is not more important.
04:28:21 <coppro> Hackiki already confuses me
04:33:18 <Gregor> Is it just me or are two of us editing wikitest? :P
04:33:52 <MizardX> I added an extra pair of [ ]
04:34:20 <Gregor> I actually put the wikifying engine in /hackiki/libexec/wiki (which doesn't work right now for some reason)
04:34:26 <Gregor> So right now it's borkulous.
04:35:09 <MizardX> It worked when I tried it.
04:35:42 <Gregor> /hackiki/libexec/wiki: error while loading shared libraries: /hackiki/libexec/wiki: invalid ELF header
04:36:02 <MizardX> #!/usr/bin/env .wiki <-- that worked when I tried it
04:36:14 <Gregor> Yeah, but I just moved that to /hackiki/libexec/wiki :P
04:36:29 <Gregor> OK, I'll move it back, then I'll stop poking at it.
04:36:32 <coppro> I just accidentally clicked #!/usr/bin/env
04:36:36 <coppro> turns out it's a registered channel
04:37:40 <Gregor> MizardX: Poke away, I am no longer poking :P
04:44:18 -!- Oranjer has left (?).
04:44:51 <Gregor> I didn't actually stop poking.
04:44:57 <Gregor> NOW I'm done poking :P
04:50:07 -!- Gracenotes has quit (Remote closed the connection).
04:58:56 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
05:07:50 -!- augur has joined.
05:07:53 <MizardX> There. http://codu.org:2888/wiki/index
05:09:20 <Gregor> It ... seems to be hanging for me ... unless my tuberwebs are just slow.
05:11:10 <Gregor> It's a good thing when kswapd0 is taking up 100% CPU, right? :P
05:14:08 <Gregor> Not sure what to make of this swap thrashing ...
05:14:17 <Gregor> Especially since nothing's using much memory.
05:15:09 <MizardX> What would happen if you restarted kswapd0?
05:15:31 <MizardX> Would the whole system crash?
05:15:39 <Gregor> Probably. Not something I'm willing to do :P
05:16:33 <Gregor> Oh, maybe it's because my backup script is running right now and rsyncing all of codu! :P
05:17:41 <coppro> but that sounds like a preposterous theory
05:18:16 <Gregor> Damn, somebody already hacked a virus into Hackiki.
05:18:19 <coppro> probably some strain of H1N1
05:18:23 <Gregor> Welp, looks like I'll have to take down codu entirely.
05:18:29 <pikhq> As I see all this ridiculousness on "t3h homosexuals" in Maine and Washington, I must admit: Canada is very, very tempting.
05:19:08 <coppro> pikhq: Canada! Where homosexual rights were inadvertantly enshrined in our constitution 27 years ago - that's how forward-thinking we are!
05:19:47 <pikhq> Gregor: Stupid stupid shit like "The country of Scandinavia legalised gay marriage in 2004 -- suicide rates skyrocketed!"
05:20:10 <coppro> "country of Scandinavia"...
05:20:18 <pikhq> (note: Scandinavia is not a country, no country in Scandinavia legalised gay marriage in 2004, and suicide rates did not skyrocket in 2004 in Scandinavia)
05:20:22 <Gregor> The proper name is, of course, Scandinaviland.
05:20:46 -!- Gracenotes has joined.
05:27:10 <Gregor> Not sure what's going on.
05:27:15 <Gregor> Mayhaps it's not me though :P
05:27:35 <Gregor> Oh look, now it's fast.
05:36:36 -!- coppro has quit (Remote closed the connection).
05:42:43 -!- HackEgo has quit (Read error: 110 (Connection timed out)).
05:42:59 -!- HackEgo has joined.
05:44:14 -!- EgoBot has quit (Read error: 110 (Connection timed out)).
05:44:19 -!- EgoBot has joined.
05:44:34 -!- fungot has quit (zelazny.freenode.net irc.freenode.net).
05:44:55 -!- fungot has joined.
05:46:56 -!- coppro has joined.
06:26:09 -!- Asztal has quit (Read error: 110 (Connection timed out)).
06:48:16 -!- Pthing has joined.
06:58:44 <Gregor> MizardX: Our difference of opinions w.r.t the .wiki script, crystallized: I want wiki pages to always be files in bin/, which has the caveat that all wiki pages that are conventional wiki pages are just scripts using bin/.wiki as a chebang line. I keep on changing .wiki to work that way, and you keep on changing .wiki to work under the assumption that wiki pages that use wiki syntax won't be in bin at all :P
07:09:37 -!- cal153 has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:37:31 -!- Gracenotes has quit ("Leaving").
08:38:44 -!- Gracenotes has joined.
08:39:45 -!- kar8nga has joined.
08:48:53 -!- adam_d has joined.
09:21:36 <AnMaster> <Gregor> http://codu.org:2888/ <-- hah
09:23:43 <AnMaster> Gregor, the wikify thing is gone?
09:28:18 <AnMaster> fizzie, btw got keymappings to work ok in Basilisk or sheepshaver?
09:28:40 <AnMaster> fizzie, I tried US, UK and Swedish but none of them match what I would expect
09:29:28 <AnMaster> as in, neither matches what it says on the key caps, what it is on a real mac or what that key caps app under the apple menu says it should be
09:30:09 <AnMaster> fizzie, oh and depending on if I use the local keyboard or synergy it differs in different ways
09:58:27 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
09:58:54 -!- MizardX has joined.
10:02:00 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:02:28 -!- MizardX has joined.
10:03:50 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:04:18 -!- MizardX has joined.
10:05:40 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:06:08 -!- MizardX has joined.
10:09:02 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:09:29 -!- MizardX has joined.
10:10:52 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:11:19 -!- MizardX has joined.
10:12:42 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:13:09 -!- MizardX has joined.
10:14:25 -!- ampleyfly has left (?).
10:16:17 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:16:44 -!- MizardX has joined.
10:18:07 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:18:34 -!- MizardX has joined.
10:21:42 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:22:09 -!- MizardX has joined.
10:23:32 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:23:59 -!- MizardX has joined.
10:25:22 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:25:49 -!- MizardX has joined.
10:27:12 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:27:39 -!- MizardX has joined.
10:29:02 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:29:30 -!- MizardX has joined.
10:30:52 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:31:22 -!- MizardX has joined.
10:32:45 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:33:28 -!- MizardX has joined.
10:36:44 <fizzie> I don't think I used any other keys except alphabetics and "," or "." yet, so no idea about keymappings.
10:36:47 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:37:13 -!- MizardX has joined.
10:38:14 <fizzie> Today's lecture session at 12:15 had been canceled, and notice emails were sent at 10:30. That was a bit of a short notice thing.
10:40:25 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:41:04 -!- MizardX has joined.
10:44:15 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:44:54 -!- MizardX has joined.
10:45:37 <fizzie> I for one sat 20 minutes in the classroom waiting for other people because I had to run there from another thing and didn't have time for mail-checkery between.
10:46:31 <AnMaster> fizzie, btw. I just found an old VirtualPC cd for mac
10:46:48 <AnMaster> however, I think it would be rather sane to use that to run linux under sheepshaver
10:48:03 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:48:30 -!- MizardX has joined.
10:49:53 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:50:00 <fizzie> Misread something about the undead.
10:50:20 -!- MizardX has joined.
10:51:07 <fizzie> I'm not sure what. Something about undead sheep-shavers. Sounds bizarre.
10:51:17 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
10:51:26 -!- MizardX has joined.
10:52:06 <AnMaster> ooh I remember playing this http://macintoshgarden.org/games/galactic-core
10:52:12 <AnMaster> at least I remember that splash screen
10:53:04 <AnMaster> -Md/Wallops- we had to shut down one of our servers which was unstable. sorry for the noise
10:53:52 <fizzie> Ooh, a play-by-email (potentially) game. How refreshingly quirky.
10:54:12 <fizzie> VGA Planets was played quite a lot in the BBS scene around here.
10:54:25 <AnMaster> fizzie, wait what? it had that?
10:54:46 <fizzie> It says "has the option of playing multiplayer games via email" on that page, at least.
10:55:15 * AnMaster didn't read the text, when he noticed there was no key
10:55:20 <AnMaster> because I didn't have one either
11:05:19 -!- oklopol has joined.
11:06:15 <fizzie> Speaking of $2500 cables (okay, so we're not speaking of them *now*, but we've been speaking of them earlier); here's a $2500 dowsing rod: http://simmonsscientificproducts.com/pmr_iii.html
11:06:54 <fizzie> It's the best thing you can possibly get with today's technology.
11:07:03 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
11:07:17 <AnMaster> it looks incredibly similar to enigma in graphics
11:07:17 <fizzie> (As long as your "things" are limited to fancy sticks, and you use a suitable definition of "best".)
11:08:09 -!- puzzlet has joined.
11:08:09 <AnMaster> fizzie, what is a "dowsing rod"?
11:08:25 <fizzie> AnMaster: A rod that you do dowsing with.
11:08:46 <fizzie> AnMaster: 1. dowse, dowsing, rhabdomancy -- (searching for underground water or minerals by using a dowsing rod)
11:08:56 <fizzie> You wave a stick around and it magically (or pseudoscientifically) finds water.
11:09:01 <fizzie> Or whatever else you want it to find.
11:09:22 <fizzie> Except that with $2500 you get a stick with two (count 'em, two!) "power tubes".
11:09:25 <AnMaster> fizzie, remember this? http://macintoshgarden.org/games/spin-doctor
11:09:32 -!- adam_d has quit (Read error: 104 (Connection reset by peer)).
11:10:02 <fizzie> No, I don't. Of course, I was never a Mac person myself, just an observer of some.
11:10:43 <AnMaster> fizzie, what about that performa then?
11:11:24 <fizzie> Well, I didn't play with it *that* much.
11:11:54 <AnMaster> fizzie, iirc spin doctor was bundled with a performa I used.
11:12:30 <fizzie> I don't remember seeing it, but of course I didn't exactly buy it as new, and don't really know where the software on it came from.
11:13:02 <fizzie> With it#1 being that spin doctor, and it#2 + it#3 being the Performa boxey.
11:14:33 <AnMaster> fizzie, I actually parsed it correctly first time. But after reading the clarification I ended up confused for several seconds
11:16:09 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
11:19:26 <MizardX> {AnMaster} Gregor, the wikify thing is gone? <-- renamed to ".wiki", which is hidden in the listing
11:20:19 <MizardX> The shebang is written as: #!/usr/bin/env .wiki
11:35:19 <AnMaster> MizardX, what does the .wiki stuff do then?
11:59:05 <MizardX> About the same as before, but treats both normal and wikified content the same.
11:59:17 <AnMaster> MizardX, yeah and what was that
11:59:28 * AnMaster missed the part where it was actually described
12:00:08 <MizardX> It converts [[links]] to accual links, and adds <br> at linebreaks.
12:00:28 <MizardX> Also adds page title, and edit links to each wikified page.
12:00:57 <MizardX> I don't remember. Could be
12:24:49 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
13:20:27 -!- kar8nga has joined.
13:20:37 -!- oerjan has joined.
13:28:09 <oerjan> <Gregor> The proper name is, of course, Scandinaviland. <-- just next to neverland
13:31:16 <oerjan> <fizzie> I'm not sure what. Something about undead sheep-shavers. Sounds bizarre.
13:34:30 <fizzie> Yay, got the official confirmation email that they've accepted my graduate school application. Funding, and therefore almost guaranteed employment here at the university, for 2010-2013. No more begging for spare coins under the railway overpass! (Okay, so I hadn't yet even started that, but still. And conditional to the thesis-work progressing at a reasonable speed.)
13:35:19 -!- comex has quit (Read error: 113 (No route to host)).
13:55:39 -!- oklokok has joined.
13:58:43 -!- oklopol has quit (Read error: 60 (Operation timed out)).
13:58:56 -!- fax has joined.
14:03:49 <AnMaster> also I disagree with the annotation.
14:04:24 <oerjan> well naturally it's not that bad usually
14:04:48 -!- Pthing has quit (Read error: 60 (Operation timed out)).
14:05:05 <fizzie> After reading the comp.risks digests every now and then, I do have a view somewhat like in the annotation of software.
14:05:31 <AnMaster> heh never knew of that usenet group
14:05:35 <oerjan> but if you thought computer programs were _usually_ made as good as possible, then you should be really worried about those examples :D
14:05:50 <AnMaster> anyway, I never had much problems except for emulators for old systems.
14:08:24 -!- ais523 has quit (Read error: 110 (Connection timed out)).
14:08:25 <fizzie> Well, just look at the state of computer security; vulnerabilities all over the place, even in things that should be trivial. (Buffer overflows! In 2009!) Admittedly the adversarial model they run in is a lot more difficult than just "has to be robust against accidental errors".
14:09:35 <fizzie> As far as non-security-related things go, there must be something in the eyeball-bugs saying, since at least my vague feeling is that bug density is higher in all kinds of closed-source blobs. (Skype and nvidia's binary drivers come to mind.)
14:10:08 <fizzie> Eyeball bugs; they're these little critters that nest in your eyeballs. Icky.
14:10:08 <AnMaster> fizzie, I suggest a solution to it: Use "unsafe" languages (like C or asm) only for the stuff you can't use something better (like LISP) for.
14:11:10 <AnMaster> fizzie, and yes. agreed that binary blobs are more problematic.
14:11:22 <fizzie> "Given enough eyeballs, all bugs are shallow."
14:13:07 -!- augur has quit (Read error: 110 (Connection timed out)).
14:13:34 <AnMaster> fizzie, oh and just as an example... I have a WinXP 64-bit VM. Haven't used it for half a month. 12 new security updates. And two reliability ones.
14:15:12 <oerjan> windows updates usually only come once a month, afaik...
14:15:58 <oerjan> but several at once naturally
14:16:34 <AnMaster> oerjan, probably. There has been such a month increment recently
14:17:04 <oerjan> yes i got it a couple days ago or so
14:17:42 <fizzie> The CVE list has 39098 entries, spread over a decade or so; that's something like ten a day.
14:20:18 <fizzie> http://cve.mitre.org/cve/ "TOTAL CVEs: 39098"
14:20:36 <fizzie> grep 'Name: CVE' allitems.txt |wc -l => 41068; and they start from 1999.
14:22:49 <AnMaster> fizzie, that count differs quite a bit hm
14:23:41 <fizzie> Anyway, that's the order of magnitude.
14:27:20 <fizzie> (Of course not everything in the CVE list probably counts as a vulnerability; I think the count also includes candidate-but-not-a-real-entry entries and such.)
14:27:30 <fizzie> Must away for a few hours now.
14:42:08 -!- oklokok has quit (Read error: 104 (Connection reset by peer)).
14:42:30 -!- oklopol has joined.
14:50:58 -!- oklopol has quit (Read error: 60 (Operation timed out)).
14:55:10 -!- oklopol has joined.
14:56:44 -!- oklokok has joined.
15:04:53 <fizzie> After reviewing about 8 hours of recorded webcam video, I now know what the cat does when we're at work: sleeps.
15:05:19 <AnMaster> fizzie, was that what you planned to use it for?
15:06:24 <fizzie> Yes, cat-observation was the intended goal. It's just that I assumed it'd actually move from my chair at least once during the day. Apparently not.
15:06:51 <fizzie> It did stand up a couple of times, and did some self-lickery, but that seemed to be about it.
15:09:02 <AnMaster> fizzie, heh. Why did you want to watch it though?
15:09:54 <fizzie> We wanted to know if it seems bored or not during the day. :p
15:10:01 <AnMaster> fizzie, btw I found a way to make sheepshaver less unstable: Shut it down very often. Like after you copy some files. Shut it down before doing the next step
15:10:09 <AnMaster> shut down and start again obviously
15:10:23 <AnMaster> not restart, becuase that doesn't quit and restart sheepshaver itself
15:11:00 <AnMaster> fizzie, and the conclusion to that is?
15:14:01 -!- oklopol has quit (Read error: 113 (No route to host)).
15:14:03 -!- oklopol has joined.
15:20:39 <fizzie> Well, our preliminary conclusion is that it's not terminally bored, since it just sleeps; we're guessing it'd walk around and look distressed or something. Who knows, though; it just says "krneeew" when we tried to ask directly.
15:21:40 <AnMaster> fizzie, ah. Not quite the verbal skills of Maurice then?
15:28:37 -!- oklokok has quit (Read error: 110 (Connection timed out)).
15:39:15 -!- coppro has quit ("I am leaving. You are about to explode.").
15:54:27 -!- serp has changed nick to Guest7354.
16:19:15 -!- BeholdMyGlory has joined.
16:26:42 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
16:27:02 -!- MizardX has joined.
16:27:55 -!- fax has quit ("Leaving").
16:28:09 -!- jix has quit ("leaving").
16:28:21 -!- jix has joined.
16:29:12 -!- jix has quit (Client Quit).
16:29:33 -!- jix has joined.
16:29:42 -!- jix has quit (Client Quit).
16:30:05 -!- jix has joined.
16:32:39 -!- Gracenotes has quit (Remote closed the connection).
16:45:51 <Gregor> MizardX: I think I need to put a notice somewhere along the lines of "all contributions to Hackiki are under <such-and-such> license". Any objections to MIT/X11?
16:46:03 <Gregor> (Since you contributed stuff :P )
16:47:05 <MizardX> I don't care. Pick whatever.
16:47:32 -!- fax has joined.
16:51:28 -!- augur has joined.
17:06:51 -!- Asztal has joined.
17:15:10 -!- kar8nga has quit (Remote closed the connection).
17:38:06 -!- oerjan has quit ("Good night").
17:39:43 <Gregor> Heh, somebody sent me "identify <presumably-their-password>"
17:50:56 <fizzie> "My voice is my password. Verify me." As seen in the 1992 movie Sneakers.
17:52:02 <Deewiant> Nowadays we have portable sound players without a noticeable loss of quality so that doesn't work as well
17:52:12 <Deewiant> Or did they do a recording there as well?
17:52:41 <fizzie> Clipped together out of a whole lot of sentences.
17:52:57 <Deewiant> Meh, what a crap verifier then
17:53:08 <fizzie> It's Hollywood, you know.
17:53:50 <fizzie> One voice-verification system asks you to read out a random string of digits and recognizes those, so you can't do pure replay. I would assume it to be vulnerable to some sort of "input numbers and I'll concatenate suitable clips together" application, though.
17:55:40 -!- cal153 has joined.
18:09:15 <Gregor> Hackiki is now up at http://hackiki.codu.org/
18:10:58 -!- iamcal has joined.
18:13:47 -!- kar8nga has joined.
18:22:25 -!- GregorR-L has joined.
18:28:01 -!- cal153 has quit (Read error: 113 (No route to host)).
18:40:25 -!- GregorR-L has quit (Remote closed the connection).
18:46:13 <fizzie> Hey, they're forecasting snow here too.
18:46:58 -!- fax has quit ("Leaving").
18:47:22 <AnMaster> fizzie, it seems to melt pretty quickly
18:47:27 <fizzie> Hey, it might actually be snowing out there too. Too dark to really make out without leaving the chair, but there's some sort of possibly snow-like rain visible under the street lamp out there.
18:48:05 <AnMaster> fizzie, it was hailing (err is that the verb form of "hail" in English?) first. Then it changed into snow
18:48:24 <AnMaster> (that is, unless they were trying out bouncing snow beta)
18:48:41 <fizzie> Slight physics engine tweaks, maybe.
18:48:53 <Deewiant> Yeah, it's been snowing for a while now
18:48:59 <AnMaster> fizzie, yeah. Or a bug in the matrix
18:49:09 <fizzie> I don't think we've lately been getting proper stays-on-ground snow before christmas, though, so I guess it'll melt pretty immediately.
18:49:35 <AnMaster> Deewiant, here it has been hailing since 10:00 or so, and snowing since just after sunset
18:49:57 <AnMaster> which was... uh... several hours ago? Something like that
19:03:13 -!- GregorR-L has joined.
19:05:49 -!- Gracenotes has joined.
19:11:52 -!- FireFly has joined.
19:43:21 -!- kar8nga has quit (Remote closed the connection).
20:03:29 -!- Pthing has joined.
21:03:19 -!- augur_ has joined.
21:03:52 -!- augur has quit (Read error: 110 (Connection timed out)).
21:16:54 -!- fax has joined.
21:44:01 -!- kar8nga has joined.
21:52:06 -!- GregorR-L has quit ("Leaving").
22:20:33 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
22:20:57 -!- kar8nga has quit (Remote closed the connection).
22:25:50 -!- puzzlet has joined.
22:28:37 -!- Leonidas1 has joined.
22:29:07 -!- Leonidas has quit (Read error: 60 (Operation timed out)).
22:41:00 * pikhq is log-reading at random...
22:41:06 <pikhq> 08:24:03 <ehird> Benevolent Dictator For Until You Get Your Fucking Shit Together.
22:41:14 <pikhq> That's the best idea I've heard for fixing D.
23:23:28 <AnMaster> MizardX, would probably be better with someone who knew D and possibly also coded in it
23:24:33 <AnMaster> MizardX, yeah I would replace the whole thing with a cross between C and LISP
23:24:55 <AnMaster> all the object orientation stuff would be dropped
23:25:13 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
23:25:13 -!- fungot has quit (zelazny.freenode.net irc.freenode.net).
23:25:34 -!- MizardX has joined.
23:25:45 <AnMaster> <AnMaster> all the object orientation stuff would be dropped
23:25:45 <AnMaster> * MizardX has quit (calkins.freenode.net irc.freenode.net)
23:25:51 <AnMaster> not sure if you missed anything there
23:26:07 <MizardX> Server I was connect to died
23:37:00 -!- augur_ has quit (Read error: 110 (Connection timed out)).
23:38:20 -!- augur has joined.
23:43:10 <Gregor> MizardX: I replaced .wiki with one that uses WikiCreole.
23:43:47 <Gregor> http://wikicreole.org/wiki/Creole1.0
23:43:54 <Gregor> It's just some Wiki syntax that's fairly sensible.
23:44:22 <AnMaster> Gregor, please use moinmoin syntax. For the lulz
23:44:22 <Gregor> I extended WikiCreole to support this syntax: {{{\n#!/usr/bin/python\nprint "Lawl embedded code"\n}}}
23:44:44 <AnMaster> as bad as trac's usage of {{{}}}
23:45:09 <Gregor> At this moment particularly AnMaster, but people in general.
23:45:28 <Gregor> AnMaster: If you don't like the syntax, HEY, the script is in the wiki, go do whatever you fucking want and stop complaining that every syntax is wrong :P
23:45:47 <AnMaster> Gregor, did I complain about every one?
23:46:01 <AnMaster> but yes. As a matter of fact. All syntax syntax suck
23:46:05 <AnMaster> at least all I have seen so far
23:46:23 <Gregor> Anyone who would complain about {{{...}}} used for f***ing INLINE CODE is somebody who hates all syntax.
23:47:04 <Gregor> Anyway, Hackiki is now officially the greatest wiki ever.
23:47:13 <Gregor> And all people should stop development on their inferior wikis and use Hackiki.
23:47:43 <AnMaster> Gregor, how is it performance wise? ;P
23:47:51 <Gregor> Seems good enough, surprisingly *shrugs*
23:48:02 <Gregor> I doubt it scales, since it's effectively CGI + plash
23:49:37 <AnMaster> Gregor, yeah. I was suspecting plash wouldn't scale
23:50:08 <Gregor> Oh yeah, plus every page view involves an hg clone, I suppose that's not super-fast X-D
23:53:15 <Gregor> I don't think plash itself is very slow, really, but as the wiki increases in size the hg clone will become slower (duh), so that could be a very real issue.
23:59:16 <pikhq> Is Plash Debian-specific or some such?
00:03:53 <Gregor> Hypothetically it isn't, really it is.
00:04:13 <pikhq> I'm finding it absurdly difficult to find a freaking source tarball.
00:04:39 <fax> funbot style!
00:04:55 <pikhq> fax: But, they offer source .debs.
00:04:56 <Gregor> http://www.plash.beasts.org/packages/plash_1.19.orig.tar.gz
00:05:59 <Gregor> It's still pretty Debian-specific though.
00:06:21 <pikhq> I'm going to experiment for a bit.
00:06:30 <pikhq> And if it doesn't work, much violence will be performed.
00:17:31 -!- coppro has joined.
00:17:40 <pikhq> "checking for x86_64-linux-gnu-gcc... gcc-4.1 -fno-stack-protector
00:17:53 <pikhq> From the attempt to build plash-glibc.
00:20:47 -!- FireFly has quit ("Later").
00:31:36 -!- BeholdMyGlory has quit (Remote closed the connection).
00:32:08 -!- Pthing has quit (Remote closed the connection).
00:35:57 -!- Azstal has joined.
00:49:57 -!- Asztal has quit (Read error: 110 (Connection timed out)).
00:59:38 -!- fax has quit (Client Quit).
01:01:49 -!- coppro has quit ("I am leaving. You are about to explode.").
01:02:28 -!- iamcal has quit.
01:03:58 -!- coppro has joined.
01:35:28 -!- jix has quit (Read error: 60 (Operation timed out)).
01:41:57 -!- Azstal has quit (Read error: 110 (Connection timed out)).
02:53:49 -!- oerjan has joined.
02:55:35 -!- augur has quit (Read error: 110 (Connection timed out)).
03:07:17 -!- madbr has joined.
03:10:32 -!- augur has joined.
03:22:45 -!- oerjan has quit ("Reboot").
03:27:58 -!- augur has quit (zelazny.freenode.net irc.freenode.net).
03:27:58 -!- coppro has quit (zelazny.freenode.net irc.freenode.net).
03:27:58 -!- MizardX has quit (zelazny.freenode.net irc.freenode.net).
03:27:58 -!- HackEgo has quit (zelazny.freenode.net irc.freenode.net).
03:27:59 -!- sebbu has quit (zelazny.freenode.net irc.freenode.net).
03:28:01 -!- AnMaster has quit (zelazny.freenode.net irc.freenode.net).
03:28:02 -!- Gracenotes has quit (zelazny.freenode.net irc.freenode.net).
03:28:05 -!- Guest7354 has quit (zelazny.freenode.net irc.freenode.net).
03:28:06 -!- Warrigal has quit (zelazny.freenode.net irc.freenode.net).
03:28:09 -!- Cerise has quit (zelazny.freenode.net irc.freenode.net).
03:28:09 -!- Slereah has quit (zelazny.freenode.net irc.freenode.net).
03:28:54 -!- augur has joined.
03:28:54 -!- coppro has joined.
03:28:54 -!- MizardX has joined.
03:28:54 -!- Gracenotes has joined.
03:28:54 -!- HackEgo has joined.
03:28:54 -!- sebbu has joined.
03:28:54 -!- Guest7354 has joined.
03:28:54 -!- AnMaster has joined.
03:28:54 -!- Warrigal has joined.
03:29:35 -!- Cerise has joined.
03:29:35 -!- Slereah has joined.
03:29:43 -!- madbr has quit (Read error: 104 (Connection reset by peer)).
03:47:08 -!- madbr has joined.
04:21:22 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
04:22:21 -!- puzzlet has joined.
06:19:29 -!- BeholdMyGlory has joined.
06:19:39 -!- BeholdMyGlory has quit (Remote closed the connection).
06:38:41 <Warrigal> Gregor: you're still doing this clone-at-every-turn thing?
06:38:46 -!- kar8nga has joined.
06:45:53 <pikhq> Gregor: I think you'd be pleased to know that your elfloader thing (barely) works on x86_64-pc-linux-gnu.
06:46:19 <pikhq> (though only on staticly linked binaries -- it throws up on trying to load /lib/ldlinux.so)
06:49:36 -!- kar8nga has quit (Remote closed the connection).
06:49:44 -!- madbr has quit ("Radiateur").
07:33:13 -!- coppro has quit (Read error: 110 (Connection timed out)).
07:52:33 -!- immibis has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:03:08 <AnMaster> pikhq, what does the elfloader thing do?
08:09:49 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.4/20091016092926]").
08:23:53 -!- cal153 has joined.
08:56:48 -!- Pthing has joined.
10:19:02 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
10:19:06 -!- puzzlet has joined.
10:35:36 -!- FireFly has joined.
11:03:10 -!- BeholdMyGlory has joined.
11:09:41 -!- ais523 has joined.
11:11:26 <ais523> they blacklisted the PC speaker kernel module in 9.10
11:11:29 <ais523> to avoid the beep-on-shutdown bug
11:11:37 <ais523> that is really not the right way to fix a bug...
11:24:09 -!- jix has joined.
12:03:23 -!- Asztal has joined.
12:31:25 -!- Asztal has quit (Connection timed out).
12:32:38 -!- Asztal has joined.
12:48:14 -!- ais523 has quit.
12:48:34 -!- ais523 has joined.
12:53:48 -!- oerjan has joined.
12:55:01 -!- Asztal has quit (Connection timed out).
12:56:37 -!- Asztal has joined.
13:12:55 -!- Asztal has quit (Read error: 110 (Connection timed out)).
13:13:39 -!- Asztal has joined.
13:16:40 <AnMaster> ais523, in fact, I would say that the new behaviour is a bug
13:21:09 * AnMaster is irritated that sheepshaver requires sysctl -w vm.mmap_min_addr=0
13:29:57 -!- Asztal has quit (Connection timed out).
13:33:38 -!- Asztal has joined.
13:49:56 -!- Asztal has quit (Read error: 110 (Connection timed out)).
13:53:38 -!- Asztal has joined.
14:10:27 -!- Asztal has quit (Read error: 110 (Connection timed out)).
14:13:38 -!- Asztal has joined.
14:29:56 -!- Asztal has quit (Read error: 110 (Connection timed out)).
14:32:32 -!- augur has quit ("Leaving...").
14:33:38 -!- Asztal has joined.
14:50:42 -!- Asztal has quit (Connection timed out).
14:52:38 -!- Asztal has joined.
14:52:49 -!- Asztal has quit (Client Quit).
15:05:18 -!- FireFly has quit ("Later").
15:12:29 -!- ais523 has quit (Remote closed the connection).
15:15:00 -!- EgoBot has quit (Read error: 60 (Operation timed out)).
15:15:13 -!- EgoBot has joined.
15:25:51 -!- augur has joined.
15:30:09 -!- HackEgo has quit (Read error: 110 (Connection timed out)).
15:30:15 -!- HackEgo has joined.
16:32:56 -!- ais523 has joined.
16:42:13 -!- MigoMipo has joined.
16:43:16 -!- fax has joined.
17:21:37 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
17:21:40 -!- MizardX has joined.
18:30:04 -!- BeholdMyGlory has changed nick to BeholdMyGlory_.
18:30:05 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory__.
18:30:29 -!- BeholdMyGlory__ has changed nick to BeholdMyGlory_.
18:30:41 -!- BeholdMyGlory_ has changed nick to BeholdMyGlory.
19:09:40 -!- Gracenotes has quit (Remote closed the connection).
19:18:07 -!- oerjan has quit ("Good night").
19:45:21 -!- FireFly has joined.
19:48:17 -!- KingOfKarlsruhe has joined.
20:07:16 -!- Pthing has quit (Remote closed the connection).
20:46:02 <AnMaster> http://developer.apple.com/legacy/mac/library/technotes/tb/tb_10.html
20:46:06 <AnMaster> I think the title is wrong there
20:46:21 <AnMaster> says "Legacy Mac OS X Reference Library"
20:46:31 <ais523> I don't really get what you're on about
20:46:42 <AnMaster> ais523, look at the date of that technical note
20:46:51 <AnMaster> then look at the header thingy for that secion
20:46:57 <AnMaster> which says "Legacy Mac OS X Reference Library"
20:47:05 <AnMaster> except, this is from before Mac OS X was invented!
20:47:09 <ais523> for all I know that API still exists in OSX
20:47:26 <AnMaster> ais523, I don't think that would apply here. XD
20:50:48 <AnMaster> ais523, also what about this one "Macintosh Plus Pinouts"
21:03:01 -!- KingOfKarlsruhe has quit (Remote closed the connection).
21:37:46 <AnMaster> ais523, oh god, I just ended up being randomly highlighted by some noob so noobish I never seen anything as bad
21:38:42 <AnMaster> <AnMaster> hadge_, web search engine. You know where you search in the browser. Maybe you use some other search engine *shrug*
21:38:42 <AnMaster> <hadge_> I have something called yahoo.com
21:38:56 <AnMaster> sigh, why did I even answer the highlight
21:39:48 -!- FireFly has quit ("Later").
21:41:03 <AnMaster> <hadge_> Anyone know how to restart a machine
21:51:41 -!- sebbu2 has joined.
21:52:21 <AnMaster> ais523, have you seen ehird recently at all?
21:52:58 <AnMaster> ais523, any idea if something happened to his net connection or such?
21:53:30 <AnMaster> (well, at least compared to Sweden)
21:53:41 <AnMaster> (and yes I invented that justification afterwards)
21:56:49 <AnMaster> "According to Archive.org since at least February 11, 2008 the URL address http://www.apple.com/hypercard no longer points to Apple's site but redirects to this Wikipedia article."
21:57:02 <AnMaster> why the "according to archive.org" but
21:57:10 <AnMaster> is there some policy reason for it?
21:57:11 <ais523> for historical info, presumably
21:57:15 <ais523> and yes, it's a citation
21:57:21 <AnMaster> ais523, it still does redirect like that
21:57:22 -!- fax has quit (Client Quit).
21:57:43 <AnMaster> I mean, this seems like it wouldn't need a citation.
21:58:15 -!- fax has joined.
22:02:20 -!- MigoMipo has quit (Ping timeout: 180 seconds).
22:07:56 -!- sebbu has quit (Read error: 110 (Connection timed out)).
22:21:02 -!- BeholdMyGlory has quit (Remote closed the connection).
22:31:03 <fax> hypercard is cool
22:32:30 <oklopol> i don't understand what the lecturer was talking about, turing machines are totally fun to program and run manually
22:32:46 <AnMaster> oklopol, heh? what did he say?
22:33:01 <fizzie> oklopol: You are probably in the minority, though.
22:33:24 <fizzie> Every lecturer on a computer science basics course is contractually obligated to say the opposite.
22:33:58 <oklopol> this is not a basics course, although we are doing basics of tm's atm
22:33:59 <AnMaster> <fizzie> Every lecturer on a computer science basics course is contractually obligated to say the opposite. ← why?
22:34:26 <fizzie> It's because of the Conspiracy.
22:34:49 <fizzie> See, they've tried to infect Wikipedia too: "Turing machines *are not intended as a practical computing technology*, but rather as a thought experiment representing a computing machine." -- emphasis mine.
22:36:51 <oklopol> i get two entirely different, but equally great pleasures, from 1. fitting tons of state interaction info in my head 2. running the machine without thinking, and watching it slowly do its magic
22:38:18 <fizzie> String rewriting languages are also nice to watch.
22:38:19 <AnMaster> what is the proof for turing machines having the properties they do?
22:38:37 <AnMaster> I mean, you can't reduce it to another turing complete language
22:38:39 <oklopol> i mean as long as the program is simple enough i can do it without any sort of compilation
22:38:44 <AnMaster> (that kind of defeats the point)
22:38:57 <oklopol> once you do compilation, you might just as well use a better language
22:39:10 <oklopol> AnMaster: what do you mean?
22:39:27 <oklopol> ARE YOU TALKING ABOUT CLOSURE PROPERTIES
22:39:37 <AnMaster> oklopol, unkown. I'm too sleepy
22:39:42 <fizzie> oklopol: IS YOUR SHIFT KEY STUCK?
22:40:01 <oklopol> the families of R and RE languages are closed under pretty much everything
22:40:14 <oklopol> fizzie: no, some things just need to be said in uppercase
22:41:16 <AnMaster> oklopol, I mean. How do you prove UTMs are TC. Basically.
22:41:25 <AnMaster> well apart from that being the definition of TC
22:41:54 <oklopol> what you do is you define turing machines and define computation as what they do.
22:42:13 <oklopol> then the empty proof proves they are TC
22:42:40 <fax> empty proof heh
22:43:03 <AnMaster> oklopol, what about the stuff about that being the best possible class. Well apart from those oracle machines (which no one explains how they would be implemented)
22:43:23 <AnMaster> fax, yeah made me think of "empty set"
22:43:44 <fax> well it's sort of relevant http://terrytao.wordpress.com/2009/11/05/the-no-self-defeating-object-argument/
22:43:58 <fax> I just really liked that article
22:44:13 <fax> since he mentions turning machine :/
22:44:20 <oklopol> AnMaster: it's not the best possible class, RE is a proper subset of 2^({0,1}*)
22:44:31 <oklopol> that is, there are languages that need a stronger machine
22:44:53 <AnMaster> oklopol, best possible plausible class? Or what is the point of it
22:45:16 <fizzie> But there's a whole pile of other models of computation, for which you can prove that a Turing machine can do the same things. The proofs of course depend on what you're comparing to.
22:45:22 <oklopol> AnMaster: neither does anyone else
22:45:28 <fax> AnMaster a lot of people say "turing machine/lambda calculus/whatever can compute anything you want it to"
22:45:37 <AnMaster> oklopol, I don't know *what* it is I don't know
22:45:40 <fax> it's kinda vauge and meaningless as far as I could tell
22:46:32 <oklopol> AnMaster: turing machines have no mathematical property that makes them the best possible plausible class.
22:46:39 <oklopol> they just correspond nicely to our intuition
22:47:27 <oklopol> i suggest you just believe me :P
22:47:38 -!- sebbu has joined.
22:47:39 <oklopol> anyway look up church turing thesis
22:48:39 <oklopol> err well RE obviously isn't closed under complementation
22:50:52 -!- augur has quit (Read error: 60 (Operation timed out)).
22:53:25 -!- Pthing has joined.
22:58:03 -!- ais523 has quit (Remote closed the connection).
23:04:08 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
23:06:30 <Warrigal> AnMaster: there is no theorem that Turing machines are the best possible computational class in any way; the Church-Turing statement is the unproven statement that it's the best computational class we can build.
23:07:02 <Warrigal> Or, alternatively, the best computational class the brain can simulate.
23:10:58 <Warrigal> ...Actually, I'm sure there is a theorem that Turing machines are the best possible computational class where if the machine outputs something, there is a proof that it does.
23:11:22 -!- comex has joined.
23:15:04 -!- coppro has joined.
23:18:04 <fax> I thought Church-Turing was that lambda and turning machine are equivalent
23:18:39 <fax> looks like I am wrong
23:18:56 <fax> it says on the wiki "Informally the Church–Turing thesis states that if an algorithm (a procedure that terminates) exists then there is an equivalent Turing machine, recursively-definable function, or applicable λ-function, for that algorithm. Today the thesis has near-universal acceptance."
23:19:12 <fax> but that seems odd because it use the word "exists" in a non-mathematical context
23:19:27 <fax> and also it's not clear where this places oracles
23:19:40 <Warrigal> It implies that oracles do not "exist".
23:19:43 <fax> "Every effectively calculable function is a computable function"
23:20:31 <Warrigal> It would be quite nice if the Church-Turing thesis were that lambda calculus and Turing machines are equivalent.
23:21:25 <Warrigal> But it isn't, so we'll have to stick with our Curry-Howard isomorphism.
23:47:59 -!- sebbu2 has joined.
23:55:07 <Slereah> Well, Turing machines can't exist, but close enough I guess
23:55:22 <Slereah> While oracles are like double impossible
23:55:27 -!- sebbu has quit (Read error: 60 (Operation timed out)).
00:07:29 <fax> I am not sure what exist mean....
00:07:43 <fax> mostly we can not care but in the formal sense it matters
00:36:40 <MizardX> http://www.nytimes.com/2009/10/13/science/space/13lhc.html <-- reason might be that it ends the current branch of reality :)
00:44:48 -!- clog has joined.
00:44:48 -!- clog has joined.
00:57:58 -!- clog_ has quit (Read error: 110 (Connection timed out)).
01:14:01 -!- augur has joined.
01:22:52 -!- Pthing has quit (Remote closed the connection).
01:25:07 -!- augur has quit (Read error: 60 (Operation timed out)).
01:27:21 -!- augur has joined.
01:29:19 -!- Sgeo has joined.
01:38:50 <fax> MizardX http://www.theonion.com/content/node/30990
01:39:06 <Ilari> LHC having problems again?
01:44:47 -!- jix has quit ("leaving").
01:46:44 <Gregor> PROBLEM: Every time a page in Hackiki was viewed, lib/python/creole.pyc would be updated, creating unnecessary churn in the hg-stored FS.
01:47:01 <Gregor> SOLUTION: rm lib/python/creole.pyc ; mkdir lib/python/creole.pyc ; touch lib/python/creole.pyc/empty
01:56:30 <Ilari> Interesting. X keyboard driver froze to extent that not even CTRL+ALT+Fx worked. Forcibly switching to text console and back cleared it up.
01:57:09 <MizardX> Gregor: It's faster to use the .pyc-file. Otherwise the .py will have to be parsed each time.
01:57:57 <pikhq> MizardX: But it ends up slowing down hg quite a bit because the .pyc file gets *touched* every time.
00:03:24 -!- clog has joined.
00:03:24 -!- clog_ has joined.
00:05:26 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:05:53 -!- augur has joined.
02:16:52 -!- clog has quit (Connection timed out).
02:22:00 <Gregor> MizardX: Yes, but the modification times aren't handled by hg.
02:22:17 <Gregor> So it's actually reparsing and recompiling it every time.
02:22:22 <Gregor> Yes, I know what a .pyc file is :P{
02:27:50 -!- augur_ has joined.
02:28:19 -!- augur_ has quit (Read error: 54 (Connection reset by peer)).
02:28:41 -!- augur_ has joined.
02:29:58 <Gregor> Also, Hackiki supports file uploads now, so, y'know, make use of that n' all.
02:32:40 <Gregor> It sets an environment variable called FILES, then for each file it sets a difficult-to-read environment variable called FILE_<filename> to the original filename.
02:37:23 -!- MizardX- has joined.
02:37:33 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
02:37:52 -!- MizardX- has changed nick to MizardX.
02:38:49 -!- Gracenotes has joined.
02:45:09 <Sgeo> http://www.turtleflight.com/mbh/behavior_table.gif I'm pretty sure ehird will want to kill someone
02:45:41 <Sgeo> Programming in MS Comic Sans!
02:47:45 -!- augur has quit (Read error: 110 (Connection timed out)).
03:23:50 -!- augur has joined.
03:30:34 -!- augur_ has quit (Read error: 145 (Connection timed out)).
03:40:27 -!- fax has quit (Client Quit).
04:15:27 -!- Slereah_ has joined.
04:18:33 -!- augur_ has joined.
04:18:39 -!- augur has quit (Read error: 104 (Connection reset by peer)).
04:32:51 -!- Slereah has quit (Read error: 110 (Connection timed out)).
04:37:12 -!- augur_ has quit (Read error: 110 (Connection timed out)).
04:39:06 -!- augur has joined.
04:52:54 -!- augur has quit (Read error: 60 (Operation timed out)).
05:10:18 -!- immibis has joined.
05:59:26 -!- coppro has quit (Remote closed the connection).
06:08:57 -!- coppro has joined.
06:09:34 -!- oerjan has joined.
06:31:11 -!- augur has joined.
07:09:59 -!- oerjan has quit ("leaving").
07:59:59 -!- clog has quit (ended).
08:25:53 -!- clog has joined.
08:25:53 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.4/20091016092926]").
08:47:02 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
09:39:41 -!- ehird has joined.
09:39:54 <ehird> 13:16:36 <Gregor> http://www.amazon.com/Essential-Vivaldi-Masterpieces-Amazon-Exclusive/dp/B002POQ2UQ . Go. Buy.
09:39:57 <ehird> $6.99 for some unscarce bits? whyever would I do that?
09:39:59 <ehird> 13:24:44 <Rugxulo> he was (apparently) a priest, so I doubt he cared about money
09:40:01 <ehird> HAHAHAHAHAHAHAHAHAHAAHAHAHAHA
09:40:03 <ehird> 13:45:49 <madbrain> http://s.engramstudio.com/src/sdc.txt <- tentative rules
09:40:05 <ehird> 60 fps = waste of time
09:40:53 <ehird> 13:57:28 <Gregor> You fontophiles are idiots.
09:40:53 <ehird> Liberation Mono is perfectly fine, don't confuse AnMaster being a malcontent with him being a font connoisseur.
09:41:07 <ehird> should probably not bother trying to read five days of events
09:41:42 <ehird> 13:58:31 <AnMaster> Gregor, I'm no fontofile. I prefer Ariel over Helvetia because the font spacing is proper in konqueror with it
09:41:43 <ehird> ...especially when he's idiotic enough to confuse a font with a typeface.
09:41:48 <ehird> (And misspell Arial.)
09:41:51 <ehird> (Oh, and Helvetica.)
09:43:33 <ehird> 14:01:13 <Gregor> <Rugxulo> some P4s are allegedly slower than some P3s !! ; It is true of all lines of Intels (at least since P1pro) that there are early models of the newer one that is slower than the latest models of the previous one.
09:43:37 <ehird> It was faster from the start.
09:45:16 <ehird> 14:05:43 <Rugxulo> <AnMaster> ehird, I estimate it is around 17 C indoors atm
09:45:16 <ehird> 14:05:52 <Rugxulo> you could maybe use another one to kill two birds with one stone ;-)
09:45:17 <ehird> 14:06:00 <AnMaster> Rugxulo, hah.
09:45:17 <ehird> 14:06:07 <AnMaster> Rugxulo, I care about environment a bit
09:45:17 <ehird> 14:06:18 <AnMaster> so I try to go by bus instead of car and so on
09:45:18 <ehird> never mind invisible sandwich — invisible non sequitur-producing thought process
09:46:43 <ehird> 14:16:59 <AnMaster> Rugxulo, AMD CPUs use more power
09:46:43 <ehird> 14:17:00 <AnMaster> other than that they are better IMO
09:46:43 <ehird> presumably you don't mean technologically, as AMD CPUs are simply inferior in every aspect nowadays
09:46:45 -!- coppro has quit (Read error: 145 (Connection timed out)).
09:47:58 <ehird> 18:45:09 <Sgeo> http://www.turtleflight.com/mbh/behavior_table.gif I'm pretty sure ehird will want to kill someone
09:48:08 <fizzie> It's still possible that they might release a faster-than-the-slowest-i7 in some of the earlier series. Maybe not that likely, though. (I think that's what happened with the original Pentium; the 60 MHz Pentium introduced March 1993 was faster than the 66 MHz 486dx2 models available at that time, but I have a feeling that the 100 MHz 486dx4 models from late 1994 beat the first 60 MHz Pentium.)
09:49:21 <ehird> Not likely. The Core 2s of similar clocks to the first-model, lowest-end i7 lose slightly.
09:49:25 <fizzie> (Why is it called "DX4" anyway when it runs at triple the bus clock rate?)
09:49:38 <ehird> Admittedly with the brute force of clock speed and a lot of money you could get the uber-best Core 2 to beat the 920
09:56:50 <ehird> s/, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in\nall copies or substantial portions of the Software.//
10:02:20 <ehird> hmm http://www.opensource.org/licenses/fair.php looks like the simplest OSI-approved license
10:02:31 <ehird> although "usage" is very vague
10:05:21 <ehird> 14:35:18 <AnMaster> and what was adlib?
10:05:21 <ehird> 14:35:29 <AnMaster> or Roland MT-32? (sounds familiar, unlike adlib)
10:05:34 <ehird> MT-32 only being the best MIDI synthesiser ever made.
10:05:41 <ehird> Adlib only being one of the most popular soundcards of the 90s.
10:06:03 <ehird> You know, clearly you already know these things being so sure that DOS nostalgia is ridiculous. Otherwise you wouldn't be so sure, right?
10:07:58 <ehird> especially the mt-32 was unique due to its total reprogrammability
10:08:25 <ehird> unemulatable too, due to much analogness
10:11:26 <ehird> 15:05:53 <Rugxulo> but you keep saying, "What's the point?" as if it was always so cut and dry
10:11:26 <ehird> the only proper emotional expression is symphonic music composed by dead men!
10:12:12 <fizzie> That's just a matter of signal processing with enough bits. ScummVM has a MT-32 emulator (from the Munt project; it eats a ROM image you have to extract from a real MT-32), though I can't attest at all to how faithful it is.
10:13:17 -!- Pthing has joined.
10:15:05 <fizzie> The predecessor ("MT-32 Emulation Project") has a MP3 sample file from both the real and emulated synthesizers at http://www.artworxinn.com/alex/downloads.htm, but I don't have headphones here right now. On a forum someone says it isn't very good.
10:15:06 <ehird> 15:46:33 <fizzie> AnMaster: http://www.lauppert.ws/screen1/mac/glider.png
10:15:07 <ehird> 15:46:39 <fizzie> The games are nowadays free, it seems.
10:15:12 <ehird> fizzie: the scummvm mt-32 emulator sucks
10:15:19 <ehird> I have a real MT-32, and I pirated the relevant ROM files
10:15:56 <ehird> 15:48:13 <Deewiant> Possibly a ripoff of some kind, since I think it was on a PC. It /was/ a paper aeroplane.
10:15:57 <ehird> there was a pc version iirc
10:16:15 <fizzie> There's a Windows version on the download page, yes.
10:16:21 <fizzie> (Of the older Glider 4.)
10:16:37 <ehird> it runs on os x, the latest one there
10:16:43 <ehird> i think it's just the os 9 one compiled for os x
10:16:47 <fizzie> Yes, but that's too easy!
10:16:47 <ehird> uses old school quickdraw stuff
10:16:51 <ehird> very confusing to use on os x :)
10:17:04 <fizzie> The house editor works only in the OS 9 version, too.
10:17:41 <ehird> Incidentally, MT-32 emulators can never emulate the best thing about it.
10:17:56 <ehird> Seeing the tiny calculator-style LCD display light up with a game-specific message in the intro.
10:18:58 <fizzie> You could try to sell a special USB peripheral that'd have a similar-looking display; only used by a MT-32 emulator program to display that. I'm sure it'd be a hit.
10:21:30 <fizzie> DSP development boards tend to have all kinds of programmable blinkenlights and dip switches, ostensibly for making it easier to debug your code since you can run it real-time and watch the lights -- but I really suspect they've added those just because the plain PCB boards are so utterly boring to look at. Quite a lot of the demo-example-programs of one SDK do a Knight Rider style led-blinkery for no special reason.
10:21:53 <ehird> fizzie: It could even have a little chip that reads in digital data, feeds it through a nop analog circuit, and returns it as digital data.
10:21:59 <ehird> The analog fuzz can be yours again!
10:22:35 <ehird> Oh, modifying the ISC license may be the best idea.
10:22:37 <ehird> "Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies."
10:22:43 <ehird> "Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted."
10:23:04 <ehird> Then use the warranty disclaimer from the Fair License; "DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY."
10:24:59 <fizzie> Your software is FREE as in reFREshmEnts.
10:25:21 <ehird> FREE as in Fuck copyright, Repeal Electrical Engineers! Wait... what?
10:25:45 <ehird> "As stated the law allows abuses of software. Require a clause that no malicious uses may be entered into with said program conditional of any use." —OSI page for the MIT license
10:25:57 <ehird> HELLO DOUGLAS CROCKFORD
10:26:13 <fizzie> According to Wikipedia, TEMPEST comes from "Tremendously Endowed Men Performing Exciting Sexual Techniques". (Okay, so that's just one of the suggested backronym formations.)
10:26:59 <ehird> Tally-ho; erections must penetrate estrogen's stomach tumour.
10:28:33 <ehird> Copyright (c) 2009, Elliott Hird
10:28:36 <ehird> Permission to use, copy, modify, and/or distribute this software
10:28:36 <ehird> for any purpose with or without fee is hereby granted.
10:28:36 <ehird> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
10:28:47 <ehird> Well, I guess I should s/WORKS/SOFTWARE/.
10:28:52 <ehird> And, really, it would be nice if it applied to all works.
10:29:16 <ehird> Well, permission to use is pretty implicit, I'd say... hmm.
10:29:43 <fizzie> You should also s/DISCLAIMER/GENTLEMENT/ -- that would make it sound better.
10:29:52 <fizzie> Discard the spurious T, though.
10:30:09 * ehird tries to do copying→? as in modify→modification, distribute→distribution
10:30:48 <ehird> Substituting copying for ?, methinks this is t he best:
10:30:49 <ehird> Copyright (c) 2009, Elliott Hird
10:30:50 <ehird> Usage, copying, modification and distribution of the works is permitted.
10:30:51 <ehird> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
10:31:21 <ehird> Perhaps "of the works and any derivative works", so you can distribute post-modification (though apparently the OSI lawyers don't think that's necessary, seeing as it's "Usage of the works is permitted provided that this instrument is retained with the works, so that any entity that uses the works is notified of this instrument.")
10:31:30 <ehird> But "usage" is way too vague for me.
10:32:30 <ehird> Copyright (c) 2009, Elliott Hird
10:32:32 <ehird> Usage, copying, modification and distribution of the works and any derivative works is permitted.
10:32:32 <ehird> DISCLAIMER: THE WORKS ARE WITHOUT WARRANTY.
10:32:39 <ehird> "works is permitted" seems awkward, though.
10:32:52 <ehird> I wonder if the singular "work" would suffice.
10:43:21 <ehird> Copyright (c) 2009, Elliott Hird
10:43:22 <ehird> Usage, copying, modification and distribution of this work and any derivative works is hereby permitted.
10:43:22 <ehird> DISCLAIMER: THIS WORK IS PROVIDED WITHOUT WARRANTY.
10:58:46 <Warrigal> For some reason, I thought "GENTLEMENT" was a truncated version of the proper word.
11:03:33 * ehird orders someone to shop the GENTLEMEN picture to say GENTLEMENTATION
11:03:47 <ehird> Well, "GENTLEMENTATION.".
11:05:15 <ehird> Copyright (c) 2009, Elliott Hird
11:05:16 <ehird> Permission to use, copy, modify and distribute this work is hereby granted.
11:05:16 <ehird> DISCLAIMER: THIS WORK IS PROVIDED WITHOUT WARRANTY.
11:05:18 <ehird> Amend, amend, amend.
11:05:34 <ehird> I guess "hereby" is omittable, but it seems to flow better.
11:07:39 <ehird> Hmm, there's always that person mentioning that (c) has no legal effect/
11:07:49 <ehird> Also, I don't think the year really matters.
11:08:00 <ehird> And "Copyright Elliott Hird" is... pretty implicit.
11:08:12 <ehird> Permission to use, copy, modify and distribute this work is granted.
11:08:13 <ehird> THIS WORK IS PROVIDED WITHOUT WARRANTY.
11:08:15 <ehird> Well that's minimalism for you.
11:09:18 <ehird> Permission to use, copy, modify and distribute this work is granted.
11:09:19 <ehird> THERE IS NO WARRANTY.
11:10:14 <ehird> Anyone know if permission to use is implicit in copyright law? Pretty sure it is.
11:12:11 <ehird> The WTFPL is basically "Permission to do anything with this work is granted.", but that doesn't seem very robust.
11:12:21 <ehird> The FSF thinks it's okay, though, so perhaps I could simplify further.
11:12:37 -!- ehird has left (?).
11:12:39 -!- ehird has joined.
11:20:49 <ehird> "Permission is granted to copy, modify and distribute this work."
11:22:23 <Pthing> here is the only licence you need:
11:22:28 <Pthing> "just do what you want"
11:22:38 <ehird> I *did* mention the WTFPL, you know.
11:22:56 <Pthing> no because software licencing is the worst thing
11:23:01 <Pthing> i don't mean the actual idea, it's there
11:23:07 <ehird> And if we could be so cavalier about the law, then the most license we'd need would be the null string.
11:23:18 <ehird> (Actually it'd be nice if copyright was repealed, but it isn't.)
11:23:37 <Pthing> having a million versions of YEAH DO WHAT YOU WANT
11:23:45 <ehird> But personally I don't feel like encouraging another djb situation, when software is inaccessible to most potential users because of licensing issues.
11:23:50 <ehird> Pthing: There really aren't that many.
11:24:01 <ehird> The WTFPL is the only one, really.
11:24:04 <ehird> Maybe a few obscure ones.
11:24:20 <Pthing> 10 IF NUM_GAY_LICENCES > 0 GOTO 20
11:24:21 <ehird> Even the MIT license has restrictions (inclusion of the notice).
11:24:24 <Pthing> 20 PRINT "THIS IS SHIT"
11:24:30 <ehird> License-on-license action? Hot.
11:26:05 <ehird> But seriously, no, there aren't that many licenses with no restrictions; the WTFPL is probably okay to use but it also contains a bunch of boilerplate around the main do-what-the-fuck-you-want-to text and, besides, I'm not sure how it'd stand up in the retarded courts.
11:27:46 <ehird> Also, the WTFPL is intended for software use only.
11:28:17 <ehird> Pthing: is batting backwards and forth between retarded, incoherent and illogical and intelligent, coherent and logical your schtick or something? you do it a lot
11:28:43 <Pthing> if it's something somebody does a lot then i think that's a schtick by definition
11:29:29 <ehird> Do it again, do it again
11:29:52 <Pthing> software licencing gives me tremendous feelings of not feeling anything
11:30:09 <ehird> You'll note I never mentioned software.
11:30:16 <ehird> But yes, it is incredibly boring.
11:30:24 <ehird> It's also necessary due to the idiocy that is copyright.
11:31:33 <ehird> There's no money in a lot of good things.
11:31:41 <ehird> But licensing isn't good.
11:31:49 <ehird> So I'm not sure what my or your points are.
11:32:00 <Pthing> if you're using the licencing to protect your golds then that's okay
11:32:12 <Pthing> that is only business and nobody is expecting business to be free of puffery
11:32:31 <ehird> I'm using licensing to negate the restrictions that copyright law places on my works.
11:32:49 <ehird> Public domain is, unfortunately, legally shaky.
11:33:02 <Pthing> you just *don't prosecute anybody*
11:33:25 <ehird> Yep, Bernstein tried that
11:33:40 <Pthing> explain the case of Bernstein v. Shyster
11:34:00 <ehird> Result: Linux distributions wouldn't touch his software with a ten foot pole, a lot of businesses almost certainly shied away (because, you know, he could prosecute them and win), blah blah blah
11:34:10 <ehird> Besides, what you're proposing, then, isn't public domain.
11:34:18 <ehird> It's "keep the copyright but don't enforce it".
11:34:22 <ehird> The two concepts are distinct.
11:34:36 <ehird> Both are idiotic to try and apply, but the latter is at least well-defined in all legal systems.
11:35:29 <Pthing> why do you care about well-defined in legal systems exactly
11:35:34 <Pthing> explain this bernstein thing better
11:35:56 <ehird> Because everyone else does. Works aren't a bubble, and I publish them so that other people will take them.
11:36:09 <ehird> "this bernstein thing" is ambiguous.
11:36:46 <Pthing> well, [[WP:DISAMBIGUATE]]
11:36:51 <ehird> Right from the very start Debian (and Ubuuntu) and Fedora won't include my software, and I very much doubt any other major Linux distributions would.
11:36:55 <Pthing> or whatever the fuken wikipedia code is
11:36:59 <ehird> The BSDs will probably ignore it too.
11:37:16 <ehird> Every business ever (not that I care much) as well, and probably a handful of users too.
11:37:28 <ehird> Begging the question why I'd even bother publishing software.
11:37:37 <ehird> daniel j bernstein.
11:37:52 <ehird> Author of qmail, djbdns.
11:39:02 <Pthing> this doesn't seem like a licencing issue
11:39:16 <Pthing> this seems like an issue regarding the classification of encryption as munitions
11:40:46 <ehird> hurr people can only have one issue?
11:40:53 <ehird> i never mentioned bernstein v. usa
11:41:47 <ehird> [11:32] ehird: Public domain is, unfortunately, legally shaky.
11:41:48 <ehird> [11:32] Pthing: no it isn't
11:41:48 <ehird> [11:33] Pthing: you just *don't prosecute anybody*
11:41:48 <ehird> [11:33] ehird: Yep, Bernstein tried that
11:43:03 <ehird> Not licensing his software and just not suing anybody.
11:43:53 <ehird> Nobody shipped his software. It had a decent base of users (especially a lot of corporations use qmail), and he's famous, but you had to manually download and compile it yourself.
11:44:11 <ehird> Oh, and even he, who is quite clued up law-wise, says that this means you can't distribute modified versions, just patches.
11:44:23 <ehird> In conclusion, no, "not suing anybody" is not a viable substitute for a license.
11:44:43 <Pthing> i don't see why that necessarily follows
11:45:11 <Pthing> he may just be terrible at convincing people to use his software, and he's using this licence thing as an excuse
11:45:47 <ehird> you clearly have no idea who djb is
11:45:55 <ehird> and you've admitted this yourself
11:46:07 <ehird> so please, don't make embarrassing grasps at straws
11:46:46 <ehird> — his software is widely considered high-quality, he has a large money grant for anyone to find a bug, and there's only been something like four ever published (this is for qmail and djbdns, iirc)
11:46:49 <Pthing> it's no big feat to be like "hey, you don't know anything" to somebody who has been asking you for details and to explain yourself because he doesn't understand
11:47:15 <ehird> it helps to make a reasonable assumption that I'm not using bernstein as an example because he's an idiot who can't write good software
11:47:23 <ehird> that would be pretty stupid, after all.
11:47:25 <Pthing> i never wished to suggest that
11:47:39 <ehird> how is it suggesting, you said it outright
11:47:44 <ehird> [11:45] Pthing: he may just be terrible at convincing people to use his software, and he's using this licence thing as an excuse
11:47:59 <Pthing> <ehird> it helps to make a reasonable assumption that I'm not using bernstein as an example because he's an idiot who can't write good software
11:48:15 <Pthing> " he's an idiot who can't write good software" == " he may just be terrible at convincing people to use his software"?
11:48:40 <ehird> well, i'm kinda tired and didn't remember the exact line
11:48:49 <ehird> but whatever, obviously the implication was that my example was not about the licensing
11:48:55 <Pthing> motherfucker, is your buffer two lines high
11:49:03 <ehird> no that's anmaster.
11:49:14 <ehird> being terrible at convincing people to use your software would generally lead to someone being not well known at all
11:49:21 <ehird> and using such a nobody as an example would be very odd indeed methinks.
11:49:29 <Pthing> depends who he'strying to convince!
11:50:04 <Pthing> It is a fatal miscarriage, so ill to order affairs, as to pass for a fool in one company, when in another you might be treated as a philosopher.
11:50:28 <ehird> ah yes, a quote from poem of the pthing :-P
11:50:42 <ehird> did i say otherwise!
11:50:53 <Pthing> i don't know, i think it's scrolled off the top
11:51:06 <ehird> wait, what did you say last
11:51:11 <ehird> i can make funnies me.
11:51:18 <Pthing> i don't know, my screen is just full of your lines
11:53:50 <ehird> Permission is granted to copy, modify and distribute this work.
11:53:50 <ehird> THERE IS NO WARRANTY.
11:53:51 * ehird watches Pthing squirm with detached interest
11:54:20 <Pthing> "do what you want" has four words
11:54:51 <ehird> "fart butterfly cake" has one less
11:55:04 <ehird> heck, even the WTFPL needs an additional warranty disclaimer
11:55:29 <ehird> "do what you want. there is no warranty" would probably stand up, but it's still shaky.
12:08:44 -!- ehird has quit.
12:20:18 <fizzie> Misread "my screen is just full of your lies"; but maybe that is also applicable! (I haven't read the screen.)
12:21:57 <oklopol> oerjan: the coding theory thing had an "error", or well, it was made simpler by adding "there are no codewords of weight 2"; we'll probably prove the other cases in the next two homework sets
12:22:12 <oklopol> it's utterly trivial with that addition
12:23:01 <oklopol> and the other cases are simple, but the lecturer at least doesn't know a simple solution, you have to check a few cases
12:23:45 <oklopol> assuming you still remember the original question
12:24:05 <oklopol> then again who could forget a mathematical question
13:09:20 <fizzie> Massachusetts General Law, Chapter 266: Section 102A1/2. Possession, transportation, use or placement of hoax devices:
13:09:20 <fizzie> "(b) For the purposes of this section, the term "hoax device" shall mean any device that would cause a person reasonably to believe that such device is an infernal machine. For the purposes of this section, the term "infernal machine" shall mean any device for endangering life or doing unusual damage to property, or both, by fire or explosion, whether or not contrived to ignite or explode automatically."
13:09:45 <fizzie> Beware, the infernal machine!
13:33:10 -!- jix has joined.
13:52:00 -!- MigoMipo has joined.
14:05:21 <Gregor> "First give it intelligence, then give it a gun."
14:07:49 <Gregor> Let's see my spam:ham ratio.
14:09:05 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
14:11:20 -!- MigoMipo has quit ("co'o rodo").
14:12:31 -!- puzzlet has joined.
14:14:12 -!- Slereah has joined.
14:14:47 -!- MigoMipo has joined.
14:14:58 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
14:25:05 <AnMaster> <ehird> yes, myself <-- do it!
14:38:30 -!- oerjan has joined.
14:42:26 <AnMaster> oerjan, and a question about it. Wondering if you can figure out why
14:42:36 <AnMaster> (why jamie said that in the last panel I mean)
14:42:37 -!- FireFly has joined.
14:46:56 <AnMaster> oerjan, eh? why it was inevitable
14:47:55 <oerjan> that _is_ the kind of universe that is. i am sure ehird can come up with some way of deriding you for not having noticed.
14:48:32 <AnMaster> oerjan, right, but isn't that something the characters are supposed to be unaware of?
14:49:06 <oerjan> well, actually that's the kind of _multiverse_ that is. i think it applies to all of them...
14:51:12 <oerjan> no, this is not the kind of universe where you can expect characters to be unaware of things. unless they are named steve or serron.
14:51:36 -!- |MigoMipo| has joined.
14:52:29 <AnMaster> argh I found out that sheepshaver fails at emulation for some games I wanted to play. They all display black game screen (controls and such around still)
14:52:57 -!- BeholdMyGlory has joined.
14:52:58 <oerjan> oh or nigerian finance minister :)
14:53:16 -!- MigoMipo has quit (Nick collision from services.).
14:53:20 <oerjan> ok, there are a lot of characters you can expect to be unaware of things. but not all ;)
14:53:22 <AnMaster> oerjan, or probably a few more
14:53:29 -!- |MigoMipo| has changed nick to MigoMipo.
14:54:18 <oerjan> kyros, but not in the same way - he just doesn't _care_ if things go wrong from others' perspective
14:56:17 <oerjan> oh william shakespeare, probably
14:59:15 <oerjan> ok most major themes have at least one clueless character
15:11:41 -!- |MigoMipo| has joined.
15:12:06 -!- MigoMipo has quit (Nick collision from services.).
15:16:29 -!- GregorR-L has joined.
15:19:57 -!- oerjan has quit ("Lost terminal").
15:25:28 -!- |MigoMipo| has changed nick to MigoMipo.
15:34:53 -!- coppro has joined.
15:42:41 -!- oerjan has joined.
15:44:17 -!- coppro has quit ("I am leaving. You are about to explode.").
15:54:14 -!- GregorR-L has quit ("Leaving").
16:08:25 -!- ineiros has quit (sendak.freenode.net irc.freenode.net).
16:08:35 -!- ineiros has joined.
16:08:49 -!- pikhq has quit (sendak.freenode.net irc.freenode.net).
16:09:09 -!- Ilari has quit (sendak.freenode.net irc.freenode.net).
16:09:21 -!- Ilari has joined.
16:09:52 -!- pikhq has joined.
16:20:52 -!- Gracenotes has quit (Remote closed the connection).
17:01:16 -!- FireFly has quit ("Later").
17:04:55 -!- fax has joined.
17:05:09 -!- fax has quit (Remote closed the connection).
17:05:30 -!- fax has joined.
17:13:08 -!- augur_ has joined.
17:13:09 -!- augur has quit (Read error: 104 (Connection reset by peer)).
17:22:58 -!- ais523 has joined.
17:25:55 -!- sebbu has joined.
17:26:34 -!- MigoMipo has quit ("co'o rodo").
17:30:34 -!- augur_ has quit (Read error: 113 (No route to host)).
17:42:07 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
18:29:33 -!- madbrain has joined.
18:40:52 -!- sebbu2 has joined.
18:45:45 -!- sebbu3 has joined.
18:48:59 -!- sebbu has quit (Read error: 110 (Connection timed out)).
19:01:45 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
19:02:16 -!- MigoMipo has joined.
19:05:14 -!- sebbu has joined.
19:18:09 -!- Gracenotes has joined.
19:21:30 -!- sebbu3 has quit (Read error: 110 (Connection timed out)).
19:35:58 -!- MigoMipo has quit ("co'o rodo").
19:43:31 <Gregor> I'm strongly considering moving some stuff over to Hackiki :P
20:17:39 -!- Leonidas1 has changed nick to Leonidas.
20:41:21 -!- FireFly has joined.
21:46:14 -!- zzo38 has joined.
21:46:27 <zzo38> I wrote a background story text of my D&D character: http://zzo38computer.cjb.net/dnd/raw_transcripts/Vyb_back_story.txt
21:46:38 <zzo38> Now I should tell my brother to do so, also.
21:46:47 <zzo38> Did I miss anything important?
21:47:56 -!- augur has joined.
21:51:04 -!- oerjan has quit ("Good night").
21:52:28 -!- augur_ has joined.
21:52:57 -!- augur has quit (Read error: 54 (Connection reset by peer)).
21:54:52 -!- fax has quit (Remote closed the connection).
21:55:06 -!- fax has joined.
22:03:53 -!- zzo38 has quit (Remote closed the connection).
22:05:29 -!- olsner has joined.
22:14:54 -!- immibis has joined.
22:38:55 -!- augur_ has quit (Read error: 110 (Connection timed out)).
22:57:14 -!- coppro has joined.
23:19:43 -!- FireFly has quit ("Later").
23:33:17 -!- jix has quit ("Lost terminal").
23:42:03 -!- dbc has quit (Read error: 60 (Operation timed out)).
00:08:24 -!- cal153 has quit (Read error: 104 (Connection reset by peer)).
00:14:18 -!- cal153 has joined.
01:01:43 -!- augur has joined.
01:08:39 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
01:11:42 -!- augur_ has joined.
01:13:00 -!- augur has quit (Read error: 54 (Connection reset by peer)).
01:21:47 -!- BeholdMyGlory has quit (Remote closed the connection).
01:38:30 -!- augur has joined.
01:42:50 -!- augur has quit (Read error: 54 (Connection reset by peer)).
01:43:06 -!- augur has joined.
01:44:30 -!- augur_ has quit (Read error: 60 (Operation timed out)).
01:46:22 -!- augur_ has joined.
01:51:54 -!- Pthing has quit (Remote closed the connection).
01:54:08 -!- augur has quit (Connection reset by peer).
02:21:55 -!- iamcal has joined.
02:43:30 -!- cal153 has quit (Read error: 113 (No route to host)).
02:46:02 -!- augur has joined.
02:46:48 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
03:13:03 -!- augur has quit (Read error: 104 (Connection reset by peer)).
03:20:27 -!- dbc has joined.
03:25:14 -!- Gracenotes has quit ("Leaving").
03:29:20 -!- augur___ has joined.
03:51:45 -!- augur___ has quit (Read error: 110 (Connection timed out)).
04:15:13 -!- augur has joined.
04:38:46 -!- augur has quit (Read error: 60 (Operation timed out)).
04:44:16 -!- oklopol has quit (Read error: 104 (Connection reset by peer)).
04:44:32 -!- oklopol has joined.
04:57:22 -!- Gracenotes has joined.
05:29:24 -!- zzo38 has joined.
05:31:59 -!- zzo38 has quit (Remote closed the connection).
05:46:42 -!- zzo38 has joined.
05:46:44 <zzo38> Is it good? Did I forget anything? http://zzo38computer.cjb.net/dnd/raw_transcripts/Vyb_back_story.txt
05:48:06 <zzo38> O, in 8 hours there has been still only join and quit
05:49:47 -!- augur has joined.
05:50:21 -!- bsmntbombdood has quit ("Leaving").
05:56:12 -!- zzo38 has quit (Remote closed the connection).
05:59:10 -!- bsmntbombdood has joined.
06:24:06 -!- oerjan has joined.
06:37:31 -!- madbrain has quit ("Radiateur").
07:16:52 -!- oerjan has quit ("leaving").
07:41:54 -!- fax has quit ("Leaving").
07:55:31 -!- pikhq_ has joined.
07:57:57 -!- pikhq has quit (Read error: 145 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:11:24 -!- pikhq_ has changed nick to pikhq.
08:47:17 * coppro is experimenting with a new alarm... this better not mess up
09:04:32 -!- kar8nga has joined.
10:09:52 -!- ais523 has quit (Remote closed the connection).
10:39:10 -!- Asztal has joined.
11:08:28 -!- Asztal has quit (Connection timed out).
11:09:45 -!- Asztal has joined.
11:28:04 -!- kar8nga has quit (Remote closed the connection).
11:40:02 -!- rodgort has quit (Client Quit).
11:40:12 -!- rodgort has joined.
11:48:26 -!- Pthing has joined.
12:15:13 -!- Slereah_ has joined.
12:32:29 -!- Slereah has quit (Read error: 110 (Connection timed out)).
12:42:22 -!- Slereah_ has quit.
12:50:04 -!- Slereah has joined.
13:06:40 -!- jix has joined.
13:27:36 -!- jix has quit ("leaving").
13:28:00 -!- jix has joined.
13:28:40 -!- BeholdMyGlory has joined.
13:45:27 -!- Slereah has quit.
13:46:10 -!- ehird has joined.
13:47:35 -!- oerjan has joined.
13:50:12 -!- kar8nga has joined.
14:03:43 -!- oerjan has quit ("leaving").
14:18:46 -!- Slereah has joined.
14:23:40 -!- Slereah has quit (sendak.freenode.net irc.freenode.net).
14:30:55 -!- Slereah has joined.
14:36:34 -!- Slereah has quit (sendak.freenode.net irc.freenode.net).
14:37:31 <ehird> 06:25:05 <AnMaster> <ehird> yes, myself <-- do it!
14:37:31 <ehird> by myself i evidently meant you.
14:42:29 <ehird> 06:42:26 <AnMaster> oerjan, and a question about it. Wondering if you can figure out why
14:42:30 <ehird> 06:42:36 <AnMaster> (why jamie said that in the last panel I mean)
14:42:30 <ehird> 06:46:39 <oerjan> experience?
14:42:31 <ehird> 06:46:56 <AnMaster> oerjan, eh? why it was inevitable
14:42:31 <ehird> 06:47:18 <AnMaster> oerjan, what do you mean?
14:42:31 <ehird> 06:47:55 <oerjan> that _is_ the kind of universe that is. i am sure ehird can come up with some way of deriding you for not having noticed.
14:42:33 <ehird> Au contraire; AnMaster is an expert in unintentionally deriding himself. I could not possibly top him.
14:43:08 -!- Slereah has joined.
14:44:04 <ehird> 02:25:38 <AnMaster> coppro, alarm for?
14:44:05 <ehird> 02:25:43 <AnMaster> as in alarm() ?
14:44:05 <ehird> also an expert in intentionally misunderstanding
14:44:09 <ehird> (cue "it was a joke")
14:45:38 <AnMaster> ehird, I did find alarm() unlikely. But what sort of alarm it was was rather unclear. Perhaps alarm for overheating? Or an alarm clock to wake up in the morning?
14:45:51 <AnMaster> but surely you can tell me which one he meant
14:45:51 <ehird> It was pretty obviously for waking up.
14:56:43 <coppro> AnMaster: as in waking up
14:57:12 <ehird> Because it's obvious.
14:58:09 <ehird> With such stunning spelling of "circular argument", it's clear that you are a higher authority than I on what is obvious in English text.
14:58:40 <AnMaster> ah yes as I expected... you are back on OS X
14:58:43 <AnMaster> -ehird- VERSION Colloquy 2.3 (4617) - Mac OS X 10.5.8 (Intel) - http://colloquy.info
14:58:50 <ehird> I've been on OS X for weeks.
14:59:07 <AnMaster> ehird, okay, maybe you just had a bad day?
14:59:10 <ehird> I'm pretty sure a circular argument (even if it was one) beats a completely unsubstantiated ad hominem, though.
14:59:26 <ehird> Especially one without any backing logic or reason, just a splatter of data points selectively sampled.
14:59:50 <ehird> It sure would be nice if AnMaster would /ignore me for more than 5 minutes.
15:01:29 <ehird> I wonder what mood AnMaster will divinate^Wscientifically assign to my Linux; perhaps "slightly mellow with a hint of cynicism".
15:28:10 -!- KingOfKarlsruhe has joined.
15:35:18 -!- oerjan has joined.
15:36:35 -!- FireFly has joined.
15:37:09 -!- fax has joined.
15:37:16 * oerjan tries to swat FireFly, misses and swats ehird instead -----###
15:37:32 <ehird> couldn't you have hit fax instead? he's closer
15:39:04 <oerjan> i'm sure there was probably karma involved
15:40:03 <oerjan> also, i'm sure "i'm sure there was probably" is probably not an ideal way of expression
15:41:32 <oerjan> <ehird> I'm pretty sure a circular argument (even if it was one) beats a completely unsubstantiated ad hominem, though.
15:41:42 <oerjan> you just say that because you're an idiot
15:41:51 <ehird> Ranking invalid arguments is so reasonable, I tell you.
15:42:02 <ehird> I'm no idiot! I am, however, stupid.
15:42:25 <oerjan> yes you are an idiot. as that quote proves.
15:43:49 <ehird> Your, uh, pa is an idiot.
15:45:37 <oerjan> that's almost more offensive than joking about my dead mother. mostly because i sometimes think so myself.
15:47:40 <oerjan> also, i am insulted that you have still not recognized my use of a circular ad hominem
15:58:50 <ehird> oerjan: your non-existent long-lost sister is an idiot, then
15:59:17 <oerjan> i can agree with that.
16:00:00 <ehird> you sound so angry when you're not joking :D
16:00:33 <oerjan> well i'm grumpy today.
16:01:06 <ehird> Yeah, well, your non-existent long-lost sister's... face?
16:22:57 <ehird> Drawing a serifed m in 7x10 pixels is the hardest thing I've done all day.
16:34:53 -!- FireFly has quit ("Later").
16:41:48 <ehird> The reason login(1) delays on an incorrect password is to prevent brute-forcing, right?
16:42:14 <oerjan> botch a batch of butch bitches
16:56:18 <ehird> Pretty stupid, since you can just spawn a bunch of login(1)s.
16:56:43 <ehird> Or even detect the delay and go onto the next one (keeping the old process open in case it's just slow).
16:57:04 <SimonRC> but a machine only has so many login processes around usually
16:57:51 <SimonRC> one for each virtual terminal I think, but not for xterms or anything
16:58:25 <SimonRC> and if they keep getting killed to fast, init will stop producing them (in case they have neterd a loop of some kind)
16:58:33 <Gregor> That property is to prevent brute-forcing to people who have NO account, not to people who have an account and want root.
16:58:54 <ehird> Gregor: How can you run a brute-forcing program from the login(1) prompt?
16:58:54 <SimonRC> but ordinary users can't spawn a login
16:59:19 <ehird> Gregor: You can detect the delay over telnet, too!
16:59:30 <ehird> And make a bunch of telnet connections.
16:59:47 <Gregor> The latter is easily prevented, the former is unhelpful.
17:00:12 <ehird> It seems kinda pointless nowadays to me.
17:00:17 <Gregor> Nowadays it certainly is.
17:00:17 <ehird> Especially when we have SSH keys...
17:00:27 <Gregor> But it's a product of past.
17:00:29 <ehird> Guess that's why you said telnet.
17:00:35 <ehird> Gregor: I can probably remove it. >:)
17:00:45 <ehird> — I'm even trying to avoid PAM, not sure how that'll go
17:00:46 <Gregor> sshd doesn't even spawn login anyway
17:01:17 <ehird> It still delays on connect, though.
17:01:27 <ehird> Or, that might just be because ssh is slow;
17:03:31 <ehird> http://sta.li/faq ;; What's this? Sanity? Astonishing.
17:04:02 <ehird> (http://github.com/dryfish/openbsd-pdksh sweeeeeet)
17:04:38 <ehird> Although did they have to make it use autoconf?
17:06:28 <ehird> And I hope automake defaulting it to GPLv3 is just a mistake...
17:13:33 <SimonRC> it portably allows arbitrary code execution.
17:15:00 -!- mad has joined.
17:15:05 -!- mad has changed nick to madbrain.
17:15:56 <ehird> and it's totally unintuitive, yet it's not a bug(!)
17:16:04 <ehird> well, it's not a bug any more than static linking itself is a bug...
17:21:23 * ehird fiddles with ksh prompt
17:22:26 <SimonRC> if it is a bug then it is a design-time bug
17:28:18 <ehird> PS1="\e[47;4;30m\$(pwd | sed 's@^$HOME@~@')$\e[m " seems to produce quite a pleasing prompt; makes underscores ugly, thouggh
17:28:40 <ehird> (underlined, light-grey backgrounded "~/foo$", then a space)
17:31:10 <ehird> PS1='\e[47m<literal tab>\e[m ' is nice too (light-grey tab-sized space, then a space)
17:31:34 <ehird> means you have to look at the title bar to see where you are, though (assuming you've set that up)
17:41:19 <SimonRC> I have looked at my ldd, and I find that it has a list of known loaders and calls them with --verify and the executable name before invoking the executable itself. I guess that checks that the executable's loader is a known-safe one first
17:41:58 <SimonRC> ehird: does that propmt change when you change directories?
17:42:09 <ehird> yes, note the \ before $(
17:42:19 <ehird> ksh expands the PS1 'fore printing.
17:42:46 <ehird> technically I should have the horrible hack ksh uses to denote non-printing characters in there, but I'm lazy and it doesn't change much
17:42:54 <ehird> (the prompt just disappears when the line scrolls to the right earlier)
17:43:06 <ehird> and in fact my `man ksh` doesn't mention it so maybe the openbsd version doesn't have it
17:43:18 <SimonRC> huh? ksh does some kind of scrolling prompt?
17:43:34 <SimonRC> bash uses \[ and \] to denote zero-width parts of the prompt
17:43:46 <ehird> $ aaaaaaaaaaaaaaaaaaaaaaaaaaaaaa[…], press a
17:43:58 <ehird> aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa <
17:44:11 <ehird> < meaning "yo, there's stuff to the left"
17:44:36 <ehird> you can caret (v. to manipulate a caret) to the left to see the earlier stuff
17:44:37 <SimonRC> bahs just uses multiple lines
17:44:38 <ehird> (no marker if you do that)
17:44:46 <ehird> yeah, multiple lines is maybe a better solution
17:44:56 <ehird> especially for pipelines
17:45:04 <ehird> but eh, it's easy to hit enter after |
17:45:39 <ehird> or, preferably, notice you're writing an involved shell command and spawn an rc :-P
17:46:54 * ehird does `sudo chsh` by mistake so often
17:46:59 <ehird> it feels like it should require root!
17:47:09 <ehird> and it prompts for a password, which makes my sudo-sense tingle
17:48:03 <ehird> *though (not thouggh; ha, good luck finding the line I typoed this in)
17:50:03 * SimonRC is irritated that when invoking root-requiring things from the GUI, he is prompted for the root password
17:50:34 <SimonRC> I have no root password; it should spot that and try a GUI sudo instead!
17:52:14 <ehird> SimonRC: symlink su to a shell script calling sudo ;-)
17:52:18 -!- sharada has joined.
17:52:23 <SimonRC> I wonder why that hasn't got upstream
17:53:07 <ehird> That is, make it `sudo realsu $*`
17:53:25 <ehird> root doesn't need to give passwords to su, so... voila!
17:53:42 <ehird> That doesn't fix GUI sus, but you could just do something similar there.
17:53:56 <ehird> Make gksu do gksudo realsu $*, etc.
17:54:11 <ehird> See, I'm helpful, me.
17:54:50 <ehird> You should do it and test it so I can go yay, I'm clever.
17:56:59 <ehird> Clearly the only rational course of action is to kill myself.
17:59:29 -!- fax has quit (Read error: 110 (Connection timed out)).
18:00:08 -!- sharada has changed nick to fax.
18:01:39 * SimonRC listens to the excellent Undone, on the radio.
18:05:55 <ehird> "Why do you say that he is a fundamentalist ? Do you mean that he is right ?"
18:13:45 -!- KingOfKarlsruhe has quit (Remote closed the connection).
18:16:14 <ehird> Mailing list thread. Clearly the speaker is non-native (if the email header name "QUINTIN Guillaume" wasn't enough of a giveaway).
18:16:21 <ehird> And the spaces before question marks.
18:16:23 <ehird> Still, it's amusing.
18:16:49 <ehird> It seems an easy mistake to make: "fundamentalist" → "of the fundamentals".
18:17:15 <oerjan> erm, it could also be that right ~ right-wing?
18:17:58 <ehird> In context, both previous and following, that seems unlikely.
18:18:14 <ehird> Besides, I think any non-native speaker, at least, would think right far more important a word than to abbreviate right-wing to it.
18:18:46 <ehird> (Which means that the native speakers that abbreviate it put political alignment above facts! Or something.)
18:18:51 <oerjan> no i mean, they could be the same word in his native language, or he doesn't know that "wing" applies
18:19:49 <oerjan> the names of the two oldest political parties in norway translate as simply "left" and "right"...
18:20:22 <ehird> Well that is true.
18:20:34 <ehird> But still, context seems to paint that as unlikely. You might be right though.
18:20:59 <madbrain> french uses "de gauche" and "de droite"... could happen
18:21:03 <ehird> oerjan: but would anyone making such a question really confuse fundamentalism and right-wing?
18:21:11 <oerjan> well it was just a theory (like evolution *ducks*)
18:21:16 <ehird> to make a connection of that type, I'd have to translate fundamentalist back to English as a non-native speaker
18:21:25 <ehird> which would almost certainly reveal the true meaning to me, thus negating the question
18:21:52 <ehird> it seems like it's a connection you could only make if you knew what fundamentalist means already
18:21:54 <madbrain> ehird: well, fundamentalism/evangelicals aren't common asides from in USA, so it's definitely possible that he'd confuse them
18:22:11 <ehird> Fundamentalism is everywhere. Do you really think it only applies to religion?
18:22:22 <oerjan> for example norwegians (i.e. me) have a hard time remembering to use left-hand or right-hand in english, since that is a case where we just use the bare words
18:22:39 <oerjan> ok maybe not me nowadays, but once upon a time
18:22:44 <ehird> oerjan: My right is right, but my left is left.
18:22:54 <ehird> THE POLITICAL AFFILIATION OF MY NORWEIGAN HANDS
18:23:15 <ehird> My left is right, but my right is left.
18:24:46 <ehird> oklopol: totally total
18:24:51 <ehird> i should have just said
18:25:04 <oerjan> ehird: while we do use the word "fundamentalisme" in norwegian, i assume this is mainly caused by recent US influence
18:25:22 <ehird> Fundamentalism doesn't just apply to religion dammit
18:25:27 <oerjan> at least in its current use
18:25:57 <oerjan> ehird: what i mean is we may not have used that word much before the USA recently started blasting it out everywhere
18:30:09 <ehird> with nntp you can access messages sent before you "subscribe" can't you?
18:30:12 <ehird> assuming the server keeps the
18:31:37 <oerjan> dammit the last update of avg claimed to do some kind caching to avoid scanning every file every time, but it _still_ goes into the damn java runtime jars... which i recall from before is what takes about half the scanning time
18:32:02 <oklopol> i don't protect viruses, because they don't protect me.
18:32:41 <oerjan> i had hoped for some major speedup :(
18:34:18 <ehird> oerjan: pirate nod32
18:34:22 <ehird> fast as a speeding virus scanner
18:35:10 <SimonRC> ehird: yeah, messages should be accessible
18:35:27 <SimonRC> what is the nntp request for subscribing anyway?
18:35:28 <madbrain> ""Fundamentalism is everywhere. Do you really think it only applies to religion?"" ah, ok, then we're talking about 2 different things: "fundamentalists" as general people that take temselves way too seriously (incl. communists,etc..) and the specific "born-again" protestant movement
18:35:42 <ehird> SimonRC: dunno if it even has one
18:35:58 <ehird> madbrain: yeah; the second is the formal definition but it's fine, imo, to use it for the former
18:36:01 <SimonRC> well if it didn't have one, how would your question make sense?
18:36:16 <oerjan> madbrain: when used in norway i would say > 50% of the time it refers to islamists
18:36:17 <ehird> SimonRC: well, exactly
18:36:21 <SimonRC> I use Giganews and it has plenty of coverage back to the early 90s at least
18:36:26 <ehird> oerjan: islamists? you mean muslims.
18:36:57 <ehird> actually, you mean fundamentalist muslims...
18:36:57 <oerjan> ehird: islamist ~~ rabid fundamentalist muslim
18:36:58 <ehird> oerjan: that word isn't actually, you know, real
18:37:00 <madbrain> ehird: he's referring to fundamentalist islamists
18:37:15 <ehird> wtf who created this word and didn't tell me about it
18:37:21 <oerjan> ehird: it's how the word islamist is used in norwegian afaik
18:37:29 <ehird> it seems to exist.
18:37:34 <madbrain> and islamism as a word is afaik real at least in french and also used all the time
18:38:04 <madbrain> muslim = religion; islamism = political movement
18:38:05 <oerjan> ehird: it's what people use when they are pretending not to be against islam itself ;)
18:38:39 <ehird> madbrain: the religion is definitely not called muslim, it's called islam
18:38:43 <ehird> and its adherents are muslims
18:39:46 <oerjan> pesky arab grammar, those are the same root...
18:40:12 <ehird> how deep! indeed insanity does have the same root as religion
18:40:23 <ehird> </creative mis^Winterpretation>
18:40:25 <oerjan> madbrain: i was refering to muslim as well there
18:40:25 <SimonRC> ditto shit and science, IIRC
18:40:42 <ehird> SimonRC: what, like, really? the words?
18:40:58 <madbrain> oearjan: true, islam and muslim are both "SLM"
18:41:16 <ehird> Shitty Lactating M— no, this acronym isn't working.
18:41:49 <oklopol> madbrain: why isn't muslim mslm?
18:41:55 <madbrain> which in those languages mean they're the same root... of course, that gets lost in loaning and they become two different morphemes
18:42:24 <oklopol> oh you actually know something, i thought you just meant they have those consonants
18:42:36 <ehird> Sadism, Loving, Masochism
18:42:45 <oklopol> (was just making sure i didn't imagine the m, basically)
18:43:07 <madbrain> oklopol: arab languages use sets of 3 consonants as roots, and derive them by adding different patterns of vowels and extra consonants
18:44:24 <ehird> so there's only 17,576 valid roots in arabic
18:44:30 <madbrain> obviously english is mostly concatenative+various irregularities all over the place so that mechanism is lost in loans
18:44:44 <ehird> WATCH OUT INDIANS! YER DERN ANTI-MERICAN LANGUAGE GONA COME TO AN END WHEN WE INVENT US SOME MORE WORDS!
18:45:19 <madbrain> ehird: that's kinda like in chinese: chinese has only about 5000 morphemes
18:45:20 <oklopol> ehird: they have 26 consonants?
18:45:22 <SimonRC> ooh, that's another one to my list of crimes: speaking English natively
18:45:38 <madbrain> which are combined into thousands of compound words
18:45:44 <ehird> oklopol: also i hate you
18:45:50 -!- Sgeo has joined.
18:46:17 <ehird> one two three four five six seven eight nine ten eleven twelve thirteen fourteen
18:46:21 <ehird> fifteen sixteen seventeen
18:46:28 <ehird> eighteen nineteen twenty twenty one twenty two twenty three
18:46:36 <ehird> twenty four twenty five twenty six twenty seven
18:46:54 <ehird> OKAY 7.62559758 * 10^12 ROOTS THEN
18:47:07 <oklopol> are those all english numbers?
18:47:08 <ehird> SO WE HAVE TO MAKE UP A FEW MORE WORDS
18:47:20 <ehird> http://en.wikipedia.org/wiki/Arabic_language#Consonants
18:47:24 <ehird> hell of a lot of consonants
18:47:43 <ehird> only two vowels too?
18:47:51 <ehird> "The Arabic alphabet has 29 basic letters."
18:47:58 <oklopol> oh, must've misunderstood the table
18:48:06 <oerjan> two? i thought it had 3 which could be long or short...
18:48:18 <ehird> oerjan: argh i am so confused
18:48:23 <ehird> HOW MANY CONSONANTS DOES ARABIC HAVE
18:48:30 <oklopol> madbrain, ehird: i got 28 by a quick look, may be wrong.
18:48:42 <oklopol> i'm not sure what it means that there are two characters in each box
18:48:55 <ehird> oops, I swapped my ^ arguments kekekekekeke
18:49:00 <ehird> oklopol: one is ipa or english or w/e
18:49:05 <oerjan> ehird: the arabic alphabet is basically consonantal and vowels are an afterthought iiuc
18:49:07 <ehird> anyway 21,952 then
18:49:28 <oklopol> oerjan: langton's ant touches an infinite number of squares with any possible initial configuration, has this already been ruined for you?
18:50:09 <oklopol> i'm sure you love trying to solve my homework (this one i've solved)
18:50:39 <madbrain> english has, uhm, 24 consonants by comparison, not many less
18:50:47 <oerjan> oklopol: i'm not sure i may have seen it mentioned
18:50:49 <oklopol> ehird: it's a problem, you have to prove that
18:50:54 <fax> homework??? where??
18:51:12 <madbrain> english has many more vowels though :D
18:51:14 <oklopol> if you know the solution, there's nothing to solve
18:51:17 * Sgeo convinced his dad that an Active Worlds subscription will help him with classes
18:51:54 <Sgeo> Well, bots for AW can be written in C or C++, and I'm taking a C++ class, so..
18:52:20 <ehird> Congratulations! You are either the best convincer ever or your dad is the most convincable ever.
18:52:39 <Sgeo> oklopol, planning to
18:52:42 <ehird> (BETTER THAN CONGRATULATIONS: Spatulations)
18:52:59 <Sgeo> ehird, probably the latter
18:53:25 <Sgeo> He didn't really ask questions >.>
18:53:42 <ehird> Orrrrrrrrrrrrrrrrrrrr he just doesn't really care all that much
18:53:52 <oerjan> ehird: btw all those letters in the [[WP:Arabic alphabet]] table are consonants, it's just some double occasionally as vowels
18:54:54 <madbrain> yeah, arabic doesn't put much emphasis on vowels
18:55:40 <madbrain> the number of possible vowel patterns is limited, so if you add enough extra information in the writing, they become unambiguous
18:56:31 <Sgeo> Dear Firefox: Please stop randomly freezing on me. Love, Sgeo
18:56:39 <ehird> a language that's all vowels would be fun
18:56:46 <Sgeo> (Yes, I know that technically nothing (or at least, very little) a computer does is random)
18:56:47 <ehird> Sgeo: Stop using Firefox. —ehird
18:57:26 <madbrain> ehird: dunno if that's plausible, although you can definitely have a language with lots of vowels and not so many consonants for instance
18:57:44 <ehird> the whole fun is that it's all vowels
18:57:50 <ehird> so it sounds like you're just doing baby-style vocalisations!
18:58:55 <madbrain> ehird: ah, but then /i,u/ would turn into /j,w/, then probably /J\,b/ and eventually /t~k p/
18:59:12 <madbrain> due to the speed at which you'd have to talk
18:59:14 <ehird> Well, forbid any such pesky combinations then.
18:59:51 <madbrain> that's pretty much impossible, the vowel inventory would expand until one vowel changes into /i/ and one into /u/
19:01:12 <madbrain> In fact, once /i,u/ turned into consonants, then /e,o/ would raise to /i,u/ and then in turn become consonants too
19:01:14 <ehird> Well, why would you have to talk quickly?
19:01:25 <ehird> Just take it sloooooooowly. ooooooooooooooooooooooy.
19:01:29 -!- boily has joined.
19:01:37 <ehird> Now you're boilier.
19:01:37 <madbrain> well, the less possible different syllables you have, the faster you have to speak
19:01:54 <ehird> madbrain: UNLESS YOU'RE RETARDED.
19:02:16 <boily> ehird: I wonder what is my boiling point?
19:02:16 <madbrain> kinda like spanish, the have less possible vowels etc... so they speak twice as fast to compensate :D
19:02:20 <ehird> Yep, that killed the conversation
19:02:27 <madbrain> but it works because they have less slow sounds
19:02:33 <ehird> Bad timing for me to say that huh
19:02:43 <madbrain> and they have less slow sounds bevause they have less possible vowels etc.. :D
19:02:51 <ehird> boily: Evidently <= room temperature, if you're boily now.
19:03:05 <ehird> You could be in some sort of heating contraption though, technically.
19:03:14 <madbrain> My calculation is that you have to have about 50bits per second
19:03:19 <ehird> Where do you get your durable keyboards and mice?!
19:03:40 <ehird> madbrain: you're slowist.
19:03:52 <madbrain> so you have some languages with huge syllables full of information (say, 10 bits) that go slower (like 5 syllables/s)
19:03:55 <oerjan> apparently swedes talk much slower than danes, i seem to recall reading recently. i don't think the phoneme set sizes are that different...
19:04:10 <oerjan> although pronunciation certainly is
19:04:40 <madbrain> inversely you have languages with small syllables (like ~6bit in japanese) but they can go faster since all the syllables are simple (say, 8 syllables/s)
19:05:34 <ehird> madbrain: optimising a language for efficient bit transfer would be fun
19:05:41 <madbrain> So it would be hard to have a vowel set that is large enough while also being fast, since the faster the vowel, the less time you have to glide to the next one so the more approximative they become
19:05:51 <ehird> that is, you can talk quickly (thus feeling like you're communicating faster) but with enough bits to be efficient
19:06:00 <ehird> voila, everyone feels like they're talking really quickly
19:06:11 <ehird> and they are, just not by that much
19:06:56 <madbrain> So with vowels only, suppose you'd have to reach 64 syllables at least, can you do that? :D
19:07:43 <ehird> No, but oklopol can.
19:08:38 <oerjan> including diphthongs and triphthongs?
19:08:41 <madbrain> ~60 different possible syllables
19:09:00 <madbrain> oerjan: but that's dangerous, basically you're putting in /j,w/ with those :D
19:09:45 <boily> don't forget reversed "h"
19:09:47 <ehird> madbrain: do you mean you'd have to speak @ 64 syllables/s?
19:09:52 * boily consults his sampa table...
19:09:56 <oerjan> so you want 64 pure vowels? i vaguely recall there's some south-east asian language which comes close
19:10:05 <madbrain> plus you'd have syllable boundary problems probably... still better than a fully pure vowel system
19:10:18 <ehird> STOP CORRUPTING THIS FOLLY'S PURITY
19:10:37 <madbrain> oerjan: well, no, it could have diphthongs I guess :D
19:11:21 <madbrain> ehird: no, not speak @ 64 syllable/s, you have to have at least 64 different possible syllables in your language
19:11:46 <ehird> madbrain: how fast would you have to speak then for 50 b/s?
19:11:55 <ehird> depends on how fast you can speak a syllable ofc
19:12:10 -!- Pthing has quit (Remote closed the connection).
19:12:11 <oklopol> what language doesn't have 64 syllables?
19:12:12 <ehird> since that means 1 syllable = 6 bits
19:12:13 <madbrain> well, suppose you have 8 pure vowels only, that's 3 bits, so you'd have to speak at about 17 syll/s
19:12:18 <ehird> oklopol: one only using vowels
19:12:27 <ehird> madbrain: oklopol can do that!
19:12:46 <oklopol> with 3 finnish vowels, 512 syllables
19:13:22 <madbrain> oklopol: hmm... http://en.wikipedia.org/wiki/Pirah%C3%A3_language might have less than 64, or more...
19:14:04 <oerjan> 7 consonants and 5 vowels
19:14:15 <oklopol> Pirahã can be whistled, hummed, or encoded in music. <<< are you sure it's even a well-defined question?
19:14:27 <oklopol> oerjan: and only one vowel per syllable?
19:14:31 <oerjan> it's not pure cv, as the final s shows
19:14:41 <oerjan> so probably won't work
19:14:50 <ehird> oklopol: how many syllables of pure vowels can you speak per second
19:14:52 <madbrain> rotokas afaik has many non CV syllables too
19:15:21 <oerjan> madbrain: you're a linguist like augur?
19:15:35 <ehird> augur is too, admittedly
19:15:46 <madbrain> it's more like a nerdy hobby to me :D
19:15:48 <ehird> madbrain: does student count as professional, if not augur isn't either :P
19:16:02 <ehird> madbrain: you're not boring like augur, thankfully!
19:16:03 <oklopol> i kinda put them in separate syllables if i just talk in vowels
19:16:06 <ehird> um, don't tell augur i said t haht
19:16:32 <oklopol> ehird: i'm sure augur doesn't know his linguism bored you
19:17:02 <oklopol> anyway i need to leave irc now, remember to love each other like i do
19:17:32 <ehird> a finn loving? ha!
19:19:20 <oerjan> the finns cannot love it would mess up the sauna culture
19:20:29 <madbrain> how about making a language with only 10 consonants and no consonant-vowel-consonant syllables but 5000+ syllables? :D
19:20:38 * ehird cries. my poor pixel font is being ruined by the impossibility of "m"!
19:21:08 <SimonRC> ehird: what is your char size?
19:21:09 <madbrain> yeah for m you have to compromise
19:21:14 <ehird> you try making an m glyph with serifs that fits in 7x10
19:21:19 <ehird> (8x12; rest of pixels used for spacing)
19:21:29 <madbrain> most fonts I've seen make the "m" with a only 1 pixel wide bar
19:21:30 <ehird> especially one that fits in with my other characters...
19:21:44 <ehird> madbrain: yes, my non-bold chars don't have such doubled d lines
19:21:46 <ehird> my bold chars do though
19:21:50 <ehird> maybe i'll do bold m and debold it
19:21:59 -!- Rugxulo has joined.
19:22:19 <ehird> k was a challenge too but i'm semi-satisfied with what i have
19:22:20 <Rugxulo> ehird: http://elinux.org/Kernel_Size_Tuning_Guide
19:22:34 <ehird> Rugxulo: why thank you!
19:22:43 <SimonRC> try 1110100 0101010 ... 0101011
19:22:48 <ehird> Rugxulo: especially the list of config options
19:23:04 <ehird> SimonRC: is each block vertical or horizontal
19:23:21 <Rugxulo> also, unrelated, but I did hack that tiny DOS Befunge93 interpreter again, it's now 1024 bytes w/ simple LFN and 386 check (so it won't crash on older cpus)
19:23:24 <madbrain> ehird: also you can use the top contour of the letter as a cue
19:23:57 <ehird> SimonRC: oh that's good
19:23:57 <madbrain> ehird: or use the "empty row" at the right of the char, making it 8 wide instead of 7
19:24:05 <ehird> that 1 at the very end makes it look good
19:24:17 <ehird> it's not fat at all like my other characters, but I have to compromise for m, it seems
19:24:21 <ehird> madbrain: yes, I'm considering that too
19:24:32 <ehird> madbrain: but it'd make the neighbouring character bash right into it
19:24:34 <SimonRC> you said you wanted serigs
19:24:46 <ehird> SimonRC: yeah, but I couldn't get them looking good
19:25:00 <SimonRC> I didn't know how it would look, since I just typed it in </boast>
19:25:13 <madbrain> or you can reduce the spaces between the lines so that they touch, it should be readable still since you'll recognize it by density instead of by line configuration
19:26:02 <ehird> another avenue to explore might be making the middle line shorter
19:26:05 <ehird> it seems to look okay
19:26:28 <ehird> i really like most of this font so far...
19:26:50 <ehird> madbrain: making the lines touch would look very unlike the other characters; they're very thin
19:27:24 <madbrain> you're making it only 1 line thick?
19:27:39 <ehird> yep, apart from the bold characters
19:27:44 <ehird> the look so far is very distinctive
19:27:47 <madbrain> then m should not be a problem!
19:27:58 <ehird> ah, but I need to make it fit — and the other characters look fit
19:28:06 <ehird> I think I have a very good candidate, though!
19:28:15 <madbrain> well, without bold you have ample space for that
19:28:33 <ehird> stop sending for a sec
19:28:44 <ehird> it looks pretty good
19:28:48 <ehird> think I should reduce those serifs though
19:29:08 <madbrain> ah, but you can also let the serif go into the empty line!
19:29:27 <ehird> but none of my other characters do that; and the spacing is nice — it fits with the outlines; the characters breath a lot
19:30:08 <ehird> madbrain: you can continue sending that char you were sending now
19:31:30 <SimonRC> the assymetry on row 2 isn't very nice
19:31:49 <ehird> dude, this is serif country
19:31:54 <ehird> we hate symmetry :P
19:32:19 <ehird> madbrain: lemme copy that into my image editor
19:32:23 * Rugxulo finds compression funny yet weird ... 7za a -mx9 produces 1025-byte file from a 1024-byte .COM while aPACK -x produces 1023 bytes
19:32:34 <ehird> madbrain: btw, my letters are mostly 6px high
19:32:37 <ehird> I'll adjust for that
19:32:42 <SimonRC> they aren't designed to work on things that small
19:32:57 <ehird> SimonRC: ahh, but the serifs make my font what it is
19:32:57 <madbrain> also if you use half-solid pixels you can use to anti-alias the shape, too
19:33:02 <ehird> it'd be bland otherwise
19:33:06 <ehird> madbrain: half-solid?
19:33:25 <madbrain> well, like, say, white-gray-black instead of just white-black
19:33:53 <ehird> madbrain: that m you showed has a problem many of my ms have had — a little dirt-looking artifact when zoomed out onn a high-res screen
19:34:02 <ehird> madbrain: also, naw, don't have nothin' like that
19:34:16 <SimonRC> I meant "Rugxulo: the compression programs aren't designed to work on anything that small"
19:34:26 <madbrain> another option might be dropping serifs on m
19:34:49 <ehird> madbrain: considered that; I definitely don't think a serif on the middle line is practical
19:35:18 * ehird considers something; tries it
19:35:30 -!- boily has quit ("leaving").
19:36:18 <ehird> I'm gonna try a bold m and debold it
19:36:22 <ehird> thanks for all the suggestions
19:36:37 <ehird> oops, haven't done a bold l yet
19:36:38 <SimonRC> in really tiny typefacse, you get M being things like 111 111 101, and it can work
19:36:59 <ehird> SimonRC: yeah, I did something similar with my 4x3 typeface (with spacing 5x4)
19:37:10 <fizzie> The rfk86 m is "110 111 101"; n is "110 101 101".
19:37:15 <SimonRC> you need sub-pixel rendering!
19:37:42 <SimonRC> fizzie: ouch 1-pixel difference
19:37:42 <ehird> SimonRC: http://typophile.com/node/61920 :-)
19:38:07 <SimonRC> they tend to look a bit rainbowy though
19:38:09 <ehird> (as interesting for the font as it is for gawping at StoneCypher's serious mental illness)
19:38:33 <ehird> also, Apple aren't the first nor last to do subpixel font rendering
19:38:37 <ehird> even Microsoft do it (ClearType)
19:38:44 <ehird> and it's the default in Ubuntu
19:38:54 <fizzie> SimonRC: Well... if you have ff3.5 or something that does font-embedding like that (and scripts on), you can see it "live" at http://zem.fi/rfk86/ [not a shameless plug at all] -- it's not so bad. And actually both had one "101" more, since it's 6x4-sized cells.
19:40:08 <Rugxulo> ehird: looks like Linux 2.4 got updated today (2.4.37.7)
19:40:37 * ehird realises he fucked up a character width in the bold font
19:40:55 <madbrain> like, the VGA font has serifs only on some letters
19:40:56 <Rugxulo> for unlawful carnal knowledge
19:41:03 <ehird> eh, I can sort it out later
19:41:22 <ehird> when i enter them as bit arrays :-)
19:42:25 <ehird> Mainly for English text, although I like it so much that I've considered using it for a terminal.
19:42:34 <ehird> Admittedly monospaced is kinda crap for English.
19:42:45 <Rugxulo> linux-2.4.37.7.tar.bz2 -- 29.7 MB (ouch)
19:43:01 <ehird> Yeah, a whole 30 MiB? I have to buy a new drive, man.
19:43:03 <madbrain> I'd go for a font with 2 pixel wide lines for terminal though
19:43:05 <ehird> Because I'm from 1980, dude.
19:43:08 <ehird> Which is why I'm saying man, dude.
19:43:17 <ehird> madbrain: Then use the bold variant.
19:43:26 <ehird> But in the Unix world we don't do that crap. :D
19:43:47 <Rugxulo> linux-2.4.0.tar.bz218.9 MB1/3/01 6:00:00 PM
19:44:13 <Rugxulo> so it basically doubled in size
19:44:48 <ehird> Yes, Rugxulo, technology is going down the drain, 10.8 MiB increase over eight years is basically the downfall of humanity, people who don't support the 286 are incompetent.
19:44:54 <Rugxulo> but not as bad as XP (1.5 GB) to Vista (16 GB)
19:44:55 <ehird> Please stop complaining about it.
19:45:34 <Rugxulo> if it wasn't an epidemic, I wouldn't care
19:45:45 <Rugxulo> but when everything (Python, Perl, etc.) all bloats up ad nauseum, it gets annoying
19:45:46 <fizzie> If you *have* to complain, you should compare compiled images containing a mostly-identical set of compiled-in drivers; it's not like the source size is so terribly important.
19:46:02 <SimonRC> Not only is the kernel getting bigger and bigger (including all the modules it uses) but they took years to add support for $obscure_hardware_that_noone_uses!
19:46:22 <ehird> <Rugxulo> IT INCREASES SIZE? Strip it out strip it out!
19:46:36 <ehird> <Rugxulo> Why doesn't Linux boot on my IBM PC after updating?
19:46:54 * Rugxulo found TinyPython, wonder if it's any good ...
19:47:28 <ehird> I think I've found a sudden affinity for the #esoteric-should-be-about-esolangs-only folks. I announce the new creation of ##bloat-epidemic.
19:48:04 <Rugxulo> good no bloat, only one user :-)
19:48:06 <SimonRC> but which would have the ColorForth discussion in it?>
19:48:23 <ehird> Rugxulo: IT WILL NEVER BE BLOATED WITH MORE PEOPLE
19:48:45 <Rugxulo> woot, optimal size now ;-)
19:49:05 <SimonRC> Rugxulo: you know what ColorForth is, right?
19:49:05 <madbrain> hmmm, making a hugely parallel cpu requires solving a few data routing problems:
19:49:36 <madbrain> (reverse Y) Routing problem (harder)
19:49:47 <madbrain> (feedback) Routing problem (even harder)
19:50:18 <ehird> madbrain: http://www.longnow.org/essays/richard-feynman-connection-machine/
19:50:21 <madbrain> Memory address interference problem (even harder)
19:50:27 <ehird> Feynman solved 'em :-P
19:51:06 <Rugxulo> SimonRC, I've heard (and seen) a few websites on ColorForth, never used it personally though
19:51:15 <AnMaster> ehird, I'm having a nostalgia trip for OS 9 and older atm
19:51:46 <ehird> post-sys7 sucks hugely, post-sys6 sucks quite a bit
19:51:49 <AnMaster> ooh I found something on called "adobe golive 4.0.1" on my ibook. Didn't remember that.
19:52:02 <Rugxulo> sorry, I just find it annoying that Linux now requires more RAM than Win95 did HD space :-/
19:52:02 <ehird> os 9 sucks in a colossal manner unsurpassed by any other OS, even Windows
19:52:34 <ehird> madbrain: care to give me fixedsys's m?
19:53:52 <ehird> Well that's simple :P
19:54:18 <madbrain> fixedsys has 2-px wide vertical lines
19:55:43 <ehird> It's such a shame that optical illusion-style tricks don't really work at 7x10.
19:55:52 <ehird> At 4x3 I even faked the slant on the n...
19:59:31 * ehird tweaks bold c and e and maybe d and g to make the metrics more similar to bold a (and thus more similar to roman a, c, d, e and g)
20:00:06 <Sgeo> I think ehird's going to kill someone http://www.turtleflight.com/mbh/behavior_table.gif
20:00:19 <ehird> Sgeo the great repeater.
20:00:34 <AnMaster> ehird, I have both PPC and 68k emulated here :)
20:00:36 <Sgeo> Last time, when I posted that, you weren't here, iirc
20:00:42 <AnMaster> one is 7.5.5 the other being 9.0.4
20:00:43 <ehird> AnMaster: I don't care.
20:00:55 <ehird> Tweaking my characters feels so wrong; destroying my wonderful babies!
20:01:11 <AnMaster> Sgeo, what is that supposed to be?
20:01:20 <Sgeo> When you logread, I can't see your reaction
20:01:29 <Sgeo> AnMaster, Magsbot behavior table
20:01:31 -!- kar8nga has quit (Remote closed the connection).
20:01:52 <Sgeo> Magsbot: http://www.turtleflight.com/magine/mb.html
20:02:03 <ehird> Sgeo: You can see my reaction if you logread too.
20:03:09 <ehird> My tweaked characters are slightly uglier but more consistent :(
20:03:31 <ehird> Same prettiness now, exce—
20:03:38 <ehird> Oh, that must be why I tweaked them.
20:04:37 <ehird> They are more consistent, granted; but they do not look fat any more.
20:04:51 <ehird> The metrics are now matched, but the perceived metrics are ruined.
20:05:45 <ehird> Maybe if I put them back, and tweak the a instead...
20:06:15 <fizzie> What's a bit strange is that in this gnome-screensaver, there's a "leave a message" option; the message is then shown when the actual user unlocks the screen. The strangeness is in that the dialog showing the message has no special labels, just the message you leave; and it has both "Cancel" and "OK" buttons in it.
20:06:26 <Sgeo> http://www.forbes.com/2009/11/02/toxic-cities-pollution-lifestyle-real-estate-toxic-cities.html hm, maybe I shouldn't go to Pycon :/
20:07:27 <ehird> Yes, everyone in the cities listed there die days after arriving.
20:07:29 <fizzie> I left some sort of "aaaggagagah zombies!" message on ineiros' laptop the other day, and it was a bit confusing to see a mostly unlabeled "zombies! ok or cancel?" popup as a result.
20:07:44 <ehird> (Offensive, less sarcastic response: Translation: <Sgeo> Hurrrrrrrrrr)
20:08:13 <ehird> which did you click, be ehonest
20:08:44 <fizzie> It was him doing the screen-unlocking (and clicking), but I think it was "OK".
20:09:08 <ehird> ZOMBIES ARE NOT OK
20:10:00 <Sgeo> Magnatune's end-of-track ads ruin Riding the Faders :(
20:10:09 <fizzie> ehird: I think he's a zombie sympathizer.
20:10:10 <Gregor> They're OK if cooked well and served on toast with saurkraut and Russian dressing.
20:10:54 <Sgeo> All these tracks are supposed to be played without interuption
20:11:03 <ehird> That was at Gregor
20:11:07 <ehird> DO NOT GET OFFENDED SGEO :P
20:11:24 <Gregor> Although Sgeo's mom DOES ruin Riding the Faders.
20:11:35 <fizzie> ehird: See, here's a publicly available picture of him: http://irc-galleria.net/user/ineiros/picture/58380030
20:11:41 <Gregor> And Sgeo's mom is also supposed to be played without interruption.
20:11:51 <ehird> SHE IS ALSO DEAD DID I MENTION
20:11:58 <ehird> You must now feel bad like I felt bad.
20:12:07 <ehird> (I did not feel bad for oerjan because nobody cares about oerjan.)
20:12:16 <ehird> ((JOKE OKAY JOKE))
20:12:49 <ehird> fizzie: he looks ambiguously gendered
20:12:50 -!- puzzlet has quit (Remote closed the connection).
20:12:54 -!- puzzlet has joined.
20:14:35 <fizzie> ehird: Well, so's you!
20:16:32 -!- fungot has joined.
20:16:55 <fizzie> ^def source ul (http://git.zem.fi/fungot/blob/HEAD:/fungot.b98)S
20:19:13 -!- Rugxulo has left (?).
20:22:56 -!- Gregor has quit ("Leaving").
20:23:30 * ehird decides to go back to n later
20:24:08 <SimonRC> but it's such an addictive game
20:24:42 <ehird> dammit, someone link me to that unapproved-of swf'd N
20:24:53 <Sgeo> ...you mean that's not the official N game?
20:24:55 <ehird> need me some ninja-tappin' action ILLICITLY IN MY BROWSER
20:24:59 <ehird> Sgeo: it's identical
20:25:01 <ehird> extracted from the .exe thingy
20:25:23 <Sgeo> I thought that the .swf ... I didn't realize that it was intended to be distributed as a .exe
20:25:57 <ehird> Let me guess, I've shattered your infinite nostalgia and now your mind is blown in an incredibly profound way.
20:26:10 <Sgeo> I don't have N related nostalgia
20:27:46 <ehird> madbrain: what do you think of my lowercase k, by the way? I think I did quite well
20:28:23 <ehird> my bold uppercase k is a bit more iffy, though
20:29:09 <ehird> specifically, the lower bit looks like it's curved
20:29:33 <madbrain> you should make the serif go into the "forbidden area" instead
20:29:51 <ehird> but it's forbidden for a reason! :P
20:29:56 <ehird> it doesn't really look weird zoomed out tbh
20:30:01 <ehird> just a bit curvaceous
20:30:16 <madbrain> well, it'll connect a bit with the next letter, but that's ok actually
20:30:28 <ehird> well, I'll consider it
20:31:01 <madbrain> what doesn't work is when you have a whole line that connects :)
20:32:01 -!- zzo38 has joined.
20:32:10 <ehird> my g having no serif looks weird next to my p
20:32:21 <ehird> it's also wiider by one pixel in the maain area bit
20:32:21 <zzo38> What are you going to use these letters on?
20:32:31 <SimonRC> how abot replacing rows 8 and 9 with 0111100 0110110 ?
20:32:36 <ehird> It's a little pixel font at the best size (in my opinion) for English text!
20:32:40 <ehird> SimonRC: in which letter?
20:33:46 <ehird> no, the lack of serifs makes it look very weird
20:34:32 <ehird> umm, I'm not seeing it here
20:34:37 <ehird> maybe I drew it wrong; make a .png?
20:35:22 <ehird> wait, I think I see what you mean
20:35:43 <ehird> and doesn't fit with the other chars.
20:37:13 <SimonRC> I suppose it is ok for serifs to connect with other letters, because they are intended to keep the eye on the row
20:37:56 <ehird> i'm just using them for flavour ;-)
20:38:10 <ehird> you think it'll work there
20:38:17 <ehird> just looks shiteating and/or suggestive like always
20:39:46 <ehird> know what'll be horrific?
20:40:39 <madbrain> italics you could do by using the righmost row as spacing on the bottom, but the leftmost one on the top
20:43:00 <ehird> my r seems a bit crooked at the end! oh well, I can fix it later
20:45:39 <ehird> That was... worryingly easy.
20:46:51 <SimonRC> computers must really infuriate typesetters in some ways. Now everyone thinks that slanted is the same as italic
20:47:18 <ehird> Thankfully no systems nowadays ship with commonly-used fonts without proper italics.
20:50:44 <Sgeo> Some guy thinks he's going to start a company that.. resells publishing from pfmpricing.com or something. I basically told him that I'll help him set up the sample site, but I'm not putting any money, or much time, into what I feel is a scam
20:51:14 <ehird> Sgeo: offering help to people he thinks are scammers and then proceeding to tell us all about how he's not going to really try hard since 2009.
20:52:53 <Sgeo> I don't think this person is a scammer, just an idiot. It's pfm pricing's services that make me think "scam"
20:54:05 * ehird decides to go onto italics
20:54:26 <ehird> Sgeo: So why not tell him he's an idiot and... not help?
20:54:43 <ehird> madbrain: what did you say about italic spacing?
20:55:11 <Sgeo> Because it's very little effort to "help" in the way that I offered?
20:55:37 <ehird> Sgeo: So helping an idiot in a scam-related activity is fine as long as you (a) don't do much work and (b) tell us all about it?
20:56:41 <Sgeo> It's either I help him, or he pays $500 for the company to set something up.. although in the latter case, I suspect they'd tell him he misunderstands everything
20:57:27 <ehird> Helping an idiot save $500 to set up an idiotic scheme related to a scam? And thus, in your opinion, preventing an opportunity that might make him stop?
20:57:44 <ehird> Your logic keeps getting more and more robust! Wait, no, the other thing. Flimsy.
20:58:27 <Sgeo> At any rate, I seem to have lost contact with him, so it may be a moot point
20:59:12 <Sgeo> The bad thing about all this is, I was talking to him at the same time someone online was telling me about a project I support, so now my feelings about this guy have partially transferred over to the thing I support :/
20:59:36 <ehird> You have serious issues.
21:00:14 <SimonRC> Sgeo: the curse of indisciminant associative memory
21:00:25 <SimonRC> you should see what I have for some of the meeting roms in my office
21:00:58 <SimonRC> it's mostly a case of remembering the one every time the other is experienced
21:02:05 * ehird attempts to draw an italic glyph, fails horribly
21:05:14 <zzo38> http://zzo38computer.cjb.net/dnd/raw_transcripts/Vyb_back_story.txt Now, if some people are more on than yesterday (when there was 8 hours with only join/quit), can you tell me if it is good, or if I missed anything?
21:05:51 <ehird> The universe didn't exist ten thousand years ago, and there's only one God. Why do you have Christians?
21:06:23 <zzo38> It is a Forgotten Realms campaign setting for D&D game
21:07:37 * Sgeo doesn't play D&D, but would somewhat like to get started
21:07:44 * Sgeo has GMed Paranoia
21:08:35 <Sgeo> When I played it, I was.. not that good
21:08:52 * Sgeo put himself in danger to save another troubleshooter >.>
21:08:53 <zzo38> This is 3.5 edition, which I would recommend
21:09:26 <zzo38> I can give some hints on 3.5 edition if you would like it too, because I played it and am good at defensive play in D&D
21:09:42 <ehird> http://imgur.com/PgUuU.jpg What's wrong with this picture? Answer via /msg.
21:10:50 <zzo38> I can see what's wrong
21:10:58 <zzo38> I can see what's wrong immediately
21:11:22 <SimonRC> the newspaper pose is a more subtle way to show that
21:11:41 <ehird> Bah, you're all too details-oriented. :P
21:11:58 <SimonRC> ehird: ooh, ooh ooh, let me try testing detail orientation
21:14:17 <SimonRC> avoid spoilers until you are done watching: http://www.youtube.com/watch?v=voAntzB7EwE
21:14:51 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
21:14:53 <SimonRC> (also, ehird's picture has a seriously SBHJ level of jpeg artefacts)
21:15:02 <zzo38> Can you sent text messages by telephone by morse-code?
21:15:13 <Sgeo> SimonRC, seen it
21:15:26 <SimonRC> I got it from Phil Platt I think
21:15:36 <Sgeo> But I haven't found the issue with ehird's picture yet :/
21:15:44 <SimonRC> zzo38: depends on the phone
21:15:51 <Sgeo> ehird, I gave up
21:16:20 <SimonRC> zzo38: if it's a pocket computer, you can just download a morse-to-sms app
21:16:51 <SimonRC> Sgeo: ur unf fvk qvtvgf ba rnpu unaq
21:17:08 * ehird searches for a trackball
21:17:14 <ehird> SimonRC: i said no telling
21:17:16 <zzo38> However, I wonder if you can tell me a proper answer for the Vyb_back_story question, like, do you like this?, and, did I forget anything?, and, is it good?, and, etc.?
21:17:23 <Sgeo> SimonRC, um, no
21:17:41 <SimonRC> I don't know how to assess campign settings
21:17:47 <ehird> i didn't even notice that
21:18:51 <zzo38> SimonRC: I meant, like, if you have no keyboard and are sending from a standard telephone, or, if you do the reverse, SMS text -> landline. First it should check for fax and TTY, and then, send to voice by morse code, text-to-speech, or spell out, or numeric, etc, depending on some options
21:18:58 <ehird> grr, why aren't there more mice/trackballs with real third buttons as well as mousewheels
21:19:12 <Sgeo> Ok, so either SimonRC didn't get it either, or he was messing with me
21:19:46 <SimonRC> well, I didi spot something odd
21:20:12 <zzo38> The file is my character's background story text, in case you forgot or didn't know..
21:20:29 <SimonRC> no, I mean I did spot something odd that I then spelt out in rot-13 on the channel
21:20:38 <ehird> well it's not what i meant
21:24:09 <oklopol> no need to notice stuff you're not explicitly asked to notice
21:25:19 <Sgeo> oklopol, except when watching a magician
21:25:21 <SimonRC> for example studies of "lucky" and "unlucky" people tend to show that the lucky ones notice irrelevant details more easily
21:26:09 <oklopol> i'm a pretty stereotypical scientist, i have no idea what's going on
21:28:12 <zzo38> O, I have not heard of those studies. But it seems correct, a bit
21:29:14 <ehird> Sgeo: I'm just fucking with you, it's the fingers
21:29:38 <oklopol> the finger thing was trivial
21:29:47 <ehird> Sgeo: Quick! How much did I just shatter your world?
21:30:32 <SimonRC> TBH all it did to me was give me that slight sick feeling I get when people make me feel stupid in certain specific ways.
21:30:37 <oklopol> SimonRC: your rot13 is wrong
21:30:39 <Sgeo> Beyond my self-irritation that I didn't include that as a possibility when talking to SimonRC, not much
21:30:53 <oklopol> assuming i guessed the sentence correctly
21:31:00 <ehird> SimonRC: You're crazy! Just like everyone else here.
21:31:04 <oklopol> i don't know rot-13 anymore, it seems
21:31:15 <SimonRC> oklopol: it says "he has six digits on each hand"
21:31:34 <ehird> your MOTHER has etc.
21:31:42 <oklopol> i forgot there are synonyms
21:31:47 <ehird> grr, why aren't there any three button mice with separate wheels
21:32:15 <SimonRC> the wheel in the middle of the buton is a bit inconvinient
21:32:23 <SimonRC> or, you need the openoffice mouse
21:32:26 <ehird> that's why you put it at the very top
21:32:30 <SimonRC> with about a zillion buttons on it
21:32:55 <ehird> perfectly describes openoffice
21:33:21 <ehird> Preferably it'd be a trackball for me
21:33:27 <ehird> So, say, trackball on thumb,
21:33:36 <ehird> three buttons on the next fingers
21:33:45 <ehird> and a wheel below the third button, perhaps?
21:33:53 <ehird> Or perhaps between the first button and the wheel.
21:33:59 <SimonRC> This episode makes me recall the fucking Basil puzzle again, which made me lose my appetite a little for a day or two until I learnt to ignore it. Nevery again will I doubt plausibility when a character in some story become dangerously obsessed with something.
21:34:17 <ehird> Wait. OpenOfficeMouse ISN'T a joke?
21:34:19 <ehird> Aaaaaaaaaaaaaaaaaaaaaaa
21:34:32 <ehird> SimonRC: See, no, you were right to be skeptic.
21:34:42 <ehird> SimonRC: You just didn't account for the fact that you're crazy. :P
21:34:51 <ehird> "Nevery again will I doubt plausibility when a character in some story become dangerously obsessed with something."
21:35:04 <SimonRC> well if I can be that mad, they can be more than that mad
21:35:25 <SimonRC> it's the way that other people were finding it easy that I didn't like
21:35:42 <ehird> Terrible idea: Keyboardmouse. It's a keyboard you can move around!
21:35:49 <ehird> And it tracks as a mouse.
21:38:38 <SimonRC> Sgeo: might not exist now that nonlogic has gone down
21:39:23 <SimonRC> 'cause if that person didn't take backups of the website, they might want to contact me
21:39:51 <SimonRC> the website was world-readable on nonlogic, and I took a copy
21:40:01 <SimonRC> (then I told them it was world-readable)
21:40:17 <SimonRC> and nonlogic went down, so I expect they might want a backup
21:40:49 <SimonRC> if they didn't mak eone themselves
21:43:11 <ehird> Rodger created it.
21:43:33 <ehird> http://imgur.com/4OPEu.png I'd pay $100 for this trackball
21:43:44 -!- ehird has quit (Remote closed the connection).
21:44:00 -!- ehird has joined.
21:44:06 <ehird> he said, before crashing and burning.
21:45:00 <SimonRC> shouldn't amazon and he like had 100 differnt trackballs available?
21:45:18 <ehird> SimonRC: *have *different
21:45:28 <ehird> Also, nope. Basically nobody makes trackballs any moree.
21:45:44 <ehird> And the ones that exist are either pre-scroll wheel, or one-button-scroll-wheel-another-button.
21:45:53 <ehird> My design there is unique, as far as I can tell.
21:46:20 <SimonRC> get out a hacksaw and some glue?
21:46:21 <ehird> And far superior, too — you can use your... um... finger-right-of-thumb (I suck at the finger names) to scroll, which is much more comfortable than using your middle finger.
21:46:35 <ehird> And yet your other fingers can rest on the left and middle buttons.
21:46:45 <ehird> So you can follow links and open new tabs in a web browser while scrolling and mousing.
21:46:46 <zzo38> On Thursday, I was writing something and made up something a bit strange: Matrix accounting.
21:46:51 <SimonRC> and I use my index finger on ordinary mice too
21:47:04 <ehird> More comfortable, almost as easy to access, much better middle button usage.
21:47:07 <ehird> SOMEONE MAKE IT QUICK
21:47:08 <SimonRC> zzo38: sounds like Matrix management
21:47:21 <zzo38> Matrix accounting is accounting, but with matrix math.
21:47:28 <ehird> tbh that design is inferior to what a real product would be; the trackball should be lower
21:47:30 <ehird> But whatever, it's close enough.
21:47:41 <zzo38> It is not very good for recording transactions, but everything else it does correctly
21:47:49 <oklopol> in what sense is it the first one
21:47:50 <ehird> FAWN OVER IT, PEOPLE
21:47:51 <SimonRC> zzo38: the concepts "creative" and "accounting" should not go together
21:47:55 <zzo38> Like, everything in normal accounting has conversions here
21:48:03 -!- Gregor has joined.
21:48:08 <zzo38> You would never actually use it for recording transactions and stuff.
21:48:14 <oklopol> i guess fingers are zero-indexed.
21:48:18 <ehird> SimonRC: also, a hacksaw and glue probably wouldn't help.
21:48:29 <SimonRC> Gregor: are you the guy who nade the basil puzzle?
21:48:41 <zzo38> At first I wrote it to figure out how to represent partnership agreements in a matrix. And then I realized that everything in accounting can be represented this way.
21:49:12 <ehird> rodger the great edible mountain
21:49:25 -!- Sgeo has left (?).
21:49:32 -!- Sgeo has joined.
21:49:42 * Sgeo WTFs at his um, trackpad
21:50:06 <Sgeo> I accidentally touch it, and it closes out of a tab
21:50:25 <Sgeo> Also, ehird reminded me that I'm hungry >.>
21:50:38 <ehird> I'm really hungry and really tired but too lazy to eat or sleep.
21:50:58 <ehird> Oh, and the trackball ought to include a foam rest fit to the trackball's shape.
21:51:24 <oklopol> i'm so full it hurts, but i'm also very thirsty, which is not a good combination, and i'm also too lazy to sleep even though i'm tired
21:52:23 <SimonRC> is that really a bad combination?
21:52:38 <ehird> SimonRC: can't drink but have to?
21:53:10 <SimonRC> the trick is not to eat that much
21:53:12 <ehird> ooh, what a fun prompt
21:53:18 <ehird> ": prompt goes here; "
21:53:22 <oklopol> SimonRC: but it's all-you-can-eat
21:53:25 <ehird> you can execute it and it's just a nop
21:53:34 <ehird> so copy-and-middle-click command repeating becomes easy
21:53:35 * Sgeo recalls people saying that human thirst is broken, but not sure what is meant by that
21:53:45 <oklopol> but also pizza, and that's why i'm so full.
21:54:07 <Sgeo> I used to literally live on pizza
21:54:19 <oklopol> YOU MEAN YOU LIVED ON A GIANT...
21:54:50 <SimonRC> I can't easily eat pizza until I'm full. I lack the practice to absorb that much fat at once and find myself not wanting to eat more even though there is room.
21:54:52 <oklopol> on my last year of high school i basically spent all my days sitting in my armchair eating pizza and watching tv series
21:55:05 <ehird> I have a ridiculously fast metabolism
21:55:16 <SimonRC> I guess my parent brought me up too healthily.
21:55:17 <ehird> and so I am always so thin as to be considered dangerously underweight no matter how much I eat!
21:55:25 <ehird> if you like being bothered all the time
21:55:40 * Sgeo just doesn't have much of an urge to eat
21:56:03 <SimonRC> people always miss out part of the energy equation...
21:56:06 <ehird> well i wouldn't go that far
21:56:23 <madbrain> well, then don't buy the crap food
21:56:33 <SimonRC> delta fat = energy in * digestive efficiency - energy expended
21:57:01 <SimonRC> I often see people forgetting that differnet peopl absorb different amounts of energy from the same food
21:57:27 <SimonRC> like, if you practice for an eating competition, your digention becomes faster therefore less effective
21:57:32 <ehird> $ PS1='$(echo ~+)$ '
21:57:32 <ehird> feel free to say "wat"
21:57:35 <ehird> $ PS1='$(echo ~+)$ '
21:57:44 <ehird> "A ~ followed by a + or - is replaced by the value
21:57:44 <ehird> of $PWD and $OLDPWD respectively."
21:59:08 <Sgeo> What software do most people use to make those videos that are just pictures and music?
21:59:35 -!- oerjan has quit ("Good night").
21:59:36 <SimonRC> I don't know if that is a good suggestion or not
22:00:02 <ehird> Making such an annoying video is a bad idea in itself.
22:00:18 <Sgeo> Also: 20 minute tribute video consisting of pictures and music: Good idea or bad idea?
22:00:47 <SimonRC> depends on how well it is done and what it is about
22:01:03 <ehird> Bad idea bad idea bad idea bad IDEA.
22:01:23 <Sgeo> It's about a game called Mutation
22:01:49 <SimonRC> arrgh IRC is such a fucking time-sink
22:02:02 <Sgeo> Although the only reason it's 20min long is because that's the sum of how long all the music from the game as
22:02:27 <ehird> SimonRC: so go do something else.
22:03:09 <oklopol> SimonRC: do like me and try to do something useful on the side
22:03:18 <oklopol> and do unlike me and manage to actually do it
22:03:26 <oklopol> or should i say undo like me
22:05:08 <oklopol> yeah that might work even better
22:29:19 -!- FireFly has joined.
22:36:44 <ehird> Permission is granted to copy, modify and distribute this work.
22:36:45 <ehird> THERE IS NO WARRANTY.
22:36:46 <ehird> is the best license, or if the permission to use software really isn't implicit, then
22:36:50 <ehird> Permission is granted to use, copy, modify and distribute this work.
22:36:54 <ehird> THERE IS NO WARRANTY.
22:55:12 <augur> the problem with madbrain is that he doesnt know what the fuck hes talking about
22:55:22 <augur> so while he may seem interesting, its only because he's full of shit
22:55:23 <ehird> Decisive. Aggressive!
22:55:33 <augur> i just bought a popcorn maker.
22:55:56 <ehird> When you cause ehird to jump back in surprise at the offensiveness of an instance of insulting, you know you're on the edge.
22:56:07 <ehird> Well, okay, I didn't *physically* jump back.
22:56:25 <ehird> I suggest saying that augur is full of shit.
22:57:04 <augur> ehird, check it out
22:57:13 <augur> ive invented a cute little model of syntax, very simple
22:57:33 <ehird> The problem with augur is that he presents everything really shittily.
22:57:36 <augur> and it manages to explain to largely inexplicable phenomena in one fell swoop
22:57:43 <ehird> So while he may seem really boring, it's only because he's not full of shit.
22:57:49 <ehird> Wait, that didn't work.
22:58:12 <ehird> No, the latter statement failed.
22:58:18 <ehird> Feynman was interesting and not full of shit.
22:58:23 <ehird> do you know madbrain from elsewhere, incidentally?
22:58:33 <ehird> or are you just really aggressive :P
22:58:55 <augur> he just has a really weird notion of what qualifies as the information content of a string of phonemes
22:59:05 <augur> the problem is that its incredibly difficult to compute that
22:59:20 <ehird> is that relevant to whether it's a good model or not?
22:59:32 <ehird> is that really a problem
22:59:35 <ehird> that it's hard to compute
23:00:23 <augur> its a problem if you're making claims about the information content of a string of phonemes, yes.
23:02:54 <augur> wanna know about my little model of syntax? x3
23:03:49 <augur> there are only three core operations!
23:05:53 <ehird> i used to think the bit-measurement when people say things like "english gets 6 b/s" was actual informational content
23:06:00 <ehird> like, it actually carries 6 bits of actual information
23:06:03 <ehird> not just distinct elements of the language
23:06:10 <augur> but see thats very hard to quantify
23:06:14 <ehird> and i kept wondering how people worked out the exact actual bit contents of some information
23:06:30 <ehird> and also how come things on earth about humans can be 6 bits
23:06:36 <ehird> i mean, we're enumerating the entire logical space here :P
23:06:56 <augur> so let me tell you my little mode
23:06:58 <ehird> then i realised it was not that awesome
23:07:00 <ehird> and it was so boring
23:07:02 <ehird> and you're so boring
23:07:10 <zzo38> :Have I written this spell good and correctly: http://zzo38computer.cjb.net/dnd/other_stuff/Suppress_Lycanthropy.txt
23:07:27 <ehird> i did not write that word good and correctly
23:09:17 <augur> oh ok here we go ehird
23:09:30 <augur> here is my model of All Human Language Syntax
23:09:41 <ehird> and i hate you augur
23:10:05 <ehird> and i have thought of something i haven't actually tried, i'm going to put you on /ignore because i am like, fight or flight here
23:10:12 <ehird> and i can't kill you over the internet
23:10:27 <AnMaster> ehird, heh? you are ignoring augur?
23:10:37 <ehird> and so i am going to have to flight by which i mean /ignore goodbye temporarily please do not take it personally thank you i will probably logread because i have no self control bye
23:10:51 <ehird> okay logreading now./
23:11:10 <augur> anmaster! wanna know about language? :o
23:11:17 <ehird> you are sad don't be sad NO I NEVER READ THAT
23:11:20 <ehird> i never read your lines
23:11:25 <augur> youll LITERALLY be the first person other than me to know this stuff
23:12:37 <ehird> it's kinda lonely without augur babbling
23:12:47 <ehird> i mean it's okay when it's just normal silence
23:12:52 <ehird> but this is silence sans augur babbling
23:12:56 <ehird> which is like... explicit silence
23:12:59 <ehird> it is of my own doing
23:13:00 <ehird> and it is my undoing
23:13:08 <ehird> therefore my doing is my undoing and all my acts are wrong
23:13:20 <ehird> i would jump out of a window but since that is a thing that i would do it is clearly the wrong thing to do
23:13:28 <AnMaster> <augur> anmaster! wanna know about language? :o <-- noooooo
23:14:29 <ehird> AnMaster: i do not suggest /ignore as a remedy it causes extreme cancer of the sadness organ
23:14:34 <ehird> (it's a church organ)
23:14:34 <AnMaster> ehird, but isn't then not doing it something you would do?
23:14:43 <ehird> inaction is not action
23:15:00 <AnMaster> ehird, hehe I read that as "church oerjan" first
23:15:32 <ehird> your most excellency augur,
23:15:45 <ehird> please telepathically transdivinate whether me unignoring you would result in unpleasant babbling
23:15:53 <ehird> or perhaps a return to serene silence, not this noisy, upsetting silence
23:15:57 <ehird> yours truly sincerely,
23:16:00 <AnMaster> ehird, conjecture: you can not decide (by free will) to do something you wouldn't do.
23:16:07 <ehird> AnMaster: you ruined my beautiful letter
23:16:12 <AnMaster> (you could be forced to though)
23:16:24 <AnMaster> ehird, oops didn't see. I was busy writing it
23:16:27 <ehird> now you are cluttering my name space and augur thinks my name is <AnMaster> ehird, conjecture: you can not decide (by free will) to do something you wouldn't do.
23:16:48 <ehird> your absolute excellent-champion augur,
23:16:56 <ehird> please discard this letter
23:17:06 <zzo38> I know this spell I wrote is an exception to the general rule for creating potions. But I made it like this anyways.
23:17:09 <ehird> your above-excellent super-liminal superlative augur,
23:17:13 <ehird> my name is in fact elliott hird
23:17:30 <AnMaster> <AnMaster> ehird, I haven't laughed out
23:17:39 <ehird> it was fine at my end AND THAT IS ALL THAT MATTERS
23:17:42 <ehird> for I am a solipsist
23:17:53 <ehird> i am the only client that exists.
23:18:02 <AnMaster> ehird, why are you still on irc then
23:18:14 <ehird> it's the only game you can play on macs.
23:18:31 <AnMaster> ehird, if you have classic you can play quite a few more at least
23:18:34 <ehird> i use macintosh system software 5
23:18:43 <ehird> system 6 is too bloated for my meagre brain
23:18:51 <ehird> i don't actually own a macintosh, i just execute the instructions in my head
23:19:24 <ehird> well the physical world isn't real either, so everything is in my head really
23:19:28 <ehird> but it sounds better this way...
23:20:07 <ehird> dear augury augur,
23:20:14 <ehird> i substantiate the unignorance of your persona.
23:20:16 <ehird> very lovely day time,
23:20:24 <ehird> dear augury augur,
23:20:27 <ehird> i mean night time.
23:20:30 <ehird> very lovely correction time,
23:20:46 <AnMaster> <ehird> very lovely correction time,
23:20:51 <augur> HOW ABOUT SUKKY SUKKY LOVE YOU LONG TIME?
23:21:16 <ehird> apostrophes are awesome
23:21:21 <ehird> NOT THAT YOU'D EVER KNOW THAT
23:21:24 <ehird> because you didn't use them
23:21:43 <AnMaster> ehird, you mean single-quotes?
23:21:58 <AnMaster> ehird, anyway augur doesn't use them a lot either
23:22:05 <ehird> yes, and i hate him too
23:22:11 <ehird> anyway, now for a bout of semi-coheerency
23:22:25 <ehird> http://www.quadibloc.com/comp/images/enhpc.gif
23:22:26 <ehird> ONE KEYBOARD TO RULE THEM ALL
23:22:28 <ehird> ONE KEYBOARD TO FIND THEM
23:22:31 <ehird> ONE KEYBOARD TO BRING THEM ALL
23:22:39 <ehird> AND IN THE SCANCODES BIND THEM
23:22:40 <augur> http://wellnowwhat.net/linguistics/syntax.html
23:22:55 <AnMaster> augur, nice link (as a contrast)
23:22:58 <ehird> "One multi-function keyboard layout that tries to combine all the functions of:
23:22:59 <ehird> The normal 104/105-key PC keyboard
23:22:59 <ehird> The 122-key terminal emulation keyboard
23:22:59 <ehird> The Sun keyboard (notice the HELP key on the left)
23:22:59 <ehird> An APL keyboard (APL symbols are on the right half of the keys)
23:23:00 <ehird> A LISP keyboard of the Space Cadet variety (Meta, Super, and Hyper... and the symbols on the left half of the keys, even unshifted (. ). and :)"
23:23:45 <ehird> all it needs is a trackpoint, a trackpad, a trackball, a mousing surface and a tablet
23:23:55 <ehird> and you can just drop it on your desk and sit there FOREVER
23:24:06 <ehird> AnMaster: unshifted ( ) :
23:24:15 <ehird> (Meta, Super, […] (. ). and :)
23:24:30 <ehird> tbh I'd probably buy a keyboard like that
23:24:35 <augur> anmaster: INNIT AWESOME?
23:24:41 <AnMaster> ehird, why are there two sysrq?
23:24:43 <augur> thats a whole theory of syntax right there.
23:24:49 <ehird> AnMaster: one's print screen/sys req
23:24:50 <augur> you think im joking but
23:24:54 <ehird> and one's a one-key sysreq
23:25:03 <ehird> AnMaster: just like there's shifted and unshifted ()
23:25:11 <ehird> there'd be something satisfying about lobbing that thing on your desk
23:25:17 <ehird> like, the feeling of being able to control everything
23:25:20 <ehird> all you'd ever need
23:25:20 <AnMaster> ehird, how do you set the "mode" or something?
23:25:28 <ehird> AnMaster: shift or something, who cares
23:25:39 <ehird> it'd have to be made with capacitive buckling springs, like the Model F
23:25:44 <ehird> even older, and more clicky, than the Model M
23:25:53 <AnMaster> ehird, it needs localised versions for all possible languages. ALL IN ONE
23:25:59 <ehird> and it'd have to have a huge bezel
23:26:09 <AnMaster> ehird, oh and both qwerty and dvorak
23:26:13 <ehird> in that classic beige
23:26:53 <ehird> <?xml version="1.0" encoding="UTF8"?>
23:26:54 <ehird> super_merge ([F<sub>...</sub>, X<sub>...</sub><sup>...F</sup>, ...], H, P) = ([X<sub>...</sub><sup>...</sup> → F<sub>...</sub> X<sub>...</sub><sup>...F</sup>, ...], H ∪ {F<sub>...</sub>}, P)
23:26:55 <ehird> sub_merge ([F, X<sub>...F</sub>, ...], H, P) = ([X<sub>...</sub> → F X<sub>...F</sub>, ...], F, P ∪ {F<sub>...</sub>})
23:26:58 <ehird> augur: you fail at XML forever.
23:27:12 <ehird> also HTML, also XHTML, also choosing sane markup formats, also at writing markup in said format
23:27:39 <augur> its supposed to be quick and dirty
23:28:02 <ehird> then why is the fucking xml declaration there
23:28:16 <ehird> heck, firefox won't even render that
23:28:24 <ehird> it'll take one look at it and spew out an XML error
23:28:49 <augur> the declaration is there fore unicode.
23:28:56 <ehird> <meta charset=utf-8>
23:29:08 <ehird> congratulations, you fail at quick and dirty hacks!
23:30:13 <augur> doesnt work properly tho
23:30:50 <ehird> yeah, you did it stupidly.
23:31:08 <ehird> put <!doctype html> as the first like, replace <br/> with <br>, and it'll work juuuuuuuust fine.
23:31:31 <augur> its the unicode that doesnt work, cuntface
23:32:17 <ehird> I retract my advice, though. Cuntface.
23:33:00 * augur fucks you up so hard
23:33:44 <ehird> I was so much happier when I was ignoring you.
23:36:25 <ehird> that is decidedly not an improvement.
23:36:38 <augur> its the best i can do :(
23:36:59 <ehird> now it's at least ten times as shitty as the last iteration.
23:37:15 <ehird> funny, adding that <!doctype html> to the start was all you needed to have valid html5.
23:37:21 <ehird> and also to trigger standards mode
23:37:24 <ehird> which would have fixed shit.
23:37:37 <augur> except i did that ehird :(
23:37:40 <augur> and it didnt work :(
23:38:01 <ehird> well fix your fucking server and get it to send the right content-type header, that is my suggestion
23:38:29 -!- iamcal has quit.
23:40:05 <augur> http://wellnowwhat.net/linguistics/syntax.html
23:40:27 <AnMaster> super_merge [([F..., X......F, ...], H, P), ...] = [([X...... → F... X......F, ...], H ∪ {F...}, P), ...]
23:40:27 <AnMaster> sub_merge [([F, X...F, ...], H, P), ...] = [([X... → F X...F, ...], F, P ∪ {F...}), ...]
23:40:27 <AnMaster> adjoin [([Y, ...], Hi, Pi), ([X, ...], Hj, Pj), ...] = [([X → Y X, ...], Hj, Pj), ...]
23:40:33 <AnMaster> if that is what it should look like
23:40:47 <AnMaster> looks correct when pasted in irc client
23:41:10 <augur> so yeh, thats the theory of syntax :o
23:41:29 <AnMaster> augur, pretty. But I have no clue what it means
23:41:59 <augur> ok the things that look like X...f with the ...f in subscripts, and nothing in superscripts
23:42:03 <AnMaster> super_merge [([F[...], X[...]^...F, ...], H, P), ...] = [([X[...]^... [...] X[...]^...F, ...], H F[...]}, P), ...]
23:42:03 <AnMaster> sub_merge [([F, X[...F], ...], H, P), ...] = [([X[...] X[...F], ...], F, P F[...]}), ...]
23:42:03 <AnMaster> adjoin [([Y, ...], H[i], P[i]), ([X, ...], H[j], P[j]), ...] = [([X X, ...], H[j], P[j]), ...]
23:42:07 <augur> that means "An X that needs an f"
23:42:22 <augur> well ok let me rephrase that
23:42:23 <AnMaster> augur, I DIDN'T ASK WHAT IT MEANT
23:42:29 <AnMaster> I just said I didn't understand it
23:43:03 <AnMaster> augur, maybe. But I'm sure there are stuff I'm better at
23:43:44 <ehird> grammar argh fix it
23:44:20 <ehird> augur: it is manifestly inferior to anything else because it's xhtml.
23:44:30 <ehird> not even that; inconsistently-capitalised xhtml
23:44:39 <ehird> not even sure that's valid.
23:44:45 <ehird> AnMaster: there is stuff i'm better at
23:45:24 <AnMaster> ehird, am you sure about that?
23:45:48 <ehird> FUCK DEATH DIE ARGH RAGE
23:46:08 <AnMaster> ehird, why is you reacting this strongly to it?
23:46:37 <ehird> you did it in that line
23:46:39 <ehird> FUUUCK ARGH sfjgsdiofhgljh
23:46:43 <ehird> i'm so tired i didn't notice
23:46:48 <ehird> i can't trust ANYTHING that happens until I sleep
23:46:52 <ehird> am I even actually typing this?
23:46:57 <ehird> does my computer actually exist?
23:47:16 <AnMaster> ehird, well you asserted you were the *only* thing existing before
23:47:37 <AnMaster> you are the only thing *not* exisiting
23:47:54 <ehird> man i am freaking out!
23:47:59 <ehird> would you tell that to someone on drugs?
23:48:04 <ehird> THEN DON'T TELL ME WHEN I'M TIRED
23:48:13 <ehird> no, but same thing basically
23:48:48 <AnMaster> and we are all dreaming that we exist
23:48:52 <ehird> maybe nothing exists
23:49:09 <ehird> you peoplecentricitythingy
23:49:22 <AnMaster> I meant "nothing" though probably
23:52:32 <AnMaster> oklopol, except since ∀x(Human(x) → Existance(x) → 0) that "more" is insignificant
23:52:48 <AnMaster> (note to self: don't mix syntax from different parts of math like that, it's confusing)
23:53:01 <AnMaster> the second arrow is "limit" the first is "implies"
23:53:51 <AnMaster> great what the hell. That wasn't supposed to happen.
23:53:52 <ehird> note to AnMaster, don't futz together some random mathematical notation in a blatantly obvious "look at me i know mathematics"
23:55:05 <AnMaster> ehird, I think it fucked up anyway. Some sort of shuffle even when that was disabled
23:55:23 * AnMaster sighs and note he should go back to the command line alternative again. Works better.
23:55:44 <ehird> i care, i really care, i'm trying to care, don't be a bastard
23:55:49 <ehird> i really don't care.
23:56:20 <ehird> [23:55] • AnMaster sighs and note he should go back to the command line alternative again. Works better.
23:56:44 <ehird> i rolled my finger along the home row
23:56:51 <ehird> and it hit the spiky edge of my enter key
23:56:57 <ehird> propped up slightly
23:56:59 <ehird> as it's a bit broken
23:57:05 <AnMaster> ehird, oooh nice spiky keyboard
23:57:05 <ehird> (scissor-switch board = sharp key edges)
23:57:19 <ehird> i think everyone is sleeping in this housees or something
23:58:10 <ehird> "A trackball mouse with a foot pedal!"
23:58:14 <ehird> what a wonderful idea!
23:58:21 <AnMaster> ehird, the pedal would be for?
23:58:53 <fizzie> Trackball mice for your toes.
23:59:00 <AnMaster> ehird, would be trivial to wire up to the toe brakes of some flightsim rudder pedals
23:59:02 <fizzie> Get some use out of those buggers.
23:59:05 <ehird> "In the Cool Accessories Dept., the TopTrack comes with a silver and gold fabric mouse cozy. A mouse cozy! My wife wonders why anyone would need to keep a mouse warm. Obviously she has no heart. Personally, I can see reasons for modem cozies as well."
23:59:07 <AnMaster> then you would have left/right click
23:59:12 <ehird> fizzie: No, heels!
23:59:14 <AnMaster> ehird, just a few lines in the X config I expect
23:59:29 <ehird> needs to be a good foot pedal though
23:59:32 <ehird> no gradual action needed
23:59:36 <ehird> needs to be tactile
23:59:58 <ehird> i sure am looking forward to never double-clicking again
00:00:06 <AnMaster> and yeah those are all analogue inputs
00:00:09 <oklopol> ∀x(Human(x) → Existance(x) → 0) <<< so what exactly is the natural topology of implications? i'm having a hard time interpreting this
00:00:28 <AnMaster> oklopol, eh? Are you saying precedence order?
00:00:54 <AnMaster> oklopol, as I said the second one is NOT an implication, but a limit
00:01:44 <AnMaster> ∀x(Human(x) →[implies] (Existance(x) →[limit] 0))
00:03:12 <ehird> incidentally, did you know that ed is fun and advanced?!
00:03:18 <oklopol> i know the second one is a limit
00:03:21 <ehird> 390 being output from ed
00:03:26 <ehird> loads the result of `ls` into the buffer
00:03:27 <oklopol> i just don't know what limits mean for implications
00:03:32 <oklopol> so i'm asking what their natural topology is
00:03:35 <ehird> replaces start of line with "less " in all lines
00:03:39 <ehird> and writes it to a shell
00:03:48 <ehird> bet you didn't know it could do that
00:03:55 <AnMaster> <oklopol> i just don't know what limits mean for implications <-- nothing.
00:04:08 -!- bsmntbombdood has joined.
00:04:31 <AnMaster> oklopol, in this case however "being human implies your "existence level" goes towards 0"
00:05:11 <oklopol> oh should've read your "clearer" thingie, since i indeed misinterpreted what's limit is being taken
00:05:55 <ehird> admire how cool ed actually is!
00:06:06 <ehird> incidentally the same things work in vi by putting : in front.
00:06:13 <AnMaster> oklopol, fair enough. It wasn't exactly standard notation (to put it mildly)
00:06:32 <ehird> bsmntbombdood: well, yeah
00:06:37 <ehird> ex is a subset of ed after all
00:22:35 * Sgeo loves how worlds in AW can set what should only be settable by the user
00:23:53 <Sgeo> Forcing me to, say, have a visibility of 100m is obnoxious for those on poorer graphics cards
00:24:32 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
00:24:46 * ehird toys with the idea of registering in Active Worlds, invading everywhere and setting up scripts that ruins everything
00:24:51 <ehird> Idea rejection ticket
00:25:13 <Sgeo> AnMaster, it's called sarcasm
00:25:25 <ehird> we are execu-fucking tive
00:25:28 <ehird> and we make decisions now
00:25:31 <ehird> and move onto other decisions
00:25:34 <ehird> and make the SHIT out of them
00:25:37 <ehird> EXECU-FUCKING TIVE
00:25:43 <Sgeo> ehird, um, the worse you can do is make something to destroy all tourist property in, say, AWTeen
00:25:43 <ehird> fucking corporate and all that shit.
00:25:54 <ehird> Sgeo: i'm sure i could figure out something
00:25:56 <ehird> AnMaster: observant it is indeed night
00:26:01 <ehird> i notice you omitted the arrow
00:26:13 <Sgeo> Or maybe spam goatse in public areas
00:26:21 <ehird> speaking of fucking corporate decisions and shit
00:26:23 <ehird> http://buttersafe.com/2008/08/21/corporate-finance/
00:26:26 <Sgeo> Although that's more of an AWNewbie problem
00:26:35 <Sgeo> No one goes to AWNewbie anymore, so
00:27:51 <Sgeo> There are some X rated worlds in AW >.>
00:29:03 <ehird> i cannot think of a single meaning of >.> there that isn't creepy or sad.
00:29:40 <Sgeo> Arguably, the fact that I know that there are X rated worlds is what I thought was suspicious
00:29:56 <Sgeo> (They're not accessible without setting an option to allow one to see them)
00:30:10 <ehird> are you trying to make things worse
00:30:20 <Sgeo> I haven't actually been to one
00:31:23 -!- bsmntbombdood has joined.
00:54:48 -!- zzo38 has quit (Remote closed the connection).
01:06:52 -!- augur_ has joined.
01:07:27 -!- augur has quit (Read error: 104 (Connection reset by peer)).
01:14:18 -!- Gracenotes has quit (Remote closed the connection).
01:15:27 -!- FireFly has quit ("Later").
01:15:39 -!- BeholdMyGlory has quit (Remote closed the connection).
01:16:56 <Gregor> Nobody's pwned codu through Hackiki yet.
01:29:33 -!- augur_ has changed nick to augur.
01:30:12 <Gregor> Come on augur, pwn codu!
01:30:32 <Gregor> Or rather, the box that runs that.
01:30:48 <augur> and you're challenging people to hack it?
01:30:57 <Gregor> http://hackiki.codu.org/
01:31:04 <Gregor> I'm just surprised that I could put that up and NOT see somebody hack it.
01:31:09 <ehird> i will do it Gregor if you will entertain my talk!
01:31:30 <Gregor> How does one entertain someone's talk ...
01:31:38 <augur> gregor, i dont get it
01:31:42 <augur> what are we supposed to do
01:32:04 <ehird> /bin/rm: cannot remove root directory `/'
01:32:07 <Gregor> augur: It's a wiki that runs nearly-arbitrary code. Figure out how to escape its security restrictions and kill codu people!
01:32:34 <ehird> /bin/rm: cannot remove `/bin': Function not implemented /bin/rm: cannot remove `/dev': Function not implemented /bin/rm: cannot remove `/etc': Function not implemented /bin/rm: cannot remove `/hackiki': Function not implemented /bin/rm: cannot remove `/lib': Function not implemented /bin/rm: cannot remove `/lib64': Permission denied /bin/rm: cannot remove `/tmp': Function not implemented /bin/rm: cannot remove `/usr': Function not implemented /bin/rm: cann
01:32:35 <ehird> remove `/var': Function not implemented
01:32:37 <augur> can i suggest it to adrian lamo?
01:32:48 <augur> or would that be too cruel to do to the codu server?
01:32:58 <ehird> ooh, look at augur, it's time for his special show
01:33:05 <ehird> Look At Me I Am Totally In Bed With A Leet Haxor
01:33:07 <Gregor> Because it's easily reverted.
01:33:13 <augur> im not in bed with adrian lamo. :|
01:33:49 <Gregor> That is a solvable problem.
01:33:54 <ehird> Gregor: entertaining someone's talk is answering their all important questions about death.
01:33:56 <augur> but that would require money
01:34:05 <augur> besides, he's got a boybitch
01:34:16 <Gregor> augur: YOU COULD BE THAT BOYBITCH
01:34:37 <Gregor> augur: Also a solvable problem! Just a more complicated one to solve.
01:34:49 <ehird> /hackiki/bin/.wiki: line 3: tree: command not found
01:35:17 <ehird> /bin/ls: bin: Function not implemented
01:35:17 <ehird> /bin/ls: lib: Function not implemented
01:35:18 <ehird> /bin/ls: templates: Function not implemented
01:35:19 <Gregor> ehird: Why don't you just use the arbitrary command runner.
01:35:24 <Gregor> So long as you're just running arbitrary commands ...
01:35:44 <Gregor> You're supposed to cause irreversible damage to codu, not trivially-reversible damage to the wiki.
01:35:47 <ehird> ANYWAY ENTERTAIN MY BARK
01:35:54 <ehird> which is tree bark
01:36:04 <Gregor> I don't want to answer questions about death :P
01:36:44 <Sgeo> Is it reverted yet?
01:37:22 <HackEgo> bin \ help.txt \ huh \ karma \ paste \ quotes \ share \ tmpdir.20700
01:38:00 <ehird> Gregor: http://hackiki.codu.org/wiki/
01:38:15 <ehird> aw it doesn't work
01:38:55 <Gregor> ehird: Hack CODU, not end users ;)0
01:39:56 <ehird> still doesens't work :(
01:40:12 <ehird> Gregor: it irreversibly damages codu's readerbase
01:40:23 <ehird> fuck what was my q— oh yes
01:40:33 <ehird> Gregor: i'm going to bother you some more about wearable computing MWAHAHAHAHAHAHA
01:40:37 <ehird> i am so evil. evil and tired
01:41:18 <Gregor> OK, ask fast 'cuz I'll be gone at any minute :P
01:41:27 <ehird> ;_; but i am le tired
01:41:39 <ehird> i think i have a nap at this point, then fire ze missiles
01:41:52 <ehird> Gregor: okay so since the myvu thing is only 640x480
01:41:56 <ehird> and you have the dpi set up really high
01:42:01 <ehird> don't you only fit like
01:42:18 <Gregor> Quite a few more than there, but it's pretty few, yes.
01:42:31 <Gregor> More than THREE that is
01:42:44 <ehird> how many lines of ~80col text would you guess
01:43:24 <Gregor> Well, I don't think it can display 80-column rows :P
01:43:37 <ehird> okay methinks i may need to find non-myvu options
01:43:44 <ehird> Gregor: how well is it operating btw
01:43:53 <Gregor> Works great, I use it for PIM-ish stuff.
01:44:04 <ehird> wow, an actual practical wearable computing application?
01:44:17 <augur> anyone know when /me was invented?
01:44:21 <ehird> i'm crazy enough to want to use my not-yet-existing one for programming
01:44:26 <augur> or was that an original feature of irc?
01:44:29 <ehird> augur: with ctcp. maybe slightly earlier
01:44:48 <ehird> Gregor: the main barrier to programming is the screen and the keyboard, right?
01:45:24 <ehird> screen I have no idea, keyboard I think my current plan is to use a FrogPad since it's tiny and has big keys and stuff
01:45:28 <ehird> and is apparently usable for real typing
01:45:43 <ehird> I'd prefer something with mechanical keyswitches because tactile response is quite important, but those are all heavy.
01:46:03 <ehird> done anything with that tiny metal keyboard? PIM stuff doesn't really use it...
01:48:53 <ehird> that lag is him typing on his tiny metal keyboard after leaving.
02:09:17 -!- Asztal has quit (Read error: 60 (Operation timed out)).
02:10:52 <ehird> have your builder thingy do
02:10:56 <ehird> ln -s $(which interp) .
02:11:02 <ehird> then in your interpreted program just do
02:11:20 <ehird> only works in the same dir though...
02:12:30 -!- Asztal has joined.
02:35:30 <augur> help me pic a watch
02:35:30 <augur> http://www.kennethcole.com/product/index.jsp?productId=3579841
02:35:32 <augur> http://www1.macys.com/catalog/product/index.ognc?ID=249949&CategoryID=29196
02:35:33 <augur> http://www1.macys.com/catalog/product/index.ognc?ID=379381&CategoryID=31167
02:35:35 <augur> http://www1.macys.com/catalog/product/index.ognc?ID=377836&CategoryID=29205
02:36:31 -!- Gracenotes has joined.
02:43:49 <ehird> augur: i recommend a watch that costs $5.
02:44:26 <ehird> better yet, a smartphone that also — gasp — doubles up as a watch
02:47:30 <ehird> (ponder: does being indirectly told to reevaluate your priorities by someone who considers spending $250 on a keyboard sane mean that you're really off the deep end, or just have different priorities?)
02:47:36 <ehird> (Just joking, it's the former)
02:55:49 * Sgeo would like to have a separate watch from his cell phone
02:56:10 <Sgeo> Not an expensive one, just so I don't have to take out my cell phone constantly. Especially during tests or in the rain
02:56:39 <ehird> Get a wrist computer, or better— a wearable computer!
02:56:53 <ehird> I think Ludwig Mies van der Rohe would like a word with you, though.
02:56:59 <ehird> Ornament is crime, after all. You could get arrested.
02:57:06 <ehird> Wait, that was Adolf Loos.
02:57:12 <ehird> Oh, who cares, they're all the same.[1]
02:57:19 <ehird> [1] Apologies to all three architects out there
02:58:43 <ehird> Why hasn't anyone invented a general better syntax for writing things since LaTeX.
02:58:52 <ehird> (that is, the \cmd{arg} construction)
03:13:33 -!- jix has quit (Read error: 110 (Connection timed out)).
03:34:16 -!- ehird has quit.
04:12:52 <fax> I have an idea for a new language
04:13:05 <fax> it's called GPL and every valid program starts with the GPL license
04:13:20 <fax> (which is treated as a comment but without it the compiler will error)
05:32:04 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
05:54:24 -!- immibis has joined.
06:19:54 <augur> log-reading ehird, i have an iphone.
06:21:00 <augur> fax: does your name happen to be richard stallman?
06:25:28 <fax> richard `rms` stallman
06:52:11 -!- coppro has quit (Remote closed the connection).
06:53:55 -!- coppro has joined.
06:54:50 -!- coppro has quit (Remote closed the connection).
06:55:29 -!- coppro has joined.
06:55:57 -!- Asztal has quit (Read error: 110 (Connection timed out)).
07:06:11 -!- madbrain has quit ("Radiateur").
07:18:48 <fax> hey bsmntbombdood :)
07:24:27 <fax> I run out of steam :P
07:30:42 <fax> I don't think you are
07:39:39 <fax> bsmntspacedood I am watching sealab 2021
07:40:21 <fax> <http://www.sealab2021x.com/season-1/stimutacs/>
07:58:55 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:30 -!- fax has quit ("Leaving").
08:26:00 -!- Slereah has quit (sendak.freenode.net irc.freenode.net).
08:26:00 -!- augur has quit (sendak.freenode.net irc.freenode.net).
08:26:03 -!- Gregor has quit (sendak.freenode.net irc.freenode.net).
08:26:03 -!- coppro has quit (sendak.freenode.net irc.freenode.net).
08:26:05 -!- sebbu has quit (sendak.freenode.net irc.freenode.net).
08:26:05 -!- rodgort has quit (sendak.freenode.net irc.freenode.net).
08:26:05 -!- dbc has quit (sendak.freenode.net irc.freenode.net).
08:26:08 -!- bsmntbombdood has quit (sendak.freenode.net irc.freenode.net).
08:26:09 -!- AnMaster has quit (sendak.freenode.net irc.freenode.net).
08:26:09 -!- Guest7354 has quit (sendak.freenode.net irc.freenode.net).
08:26:09 -!- Warrigal has quit (sendak.freenode.net irc.freenode.net).
08:26:09 -!- ineiros has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- oklopol has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- olsner has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- Ilari has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- HackEgo has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- Rembane has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- mtve has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- SimonRC has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- Leonidas has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- Deewiant has quit (sendak.freenode.net irc.freenode.net).
08:26:10 -!- EgoBot has quit (sendak.freenode.net irc.freenode.net).
08:27:51 -!- oerjan has joined.
08:27:51 -!- coppro has joined.
08:27:51 -!- augur has joined.
08:27:51 -!- bsmntbombdood has joined.
08:27:51 -!- Gregor has joined.
08:27:51 -!- Slereah has joined.
08:27:51 -!- rodgort has joined.
08:27:51 -!- oklopol has joined.
08:27:51 -!- dbc has joined.
08:27:51 -!- olsner has joined.
08:27:51 -!- sebbu has joined.
08:27:51 -!- Ilari has joined.
08:27:51 -!- ineiros has joined.
08:27:51 -!- HackEgo has joined.
08:27:51 -!- EgoBot has joined.
08:27:51 -!- Warrigal has joined.
08:27:52 -!- AnMaster has joined.
08:27:52 -!- Guest7354 has joined.
08:27:52 -!- Leonidas has joined.
08:27:52 -!- Deewiant has joined.
08:27:52 -!- Rembane has joined.
08:27:52 -!- mtve has joined.
08:27:52 -!- SimonRC has joined.
08:46:34 -!- Slereah has quit (sendak.freenode.net irc.freenode.net).
08:46:34 -!- augur has quit (sendak.freenode.net irc.freenode.net).
08:46:39 -!- Gregor has quit (sendak.freenode.net irc.freenode.net).
08:46:39 -!- sebbu has quit (sendak.freenode.net irc.freenode.net).
08:46:39 -!- coppro has quit (sendak.freenode.net irc.freenode.net).
08:46:40 -!- dbc has quit (sendak.freenode.net irc.freenode.net).
08:46:40 -!- rodgort has quit (sendak.freenode.net irc.freenode.net).
08:46:41 -!- oerjan has quit (sendak.freenode.net irc.freenode.net).
08:46:41 -!- bsmntbombdood has quit (sendak.freenode.net irc.freenode.net).
08:46:44 -!- AnMaster has quit (sendak.freenode.net irc.freenode.net).
08:46:44 -!- Guest7354 has quit (sendak.freenode.net irc.freenode.net).
08:46:44 -!- Warrigal has quit (sendak.freenode.net irc.freenode.net).
08:46:44 -!- ineiros has quit (sendak.freenode.net irc.freenode.net).
08:46:44 -!- HackEgo has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- olsner has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- Ilari has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- Rembane has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- oklopol has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- SimonRC has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- Leonidas has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- mtve has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- Deewiant has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- EgoBot has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- pikhq has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- fungot has quit (sendak.freenode.net irc.freenode.net).
08:46:45 -!- puzzlet has quit (sendak.freenode.net irc.freenode.net).
08:46:46 -!- comex has quit (sendak.freenode.net irc.freenode.net).
08:46:46 -!- Cerise has quit (sendak.freenode.net irc.freenode.net).
08:46:48 -!- lifthrasiir has quit (sendak.freenode.net irc.freenode.net).
08:46:48 -!- fizzie has quit (sendak.freenode.net irc.freenode.net).
09:35:04 -!- comex has joined.
09:35:04 -!- puzzlet has joined.
09:35:04 -!- fungot has joined.
09:35:15 -!- pikhq has joined.
09:35:19 -!- fizzie has joined.
09:35:19 -!- lifthrasiir has joined.
09:35:27 -!- Cerise has joined.
09:36:00 -!- coppro has joined.
09:36:00 -!- augur has joined.
09:36:00 -!- bsmntbombdood has joined.
09:36:00 -!- Gregor has joined.
09:36:00 -!- Slereah has joined.
09:36:00 -!- rodgort has joined.
09:36:00 -!- oklopol has joined.
09:36:00 -!- dbc has joined.
09:36:00 -!- olsner has joined.
09:36:00 -!- sebbu has joined.
09:36:00 -!- Ilari has joined.
09:36:00 -!- ineiros has joined.
09:36:00 -!- HackEgo has joined.
09:36:00 -!- EgoBot has joined.
09:36:00 -!- Warrigal has joined.
09:36:00 -!- AnMaster has joined.
09:36:00 -!- Guest7354 has joined.
09:36:00 -!- Leonidas has joined.
09:36:00 -!- Deewiant has joined.
09:36:00 -!- Rembane has joined.
09:36:00 -!- mtve has joined.
09:36:00 -!- SimonRC has joined.
09:41:02 -!- Gracenotes has quit (Remote closed the connection).
09:42:30 -!- Gracenotes has joined.
10:11:55 -!- fax has joined.
10:15:14 -!- Slereah_ has joined.
10:33:50 -!- Slereah has quit (Read error: 110 (Connection timed out)).
11:00:42 -!- kar8nga has joined.
11:08:39 -!- fax has quit ("Leaving").
11:29:08 -!- fax has joined.
11:46:50 -!- Pthing has joined.
11:59:08 -!- kar8nga has quit (Remote closed the connection).
12:15:48 -!- BeholdMyGlory has joined.
12:36:11 -!- ehird has joined.
12:40:43 <ehird> 22:19:54 <augur> log-reading ehird, i have an iphone.
12:40:43 <ehird> Then do not buy a watch.
12:42:19 -!- fax has quit ("Leaving").
12:54:08 -!- kar8nga has joined.
13:08:10 -!- oklopol has quit (Read error: 54 (Connection reset by peer)).
13:08:25 -!- oklopol has joined.
13:09:26 <ehird> http://ninite.com/ Windows users discover the package manager... uh, installer.
13:16:46 <oklopol> google earth is file sharing?
13:17:12 <ehird> share dem geographamagical location filezzz
13:17:42 <oklopol> i was thinking you could take pictures of places they don't have ones for yet :P
13:18:38 <oklopol> wait they have like 5 apps everyone already has
13:18:48 <oklopol> well more like 40 but anyway
13:18:56 <AnMaster> <ehird> Then do not buy a watch. <-- what about during tests? You aren't allowed to have a cell phone then
13:19:12 <ehird> Any number of things?
13:19:33 <ehird> (Among them moving to Denmark; they let you use the internetwebs now. :P)
13:19:49 <AnMaster> ehird, during tests in school/at university?
13:19:57 <ehird> Well, some, I think.
13:20:06 <ehird> Not things like mathematics and the like.
13:20:13 <ehird> Danish exams. Or was it English?
13:20:22 <AnMaster> ehird, math was the stuff I was thinking of primarily here
13:20:23 <ehird> And I don't remember what schooling level. High school or university, probably.
13:20:27 <oklopol> eh? computers would be the least useful for mathematics
13:20:44 <ehird> oklopol: wolfram alpha + wikipedia
13:20:49 <oklopol> for anything else being able to get information is useful
13:21:18 <AnMaster> oklopol, what about running a CAS on the computer?
13:21:19 <oklopol> well yeah if it's basic course in monkey integration
13:21:25 <ehird> anyway won't the test room have a clock in it
13:21:33 <ehird> like 90% of the rooms in the world have a clock in them :-P
13:22:11 <oklopol> all our test rooms have clocks in them, but in few they are positioned in such a way that you can't see them from where i sit.
13:22:14 <AnMaster> ehird, at the university I'm at: all rooms except none of the rooms in the newest building. (strange yes)
13:22:37 <ehird> Well, buy a $5 watch then and take it when you need it. But augur linked to watches in the vicinity of $150.
13:22:59 <AnMaster> ehird, I think there are some outside in the corridor in the newest building. But that is all.
13:23:22 <oklopol> ehird: he also thinks about what clothes to buy, i find that even weirder
13:23:41 <ehird> oklopol: so basically he's stereotypically gay :-P
13:23:42 <oklopol> i mean clocks at least make this fun clicking sound
13:23:52 <ehird> watches don't really tick much.
13:23:59 <oklopol> well yeah crappy ones don't
13:24:25 <AnMaster> oklopol, you dislike digital watches?
13:24:28 <oklopol> we actually tried to buy loudly ticking clocks with vjn once
13:24:46 <ehird> i rate clothes based on either comfort or boringness/cheapness, former for indoors, latter for outdoors
13:24:47 <oklopol> we wanted to put them in a ring and make the ticking spin around
13:25:08 <oklopol> but there simply aren't loudly ticking clocks. no existo.
13:25:22 <AnMaster> ehird, you don't want comfort outside?
13:25:26 <ehird> turns out that cotton clothes intended for night usage are the only really comfortable clothes
13:25:39 <ehird> thus saving money by having to buy half the clothes, take that capitalism
13:25:50 <ehird> or something, I don't know
13:25:55 <ehird> I'm still residually tired from yesterday
13:26:08 <ehird> AnMaster: i have not yet seen a clothing item suitable for outdoor usage that is comfortable
13:26:11 <oklopol> i rate shirts like this: black t-shirt without any noticeable deviation from the ideal form of black t-shirts ok, others discarded.
13:26:15 <ehird> i guess i'm ~~~sensitive~~~
13:26:22 <AnMaster> ehird, depends on how you define "comfort"
13:26:22 <ehird> i hate tshirts, gotta have something on my arms
13:26:34 <oklopol> well i'm usually as naked as possible
13:26:47 <AnMaster> ehird, I would say a thick jacket is more comfortable outdoors than a thin one when it is -15C or so
13:26:50 <ehird> AnMaster: i know it when i see it.... as an approximation let's say the least noticeable
13:26:59 <ehird> although softness is good, skin is kinda icky :-P
13:27:10 <ehird> I mean comfort as in discarding practicality
13:27:17 <ehird> i.e. ignoring temperature
13:27:39 <ehird> i don't have any pockets at the moment
13:27:44 <AnMaster> discarding pockets was the first thing I thought of when you said "discarding practicality"
13:27:48 <ehird> i don't need to carry around anything unless I'm going out
13:27:54 <oklopol> where do you stick your hands then?
13:28:06 <ehird> oklopol: on the keyboard :D
13:28:24 <AnMaster> ehird, where do you keep your credit card and such if you don't have any pockets?
13:28:31 <ehird> but seriously, either by my side or crossing my arms.
13:28:47 <oklopol> i'm obviously naked so no pockets either
13:28:50 <ehird> i don't really have much opportunity to stand doing nothing indoors, so much exciting stuff to do and all
13:29:14 <ehird> AnMaster: i don't have a credit card. I do have a debit card thingy, but it's expired. I wouldn't put it anywhere indoors.
13:29:19 <ehird> I'd put it in my pockets to go out, naturally.
13:29:30 <AnMaster> ehird, so you leave it outdoors all the time?
13:29:48 <ehird> my house has places to put things, you know
13:29:59 <oklopol> ehird: it was clearly a joke
13:30:00 <ehird> do you guys just have all your possessions in your pockets (that would be kinda cool)
13:30:10 <AnMaster> ehird, "I wouldn't put it anywhere indoors." <-- a joke about that...
13:30:18 <oklopol> even though i also carry my computer baggie
13:30:22 <ehird> right, I don't read my own lines
13:30:29 <oklopol> i just forget to put stuff in there if it fits my pockets
13:30:47 <ehird> AnMaster is so huge he puts his laptop in his pocket
13:30:55 <ehird> THE MORE YOU KNOW ===========================================*
13:31:10 <AnMaster> ehird, alas, I couldn't fit the umbrella in there if I put my laptop there too
13:31:23 <ehird> =* wait, why are we drawing penises on icr
13:31:25 <oklopol> why would you use an umbrella
13:31:34 <ehird> yeah what oklopol said just open your mouth
13:31:37 <ehird> and drink all the rain
13:31:52 <AnMaster> ehird, with all the pollution these days?
13:32:06 <ehird> it's acid rain. just like LSD!
13:32:07 <oklopol> let me tell you about pollution
13:32:10 <oklopol> i don't believe in pollution
13:32:23 <oklopol> that's really all i wanted to tell you
13:32:29 <ehird> oklopol: i bet you didn't believe in getting less than a 5 either did you huh
13:33:12 -!- jix has joined.
13:33:18 <oklopol> the rules for writing scientific shit are slightly different than the rules in high school, and i didn't feel like reading them
13:33:46 <AnMaster> ah. what about the "like" bit then?
13:34:06 <oklopol> that's what like means, "fix the errors in this sentence"
13:34:12 <AnMaster> oklopol, it sounded like "similar, but not exactly the same"
13:34:12 * ehird wants to acquire a model f
13:34:20 * ehird waits for AnMaster to call his typo
13:34:43 <oklopol> AnMaster: yeah it could mean that too
13:34:51 <ehird> [13:34] * ehird wants to acquire a model f
13:35:03 <AnMaster> ehird, well, I don't know what a model f is
13:35:08 <oklopol> but it didn't, and the like construct requires you to know what i mean
13:35:10 <ehird> i thought you were gonna go *model m
13:35:29 <ehird> a model f is one of these babies: http://geekhack.org/attachment.php?attachmentid=3070&stc=1&d=1247095102
13:35:41 <ehird> note the odd alt/caps lock keys, ctrl-where-caps-lock-is-nowadays (yes i know anmaster)
13:35:46 <ehird> and odd layout in general
13:36:05 <ehird> they use capacitive buckling springs, which is like the model m membrane buckling springs but better
13:36:16 <AnMaster> ehird, why? Why did the shape the keys like one of those tetris blocks...
13:36:18 <ehird> http://www.flickr.com/photos/moparx/3887360487/ another model, this one has more off the weird keycaps
13:36:23 <ehird> and a seemingly more compact layout
13:36:37 <ehird> AnMaster: the alt and caps lock?
13:36:47 <ehird> manufacturing ease, I guess, or something
13:36:49 <AnMaster> ehird, can't read at that low res
13:36:52 <ehird> maybe because it was in the 80s
13:37:00 <ehird> http://geekhack.org/attachment.php?attachmentid=3070&stc=1&d=1247095102
13:37:02 <ehird> is not really low res
13:37:09 <oklopol> enter is pretty tetris too
13:37:19 <ehird> AnMaster: nobody had really decided which way to do big keys was best?
13:37:24 <oklopol> but it's in my current keyboard too, it seems
13:37:26 <ehird> that enter is the ISO layout enter
13:37:31 <ehird> AnMaster: http://farm3.static.flickr.com/2503/3887360487_ca719998f0_o.jpg
13:37:36 <ehird> higher res photo of a slightly different model
13:37:44 <ehird> with numpad joined together and more of the weird-style keys
13:37:53 <ehird> that's the Personal Computer XT, I think
13:37:59 <ehird> as opposed to the first one, a Personal Computer AT
13:38:07 <ehird> AnMaster: these shipped with the original ibm pc
13:38:32 <ehird> AnMaster: something to note in http://farm3.static.flickr.com/2503/3887360487_ca719998f0_o.jpg
13:38:36 <ehird> it's the european layout, but @ is on 2
13:38:42 <ehird> like the american layout
13:38:53 <ehird> also, ' is shown as a closing quote with ` being its flipping
13:39:01 <AnMaster> ehird, I haven't seen a keyboard with @ elsewhere
13:39:12 <ehird> with the multi-line enter
13:39:17 <ehird> also, in http://farm3.static.flickr.com/2503/3887360487_ca719998f0_o.jpg, esc is next to 1
13:39:23 <ehird> and ` is relocated to before enter
13:39:32 <ehird> anyway, I just want them for their keyfeel
13:39:32 <AnMaster> ehird, Swedish keyboards, multi-line enter, @ is on altgr-2
13:39:40 <ehird> easy enough to get an adapter to PS/2
13:39:46 <ehird> well, not that easy, but still
13:39:48 <ehird> AnMaster: well, fine
13:39:48 <AnMaster> ehird, however I remember old swedish mac keyboards used to have @ elsewhere
13:40:16 <AnMaster> old here means "early imacs and older, gone by G4 already"
13:40:27 <ehird> Fun fact: When the first boards with the control/alt next to each other were made, ctrl was next to space and alt was further away.
13:40:34 <ehird> It was more ergonomic because most shortcuts use ctrl.
13:40:45 <AnMaster> why did they switch them then?
13:40:48 <ehird> This was changed for some unfathomable reason. OS X has Command in the position Ctrl used to be.
13:40:57 <ehird> Easy enough to remap, anyway.
13:41:14 <AnMaster> ehird, is it hard to remap in OS X btw?
13:41:54 <ehird> I'll demonstrate with a picture.
13:42:29 <AnMaster> ehird, you can't hit alt-s (current placement) with part of the palm for the alt. But it works with ctrl. Not sure if that is an argument for or against the current placement though
13:42:29 <ehird> It screenshotted incorrectly.
13:42:58 <ehird> Hitting modifier keys with the palm is the Right Thing.
13:43:05 <ehird> Most people don't do it, though.
13:43:05 <AnMaster> however using part of your palm for ctrl is a bit cramped. So probably an argument against
13:43:15 <ehird> It's not cramped, it's the ergonomically correct way.
13:43:46 <AnMaster> ehird, well yeah I have to use the thumb for s when my palm is able to reach ctrl. otherwise I have to curl up the fingers rather badly.
13:44:15 <AnMaster> and on laptop it doesn't work at all
13:44:39 <AnMaster> because fn is outermost and you can't really get the hand in the right position for it there anyway
13:44:59 <AnMaster> and fn can't be remapped because it doesn't work like normal keys
13:45:35 <AnMaster> it doesn't generate a key event in fact, until you press some other key as well
13:45:56 <ehird> http://imgur.com/8YeGr.png
13:45:56 <ehird> http://i.imgur.com/1W6iS.png
13:46:52 <ehird> Ah, the http://farm3.static.flickr.com/2503/3887360487_ca719998f0_o.jpg one isn't feasible
13:46:59 <ehird> There's no XT→anything adapters available
13:47:52 <ehird> AnMaster: That idea fails right at the start as I couldn't get an FPGA with an XT input for obvious reasons.
13:48:14 <ehird> Anyway, I don't really mind the layout being more "conventional"; I'm pretty sure the weird-style keys aren't very nice anyway.
13:48:25 <ehird> Although Esc next to the 1? Hot hot hot. Want.
13:48:28 <ehird> ...but I can just remap that.
13:48:54 <AnMaster> ehird, um. I fail to see why that is required. Just build a circuit that converts the pins from the keyboard to the right voltage ranges for an FPGA and put that in between.
13:49:07 <ehird> I can't get a slot for the pins to go into, you see.
13:49:15 <AnMaster> ehird, solder the wires onto it?
13:49:30 <ehird> This idea keeps getting worse, worse, and more out of my league.
13:49:40 <ehird> Whoa, look at the position of Esc in http://geekhack.org/attachment.php?attachmentid=3070&stc=1&d=1247095102
13:49:57 <AnMaster> ehird, okay that is a good reason. But soldering the wires directly to the circuit board wouldn't be hard.
13:50:00 <ehird> That numpad button layout is freaky-deaky
13:50:26 <AnMaster> ehird, esc is where numlock usually is?
13:50:33 <ehird> And Num Lock is next to it
13:51:22 <ehird> That board could work quite well even on a modern computer actually. Remap the keys a bit to have a convenient Esc (if you want to use vim, that is). Map the Caps Lock to the Windows key (for e.g. controlling window manager and other keyboard shortcuts) (bottom-right key below right shift). You already have Ctrl and Alt in a semi-convenient place.
13:51:36 <ehird> And who could resist assigning a bank of hotkeys to that lovely F block?
13:52:19 * AnMaster tries to remember when he last used escape in emacs
13:52:30 <ehird> Every time you press Alt, kiddo.
13:52:41 <AnMaster> ehird, well yes, but I meant the key marked esc
13:52:53 <ehird> Never, it's identical to holding Altt.
13:53:20 <AnMaster> I was just wondering if I ever used esc instead of holding alt
13:55:04 <ehird> Here's a better picture of the usable-today Model F:
13:55:11 <ehird> http://img268.imageshack.us/img268/8276/img3347nvm.jpg
13:55:42 <ehird> Hey, look at the LEDs.
13:55:49 <ehird> Caps Lock, Num Lock, Scroll Lock.
13:55:53 <AnMaster> ehird, wasn't there keyboards with up to F24 or such?
13:56:00 <ehird> Terminal boards? Yeah.
13:56:07 <AnMaster> ehird, also it would be annoying only having up to F10
13:56:09 <ehird> Those things were fucking beasts.
13:56:23 <ehird> The F keys are pretty unused.
13:56:36 <AnMaster> ehird, eh. Switching between VTs in linux for example?
13:56:49 <ehird> Besides, just map Windows+F1-2 to F11-12
13:56:57 <ehird> Windows being the Caps Lock in that picture
13:57:04 <ehird> AnMaster: I don't use that many consoles.
13:57:11 <ehird> Heck, even 6 terminals is a lot.
13:57:16 <AnMaster> <ehird> Caps Lock, Num Lock, Scroll Lock.
13:57:24 <ehird> Because Num Lock goes first since forever.
13:57:40 <ehird> Most of the time Num Lock is on, so for the vast majority of time just the middle light will be on.
13:57:44 <ehird> Also, there are arrow keys there, you know.
13:57:52 <ehird> You access them by turning off Num Lock.
13:57:59 <AnMaster> ehird, numlock is usually off in my experience?
13:58:10 <ehird> Does typing the numpad give numbers?
13:58:13 <ehird> Then Num Lock is on.
13:58:38 <ehird> Oh, is this another "I am AnMaster and my obscure use case is the entire world" session?
13:58:51 <AnMaster> ehird, I'm using the laptop :P
13:59:01 <ehird> Apparently the Model F weighs 3 kg.
13:59:26 <ehird> Should show this to everyone who claims that the Model M is built like a tank, ever.
13:59:31 <AnMaster> ehird, a little bit more than an slightly above average laptop then?
13:59:37 <ehird> I wonder if there's a terminal Model F. That'd be a beast.
13:59:48 <ehird> AnMaster: But not very evenly distributed.
13:59:51 <ehird> That thing will feel HEAVY.
14:00:11 <ehird> A terminal Model F would have all the crazy F keys, the numpad-like arrow key formation with the middle button, a few weird-ass keys...
14:00:27 <ehird> It'd be gigantic, heavy as fuck, loud as fuck, tactile as fuck and AWESOME AS FUCK.
14:00:48 <ehird> AnMaster: I'd say a Model F would feel 2x as heavy as a 3 kg laptop.
14:00:50 <ehird> That's just a guess, though.
14:00:58 <AnMaster> ehird, picture of a terminal keyboard?
14:01:11 <ehird> Will find a good one. Sec.
14:01:26 <ehird> AnMaster: http://geekhack.org/attachment.php?attachmentid=4833&stc=1&d=1254255319
14:01:31 <ehird> A Model M terminal board.
14:01:49 <AnMaster> ehird, same but extra F keys? that's all?
14:02:04 <AnMaster> what the hell is the rule one?
14:02:10 <ehird> Look at the arrow keys and the keys above, the whole keyblock to the left.
14:02:12 <ehird> Look at the numpad.
14:02:20 <ehird> They are GIGANTIC.
14:02:34 <ehird> The extra keys are for terminals.
14:02:41 <AnMaster> ehird, numpad looks fairly normal apart from *some* of those blue labels
14:02:50 <ehird> LOL, I like the num lock key. It's scroll lock too.
14:02:54 <ehird> What a compromise for such a huge board.
14:03:01 <ehird> AnMaster: It has a space key on the /.
14:03:05 <AnMaster> the "home/pgup" and such on the numeric ones. are on my keyboard
14:03:05 <ehird> And the + key doubles up as tab.
14:03:22 <ehird> That's what the numpad is for.
14:03:30 <ehird> What did you think it was for — emulating a calculator?
14:03:51 <ehird> Take a look at that numpad area. "FidMk\n\nFA2\n\blue{PgUp}"
14:04:00 <ehird> Ooh, and more on the side.
14:04:05 <ehird> ChgRq? Can't read it properly.
14:04:09 <AnMaster> ehird, nah, more like a well aligned set of keys that you can use for 8 directions in tile based games (of course not)
14:04:18 <ehird> You could just have that key and some modifiers.
14:04:23 <ehird> And do EVERYTHING.
14:04:58 <AnMaster> what happens when you press that I wonder
14:05:08 <ehird> Probably a horizontal rule in a word processor? Or something.
14:05:36 <ehird> "Copy\n\nPlay". Did they have Logic Pro in the 1980s? :-P
14:05:44 <ehird> And "Test" below that; how convenient.
14:05:47 <ehird> Computer, test my software
14:05:52 <ehird> *Computer, test my software!
14:06:05 <ehird> AnMaster: That huge terminal board is just 2.36 kg.
14:06:06 <AnMaster> <ehird> "Copy\n\nPlay". Did they have Logic Pro in the 1980s? :-P <-- I don't get it?
14:06:14 <ehird> So saying that the much smaller Model F is 3 kg...
14:06:19 <ehird> and imagining a Model F terminal board...
14:06:48 <ehird> AnMaster: Logic Pro = Apple's acquiring of eMagic Logic = professional music software
14:06:59 <ehird> My dad has Logic for the Atari ST. :-)
14:07:00 <AnMaster> ehird, wow at the "profile" picture in http://geekhack.org/showthread.php?t=5264&page=2
14:07:10 <ehird> He bought the ST on the day it came out in the UK.
14:07:15 <AnMaster> "The risers on these are good fun, on the high setting the top is about 12cm off the desk:"
14:08:26 <AnMaster> ehird, also that tab key is a bit strange
14:08:37 <ehird> He used to be involved with that sort of stuff, but he's been a phone-call technician for an audio technology company for as long as I can remember.
14:08:50 <ehird> The Atari ST worked as of some years ago.
14:09:05 <ehird> It played Monkey Island like a champ; and old audio software sure is confusing.
14:09:10 <ehird> At least when you're a kid like I was...
14:09:21 <AnMaster> ehird, it is more confusing than modern audio software?
14:09:25 <AnMaster> also doesn't it work any longer?
14:09:28 <ehird> The resolutions are fun; the high one is much taller than it is wide so it's hard to read any text.
14:09:39 <ehird> AnMaster: I don't know; I haven't been to his house since ~2005.
14:09:53 <AnMaster> ehird, oh? parents split up? :/
14:09:54 <ehird> AnMaster: Also, I'd say it's more confusing to get to know, but much more understandable after that.
14:10:01 <ehird> AnMaster: Yes, when I was 3
14:10:22 <ehird> "atari monkey island" in google image source doth not produce useful results
14:10:32 <AnMaster> <ehird> AnMaster: Also, I'd say it's more confusing to get to know, but much more understandable after that. <-- "it" meaning modern or old?
14:10:35 <ehird> There we go. http://www.scummbar.com/games/monkey1/images/atari.gif
14:11:09 <ehird> AnMaster: oh that geekhack page you linked: http://sandy55.fc2web.com/keyboard/6110344/front_1v.jpg
14:11:14 <ehird> Model F terminal board!
14:11:20 <ehird> It looks just as much like a tank as I'd expect.
14:11:32 <AnMaster> ehird, what is the text under those F keys at the top
14:13:42 <AnMaster> ehird, why stop at 24 function keys
14:14:10 <AnMaster> to match the current trend we should really have 64-bi^Wfunction keyboard
14:15:08 <ehird> "To input a number, hold down the keys F1-64 to insert a binary number, and hit enter."
14:15:11 <ehird> It truly is 64-bits!
14:15:15 <AnMaster> ehird, that would be an aircraft carrier! (continuing the military analogy)
14:15:36 <ehird> An inexplicably air- and space-borne ultimate half of an aircraft carrier.
14:15:59 <AnMaster> ehird, "ultimate half" meaning?
14:16:18 <ehird> Well, it was half of an aircraft carrier, and I turned my aircraft carriers into ultimate aircraft carriers, so...
14:16:21 <ehird> (The point thing.)
14:17:02 <AnMaster> with keys for commonly used stuff
14:18:43 <AnMaster> that would change large parts of those special keys to math mode ones instead
14:18:51 <AnMaster> (there would have to be a math shift too)
14:19:31 <AnMaster> nice, it seems AltGr really is "ISO Level3 Shift". Never knew
14:21:26 -!- kar8nga has quit (Remote closed the connection).
14:25:25 <ehird> I want this: http://www.bluesnews.com/miscimages/tmmarble150.gif
14:29:14 <AnMaster> ehird, I want one that works equally well in either hand (most likely impossible)
14:29:25 <ehird> They exist; finger-controlled.
14:29:31 <ehird> Thumb trackballs appear to be better, however.
14:29:40 <AnMaster> ehird, I meant thumb ones. It could work however
14:29:58 <AnMaster> like pulling part of the left and right side away and switching their places
14:30:05 <AnMaster> had to be a cleaver design that could be mirrored
14:30:20 <AnMaster> ehird, because I use both hands for mice normally?
14:30:35 * AnMaster has a symmetric mouse for that reason
14:30:43 <ehird> No reason to with a trackball. Everything's stationary.
14:30:45 <AnMaster> atm I'm using left, but just a while ago right
14:31:07 <ehird> Besides, the fine motor skills you need in your thumb probably take a while to develop.
14:31:10 <ehird> Of course it's best to have a keyboard without a number pad.
14:31:12 <AnMaster> ehird, to reduce strain on thumb?
14:31:20 <ehird> That way it's easier to reach by far.
14:31:49 <AnMaster> ehird, well, put the number pad on the side you don't use the mice on atm?
14:31:55 <ehird> And if you don't care enough about the mouse to chop off the number pad for your main computer-usage board, don't bother paying the extra for a trackball.
14:32:04 <ehird> Just get a $5 mouse because you clearly don't care about your pointing experience.
14:32:10 <AnMaster> ehird, that's because I use the number pad...
14:32:44 <ehird> Then obviously the immense pain of swapping keyboards when you need the number pad, or plugging in a separate numberpad, outweighs all advantages of pointing to you.
14:32:50 <ehird> So, just get a $5 mouse.
14:33:00 <ehird> (Separate numberpads do exist and are easily available.)
14:34:04 <Deewiant> As an aside, do you know if Xkb can be told to use a different key map for a separate numpad than for the primary keyboard?
14:34:21 <ehird> AH, THE OTHER KEYBOARDIC PERSON HERE hi
14:34:31 <ehird> It appears as a separate keyboard, yyeah?
14:34:39 <AnMaster> ehird, you missed my point completelt
14:34:54 <Deewiant> If I try stuff out in xev I see no difference between them
14:35:08 <ehird> AnMaster: You know, the intent of communication is to transfer a thought to someone else. If I misunderstood that's not my fault.
14:35:19 <ehird> Deewiant: Do they appear as different keyboard objects, so to speak
14:35:20 <Deewiant> I don't know where I could see a difference between which keyboard a keypress came from
14:35:27 <AnMaster> ehird, same goes in the other direction I assume? :P
14:35:29 <ehird> Check what X thinks its xorg.conf is
14:35:47 <AnMaster> ehird, you seem to blame me for not understanding you a lot...
14:35:51 <ehird> will start X, dump a hueg liek xbox config file into your current dir, and tada
14:35:59 <ehird> AnMaster: Yes, but I readily admit I'm a hypocrite.
14:36:34 <Deewiant> ehird: I use input hotplugging, keyboards aren't in xorg.conf.
14:36:58 <ehird> Deewiant: irrelevant
14:37:04 <ehird> X -configure dumps everything it has right now
14:37:09 <ehird> It even works on HAL
14:37:18 <Deewiant> That'd require stopping X. :-/
14:37:58 <ehird> Detach all the processes from X11 somehow so you can reattach them. Somehow. :P
14:38:08 <ehird> See, if X was well-designed they wouldn't depend on the X server being alive to stay alive...
14:38:51 <AnMaster> Deewiant, try xinput(1) maybe=
14:39:07 <ehird> Deewiant: Write two sections manually, I guess.
14:39:09 <AnMaster> and yeah -configure wouldn't help
14:39:13 <ehird> You can't hotplug PS/2 anyway.
14:39:28 <Deewiant> It's worked fine for me so far. :-P
14:39:45 <Deewiant> (Only one PS/2 port necessitates that.)
14:40:22 <ehird> Here's a nickel, kid; go buy one more PS/... no, wait... one less PS/... no, um, never mind.
14:40:58 <ehird> I wonder if scrolling with a wheel-less trackball is practical.
14:41:53 <Deewiant> Hmm, I wonder if I need MPX for this to work.
14:42:58 <Deewiant> Well, I evidently have MPX, since it's in 1.7.
14:44:15 <Deewiant> Hmm, maybe that's what broke my key repeat settings recently.
14:44:46 <Deewiant> (Pressing any key apart from numlock on the numpad causes backspace [capslock] to no longer repeat)
14:46:48 <Deewiant> http://www.justfuckinggoogleit.com/?q=mpx
14:47:52 <ehird> Old school, all the kids are using lmgtfy
14:48:04 <ehird> MPX is for, you know, pointers, innit?
14:48:15 <ehird> Did I say it was bad
14:48:19 <Deewiant> lmgtfy requires javascript, which AnMaster won't have enabled
14:48:41 <ehird> Your client does not have permission to get URL /custom?q=mpx&sa=Search&client=pub-5834014132134539&forid=1&ie=UTF-8&oe=UTF-8&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1%3B&hl=en from this server. (Client IP address: 212.183.134.129)
14:48:48 <ehird> Deewiant: He probably disabled meta refreshes too.
14:48:58 <ehird> I doubt lynx supports them, actually.
14:49:03 <ehird> Or is it elinks he uses.
14:49:09 <Deewiant> The page links to the appropriate google search directly.
14:49:13 <ehird> Maybe Konqueror broke it in KHTML "Dead and Buried" 33.4
14:49:23 <ehird> Deewiant: It's a 403 for me, at least :P
14:49:36 <Deewiant> I talked about the link, not the redirect.
14:49:46 <Deewiant> Rather, the links, of which there are three.
14:49:59 <Deewiant> Redirect seems to work fine for me.
14:51:44 <ehird> No, that's ais523.
14:58:52 <ehird> Whee, nice syntax.
15:07:44 <oklopol> i'm a point, i'm a ball, i'm a stick, i'm a stall
15:14:19 <AnMaster> <ehird> No, that's ais523. <-- huh? I use both lynx and w3m. I don't use links2 much, and elinks I don't even have installed
15:16:05 <ehird> A stenotype, stenotype machine or shorthand machine is a specialized chorded keyboard or typewriter used by stenographers for shorthand use. In order to pass the Registered Professional Reporter test, a trained court reporter or closed captioner must write speeds of approximately 180, 200, and 225 words per minute at very high accuracy in the categories of literary, jury charge, and testimony, respectively,.[1] Many users of this machine can even reach 300
15:16:05 <ehird> per minute and per the website of the California Official Court Reporters Association the official record for American English is 375 wpm.
15:19:14 <AnMaster> "Many users of this machine can even reach 30
15:19:24 <ehird> http://justfuckinggoogleit.com/?q=closed+captioner
15:19:34 <ehird> "The righardware template is no good, so I'm not using it."
15:21:28 <AnMaster> ah so that is what closed captioning is
15:25:09 <ehird> righardware is a template on the wearable computing wiki.
15:26:00 <ehird> http://upload.wikimedia.org/wikipedia/en/c/cf/Steno-example.gif
15:26:54 <AnMaster> ehird, pretty, but what the heck is that mapping?
15:27:16 <ehird> [15:16] ehird: A stenotype, stenotype machine or shorthand machine is a specialized chorded keyboard or typewriter used by stenographers for shorthand use. In order to pass the Registered Professional Reporter test, a trained court reporter or closed captioner must write speeds of approximately 180, 200, and 225 words per minute at very high accuracy in the categories of literary, jury charge, and testimony, respectively,.[1] Many users of this machine can
15:27:18 <ehird> reach 300 words per minute and per the website of the California Official Court Reporters Association the official record for American English is 375 wpm.
15:27:33 <AnMaster> ehird, but I asked for encoding table or such
15:27:41 <ehird> http://en.wikipedia.org/wiki/Stenographersv
15:27:44 <ehird> http://en.wikipedia.org/wiki/Stenographers
15:31:06 <Gregor> <AnMaster> "Many users of this machine can even reach 30
15:31:08 <Gregor> <AnMaster> <ehird> per minute"
15:31:29 <ehird> and 225 words per minute at very high accuracy in the categories of literary, jury charge, and testimony, respectively,.[1] Many users of this machine can even reach 300 words per minute and per the
15:31:32 <ehird> I absolutely did not.
15:31:33 <Gregor> Stenographers can write a book in ten minutes.
15:31:41 <ehird> http://en.wikipedia.org/wiki/Stenotype has the mapping
15:31:48 <ehird> Gregor: Are you joking or what :P
15:51:51 <AnMaster> I just noticed that mac os thinks that sheepshaver's emulated disks are "internal floppy drive"s. A 500 MB floppy drive eh
15:52:21 <ehird> that's the one that sucks
15:52:22 <Gregor> Observation: gnash actually ... like ... works 'n stuff.
15:52:30 <ehird> Gregor: Not on YouTube last I tried.
15:52:40 <ehird> Then again I couldn't be fucked to compile it myself, I just used Ubuntu's package
15:52:41 <AnMaster> ehird, well it can't run the old games I want. Not even Basilisk II can
15:52:41 <Gregor> I'm using YouTube right now.
15:52:46 <ehird> Gregor: CPU usage?
15:52:47 <AnMaster> and mini vmac is for even older
15:52:57 <ehird> Mini vMac is = Basilisk II in recentness.
15:53:00 <ehird> Emulates a Mac Pluss.
15:53:01 <Gregor> ehird: Pretty high, but only one of my quadcore.
15:53:06 <ehird> Gregor: Sidux? Frls? xd
15:53:14 <AnMaster> ehird, basilisk II emulates a quadra iirc?
15:53:19 <ehird> Also, great, so it's just like the actual Flash player but it works less.
15:53:30 <Gregor> Yes, I'm actually using sidux. It's awesomesauce.
15:53:34 <ehird> AnMaster: It's a setting. But Mac Plus is fine for 68k.
15:53:44 <ehird> Gregor: What's it got over sid
15:54:17 <Gregor> ehird: They have a repo of stuff that's sort of a fixed-sid. It's a little bit intermediate between sid and testing.
15:54:54 <ehird> I'd just use testing since, you know, Debian devs won't pander to people who want a "stable sid" so sidux is kinda fighting the tide.
15:55:07 <ehird> Well, that's a lie; I'd actually use mine. Which I need to name really quickly.
15:55:53 <Gregor> I had used testing, I'm trying out sidux now.
15:57:46 <ehird> AsOfYetUnnamedThing FTW!
15:57:49 <ehird> It's totally kick-raddin'.
15:57:56 -!- oklokok has joined.
15:57:59 <ehird> If it existed yet.
15:58:03 <ehird> Just need hardwarrrrrrrrrrrrrrrrrrrr.
15:58:11 <ehird> Yes, a war that is hard is what I need.
16:13:04 <Gregor> btw, I've already switched to proprieflash :P
16:13:37 <AnMaster> ehird, emulator to begin with?
16:13:58 <ehird> Emulator? I hardly knew 'er!
16:14:13 <ehird> (Emulator? Damn near killed 'em!)
16:14:33 <ehird> Gregor: I thought that was a keyboard layout for a second
16:15:40 -!- oklokok has quit (Read error: 148 (No route to host)).
16:16:04 -!- oklokok has joined.
16:17:33 <ehird> WOO A NEW XKCD. It's an unfunny non-joke like always
16:18:48 -!- oklopol has quit (Read error: 110 (Connection timed out)).
16:33:25 <ehird> So, rwx.st got squatted days after I saw it was available.
16:33:47 <ehird> Looks like Swedish to me; AnMaster — some broadband company?
16:34:07 <ehird> http://www.bahnhof.se/ is the company, it seems.
16:34:19 <ehird> http://www.bahnhof.se/privat/
16:34:23 <AnMaster> that's an ISP in Sweden iirc. Or maybe backbone company
16:34:24 <Deewiant> Bahnhof är Sveriges största oberoende och fristående internetoperatör."
16:34:56 <Deewiant> "Bahnhof is Sweden's largest independent and freestanding internet operator"
16:48:00 -!- oerjan has joined.
16:57:29 <oerjan> to do a zen pogrom, you first have to learn not to do a zen pogrom.
16:57:32 * ehird comes up with a fun little *unixy* design for a combined screen saver/locker
16:58:31 <oerjan> no no, a unixy design would clearly have the screen saver and locker as separate programs
16:58:54 <AnMaster> oerjan, indeed. In fact that is what xscreensaver does
16:59:14 <ehird> oerjan: yes, mine does
16:59:21 <ehird> specifically, a screen saver can be any program at all, no special api
16:59:37 <AnMaster> ehird, it has to be full screen though?
16:59:46 <oerjan> but you said "combined"...
16:59:51 <ehird> oerjan: well, sort of
16:59:51 <ehird> the locker basically just does the magic locking, overlays the screen with black, and then optionally starts your screensaver program
17:00:13 <ehird> fuck it, no point explaining
17:00:26 <AnMaster> the locker, and the app on top
17:00:29 <ehird> firstly, they're not apps, they're programs.
17:00:32 <ehird> secondly, there is no secondly
17:00:55 <AnMaster> ehird, define the difference between an application and a program?
17:01:06 <ehird> an application is what WIMP guis have
17:01:17 <ehird> a program is a self-contained black-box like a function
17:01:32 <ehird> unixy programs are either written in C or compositions of other programs.
17:01:45 <ehird> anyway, it's combined because you can use it to do both, duh
17:01:55 <ehird> it's a combined screen locker/saver *engine-
17:02:11 <ehird> just because it doesn't include any actual screen savers doesn't mean it isn't a combined screen locker/saver
17:04:21 <ehird> i've eaten semi-recently and i'm not tired, so i'm fairly sure either the sides of my bed swapped overnight making me exit through the wrong one, or you're all being especially annoying today :|
17:04:43 <ehird> the advantage of the design is that you can use any program as the screensaver
17:04:57 <ehird> xlogo, glxgears, even an xterm running top or something
17:04:57 <oerjan> naturally if the sides swapped you must now be in the mirror universe
17:05:20 <ehird> heck, you could even run xscreensaver's screensaver
17:05:24 <ehird> if you wanted to, for some reason
17:05:31 <ehird> (not the locker though, that'd Break Shit)
17:05:40 -!- augur has quit ("Leaving...").
17:06:02 <ehird> and a changing screensaver is just a shell script that goes through a list in random order, spawns it, sleeps N seconds, kills it, and runs the next one
17:06:35 <ehird> (the locker will capture all keyboard and mouse events so it's safe)
17:10:38 <ehird> i believe you could even set the screensaver to a program that turns off the display
17:11:12 <ehird> well, it might not be that simple since it has to turn back on to show the password prompt or return to the computer, but easy enough
17:14:57 -!- kar8nga has joined.
17:16:38 <oklokok> oh do you have a *goatee*, was kinda far from the screen and thought oerjan asked if you had a goatse, like mirror universe => inverse ass... or something
17:17:38 <oklokok> well that's my contribution ->
17:18:17 <oerjan> well now you are just talking out your ass
17:34:09 <AnMaster> I guessed word perfect but that didn't work. file(1) says "microsoft office document" but trying as that doesn't work either
17:35:24 <ehird> It's Microsoft Works.
17:35:43 <ehird> I don't know, I just googled. Like you should have.
17:35:52 <ehird> Detailed information for file extension WPS:
17:35:53 <ehird> Primary association: Works
17:35:53 <ehird> Company: Microsoft Corporation
17:35:53 <ehird> Mime type: application/vnd.ms-works, application/x-msworks-wp, zz-application/zz-winassoc-wps, text/plain
17:35:53 <ehird> Identifying characters Hex: D0 CF 11 E0 A1 B1 1A E1 00 , ASCII:
17:35:54 <ehird> Program ID: MicrosoftWorks.WordProcessor.5 , MSWorks4WordProcessor , Works.Word.Document.8
17:35:55 <AnMaster> ehird, it didn't work to convert from that
17:35:55 <ehird> Related links: Microsoft Office Home Page, MS Article: Open Works in Word, OpenOffice.org
17:36:01 <ehird> Converter's fault.
17:36:20 <AnMaster> ehird, tried MS word's own works converter
17:37:54 <AnMaster> ehird, takes too long. Told the person to re-send it as rtf
17:38:04 <ehird> Why didn't you do that first thing?
17:38:44 <ehird> http://geekhack.org/attachment.php?attachmentid=3502&stc=1&d=1249088737
17:38:45 <AnMaster> ehird, because there is a certain risk of having to tell the person how to do that.
17:38:45 <ehird> Pictured: a Boscom keyboard being dropped from a ladder.
17:39:14 <ehird> http://geekhack.org/attachment.php?attachmentid=3503&stc=1&d=1249088928
17:39:15 <ehird> Various parts jumping ship.
17:39:28 <ehird> AnMaster: Think so, yes. To see how high you need to drop it from to destroy the rivets.
17:39:46 <ehird> It's MythBusters-style "science" and it's hilarious.
17:39:56 <AnMaster> ehird, even with those parts jumping out of it?
17:40:04 <ehird> Those are just parts of the rivets, I believe.
17:40:15 <ehird> http://geekhack.org/attachment.php?attachmentid=3509&stc=1&d=1249142093
17:40:15 <ehird> Look, it's bendy! Nice ergonomic keyboard.
17:40:30 <ehird> "What's surprising is that plugging it in MOST of the keys work fine - All the Function keys, most of the main cluster except the left modifiers. Numpad and weird keys on left are toast. Not bad for a 12 foot concrete drop."
17:40:42 <AnMaster> <ehird> Look, it's bendy! Nice ergonomic keyboard. <-- huh?
17:41:01 <ehird> The case has been warped by the drops.
17:41:06 <AnMaster> oh right the bottom isn't straight
17:41:22 <AnMaster> ehird, sure it isn't due to a wide angle camera lens?
17:41:33 <ehird> Since I stole the joke from the post, I'm sure./
17:42:56 <ehird> All Model Ms and followups (Unicomp (who took over from Lexmark who took over from IBM) are the OEM for Boscom) get something like 12-key rollover. Or was it 20?
17:43:01 <ehird> Not n-key, that's a recent thing.
17:43:06 <ehird> But higher than your average board.
17:43:18 <ehird> USB only does 6-key rollover anyway, and only gamers complain.
17:43:34 <ehird> And most keyboards in general only get about 3-key rollover.
17:43:35 <ehird> So it's kinda moot.
17:44:19 <AnMaster> ehird, does modifier keys count separately?
17:44:49 <ehird> It varies based on the matrix. It's very complicated.
17:44:55 <ehird> There are a few standard tests to work out the rollover.
17:44:58 <AnMaster> ehird, my main issue is that my current keyboard doesn't allow Alt-Space-Right arrow (alt-space-left-arrow works fine)
17:45:22 <AnMaster> remapping to ctrl makes ctrl-space-right work but not ctrl-space-left
17:45:32 <ehird> Oh, that crappy PS/2
17:46:11 <AnMaster> ehird, btw, when did you last see a laptop with full sized arrow keys?
17:46:36 <ehird> My shitty netbook.
17:47:08 <ehird> i love how I can middle-click a button in safari to submit a form in a new tab
17:47:11 <ehird> great for e.g. search fields
17:47:41 <AnMaster> ehird, does that work in firefox (I don't think I ever tried)
17:50:10 <AnMaster> ehird, did you know that Microsoft's Virtual PC was originally based on a mac program with the same name?
17:50:18 <AnMaster> of which I just found a copy in an old box
17:50:25 <ehird> It's still offered today.
17:50:57 <ehird> In July 2006 Microsoft released the Windows-hosted version as a free product.[1] In August 2006 Microsoft announced the Macintosh-hosted version would not be ported to Intel-based Macintosh computers, effectively discontinuing the product as PowerPC-based Macintosh computers are no longer manufactured. The newest release, Windows Virtual PC is available only for Windows 7 hosts.
17:51:19 <AnMaster> ehird, maybe I should try to install it under the mac emulator, and run linux in it
17:51:48 <ehird> And run SheepShaver from the Linux.
17:51:55 <ehird> Pretty sure Virtual PC is Windows only though
17:52:05 <AnMaster> ehird, nop, I ran linux under it before
17:52:57 <ehird> Name for a bug tracking system: Samsa
17:53:16 <AnMaster> ehird, however, I'm sceptical of it working.... Sheepshaver isn't exactly reliable even with other programs. And VirtualPC did something to put the CPU in little endian mode iirc
17:55:54 <AnMaster> ehird, meh, starting virtualpc makes sheepshaver segfault. 100% reproducible.
17:56:08 <ehird> no configuration required ;-)
17:56:10 <AnMaster> ehird, it needs OS 8 or later. PPC
17:56:38 <AnMaster> ehird, oh you mean running mini vmac under sheepshaver?
17:57:16 <ehird> wait, it isn't ppc
17:57:29 <ehird> AnMaster: if you have a windows host you could try vmac
17:57:49 <ehird> oh, vmac is 68k only too
17:58:03 <ehird> hmm it does run on linux yes
17:58:10 <ehird> unmainntained since '98 though :)
17:58:14 <ehird> http://www.vmac.org/
17:58:15 <AnMaster> ehird, why do you think I'm using sheepshaver if there was an alternative for PPC OS 8/9
17:59:08 <AnMaster> ehird, sheepshaver is crashy, and buggy. Like I want to run those old avernum games. Avernum 1 and avernum 2 works fine. Avernum 3 gives a blank screen. :(
17:59:20 <ehird> sheepshaver is shit, basilisk ii is also shit but slightly less so
17:59:32 <ehird> mini vmac is 700x less shitty than both if you can do 68k
17:59:36 <ehird> AnMaster: i know that.
17:59:44 <ehird> i was running through all the current mac emulators
18:00:02 <AnMaster> I think they might run under OS X. Not sure though
18:00:21 <AnMaster> ehird, does intel OS X's rosetta support Carbon? Or only Coca?
18:00:23 <ehird> AnMaster: Classic just runs OS 9 in OS X basically
18:00:30 <ehird> It supports Carbon
18:00:36 <AnMaster> ehird, I checked, they link to carbon.
18:00:44 <ehird> but I don't think classic binaries would work, Mach-O and the like ...
18:00:51 <ehird> feel free to email them to penguinofthegods@gmail.com
18:00:59 <ehird> there IS a chance they'll work
18:01:04 <ehird> rosetta is just a ppc emulator, btw
18:01:16 <ehird> photoshop cs3 is almost usable on this imac with it
18:01:22 <ehird> and it's what people used on mac pros for a while
18:01:38 <ehird> slower than a g5, sure... but still probably the fastest totally-different-CPU emulator out there
18:01:51 <AnMaster> ehird, I can provide you with download link. They are shareware (only part of the game world available unregistered) with "response code" system. As in, on install they generate a key, and you have to enter a response key
18:02:00 <AnMaster> there are cracks around (that runs on windows)
18:02:32 <AnMaster> ehird, ftp://ftp.ironycentral.com/mac/Avernum3.demo.bin
18:03:02 <ehird> Yes ... ten years ago
18:03:21 <ehird> That download appears to have failed, I'll try wget
18:03:22 <AnMaster> I could download it and repack it as .sit.hqx I guess...
18:03:28 <ehird> OS X does .bin it seems
18:03:42 <AnMaster> ehird, I know I wgeted it to the shared folder thing
18:03:43 <ehird> No such file `Avernum3.demo.bin'.
18:03:49 <ehird> thou failest to the top amount!
18:03:59 <AnMaster> ehird, ah try ftp://ftp.spiderwebsoftware.com/mac/Avernum3.demo.v101.bin
18:03:59 * ehird opens the directory it's in
18:04:19 <ehird> And I can see it in the folder, but eh.
18:04:26 <ehird> (Spider one works)
18:04:46 <AnMaster> ehird, spiderwebsoftware is the ones that produced it btw
18:05:19 <AnMaster> ehird, and the latter link is an older version. Oh heh it says they ported it to native OS X in the later version.
18:05:39 <AnMaster> well. I guess if I could get OS X to run in some emulator I could use it
18:05:56 <ehird> VirtualBox + OSX86
18:06:10 <AnMaster> ehird, that works? Hardware compat and such I mean
18:06:10 <ehird> I suggest Snow Leopard, since it has the Intel optimisations
18:06:18 <ehird> AnMaster: Try qemu if not
18:06:23 <ehird> Slow but usable, since it emulates real hardware
18:06:43 <AnMaster> ehird, well I'm pretty sure qemu doesn't emulate the right hardware. Some cirrus graphics card for exampl
18:07:07 <AnMaster> ehird, as far as I heard OS X is incredibly picky about hardware?
18:07:48 <ehird> OSx86 people make drivers.
18:08:03 <ehird> You could also just install it to another partition
18:08:15 <ehird> Although it'd have to be like 10 GiB
18:08:30 <ehird> rc=`{echo $rc+1 | bc}
18:08:43 <ehird> rc's only disadvantage is that saying rc++ is loquacious :P
18:08:43 -!- Asztal has joined.
18:09:19 <AnMaster> ehird, what exactly does that code do?
18:09:33 <ehird> Same as rc=$(echo "$rc"+1 | bc)
18:10:11 <AnMaster> oh something like (( rc++)) then?
18:10:13 <ehird> ; fn ++ { eval '$'^$1^'=`{echo $'^$1^'+1 | bc}' }
18:10:15 <ehird> If only we had something like Tcl's uplevel! XD
18:10:18 <ehird> (Warning: Awful hack above)
18:10:26 <ehird> AnMaster: Yes, it's rc=rc+1
18:10:38 <ehird> rc is a shell, so you use a calculator command to calculate things.
18:10:50 <ehird> It's not intended for mathematics-heavy code.
18:11:06 <AnMaster> ehird, well right. But most programming languages have some way to increment variables. Even if not for math heavy things
18:11:08 <ehird> It's very good as a scripting language; in fact, I don't see all that many uses for Python if you have rc.
18:11:30 <ehird> for(i in `{seq 10}) echo $i
18:11:51 <ehird> Everything is standard, it's a fucking shell
18:11:58 <ehird> The whole point is that you compose together little unixy tools
18:12:20 <ehird> (I won't bother putting your head, I'd have to flood empty lines for decades)
18:12:38 <AnMaster> but sure, if you have that tool it would work
18:13:00 <ehird> Yeah and what if you had a Python with all arithmetic capabilities removed?!
18:13:03 <ehird> IT WOULDN'T WORK THEN
18:13:07 <ehird> Python is unusable for arithmetic.
18:14:10 <ehird> Well I just proved it didn't I
18:14:23 <AnMaster> didn't work with it removed yes
18:14:34 <AnMaster> but that isn't what you said in the last line
18:14:35 <ehird> 97% [====================================> ] 11,621,224 18.1K/s eta 19s
18:14:52 <ehird> AnMaster: And that rc script won't remove if you remove a very useful tool like seq.
18:15:00 <ehird> It's called "dependencies".
18:15:07 <ehird> All software has them.
18:15:08 <AnMaster> won't remove? won't work you mean?
18:15:48 <ehird> http://swtch.com/plan9port/man/man1/seq.html
18:15:56 <ehird> plan9port has seq. Depend on that or something.
18:16:05 <ehird> Anyway such loops are useless generally.
18:16:13 <ehird> It's very rare that a from i=0 to n can't be rephrased in a better way.
18:17:03 <ehird> plan9port is where everyone gets their rc anyway, or the fork 9babse
18:17:11 <ehird> http://imgur.com/NeGZp.png
18:17:13 <ehird> STOP SMILING AT ME MACINTOSH
18:17:17 <ehird> I am not happy with you
18:19:04 <AnMaster> ehird, true "for i in foo" is often possible
18:19:18 <ehird> Among other constructs.
18:19:24 <ehird> This is totally irrelevant, you know.
18:19:33 <AnMaster> ehird, did the more recent avernum 3 work?
18:19:54 <ehird> If not, it will not work. Classic in OS X is dead, no longer supported, end of.
18:20:33 <AnMaster> ehird, as far as I understand it, yes. says "Avernum 3 runs natively under Macintosh OS X.". And that the last version no longer supports OS 9 and older
18:21:08 <AnMaster> ehird, ftp://ftp.ironycentral.com/mac/Avernum3.demo.bin (the spiderwebsoftware one was the older version)
18:21:09 * ehird compiles the Heirloom Toolchest
18:21:20 <ehird> Don't you mean the dmg?
18:21:35 <AnMaster> ehird, of having Heirloom Toolchest installed
18:21:58 <ehird> Gee, what a club. Not like you probably use it as your main tools...
18:22:19 <AnMaster> ehird, actually /bin/vi is from heirloom :P
18:22:36 <ehird> Same person different project
18:22:44 <ehird> This demo is .bin, it's definitely Classic-only
18:22:49 <ehird> There's an Avenrum 4 dmg though
18:23:00 <AnMaster> ehird, avernum 4 doesn't really interest me. Too modern :/
18:24:54 <AnMaster> ehird, okay so I guess avernum 3 is a lost hope. But blades of avernum seems to have a dmg version too. That should work
18:25:08 <AnMaster> ftp://ftp.ironycentral.com/mac/BladesofAvernumDemo.dmg
18:25:13 <ehird> will download soon.
18:25:28 <ehird> cc install_ucb.o -L../libcommon -lcommon -o install_ucb
18:25:28 <ehird> Undefined symbols:
18:25:28 <ehird> "_pfmt_label__", referenced from:
18:25:28 <ehird> _pfmt_label__$non_lazy_ptr in libcommon.a(getopt.o)
18:25:29 <ehird> ld: symbol(s) not found
18:25:30 <AnMaster> ehird, althrough it says "demo" it is the same as the full one. A bit strange
18:25:43 <AnMaster> ehird, no fucking clue. Never hit that.
18:26:44 <AnMaster> wouldn't surprise me if it was related to that
18:27:43 <AnMaster> ehird, but I wonder what sort of linker trick they are doing to cause that.
18:27:54 <ehird> None, it's regular code.
18:28:01 <ehird> Just an undefined symbol.
18:28:20 <AnMaster> ehird, what about the $non_lazy_ptr bit?
18:29:03 <AnMaster> ehird, and: can you find the definition elsewhere in the code?
18:29:40 <ehird> Too lazy, already rm -rf'd.
18:29:51 <AnMaster> ehird, oh btw did you make -j?
18:30:28 <AnMaster> googling suggests there is a pfmt_label.c around
18:30:40 <ehird> maybe i got configuration wrong blah blah
18:30:43 <AnMaster> hm no possible race condition about that then
18:31:02 <ehird> just some make variables, skimmed them
18:31:16 <ehird> too lazy to care, going to continue fawning over my awesome latex-style syntax
18:32:41 <AnMaster> ehird, latex-style syntax for?
18:33:17 <ehird> Written-in-rc little web publishing-style system, because I need to get off my arse and publish software ands tuff.
18:33:45 <AnMaster> ehird, anything wrong with markdown?
18:33:48 <ehird> Extensible, so it's sort of like a web framework that also handles navigation and other site-like things for you.
18:33:50 <ehird> Except much simpler.
18:34:21 <ehird> AnMaster: Yes; it's kind of ugly, some bits are unintuitive, and fundamentally it fails at being so easy as to not require thinking, but it's "free" enough to require even more thought, as your brain doesn't go into code mode.
18:34:35 <ehird> Plus, mine is simpler, and handles more advanced structures better.
18:34:38 <AnMaster> ehird, iirc there was some sort of "hypercard for the web" software called "livecard" or something like that. Maybe that would work? XD
18:35:27 <AnMaster> ehird, http://www-psych.stanford.edu/~pinto/hc4.html (search for "How can I get my HyperCard stack on the web")
18:35:42 <ehird> Thanks but no thanks.
18:39:08 <ehird> Ha, Model Ms are "technically" 2-key rolloverr
18:39:17 <ehird> Because "ASX" fails
18:39:39 <ehird> Dunno. Most combinations should work.
18:39:47 <ehird> Without n-key rollover you'll always have edge cases.
18:39:54 <AnMaster> ehird, they have the same relative placement though
18:40:09 <ehird> That's not how the matrix works.
18:40:10 <ehird> Hey, the AT Model Fs are N-key rollover.
18:40:28 <AnMaster> ehird, I never studied keyboards much, wouldn't know
18:41:40 <ehird> Keyboards are awesome
18:42:37 -!- oklokok has changed nick to oklopol.
18:43:35 <AnMaster> "This site uses AJAX to generate page content. You need to enable Javascript in your browser and reload the page in order to see it." <-- argh. That is quite horrible.
18:43:55 <AnMaster> http://alex.csgraf.de/self/?qemu/
18:44:13 <AnMaster> found when reading various stuff about OSx86.
18:44:14 -!- puzzlet has quit (Remote closed the connection).
18:44:18 -!- puzzlet has joined.
18:44:27 <AnMaster> post from 2007 so could be completely outdated info
18:44:50 -!- Asztal has quit (Remote closed the connection).
18:45:24 <ehird> "Mac OS X is a really great Operating System. They did a lot of things right, especially in the Interface parts. Sadly it is neither the fastest Operating System, nor the securest out there."
18:45:33 <ehird> OS X is a pretty fucking secure BSD...
18:47:03 <ehird> http://www.nazgul.ch/dev_nostromo.html seems to be a decent httpd... sure would be nice not to have to write my own :P
18:47:34 <AnMaster> that is about as minimal as you can get
18:48:02 <ehird> As seen at http://www.nazgul.ch/dev_nostromo.html thttpd is about as scalable than nostromo, and nostromo is about as minimal as thttpd.
18:48:10 <ehird> Difference is that thttpd is practically unmaintained.
18:48:37 <AnMaster> ehird, they didn't test with more than 300 clients?
18:48:43 <ehird> And a large aspect of thttpd, "It also has one extremely useful feature (URL-traffic-based throttling) that no other server currently has.", is totally useless to me.
18:48:55 <ehird> AnMaster: running server benchmarks takes a lot of resources, and besides:
18:49:02 <ehird> Client: resurrection, Sun Ultra 2, SPARC 400MHz, 100Mbit NIC
18:49:03 <ehird> Server: gollum, Intel, x86 3GHz, 100Mbit NIC
18:49:19 <ehird> But you can clearly see from the graph that nostromo scales linearly.
18:49:31 <ehird> It seems to level off there.
18:49:42 <ehird> I wonder what caused the spike in http://www.nazgul.ch/images/httperf_small-l.png.
18:49:57 <AnMaster> ehird, I suspect nostromo will level off at some point too. Just a hunch.
18:50:10 <AnMaster> it does use select() after all.
18:50:33 <ehird> Of course nothing can scale linearly, don't you know the first thing about computers? Limited resources.
18:50:53 <AnMaster> ehird, well yes. But I meant before something using epoll will level off.
18:51:02 <ehird> Because epoll is shiny and new?
18:51:28 <AnMaster> ehird, because epoll doesn't need to send the fd list to the kernel every time you want to wait for something to happen
18:52:27 <ehird> Eh. It doesn't really matter all that much.
18:52:29 <AnMaster> with many concurrent clients that might all send you some data soon, this could be an issue.
18:52:45 <ehird> I mean, CGI will be a bottleneck far before select.
18:53:06 <ehird> I was just showing that nostromo scales as well as thttpd, which is a good indicator of simplicity and good design.
18:53:17 <AnMaster> ehird, iirc http allows you to reuse a connection for several requests? Like fetching images related to the page in the same connection. Might be HTTP/1.1 only or such
18:53:32 <ehird> Yeah, I don't give a damn about that
18:53:37 <ehird> If I wrote a server I probably wouldn't support it
18:54:31 <AnMaster> ehird, is that allowed by standard? Because if it isn't I'm fairly certain that it might cause problems with modern browsers. At least firefox makes use of it.
18:54:35 <AnMaster> and probably other browsers too
18:54:54 <ehird> Of course if the browser sends Connection: keep-alive or whatever it is but the connection closes anyway it just makes a new connection.
18:55:07 <ehird> There are plenty of situations where it doesn't work, I believe.
18:55:18 <AnMaster> ehird, anyway. You probably won't need to scale that much in the beginning. If you find out it doesn't scale you could replace it with something else
18:55:51 <ehird> I'm more interested in fast page loads with no-to-little load.
18:56:08 <ehird> Over the interwebternets.
18:56:33 -!- augur has joined.
18:56:34 <ehird> That's the actually applicable situation; of course, I want pages to load very quickly (perfectly possible, e.g. Cherokee achieves this without any tweaking), and I probably won't get many concurrent visitors.
18:56:36 <AnMaster> ehird, well, that depends on your page size basically. You probably want to send it compressed
18:56:45 <augur> ehird: its actually not that i need a watch, see
18:56:56 <ehird> Compression is good but there are lots of other things too
18:57:12 <augur> my grandmother is insisting on getting me a christmas gift, despite me adamant protests
18:57:28 <ehird> "despite me adamant protests". Yooth slang!
18:57:35 <coppro> what augur needs is a watchmaker *ducks*
18:57:44 <ehird> Some cognitive dissonance as soon as you hit "adamant"
18:57:52 <ehird> augur: Well make it something useful then
18:57:52 <augur> watchmaker watchmaker make meeee a watch
18:57:54 <AnMaster> ehird, can Cherokee do "compress and cache" on the fly? Like for *.html, if there is a compressed variant of the file in the cache directory, use it, otherwise compress it and cache it. Oh and re-compress and cache if the html page has been updated.
18:57:59 <augur> also, its not actually youth slang
18:58:06 <ehird> AnMaster: I don't know.
18:58:08 <augur> well, for south in the south it might be
18:58:08 <ehird> I don't know these things.
18:58:16 <ehird> You constantly ask people if things can do things
18:58:18 <augur> also, i dont NEED anything, ehird! :|
18:58:19 <ehird> just because they mentioned the first thing
18:58:23 <ehird> That's not how knowledge works
18:58:24 -!- puzzlet_ has joined.
18:58:47 <AnMaster> ehird, huh. Sorry. But Imight just add that lighttpd has that feature. Pretty nice.
18:58:55 <ehird> I imagine most httpds have it.
18:58:55 <AnMaster> still shouldn't be hard to make something similar
18:59:06 <ehird> Here's an example of a page that loads really quickly: http://concatenative.org/wiki/view/Front%20Page
18:59:10 <AnMaster> ehird, indeed. but this nhttpd looks a bit limited?
18:59:16 <ehird> (Adjust for distance from the server, of course)
18:59:20 <ehird> Important things it does:
18:59:32 <ehird> Only one HTTP request; no <link> or anything
18:59:34 <AnMaster> ehird, quite fast yes. Probably not a lot to fetch. Something like html page plus one css?
18:59:50 <ehird> plus very minimalist markup (apart from whitespace)
18:59:53 <ehird> and I assume gzip compression
18:59:58 <ehird> plus, a minimalist webserver (Factor's)
19:00:00 <ehird> and I assume caching
19:00:12 <ehird> I'll probably use a <link> for CSS because I'm lazy, but eh
19:00:17 <ehird> Deewiant: Damn fast for no gzip
19:00:22 <ehird> Maybe gzip processing time outweighed it
19:00:26 <AnMaster> ehird, there is an advantage of not embedding the css in the page though. And that is if the person looks at more than one of your site's pages.
19:00:34 <ehird> AnMaster: nhttpd isn't limited, it's just minimalist
19:00:54 <ehird> lighttpd may look minimalist coming from apache... but that's a seriously skewed comparison
19:01:12 <AnMaster> ehird, with separate css file that will be cached. You could also send some cache control headers to not make the browser recheck if the cached copy is up-to-date iirc
19:01:12 <ehird> nginx is more minimalist than lighttpd by quite an amount and just about as featureful
19:01:18 <ehird> (and it doesn't leak memory, and it scales better)
19:01:22 <ehird> but it still has a lot of needless features
19:01:34 <ehird> AnMaster: concatenative's is faster in practice, though
19:01:41 <ehird> It's counterintuitive, but requests seem to be very expensive
19:01:42 <AnMaster> ehird, I never ran into the memory leak issue
19:01:53 <ehird> Lighttpd leaks memory like a sieve in many common configurations.
19:02:07 <ehird> Maybe you haven't run into it but it casts doubt on its engineering.
19:02:29 <AnMaster> ehird, indeed it does. Open bug reports?
19:02:43 <ehird> These issues are very well known, I am certain bug reports exist
19:02:59 <ehird> They've existed for years, so most people who've heard about them or especially run into them have just abandoned lighttpd
19:03:02 <AnMaster> <ehird> AnMaster: concatenative's is faster in practice, though <-- maybe. dropping the whitespace would be a good idea however.
19:03:18 <ehird> It's because of the templating language, I think
19:03:28 <AnMaster> and for gzip, well you could make it serve already gziped pages?
19:03:32 <ehird> You've got the \n and spaces before the <%
19:03:37 <AnMaster> ehird, oh you don't plan to pre-generate from static pages?
19:03:40 <ehird> So that gets added to the output
19:03:47 <ehird> AnMaster: i'm talking about concatenative.org
19:03:52 <ehird> and it's a dynamic site
19:03:56 <ehird> so already gzipping isn't ppractical
19:04:04 <ehird> But no, I'm not going to use static pages
19:04:19 <ehird> Too much fuss in coding, dynamic pages are simpler to write and let you do fancier stuff
19:04:29 <ehird> You can do fancier stuff by doing a hybrid static+dynamic system... but dear god no. That's just asking for pain.
19:04:30 <AnMaster> anyway you can cache pre-rendered dynamic versions
19:04:44 <ehird> Fast enough? Then don't add complexity.
19:04:53 <ehird> Especially dealing with cache invalidation... *shudder*
19:06:20 <AnMaster> ehird, only needed on update of page or update of the navigation stuff. And if you only cache the page content (and not the navigation stuff) then it is trivial.
19:07:08 <AnMaster> or you could cache them separately like: shared pre-content, page content, shared post-content
19:07:14 <ehird> This is true if you have simple static content.
19:07:20 <ehird> But dynamic stuff?
19:07:33 <AnMaster> ehird, true. But what exactly do you plan to have on the page?
19:07:36 <ehird> If you think cache invalidation for dynamic web content is easy... shut up until you actually have to deal with it.
19:07:42 <ehird> AnMaster: Anything. Extensible, remember>?
19:08:05 <AnMaster> ehird, hm. Isn't this second system syndrome done already for the first system?
19:08:20 <ehird> It's extensible in the same way a web framework is.
19:08:50 <ehird> It handles navigation, the basic web stuff and hierarchical pages, you add your stuff to it.
19:09:20 <ehird> http://werc.cat-v.org/ does this already although the system has some design differences to mine. It's also written in rc. Do you think this extensibility and power necessitates bloat?
19:09:25 <AnMaster> ehird, takes time to learn one. Which is why there are so many. It is often easier to make your own than try to learn one someone else wrote
19:09:27 <ehird> Because werc's core is 150 lines of rc shell.
19:09:49 <ehird> AnMaster: Irrelevant, almost all the existing frameworks are both bloated, or don't do things they should.
19:10:12 <ehird> The dichotomy of web framework vs "website hierarchy manager thingybob" is false; the very fact that it's hard to name the second one shows this — it's an integral part.
19:10:34 <AnMaster> what the hell would a "website hierarchy manager thingybob" thing be?
19:10:35 <ehird> But seriously, using werc as an example again, it's basically CGI + some functions + some variables. You don't even have to write the apps in rc.
19:10:48 <ehird> AnMaster: I explained before, try keeping a backlog in your mind because you're discarding every line by the next one.
19:11:00 -!- puzzlet has quit (Connection timed out).
19:11:10 <AnMaster> ehird, do you mean like werc? or does that fit in the former?
19:11:22 <ehird> [19:08] ehird: It handles navigation, the basic web stuff and hierarchical pages, you add your stuff to it.
19:11:34 <ehird> That's (website hierarchy manager thingybob + web framework).
19:11:42 <ehird> No, werc is a (website hierarchy manager thingybob + web framework).
19:11:57 <AnMaster> ehird, oh so the latter isn't a subset of the former?
19:12:05 <ehird> There aren't really any standalone website hierarchy manager thingybobs. Some CMSs are similar, but they're really shit..
19:12:18 <ehird> The two things naturally belong together, and having them be the same thing makes both simpler.
19:12:35 <AnMaster> ehird, anyway you plan to do cgi? *shudder*
19:12:53 <ehird> If you complain about CGI you must complain about FastCGI, which is just CGI with a server layer and some extra crazy crap.
19:13:11 <AnMaster> ehird, depends on the reason for complaining about cgi.
19:13:23 <ehird> Go on, I'm up for rebutting.
19:13:25 <AnMaster> one is performance. FastCGI is somewhat better when it comes to that.
19:13:42 <AnMaster> the second is that it is rather ugly to code in, when it comes to this FastCGI is definitely even worse
19:13:43 <ehird> Irrelevant. The overhead Apache and other shit servers add far outweighs a simple server with CGI.
19:13:58 <ehird> It is quite ugly to code in directly, which is the whole reason I'm writing my thingy.
19:14:00 <ehird> AnMaster: Even lighttpd.
19:14:10 <AnMaster> ehird, doesn't ngnix support fastcgi?
19:14:28 <ehird> Yes, and no CGI. http://suckless.org/ uses a CGI-wrapping fastcgi to run werc on nginx, heh.
19:14:46 <ehird> As I said, even nginx has needless features. A FastCGI-like thing is of course needed if you have a very popular website.
19:14:56 <AnMaster> ehird, anyway there is a solution. And that is to integrate the dynamic pages more tightly with the web server. Like yaws.
19:15:03 <ehird> I'd suggest SCGI; it's a very light protocol and no FastCGI-like cruft.
19:15:09 <ehird> There is no solution needed.
19:15:11 <ehird> It is in search of a problem.
19:15:23 <ehird> It found one: "CGI is slow on most web servers".
19:15:28 <ehird> But the problem there is most web servers...
19:15:30 <AnMaster> ehird, SCGI is pretty nice yes.
19:15:43 <ehird> The problem it should try to find is "really popular sites fail with CGI even on minimalist web servers".
19:15:58 <ehird> But that's niche, and solutions searching for problems seem to try and find the most general one they can.
19:16:19 <AnMaster> ehird, you'll say google would use CGI next :P
19:16:32 <ehird> Google isn't really popular?
19:16:48 <ehird> Part of it, at least.
19:18:12 <AnMaster> ehird, well I can think of some more: twitter, youtube (except google bought them some time ago), possibly sites like last.fm and such. Not sure about slashdot (from what I remember they use something horrible java based crap)
19:18:29 <ehird> Slashdot is horrific, horrific Perl code that requires root and shits all over your system.
19:20:39 <AnMaster> ehird, anyway probably sites like reddit too?
19:20:50 * ehird gives an example http response from his httpd if he'd write one to see how anmaster reacts
19:20:50 <ehird> content-type: text/html; charset=utf-8
19:21:22 <ehird> Compare with w3.org, one of the *lighter* sites header-wise... http://pastie.org/689155.txt?key=v492i5n9ybfvshobv4iwa
19:21:24 <AnMaster> ehird, pretty sure there should be one or two more headers there. Anyway what about virtual hosts?
19:21:38 <ehird> Especially providing the "human-readable" thing like
19:21:43 <ehird> HTTP/1.1 403 Permission Denied
19:21:45 <AnMaster> ehird, don't you need "Content-Length: 29707"?
19:21:51 <ehird> works just the same
19:22:03 <ehird> That's just for static files
19:22:06 <ehird> to give their length
19:22:09 <ehird> I'd probably include it though
19:22:14 <AnMaster> ehird, that would require people to check. Unless you provide an error page as well
19:22:26 <ehird> Um, people don't see the http headers.
19:22:32 <ehird> And anyone who does know what the code means.
19:22:37 <AnMaster> ehird, oh and wget -c will fail with your web server
19:22:47 <ehird> content-type: text/html; charset=utf-8
19:22:48 <ehird> content-length: 6345
19:22:49 <AnMaster> to resume downloads that broke down in the middle
19:22:55 <ehird> AnMaster: No it won't.
19:23:05 <AnMaster> if you can't resume from the middle
19:23:16 <ehird> -c will try and resume in the request, and the server will comply.
19:23:29 <ehird> Unless it makes a dummy request to see if it's supported before trying, which is retarded.
19:23:33 <ehird> If it does, then, fine:
19:23:43 <AnMaster> ehird, well okay, I guess you could accept it without telling anyone you did
19:23:52 <ehird> content-type: xxx/warez-porn
19:23:52 <ehird> content-length: 6345
19:23:52 <ehird> accept-ranges: bytes
19:24:08 <ehird> Maybe an etag: header for caching.
19:24:10 <AnMaster> ehird, I was more thinking this would be useful for install iso's for your distro
19:24:27 <AnMaster> ehird, no server tag to tell what server?
19:24:29 <ehird> The main thing is that pointless headers like Server: need to go, the pointless capitalisation needs to go, and the pointless response code names need to go
19:24:41 <ehird> No reason to lengthen every request with trivia
19:24:43 <AnMaster> ehird, is the standard case insensitive?
19:24:46 <ehird> Sites that want you to know will tell you anyway
19:25:02 <AnMaster> ehird, what do you have against the capitalisation though
19:25:09 <AnMaster> it doesn't matter either way in load
19:25:20 <ehird> We write our variable names in lowercase because caps look awkward
19:25:22 <AnMaster> wouldn't surprise me if it broke some clients
19:25:26 <ehird> And headers are just an associative array
19:25:27 <ehird> AnMaster: It doesn't.
19:25:35 <ehird> And besides, it means that it's simpler to collapse duplicate headers.
19:25:37 <AnMaster> <ehird> We write our variable names in lowercase because caps look awkward <-- we do? Well depends on language
19:25:42 <ehird> You don't need to handle capitalisation, just lowercase everything
19:25:48 <ehird> AnMaster: I do, at least.
19:26:06 <AnMaster> ehird, some languages have foo = atom Foo = variable or similar
19:26:22 <ehird> Anyway, I guess I have to write this server now.
19:26:23 <AnMaster> ehird, but in C I would use lower_case_with_underscore
19:26:30 <ehird> I bet I can beat most other server's performance.
19:26:34 <ehird> With less code, too.
19:26:39 <ehird> Like, say.... 500 SLOC?
19:26:43 -!- puzzlet has joined.
19:26:48 <ehird> I need to brb now for about 15 minutes, then I guess I'll start.
19:26:51 <AnMaster> ehird, probably for small loads. Not sure with 5000 concurrent clients :P
19:26:57 <ehird> AnMaster: Yes with 5,000 concurrent clients.
19:27:02 <ehird> Even 10k; C10k was a decade ago.
19:27:22 <AnMaster> and sure you could make it. But so can other servers
19:39:29 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
19:39:56 <AnMaster> ehird, why not just use that factor thing that you said was so fast?
20:01:19 <ehird> AnMaster: various reasons. the sever itself isn't _that_ fast anyway
20:01:25 <ehird> also, sure, but most servers don't
20:01:28 <ehird> because they're shit.
20:02:22 <AnMaster> <ehird> also, sure, but most servers don't <-- don't what?
20:03:03 <AnMaster> ehird, pretty sure lighttpd does for example. nginx probably does too?
20:03:46 <ehird> At least not without some SERIOUS hardware.
20:03:55 -!- fax has joined.
20:03:59 <ehird> And computers are big, too. You can buy a 1000MHz machine with 2 gigabytes of RAM and an 1000Mbit/sec Ethernet card for $1200 or so. Let's see - at 20000 clients, that's 50KHz, 100Kbytes, and 50Kbits/sec per client. It shouldn't take any more horsepower than that to take four kilobytes from the disk and send them to the network once a second for each of twenty thousand clients
20:04:15 <ehird> C10k means you can do it on a single-core 1 GHz machine with 2 GiB of RAM and a 1 Gb/s Ethernet card.
20:04:16 <AnMaster> ehird, what about cheroke or such?
20:04:25 <ehird> Cherokee is very ununixy.
20:04:38 <AnMaster> ehird, sure. but does it do c10k?
20:05:15 <ehird> Remember what I said about asking people such things just because they mentioned the name of a thing...?
20:05:37 <AnMaster> ehird, you seemed to know about lighttpd and nginx?
20:05:55 <ehird> I'm almost certain lighttpd and nginx can't do it on such specs.
20:06:02 -!- Slereah_ has quit.
20:06:12 <ehird> "(Another book which might be more helpful for those who are *using* rather than *writing* a web server is Building Scalable Web Sites by Cal Henderson.)"
20:06:13 <ehird> Hey, C10K mentions our own iamcal.
20:06:17 <ehird> Okay, so not technically our own.
20:06:39 <ehird> O'Reilly published too. Swanky.
20:08:49 <ehird> Okay, so, basic architecture: epoll(), probably fork(), pass over to handler. Have helper functions for headers and stuff.
20:09:12 <AnMaster> "[lighttpd] was originally written [...] as a proof-of-concept of the c10k problem (how to handle 10000 connections in parallel on one server),[1] but now has substantial worldwide popularity [...]"
20:09:23 <ehird> That doesn't mean it met it.
20:09:35 <AnMaster> ehird, so you are saying it didn't?
20:09:44 <ehird> http://www.fefe.de/fnord/2.5.50-scalability.png
20:09:55 <ehird> Linux 2.5.50 (old! but similar to 2.6) scalability of web servers.
20:10:04 <ehird> By doing C10k I mean doing it gracefully, naturally.
20:10:12 <ehird> Taking 30 seconds to load a page isn't acceptable.
20:10:55 <fizzie> If that's really usec, that Y axis only goes up to 60 milliseconds, which I guess is still pretty reasonable latency.
20:11:06 <ehird> Excellent scalability from both thttpd and fnord. fnord clearly wins though.
20:11:08 <AnMaster> ehird, of course. but taking twice the time as usual could be (if "usual" is tiny). Say 0.2 seconds instead of 0.1 (unreasonable example figures, just an example)
20:11:26 <ehird> Something like 0.3 ms nearing C10k from fnord.
20:11:29 <ehird> Very good latency.
20:11:36 <AnMaster> ehird, why does the bar for fnord end early there?
20:11:48 <ehird> "The fnord plot ends at 8000 connections because I couldn't open more connections before fnord kept timing out the old ones"
20:11:59 <AnMaster> ehird, so it doesn't really scale that well
20:12:02 <ehird> (From the author of fnord; strikingly honest)
20:12:14 <ehird> It just times out like most servers
20:12:22 <ehird> You misunderstand the quote
20:12:47 <ehird> Presumably because it doesn't do timeouts.
20:12:51 <ehird> Or because the timeout was set really high.
20:13:08 <ehird> It's a hardware limitation.
20:13:18 <AnMaster> anyway why is there so little "noise" in the the fnord plot?
20:13:20 <ehird> Fnord is clearly more scalable on given hardware because the latency increases much more slowly.
20:13:26 <ehird> AnMaster: Good engineering..
20:13:37 <ehird> "CGI (through pipes, not temp files like Apache)"
20:13:37 <ehird> APACHE DOES CGI THROUGH TEMP FILES? >_<
20:13:39 <AnMaster> ehird, does it run in kernel space or user space?
20:13:45 <ehird> Userspace, of course...
20:13:59 <AnMaster> ehird, <ehird> APACHE DOES CGI THROUGH TEMP FILES? >_< <-- I would be surprised if it does any more in that case!
20:14:23 <AnMaster> like, it would break if you were producing a large file dynamically for download
20:14:54 -!- Slereah has joined.
20:15:08 <ehird> "thttpd is the fastest web server known to me." says fnord's author
20:15:18 <ehird> but fnord clearly scales better
20:15:37 <ehird> Hmm, fnord fork()s for every request, seems like that's a good architecture
20:15:42 <ehird> It's unixy, so I should have guessed
20:16:34 <AnMaster> ehird, would work on linux due to cheap fork() (mostly due to COW, but also pretty fast in other areas)
20:16:54 <ehird> Threading servers have the same latency of fork() on Linux of course.
20:17:08 <ehird> Latency, I mean overhead
20:17:10 <ehird> You know what I mean
20:17:28 <AnMaster> ehird, potentially less on some bsds. m:n threads there. Though iirc freebsd at least switched to 1:1 since then
20:17:32 <ehird> IT IS NOT MEANT FOR ANY MORTAL!
20:17:46 <AnMaster> ehird, link to a file from it?
20:17:56 <ehird> Event-based servers and async IO and all that stuff... with a language not designed for that sort of thing?
20:17:59 <AnMaster> (so I can just open it directly in an editor)
20:18:04 <ehird> Just don't even go there.
20:18:07 <ehird> AnMaster: No particular server.
20:18:23 <ehird> AIO and event-based servers may be faster than fork()ing servers... but it's not worth the payoff.
20:18:45 <AnMaster> oh I thought you mean fnord code XD
20:19:05 <AnMaster> ehird, anyway I have done event based IO in C. Worked on ircds after all.
20:19:29 <AnMaster> (that isn't AIO though, just non-blocking)
20:19:38 <ehird> I'm skeptical of the common acceptance of asynchronous IO as the only way to do an ircd.
20:19:43 <ehird> fork() is really cheap.
20:20:05 <ehird> Yeah it's called FIFO files... or a Unix socket
20:20:14 <AnMaster> ehird, I think that is the main reason why you want one thread. Because they need to talk to each other a lot. In various directions
20:20:27 <ehird> AnMaster: Sounds like an excuse for spaghetti code
20:20:28 <AnMaster> like lots of channels and /msg out of nowhere
20:20:38 <ehird> "Oh, but I'd have to write so much code that makes explicit the communication!"
20:20:41 <ehird> That's a good thing.
20:21:35 <AnMaster> ehird, anyway, an ircd is supposed to handle thousands of clients per server. Plus routing for lots more (multiple linked servers after all)
20:21:56 <AnMaster> ehird, you will need to handle "send to other server" in some other way than a pipe per channel or such.
20:22:02 <ehird> If a fork()ing webserver can handle 8,000 clients at once in the era of Linux 2.5...
20:22:13 <ehird> Then a fork()ing ircd can handle many more today.
20:22:23 -!- puzzlet has quit (Remote closed the connection).
20:22:26 <AnMaster> ehird, webservers doesn't do a lot of IPC. Probably none or close to none
20:22:27 -!- puzzlet has joined.
20:22:41 <ehird> AnMaster: IPC can be fast, I'm sure.
20:22:46 <ehird> It'd be ridiculous if it couldn't be.
20:23:45 <AnMaster> ehird, sure. Go ahead and write an ircd using pipes. and that supports linking to other servers. and scales to 5000 active clients per server or so.
20:24:13 <AnMaster> and huge channels. Last I looked #ubuntu had over 1000 people in it.
20:24:26 <AnMaster> that was the day karmic was released though
20:24:30 <ehird> Server-to-server communication would be easy, at least... since you'd already have the infrastructure.
20:24:34 <ehird> 1000 people is peanuts.
20:24:42 <AnMaster> #gentoo is generally around 900-950
20:24:44 <ehird> We have computers with massive power nowadays... and fork() is really cheap.
20:24:54 <ehird> It tingles my skeptic nerve to assert that this is a challenge.
20:26:25 -!- Slereah has quit.
20:26:29 <AnMaster> ehird, oh and really you shouldn't compare to the freenode ircd when it comes to performance. That isn't like comparing to apache. It's like comparing to that "personal web sharing" thing mac os 9 had. Or to that down sized ISS thing for windows 9x
20:26:38 <ehird> Did I say I'd compare to it?
20:26:47 <AnMaster> ehird, just warning you ahead of time
20:26:59 <ehird> Also, hey, OS X has Personal Web Sharing too. It's Apache :P
20:27:09 <AnMaster> ehird, it wasn't apache in OS 9
20:27:17 <ehird> Holy shit, Synchronet is still developed
20:27:41 <ehird> Weird old BBS software
20:27:55 <ehird> Nowadays runs on Windows with lots of Javascript for some reason
20:27:57 <AnMaster> ehird, why did you even check on that
20:28:07 <coppro> but I only saw 1100 when I went in
20:28:12 <ehird> AnMaster: Its ircd was mentioned in the Wikipedia list of ircds
20:28:25 <ehird> coppro: they're invisible
20:28:35 <AnMaster> so it is only updated every n <time unit>
20:29:05 <AnMaster> ehird, service to search in channel list.
20:29:44 <ehird> The program is named SEXPOTS, with homage to the very successful SEXYZ project. This program adds dial-up modem support to any Windows TCP/Socket/Telnet-based BBS (e.g. Synchronet-Win32). Deuce has a *nix version in the works and has also recently added dial-up modem support to SyncTERM to complete the old-school BBS experience using actual <gasp> modems! Vertrauen can now be dialed directly at 951-549-9994.
20:29:47 <ehird> ...circa june 2008
20:29:51 <AnMaster> ehird, oh btw another reason to avoid IPC. Depending on what sort of IPC that you use, it can look worse than AIO code...
20:29:55 <ehird> yep, the author sure is up on the modern age
20:30:06 <ehird> AnMaster: Unix sockets or FIFO files, probably.
20:30:10 <ehird> Both easy, simple, intuitive.
20:30:14 <ehird> The latter moreso.
20:30:33 <ehird> I'd definitely never touch sysv ipc.
20:31:34 <jix> can you do one to many ipc with it?
20:31:58 <jix> one process sends multiple processes listen
20:32:01 <jix> on one "channel"
20:32:13 <AnMaster> jix, not with pipes no. Not sure about unix sockets
20:32:32 <jix> ehird: ah ... unix sockets and fifo files
20:32:47 <AnMaster> I assume ehird will use some sort of channel "thread/process" for each channel
20:32:59 <ehird> I'll just fork() on client connect.
20:33:08 <ehird> This is about how to handle networking...
20:33:13 -!- Sgeo has joined.
20:33:27 <AnMaster> ehird, so when one client sends to #ubuntu it will need to write to 1000 pipes?
20:33:30 -!- oklokok has joined.
20:33:35 <ehird> I don't recall saying that.
20:33:41 <ehird> (But you have to write to 1000 sockets anyway, you know.)
20:33:58 * Sgeo reads some of the Acme:: stuff at CPAN
20:34:04 <AnMaster> ehird, not locally. Some could be remote. So that means one server write
20:34:18 <ehird> 1000 sockets as in the client sockets.
20:34:18 <jix> AnMaster: well then you have one remote pipe
20:34:21 <ehird> In the channel, you see.
20:34:36 <ehird> You will have to do 1000 socket writes no matter what... and writing to 1000 pipes suddenly seems tiny.
20:34:44 <AnMaster> jix, yes but the client process has to keep track of who is in what channel and who are local and who are remote
20:35:12 <jix> AnMaster: but that's another problem...
20:35:15 <Sgeo> http://search.cpan.org/~gugod/Acme-Boolean-0.3/lib/Acme/Boolean.pm
20:35:18 <AnMaster> jix, which, since it won't be covered by COW, will be stored in multiple copies in the memory
20:35:22 <Sgeo> There's no FILE_NOT_FOUND :(
20:35:39 <fizzie> Writing to N sockets sounds like it'd take less effort than writing to N [anything]s, which are then read by N separately scheduled processes, and then furthermore written to N network sockets.
20:36:16 <ehird> You have to have a step in between, it's a matter of figuring out what that is.
20:36:21 <ehird> Unless you go for spaghetti code.
20:36:29 <ehird> In which case, yeah, I'm not interested.
20:36:54 <jix> wouldn't you have to make sure that the writes are nonblocking
20:36:58 <AnMaster> ehird, so you define "spaghetti code" as anything using a single thread with non-blocking IO and select()/epoll/similar?
20:37:11 <AnMaster> that is the only way I can read what you said
20:37:24 <ehird> AnMaster: I'm not interested in continuing this conversation until you decide to stop jumping to incorrect inclusions.
20:37:28 <jix> doing kinda your own scheduling for all write queues?
20:37:50 <AnMaster> ehird, didn't you say it was up to the person talking to make sure the message was interpretable?
20:38:46 <ehird> There's a difference between
20:38:49 <ehird> (a) misunderstanding, and
20:38:50 <AnMaster> jix, in part yes. you will have the same problem with the pipes however.
20:38:59 <ehird> (b) vaguely understanding, then leaping t o a conclusion without too much thought
20:39:33 <AnMaster> ehird, then I suggest you clarify. Because I spent quite some thought on it.
20:39:41 <fizzie> Having that "step" done in a single user-space thread sounds still better than bothering the kernel task scheduler with N separate tasks-to-switch, but whatever. Obviously this is all idle speculation until someone actually goes and benchmarks things.
20:39:49 <ehird> AnMaster, professional intellectual. I mean exactly what I said and with no hidden meaning.
20:40:24 <ehird> You do realise that saying "true." to everyone who makes a coherent and rational disagreement with me, which you haven't yet done, doesn't bolster your argument magically?
20:40:33 <AnMaster> ehird, yeah. You are now saying that it is up to the reader to make sure to understand it. Yes you are a hypocrite. No it doesn't make it better that you admit it.
20:40:38 <ehird> fizzie: That's true, but my design wasn't quite like that.
20:41:07 <ehird> AnMaster: Funnily enough, I clarified the difference between the two wildly different things. Do you really expect this conversation to go anywhere? No? Then shut up.
20:41:10 <AnMaster> ehird, managing to type those [0010] things doesn't make you look smart either.
20:41:20 <AnMaster> wasn't it data stream escape or something like that?
20:41:26 <ehird> I pressed it by mistake and didn't notice.
20:41:40 <AnMaster> ehird, I could say that to you too.
20:41:50 <ehird> "doesn't make you look smart"; are you a nursery teacher?
20:42:00 -!- Slereah has joined.
20:42:18 <AnMaster> ehird, I'm afraid I didn't get that reference.
20:42:39 <jix> AnMaster: it's no reference... he says exactly what he means
20:42:46 <jix> AnMaster: he just wants to know if you are a nursery teacher...
20:44:13 <jix> ehird: so how exactly would you structure the ircd?
20:44:20 <AnMaster> fizzie, anyway, all you have to do when processing the message in a single thread is indeed to figure out where it should go (local clients in channel + servers with clients in channel, you don't need to know which users here, just store local clients + servers with clients in channel list (have a separate list of remote clients, needed for other stuff))
20:44:40 <AnMaster> then to write to the relevant fds (handling write queue as needed)
20:44:47 <ehird> jix: I haven't fleshed out the idea because I was too busy listening to and foolishly responding to AnMaster's inane babble (and that's the truth, not a passive-aggressive insult)
20:45:08 <AnMaster> and yes you need to handle write queue with pipes too. They have a limited kernel buffer as well
20:45:35 <ehird> [IRCServices] Ircd's and Services....
20:45:36 <ehird> I believe the only multi-threaded ircd out there is efnet's. I could be wrong. Given your features, there is nothing that is multi-threaded that has this. ...
20:45:37 <ehird> lists.ircservices.za.net/pipermail/ircservices/2000/000856.html - Similar -
20:45:45 <fizzie> Speaking of IPC, I sometimes wonder how fast those old-style meant-for-IPC constructs are nowadays. Like, let's say, sysv message queues, where you can msgsnd() things to one message queue, have a "long"-typed message type field in each, and have N other processes doing msgrcv() that are optionally filtered by the message type; it supports "return first message", "return first message of a given type" and even the rather strange "return the first lowest-typed
20:45:45 <fizzie> message in the queue as long as the type is less than or equal to the given type".
20:45:48 <ehird> AnMaster: do you think efnet's ircd scales?
20:45:54 <AnMaster> ehird, just want to add that efnet uses multiple ircds
20:45:56 <ehird> (even back in 2000 it most certainly did)
20:46:06 <ehird> i think they used just one ircd back in 2000
20:46:14 <ehird> Anyway, efnet very clearly scales.
20:46:24 <AnMaster> ehird, maybe. I can only comment on current state
20:46:35 <AnMaster> since I have no clue what they did in 2000
20:46:37 <ehird> ratbox is the majority server on efnet anyway
20:46:47 <jix> ehird: on efnet i sometimes have significant lag to others
20:47:03 <jix> ehird: too often and too much to say it's me or the others connection
20:47:05 <AnMaster> ehird, so the ircd mentioned in that mail is ratbox?
20:47:12 <ehird> jix: True, but EFNet is also basically DDoSed constantly.
20:47:13 <jix> but that doesn't imply it's the ircds fault
20:47:20 <ehird> jix: And it has the gnarliest mass of routing servers ever.
20:47:29 <ehird> AnMaster: I'll check.
20:48:33 <AnMaster> <ehird> jix: And it has the gnarliest mass of routing servers ever. <-- isn't ircnet just as bad when it comes to the routing?
20:48:33 <ehird> Eh, can't figure out.
20:48:47 <ehird> Whatever — EFNet was threaded in 2000, and EFNet clearly scaled in 2000.
20:49:03 <ehird> And since fork() is, like, 10x more hip than threads, it will undoubtedly work. :P
20:49:41 <jix> but when you fork you have the problem of accessing the central state of the irc network don't you?
20:49:50 <jix> or having to keep multiple copies of it
20:49:56 <jix> or multiple copies of parts of it
20:50:05 <AnMaster> ehird, except fork() has slightly higher overhead. Due to COW. Because with threads you can already from creating the thread have thread local variables ready and allocated, but with fork() those will be COWed on first use. Shouldn't matter much however.
20:50:16 <ehird> jix: that's just another instance of ipc
20:50:20 -!- oklopol has quit (Connection timed out).
20:50:26 <ehird> COW overhead is, like, 0 :P
20:50:39 <jix> ehird: so you would go with a central process managing the state?
20:50:42 <AnMaster> ehird, oh and updates to the state won't happend transparently. Since if changed that will be COW
20:51:02 <ehird> jix: Yes, the parent
20:51:10 <ehird> even fork()ing webservers
20:51:12 <ehird> access global state
20:51:20 <ehird> these "issues" are really inane
20:51:33 <jix> ehird: but webservers use global state in a completely different way AFAIK
20:51:38 <AnMaster> ehird, that adds a memory overhead per process. How significant it would be depends on how much state you have to keep up-to-date in each fork
20:51:59 <AnMaster> jix, yes, they rarely need to update it at run time.
20:52:14 <ehird> AnMaster: Global mutable state is something to be avoided generally anyway.
20:52:17 <AnMaster> ircds support reloading configs on the fly, and I doubt any irc operator would like to use an ircd that didn't support it
20:52:26 <jix> ehird: but isn't that inherent to irc?
20:52:39 <AnMaster> ehird, you don't want to restart an ircd to change server links. Just saying.
20:52:41 <ehird> jix: In the same way that games depend on mutation and procedural code; i.e. not at all.
20:53:03 <ehird> [20:52] AnMaster: ircds support reloading configs on the fly, and I doubt any irc operator would like to use an ircd that didn't support it
20:53:04 <ehird> just spawn an ircd with the new config, move all child processes to it, tell them about it, and kill the old one
20:53:19 <AnMaster> <ehird> just spawn an ircd with the new config, move all child processes to it, tell them about it, and kill the old one <-- interesting. *shudder*
20:53:52 <ehird> That's not interesting, that's a robust, simple technique to restart a server without downtime.
20:53:56 <ehird> It's done for upgrades too with some servers.
20:53:58 <AnMaster> ehird, I will be very surprised if this doesn't end up with uglier code than a single threaded one would
20:54:20 <jix> ehird: but from the users point of view (many) games depend on mutation... so you have to come up with a way to describe that mutation without actually doing mutation
20:54:23 <ehird> You would do well to check an idea I've expressed isn't common before blanket-asserting that it's bad like usual
20:54:38 <ehird> jix: there has been lots of work done on games in functional languages, it's actually quite pleasant
20:54:43 <jix> ehird: i know
20:54:52 <jix> ehird: i'd use functional languages for game dev too
20:54:57 <AnMaster> ehird, I'm not saying it hasn't been done. But I read the code of some too.
20:55:18 <jix> ehird: i was just saying that you can't avoid managing a state that can be mutated if the irc protocol specifies a mutable state
20:55:34 <jix> even if you have a purly functional language and use something like a state monad
20:56:24 <jix> and if you do that in one central process that IPCs to all other processes
20:56:39 <AnMaster> jix, channel modes and bans? Stuff like that would be hard without mutable state
20:56:56 <jix> then you'd have to do event based IO in that process to server the childs? (that is a question)
20:58:11 <ehird> I can't answer questions about the design because I've been too busy guessing answers to questions about the design to formulate the desiggn.
20:58:44 <jix> ehird: then please keep my question in mind until you get the design done
20:58:50 <jix> because that's the point where i'm stuck
20:59:03 <jix> when i try to design a forking ircd
20:59:49 <ehird> Ha! I am not crazy! Other people are as non-crazy as m— wait, no, I don't think this logically follows.
20:59:57 <AnMaster> jix, you could do shared memory. like shared mmap()ed pages
21:00:06 <ehird> Shared memory is evil
21:00:10 <ehird> and your fork()s just become threads
21:00:15 <AnMaster> ehird, I was just about to get to that
21:00:53 <AnMaster> I was going to say "but that would be painful and require lots of synchronization and similar"
21:01:48 <fizzie> I do have to say an ircd doesn't sound quite as inherently suitable for a multi-process-for-each-client/peer implementation as a web server; for the supposedly-mentioned-but-can't-see-them-through-the-wall-of-text reasons of having each connection a long-lived thing that can affect all the other connections in various ways. (While in the web server case, after you've fork'd, the child just has to basically read(), sendfile() and exit().)
21:02:10 <ehird> Obviously it can't be designed in the same way as a webserver.
21:03:16 <fizzie> Besides, you'll end up with a thousand-process "ps" listing, and that's just ugly. :p
21:03:54 <AnMaster> fizzie, plus possibly do some logging (regarding forked child in web server that is)
21:04:18 <ehird> fizzie: But useful!
21:04:46 <AnMaster> ehird, "argh I can't find which process is hogging the CPU because the list is so damn long"?
21:04:56 <ehird> Hellooooooo, top(1)
21:04:57 <AnMaster> (not really, just sort on a column)
21:05:27 <fizzie> The usefulness is probably in the fact that you can run psdoom and go kill IRC people that you're annoyed with.
21:05:32 <AnMaster> which means something like: ps aux | LC_ALL=C sort -nk 3
21:05:41 <AnMaster> the LC_ALL=C there because locales messes up
21:05:46 <ehird> AnMaster: Or just top
21:06:04 <AnMaster> ps always uses 1.0, sort uses 1.0 or 1,0 or whatever the locale uses
21:06:48 <ehird> Fuck l10n? I guess you'll be speaking exclusively in English from hereon after, then.
21:07:18 <fizzie> AnMaster: Or just "ps auxk -%cpu"; you know, ps can do the sorting just fine.
21:07:42 <AnMaster> ehird, well no, rather it should be "fuck l10n related issues"
21:07:59 <AnMaster> ehird, oh and why localise to English? ;P
21:08:27 <ehird> Because it's the most international language? I would say most widely used, but China wins on the account of having a huge fucking number of people.
21:08:37 <fizzie> AnMaster: "k" for "sort", of kourse.
21:08:41 <ehird> Other languages will die out within time.
21:08:47 <AnMaster> fizzie, yeah because "sort" contains no "k"
21:08:58 <jix> ehird: i doubt that
21:09:05 <fizzie> AnMaster: It might be "sort *k*ey", but that's a bit far-fetched.
21:09:11 <ehird> jix: I'm not surprised.
21:09:24 <jix> ehird: but that's just a feeling thing right now i have nothing to support that
21:09:29 <fizzie> GNU has a "--sort" long-flag which is a bit more rememberable.
21:10:19 <AnMaster> argh what is this database "mimer"? Never heard of it before. Seems to be used at uni. Sigh
21:10:42 <fizzie> "top" might still be better, though; it hopefully sorts processes before rounding things to the ##.# percentage format of ps.
21:10:50 <jix> hmm wasn't at some point someone studying computer scince in luebeck here?
21:11:17 <jix> fizzie: i hope ps sorts before doing that too
21:12:27 <jix> and looking at the mac os x ps (some bsd ps according to the manpage) i need -r to sort for cpu usage
21:13:22 <fizzie> Yes, it's a bit nonstandard; the "k %cpu" works for this procps 3.2.8 ps I have.
21:13:45 <ehird> jix: all os x userland is bsd.
21:14:03 <jix> ehird: define userland
21:14:13 <fizzie> This one has the "r" flag report only currently-running processes.
21:14:29 <ehird> jix: cli userspace
21:14:37 <ehird> apart from the shit it changed which is minor
21:14:42 <ehird> all the coreutils etc are bsd
21:15:05 <fizzie> (On my system it seems to mean I get the "ps auxr" command itself, and not much else; sometimes an [events/0] kernel thread, and once X in a 20-run set.)
21:15:10 <jix> ehird: well there are some additional tools that are from apple
21:15:10 <AnMaster> ehird, what about stuff like hdiutil (if I remember the name correctly)
21:15:23 <jix> the whole *util thing being part of that
21:15:44 <AnMaster> r Restrict the selection to only running processes.
21:15:55 <AnMaster> so you have more than one core and/or cpu
21:16:20 <fizzie> AnMaster: <fizzie> This one has the "r" flag report only currently-running processes.
21:16:27 <fizzie> Isn't that what I said?
21:16:36 <AnMaster> fizzie, oh sure. Missed that line somehow
21:25:35 -!- FireFly has joined.
21:27:15 <ehird> I wonder what the best HMD is
21:27:27 <ehird> HAHA ATTACK OF THE WORD YOU PROBABLYY DON'T KNOW
21:29:55 <fizzie> It must be... Heavy Metal Detox. What on earth have you been doing?
21:30:44 <fizzie> "Han Moo Do is a Korean-style martial art founded in Finland. It is mainly practiced in the Nordic countries."
21:32:50 <AnMaster> ehird, head mounted display I assume?
21:34:29 <AnMaster> ehird, to know the word I mean (for me, that is. Not for people not interested in avionics or wearable computing)
21:35:45 <AnMaster> ehird, "targeting by looking" basically. Unlike with a HUD. Takes longer than just turning the head to target an aircraft that isn't straight ahead
21:35:57 <ehird> No, head mounted display is a display that's mounted on your head.
21:36:01 <ehird> Targeting by looking would be eye tracking.
21:36:24 <AnMaster> ehird, indeed. But you need a HMD to see the targeting info. Since a HUD wouldn't be where you are looking any more
21:36:40 <AnMaster> you could be looking to your side rather than ahead
21:36:42 <ehird> Avionics HMDs are mostly transparent, yeah?
21:37:01 <AnMaster> ehird, somewhat similar to a HUD in that respect
21:37:58 <ehird> In wearable computing it's a usual LCD of course.
21:38:03 <AnMaster> oh god I think this module will kill me. SQL stuff. And not just as a useful tool. But all the damn theory too
21:38:15 <ehird> Relational theory stuff is quite good, I think.
21:38:27 <ehird> SQL itself isn't a useful tool, though... nor is it relational.
21:38:27 <AnMaster> and using some weird closed source db server called "mimer sql"
21:38:45 <ehird> Transparent bendable OLEDs don't seem to have made it to market yet and I doubt they're very good for text.
21:39:08 <ehird> So a display attached to some safety goggles in your peripheral vision that you can focus on appears to be the best solution.
21:39:25 <ehird> The question is, which? The MyVu Crystal has colours, sure... but it's only 640x480.
21:39:40 <ehird> And at 1600 ppi, 640x480 does NOT get you much text. Or, well, anything, even at normal ppi.
21:40:07 <ehird> (It's not so bad since the .5" block of magic is close to your vision so it appears much bigger. But still.)
21:40:10 <AnMaster> ehird, for avionics you need some text (distance to target, speed, altitude, possibly AoA, that sort of stuff) and some vector graphics (horizon line, and such).
21:40:45 <ehird> I want the end result to be as close as possible to something I can program on, browse Wikipedia with and IRC with little trouble.
21:41:12 <ehird> And preferably well-designed enough that it's easy to start to use within seconds — e.g. going from walking to using it.
21:41:19 <ehird> (Extra points if it's usable while walking, though that's not likely.)
21:41:23 <AnMaster> ehird, that is hardly the goal of HMD for combat pilots though. I don't know much about the HMDs that people like Gregor are interested in
21:41:25 <ehird> A voice-based system could dothat.
21:41:44 <ehird> AnMaster: People like Gregor and me! Except Gregor has a working wearable computer that he actually uses and I don't. :P
21:41:49 <ehird> HMDs are just tiny LCDs, really.
21:42:30 <AnMaster> <ehird> (Extra points if it's usable while walking, though that's not likely.) <-- you could do an overlay to display map, somewhat like GPS with navigation capabilities
21:43:02 <ehird> Readable through the bounce, bounce, bounce of walking?
21:43:04 <ehird> That would be some feat.
21:43:21 <ehird> Anyway, afaik nobody uses a wearable computer to program.
21:43:40 <AnMaster> ehird, never had to consider bouncing like that in aircrafts. :P
21:43:46 <ehird> I wonder if I could make it unobtrusive enough to go to bed with. That'd be some immersive alarm clock.
21:43:54 <AnMaster> because you can do navigation stuff on a HMD
21:44:04 <AnMaster> like highlighting where the air strip is
21:44:18 <AnMaster> I know that feature exists on some HUDs at least
21:44:32 <AnMaster> outline of area where you need to land. Very useful
21:44:36 -!- Slereah_ has joined.
21:44:46 <ehird> Main issue with sleeping with it would be the headset (if any), the display and the computer itself.
21:44:52 <ehird> Keyboard and pointing device should be fine.
21:45:13 <AnMaster> ehird, I wouldn't bother too much about that bit
21:45:35 <ehird> People sleep with headphones on, so the headset should be fine; sleeping with safety glasses on is trivial, and the computer itself just needs to be in a pocket or whatever, not in a backpack. At least optionally.
21:45:59 <AnMaster> ehird, anyway, how does that work with normal glasses?
21:46:10 <fizzie> The UI-ART people at the university are doing "Urban contextual information interfaces with multimodal augmented reality"; I think they were supposed to have some sort of Nokia-built silly head-mounted-display eye-tracking glasses prototype thing. I just can't seem to find any information about that part, just boring scientific papers about acoustics, eye-tracking and information retrieval.
21:46:17 <ehird> The same way; Gregor used safety goggles because he doesn't need glasses, and I'll do the same.
21:46:21 <AnMaster> you mount the computer display on them? or do you wear the other glases on top
21:46:52 <ehird> Despite spending a large portion of my life staring at a display (CRT, even) without many breaks, I have better vision than most people! mwahahaha
21:47:36 <ehird> At high resolution, too.
21:47:42 <ehird> My refresh rate was... so low.
21:47:47 <AnMaster> ehird, does staring on a display really affect your long term vision though=
21:47:47 <ehird> I think like 60 Hz or something
21:47:55 <ehird> AnMaster: A constantly-flashing CRT?
21:48:04 <AnMaster> ehird, oh yeah if it was 60 Hz
21:48:13 <ehird> Not just 60 Hz, 60 Hz on a really bad, old CRT.
21:48:21 * Sgeo has one good eye, and one eye that can barely see
21:48:23 <ehird> AnMaster: 80 Hz is the comfortable refresh for a CRT.
21:48:26 <ehird> Everything below is bad.
21:48:30 <ehird> 100 Hz is glorious.
21:48:57 <AnMaster> ehird, I began my computing with a laptop. Never had a CRT. Used CRTs yes, but never owned one.
21:48:57 <ehird> Anyway, the flickering was compounded by the high resolution at 17"...
21:49:01 <ehird> (smaller than 17" LCD; CRT)
21:49:12 <ehird> And the bad CRT blurring things...
21:49:22 <ehird> Yet I still have awesome sight.
21:50:05 <AnMaster> ehird, and I don't. *shrug*. Maybe the effect it has on vision is somewhat indivdual?
21:50:24 <ehird> I'm pretty sure I'm just durable. My metabolism is really fast, too, so I'm permanently uber-skinny.
21:50:35 <ehird> And I don't seem to require all that much sustenance.
21:50:36 <Sgeo> Why would CRTs hae an effect on vision?
21:50:39 <AnMaster> oh wait that doesn't work. I had glasses before I really began using computer much
21:50:43 <ehird> Sgeo: because they flash every update
21:50:47 <ehird> that's how they work
21:50:53 <ehird> frame sent, it fades quickly, frame sent
21:51:05 <ehird> at 80 Hz, it's not that noticeable, at 100 Hz, it disappears to the human eye
21:51:10 <ehird> anything below 80 Hz, you can see the flickering
21:51:16 <Sgeo> I imagine that that could cause headaches, but how can it hurt vision? </not-a-doctor>
21:51:18 <ehird> and your eyes are being pounded with flashing light
21:51:27 <ehird> Sgeo: imagine staring at a strobe light for hours upon hours
21:51:32 <ehird> that's pretty much it
21:52:46 <AnMaster> ehird, the CRTs I used were mostly apple. Which were good ones I guess. Even back on performas
21:53:10 <ehird> Mine was a second-hand 17" Compaq that had a scratch in the casing.
21:53:23 <AnMaster> ehird, ran at some 5xx * something res iirc
21:53:51 <AnMaster> ehird, why didn't you run it at lower res?
21:54:15 <ehird> And the flicker didn't bother me.
21:54:21 <AnMaster> non-highest res doesn't look bad on a CRT
21:54:21 <ehird> And I could read the tiny, smudged text.
21:54:44 <ehird> The question is, why not more pixels? I didn't care about eye strain because I'd never had a problem (and it seems I was right).
21:54:50 <ehird> I usually ran at 1280x1024, I think. No, wait, that's 5:4. Um... maybe it was stretched and I never knew.
21:55:23 <AnMaster> 1280x1024 is pretty common for 17" iirc?
21:55:24 <ehird> I think I used PowerStrip to get a higher res than Windows would allow, but ran into the limit of my 32 MiB SiS graphics...
21:55:31 <ehird> AnMaster: Nowadays, yes.
21:55:34 <ehird> On that thing? Hell no.
21:55:41 <ehird> It isn't visible-area.
21:55:45 <AnMaster> ehird, I think my old syncmaster (RIP) used that
21:56:41 * Sgeo is starting to be creeped out
21:56:54 <Sgeo> Some person keeps knocking at the door. It happened yesterday, and twice today
21:57:06 <ehird> That would be a person.
21:57:07 <AnMaster> uh. didn't you answer the door?
21:57:12 <Sgeo> The car has been the same car for both times today. Don't remember yesterday
21:57:15 <ehird> TALK? TO PEOPLE? AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
21:57:54 <AnMaster> ehird, for once I enjoy your sarcastic comments.
21:58:32 <ehird> Hahaha the guy who dropped the Boscom terminal board to destroy the rivets burned it at the request of one forum member
21:59:12 <ehird> >I've run out of ways to torture the Boscom.
21:59:12 <ehird> That's not very imaginative. However, you did run out of Boscom it seems.
22:00:31 <ehird> The guy has a shitload of keyboards anyway.
22:00:45 <ehird> And it's fun to see what well-made keyboards can withstand.
22:00:47 <AnMaster> ehird, I would be surprised if they are still manufactured
22:00:56 <ehird> They're manufactured by Unicomp.
22:01:08 <ehird> Doesn't matter, anyway, as there'll be a bunch in circulation.
22:01:15 <AnMaster> ehird, and it is a terminal keyboard?
22:01:43 <ehird> I wish Unicomp made a tenkeyless Endurapro :-(((((((((((((((((((((((
22:01:54 <ehird> AnMaster: think things like ancient corporate account systems
22:02:21 <AnMaster> ehird, at some point they will all be replaced. Sure it may take a while, but it will happen
22:02:34 <ehird> Yes, in hundreds of years.
22:02:48 <AnMaster> ehird, I was just about to say that "by 2100 I doubt any of them are still in use"
22:03:17 <ehird> Endurapro is http://pckeyboards.stores.yahoo.net/en104wh.html, which is basically a standard-layout board but with a smaller bezel than the almost-identical-to-Model M Customiser. It also has a nipple mouse (probably quite good, as they took over from Lexmark who took over from IBM). Tenkeyless is a keyboard without the number pad.
22:03:34 -!- Slereah has quit (Read error: 110 (Connection timed out)).
22:04:13 <ehird> Keyboards, nope, they stopped makin' em and Unicomp was founded and bought up their shit.
22:04:28 <ehird> Lexmark is just the spinoff of IBM's keyboard+printer division when IBM went "ok let's get rid of this shit".
22:04:31 <ehird> They made Model Ms for a while.
22:04:36 <ehird> (since 1991 or 1993 or something like that)
22:04:43 <ehird> Anyway, tenkeyless Endurapro + their nice black no-lettering keycaps + some greasing on the springs = Hey, a sleek, modern, low-profile buckling spring keyboard that doesn't clatter nearly as much as the old ones.
22:04:55 <AnMaster> ehird, I used to have a Lexmark printer years ago
22:05:00 <AnMaster> never got it to work under linux.
22:05:11 <AnMaster> the HP one that replaced it worked out of box
22:05:17 <ehird> But Unicomp's idea of a product with a different design is this puzzling item: http://pckeyboards.stores.yahoo.net/noname1.html
22:05:43 <ehird> They are... not the most innovative or progressive company.
22:06:33 <AnMaster> ehird, do they have that in a terminal variant?
22:06:41 <ehird> Maybe if you ask them!
22:07:02 <ehird> Ooh, you can get that Wildcats keyboard with PS/2 *or* AT connector.
22:07:13 <ehird> Here I was expecting the second item in the drop-down to be USB.
22:09:18 <AnMaster> ehird, yeah I had the same reaction seconds before
22:09:37 <ehird> All the keyboards anyone would buy from them are available in USB, though.
22:09:47 <ehird> Navigating their site really pisses me off
22:10:02 <ehird> The menus change as you go around, and there's no link to /keyboards.html, the main page
22:12:44 <AnMaster> http://pckeyboards.stores.yahoo.net/linux101.html <-- heh....
22:13:15 <ehird> They list the SpaceSaver there?!
22:13:53 <AnMaster> ehird, what are you talking about?
22:14:41 <AnMaster> ehird, oh btw why are some of the keys a different colour I wonder.
22:14:47 <AnMaster> never could find a good reason for it
22:14:59 <AnMaster> http://ep.yimg.com/ca/I/pckeyboards_2075_1033946 for example
22:15:48 <AnMaster> "The SpaceSaver PS2 models can be programmed at the time of manufacture, the USB models are not programmable." <-- huh?
22:15:48 <ehird> Now, which to write first... My httpd, my web-thingy, or my document-writing thingy
22:16:02 <ehird> Web-thingy kinda depends on document-writing thiingy
22:16:13 <AnMaster> ehird, isn't that up to the OS keymaps?
22:16:13 <ehird> AnMaster: also, to mark non-self printing keys
22:16:17 <ehird> in the top row it's just for aesthetics
22:16:29 <ehird> backspace is printing in a way, I guess
22:16:37 <ehird> ... but enter is too
22:16:42 <ehird> it's just to look good, really
22:17:05 <AnMaster> ehird, so are some of them on the numkeypad
22:17:59 <augur> http://en.wikipedia.org/wiki/List_of_cats_with_fraudulent_diplomas
22:18:32 <ehird> I'd prefer to see [[List of cats with legitimate diplomas]]
22:21:08 * ehird looks around the various interwebnet shoppan' sites for a http://www.bluesnews.com/miscimages/tmmarble150.gif
22:21:36 <ehird> Everyone just has the wheel version, it seems
22:21:46 -!- kar8nga has quit (Remote closed the connection).
22:22:03 -!- coppro has quit (Remote closed the connection).
22:22:15 <ehird> I like the little finger indents on the buttons.
22:22:23 <ehird> Why don't more pointing devices have them?
22:22:42 <ehird> Trackman Marble by Logitech (Toy)
22:22:43 <ehird> I find that categorisation very offensive!
22:23:21 <AnMaster> <ehird> Everyone just has the wheel version, it seems <-- you don't want a mouse wheel?
22:23:34 <ehird> I do! But I want a middle mouse button that isn't a wheel.
22:23:56 <AnMaster> ehird, clicking a scroll wheel isn't hard
22:24:03 <ehird> It's bad for your finger.
22:24:04 <ehird> Besides, in between the buttons isn't the most comfortable place for a wheel to go anyway.
22:24:08 <AnMaster> I do X11 pasting with a tilt-able scroll wheel all the time
22:24:24 <ehird> Your hands do, though.
22:24:36 <ehird> And even the Plan 9 people say that you must have three real buttons.
22:24:47 <ehird> Anyway, I rest my hand on all the buttons, so it's especially important.
22:24:59 <ehird> Just saying that it's widely accepted.
22:25:11 <AnMaster> ehird, I rest my hand so I don't rest it on the scrollwheel
22:25:14 <ehird> http://i.imgur.com/jPy3i.png, with the trackball lower down like in http://www.bluesnews.com/miscimages/tmmarble150.gif (I'm a terrible drawer) is my perfect trackball.
22:25:32 <AnMaster> ehird, so where do you want your scrollwheel then?
22:25:33 <ehird> Convenient place for the scroll wheel, and you ca n rest on it and still use the left and middle buttons — great for web browsing.
22:25:37 <ehird> Click the damn link.
22:25:59 <AnMaster> ehird, why do you want a cable in your foot?
22:26:49 <AnMaster> and go see a doctor about that swollen toe (and the missing ones. Maybe the big one cannibalised some of the small ones?)
22:27:16 <ehird> I ignored your bad attempt at being funny in the first line, but spending three lines on it is just embarrassing.
22:27:39 <AnMaster> ehird, there is no joke you can't drag out even more
22:28:00 <ehird> £17.99 + £2.08 shipping for a used-but-in-very-good-condition, seemingly wheel-less TrackMan Marble?
22:28:08 <ehird> Yesssssssssssssssssssssssssssssssssssssssssssssssssssssssss
22:28:37 <ehird> Anyway, I think I can use the trackball as a mouse wheel.
22:28:53 <ehird> Set up some trickery to let me hold the middle button and move the trackball to scroll, say.
22:30:41 <AnMaster> ehird, wouldn't that break pasting? Unless you manage to get it to paste on button release if trackball hasn't moved
22:30:47 <AnMaster> which would probably require patching X
22:31:17 <ehird> Maybe I'll have a modifier key on the keyboard do it.
22:31:35 <ehird> Anyway, for such a cheap price I can pick up a wheeled version if it doesn't work out,
22:32:34 <ehird> "Trackman marble mouse only. No box, manual or software."
22:32:42 <ehird> Oh gosh, what will I do without the huge box letting me know it supports Windows 95?
22:32:45 -!- oerjan has quit ("leaving").
22:32:49 <ehird> Or the detailed manual on how to press your finger down to click?
22:32:56 <ehird> OR THE WINDOWS 9X-ONLY DRIVERS?!
22:32:59 <ehird> I can't possibly buy it.
22:36:28 <ehird> http://geekhack.org/attachment.php?attachmentid=5579&d=1257695395
22:36:28 <ehird> Spot the abomination!
22:42:49 <AnMaster> ehird, the keys seems to not match each other?
22:43:00 <ehird> Close. Look carefully.
22:43:10 <AnMaster> different angles, different convexities on the surface
22:43:36 <AnMaster> ehird, check the windows key and the alt key on the left side for example
22:43:47 -!- Pthing has quit (Remote closed the connection).
22:43:50 <ehird> *WHY ARE YOU TYPING LIKE THIS*
22:44:03 <AnMaster> ehird, because I hit the wrong key :P
22:44:13 <AnMaster> it was supposed to be lower case
22:44:32 <AnMaster> ehird, apart from that I never seen a "help" key before
22:45:14 <ehird> Look at the alt key.
22:45:48 <ehird> Yep. Look at the other key very near it...
22:45:56 <ehird> Either one or two places away on each side.
22:46:16 <ehird> RUN! IT'S A HYBRID DELL AT101W AND APPLE EXTENDED KEYBOARD II CHIMERA!
22:46:19 <ehird> RUN FOR YOUR LIFE!
22:46:19 <AnMaster> ehird, as I said the key hight and such didn't match.
22:46:42 <ehird> The letters and main punctuation (but not \|) are from the AEKII too
22:46:46 <ehird> AnMaster: TERROR, PANIC
22:47:10 <AnMaster> ehird, would (due to the key height mentioned) be horrible to type on
22:48:06 <ehird> Not really, the camera accentuates it.
22:48:14 <ehird> And the main block of keys is all the same height.
22:48:54 <ehird> "Hey -- could use some of the wisdom of your xorg champs. I found this link on how to emulate the scroll wheel using the logitech marble trackball. I figure any trackball would work for this, but what I was wondering is whether or not I could emulate the scroll wheel by using the "Windows" key and the trackball -- that is to say, if I hold the Windows key down, could I then use the trackball to scroll?"
22:48:57 <ehird> LIKEMINDED PEOPLE <3
22:51:53 -!- FireFly has quit ("Later").
22:57:07 <jix> i really love the apple keyboards
22:57:10 <jix> the new ones
22:57:17 <jix> unless they have even newer ones already
22:58:09 * ehird bashes jix with a buckling spring
22:58:15 <ehird> Begone, foul demon of the scissor switch!
22:58:26 <jix> yeah slim keyboards are not everyones favourite
22:58:48 * ehird picks up a Happy Hacking Keyboard Professional 2 and throws it at jix
22:58:52 <ehird> This minimalist enough for you?! Eh?!
22:59:00 * ehird throws a gigantic Model F terminal board for good measure
22:59:50 <AnMaster> <ehird> Begone, foul demon of the scissor switch! <-- isn't that what most laptops have?
23:00:05 <ehird> Yes, and Apple keyboards since ~2007
23:00:10 <ehird> Also, more like all laptops
23:00:26 <AnMaster> ehird, always wondered why laptops don't have just membrane ones
23:00:46 <ehird> scissor switch keyboards are much less thick
23:00:51 <ehird> bsmntbombdood: which
23:01:09 <ehird> no it's not, it has topre keyswitches and a well-designed layout
23:01:29 <ehird> of course the lite one is useless (rubber dome) but the professional is worth it for the keyswitches alone...
23:02:02 <AnMaster> ehird, are those really full sized keys?
23:02:30 <ehird> It's a perfectly usable keyboard
23:03:26 <AnMaster> bsmntbombdood, there are arguments both for and against numpad.
23:03:45 <ehird> AnMaster: f key is fn+number
23:03:56 <ehird> it's great because you can access everything from the home row
23:04:04 <ehird> AnMaster: There's a way to do more iirc
23:04:18 <ehird> bsmntbombdood: less keys = everything accessible from the home row, minimalist, and the mouse is closer
23:04:37 <ehird> mouse context-switching time is expensive; the width of a numberpad and middle-area is not to be sniffed at
23:04:41 <ehird> it makes a large differnce
23:04:44 <AnMaster> more keys = actually able to play nethack without going mad (I use numpad yes)
23:04:58 <ehird> bsmntbombdood: tell that to every user of the HHKB Pro 2
23:05:04 <ehird> I don't know anyone who's bought it and been dissatisfied
23:06:51 <ehird> pressing fn and a key to get pageup is faster than moving over to the pageup key anyway
23:09:34 <Sgeo> Pressing Fn-; and Fn-P to fly up and down in AW is annoying
23:10:00 <fizzie> Well, yes, if you go through the trouble of getting such a keyboard, I'm sure you won't let yourself be disappointed with it, even if it had a feature that'd randomly stick rusty nails through your fingers.
23:10:24 <ehird> fizzie: Dude, you should see some of the criticism the people on geekhack lob at expensive keyboards they bought and can't return.
23:10:47 <ehird> The ~$250 HHKB Pro 2 isn't even the most expensive keyboard fawned over by a long shot.
23:10:54 <ehird> It is one of the most popular full stop, though, regardless of price.
23:10:58 <fax> fizzie I have one of those, you get used to it after a while
23:11:13 <fizzie> fax: One of the rusty nail ones?
23:11:14 <AnMaster> <ehird> pressing fn and a key to get pageup is faster than moving over to the pageup key anyway <-- not really, it is moving about 2 cm from standard position to reach pgup
23:11:22 -!- coppro has joined.
23:11:30 <ehird> Chording is still very faast.
23:11:31 <AnMaster> pgup and insert should be swapped
23:11:44 <ehird> And making the decision to move 2 cm takes a non-negligible amount of time too.
23:11:48 <AnMaster> ehird, sure. But annoying if you need to do a key combo with those
23:11:54 <ehird> Plus we're lumbering, slow beasts, except for our fingers. Which are really snappy.
23:12:54 <ehird> AnMaster: On the HHKB, that's (using normal key positions) Caps Lock + Windows + Rightmost bit of right shift key
23:12:57 <AnMaster> ehird, your mom is really snappy with her fingers though!
23:13:14 <fizzie> There's a lumbering, slow beast on your face! How have you not noticed that?!
23:13:20 <ehird> Caps Lock is actually control, alt key is next to an inexplicably big windows key which is next to the space bar (swap them, srsly)
23:13:24 <ehird> fn is next to right shift
23:13:33 <ehird> so that's actually a pretty comfortable key chord, really
23:13:35 <ehird> spread out and all
23:13:43 <AnMaster> ehird, " Rightmost bit of right shift key"?
23:13:48 <ehird> http://antiflash.org/notes/computers/happy_hacking_keyboard_pro_2/spacesaver_hhkbpro2_small.jpg
23:13:52 <ehird> Just like I said caps lock
23:13:57 <ehird> It's to the right of the right shift key
23:14:08 <ehird> I was saying it that way so you could orient yourself on a regular keyboard
23:14:14 <ehird> thus why I said windows when the key in that position is alt
23:14:19 <ehird> No, right shape for return
23:14:33 <ehird> The ISO layout is shit, and I say this as someone who used it for years and years then switched
23:14:41 <ehird> I've switched back to ISO for this shitty keyboard, and I fucking hate it
23:14:46 <AnMaster> ehird, I used both. Can't stand the US one
23:15:02 <AnMaster> hit the enter in the wrong place on it all the time. That is, where there is no enter
23:15:05 <ehird> Knowing you that probably means you used the US layout for 5 minutes after 50 years of using ISO 24/7
23:15:17 <ehird> You hit enter at the top?
23:15:20 <ehird> Dude, your pinky hates you.
23:15:24 <ehird> I mean reaaaaaaaally hates you.
23:15:38 <AnMaster> ehird, I no on the middle. Right between the two rows on US layout
23:16:03 <ehird> bsmntbombdood: rebind [] to () and put [] on shifted 9 and 0. () is way more common in both english text and lisp
23:16:11 <fax> bsmntbonbondood you use paredit?
23:16:12 <ehird> and the adjustment needed is very little
23:16:31 <AnMaster> ehird, I'm not 50 years. and I used US layout for a few months. Sure I used the ISO layout for more. But still a few months is usually enough to get used to a new keyboard
23:16:44 <ehird> No it's not, not a whole new layout
23:17:15 <AnMaster> ehird, didn't have that keyboard for more. So couldn't do anything about it. So what do you think is enough? If 5 months isn't
23:17:32 <ehird> Maybe your brain is just broken and can't relearn things? Don't ask me.
23:17:56 <AnMaster> ehird, or maybe your "US layout is better" *isn't* an universal truth
23:18:04 -!- puzzlet has quit (Remote closed the connection).
23:18:05 <AnMaster> maybe it is subjective? ever considered that?
23:18:08 -!- puzzlet has joined.
23:18:35 <ehird> Hello, welcome to HUMAN COMMUNICATION, where people state opinions as fact because otherwise EVERY SINGLE THING they say would be prefixed by "In my opinion,".
23:18:59 <ehird> I wonder why I bothered to type that out, seeing as you appear to realise it for a few months and then promptly forget with a smarmy pseudo-sarcastic statement.
23:19:05 <AnMaster> ehird, even so "<ehird> Maybe your brain is just broken and can't relearn things? Don't ask me." seems to indicate it is something universal
23:19:08 <ehird> "I can't adjust to it from ISO" isn't an argument against the US layout, subjective or not, by the way.
23:19:19 <ehird> It's an argument against you not using the US layout, which is different.
23:19:24 <ehird> So you fail pretty much entirely.
23:19:41 <ehird> You called it the "wrong" shape for enter.
23:19:48 <ehird> That phrases it as an argument against the US layout itself.
23:20:26 <AnMaster> ehird, for me yes. I never said it was universal. While your "<ehird> Maybe your brain is just broken and can't relearn things? Don't ask me." seemed to indicate your opinion was somehow "better" than mine.
23:21:10 <ehird> I think you just hate me with a force so strong that your brain actually injects such things in between the lines of my messages.
23:23:30 -!- zzo38 has joined.
23:23:41 <zzo38> I wrote a spell in D&D game, is this good enough: http://zzo38computer.cjb.net/dnd/other_stuff/Suppress_Lycanthropy.txt
23:27:09 <ehird> You asked that before.
23:27:43 -!- zzo38 has quit (Client Quit).
23:28:24 <ehird> http://geekhack.org/attachment.php?attachmentid=4104&stc=1&d=1251471829
23:28:27 <ehird> More Boscom torturer
23:35:32 <Sgeo> Some MIDIs (unfortunately, each individual MIDI and other sound is zipped): http://objects.activeworlds.com/aw/sounds
23:37:30 <Sgeo> And some of the zips seem to be invalid
23:43:37 <Sgeo> The invalid zips seem to be ones with filenames less than 8 characters, not including the dot and extension
23:56:01 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
23:58:25 <ehird> bsmntbombdood: because there's no esolang activity anymore
23:58:31 <ehird> we're all just sitting around waiting for feather
00:02:20 <Sgeo> I thought Feather was unimplementable?
00:03:01 <Sgeo> Or are we waiting for the spec? Or is my memory pure crap>?
00:03:26 <ehird> It is probably implementable.
00:03:39 <ehird> ais523 is implementing it to figure out what the spec is, I think is the basic idea.
00:04:45 <Sgeo> Is making and distributing MIDIs of copyrighted songs considered copyright violation?
00:05:30 <coppro> you know what shouldn't annoy me but does?
00:05:31 <Sgeo> So AWI comitted copyright violations?
00:06:03 <Sgeo> Active Worlds Incorporated, I think
00:06:20 <ehird> *committed, and I wouldn't call a victimless crime something you can commit.
00:06:21 <coppro> When I get all worked up about downloading something that I feel really bad for doing (e.g. an indy game) and then discover it's on a CC license
00:07:19 <ehird> ah, the guilt of one who, somewhere in their mind, has a vague, denied feeling that this amazing sharing technology can't be immoral but still deludes themself into thinking it is so.
00:08:33 <coppro> ehird: I don't feel the same level of guilt for things made by idiot companies - it's only indie stuff
00:08:48 <ehird> totally irrelevant to what i said
00:09:12 <coppro> ehird: I was responding to the underlying sarcasm
00:09:25 <ehird> actually, any underlying point had nothing to do with that either
00:10:20 <Sgeo> Mutation (in Active Worlds) played MIDId versions of the Conan the Barbarian theme, Lothlorien, a Tomb Raider song, a FF7 song, a song from the Fifth Element, and probably some others I don't remember offhand
00:11:13 <ehird> It's user-created, isn't it?
00:11:51 <coppro> Is it really relevant?
00:11:57 <Sgeo> Mutation, yes, although it was known to everyone
00:12:18 <Sgeo> An AWI world did play MIDId versions of copyrighted stuff, though
00:13:24 <ehird> coppro: Sgeo has an obsession about every aspect of old VR games (mostly Active Worlds) that borders on the creepily unhealthy.
00:13:38 <coppro> ehird: yeah, I've noticed
00:14:09 <Sgeo> AWGate played MIDId versions of Come on Eileen, Africa, Breakfast at Tiffany's, Closing Time, Flagpole Sitta, Another Brick in the Wall, Losing my Religion, Zoot Suit Riot, and much more
00:14:15 <ehird> If it wasn't amusing I'd be tying him and Rugxlo or however you spell it together and dumping them in the middle of the Amazon
00:14:29 <Sgeo> (and AWGate is owned by AWI)
00:15:51 <coppro> a) yes, that's infringement
00:16:34 <ehird> "It is the responsibility of every citizen to ignore dumb laws." —Ian Clarke
00:18:04 <coppro> Copyright is, more or less, a type of law that's designed to provide remedies for egregious circumstances and ignore the trivial ones
00:18:25 <ehird> I have absolutely NO doubt that that was NOT on the minds of ANY of the lawmakers that produced copyright.
00:18:39 <coppro> It wouldn't have conciously been in mind, no
00:18:55 <ehird> And it fails terribly at that, FWIW
00:19:10 <ehird> I'd also disagree strongly that the circumstances it kicks in are egregious — *any* of them
00:19:15 <coppro> because the Internet came and screwed everything up
00:19:24 <ehird> They certainly are if you come at them from the old way of thinking...
00:19:36 <ehird> Personally I'm not a fan of neo-Ludditism, though.
00:20:24 <coppro> ehird: I'm talking things like someone mass-marketing copies of a film.
00:21:06 <ehird> And probably you would be surprised to find out that I don't think copyright has a place there either.
00:21:15 <coppro> because we've had this talk before
00:21:24 <coppro> I disagree with your opinion, though
00:21:51 <ehird> Nonsense; we all know that I am unable to have rational debate and just cover up for my ignorance with childish insults. Uh, unless that was another coppro.
00:23:31 <ehird> *buys a trackball*
00:24:56 * ehird attempts to decide between writing his document authoring tool and writing an httpd
00:25:16 <ehird> document authoring tool: more unique, less interesting
00:25:20 <ehird> httpd: less unique, more interesting
00:26:40 <ehird> httpd would be a lot more challenging, too, although perhaps easier
00:27:01 <ehird> i don't think that's a contradiction
00:31:39 <ehird> to use. httpd is more of a fun reinvention thing, but document authoring tools are seriously subpar.
00:57:00 <augur> http://www.youtube.com/watch?v=yfV93ZMSmOQ&feature=related
01:08:46 -!- ehird has quit (Read error: 110 (Connection timed out)).
02:49:09 -!- immibis has joined.
02:57:24 -!- calamari_ has joined.
03:05:22 <Sgeo> http://www.youtube.com/watch?v=i5lGOMYvxxU
03:11:49 -!- coppro has changed nick to __nick.
03:11:58 -!- __nick has changed nick to coppro.
03:12:19 -!- coppro has changed nick to __mikem.
03:12:24 -!- __mikem has changed nick to coppro.
03:14:08 -!- zzo38 has joined.
03:14:31 <zzo38> I have invented a new power and a new feat. http://zzo38computer.cjb.net/dnd/options/Backward_Heal.p http://www.dandwiki.com/wiki/Useless_Magecraft_%283.5e_Feat%29
03:17:36 -!- calamari_ has quit ("Leaving").
03:25:12 -!- zzo38 has quit ("-____").
03:45:06 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
03:46:56 -!- puzzlet has joined.
04:00:09 -!- jix has quit (Read error: 110 (Connection timed out)).
04:14:25 -!- fax has quit ("Leaving").
04:43:10 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
05:26:12 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
05:26:15 -!- puzzlet has joined.
06:41:18 -!- FireFly has joined.
07:05:12 -!- Gracenotes_ has joined.
07:08:07 -!- Gracenotes has quit (Nick collision from services.).
07:08:18 -!- Gracenotes_ has changed nick to Gracenotes.
07:16:12 -!- coppro has quit (Remote closed the connection).
07:16:40 -!- coppro has joined.
07:38:55 -!- MigoMipo has joined.
07:58:20 -!- FireFly has quit ("Later").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:09:39 -!- MigoMipo has quit ("Page closed").
08:16:10 -!- Slereah has joined.
08:22:06 -!- cal153 has joined.
08:34:23 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
09:03:56 -!- ais523 has joined.
09:04:34 -!- Sgeo has quit ("Leaving").
11:24:27 -!- jix has joined.
12:04:42 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:04:47 -!- puzzlet has joined.
12:20:09 <oklokok> augur: probably the most boring thing i've ever heard
12:21:15 <oklokok> well okay the elements are great, but there isn't enough for more than a minute of music
12:27:30 -!- oklopol has joined.
12:45:27 -!- oklokok has quit (Read error: 110 (Connection timed out)).
12:57:26 -!- jix has quit ("leaving").
13:03:15 -!- Asztal has joined.
13:21:47 -!- fax has joined.
13:25:56 -!- kar8nga has joined.
13:47:49 -!- FireFly[DS] has joined.
13:48:34 -!- KingOfKarlsruhe has joined.
13:49:36 -!- Pthing has joined.
14:08:11 -!- jix has joined.
14:17:01 -!- FireFly[DS] has quit (Success).
14:20:02 -!- FireFly[DS] has joined.
14:26:49 -!- augur has quit (Read error: 110 (Connection timed out)).
14:30:38 -!- BeholdMyGlory has joined.
14:57:23 -!- jix has quit (Read error: 113 (No route to host)).
15:37:49 -!- KingOfKarlsruhe has quit (Remote closed the connection).
15:48:17 <fax> is it possible to make a program that computes a random sequence if you have a halting oracle?
15:53:22 -!- coppro has quit (Read error: 110 (Connection timed out)).
16:30:21 -!- jix has joined.
16:46:43 -!- augur has joined.
16:52:06 -!- FireyFly[DS] has joined.
16:53:08 -!- FireFly[DS] has quit (Connection reset by peer).
16:53:24 -!- FireyFly[DS] has changed nick to FireFly[DS].
17:09:19 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
17:09:23 -!- puzzlet has joined.
17:14:45 -!- puzzlet_ has joined.
17:27:50 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
17:33:03 -!- ais523 has quit (Remote closed the connection).
17:34:44 -!- Gracenotes has quit (Remote closed the connection).
17:37:39 -!- BeholdMyGlory has quit (Remote closed the connection).
17:37:52 -!- BeholdMyGlory has joined.
17:40:24 -!- oerjan has joined.
17:41:30 -!- BeholdMyGlory has quit (Remote closed the connection).
17:41:42 <oerjan> <fax> is it possible to make a program that computes a random sequence if you have a halting oracle?
17:41:42 -!- BeholdMyGlory has joined.
17:41:52 <oerjan> depends on your definition of random i would assume...
17:43:15 <oerjan> random as in no pattern detectable by any computable program, maybe...
17:44:23 <fax> oh hmm a finite sequence is not random?
17:44:28 <oerjan> however, it might still be possible to detect it if you had a halting oracle of the next degree (for the language with the first halting oracle included)
17:46:10 <oerjan> hm with kolmogorov complexity a finite sequence is random if it is incompressible, isn't it.
17:46:31 <oerjan> a halting oracle might be able to verify that.
17:46:44 -!- oerjan has quit ("leaving").
17:47:20 <fax> in that case I think we could generate every terminating program (size less than n) that produces a length n sequence and take the biggest sequences
17:47:55 <fax> so you should be able to generate randomness (other than chaitins omega) with a halting oracle
17:50:32 -!- oerjan has joined.
17:59:29 -!- kar8nga has quit (Remote closed the connection).
18:13:18 <Warrigal> Chaitin's omega is random enough.
18:23:47 -!- puzzlet has joined.
18:24:08 -!- puzzlet_ has quit (Remote closed the connection).
18:26:55 -!- kar8nga has joined.
18:48:10 -!- FireFly[DS] has quit (Connection reset by peer).
18:54:52 -!- ais523 has joined.
19:12:04 <AnMaster> anything better than graphviz for making an ER diagram (needed for current module at uni. Otherwise I wouldn't do this)
19:12:21 <AnMaster> graphviz is basically a pain for this.
19:12:53 -!- augur has quit (Read error: 60 (Operation timed out)).
19:15:28 <oerjan> once again, sound financial advice there
19:19:38 * AnMaster is wondering slightly why neither inkscape nor firefox seems to handle underlined text in svgs.
19:19:49 <AnMaster> I checked the spec to make sure I was correct
19:21:57 <AnMaster> oh ffs. Now I'm really annoyed. I should have *known* CTAN would have something for it
19:23:22 <AnMaster> PGF hm. Never heard of it before. Seems to be in texlive though
19:24:31 <AnMaster> hm the ER part doesn't seem to be default. At least I can't locate that
19:24:40 -!- FireFly[DS] has joined.
19:28:13 <AnMaster> oh yay /usr/share/texmf/tex/generic/pgf/frontendlayer/tikz/libraries/tikzlibraryer.code.tex is there
19:29:29 <AnMaster> oh hm not texlive. Have it for some other unknown reason
19:42:53 -!- BeholdMyGlory has quit (Remote closed the connection).
19:42:56 -!- Gracenotes has joined.
19:45:44 -!- MigoMipo has joined.
19:45:47 -!- MigoMipo has left (?).
20:02:37 -!- BeholdMyGlory has joined.
20:28:53 -!- FireyFly[DS] has joined.
20:32:06 -!- FireFly[DS] has quit (Connection reset by peer).
20:33:03 -!- FireyFly[DS] has changed nick to FireFly[DS].
20:41:52 -!- FireyFly has joined.
20:44:32 -!- FireyFly has changed nick to FireFly.
20:48:39 -!- ehird has joined.
20:48:56 <ehird> Huh, x'y" ~= x.y m
20:49:16 <ehird> For a sufficiently vague definition of ~=
20:49:31 <ehird> 1'44" = 1.42 m, at least
20:53:29 * ehird nabs a Logitech TrackMan Marble for £20.07
20:53:32 <Deewiant> And selecting x and y how? That's also 4'8" :-P
20:53:32 <ehird> (including shipping)
20:53:34 <ehird> 16:31:39 <ehird> to use. httpd is more of a fun reinvention thing, but document authoring tools are seriously subpar.
20:53:34 <ehird> 16:34:39 <coppro> Agree!
20:53:51 <ehird> Deewiant: Erm... ignore me, I'm ... stupid >_<
20:54:07 <ehird> 16:54:41 <bsmntbombdood> wtf is a document authoring tool
20:54:15 <ehird> a document format + a processor for this format
20:55:04 <oerjan> stupid + HELPFUL = dAnGeRoUs MaDnEsS
20:56:56 <ehird> can't believe how cheap that trackball is :|
21:00:44 -!- jix has quit (Read error: 145 (Connection timed out)).
21:04:34 <ehird> and the only cure is less stupid references
21:04:42 <oklopol> it was fun at first to have such a different sort of imagination, but i cannot do math, not at all.
21:05:26 <oklopol> and that's not math, i can execute algorithms just fine
21:05:57 <ehird> everything is an algorithm!
21:06:13 <oklopol> well yes i mean i can execute deterministic algorithms
21:07:05 <oerjan> oklopol is not yet quantum
21:07:41 <ehird> oklopol: everything is deterministic
21:08:01 <ehird> just construct the simulated universe so that it has no patterns like the numbers you give to it as random!
21:10:56 -!- jix has joined.
21:11:15 -!- KingOfKarlsruhe has joined.
21:13:06 <ehird> i have two (2) submissions to t-rex is lonely
21:13:10 <ehird> 1. the first two panels of today's comic
21:13:14 <ehird> 2. the first two and last panels of today's comic
21:13:32 <oklopol> did t-rex is so lonely continue?
21:13:43 <ehird> http://lonelydino.com/
21:14:19 <fax> horrible plagarism
21:14:20 <ehird> http://lonelydino.com/?id=75 xD
21:14:31 <ehird> fax: the word is plagiarism, and how on earth is it plagiarism?
21:14:39 <ehird> it's a derivative work, yes; it's not plagiarism
21:14:52 <AnMaster> <Deewiant> And selecting x and y how? That's also 4'8" :-P <-- how many " makes up a ' ?
21:15:14 <Deewiant> Should be inferrable from that exchange
21:15:31 <ehird> Or maybe he just doesn't want to hand you stuff on a silver platter
21:15:34 <Deewiant> You'd've googled it in the time you've spent thus far
21:15:51 <ehird> Deewiant: AnMaster doesn't BELIIIIIIIIIEVE in google
21:16:04 <AnMaster> ehird, correct. Like you said you didn't believe in paper.
21:16:40 <ehird> That is true, out-of-context and completely irrelevant.
21:16:54 <ehird> Congratulations. You have reached the Altar of the Stupid Trifecta!
21:32:10 -!- ehird_ has joined.
21:36:32 <ehird_> http://22.media.tumblr.com/tumblr_kqd6xcT6AP1qzqhmeo1_500.jpg
21:46:58 -!- ehird has quit (Read error: 110 (Connection timed out)).
21:46:58 -!- ehird_ has changed nick to ehird.
21:47:13 <ehird> ah colloquy, you and your ninja nick-grabbing
21:47:19 <ehird> no ghosting for you, just wait... and... pounce
21:48:24 -!- BeholdMyGlory has quit (Remote closed the connection).
21:52:04 <ehird> http://14.media.tumblr.com/tumblr_ks8bucdZ4W1qz4rgro1_500.png
21:52:05 <ehird> DEBIAN USERS: So generous
21:58:01 -!- kar8nga has quit (Remote closed the connection).
21:59:08 <ehird> Should have specified. Statistics from a pay-as-much-as-you-want system.
21:59:13 <ehird> Game, World of Goo.
22:00:20 <Deewiant> Based on how many times the links generated to a given person were retrieved, or what?
22:00:24 <ehird> http://2dboy.com/blog/wp-content/uploads/2009/10/bycountry.png
22:00:24 <ehird> SWISS DEBIAN USERS: They love you
22:00:35 <ehird> Deewiant: Presumably you can only buy one.
22:00:52 <Deewiant> Nope, I got it and it gives you links for all the platforms.
22:01:05 <ehird> In the pay-what-you-want system?
22:01:15 <ehird> Maybe they set up a "WHICH PLATFORM WILL YOU USE THIS ON LULZ" field?
22:01:19 <ehird> I guess you'd remember.
22:01:22 <Deewiant> I know, because I have the .tar.gz, mac one, and windows one.
22:01:30 <ehird> WHAT DO YOU HATE DEBIAN OR SOMETHING
22:01:46 <Deewiant> I don't actually recall a .deb there at all. :-P
22:01:49 <ehird> You probably paid like -$0.01
22:01:54 <Deewiant> But it's the same thing as the .tar.gz anyway.
22:01:56 <ehird> Deewiant: DO YOU HATE RPMS
22:02:14 <Deewiant> I don't really know enough about them to have an opinion.
22:02:25 <ehird> Well they hate you. Because you PASSED THEM BY
22:02:38 <Deewiant> Anyway, I paid $4 once and $1 once.
22:03:11 -!- FireFly has quit ("Later").
22:08:00 -!- FireFly[DS] has quit.
22:14:00 -!- jix has quit ("leaving").
22:14:54 -!- augur has joined.
22:35:04 <ais523> I haven't seen you here for a while...
22:35:10 <ais523> have I just not been paying attention?
22:35:28 <ehird> I was here on the weekend.
22:35:34 <ehird> but not for a week before, thereabouts
22:39:00 <Ilari> Can anybody guess what causes this: "relocation R_X86_64_32 against `.text' can not be used when making a shared object; recompile with -fPIC". :-)
22:39:15 <Ilari> (ld error message)
22:39:32 <ehird> Yes, you're using dynamic linking. Stop that
22:40:23 <Ilari> Adding -fPIC to line doesn't do anything to that error...
22:46:34 <Ilari> (answer: Trying to link X64 object file into X86 shared library).
22:47:30 <SimonRC> Ilari: it says recompile with -fPIC, not re-link
22:48:12 <SimonRC> unless you know that R_X86_64_32 means turning 64-bit code into 32-bit code or whatever
22:48:20 <Ilari> Actually, for that file, it is "Re-Assemble".
22:48:21 <ehird> Deewiant: the fukka switches suck yeah?
22:49:28 <ehird> the filco font is nice
22:51:02 <ehird> http://i.imgur.com/mmw3Z.png
22:53:25 <ehird> do you want a hee-larie-us corruption of that name, SimonRC?
22:53:29 <ehird> i could give it a try.
22:53:52 <ehird> oerjan: shut up, they ruined the rayman franchise
22:54:02 <ehird> </obscure-by-being-unobscure>
22:54:40 <oerjan> </obtuse-by-not-having-a-clue>
22:56:08 <oerjan> google/wp to the rescue
22:56:21 <oerjan> hm is that like gnu/linux
22:56:36 <oerjan> or the other way around
22:57:06 <oerjan> that picture looks rabid enough
22:57:56 * SimonRC played Rayman 2 for the conworlding
22:58:42 <oerjan> *wreckdit might be better speeling
22:59:10 <ehird> SimonRC: rayman 2's music is awesome
22:59:28 <ehird> kinda silly thing to say, everything about it is awesome :P
23:00:13 <ehird> it's even well-coded enough that you can run it in widescreen and there's no glitches... although you have to edit an .ini to set it
23:00:23 <ehird> dunno if forcing anti-aliasing works; prolly
23:02:27 <ehird> haha python sucks so much (correction: rc is so much cooler)
23:02:39 <ehird> (THE ONLY THINGS THAT MATTER)
23:03:12 -!- KingOfKarlsruhe has quit (Remote closed the connection).
23:07:17 -!- AnMaster has changed nick to _[].
23:07:25 <_[]> yay it was free
23:12:25 <ais523> _[]: what language is that?
23:12:46 <_[]> ais523, my nick? none?
23:12:55 <_[]> Deewiant, true
23:13:05 <_[]> it could be valid befunge too
23:13:13 <ais523> it's also probably valid Prolog, on the basis that most strings of punctuation marks are valid Prolog
23:13:14 <_[]> well, almost everything could
23:13:20 <ais523> although IIRC square brackets can be an exception
23:13:29 <_[]> Deewiant, no. Not the bytes 1 1 1
23:13:41 <Deewiant> _[]: It's valid. It's a program that never halts.
23:13:47 <_[]> ais523, probably valid perl?
23:14:05 <ais523> _ is a bareword in that context
23:14:11 <ais523> oh, it is valid Perl, in the right context
23:14:20 <ais523> it calls a function called _ on a reference to an empty list
23:14:22 <_[]> ais523, it's the secret easter egg. to erase your harddrive
23:14:28 <_[]> ais523, XD
23:14:33 <ais523> but that means you have to define a function called _ first
23:14:37 <ais523> and nobody would really want to do that
23:14:54 <ais523> as it's a silly name for a function
23:15:02 -!- _[] has changed nick to []_.
23:15:45 <ais523> "sub _ {print shift,"\n";} _[]" gives me the output ARRAY(0x8f6d880)
23:16:00 <ais523> []_ is probably a syntax error, though
23:16:13 <ais523> <Perl> Bareword found where operator expected at - line 1, near "]_"
23:16:16 <[]_> ais523, on top of all users lists but ##c it seems
23:16:24 <[]_> some [1]st<something> is on top
23:16:29 * []_ is too lazy top copy it
23:16:46 <ais523> ChanServ's beating you on user lists where it's there too
23:16:50 <ehird> so what is o good about the name _[]?
23:16:51 <ais523> because my client sorts ops to the top
23:16:58 <ais523> ehird: is your s key working properly?
23:17:08 <ais523> ehird: it's valid Perl! in the right context...
23:17:33 <ehird> This channel is PG-13! sometimes.
23:18:29 <ais523> anyway, I could do with some on-topic conversation, given that I've been teaching Java all
23:18:30 <[]_> * rizzuh is now known as [0]_1
23:18:30 <[]_> <[0]_1> YAY!
23:18:30 <[]_> <Wulf_> Mortimon: what is nonworking?
23:18:30 <[]_> <ab9rf> frickenate: maybe your platform doesn't really support getrusage
23:18:30 <[]_> <[0]_1> []_, in your face #2!
23:18:30 <[]_> * [0]_1 is now known as rizzuh
23:18:35 <ais523> I need decontamination
23:18:47 <[]_> ais523, I need to sleep soon
23:18:58 <ehird> ais523: have you no ethics?
23:19:03 <[]_> ais523, and teaching java. eww
23:19:43 <SimonRC> I have been coding Java a lot of the day.
23:20:02 <ehird> SimonRC: yes, but you work for an enterprisey corporation and have no soul :P
23:20:05 <ais523> woah, what happened to <http://select.intercal.org.uk/>?
23:20:06 <SimonRC> ratehr verbose, and crap in some ways, but gives me a few new and interesting ways to think
23:20:10 <ais523> the rest of the website is still there
23:20:16 <ais523> but the homepage seems to have gone mostly missing
23:20:17 <ehird> SimonRC: in much the same way as alcohol
23:20:35 <ais523> <meta name="GENERATOR" content="Vim 7.2 with a bit of help from my cat" />
23:20:46 <ais523> ugh, not ddsh editor, he really is slipping
23:20:50 <SimonRC> ehird: I work for a small company on an [Aa]gile team, but the company works for [redacted] who aren't too bright at times
23:21:17 <ehird> ooh, is it agile as in strict methodology agile? sweet, it's like meeting a cultist!
23:21:33 <ehird> ais523: i guess cc (that's his initials right?) gave up on life and jumped off a bridge or something, gotta tie up those loose ends beforehandn
23:21:37 <SimonRC> for example, I would never have thought of testing C using mock functions had it not been for JAva
23:21:51 <ehird> ah, claudio l. c.?
23:21:57 <ehird> not as in CLaudio C.
23:22:09 <SimonRC> I don't know how Agile we are, but we try to do things in tiny steps
23:22:15 <ais523> to http://clc.intercal.org.uk/
23:22:21 <SimonRC> and we do write unit tests
23:22:33 <ehird> http://lepton.kuonet-ng.org/ick-0.-2.0.29.pax.gz is down, btw
23:22:45 <ais523> <reinstate.intercal.org.uk> Your comment is subject to review, and will normally be included below: the review is simply to exclude unacceptable language (such as Java)
23:22:45 <ehird> ais523: both pages previously existed
23:22:46 <SimonRC> I think what we do is called bright people managed well
23:22:53 <ais523> ehird: clc.intercal.org.uk is new since I last looked
23:22:59 <ehird> ais523: hmm, no idea
23:23:03 <ais523> (there was c.intercal.org.uk but not clc.intercal.org.uk)
23:23:10 <SimonRC> I keep droping hints about Scala, but nothing is changin yet
23:23:16 <ehird> SimonRC: what a great description; "we are clever and we do things well"
23:23:37 <ehird> What is http://overload.intercal.org.uk/favicon.png, anyway?
23:24:05 <ehird> ais523: i wonder if c-intercal will work on my distro (probably)
23:24:15 <SimonRC> I know marginally more about management than you do about processor design
23:24:23 -!- []_ has changed nick to {}_.
23:24:28 <ehird> [[C-INTERCAL has long shipped with code to make it run better on Emacs;
23:24:28 <ehird> clearly this is biased. This latest beta, therefore, includes support
23:24:28 <ehird> for syntax-highlighting for vi, in the hope of redressing the balance.]]
23:24:28 <ehird> this is a lie; vim is not vi
23:24:33 <ais523> in theory, it should work on anything
23:24:37 <ais523> ehird: ouch, good catch
23:24:40 <{}_> the reason for this
23:24:43 <ehird> (Emacs is close enough to a synonym as GNU Emacs, but vi is not vim by a long shot)
23:24:45 <ais523> clearly, the only solution is to patch vi so it works on that too
23:24:50 <{}_> is that {}_ and []_ maps differently on hyperion
23:24:55 <{}_> but won't on their future ircd
23:24:56 <ais523> thus making the statement technically correct
23:25:06 <ehird> ais523: they did that it's called elvis :P
23:25:16 <ais523> oh, in that case the statement's technically correct already
23:25:30 <ehird> elvis is The Other Extended Vi
23:25:34 <ehird> it isn't vim compatible or anything
23:25:37 <ehird> and it's older than vim, IIRC
23:25:45 <ehird> (elvis is more minimal than vim, naturally)
23:25:50 <ais523> is vim genetically vi?
23:26:02 <ehird> vim is kind of un-vilike
23:26:14 <ehird> but people who want a vi just ignore the vimmy parts because it's the most modern vi clone at its core
23:26:41 <ais523> {}_: http://search.cpan.org/~dconway/Acme-Don-t-1.01/t.pm was linked from reddit today, I'm hoping the syntax will horrify you sufficiently
23:26:52 <ais523> ehird: I'm the sort of person who'd rather have a vim than a vi
23:26:53 <ehird> ais523: anyway, static binaries + a.out + tiny kernel with lots of things omitted and some uncommon choices + newlib + non-gcc compiler (probably pcc)
23:27:03 <ehird> do you think C-INTERCAL would work?
23:27:13 <ais523> ehird: if it doesn't, that's a bug
23:27:26 <ais523> in fact, if it doesn't work on a PDP-11, that's a bug
23:27:27 <ehird> but do you think it will? I guess so
23:27:32 <ais523> but I'm not entirely sure how easy that would be to test
23:27:51 <ais523> (the reason the most recent release was marked beta was that it hasn't been tested at all on anything but Linux)
23:27:53 <ehird> pdp-11 emulators are available, I believe
23:28:12 <ais523> ehird: I went to a load of effort trying to make autotools act how it actually should act
23:28:15 <ais523> rather than how it does ac
23:28:18 <ehird> ais523: I think I tried it on OS X at one point
23:28:19 <ehird> and reported on it
23:28:23 <ais523> all that portability effort has to go somwhere
23:28:32 <{}_> <ais523> {}_: http://search.cpan.org/~dconway/Acme-Don-t-1.01/t.pm was linked from reddit today, I'm hoping the syntax will horrify you sufficiently *looks*
23:28:51 <ehird> that *looks* is very ambiguously attributed
23:28:57 <ehird> ais523: don't worry, making this distro will result in my becoming an expert at mangling autotools systetms
23:28:59 <SimonRC> actually there is a real PDP-11 online somewhere
23:29:05 <ehird> and i will hate it
23:29:10 <{}_> ais523, it makes me laugh
23:29:10 <SimonRC> you can toggle in your own bootloaders even
23:29:14 <ais523> more fun, Perl doesn't exactly allow ' in identifiers, which might be your first reaction on seeing that
23:29:19 <ais523> yet the code is still syntactically correct
23:29:55 <ehird> How is it distinguishable from not allowing them?
23:29:57 <ais523> very simple source, yes
23:30:01 <ais523> ehird: it's namespacing
23:30:06 <ais523> don't is legacy syntax for don::t
23:30:21 <ais523> and the module itself is ACME::Don::t
23:30:28 <ehird> I was wondering why it was Don::t
23:30:35 <SimonRC> apostrophes are an ADAism aren't they?
23:30:54 <ais523> incidentally, Ada is very strongly one of the languages that INTERCAL isn't
23:30:57 <{}_> <ais523> more fun, Perl doesn't exactly allow ' in identifiers, which might be your first reaction on seeing that <-- it doesn't? didn't know
23:31:11 <ehird> ais523: C-INTERCAL does funny stuff with the stack, doesn't it?
23:31:11 <ais523> {}_: seriously, how many languages allow ' in identifiers?
23:31:24 <ehird> Special thanks go to Joris Huizer, Elliot Hird, Arvid Norlander,
23:31:24 <ehird> I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU I HATE YOU
23:31:30 <{}_> ais523, erlang? using backslashes
23:31:39 <ais523> ehird: not really, it messes around with setjmp and longjmp but it's all in a strictly portable way
23:31:39 <{}_> ais523, like 'an\'atom'
23:31:55 <ehird> SimonRC: Two Ts two Ts two Ts!
23:32:00 <{}_> ais523, probably scheme too?
23:32:08 <ehird> Scheme has a'b as a (quote b)
23:32:16 <ais523> ehird: what if you use vertical bars too?
23:32:30 <ehird> ais523: portable in theory yes, but in practice?
23:32:32 <ais523> oh, btw, I rewrote the elisp CGI script in Perl, to save my sanity
23:32:35 <ais523> it only took about an hour
23:32:43 <ais523> strangely, the result wasn't a CGI script, it turned out that that bit was unnecessary
23:32:43 <ehird> joey hess reported a C-INTERCAL bug? haha
23:32:53 <ais523> ehird: he /was/ its maintainer
23:33:10 <ais523> Debian maintainer, that is
23:33:14 <ais523> so he was downstream, I was upstream
23:33:27 <{}_> joey hess?
23:33:40 <ais523> apparently he's done quite a lot of things
23:33:46 <ais523> so it's ironic that I only know him via INTERCAL
23:34:27 <ehird> Joey Hess is the main guy behind Debian-Installer, all-round Debian guy, Palm Pre hacker, creator of ikiwiki...
23:34:43 <ehird> ikiwiki probably being the most publicly visible of those
23:34:53 <SimonRC> argh accomplished people envy envy envy
23:35:42 <ehird> i wouldn't call him exactly accomplished; he had a post on his blog recently about he pays for almost nothing by sheer luck iirc
23:35:46 <ehird> I may be misremembering it slightly
23:35:54 <ehird> cool, though, definitely
23:37:06 <ehird> http://kitenet.net/~joey/blog/entry/nethack/ add another item: "nethack player"
23:37:56 <ais523> I have a copy of his C-INTERCAL Debianisation git repo
23:37:59 <ais523> to prevent it being lost
23:39:02 <ais523> not that anyone at Debian's been particularly eager to unorphan the package...
23:40:34 <ehird> I'll maintain a package for $distro_name!
23:48:13 <{}_> ehird, you could call it that
23:48:16 <{}_> $distro_name
23:48:28 <{}_> it would be nice
23:48:36 <ehird> dns forbids me for naming a domain that.
23:48:58 <{}_> ehird, good point
23:53:24 -!- augur has quit (Read error: 113 (No route to host)).
00:00:56 -!- ais523 has quit (Connection timed out).
00:08:23 <ehird> {}_: why ask a question that you know you won't be around to read the reply to?
00:08:41 <{}_> ehird, there is log tomorrow *turns off screen*
00:08:56 <ehird> 1. you fail at grammar 2. you don't logread
00:09:21 <Deewiant> Logs exist, although I think it's a bit impolite to ask something and then say essentially "just write it down and I'll read it later".
00:18:23 <ehird> Except tomorrow he'll read the logs to see if I've answered and I won't have
00:18:41 <ehird> WHAT'S THAT BUDDHISTS? KARMA REFERS TO THE ACTION ITSELF WHICH IS ITS OWN PUNISHMENT?
00:18:46 <ehird> THINK I JUST PROVED YOU WRONG BITCHES
00:24:31 -!- fax has quit ("Leaving").
00:25:22 -!- augur has joined.
00:27:30 -!- oerjan has quit ("Good night").
00:37:51 <ehird> have you ever felt the need to middle click and drag?
00:43:23 -!- augur has quit (Read error: 113 (No route to host)).
01:00:09 <ehird> MOST RIDICULOUS GENRE: Steamphunk
01:01:51 -!- Sgeo has joined.
01:04:21 -!- coppro has joined.
01:04:52 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
01:04:57 -!- puzzlet has joined.
01:32:31 -!- puzzlet_ has joined.
01:35:18 -!- puzzlet has quit (Read error: 145 (Connection timed out)).
01:46:03 -!- fizzie has quit (Read error: 60 (Operation timed out)).
01:49:22 -!- fungot has quit (Read error: 145 (Connection timed out)).
01:49:44 <ehird> "Rupert Murdoch has said he will try to block Google from using news content from his companies."
01:49:56 <ehird> you know, the internet has an abundance of perfectly good guns he could use to shoot himself in the foot
01:50:08 <ehird> why is he taking the scenic route?
01:50:35 <ehird> ("There's a doctrine called 'fair use', which we believe to be challenged in the courts and would bar it altogether," Mr Murdoch told the TV channel. "But we'll take that slowly.")
01:50:52 * Sgeo cries as he installs Visual C++ 2008 Express
01:51:40 <ehird> http://www.news.com.au/travel/story/0,28318,26182164-5014090,00.html
01:51:41 <ehird> EXPLAIN YOURSELF, ANMASTER
01:51:43 <ehird> Sgeo: so don't do it.
01:52:06 <Sgeo> If g++ would work with the AW SDK on Windows, I wouldn't
01:52:22 <ehird> You probably did something wrong.
01:52:32 <Sgeo> But I can't figure out what
01:52:33 <ehird> Besides, most such picky old things are VC6 only.
01:52:50 <Sgeo> I think it was developed in VC6
01:53:27 * ehird hopes the old Logitech TrackMan Marble is PS/2, not serial
01:53:37 <ehird> I have a PS/2→USB adapter that should work, but no serial→anything adapter.
02:12:48 <Sgeo> And.. it works in VC++2008Express
02:12:57 <Sgeo> Guess what I'm going to be using from now on
02:16:12 <Sgeo> (At least for AW related stuff
02:18:03 -!- mad has joined.
02:28:37 * Sgeo accidentally put his bot in the sky
02:28:43 <Sgeo> Y is altitude, not north/south
02:32:52 -!- augur has joined.
02:45:48 -!- fizzie has joined.
03:04:22 <ehird> fizzy fizzly fizzie
03:06:26 <Sgeo> A program using the AW SDK: http://codepad.org/YonOAnaM
03:18:15 -!- augur has quit (Read error: 54 (Connection reset by peer)).
03:21:48 <ehird> ugh, declarations not at the start of the function
03:21:58 <ehird> you suck! also sleep time now
03:22:03 -!- ehird has quit.
03:22:49 -!- SimonRC has quit (sendak.freenode.net irc.freenode.net).
03:22:49 -!- Leonidas has quit (sendak.freenode.net irc.freenode.net).
03:22:49 -!- mtve has quit (sendak.freenode.net irc.freenode.net).
03:22:50 -!- Deewiant has quit (sendak.freenode.net irc.freenode.net).
03:22:50 -!- EgoBot has quit (sendak.freenode.net irc.freenode.net).
03:23:27 -!- Leonidas has joined.
03:24:32 -!- Deewiant has joined.
03:28:22 -!- SimonRC has joined.
03:38:49 -!- Pthing has quit (Remote closed the connection).
03:47:57 -!- EgoBot has joined.
03:47:57 -!- mtve has joined.
03:53:13 -!- augur has joined.
04:05:09 -!- cal153 has quit.
04:40:05 -!- immibis has joined.
05:05:43 <immibis> "bill gates is so rich, he had to pay the bank to convert all their software to use 64-bit integers"
05:12:05 -!- puzzlet_ has quit (Remote closed the connection).
05:12:10 -!- puzzlet has joined.
05:24:43 -!- Gracenotes has quit (Connection timed out).
05:26:30 -!- Gracenotes has joined.
05:33:02 -!- calamari has joined.
05:57:47 <MizardX> Doesn't the banks use a decimal system for storing money amounts?
06:04:12 <mad> Dunno, they probably did use binary coded decimal, dunno if they still do
06:17:12 -!- Slereah_ has joined.
06:36:31 -!- Slereah has quit (Read error: 110 (Connection timed out)).
06:38:43 -!- mad has quit ("Radiateur").
06:47:33 -!- FireFly has joined.
06:49:41 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
06:50:39 -!- puzzlet_ has joined.
06:50:45 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
06:51:26 -!- puzzlet has quit (Remote closed the connection).
06:53:57 -!- bsmntbombdood has joined.
07:00:48 -!- puzzlet_ has quit (Read error: 104 (Connection reset by peer)).
07:01:52 -!- puzzlet has joined.
07:17:54 -!- Asztal has quit (Read error: 60 (Operation timed out)).
07:18:37 -!- Asztal has joined.
07:50:36 <{}_> <ehird> Except tomorrow he'll read the logs to see if I've answered and I won't have <-- indeed.
07:51:03 <{}_> <ehird> 1. you fail at grammar 2. you don't logread <-- actually I do look for highlights. Apart from that I don't usually log read
07:51:16 <{}_> usually don't*
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:42 -!- Gracenotes has quit ("Leaving").
08:04:14 -!- calamari has quit ("Leaving").
08:07:48 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
08:27:54 -!- FireFly has quit ("Later").
08:54:39 -!- ais523 has joined.
09:07:46 -!- Asztal has quit (Read error: 110 (Connection timed out)).
09:10:27 -!- Gracenotes has joined.
10:03:43 -!- Guest7354 has left (?).
10:21:39 -!- BeholdMyGlory has joined.
12:06:45 -!- BeholdMyGlory has quit (Remote closed the connection).
12:56:16 -!- Pthing has joined.
12:58:59 -!- jix has joined.
13:38:51 -!- FireFly has joined.
14:57:58 -!- FireFly has quit ("Later").
15:30:04 -!- coppro has quit ("I am leaving. You are about to explode.").
16:00:15 -!- augur has quit (Read error: 113 (No route to host)).
16:04:37 -!- BeholdMyGlory has joined.
16:28:44 -!- ais523 has quit (Remote closed the connection).
16:38:18 -!- fax has joined.
16:39:07 -!- augur has joined.
16:51:43 -!- kar8nga has joined.
17:29:15 -!- mtve has quit (sendak.freenode.net irc.freenode.net).
17:29:15 -!- EgoBot has quit (sendak.freenode.net irc.freenode.net).
17:31:15 -!- EgoBot has joined.
17:31:15 -!- mtve has joined.
17:31:33 -!- ais523 has joined.
17:39:35 -!- mtve has quit (sendak.freenode.net irc.freenode.net).
17:39:36 -!- EgoBot has quit (sendak.freenode.net irc.freenode.net).
17:40:39 -!- jix has quit ("Lost terminal").
17:43:29 -!- cal153 has joined.
17:52:37 -!- mtve has joined.
17:54:22 -!- puzzlet has quit (Remote closed the connection).
17:54:28 -!- puzzlet has joined.
18:08:56 -!- FireFly has joined.
18:16:44 -!- oerjan has joined.
18:19:49 <oerjan> huh no one has spoken for 10 hours
18:20:24 <oklopol> but actually a few people have spoken on other channels
18:20:33 <oerjan> yes but thinking doesn't count
18:20:45 <oerjan> context, oklopol, context
18:21:00 <fax> I was going for 12 hours :(
18:21:17 <oerjan> oklopol: this channel is the context
18:21:31 <oklopol> but... how could i have known
18:21:51 <oerjan> that's what we use when not speaking for hours
18:22:12 <oklopol> anyway i'm beginning to see this fever as a good thing
18:22:40 <oklopol> it makes math much more interesting, because everything even slightly nontrivial requires like a two hour thinking session
18:23:12 <fax> how does that not just mae you study math you already know??
18:24:14 <oerjan> ah but he _thinks_ he doesn't know it
18:24:22 <oerjan> so it's still exciting
18:24:31 <fax> swine fever!
18:24:52 <oklopol> what did you mean by that "mae" thing
18:25:06 <oklopol> well you meant "mean", but i mean by the the sentence
18:25:07 <oerjan> oklopol: mae west, obviously
18:25:52 * oerjan thought "make", actually, but "mean" makes more sense, although a more unlikely typo
18:25:58 <oklopol> exercises aren't always easy even without a fever, i don't see how that'd mean i already know all the math
18:26:18 <oklopol> yeah maybe make, let's see if i understand it then
18:26:52 <oklopol> with "make"... you might mean if everything looks hard, i might accidentally start solving something i've already solved?
18:27:06 <oklopol> also i just solve what they give me
18:27:37 <oklopol> and yes i think i have swine fever
18:27:39 <fax> I wish I was as motivated as you
18:28:25 <oklopol> because i never get sick, i need a reason for being sick now.
18:29:10 <oklopol> also i have all the symptoms... but i'm not sure any of them actually separate it from the usual codenameless sicknesses
18:30:13 <oklopol> a good source of motivation is the fear of not being the best
18:30:38 <oklopol> also a great source of depression, i suppose
18:30:55 <oklopol> i actually took medicine for it yesterday
18:31:53 <oklopol> drugs should only be used for their side-effects
18:32:02 <fax> If you know you aren't and will never be best how do you get motivated anyway?
18:32:17 <fax> not /you/, I mean "one"
18:33:44 <oklopol> to find something you're the best at, you just need to be at the pareto frontier.
18:34:20 <oerjan> {}_: D&D (especially the last annotation line :D)
18:34:49 <oklopol> just take something you are the best at, and think of everything else as getting better at that artificial thing
18:35:03 <oklopol> i have a few of those i don't share with people
18:35:06 <oerjan> oklopol: he's feeling symbolic, clearly
18:35:37 <oklopol> can you understand my sentences? communication is hard
18:35:51 <oklopol> i ordered pizza a few hours ago
18:35:56 <oerjan> oklopol: it perfectly is to understand well may
18:35:59 <oklopol> and the guy asked what the pin code for the house is
18:36:08 <oklopol> and i told him the pin code for my credit card
18:36:55 <oklopol> also i ordered the wrong pizza, said "mir", which is the name of the place, instead of the pizza i actually wanted to order
18:37:22 <oklopol> (not my only mix-ups today, just during that phone call)
18:38:40 <oerjan> mir? russian pizza world?
18:39:47 <oerjan> mir has to be russian. it's probably secretly owned by russian mafia. thus further irony as mir also means "peace"
18:39:49 <oklopol> the owner is a stereotypical kebabian dude
18:40:37 <oerjan> ok maybe it means something in turkish too. let me google...
18:40:58 <oklopol> it means "for me" in german
18:41:07 <oklopol> well "me" in dative anyway
18:41:43 <oklopol> geben sie mir EINEN GROSSEN PIZZA
18:42:20 <oerjan> ah well kebab was invented by turkish germans, so...
18:43:21 <oklopol> huh no one has spoken for 10 seconds
18:44:42 <{}_> oerjan, and iwc
18:44:51 <{}_> didn't notice you join
18:45:05 <{}_> read it hours ago
18:45:10 <{}_> didn't see you in here then
18:47:56 <{}_> oerjan, you weren't invisible‽‽‽
18:50:35 <oerjan> i don't know that you can be invisible in a channel...
18:51:08 <oerjan> i'm always +i, of course
18:53:39 <{}_> <oerjan> i don't know that you can be invisible in a channel... <-- you can?
18:54:00 <FireFly> I assume {}_ is AnMaster, though I wonder why the nick?
18:54:20 <FireFly> Yup, apparently it was AnMaster
18:54:21 <oerjan> {}_: reading comprehension fail
18:54:52 <oerjan> hint, there is no missing comma
18:55:11 <{}_> read it as "didn't"
18:55:14 <{}_> that was the issue
18:55:16 <{}_> FireFly, why not
18:55:37 <FireFly> Well, dunno, it looks odd, that's why
18:55:53 <FireFly> Have you registered that nick while you're at it?
18:56:01 <oerjan> FireFly: look at the bright side, now he looks more swattable than you -----###
18:56:49 <oerjan> he's identified so it must be registered. or?
18:57:16 <FireFly> I think he can sign in for AnMaster without grouping/registering the {}_ nickname
18:57:21 <FireFly> Though I'm not sure, you may be right
18:57:49 <oerjan> hm but then how do we see whether he is registered with that nick...
18:58:00 <FireFly> I guess we can ask NickServ
18:58:23 -!- oerjan has changed nick to test135.
18:58:37 <FireFly> [19:58:25] [PRIVMSG >>> NickServ]: info {}_
18:58:37 <FireFly> [19:58:26] NickServ [NickServ@services.]: Information on {}_ (account AnMaster):
18:58:41 -!- test135 has changed nick to oerjan.
18:58:42 <FireFly> Seems like he grouped the nick
18:59:08 <{}_> FireFly, yes why?
18:59:14 <oerjan> when i change nick, it says i'm signed on, but not that i'm identified
18:59:52 <{}_> okay can someone say "AnMaster"
18:59:55 <FireFly> Hmm, I guess you're right, oerjan
18:59:58 <{}_> so I can see if the highlight works
19:00:13 <{}_> try again?
19:00:22 <oerjan> AnMaster: not a chance
19:00:36 * {}_ has to read manual instead of guess for a likely settings
19:01:45 <{}_> FireFly, again?
19:02:24 <FireFly> Is it case insensitive? whataboutanmasterthis?
19:03:54 <{}_> insine works doesn't work
19:03:56 <{}_> check case
19:05:45 -!- jix has joined.
19:09:45 -!- fungot has joined.
19:09:53 <fungot> {}_: a standard argument for it, it is just a " grass is greener on the other hand, often include highly analyzing optimizing compilers and highly optimized run-time systems.
19:10:03 <fax> fungot, style
19:10:04 <fungot> fax: then there's the new eso website
19:10:10 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
19:10:27 <fizzie> "Grass is greener on the other hand", a nice combino-idiom.
19:11:29 -!- Gracenotes has quit (Remote closed the connection).
19:12:19 -!- kar8nga has quit (Remote closed the connection).
19:12:19 <{}_> fizzie, the last part is verbitime I assume?
19:12:28 <{}_> "often include highly analyzing optimizing compilers and highly optimized run-time systems."
19:12:37 <{}_> fizzie, from what channel?
19:12:44 <{}_> hi ais523 btw
19:13:56 <fizzie> {}_: [2004-05-15 23:58:45] < Riastradh> Erlang as a language is not designed for intense computation. SML systems, on the other hand, often include highly analyzing & optimizing compilers and highly optimized run-time systems.
19:14:02 <fizzie> {}_: Freenode's #scheme.
19:14:34 <fizzie> The & got completely stripped out during some phase.
19:15:55 -!- KingOfKarlsruhe has joined.
19:23:43 -!- puzzlet has quit (Remote closed the connection).
19:23:48 -!- puzzlet has joined.
19:24:49 -!- FireFly has quit ("Later").
19:36:51 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:37:06 -!- KingOfKarlsruhe has joined.
19:42:26 -!- KingOfKarlsruhe has quit (Remote closed the connection).
19:50:02 <ais523> {}_: I find your name impossible to mentally pronounce
19:52:13 <pikhq> {}_: I find your name impossible to parse in Tcl syntax.
19:52:18 <fizzie> ais523: You will have to refer to him as "the artist formerly known as AnMaster".
20:29:17 <{}_> ais523, great!
20:29:25 <{}_> <pikhq> {}_: I find your name impossible to parse in Tcl syntax. <-- wow
20:29:36 <{}_> fizzie, what?
20:29:38 <{}_> why artist?
20:29:51 * {}_ guesses it was a monty python reference
20:30:19 <{}_> ais523, would []_ be better?
20:30:32 <ais523> but not by enough to matter
20:30:53 <{}_> ais523, what do you call a { in english now again, slipped my mind
20:31:03 <ais523> brace, or possibly curly bracket
20:31:10 <{}_> "klammer-bracket" just seems so Swinglish
20:31:24 <{}_> (Swedish + English, maybe Swenglish?)
20:31:58 <{}_> ais523, so my name is: "opening curly bracket closing curly bracket underscore"
20:32:08 <{}_> how is that impossible to pronounce?
20:33:03 <{}_> ais523, it isn't my fault [] {} [ ] { } are all taken
20:33:44 <{}_> * |||| :Erroneous Nickname
20:33:49 <{}_> that doesn't make sense
20:37:16 -!- oerjan has changed nick to a|b.
20:37:23 <{}_> indeed it is allowed
20:37:23 -!- a|b has changed nick to |aha|.
20:37:32 <{}_> so why isn't four of them
20:37:38 <{}_> and ||| is registered
20:37:41 <{}_> same for || and |
20:37:58 -!- |aha| has changed nick to oerjan.
20:39:50 <fizzie> {}_: It was a reference to http://en.wikipedia.org/wiki/Prince_%28musician%29 -- see the "also known as" entry in the infobox, and the first paragraph of the actual article.
20:40:38 <{}_> fizzie, but isn't that one a monty python reference?
20:40:45 -!- FireFly has joined.
20:40:46 <{}_> unless I'm completely mistaken
20:41:20 <{}_> "The knights formerly known as The Knights of Ni" or something like that (modulo exact phrase)
20:43:51 <fizzie> {}_: No. According to Wikipedia, they were "The Knights Who 'Til Recently Said Ni", which is a bit different; but in the 2004 musical Spamalot, they've been renamed to "The artists formerly known as the Knights who say Ni" as a reference to Prince.
20:44:24 -!- jix has quit ("Lost terminal").
20:44:29 <fizzie> Of course you could speculate that the "formerly known" thing was a reference to the "'til recently" bit of Holy Grail, but that's not completely obvious, at least.
20:45:02 <{}_> fizzie, oh
20:53:38 -!- {}_ has changed nick to {0}.
20:53:38 -!- {0} has quit (Nick collision from syn.).
20:53:49 -!- AnMaster has joined.
20:55:38 <MizardX> Heh. They're still having trouble with that... "Nick collision from syn."
20:56:27 <FireFly> Well, uh, the one being discussed, not the one of the channel
20:56:48 <AnMaster> not sure about that. And {0}_ was reported erroneous
20:57:56 -!- AnMaster has changed nick to {}_.
21:03:24 <{}_> ais523, btw isn't my nick valid C with the right #define?
21:03:26 <{}_> well not alone
21:04:12 <{}_> like: #define _ /*NOOP*/\nwhile 0 {}_
21:04:26 <{}_> (inside some function)
21:07:34 -!- BeholdMyGlory has quit (Remote closed the connection).
21:10:09 -!- Gracenotes has joined.
21:12:28 <{}_> Deewiant, indeed
21:12:41 <{}_> Deewiant, no define even
21:15:16 <{}_> Deewiant, don't be sarcastic. I was being impressed of that idea.
21:15:34 * {}_ tries to find the English word for "beröm"
21:15:36 * {}_ looks at FireFly
21:17:33 <{}_> praise would be better in this case yeah
21:22:08 <{}_> ais523, what is my nick with intercal char names now again?
21:22:22 <ais523> I'm not sure, { and } aren't used in INTERCAL
21:22:41 <{}_> ais523, what about [] ?
21:22:44 <ais523> (are { and } even /in/ EBCDIC)
21:22:49 <ais523> and [ is a u-turn, I think
21:22:52 <ais523> with ] being a u-turn-back
21:27:13 <Deewiant> In Funge-98 your nick's the rather unwieldy "begin block end block east-west if"
21:28:41 <ais523> []_ would be three conditionals in a row
21:28:45 <{}_> Deewiant, yeah.
21:28:52 <{}_> ais523, no?
21:28:54 <ais523> hmm... or rather, not, because there's be no way to flow through all three in a row
21:29:05 <{}_> ais523, ] and [ are turn in befunge
21:29:06 <ais523> oh, ofc, [ and ] just turn unconditonally
21:29:25 <ais523> I was muddled with Sansism's G
21:29:59 <Deewiant> "turn left turn right east-west if"
21:30:49 * {}_ ponders the nick \hphantom{} but decides against it
21:30:59 <{}_> (anyone else should feel free to register it)
21:31:18 <{}_> (you could do other short latex code snippets as well)
21:49:45 -!- jix has joined.
21:53:43 <fizzie> Deewiant: Hello, fingerprint-defined D push 14 push 14 compare input file push 10 clear stack split.
21:54:43 <Deewiant> Good day to you too, push 15 input file no operation no operation input file push 14!
21:55:22 <{}_> "The GeForce 200 Series is the tenth generation of NVIDIA's GeForce graphics processing units. The series also represents the continuation of the company's unified shader architecture introduced with the GeForce 8 Series and the GeForce 9 Series."
21:55:45 <{}_> isn't that lower than 6000 even
21:55:50 * {}_ fails to see the logic
21:55:57 <fizzie> This reminds me a bit of the A.I. name-pronouncing convetion of Schlock Mercenary; explained in the note of http://www.schlockmercenary.com/d/20060419.html
21:56:46 <fizzie> The numbers are best treated as meaningless symbols instead of, you know, numbers.
21:57:02 <fizzie> Certainly "200" is a lot more than "8" or "9" (since they're called "series 8" and "series 9").
21:58:45 <fizzie> Though I guess you could argue the new series should be called the "GeForce 0.2 series" then.
21:58:48 -!- oerjan has quit ("leaving").
21:59:22 <{}_> fizzie, you could. But it would be pointless
21:59:28 <{}_> since there is no reason to it
21:59:42 <{}_> fizzie, no series 100?
22:17:19 -!- cal153 has quit.
22:17:45 -!- Gracenotes has quit (Remote closed the connection).
22:27:20 -!- cal153 has joined.
22:37:26 <fizzie> {}_: IIRC, there is a "series 100", but it was some sort of OEM-only "pretty much geforce 9 with a new name" budget thing.
22:38:21 <fizzie> For example http://www.nvidia.com/object/product_geforce_gt_120_us.html "OEM Product", "Not available for individual purchase".
22:48:31 <fizzie> Oh noes, there is an IMPERFECTION in the holy Wikipedia. (Someone has moved -- on Nov 1 -- the GeForce 100 series table from "GeForce 200 Series" into "GeForce 9 Series", without fixing the "GeForce 100 Series" => "GeForce 200 Series#OEM GeForce 100" redirect. I'd fix it myself, but there's a messy "no, they belong to this article" paragraph in the 200-series talk page, and I don't know how these Wiki-things go.)
22:56:55 <fizzie> oklopol: An anointed number.
22:58:57 <oklopol> i just saw that in the other direction in buffy the vampire slayer
22:59:05 <oklopol> there was this anointed one
22:59:13 <oklopol> and spike called him the annoying one and killed him
23:00:03 <fizzie> 1. anoint -- (choose by or as if by divine intervention; "She was anointed the head of the Christian fundamentalist group")
23:00:12 <fizzie> Funky "as if by" variant there.
23:02:55 -!- oklokok has joined.
23:07:42 -!- Badger has joined.
23:08:35 -!- M_Budgie has joined.
23:09:05 -!- Badger has left (?).
23:09:47 -!- M_Budgie has left (?).
23:12:48 -!- FireFly has quit ("Later").
23:14:14 -!- jix has quit ("leaving").
23:14:53 -!- M_Budgie has joined.
23:16:09 <M_Budgie> Does anyone know if there's a language made entirely out of pokemon references?
23:18:37 -!- M_Budgie has quit ("Page closed").
23:21:25 -!- oklopol has quit (Read error: 110 (Connection timed out)).
23:50:04 -!- Sgeo has joined.
23:51:07 <Sgeo> So, anyone try Go?
23:52:36 <Gregor> Go is go is go is go is go is go is go is go is go is go is go is go is MUSHROOM MUSHROOM.
23:53:10 <Sgeo> I meant the language
23:56:27 <fax> I don't like Go
23:58:47 <Sgeo> Too many ways to initialize a variable? (Just reading through the tutorial now)
00:00:04 -!- oklopol has joined.
00:00:21 -!- Ilari_ has joined.
00:00:22 -!- Ilari has quit ("Reconnecting").
00:00:49 -!- Ilari_ has changed nick to Ilari.
00:03:11 <Sgeo> There's semantics stuff, but did they really need to make the syntax this unfamiliar?
00:07:11 -!- coppro has joined.
00:17:21 -!- oklokok has quit (Read error: 110 (Connection timed out)).
00:18:47 -!- Tritonio has joined.
00:19:13 -!- Tritonio has left (?).
00:24:53 <Sgeo> How long should it really take to calculate the total cost of free items??
00:25:20 -!- Gracenotes has joined.
00:27:04 <Sgeo> How'd you get it so fast? I mean, if Microsoft-created software takes a while, how can a person possibly figure it out so quickly?
00:27:37 <ais523> total cost of free items should be 0
00:27:43 <ais523> because as they're free, they don't cost anything
00:27:49 <ais523> and adding loads of 0s makes 0
00:27:58 <Sgeo> It's just that Zune was taking a few seconds to "Calculate total"
00:36:35 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:36:40 -!- augur has joined.
01:07:10 -!- puzzlet has quit (Remote closed the connection).
01:07:14 -!- puzzlet has joined.
01:24:29 <fax> what's the difference between random and algorithmic?
01:24:41 <fax> you can generate primes with an algorithm
01:46:13 <pikhq> Random numbers are uncomputable. Algorithmic results are computable.
01:56:13 <Warrigal> The prime numbers definitely have some randomnesses.
01:56:27 <pikhq> Their distribution is random.
01:56:34 <pikhq> (insofar as we are aware)
01:56:55 <pikhq> The set of prime numbers is not at all random, however.
01:57:00 <Warrigal> What does "their distribution" mean?
01:57:14 <Warrigal> s/randomnesses/non-randomnesses/
01:58:19 -!- augur has quit (Read error: 60 (Operation timed out)).
02:18:10 <pikhq> Insofar as we are aware, there is no pattern to the prime numbers. (if you find such a pattern, you win some major prizes and break most encryption)
02:20:50 -!- coppro has quit (Remote closed the connection).
02:21:26 -!- coppro has joined.
02:41:09 -!- augur has joined.
02:49:29 <Sgeo> All prime numbers greater than 3 can be expressed as either 6n+1 or 6n-1, where n is an integer
02:49:47 <Sgeo> Where are my prizes?
02:58:37 <fax> All prime numbers are divisible by at least two smaller primes
03:11:22 <Sgeo> I realized it a long time ago, and recently saw it someplace else
03:11:25 <Sgeo> Let me work it out again
03:11:33 <Sgeo> (Unless I'm thinking of prime pairs)
03:13:05 <Sgeo> Let's say these represent any 6 continuous integers, starting with one divisible by 6:
03:13:27 <Sgeo> 2 and 4 are divisible by 2
03:13:46 <Sgeo> So we have / 1 / 3 / 5
03:13:52 <Sgeo> (Where / is effectively crossed out)
03:14:05 <Sgeo> The 3 is divisible by 3
03:14:10 <Sgeo> So / 1 / / / 5
03:15:28 <coppro> you did it, well done, etc
03:15:36 <Sgeo> Ah. Wanted to be sure
03:19:18 * coppro decides to do an old CCC
03:58:36 -!- fax has quit ("Leaving").
04:17:50 -!- Slereah has joined.
04:35:08 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
05:34:05 -!- Pthing has quit (Remote closed the connection).
05:36:16 -!- puzzlet has quit (Remote closed the connection).
05:36:21 -!- puzzlet has joined.
05:36:27 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
07:14:07 -!- puzzlet has quit (sendak.freenode.net irc.freenode.net).
07:14:07 -!- augur has quit (sendak.freenode.net irc.freenode.net).
07:14:07 -!- Deewiant has quit (sendak.freenode.net irc.freenode.net).
07:14:07 -!- Leonidas has quit (sendak.freenode.net irc.freenode.net).
07:14:08 -!- ineiros has quit (sendak.freenode.net irc.freenode.net).
07:15:35 -!- Leonidas has joined.
07:15:37 -!- puzzlet has joined.
07:15:44 -!- Deewiant has joined.
07:15:45 -!- ineiros has joined.
07:16:10 -!- ais523 has quit (Remote closed the connection).
07:18:43 -!- FireFly has joined.
07:29:03 -!- kar8nga has joined.
07:36:48 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
07:37:52 -!- puzzlet has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:06:05 -!- augur has joined.
08:06:40 -!- kar8nga has quit (Remote closed the connection).
08:08:36 -!- FireFly has quit ("Later").
09:14:02 -!- jix has joined.
10:02:19 -!- kar8nga has joined.
10:54:10 -!- Slereah has quit (Read error: 104 (Connection reset by peer)).
10:54:22 -!- Slereah has joined.
11:21:43 -!- cal153 has quit.
11:41:03 -!- kar8nga has quit (Remote closed the connection).
13:07:46 -!- kar8nga has joined.
13:44:43 -!- KingOfKarlsruhe has joined.
14:33:44 -!- MizardX has quit ("reboot").
14:37:44 -!- augur has quit (Read error: 110 (Connection timed out)).
14:40:56 -!- MizardX has joined.
14:54:19 -!- Pthing has joined.
14:55:41 -!- coppro has quit ("I am leaving. You are about to explode.").
15:29:40 -!- fax has joined.
15:45:43 -!- ais523 has joined.
15:52:05 -!- Slereah has quit.
16:02:38 -!- FireFly has joined.
16:05:50 -!- oerjan has joined.
16:08:07 -!- KingOfKarlsruhe has quit (Remote closed the connection).
16:10:41 <oerjan> 15:16:09 <M_Budgie> Does anyone know if there's a language made entirely out of pokemon references?
16:10:45 <oerjan> 15:18:37 --- quit: M_Budgie ("Page closed")
16:11:01 <oerjan> impatient guy... and didn't Zzo38 make one?
16:12:27 <oerjan> hm right, doesn't seem to be Zzo
16:12:36 <oerjan> and also not very fleshed out
16:13:56 <ais523> zzo38's a big pocket monsters IRC fan
16:14:35 <oerjan> that and General Assembler (by Zzo38 and used for a pokemon game, but not itself pokemon based) are the only pokemon mentions on the wiki
16:17:06 -!- Pthing has quit (Remote closed the connection).
16:18:44 <oerjan> <Sgeo> How'd you get it so fast? I mean, if Microsoft-created software takes a while, how can a person possibly figure it out so quickly?
16:19:14 <oerjan> sheesh everyone knows microsoft software is commercial, and thus optimized for non-free items
16:21:56 <ais523> wow, that's a lot of upgrades
16:22:21 <ais523> new kernel, X, and most of the bootup sequence
16:22:26 <oerjan> <pikhq> Insofar as we are aware, there is no pattern to the prime numbers. (if you find such a pattern, you win some major prizes and break most encryption)
16:23:04 <oerjan> there are lots of patterns, they just don't describe exactly what is a prime or not, or else they are too complicated to be useful
16:23:47 <oerjan> and i'm also not sure how a simple pattern for primes would help much with factorization (i.e. encryption breaking)
16:24:23 <oerjan> of course this is somewhat because the concept of pattern is wishy-washy
16:27:36 * oerjan notices today there _was_ a 12 hour break without anyone speaking in the channel, just before he arrived. fax must be pleased.
16:28:03 <ais523> wow that's a lot of major changes
16:32:11 -!- Gracenotes has quit ("be right back").
16:34:45 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
16:36:23 <{}_> oerjan, true
16:37:45 <oklopol> primes have a pattern by definition
16:38:16 <oerjan> oklopol: well that's what i meant by wishy-washy
16:38:43 <oerjan> if you define it too broadly, anything you can define uniquely at all becomes a pattern
16:39:21 -!- BeholdMyGlory has joined.
16:41:37 -!- ais523 has joined.
16:46:03 -!- Gracenotes has joined.
17:01:52 -!- Asztal has joined.
17:09:07 -!- augur has joined.
17:20:49 -!- Pthing has joined.
17:22:47 <ais523> not only does the documentation for this evaulation board not actually specify the pinouts to access the peripherals (one of the most basic pieces of information, and one that can't be guessed without a huge amount of brute force)
17:23:18 <ais523> but it has a set of examples (which I think are binary only), and for the web server tests, the IP is hardcoded to 1.2.3.9 (on network 1.0.0.0/16)
17:23:40 <ais523> why are they not using one of the ranges that is actually available for local networks?
17:27:20 -!- augur has quit (Read error: 110 (Connection timed out)).
17:36:44 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
17:38:05 <fizzie> Presumably because it might conflict with someone's actual local network, while you can cheerfully reuse 1.0.0.0/16 because no-one has any sensible reason to want to connect there, since it's IANA-reserved.
17:39:30 <fizzie> Not such a great reason, but *a* reason none-the-less.
17:40:44 <ais523> people may want to connect there once 1.0.0.0/16 is allocated
17:40:52 <ais523> IIRC, it isn't reserved for any reason but that it hasn't been allocated yet
17:41:41 <fizzie> Yes, but you're talking about the FUTURE. Now, in the FUTURE we might all be DEAD anyway, so why worry about it?
17:43:04 <ais523> what are you parodying?
17:43:36 <fizzie> Anyway, they could've used some random numbers from 169.254.0.0/16 though; those are reserved for link-local auto-random-config-style addresses.
17:44:06 <fizzie> Like what Windows boxes pick when they've been configured to use DHCP but no DHCP server is found.
17:45:49 -!- kar8nga has joined.
17:47:16 <fizzie> (There's also 192.0.2.0/24 "assigned as "TEST-NET" for use in documentation and example code", but maybe conceptually speaking that shouldn't be used "for real". Oh, and 198.18.0.0/15 is specifically allocated (RFC2544) for "benchmark tests of network interconnect devices"; that could well be abused for web-server testing.
17:57:13 -!- cal153 has joined.
17:59:40 -!- Gracenotes has quit (Remote closed the connection).
18:00:36 -!- cal153 has quit (Client Quit).
18:06:32 -!- cal153 has joined.
18:17:10 <oerjan> maybe it's really swine flu this time...
18:17:33 <oerjan> (otherwise, my third cold this autumn)
18:18:09 <{}_> oerjan, third only?
18:18:36 <oerjan> you mean i should have had _more_?
18:42:57 -!- fax has quit ("Leaving").
18:45:13 -!- sebbu2 has joined.
18:51:52 <Gregor> bsmntbombdood: You mean there's a goddamn motherfucking small flying snack in here.
18:52:18 -!- sebbu3 has joined.
18:55:35 * oerjan considers making an anosmia joke about Gregor and flies, but then realizes he hasn't exactly tasted flies himself either
18:55:57 <Gregor> They're full of proteiny goodness.
18:59:33 -!- sebbu3 has quit (Read error: 60 (Operation timed out)).
18:59:39 -!- sebbu4 has joined.
19:00:13 -!- sebbu has quit (Nick collision from services.).
19:00:15 -!- sebbu2 has quit (Nick collision from services.).
19:00:57 -!- sebbu4 has changed nick to sebbu.
19:01:07 -!- augur has joined.
19:08:10 -!- ais523 has quit (sendak.freenode.net irc.freenode.net).
19:08:10 -!- oerjan has quit (sendak.freenode.net irc.freenode.net).
19:08:11 -!- kar8nga has quit (sendak.freenode.net irc.freenode.net).
19:08:11 -!- Warrigal has quit (sendak.freenode.net irc.freenode.net).
19:15:29 -!- oerjan has joined.
19:15:45 -!- ais523 has joined.
19:38:23 <FireFly> [19:55:35] oerjan considers making an anosmia joke about Gregor and flies, but then realizes he hasn't exactly tasted flies himself either
19:38:33 <FireFly> So why do you insist in swatting them?
19:42:52 <oerjan> it's been a while since i could pass for a kid
19:46:37 <FireFly> it's been a negative while since I could
19:47:31 -!- Warrigal has joined.
19:47:42 -!- Gracenotes has joined.
19:48:56 -!- augur has quit (Read error: 60 (Operation timed out)).
19:53:20 -!- augur has joined.
19:54:07 -!- Cerise has quit (sendak.freenode.net irc.freenode.net).
19:54:34 -!- Cerise has joined.
19:55:03 -!- Cerise has changed nick to Guest19337.
20:15:31 -!- augur has quit (Connection timed out).
20:31:22 -!- puzzlet has quit (Remote closed the connection).
20:31:27 -!- puzzlet has joined.
20:41:08 -!- Gracenotes has quit (Remote closed the connection).
21:00:04 -!- Gracenotes has joined.
21:03:22 -!- fax has joined.
21:04:02 -!- fax has quit (Remote closed the connection).
21:04:15 -!- fax has joined.
21:14:39 <oklopol> you have never tasted a fly?
21:20:45 <Deewiant> Of those, I've tasted cow and ant
21:21:22 <oklopol> of the finnish ones i only like the big red and blue ones, whatever they are called
21:22:22 -!- ais523 has quit (Remote closed the connection).
21:22:33 <Deewiant> I've tasted only one variety of ant. :-P
21:24:46 -!- kar8nga has joined.
22:22:38 -!- Gracenotes has quit (Remote closed the connection).
22:25:43 -!- kar8nga has quit (Remote closed the connection).
22:32:10 -!- puzzlet has quit (Remote closed the connection).
22:32:14 -!- puzzlet has joined.
22:34:55 -!- oerjan has quit ("Reboot").
22:39:35 -!- oerjan has joined.
22:53:58 -!- Slereah has joined.
23:38:15 -!- oklopol has quit (Read error: 110 (Connection timed out)).
23:43:13 -!- BeholdMyGlory has quit (Remote closed the connection).
00:02:34 -!- FireFly has quit ("Later").
00:11:22 -!- Sgeo has joined.
00:14:32 -!- boily has joined.
00:16:57 -!- boily has quit ("leaving").
00:25:07 -!- Azstal has joined.
00:25:43 -!- Asztal has quit (Read error: 60 (Operation timed out)).
00:25:48 -!- Azstal has changed nick to Asztal.
00:43:18 -!- Gracenotes has joined.
00:52:01 -!- fax has quit ("Leaving").
00:55:27 -!- oerjan has quit ("Good night").
01:26:35 -!- coppro has joined.
01:45:08 -!- Slereah has quit (Read error: 110 (Connection timed out)).
01:46:04 -!- Gracenotes has quit (Remote closed the connection).
01:46:13 -!- immibis has joined.
02:23:30 -!- augur has joined.
02:44:17 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
02:57:22 -!- Sgeo has joined.
03:08:20 -!- Gracenotes has joined.
03:21:26 -!- Gracenotes has quit (Remote closed the connection).
03:37:31 -!- Gracenotes has joined.
03:48:27 -!- MizardX has quit (Read error: 145 (Connection timed out)).
04:07:23 -!- Rugxulo has joined.
04:07:53 <Rugxulo> Deewiant: the only place I can find the Funge '97 spec is here:
04:07:54 <Rugxulo> http://web.archive.org/web/20000903032408/www.mines.edu/students/b/bolmstea/mtfi/f97.html
04:08:35 <Rugxulo> and of all his files, only the mtfi121x.zip one is mirrored (8086 DOS version of his Funge '93/'96/'97 interpreter)
04:08:47 <Rugxulo> but it also compiles with DJGPP, so Linux etc. should work too
04:09:31 <Rugxulo> mostly I'm annoyed that one '93 example I wrote apparently doesn't work correctly in '98 (CCBI or FBBI)
04:10:11 <Rugxulo> apparently the whole "look for blank space and reflect back assuming its end of funge space" doesn't take account of string mode very well
04:10:37 -!- puzzlet_ has joined.
04:11:30 <Rugxulo> (more annoying in that CCBI has no true '93 mode although FBBI and MTFI both have one)
04:17:56 -!- MizardX has joined.
04:22:28 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
04:24:16 -!- puzzlet_ has changed nick to puzzlet.
04:25:26 -!- Rugxulo has quit ("gxis revido").
04:31:16 -!- coppro has quit (Read error: 60 (Operation timed out)).
05:03:22 -!- immibis has quit (Remote closed the connection).
05:49:25 -!- Slereah has joined.
06:13:28 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
07:15:08 <pikhq> Hmm. Bing has decided to suck more: results to come from W|A.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:10:46 -!- puzzlet has quit (Remote closed the connection).
08:10:52 -!- puzzlet has joined.
08:37:14 -!- {}_ has quit (Read error: 60 (Operation timed out)).
08:40:38 -!- AnMaster has joined.
08:45:56 -!- Asztal has quit (Read error: 110 (Connection timed out)).
10:03:51 -!- FireFly has joined.
10:17:23 -!- BeholdMyGlory has joined.
10:40:00 -!- Pthing has quit (Remote closed the connection).
11:45:20 -!- oerjan has joined.
11:47:51 <oerjan> <Rugxulo> apparently the whole "look for blank space and reflect back assuming its end of funge space" doesn't take account of string mode very well
11:49:50 <oerjan> well once you decide not to have a fixed fungespace size, it is hard to treat one end-of-funge-space space differently from another
11:54:19 <oerjan> unless you introduced a "nothing there" character, but that could lead to some awful debugging since most editors show that identical to space by default...
12:05:53 <fizzie> Funkiest thing evar: http://detexify.kirelabs.org/classify.html (shamelessly stolen from another #channel).
12:06:09 -!- ais523 has joined.
12:06:27 <fizzie> Doesn't seem to work so terribly well, but I like the idea of it.
12:07:37 <oerjan> AnMaster: also D&D. they're going to be _so_ happy when the real GM gets back :D
12:47:05 -!- ais523 has quit (Read error: 104 (Connection reset by peer)).
12:47:12 -!- ais523 has joined.
12:50:08 -!- oerjan has quit ("leaving").
13:22:32 -!- FireFly has quit ("Later").
15:21:29 <AnMaster> hm where is ehird when you need him
15:21:54 -!- Asztal has joined.
15:42:55 * AnMaster wonders what on earth "italic correction" is in TeX.
15:43:12 <AnMaster> I'm getting a warning about it from chktex
16:16:39 -!- puzzlet has quit (Remote closed the connection).
16:16:44 -!- puzzlet has joined.
16:19:06 -!- GregorR has joined.
16:21:31 -!- Gregor has quit (Read error: 110 (Connection timed out)).
16:33:14 -!- mycroftiv has joined.
18:10:32 <fizzie> AnMaster: It's the small bit of spacing you need when you have an italic glyph followed by a roman glyph.
18:16:19 -!- FireFly[DS] has joined.
18:20:54 -!- kar8nga has joined.
18:21:11 -!- FireyFly[DS] has joined.
18:21:30 -!- FireFly[DS] has quit (Connection reset by peer).
18:21:41 -!- FireyFly[DS] has changed nick to FireFly[DS].
18:22:45 <AnMaster> fizzie, well. It is followed by a space. So I'm not sure if this even makes sense
18:23:12 <AnMaster> and, wouldn't LyX handle that automatically hm
18:24:15 <AnMaster> fizzie, it seems to be after an \emph{foo}
18:26:36 <fizzie> \emph is often in italics. I wouldn't know about automatics; you can add a manual "\/" command inside the emph to maybe placate chktex, though I'm not sure if that works.
18:35:51 -!- fax has joined.
18:39:34 <AnMaster> fizzie, it doesn't actually look bad though. And strangely enough chktex never warned before when I used \emph (and yes it produced italics then too)
18:41:16 <fizzie> Did you have something immediately after the \emph{} with no spacing? Since that's usually when it is needed.
18:41:40 <fizzie> "It" referring to the extra spacing.
18:42:50 <augur> ive decided that just as there is Occams Razor
18:42:58 <augur> there is a corollary
18:43:33 <augur> given two equally adequate and equally simple theories, the one that is weirdest is best
18:44:24 <fizzie> It's not a problem with all letters; and there might even be some automatics nowadays, since the reasonably worst-case "\emph{f}k" and "\textit{f}k" render just fine here with a noticeable gap there.
18:45:40 <fizzie> But! The raw-TeX "{\it f}k" doesn't render well at all. Strange that chktex would complain about the working variants, though.
18:52:16 -!- FireFly has joined.
18:55:27 -!- FireFly[DS] has quit ("ClIRC - IRC client for Nintendo DS").
18:56:06 -!- cal153 has quit.
19:03:16 -!- cal153 has joined.
19:16:27 -!- puzzlet has quit (Remote closed the connection).
19:16:31 -!- puzzlet has joined.
19:24:39 -!- KingOfKarlsruhe has joined.
19:38:15 -!- oerjan has joined.
19:40:22 <oerjan> <augur> given two equally adequate and equally simple theories, the one that is weirdest is best
19:42:00 <oerjan> i'd assume that's implied in the famous bohr quote: "We are all agreed that your theory is crazy. The question that divides us is whether it is crazy enough to have a chance of being correct."
19:45:55 -!- sebbu2 has joined.
19:56:10 -!- iamcal has joined.
19:57:04 -!- augur has quit (Read error: 110 (Connection timed out)).
19:58:37 <AnMaster> oerjan, iwc. but read it without being connected to bouncer
19:58:42 <AnMaster> which means I count as not here
19:59:05 <AnMaster> oerjan, so I can just say iwc when you are not here and it will count too!
19:59:31 <oerjan> well i already did say iwc when you were apparently not here
19:59:51 <AnMaster> oerjan, yes that is the point. I always wait until you are here
20:00:30 <AnMaster> I see no reason to continue doing so
20:00:51 <oerjan> i always try to check if you are idle, but maybe 3 hours was a bit too large
20:01:14 <AnMaster> oerjan, 3 hours due to client loosing connection and auto-reconnecting even
20:01:22 <AnMaster> real idle time was closer to 12 hours
20:01:52 -!- Rugxulo has joined.
20:02:19 <AnMaster> oerjan, you could easily have seen that in logs. That I reconnected about 3 hours before that, that is.
20:02:32 -!- sebbu has quit (Connection timed out).
20:02:35 <Rugxulo> <oerjan> well once you decide not to have a fixed fungespace size, it is hard to treat one end-of-funge-space space differently from another
20:02:35 <oerjan> hm true. i didn't think of that.
20:02:48 <Rugxulo> oerjan, it should know when string mode begins and ends, though, right??
20:03:05 <AnMaster> oerjan, wouldn't be exactly, client would spend a few minutes after reconnect rejoining channels (due to being in so many here on freenode)
20:03:11 <oerjan> Rugxulo: i was assuming you were talking about a string mode wrapping around the end?
20:03:32 <AnMaster> Rugxulo, what are you doing in before?
20:03:36 * Rugxulo wishes he had a small paste-able example ...
20:03:38 <oerjan> hm then i don't understand
20:04:16 <Rugxulo> I'm talking about Befunge98 not accepting Befunge93 correctly
20:04:32 <Rugxulo> I think the whitespace inside quotes " x " (string mode) is confusing it
20:04:36 <AnMaster> Rugxulo, uh well yeah it isn't completely compatible. It is well known. The SGM spaces for example
20:04:49 <AnMaster> Rugxulo, sounds like SGML space rule
20:05:13 <AnMaster> http://catseye.tc/projects/funge98/doc/funge98.html#Strings
20:05:43 <AnMaster> Rugxulo, further, if a befunge93 program depends on something like x just reflecting it won't work in 98 eithger
20:06:17 <AnMaster> the reason for SGML spaces is probably due to it wrapping
20:06:33 <oerjan> oh then that is something i didn't know about.
20:06:53 <ais523> 98 isn't identical to 93
20:06:55 <AnMaster> Rugxulo, what exactly do you expect that to do? I expect it to print (C string notation here): " x \0\0"
20:07:07 <Rugxulo> that's two spaces on each side
20:07:15 <AnMaster> Rugxulo, did you read the link above?
20:07:16 <ais523> multiple spaces count as one space in 98
20:07:21 <Rugxulo> but yeah, I'm not really familiar with Befunge98 (kinda confusing, honestly)
20:07:34 <ais523> basically, because otherwise you'd get a near-infinite number of spaces if a string wrapped
20:07:49 <Rugxulo> but the string doesn't wrap, just has some whitespace in it
20:07:52 <AnMaster> ais523, at least in efunge you would get infinite
20:08:02 <Rugxulo> but I guess since it could in theory ...
20:08:06 <ais523> AnMaster: arguably, you'd get 2^32 for a 32-bit funge
20:08:21 <AnMaster> ais523, yes but efunge is bignum
20:08:46 <AnMaster> so you would get infinite in theory (of course in practise it would run out of memory before that)
20:09:04 <AnMaster> Rugxulo, yes it applies to all strings
20:09:21 <Rugxulo> is string wrapping really that useful or common??
20:09:34 <Rugxulo> I know, silly question, but still ... ;-)
20:09:46 <AnMaster> Rugxulo, I have done it I'm pretty sure. Can't remember when though
20:09:57 <AnMaster> probably when something didn't fit
20:10:09 <AnMaster> Rugxulo, I'm quite sure that mycology tests it.
20:10:41 <Rugxulo> I mean, if 98 isn't limited like 93, then why need to wrap strings?
20:11:01 <AnMaster> Rugxulo, didn't fit due to surrounding code. I try to code compact
20:11:36 <AnMaster> Rugxulo, and even when not wrapping it is useful
20:11:51 <AnMaster> say you need code to cross, but don't have the space for a # in that direction
20:12:05 <AnMaster> and there a space one space off, and you can extend that line a bit
20:12:11 <AnMaster> well then you have the solution
20:12:29 * Rugxulo still wonders what Befunge98 examples exist ...
20:12:31 <AnMaster> alternative would be to rewrite parts of the code of course
20:12:49 <AnMaster> Rugxulo, it is more for writing application programs in? Large programs I mean
20:12:53 <Rugxulo> some would say "rewrite rewrite rewrite ..."
20:13:08 <Rugxulo> BTW, I have never seen anything about Befunge '96 or '97
20:13:24 <Rugxulo> late last night I posted a (WayBack) link to the '97 spec, though (Ben Olmstead's old page)
20:13:34 <Rugxulo> e.g. o for nop (instead of z as in 98)
20:13:39 <AnMaster> Rugxulo, I would prefer "keep patching, until it looks so improbable and messy that not even the original author can read it"
20:13:59 <AnMaster> <Rugxulo> BTW, I have never seen anything about Befunge '96 or '97 <-- I have seen a few recovered snippets
20:14:08 * AnMaster thinks he may have some stuff around somewhere
20:14:12 <Rugxulo> I mean, I saw *one* example program in '97 (GPL, too, heh)
20:14:22 -!- cal153 has quit (Read error: 113 (No route to host)).
20:14:46 <Rugxulo> Ben's MTFI ran on Linux or DOS (16-bit or 32-bit)
20:14:54 <Rugxulo> but he included no examples
20:14:56 <AnMaster> Rugxulo, an 1.9 MB mailing list dump
20:15:35 <Rugxulo> I've got the spec (from WayBack), just no examples (besides that one signature that draws an ellipse)
20:15:38 <AnMaster> Omploaded 'bef_maillist_0_520.txt' to http://omploader.org/vMnI2dg
20:15:54 <AnMaster> Rugxulo, also you meant 96 not 98 right?
20:16:20 <Rugxulo> yes, apparently there was a '96 too
20:17:06 <Rugxulo> well, Pressey's latest site doesn't have it, so that doesn't help
20:17:07 <Rugxulo> http://web.archive.org/web/20000903032408/www.mines.edu/students/b/bolmstea/mtfi/f97.html
20:17:55 <Rugxulo> here's the only '97 example I know of: http://www.bedroomlan.org/hacks/signature-befunge
20:17:57 <Asztal> http://catseye.tc/projects/funge98/library/TOYS.html does mention it though.
20:19:09 <AnMaster> Rugxulo, contact that person and ask for what interpreter he used?
20:19:30 <Rugxulo> well, MTFI works, he probably used that
20:20:21 <Rugxulo> hold on, here's '96 spec (I think): http://web.archive.org/web/20001008142309/www.mines.edu/students/b/bolmstea/mtfi/96.html
20:20:34 <Rugxulo> yeah, MTFI is the '93 / '96 / '97 interpreter for Linux and DOS by Ben Olmstead
20:22:08 <Rugxulo> only the WayBack link to the 8086 version still works, but the source is included, also compiles under DJGPP, so it should work on Linux too (since he had an explicit "Unix" port too)
20:22:12 <Rugxulo> http://web.archive.org/web/20000831062334/http://www.mines.edu/students/b/bolmstea/mtfi/mtfi121x.zip
20:22:47 <Rugxulo> crap, the Unix link works on this version of the page!
20:22:49 <Rugxulo> http://web.archive.org/web/20000831062334/http://www.mines.edu/students/b/bolmstea/mtfi/mtfi-1.21.tar.gz
20:23:07 <Rugxulo> crap as in "wow, oops, surprise"
20:23:14 <Rugxulo> MCBC = 386 NASM Befunge compiler
20:23:18 <AnMaster> Rugxulo, as for 98 "examples"? what exactly do you mean by that?
20:23:25 <fungot> http://git.zem.fi/fungot/blob/HEAD:/fungot.b98
20:23:52 <AnMaster> Rugxulo, or not happy with that?
20:24:12 <AnMaster> Rugxulo, that is the code for fungot itself
20:24:12 <fungot> AnMaster: i was just wondering if any current scheme system today. more details, pls.
20:24:19 * Rugxulo just thought '98 seemed overrated for something no one codes in ...
20:24:20 <AnMaster> Rugxulo, there is mycology too. As you probably know
20:24:44 <Rugxulo> yeah, but a test suite doesn't do much of anything (no offense), I wanted something interesting ;-)
20:24:54 <AnMaster> Rugxulo, people do code in it. Just generally it is complex stuff compared to 93 ones. Thus it isn't really "examples" but "applications"
20:25:38 <AnMaster> Rugxulo, anyway that code file won't work on it's own. It uses a bootloader. Which sets up nick, server and such, then loads the main file
20:25:40 <Rugxulo> okay, I just never saw many (well, any)
20:25:53 <AnMaster> http://git.zem.fi/fungot/blob/HEAD:/fungot-load-freenode.b98
20:25:54 <fungot> AnMaster: what's the big difference is in the source fnord it isn't in the index. once this is false, another is a sgi indy ( mips, running irix) and a
20:25:58 -!- KingOfKarlsruhe has quit (Remote closed the connection).
20:26:04 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc* jargon lovecraft nethack pa speeches ss wp youtube
20:26:14 <fungot> Selected style: youtube (Some YouTube comments)
20:26:15 <AnMaster> Rugxulo, you weren't aware of it being in befunge?
20:26:29 <ais523> fungot: I doubt what you spam will look much different from the original, here
20:26:29 <fungot> ais523: wie alle auf einmal opern singen wollen... dreck. who really knows aviation will tell you something, it's dark blond
20:26:44 <Rugxulo> AnMaster, I probably fun^H^H^Hforgot
20:27:07 <fungot> Rugxulo: lol that was really funny, holding up random stuff made of gold. like time magazine, airliners dot net and at wikipedia? i dont remember seeing any angels in the spotlight, and didn't react fast enough to pull up
20:27:23 <fungot> Rugxulo: ok, farinelli... i got the hell
20:27:32 <fungot> AnMaster: agreed, i know the song? :p), there is terror and pain caused by pilot error, didn't know that you've been to france.
20:27:53 <AnMaster> arliners running on .NET code sounds scary
20:28:36 <AnMaster> fungot, why so much about aviation?
20:28:36 <fungot> AnMaster: she makes me jizz in my pants. from reading these 488 hideous comments, heres the conclusion of all the spectators. i liked the scottish budweiser commercial the best
20:29:26 <Rugxulo> airliners on .NET? they do have British nuclear subs running Windows though (supposedly)
20:31:06 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
20:32:34 <AnMaster> interesting (from the 97 spec):
20:32:35 <AnMaster> In a more ideal universe, ~ may suspend only it's own the thread. Suspending the entire program is the usual and entirely forgivable real behaviour.
20:32:36 -!- puzzlet has joined.
20:34:30 <Rugxulo> the latest version of Ben's copy of the '96 spec is here:
20:34:38 <Rugxulo> (not sure if it differs from what I listed before)
20:34:40 <Rugxulo> http://web.archive.org/web/20040221081031/www.mines.edu/students/b/bolmstea/mtfi/96.html
20:35:26 <AnMaster> -<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"></head><body><center><h1>Befunge-96</h1></center>
20:35:26 <AnMaster> +<center><h1>Befunge-96</h1></center>
20:39:39 <Deewiant> Rugxulo: Good finds, by the way. I've spent many a time looking for those without success.
20:42:02 <Rugxulo> "If you wrap in stringmode, the result is undefined." -- MTFI's "notes" file
20:45:18 <Deewiant> I don't think that's ever been true as far as the spec is concerned. It may have made sense in '96, with a bigger playfield but without SGML spaces, and the poor 16-bit implementations.
20:46:39 <Rugxulo> BTW, MTFI "Unix" and "8086" both seem identical except for makefiles and readmes
20:47:26 <Rugxulo> and I can't say for sure, but I'd bet it's GPL because he uses GNU's getopt_long
20:48:08 <Rugxulo> (hmmm, actually that part is LGPL here, but if you get it from BinUtils, for example, it's GPL)
20:48:26 <SimonRC> oh dear, a case of the viral GPL
20:48:35 <Rugxulo> *BSD has its own getopt_long these days
20:49:22 <Rugxulo> BTW, what's the deal with MS being braindead about writing temporary files to C:\
20:49:45 <Rugxulo> the 8086 MS C .EXE tries doing it (forbidden under Vista default user account), MSVCRT tries doing it, etc.
20:50:34 <Rugxulo> you'd think they'd test their own stuff, but obviously not as well as we'd like!
20:55:41 * Rugxulo reading '96 mailing list dump
21:09:56 <AnMaster> Rugxulo, uh. not allowing writing temp files in c:\ seems pretty sane
21:10:11 <Rugxulo> yes, but they could virtualize it (but don't)
21:10:22 <SimonRC> but then things would break silently
21:10:30 <Rugxulo> because MS C and MSVCRT.DLL are the ones that expect to be able to do so !!!!
21:10:40 <SimonRC> why don't you ask Raymond Chen? That is his kind of question
21:10:42 <AnMaster> it makes no fucking sense to allow that outside some sort of /tmp or ~/tmp
21:10:46 <Rugxulo> they don't even workaround their own bugs! (argh)
21:10:46 <SimonRC> he might alreadhave covered it
21:11:17 <Rugxulo> MSVCRT.DLL 's tmpfile() assumes C:\ is writable
21:11:20 <AnMaster> <Rugxulo> because MS C and MSVCRT.DLL are the ones that expect to be able to do so !!!! <-- MSVCRT what version?
21:11:36 <Rugxulo> I think from MSVC 6, the one MinGW usees
21:11:45 <AnMaster> Rugxulo, well that's outdated as hell afaik
21:11:55 <Rugxulo> yes, but MinGW still uses it, so blame them not me :-P
21:16:02 -!- augur has joined.
21:16:06 <AnMaster> Rugxulo, well lets put it another way: I don't care a "shit" about windows breaking or not breaking.
21:16:28 <AnMaster> I would prefer windows to fail, rather than work
21:16:53 <Rugxulo> it's just sad when something works worse than before instead of better ... that's all
21:16:56 <AnMaster> there are way better operating systems out there. and yes I did try windows7
21:17:17 <Rugxulo> there are too many OSes, languages, cpus, etc.
21:17:24 <AnMaster> Rugxulo, sadly, this one isn't likely to affect the majority of windows users. Would have been a lot better if it did
21:17:55 <Rugxulo> no, it wouldn't matter then either, Windows bugfixing isn't a democracy, meritocracy, or anything more than "random"
21:18:05 <AnMaster> Rugxulo, mac OS X for those who just want stuff to work. Linux for those that want free software or being able to easily modify major parts of the system
21:18:43 <AnMaster> at least OS X has a decent shell
21:20:30 <AnMaster> Rugxulo, yes. cmd.exe is just unusable for anything serious. And windows "powershell" seems like a joke.
21:20:46 <AnMaster> sure powershell can do more, but it seemed rather awkward to me.
21:21:16 <Rugxulo> Powershell isn't even included in Vista by default (despite all the hype)
21:21:31 <Rugxulo> OS X used to include tcsh until 10.2 or so
21:21:36 <Rugxulo> yes, in 7, from what I heard
21:21:44 <AnMaster> Rugxulo, I'm aware of os x used to use tcsh
21:21:46 * Rugxulo didn't feel 7 was worth upgrading to
21:22:11 <Rugxulo> definitely not for $119, ugh
21:22:18 <AnMaster> never heard of TCC. Does it allow the wide flexibility of the shell on a *nix system? With the huge number of programs that you can use to do lots of things
21:22:45 <Rugxulo> I'm not sure exactly how to classify it as I've never used it, but it's by the guy who made 4DOS and 4NT
21:22:48 <AnMaster> could you just use that instead of the GUI?
21:22:54 <AnMaster> on linux that would be feasible
21:23:01 <AnMaster> in fact I administrated lots of server over ssh
21:23:18 <Rugxulo> no, you can't remove the GUI from Windows (that I know of, anyways)
21:23:31 <Rugxulo> MinWin was just a tech demo, I think
21:23:45 <AnMaster> Rugxulo, well, I didn't require that. I just required it to not require you to use the GUI ever
21:24:09 <Rugxulo> TCC? well, it is a GUI app I think (with tabs, etc.), but console-ish
21:24:14 <Rugxulo> I'm not entirely sure, never used it
21:24:33 <AnMaster> Rugxulo, so completely irrelevant then to my question?
21:25:11 <AnMaster> my point is that with *nix you can use the GUI but don't *need* it. On windows so far it seems you will need it for some things
21:25:12 <Rugxulo> oops, not Total Command but Take Command
21:25:28 <Rugxulo> http://www.jpsoft.com/tccledes.htm
21:25:43 <Rugxulo> "formerly known as 4NT" ... okay
21:26:41 <Rugxulo> yeah, seems pretty crippled except in the high end (non-freeware) versions
21:26:48 <pikhq> Rugxulo: Well, Windows Server does at least offer a very barebones install.
21:26:50 <Rugxulo> oh well, just saying, it's better than CMD at least
21:27:13 <pikhq> It kinda *has* a GUI, but it only has cmd.exe running in it.
21:27:34 <Rugxulo> last updated two days ago, too
21:27:35 <pikhq> Pity they've not made it without the GUI, though.
21:27:39 <AnMaster> pikhq, so how usable is it to administrate it from there?
21:28:01 <pikhq> AnMaster: Decently usable, actually -- the Microsoft server programs, at least, got CLIs.
21:28:21 <AnMaster> pikhq, okay. But that is cmd.exe you are talking about
21:28:27 <pikhq> Perhaps a bit nicer if they had a better shell, though.
21:28:35 <pikhq> (you could, say, use Mingw bash)
21:28:47 <AnMaster> pikhq, how would you do stuff like loop over all files in the current directory, executing some command
21:29:29 <pikhq> Most sanely? Probably a .bat file.
21:29:46 <fax> is this #erotic?
21:29:47 <pikhq> (goto, I'd imagine, is hard to use on a prompt)
21:29:48 <AnMaster> find . -name '*.html' -exec chmod o-w {} +
21:29:51 <Rugxulo> for %a in (*.txt) do sed -i -e "s/foo/bar/" %a
21:29:54 <AnMaster> pikhq, do that in one as short command :P
21:30:06 <Rugxulo> not a .BAT (else I'd have to use %%)
21:30:07 <AnMaster> has to be done on a single command line
21:30:12 <pikhq> AnMaster: bash -c find . -name '*.html' -exec chmod o-w {} +
21:30:26 <Rugxulo> C:\TEMP> for %a in (*.txt) do sed -i -e "s/foo/bar/" %a
21:30:34 <Rugxulo> so? find isn't Bash either
21:30:36 <AnMaster> pikhq, I think you need some quotes there. not 100% sure
21:30:51 <pikhq> AnMaster: Probably.
21:31:01 <AnMaster> Rugxulo, sorry, wrong term. "Not included by default installation of the OS"
21:31:01 <pikhq> The first thing I do on any Windows box is install bash.
21:31:16 <fax> this whole time I was just waiting for somethig to happen :(
21:31:18 <Rugxulo> fax: not unless this excites you
21:31:21 <pikhq> And yeah, find is POSIX.
21:31:34 -!- Pthing has joined.
21:32:08 <Rugxulo> POSIX sed doesn't support "-i" anyways
21:32:26 <AnMaster> Rugxulo, true, don't use it a lot. easy to work around anyway. GNU sed has it
21:33:07 <Rugxulo> or Minix (although they probably have GNU sed by now)
21:33:49 <Deewiant> The first one seemed correct, since it responded.
21:34:18 <AnMaster> Rugxulo, indeed. still why not do: sed 's/..../..../' "$i" > "$i.tmp" && mv "$i.tmp" "$i"; done A bit more if you don't trust the directory to not contain such stuff (create a temp dir in /tmp and do it in there then)
21:34:45 <Rugxulo> Minix 3 is getting better all the time (or so I hear) ;-)
21:35:08 <pikhq> AnMaster: Try "mktmp".
21:35:25 <AnMaster> Rugxulo, the "for %a in (*.txt) do" I didn't know about. when was it added to cmd.exe? I'm pretty sure command.com didn't have it at least. So it must have been in NT or later?
21:35:40 <Rugxulo> COMMAND.COM has had it for as long as I'm aware of, actually
21:35:42 <AnMaster> pikhq, well yes. that is what you would use for said temp dir in /tmp
21:35:51 -!- nice has joined.
21:35:52 <AnMaster> Rugxulo, guess it was poorly documented
21:36:03 <AnMaster> Rugxulo, since I never seen any docs mentioning it
21:36:06 <Rugxulo> AnMaster, nope ... it's DOS history, actually, which you missed ;-)
21:36:22 <AnMaster> Rugxulo, windows help center certainly didn't mention it on xp (which was last time I checked)
21:36:23 -!- nice has changed nick to KingOfKarlsruhe.
21:36:42 <Rugxulo> "help for" will show you what you want
21:36:42 <AnMaster> and if the OS doesn't even come with proper documentation, how can anyone use it?
21:37:07 <pikhq> AnMaster: Ask Windows. :P
21:37:11 <AnMaster> Rugxulo, what will tell me there is a help or a for command there though. Sure that would be reasonable to guess. But far from everything is.
21:37:36 <Rugxulo> ask that Paperclip ... or Rover ;-)
21:37:47 <AnMaster> I thought that was office only. And shudder
21:38:38 <Rugxulo> no, I'm on XP now, and the "Search" in Start Menu (optionally) has Rover ;-)
21:40:33 <Rugxulo> anyways, no seriously, even MS-DOS 6 had HELP.EXE, and you can usually get short help by doing "<command> /?"
21:41:08 <Rugxulo> DR-DOS had DOSBOOK.EXE (with a HELP.BAT alias), FreeDOS has HTMLhelp (HELP.EXE)
21:41:48 <Rugxulo> so it's not like they're trying to leave users in the cold, it's just that docs are always secondary importance, plus it's too much work to document everything
21:43:18 <Rugxulo> but there is no sed equivalent (that I know of) on Windows
21:43:26 <Rugxulo> find and findstr are Windows equivalents of grep, though
21:43:38 <Rugxulo> QBasic hasn't been included since Win95? (98?)
21:43:49 <Rugxulo> debug still exists though, so technically you could probably do anything ;-)
21:44:44 <Rugxulo> (but DOS apps!, so only 32-bits Windows supported, kthxbai)
21:45:15 <Deewiant> edlin is the sed equivalent on Windows :-P
21:45:31 <Deewiant> Who needs things like long filenames
21:45:31 <Rugxulo> findstr supports regex, but find and edlin don't
21:46:07 <Deewiant> It's also 16-bit and thus not provided on 64-bit Windowses (or maybe it is, but it won't run)
21:46:17 <Rugxulo> right, that's what I meant
21:46:32 <Rugxulo> DOSBox will run it though (although "why" is probably a better question)
21:46:33 <Deewiant> Ah right, you said so, I missed that.
21:49:18 <Rugxulo> BTW, Deewiant, what changed in latest CCBI? (still no latest build for Win32)
21:49:20 -!- FireFly has quit ("Later").
21:49:44 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
21:50:46 <Rugxulo> FILE's R now reflects on EOF.
21:51:31 <Deewiant> The fact that the change wasn't that big explains why I haven't bothered to build it on Windows :-P
21:52:16 <Rugxulo> BTW, have you heard of "Go" yet?
21:52:52 <Deewiant> (Two D-related IRC channels, LLVM IRC channel, D newsgroups, couple of posts on reddit, post on /.)
21:54:05 <Rugxulo> mixed reviews (although not too critical), but I suspect it will mature / morph a lot in the next year or two
21:54:40 <fizzie> Was this the Google thing?
21:54:51 <fizzie> comp.lang.forth of all places had a short thread about it.
21:55:40 <Rugxulo> yeah, because of the upcoming ChromeOS which may or may not utilize it
21:55:44 <Deewiant> Young people are excited because it's by Google, older people because it's by the C/Unix/Plan 9 folks.
21:55:48 <Rugxulo> (relevant 'cause Forth can often serve as OS also)
21:56:03 <Rugxulo> and *BSD people because it's BSD-licensed
21:56:23 <fizzie> Given how much stuff is BSD-licensed, *BSD people must lead pretty exciting lives.
21:56:25 <Deewiant> What, as opposed to proprietary? :-P Most languages are at least that free.
21:56:32 <Deewiant> As for the language itself: meh. I'll see what happens.
21:56:42 <Rugxulo> no, not all languages are free
21:57:07 <Rugxulo> well, "most" implies that almost all are, which I doubt is the case
21:57:16 <Rugxulo> (although they probably should be)
21:57:38 <fizzie> Deewiant: Yes, well, the comp.lang.forth thread has apparently now degenerated into a "discussion" whether Chrome OS is "an evil scheme to take control of everybody's computer?" (direct quote).
21:57:39 <Deewiant> "most" implies that more than half are, which probably is the case, excepting all kinds of used-in-only-one-project type DSLs.
21:57:42 <ais523> my guess is that the vast majority of languages are proprietary, but none of the proprietary ones are massively popular
21:58:00 <ais523> it seems that half of companies have a proprietary language or two of their own
21:58:19 <Deewiant> Yeah, and I'd exclude those if they're only for their internal use.
21:58:28 <Rugxulo> are you really surprised? Earth has like 6000 living human languages :-/
21:59:34 <Rugxulo> nobody, just saying it's obvious that there are way too many languages out there
22:01:37 <Rugxulo> `befunge 01g0g,01g1+:83*-!#@_01p
22:02:47 <Rugxulo> (quoting, lol): "STYLE GUIDELINES. Every Befunge programmer has their
22:02:48 <Rugxulo> own style. As a Befunge programmer your style should
22:02:50 <Rugxulo> be unique, ugly, and incomprehensible to others."
22:03:01 <Rugxulo> run a program that actual has output!
22:03:41 <Rugxulo> ehird knows how, but he's not here and I can't remember
22:04:03 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
22:04:14 <GregorR> Since people were talking about Google Go the other day, here is my brief opinion from poking arounda t it a bit: Probably the worst language design in at least a decade. Easily the worst toolchain design in the entire history of toolchains. If I never touch this language again, it will be too soon.
22:04:18 <Rugxulo> `befunge 55*.@ > /dev/null
22:04:27 <HackEgo> X11 \ [ \ a2p \ addpart \ addr2line \ apropos \ apt-cache \ apt-cdrom \ apt-config \ apt-extracttemplates \ apt-ftparchive \ apt-get \ apt-key \ apt-mark \ apt-sortpkgs \ aptitude \ aptitude-create-state-bundle \ aptitude-run-state-bundle \ ar \ arch \ as \ awk \ base64 \ basename \ bashbug \ bdftopcf \ bdftops \ bdftruncate
22:04:34 <HackEgo> /usr/bin/base64 \ /usr/bin/basename \ /usr/bin/bashbug \ /usr/bin/bdftopcf \ /usr/bin/bdftops \ /usr/bin/bdftruncate \ /usr/bin/bsd-write
22:04:40 <ais523> see, no befunge installed
22:04:46 <HackEgo> /usr/bin/c++ \ /usr/bin/c++filt \ /usr/bin/c2ph \ /usr/bin/c89 \ /usr/bin/c89-gcc \ /usr/bin/c99 \ /usr/bin/c99-gcc \ /usr/bin/c_rehash \ /usr/bin/cal \ /usr/bin/calendar \ /usr/bin/captoinfo \ /usr/bin/catchsegv \ /usr/bin/catman \ /usr/bin/cc \ /usr/bin/chage \ /usr/bin/chattr \ /usr/bin/chcon \ /usr/bin/chfn \ /usr/bin/chkdupexe
22:05:12 <Rugxulo> GregorR, worst this decade????
22:05:20 <ais523> given that HackEgo has neither cfunge nor ccbi, I'm not sure why you're expecting befunge commands to work
22:05:23 <GregorR> Rugxulo: In terms of "real" languages. It's completely horrible.
22:05:35 <ais523> (there might be another befunge interp on there, but the c* command checks the most two common)
22:05:49 <Deewiant> That'd require EgoBot, who is absent.
22:05:49 <ais523> Deewiant: EgoBot isn't here
22:05:52 <GregorR> Rugxulo: Literally every language created for serious use.
22:06:06 <GregorR> Rugxulo: There is no language I can compare it against without saying "Wow, Go is a steaming pile of shit compared to that language."
22:06:09 <ais523> `run ls /usr/local/bin
22:06:10 <Deewiant> ais523: Flaming Bovine Befunge-98 Interpreter
22:06:43 <ais523> some of its advertised features are comparable to INTERCAL's
22:06:50 <HackEgo> X11 \ [ \ a2p \ addpart \ addr2line \ apropos \ apt-cache \ apt-cdrom \ apt-config \ apt-extracttemplates \ apt-ftparchive \ apt-get \ apt-key \ apt-mark \ apt-sortpkgs \ aptitude \ aptitude-create-state-bundle \ aptitude-run-state-bundle \ ar \ arch \ as \ awk \ base64 \ basename \ bashbug \ bdftopcf \ bdftops \ bdftruncate
22:06:52 <GregorR> Deewiant: COBOL is not in the last decade ;)
22:07:02 <Deewiant> ais523: That's an interesting statement
22:07:15 <ais523> Deewiant: reddit have decided to call the language Issue 9 rather than Go
22:07:27 <Deewiant> I know; I was talking about your previous statement
22:07:28 <Rugxulo> that's because somebody already has "Go!" as a langauge
22:07:32 <GregorR> Rugxulo: Its type system is insane, its toolchain is horrible, its method of "encapsulation" is capitalization, it has no consistent interoperability story, lesse...
22:07:40 <GregorR> There is literally not a single redeeming feature.
22:07:44 <ais523> Deewiant: things like light-weight coroutines
22:07:51 <Rugxulo> what's so bad about the toolchain?
22:07:54 <Deewiant> Sheesh, this shell server is lagging.
22:07:59 <GregorR> Rugxulo: THE BINARIES ARE NAMED PER FUCKING ARCHITECTURE
22:08:05 <Deewiant> GregorR: Plan 9 style, I hear.
22:08:09 <ais523> (people nowadays seem not to keep track of INTERCAL development)
22:08:12 <GregorR> Yes, plan 9 is fucking stupid that way.
22:08:15 <Rugxulo> GregorR, it's very fast, it's supposed to be good for concurrency
22:08:25 <Deewiant> I have yet to see any benchmarks.
22:08:26 <GregorR> Fast is not a pro unless we're compiling in 1965.
22:08:32 <ais523> well, ick is pretty fast at compiling too
22:08:37 <GregorR> And the compiled code isn't fast, the compiler is fast.
22:08:40 <Deewiant> And yeah, fast compiling is pretty much a no-brainer these days.
22:08:42 <ais523> admittedly, it then gets slowed down as you have to compile the C as well
22:08:49 <Rugxulo> uh ... I sure wish GCC was faster
22:08:53 <Deewiant> Only C++ is too slow for comfort.
22:09:01 <GregorR> It has fork-join-ish concurrency, which makes it "good" in a "hey if we restrict you to a ridiculous degree you won't make mistakes" sense.
22:09:12 <Deewiant> (And CCBI2, but that's due to compiler bugs.)
22:10:07 <Rugxulo> I've never heard anyone say, "Nah, I don't need faster compiles"
22:10:18 <ais523> GregorR: see INTERCAL's concurrency model, it's richer than pretty much all common languages up to about the Haskell level
22:10:19 <Deewiant> Nah, I don't need faster compiles
22:10:30 <Deewiant> You want a .wav of that, too? :-P
22:10:47 <Rugxulo> Deewiant, you must not compile a lot of stuff
22:10:53 -!- GregorR has set topic: Go is a no-go | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:11:14 <pikhq> I prefer Haskell's concurrency model over most other things.
22:11:15 * Rugxulo jokingly suggested to rename it "!Go" (not Go) or "Go2" (goto) ;-)
22:11:31 <pikhq> "Shared state"? What does that even mean when you don't have state? :P
22:11:52 <Deewiant> What kind of stuff do you compile that makes you feel such a need for speed?
22:12:12 <Rugxulo> any non-trivial stuff with latest GCC
22:12:33 <Deewiant> I compile LLVM with latest GCC, I don't really mind how long that takes.
22:12:39 <Rugxulo> it's not for nothing that LLVM + CLang are gaining popularity
22:13:18 <Deewiant> LLVM's codegen bit isn't very fast, GCC is often faster :-P
22:13:20 <Rugxulo> Deewiant, what machine do you use?
22:13:29 <Deewiant> Linux niðavellir 2.6.32-rc3-deewiant #1 SMP PREEMPT Fri Oct 9 17:07:44 EEST 2009 x86_64 Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz GenuineIntel GNU/Linux
22:13:37 <Rugxulo> yes, obviously GCC is more mature (but slow ... oh so slowwwwwwww)
22:13:54 <Rugxulo> 2.6.32-rc3 ... wow, slow adopter, eh? ;-)
22:13:58 <Deewiant> Clang is a faster frontend, but LLVM's backend is typically slower in my experience.
22:14:21 <Rugxulo> Core 2 Quad x86-64, should've known :-P ;-0
22:14:59 <Rugxulo> sure if you have one of the fastest machines on the market it's "good enough", but be realistic, it could be loads better
22:15:24 -!- KingOfKarlsruhe has quit (Remote closed the connection).
22:15:34 <Deewiant> I just don't feel the need for it. :-P
22:15:46 <Rugxulo> ... because you have a damn fast machine, one of the fastest out there now
22:15:59 <Deewiant> I don't know about definitely since I haven't looked at GCC's code.
22:16:15 <Deewiant> And yes, that's likely a reason I don't feel the need. :-P
22:16:23 <Rugxulo> it's like Bill Gates saying, "I think I'll give away a billion", it's because he's rich, not because 1 bil ain't worth nothing!!
22:16:26 <ais523> don't look at GCC's code
22:16:29 <ais523> you may end up wishing you hadn't
22:16:49 <Rugxulo> can't be worse than Befunge98, though ;-)
22:17:11 <ais523> for instance, gcc's .md files are actually written in two different languages
22:17:17 <ais523> you have to write them as polyglots
22:17:38 <Rugxulo> I've briefly looked at GCC, I'm not saying it's not complex ... just that I'm sure it could be better
22:17:53 <Deewiant> It's just one language that coincidentally happens to be the intersection of two other languages
22:18:52 <ais523> an interesting viewpoint
22:19:31 <SimonRC> and I thought that polyglots were just a game
22:20:00 <pikhq> ais523: Speaking of GCC, how goes gccbf?
22:20:09 <pikhq> Rugxulo: GCC's code is a crime.
22:20:11 <ais523> pikhq: it doesn't, I'm busy with loads of other things
22:20:29 <ais523> although, it's now complete enough that it feels like a very buggy program, rather than an incomplete one
22:20:32 <pikhq> And its build system should be put out of its misery.
22:20:38 <Rugxulo> lots of code is horrible, it's rewriting everything that is hard
22:22:02 <ais523> pikhq: gcc's build system actually inspired ick's
22:22:17 <ais523> in the sense of, I looked at gcc's build system and resolved to do something different
22:22:26 <ais523> preferably as different as possible, whilst still using autoconf
22:22:41 <Rugxulo> ais523: what is this ick you speak of? updated Intercal-to-C proggie?
22:23:03 <ais523> Rugxulo: the C-INTERCAL compiler
22:23:48 <Rugxulo> ick15d12.zip, ick-c024.tgz, ick-c025.tgz (all I have on this cpu, and I never really bothered learning it)
22:25:01 <Rugxulo> okay, yes, obviously, I'm implying that you should tell me what's new, where to get it, etc. ;-)
22:25:04 <ais523> 0.-2.0.29 is available at http://overload.intercal.org.uk/
22:25:08 * SimonRC likes Go's ability to retrofit interfaces onto classes
22:25:15 <ais523> it's a beta, but should work fine on Linux and UNIX systems
22:25:23 <ais523> (the reason it's beta is that it hasn't been tested on other architectures yet)
22:25:27 <SimonRC> but it has no parameterised types
22:25:44 <ais523> Rugxulo: older versions were actually tested on DJGPP
22:26:04 <SimonRC> intercal has the excuse that it is actually from the 70s
22:26:16 <ais523> Rugxulo: download 0.28 if you're on DJGPP, the DOS build is supported there
22:26:21 <Rugxulo> BTW, wasn't there a Befunge interpreter written in Intercal?
22:26:29 <SimonRC> Rugxulo: what was that ping for?
22:26:33 <ais523> it's in the distribution, I forget which version it was added in though
22:26:44 <Rugxulo> SimonRC: seemed you were still on about Go (twenty minutes late) ;-)
22:27:01 <ais523> oh, added in 0.28, with a bug fixed on 0.29
22:27:07 <SimonRC> on several channels at once
22:27:12 <Rugxulo> why so many releases on April Fools? coincidence? joke? :-)
22:27:22 <ais523> it's a classic day for releasing INTERCAL versions
22:28:14 <Rugxulo> bugfix in 0.29 ("0.-2.0.29") doesn't help me much
22:28:24 <Rugxulo> unless you want me to try 0.29 in DJGPP also
22:28:49 <Rugxulo> why such huge size increases? hmmm ...
22:30:02 <Rugxulo> and what's the diff b/w C-INTERCAL and CLC-... oh well
22:30:48 <Rugxulo> what, what the ... pax + gz ???
22:31:09 <Deewiant> It's INTERCAL, it can't be too easy.
22:31:24 <ais523> C-INTERCAL and CLC-INTERCAL are entirely different compilers
22:31:39 <ais523> also, .pax.gz is the POSIX-mandated format for tarballs
22:31:47 <ais523> Rugxulo: completely different codebases and feature sets, different maintainers
22:31:53 <ais523> Rugxulo: you'll find tar decompresses it just fine
22:31:58 <ais523> it's backwards-compatible
22:32:16 <Rugxulo> I've heard of pax, don't get me wrong, just ... too obscure IMHO
22:32:21 <Deewiant> I can't remember if we checked that.
22:32:29 <ais523> Deewiant: any POSIX-compatible tar
22:32:37 <ais523> although the ones that don't know the format will create junk dotfiles
22:32:40 * Rugxulo is starting to hate POSIX ...
22:32:55 <AnMaster> <Rugxulo> anyways, no seriously, even MS-DOS 6 had HELP.EXE, and you can usually get short help by doing "<command> /?" <-- yeah but how do you find out what built in control structures to look for? I would do man bash. but well yeah what is the equivalent of that...
22:33:20 <ais523> AnMaster: help.exe had a command list if you started it with no arguments
22:33:36 <ais523> also, help cmd, in more recent versions
22:33:49 <Rugxulo> or FreeCOM (from FreeDOS) prints a nice word list if you type "?" by itself
22:33:52 <Deewiant> ais523: Yeah, but I'm wondering if anything other than GNU is actually POSIX-compatible in that respect. :-P
22:34:02 <ais523> Deewiant: it works in practice
22:34:24 <ais523> basically, the primary goal of INTERCAL is to act differently from everything else
22:34:32 <ais523> and if everything else packages incorrectly, INTERCAL should package correctly
22:34:51 <Rugxulo> then use .zip.7z or something silly like that (or .lbr + .sq, heh)
22:35:46 <AnMaster> <Rugxulo> (quoting, lol): "STYLE GUIDELINES. Every Befunge programmer has their <-- where from is that?
22:35:46 <ais523> that isn't correct, that's just being silly for the sake of it
22:36:00 <ais523> admittedly, INTERCAL does a lot of silly for the sake of it, but silly for a good reason is even better
22:36:03 <Rugxulo> AnMaster, from that mailing list log you sent me
22:36:55 <Rugxulo> ais523, then you should write a PAX unpacker in B98 or Intercal, stat! ;-)
22:37:03 <ais523> Rugxulo: just use tar, it unpacks pax just fine
22:37:31 <ais523> and you need quite a bit of knowledge about your specific OS to write a pax unpacker, anyway
22:37:45 <ais523> I /am/ interested to know if the 0.29 beta runs unmodified on DJGPP
22:37:49 <ais523> as I haven't tested that at all
22:37:58 <ais523> and it's marked as a beta precisely because of the lack of testing
22:38:27 <AnMaster> <ais523> you have to write them as polyglots <-- huh?
22:38:37 <ais523> AnMaster: a gcc .md file is compiled into two different object files
22:38:42 <ais523> each of which interprets the .md file a different way
22:39:31 <AnMaster> oh about gcc, I was surprised yesterday when gcc optimised a printf() into a puts()
22:39:57 * SimonRC recalls Wumpus in Bef93. Spectacular.
22:40:05 <AnMaster> ais523, what does the md file do?
22:40:15 <Rugxulo> .md = machine description ??
22:40:18 <ais523> AnMaster: it's one of the major files that describes a target (such as x86 or ARM)
22:40:21 <SimonRC> I spent hours tracing the code path, and it only just fits in the grid
22:40:47 <ais523> it basically specifies a) how to translate RTL into asm, and b) what sort of RTL is best to generate to produce decent code on that platform
22:41:02 <ais523> and it compiles into a GIMPLE->RTL translator and an RTL->asm translator
22:41:03 <Rugxulo> yeah, but some platforms are better covered than others
22:41:26 <Rugxulo> is GIMPLE the 4.x one or the 3.x (treelang??) ?
22:41:35 <ais523> Rugxulo: neither, it's an internal representation
22:41:47 <ais523> that's used between the frontend and backend
22:41:55 <ais523> AnMaster: because optimisations take place on the RTL
22:42:14 <ais523> the polyglot basically specifies the GIMPLE, RTL /and/ asm versions of bits of code
22:42:25 <ais523> but you have to do a lot of messing about to get it to work
22:42:39 <Rugxulo> no worse than AutoConf, heh ;-)
22:43:13 <ais523> Rugxulo: autoconf can and does work fine in C-INTERCAL 0.29
22:43:22 <ais523> I spent weeks learning how it actually worked, rather than how everyone uses it
22:43:27 <ais523> together with the rest of autotools
22:43:33 <ais523> well, used to build it
22:43:42 <Rugxulo> good, otherwise I'd have a heart attack
22:43:53 <ais523> as a result, C-INTERCAL 0.29 has a build system that is both a) good, and b) based on autoconf
22:43:58 <ais523> a combination which most people thought impossible
22:43:58 <AnMaster> ais523, why does it have to be one file. Couldn't it be two?
22:44:12 <ais523> AnMaster: there'd be quite a bit of duplication if there were two; I suppose that was the reasoning
22:44:39 <AnMaster> <Rugxulo> "in" or "used by"? <-- nice idea there.
22:44:49 <AnMaster> would fit well into intercal somehow I feel
22:45:02 <ais523> AnMaster: write an m4 fingerprint for cfunge
22:45:13 <AnMaster> ais523, what about autoconf configuring itself? Surely that can't be too bad
22:45:29 <ais523> AnMaster: it mostly doesn't, autoconf is a script not a binary
22:45:46 <AnMaster> ais523, I wouldn't know where to start with m4
22:46:00 <ais523> Rugxulo: one of the new features in 0.29 is the ability to compile Funge-98 and INTERCAL together
22:46:01 <AnMaster> I avoid autoconf, I know it a bit, but I don't know any "raw" m4
22:46:11 <ais523> raw m4's actually quite a nice language
22:46:19 <AnMaster> ais523, well, automake then? Or something
22:46:19 <ais523> it has an eso feel to it, too
22:46:24 <ais523> AnMaster: automake's Perl
22:46:32 <ais523> at least, written in Perl
22:46:44 <ais523> but you don't write bits of Perl to expand it, you just use more m4
22:47:16 <pikhq> Automake's Perl and m4.
22:47:31 <ais523> well, it's automake (perl) plus a library for autoconf (m4)
22:47:53 <ais523> Rugxulo: how's your C-INTERCAL build going?
22:48:13 <Rugxulo> I'm trying to be a good boy and check the "README" first (instead of asking blindly, "just configure and make??"
22:48:27 <ais523> the README used to be essential reading
22:48:32 * Rugxulo didn't want to hear, "Read the README, n00b!"
22:48:34 <ais523> (what version are you trying, btw?)
22:48:39 -!- kar8nga has quit (Remote closed the connection).
22:48:46 <Rugxulo> you said 0.28 works, so ...
22:49:01 <ais523> 0.28 works, 0.29 is untested (on DJGPP)
22:49:27 <Rugxulo> yes, you can configure out-of-tree, but your make must support VPATH (BTW)
22:49:55 <ais523> I'm not completely certain that's needed, given the typical automake insanity, but it probably is
22:50:09 <Rugxulo> obviously haven't updated README, it says DJGPP works fine
22:50:28 <ais523> I think I wrote what was intended to happen
22:50:31 <ais523> rather than what actually does
22:51:14 <ais523> yep, needs VPATH to build out of tree
22:51:19 <ais523> most makes have it nowadays, though, IIRC
22:51:29 <Rugxulo> also, the bit about cfunge is obviously moot to DOS (no mmap)
22:51:40 <Rugxulo> ais523: "most" means more than just GNU and *BSD, I hope
22:51:41 <ais523> yep, it works fine without though
22:52:06 <ais523> and you can still build in-tree even if your make's lacking out-of-tree features
22:53:02 -!- Gracenotes has quit (Remote closed the connection).
22:53:32 <Rugxulo> Autoconf 2.61 (should work okay, 2.63 has typo, 2.64 exposed a now-fixed DJGPP Bash bug)
22:54:42 -!- puzzlet has quit (Remote closed the connection).
22:54:43 <Rugxulo> Deewiant, it may be an artifact of DJGPP (or Windows in general, e.g. Cygwin) but Autoconf is *slow*
22:54:46 -!- puzzlet has joined.
22:54:59 <Rugxulo> even 2.64 ("30% faster") isn't nearly fast enough for comfort
22:55:07 <ais523> Rugxulo: the reason it's slow is that it has to invoke the compiler and linker tens of times
22:55:10 <ais523> on lots of trivial programs
22:55:17 <ais523> so, it's actually gcc that's being slow, rather than autoconf
22:55:36 <Deewiant> It's not gcc, it's Windows's process invocation.
22:55:41 <Rugxulo> (I know I know, tweak my config.site, bah)
22:55:48 <ais523> Rugxulo: on some systems, those crufts may have unexpected values!
22:56:06 <Deewiant> I've clocked ./configure --help taking longer on Windows than the whole ./configure on Linux, on the same machine.
22:56:19 <Rugxulo> no, I mean, some of the things it checks for are bogus, i.e. not required for the program (you could also blame the package maintainer I guess, but ...)
22:56:27 <ais523> Rugxulo: I've tried to be careful wrt that
22:56:30 <pikhq> Windows process invocation is *very very slow*.
22:56:42 <Deewiant> ./configure uses some kind of cache always, no?
22:56:43 <ais523> if the configure went fine, try a make
22:56:44 <Rugxulo> luckily not as painful as other packages I've built before (e.g. ZILE)
22:56:57 <ais523> Deewiant: I mean, a pre-existing cache
22:57:03 <pikhq> Deewiant: Not really; caching is a bit broken.
22:57:05 <ais523> if you don't use -C, it caches just for one run then deletes the cache again
22:57:20 <Rugxulo> ais523: configure didn't bomb out, so here goes nothing ... "make"
22:57:58 * Rugxulo should've done --disable-dependency-tracking but didn't want to push too hard ...
22:58:23 <Rugxulo> libidiot.a, a lib after my own heart!
22:58:24 <pikhq> The dependency tracking bit only matters for rebuilds.
22:58:29 <Deewiant> ais523: In any case, ./configure on Windows is, in my experience, slower than it would be for me to type the values in manually.
22:58:33 <Rugxulo> yes, I know, and slows everything down too
22:58:47 <Deewiant> Autoconf-generated configures, that is.
22:58:57 <Rugxulo> ais523: completed without error, now what? test some stuff in pit?
22:59:07 <ais523> or install if you prefer
22:59:26 <ais523> Rugxulo: a character set converter
22:59:44 <ais523> say, if you get an INTERCAL program in EBCDIC, you can convert it to ASCII to run it with C-INTERCAL
22:59:52 <ais523> and OIL is a domain-specific language for writing optimiser idioms in
22:59:56 <Rugxulo> yeah, like that'll happen ;-)
23:00:09 <ais523> the optimiser got better really quickly after I wrote OIL
23:00:13 <ais523> because it became so much easier to change
23:00:58 <pikhq> ais523: Your .pax files really truly should be .tar; pax creates archives in USTAR format, just like GNU Tar and BSD Tar...
23:01:19 <ais523> pikhq: no, USTAR and .pax are slightly different IIRC
23:01:27 <AnMaster> <Rugxulo> yes, you can configure out-of-tree, but your make must support VPATH (BTW) <-- doesn't all?
23:01:52 <Rugxulo> as they always warn about that
23:02:09 <Rugxulo> ick +help doesn't work (should it?)
23:02:13 <ais523> man 5 tar says that pax follows the ustar format, but contains more data
23:02:19 <ais523> Rugxulo: no, +help is for programs you created
23:02:38 <ais523> (as in, ick supports -@, programs you create using ick support +help)
23:03:00 <pikhq> Hmm. Sure enough -- pax adds an extended header.
23:03:35 <ais523> if you look at a pax archive using a non-pax untar tool, such as Emacs, you see extra dotfiles in the archive
23:04:23 <pikhq> It appears that pax archives are as capable as GNU tar, but a bit different.
23:04:45 <ais523> GNU tar isn't POSIX-compatible
23:04:56 <ais523> whereas pax is compatible with old tars, and with GNU tar as well
23:05:14 <pikhq> Yes, GNU tar is USTAR with additional features that aren't all that POSIX-compliant.
23:05:30 <ais523> in fact, I think pax is compatible even with ancestral tar
23:05:38 -!- Gracenotes has joined.
23:05:44 <ais523> which just ignores all the data in there it doesn't understand, as it's placed into reserved fields and-or dotfiles
23:05:46 <AnMaster> <Rugxulo> yes, I know, and slows everything down too <-- never noticed that. Half a second difference on a project taking 3-4 minutes to build. But that is within the error margin I think. Since the build time varied with like 5 seconds anwyway
23:06:15 <ais523> how much dependency tracking slows it down depends on the compiler
23:06:16 <Rugxulo> try on a non-Core2 billion GB machine ;-)
23:06:17 <pikhq> ais523: According to this, it isn't required to be: http://www.opengroup.org/onlinepubs/009695399/utilities/pax.html
23:06:29 <ais523> for compilers that can't produce dependency info as a side-effect, it slows it down by a factor of 2
23:06:39 <Rugxulo> ais523: it doesn't work ... or at least "ick -g hail_mary.3i" isn't doing anything (nor "-c" etc.)
23:06:57 <ais523> Rugxulo: not even producing hail_mary.c or hail_mary?
23:07:01 <ais523> try ick -y hail_mary.3i
23:07:08 <ais523> that should bring up a debug prompt
23:07:21 <Rugxulo> nope, keeps saying "NO SKELETON IN MY CLOSET"
23:07:35 <Deewiant> Gotta love INTERCAL error messages <3
23:07:35 <AnMaster> <ais523> for compilers that can't produce dependency info as a side-effect, it slows it down by a factor of 2 <-- gcc can do that though
23:07:48 <ais523> Rugxulo: oh, make sure syslib.3i is in the right place
23:07:58 <ais523> if you haven't installed, try copying it into the current directory so it can find it
23:08:08 <ais523> (ick-wrap.c may need to be copied there too)
23:09:08 <Rugxulo> bunch of compilers errors when using "-g"
23:09:55 <ais523> ok, that's more interesting
23:10:08 <Rugxulo> hold on, probably 'cause I'm trying to run inside /pit
23:11:20 <ais523> that shouldn't cause the errors...
23:12:07 <Rugxulo> I don't know what headers and libs need to be where :-/
23:12:19 <ais523> make install should put them all into the right places for you
23:12:30 <ais523> if you don't mind installing
23:12:40 <Rugxulo> doubt it, I've tried that before on other packages, and it didn't work correctly
23:12:43 <ais523> otherwise, it'll look in the current directory, and a couple of binary-relative places
23:12:51 <ais523> but binary-relative is quite possibly broken on DOS
23:12:56 <ais523> due to having a different path separator
23:14:35 <Rugxulo> (trying on a "clean" install of DJGPP)
23:15:15 -!- immibis has joined.
23:15:35 <Rugxulo> 11/12/2009 05:15 PM 216,066 hail_mary.exe
23:15:50 <ais523> hmm, it failed on an unclean install, but worked on a clean one?
23:15:53 <ais523> I wonder what the issue was
23:15:54 <Rugxulo> (okay, very very boring example, heh, but it seems to work)
23:16:24 <Rugxulo> I mean I "installed" DJGPP in a separate place (so as not to pollute my main install) and did "make install" there, and it installed ICK correctly where it works
23:16:46 <Rugxulo> 1000000 might take a while (snore)
23:17:04 <Rugxulo> doesn't even print the number it's on *sniff*
23:17:46 <Rugxulo> I can already guess a __dpmi_yield() call would be nice ;-)
23:18:11 <ais523> what does __dpmi_yield do?
23:18:26 <ais523> remember, DOS is single-process, so on pure DOS you couldn't yield execution at all, sensibly
23:18:29 <Rugxulo> release the time slice to OS
23:19:08 <Rugxulo> OS/2, Novell / DR-DOS 7, Win 3.x on up all support it (int 2fh, 168fh) ... technically DPMI 1.0 but all of those are 0.9 only, so ...
23:19:21 <ais523> Rugxulo: you can run DPMI on pure-DOS, though; does it just ignore the call when you do that?
23:19:39 <ais523> I wouldn't mind putting a __dmpi_yield in behind a #ifdef __DJGPP__ barrier or whatever
23:19:49 <Rugxulo> on DR-DOS 7.03? only if not multitasking (which needs its own DPMI server)
23:20:07 <Rugxulo> but yeah, I'm pretty sure all other DOS-only DPMI servers ignore it
23:20:14 <Rugxulo> (would have to check to be sure, though)
23:21:25 <Rugxulo> e.g. Bash uses this to not hog cpu time completely
23:22:09 <Rugxulo> but yes, under FreeDOS it's moot (dunno about DOSEMU though, would be vaguely interested to find out)
23:22:17 <Rugxulo> DOSEMU has its own DPMI also
23:22:45 <AnMaster> <Rugxulo> e.g. Bash uses this to not hog cpu time completely <-- what the hell are you on about. If running under windows, wouldn't it do it's own scheduling?
23:22:46 <Rugxulo> but DOSBox has no built-in DPMI server, so you have to use whatever would be used in real DOS
23:23:03 <Rugxulo> AnMaster, NTVDM will gladly hog up a lot of your processor
23:23:10 <ais523> DJGPP comes with a DPMI server, IIRC
23:23:15 <AnMaster> Rugxulo, of half you mean. Dual core :P
23:23:24 <Rugxulo> sure, pre-emptive multitasking is still in control, but it's fairly lenient in letting you hog almost everything else if you wish
23:23:46 <AnMaster> Rugxulo, that's strange. I'm pretty sure the linux one isn't
23:23:46 <fizzie> ais523: DJGPP comes with CWSDPMI, which ignores the __dpmi_yield function.
23:24:01 <ais523> that's what I was thinking of
23:24:07 <Rugxulo> DJGPP is not designed only for CWSDPMI, though, but for any compliant DPMI 0.9 server
23:24:24 <Rugxulo> CWSDPMI is just for those who don't have any other
23:24:29 <fizzie> The 0x2f interrupt handler only handles function 1686h, "Get CPU Mode".
23:24:31 <AnMaster> ais523, why not port ick to classic mac os?
23:24:35 <AnMaster> or has that already been done?
23:24:44 <ais523> AnMaster: port? in theory it should run unmodified on anything without porting
23:24:46 <ais523> ofc, that's just theory
23:24:57 <AnMaster> ais523, you need to do something about the console
23:25:01 <ais523> so if classic mac is around, it would be nice if someone would try it and let me know where it fails
23:25:19 <ais523> AnMaster: well, if it doesn't have any sh-equivalent, then a new build system would be needed
23:25:20 <AnMaster> ais523, I have one emulator with MPW I could try tomorrow. Runs OS 9/PPC.
23:25:48 <Rugxulo> you could probably hack your own config.h if needed
23:25:50 <AnMaster> ais523, indeed it doesn't. Well MPW has it's own weird shell-like thingy. You select some text press a key combo to execute it.
23:26:02 <AnMaster> and the make isn't the usual syntax
23:26:06 <ais523> presumably it doesn't do sh commands
23:26:17 <AnMaster> MPW make just outputs a series of commands you can run
23:26:30 <ais523> simply tracking which commands make calls and putting them into a text file would be enough to create a relatively universal build system
23:26:38 <ais523> if, as you say, config.h was set correctly
23:26:44 <AnMaster> ais523, the C compiler is called MrC iirc
23:26:59 <ais523> symlinks can fake that easily enough
23:27:08 <ais523> on the system you use to make the makescript
23:27:15 <Rugxulo> AnMaster, currently Task Manager says anywhere from "89%" used by hail_mary.exe to "95%" or "97%" or "99%" etc. (it varies)
23:27:18 <AnMaster> ais523, still. It can't do STDOUT easily. As it will go into the void
23:27:27 <AnMaster> ais523, you need to make your own window to draw it in
23:27:30 <ais523> you could freopen it to a file
23:27:32 <Rugxulo> okay, done again, now to see how many lines in that file I redirected ;-)
23:27:52 <Rugxulo> AnMaster, stuff like that has been done before, e.g. so-called Win16 extender (OpenWatcom)
23:28:01 <AnMaster> ais523, path separator on mac is :
23:28:16 <Rugxulo> or RSX's shell (rshell or whatever it was called)
23:28:20 <ais523> that isn't a problem if everything's in the same directory
23:28:49 <Rugxulo> yup, million lines, so it worked!
23:29:30 <Rugxulo> compresses to 21k .ZIP (unsurprisingly)
23:29:41 <AnMaster> ais523, oh and the MrC command has a completely weird syntax iirc. Will take a look at this tomorrow. Should be fun. I'm not even sure there is a full standard library there. Or if there is, how you link to it
23:29:51 <ais523> AnMaster: is it C89-compliant?
23:30:18 <AnMaster> ais523, http://en.wikipedia.org/wiki/Macintosh_Programmer%27s_Workshop
23:30:29 <AnMaster> Rugxulo, it has some limited C++ support iirc. Oh and Pascal
23:30:59 <Rugxulo> ha! Interfunge prints output in Roman numerals ... that I didn't expect (and I knew Intercal loved 'em!)
23:31:01 <ais523> AnMaster: apparently it supports stdout if you redirected it
23:31:31 <Rugxulo> is there no GCC port for Macs?
23:31:40 <AnMaster> Rugxulo, for classic ones? I'd doubt it
23:31:50 <ais523> apparently libiberty specifically had support for MPW
23:31:51 <Rugxulo> didn't GCC start out on 68000? also, Atari has one
23:31:52 <ais523> so there was for a while
23:32:16 <Rugxulo> there are people who have GCC 3.x running for Atari cpus, I think
23:32:41 <Rugxulo> they ported Quake to some Atari machine (Falcon 68060?)
23:33:27 <Rugxulo> (and Quake was originally cross-compiled from Alphas?? for DOS / DJGPP target, C + some FPU-heavy ASM)
23:34:00 <ais523> anyway, I really need to go home
23:34:03 -!- ais523 has quit (Remote closed the connection).
23:34:23 <Rugxulo> uh, ais523: thanks (post mortem) :-)
23:37:05 <AnMaster> Rugxulo, btw if you get the cfunge-intercal thing (IFFI) to work on that I will be extremely impressed. Considering that cfunge is a pain to get working even on cygwin (and even then some parts don't work)
23:37:30 <Rugxulo> well, I doubt it since you said it needed mmap, and that's unsupported in DJGPP
23:37:44 <Rugxulo> (without DPMI 1.0 fiddling, which I'm not intimately familiar with)
23:37:51 <AnMaster> Rugxulo, right. You could rewrite file loading code I guess.
23:38:11 <AnMaster> (that won't go upstream though)
23:38:39 <Rugxulo> well, FBBI compiles in DJGPP
23:38:54 <Rugxulo> CCBI might work under HX (haven't tried)
23:39:07 <Rugxulo> http://www.japheth.de/HX.html
23:39:13 <Rugxulo> not everything is supported (obviously)
23:39:17 <AnMaster> Rugxulo, cfunge is C99 + quite a lot POSIX
23:39:35 <Rugxulo> DJGPP has GCC 4.4.1 and supports a fair subset of POSIX
23:40:09 <AnMaster> cfunge wouldn't be happy with 640k
23:40:10 <Rugxulo> GCC doesn't officially support anything less on x86
23:40:29 <Rugxulo> Quake needed 8 MB of RAM (1996), and it used DJGPP
23:40:44 <Rugxulo> heck, GCC itself would never ever fit in 640k
23:41:06 <Rugxulo> okay, I take it back ... maybe with HEAVY swapping (CWSDPMI)
23:41:18 <Rugxulo> DJ did start it in 1989 on his 386 w/ 2 MB of extended RAM
23:41:25 <Rugxulo> of course GCC was loads simpler then
23:41:49 <AnMaster> Rugxulo, iirc with loading *.so, setting up memory pools (large for performance reasons) and so on cfunge needs something like 15 MB virtual address space for the ulimit on my x86_64 system
23:42:30 <Rugxulo> DJ = founder of DJGPP (DJ's GNU Programming Platform)
23:43:05 <Rugxulo> and BTW, memory limits are imposed by DPMI host, not DJGPP (although I think 2 GB is somehow hardcoded somewhat in libc but can be worked around ... never completed because nobody had interest, according to CWS)
23:43:31 <Rugxulo> you can't build GCC anymore in less than 128 MB or such
23:43:46 <Rugxulo> used to be where 16 MB was enough (2.x)
23:44:07 <AnMaster> Rugxulo, anyway, good luck getting cmake working in there (alas, not needed for IFFI, IFFI builds it differently)
23:44:17 <Rugxulo> IIRC, DJ said (1996) he could build GCC in thirty minutes on his 486 DX/100
23:44:36 <Rugxulo> one guy wanted to port Cmake but stopped due to Bash bug
23:44:54 <Rugxulo> same bug cropped up when Autoconf released 2.64 (nobody tested, gah), now fixed ... but a bit too late (five years)
23:45:43 <Rugxulo> doesn't help that MS never fixed NT bugs in their DPMI server, etc.
23:45:59 <Rugxulo> nor that hardware acceleration almost never worked in DOS (does 3dfx count? barely ...), which distracted many a developer
23:46:11 <Rugxulo> e.g. Quake / DOS never ran in NT (only 9x)
23:46:28 <Rugxulo> heh, sorry, thought you might wanna know for trivia ;-)
23:46:44 -!- augur has quit (Read error: 110 (Connection timed out)).
23:46:47 <Rugxulo> *shrug* why not, if it works?
23:47:05 <AnMaster> Rugxulo, you could use that to defend cobol too
23:47:43 <AnMaster> that that reason makes no sense
23:47:56 <Rugxulo> the point is ... DJGPP works well for what it does, so why not use it?
23:48:10 <AnMaster> Rugxulo, also, tell me when you rewrote fungot in befunge93
23:48:10 <fungot> AnMaster: and it was to late yeah it is it you don't have anything and was being assesed on my face he.d be in movies like this
23:48:22 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack pa speeches ss wp youtube*
23:48:31 <fungot> Selected style: nethack (NetHack 3.4.3 data.base, rumors.tru, rumors.fal)
23:48:37 <fungot> AnMaster: eating a yeti. ceram)
23:48:49 <Rugxulo> fungot Dungeon Crawl: Stone Soup for the win!!
23:48:50 <fungot> Rugxulo: c*ckatrice: once you know what that is?)
23:49:02 * Rugxulo throws a cockatrice at fungot
23:49:02 <fungot> Rugxulo: they say that blue stones are radioactive, beware. " the eyes!" " how the indian deity quetzalcoatl came from the fiends, that david hasted, and he had no wallet and no pockets, so that they might challenge his own sword, lion's skin, and damage, both spell and physical, is about the time that paris was full of carlists who had brought. for a price list.
23:49:14 * Rugxulo while wearing gloves, of course
23:49:22 <AnMaster> Rugxulo, too late to mention that now
23:49:49 <AnMaster> fungot, good thing you are alive
23:49:49 <fungot> AnMaster: zruty: the name _sasquatch_ doesn't really become important in canada until the 1930s, when because of the truly great unknown animals of the giant farbauti and of themselves, their ragged, unfurry skin is as white as a god of light who was next me; and in the motion of the twilight they could find it, on those marvelous birthday mornings, he would peel back a tiny bit of a horse. ( conan the usurper, by david gerrold
23:49:51 <Rugxulo> why would I mention it to myself? :-)
23:49:52 <fungot> A|t{u~v[X7=:Pzno5xp}y8/f1liated/anmaster: they say that applying a unicorn horn rule is if it was a serviette he had no wallet and no pockets, so you can be almost instantly fatal. its streaming mane kindled, and is looked upon as the wolf runs," mom said. " it can catch.
23:50:11 <AnMaster> Rugxulo, because you are insane due to crawl?
23:50:30 <fungot> AnMaster: you swallowed the fortune cookie is the son of the sun god of fire.
23:50:35 <Rugxulo> BTW, NetHack compiles under DJGPP (as does SLASH 'EM and Falcon's Eye)
23:50:37 <AnMaster> fizzie, dual highlight thing again
23:50:50 <AnMaster> fizzie, with the corrupted data
23:50:59 <AnMaster> happened once before as you may remember
23:51:08 <Rugxulo> as does Dungeon Crawl: Stone Soup (and the original)
23:51:33 <Rugxulo> there was a Xlibemu at one time, but v1 only
23:51:44 <Rugxulo> actually, I forgot about Desqview/X
23:51:51 <Rugxulo> but that's proprietary, old, and v1 only also
23:52:06 <Rugxulo> v2 is DPMI only, LFNs out-of-the-box
23:52:18 <Rugxulo> v1 was GO32.EXE extender, supported VCPI or DPMI etc., no LFNs
23:52:35 <Rugxulo> VCPI = DOS extenders before DPMI existed
23:52:56 <Rugxulo> which Windows stopped supporting (directly) in Win 3.0
23:53:22 <AnMaster> Rugxulo, and all my systems are 64-bit. So I don't need to bother about even seeing that mess any more
23:53:24 <Rugxulo> only Win 3.x /S ("standard" / 286) mode supported VCPI (which was ironically an extension of EMS and needed a 386)
23:53:29 * immibis notices anmaster is sleep-IRC'ing
23:53:40 <Rugxulo> you don't have to see anything if you close your eyes ;-)
23:53:43 <AnMaster> immibis, failing to get away from the computer when I should
23:54:01 <AnMaster> Rugxulo, mess? Well. DPMI. The yield stuff. Lots of more?
23:54:11 <Rugxulo> BTW, DOSEMU works pretty well under x86-64 (for most DJGPP apps, anyways)
23:54:36 <Rugxulo> AnMaster, it's supposed to be transparent, you shouldn't have to think of the low-level details
23:54:41 <AnMaster> Rugxulo, most of them probably work natively under linux anyway. So I fail to see the point.
23:54:57 <Rugxulo> natively IF somebody compiled them for you
23:55:01 <AnMaster> Rugxulo, no proper memory protection. No fork(). Lots of more
23:55:50 <AnMaster> Rugxulo, can you make an app not able to break out?
23:55:58 <AnMaster> like, even proper *nix like security
23:56:35 <AnMaster> Rugxulo, what about file permissions?
23:56:35 <Rugxulo> I don't know for sure, honestly
23:57:04 <Rugxulo> DR-DOS supports passwords and weak partition encryption, but I assume that's not what you mean
23:57:35 <Rugxulo> DOS inherently doesn't natively support anything more than +a +r +s +h
23:57:46 <Rugxulo> there are multiuser DOSes, but I've never used 'em (very rare)
23:57:48 <AnMaster> Rugxulo, I'm not familiar with those
23:58:27 <AnMaster> wouldn't comparing timestamp work
23:58:37 <Rugxulo> timestamps can change, I guess
23:58:45 <Rugxulo> I don't know the official reason, honestly, and nobody uses it anymore
23:58:50 <AnMaster> Rugxulo, so can that bit, otherwise useless
23:59:40 <immibis> if a backup is interrupted halfway through, the next run will still backup the other half because their A bits are still set?
00:00:16 <immibis> but with timestamps it's either all of the files or none of them
00:00:32 <AnMaster> immibis, um. sure. but you could do that with updating the timestamp file listing as you did the backup
00:00:55 <AnMaster> wait, you need two files, still easy
00:01:00 <immibis> like updating the last modified date? but then it isn't the date it was last modified anymore
00:01:06 <Rugxulo> maybe some people didn't want to change their timestamps when backing up?? (dunno)
00:01:10 <AnMaster> immibis, like keeping a list like:
00:01:23 <Rugxulo> there is only one time in DOS: last modified
00:01:45 <Rugxulo> last access and creation are supported in FAT32 (but not by FreeDOS for speed reasons)
00:01:54 <AnMaster> and when backing up check the last modification time, see if it is newer than what is your list of files
00:02:05 <immibis> much more complicated than a simple bit on each file
00:02:22 <Rugxulo> AnMaster, my only regret is that we're stuck with Bash 2.05b, which doesn't support BashFunge :-(
00:02:38 <AnMaster> Rugxulo, bashfunge? why does that sound familiar
00:02:41 <Rugxulo> (probably not THAT hard to port 3.0, though I'm probably not too handy in that area)
00:02:47 * AnMaster is seeing zombies and spooks right now
00:03:02 <AnMaster> Rugxulo, bashfunge was really broken. And I won't fix it.
00:03:11 <Rugxulo> considering I've only know about Befunge for less than 3 months, it can't have been that long ;-)
00:03:22 <Rugxulo> *sniff* and it was such a good idea :-/
00:03:42 <Rugxulo> (worked in Cygwin although I didn't test that hard)
00:03:49 <AnMaster> Rugxulo, sure. But well the unlimited size turned out to be a pain
00:04:06 <Rugxulo> God forbid you do a B93-only version ;-)
00:04:08 <AnMaster> plus some of the 98-stuff is missimplemented
00:04:22 <AnMaster> Rugxulo, yeah. I'm not about to touch that code
00:04:33 <AnMaster> Rugxulo, anyway, if I did, I would go bash 4
00:04:38 * Rugxulo thinks he called three people lazy today (in jest), heh
00:04:42 <AnMaster> some really useful stuff there
00:04:52 <Rugxulo> meh, might as well go Perl or Python or Ruby or ...
00:05:03 <AnMaster> Rugxulo, no. zsh would be one step in between
00:05:27 <AnMaster> bash3, bash4, perl/python/ruby
00:05:37 <AnMaster> bash3, bash4, zsh, perl/python/ruby
00:06:19 <AnMaster> Rugxulo, anyway, isn't everyone else on bash4 nowdays?
00:06:34 <Rugxulo> I've seen many Linux distros still using 3.2
00:06:38 <Rugxulo> even Cygwin still uses 3.2
00:06:52 <AnMaster> Rugxulo, well sure. I have a few around here. Arch, Ubuntu, Gentoo
00:07:15 <Rugxulo> Ubuntu? if you say so, it wasn't last I checked (but haven't gotten 9.10 yet)
00:07:24 <pikhq> Gentoo upgraded only somewhat recently, but yeah, it's 4.0 here.
00:07:41 <AnMaster> can't check *bsd atm. Probably okay on freebsd. No clue about open or net
00:08:05 <Rugxulo> those obviously don't use Bash by default
00:08:22 <AnMaster> oh mac OS X is probably very outdated
00:08:35 <Rugxulo> probably, but I don't have a Mac
00:08:48 <Rugxulo> my Dad's five-year-old Panther (10.3.9) still had 2.05b also
00:09:04 <AnMaster> Rugxulo, oldest one I ever used was tiger
00:09:22 <AnMaster> btw I saw someone using twm and tcsh today
00:09:37 -!- puzzlet_ has joined.
00:09:37 -!- puzzlet has quit (Remote closed the connection).
00:09:39 <AnMaster> it was a teacher at university, starting a projector to demonstrate stuff
00:09:41 <Rugxulo> or maybe that was tcsh, who knows
00:09:53 <AnMaster> it ran ubuntu, with console login, then starting X manually
00:10:12 <AnMaster> and yes it was definitely csh, think it was tcsh even
00:10:40 <AnMaster> and that old black/white checker bg
00:12:16 <AnMaster> I have not the foggiest idea why he used ubuntu as the base for that. After all that sounds like a pain compared to using arch that way.
00:13:06 * Rugxulo isn't sure ick input works correctly ... or else isn't doing it correctly
00:15:23 <Rugxulo> ah, I see ... "ONE OH THREE" is Intercal input
00:25:49 -!- Sgeo has joined.
00:27:30 -!- Slereah has quit (Read error: 60 (Operation timed out)).
00:27:48 -!- Slereah has joined.
00:27:52 -!- Rugxulo has left (?).
01:08:22 -!- Gracenotes has quit (Remote closed the connection).
01:23:20 -!- oerjan has quit ("Good night").
01:43:07 -!- fax has quit ("Leaving").
02:19:26 -!- augur has joined.
02:21:54 <immibis> does anyone have any ideas about debugging dynamic recompilers?
02:46:09 <immibis> "In medicine, a cathartic is a substance which accelerates defecation." <-- wtf?
02:46:39 <GregorR> Well, catheters can be quite cathartic.
02:49:10 <immibis> lol it must be really bad code if it makes desmume crahs
02:49:21 <immibis> (ds emulator, which is what my recompiler is running on)
02:51:08 <immibis> currently it runs the recompiler until a jump instruction, then runs the interpreter until the same instruction, etc... until something doesn't match or isn't implemented
02:51:18 <immibis> but comparing all of memory takes ages
03:13:31 -!- puzzlet_ has quit (Remote closed the connection).
03:13:35 -!- puzzlet has joined.
03:38:57 -!- coppro has joined.
03:39:47 <coppro> Are there any esoteric languages based on Conway's Game of Life?
03:42:52 <immibis> yes http://esolangs.org/wiki/Golang
03:43:08 <immibis> wait, now i can't delete that
03:47:01 <immibis> REDGREEN is a superset of the game of life: http://catseye.tc/projects/redgreen/eg/life.red
03:47:44 <coppro> wow that's pretty neat
03:48:32 -!- GregorR has quit ("Leaving").
03:54:14 -!- augur has quit (Read error: 104 (Connection reset by peer)).
03:54:40 -!- augur has joined.
04:08:11 -!- augur has quit (Read error: 113 (No route to host)).
04:08:31 -!- augur has joined.
04:09:14 <Ilari> Heh. DVD-ROM disks that are claimed to last 1ka. Even if they last in readable shape for half that (500a), one probably isn't going to get any sane data off them...
04:14:48 -!- Gregor has joined.
04:33:46 -!- Gracenotes has joined.
04:39:03 -!- coppro has quit (Read error: 110 (Connection timed out)).
04:47:49 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
04:56:55 -!- augur has quit (Read error: 113 (No route to host)).
05:35:55 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
05:52:00 -!- bsmntbombdood has joined.
05:59:07 -!- bsmntbombdood__ has joined.
06:06:24 -!- bsmntbombdood has quit (Nick collision from services.).
06:06:27 -!- bsmntbombdood__ has changed nick to bsmntbombdood.
06:24:39 <fizzie> AnMaster: It's not "happened once before"; by my count this was at least the fourth occurrence. I probably should save those ?-generated random numbers somewhere so that I could reproduce it. (Or just run the text-generation code again and again until it crashes; can't take that long.)
07:10:57 -!- jix has quit (Read error: 60 (Operation timed out)).
07:11:01 -!- jix has joined.
07:15:49 -!- augur has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:04:36 -!- Sgeo has quit (Read error: 54 (Connection reset by peer)).
08:09:00 -!- Slereah has quit.
08:13:40 -!- Slereah has joined.
08:18:32 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
08:20:40 -!- bsmntbombdood has joined.
08:30:49 -!- Pthing has quit (Remote closed the connection).
09:08:06 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
09:09:40 -!- bsmntbombdood has joined.
09:50:16 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
09:53:20 -!- bsmntbombdood has joined.
10:15:33 -!- oerjan has joined.
10:16:20 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
10:18:50 -!- bsmntbombdood has joined.
10:43:31 <AnMaster> great.... zooming a pdf to 150% in evince and in okular gives completely different results
10:43:54 <AnMaster> in evince the text is then about twice as big as in okular
10:58:51 <fizzie> I've always assumed that the "100 %" there is supposed to take into account the screen DPI and show it at "natural size"; come to think of it, I wonder if that's true.
11:01:01 <fizzie> For an A4 .pdf, evince's "100 %" seems to be pretty close to natural A4 size, though the width is about 7 mm off; xpdf's "100 %" is utterly too small.
11:01:46 <fizzie> And Adobe Reader's "100 %" is something like 3 cm too wide.
11:02:34 <fizzie> Ah, that's because Reader's configuration is not "Use system setting: 97 pixels/inch" but instead "Custom resolution: 110 pixels/inch". Don't know where that came from.
11:02:52 <Deewiant> It defaults to a custom resolution.
11:04:44 <fizzie> With the system default 97 ppi, it's the same width that Evince does. (The "correct" value -- leading to the right width -- would seem to be somewhere between 99 and 100.)
11:07:29 <fizzie> What's really strange is the xrandr output: TMDS-1 connected 1600x1200+0+0 (normal left inverted right x axis y axis) 367mm x 275mm
11:07:52 <fizzie> 1600 points in 367mm would give exactly that 110 ppi. But it's very much incorrect.
11:08:12 -!- oerjan has quit ("leaving").
11:09:11 <AnMaster> fizzie, hm what about okular then?
11:09:30 <AnMaster> I found no custom resolution setting in okular
11:10:45 <fizzie> okular's "100 %" seems to mostly match the xpdf one; I guess they were related, anyway?
11:23:45 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
11:26:53 -!- bsmntbombdood has joined.
12:10:23 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
12:11:05 -!- bsmntbombdood has joined.
12:18:09 <AnMaster> hm ok I got a simple hello world to build as a classic PPC app under MPW now
12:18:16 <AnMaster> can't make it work as 68k nor as FAT
12:18:30 <AnMaster> so should be ready to take on ick if I pre-generate most files
13:03:27 <AnMaster> oh hah it seems including the type "long long" makes the 68k compiler crash
13:44:09 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
13:44:37 -!- bsmntbombdood has joined.
13:56:17 -!- puzzlet_ has joined.
13:56:58 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
14:53:33 -!- bsmntbombdood_ has joined.
14:53:46 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
14:53:49 -!- puzzlet_ has quit (Read error: 60 (Operation timed out)).
14:56:16 -!- puzzlet has joined.
14:56:18 -!- kar8nga has joined.
15:37:29 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)).
15:41:21 -!- bsmntbombdood_ has joined.
16:11:03 -!- ais523 has joined.
16:20:53 -!- oklofok has joined.
16:27:37 -!- BeholdMyGlory has joined.
16:29:21 -!- Gracenotes has quit ("brb").
16:34:27 <AnMaster> ais523, some progress with ick on mac
16:34:40 <AnMaster> the SIZEOF__BOOL thing in config.h
16:34:45 <AnMaster> what do you do if there is no _Bool
16:35:02 <ais523> I think the code accepts either as meaning no _Bool
16:35:04 <AnMaster> ais523, and what is the difference between bconfig.h and config.h?
16:35:12 <ais523> AnMaster: nothing unless you're cross-compiling
16:35:17 <AnMaster> oh and I got bin2c to build. but I can't redirect IO do it
16:35:27 <AnMaster> nor give it command line arguments
16:35:36 <ais523> if you are cross-compiling, then bconfig is for the system you build on, whereas config is for the system you're targeting
16:36:01 <ais523> the output of bin2c doesn't depend on anything but the input files, so feel free to use a prebuilt version of the resulting .c files
16:36:18 <AnMaster> ais523, same goes for oil btw I think
16:36:28 <ais523> and same fix will work
16:36:30 <AnMaster> ais523, for ick I have to figure out some way around it
16:36:36 <ais523> are you sure you can't redirect, though?
16:36:42 <ais523> write a wrapper that uses system and freopen, if you like
16:36:45 <ais523> and use that to do the redirection
16:36:55 <AnMaster> ais523, there is no shell to do it in. As for system(), no clue what it does
16:37:16 <ais523> according to the Wikipedia article you linked, the shell-equivalent is pretty good at redirection...
16:37:51 <AnMaster> ais523, it works for special MPW tools only. Which are not normal applications
16:38:02 <AnMaster> ais523, oh and there are two ways to go: MPW (free download) or CodeWarrior (far from). The latter supports emulating some aspects of a terminal for your app. STDIO
16:38:10 <ais523> Wikipedia said it worked for everything, by hooking syscalls
16:38:47 <AnMaster> ais523, hum. didn't work for me
16:39:30 <AnMaster> ais523, will check if I can get bin2c to build under MPW. with codewarrior I got that bit to build.
16:48:13 -!- fax has joined.
16:52:07 <AnMaster> ais523, what creator code should ick, bin2c and so on have?
16:53:00 <AnMaster> exactly 4 printable bytes. With printable bytes I mean not just alphanumeric, but also symbols. I have seen SIT! for example. And "MPS "
16:53:13 <ais523> make them all NUL characters
16:54:24 <AnMaster> ais523, oh and "long long" isn't supported by the 68k compiler
16:54:42 <AnMaster> ais523, strdup is missing. So is snprintf
16:54:48 <ais523> AnMaster: config.h should catch those
16:54:57 <ais523> they should be #ifdef-guarded
16:55:02 <AnMaster> ais523, yes. But it wants size of long long somewhere in there
16:55:19 <AnMaster> ais523, oh and I haven't got IO to work at all for 68k apps
16:55:26 <AnMaster> as in, freopen to a file doesn't work
16:55:45 <AnMaster> (which is how I found out size of the types for it)
16:56:22 <AnMaster> ais523, "doesn't work" here means "compiles and runs fine, but no resulting file"
16:57:08 <AnMaster> ais523, anyway, what is the file list for ick, avoiding any *.a (I haven't figured out how they work yet)
16:57:34 <ais523> AnMaster: as in, the sources or the binaries?
16:58:17 <AnMaster> ais523, list of all *.o that ends up in it
16:58:36 <AnMaster> ais523, I have tried figuring out from the Makefile.am but that was quite messy
16:59:28 <ais523> AnMaster: it's the contents of ick_SOURCES, nodist_ick_SOURCES, and ick_LDADD
17:00:11 <AnMaster> ais523, what about the oil stuff. MPW makefile must do all the work in advance as you knopw
17:00:12 <ais523> so src/feh2.c src/dekludge.c src/ick_lose.c src/fiddle.c src/perpet.c src/uncommon.c parser.y lexer.l idiotism.oil are the sources
17:00:45 <ais523> feh2.o dekludge.o ick_lose.o fiddle.o perpet.o uncommon.o parser.o lexer.o libidiot.a are the object files
17:01:03 <ais523> basically, the files generated by oil don't exist until oil runs
17:01:08 <AnMaster> ais523, the make here outputs a script. So it must be able to figure out exactly which files would be generated by oil
17:01:19 <ais523> AnMaster: it depends on the input, though, as to how many there are
17:01:40 <ais523> AnMaster: see the prebuilt/ directory
17:01:41 <AnMaster> ais523, well sure. But you surely see the issue here? I can't work around it in any sane way
17:01:43 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)).
17:01:44 <ais523> I thought of that one already
17:01:57 <ais523> and work around it in an insane way, then
17:02:02 <ais523> say by invoking the make recursively
17:02:10 <ais523> once to figure out how many files are needed, once to actually do the building
17:03:18 <AnMaster> ais523, also I can't figure out a make rule for files in a subdirectory
17:04:11 <ais523> are you sure that using the make version there at all is the right thing to do, if it's that limited?
17:04:17 <ais523> is there any shellscript-equivalent?
17:05:16 <AnMaster> ais523, well, the make one is better than a plain script, becuase compiling and linking is complex. So I don't want to have to write out lots of full command lines. Unless you can tell me how to do functions in the MPW shell.
17:06:03 <ais523> I don't know how the MPW shell works at all
17:06:06 <AnMaster> ais523, oh btw to add to the confusion. *.a is usually asm here
17:06:26 <ais523> there's no actual need to library up libidiot.a
17:06:37 <ais523> except that make understands one library better than an unknown number of object files
17:07:16 <AnMaster> ais523, there are some sort of libraries. I have yet to figure out how to create those
17:17:56 <AnMaster> "Unable to create finder parameter list for this application"
17:18:24 <AnMaster> that is due to the command line argument it wants
17:25:26 <AnMaster> ais523, I figured it out. For normal applications, all arguments on command line must be valid existing files
17:25:31 <AnMaster> ais523, that sure is a showblocker
17:25:55 <AnMaster> ais523, any way to work around it in ick and such?
17:26:22 <ais523> it'd have to get its command line arguments some other way
17:26:56 <AnMaster> ais523, also even after creating the relevant file, it didn't work. Not sure why yet.
17:27:08 <AnMaster> it runs now, but gives an error message
17:27:17 <AnMaster> (the normal one for no arguments)
17:28:10 <AnMaster> ais523, what about converting it to an MPW tool?
17:28:26 * AnMaster looks at an example MPW tool to figure out how messy that would be
17:28:49 <AnMaster> okay answer to that is "quite a bit"
17:31:11 <AnMaster> ah yes a special resource script
17:32:21 <AnMaster> ais523, if this is to go upstream I will need a special subdirectory for mac specific files
17:32:28 <AnMaster> any recommended directory name?
17:32:34 <AnMaster> also where is the current darcs repo
17:32:44 <ais523> and, I actually can't rememebr
17:32:49 <ais523> I thought you were hosting it
17:33:04 <AnMaster> ais523, as I told you ages ago, that server went down.
17:33:14 <AnMaster> must have been middle of summer or so.
17:33:29 <AnMaster> ais523, and you said iirc you would move it.
17:34:05 <ais523> well, it's nowhere atm then
17:38:27 -!- oerjan has joined.
17:41:03 <AnMaster> ais523, interestingly enough the MPW shell and MPW make makes use of some non-ASCII letters
17:41:13 <AnMaster> like "greater than or equal to" for redirecting stderr
17:41:36 <AnMaster> or some weird symbol I can't type on my pc for what \ would do in a normal makefile
17:44:53 <AnMaster> means bar in folder foo on Volume
17:45:04 <AnMaster> means foo in current directory
17:45:36 <AnMaster> exactly. lucky thing I didn't have a volume called baudot.c
17:45:57 <AnMaster> however, I wonder what that thing actually did, since it didn't give an error either
17:47:37 <AnMaster> ais523, oh and I managed to lock up MPW by bin2c, when it didn't quit but read on stdin. heh
17:48:18 <AnMaster> ais523, the tool thing is similar to a dynamically loaded module
17:48:43 <AnMaster> okay bin2c foo < :src:baudot.bin > :baudot.c
17:48:53 <AnMaster> (minus the "okay" first of course)
17:49:28 <AnMaster> ais523, however, it seems all source files must be in the same directory, no subdirs allowed. Or I just can't figure it out
17:49:52 <ais523> just write a script to move them all into the same dir, then
17:50:10 <AnMaster> for implicit targets at least. Not sure about explicit argets
17:51:24 <AnMaster> ais523, oh and you know that old style s thingy?
17:52:07 <AnMaster> well, sometimes it uses two of them instead
17:54:08 <AnMaster> ais523, let me take a screenshot... a few seconds
17:56:39 <AnMaster> ais523, look at http://omploader.org/vMnJoag
17:56:58 <AnMaster> the cursor there is from linux
17:57:20 <AnMaster> which is odd, maybe due to screenshot app. Since it doesn't look like that to me
17:57:49 <AnMaster> ais523, what? the cursor or the makefile?
17:58:19 <AnMaster> ais523, the window behind is that worksheet
17:58:32 <AnMaster> think a cross between a shell and emacs *scratch* buffer
18:00:12 <AnMaster> ais523, anyway, ick building the result itself won't work. You will have to print some lines for the user to run in the MPW shell
18:00:22 <AnMaster> in fact it might be best to make ick too into an MPW tool
18:01:06 <AnMaster> ais523, and yeah mpw tools can't run other ones. which is why make prints the commands for you to run
18:01:11 <AnMaster> and why oil will cause a headache
18:02:04 <AnMaster> ais523, and yes I have no idea about the separate src dir for prebuilt or generated stuff
18:02:38 <AnMaster> ais523, btw the way to make things find the source dir is to add a line like: {ObjDir} <old-style s> {SrcDir}
18:02:50 <AnMaster> you can't have several it seems
18:03:17 <AnMaster> probably worth experimenting with that to figure out if you can have more than one src dir
18:03:28 <AnMaster> ObjDir and SrcDir must of course be defined
18:13:35 <AnMaster> ais523, btw do you know how classic mac os did memory management? It is rather horrible: http://en.wikipedia.org/wiki/Mac_OS_memory_management
18:16:04 <AnMaster> ais523, aha found how to do multiple directories. You just list them all after that old style s
18:33:28 <AnMaster> ais523, what to call the folder where generated files are placed during the build?
18:33:38 <AnMaster> ais523, I can't use the object dir
18:33:47 <AnMaster> because that makes mpw make crash
18:33:57 <ais523> you're meant to use an out-of-tree build anyway
18:34:44 <AnMaster> me has no clue how to go upwards like ".." under *nix and windows
18:34:52 <ais523> you could use :buildobj and :buildc if you need separate dirs
18:35:12 <AnMaster> you need a : at the end if it is a directory
18:40:02 <AnMaster> ais523, ah found out some more details from reading python's macpath.py
18:40:09 <AnMaster> On the Mac, relative paths begin with a colon,
18:40:09 <AnMaster> but as a special case, paths with no colons at all are also relative.
18:40:32 <AnMaster> oh and :: means "parent dir" it seems
18:40:37 <AnMaster> well that should solve some issues
18:40:53 -!- puzzlet_ has joined.
18:52:45 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
18:54:26 -!- ehird has joined.
18:55:34 <ehird> I am using a trackball!
18:56:34 <ehird> Need to increase the sensitivity, I think, but I'll leave it for now.
18:56:45 <ehird> Vintage Logitech TrackMan Marble, circa like 1995. Excellent condition.
18:57:11 <ehird> Also, I hope the pun in the topic isn't disparaging Go. That's Ken Thompson's project, you know.
18:57:20 <ehird> — and it looks great, with some warts
18:57:37 <AnMaster> ehird, iirc Gregor said it was horrible yesterday
18:57:53 <ehird> Then he's an idiot. It has a good subset of the old Unix team working on it.
18:57:56 <ehird> Ken Thompson, Rob Pike, etc.
18:58:08 <ehird> And its design is mostly clean and elegant.
18:59:31 <ehird> 13:52:16 <Rugxulo> BTW, have you heard of "Go" yet?
18:59:31 <ehird> 13:52:20 <Rugxulo> (since you like D)
18:59:34 <ehird> ... Go is completely unlike D.
19:00:20 <ehird> 14:04:14 <GregorR> Since people were talking about Google Go the other day, here is my brief opinion from poking arounda t it a bit: Probably the worst language design in at least a decade. Easily the worst toolchain design in the entire history of toolchains. If I never touch this language again, it will be too soon.
19:00:42 <ehird> Yes, the compiler structure is totally unlike any existing compiler. That's why it's much faster and cleaner — it's the same design as the Plan 9 C compilers.
19:00:49 <ehird> (So, not unlike any existing compiler, but meh.)
19:01:23 <ehird> 14:05:23 <GregorR> Rugxulo: In terms of "real" languages. It's completely horrible.
19:01:23 <ehird> You are completely off your rocker. Worst language in a decade? Are you absolutely serious?
19:02:13 <ehird> 14:07:32 <GregorR> Rugxulo: Its type system is insane, its toolchain is horrible, its method of "encapsulation" is capitalization, it has no consistent interoperability story, lesse...
19:02:13 <ehird> Its type system is very usual with some exceptions, and some nice things. Its toolchain is VERY VERY VERY fast and simple. Its SYNTAX for encapsulation is capitalisation.
19:02:35 <ehird> 14:07:59 <GregorR> Rugxulo: THE BINARIES ARE NAMED PER FUCKING ARCHITECTURE
19:02:36 <ehird> 14:08:05 <GregorR> 6g? 8g? WTF?!
19:02:36 <ehird> Which means that cross-compiling is the same as regular compiling, an ADVANTAGE.
19:02:56 <ehird> 14:08:26 <GregorR> Fast is not a pro unless we're compiling in 1965.
19:02:56 <ehird> It compiles the 100k line go code in seconds
19:03:22 <ehird> 14:09:01 <GregorR> It has fork-join-ish concurrency, which makes it "good" in a "hey if we restrict you to a ridiculous degree you won't make mistakes" sense.
19:03:22 <ehird> It has coroutines.
19:03:44 <ehird> 14:10:53 --- topic: set to 'Go is a no-go | http://tunes.org/~nef/logs/esoteric/?C=M;O=D' by GregorR
19:03:44 <ehird> did ken thompson rape you or something
19:06:32 <ehird> haha this trackball poops if i spin the wheel really fast
19:06:40 <ehird> "fuck it, I'm not tracking that"
19:11:05 <ehird> 09:25:26 <AnMaster> ais523, I figured it out. For normal applications, all arguments on command line must be valid existing files
19:11:06 <ehird> 09:25:31 <AnMaster> ais523, that sure is a showblocker
19:11:06 <ehird> 09:25:36 <ais523> wow, that's weird
19:11:06 <ehird> 09:25:55 <AnMaster> ais523, any way to work around it in ick and such?
19:11:07 <ehird> 09:26:22 <ais523> it'd have to get its command line arguments some other way
19:11:07 <ehird> just create the files beforehand, duh
19:22:53 <Gregor> <ehird> Ken Thompson, Rob Pike, etc.
19:22:53 <Gregor> <ehird> And its design is mostly clean and elegant.
19:22:53 <Gregor> Clean and elegant?!?!?
19:22:57 <Gregor> Syntactically clean maybe, semantically nonsense.
19:23:07 <ehird> I am Gregor and I will be outraged and call it the puke's dog because it is not what I am used to! I am not required to provide arguments, only RAGE!
19:23:15 <ehird> HEAR ME ROAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAR
19:23:26 <Gregor> I provided a bunch of arguments when I was arguing against it yesterday.
19:23:33 <ehird> You didn't, actually.
19:23:36 -!- kar8nga has quit (Remote closed the connection).
19:23:38 <ehird> You just called various aspects of it stupid.
19:23:52 <Gregor> 1) Their half-assed structural subtyping is no replacement for inheritance. Inheritance is useless.
19:24:08 <Gregor> Inheritance isn't useless rather X-D
19:24:17 <ehird> Inheritance is bad, and before you argue against that plz google some bit, especially c2 wiki.
19:24:37 <ehird> It isn't half-assed, it's minimalist. It looks stupid because minimalism does look stupid.
19:24:41 <ehird> Unix looked stupid.
19:24:55 <ehird> It being no replacement is your opinion; clearly they are having no issues.
19:25:31 <ehird> If anyone wants some real description and criticism of Go, http://scienceblogs.com/goodmath/2009/11/googles_new_language_go.php and http://scienceblogs.com/goodmath/2009/11/the_go_i_forgot_concurrency_an.php are good reads.
19:25:57 <Gregor> It's not worth my time arguing this, particularly not on #esoteric or with you, so I'm not going to.
19:26:26 <ehird> Your arguments continue to stun. Hey, if I'd said that to AnMaster a wild pack of bears would be mauling me round about now.
19:27:05 <ehird> At least you had the chance to give us your interesting arguments: "It's horrible" "It sucks" "That compiler naming thing is stupid" "The toolchain sucks".
19:27:13 <ehird> I will ponder them.
19:33:33 <ehird> Also, http://code.google.com/p/go/source/detail?r=4a3f6bbb5f0c6021279ccb3c23558b3c480d995f is such an epic event in the history of computing that anything it's part of cannot possibly be wrong.
19:36:40 <ehird> (To idiots who don't get it: It's a change by Ken Thompson. [[Ken Thompson was once asked what he would do differently if he were redesigning the UNIX system. His reply: "I'd spell creat with an e."]])
19:37:29 <ehird> http://ads.stackoverflow.com/ads/MostWanted_728x90_Static.png ;; by whom?!
19:37:44 <AnMaster> ehird, some of those files would be illegal file names. Oh and there are some other issues with it too
19:39:39 * ehird tries to emulate the scroll wheel in os x
19:40:01 -!- Sgeo has joined.
19:40:27 <ehird> ais523: think I'll pwn at Enigma with this trackball? :P
19:40:51 * Sgeo recently switched to Chrome
19:40:54 <ehird> give me a level that requires precision
19:40:57 <ehird> Sgeo: it's a good browser
19:41:00 <ehird> much better than firefox
19:41:16 <Sgeo> I'd like it better if, when switching to a tab, the tab wasn't momentarily blank
19:41:20 <Sgeo> But I found an issue discussing it
19:41:27 <Sgeo> So I'll look into that
19:41:39 <AnMaster> ais523, why not an implicit rule for those bin2c generated files?
19:41:53 <Sgeo> ehird, http://www.google.com/support/forum/p/Chrome/thread?tid=020198aa328835c0&hl=en
19:41:57 <ais523> because I like being explicit
19:42:06 <ais523> it makes it easier to track everything that's going on
19:42:49 * Sgeo tries the memory-model=high thing
19:42:51 <ehird> okay need to reboot for this scrolling thing bye
19:42:57 -!- ehird has quit.
19:43:16 <Sgeo> I just added it, and Chrome seems faster in general
19:47:13 <AnMaster> ais523, does oil only depend on the generated file oil-oil.c?
19:48:03 -!- ehird has joined.
19:48:03 <AnMaster> ais523, btw / is valid in directory names on classic mac os
19:48:21 <ehird> As on OS X, though not :.
19:48:31 <ehird> / is just turned into : for the BSD subsystem.
19:48:37 <AnMaster> ehird, well : isn't here of course
19:48:46 <ehird> : isn't allowed because it'd become /.
19:48:56 <ehird> Because old volume-style things are still supported
19:48:58 <AnMaster> <ehird> / is just turned into : for the BSD subsystem. <-- seems backwards
19:49:07 <ehird> AnMaster: It's so you can name things with / in them
19:49:49 <ehird> Your mom is annoying.
19:49:53 <ehird> Now to try Enigma.
19:50:25 <ehird> ais523: A level that requires precision plz
19:53:21 <ais523> or V/#95 I suppose, that one's rather infamous
19:53:28 <ais523> but it does require loads of precision and hardly any thought otherwise
19:53:34 <ehird> I think this trackball is too good to make me better at Enigma... picking up all my little tremors and the like.
19:55:03 <ais523> it's one of the hardest dexterity levels I know
19:56:11 <AnMaster> get "Error: illegal combination of types" in the MPW header SizeTDef,h
19:56:16 <ehird> this was a good deal for £20.07 shipped
19:56:27 * Sgeo is now in love with Chrome
19:56:31 <ehird> why didn't they make it use mac os filetypes? :(
19:56:38 <AnMaster> ehird, I can't copy and paste from sheepshaver
19:56:42 <ehird> finally, you like a good thing
19:56:43 <Sgeo> Hopefully, this won't cause issues with other programs, though
19:56:54 <ehird> AnMaster: old mac os had no file extensions, so i thought they were emulated with ,
19:56:57 <ehird> but they're being emulated with .
19:57:03 <ehird> real filetypes would be more fun
19:57:27 <AnMaster> ehird, hah no. The creator is 'MPS ' (without the quotes, with the space) and the file type is 'TEXT' (again without the quotes)
19:57:46 <ehird> creator 'MPS ', file type 'CHED'
19:57:51 <ehird> source code being 'CSRC'
19:57:55 <Sgeo> I can actually close other tabs without watching the browser freeze1
19:58:01 <ehird> (CHDR is also ok for headers, whatever)
19:58:04 <AnMaster> editor doesn't display line numbers
19:58:15 <ehird> well it does at the bottom
19:58:31 <ehird> Sgeo: you can hold down ctrl+t for 10 seconds with chrome without it lagging much
19:58:33 * AnMaster begins counting the 16 lines from the top the error was on
19:58:50 <ehird> AnMaster: and then look at the most suspicious line
19:58:55 <ehird> fun how cpp fucks up everything innit.
19:59:11 <ehird> typedef unsigned size_t;
20:00:02 <AnMaster> /* Define to `unsigned int' if <sys/types.h> does not define. */
20:00:20 <AnMaster> however, it does exist in stdlib.h and such
20:00:29 <ehird> just #include <stdlib.h>
20:00:59 <AnMaster> ais523, can you make it check in stddef.h instead? That is the standard place for size_t
20:01:14 <ehird> AnMaster: do you want this trackball? it's absolutely wonderful, and with a shallow learning curve, it's just that i think my hands are too small :P
20:01:21 <ehird> POSIX specific? Hope you use it in cfunge!
20:01:22 <ais523> AnMaster: send a bug report to the autoconf people, then
20:01:30 <ais523> but I'll make that change sometime later if I remember
20:01:52 <ehird> Oh I thought you meant
20:01:56 <ehird> do the UK people pay for postage
20:01:59 -!- zzo38 has joined.
20:02:09 <ehird> No, I'm not paying postage :-P
20:02:13 <zzo38> Do you know anything about writing operating systems? What is the code for loading data from the boot disk into RAM?
20:03:23 <AnMaster> ais523, which programs depends on config.h and which on bconfig.h?
20:03:52 <ais523> stuff that's only used during the build depends on bconfig.h
20:03:58 <zzo38> I found a page on the wiki called [[Sammich]] but it seems it so far is only a example program, do you think anything should be done with that?
20:04:03 <ais523> everything else depends on config.h
20:04:18 <AnMaster> ais523, right. So only oil and bin2c? You used "such that"
20:04:23 <ais523> zzo38: hopefully the author would come back later
20:04:29 <ais523> AnMaster: those are the only two I can think of right now
20:04:41 <AnMaster> and yes, claiming that size_t existed in sys/types.h worked. oil compiled
20:04:57 <ehird> AnMaster: It's ergonomic (fits your whole hand!) and has a 3D scrollball! All you have to do is configure your computer to do it. And the clever thing is that the trackball IS the scrollball! No moving your hand! Um, okay, so technically it's just making your system emulate a scroll wheel with the trackball; shut up.
20:04:59 * AnMaster test runs oil with no arguments on nix to see what happens
20:05:26 <AnMaster> ah, does not give an error. No good then
20:05:32 <ais523> AnMaster: you have to give it an input file, IIRC
20:05:41 <AnMaster> and I have not yet figured out how to send EOF
20:06:30 <AnMaster> ehird, meh. I'm using left atm for my mouse.
20:06:31 <ehird> You say you use a mouse in both, so quit whining. :P
20:06:50 <ehird> Um, it's vintage! Circa 1995!
20:06:54 <ehird> It has the oooooooooooooold Logitech logo.
20:07:22 <ehird> Not that old one; the one before that.
20:07:39 <zzo38> I already started writing a operating system, I might call it 4RM, or maybe it should be called CHAOS instead (for "CHAOS Has An Operating System")
20:07:44 <ehird> http://www.goodlogo.com/images/logos/small/logitech_logo_2485.gif
20:08:04 <ehird> It, um, has screws in it for easy user-servicability?
20:08:09 <ehird> And an easy way to pop out the trackball!
20:08:15 <ehird> And a quite-long PS/2 cord!
20:10:03 <AnMaster> ais523, where does oil put the files? Current directory won't work. And changing current directory seems to confuse stuff
20:10:13 <ehird> My thumb sure is getting good exercise.
20:10:17 <ais523> I think it's current directory
20:10:29 <AnMaster> <ehird> It, um, has screws in it for easy user-servicability? <-- very nice
20:10:43 <ehird> AnMaster: Yes, it's refreshingly non-user-hostile.
20:11:03 <AnMaster> ehird, it was expensive as new?
20:11:06 <ais523> AnMaster: you could modify the code so that a particular #definition in bconfig.h put them somewhere else
20:11:22 <ehird> AnMaster: Pretty average price for a niche mouse, I imagine.
20:11:31 <ehird> Probably less, even.
20:11:31 -!- zzo38 has left (?).
20:11:39 <ehird> Computer stuff was cheap in 1995.
20:12:33 <ehird> It's basically new, anyway; it came from some sort of warehouse and the only imperfections are a slight crack in the plastic around some hole that I don't know what it is (barely noticeable) and some sticky stuff on a small part of the end of the PS/2 cord.
20:12:48 <ehird> Although it might need some lubrication to work perfectly, not sure.
20:13:48 <ehird> It has dots on the wheel???? I CANNOT SELL THIS ANY MORE
20:13:57 <ehird> No no wait! Convenient indentations on the three buttons help finger placement.
20:15:38 -!- Asztal has quit (Read error: 60 (Operation timed out)).
20:16:06 -!- Asztal has joined.
20:16:58 <AnMaster> ehird, you don't like that trackball?
20:16:59 <ehird> Little black spots on the red ball in an intriguing pattern. It's so that the optomechanical (I think) magic can work.
20:17:12 <ehird> I love it! I just need to grow my hand to use it properly, I think :P
20:17:22 <AnMaster> ehird, just wait a few years then?
20:17:32 <AnMaster> most likely it will work perfectly in a few years then
20:17:45 <ehird> Well, sure, that would work.
20:17:45 <ais523> ehird: the (Microsoft, and therefore Logitech) trackball I have at home has a red ball whose undersurface is made out of little rings of red
20:17:54 <ais523> (it has a plastic covering on top of that, though)
20:18:00 <ehird> Microsoft, and thterefore Logitech?
20:18:12 <ehird> What crack-smoking planet are you on? xD
20:18:17 <ais523> ehird: Microsoft-branded mice and trackballs are made by Logitech, IIRC
20:18:19 <ais523> at least, they used to be
20:18:26 <ais523> just they have the Microsoft logo on
20:18:30 <ehird> That must be why they're good.
20:18:55 <AnMaster> ehird, my first MS mice had the logitech logo on the bottom of it. in small print. My current one doesn't
20:18:55 <ehird> <font obnoxious=yes>Wikipedia (LOGO) Forever</font>
20:18:57 <ehird> Fuck off, Wikipedia.
20:18:58 <ais523> AnMaster: for all I know they still are
20:19:05 <ehird> Fuuuuuuuuuuuuuuuuuuuck Offffffffffffff
20:19:27 <ehird> On Wikipedia pages.
20:19:44 <ais523> apparently someone found out when they opened up a mouse and there was a logitech logo on the circuit board
20:19:49 <ehird> ais523: what type of trackball is it? thumb?
20:19:52 <ais523> (this is on a more recent mouse that didn't have the logitech logo anywhere visible)
20:20:01 <ehird> ais523: right or left?
20:20:15 <ais523> (because everyone in my family's right-handed)
20:20:21 <ehird> colour? (basically equivalent to age)
20:20:48 <ais523> yep, sounds about right
20:20:50 <ehird> or slightly before, maybe 1998 at earlier
20:21:20 <AnMaster> ais523, oil sure takes a long time, or is locked up.
20:21:23 <ais523> it's new enough that the computer that was bought at the same time has an Intel integrated 3D graphics card
20:21:36 <ais523> AnMaster: it shouldn't take /that/ long
20:21:36 <ehird> ais523: oh, then it'll be the latest model, probably
20:21:39 <AnMaster> ais523, it certainly doesn't ever leave yeild the cpu.
20:21:42 <ehird> nobody makes *new* trackballs any more
20:21:51 <ais523> it's just a bison/yacc-generated compiler
20:22:02 <AnMaster> ais523, mouse can be moved, the spinning waiting thing is frozen though
20:22:26 <ehird> ais523: will you help me get c-intercal working on macintosh system 6?
20:22:43 <ais523> AnMaster: it shouldn't be doing that
20:22:53 <ais523> ehird: well, I've been helping AnMaster do it for mac os 9
20:23:14 <ehird> Yes. System 6 is far better, and very different.
20:23:17 <AnMaster> ehird, I have it part working. bin2c works perfectly.
20:23:26 <ehird> Macintosh System 6 is not Mac OS 9.
20:23:33 <ehird> Take your uncouth modernity elsewhere, heathen.
20:23:33 <AnMaster> ehird, I build stuff as MPW tools. Should be portable to 68k
20:23:50 <ehird> MPW is available for System 6, I think.
20:23:52 <AnMaster> ehird, oh except that long long isn't supported, and I have no clue about the type sizes
20:23:58 <ehird> Everything is different.
20:24:05 * ais523 downloads PDP-11 emulator
20:24:13 <Sgeo> http://www.xkcdb.com/?6753
20:24:21 <ehird> System 6 is from such an era that it can only address 8 MiB of RAM.
20:24:29 <AnMaster> ais523, there is oilout00.c. It is empty
20:24:36 <ais523> AnMaster: seems dubious
20:24:40 <AnMaster> ais523, do you accept both \r and \n or only \n?
20:24:41 <ehird> And its standard UI is entirely black and white.
20:24:44 <ais523> something's almost certainly gone wrong
20:24:52 <ehird> http://upload.wikimedia.org/wikipedia/en/9/96/Sys6screenshotbusy.png ;; Anything like Mac OS 9? Didn't think so
20:24:59 <AnMaster> ais523, I think the C compiler does some sort of \r \n swapping for IO by default
20:25:05 <ais523> and the rules for line endings with OIL are that \n is always accepted, \r\n may leave stray \r in the output but is otherwise accepted
20:25:10 <AnMaster> ais523, somewhat like windows does \n <-> \r\n
20:25:18 <ehird> ais523: classic macintosh is just \r
20:25:25 <ais523> ooh, and I read files in binary mode
20:25:28 <ais523> that could explain al ot
20:25:29 <AnMaster> ehird, yes but MrC swaps \r and \n
20:25:36 <ais523> AnMaster: even for binary-mode files?
20:25:55 <ais523> AnMaster: fopen("filename","rb")
20:25:55 <AnMaster> ehird, yeah I thought that too. But it actually means Macintosh RISC C compiler
20:26:07 <ehird> RISC is such a lovely name.
20:26:19 <AnMaster> ais523, I'm unable to locate docs atm. So I don't know if b affects anything
20:26:22 <ehird> This architecture? Exciting. MACINTOSH RISK C COMPILER
20:26:30 <ais523> AnMaster: my guess is it causes the program to read \r as \r
20:26:39 <AnMaster> ais523, and that doesn't work?
20:26:42 <ais523> you'll therefore want to change the newlines to \n in the original idiotism.oil source code
20:27:00 <ais523> either that, or modify oil.y to be able to handle classic Mac newliens
20:27:02 <AnMaster> ais523, they should be \n due to having just copied the file
20:27:16 <ais523> try changing the newlines to some other format to see what happens
20:27:56 <ehird> BBEdit started on System Software 6!
20:28:00 <AnMaster> BBEdit lite claims it is unix line endings
20:28:07 <AnMaster> ehird, do you happen to have the non-lite version?
20:28:21 <ehird> Well, maybe for System 6. :P
20:28:40 <AnMaster> last I have been able to find and extract
20:28:49 <AnMaster> found a later lite version but the download was corrupt
20:29:34 <AnMaster> ehird, tell me if you have better luck however
20:31:09 <AnMaster> ais523, anyway, debugging is near impossible on this. Since I have to restart the system when it locks up. Can't get the key combo for macsbug to work
20:31:18 <AnMaster> it was cmd-alt-power button iirc
20:31:26 <AnMaster> which I have no way of pressing
20:31:51 <ehird> Sure you do, just press keys until it happens
20:32:26 <AnMaster> ehird, it doesn't. I checked in the key mapping file for sheepshaver. There is no such mapping
20:35:24 <ais523> ehird: do you think you'll get C-INTERCAL running on an emulated Mac OS 6 before or after I get it running on an emulated PDP-11?
20:35:38 <ehird> after, I'm terminally lazy
20:35:54 <ehird> Hey, the ball seems to have lubricated itself. Maybe my skin oils helped.
20:41:13 <AnMaster> ais523, how to make oil print some sort of trace info?
20:41:24 <AnMaster> ais523, like processed lines or such
20:41:31 <ais523> AnMaster: by telling Bison to and regenerating the file
20:41:42 <ehird> eh, i wish this scrollwheel emulator didn't move the pointer
20:41:42 <AnMaster> ais523, how do you tell bison that hm
20:41:51 <ehird> and didn't stop when the pointer reaches a screen edge
20:51:12 <ais523> that's kind-of a silly scrollweheel emulator
20:51:26 <ehird> it's meant to emulate the click-and-drag hand tool in e.g. pdf readers
20:51:43 <ehird> but i inversed the axes so it's basically a hold-middle-button-for-scrollbar thiingy
20:51:48 <ehird> except for, you know, those two flaws
20:53:19 <ehird> I'm becoming better at using this trackball, I think.
20:54:47 <ehird> It's weird having full mouse movement when clicking.
20:55:07 <ais523> gah, why does PDP-11 UNIX v5 use "chdir" not "cd"?
20:55:31 <AnMaster> ais523, how does convickt use those bin2c generated files?
20:55:42 <ais523> it doesn't, it uses the originals
20:55:47 <ais523> the generated files are linked into the standard library
20:55:57 <ais523> AnMaster: by fopening them and looking at the contents
20:56:06 <ehird> http://imgur.com/5PUVF.jpg
20:56:07 <ais523> oh, the generated files are .c files
20:56:14 <ais523> so they're compiled then linked in the normal manner
20:56:17 <AnMaster> ais523, why does it do it that way rather than use those generated c files?
20:56:27 <ehird> self-containedness
20:56:43 <ais523> basically, convickt looks at the .bin files (so you can add more)
20:56:55 <AnMaster> ais523, you could add more anyway but ok
20:56:59 <ais523> whereas libick.a contains a compiled version so the resulting programs are self-contained
20:57:11 <AnMaster> ais523, why is it needed in libick.a?
20:57:23 <ais523> AnMaster: so that it's possible for generated programs to do I/O
20:57:57 <AnMaster> ais523, true, but isn't that all in ASCII?
20:58:26 <ais523> hmm... how am I going to shut this ancient UNIX down?
20:58:31 <ais523> it doesn't seem to have any of the usual methods
20:58:36 <ais523> ehird: I was just about to try htat
20:58:50 <ehird> ais523: how is your emulation environment set up?
20:58:55 <ehird> I am very much intrigued
20:58:58 <ais523> ehird: I killed init, and it's still running
20:59:03 <AnMaster> ais523, PDP-11? You didn't try ick on it before?
20:59:06 <ais523> whereas init itself is dead
20:59:07 <ais523> AnMaster: no, I didn't
20:59:08 <ehird> ais523: done init 1 already?
20:59:11 <ais523> which clearly needs correcting
20:59:17 <ehird> can you use the shell?
20:59:17 <ais523> ehird: I'm not entirely sure where init is
20:59:21 <ais523> ehird: yes, sh still works
20:59:30 <ehird> or is there no find?
21:00:27 <ehird> ais523: um, is this gui or command line thing?
21:00:27 <ais523> ugh, I just control-Ded my login shell
21:00:30 <ais523> and it seems to have frozen
21:00:33 <ais523> also, it's command-line
21:00:34 <ehird> hit me up with ssh and i'll try and get it to shutdown
21:00:44 <ehird> ((((also play around with it))))
21:01:19 <ais523> ehird: I killed the emulator with SIGTERM, that seems to have worked
21:01:30 <ehird> yeah but I'll do it properly! :(
21:02:14 <AnMaster> ais523, issue. You depend on unistd.h in convickt. You do not use the config.h check for it
21:02:27 <ehird> ais523: how much do i have to pay you :|
21:02:38 -!- Pthing has joined.
21:02:40 <ais523> ehird: download and run the emulator yourself if you like
21:02:48 <ehird> what, it comes with unix?
21:03:01 <ais523> well, has a separate download for it
21:03:07 <ais523> http://simh.trailing-edge.com/
21:03:15 <ehird> trailing edge, heh
21:03:19 <ais523> "software kits" contains an image of a system installed with UNIX
21:03:22 <ehird> methinks pdp-11s are much older than the trailing edge
21:03:36 <ehird> "If your host system is Alpha/VMS,"
21:03:38 <AnMaster> ais523, what in unistd.h is it that you use in that file?
21:03:41 <ehird> Congratulations! You don't need a vintage system emulator.
21:03:44 <ais523> AnMaster: not sure offhand
21:03:44 <AnMaster> ais523, because it is a blocker atm
21:03:53 <ehird> take it out and see
21:03:53 <ais523> remove it and see what the error is?
21:04:03 <ehird> ais523: you're using V5 unix?
21:04:18 <ehird> V1 would be nicer of course :P
21:04:20 <ais523> because if ick runs on that, it probably runs on v6 and v7
21:04:28 <ehird> sysv changed a lot
21:04:36 <ehird> i think it invented runlevels, for instance
21:04:39 <ehird> so scratch my `init 1` idea
21:04:40 <ais523> (also, file correctly identified unix_v5_rk.dsk as a "PDP-11 executable")
21:04:42 <AnMaster> ais523, hm only gets a warning then
21:04:48 <ais523> AnMaster: what's the warning?
21:05:02 <AnMaster> ais523, oh just about assignment in if
21:05:06 <ehird> Unix System V, commonly abbreviated SysV (and usually pronounced — though rarely written — as "System 5"), is one of the versions of the Unix operating system. It was originally developed by American Telephone & Telegraph (AT&T) and first released in 1983. Four major versions of System V were released, termed Releases 1, 2, 3 and 4. System V Release 4, or SVR4, was commercially the most successful version, being the result of an effort, marketed as Unix
21:05:06 <ehird> Unification, which solicited the collaboration of the major Unix vendors. It was the source of several commercial common Unix features.
21:05:10 <ehird> no idea what V5 is, then
21:05:11 <ais523> ehird: also make a backup of the .dsk file, it's used to persist data in
21:05:16 <ehird> there's no V release 5...
21:05:26 <ais523> maybe they're releases of System I, or whatevef
21:05:40 <ehird> I very much doubt that
21:05:45 <AnMaster> if(!(ick_datadir=getenv("ICKDATADIR")))
21:05:58 <ais523> AnMaster: oh, for getenv
21:06:09 <AnMaster> ais523, which is stdlib.h says my man page
21:06:12 <ais523> that looks very ifdef-guardable
21:06:19 <ais523> or if it's stdlib.h, just use that instead
21:06:20 <ehird> http://en.wikipedia.org/wiki/Version_7
21:06:28 <ehird> cool, V7 is the first release to widely escape ma bell
21:06:29 <AnMaster> ais523, ... read what I said above
21:06:32 <AnMaster> ais523, "<AnMaster> ais523, oh just about assignment in if"
21:06:40 <ehird> ais523: V7 looks like the best old unix
21:06:46 <ehird> V5 isn't even mentioned in Wikipedia...
21:06:49 <ais523> well, it's likely to have the most features
21:06:50 <fizzie> For historical relationships, just look at http://www.levenez.com/unix/unix_a4.pdf or something.
21:07:12 <ehird> V7 != SysV, just to clarify
21:07:13 <ais523> anyway, I think I'll target V7
21:07:17 <ais523> because it introduced lex and yacc
21:07:19 <AnMaster> ais523, the next few files for convickt crashed the emulator
21:07:21 <ais523> so I'll be able to do a complete install
21:07:25 <ehird> ais523: how boring :P
21:07:37 <AnMaster> ais523, too quick to see the errors though
21:07:37 <ais523> ehird: less boring if you can do the whole thing, rather than relying on prebuilts
21:08:19 <ehird> where do i put the unix files?
21:08:22 <ehird> in a separate dir?
21:08:34 <AnMaster> ais523, the clc-cset file crashes the emulator when compiling
21:08:35 <ehird> PDP10 or PDP11, btw?
21:08:45 <fizzie> From unix_a4.pdf, one path of descent goes V5 -> V6 -> USG 1.0 -> CB UNIX 1...3 -> System III -> System IV -> System V.
21:08:47 <AnMaster> I'm unable to see what errors due to the speed
21:09:02 <AnMaster> ais523, might try this on a real old mac. Should be a bit more stable
21:09:05 <ehird> ais523: Well V7 isn't SysV.
21:09:14 <ais523> wait, /bin/exit is an /actual program/? htf does that work?
21:09:25 <ais523> ehird: ofc not, or Caldera wouldn't have released it under a BSD-style licence
21:09:40 <ais523> admittedly, this is before they became tSCOg...
21:09:44 <ehird> ais523: kill(meinproctree()->parent)
21:09:47 <ehird> is how /bin/exit iwll work
21:10:09 <ehird> anyway, sysv was developed concurrently with unix up to the tenth edition...
21:10:19 <ehird> gcc -std=c99 -U__STRICT_ANSI__ -g -lrt -lm -D_GNU_SOURCE -I . PDP1/pdp1_lp.c PDP1/pdp1_cpu.c PDP1/pdp1_stddev.c PDP1/pdp1_sys.c PDP1/pdp1_dt.c PDP1/pdp1_drm.c PDP1/pdp1_clk.c PDP1/pdp1_dcs.c scp.c sim_console.c sim_fio.c sim_timer.c sim_sock.c sim_tmxr.c sim_ether.c sim_tape.c -I PDP1 -o BIN/pdp1
21:10:20 <ehird> ld: library not found for -lrt
21:10:25 <ais523> /* exit -- end runcom */
21:10:31 <ehird> Many new features were introduced in Version 7.
21:10:31 <ehird> Programming tools: lex, yacc, lint, pcc, and make.
21:10:38 <ais523> that's an incredibly short program
21:10:41 <ehird> yeah, methinks targeting pre-V7 is crazy
21:10:55 <ehird> end runcom = end running command, duh
21:11:07 <ais523> I just got kill to kill itself
21:11:15 <ais523> by guessing what process number it'd be allocated
21:11:19 <ehird> ais523: oi, help me compile simh :-P
21:11:37 <ais523> that's all I needed to do
21:11:52 <ehird> what's it supposed to be
21:12:01 <ais523> ehird: what OS are you on?
21:12:02 <AnMaster> since sometimes that stuff is in libc
21:12:37 <ehird> ifneq (,$(findstring darwin,$(OSTYPE)))
21:12:38 <ehird> OS_CCDEFS = -D_GNU_SOURCE
21:12:38 <ehird> OS_CCDEFS = -lrt -lm -D_GNU_SOURCE
21:12:39 <ais523> (according to the docs, you need that export command on OSX)
21:12:42 <AnMaster> ehird, it is for "real time" stuff. like clock_gettime() and other high res and/or low latency interfaces
21:12:45 <ehird> too bad it never sets OSTYPE
21:12:49 * ehird sets OSTYPE=darwin
21:13:00 <ehird> make OSTYPE=darwin did it
21:13:13 <AnMaster> ehird, was it mentioned in the readme?
21:13:25 <ehird> i didn't bother reading it, this package looks really crufty :P
21:13:29 <ehird> or rather, compatible, i guess
21:13:44 <ehird> "0readme_38.txt" isn't exactly hope-inspiring
21:13:51 <AnMaster> ehird, it could have used autotools. You wouldn't have needed to check then.
21:14:02 <ehird> It could also have done it entirely differently.
21:14:07 <ehird> False dichotomy heyoooooooo
21:14:48 <ais523> ehird: it's version 3.8
21:14:54 <ais523> and the 0 is to sort it to the start of the list
21:16:05 * ehird reads the output of "help" and goes "._."
21:16:17 <ehird> at something unixdiskname.dsk is what I need to do first, I think
21:16:34 <AnMaster> <ehird> False dichotomy heyoooooooo <-- of course. I was joking...
21:16:54 <ehird> Can you start doing more funny jokes? :P
21:17:04 <ehird> ais523: what're the commands you need?
21:17:16 <AnMaster> ehird, no. That would be breech of contract.
21:17:16 <ais523> ehird: http://simh.trailing-edge.com/pdf/simh_swre.pdf
21:17:30 <ehird> ais523: *look of disapproval*
21:17:52 <ehird> also, http://imgur.com/5PUVF.jpg
21:18:04 <ehird> damn this pdf is loading slowly
21:18:13 <ehird> hey safari, why'd you gotta crash like dat
21:18:14 <ais523> for UNIX v7, where \ represents newline, it's set cpu u18 \ set rl0 RL02 \ att rl0 unix_v7_rl.dsk \ boot rl0 \ @boot \ : rl(0,0)rl2unix
21:18:29 <ais523> where the @ and : are prompts
21:18:47 <ehird> I'm doing BIN/pdp11
21:19:02 <ehird> I'll just skip the cpu line
21:19:08 <ehird> I guess calling pdp11 handles that
21:19:50 <ehird> And besides, isn't that for the main simh binary? to select pdp11?
21:20:03 <ais523> ehird: no, that's for the pdp11 binary to select what sort of pdp11
21:20:10 <ais523> try cding to BIN and then trying again, as it works for me
21:20:42 <ehird> Still doesn't work, and cpu isn't listed in help.
21:20:46 <ehird> What, exactly, are you calling?
21:21:49 * ais523 wonders how to copy files onto the filesystem ther
21:22:14 <ehird> sim> att rl0 unix_v5_rk.dsk
21:22:18 -!- Gracenotes has joined.
21:22:18 <ehird> So much for : being a prompt
21:22:33 <ais523> oh, the instructions are different for v5
21:22:37 <ais523> type unix at the @ prompt
21:22:58 <ais523> then give the username as root, no password
21:22:58 <ehird> Any other instructions different?
21:23:00 <ehird> Like the cpu line?
21:23:25 <ais523> the cpu line's the same, but you're supposed to use rk and rk0 not rl and rl0
21:23:35 <ehird> Would explain the filenames
21:24:03 <ais523> oh, you don't need that set line at all
21:24:32 <ais523> set cpu u18 \ att rk0 unix_v5_rk.dsk \ boot rk \ @unix \ login: root
21:24:59 <ehird> needs moar backspace
21:25:08 <ehird> heh, ^H backspaces on screen but not in reality
21:25:19 <ehird> sweet, the kernel is actually called /unix
21:25:35 <ais523> ehird: changes to the filesystem persist
21:25:43 <ehird> i copied to pristine.dsk
21:25:52 <ais523> I'm keeping the originals in the .zip files
21:26:06 <ehird> ha! /usr/bin actually has files owned by the user bin
21:26:08 <ehird> since /usr = /home
21:26:20 <ehird> so shut your face with your V7 crap :(
21:26:36 <ehird> V5 has the best cc ever, so cryptic
21:26:56 <ehird> haha, and i still have an a.out
21:27:12 <ehird> oh, if you hit backspace enter, it cancels hte command
21:27:55 <ais523> oh, there isn't a way to kill INIT, it seems
21:28:05 <ehird> f: 0 +??^??~??[??J[R??S? ????? R? ?
21:28:12 <ais523> although if you send it SIGHUP, it drops to single-user mode
21:28:13 <ehird> Interesting use of /etc.
21:28:30 <ais523> ehird: this is before the FHS was invented, I think
21:28:40 <ehird> The FHS is Linuxcrap.
21:28:44 <ehird> Interesting is in a good way.
21:28:44 <ais523> also, that process 0 looks suspicious, but I'll chalk it up to a simulator hiccup
21:29:10 <pikhq> The FHS has one good thing about it: it is *a* standard.
21:29:26 <pikhq> However, not everyone supports said standard, so that doesn't do you much good. :P
21:29:38 <ehird> Standards are overrated
21:29:42 <ais523> this ps seems to be broken
21:29:49 <ais523> it prints "No namelist" regardless of what arguments you give it
21:29:57 <ehird> /etc/mtab: non existent
21:30:42 <ais523> I think these systems were designed to be turned off by pressing the off switch
21:30:59 <ehird> what number is hup again?
21:31:20 <ehird> okay, so that's single user mode; nothing happened
21:31:27 <ehird> and init is still there
21:31:34 <ehird> good practice, you know
21:31:46 -!- fax has quit ("Leaving").
21:31:52 * ais523 wonders what filesystem this is
21:32:30 * ehird notes: /etc/umount
21:32:34 <ehird> may be useful for shutting down
21:32:44 <ehird> obviously halting won't happen, but I think I can get rid of the unix
21:33:04 <pikhq> ehird: Playing with UNIX v5?
21:33:11 <ais523> haha, the v7 one comes with some mail in the mailbox
21:33:19 <ais523> that says "Secret mail has arrived."
21:33:30 <ais523> (you can control-D the single user mode to get multiple-user mode)
21:33:45 <ais523> (and root's password is root; it was the second password I tried)
21:33:59 <ehird> ain't no disks therre...
21:34:09 <pikhq> ehird: I must admit, I'm curious: is it possible to get any vaguely modern software working on there?
21:34:15 <ehird> From root Fri Mar 21 12:15:23 1975
21:34:21 <ais523> pikhq: we're planning to get C-INTERCAL working on there
21:34:24 <ehird> pikhq: well, ais523 is working on V7 (not SysV) and C-INTERCAL
21:34:28 <ehird> I am not so insane.
21:34:40 <ais523> anyone have the source code for uudecode handy?
21:34:44 <pikhq> (something simple, like, oh, modern PCC?)
21:35:02 <ehird> huh, /usr/c has a bunch of source and binaries
21:35:16 <ehird> pikhq: Hey now, with V7 you can have ORIGINAL pcc!
21:35:21 <ehird> And with V5? Original authentic cc, bitch.
21:35:22 <ais523> ah, http://www.nr.com/utils/uudecode.c.txt
21:35:29 <ais523> with a copyright date of 1983
21:35:32 <ais523> this looks suitably old
21:35:53 <ehird> no return type declarations
21:35:57 <ehird> think you'll be fine!
21:36:09 <pikhq> ehird: Modern PCC is "original". Just maintained. :P
21:36:21 <ehird> pcc has been updated for decades
21:36:30 * ais523 uses cat to transfer the source of uudecode
21:36:43 <ehird> anyone want to guess where the disk device is?
21:36:48 <ais523> wow, this emulation is slo
21:36:53 <ais523> probably about original speed
21:36:58 <pikhq> You may actually be able to build some GNU programs on there.
21:36:59 <ehird> heh, /usr/sys has headers in it
21:37:02 <ehird> ais523: faster, i'm sure
21:37:07 <ehird> pikhq: But I won't. :P
21:37:09 <ais523> I'm using /usr/root as my home directory
21:37:24 <ais523> ehird: cat's catting so slowly I can read the individual characters as they arrive
21:37:30 <pikhq> (at least some of them have shockingly ugly code for the sake of being able to build on K&R C compilers)
21:37:32 <ehird> i know this because your mailbox goes there
21:37:34 <ais523> ehird: yes, but that's a really fugly location to use
21:37:35 <AnMaster> ais523, hm those were warnings not errors. And a real mac didn't crash
21:37:42 <ais523> AnMaster: you tested on a real mac?
21:37:54 <pikhq> Though I suspect that's primarily GCC these days.
21:37:56 <AnMaster> ais523, yes an old first model ibook
21:37:57 <ehird> I keep mistaking this for DOS because it's such a pain to use and using dir(1)...
21:38:15 <ehird> the fact that it's chdir, not cd, doesn't help
21:38:20 <AnMaster> ais523, which has a very lound whining harddrive (was less loud when it was new)
21:38:25 * ehird writes some code with ED!
21:38:29 <ehird> Ed! Ed is the standard editor!
21:38:30 <pikhq> Which I doubt could build *on* a v5 machine -- nowhere near enough RAM.
21:38:40 <AnMaster> ais523, flat battery, glitchy power connector
21:38:43 <ais523> wow, this program seems to predate the # key
21:38:45 <AnMaster> well guess why I prefer emulator
21:38:57 <ais523> what I mean is, cat ignored all #s in my input
21:39:00 <ais523> some sort of emulator thing?
21:39:06 <ehird> ignores all special chars
21:39:12 <ehird> probably emulator thing
21:39:16 <ehird> I mean, the prompt IS #...
21:39:23 <AnMaster> ais523, "fatal error: Unable to open ick_lose.h"?
21:39:29 <ais523> # is obviously the backspace character
21:39:36 <ais523> you could set it to anything you want back then, after all
21:39:45 <ais523> AnMaster: where is ick_lose.h?
21:40:01 <ais523> ehird: I transferred the file by catting
21:40:15 <ais523> ugh, this thing predates vi
21:40:25 <ehird> unix ignored it even after it was invented
21:40:26 <ehird> ais523: just use ed
21:40:34 <ais523> ok, I'll have to remember how ed works now...
21:40:52 <ais523> "Ed is the standard text editor."
21:40:52 <ehird> # cc hello.c /lib/crt0.o
21:40:52 <ehird> Multiply defined: /lib/crt0.o;savr5
21:40:58 <ehird> ais523: use a to insert
21:41:00 <ehird> . to stop inserting
21:41:18 <ehird> I think you can do +1 and -1 to move around
21:41:20 <ehird> that should do you
21:41:24 <ais523> and s/// works too, doesn't it/
21:41:36 <ais523> still, I wonder how to type a literal # character
21:41:51 <ais523> actually having a legit reason to use trigraphs would amaze me, but why not?
21:41:52 <ehird> # cc hello.c /lib/libca.##.a
21:41:52 <ehird> I guess it really does predate puts
21:42:00 <ehird> I love the short names of the libs
21:42:05 <ehird> -la -lc -lf -ly? fuck yeah!
21:42:35 <ehird> woot, it has printf
21:42:49 <ehird> printf("hello world\n");
21:43:06 <ehird> (sorry for the flood, I'm just happy)
21:43:08 <ehird> I especially like . being in PATH
21:43:14 <ehird> Back then a security flaw was, uh, something that it doesn't mean today
21:43:52 -!- immibis has joined.
21:43:59 <ehird> hmm, it seems to ignore $
21:44:00 <ais523> didn't Stallman specifically not add a wheel group to GNU su on the basis that he thought that people should have a chance to wrest control of a computer away from its current admins by guessing the root password?
21:44:17 <ehird> he also had no password on unix for years
21:44:26 <ais523> did that computer allow remote logins/
21:44:37 <ehird> probably once telnet was invented
21:44:40 <ehird> he openly invited people to use his account
21:44:54 <pikhq> For ages, the easiest way to get online was to dial into the AI lab at MIT and log in as RMS.
21:45:07 <ehird> oh, of course; telnet is modern
21:45:11 <ehird> phone lines fuck yeah!
21:45:21 <ehird> I imagine many more people used the RMS account without knowing what "RMS" meant
21:45:24 <ais523> uudecode.c:40: External definition syntax
21:45:36 <ehird> also, use cc, not pcc
21:45:38 <ehird> it's even more cryptic
21:45:41 <ehird> I'd bet RMS got backronymmed
21:45:49 <ehird> Remote Management System
21:45:54 <ais523> oh, it doesn't like my trigraph
21:46:04 <pikhq> ... You have *trigraphs*?
21:46:16 <ais523> pikhq: I trigraphed the program I was sending because the # character was being ignored
21:46:16 <ehird> someone backronym RMS into something resembling "open-access"
21:46:26 <ehird> remote m'login sir? :P
21:46:34 <ehird> ais523: just write a c program that prints out #
21:47:00 <ais523> ooh, I could probably write a c program that did s/??=/#/
21:47:10 <pikhq> Either that or a C99 preprocessor.
21:47:53 <AnMaster> ais523, I didn't run oil, but now I have something in oilout00.c on mac
21:48:14 <AnMaster> ais523, what is the raise(SIGSEGV) stuff in it?
21:48:26 <ais523> backwards compatibility
21:49:02 <ais523> as in, that always used to segfault
21:49:10 <ais523> and there was no reason to change the behaviour when we fixed the actual bug
21:49:26 <ehird> '^X' isn't accepted
21:50:06 <ais523> ehird: kill character, probably
21:50:11 <ais523> that deletes the whole line
21:50:48 <ehird> no sed aaaaaaaaaaa
21:51:53 <ehird> printf("%d\n",num2);
21:51:59 <ehird> 5: Lvalue required
21:52:07 <ehird> you need "auto num2;" in a function, don't you?
21:52:37 <AnMaster> <ehird> no sed aaaaaaaaaaa <-- use ed
21:53:15 <ais523> don't, you'll probably run out of registers
21:53:17 <ehird> ais523: /usr/c is the c compiler sources
21:53:22 <ais523> C compilers were rather literal back then
21:53:22 <Deewiant> Or even "static" would work there
21:53:22 <ehird> it's... upsettingly moddern, the code
21:53:26 <ehird> I mean, not olde times at all, really
21:53:32 <ehird> apart from its simplicity
21:53:42 <AnMaster> * ais523 stty erase '^X' <-- what does that mean
21:53:52 <ais523> uudecode.c:98: void undefined; func. main
21:53:53 <ehird> set erase to control-x
21:54:09 <ehird> ais523: ed, s/void//g :-D
21:54:14 <ehird> I think that does all lines, maybe not
21:54:23 <ais523> this ed doesn't like s///
21:54:41 <ehird> dunno how to do it for every line
21:55:00 <ais523> ehird: you deleted the whole line
21:55:02 <AnMaster> ais523, okay oil seems to require input file to use \r.
21:55:14 <ehird> ais523: they should have had types on another line!
21:55:21 <ehird> everyone knows the One True Declaration style looks like
21:55:26 <ehird> main(int argc, char **argv) {
21:55:36 <ehird> (—recent convert from straight k&r :P)
21:55:43 <ehird> (Though straight k&r has *no* return types.)
21:55:49 <ehird> AnMaster: it's easy to munge into k&r c, though
21:55:59 <ehird> remove the type decl line, and delete one word after ( and ,
21:55:59 -!- fax has joined.
21:56:04 <ehird> (who cares about types)
21:56:12 <ais523> yay, finally compiled uudecode
21:56:43 <AnMaster> ais523, oil works fine of the input file uses \®
21:56:54 <ehird> ais523: does it workk?
21:56:58 <ehird> if it does, I'll be amazed
21:57:00 <ais523> ehird: not sure, haven't tried it yet
21:57:03 <ehird> uudecode uses quite some characters!
21:57:08 <ehird> I'd stick to alphanumericals
21:57:08 * ais523 finds a small file to test with
21:57:16 <ehird> easy to write your own converters for that
21:57:35 <ehird> assign one letter to "read two letters and combine"
21:57:43 <ehird> (recursive; we can handle one or two levels of recursion)
21:57:52 <ehird> combine as in, 36-bitwise
21:58:18 <ais523> it almost worked, except it deleted the last character of the filename
21:58:26 <ehird> and then the converter just stuffs ascii into that place
21:58:28 <ehird> using the additional thingy
21:58:38 <ehird> like a 30 line decoder, and a 40 line encoder
21:58:43 <ais523> oh, there was an @ in there
21:58:57 <AnMaster> ais523, conclusion is that mac doesn't support the b binary mode for fopen
21:59:10 <AnMaster> which means you always get the \r \n swap with fopen
21:59:18 <ais523> AnMaster: or that I didn't use it in oil.y
21:59:19 <AnMaster> probably you need some other mac specific interface for binary
22:00:25 <AnMaster> ais523, I can't find *any* fopen in oil.y. And freopen only for stdout to a file
22:01:17 <ais523> oh, if yacc's doing it automatically
22:01:22 <ais523> then it's probably /it/ opening in text mode
22:01:45 <ehird> binary mode is the stupidest thing ever
22:01:54 <ehird> "Like... *actually* open this file."
22:02:11 <ehird> "When I say fopen, as in open this file and give me this contents, right, this flag means open this file and ACTUALLY GIVE ME THE CONTENTS."
22:02:20 <ais523> ehird: oh, you mean the fact it's needed is stupid, rather than using it is stupid
22:02:33 <AnMaster> ehird, ais523 oil reads on stdin, and no fopen and generated freopen in oil-oil.c
22:02:41 <AnMaster> so no yacc isn't doing anything automatically
22:02:47 <ais523> oh, stdin's always in text mode
22:02:52 <ehird> immibis: Hello, 12-year-old AOLer.
22:02:56 <ehird> You found the $ key.
22:03:02 <ehird> Why not use it to insult a money-grabbing corporation?
22:03:06 <ehird> You know... like all of them.
22:03:25 <immibis> i'd be really surprised if 203-97-111-43.cable.telstraclear.net was an AOL address...
22:03:26 <ehird> It's the stupidest angle of attack you could possibly mount on Microsoft stuffed into obnoxious leetspeak. Stunning.
22:04:43 <ehird> I'm doing pretty well with this trackball, considering how long it takes anyone to be proficient with a mouse.
22:04:52 <ais523> test.t.Z: compressed with 16 bits, can only handle 12 bits
22:05:58 <ais523> yay, this version of compress has an option to make it use legacy 12-bit behaviour
22:06:38 * ais523 vaguely wonders how many years transferring the entire C-INTERCAL distribution like this would take
22:07:05 <ais523> -rw-r--r-- 1 ais523 ais523 1759163 2009-11-13 22:00 ick-0.-2.0.29.pax.Z
22:07:29 <ehird> I was about to say.
22:08:00 <ais523> entering files using cat manages a few bytes per second
22:15:48 <ehird> hmm, I guess Go is why Russ Cox has been so silent lately
22:16:14 -!- ehird has set topic: GO IS A DIVISIVE ISSUE IN THIS CHANNEL, also $pun | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:17:09 <ehird> pcc is more likely to compile ick, but cc is far cooler
22:17:12 <ehird> and far harder to understand
22:18:28 <AnMaster> ais523, odd thing: :: is /../ but ::: is /../../ I would have expected that to require four :
22:24:21 <AnMaster> ais523, so on a real mac now bin2c, oil and convickt builds. Note that the clc-charset thingy make sheepshaver crash
22:24:44 <AnMaster> oh and the bin2c generated files are generated. Same goes for the oil generated files
22:24:49 <ais523> I wonder why? messing with binary files?
22:25:19 <AnMaster> ais523, clc-charset file? well it crashes compiling that file
22:25:36 <AnMaster> after printing some of the warnings about suspect assignment in if.
22:25:50 <AnMaster> turning off warnings doesn't help
22:26:28 <ais523> why would turning off warnings help?
22:26:29 -!- Slereah_ has joined.
22:26:33 <AnMaster> ais523, oh on a real mac those weird symbols are easy to type
22:26:34 <ais523> looking at the warnings might work better
22:27:06 <AnMaster> ais523, 1) too fast crash to see them, thought maybe the fact that printing the warnings made the window scroll could cause a crash
22:27:36 <AnMaster> 2) seeing the warnings on a real mac makes it possible to see that they are the same in sheepshaver. On the real mac they are all about doing = instead of == inside if
22:27:55 <AnMaster> ais523, basically: emulator bug
22:36:19 -!- Slereah has quit (Read error: 110 (Connection timed out)).
22:39:41 -!- fax has quit ("Leaving").
22:43:02 -!- ais523 has quit (Remote closed the connection).
22:48:53 -!- fax has joined.
22:49:19 <SimonRC> what is this tiny unix system that you are talking about?
22:50:29 <SimonRC> or maybe it is ancient as well as tiny
22:50:41 <SimonRC> ehird is the one using it, right?
22:50:58 <ehird> V7 and V5, him and me respectively.
22:51:04 <ehird> it's tiny only because it is ancient.
22:52:29 <ehird> Just... PDP-11 tiny.
22:52:39 <SimonRC> emulated or on an extra computer?
22:52:45 <ehird> Mainline Unix, straight from ma bell.
22:52:51 <ehird> SimonRC: neither of us have a pdp-11, no :P
22:53:26 <ehird> This is 1970s stuff.
22:54:47 <ehird> Might I just say that Go's make-based build system is wonderfully simple?
22:54:50 <ehird> include $(GOROOT)/src/Make.$(GOARCH)
22:54:50 <ehird> include $(GOROOT)/src/Make.cmd
22:55:00 <ehird> Can substitute pkg for cmd to make a library, iirc.
22:55:01 <Deewiant> Recursive make considered harmful
22:55:13 <ehird> And, of course, $(GOARCH) for amd64/386/arm/whatever to cross-compile.
22:55:19 <ehird> That's good, because it's not recursive make.
22:55:24 <ehird> I'm talking about the system for Go progarms.
22:55:29 <ehird> Not the toolchain.
22:55:44 <ehird> (And really, recursive make is useful if you just want a lazy "okay fucking build everything plz".)
22:56:18 <ehird> Oh, and it has the nice property that cross-compiling works even with that minimal file...
22:56:23 <ehird> "make GOARCH=386" etc.
22:57:18 <ehird> Rather bruteforce approach:
22:57:19 <ehird> rm -f *.[568vq] hello
23:00:49 -!- fax has quit ("Leaving").
23:01:12 <ehird> That's your editor's fault.
23:01:45 <AnMaster> ehird, that was sarcasm. Because I have seen way too many makefiles do that
23:01:47 * ehird decides that an RPN calculator is the best way to play around with Go
23:01:58 <ehird> AnMaster: Well it's funny, now that I know it's sarcasm.
23:02:04 <ehird> Which is an improvement in some sense :P
23:02:22 <ehird> Things that aren't funny even when explained.
23:02:40 <ehird> gorpn: pronounced "gorpn".
23:02:48 <ehird> Fnord xyzzy gorpn quux.
23:03:07 <ehird> i.e. an RPN calculator written in Go.
23:03:11 <ehird> My creativity KNOWS NO BOUNDS.
23:03:18 <ehird> After that it'll be an implementation of an esolang, probably.
23:03:21 <AnMaster> ehird, what did Gregor say about Go? I forgot
23:03:27 <ehird> SimonRC: Don't feel like binding ncurses
23:03:35 <ehird> AnMaster: "IT'S HORRIBLE AND I HATE HOW THEY NAMED THE COMPILERS AND THE TOOLCHAIN SUCKS"
23:03:40 <ehird> AnMaster: No justification was given.
23:03:44 <AnMaster> ehird, write a text adventure!
23:03:52 <ehird> Oh, and something about the syntax being acceptable but the semantics being nonsensical? I don't even remember.
23:03:53 <AnMaster> ehird, I didn't read it too closely
23:03:58 <ehird> I think Gregor was PMSing.
23:04:01 <mycroftiv> im playing around with go by working with it in acme on a plan 9 cpu server that im drawterming to, its the ultimate Rob Pike fanboy experience
23:04:12 <ehird> Males can in fact do that when presented with something sufficiently repulsive to them!
23:04:15 <ehird> That's a scientific fact.
23:04:35 <AnMaster> mycroftiv, rob pike fanboy experience? Do I even want to know what that is
23:04:49 <ehird> It's like an orgasm, but composed of love for Rob Pike.
23:04:57 -!- Pthing has quit (Read error: 104 (Connection reset by peer)).
23:05:08 <AnMaster> ehird, how do you fell about a makefile using ð instead of \ ?
23:05:16 <ehird> (Rob Pike is one of the old guard Unix guys, huge force in Plan 9 development, wrote acme for instance, blah blah)
23:05:24 <SimonRC> AnMaster: what is that char supposed to be?
23:05:26 <ehird> AnMaster: Hurr I am Mac and I don't do charsets
23:05:30 <ehird> SimonRC: icelandic d :-P
23:05:37 -!- Pthing has joined.
23:05:54 <AnMaster> ehird, you have broken unicode atm? Or was that a joke about MPW makefiles (because you already seen them?)
23:05:57 <mycroftiv> yeah seeing Ken Thompson Rob Pike and Russ Cox working together on this is definitely the Revenge of Plan 9 crew, weve all been wondering what they were up to
23:06:12 <AnMaster> SimonRC, look at http://omploader.org/vMnJoag
23:06:16 <ehird> Rob Pike supports software patents and that makes me sad
23:06:28 <AnMaster> ehird, then what is the difference between one of those old-style s and two of them?
23:06:31 <ehird> But he's so cool that it FADES INTO IRRELEVANCE
23:06:34 <AnMaster> I have been unable to find proper docs
23:06:43 <AnMaster> so I have been looking at examples
23:07:07 <AnMaster> ehird, now what was the diff in normal make
23:07:12 <SimonRC> AnMaster: that looks like the hack some languages used to fit their semi-latin chars into 7 bits
23:07:29 <AnMaster> SimonRC, charset would be MacRoman
23:07:38 <SimonRC> they tended to replace {|}[\] or whatever
23:07:47 <AnMaster> SimonRC, {} is used there too. See
23:07:58 <mycroftiv> well, a lot of the old guard has kind of had to eat crow on their early positions on free software and linux, ken thompson was pretty negative about the linux kernel in interviews in the 90s
23:08:52 <ehird> mycroftiv: well, the linux kernel is pretty shit to be honest.
23:09:11 <ehird> and free software is just another copyright-centered movement, except with a really crazy guy at the helm
23:09:14 <AnMaster> ehird, anyway I'm pretty sure that I can type \ on it *tries*
23:09:15 <SimonRC> mycroftiv: so he doesn;t dislike it as much now?
23:09:43 <ehird> The greatest lie of the free software movement was claiming it used copyright to subvert copyright. It did no such thing; it is exactly in the spirit of copyright law and would fail horribly without it...
23:09:51 <AnMaster> ehird, yes I can. AltGr-Shift-7
23:10:11 <mycroftiv> well, being employed by google and having his work be focused on it means that as a practical matter, i doubt he would make the same comments - a few years ago in an interview he basically took it all back and said that he thought linux was OK because it got the job done
23:10:13 <immibis> try using the backslash key?
23:10:31 <AnMaster> immibis, on a classic mac yes. Using Swedish keyboard layout
23:10:36 <SimonRC> I thought the point of FS was to stop people having programs they can't fix? I recall RMS telling a story about a printer driver with a bug, and being angry he didn't have thhe sourec to fix it and donate a patch.
23:10:55 <AnMaster> at least on linux/pc with Swedish keyboard it is just AltGr-+
23:11:16 <ehird> fmt.Printf("%s\n", os.Stdin)
23:11:18 <ehird> %s(*os.File=&{0 /dev/stdin <nil> 0})
23:11:33 <ehird> erm, maybe that %s is being iinterpreted literally
23:12:09 <ehird> weird stringification
23:12:31 <AnMaster> ehird, maybe that is what Gregor was talking about
23:17:37 <ehird> [23:10] SimonRC: I thought the point of FS was to stop people having programs they can't fix? I recall RMS telling a story about a printer driver with a bug, and being angry he didn't have thhe sourec to fix it and donate a patch.
23:17:38 <ehird> That was its progenitor.
23:17:55 <ehird> Stallman's method, however, was nothing short of perverse: enforcing a bewildering array of restrictions to get to the paltry grants.
23:18:31 <ehird> Taking dominion of the infinite space of some information is exactly what copyright is intended for. The GPL user stands guard, slaying anyone who dares do what he was not told he could do.
23:18:50 <ehird> That's not subverting copyright, that's being its BFF.
23:19:08 <Gregor> Good lord, is this channel having simultaneous licensing and language wars?
23:19:27 <ehird> (There *is* a way to subvert copyright by granting all rights, thus meaning that anyone who receives a copy can know that all the author can do is sit there chillin'.)
23:19:36 <ehird> Gregor: It is possible to talk about an issue without having a flamewar.
23:19:45 <ehird> And, in fact, we haven't been warring about Go at all.
23:19:51 <mycroftiv> i dont think anyone is taking the bait to rise up and defend the gpl, though I certainly can mentally simulate what Eben Moglen etc would have to say
23:20:13 <ehird> Heck, even the BSD and MIT licenses don't achieve it.
23:20:28 <mycroftiv> if i can talk to an imaginary Richard Stallman in my head, and hear what he has to say, does that mean i have a cognitive subsystem that passes the stallman turing test?
23:20:31 <ehird> There's still that one restriction (include this notice), and so the legal guardian is as primed as ever in the space-of-concepts.
23:20:40 <Gregor> ehird: You can remove that.
23:20:41 <ehird> It makes no difference how many; only whether there are any.
23:20:44 <Gregor> ehird: I have on occasion :P
23:20:48 <ehird> Gregor: Then it isn't the BSD/MIT license, duh.
23:21:07 <ehird> I was mentioning the BSD/MIT license...
23:21:29 <ehird> The license text I settled on as the simplest, solid way to grant all rights for any given work (not just software) is, lemme find it...
23:21:50 <Gregor> "No rights reserved." :P
23:21:52 <ehird> Permission is granted to copy, modify and distribute this work.
23:21:52 <ehird> THERE IS NO WARRANTY.
23:21:59 <ehird> Gregor: Public domain is... shaky.
23:22:18 <Gregor> I like "THERE IS NO WARRANTY"
23:22:20 <ehird> Saying "Public domain, or if you prefer see LICENSE" is the best of both worlds.
23:22:26 <Gregor> In proper no-warranty style ALL CAPS.
23:22:39 <ehird> Gregor: JUST IN CASE IT GOT DROWNED OUT IN THOSE FEW WORDS ABOVE IT
23:23:13 <ehird> Some software licenses actually grant the permission to use the software.
23:23:20 <ehird> Yeah, uh, I don't think we need your permission, dude.
23:23:41 <ehird> licenses are for distribution anyway...
23:23:47 <ehird> maybe if it was an EULA :P
23:24:30 <mycroftiv> as a matter of fact, i think the right to use does have to be explicity granted
23:24:38 <mycroftiv> at least in usa law under current interpretation
23:24:46 <Gregor> USA law is a giant suckfest.
23:24:50 <Gregor> And not the good kind.
23:24:54 <ehird> you can't do that with a license, though
23:25:01 <ehird> licenses simply don't apply to the situation of usage, no?
23:25:02 <Gregor> But anyway, that's just because Apple has redefined using as a kind of copying.
23:25:07 <ehird> otherwise they'd be EULAs
23:28:30 -!- clog has joined.
23:28:30 -!- clog has joined.
23:28:30 <mycroftiv> see, i thought that loading software from physical media into computer memory *is* a copyvio unless you are explicitly granted the right to do so as a necessary precondition of using it
23:28:33 <Gregor> Which is to say, it should cover only copying.
23:28:36 <ehird> Copyright really ought to be /dev/null.
23:28:43 <ehird> Which is to say, it should die a painful death.
23:28:51 <ehird> Anyway, I left out "use" because I specifically made it usable for non-software works.
23:30:43 <AnMaster> ehird, why is public domain "shaky"? I never understood what the issue would be...
23:31:07 <ehird> Because most laws of copyright don't let you release the copyright of your work until you've been dead for some years.
23:31:11 <Gregor> It's not well-defined what process is necessary to declare something as being in the public domain.
23:31:28 <mycroftiv> i dont think the concept of public domain exists or has very similar ;meaning between different countries, whereas copyright is more harmonized due to treaties
23:31:56 <ehird> "Dual-copyrighting" as "public domain or if you want it can be copyrighted under license-that-grants-permission-to-everything" is the best solution.
23:32:00 <ehird> AnMaster: Because they simply don't grant you the right.
23:32:09 <ehird> They say "If someone makes a work it's copyrighted until 80 years after their death."
23:32:21 <ehird> And at no point do they say "Oh, and the creator can release the copyright to their work, btw."
23:32:47 <mycroftiv> by the way, in terms of crazy copyright news, anyone hear a few months ago about egypt attempting to claim copyright on the pyramids and the sphinx?
23:33:41 <Gregor> Have the "authors" been dead for OVER NINE-THOUSAAAAAAAND years?
23:33:56 <mycroftiv> ok, my time sense is off - it was two years ago, heres a 'reputable source' news link http://news.bbc.co.uk/2/hi/middle_east/7160057.stm
23:34:27 <ehird> i'm pretty sure mycroftiv exists in a realm outside of time
23:34:30 <ehird> either that or he's stoned 24/7
23:35:10 <mycroftiv> using Plan 9 alters brain chemistry as much or more than any merely physical molecule
23:35:25 <ehird> i very much doubt that
23:35:57 * Sgeo actually feels safe opening links directly from XChat now
23:36:12 <Sgeo> When I used Firefox, if I tried that, XChat would freeze for some time
23:36:14 <ehird> So, using a trackball, I think my thumb is now a contortionist.
23:36:17 <ehird> That's some exercise.
23:36:24 <Sgeo> I guess until FIrefox was able to process and start loading it
23:36:59 <Gregor> ehird: I misread that as "cartoonist"
23:37:31 <ehird> mycroftiv: haha, my linux distro will confuse you plan 9 weenies — "/bin/8g foo.go? What kind of language is g?"
23:38:11 <Ilari> Er... Isn't stuff like that supposed to be in /usr/bin?
23:38:25 <AnMaster> ehird, and what is a "contortionist"
23:38:27 <mycroftiv> in plan 9 everything gets union bound to /bin
23:38:33 <ehird> http://www.justfuckinggoogleit.com/
23:38:39 <ehird> Ilari: /usr is the most retarded idea ever
23:38:50 <AnMaster> ehird, I'm on a phone atm. To do so I would have to close the irc client
23:38:53 <ehird> well not in the day when it was invented (i'm talking about non-/home-style usr)
23:39:09 <ehird> but nowadays it just adds needless hierarchy cruft.
23:39:16 <ehird> thus why everything goes in /bin in mine
23:39:19 <ehird> (including /bin/linux)
23:39:28 <AnMaster> ehird, so you still refuse to explain it then?
23:39:35 <ehird> AnMaster: it's someone who's bendy.
23:39:42 <ehird> and it's not refusing, it's not explaining it
23:39:50 <ehird> you can't cause someone to do an active thing (refuse) merely by prompting them
23:40:15 * Sgeo can read DIlbert from the beginning!
23:40:21 <Sgeo> (Or at least, the first published one)
23:40:53 <Sgeo> Ok, all of these I read already
23:41:07 <Sgeo> What's the one where Dilbert dies? What's the one where Dogbert dies?
23:41:33 <Sgeo> The dates of the dilbert strips
23:41:37 <Ilari> AFAIK, /usr is useful since it contains most of the program executables and data. Idea is that /usr would be put on different filesystem.
23:42:04 <Gregor> But nobody actually does that :)
23:42:22 <ehird> Ilari: What Gregor said :P
23:42:39 <Sgeo> http://www.dilbert.com/fast/1995-10-16/ The start of the Dogbert dies arc
23:43:34 <AnMaster> <Gregor> But nobody actually does that :) <-- I do
23:44:14 <AnMaster> /opt being a symlink to /usr/opt
23:44:48 <SimonRC> http://www.dilbert.com/fast/1995-10-22/ is one of my all-time favourites IIRC
23:45:35 <Sgeo> I'm going to have to get rid of the instinct to simply copy the URL
23:45:56 <SimonRC> actually, I suspect I have a book with that time period in it, which is why many of them looked familiar
23:46:07 <ehird> Two months after I was born, that latter one.
23:46:10 <Sgeo> SimonRC, I think I do, to
23:46:26 <SimonRC> ehird: argh you bloody young people that are almost overtaking me in skills
23:46:42 <ehird> SimonRC: Thanks for the compliment?
23:46:51 <ehird> (psst. most kids are fucking dumb)
23:47:29 <SimonRC> except when you come out with jewels like not knowing htere were multiple moon landings
23:47:36 <ehird> THAT WAS A BRAINFART >_<
23:47:48 <ehird> Curse your accursed good memory
23:49:08 <Sgeo> Ooh, Chrome froze
23:49:14 <Sgeo> Hm, not for very long
23:53:46 <ehird> mycroftiv: the go tutorial has a cat... with a flag :-D
23:53:56 <ehird> okay, so it's just -n, which was in pre-cat-v, but still
23:55:49 * oerjan imagined a picture of a cat waving a flag
23:56:42 <ehird> "cat came back from Berkeley waving flags" —Rob Pike
23:59:19 <mycroftiv> rob pike did say though "the days of one tool per job are over, and the eulogy was written by perl" - still not sure exactly how he meant that, maybe just being realistic
00:03:11 <ehird> mycroftiv: well, he's right
00:03:22 <ehird> look at perl — it does everything in one bag
00:03:25 <ehird> no separated tools
00:04:37 <mycroftiv> right, im just not sure if he meant that he was convinced by perl that was an OK approach, or if he was just bowing to the inevitable
00:05:39 -!- oerjan has quit ("Good night").
00:05:56 <ehird> mycroftiv: aren't they identical to a cynic?
00:06:35 <mycroftiv> sure but i dont know where pike is exactly on the cynicism vs design purity continuum
00:07:41 <ehird> You can be on both.
00:08:29 <ehird> mycroftiv: liking go, btw?
00:08:30 <mycroftiv> being a purist certainly can lead to cynicism
00:08:50 <mycroftiv> yeah very much, to me it seems obvious that its 'better' than c++ or java as an attempt to extend C
00:09:27 <ehird> I'm most interested in it for three things: shiny new language, let's find a niche!; could this be better than C for applications programming?; could this be better than rc for the things rc is good for?
00:10:04 <mycroftiv> the message passing/synchronization stuff between chans is really great, pretty similar to limbo in that regard
00:11:24 <ehird> a lot of the ideas it has a similar to ones i've had but that required taking a stand on some issue of e.g. syntax or semantics as a tradeoff but one of little importance — solving all those for me in something with backing is great
00:11:36 <ehird> just as a sort of "shut the hell up and use this"
00:11:49 <ehird> that iota shit though? hack hack HACK
00:12:15 <mycroftiv> theres still a lot of stuff in go i havent really assimilated yet
00:14:07 <mycroftiv> my project is porting a linux client for a 9p fs i wrote
00:14:38 <mycroftiv> so ive mostly just been learning how to translate C basics
00:15:22 <ehird> Translation is always a bad idea.
00:15:26 -!- Rugxulo has joined.
00:15:34 <ehird> Grok the language, read the concepts of your previous program, and write a new one with the same concepts.
00:15:53 <mycroftiv> well, its nice to have a bit of instant gratification though
00:16:09 <ehird> Don't you have your C program already?
00:16:26 <mycroftiv> in plan 9, i never ported it to *nix, although thats basically trivial
00:16:57 * Rugxulo just download TinyRB (tiny Ruby clone), laughing at the irony of the 750k configure script
00:17:08 <mycroftiv> id been meaning to do it anyway, so doing it in go seemed like an ok two-birds-one-stone concept, it doesnt prevent me from doing better projects tomorrow or next week
00:18:00 <ehird> [[Variables can be initialized just like constants but the initializer can be a general expression computed at run time.]]
00:18:00 <ehird> About fucking time!
00:18:08 <ehird> Rugxulo: So how's your 1 MB disk doing
00:18:26 <ehird> Also, that's not irony.
00:18:33 <ehird> The main Ruby configure script is about that big too.
00:18:36 <ehird> So it's not ironic.
00:18:41 <ehird> It'd be ironic if Ruby's configure was smaller.
00:19:09 * Rugxulo doesn't have main Ruby onhand to check its configure size
00:19:23 <ehird> It's almost certainly larger
00:19:30 * SimonRC wonders if anyone here has read the source of ed.
00:19:31 <ehird> More support for stuff, you know, that stuff you like
00:19:35 <Rugxulo> if they upgrade to 2.64, it'll shrink a lot (shell functions)
00:19:56 <ehird> Caldera Unix ed, modern SysV derivative ed, BSD ed, GNU ed, Heirloom ed, ...?
00:20:36 * ehird wonders where to put GOROOT in his system design. Maybe /opt/go.
00:20:54 * Sgeo vaguely wishes that there was a Firefox theme for Chrome
00:21:03 <ehird> (not /share/go, though.)
00:21:31 <ehird> The Chrome UI is wonderful.
00:21:51 <ehird> SimonRC: why did you ask?
00:22:23 -!- sebbu has joined.
00:22:26 <Sgeo> So that I won't keep wondering if the Chrome UI is the reason I'm not doing any work for this project, because I'm not used to it
00:22:33 <Sgeo> I mean, it's an insane thought, but still
00:22:34 <SimonRC> I'd heard it was quite OO, based on streams and stuff
00:22:46 <SimonRC> but I don't know which version I was reading about
00:22:59 <SimonRC> ehird: leads to compact code apparently
00:23:20 <ehird> what do you mean by oo in this case
00:24:29 <SimonRC> IIRC, each source or sink or filter of data had a couple of "methods" (function pointers) that specified how to read from or write to it
00:24:46 <SimonRC> I can't recall much more than that
00:26:21 <Rugxulo> ehird, did you guys make any progress on ick? or AnMaster?
00:26:35 * Rugxulo read the logs, didn't tell everything
00:26:40 <ehird> AnMaster is doing macos9
00:26:44 <ehird> unix v7 hasn't been done yet
00:26:49 <ehird> i think macos9 ran into a blocker for now
00:26:59 <AnMaster> Rugxulo, yes some. Atm the emulator keeps crashing a lot. Works better on a real mac
00:27:06 <AnMaster> Rugxulo, going to continue tomorrow, need sleep soon
00:27:21 <AnMaster> Rugxulo, but several of the tools builds. Haven't got around to ick itself yet
00:27:31 <Rugxulo> yeah, you're way the heck over seas (different time zone), it's not very late here (6pm)
00:28:04 <Rugxulo> BTW, ehird, I think I've told you before, Ardi's Exectuor is a (non-Mac ROM using) emulator
00:28:19 <AnMaster> Rugxulo, I'm afraid it won't build fully under sheepshaver.
00:28:43 <ehird> /opt/go/src/cmd/goyacc
00:28:43 <ehird> /lib/go/src/cmd/goyacc
00:28:44 <ehird> here /lib wins, but in
00:28:44 <ehird> /opt/go/lib/lib9.a
00:28:44 <ehird> /lib/go/lib/lib9.a
00:28:45 <ehird> /opt wins for the lack of repetition
00:28:46 <AnMaster> as for basiliskII, I have been unable to do any sort of building with 68k at all
00:28:56 <ehird> /lib, though, has the advantage of meaning I don't need another dir in / (opt)
00:29:19 <AnMaster> ehird, use some under /lib and some under /opt?
00:29:35 <AnMaster> ehird, but why under /lib? That is for stuff like libc and other core stuff
00:29:45 <AnMaster> /usr/lib for stuff after /usr is mounted
00:29:47 <ehird> No it isn't, it's for libraries.
00:30:08 <AnMaster> I just came to hate it. I liked it before
00:30:16 <ehird> I don't actually, you know — give a shit.
00:31:32 <Rugxulo> AnMaster, how much RAM does your real Mac have?
00:31:43 <Rugxulo> or are you just doing this for Macs in general (e.g. emulated)?
00:32:07 <Rugxulo> hmmm, might not be enough to run DOSBox ;-)
00:32:11 <AnMaster> Rugxulo, it's a first model ibook
00:32:17 <AnMaster> Rugxulo, I wouldn't be interested in that
00:32:32 <AnMaster> Rugxulo, it ran virtualpc before. Good question "how"
00:32:36 <Rugxulo> I know, but Ick works there, so ... hey, I just figured it wasn't the totally worst idea ;-)
00:33:05 <AnMaster> Rugxulo, anyway my sheepshaver instance on my thinkpad has 512 MB allocated
00:33:35 * Rugxulo really hates super duper long *nix commandlines when compiling ...
00:33:59 -!- sebbu2 has quit (Read error: 60 (Operation timed out)).
00:34:01 <ehird> That's autohell's fault.
00:34:10 <Rugxulo> PACKAGE_TARNAME, PACKAGE_BUGREPORT, PACKAGE_VERSION, do those all have to be defined on the cmdline each time???
00:34:28 <AnMaster> Rugxulo, um they are in config.h
00:34:29 <Rugxulo> so ugly ... and they hate DOS (heh), is *that* irony??
00:34:30 <ehird> Because make is shit.
00:34:36 <ehird> No it's not irony.
00:34:37 <Rugxulo> AnMaster, apparently not ;-)
00:34:47 <ehird> Please look up the meaning of the word irony. Also, ;-) makes you look really annoying.
00:34:57 <AnMaster> Rugxulo, well then it doesn't use config.h
00:35:01 <Rugxulo> ehird, I am annoying, deal with it
00:35:23 <Rugxulo> BTW, seriously ... I'm convinced now that you are some uber genius / child prodigy based upon your crazy knowledge but really young age
00:35:33 <AnMaster> Rugxulo, if you can find out how to build a shared library under MPW tell me
00:35:46 <ehird> By the age of 20 I will have conquered the world and my first move will be to outlaw DOS.
00:35:51 <ehird> ARE YOU SO SURE ABOUT THAT NOW
00:36:13 <Rugxulo> I did say "crazy knowledge" ;-) (crazy)
00:36:14 <ehird> hmm... does sed have an insert?
00:36:17 <ehird> other than s//foo/
00:36:28 <Rugxulo> sed is basically a fork of ed
00:36:43 <ehird> do you have to use newlines? :/
00:36:59 <Rugxulo> I don't think so, but honestly I avoid i\ because some (old) seds don't handle it perfectly
00:37:11 <ehird> $ seq 1000000 | sed 'd;i a'
00:37:11 <ehird> sed: 1: "d;i a": command i expects \ followed by text
00:37:12 <ehird> $ seq 1000000 | sed 'd;i\a'
00:37:12 <ehird> sed: 1: "d;i\a": extra characters after \ at the end of i command
00:37:13 <Rugxulo> (GNU sed is just very slow comparatively, even if superior)
00:37:16 <ehird> *look of disapproval*
00:37:58 <ehird> that won't work cuz of d ofc
00:38:09 <Rugxulo> read the Info doc then, it should give examples
00:39:52 * ehird waits for sed to do the gruelling task of doing one million replaces
00:39:57 <ehird> or seq to print out one million things, i guess
00:40:14 <Rugxulo> sed works a line at a time, so it's fairly slow
00:40:17 <ehird> i don't care how big the binaries are on disk... processing one million numbers like that with a regexp is NOT hard shit
00:40:24 <ehird> this could be done in a second or two
00:40:33 <Rugxulo> ed (traditionally) reads the whole file into memory, so it's not as efficient for large files but is probably faster
00:40:35 <ehird> this is two thousand and fucking nine!
00:40:55 <Rugxulo> 1,$ does replacement on every line (for ed)
00:40:57 <ehird> LET'S SEE HOW FAST YOU REALLY ARE, FEEBLE COMPILER
00:41:00 <Rugxulo> sometimes % is aliased to 1,$ too
00:41:27 <ehird> Well, I can certainly notice THIS compile time :P
00:41:32 <Rugxulo> not needed in sed as it always does one line at a time
00:41:59 <ehird> Let's try 100,000 lines instead
00:42:08 <ehird> Rugxulo: it can compile 100k codebases in seconds — it's *fast*
00:42:20 <Rugxulo> I know that, but you're saying it's not true in your current experience??
00:42:24 <ehird> but methinks 1 million junk lines as one unit... not practical
00:42:43 <ehird> I can't fault the compiler for this one, really :P
00:43:30 <Rugxulo> bah, TinyRB doesn't seem to build correctly, oh well
00:43:51 <Rugxulo> it's not like regular Ruby is so huge either
00:44:14 <ehird> also, 1,$ is the same as , no?
00:44:33 <Rugxulo> and even it has something called "miniruby" used to build the final "ruby"
00:44:35 <ehird> also, this ed doesn't have -e
00:44:38 <Rugxulo> dunno, but I know % typically is
00:45:28 <Sgeo> When will Go be renamed?
00:47:40 <Rugxulo> when will Sgeo be renamed? :->
00:47:52 -!- Sgeo has changed nick to sgeo.
00:47:55 <ehird> C was hard to search for once upon a time too
00:48:08 <ehird> and unix? eunuchs? These guys value puns and conciseness... nothing else.
00:48:10 <sgeo> ehird, it's not just searchability. There's already a Go!
00:48:28 <ehird> Yes, and its author is a whining bitch on the Go issue tracker, and nobody uses his.
00:48:38 <ehird> And he can't claim the right over a short English word as a name.
00:48:45 <ehird> Especially if he has an exclamation mark after it and they don't.
00:49:01 <sgeo> Maybe no one uses it, but it's referenced in papers, iirc. Maybe Go! should be renamed to "Academic Go"?
00:49:10 <ehird> Nobody really cares.
00:50:18 <Rugxulo> I agree, it's not worth complaining about
00:50:37 * Rugxulo supports ehird for president
00:50:51 <Rugxulo> ... until the DOS outlawing, of course ;-)
00:50:56 <sgeo> Who uses Firebird?
00:52:56 * sgeo goes to try a new game
00:56:07 * Rugxulo wonders if TinyPy compiles ...
00:57:20 <Rugxulo> wow, one whole file in /examples (julia.py)
00:57:52 <Rugxulo> doh, depends on Python for bootstrapping
00:57:57 <Rugxulo> (have it but not installed)
01:05:27 -!- clog has joined.
01:05:27 -!- clog_ has joined.
01:10:29 <Rugxulo> bah, TinyPY no dice either
01:10:36 * Rugxulo limps off to play Quake instead ...
01:12:17 <Rugxulo> something to do with "struct stat stbuf" (couldn't figure out size or whatever)
01:13:23 -!- sebbu2 has joined.
01:20:37 -!- clog has quit (Read error: 110 (Connection timed out)).
01:20:37 -!- clog_ has changed nick to clog.
01:28:36 -!- sebbu has quit (Read error: 110 (Connection timed out)).
01:28:37 -!- sebbu2 has changed nick to sebbu.
01:28:38 <Rugxulo> it should be "issue #9's to bed"
01:33:52 -!- puzzlet_ has quit (Remote closed the connection).
01:34:04 -!- puzzlet has joined.
01:40:18 <pikhq> ehird: Any news on your distro?
01:41:11 <ehird> the design is resisting my mental prods attempting to change it, which is a good indicator it's solid. implementation is waiting on hardware, so, within a month or two perhaps I'll be hacking something up
01:41:29 <pikhq> Any reason for needing real hardware?
01:41:44 <ehird> let's say something you can use as your daily driver (as long as you have contact with me at a pinch) by... may 2010? optimistically
01:42:06 <ehird> pikhq: practicality — VMs are platonic in a way that probably won't lead to good results on real hardware
01:42:19 <ehird> but honestly? I just don't feel like the OS X chrome would inspire me to make something good
01:43:18 <pikhq> ehird: Fair enough.
01:43:28 <pikhq> I'll have to check it out, at the very least.
01:45:16 <ehird> thankfully i don't have to go to any great effort to get an installer... it'll just be "tell package manager to install whatever root package I decide into /mnt/sys" plus a dab of configuration
01:47:06 <pikhq> Yeah, the installer should be about as complex as Gentoo's.
01:47:21 <pikhq> (read: LiveCD that has tar and chroot)
01:48:03 <ehird> And the package manager.
01:48:07 <ehird> chroot not required, actually.
01:48:24 <ehird> Just a netinstall (= run the package manager) with PKGROOT=/mnt/sys or whatever.
01:48:35 <ehird> Plus quick config, and the lilo install.
01:48:49 <ehird> (If you want to keep GRUB around for your existing stuff, just install lilo to a partition and make grub chainload it.)
01:49:07 <pikhq> Gentoo uses the chroot because it makes it a bit simpler to install packages from there.
01:49:27 <pikhq> (the tarball doesn't have things like "a bootloader" or "Linux"; you have to emerge them.)
01:49:59 <ehird> No tarball in mine, since it'll just have a little system w/ the package manager on the CD itself.
01:50:08 <ehird> Although really, CD? Get a USB stick, you bum :P
01:50:27 <pikhq> I've got 4 in here *somewhere*.
01:50:48 <ehird> Displays an ASCII tux on boot
01:56:51 <ehird> what's the make incantation to append to a previous rule?
01:57:52 <ehird> helpful information, Rugxulo.
01:58:16 <Rugxulo> well, sometimes I find being ignored worse than no help :-P
01:59:06 <ehird> but the other one has to be :: too
01:59:25 <Rugxulo> honestly, makefiles are quite ugly, no wonder there are so many alternatives nowadays
01:59:36 <ehird> Rugxulo: they suck more.
01:59:43 <ehird> which is just an improved make
01:59:48 <Rugxulo> depends on what you want to do
02:00:13 <Rugxulo> cons, scons, cmake, cbuild, makepp, etc.
02:00:28 <ehird> sucks, sucks, sucks, sucks, sucks
02:03:53 <ehird> http://pastebin.ca/raw/1670742
02:04:16 <ehird> just five lines (six including the unneeded separator newline :P) to add goyacc support cleanly to the go makefiles without editing them
02:15:34 <pikhq> Cons sucks, scons sucks, cmake uses Make, cbuild appears to suck, makepp suffers from most of the same flaws as does Make...
02:16:01 <Rugxulo> cbuild isn't bad unless you want to do really complex stuff
02:16:21 <Rugxulo> Waf, I think that was the improved Scons variant
02:16:24 <ehird> cmake takes make and makes it suck more — truly astonishing
02:16:37 <Rugxulo> some people swear by cmake, dunno really
02:16:38 <ehird> waf is useless to actually get things done, and it isn't a fork of scons
02:16:48 <ehird> It doesn't do enough for you and the syntax is awkward
02:17:20 <ehird> A useless, false statement that adds nothing. 'grats
02:17:37 <Rugxulo> False, now there's a "real" language ;-)
02:18:31 <ehird> I like how the build system for most Go programs is just a few lines, only two of which you ever need to change...
02:18:34 <ehird> include $(GOROOT)/src/Make.$(GOARCH)
02:18:35 <ehird> include $(GOROOT)/src/Make.cmd
02:18:57 <Rugxulo> doesn't *BSD already do something similar?
02:19:08 <ehird> You change TARG= to the name of your executable, GOFILES= to the filenames of your sources, separated by spaces... and you get "make" and "make clean" working, and cross-compiling is just "make GOARCH=arm"
02:19:14 <ehird> oh, and make install, you get that too
02:19:32 <ehird> "make install GOBIN=/foo/bin" installs to /foo/bin instead (it just installs the binary, you could add stuff to the install target yourself if you want)
02:19:40 <ehird> Rugxulo: quite similar
02:19:43 <ehird> but just for the BSD trees themselves
02:19:48 <ehird> plan 9 does it too for all programs
02:19:53 <ehird> and go IS by the plan 9 guys...
02:20:05 <ehird> the downside is that with go you need to have a few env variables
02:20:23 <ehird> GOBIN=/Users/ehird/go/bin
02:20:24 <ehird> GOROOT=/Users/ehird/go
02:20:43 <ehird> it's not perfect, but then it's not really a problem either
02:21:03 <ehird> you can omit GOBIN if you're ok with ~/bin, GOMAXPROCS if you don't want multi-cpu stuff (this is stupid though)
02:21:15 <pikhq> ehird: Cmake attempts to make autoconf and automake suck less. In this goal, it will of *course* suck more than make.
02:21:28 <ehird> Yes, but it USES make to make something WORSE than make.
02:21:42 <ehird> Normally any attempts to make make suck more just fail; it's always at its worst.
02:21:50 <ehird> autotools manages it, sure... but cmake manages it even more.
02:22:24 <ehird> GOMAXROCS=(number of cpus on the system)
02:22:25 * pikhq notes that there is no such thing as a good build system.
02:22:54 <ehird> Eh, I haven't had any issues with Go's so far. Admittedly it achieves that by being so fast that dependencies just... don't matter.
02:23:09 <ehird> If your large project compiles in three seconds... who cares if it's all in one rule?
02:27:00 <ehird> By the way, if anyone has an old box to donate that'd speed up distro development :-P
02:33:15 <Rugxulo> seriously, even if I had something, it'd cost more to ship over there than it's worth :-P
02:33:41 * Rugxulo paddles across the Atlantic just to brind ehird his 486 ...
02:35:45 * pikhq sends ehird the Bombe
02:36:52 <Rugxulo> enjoy those oodles of RAM :-D
02:37:27 * Rugxulo would actually almost enjoy writing a Befunge93 interpreter for a VIC-20 ... if he knew how (and had one)
02:39:29 <Gregor> `google "vic-20" emulator
02:39:32 <HackEgo> You can now write VIC-20 games on your PC using this complier and test them immediately on any emulator. You can even design your graphics on your favourite ... \ www.kdef.com/geek/vic/ - [13]Cached - [14]Similar
02:39:50 <Rugxulo> I know, VICE (even runs in DOS) ... still, I have no experience
02:40:22 <ehird> the asm is pretty simple
02:40:32 * Rugxulo is struggling with Befunge98 ... apparently 3k$ doesn't work like he expects (i.e. at all)
02:43:57 <Rugxulo> for some reason, it seems 1k$ pops two values off the stack
02:44:10 <ehird> k is the unintuitive one
02:44:25 <ehird> k does that many MORE
02:44:31 <ehird> i.e. afterwards it goes on to the instruction you were king
02:44:35 <ehird> after doing all the repeats
02:44:46 <ehird> you can understand the fun and hilarity caused by mixing k and #.
02:44:54 <ehird> or rather, no, you can't understand it
02:45:24 <Rugxulo> or are you saying, "it does ... then loops n times"
02:45:44 <Rugxulo> must be, since CCBI and FBBI both behave identically
02:46:15 <ehird> k, I believe, means "run the next instruction n times"
02:46:24 <ehird> we can see that if n=1, "run the next instruction 1 time", it executes
02:46:28 <ehird> then we go on to the next instruction
02:46:30 <ehird> which is that instruction
02:46:35 <ehird> so 1kX runs X twice
02:46:49 <ehird> it may not even be intentional.
02:47:10 <Rugxulo> well, CCBI also mimics it, so ...
02:47:15 <Rugxulo> anyways, voila! I have done it!
02:47:34 <Rugxulo> a program that tells you whether run as Befunge 93, 96, 97, or 98
02:47:50 <ehird> what about 109??????????????????
02:48:23 <ehird> 109 isn't an official standard anyway.
02:49:04 <Rugxulo> tested on various 93 interpreters, MTFI for 96 and 97 (are there others for those??? doubt it ...), and CCBI and FBBI for 98
02:49:22 <ehird> I'm really digging this trackball
02:49:28 <ehird> I'm pretty good at it after only a day
02:49:41 <Rugxulo> enjoy, oh esoteric kings of mastery!
02:50:02 <Rugxulo> dedicated to thee and thine dedication to all arts odd ;-)
02:53:06 <Rugxulo> (note that it's two spaces in between quotes)
02:53:35 <Rugxulo> oops, forgot to test Interfunge :-)
02:54:16 <Rugxulo> err ... it obviously doesn't handle it, heh (understatement)
02:57:36 <ehird> ever poised to write a program then you realise
02:57:41 <ehird> i have no programs to give to the world?
02:59:04 <Rugxulo> nah, there's always some idea (even if crazy or super trivial)
02:59:29 <ehird> ok, but slightly sleep deprived and lazy——
02:59:34 <ehird> think I'm gonna eat that food
02:59:55 <ehird> I must engineer myself to need less sleep sometime
03:00:16 <Rugxulo> heh, sleep is good for problem solving, though ;-)
03:00:40 <ehird> like, say, be able to function normally for 3 days with vastly reduced sleep, and then be out for about 24 hours
03:01:00 <ehird> I both love staying in bed once I'm in there, and not going to bed when I'm not
03:02:05 <ehird> ah, but I'm crazy enough to try and devise a schedule where that is actually possible
03:02:21 <ehird> it's all chemistry
03:04:09 <Rugxulo> well, the body has its own internal clock, hence they suggest sleeping on a normal schedule for best results
03:04:15 <Rugxulo> and exercise helps too (or so I'm told, heh)
03:04:31 <Rugxulo> too much caffeine can hurt too, but a little is okay
03:04:46 <ehird> The circadian rhythm is important, but there are alternate schedules that work fine with it
03:05:09 <ehird> Uberman is roughly the point at where things are hardcore enough that it seems the body just gives up on the circadian rhythm.
03:05:26 <ehird> So it's not an insurmountable problem.
03:05:50 <Rugxulo> no, but rest is beneficial, sometimes more beneficial than higher quantities of work
03:06:00 <Rugxulo> don't work harder, work smarter
03:06:52 <ehird> Uberman delivers rest.
03:07:32 <ehird> I am talking with the knowledge of the experiences of seasoned Uberman practitioners... they are extraordinarily well-rested and productive on very little sleep, and the circadian rhythm appears to just drop out.
03:07:39 <ehird> It's not less rest; it's restructured rest.
03:08:02 <ehird> The disadvantages being who knows what it does long-term, and also it means you have to sleep every four hours.
03:14:54 <ehird> pikhq: A guy in #go-nuts just directly portrayed a false dichotomy between pkg-config and autotools.
03:14:57 <ehird> pikhq: Therapy please?
03:15:25 <ehird> [03:14] Amaranth: ehird: Well the other choice is for every package to require env variables :)
03:18:33 <pikhq> ehird: ... So. Much. Wrong.
03:19:02 <pikhq> Pkg-config essentially replaces *libtool*...
03:19:28 <pikhq> And... That third line is WTF?
03:26:42 -!- puzzlet has quit (Remote closed the connection).
03:26:46 -!- puzzlet has joined.
03:26:51 -!- Rugxulo has quit ("gxis revido").
03:29:42 <ehird> Anyone crazy enough to want to restructure the Go documentation as manpages with me?
04:06:28 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.4/20091027080938]").
04:28:45 -!- immibis has joined.
04:54:04 * ehird comes up with some little ideas for VCS backends
04:54:52 -!- Asztal has left (?).
05:07:36 <ehird> hey, I could implement this VCS in Go!
05:59:30 <ehird> hmmmmmmmmmmmmmmmmmm
06:00:22 <immibis> hmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmmm
06:00:23 <ehird> I think it's too complicated language! I think the easiest is Visual Basic .NET
06:00:24 <ehird> —comment on a blog post on go
06:00:56 <ehird> "Its not different its like Java, python is more easier than of it :D"
06:03:47 -!- sgeo has quit (Read error: 104 (Connection reset by peer)).
06:03:48 -!- ehird_ has joined.
06:04:34 -!- ehird__ has joined.
06:11:16 -!- ehird_ has quit (Read error: 60 (Operation timed out)).
06:19:56 -!- ehird has quit (Read error: 110 (Connection timed out)).
06:19:56 -!- ehird__ has changed nick to ehird.
07:52:10 <ehird> AnMaster: what was that minimalist pastebin you liked?
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:18:58 -!- asiekierka has joined.
08:19:58 <ehird> noooooooooooooooooo
08:35:55 -!- coppro has joined.
08:57:53 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091105041559]").
08:58:24 <coppro> becaaaaaaaaaaaaaaaaaaaaaaause
09:13:25 <asiekierka> coppro.message[1].amount[a] != asiekierka.message[3].amount[o]
09:23:14 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
09:25:33 -!- puzzlet has joined.
09:56:34 <ehird> I think I'm going to write goreutils!
09:56:46 <ehird> It's like coreutils, except without the bloat and also written in Go.
09:56:51 <ehird> This is not a large undertaking WHATSOEVER
09:57:06 <coppro> ehird: and the resulting binaries only run in the runtime environment
09:57:18 <ehird> The sky is falling!
09:57:21 <ehird> C++ has a runtime too, weenie.
09:57:31 <Pthing> what is the deal with go exactly
09:57:42 <Pthing> i watched the google video for it and came away with like
09:57:50 <Pthing> a significant feeling of not knowing what the fuck
09:57:59 <AnMaster> <ehird> AnMaster: what was that minimalist pastebin you liked? <-- do you mean http://sprunge.us/ ?
09:58:24 <coppro> ehird: did I say it didn't?
09:58:29 <ehird> Pthing: it's from the people who made unix, c, and plan 9. the compiler is well engineered and _extremely_ fast. it's a systems programming language. C, cleaned up, with a garbage collector, a wonderful concurrency model (a very big point), and a nice sort-of-OO type system that makes structuring programs a lot easier.
09:58:39 <Slereah_> I thought I was on Isharia& for a moment
09:58:43 <ehird> Basically it's a more comfortable C for the applications level with some extra stuff, and it's from the Old Guard.
09:59:03 <ehird> AnMaster: it's silly how syntax highlighting is in the resulting url though
09:59:11 <Pthing> it's an industrial grade language
09:59:20 <ehird> it's great for little hacks, too
09:59:30 <ehird> it's low-level without having lots of boilerplate
09:59:31 <AnMaster> ehird, It could be useful for polygots I guess?
09:59:40 <ehird> and its abstraction facilities are good, plus its syntax is light
09:59:45 <ehird> so it ends up being quite pleasing for little hacks
09:59:59 <ehird> it's a general-purpose language, dude.
10:00:09 <Pthing> give an example of a hack
10:00:22 <ehird> That you'd normally do with, say, Python.
10:01:14 <Ilari> Wonder what are the points of Go that kill the performance (one larger-than-usual-projetwork Java program made me realize that real performance killer in Java are virtual function calls).
10:01:29 <ehird> Ilari: Basically everything is resolved at compile-time.
10:01:34 <ehird> Including method lookups and all that stuff.
10:01:40 <ehird> Right now, the crappy GC. They're making that much betterr.
10:01:41 <Pthing> in the video, they said they still had some flaky library code
10:01:47 <ehird> And the gc compiler doesn't do much optimisation atm.
10:01:52 <ehird> (It is, however, EXTREMELY fast.)
10:02:01 <ehird> Still, it's quite good now.
10:02:11 <ehird> It'll be competitive with C in a while, that's for sure.
10:02:14 <Pthing> actually i think they called it crufty
10:03:43 -!- ehird has left (?).
10:03:46 -!- ehird has joined.
10:04:05 <ehird> Anyway, G is the first new language in ages that I'm interested in.
10:04:21 <Pthing> yeah, i worked it out via #golang
10:04:44 <Pthing> but in #go they have blah blah "about Go (the game, not the silly language)"
10:05:24 <ehird> a lot of people are dismissive of it because it has the word Google in it (Bell Labs would be more accurate) and people compare it to C++ and Python and are retards.
10:05:55 <Pthing> the Go(ogle) thing took me a little while to get, and I was a little embarrassed it took me so long
10:06:28 <ehird> the debugger-in-progress is called ogle
10:06:44 <Pthing> yeah, I like the name, it's good
10:06:59 <Pthing> i don't like the running... mammal thing
10:07:12 <Pthing> i think it's running, it might be thrown
10:07:24 <ehird> i love its little hands
10:07:30 <Pthing> otters don't fucking look likfffffffffffff
10:07:32 <ehird> they're so helpless
10:07:35 <ehird> it might not be an otter
10:09:36 <ehird> deficiencies of sprunge.us: can only post via curl, no quick paste method; syntax highlighting is on the resulting URL; syntax highlighting adds line numbers that break stuff
10:09:44 <ehird> Pthing: it's a GOpher
10:11:55 <ehird> final deficiency: mentions firefox on the homepage
10:16:26 -!- Pthing has quit (Remote closed the connection).
10:16:53 <AnMaster> gah. on classic macos it seems like you need to list all exported symbols from libraries
10:17:03 <AnMaster> that will sure make libick a pain
10:18:55 -!- oerjan has joined.
10:20:57 -!- Pthing has joined.
10:22:30 <ehird> I am about to write some recursive make. How evil am I?
10:23:03 <oerjan> ehird: despicable spam of the netherworlds. but what has that to do with recursive make?
10:23:35 <AnMaster> ehird, 15.23 on a scale from 0 to 10
10:24:39 <AnMaster> (the reading is off the scale!)
10:32:36 <oerjan> AnMaster: no anchovies
10:33:12 <oerjan> i said, nice iwc annotation
10:33:31 <AnMaster> oerjan, oh right, forgot that bit in it
10:33:58 <AnMaster> oerjan, http://www.mezzacotta.net/garfield/ was.... strange
10:34:20 <AnMaster> I can't keep track of it's updates atm
10:42:31 * oerjan tries emulating curses, but fails
10:42:56 * AnMaster curses libraries on classic Mac SO
10:43:18 <AnMaster> you need to list all exported symbols. And they must be declared extern first.
10:44:58 -!- oerjan has quit ("Later").
11:00:15 -!- Pthing has quit (Remote closed the connection).
11:11:28 <AnMaster> yay I got usage output from ick
11:11:49 <AnMaster> coppro, c-intercal compiler yes
11:12:03 <AnMaster> still I haven't managed to build libick yet
11:12:14 <coppro> an expression of distaste
11:12:15 <AnMaster> and I have to manually patch some generated code in the lexer
11:12:32 <AnMaster> flex generated code depending on unistd.h
11:12:44 <AnMaster> need to talk to ais about that
11:13:05 <ehird> what does uts stand for in uname()s utsname
11:17:02 <ehird> i wonder if it even is an acronym
11:19:04 -!- kar8nga has joined.
11:22:17 <ehird> http://sprunge.us/LdaJ?c ;; fuuuuck those line numbers
11:23:00 <ehird> yeah, but that's still a pain in the ass
11:23:01 <AnMaster> but yeah that's an issue I never noticed before
11:23:17 <ehird> there is a way to do it without copying
11:23:19 <AnMaster> ehird, true. I mostly used it without syntax highlighting
11:23:21 <ehird> with some evil css tricks
11:23:26 <ehird> but honestly? i rarely need line numbers
11:23:29 <ehird> what would be useful
11:23:41 <ehird> http://pastebin/f845#l47
11:23:48 <AnMaster> ehird, i need line numbers when I get "error on line foo"
11:23:52 <ehird> backgrounds line 47 as yellowish, and jumps about 15 lines above it
11:23:58 <ehird> so you can highlight errors
11:24:02 <ehird> http://pastebin/f845#l47-52 too
11:24:15 <AnMaster> <ehird> http://pastebin/f845#l47 <-- is that supposed to be a real one or just an example?
11:24:19 <ehird> backgrounds the whole thing, jumps about 20 lines (amended :P) above the whole block
11:24:30 <ehird> github commits do this iirc
11:24:43 <AnMaster> ehird, I'm pretty sure I seen it on other pastebins too
11:25:02 <ehird> I should just write a POST-bin (hur hur hur) and stop whining :P
11:25:16 <ehird> don't think anything has go highlighting yet though :D
11:29:11 <ehird> AnMaster: ok, I just had a ridiculous idea and someone has to hear it in case it manifests
11:30:22 <ehird> the "pastebin" actually just lets you post to http://blah/ with some text, and it gives you back a url. going to that url, say http://blah/asdf, executes the file you gave it in a sandbox.
11:30:26 <ehird> The pastebin script looks like... drumroll
11:30:55 <ehird> (echo "#!/usr/bin/pygments $language"; cat) | curl ...
11:30:59 <ehird> I am an awful person
11:31:20 <AnMaster> ehird, so now ick -@ works in MPW
11:32:23 * ehird considers doing a ridiculous thing
11:33:10 <AnMaster> ehird, what are the chances for ais showing up today?
11:33:12 <ehird> i feel kinda bad even jusst having thought the thoughts
11:33:54 <oklofok> i slept 13 hours due to my new unterman sleep schedule
11:35:06 <ehird> okay i'll just go ahead and ask
11:35:17 <ehird> AnMaster: should I implement rc in go
11:35:33 <AnMaster> ehird, wouldn't that take some time?
11:35:43 <AnMaster> ehird, also how goes your webserver, ircd, and so on?
11:36:16 <oklofok> ehird: what have you implemented in go sofar?
11:36:51 <ehird> uh, wc, and some io functions, and a binding to uname that doesn't work yet, and echo(1), and some misc code that doesn't really fit into things
11:36:55 <ehird> most of my going has been in-head
11:36:58 <ehird> yeah bf interp sounds good
11:37:01 <ehird> MAYBE I WILL OKLOFOK
11:37:38 <oklofok> what does "binding to uname" mean?
11:38:01 <ehird> information about processor, os
11:39:00 <ehird> oklofok: d'ya think I should use yacc (overkill but sorta fun) or MANUA-PARSE 2000
11:39:12 <ehird> also yacc handles like... file opening and shit for me, which is nice
11:39:16 <ehird> but i have to write some other boilerplate
11:39:20 <ehird> but on the other hand
11:39:26 <ehird> tiny grammar sitting there
11:39:30 <oklofok> if MANUA-PARSE 2000 is what go's parsing library is called, that!
11:39:40 <fizzie> What, a BF interpreter bound into uname(2)? That sounds quite an unexpected trick from an OS.
11:39:58 <ehird> i could make the whole thing a yacc file tbh
11:40:14 <fizzie> "Go yacc yourself" sounds a bit indecent.
11:40:16 <ehird> wait, I don't need to preparse
11:40:18 -!- rodgort has quit (Client Quit).
11:40:19 <ehird> can do the dbc thing
11:40:25 <ehird> OKAHY LETSS ogjodfigogIjg
11:40:28 -!- rodgort has joined.
11:41:05 <AnMaster> ehird, btw it seems classic mac os supports shared libraries but not static ones. As in no *.a
11:41:17 <AnMaster> ehird, either you link the object files directly, or you link shared
11:41:36 <ehird> oh, well that's okay
11:41:38 <AnMaster> ehird, so yes there are lots of *.o for standard library :D
11:41:41 <ehird> .os are fine and stuff
11:42:01 <ehird> eh, just archive them up and write code to extract them, voila you invented ar
11:42:10 <AnMaster> ehird, StdCRuntime.o is huge btw.
11:42:10 <ehird> or even just make folders
11:43:21 <ehird> only 12k left then huh
11:43:24 <AnMaster> oh wait, that is just a stub for the shared library
11:49:26 <AnMaster> though that was with optimisation off
11:49:54 <AnMaster> can't rebuild it fully in emulator. need real mac for some of the files (otherwise it crashes)
12:48:05 <AnMaster> ehird, know what Print does in the MPW shell?
12:48:51 <AnMaster> ehird, oh so you ran into that before too?
12:49:07 * AnMaster removes those *.ps from the desktop
12:55:30 <ehird> As of April 2009 dotsrc.org (formerly SunSITE.dk) has been in the process of shutting down the project hosting part. Since we started open source hosting more than 10 years ago, Sourceforge, Freshmeat, Launchpad and a bunch of others have emerged. We don't see the big need for us doing this any more, and will focus on other services.
12:55:42 <ehird> It occurs to me that that is exactly like committing suicide.
12:55:59 <ehird> You think you're just ending your own life and no bother to anyone else and then you go and destroy the lives of everyone close to you.
12:56:06 <ehird> I wonder how much code is lost forever now.
13:03:46 <ehird> Relax, AnMaster, an actual person didn't die :P
13:04:36 <AnMaster> ehird, of course not. But the code...
13:05:39 <ehird> Who wants to hear a terminally-tired lunatic ramble about his ideas for DVCSs?!
13:06:06 <AnMaster> not me. I'm being "productive" atm
13:07:20 <ehird> What, by fiddling with C-INTERCAL?
13:08:36 <AnMaster> ehird, that's why I used "" around the word.
13:08:44 <ehird> [[Yiu gotta be kidding me. How can you encrease power in a smart phone? By writing something new, that uses google servers power.... dont you see that? why "put more cpu and ram" if online merchandising do it for you? what if you are fuckinf far of anything? where you gonna buy a fucking cpu? come on, be smart]]
13:08:51 <ehird> AnMaster: Can I vnc? :3
13:09:11 <AnMaster> ehird, don't think sheepshaver supports that
13:09:18 <AnMaster> ehird, anyway I'm doing this on a real mac atm
13:09:18 <ehird> It doesn't need to
13:09:32 <AnMaster> ehird, because sheepshaver keeps crashing too much
13:09:40 <ehird> Tough shit? I need more fibre in my diet.
13:10:24 <AnMaster> ehird, however one of the keys seems to be broken on that old ibook. Scissors style, but the things that hold the key to the scissors seems broken.
13:10:32 <AnMaster> very annoying since it is the cmd key
13:11:07 * AnMaster swaps it with the "enter key" that is the same size but on the other side of space (why is there an enter key there at all btw?)
13:11:16 <ehird> Easy answering dialogs, iirc.
13:11:21 <ehird> I should get ick working on an actual Mac Plus.
13:11:38 <AnMaster> ehird, can it handle 32 bit stuff? I forgot
13:12:03 <AnMaster> iirc some 68k had a 32-bit adressing mode
13:12:26 <ehird> Macintosh Plus can address 4 mebibytes of RAM.
13:12:42 <AnMaster> ehird, anyway if you want I can give you a hqx file of what I have so far
13:13:20 <AnMaster> ehird, I could do *.img.bin too probably. No way I could manage .dmg however
13:13:40 <ehird> C'mon listen to my VCS ideas! They're... almost as weird as arch?
13:14:38 <ehird> http://1.bp.blogspot.com/_va9O40qIhaE/StfekoB1W8I/AAAAAAAAB70/G32jsTp_BWU/s1600-h/ottosm.jpg
13:17:25 <AnMaster> ehird, btw it seems MPW has some weird file matching thing where [a-z0-9]*.c works but .*.c doesn't. Nor does *.c
13:17:34 <AnMaster> so it is neither glob nor usual regex
13:17:40 <AnMaster> and I can't find actual docs for it
13:21:19 <fizzie> There are about 20 special constructs within regular expressions, all of which are cryptically described when you execute the command line "Help Patterns" within the MPW Shell. I'll mention some of the more useful ones here. -- http://www.mactech.com/articles/develop/issue_26/mpw.html
13:21:38 <fizzie> "?" corresponds to the normal regex "." there.
13:22:04 <fizzie> So ?*.c then, I think.
13:23:20 <AnMaster> fizzie, oh if you know MPW... What is the difference between one and two of those old-style s-es in makefile rules (those symbols that look like f)
13:23:50 <ehird> :: is that all rules get executd
13:23:52 <ehird> if you have duplicates
13:23:56 <ehird> you need all of them to be ::
13:25:22 <AnMaster> ehird, you mean like foo :: bar quux bar will force bar to be built twice if it wasn't built before?
13:26:39 <ehird> echo hardcore anal meanderings
13:26:45 <ehird> echo now only half price
13:26:55 <fizzie> You can also read http://www.gnu.org/software/make/manual/make.html#Double_002dColon though I guess ehird's explanation made that redundant.
13:26:55 <AnMaster> why would one have multiple such heh
13:26:56 <ehird> echo hardcore anal meanderings
13:26:56 <ehird> hardcore anal meanderings
13:26:59 <ehird> echo now only half price
13:27:01 <ehird> now only half price
13:27:04 <ehird> AnMaster: different files, modules etc
13:29:37 <AnMaster> ehird, wouldn't you have different rule names to build different files?
13:30:48 <ehird> different makefiles
13:30:55 <ehird> different makefiles, modules of the build system
13:33:34 * AnMaster wonders what the license would be on a short .r file with no copyright header or such that came with an MPW example
13:34:07 <AnMaster> I just realised that might be an issue
13:34:24 <ehird> Trivial things are uncopyrightable.
13:34:50 <AnMaster> the makefile began as based on an example makefile, but it has not been completely rewritten.
13:34:54 <ehird> I advise you to stop worrying; you're more likely to be bitten by the thousands of patents any program you write will inevitably violate.
13:36:59 -!- kar8nga has quit (Remote closed the connection).
13:39:00 <AnMaster> ehird, anyway, why can't you run sheepshaver yourself?
13:39:22 <ehird> I don't have your porting work — and also, it's unstable as a dick on an. Um. dick.
13:39:24 <AnMaster> ehird, iirc I read that it *does* work on OS X
13:40:13 <AnMaster> ehird, "my porting work"? would that be the hqx file?
13:40:27 <ehird> You modded C-INTERCAL, did you not?
13:40:28 <AnMaster> well I could send that over easily. And yes so far things build but are mostly untested.
13:41:02 <AnMaster> ehird, yes, custom build system + manual written config.h, plus a few minor patches to the source (in all cases code that tried to use unistd.h)
13:41:27 <AnMaster> the most annoying change was to the *generated* parts of lexer.c
13:41:33 <AnMaster> I'm not sure how to properly solve that
13:41:59 <AnMaster> maybe implement a dummy isatty() for it to link to instead?
13:42:14 <AnMaster> and dummy fileno() possibly. But it never complained about that
13:42:50 <ehird> Wow, Tom Lehrer is STILL alive.
13:43:36 <AnMaster> ehird, wow indeed. He wrote some awesome lyrics.
13:44:07 <ehird> Pretty sure he pilfered a lot of those melodies :P
13:44:25 <AnMaster> ehird, yeah probably, but probably not all.
13:51:36 -!- oklokok has joined.
14:09:37 -!- oklofok has quit (Read error: 110 (Connection timed out)).
14:12:22 <AnMaster> ehird, in case you actually decide to be interested in it: ick-mac.img.bin is at http://omploader.org/vMnJwMw things build bure are mostly untested (and I very much suspects that ick will need some patching so it doesn't try to call a compiler, but instead prints out some MPW commands for you to run)
14:12:34 <AnMaster> oh and that contains pre-compiled files
14:12:42 <AnMaster> it still needs MPW since things are built as MPW tools
14:14:10 <AnMaster> oh and that has some stuff not relevant for mac build system stripped. Could easy be added back from ick-0.29 download
14:14:28 <ehird> i'll be interested if you're interested about my vcs stuff
14:15:23 <AnMaster> ehird, that you *have* to try it out?
14:15:41 <ehird> i said i'd be _interested_
14:16:08 <ehird> attentively (as much as i can in this state) listening and taking it in and offering comment. :P
14:16:58 <AnMaster> ehird, nah, not really worth it then. Anyway it shouldn't be hard for you to set things up. Apart from, you know, the whole thing ;P
14:17:18 <ehird> methinks that i preferred it when i was sure you weren't listening
14:17:22 <AnMaster> like, downloading those "fixes" from apple and manually apply them to the installed mpw
14:17:32 <AnMaster> ehird, tell me, I will read it when I get back (phone)
14:33:15 <AnMaster> ehird, interesting. It gives different errors for files generated on mac and files generated on unix
14:41:15 <ehird> AnMaster: SO WANNA HEAR :D
14:41:25 <AnMaster> ehird, a file with mixed CR and LF is quite painful to fix up
14:41:34 <ehird> your mom is quite painful to fix up
14:41:57 <AnMaster> beer.mac.c: ASCII C program text, with very long lines, with CRLF, CR, LF line terminators
14:42:54 <AnMaster> those CRLF seems just to be two newlines, one mac one and one *nix one
14:43:07 * AnMaster converts all the input files on mac to CR line endings
14:45:08 <AnMaster> I don't that is supposed to happen
14:45:19 * AnMaster wonders what was miscompiled in ick
14:45:32 <AnMaster> the generated file is completely wrong
14:46:16 <AnMaster> ehird, sure. I told you to write it before
14:46:36 <ehird> if this gets an augur like monologue, chip in and i promise i won't ignore you
14:46:48 <ehird> most modern VCSs are based on basically, trees of history
14:46:52 <ehird> patch, patch, patch, patch, end
14:47:01 <ehird> they don't really track changes to the code in this sense
14:47:11 <ehird> they track snapshots in time, not the actual changes to where it is now
14:47:32 <ehird> my idea is to sort of "inline" this history into an actual tracking, sort of like an "enhanced" nested patch sort of thing
14:47:36 <ehird> anyway, the main thing is
14:47:42 <AnMaster> ehird, what about darcs here? It isn't exactly a tree of history there
14:47:49 <ehird> it's closer to my idea, yes
14:47:56 <ehird> so, each repository is this thing
14:48:01 <ehird> now the interesting bit is
14:48:10 <ehird> most of my operations involve multiple repositories
14:48:14 <ehird> for instance, you may know the common one
14:48:24 <ehird> get changes from this repository B into A, and merge if required
14:48:32 <ehird> but with mine, it's varargs, so to speak
14:48:40 <ehird> you pass it a bunch of repositories, and it will merge them
14:48:47 <ehird> without favouring any
14:48:50 <ehird> and with user input
14:49:09 <ehird> so, for instance, you can select some features people have pointed you to and merge them all into the mainline in one merge
14:49:26 <ehird> the interesting thing is just how independent these repositories become
14:49:46 <ehird> there's no special pulling, you just rsync the repository down (using your existing one as a base to transfer less, just as an optimisation)
14:50:00 <ehird> and then it merges these repositories into a new repository C, which it replaces your original one with (in normal use)
14:50:17 <ehird> so, basically, we have this unified thing that's a repository, but it's also sort of one big massive, nested change
14:50:38 <ehird> and it means that operations like merging can work on an arbitrary number of repositories elegantly
14:50:54 <ehird> and you don't have to do special pulling algorithms; just download the new repository and merge that one and your old one
14:51:02 <ehird> indeed pushing is the same
14:51:07 <ehird> AnMaster: uh? any bit conffusing? :P
14:51:23 <AnMaster> ehird, how can merge work on arbitrary number of repos?
14:51:37 <AnMaster> after all, diff2 and diff3 are rather different iirc.
14:51:49 <ehird> that's true, and it will of course require user operation
14:51:51 <AnMaster> and yes there will be conficts
14:52:04 <ehird> well, that's the thing, you do these N+ repo merges already
14:52:08 <ehird> you just do them as separate options
14:52:12 <ehird> so you finally solve all the little conflicts
14:52:13 <AnMaster> ehird, so what if you have 5 different conflicting changes of the same few lines?
14:52:16 <ehird> and introduce a whole new batch
14:52:21 <ehird> do you see what i mean?
14:52:23 <ehird> these problems ALREADY HAPPEN
14:52:36 <ehird> this is a marked improvement — once a conflict is resolved, that's it
14:52:42 <ehird> no more disturbing it as you go onto the next repo to move
14:52:43 <AnMaster> ehird, yes but you normally merge them in pairs or such first.
14:53:00 <ehird> the internal algorithm *could* be just a bunch of diff2/diff3s talking to each other a lot
14:53:01 <AnMaster> ehird, you want to merge all at once unless I misunderstood you?
14:53:04 <ehird> and of course the devil's in the details
14:53:11 <ehird> but I'm fairly sure it's doable
14:53:16 <ehird> and the implications are great
14:53:30 <AnMaster> ehird, when did you last use diff3?
14:53:49 <AnMaster> compared to a diff2 it is rather confusing
14:53:52 <ehird> Not sure when but I think the place was called Hell.
14:54:06 <ehird> Anyway, of course actually doing it is the hard part.
14:54:33 <ehird> But I think if you're trying to mix 4 repositories into your mainline, resolving conflicts each time, only to have your resolvings reversed by the next merge or two isn't the way to go about it!
14:54:35 <AnMaster> ehird, which is why I'm wondering how on earth you would represent a 4 way-or-more conflict to the user
14:54:50 <ehird> interestingly it gives a purely functional sort of vibe
14:54:58 <ehird> everything seems to be a function of some repos to a new repo
14:55:13 <ehird> you merge A, B, and C, producing ABC (let's call it D)
14:55:25 <ehird> if A was your working copy, you throw it away and switch to D
14:55:29 <AnMaster> ehird, anyway merging one at a time has an advantage: less confusion.
14:55:30 <ehird> (this happens automatically of course)
14:55:40 <ehird> hmm... splitting repos could be interesting
14:55:44 <ehird> merging condenses many repos into one
14:55:53 <ehird> splitting expands one repo into many
14:56:05 <ehird> i could see that being useful for focused work
14:56:17 <ehird> AnMaster: less confusing, maybe, but more tedium and hard work. Anyway, I think the internal implications will rise to other UI improvements.
14:56:24 <ehird> So it's not like it's a one-trick pony.
14:56:24 <AnMaster> why less confusion? Because you will have less code to consider.
14:56:49 <ehird> I mean, the merging was just an example.
14:57:25 <AnMaster> it's the same reason you prefer many small commits over one huge. Because it is easier to understand what you have changed. (And easier to bisect, if it comes to that)
14:57:38 <ehird> AnMaster: Which is why the merge will be represented by little choices.
14:58:01 <ehird> It can still just be "which of these two is right" while still making sure that doesn't invalidate another choice on another merge.
14:58:17 <AnMaster> ehird, how would one dig back for older versions in your system? Same way as usual?
14:58:25 <ehird> also, being able to merge all of them at once means that the automatic merging should work better
14:58:29 <AnMaster> in case you want to bisect a regression or such
14:58:32 <ehird> as it'll have more variations on each relevant snippet
14:58:37 <AnMaster> (which is often very very useful)
14:58:40 <ehird> and so more of an idea of the structure, you see?
14:58:49 <ehird> AnMaster: probably, yes, unless I think of something better
14:59:04 <ehird> one thing that'll be quite easy to do, I think, will be `svn blame` but per-character
14:59:16 <ehird> as in, actually highlight the exact blocks people are responsible for and the like
14:59:26 <AnMaster> "<ehird> It can still just be "which of these two is right" while still making sure that doesn't invalidate another choice on another merge." <-- what about "neither, because this change and the one 20 lines above affect each other, hand editing the whole file is needed"
14:59:36 <AnMaster> that one is a problem with current systems too
14:59:38 <ehird> Why hello there Mr. Edge Case :P
14:59:49 <AnMaster> ehird, except I hit that more often that I wanted to.
14:59:55 <ehird> Hopefully the merging tool will be advanced enough to handle that.
15:00:11 <AnMaster> ehird, it would have to be aware of the language structure to do so
15:00:24 <ehird> not to edit the file manually
15:00:37 <ehird> although a structured VCS is an idea i'm very interested in
15:00:41 <ehird> smalltalk has that, I think
15:00:46 <ehird> at least I think monticello is structured
15:00:51 <AnMaster> like know if a variable was renamed in branch A, but another use of it was added in branch A.
15:01:08 <ehird> well, there isn't any strong ai so sucks to be you :P
15:01:12 <AnMaster> and trying to handle that would be insane
15:01:30 <ehird> imagine being linus, I'd sure prefer one difficult merge over 6 tedious merges
15:01:37 <AnMaster> ehird, exactly, a hand editing file with different versions in <<<< ... ----- ... >>> style merge will always be useful sometimes
15:01:40 <ehird> that I know are wasting my time with some resolutions
15:01:56 <AnMaster> because some cases *will* otherwise need a strong ai
15:02:57 <AnMaster> ehird, sure try to make it as smart as possible. I'm not against that. I'm just saying that there should still be an option to do a more classical manual merge of conflicts in files. Because there will be cases needing it sometimes.
15:03:16 <ehird> I'm not that much of an idiot, you know, to get rid of manual merges.
15:03:26 <AnMaster> ehird, wasn't completely sure about that ;P
15:03:47 <ehird> In fact, too-smart merges are a *bad* thing: you think that merge went through fine, but it actually messed up your source by second guessing you instead of going "hey i'm confused".
15:04:50 <AnMaster> ehird, asking when confused, but providing the "smart" merges as options would be useful maybe?
15:05:11 <ehird> I'll probably have pluggagble merges.
15:05:35 <AnMaster> "press m for manual, a for aborting merge, 1 for smart option one, 2 for other even smarter option, 3 for really cool option"
15:05:37 <ehird> What's the best protocol for rsync transport, btw? (for speed). rsync://, isn't it?
15:05:59 <AnMaster> ehird, that needs an rsync server set up and listening. And security is... bad.
15:06:09 <ehird> I mean for anonymous access.
15:06:11 <AnMaster> sure would work for anonymous pulling
15:06:22 <AnMaster> ssh+rsync for developer access though
15:06:23 <ehird> Well, you can't do rsync over http can you?
15:06:42 <ehird> zsync — Optimised rsync over HTTP
15:06:42 <ehird> This document describes the thinking behind zsync, a new file transfer program which implements efficient download of only the content of a file which is ...
15:06:42 <ehird> i wish i never said anything
15:06:49 <ehird> Anyway, ssh isn't really an option for anonymous pulling.
15:07:04 <AnMaster> ehird, isn't it? I have seen anonymous ssh
15:07:15 <AnMaster> iirc it was openbsd or netbsd ports/pkgsrc thing
15:07:23 <ehird> Well, ssh is slow, bulky, and there's always that risk of an exploit...
15:07:50 <ehird> I guess rsync:// for public and ssh:// for private is best.
15:08:00 <AnMaster> ehird, you can use another sshd. One that doesn't need to run as root.
15:08:16 <AnMaster> iirc launchpad uses such a one
15:09:20 <ehird> Why bother if rsync is faster and uses less resources?
15:09:39 <ehird> Well, to be fair, my distro will probably use http://matt.ucc.asn.au/dropbear/dropbear.html for the ssh/sshd by default.
15:09:46 <AnMaster> ehird, depends on how paranoid you and your users are
15:10:02 <ehird> If it's public it's public :P
15:10:12 <ehird> One thing that needs to be supported is only using ssh:// for stuff that needs authentication.
15:10:22 <ehird> e.g. have a "push" location as separate.
15:10:58 <AnMaster> if it is for a distro you could just sign every package
15:11:52 <ehird> I just meant that I'll be operating the server on my distro.
15:12:01 <ehird> So technically rsync wouldn't really be lighter than dropbear sshd.
15:12:08 <AnMaster> ehird, maybe a signed listing with the checksums of all rsynced files? that would provide some security against tampering with the rsynced data
15:12:19 <ehird> Are we talking about package distribution now?
15:12:37 <ehird> If I wanted to sign the packages I'd GPG-sign a file with checksums of all the files in the tree.
15:12:49 <ehird> rsync:// can be tampered with in transit?
15:12:53 <AnMaster> ehird, to make sure that the anon checkouts weren't tampered with
15:12:57 <AnMaster> ehird, man in the middle attack?
15:12:59 <ehird> Anyway, I don't see why you'd trust data from me anyway. :P
15:13:16 <ehird> Ah yes, the ever-trustable, professional ehird website.
15:13:25 <ehird> My reputation is through the roof.
15:14:16 <ehird> AnMaster: Anyway, I could just GPG-sign the hash of the commit.
15:14:24 <ehird> *PGP-sign. GPG is just an implementation...
15:14:31 <AnMaster> ehird, no, but I might want to trust the original devs of some project using ehirdvcs. And if I happen to live in some country where someone could want to tamper with source code I want to check out and run...
15:14:32 <ehird> The hash is calculatable from the commit, so...
15:14:41 <ehird> AnMaster: does any other vcs handle this?
15:14:47 <ehird> most anonymous checkouts are git:// or http://.
15:14:54 <AnMaster> ehird, well, those that do it over https or ssh could I guess
15:15:02 <ehird> yeah but how many open source projects are that?
15:15:19 <AnMaster> ehird, hm let me check my current checkouts
15:16:14 <ehird> Anyway, nothing would stop you setting up an anonymous ssh account for it if you really wanted to.
15:16:19 <ehird> You'd be silly, though.
15:16:44 <AnMaster> URL: https://desmume.svn.sourceforge.net/svnroot/desmume/trunk/desmume
15:17:40 <ehird> Ah yes, DS emulators.
15:17:50 <ehird> The most trust-needing pieces of software known to man.
15:18:05 <AnMaster> I don't know why it is that way
15:18:17 <AnMaster> ehird, anyway I assume this would work for any sf.net project
15:18:28 <ehird> Yeah, but nobody uses sf.net.
15:18:47 <ehird> Seriously, I rarely end up there nowadays, and it's usually a last-resort grab for obscure software.
15:20:31 <AnMaster> ehird, I think I saw a few more too. Might have been llvm (don't have a trunk checkout of it around currently)
15:24:09 <AnMaster> great. error on a line but the line number not matching
15:24:16 <AnMaster> in fact I can't find anything like that line nearby
15:24:18 <ehird> go doesn't geet that :P
15:24:31 <AnMaster> ehird, this is the MPW C compiler.
15:24:41 <ehird> all c compilers get it
15:25:06 <AnMaster> ehird, there is no #line directive in the file. And there is nothing close to it even nearby
15:25:30 <ehird> AnMaster: have you tested cfunge with tcc?
15:25:55 <AnMaster> ehird, yes, some time ago, failed to handle some C99 thing. I think it was for (int i = ....)
15:26:18 <AnMaster> that is, declaring the variable there instead of at the start of the function
15:26:28 <ehird> Well, can I try it? :P
15:26:37 <ehird> bzr branch lp:cfunge right?
15:28:30 * ehird compiles tcc with gcc, installs, compiles tcc with tcc, installs
15:28:36 <AnMaster> ehird, that's an expression, a sad one
15:28:40 <AnMaster> so that error makes no sense then
15:28:45 <ehird> Oh wait, tcc is elf only >_<
15:29:24 <AnMaster> ehird, mac os 9 seems to use xcoff and PEF
15:30:14 <AnMaster> PEF is for executables and shared libraries. xcoff is for object files, executables and shared libraries
15:30:31 * AnMaster isn't sure why have two overlapping ones
15:30:54 <ehird> Oi AnMaster, wget http://download.savannah.nongnu.org/releases/tinycc/tcc-0.9.25.tar.bz2; tar xf tcc-0.9.25.tar.bz2; cd tcc-0.9.25; ./configure --prefix=~/tcc; make; make install; cd ..; rm -rf tcc-0.9.25; tar xf tcc-0.9.25.tar.bz2; cd tcc-0.9.25; ./configure --prefix=~/tcc --cc=tcc; make; make install
15:31:11 <AnMaster> ehird, I would use ~/local/tcc
15:31:33 <AnMaster> ehird, plus does it really work as 64-bit?
15:31:47 <ehird> TCC version 0.9.25 is the first that supports the x86-64 target. Thanks to Shinichiro Hamaji for this.
15:31:51 <ehird> shinh of golf.shinh.org
15:31:55 <ehird> our beloved anarchy golf
15:32:03 <ehird> I have quite some trust in his skills, at least.
15:32:21 <ehird> Or you could just build the "cross compilers". tcc itself should run on amd64 just fine.
15:33:09 <oklokok> ehird: you fight considerably less with AnMaster these days, same thing happened with you and me, do you learn to love idiots, or just eventually realize at some point they won't change?
15:33:20 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
15:33:25 -!- oklokok has changed nick to oklofok.
15:33:34 <AnMaster> oklofok, there might be a third option
15:33:48 <oklofok> that they change? yeah right
15:33:49 <AnMaster> oklofok, that one would just upset ehird
15:33:50 <ehird> maybe you're all growing up and becoming less stupid
15:34:12 <ehird> oklofok already said that
15:34:24 -!- puzzlet has joined.
15:34:40 <ehird> anyway i don't really argue argue with oklofok, it's more like, you know, killing each other
15:34:52 <ehird> AnMaster is like, ripping out his mother's eyeballs and stomping on them and feeding them to satan
15:35:04 <AnMaster> anyway the change here would be in like "you becoming more mature"
15:35:17 <oklofok> AnMaster doesn't make it easy does he
15:35:39 <ehird> oklofok: have you noticed that the option AnMaster is proposing is a thinly-veiled "you finally realised with increased maturity that i am right"
15:36:02 <AnMaster> ehird, I didn't say that. No one is static.
15:36:14 <oklofok> i actually only noticed i have a hamburger i could be eating
15:36:21 <ehird> AnMaster is now a zen buddhist
15:36:27 <oklofok> but maybe that is a subset of hamburger?
15:36:40 <ehird> there are more hamburgers you could be eating
15:36:43 <ehird> than there are hamburgers
15:38:27 <AnMaster> actually this seems to be an ick bug
15:38:34 -!- coppro has quit (Read error: 145 (Connection timed out)).
15:39:10 <AnMaster> ehird, what is the size of that variable
15:39:40 <AnMaster> -std=c89 -pedantic with gcc gives:
15:40:05 <AnMaster> beer.c:2228: warning: ISO C forbids empty initializer braces
15:40:05 <AnMaster> beer.c:2228: error: zero or negative size array 'icd'
15:40:16 <AnMaster> ehird, sorry synergy copy-paste issues
15:40:36 <AnMaster> ehird, you can't have a 0-sized variable!
15:41:03 <AnMaster> ehird, only as a pointer to. But that wasn't what happened above
15:41:09 <ehird> yes, and *foo is size 0
15:41:11 <ehird> your mom is an ick bug
15:41:18 <AnMaster> ehird, the actual pointer is not size 0
15:41:44 <AnMaster> ehird, you can't have void bar;
15:41:56 <ehird> "You're complaining about C++ taking time to compile and link? That's hard to believe."
15:42:02 <ehird> fig a. cracksmoker
15:42:18 <AnMaster> ehird, eh, that is unrelated to this right?
15:43:18 <ehird> "This is one of the reasons Lisp doesn't get anywhere. The trend to promote features so clever that you stop thinking about your problem and start thinking about the clever features. CL's loop is so powerful that people invented functional programming so that they'd never have to use it."
15:45:00 <oklofok> ehird: hard to believe because it's like complaining about an idiot being stupid?
15:45:15 <ehird> no he told him to uses precompiled headers and a fast disk
15:45:28 <ehird> the post was about go by the creator of bittorrent
15:45:37 <ehird> they remarked how shitty C++ was for compiling so much more slowly than go
15:45:59 <ehird> so yeah maybe that C++ can build in 30 seconds with that precompiled shit and the expense on a fast disk, meanwhile go did it in less than a second
15:46:10 <ehird> (go builds its entire standard library, with one core, in less than ten seconds...)
15:47:11 <AnMaster> ehird, does it do much optimisation?
15:47:55 <ehird> It does some optimisation, but the minimalist bent of the libraries and the good design mean they it's fast even with minor optimisation.
15:47:57 <AnMaster> if that includes stuff like interprodecural optimisation, I'm extremely impressed.
15:48:08 <ehird> It turns out that most optimisation... really doesn't make much of a difference at all.
15:48:44 <AnMaster> ehird, does it compile to machine code or byte code?
15:48:45 <ehird> Oh, and the linker is really fast too...
15:48:48 <ehird> AnMaster: Machine code.
15:49:01 <ehird> Object code format is not .o, though.
15:49:14 <ehird> Libraries are .a, binaries are binaries, but intermediate objects are .N where N is the number for the architecture
15:49:32 <ehird> 8 = 386, 8g is compiler, 8l linker, .8 objects, 8.out default obj name
15:49:35 <oklofok> so has anyone implemented go in go yet
15:49:37 <ehird> same for 6 = amd64, 5 = arm
15:49:41 <ehird> it's the plan 9 toolchain
15:49:50 <oklofok> i mean... i could be named gogo.
15:49:56 <ehird> it's the actual plan9port linkers modified a bit, and compilers written in the same style as the plan 9 c compilers for the go
15:50:00 <ehird> AnMaster: it's arbitrary :P
15:50:08 <ehird> 8 is from x86 and 386
15:50:16 <ehird> they're just names
15:50:32 <ehird> Anyway, the linker is really fast.
15:50:39 <ehird> We're talking like instant fast.
15:50:41 <oklofok> what's interprocedural optimization?
15:50:42 <ehird> AnMaster: Hell yes.
15:50:53 <AnMaster> ehird, tcc is fast at compiling though
15:50:59 <ehird> It is probably one of the fastest compilers for a "real" language in existence.
15:50:59 <AnMaster> ehird, I think it did ick in like 5 seconds.
15:50:59 <ehird> Maybe the fastest.
15:51:10 <ehird> AnMaster: Whole. Standard. Library. Including creating the .a's.
15:51:13 <oklofok> i mean can i see an example of dat
15:51:15 <ehird> In less than 10 seconds.
15:51:24 <ehird> Including make overhead. Recursive make.
15:51:29 <AnMaster> ehird, no preprocessor I guess?
15:51:29 <ehird> AnMaster: The stdlib is >100k lines of Go.
15:51:32 <ehird> In about 9 seconds.
15:51:42 <AnMaster> ehird, cached in memory I assume?
15:52:03 <ehird> So, basically, the gc Go compiler can process something like 10,500 lines of code a second.
15:52:07 <AnMaster> ehird, fast disk then. or all in a few files
15:52:23 <ehird> It may have been SSD, but I don't think so. These times are similar to those by others.
15:52:27 <ehird> It's split into many files.
15:52:35 <ehird> So a regular disk or SSD. Probably disk.
15:52:43 <ehird> Regardless, the source files are quite small.
15:52:51 <AnMaster> ehird, not a lot of seeking then
15:52:57 <ehird> Well, not that small.
15:53:01 <AnMaster> because disk seeks sounds like the main oerhead here
15:53:04 <ehird> Are you just trying to find excuses to say it's bad or not fast?
15:53:10 <ehird> 10,500 lines of code a second.
15:53:17 <ehird> No other compiler for a real language comes anywhere near close.
15:53:18 <AnMaster> ehird, no. I'm just wondering how fast.
15:53:32 <ehird> Remember that this is from the guys who brought you C, Unix and Plan 9.
15:53:38 <ehird> They're *really* good at compilers and operating systems.
15:53:45 <AnMaster> ehird, how long did it take when the source files was cached in memory already?
15:53:46 <ehird> Probably the best in the world.
15:53:51 <ehird> AnMaster: I don't know.
15:53:57 <ehird> http://golang.org/pkg/
15:54:00 <ehird> That's the whole stdlib.
15:54:04 <ehird> Look at the package list.
15:54:16 <ehird> >100,000 lines of code, in 9 seconds. Seriously, you've gotta be impressed.
15:54:25 <AnMaster> ehird, yes. But question is how impressed.
15:54:41 <ehird> Past the minimum bound it's so high anyway it doesn't really matter.
15:55:48 <ehird> AnMaster: I mean, no other compiler really comes close.
15:55:59 <ehird> It's not like a second or so difference will knock it off top spot.
15:56:25 <AnMaster> ehird, wc -l claims ick ends up at 20998 lines. tcc managing that on a pentium3 in about 5 seconds, including link time and such isn't too bad.
15:56:53 <ehird> But whatever, Go is really fast.
15:56:56 <AnMaster> that is, time for make on clean but configured source tree.
15:56:58 <ehird> Okay, rewatched the video.
15:57:09 <ehird> Go tree is about 120,000 lines of code, build took 9.231 seconds.
15:57:23 <ehird> Which comes to 12999.675 ~= 13,000 lines of code a second.
15:57:25 <AnMaster> ehird, which is indeed impressive. But what specs was that
15:57:32 <AnMaster> a bit better than a pentium3 I bet
15:57:39 <ehird> It's a MacBook Pro of some description, I think the 15" model
15:57:44 <ehird> Google-supplied, almost certainly
15:57:51 <ehird> Since they're not really Mac guys, I'd guess
15:57:58 <ehird> So not too high specs
15:58:11 <AnMaster> ehird, would be better than an old dell pentium3 system with a slow pata disk in any case
15:58:34 <ehird> Okay, I concede, Go is nothing special, tcc is totally kicking awesome. Happy now?
15:58:44 <AnMaster> ehird, I'm not saying Go is not special
15:59:07 <AnMaster> I agree it is impressive. But I just want to point out that it isn't *that* special. tcc manage quite well
15:59:16 <AnMaster> go seems faster than tcc still
15:59:50 <AnMaster> comparing to gcc the difference is extreme
15:59:53 <ehird> You also have to remember that Go is much more intensive to compile than C.
15:59:57 <ehird> For instance, the method lookups.
16:00:02 <ehird> The concurrency stuff.
16:00:06 <AnMaster> ehird, what about preprocessor?
16:00:18 <ehird> No preprocessor, but it does do a lot of clever dependency stuff, which is more cost.
16:00:24 <ehird> So you can't really compare it to a C compiler.
16:00:36 <ehird> Especially not on such a pathological codebase as ick.
16:00:42 <AnMaster> ehird, still include files seems to take quite some time when there are many and deeply nested.
16:01:10 <ehird> I was considering "Cthuolic" :D
16:01:27 <ehird> (Fun fact: The Go compiler is probably fast at least in part because it doesn't use libc.)
16:01:44 <ehird> (It uses plan9port's lib9; the Plan 9 libc ported to Unixes.)
16:01:52 -!- puzzlet_ has joined.
16:01:55 <AnMaster> ehird, I think that is too extreme. It is quite ok C. At least in the compiler itself. Less so in the generated code of course
16:02:05 <ehird> What is quite ok C?
16:02:14 <AnMaster> ehird, parts of the compiler itself
16:02:17 <ehird> It certainly is pathological, though.
16:02:28 <ehird> ((Russ Cox, the plan9port maintainer, is part of Go, but I imagine they used lib9 before that, being Plan 9 weenies))
16:02:30 <AnMaster> ehird, the generates parts I agree are "Cthuolic"
16:02:43 <AnMaster> that is, oil generated files, and generated c code for intercal programs
16:02:53 <AnMaster> oil is *definitely* "Cthuolic"
16:03:13 <AnMaster> ehird, is Russ Cox part of Go?
16:03:23 <ehird> Yes. And Ken Thompson.
16:03:30 <ehird> AnMaster: hardy har har
16:03:51 <AnMaster> ehird, it actually took me several seconds to figure out you meant "go team"
16:06:33 <ehird> Nah, but it's certainly bloated, even BSD libc.
16:06:52 <ehird> Plan9port's lib9 is very lean and mean in comparison, especially since it does away with a lot of legacy interfaces and adds some of its own.
16:07:03 <ehird> (http://swtch.com/usr/local/plan9/src/lib9/ btw.)
16:09:57 <ehird> fun how minimalist the plan 9 c compilers are
16:10:01 <ehird> no -l, you just pass in the name of the .a
16:11:55 <AnMaster> ick_lose(IE000, 304, "PLEASE ""KNOC""K BEFORE ENTERING\n\
16:14:12 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
16:22:30 -!- ais523 has joined.
16:23:45 <AnMaster> ais523, see http://sprunge.us/TDPZ
16:24:11 <AnMaster> ais523, there is a rather serious code gen bug at the end
16:24:38 <ehird> he'll never click on any of your links again, AnMaster
16:24:39 <fizzie> ehird: Things like the GNU binutils ld (and by extension, gcc) cheerfully accept plain old ".a" files too; the difference there (I think) is that if you say "libfoo.a", it'll just add all object files in foo.a, and you need "-lfoo" for the more intelligent "include objects only if they contain symbols that other files refer to" thing.
16:24:45 <ais523> does appear to be a pastebin, after all
16:25:04 <ehird> Phew. It could have been ASCII porn. Your w3m was at risk.
16:25:12 <oklofok> maybe it's a pornbin, but AnMaster doesn't know how to use it
16:25:24 <fizzie> Quick, paste in the indecent (.)(.) and provide a link!
16:25:32 <AnMaster> ais523, the point of it is that the way to add a paste is: cat ick-mpw-issues.txt | curl -F 'sprunge=<-' http://sprunge.us
16:25:47 <ehird> Useless use of cat and curl feature.
16:25:49 <ehird> Let me fix that for you.
16:25:58 <ehird> curl -F 'sprunge=<ick-mpw-issues.txt' http://sprunge.us
16:25:59 <AnMaster> ehird, you could use < yes for example
16:26:07 <ehird> You could realise what <- actually means.
16:26:13 <ehird> "Get form value from... stdin"
16:26:45 <AnMaster> ehird, so I shall need to adapt the function for it a bit
16:26:48 <ais523> AnMaster: that last bug is serious, but trivially fixable
16:27:03 <ais523> I could just add an extra element at the end full of NULLs
16:27:03 <AnMaster> ais523, I don't know what the right thing is
16:27:15 <AnMaster> ais523, well, what about the lexer.c bug
16:27:20 <AnMaster> that one is harder to fix it seems
16:27:47 <ais523> also, there aren't any shared libraries in ick, it's all static linking
16:27:56 <ais523> the lexer.c bug looks nasty
16:28:16 <AnMaster> ais523, would need to go upstream to flex?
16:28:28 <AnMaster> ais523, also ick too has line ending problems
16:28:43 <ais523> AnMaster: seems rather unlikely given that \r and \n are equivalent in INTERCAL
16:28:53 <ais523> ehird: the output of lex can't legally be redistributed
16:29:07 <ehird> what, caldera lex?
16:29:11 <ehird> it's BSD-licensed, iirc
16:29:26 <ais523> ehird: Solaris lex, at least
16:29:28 <ehird> Though traditionally proprietary software, versions of Lex based on the original AT&T code are available as open source, as part of systems such as OpenSolaris and Plan 9 from Bell Labs. Another popular open source version of Lex is Flex, the "fast lexical analyzer".
16:29:53 <AnMaster> ais523, well, I get different compiler errors for the output files depending on line endings in ick-wrap.c syslib.i and beer.i
16:30:10 <ehird> ais523: have i mentioned to you that go is cool
16:30:13 <ais523> hmm... the isatty problem can be fixed simply by defining it to always return 0 if autoconf says that isatty isn't present
16:30:15 <AnMaster> ais523, in no case is the output of ick on mac the same as ick on *nix
16:30:23 <AnMaster> ehird, even when stripping the compile command line
16:30:43 <ehird> mac os has no file redirection
16:30:57 <ehird> or does it do cursor movement stuff
16:31:08 <AnMaster> ehird, MPW emulates redirection
16:31:58 <ais523> ehird: b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
16:31:58 <AnMaster> ais523, sure, but mac doesn't use autoconf, so I'll need to update config.h I guess
16:32:04 <ais523> and we want yy_is_interactive to be 0 in that case
16:32:17 <ehird> ais523: I told you autotools was unacceptable
16:32:19 <ehird> but did you listen?!
16:32:27 <ehird> it doesn't support mac os!
16:32:33 <ais523> platforms on which it doesn't run can have their own config.h bundled
16:32:42 <ehird> you could have written a nice, portable k&r c configurator with just a few times more work and provided an EQUAL EXPERIENCE TO EVERYONE
16:32:45 <AnMaster> ais523, http://sprunge.us/UIaA
16:32:45 -!- ehird has left (?).
16:32:49 -!- ehird has joined.
16:32:50 <AnMaster> ais523, tell me how bad that diff looks
16:33:04 <AnMaster> ais523, one is generated on *nix the other on mac
16:33:07 <ehird> i'll shut up if y'all help me find out how to get files into a vm so i can get ick working
16:33:17 <ais523> AnMaster: the ick_abstained line looks very wrong
16:33:24 <AnMaster> ehird, do you have a volume called "unix"?
16:33:35 <AnMaster> ehird, or maybe that needs system 7
16:33:37 <ehird> I haven't set it up yet
16:33:39 <ais523> AnMaster: ooh, it looks like the mac version isn't linking in syslib
16:33:44 <AnMaster> ehird, otherwise hmount to mount and copy it over
16:34:03 <AnMaster> ais523, it should be. it complained about that first but I copied syslib to the current directory, and it stopped complaining
16:34:25 <ais523> also, the mac version has an E000 error on /every single line/
16:34:37 <AnMaster> ais523, yes. Any idea what might be wrong basically
16:35:00 <ais523> or possibly a really persistent parsing failure, but that's less likely
16:35:07 <AnMaster> ais523, anyway tht isatty line, I think it complained about fileno too. something about fileno prototype not matching
16:35:11 <ais523> it didn't link syslib because it was unreferenced
16:35:28 <AnMaster> ais523, oh and things complain about getc being defined in standard library as well as in lexer.c
16:35:42 <AnMaster> ais523, saying that it is undefined which is called
16:36:00 <ais523> ugh, I /knew/ that getc hack would come back to bite us more than once
16:36:17 <ais523> it wasn't me who wrote it originally, but it's really hacky and looks really problematic
16:36:19 <AnMaster> ais523, what does that getc thing do?
16:36:32 <ais523> AnMaster: basically, getc is a macro
16:36:36 <ais523> so C-INTERCAL #undefs it
16:36:40 <ais523> and substitutes its own getc
16:36:59 <ais523> this has already lead to a problem once with the new getc calling itself recursively, which I fixed by bypassing stdio on file read
16:37:08 <AnMaster> ais523, no it isn't iirc. the mac claims it is a function in the libc thingy
16:37:15 <ais523> but it seems it's lead to another one where getc isn't actually a macro
16:37:57 <ais523> you could fix it using the C++ keyword hack
16:37:58 <AnMaster> ais523, why not just rename the function if you need the special version...
16:38:03 <ais523> AnMaster: I have no idea
16:38:13 <ais523> I didn't write C-INTERCAL originally
16:38:22 <ais523> probably because it would be too hard to get traditional lexen using some other function
16:38:42 <ais523> anyway, #define getc overriden_getc should work
16:39:00 <ais523> if you can get it to the top of lexer.c somehow
16:39:12 <AnMaster> ais523, huh? what does c++ has to do with this
16:39:15 <ehird> AnMaster: did you run sheepshaver at >original speed?
16:39:25 <AnMaster> ehird, eh? I never saw that option
16:39:30 <ehird> mini vmac does 8x unless you change it, which is nice but doesn't feel kosher :P
16:39:37 <AnMaster> ehird, I use the svn version of sheepshaver with experimental JIT support
16:39:53 <AnMaster> which is quite reasonably fast
16:40:19 <AnMaster> ehird, it runs about the same speed as my old ibook. A little faster for some stuff (boots faster, probably due to faster disk) but a little slower for some other stuff
16:41:32 <AnMaster> ais523, anyway, I did get beer.c generated on unix and with that code gen bug fixed to compile on mac against libick. Worked. As an MPW tool too
16:41:33 <ehird> ImportFl is an application to use in Mini vMac (version 3.0.0 or later) to import files into the emulated computer from the real computer.
16:41:33 <ehird> When ImportFl is the active application running in the emulated computer, then any of the methods normally used to mount a disk image will instead import a file. For example, dragging the icon of the file to be imported into the Mini vMac window.
16:41:33 <ehird> warning: When attempting to use ImportFl, if you see a dialog asking if you want to initialize the disk, choose “Eject”, not “Initialize”! This will happen if ImportFl is not actually the active application, in which case the file you are attempting to import is treated as a disk image. Choosing “Initialize” will turn it into a valid disk image, destroying parts of the previous content.
16:41:36 <ehird> ImportFl is mostly useful for importing archives, since it only imports the data fork of a file, not Macintosh specific information such as the resource fork, the file type, the file creator, and comments.
16:41:58 <AnMaster> ais523, so if I can get the odd bug in that diff fixed so it can actually generate correct code itself..
16:42:09 <AnMaster> but I have no clue what could be wrong there
16:42:49 <ais523> that could be wrong where?
16:43:47 <ehird> damn, running MPW will be such such fun in this tiny, black-and-white display
16:43:55 <ais523> newline mapping for ick: \n becomes \n, \r\n becomes \n, \r\r becomes \r, \r on its own becomes a null string
16:44:03 <ais523> this is correct for Windows and DOS, but not classic Mac
16:44:17 <AnMaster> ais523, indeed. Where does one fix it. Needs to be fixed for ick and for oil
16:44:51 <ais523> for ick, it can be fixed inside getc by swapping \n and \r immediately before the if (bangflag) check
16:45:09 <AnMaster> ais523, um I have both CR and LF files
16:45:25 <ehird> AnMaster: what bbedit lite do you have?
16:45:30 <ais523> AnMaster: does ick work on a CR INTERCAL file? does it work on an LF INTERCAL file?
16:45:45 <ehird> The Wayback Machine is down for scheduled maintenance.
16:45:52 <AnMaster> ais523, neither. But "doesn't work" in different ways
16:45:58 <ais523> what are the two sorts of error?
16:46:11 <ais523> the diff you showed me is clearly the wrong line ending, as none of the lines parsed at all
16:46:26 <ais523> which would hide all the other errors; if you're compiling every line into a syntax error, most of the code never runs
16:46:30 <ais523> the error in the other case would be more interesting
16:46:35 <AnMaster> ais523, with \n it seems like those comments containing the original intercal each contain the whole original file with newlines stripped
16:46:56 <AnMaster> ais523, remember that \r and \n are swapped by the standard library
16:47:16 <ais523> that makes a lot of sense, actually
16:47:26 <ais523> it's failing to parse both ways roudn
16:47:37 <ais523> but the error message is the /line/ of the original source that wasn't parsed
16:48:02 <ais523> AnMaster: can you run a simple file with \r line endings through ick -d, and paste the corresponding debug output?
16:48:07 <ais523> a simple INTERCAL file, that is
16:48:08 <AnMaster> ais523, yes. And I only tried all LF and all CR. I guess I could try all possible combos for ick-wrap.c syslib.i and beer.i
16:48:20 <AnMaster> ais523, give me a short one then
16:48:34 <AnMaster> ais523, shortest possible one would be nice
16:48:58 <ais523> AnMaster: pit/tests/limits.i is probably about the right length
16:49:10 <ehird> Type: Evaluation Copy
16:49:10 <ehird> Registration Fee is $30.00 after 15 days
16:49:10 <ehird> Minimum Requirements:
16:49:11 <ehird> Download Time: 5 minutes at 28.8 kbps
16:49:12 <ehird> This software is Year 2000 compliant.
16:49:14 <ehird> —http://download.mindspring.com/mac/stuffitlite.html
16:49:27 <ais523> ehird: are you planning to pay the reg fee?
16:49:39 <ais523> AnMaster: -d implies -c
16:49:40 <ehird> ais523: I don't think they'd let me even if I wanted to.
16:49:50 <ehird> "StuffItLite36_Installer.sit"
16:50:10 <AnMaster> ais523, it is spewing output to my mpw worksheet. Guess I'll redirect it
16:50:23 <SimonRC> ehird: if that means what I think it means, I agree
16:50:31 <ehird> .sit is indeed the Stuffit format
16:50:43 <AnMaster> ais523, is that stdout or stderr?
16:50:55 <ais523> AnMaster: I can't remember offhand
16:51:00 <ais523> probably stderr, though
16:51:02 * ehird picks up an hqx bbedit until that conundrum is sollve
16:51:21 <ehird> hqxs just turn into .sits
16:52:05 <ehird> OS X expanding them
16:52:07 <ehird> so they contain .sits
16:52:14 <ehird> AnMaster: what stuffit you got
16:52:16 <AnMaster> ais523, and I can't redirect both to same file it seems
16:52:24 <ais523> redirect them to different files then
16:52:29 <ais523> the relative order isn't all that important
16:52:54 <AnMaster> ais523, do you want the file itself too?
16:53:09 <ais523> just the stderr/stdout output
16:53:18 <ais523> cat them together to save pastebin space
16:53:23 <ehird> http://www.jagshouse.com/software/StuffItExpander351.sea
16:53:26 <ehird> .sea, that sounds better
16:53:29 <ehird> Self-extracting archive
16:54:16 <fizzie> For *really* old .sit files you can just use the "macunpack" tool from the "macutils" collection to unpack. (Personally it hasn't eaten most web-downloaded .sit files I've found, though.)
16:54:30 <AnMaster> ais523, stdout: http://sprunge.us/WNGO
16:54:32 <ehird> Guess I need the rfork.
16:54:43 <AnMaster> ais523, stderr: http://sprunge.us/NDVB
16:54:52 <AnMaster> ais523, probably uses CR those files
16:55:16 <ais523> that explains the errors, at least
16:55:30 <AnMaster> ais523, that was CR. I'm pretty sure
16:55:53 <ais523> solution here seems to be to set both 0xa and 0xd to the same value in the parser
16:56:29 <ais523> in those lines in lexer.l, change \n to \n\r
16:56:39 <ais523> given that "W" means "whitespace", it's OK to consider \r as whitespace i think
16:56:56 <ais523> it's what you compile to create lexer.c
16:57:32 <ais523> change it over on a Linux system, then do make repoupdate
16:57:38 <ais523> to get a new prebuild lexer.c
16:57:59 <ais523> digits followed by optional whitespace
16:58:15 <AnMaster> ais523, my lexer.c differs in more than that from the pre-built, it has some IA64 #ifdefs now
16:58:26 <AnMaster> oh and right, I need to change the isatty to 0 again
16:58:29 <fizzie> That looks more like "digits with maybe whitespace between them too".
16:58:48 <ais523> INTERCAL has its own attitude to whitespace insensitivity
16:59:15 <fizzie> A bit funny that "12 \n\r\r\r\n 34 \n\n\n\n" is a single token.
17:00:17 <ehird> but the resource fork won't copy
17:00:36 <AnMaster> ais523, still the getc warning
17:00:47 <ais523> fizzie: sorear's interpretation of the INTERCAL spec is that whitespace is allowed even inside comments
17:00:47 <AnMaster> about it being defined in StdCLib
17:00:58 <ais523> AnMaster: write #define getc getc_override just after #undef getc
17:01:13 <ehird> And you can mount it
17:01:35 <AnMaster> ais523, so what should I test now?
17:02:07 <ais523> AnMaster: whether you can now compile that test program and get something other than infinite syntax errors
17:03:32 <AnMaster> ais523, now I get the same error as on unix. that is the code gen bug
17:03:46 <AnMaster> will manually fix that empty array and retry
17:04:11 <ais523> and see if the resulting C file is reasonable
17:04:47 <ehird> Okay, got Stuffit and BBEdit Lite.
17:05:01 <fizzie> Hey! That "use mkisofs/genisoimage to make a HFS cd image so that I can get my separate 'foo' data and '._foo' resource forks joined together" trick I did with Glider 4 was probably unnecessary; I just noticed that the "macstream" make-a-MacBinary-file has a support for split files; if an input file ends with .info, it reads the corresponding .data and .rsrc files too.
17:07:17 <ehird> ais523: do you think 4 megs of ram is enough to compile ick?
17:07:36 <AnMaster> ais523, -c will always be needed on classic mac btw
17:07:47 <ais523> ehird: generate C, not a binary
17:07:49 <AnMaster> ais523, and it should output the commands to compile it to stdout
17:07:57 <ehird> i'ma gonna put some stuff on my totally p!!mp!n mac and then yeah mpw it up
17:08:00 <AnMaster> ais523, reason is that MPW tools can't invoke other MPW tools
17:08:21 <ais523> commands to compile are already available
17:08:30 <ais523> although I forget which variable they're in
17:08:56 <AnMaster> ais523, well the standard ones won't work. like you can't do -Ifoo/ you do -i :foo:
17:09:12 <ais523> looks like we'll need a #ifdef somewhere for the platform
17:09:12 <AnMaster> as for -L I haven't found that
17:09:30 <AnMaster> you should use the standard variables
17:09:58 <AnMaster> like "{PPCLibraries}"PPCToolLibs.o
17:10:18 <AnMaster> ais523, and you need to specify the c library to the linker
17:10:23 <AnMaster> oh and compiler can't call linker
17:10:31 <AnMaster> let me copy over the commands I used to test that
17:12:13 <AnMaster> ais523, http://sprunge.us/JVAa
17:12:45 <AnMaster> ais523, ick-wrap.c and syslib.i were in current directory
17:13:18 -!- adam_d has joined.
17:13:58 <AnMaster> ais523, and beer is compiled as an MPW tool. Which might be a suboptimal solution. Possibly a free standing program is better. To prevent it from locking up MPW in case of bugs
17:14:44 <AnMaster> ais523, could use that SIOW thing which does IO in a window for you. To emulate a "glass teletype" I think the term was in the docs for that bit
17:19:17 <pikhq> AnMaster: It's on Mac. Bugs can lock up the whole OS.
17:19:22 <pikhq> ... And kill your cat.
17:20:07 <AnMaster> pikhq, well, as in "waiting for IO means you can't quit it"
17:20:24 <pikhq> Ah. Simpler bugs than "while(true);"
17:21:49 <SimonRC> I heard a story somewhere about macs that kept breaking a certain computer network
17:22:32 <ehird> Nice hex editor...
17:22:33 <SimonRC> it turned out they didn't respond to the network while a user was looking at a menu
17:22:37 <ehird> Will install this XLisp thing then go on to
17:23:08 <fizzie> AnMaster: Speaking of the emulators (BasiliskII, SheepShaver), did you happen to try out the networking parts?
17:23:36 <ehird> BasiliskII can do tcp/ip i believe; there's a twitter client
17:24:09 <ehird> Okay, slight issue.
17:24:13 <ehird> Does MPW actually run on System 6?
17:24:46 <ehird> 3.1 and under were System 6-only, even.
17:26:42 <ehird> This XLisp seems quite good.
17:26:58 <ehird> Calculated (fact 100) and all.
17:26:59 <fizzie> BasiliskII can do networking, in theory, but it's awfully outdated. There's a custom kernel module (sheep_net) to make it attach to a real Ethernet interface, but I'm not sure it'll compile with anything modern; there's also an ethertap-based virtual networking thing, but it tries to use the obsoleted /dev/tapN devices (nowadays you have to open /dev/net/tun and do an ioctl); and the third option is a bit undocumented thing that sort-of seems to send all the
17:26:59 <fizzie> outgoing ethernet packets tunneled in broadcast UDP packets, which is not very standard (or easy-to-plug-into-routing) either.
17:27:13 <fizzie> Maybe there are some modernization patches in the webs, though.
17:27:26 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)).
17:28:45 <ehird> Okay, time for serious stuff.
17:29:36 <ehird> ais523: are you ready to support a user with an emulated Mac Plus with 100 MiB of DISK, 4 MiB of RAM (8 MiB maximum addressable), Macintosh System Software 6.0.8, Macintosh Programmer's Workshop something and a copy of the latest-'n-greatest C-INTERCAL?
17:30:04 <ais523> probably not, but I'll probably try anyway
17:30:23 <ehird> With a black-and-white 512x342 display, at that.
17:30:37 <ehird> ais523: When did C-INTERCAL originate?
17:31:05 <AnMaster> <fizzie> AnMaster: Speaking of the emulators (BasiliskII, SheepShaver), did you happen to try out the networking parts? <-- yes
17:31:12 <AnMaster> slirp or something like that iirc
17:31:33 <ais523> version 0.3, the earliest I've managed to find, was dated 12 May 1990
17:31:52 <ehird> Same year as the last update of this System 6! If only esr was a Macintosh user.
17:32:13 <ais523> gah, this means I'm older than C-INTERCAL
17:32:17 <ais523> there's something wrong with that
17:32:31 <ehird> dude, I'm younger than Agora
17:33:11 <oklofok> i'm younger than my own father
17:37:19 <AnMaster> fizzie, slirp works fine for internet explorer 5.1 btw
17:37:32 <ehird> AnMaster: what files did you download to get mpw?
17:37:48 <AnMaster> ehird, the main mpw img (iirc) plus various updates to it
17:38:00 <ehird> but it's too recent
17:38:14 <AnMaster> http://developer.apple.com/tools/mpw-tools/
17:38:31 <AnMaster> ehird, if it is too recent or not wasn't in the original question
17:38:34 <ehird> http://lists.apple.com/archives/MPW-Dev/2003/Jan/msg00029.html >_<
17:38:52 <ehird> http://www.macintoshgarden.org/apps/macintosh-programmers-workshop-30-31
17:39:49 <ehird> Wow, it's a CD-ROM.
17:40:26 <ehird> AnMaster: what's SADE
17:40:48 <ehird> macbugs, mpw, resedit, sade
17:40:52 <ehird> some debugger thing
17:41:24 <ehird> MPW 3.1 + ResEdit 1.2.
17:42:49 <AnMaster> ehird, macsbug breaks under sheepshaver, because it needs better emulation of hardware
17:43:03 <AnMaster> sheepshaver and basiliskII both take some shortcuts with the MacOS ROM iirc
17:43:09 <AnMaster> so they don't have to emulate all hardware
17:43:38 <AnMaster> ehird, not sure if macsbug work under basiliskII
17:43:39 <ehird> ResEdit is there but not MPW. I'll try copying again.
17:43:45 <ehird> AnMaster: Mini vMac is full emulation
17:43:50 <ehird> which is why you can't futz with the screen res etc
17:44:14 <fizzie> AnMaster: Right, my BasiliskII README just doesn't say anything about it; now that you mention it, I guess I remember seeing it in the config dialog thing. MacTCP or OpenTransport inside, though?
17:44:15 <ehird> Because it requires ROM hacks, and it's meant to be authentic (it breaks some shit).
17:44:35 <AnMaster> fizzie, sheepshaver. OS 9. That means opentransport is the only thing
17:44:37 <ehird> You use Mini vMac with ROMs straight from a real Mac, fully-emulated.
17:44:42 <AnMaster> fizzie, never tried network under basiliskII
17:45:39 <ehird> MPW was right behind the system folder
17:46:00 <fizzie> AnMaster: Ah, okay. I was thinking of this System 7; I installed both MacTCP, OpenTransport and the "Network Software Selector", and I remember it working just fine in the Performa (there was a control strip thing that could be used to select the TCP stack), but in this emulated thing I don't seem to be able to find the selector, just the MacTCP parts.
17:46:02 <ehird> Oh, non-icon view. Why didn't I switch to that earlier?
17:46:31 -!- oerjan has joined.
17:46:35 <ehird> AnMaster: what app do you start to start MPW? MPW Shell?
17:46:49 <ehird> Holy fucking shit...
17:46:57 <ehird> Last modified Friday, December 15th, 1989.
17:47:18 <ehird> ais523: It's somehow more intimidating than the vintage Unix.
17:47:25 <ehird> It's ... so close that it must be so ... far?
17:47:48 <AnMaster> <ehird> AnMaster: what app do you start to start MPW? MPW Shell? <-- yes?
17:48:09 <AnMaster> ehird, actually no, I double click my makefile, so current working directory is correct
17:48:10 <ehird> Aaaand we're loaded
17:48:26 <ehird> Shall I try a hello world mmhm?
17:48:48 <AnMaster> ehird, sure. You will need SIOW or MPW tool for it to work under 68k
17:48:58 <AnMaster> otherwise the output goes nowhere
17:49:16 <ehird> All anyone had was 68k.
17:49:16 <AnMaster> ehird, yes. But SIOW is for 68k too
17:49:26 <ehird> ais523: even C is an oddity, as these macs did Pascal
17:49:41 <AnMaster> ehird, some code to wrap a portable C app so standard IO goes to a window
17:49:54 <AnMaster> ehird, you can't pass command line parameters
17:50:05 <ehird> Third-party code, I guess?
17:50:05 <AnMaster> if you need that, MPW tool is your only option
17:50:13 <ehird> Does MPW tool have any downsides?
17:50:14 <AnMaster> ehird, there is an example included with both MPW and one with codewarrior
17:50:44 <AnMaster> ehird, yes: you run inside mpw, so you can't call another mpw tool, and memory leaks will as far as I understand affect mpw
17:50:49 <AnMaster> oh and you can easily lock up mpw
17:51:19 <AnMaster> ehird, however you can use a normal program + some resources for it. At least under PPC. Not sure if it works the same for 68k
17:51:32 <ehird> ais523: would you accept a patch to C-INTERCAL that let you configure that args are from stdin?
17:51:34 <ehird> instead of argc and argv
17:51:52 <ais523> yes, patches to make things configurable are always fine
17:52:01 <ais523> as long as they don't change the default
17:52:02 <AnMaster> ehird, um. ick as MPW tool works fine
17:52:10 <ais523> and don't do anything else ridiculous
17:52:10 <ehird> ais523: zzo38 would have a field day
17:52:12 <AnMaster> and I will soon prepare my patch to ais523
17:52:15 <ehird> AnMaster: But I want separate apps!
17:52:27 <AnMaster> ehird, for a compiler it is useful as an MPW tool
17:52:31 <AnMaster> for the generated apps it isn't
17:53:08 <AnMaster> ais523, anyway, what about a patch for lexer.c?
17:53:10 <ehird> "Drag the source file to the Compile with Ick icon. A new icon should appear, named INTERCAL Application. Rename it to what you want and drag it somewhere."
17:53:31 <ehird> Why is iit useful as an MPW tool?
17:53:36 <AnMaster> ehird, you can't call the MPW C compiler from outside MPW iirc
17:53:45 <AnMaster> so you need to somehow open MPW and run it there.
17:53:53 <ehird> But you said it doesn't work calling the cc anyway.
17:54:12 <AnMaster> ehird, well as an external app you could possibly do it
17:54:18 <AnMaster> if you have multitasking back there
17:54:27 <AnMaster> ehird, oh btw does your MPW have something called "toolserver"?
17:54:51 <AnMaster> if not, and no apple script you can pretty much forget calling compiler for the user
17:54:52 <ehird> How would I find out?
17:55:14 <AnMaster> ehird, toolserver would be in same dir as mpw shell
17:55:17 <ehird> You have ick as an MPW Tool and it can't call cc you said.
17:55:19 <oklofok> i don't like kanye west's music.
17:55:19 <ehird> So that's not an advantage.
17:55:31 <ehird> And didn't you say the arguments had to be existing files?
17:55:57 <AnMaster> <ehird> You have ick as an MPW Tool and it can't call cc you said. <-- no but command line args work, and you can use the make stuff in mpw and so on. It integrates just like the C compiler does
17:56:31 <ehird> You have to write support code though, right?
17:56:37 <AnMaster> ehird, and arguments = existing files was for normal programs
17:56:53 <ehird> How do I make an MPW Tool Hello World?
17:56:58 <ehird> This interface is inscrutable.
17:57:03 <AnMaster> ehird, there is an example with my mpw version
17:57:20 <ehird> Example projects, certainly; I just don't know how to go about creating one of my own.
17:57:43 <AnMaster> ehird, I figured that out from the example programs though :P
17:57:53 <ehird> Anyway, what will my output applications do?
17:57:58 <AnMaster> ehird, standard C program, compile C file, some special linker flags, some special resources (Using Rez)
17:57:58 <ehird> Use that other one?
17:58:18 <ehird> Also, I don't even know how to say "Here, give me a new project".
17:58:29 <AnMaster> ehird, there is no project. Write a makefile
17:58:29 <ehird> Yes... you said MPW Tool is good for ick...
17:58:32 <ehird> Not the resulting programs...
17:59:02 <AnMaster> ehird, well bad for resulting program because standard input is weird for them. And it is easy to lock up MPW
17:59:17 <ehird> So... why not make it non-MPW Tool?
17:59:22 <AnMaster> so far I did them as MPW tools however. For reasons of ease of testing
17:59:51 <AnMaster> ehird, that's a free standing app
18:00:03 <AnMaster> SIOW is some stuff you link to your app
18:00:08 <ehird> Anyway, what do I write first? I have Six:Code:Hello MPW.
18:00:10 <AnMaster> I haven't looked into the details of that yet
18:00:26 <AnMaster> ehird, open mpw and create a c file and a make file?
18:00:37 <AnMaster> now I'm busy preparing a patch. Kay?
18:00:44 <ehird> See, that's kind of the thing in that I don't have a clue how.
18:01:10 <ehird> Also there are projects
18:01:14 <ehird> "Projects → New Project..."
18:03:03 <ehird> So, File → New... "hello.c", I guess.
18:03:23 <AnMaster> ais523, what about oil needing \r in the *.oil file?
18:03:36 <ehird> Does my C file need special magic or can I just stdio 'er up?
18:03:36 <AnMaster> ais523, how would I fix it to work with both
18:03:39 <ais523> AnMaster: you could probably fix that much the same way in oil.y
18:04:02 <AnMaster> ais523, that is not lex. that's yacc. That's different isn't it?
18:04:15 <ais523> oil.y doesn't use lex at all
18:04:18 <ais523> it has a hand-built lexer
18:04:38 <AnMaster> ais523, so I guess that is where it needs to be fixed?
18:05:07 <ehird> Does my C file need special magic or can I just stdio 'er up?
18:05:47 -!- coppro has joined.
18:06:23 <AnMaster> ais523, I'm afraid the mac makefile probably requires CR line endings. I'm not sure. Still patch doesn't like it very much...
18:06:57 <ais523> AnMaster: even if you tell it to ignore whitespace
18:07:11 <ais523> ehird: I have no idea what you mean, if that question was directed at me
18:08:11 <AnMaster> ais523, actually MPW seems happy with LF line endings heh
18:08:19 <ehird> AAAAAAAAAAANMAAAAAAAAASTER
18:10:09 <AnMaster> ais523, what about ick_numerals being defined in both cesspool.c and numerals.c ?
18:10:21 <AnMaster> ais523, got a huge warning about that
18:10:24 <ehird> Deewiant: don't bother, I think he's ignoring me either mentally or technologically
18:10:27 <ais523> I thought that was correct, maybe not though
18:10:38 <AnMaster> <ehird> Does my C file need special magic or can I just stdio 'er up? <-- try it and see?
18:10:55 <AnMaster> ais523, maybe they should be static? Or one should be extern?
18:11:09 <ais523> can't remember offhand, and I'm busy with something else
18:11:11 <ehird> AnMaster: Well for one I have no idea what fucked up makefile syntax is used...
18:12:44 <AnMaster> ehird, look at examples in MPW? That's what I did
18:12:54 <ehird> I tried to but the interface makes no sense.
18:12:59 <AnMaster> I based mine on that and then rewrote it and rewrote it
18:13:15 <AnMaster> ehird, it's just an editor window for the makefile
18:13:29 <AnMaster> ehird, the worksheet is like a cross between a crippled shell and *scratch* in emacs
18:13:41 <AnMaster> cmd-enter to execute current line or selected textr
18:15:28 <AnMaster> ais523, the patch is at http://omploader.org/vMnJxeg (didn't want pastebin due to possible stripping whitespaces and such, this should be binary-safe)
18:15:56 <AnMaster> ais523, note that this still needs some fix for lexer.c's isatty() and for oil
18:16:19 <AnMaster> ehird, eh? yes ick is called ick
18:16:36 <ehird> +# ICK Makefile for MPW
18:16:43 <AnMaster> ais523, and it would need some handling for "not invoking compiler" too
18:17:23 <AnMaster> ais523, still this works for me on a real mac. Sheepshaver crashes on compiling convickt.c, but it works fine to use an object file from a real mac for that one
18:17:39 <AnMaster> and yes work in progress. But it is a beginning
18:17:41 <ais523> convickt's optional, you could just remove it altogether without affecting the main program
18:18:32 <AnMaster> ais523, and yes this needs syslib.i and such copied around. There is no real concept of install targets anyway. But yes some work on that needs to be done. Still a first milestone is reached :)
18:21:28 <fizzie> "The application 'unknown' has unexpectedly quit, because an error of type 3 occurred." Heh.
18:22:18 <fizzie> Tried to run Ircle 3.1.2 68k in BasiliskII, to test out that networking thing.
18:23:04 -!- Sgeo has joined.
18:23:40 <ais523> going off to get dinner, I'll be back in a bit
18:24:16 <AnMaster> ais523, anyway sheepshaver likes to crash at least once during a full build anyway. Just not 100% reproducible.
18:24:27 <AnMaster> and file system isn't journaled no
18:24:46 <AnMaster> I ended up having to boot from a cd image once today to fix things
18:25:22 <AnMaster> turned out desktop db file was badly damaged. Oh and a few tiles object files have been half written or such.
18:26:58 <AnMaster> ehird, did you figure out that Project menu?
18:27:22 <AnMaster> ehird, I think it is for some old and obsolete source control system
18:27:24 <fizzie> Heh, Ircle 3.1f3 68k: "Sorry, a system error occurred. "ircle 3.1 British 68k" numeric overflow [Restart]". I have a feeling that emulator is not the stablest piece of work ever.
18:27:28 -!- adam_d has quit (Read error: 110 (Connection timed out)).
18:27:32 <AnMaster> I think I read something about that somewhere
18:27:44 <AnMaster> fizzie, you only now discovered that?
18:28:01 <fizzie> AnMaster: Hey, it ran my Glider game just fine. Besides, after a restart starting ircle seems to work.
18:28:51 <AnMaster> I guess you could rewrite it to a codewarrior project, but I don't think you can generate files as you go along then
18:29:13 <AnMaster> and it would be a PITA for everyone to find that and install
18:29:27 <AnMaster> what with not being freely available easily
18:33:04 <AnMaster> ais523, I can't find where in oil.y to add \r
18:36:29 <AnMaster> ais523, hm now this always confuse me in C. Operator precedence between == and &&. Can never remember that.
18:37:21 <ais523> why is that one hard to remember? logical operators are lowest of all
18:37:34 <ais523> the possibly confusing relation is that == binds tighter than &, maybe that's what was confusing you
18:37:44 <ais523> (well, ?: and , are even lower. but not ==)
18:38:19 -!- ehird has quit.
18:38:32 -!- fizzircle has joined.
18:39:02 <fizzircle> Yay, MacTCP was a much better choice.
18:43:22 <ais523> fizzircle: are you online from a mac
18:46:09 -!- augur has quit (Read error: 104 (Connection reset by peer)).
18:46:24 -!- augur has joined.
18:50:21 <fizzircle> ais523> An emulated one, with BasiliskII.
18:50:32 <fizzircle> Hm, the colon is not where it should be.
18:51:02 <AnMaster> ais523, that oil fix seems to work
18:51:15 <AnMaster> fizzircle, I had to rewrite the keymap file for sheepshaver a lot
18:51:34 <AnMaster> oh and it tries to use keysym by default. Doesn't work well at all
18:52:17 <fizzie> This has some rendering issues in the input line window: http://zem.fi/~fis/ircle.png
18:59:09 <AnMaster> ais523, what about the getc_override? Is it generic enough to work on *nix too?
18:59:21 <ais523> yes, although it's probably worth guarding it anyway
18:59:30 <ais523> as it's liable to break other things at random, being a rather crude hack
18:59:40 <ais523> admittedly, the existing situation is /also/ a crude hack...
18:59:41 -!- Rugxulo has joined.
18:59:56 <AnMaster> ais523, can't you rewrite it to not be such a crude hack
19:00:14 <Rugxulo> ais523: is Interfunge supposed to accept input in Befunge programs?
19:00:58 <ais523> although, note that the input program must be /exactly/ 80x24
19:01:05 <ais523> pad lines with spaces if needed
19:01:41 <Rugxulo> it seems to work on normal Befunge93 programs but not with "~" or "&"
19:03:36 -!- BeholdMyGlory has joined.
19:06:17 <AnMaster> Rugxulo, um. Did you pad it up to the required size first?
19:06:38 <Rugxulo> the Befunge program itself?? I just now tried that, it didn't seem to help
19:07:13 <Rugxulo> although it's hard to tell if I did it correctly or not (since either way it didn't work)
19:08:35 <AnMaster> ais523, I have no idea how to go about the isatty thingy in autoconf. I could do a MPW specific hack. Or I could let you do it,
19:08:46 <AnMaster> ais523, note that fileno inside it is unistd.h too
19:09:34 <AnMaster> for some reason that didn't give any error on the mac though. Maybe it has the function, it might or might not do the same thing
19:13:01 <AnMaster> ais523, ick is still broken for LF input. The huge comment thing still applies
19:13:20 <ais523> that sort-of makes sense
19:13:39 <AnMaster> ais523, it treats the entire thing as one line if input is in LF
19:13:44 <AnMaster> ais523, so why did that happen
19:13:54 <ais523> beacuse the entire thing is one line
19:14:21 <oerjan> you'd think that would explain it
19:15:40 <Sgeo> I think I dislike Hive Rise
19:15:43 <Sgeo> Not enough people play it
19:15:52 <Sgeo> I'm going to fiddle with Shattered Galaxy
19:16:24 <Rugxulo> BTW, shouldn't ick have at least one Befunge and one Unlambda example to test the interpreters (interfunge.i, unlambda.i) ??
19:16:34 <AnMaster> ais523, well I thought the lexer was supposed to understand both CR and LF now after the change?
19:16:49 <AnMaster> ais523, so why doesn't it work then.
19:16:49 <ais523> but, that doesn't change the definition of what a line is
19:17:06 <ais523> AnMaster: between newlines
19:17:10 <ais523> (or between \r on a Mac)
19:17:18 <AnMaster> ais523, and how do you fix the lexer to handle that?
19:17:39 <AnMaster> ais523, so newlines can be any of \r \n and \r\n
19:17:47 <AnMaster> after all cfunge manages it, can't see why flex shouldn't
19:18:05 -!- Dav1d has joined.
19:18:17 <ais523> AnMaster: it is not wrong
19:18:30 <ais523> displaying all of a program with no newlines as one line is not wrong
19:18:35 <ais523> if \r is a newline on a Mac, \n isn't
19:18:49 <AnMaster> ais523, well also it generates wrong code. A huge ick_lose for the whole thing
19:19:05 <AnMaster> surely that is more than just "displaying"
19:19:07 -!- Dav1d has left (?).
19:19:26 <ais523> but it generates correct code with correct newlines?
19:19:40 <ais523> ick isn't like cfunge, it wants input files to use platform-appropriate newlines
19:24:34 <AnMaster> ais523, but what if a platform uses both?
19:24:52 <ais523> no platform uses inconsistent newlines
19:25:05 <AnMaster> ais523, as in "both is allowed"
19:25:19 <ais523> because it would make no sense
19:25:22 <AnMaster> ais523, oh and there seems to be a compiler option for this \n <-> \r translation
19:25:43 <AnMaster> ais523, if I use it only for some of the files
19:26:19 <AnMaster> ais523, also can convickt do CR<->LF?
19:27:00 <ais523> AnMaster: not yet, but it would be easy enough to code it to do so
19:27:15 <ais523> does old mac use ASCII?
19:27:28 <AnMaster> ais523, yes but not ISO-whatever
19:28:09 <AnMaster> ais523, for example åäö are encoded differently
19:28:26 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
19:28:37 <AnMaster> http://en.wikipedia.org/wiki/Mac_OS_Roman
19:30:19 <AnMaster> ais523, the makefile syntax makes use of some of those
19:30:37 <AnMaster> as you might have seen in that patch
19:31:10 <Rugxulo> http://www.ibiblio.org/pub/micro/pc-stuff/freedos/files/dos/cpi/old/cpimac12.zip ;-)
19:32:27 <AnMaster> completely irrelevant to making the convickt mapping
19:33:21 <AnMaster> ais523, I have no clue how to make the convickt mapping. Since it isn't a 1:1 mapping with any charset I assume you have to go by unicode
19:33:51 <ais523> AnMaster: all you really need is equivalents for the characters used by INTERCAL
19:34:19 <ais523> some characters are represented differently in different charsets
19:34:26 <ais523> e.g. mingle is ¢ in EBCDIC and $ in ASCII
19:34:56 <AnMaster> ais523, so what is not available in ASCII? As the lower 127 chars in MacRoman are identical to ASCII
19:35:17 <ais523> AnMaster: not quite, \n and \r are the other way round
19:36:19 <AnMaster> ais523, not really. It is just that which one is used for newline has changed. And that the C compiler does the same sort of tricks as is done on windows for \n <-> \r\n
19:36:45 <AnMaster> ais523, so you have a \n <-> \r\n mapping for windows too?
19:37:10 <ais523> no, I just ignore lone \r characters
19:37:17 <ais523> as in, \r not followed by \r
19:37:24 <ais523> so \r\n becomes just \n
19:37:35 <AnMaster> ais523, do you do that even on linux?
19:37:46 <AnMaster> since that isn't the native newline
19:39:03 -!- BeholdMyGlory has joined.
19:41:48 <AnMaster> ais523, well? do you do that on linux too?
19:42:13 <AnMaster> ais523, wrong. If LF should be forbidden on mac it should be consistent at least for all platforms.
19:42:32 <ais523> lone CR's forbidden on Windows and Linux...
19:42:48 <AnMaster> ais523, but \r\n should be forbidden too on windows
19:42:54 <oerjan> i assume it would be hideously un-INTERCALish to borrow the python universal-newline convention :D
19:42:58 <AnMaster> and only be allowed on windows
19:43:42 <AnMaster> if you don't change it to act that way, you are just being completely inconsistent.
19:43:44 <ais523> there isn't windows/linux detection code in there yet
19:43:48 <ais523> in fact, I haven't built it on Windows for ages
19:44:00 <Rugxulo> even GCC can now handle various newlines
19:44:12 <AnMaster> Rugxulo, this is INTERCAL. Shush.
19:44:23 <AnMaster> still I don't find this restriction very intercal-ish
19:44:46 <Rugxulo> BTW, Esolang wiki page on Nouse has a broken link (Geocities), i.e. any Geocities links are dead now and should be changed or removed
19:44:53 <AnMaster> ais523, anyway does intercal make use of any code above 127?
19:44:59 <AnMaster> I didn't get a straight answer to that one
19:45:07 <ais523> AnMaster: depends on the charset
19:45:16 <AnMaster> ais523, normal. Native one on linux
19:45:20 <ais523> without the CLC-INTERCAL charset option, no
19:45:38 <AnMaster> ais523, so what apart from the \r\n swap would be needed.
19:45:50 <AnMaster> ais523, oh? and the CLC thing?
19:45:56 <ais523> unless some of the MacRoman extra characters happen to map onto the INTERCAL charset, in which case they should change
19:46:08 <AnMaster> ais523, which ones would those be?
19:46:15 <ais523> AnMaster: Princeton syntax characters are accepted if they happen to be in Latin-1 or UTF-8
19:46:26 <AnMaster> ais523, do you happen to have a list of them handy?
19:46:37 <ais523> AnMaster: see lexer.l or the appendix to the Revamped Manual
19:46:42 <ais523> they're both lists of what characters are involved
19:46:46 <ais523> but neither is particularly easy to read
19:46:58 <AnMaster> ais523, easier way: are there any of them in the table at http://en.wikipedia.org/wiki/Mac_OS_Roman
19:47:29 <oerjan> Rugxulo: we like to check if things are on wayback before removing them entirely
19:47:46 <Rugxulo> WayBack or Reocities (although when I checked it didn't have some stuff)
19:48:05 <Rugxulo> just a friendly warning that some links will be broken now :-/
19:49:21 <ais523> ¥ will be a fun one, because Latin-1 ¥ maps to ? and UTF-8 ¥ maps to $
19:49:42 <AnMaster> ais523, huh? How does one write one of them .bin files?
19:49:54 <ais523> AnMaster: it's basically a list of characters
19:49:59 <ais523> although I can't remember exactly how it works
19:50:10 <AnMaster> ais523, where is it documented?
19:50:26 <ais523> probably in its source, if anywhere
19:50:54 <AnMaster> ais523, what about that empty array thing. How would one fix that?
19:50:54 <ais523> long comment at the top of src/clc-cset.c
19:50:59 <ais523> AnMaster: by putting an element in it
19:51:29 <AnMaster> ais523, I mean, properly in the ick compiler
19:51:53 <ais523> AnMaster: by getting the ick compiler to put an element in it
19:52:05 <AnMaster> ais523, would this be in the RTL layer or such?
19:52:23 <ais523> either in the code-generation in perpet.c, or in the wrapper
19:52:53 <AnMaster> ../src/feh2.c: fprintf(fp, "\")))\n\t{\n\t ick_createdata icd[]={\n");
19:53:00 <AnMaster> ais523, that seems like where it is output?
19:53:15 <ais523> well, just after that, I suspect
19:53:17 <ais523> over the next few lines
19:53:26 <ais523> you basically want to add an empty element to the end of the array
19:53:28 <AnMaster> ais523, so always add a null entry to the end? or only if there is no other ones?
19:53:37 <ais523> second would be slightly neater
19:54:50 <AnMaster> fprintf(fp, "\")))\n\t{\n\t ick_createdata icd[]={\n");
19:55:07 <AnMaster> which is a function that calls itself
19:55:13 <Rugxulo> ins.i seems to only do decimal input? hmmm....
19:55:15 <AnMaster> ais523, would always putting it there break anything?
19:55:31 <ais523> I don't think so, but I can't remember
19:55:42 <AnMaster> ais523, what the heck is that array for at all
19:56:03 <AnMaster> ais523, the code comment says you wrote it (so you can't blame it on it being there before :P)
19:56:32 <ais523> it holds the information about the variables used in a just-in-case compiled command
19:56:38 <ais523> so adding an extra one seems unlikely to break anythign
19:57:01 <ais523> I've just checked that sizeof(icd) is never used
19:57:22 <AnMaster> so it can't possibly iterate over all entries in it then
19:57:41 <ais523> AnMaster: to look up individual elements
19:57:58 <ais523> as in, the second element gets overloaded onto .1602
19:58:11 <AnMaster> ais523, how would you find the end of the array so you don't go past the end by mistake then?
19:58:24 <ais523> I think it's stored in a separate variable
19:58:48 <ais523> either that, or if accessed from C code (as opposed to INTERCAL code) I think it just segfaults, which is intended behaviour
19:58:54 <ais523> because that's what going off the end of an array does in C
20:00:09 <AnMaster> ais523, what sort of crazy indention scheme are you using in the generated code...
20:00:28 <ais523> AnMaster: mostly it's just ordinary indentation
20:01:02 <ais523> oh, I think it's a mix of spaces and tabs
20:01:07 <ais523> that looks correct with tab=8, as it always should be
20:02:46 <AnMaster> ais523, so how many spaces for each level?
20:02:57 <coppro> but tabs are dumb anyways
20:03:16 <ais523> not sure offhand, IIRC it's 4 spaces for one level, one tab for two levels
20:04:01 <coppro> tab-space mixing is such a truly horrible idea
20:04:22 <coppro> if you use tabs properly, everything will still look right to someone with a different tab setting
20:04:50 <AnMaster> ais523, so what should the dummy entry be?
20:05:09 <coppro> tab-space mixing means that you get stuff that looks like
20:05:11 <AnMaster> something like {0, 0, 0, 0, 0} ?
20:05:13 <ais523> coppro: any tab setting but 8 is wrong and broken
20:05:27 <ais523> this is why tabs should never be used alone for indentation, they're too wide
20:05:28 <AnMaster> ais523, most of the world doesn't agree with that
20:05:46 <AnMaster> coppro, oh emulating mixed mode I see
20:05:54 <coppro> ais523: why is any setting other than 8 broken?
20:06:22 <ais523> coppro: because every terminal in existence has tab=8
20:06:46 <ais523> and the vast majority of editors, too, unless they're customised to something different (why that setting exists I don't know...)
20:06:48 <coppro> that's not a good reason
20:07:00 <coppro> as I said, if tabs are used correctly, then you shouldn't care what the setting is
20:07:10 <ais523> AnMaster: {16, 0, 0, {NULL, NULL}, 0}
20:07:23 <ais523> 0 isn't currently a legal value for the first element of an ick_createdata
20:07:24 <coppro> of course, emacs users have their retarded mixed mode, so things look hideous when viewed by people with narrower preferences
20:07:46 <ais523> coppro: the tab width setting is going to matter whenever you use spaces
20:07:54 <AnMaster> ais523, well I have not the foggiest idea how it works even after reading the struct definition
20:07:58 * SimonRC starts a campaign to make people use US to sperate groups of statemetns, RS to seperate each declaration, and GS to separate higher-level things like classes
20:08:04 <coppro> ais523: tabs indent the line, spaces line up beyond that
20:08:08 <ais523> AnMaster: it contains all information about an expression needed to get and set its value
20:08:14 <ais523> coppro: tabs are too wide to indent a line
20:08:18 <SimonRC> that is there purpose just as much as tab's purpose is indentation
20:08:22 <ais523> they're designed for table cells!
20:08:22 <coppro> ais523: turn down your tab width then
20:08:27 <AnMaster> ais523, are you *sure* it won't break something?
20:08:36 <coppro> (elastic tabstops are another matter altogether, and they are pretty darn awesome_
20:08:39 <ais523> coppro: no, because then tabs wouldn't be wide enough for their intended purpsoe
20:08:48 <ais523> and elastic tabstops are awesome, but not a sort of tab
20:08:48 <SimonRC> coppro: how do I change my terminal tab woiidth
20:08:52 <AnMaster> ais523, but what variable is 0 then?
20:08:53 <ais523> they're used for indentation
20:08:57 <coppro> ais523: then indent with spaces and spaces only
20:09:07 <ais523> AnMaster: a placeholder meaning that there isn't a legal variable there
20:09:16 <ais523> coppro: that's what I mostly do nowadays, to handle people with broken editors
20:09:22 <AnMaster> <ais523> coppro: tabs are too wide to indent a line <-- not at all
20:09:25 <oklofok> ais523: but why would anyone use table cells? if you mean making a 2d table of things
20:09:27 <AnMaster> I use tab to indent, spaces to adjust
20:09:32 <coppro> SimonRC: depends on what you're using
20:09:34 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
20:09:37 <AnMaster> ais523, and it works just fine
20:09:37 <ais523> (any editor that allows you to set tab to anything but 8 is suspicious, any editor that /defaults/ to anything but 8 is simply broken)
20:09:51 <SimonRC> coppro: a variety, over ssh often
20:09:52 <AnMaster> <ais523> (any editor that allows you to set tab to anything but 8 is suspicious, any editor that /defaults/ to anything but 8 is simply broken) <-- why.
20:09:53 -!- Sgeo has joined.
20:10:01 <ais523> AnMaster: because tabs go to a multiple of 8 characters
20:10:13 <ais523> printf("\n\tThis line starts 8 characters from the margin.\n");
20:10:24 <AnMaster> ais523, because you just defined emacs and vim as suspicious.
20:10:38 <ais523> AnMaster: yes, people wouldn't insist on using that option if it didn't exist
20:10:49 <AnMaster> ais523, I would drop that editor then
20:11:15 <ais523> coppro: you'll break all the applications that assume that tab=8 if you do that
20:11:23 <AnMaster> ais523, yes because those apps are broken
20:11:25 <ais523> e.g. --help output often uses 8-space tabs
20:11:35 <AnMaster> ais523, --help uses spaces in my experience
20:11:52 <AnMaster> maybe some pathological cases uses tabs
20:11:54 <oklofok> ais523: by table cells do you mean like excel but in ascii?
20:12:11 <ais523> tab was invented on typewriters, where you set the tab stops by hand
20:12:14 <oklofok> why in hell would you want that
20:12:20 <ais523> by putting little bits of metal in the appropriate places
20:12:27 <ais523> to make it faster to type tables on a typewriter
20:12:37 <ais523> and to reduce the chance of mistakes because you didn't need to keep pressing the spacebar
20:12:38 <oklofok> why not use a program for it, and set tab to something that's useful
20:12:58 <ais523> then when they came to computers, they quickly standardised on 8-space tabs anywhere but word processors
20:13:10 <SimonRC> coppro: will that confuse things that use termcap and terminfo?
20:13:16 <AnMaster> ais523, typewriters are legacy. And if you are suggesting we set them manually, the tabs=8 spaces is just pure wrong
20:13:17 <ais523> (before tables as tables were common, tabs for tables were common, and tab stops were generally 8 spaces apart by default but you could set them wider0
20:13:32 <oklofok> and realized a few weeks later they should've made it smaller everywhere else too, but some idiots decided 8 should stay?
20:13:37 <ais523> and ever since, tab has moved to a multiple of 8
20:13:42 <Rugxulo> typewriters are legacy but we still use its keys!!
20:13:42 <AnMaster> ais523, instead every user should set some virtual metal bits at the top of the terminal emulator to define their tabs
20:13:56 <ais523> except that certain /editors/ seem to let you change it; note that nothing but editors has it set to anything but 8 by default
20:14:18 <ais523> so if you use tabs alone for indentation, you end up in the stupid situation where you can't read the program in anything but an editor
20:14:33 <oklofok> where else would you want to read a program?
20:14:38 * Rugxulo sees lines in code that start with 10 tabs or more ...
20:14:45 <ais523> also, because of wanting to restrict lines to 80 columns so they fit on the screen, having variable-sized tabs means that you have no idea where to split your lines
20:14:46 <AnMaster> ais523, as coppro suggested above
20:15:06 <AnMaster> <ais523> also, because of wanting to restrict lines to 80 columns so they fit on the screen, having variable-sized tabs means that you have no idea where to split your lines <-- you don't. 100 columns is just fine. More than that isn't I agree
20:15:10 <ais523> AnMaster: presumably that was added to cope with the broken editors
20:15:20 <AnMaster> ais523, now you are just being silly
20:15:24 <ais523> AnMaster: I can fit about 83 characters horizontally on my screen, on a half-screen-width window
20:15:39 <ais523> so substantially more than 80 just annoys me as I can't see two bits of code side by side
20:15:50 <ais523> also, 80x24 is still the standard UNIX terminal size (80x25 and/or 80x50 on DOS)
20:15:52 <oklofok> anyway i'm just saying tables aren't actually a good reason to *keep* tabsize at a default of 8, because no one makes, and no one should make, tables using tabs
20:15:57 <ais523> so you won't be able to read the code in a standard terminal
20:16:03 <Rugxulo> DOS can handle up to 132x32 (VESA)
20:16:16 <ais523> oklofok: agreed; the reason to keep tabsize at a default of 8 is because that's what tabs have been for ever, and what a tab actually means
20:16:21 <AnMaster> ais523, mine opens at 150x120 iirc
20:16:21 <ais523> Rugxulo: yes, but that isn't standard
20:16:31 <Rugxulo> ais523: because it depends on your video card
20:16:36 <AnMaster> since it is taller than than it is wide
20:16:58 <oklofok> that i can agree with. not that i do, but i don't not agree either.
20:16:59 <AnMaster> wait, forget that, chars are not square
20:17:01 <Rugxulo> 80x43 is for EGA, 80x50 is VGA, so 80x25 must be for older (Hercules? MDA? CGA?)
20:17:32 <AnMaster> <ais523> oklofok: agreed; the reason to keep tabsize at a default of 8 is because that's what tabs have been for ever, and what a tab actually means <-- what a tab actually means says who?
20:17:39 <AnMaster> I feel we have [citation needed] here
20:17:48 <ais523> says more or less every program in existence, apart from a few editors
20:17:52 <oklofok> wait actually i definitely do disagree, why keep them at 8, if they are completely useless with size 8
20:17:54 <ais523> seriously, try that printf statement I pasted above
20:17:56 <Rugxulo> http://www.emacswiki.org/emacs/TabsAreEvil
20:18:09 <oklofok> ais523: what are they useful for, then?
20:18:10 <ais523> they let you abbreviate spaces for indentation, although that's become less useful nowadays because we're no longer massively pressed for space
20:18:17 <oklofok> you said tables, i said no, you said indeed not.
20:18:27 <ais523> also, I most recently used tabs for table-making a couple of weeks ago
20:18:31 <AnMaster> ais523, so why not convert all of ick to just use spaces.
20:18:35 <ais523> and that relied on tab=8
20:18:41 <ais523> AnMaster: it's used the \t forever
20:18:45 <ais523> since before I took it over
20:18:56 <ais523> further evidence that tab should equal 8...
20:19:05 <oklofok> ais523: if you made a small table, you could've pressed tab twice.
20:19:23 <AnMaster> ais523, ick is not recommended practise at all
20:19:27 <ais523> oklofok: the point was, I wasn't sure how wide each of the columns would be
20:19:33 <AnMaster> ais523, or we would be using setjmp and longjmp a lot more
20:19:41 <oklofok> but you happened to know they were less than 8?
20:19:56 <ais523> they were all either 6 or 7 characters long
20:19:56 <AnMaster> ais523, seriously if you suggest that ick code is a good example you *must* be joking
20:20:07 <ais523> AnMaster: I'm suggesting it's a typical example of its age
20:20:20 <oklofok> ais523: that's not very convincing.
20:20:31 <oklofok> and still, you could've used a program
20:20:35 <oklofok> that's actually meant for that
20:20:41 <AnMaster> ais523, and for tables: it isn't even one tab between each column always
20:20:44 <oklofok> you wouldn't have had to rely on at most "6-7"
20:20:50 <AnMaster> sometimes you need two on one line and one on another line
20:21:00 <AnMaster> ais523, oh and it seems MPW defaults to tab = 4
20:21:06 <AnMaster> and I can't find anywhere to change it
20:21:08 <ais523> indent assumes that tabs are placed at regular intervals of both input and output character streams. These intervals are by default 8 columns wide, but (as of version 1.2) may be changed by the ‘-ts’ option. Tabs are treated as the equivalent number of spaces.
20:21:28 <AnMaster> ais523, actually in the worksheet tab = 1
20:21:37 <Rugxulo> http://www.emacswiki.org/emacs/UntabifyUponSave
20:21:40 <ais523> presumably it doesn't support tabs
20:21:50 <ais523> so just renders them as spaces
20:21:54 <AnMaster> ais523, and in Makefiles it is tab = 4
20:22:13 <AnMaster> you can see that with the cursor key
20:22:46 <AnMaster> ais523, so there is the same sort of "proof" that tab should be 4 that you had for it being 8.
20:23:00 <AnMaster> ais523, seriously, a program shouldn't expect tab to be any specific size
20:23:03 <ais523> AnMaster: you could prove that newline should be \r the same way
20:23:07 <Rugxulo> well, in this case I think it's just luck ... he's right, 8 is way more "standard" or common
20:23:11 <ais523> did you read my paste from man indent?
20:23:24 <ais523> it assumed tabs = 8 without even a customization option until 1.2
20:23:27 <AnMaster> ais523, also that's GNU software
20:23:28 <ais523> and still, nowadays, uses tab = 8
20:23:32 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
20:23:35 <ais523> AnMaster: it did the same thing on SunOS
20:23:38 <AnMaster> ais523, it's like saying GNU cat is some role model for all cat's
20:23:45 <ais523> (I don't have access to that SunOS system any more, so that's from memory...)
20:23:49 <Rugxulo> that's weird, actually, doesn't GNU coding style prefer tab width of 2?
20:23:58 <AnMaster> ais523, and? Sun made Java. What did you expect?
20:24:28 <ais523> AnMaster: http://docs.sun.com/source/820-4180/man1/indent.1.html
20:24:29 <AnMaster> Rugxulo, I have no clue. I keep well away from gnu coding style
20:24:34 <ais523> assumes tab=8 with no way to customize
20:24:46 <ais523> -in The number of spaces for one indentation level. The default is one tab stop, -i8.
20:24:51 <AnMaster> ais523, yes and they invented java
20:25:12 <ais523> AnMaster: err, I expect them to have followed industry practice at the time?
20:25:25 <ais523> Java is full of good practice to an extent more than most other languages, it's what makes it so insufferable
20:25:26 <AnMaster> ais523, anyway you might prefer tabs to be 8. But 98% of the world that cares doesn't agree.
20:25:38 <AnMaster> (most of course doesn't even know what a tab is)
20:25:45 <ais523> AnMaster: anyone who doesn't use a programmer's editor has tab set to 8
20:25:50 <ais523> they probably don't realise it, but they do
20:26:03 <ais523> AnMaster: it doesn't even set it to an integer
20:26:04 <SimonRC> "HT Horizontal Tabulation" -- http://wps.com/projects/codes/X3.4-1963/index.html
20:26:17 <AnMaster> ais523, there you go then. That is probably the most common one
20:26:29 <ais523> AnMaster: no, because Word isn't a text editor
20:26:35 <ais523> Excel, incidentally, sets it to one cell
20:26:43 <ais523> which makes sense, because it's tab for tabulation
20:26:48 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
20:27:02 <AnMaster> ais523, yes. point is. tab=8 isn't a very common opinion any more
20:27:03 -!- Slereah has joined.
20:27:12 <AnMaster> as for tabs being evil page on emacs wiki
20:27:29 <ais523> no, because that would be setting it to the wrong value for no good reaosn
20:27:48 <AnMaster> ais523, correction: "that which ais considers wrong"
20:28:02 <ais523> AnMaster: what possible reason do you have for assuming tab != 8?
20:28:23 <ais523> given that this is a traditional flamewar, you can't go looking for a page that advocates one side of the flamewar, because there's bound to be one
20:28:32 <AnMaster> ais523, well. because apart from ick and nethack I can't remember any code depending on tab == 8. Either it is tab = 4 or spaces always
20:28:42 <ais523> AnMaster: tab = 4? where do you get that from?
20:28:48 <ais523> 2 and 3 tend to be more common, 4 is a Pythonism
20:29:12 <AnMaster> ais523, is it? 3 I have seen once.
20:29:14 <ais523> and all versions of indent we've found depend on tab=8
20:29:57 <AnMaster> ais523, astyle seems to default to 4 spaces for indention
20:30:12 <AnMaster> and I haven't used indent for years, because it did such a bad job at C99 code
20:30:19 <Rugxulo> I saw 3 once too, thought that guy was a little weird for that ;-)
20:30:31 <AnMaster> so astyle is what I use, which still fails at some C99 things, but much less
20:30:47 * Rugxulo thinks AnMaster is very trendy
20:30:49 <ais523> AnMaster: it defaults to 4 spaces, yes
20:31:03 <ais523> if you ask it to indent using tabs, it assumes tab=4 because that gives the same indent size, but that isn't spaces
20:31:07 <Rugxulo> Befunge98, 64-bit, C99 :-P
20:31:21 <AnMaster> ais523, yes I always asked it to indent with tabs
20:31:38 <fizzie> A lot of our speech recognizer code is indent-two-spaces with assumed-8 tabs in the indentation somewhat randomly.
20:31:39 <AnMaster> astyle --indent-preprocessor --indent-namespaces --indent-labels --one-line=keep-statements --indent=tab=4 --max-instatement-indent=40 --brackets=linux --min-conditional-indent=1 --unpad=paren --indent-switches --pad=oper
20:31:44 <ais523> incidentally, reading the blurb at the start of the man page, astyle was designed specifically to format code so it looked correct for people who didn't set tab=4
20:32:34 <AnMaster> ais523, well yes. I make sure my code always look correct with any tab width. How wide each indention level is should be up to the user
20:32:47 <AnMaster> if he/she prefers 8 per level, fine, set tab=8
20:32:50 <AnMaster> if not, set tab to something else
20:32:55 -!- Rugxulo has left (?).
20:33:18 <SimonRC> it's not as if ther are any places where one could view code that don't let people change the tab width
20:33:41 <AnMaster> SimonRC, indeed. even the terminal lets you change easily
20:34:00 <AnMaster> I guess some old old terminal that didn't allow it might exist
20:34:08 <AnMaster> but good luck hooking that up to anything modern
20:34:53 * SimonRC gets out his soldering iron; and the documentation for several popular HTML renderers.
20:34:56 <ais523> SimonRC: DOS edit? Notepad? less without having to type out the -x option every time you view a file?
20:35:16 <ais523> more, fwiw, which doesn't have -x?
20:35:23 <fizzie> Set tabstops at all prime number offsets; that should be good.
20:35:26 <AnMaster> LESS Options which are passed to less automatically.
20:35:30 <SimonRC> TBH I don't know whether I was being serious or using deadpan sarcasm there
20:35:45 <ais523> printing via a standard printer when you don't know the ESC codes to change its tabstops?
20:36:00 <AnMaster> ais523, you need cups to use a printer anyway
20:36:04 <ais523> AnMaster: that doesn't solve the issue, in fact it introduces an issue, that being that the tabstops are no longer 8
20:36:13 <ais523> AnMaster: umm, until very recently, you could just cat a file to a printer
20:36:20 <ais523> I used to do that all the time under DOS
20:36:21 <AnMaster> ais523, you got this wrong. Tabstop NOT being 8 is *NOT* an issue
20:36:37 <SimonRC> I suppose tabs can be converted into spaces quite easily, for those things that can't adjust the tab width
20:36:37 <AnMaster> ais523, you end up with something like a semi-circular argument here
20:36:54 <AnMaster> <ais523> AnMaster: umm, until very recently, you could just cat a file to a printer <-- where? /dev/usb/something?
20:36:54 <ais523> what a printer driver does, mostly, is let you print "graphics", or set the font
20:37:06 <ais523> AnMaster: the serial or parallel port
20:37:10 <ais523> you just sent the data there, and the printer printed it
20:37:21 <AnMaster> ais523, I'm pretty sure the Apple StyleWriter didn't allow it
20:37:26 <AnMaster> which is the oldest printer I used
20:37:33 <ais523> it used to be that all printers worked like that
20:37:34 <AnMaster> I never used a parallel port one
20:37:42 <ais523> AnMaster: wow, how young are you?
20:37:46 <SimonRC> clearly the only solution is to head off to the quintessential plane and go and measure the Platonic ideal HT character. That will resolve the issue once and for all.
20:38:03 <AnMaster> so 19, but less than a month until 20
20:38:10 <SimonRC> AnMaster: how old are you?
20:38:14 <AnMaster> ais523, and I grew up with mac
20:38:33 <ais523> AnMaster: well, I'm confused, because I'm 22
20:38:38 <SimonRC> so the older one gets, the younger one gets
20:38:44 <ais523> and yet, when I was young, printers were all either parallel or serial
20:38:52 <AnMaster> ais523, Apple Stylewriter was able to print pictures. Greyscale only yes
20:39:04 <ais523> AnMaster: basically, to print pictures, you sent a really long escape code
20:39:14 <ais523> if you didn't send an escape code to a printer, it just printed text
20:39:24 <ais523> printer drivers were mostly responsible for converting graphics into escape codes
20:39:27 <AnMaster> ais523, there was no printer device as such on the mac
20:39:27 <SimonRC> I recall the days when printers came with documentation of their escape codes
20:39:36 <AnMaster> ais523, remember that is a *MAC* we are talking about
20:39:44 <ais523> AnMaster: I think you're missing the poin
20:39:49 <SimonRC> and example BASIC programs to demonstrate
20:39:51 <ais523> I'm talking about what data was sent over the cable
20:40:05 <ais523> SimonRC: I've never seen one with example BASIC, but I've seen at least two manuals documenting the escape codes
20:40:06 <AnMaster> ais523, and that was some pre-rendered image I guess?
20:40:07 <ais523> and actually used them
20:40:17 <ais523> AnMaster: say you want to print out a Word document, or whatever
20:40:19 <AnMaster> ais523, because even when you printed text files on macs they had formatting
20:40:37 <AnMaster> ais523, if it was postscript I guess it downloaded font and such first?
20:40:37 <ais523> Word works out what each pixel should be, then the driver converts that to escape codes and sends it to the printer
20:40:44 <ais523> so although you're printing text files, you're printing in graphics mode
20:40:57 <AnMaster> ais523, yes I suspect that always happened on mac
20:40:58 <ais523> postscript's much more modern than all this, and therefore mostly irrelevant in this conversation
20:41:09 <ais523> AnMaster: it's happened at least since Windows 3.1, too
20:41:16 <AnMaster> ais523, apple's laserwriters were all postscript from the beginning
20:41:21 <ais523> but, the point is that if you just catted a text file down the printer cable, it would print it in text mode
20:41:26 <AnMaster> ais523, used windows 3.something *once*
20:41:33 <AnMaster> I'm happy to have grown up on mac
20:42:16 <AnMaster> ais523, in fact I typed "print" instead of "echo" in the mpw shell by mistake yesterday. Spewed postscript files all over my desktop
20:42:34 <AnMaster> now one can wonder why the hell MPW would have such a command of course
20:42:35 <fizzie> ais523: Apple's StyleWriter is a pretty unconventional printer; according to the README.txt of the Unix driver of it, it has absolutely no built-in fonts. The driver only prints raster images.
20:42:52 <ais523> fizzie: ok, that is interesting
20:42:56 <SimonRC> <monkeywrench>What about Postscript printers?</monkeywrench>
20:42:58 <ais523> and explains AnMaster's resistance
20:43:14 <ais523> SimonRC: I'm not actually sure what happens if you send them a plain non-PS text file
20:43:28 <ais523> it could be fun to cat a PDF to them, IIRC PDF is a subscript of PostScript
20:43:53 <SimonRC> IME, PDF's have gribble in them, suggesting they aren't PS
20:43:59 <ais523> AnMaster: well corrected
20:44:00 <AnMaster> ais523, and yes but it won't work out of box, due to some PDF specific headers or such
20:44:12 <ais523> SimonRC: apparently the subset used in PDF is really non-idiomatic in PS
20:44:36 <ais523> AnMaster: I'm not sure offhand
20:44:44 <ais523> as in, I can't remember where I know that from
20:44:48 <ais523> but PDF uses a lot of blobs, etc
20:44:55 <ais523> whereas postscript is a lot more like a programming language
20:46:09 <fizzie> I do think it's a subset only in the logical sense, not in the sense that the down-to-bits file formats would really be all that compatible.
20:47:19 <Sgeo> Why is UserFriendly on such a dark topic?
20:48:32 <fizzie> AnMaster: You could be Illiad in disguise.
20:49:03 <AnMaster> why on earth does Mac OS 9 font suitcases contain DLOG resources according to resedit
20:49:07 <fizzie> Certainly it seems a bit [http://tvtropes.org/pmwiki/pmwiki.php/Main/CerebusSyndrome Cerberus Syndromeish].
20:49:11 <SimonRC> didn't CAD have a random storyline about a miscarrage that everyone took the piss out of them for?
20:49:14 <AnMaster> "enter the network address for the server"?
20:49:23 <AnMaster> has that go to do with a font?
20:58:59 <fizzie> Oh, and speaking of printers still: a friend had a networked PostScript laser printer that included a FTP server. You could log in and upload plaintext or postscript files; after the upload, they would come out of the printer. I don't really know what sort of heuristics it used for sniffing out postscript, but it did not treat everything as plaintext.
20:59:07 <fizzie> I think the same applied to the telnet server it had.
21:00:45 <fizzie> "did not treat everything as PostScript", I mean.
21:00:58 -!- fizzircle has quit ("Quit").
21:01:12 <fizzie> Hoh, completely forgot about that Ircle.
21:04:33 <AnMaster> fizzie, why would a printer have a FTP server like that
21:07:14 <fizzie> Actually, we made use of it; for some reason, "proper" printing from Netscape (this was quite a while ago) on one of their computers was utterly broken, but since Netscape at that time had a "print by giving a postscript file to the following program" option, we got network printing with a script that used ncftp to upload the Netscape-provided file to the printer.
21:08:11 <fizzie> Secunia advisory SA13170 from 2004-11-12: "Justin Rush has reported a weakness in HP PSC 2510 Photosmart All-in-One printer, which can be exploited by malicious people to cause a DoS (Denial of Service).
21:08:11 <fizzie> The printer reportedly has an undocumented feature that prints files written to a write-only directory, which is anonymously accessible via a FTP service." -- see, it's not so uncommon.
21:08:24 <fizzie> Except that it was properly documented in that printer.
21:08:49 <fizzie> (And configurable, so you didn't have to allow printing to everyone.)
21:09:47 <fizzie> Here's a link I got from elsewhere in the irc, and so it's probably been all around the world already, but still: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454
21:10:08 <fizzie> At least it has nice use of Unicode combining characters.
21:18:32 <AnMaster> fizzie, I get lots of boxes there
21:19:19 <fizzie> That's a shame; I had no boxes, but there's too many characters to start looking for from where they come.
21:21:30 <fizzie> The renderization is not exactly pretty here either: http://zem.fi/~fis/comb.png
21:25:53 -!- immibis has joined.
21:38:18 * oklofok thought perl regexes Can Do It
21:39:56 <fizzie> You can put arbitrary Perl in Perl regexes, and Perl can parse XML, so it sounds likely that they could.
21:41:16 <oklofok> depends on what the perl does inside the regex, it could be it can't touch the string being parsed, so you'd just be parsing something using perl, while you're parsing a regex
21:41:45 <oklofok> i mean if it can't be an Inherent Natural Part of the regex
21:42:47 <AnMaster> fizzie, I strongly suspect PCRE could do it though
21:45:18 <fizzie> With embedded Perl, it's a bit debatable. I'm not sure it has the string-being-parsed (and especially the-location-where-we're-at) available somehow; if it does, you could use the (??{...}) thing -- "evaluate ..., interpret it as a regex" -- to return something like .{x} where x is the calculated length of the next regex part.
21:45:25 <fizzie> s/regex part/xml element/
21:47:03 <AnMaster> fizzie, maybe someone should post that there
21:47:13 <AnMaster> of course it would be ugly as fuck
21:48:20 <fizzie> Not sure if a plain old extended-with-recursion thing is theoretically powerful enough; I guess it could be. Especially if it has Perl's (?(condition)yes-pattern|no-pattern) extension
21:48:51 <fizzie> Perl's regex engine has a settable-at-compile-time-default-is-50 limit of the recursion depth for regexps, though.
21:49:21 <MizardX> haha. Almost 300 votes in under 24 hours.
22:01:51 <coppro> I wish I had written an answer like that :(
22:02:12 <coppro> oh wow, one of my answers hit 50 votes :)
22:21:12 <AnMaster> ais523, so did you do something about the autoconf check for isatty?
22:21:32 <AnMaster> ais523, and what would the correct solution be?
22:22:42 <ais523> AnMaster: persuade GNU to fix flex
22:22:51 <ais523> if you can't manage that, you'll have to rely on hacks
22:23:26 <AnMaster> ais523, it doesn't seem likely that I will manage does it?
22:23:43 <ais523> so you'll need to find some hacky way to do it
22:23:52 <ais523> like a #define on isatty(x) to define it to 0
22:24:04 <ais523> that's triggered by an autoconf check
22:24:16 <AnMaster> ais523, I can't write the proper autoconf bit for this
22:24:25 <AnMaster> ais523, and on mac autoconf doesn't work anyway
22:24:41 <AnMaster> so I would need to update config.h after someone adds a correct autoconf check
22:24:57 <ais523> AnMaster: add isatty to the line "AC_CHECK_FUNCS(gettimeofday gethrtime strdup strtol strtoul snprintf vsnprintf)" in configure.ac, then rerun make
22:25:09 <ais523> C-INTERCAL's dependency system is set up so it changes everything to allow for that change
22:25:22 <ais523> apart from actually conditioning on HAS_ISATTY or whatever the resulting macro is called
22:25:40 <AnMaster> ais523, and then? where would that be defined? In the *.l file directly?
22:25:53 <ais523> let me try that, so I can give you more detailed instructions, or a diff
22:26:16 <AnMaster> ais523, anyway, according to docs fileno() is also *nix only
22:26:27 <ais523> doesn't matter if it's inside the isatty
22:28:46 -!- adam_d has joined.
22:30:20 <ais523> hmm, this build system doesn't seem to like autoconf version bump
22:30:38 <coppro> how about we stop using autoconf
22:31:14 <ais523> coppro: because if used correctly you can actually make it work
22:31:18 <ais523> just nobody ever uses it correctly
22:31:30 <coppro> ais523: I know you can make it work if you use it correctly
22:31:53 <ais523> ah, just run autoreconf, and it updates all the version numbers, nice
22:32:21 <AnMaster> heh the stdio.h includes a line about _POSIX_THREAD_SAFE_FUNCTIONS
22:32:35 <AnMaster> so it seems they picked some parts of POSIX that they liked
22:32:58 <ais523> /* Define to 1 if you have the `isatty' function. */
22:33:03 <AnMaster> ais523, what is your new version?
22:33:28 <ais523> AnMaster: 2.64 of autoconf
22:33:35 <AnMaster> 2.63 and 1.10.2 are the ones I have
22:33:40 <AnMaster> anything newer in the patch will be a pain
22:33:46 <AnMaster> well those wouldn't be versioned
22:33:56 <AnMaster> only the non-generated files would be
22:34:18 <AnMaster> or do you still version configure itself and so on?
22:34:19 <ais523> AnMaster: the build system works fine even if you have an old version of autoconf
22:34:26 <ais523> configure itself knows what version it was created with
22:34:36 <AnMaster> ais523, yes but you get warnings then sometimes
22:34:38 <ais523> and the build system just prints a warning if you change configure.ac and have the wrong version, and doesn't update configure
22:34:53 <ais523> the warning's useful, it lets you know that your configure.ac changes weren't applied
22:35:04 <AnMaster> ais523, exactly. But since configure itself isn't versioned this will be no issue
22:35:16 <ais523> I don't know what you mean by that
22:35:22 <ais523> configure itself doesn't depend on autoconf
22:35:29 <ais523> the makefile does, but only if you change configure.ac
22:35:41 <AnMaster> ais523, that the darcs repo would not contain generated files like configure, Makefile.in and so on
22:35:42 <ais523> and even without it it doesn't crash, just uses the existing configure
22:35:48 <AnMaster> like configure.ac and Makefile.am
22:35:55 <ais523> I thought the darcs repo did contain configure
22:36:00 <ais523> as well as the prebuilt stuff
22:36:02 <AnMaster> ais523, if it does it shouldn't
22:36:08 <ais523> AnMaster: so people can run from a copy of the repo
22:36:13 <ais523> there's even a make repoupdate command
22:36:23 <ais523> to copy the currently built versions back to the prebuilt directory
22:36:30 <AnMaster> ais523, did you find somewhere else to host it then?
22:36:38 <AnMaster> ais523, surely your university provides some web space or such
22:36:41 <ais523> so the repo still exists, if only locally
22:36:50 <ais523> and my university does, but I couldn't sensibly put it there, it's unrelated to my research
22:37:07 <AnMaster> ais523, fizzie seems to manage that very well though
22:37:28 <AnMaster> ais523, anyway maybe fizzie could host this for you on his own server. it seems stable and such
22:38:46 <ais523> apart from general requests to the channel
22:39:21 <oklofok> is it public information what your research is about btw?
22:40:08 <ais523> no, because I don't know myself yet
22:40:13 <ais523> but that's the only reason
22:40:22 <ais523> it's vaguely in the area of hardware compilation and game semantics
22:40:40 <oklofok> i'm having trouble seeing how to combine those
22:40:42 <AnMaster> ais523, you could put nomic stuff on there then
22:41:05 <ais523> AnMaster: I don't think you understand what game semantics is
22:41:15 <ais523> it's basically a formalisation of programming, with some really tortured metaphors involved
22:41:22 <AnMaster> ais523, no clue what it is, so I was joking
22:41:36 <ais523> but it turns out to be a really suitable one for generating hardware with
22:42:16 <oklofok> hmm, i've never heard about that
22:45:55 <ais523> wow, the Wikipedia article about it is really awful
22:46:03 <ais523> although it does explain to some extent where the terminology came from
22:46:28 <ais523> AnMaster: it's a Wikipedia article about game semantic
22:46:34 <ais523> you can probably guess the link
22:46:39 <ais523> although, it's http://en.wikipedia.org/wiki/Special:Search?go=Go&search=game_semantics
22:46:46 <ais523> I actually have an IRC macro for Wikipedia links...
22:46:55 <AnMaster> I couldn't have guessed the full search thing for it
22:47:57 <AnMaster> ais523, how is game semantics related to hardware though
22:48:15 <ais523> AnMaster: you can basically embed nearly all of it into wires
22:48:29 <ais523> most of the basic constructions turn almost exactly into wires, with minimal circuitry
22:48:49 <AnMaster> <ais523> AnMaster: you can basically embed nearly all of it into wires <-- why?
22:48:51 <ais523> the only really difficult component is the one that can be written as lambda x: [x, x]
22:48:57 <ais523> as in, making two copies of something
22:48:59 <AnMaster> why would I want to embed it in wires
22:49:06 <ais523> AnMaster: to compile a program into hardware
22:49:13 <ais523> as in, you get the game-semantic model for a program
22:49:16 <AnMaster> ais523, yeah but why *games* for that
22:49:26 <ais523> the whole game thing is a tortued metaphor
22:49:30 <ais523> which should be ignored
22:49:43 <ais523> the terminology's full of words like "game" and "arena" and "strategy" which basically don't mean anything
22:49:56 <AnMaster> ais523, so what exactly does it not have to do with games
22:50:08 -!- ais523 has left (?).
22:50:10 -!- immibis has quit (Remote closed the connection).
22:51:08 -!- ais523 has joined.
22:51:32 <ais523> no, I was leaving in exasperation
22:51:51 <ais523> sort of like /ignoring people, just easier for other people to know what was going on
22:52:11 <oklofok> AnMaster: it means he sneezed
22:52:40 <oklofok> also why does this deck keep giving me 9 and 8 of spades next to each other
22:53:14 <oklofok> i mean i explicitly put them in different parts of the deck, twice, and both times they magically find each other
22:53:25 <AnMaster> oklofok, ask the game semanticist in here.
22:54:12 <ais523> the name is an unfortunate one
22:54:19 <ais523> it's about as accurate as "biscuit semantics" would be
22:55:36 <oklofok> my brain is weird, if i lay down 6 cards, and take a glance, then turn them face down, i can't remember a few of them, usually; but if i put them face down, and go over them once, trying to guess what they are, i will remember them on the second round
22:56:14 <AnMaster> ais523, new file extension for c++ I found today:
22:56:26 <AnMaster> seems not uncommon on classic mac os
22:56:53 <oklofok> even though i've looked at them a smaller amount of time, it's just i don't automatically memorize them if they're face up, but i do if i put them face down, and *then* look at each of them separately
22:57:27 <AnMaster> " i can't remember a few of them, usually"?
22:57:29 <oklofok> and putting them face down i can pretty easily go up to 15 or such
22:57:33 <oklofok> AnMaster: yes, i forget a few.
22:58:02 <ais523> anyway, for game semantics into hardware, think of the IP being an actual impulse on a wire
22:58:10 <ais523> and you can multithread by having more than one of them
22:58:15 <ais523> and bits of code know to run when the IP turns up
22:58:29 <AnMaster> ais523, heh. what about thread local dat?
22:58:42 <ais523> AnMaster: doesn't work like that
22:58:49 <ais523> variables work as in OCaml
22:58:53 <AnMaster> ais523, so how does the IPs avoid running the same code
22:58:57 -!- adam_d has quit (Read error: 110 (Connection timed out)).
22:59:10 <ais523> AnMaster: you make sure they don't run the same code via static analysis, before hand
22:59:13 <ais523> my master's project was about that
22:59:57 <AnMaster> oklofok, that seems pretty common however
23:00:27 <oklofok> AnMaster: it's not interesting how many i remember, as this is not how many i remember if i actively try
23:00:41 <oklofok> this is just how many i remember if i lay cards down without thinking, turn them face down, and try to remember what i saw
23:00:54 <oklofok> the amount is different depending on how i look at them
23:01:12 <AnMaster> oklofok, what if you try to remember from the start?
23:01:30 <oklofok> if i look at each of them, so that all are already turned, i remember less than if i look at each in turn, always having the other face down
23:01:46 <oklofok> i guess that sounds obvious, i focus better if there's just one thing to focus on
23:01:54 <oklofok> but it feels like i'm doing the exact same thing
23:02:12 <oklofok> AnMaster: obviously i can just memorize the whole deck
23:02:32 <oklofok> anyone can remember a deck
23:02:58 <oklofok> make a song about it, "THIIIIIS HERE IS MISTER JACK, HE'S A HEARTY HEARTY DUDE"
23:03:45 <oklofok> anyway if you add time limits, i can memorize 15 pretty much without work, atm
23:04:07 <oklofok> without work = without system, without major effort making up a system on the fly
23:04:13 <oklofok> just looking at cards and turning them
23:04:38 <AnMaster> oklofok, even an idiot savant who is savant at something completely different?
23:04:40 <oklofok> also for 9 cards, i can keep track of simple permutations... but still a noob at this
23:05:18 <oklofok> i actually define human as the ability to memorize a deck of cards
23:05:27 <oklofok> i'll have to think about this
23:06:38 <oklofok> AnMaster: oklofok, they are human <<< oh lol i read "then you are human"
23:06:44 <oklofok> thought it was a reference to my not being human
23:07:03 <oklofok> i suppose idiot savants are technicaly human
23:11:41 <oklofok> i actually now also realize your "then you are human" comment would've been before my definition of human
23:12:06 <oklofok> i bet none of you humans can do that
23:13:09 <oerjan> indeed my farts usually appear in the other end
23:14:00 <oklofok> no wonder you're never invited to the intergalactic gala of greatness
23:14:13 <oerjan> wait, did i just make a fart joke? my humor must be deteriorating even further!
23:14:47 <oklofok> were you planning on that continuation btw?
23:15:11 <oerjan> what is this "planning" thing you are speaking of
23:43:24 <Sgeo> Chrome's "Close tabs opened by this tab" only goes 1 level deep
23:44:23 <oerjan> well otherwise it would have to recurse. and that would require recursion.
23:45:28 <oerjan> something which would necessitate a recurrence step.
23:45:47 <oklofok> is this another fart joke?
23:46:27 <Sgeo> oerjan, and that's bad how?
23:46:55 <oklofok> because the smell would be horrible
23:47:51 <oerjan> oklofok: unlikely. although who knows what one might find at the base step.
23:48:45 <oklofok> YOU TELL ME WHAT THE JOKE WAS ABOUT THIS INSTANT
23:49:19 <oerjan> but that would require me explaining what the point of the joke is!
23:50:08 <oklofok> unless the joke actually had nothing to do with chrome
23:50:09 <oerjan> beware of the oklobear
23:50:57 <oerjan> that seems a distinct possibility. except it certainly started out relevant for a second.
23:53:19 <oerjan> today, we learn that sometimes people missing the point of a joke can be funnier than the joke itself
23:53:27 -!- Pthing has joined.
23:53:44 <oklofok> i'm going to grr you dead.
23:54:09 * Sgeo grrs oklofok to half-death
23:54:45 <oerjan> a grrrsome death, i assume
23:55:33 <oklofok> seriously, what was the joke
23:56:03 <Sgeo> I assume it was about describing recusion using variants of the word recursion
23:56:10 <oerjan> recursion. which should be obvious because of the recursion.
23:57:22 <oklofok> well come to think of it there needs to be no chrome reference because recursion already is a tab closing reference
23:57:54 <oerjan> now you're just trying to be incomprehensible back.
23:58:48 <oerjan> and i tell you there _was_ a chrome reference.
23:59:20 <oerjan> to close descendant tabs more than 1 level deep, what do you need?
00:00:10 <oklofok> but... there is nothing that has to do with chrome as such, just the tab closing
00:00:45 <oklofok> i mean it could've been firefox's "close all blah"
00:01:04 <oerjan> what, you expect me to actually provide relevant _information_? you know how unlikely that is, right?
00:02:11 <oerjan> everything is either a joke or a tragedy. and i try to be spare on tragedies in this channel.
00:02:24 <oerjan> but i can see we are approaching one.
00:03:15 * oerjan thinks that was not an appropriate use of the word "spare".
00:04:12 <oerjan> ok there is also a slight occurence of completely trivial blathering
00:04:30 <oerjan> sometimes turning into monologue
00:04:41 <oklofok> "try to be spare on tragedies" sounds weird to me
00:05:33 <oerjan> "sparsom", i'm just not managing to convert it into english
00:07:12 <oklofok> i just didn't get a joke, no use asking me anything
00:07:39 <oklofok> (also even with finnish i usually just google everything)
00:07:59 <oklofok> (oh wait i guess finnish implies that)
00:18:59 <Sgeo> "Other popular web development frameworks include CakePHP (for PHP programmers), Django (for Python programmers), and jQuery (for JavaScript)."
00:42:30 <AnMaster> I lost connection and my IP changed, yet I'm still connected to this network
00:48:49 -!- ais523 has quit (Remote closed the connection).
00:51:47 -!- oerjan has quit ("Good night").
01:25:07 -!- Gracenotes has quit (Remote closed the connection).
01:34:31 -!- Gracenotes has joined.
01:55:31 -!- fax has joined.
02:00:36 <fax> http://en.wikipedia.org/wiki/Arithmetic_combinatorics
02:00:37 -!- Gregor has quit (Read error: 104 (Connection reset by peer)).
02:01:37 -!- Gregor has joined.
02:09:54 -!- Rei_Murasame has joined.
02:10:04 -!- Rei_Murasame has left (?).
02:26:10 <fax> sounds cool
02:33:33 <Sgeo> "Caroline didn't exactly have these thoughts as I have set them down here;"
02:33:41 <Sgeo> Who uses I like that in fiction?
02:34:01 <Sgeo> In a 3rd person story, I mean
02:36:54 <fax> http://en.wikipedia.org/wiki/Combinatorial_species
03:32:07 -!- fax has quit ("quit").
03:39:48 -!- immibis has joined.
03:45:36 -!- coppro has quit (Remote closed the connection).
03:57:34 -!- Gracenotes has quit (Remote closed the connection).
04:01:20 -!- Gracenotes has joined.
04:08:04 -!- Gracenotes has quit (Remote closed the connection).
04:08:56 <Gregor> Sgeo: It implies that the narrator is a person existing in the universe of the story, not an omnipotent observer.
04:09:23 <Sgeo> But, the narrator isn't a person existing in the universe of the story
04:10:07 <Gregor> Maybe he's somebody that a main character explained the story to a decade later, who then wrote it down.
04:11:41 <Sgeo> I finished reading the story
04:12:08 <Sgeo> Also, there was one (well, two) other characters around. Both were dead by the time the story ended
04:12:31 <Sgeo> ..........I just spoiled something major
04:18:52 <Gregor> I feel that all good fictional stories should end with every major character dying.
04:18:55 <Gregor> That way there are no loose ends.
04:21:09 -!- madbr has joined.
04:22:58 <Sgeo> Gregor, the fact that those particular characters are even capable of dying is a spoiler
04:24:34 -!- Gracenotes has joined.
04:25:01 <Gregor> Presumably the fact that there is a question to whether these particular characters are even capable of dying is itself a spoiler.
04:44:52 <Sgeo> Gregor, a spoiler to what the setting is, maybe
05:14:34 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091105041559]").
05:20:57 <pikhq> Gregor: I feel that all good fictional stories should start with everyone dying.
05:42:34 -!- Gracenotes has quit ("Leaving").
05:58:16 -!- puzzlet_ has quit (Remote closed the connection).
05:58:21 -!- puzzlet has joined.
06:51:15 -!- Sgeo has quit ("Leaving").
07:47:21 -!- madbr has quit ("Radiateur").
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:44:08 -!- fax has joined.
08:49:03 <fax> oklopop http://en.wikipedia.org/wiki/Symbolic_combinatorics
09:02:04 -!- fax has quit ("quit").
09:02:31 -!- adam_d has joined.
09:13:27 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
09:13:31 -!- puzzlet has joined.
09:55:55 -!- adam_d has quit (Read error: 60 (Operation timed out)).
10:03:48 -!- Pthing has quit (Read error: 110 (Connection timed out)).
10:04:29 <MizardX> http://tav.espians.com/paving-the-way-to-securing-the-python-interpreter.html
10:04:56 <MizardX> a few months old, but new to me.
10:16:14 -!- BeholdMyGlory has quit (Read error: 110 (Connection timed out)).
10:35:03 -!- adam_d has joined.
10:54:44 -!- fax has joined.
12:13:41 <AnMaster> hm once I get ick fully working on classic I should make some sort of installer script
12:13:56 * AnMaster looks around for some "Apple Installer SDK" he has a vague memory of
12:22:09 <AnMaster> damn flex generates this just before the function:
12:22:45 -!- kar8nga has joined.
12:24:12 <AnMaster> so a function rather than a macro is needed
12:38:23 -!- fax has quit ("quit").
12:47:09 -!- puzzlet has quit (Remote closed the connection).
12:47:13 -!- puzzlet has joined.
12:53:24 * AnMaster is looking for an apple share sever for *nix
12:54:07 <AnMaster> this would be useful for keeping the ick thing in sync between emulator, real mac, and linux
13:18:47 <AnMaster> interesting, the system headers with MPW are really broad. There is even stuff there for defined(__GNUC__) && defined(__linux__)
13:19:27 <AnMaster> however there is a "warning unsupported compiler" after it, but it then goes on to define various stuff for it
13:20:25 <AnMaster> oh and there seems to have been a gcc for mpw once upon a time
13:20:49 <AnMaster> as in, that is yet another variant handled
13:21:32 <AnMaster> (and there is "visual C++ with Macintosh target" too!)
13:22:13 <AnMaster> a sun compiler. Okay these guys were crazy. half of these handled cases aren't even relevant for a mac...
13:41:50 -!- fax has joined.
14:08:26 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
14:09:31 -!- puzzlet has joined.
14:22:26 -!- kar8nga has quit (Remote closed the connection).
14:25:18 -!- impomatic has joined.
14:46:46 <AnMaster> MPW shell sure has strange commands (and command names): "Dolt - highlight and execute a series of shell commands"
14:47:18 <AnMaster> anyway I can't find any simple way to write \r or \n in it...
15:04:43 <AnMaster> okaaay.... I found out, but it seems undocumented for writing LF. CR is ∂n but it seems that ∂r actually works for LF.
15:04:51 <AnMaster> yet the latter is as far as I can tell undocumented
15:14:05 <AnMaster> oh yes found it documented in release notes for a minor update
15:15:04 -!- fax has quit ("quit").
15:47:24 -!- ehird has joined.
15:48:59 <ehird> 10:52:17 <fizzie> This has some rendering issues in the input line window: http://zem.fi/~fis/ircle.png
15:48:59 <ehird> USE SYSTEM 6 FUCKER
15:54:25 * AnMaster waits for ehird's comments on the MPW rant just above
15:54:31 <ehird> 12:01:02 <ais523> oh, I think it's a mix of spaces and tabs
15:54:32 <ehird> 12:01:07 <ais523> that looks correct with tab=8, as it always should be
15:54:32 <ehird> i'd argue, but you don't know anything about tabs or their history and i do and you still insist you're right, so i won't
15:54:32 <ehird> 12:02:57 <coppro> but tabs are dumb anyways
15:54:34 -!- BeholdMyGlory has joined.
15:54:35 <ehird> AnMaster: getting there! :P
15:54:51 <ehird> 12:04:01 <coppro> tab-space mixing is such a truly horrible idea
15:54:52 <ehird> 12:04:22 <coppro> if you use tabs properly, everything will still look right to someone with a different tab setting
15:54:53 <AnMaster> ehird, the tabs vs. spaces will be uh a pointless flamewar to read
15:55:09 <ehird> AnMaster: tabs vs spaces, yes, but you can define it as a set of tradeoffs
15:55:20 <ehird> 12:05:13 <ais523> coppro: any tab setting but 8 is wrong and broken
15:55:20 <ehird> ...this, however, is just ais523 making shit up
15:55:25 <AnMaster> ehird, you could also define it as a "holy flamewar"
15:55:37 <ehird> what i mean is that you can end spaces/tabs by listing the tradeoffs
15:55:52 <ehird> you can't argue against "tabs=8 OR YOU DIE because I said so QED"
15:56:05 <ehird> apart from the same argument you use against any such assertion, "uh... no"
15:56:31 <ehird> 12:07:46 <ais523> coppro: the tab width setting is going to matter whenever you use spaces
15:56:38 <ehird> you use tab at the start of a line to indent
15:56:41 <ehird> tab to indent past that
15:56:43 <ehird> and spaces to align
15:56:47 <ehird> it's very simple, very sane
15:56:51 <ehird> AnMaster: just reiterating it
15:56:55 <ehird> because he thinks everyone agrees with him
15:56:59 <AnMaster> ehird, yes but ais doesn't logread
15:57:19 <ehird> I need to vent, because he's always an idiot about tabs=8
15:57:43 <ehird> 12:08:14 <ais523> coppro: tabs are too wide to indent a line
15:57:43 <ehird> Sweet, a circular argument!
15:57:58 <AnMaster> ehird, yeah, he managed at least one more iirc
15:58:04 <ehird> They're pretty rare in practice, but he's actually managed one.
15:58:34 <AnMaster> ehird, they are rare? They seems quite common in flamewars in my experience
15:58:53 <ehird> Well, sure, in flamewars, but not in things masquerading as actual arguments
15:58:59 <ehird> The only other people to regularly do it are the religious
15:59:14 <AnMaster> isn't "things masquerading as actual arguments" *also* pretty common in flamewars?
15:59:23 <AnMaster> when people try to pretend it isn't one
15:59:57 <ehird> 12:08:57 <coppro> ais523: then indent with spaces and spaces only
15:59:57 <ehird> aw, don't copout of the argument — he's wrong and this just makes him think he's won
16:00:09 <ehird> 12:09:22 <AnMaster> <ais523> coppro: tabs are too wide to indent a line <-- not at all
16:00:10 <ehird> I agree even with tabs=8 that it's fine
16:00:14 <ehird> Don't nest so much!
16:00:43 <AnMaster> ehird, he ended up suggesting tab=3 was more common than tab=4 even iirc..
16:00:46 <ehird> 12:09:37 <ais523> (any editor that allows you to set tab to anything but 8 is suspicious, any editor that /defaults/ to anything but 8 is simply broken)
16:00:46 <ehird> Suspicious? ahahaha. And I guess that makes BBEdit, a very well-regarded editor, broken since 1993.
16:01:00 <ehird> 12:09:45 <AnMaster> tabs are not 8 by definiton
16:01:00 <ehird> 12:09:49 <ais523> yes they are
16:01:21 <ehird> 12:10:05 <AnMaster> ais523, why
16:01:21 <ehird> how come you're the one being logical and rational and he's just asserting shit?
16:01:27 -!- impomatic has left (?).
16:01:32 <ehird> YOU MIXED UP YOUR ALT ACCOUNTS, ANMASTER523!
16:01:58 <ehird> 12:11:15 <ais523> coppro: you'll break all the applications that assume that tab=8 if you do that
16:01:58 <ehird> 12:11:23 <AnMaster> ais523, yes because those apps are broken
16:01:59 <ehird> 12:11:25 <ais523> e.g. --help output often uses 8-space tabs
16:02:04 <ehird> They look fine no matter what the spacing
16:02:16 <AnMaster> ehird, I would never argue for tab = 8 though. That wouldn't just be me. I used to use tab = 2, then later went tab = 4
16:02:23 <Deewiant> One problem with using tabs to indent is that if you want 80-column lines, what you get depends on the tab width.
16:02:30 <ehird> tab=8 is fine in C, great in Go
16:02:32 <Deewiant> (I've chosen to not give a shit.)
16:02:42 <ehird> tab=8 gets awkward if you nazi-like insist on 80 cols, ofc
16:02:55 <ehird> even ken thompson says not to worry about line length in go :P
16:03:06 <ehird> Deewiant: ha i wrote my shit before yours
16:03:12 <ehird> but yeah, nobody cares
16:03:20 <ehird> measure with =8 if you want, nobody sets it *above* that
16:03:34 <Deewiant> I measure with =3 and give no shit since nobody cares anyway
16:03:39 <AnMaster> ehird, I think someone suggested tab=13 a bit later
16:03:49 <ehird> also, wc can use tabs (chars\twords\tlines) and it'll look fine whatever the tab width
16:04:12 <ehird> some put a \t before the chars, which is stupid, but doesn't matter
16:04:26 <ehird> ais523 is even wrong traditionally
16:04:34 <ehird> tabs go to the column that is the NEXT MULTIPLE of 8 traditionally
16:04:41 <ehird> before non-tab chars, this is 8 spaces
16:04:53 <ehird> but (6 chars)<tab>a is (6 chars)(two spaces)a
16:05:10 <AnMaster> ehird, btw, the thing about sun and java later was just to show how absurd he was acting when referring to indent(1) as some sort of authority
16:05:29 <ehird> he probably has gnu indent, which uses gnu style by default
16:05:31 <ehird> some fucking authority
16:05:43 <AnMaster> ehird, yeah, he was referring to both gnu and sun ones.
16:05:56 <ehird> ooh, sun; well-known purveyors of good unix
16:06:19 <ehird> 12:14:18 <ais523> so if you use tabs alone for indentation, you end up in the stupid situation where you can't read the program in anything but an editor
16:06:20 <ehird> do your eyes suddenly start to bleed when you see 8 spaces?
16:06:23 <ehird> if not, sure you can read it fine
16:06:30 <ehird> with any tab width
16:06:38 <ehird> ofc, he thinks indentation=alignment prolly
16:06:42 <AnMaster> ehird, also there was this "setterm" command to make it work on a terminal
16:06:44 <ehird> which would probably be his counterargument
16:06:47 <AnMaster> I think it had been mentioned then already
16:06:56 <ehird> 12:14:45 <ais523> also, because of wanting to restrict lines to 80 columns so they fit on the screen, having variable-sized tabs means that you have no idea where to split your lines
16:06:56 <ehird> "fit on the screen"
16:07:02 <ehird> ais523 actually uses a vt100
16:07:13 <ehird> also, his editor can't line-wrap
16:07:31 <ehird> (you can set vim to add one more level of indentation post-wrapping iirc, which is nice)
16:07:41 <ehird> looks just like manual wrapping
16:08:49 <ehird> 12:15:06 <AnMaster> <ais523> also, because of wanting to restrict lines to 80 columns so they fit on the screen, having variable-sized tabs means that you have no idea where to split your lines <-- you don't. 100 columns is just fine. More than that isn't I agree
16:08:49 <ehird> wow, I would have put you down as an 80-columns type
16:08:51 -!- fax has joined.
16:09:04 <ehird> 12:15:10 <ais523> AnMaster: presumably that was added to cope with the broken editors
16:09:12 <ehird> every counterargument is just because everything is broken!!!
16:09:27 <ehird> 12:15:24 <ais523> AnMaster: I can fit about 83 characters horizontally on my screen, on a half-screen-width window
16:09:27 <ehird> see, this is why people don't buy £300 laptops
16:10:20 <ehird> 12:17:32 <AnMaster> <ais523> oklofok: agreed; the reason to keep tabsize at a default of 8 is because that's what tabs have been for ever, and what a tab actually means <-- what a tab actually means says who?
16:10:20 <ehird> 12:17:48 <ais523> says more or less every program in existence, apart from a few editors
16:10:20 <ehird> by this of course he is discounting all your other examples
16:10:25 <ehird> because they're clearly because of broken editors!
16:10:30 <ehird> the fallacies are outstanding
16:10:37 <AnMaster> <ehird> wow, I would have put you down as an 80-columns type <-- why on earth. You edited cfunge yourself and commented upon that it went past 80 columns
16:10:46 <ehird> can we _please_ start teaching basic rational argument early on in schools?
16:10:55 <ehird> the world would be a much better place
16:11:20 <ehird> the conservative christians would complain :D
16:11:52 <AnMaster> ehird, only in US though. ais is in UK
16:12:17 <AnMaster> ehird, and US is so backwards anyway that it is a lost cause.
16:12:38 <ehird> the only reason to go to the US is to work at google or go to a university :P
16:12:40 <AnMaster> with all the lawyers there it probably is.
16:12:57 <ehird> definitely not microsoft :P
16:13:01 <AnMaster> ehird, what about universities in Europe?
16:13:15 <ehird> MIT is the single best university for CS, so...
16:13:54 <ehird> (and it's in Massachusetts, so you could pretend it's warm canada :P)
16:14:53 <AnMaster> ooh I found an old python version for classic mac os
16:15:06 <ehird> it has an IDE and stuff
16:15:35 <ehird> maybe it was python for windows that had its own ide way back
16:16:09 -!- kar8nga has joined.
16:16:16 <ehird> 12:18:35 <ais523> and that relied on tab=8
16:16:16 <ehird> 12:18:41 <ais523> AnMaster: it's used the \t forever
16:16:16 <ehird> 12:18:45 <ais523> since before I took it over
16:16:17 <ehird> 12:18:56 <ais523> further evidence that tab should equal 8...
16:16:17 <ehird> what, because you use it that way?
16:16:17 <AnMaster> the idle-lookalike (or idle) gives a traceback as the first thing
16:16:23 <ehird> (what kind of table-maker depends on tab=8?!)
16:16:26 <ehird> (just split on \t+)
16:16:39 <ehird> then you can align just fine if the entry is >8 chars, and it still works
16:16:50 <ehird> 12:19:27 <ais523> oklofok: the point was, I wasn't sure how wide each of the columns would be
16:16:50 <ehird> ...................so?
16:17:15 <AnMaster> ehird, does this python error look bad: "ValueError: Bad Marshal Data"
16:17:29 <ehird> marshal is an object deserialisation/serialisation model (unsafe so use pickle for user code)
16:17:35 <ehird> it is used for .pyc objects etc
16:17:57 <AnMaster> ehird, yeah but you aren't supposed to get a traceback about that when opening python right?
16:18:06 <ehird> maybe one of the system files has an invalid pyc
16:18:19 <ehird> remove them all and try again
16:18:46 <AnMaster> right. have to find them first
16:18:58 <ehird> 12:23:38 <AnMaster> ais523, it's like saying GNU cat is some role model for all cat's
16:18:58 <ehird> 12:23:41 <AnMaster> cats*
16:18:58 <ehird> "Here kitty kitty."
16:18:59 <ehird> "hewe kwitty kwitty"
16:19:13 <oklofok> ehird: but he knew they were of size 6-7, so tabsize of 8 made most sense, because he didn't need to adjust them to make it look pretty
16:19:20 <ehird> "emphasis FUCK YOU! end of line"
16:19:35 <ehird> oklofok: so he picked the tab width based on the contents? I thought it was 8 no matter what!
16:20:05 <ehird> 12:23:49 <Rugxulo> that's weird, actually, doesn't GNU coding style prefer tab width of 2?
16:20:16 <ehird> so 4 in practice, except for functions
16:20:18 <oklofok> or maybe more like 8 because 6-7 is such a common distribution
16:20:58 <ehird> 12:25:12 <ais523> AnMaster: err, I expect them to have followed industry practice at the time?
16:20:59 <ehird> do you have any idea how much sun's unices were hacked around?
16:21:02 <AnMaster> ehird, great. that value error happens randomly. about 3 times out of 7 or so of starting the IDE
16:21:06 <AnMaster> removing pyc files didn't help
16:21:14 <ehird> AnMaster: sheepshaver :P
16:21:32 <AnMaster> and what was the context of "industry practice" there?
16:21:42 <ehird> 12:26:03 <ais523> AnMaster: it doesn't even set it to an integer
16:21:42 <ehird> because tradition doesn't
16:21:54 <ehird> it's traditionally be go-to-next-multiple-of-8
16:21:58 <ehird> so all your argument-by-tradition is invalid
16:22:11 <ehird> AnMaster: their indent(1)
16:22:37 <ehird> 12:28:23 <ais523> given that this is a traditional flamewar, you can't go looking for a page that advocates one side of the flamewar, because there's bound to be one
16:22:37 <ehird> no, tabs vs spaces is traditional
16:22:45 <ehird> tabs=8 is never said by people who have learned what tab actually is
16:23:10 <ehird> 12:28:48 <ais523> 2 and 3 tend to be more common, 4 is a Pythonism
16:23:10 <ehird> a pythonism?! No...
16:23:10 <oklofok> i love it when ehird is on my side
16:23:15 <ehird> Pythonism is 4-spaces.
16:23:18 <ehird> Tabs are very much discouragedd.
16:23:26 <ehird> and people were indenting C by 4 since —
16:23:27 <oklofok> you know you don't have to fight when there's someone like him
16:23:30 <ehird> this is the 3 more common than 4 line
16:23:36 <ehird> you upset me ais523
16:23:43 <AnMaster> oklofok, yeah indeed. It is nice for a change
16:23:50 <ehird> oklofok: i have some kind of compulsion to viciously argue against idiots :D
16:24:22 <AnMaster> ehird, I wonder why there is some "Build application" drag-python-file-to-me application thingy with this macpython
16:24:31 <ehird> out of python files
16:24:38 <ehird> still exists today
16:24:58 <ehird> or .pyos, which are just optimised .pycs
16:25:00 <ehird> AnMaster: it's good for e.g. games
16:25:12 <AnMaster> ehird, there is an identical one called "build applet" too
16:25:18 <AnMaster> not sure what the difference would be
16:25:46 <ehird> 12:34:53 * SimonRC gets out his soldering iron; and the documentation for several popular HTML renderers.
16:25:46 <ehird> I'm here to solder things and read the documentation for several popular HTML renderers, and I'm allllll out of documentation.
16:26:58 <AnMaster> ehird, very strange line you quoted...
16:27:03 <ehird> 12:34:56 <ais523> SimonRC: DOS edit? Notepad? less without having to type out the -x option every time you view a file?
16:27:03 <ehird> 12:35:16 <ais523> more, fwiw, which doesn't have -x?
16:27:03 <ehird> It looks fine at tab=8, anyway.
16:27:13 <ehird> AnMaster: HTML renderers generally render as tab=4
16:27:27 <AnMaster> ehird, well, I mean the soldering iron. What has it got to do with things
16:27:28 <ehird> <ais523> WHICH IS BECAUSE THE WORLD IS DEAD AND BROKEN AND ITS ASHES SHITTED ON
16:27:32 <ehird> AnMaster: Who knows!
16:28:05 <AnMaster> <ehird> <ais523> WHICH IS BECAUSE THE WORLD IS DEAD AND BROKEN AND ITS ASHES SHITTED ON <--- I must have left by then? Or my memory refused to remember that
16:28:21 <ehird> 12:38:33 <ais523> AnMaster: well, I'm confused, because I'm 22
16:28:22 <ehird> dude, you had a bbc thingy when you were young
16:28:57 <ehird> either your parents didn't allocate much of their budget to buying you technology, your parents were poor, or they had this evil plan to bring you up as if it was years ago
16:29:11 <ehird> (the middle one meant i was using 3.11 in 1995 :-P)
16:29:25 <AnMaster> ehird, yet you have a mac now. That's not cheap.
16:29:36 <ehird> AnMaster: yes, because economic situations never change :P
16:29:55 <ehird> ehh, it's not like they're rich or anything
16:30:16 -!- FireFly has joined.
16:30:16 <AnMaster> "UNIX tools can be trivially ported to run in the MPW environment. Some examples of those that have been ported are awk, bison, yacc, lex, diff, flex, sed, perl, python, tags, and gcc."
16:30:24 <AnMaster> says apple's MPW "advantages" page
16:30:31 <ehird> I bet gcc wasn't so trivial
16:30:53 <AnMaster> ehird, wait till you read about the MPW include files in the scrollback
16:31:33 <ehird> i wish egcs didn't merge, it may have become something other than the worst GNU horror ever
16:32:33 <AnMaster> ehird, python and perl would be quite impressive too
16:33:52 <ehird> 12:40:17 <ais523> AnMaster: say you want to print out a Word document, or whatever
16:33:52 <ehird> You'd convert it to PostScript, and— oh, you're talking about shitty printers.
16:34:45 <AnMaster> ehird, did the tab discussion really go on for that long?
16:35:01 <ehird> It seems to have occupied the majority of an entire day
16:35:20 <AnMaster> s/day/night/ unless I misremember?
16:35:29 <oklofok> ehird: you were born in 1995 right?
16:36:07 <ehird> (And yes, I did get a computer when I was 3... not sure why, but hey.)
16:36:07 <ehird> 12:41:33 <AnMaster> I'm happy to have grown up on mac
16:36:07 <ehird> 12:41:37 <AnMaster> things just worked there
16:36:07 <ehird> 12:41:47 <AnMaster> and there was no terminal
16:36:07 <ehird> The most un-AnMaster like thing ever said? You decide.
16:36:22 <AnMaster> ehird, wasn't the "unimportant edge case" I said once less un-AnMasterish?
16:36:34 <ehird> AnMaster: I don't know, being happy there was no terminall?
16:37:26 <ehird> 12:48:32 <fizzie> AnMaster: You could be Illiad in disguise.
16:37:26 <ehird> that would explain the terrible sense of humour
16:37:35 <ehird> userfriendly is marginally ffunnier than garfield
16:37:43 <AnMaster> ehird, I didn't say that. The scoping was wrong. As in "there was no terminal there" was not one of the reasons for being happy with it
16:37:50 <AnMaster> just it didn't matter either way
16:37:52 <ehird> Well, okay, but still :P
16:40:29 * ehird flips back through a few UserFriendlies, sees a baww-type story about cancer and Pitr *still* talking faux-russian
16:40:35 <ehird> when did that start, 2000?!
16:40:40 <ehird> confirmed, still shit
16:41:37 <Deewiant> There's probably only a dozen or so strips at the start where he doesn't
16:44:56 <AnMaster> ehird, I stopped reading UF some time ago.
16:45:13 <ehird> 14:01:45 <coppro> indeed
16:45:13 <ehird> 14:01:51 <coppro> I wish I had written an answer like that :(
16:45:14 <ehird> 14:02:12 <coppro> oh wow, one of my answers hit 50 votes :)
16:45:14 <ehird> The problem with Stack Overflow is that it turns people into RPG-style karma whores instead of good helpers.
16:45:23 <ehird> Fuck that shit. Stack Overflow is a cesspool in practice which just proves it.
16:45:46 <ehird> At least Experts Exchange usually had the right answer if it had any.
16:45:49 <AnMaster> <ehird> Fuck that shit. Stack Overflow is a cesspool in practice which just proves it. <-- ah. That explains a lot about ick. cesspool.c
16:46:48 <ehird> 14:30:38 <coppro> how about we stop using autoconf
16:46:49 <ehird> 14:31:14 <ais523> coppro: because if used correctly you can actually make it work
16:46:49 <ehird> Same with a knife, for murder.
16:46:54 <ehird> LET'S KEEP MURDERING PEOPLE WITH KNIVES
16:47:07 <ehird> (Note: Autotools is actually literally as bad as knife murder.)
16:47:10 <ehird> ((Those poor knives!))
16:47:55 * AnMaster happened to have that file open in an editor and thus read ehird's line as containing the word "cesspool.c" first time around
16:48:22 <ehird> http://www.lettersofnote.com/2009/11/say-yes-i-need-job.html
16:50:43 <ehird> Okay, so f-thing is :
16:51:24 <AnMaster> at least it refuses to highlight MakeFile and makefile for me
16:51:28 <ehird> MPW 3.1:Examples:CExamples:MakeFile
16:51:58 <ehird> Probably has a file type :P
16:52:10 <ehird> Anyway, uh, Link(1) looks scary.
16:52:22 <AnMaster> ehird, no it's TEXT as file type
16:52:43 <ehird> I'm disappointed MPW uses file extensions :P
16:52:44 <AnMaster> ehird, Link? it crashes sheepshaver for me. PPCLink works
16:53:02 <ehird> Link is 68k duh :P
16:53:17 <ehird> I mean the syntax, anyway
16:53:24 <AnMaster> ehird, but then why does some 68k apps run under sheepshaver?
16:53:38 <AnMaster> (like ones I compiled on a real mac)
16:53:41 <ehird> fat binaries (both 68k & ppc) and 68k emulation
16:53:52 <ehird> just like universal binaries and rosetta from ppc→intel
16:53:53 <AnMaster> ehird, I made sure it wasn't a fat one
16:54:19 <ehird> except rosetta is a better ppc emulator than the 68k one was :P
16:54:22 <AnMaster> ehird, anyway what do you think about that crazy header in MPW I mentioned?
16:54:27 <ehird> for 68k that is xD
16:54:30 <ehird> AnMaster: still reading
16:55:01 <ehird> 14:36:50 <ais523> and my university does, but I couldn't sensibly put it there, it's unrelated to my research
16:55:01 <ehird> lol, tons of people have websites on university accounts
16:55:18 <ehird> <ais523> but they're evil! IT SAYS IN THIS POLICY—
16:55:22 <AnMaster> ehird, not ais. Same as he would never pirate anything
16:55:57 <ehird> "Probably all laws are useless; for good men do not want laws at all, and bad men are made no better by them." — Demonax
16:56:05 <ehird> I wonder what kind of man ais523 is, then
16:56:38 <ehird> with the most awesome name ever
16:56:46 <ehird> he kills people with his demon axe!
16:57:12 <AnMaster> "to tell the good from the bad"
16:57:21 <AnMaster> without laws you can't point out who are the bad ones
16:57:32 <ehird> Good men can point out who the bad men are :P
16:57:32 <AnMaster> you could use "moral" for that
16:57:46 <AnMaster> ehird, bad men could lie about it and frame god men?
16:57:57 <AnMaster> (you forgot the category "stupid men")
16:59:13 -!- ehird_ has joined.
16:59:41 <ehird_> [16:57] ehird: (Utilitarianism FTW.)
16:59:42 <ehird_> [16:58] ehird: Gah, I lost my net connection?
16:59:42 <ehird_> [16:58] ehird: It's connecting...
16:59:56 <ehird_> Just the bits I didn't hear
17:00:10 <ehird_> 08:57:46 <AnMaster> ehird, bad men could lie about it and frame god men?
17:00:11 <ehird_> 08:57:57 <AnMaster> (you forgot the category "stupid men")
17:00:11 <ehird_> I don't see what baring this has on Demonax's statement
17:00:30 <ehird_> More modernly rephrased, it's "Moral people are moral without laws, and immoral people ignore the laws".
17:00:51 <AnMaster> ehird_, what about the MPW header then?
17:01:04 <ehird_> I imagine that back in his time, there weren't people so afraid of authority that law was the only thing stopping them breaking it.
17:01:13 <ehird_> Such obedience is more of a modern thing, I think.
17:01:18 <ehird_> AnMaster: Still reading the previous day :P
17:01:30 <AnMaster> ehird_, oh multi-place log reading?
17:01:49 <ehird_> Just for my disconnection
17:02:45 <ehird_> 14:51:12 <AnMaster> ais523, wb
17:02:46 <ehird_> 14:51:23 <AnMaster> ais523, wrong button?
17:02:46 <ehird_> 14:51:32 <ais523> no, I was leaving in exasperation
17:02:46 <ehird_> Basically it's passive-aggressiveness.
17:03:31 <oklofok> is this because punishments are smaller?
17:03:45 <ehird_> oklofok: in reply to my modern-obedience?
17:03:46 <oklofok> "ehird_: I imagine that..." <<<
17:04:20 <ehird_> I think it's just culture. The conservatives advocate such crazy obedience to authority (well, when they're in power), but the liberals do too, really.
17:04:24 <oklofok> i mean that would make a lot of no sense
17:04:51 <ehird_> Mostly libertarians aren't so obedient, but they're all so irritating that it doesn't help the cause.
17:05:59 <oklofok> i don't think that many things are modern things
17:06:08 <ehird_> 14:54:12 <ais523> the name is an unfortunate one
17:06:08 <ehird_> 14:54:19 <ais523> it's about as accurate as "biscuit semantics" would be
17:06:08 <ehird_> 14:54:23 <oklofok> we get that
17:06:09 <ehird_> NO I THINK HE HAS TO TELL US SOME MORE
17:06:12 <ehird_> oklofok: i mean modern quite loosely
17:06:29 <ehird_> definitely such a submissive, afraid-of-authority society isn't an ancient thing
17:06:40 <ehird_> maybe it's christianity that did it; "god-fearing" being positive
17:08:23 <oklofok> but my historian gf usually disagrees when i try to say ideas or patterns are inherently modern.
17:08:59 <oklofok> hmm, maybe history gets simplified when it's written down??
17:09:01 <ehird_> i think most people ignore law anyway, because it's extremely hard to actually find out what all the laws are
17:09:05 <ehird_> oklofok: you don't say.
17:09:37 -!- adam_d has quit (Read error: 60 (Operation timed out)).
17:09:51 <ehird_> http://www.diovo.com/2009/11/the-general-pirate-license/ what an awful license
17:10:16 <AnMaster> yay I got something that you can actually run directly after compile now (without messing around manually with copying ick-wrap.c and syslib.i and such
17:10:34 <AnMaster> ehird_, so what about the MPW HEADERS?
17:10:44 <ehird_> STILL FUCKING LOGREADING BITCH :|||||||||
17:11:17 <oklofok> WELL STOP FUCKING HER SO SHE CAN FINISH
17:11:32 <oklofok> the "fucking" joke never gets old
17:11:38 <ehird_> 15:43:24 <Sgeo> Chrome's "Close tabs opened by this tab" only goes 1 level deep
17:11:39 <ehird_> 15:44:23 <oerjan> well otherwise it would have to recurse. and that would require recursion.
17:11:39 <ehird_> 15:45:22 <oklofok> i'm not sure i get that
17:11:39 <ehird_> 15:45:28 <oerjan> something which would necessitate a recurrence step.
17:11:39 <ehird_> 15:45:47 <oklofok> is this another fart joke?
17:12:13 <ehird_> 15:53:44 <oklofok> i'm going to grr you dead.
17:13:29 <ehird_> 20:18:52 <Gregor> I feel that all good fictional stories should end with every major character dying.
17:13:29 <ehird_> 20:18:55 <Gregor> That way there are no loose ends.
17:13:32 <oklofok> i was angry and probably a bit scary too
17:13:33 <ehird_> What about the minor characters?
17:13:45 <ehird_> And mechanical happenings.
17:13:52 <ehird_> EVERY WORK MUST END WITH THE DESTRUCTION OF THE MULTIVERSE
17:14:25 <ehird_> ...That didn't even rhyme
17:14:49 <ehird_> 05:22:13 <AnMaster> a sun compiler. Okay these guys were crazy. half of these handled cases aren't even relevant for a mac...
17:14:52 <ehird_> they'll just have bought the header files
17:15:05 <ehird_> 06:46:46 <AnMaster> MPW shell sure has strange commands (and command names): "Dolt - highlight and execute a series of shell commands"
17:15:06 <ehird_> I like the workspace thingy
17:15:10 <ehird_> Like a smalltalk transcript
17:15:13 <ehird_> Text that you can run parts of
17:15:25 -!- ehird has quit (Success).
17:15:26 -!- ehird_ has changed nick to ehird.
17:16:16 <AnMaster> ehird, actually no. There is a comment at the end asking people to send in more compiler detection and defines to apple if one is missing
17:16:29 <ehird> it's for ported compilers, then
17:16:35 <ehird> it's just for non-MPW stuff
17:16:39 <ehird> wasn't the only compiler in time, nor the most common
17:16:44 <ehird> (Metrowerks was the most common, I believe)
17:16:50 <AnMaster> ehird, some of them ran on pc. Like that C++ *targeting* mac.
17:17:00 <AnMaster> but it says also "runs on windows nt"
17:17:06 <ehird> it was mostly for enterprisey things
17:17:22 <ehird> AnMaster: cross-compiling
17:17:26 <ehird> macs were kinda shit in those days
17:17:26 <AnMaster> ehird, I have metroworks around here somewhere too. Seems easier to use interface but less advanced
17:17:35 <ehird> so nobody developed on them
17:17:39 <ehird> and NT was a sturdy workstation OS
17:17:52 <AnMaster> ehird, and the egcs for MPW thingy?
17:18:08 <ehird> because gcc sucked
17:18:21 <ehird> (think compiling gcc-needing libraries, etc)
17:19:35 <AnMaster> that was why there was a native version for MPW?
17:20:06 <AnMaster> ehird, sec will find the header
17:20:26 <AnMaster> ehird, you know where your header files are?
17:21:00 <AnMaster> look at "ConditionalMacros.h" in that directory
17:22:07 <ehird> Open "{CIncludes}ConditionalMacros.h" tell me it doesn't exist
17:22:10 <ehird> Post-1988 I presume :P
17:23:00 <ehird> Does About MPW... give you a fun animation?
17:26:41 <ehird> It assembles a floppy then spray-paints it white.
17:26:44 <AnMaster> about things flying out of a toolbox, then some paint sprayed on
17:26:45 <ehird> A CD for you, I'd wager.
17:26:51 <AnMaster> and end result is a blue floppy
17:29:29 <ehird> Incidentally, Go's networking is like Plan9's dial().
17:29:38 <ehird> No "sockets", just a connector returning a file.
17:29:52 <ehird> Unsurprising considering it's the same people.
17:29:55 -!- kar8nga has quit (Remote closed the connection).
17:32:51 <AnMaster> ehird, what about listening for connections?
17:33:03 <ehird> I was talking about connections.
17:33:21 <ehird> "A Listener is a generic network listener for stream-oriented protocols. Accept waits for the next connection and Close closes the connection."
17:33:24 <AnMaster> but what if I want to implement a server
17:33:27 <ehird> type Listener interface {
17:33:27 <ehird> Accept() (c Conn, err os.Error);
17:33:27 <ehird> Addr() Addr; // Listener's network address
17:33:47 -!- puzzlet_ has joined.
17:33:55 <ehird> conn, err := listener.Accept();
17:34:08 <ehird> then conn is a subtype of Conn, which is a file
17:34:14 <ehird> (probably TCPConn)
17:34:31 <AnMaster> ehird, so more like normal networking then
17:34:42 <ehird> Not really, a listener is, of course, a sane concept.
17:35:05 <ehird> But having connections just be files with some useful extra stuff — BSD sockets rapes that.
17:35:24 <AnMaster> ehird, doesn't sound too different from binding to a socket? Just it happens to be listen() bind() and accept() instead of a object representing it
17:35:25 <ehird> I'm surprised Berkeley sockets are so fugly to use, actually. I'd expect better from the BSD guys.
17:35:32 <ehird> AnMaster: That's listeners.
17:35:42 <AnMaster> ehird, that's what I'm talking about
17:35:42 <ehird> The important thing is what you get from a listener, and how you connect yourself.
17:35:48 <ehird> There is nothing wrong with listeneers.
17:35:54 <ehird> There is something wrong with sockets.
17:36:07 <ehird> (especially connecting)
17:36:27 <ehird> (you have to do a bloody *ugly cast of a reference* just to connect with a BSD socket...)
17:36:33 <ehird> uh, by reference I mean pointer-by-&foo
17:36:41 <ehird> and pass the sizeof
17:37:34 <AnMaster> ehird, hah ick is trying to open :share:/ick-wrap.c
17:37:50 * AnMaster goes looking at the source for where to change that
17:37:54 <ehird> btw, you create a Listener by e.g.:
17:38:43 <ehird> var foo Listener = net.ListenTCP("tcp", net.ResolveTCPAddr("0.0.0.0:6667")
17:38:49 <ehird> which is a TCPListener
17:39:01 -!- oerjan has joined.
17:39:03 <ehird> you could construct a TCPAddr yourself, though
17:39:32 <ehird> {IP: net.ParseIP("0.0.0.0"), Port: 6667}
17:39:45 <ehird> {IP: net.IPv4(0, 0, 0, 0), Port: 6667}
17:39:56 <ehird> or even just passing
17:40:19 <ehird> (same as {0,0,0,0} here; byte=uint8)
17:40:26 <ehird> (and type IP []byte)
17:40:38 <AnMaster> ehird, is Go statically typed?
17:40:51 <ehird> more strongly than C
17:40:54 <ehird> and yes, it has pointers
17:40:58 <ehird> (no pointer arithmetic, though)
17:41:06 <ehird> but you can't break the type-system
17:41:10 <AnMaster> aww, I love pointer arithmetics
17:41:12 <oerjan> <pikhq> Gregor: I feel that all good fictional stories should start with everyone dying.
17:41:13 <ehird> without using a module basically the same as Haskell's Unsafe.Shit.Crap
17:41:26 <ehird> AnMaster: also, it isn't OOP, btw
17:41:34 <oerjan> AnMaster: read it hours ago
17:41:57 <AnMaster> oerjan, which theme was it now again?
17:42:05 <ehird> it has structs, interfaces (basically a type full of function signatures, and anything with a method of a compatible type is typed as that interface; it's strongly-typed duck typing) and methods
17:42:24 <oerjan> AnMaster: something hobbitual
17:42:27 <ehird> func (thing SomeStructOrInterface) Foo(...)
17:42:30 <ehird> func (thing *SomeStructOrInterface) Foo(...)
17:42:33 <ehird> and then you can do thing.Foo()
17:42:41 <ehird> and if you have e.g.
17:42:57 <ehird> type Foo struct {*Bar; ExtraField int;}
17:43:05 <AnMaster> oerjan, not a hobbit joke surely?
17:43:06 <ehird> then you can do someFoo.MethodOnBar()
17:43:13 <ehird> basically, struct entries without names are "included"
17:43:24 <oerjan> AnMaster: not a hobbit pun, no
17:43:30 <ehird> so we just have structs, interfaces, some syntactic sugar and unnamed-structs-are-inlined
17:43:35 <ehird> and we have a system *better* than OOP
17:43:43 <AnMaster> <ehird> func (thing SomeStructOrInterface) Foo(...) <-- so what is parameter list, and what is return type?
17:43:49 * AnMaster can't figure out how to read it
17:44:03 <ehird> a no-argument function main
17:44:05 <ehird> that returns nothing
17:44:14 <ehird> is a no-argument function foo that returns an int
17:44:17 <ehird> func foo(a int) int
17:44:18 <AnMaster> ehird, oh that sounds like pascal
17:44:22 <AnMaster> iirc it had return type last too
17:44:31 <ehird> func (thing *Foo) blah(a int) int
17:44:37 <AnMaster> well, yeah more languages than pascal do
17:44:39 <ehird> aFoo.blah(anInt) → int
17:45:01 <ehird> thing is then aFoo.
17:45:16 <ehird> basically, you read
17:45:20 <ehird> func foo bar(baz) quux
17:45:29 <ehird> function bar on foo, taking baz and returning quux
17:45:32 <ehird> func foo bar(baz) quux
17:45:35 <ehird> foo.bar(baz) → quux
17:45:45 <ehird> you can also have multiple return vars
17:45:52 <ehird> func (c *TCPConn) Read(b []byte) (n int, err os.Error)
17:46:00 <AnMaster> a bit hard to read, but that is just due to not being used to it
17:46:06 <ehird> means that you do aTCPConn.Read(aByteArray)
17:49:14 -!- oerjan has quit (orwell.freenode.net irc.freenode.net).
17:49:14 -!- fax has quit (orwell.freenode.net irc.freenode.net).
17:49:17 -!- Slereah has quit (orwell.freenode.net irc.freenode.net).
17:49:17 -!- rodgort has quit (orwell.freenode.net irc.freenode.net).
17:49:20 -!- Guest19337 has quit (orwell.freenode.net irc.freenode.net).
17:49:24 -!- AnMaster has quit (orwell.freenode.net irc.freenode.net).
17:49:28 -!- Warrigal has quit (orwell.freenode.net irc.freenode.net).
17:49:28 -!- Gregor has quit (orwell.freenode.net irc.freenode.net).
17:49:31 -!- sebbu has quit (orwell.freenode.net irc.freenode.net).
17:49:31 -!- iamcal has quit (orwell.freenode.net irc.freenode.net).
17:49:40 -!- ineiros has quit (orwell.freenode.net irc.freenode.net).
17:49:43 -!- jix has quit (orwell.freenode.net irc.freenode.net).
17:49:46 -!- puzzlet_ has quit (orwell.freenode.net irc.freenode.net).
17:49:46 -!- ehird has quit (orwell.freenode.net irc.freenode.net).
17:49:46 -!- FireFly has quit (orwell.freenode.net irc.freenode.net).
17:49:46 -!- puzzlet has quit (orwell.freenode.net irc.freenode.net).
17:49:48 -!- mycroftiv has quit (orwell.freenode.net irc.freenode.net).
17:49:51 -!- dbc has quit (orwell.freenode.net irc.freenode.net).
17:49:51 -!- mtve has quit (orwell.freenode.net irc.freenode.net).
17:49:53 -!- BeholdMyGlory has quit (orwell.freenode.net irc.freenode.net).
17:49:56 -!- HackEgo has quit (orwell.freenode.net irc.freenode.net).
17:49:59 -!- olsner has quit (orwell.freenode.net irc.freenode.net).
17:49:59 -!- Rembane has quit (orwell.freenode.net irc.freenode.net).
17:50:00 -!- augur has quit (orwell.freenode.net irc.freenode.net).
17:50:00 -!- oklofok has quit (orwell.freenode.net irc.freenode.net).
17:50:02 -!- SimonRC has quit (orwell.freenode.net irc.freenode.net).
17:50:04 -!- bsmntbombdood_ has quit (orwell.freenode.net irc.freenode.net).
17:50:04 -!- Leonidas has quit (orwell.freenode.net irc.freenode.net).
17:50:07 -!- pikhq has quit (orwell.freenode.net irc.freenode.net).
17:50:07 -!- fizzie has quit (orwell.freenode.net irc.freenode.net).
18:00:00 -!- SimonRC has joined.
18:00:00 -!- augur has joined.
18:00:37 -!- Warrigal has joined.
18:00:37 -!- ineiros has joined.
18:00:37 -!- mtve has joined.
18:00:37 -!- dbc has joined.
18:00:37 -!- olsner has joined.
18:00:37 -!- HackEgo has joined.
18:00:37 -!- Rembane has joined.
18:00:37 -!- Guest19337 has joined.
18:00:37 -!- AnMaster has joined.
18:00:37 -!- mycroftiv has joined.
18:00:37 -!- iamcal has joined.
18:00:37 -!- jix has joined.
18:00:37 -!- sebbu has joined.
18:00:37 -!- rodgort has joined.
18:00:37 -!- Slereah has joined.
18:00:37 -!- Gregor has joined.
18:00:37 -!- BeholdMyGlory has joined.
18:00:37 -!- fax has joined.
18:00:37 -!- FireFly has joined.
18:00:37 -!- ehird has joined.
18:00:37 -!- puzzlet_ has joined.
18:00:37 -!- oerjan has joined.
18:00:37 -!- oklofok has joined.
18:03:07 <ehird> fileiter=ICK_PATHUPTREE "include";
18:03:07 <ehird> AnMaster: right, well, having an exact path is of course better than that hack
18:03:07 <ehird> (of hardcoding ..)
18:03:08 <AnMaster> ehird, problem is it adds / somewhere
18:03:08 <AnMaster> ehird, I think it is in that function
18:03:11 <AnMaster> which would be the cause of :share:/syslib.i
18:03:12 <ehird> 16 while(*guessdir != '\0' && i<BUFSIZ-2) buf2[i++] = *guessdir++;
18:03:12 <ehird> 17 buf2[i++] = '/';
18:03:14 <ehird> if (buf2[i++] != ICK_PATHSEP)
18:03:14 <AnMaster> ehird, I think I could rewrite it. But I don't think I could patch it.
18:03:14 <ehird> buf2[i-1] = ICK_PATHSEP;
18:03:15 <ehird> if (buf2[i] != ICK_PATHSEP) buf2[i++] = ICK_PATHSEP;
18:03:15 <ehird> AnMaster: because :/
18:03:15 <ehird> if it just added :
18:03:15 <ehird> which is previous dir
18:03:15 <ehird> unlike // on posix
18:03:15 <ehird> 46 ret = ick_debfopen(buf2,mode); /* argv[0]/../lib/ */
18:03:15 <ehird> is also suspicious
18:03:16 <AnMaster> ehird, and ::: will be /../../
18:03:16 <AnMaster> notice that the mapping isn't clean
18:03:19 <ehird> to only add the path sep if it doesn't have one
18:03:22 <ehird> it's for when you set it to /foo
18:03:23 <ehird> normally /foo// is harmless
18:03:33 -!- fizzie has joined.
18:03:36 <ehird> AnMaster: btw your next challenge is to port CLC-INTERCAL :D
18:03:37 <ehird> oklofok: probably his
18:03:37 <ehird> either his or someone else who worked on c-intercal
18:03:40 <ehird> maybe esr, but I doubt it
18:03:40 <ehird> it looks very much like ais523
18:04:01 -!- bsmntbombdood_ has joined.
18:04:01 -!- Leonidas has joined.
18:04:01 -!- pikhq has joined.
18:04:04 <ehird> and it is pretty much the worst code I've seen today
18:04:07 <ehird> esp. repeating the 16 while(*guessdir != '\0' && i<BUFSIZ-2) buf2[i++] = *guessdir++; loop
18:04:07 <oklofok> yes i recognize by the way he dots his i's
18:04:08 <ehird> he repeats it for fileiter
18:04:08 <ehird> whatever, I'd just do
18:04:08 <ehird> #define COPYTOBUF2(x) while (*x != '\0' ...
18:04:13 <ehird> then #undef COPYTOBUF2 at the end of the function
18:04:21 <ehird> correction, I'd throw away that code
18:04:44 <AnMaster> ehird, yeah I would, but how would I know I didn't break some weird system?
18:05:04 <ehird> also, go has closures <3
18:05:09 <AnMaster> as in, I need to figure out what the current code does before I can rewrite it to extend it.
18:05:18 <ehird> I'm pretty sure I'm going to adopt it as my main language
18:05:19 <oklofok> i'd just buy a hamster and teach it to code my file iteration code
18:05:23 <AnMaster> ehird, many high level languages do. For low level ones it is less common.
18:05:32 <AnMaster> ehird, how high/low level is Go?
18:05:38 <ehird> Go is a systems programming language
18:05:43 <oklofok> or whatever that does, i didn't read the *whole* comment
18:05:49 <ehird> It has pointers, a GC and closures
18:05:51 <AnMaster> ehird, it seems higher level than C though
18:05:51 <ehird> Who can really say?
18:06:01 <ehird> You could write a kernel in it without too much bother.
18:06:16 <ehird> You could write coreutils in it without breaking a sweat.
18:06:19 <AnMaster> ehird, can you turn the GC off? Like for when you are implementing parts of the OS that needs to work before GC is ready
18:06:23 <ehird> You could write init in it.
18:06:27 <ehird> AnMaster: Not right now.
18:06:41 <AnMaster> ehird, planned feature? And what language is the GC written in then?
18:06:55 <ehird> The GC is a shitty mark-and-sweep that only works with gc (the generic name for the Ng compilers; confusing, I know; I think it's because it's written in C) and not gccgo right now
18:06:57 <AnMaster> or rather: How much of Go is written in Go (and what other languages are used)
18:06:58 <ehird> It's being redeveloped
18:07:01 <ehird> for both implementations
18:07:05 <ehird> as a shiny concurrent gc
18:07:14 <oklofok> go is gc with a half circle added to the c
18:07:26 <AnMaster> ehird, there are two Go implementations?
18:07:33 <AnMaster> when was this language released?
18:07:43 <ehird> A few days ago. Developed since 2007.
18:07:43 <oklofok> that tiny subset is what you'd use
18:07:46 <ehird> the implementations are by the same people
18:07:52 <ehird> gc is mostly ken thompson's I believe
18:08:03 <ehird> especially since it is basically like the plan 9 c compiler
18:08:17 <ehird> anyway, gccgo produces faster code but is much slower, does goroutines (concurrency) worse and has no gc
18:08:20 <AnMaster> ehird, well I will have to ask ais on that findandfopen function
18:08:21 <ehird> most people use gc.
18:08:37 <ehird> (and the stdlib is compiled with it)
18:08:49 <ehird> and the build system uses it by default
18:09:07 <ehird> oh, and if you use gccgo you can't use the plan 9 linker ofc
18:09:08 <AnMaster> ehird, if he can describe expected behaviour for it I would rewrite it to work for mac too.
18:09:11 <ehird> so it'll be sloooooooow
18:09:18 <ehird> AnMaster: I'd just do my mods, pretty easy
18:09:21 <AnMaster> ehird, oh? Is the linker the slowest part?
18:09:32 <ehird> Well, no, it's just that Plan 9's linker is really fast
18:09:52 <ehird> you can execute gc and the linker on ten files before gcc and ld set their mind on the first
18:10:10 <AnMaster> ehird, are you on OS X atm? I need you to check something for me
18:10:24 <AnMaster> ehird, basically, does the compiler there define macintosh
18:10:25 * ehird writes http://www.paulgraham.com/accgen.html in Go
18:10:36 <ehird> although with int before number
18:10:45 <ehird> AnMaster: define what
18:10:48 <ehird> #define macintosh?
18:11:05 <AnMaster> like it defines __GNUC__ probably
18:11:16 <ehird> $ gcc -E -x c /dev/stdin
18:11:18 <ehird> # 1 "<command line>"
18:11:26 <ehird> maybe the headers define it, but i doubt it
18:11:29 <ehird> it'll be a ____ thiing
18:11:47 * ehird writes http://www.paulgraham.com/accgen.html but with a fixed-size int instead of number first, to be precise
18:11:47 <AnMaster> so my "detect if this is mac" won't break that then
18:11:53 <ehird> I'm not sure we have bigfloats :P
18:12:02 <ehird> but I'll make it use an interface the second time I guess
18:12:40 <AnMaster> ehird, because the only common thing that all mac compilers I used (MrC, SC, CodeWarrior) defines is "macintosh"
18:12:47 <AnMaster> the PPC ones define powerc and __powerc
18:14:28 -!- kar8nga has joined.
18:14:42 <ehird> func foo(n int) func (int) int {
18:14:43 <ehird> return func(i int) int { return n += i}
18:15:01 <ehird> func foo(n int) func (int) int {
18:15:01 <ehird> return func(i int) int { return n += i }
18:15:09 <ehird> I'm doing a fixed-size regular int first, just there
18:16:03 <oklofok> hard to read lines all the way to the end
18:16:22 <AnMaster> ehird, btw why did ais use indention=2 in that file if he liked indent=4 tab=8...
18:16:51 <ehird> btw, he chose to format the dna maze code with the intention of annoying the most amount of people
18:17:19 <ehird> it has almost no spaces, mixed spaces and tabs, 2 (iirc) indent, {s on the starting line, and }s on the same line as the last statement
18:17:26 <ehird> and it made me want to fucking rip his head off when trying to make it compile
18:17:28 <oklofok> i use dynamic indentation, i indent lines k times, if they are used O(n^k) times during a run of the program
18:17:45 <ehird> intacc.go:5: syntax error near int
18:17:45 <ehird> intacc.go:6: syntax error near int
18:17:45 <ehird> intacc.go:10: syntax error near bar
18:17:52 <Gregor> `addquote <oklofok> i use dynamic indentation, i indent lines k times, if they are used O(n^k) times during a run of the program
18:17:56 <HackEgo> 103|<oklofok> i use dynamic indentation, i indent lines k times, if they are used O(n^k) times during a run of the program
18:18:19 <AnMaster> ehird, the "detect absolute argv" thing won't work on mac
18:18:23 <ehird> oops, += is a statement
18:18:34 <ehird> (so there are no ++ ordering issues)
18:18:42 <ehird> ah, of course, you have to return a function pointer
18:18:46 <ehird> func foo(n int) *func (int) int {
18:18:53 <ehird> func foo(n int) *(func (int) int) {
18:19:18 <AnMaster> ehird, non-trivial to check in C. Well trivial but a bit of work
18:19:44 <ehird> intacc.go:6: cannot use (node O-33) (type func(i int) (int)) as type *func(int) (int)
18:19:58 <ehird> took me a second to realise I needed & before the func in return func(i int) int { n += i; return n } there
18:20:02 <ehird> automatic pointerification would be scary
18:21:22 <ehird> hmm, you can't do &func ...
18:22:01 <AnMaster> ehird, oh and apps seems to get relative paths only *checks for mpw tools*
18:22:16 <ehird> you can return functions directly
18:23:06 -!- FireFly has quit ("Later").
18:23:08 <ehird> func foo(n int) (func (int) int) {
18:23:09 <ehird> return func(i int) int { n += i; return n };
18:23:16 <ehird> erm, that last ; isn't required
18:23:50 <ehird> func foo(n int) (func (int) int) {
18:23:50 <ehird> return func(i int) int {
18:24:35 <ehird> func foo(n int) (func(int) int) {
18:25:23 <ehird> AnMaster: oklofok: http://sprunge.us/JXMf
18:25:29 <ehird> now to make a generic-number version
18:26:09 <ehird> it's nice how you can return a function that isn't a pointer
18:26:52 <ehird> by number paul graham means non-ints and bignum i guess
18:27:13 -!- Slereah_ has joined.
18:27:14 <ehird> bigThis package implements multi-precision arithmetic (big numbers).
18:27:14 <ehird> bignumA package for arbitrary precision arithmethic.
18:27:30 <ehird> This package has been designed for ease of use but the functions it provides are likely to be quite slow. It may be deprecated eventually. Use package big instead, if possible.
18:30:55 <oklofok> i think by number he means something you can increment and test against zero
18:31:13 <AnMaster> wait why is ais checking of argv[0] contains at least one /
18:31:14 <oklofok> that's the natural definition!
18:31:23 <AnMaster> that could be absolute or relative
18:32:04 <AnMaster> or is he reasoning like "oh, if it doesn't contain any path it probably isn't in current directory, but if it does it is probably relative current directory"?
18:33:42 <ehird> oklofok: you don't need to test against zero
18:34:33 <oklofok> well yeah but i don't think a number that can't be compared to others is a very useful number
18:34:55 <ehird> heh, can't whittle it down
18:35:06 <AnMaster> or does gdb not support go yet
18:35:13 <ehird> AnMaster: gc is written in c
18:35:16 <AnMaster> or does it have it's own debugger?
18:35:20 <ehird> (6g = gc for 64-bit)
18:35:21 <ehird> but it doesn't use libc
18:35:24 <AnMaster> ehird, oh hah was that the compiler crashing?
18:35:32 <AnMaster> ehird, 6g makes me thing of i686
18:35:33 <ehird> (it uses lib9, plan9port's ported plan9 libc)
18:35:56 <ehird> AnMaster: x*[8]6, amd[6]4, arm[INEXPLICABLE 5]
18:36:01 <ehird> AnMaster: x[8]6, amd[6]4, arm[INEXPLICABLE 5]
18:36:24 <AnMaster> ehird, there is a 6 in x86 too
18:36:30 <ehird> yes, but it isn't the first digit
18:36:31 <AnMaster> wouldn't 8 and 4 have been safer?
18:36:39 <ehird> technically 8* is for 386 in plan9
18:36:50 <ehird> i.e. it calls it 386
18:36:53 <ehird> but 3 was prolly taken
18:36:55 -!- Slereah has quit (Read error: 110 (Connection timed out)).
18:37:01 <ehird> anyway 6 is easily-memorable as 64-bit
18:37:11 <ehird> 8 is, eh, x86 nowadays, so pretty memorable
18:37:18 <ehird> and I'm sure if you did arm work 5 would become memorable too
18:37:37 <ehird> so it's not a big deal
18:37:50 <AnMaster> ehird, why use numbers? why not something like g -86 g -64 or such? (Not that those two are logical, but they are shorer than logical ones)
18:38:06 <ehird> AnMaster: separate binaries has a very good reason
18:38:13 <ehird> the nice upside is that if you just compile and install 5* on e.g. amd64
18:38:20 <AnMaster> ehird, because it seems so illogical you would keep thinking about "why", thus you would remember it
18:38:21 <ehird> you can use them to cross-compile
18:38:33 <ehird> cross-compiling becomes no big deal
18:38:53 <AnMaster> ehird, um how does having a binary able to compile to all not do that
18:38:56 <ehird> you can mix-and-match, and each program does one thing ("compile go source to ARM object" "link ARM objects in the plan 9 linker format")
18:39:01 <AnMaster> I have gcc -m32 and gcc -m64 after all
18:39:08 <ehird> AnMaster: because it's wasteful to include every architecture+os in every compiler
18:39:15 <ehird> and the whole point is that you don't have to tell the build system
18:39:17 <ehird> hey cross compile it
18:39:24 <AnMaster> ehird, could do it as a wrapper that calls the right internal binary I guess
18:39:24 <ehird> you just tell it you're e.g. ARM
18:39:35 <ehird> AnMaster: no real point
18:39:40 <ehird> since the internal binaries are usable as-is
18:40:03 <ehird> the only downside is that there's no way to quickly do "whatevertherightoneis file" in a build system or whatever
18:40:05 <ehird> but that's basically void
18:40:08 <ehird> because go has makefiles
18:40:21 <AnMaster> ehird, btw you mentioned in that ick_findandfopen there were lots of duplicate code?
18:40:26 <ehird> GOFILES=foo.go bar.go
18:40:27 <ehird> include $(GOROOT)/src/Make.$(GOARCH)
18:40:27 <ehird> include $(GOROOT)/src/Make.cmd
18:40:31 <ehird> s/cmd/pkg and you generate a library
18:40:33 <AnMaster> ick_findandtestopen is basically a copy of it
18:40:34 <ehird> make install/clean works with both
18:41:10 <ehird> also the makefile snippet lets you install to different dirs too
18:41:10 <AnMaster> ehird, at least ick_findandfreopen() just calls ick_findandtestopen() plus does some extra stuff
18:41:14 <ehird> $ make install GOBIN=...
18:41:19 <ehird> and cross-compiling is easy:
18:41:21 <AnMaster> I fail to see why the first one couldn't do that too
18:41:48 <AnMaster> ehird, will that work under MPW?
18:41:57 <ehird> uhh. i think it requires gmake :P
18:42:04 <ehird> also, libraries (packages) are put in $GOROOT/pkg/$GOOS_$GOARCH
18:42:13 <ehird> so you can have a cross-compilation environment without different trees
18:42:16 <ehird> it's all very well thought-out
18:42:39 <ehird> (also, it does static libraries! package foo is just $GOROOT/pkg/$GOOS_$GOARCH/foo.a)
18:42:53 <AnMaster> ehird, {GOROOT}pkg:{GOOS}_{GOARCH} you mean (missing : in front of pkg intentional, GOROOT is assumed to end with :
18:42:54 <ehird> (and you don't need to explicitly link it, just import it in the source file and it leaves a note for the linker)
18:42:58 <ehird> AnMaster: hyuk hyuk
18:43:20 <ehird> one ugly thing about $GOROOT/pkg
18:43:21 <ehird> darwin_amd64~place-holder~
18:43:24 <ehird> hg is shit and doesn't track empty dirs :P
18:43:53 <ehird> eh, darcs does it too iirc
18:44:12 <ehird> $ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
18:44:31 <ehird> but yeah, you actually get it from hg straight into the tree :P
18:44:56 <AnMaster> <ehird> eh, darcs does it too iirc <-- does what? not tracking empty dirs?
18:44:59 <ehird> it does take up a few environment variables, but it's a small price to pay to have a convenient, well-organised, easily-managable development tree that can cross-compile and works everywhere
18:45:03 <ehird> AnMaster: yes, and it's "uh huh"
18:45:04 <AnMaster> that would break my build script
18:45:14 <AnMaster> ehird, no "uh uh" as in "oops"
18:45:15 <ehird> uh uh sounds like that's the way, uh uh uh uh, I like it, uh uh uh uh
18:45:38 <ehird> Relevant: http://en.wikipedia.org/wiki/The_Complexity_of_Songs
18:45:42 <AnMaster> ehird, I think classic mac os had that as one of the "beeps" you could select
18:46:03 <ehird> S_0 = e, S_k = V_k S_(k-1), k >= 1,
18:46:11 <ehird> V_k = 'That's the way,' U 'I like it,' U, for all k > 0
18:46:15 <ehird> U = 'uh huh, uh huh'
18:47:24 <AnMaster> ehird, that wikipedia link... what is that "(priority disputed)" there
18:47:30 <AnMaster> some wikipedia thing about the reference?
18:47:45 <ehird> Not a Wikipedia thing, I think.
18:47:54 <ehird> they're usually ^{[...]}
18:48:19 <AnMaster> <ehird> I'm not surer. <- surer than?
18:48:48 <ehird> To be exact, here's how you install go:
18:49:46 <ehird> $ export GOROOT=~/go
18:49:46 <ehird> $ export GOBIN=~/bin
18:49:46 <ehird> $ export GOARCH=386
18:49:47 <ehird> $ export GOOS=linux
18:49:47 <ehird> $ export GOMAXPROCS=2
18:49:47 <ehird> $ hg clone -r release https://go.googlecode.com/hg/ $GOROOT
18:50:06 <ehird> (Yes, AnMaster, I know you'd use GOROOT=~/local/go, GOBIN=~/local/bin and GOARCH=amd64 :P)
18:50:28 <ehird> (GOMAXPROCS is how many cpus/cores you have unless you want to limit go further than that, no real reason to though)
18:50:40 <ehird> (it defaults to 1, so concurrent programs won't be very good unless you set it)
18:50:58 <ehird> (GOBIN also defaults to ~/bin but really, it's simpler just to set them all, especially as you can view them with env | grep ^GO)
18:51:02 <AnMaster> ehird, how large is the go installation?
18:51:29 <ehird> that's amd64/darwin
18:51:42 <ehird> with no extra packages or whatever installed
18:51:53 <AnMaster> ehird, I would have expected 100 MB at most
18:51:54 <ehird> that includes all the tools (apart from the debugger-in-construction)
18:51:56 <ehird> all the documentation
18:51:59 <ehird> all the stdlib (as .as)
18:52:19 <ehird> google's codereview scripts
18:52:27 <ehird> lib9, libio and libmach
18:52:37 <AnMaster> is that what those codereview scripts are?
18:52:45 <ehird> the ffi with some premade bindings
18:52:49 <ehird> emacs, vim and xcode support files
18:53:01 <ehird> and also, a ton of tests
18:53:09 <ehird> the test binaries are removed at the end though, Ithink
18:53:18 <ehird> anyway, it's not that big
18:53:19 <AnMaster> ehird, still, bulky to say the least
18:53:27 <ehird> it's batteries-included
18:53:31 <ehird> it has a lot of useful stuff
18:53:48 <ehird> including an indent(1) equivalent but with defaults that everyone uses,
18:54:02 <ehird> a documentation generator that uses the web server in the stdlib and runs http://golang.org/
18:54:17 <ehird> a linker, a plan9 c compiler, a go compiler
18:54:45 <ehird> codereview is for their code review site, where people review changes before merging them into the main line
18:54:55 <ehird> (oh, and the test runner tool)
18:56:13 <AnMaster> ehird, static code analysis would have been cooler
18:56:16 <ehird> how do you sort du -h output?
18:56:47 <ehird> anyway, any amd64 machine will have a disk you can throw 220 MiB at and not notice anything
18:57:03 <AnMaster> ehird, you could do du | sort -n then some magic to get the file names and then pass those as arguments in the right order to du?
18:57:17 <ehird> my linux distro, with 32-bit and the tiny libc, will probably be more like slightly below 100 MiB
18:57:19 <AnMaster> or you could write a script to sort on K, M, G and such
18:58:21 <AnMaster> ehird, couldn't you fit a stripped down go into that?
18:58:37 <AnMaster> ehird, my /usr/include on ubuntu is 103 MB
18:58:40 <ehird> erm, what does du display in
18:58:58 <ehird> AnMaster: stripping down is pointless, there's no real support for anything but the full thing
18:59:05 <ehird> and it's fine, tbh
18:59:06 <AnMaster> without -b it rounds to whole disk blocks
18:59:14 <ehird> providing the build system as two makefiles is great too
18:59:22 <AnMaster> so a 1 byte file is still one 512 bit block
18:59:27 <ehird> it means that all the questions of what build system to use, where to install libraries to etc. is solved
18:59:43 <AnMaster> ehird, see man page. I'm not 100% sure. I know it is messy
18:59:44 <ehird> (as well as the fact that it does static libraries for you)
18:59:52 <ehird> go is like, a vehicle for all the plan 9 type things
18:59:58 <ehird> to sneak them in to everyone's mindset :P
19:00:08 <AnMaster> <ehird> AnMaster: stripping down is pointless, there's no real support for anything but the full thing <-- embedded targets?
19:00:16 <AnMaster> as in, develop in one place and run in another
19:00:18 <ehird> AnMaster: the resulting binaries are quite small
19:00:24 <ehird> static linking, remember
19:00:27 <ehird> it only links in the stuff it uses
19:00:45 <ehird> in fact all make install does with programs is copy the one binary to $GOBIN :P
19:00:53 <ehird> (ofc you could add to that if you need data files)
19:01:29 <ehird> AnMaster: so `make GOARCH=arm GOBIN=~/androidthing/bin install` should work fine and produce a quite small binary
19:01:32 <AnMaster> ehird, I keep reading it as "goo" mentally
19:01:37 <ehird> AnMaster: so `make GOARCH=arm GOOS=linux GOBIN=~/androidthing/bin install` should work fine and produce a quite small binary
19:01:42 <ehird> if you're on os x :P
19:01:52 <ehird> when they get the iphone stuff working
19:02:00 <ehird> AnMaster: GOOS is an unfortunate name, yes :P
19:02:09 <ehird> no du -b here on bsd :P
19:02:11 <AnMaster> ehird, they never thought of GO_OS?
19:02:18 <ehird> AnMaster: why be inconsistent with the other names
19:02:22 <ehird> and who cares if it's GOOS
19:02:25 <AnMaster> so yeah you are stuck with 512-byte blocks
19:02:39 <ehird> -m Display block counts in 1048576-byte (1-Mbyte) blocks.
19:02:41 <ehird> exactly what I wanted
19:02:52 <ehird> is it a problem that GOOS looks like the plural of goo?
19:03:02 <ehird> besides, it has a real effecct
19:03:10 <ehird> for setting them to cross-compile etc :P
19:03:35 <AnMaster> ehird, how much of go is written in go?
19:03:37 <fizzie> "du -k" for kilobytes seems quite widespread.
19:03:46 <ehird> AnMaster: the whole stdlib
19:03:48 <ehird> none of the compiler
19:03:57 <ehird> well not the whole of the stdlib, I guess, some is probably in C
19:04:04 <ehird> all of the main stdlib, at least
19:04:32 <ehird> awk '{print shift"M", $0}' puts "M " before the shifted thing o_O
19:04:44 <ehird> '{print shift,"M", $0}' too
19:05:04 <AnMaster> ehird, how do you call external code? Lets say you want to call function in a *.so (because you need to integrate with that app)
19:05:23 <AnMaster> ehird, can it load dynamically linked libraries?
19:05:41 <ehird> there's support for that for packages only (commands should make a wrapper lib) in the make system
19:05:48 <ehird> just define CGOFILES=fileusingcgo.go
19:05:55 <ehird> AnMaster: yes it is, you can pass arguments to the cgo compiler
19:05:56 <AnMaster> <ehird> there's support for that for packages only (commands should make a wrapper lib) in the make system <-- ?
19:05:59 <ehird> it's CGO_CFLAGS or something
19:06:08 <ehird> AnMaster: making it run cgo for you
19:06:45 <ehird> it compiles to two files of go code (your source code using cgo morphed slightly and an internal file) and two files of C code (one for gcc, one for the plan9 c compiler)
19:07:03 <ehird> you can pass arguments to the c compiler(s, not sure, prolly just gcc)
19:07:10 <ehird> since the 9 c compiler is without much options
19:07:23 <ehird> in the go files it's very simple
19:07:36 <ehird> then you can do C.func(...)
19:07:50 <AnMaster> ehird, I imagine the 9 c compiler would have at least "optimise" "debug info" and "output to file instead of default"?
19:07:58 <ehird> it has problems with opaque structs atm (as in, you can't use them) so wrapping xlib requires some ugliness (casting pointers to longs)
19:08:06 <ehird> but those will be fixed, presumably
19:08:08 <AnMaster> ehird, oh and probably "add this to the include path"
19:08:32 <ehird> http://plan9.bell-labs.com/magic/man2html/1/2c
19:08:59 <AnMaster> ehird, my 9c from plan9 from userspace calls gcc!?
19:09:05 <AnMaster> it's a shell script that calls gcc
19:09:16 <ehird> so other programs can use it
19:09:19 <ehird> and for a compatible interface
19:09:30 <ehird> anyway, most of the options are useless on cgo's go ffile
19:09:51 <ehird> all you'd need is linking libraries (I think cgo handles that)
19:09:56 <ehird> include files are done by gcc, I believe
19:10:02 <ehird> I think it links with gcc for that part
19:10:17 <ehird> so all the options are useless on the plan9 c code, I'd say
19:10:24 <ehird> and optimisation is default.
19:10:37 <ehird> AnMaster: incidentally, see vc in http://plan9.bell-labs.com/magic/man2html/1/2c?
19:10:47 <ehird> plan9 has cpu emulators, 8i emulates an x86 for instance
19:10:51 <ehird> so the mips emulator is...
19:10:56 <AnMaster> ehird, what license is Go user?
19:11:19 <AnMaster> http://plan9.bell-labs.com/magic/man2html/1/2c? <-- hm that ? made it error out.
19:11:27 <AnMaster> usually a ? at the end makes no difference
19:11:32 <ehird> no, wait, it's BSD
19:11:36 <ehird> with the don't-use-Google's-name-to-endorse
19:11:45 <ehird> pretty boring stuff
19:11:55 <ehird> just MIT + don't-use-our-name-to-endorse-your-product
19:12:05 <ehird> and the latter is handled by most countries laws anyway i'd wager
19:12:08 -!- Sgeo has joined.
19:12:31 <ehird> anyway, the plan9 man page for emacs has see also vi(1)
19:12:40 <ehird> which points to the page about the cpu emulators :D
19:13:02 <ehird> see http://man.cat-v.org/plan_9/1/emacs
19:13:11 <ehird> my favourite man page ever, btw
19:13:24 <AnMaster> ehird, no one ported emacs to plan9?
19:13:33 <ehird> there probably is a port, but using it would be a mortal sin.
19:13:44 <ehird> (there's also a gcc support. using that is also a mortal sin.)
19:13:51 <ehird> Gregor: Yes, I copied that too :P
19:14:00 <AnMaster> ehird, good. I'm already deep in it. what with this port of ick to mac os
19:14:03 <Gregor> I was busy reading the page :P
19:14:08 <AnMaster> ehird, maybe you could port ick to plan9? :D
19:14:08 <ehird> hmm, there is no 8i
19:14:14 <AnMaster> unless that has been done already
19:14:15 <ehird> just mips, arm, sparc, powerpc
19:14:21 <ehird> i guess emulating x86 is too crazy for them
19:14:24 <ehird> AnMaster: heh, maybe
19:14:36 <ehird> plan9 c is quite a different beast to regular c, though
19:14:39 <AnMaster> ehird, maybe as in "been done" or "maybe I should do it"?
19:14:42 <ehird> they diverged before ISO C, I think
19:14:52 <AnMaster> ehird, ouch so it isn't C89 even?
19:14:59 <ehird> oh, it's quite similar to C89
19:15:08 <AnMaster> ehird, what are the differences then?
19:15:12 <ehird> wait, it's probably post-C89
19:15:25 <AnMaster> should just be a new build system I expect
19:15:25 <ehird> AnMaster: e.g. you can have a union in a struct without giving its field a name and it's addressable as theStruct->unionElement
19:15:29 <ehird> same with a struct I believe
19:15:41 <ehird> so you can do "subtyping" like struct foo { struct bar; ... }
19:15:44 <AnMaster> ehird, gcc has that as an extension iirc
19:15:48 <ehird> (this is used as the subtyping mechanism in go to great effect)
19:15:54 <ehird> oh, and I think all structs are typedeffed, so to speak
19:16:00 <ehird> i.e. struct foo {} makes the type foo
19:16:10 <AnMaster> ehird, you mean automatic typedef?
19:16:16 <ehird> it works fine in plan 9
19:16:26 <AnMaster> ehird, can't you use a -strict-ansi or something?
19:16:31 <ehird> it doesn't matter, almost all posix-style c programs break on plan 9
19:16:34 <ehird> AnMaster: no. port it or use gcc
19:16:34 <AnMaster> even this MPW compiler has that
19:16:50 <ehird> you need APE (posix compatibility layer) for most programs anyway
19:16:54 <ehird> because plan 9 libc is not posix
19:17:04 <ehird> in just about every way
19:17:16 <AnMaster> ehird, ick is happy with ANSI C
19:17:27 <AnMaster> and the parts where it isn't are either optional or bugs
19:17:27 <ehird> yes, but what kind of c program exercises details of the ansi c standard without stepping outside a subset of standard libc?!
19:17:55 <ehird> anyway, plan 9 c is a marked improvement over regular c
19:18:36 <ehird> oh, plan 9 c also eliminates the regular preprocessor
19:18:42 <ehird> it only does #define, #include, #undef, #ifdef, #line and #ifndef
19:18:47 <ehird> you can do -p to get an ansi preprocessor
19:18:56 <ehird> (it has #pragma but that's in the compiler)
19:18:58 <Sgeo> "Did you know more kids will be shown to have left-handedness this year than AiDS, diabetes, and cancer, combined?"
19:19:05 <AnMaster> A structure value can be formed with an expression such as
19:19:05 <AnMaster> where the list elements are values for the fields of struct S.
19:19:08 <ehird> [[ Some features of C99, the 1999 ANSI C standard, are imple-
19:19:28 <ehird> - Structure initializers can specify the structure element
19:19:28 <ehird> by using the name following a period, as
19:19:28 <ehird> struct { int x; int y; } s = { .y 1, .x 5 };
19:19:29 <ehird> which initializes elements y and then x of the structure
19:19:29 <ehird> s. These forms also accept the new ANSI C notation, which
19:19:29 <ehird> includes an equal sign:
19:19:30 <Gregor> I don't think there's a full implementation of C99 to date anyway.
19:19:30 <ehird> int a[] = { [3] = 1, [10] = 5 };
19:19:33 <ehird> struct { int x; int y; } s = { .y = 1, .x = 5 };
19:19:34 <AnMaster> ehird, so far it seems MPW implements exactly one extension: long long
19:19:48 <AnMaster> sure there are mac specific ones
19:20:16 <AnMaster> struct { int x; int y; } s = { .y 1, .x 5 }; <-- C99 too
19:20:43 <ehird> interesting fact: the plan 9 c compiler (fun fact: valid as both (the (plan 9 c) compiler) and (the plan 9 (compiler)) has no -l
19:20:56 <Gregor> AnMaster: GCC is one of the closest, but it has missing features.
19:21:13 <ehird> -l as in lowercase L
19:21:15 <ehird> you just do `8c foo.c /lib/libfoo.a`
19:21:16 <ehird> (/lib and /bin are actually a union)
19:21:22 <AnMaster> ehird, like MrC on mac then. no -l there either
19:21:31 <Deewiant> Or was Comeau just the one that did exported templates
19:21:32 <ehird> (of, I think, /(arch)/lib and $home/(arch)/lib)
19:21:43 <ehird> plan 9 doesn't just support cross-compilation
19:21:44 <ehird> it's a cross-systeem!
19:21:54 <Gregor> Deewiant: Not complete to my knowledge, but I don't have encyclopedic knowledge of all C compilers ;)
19:22:00 <ehird> you could probably make a polyarchitecture plan 9 system
19:22:02 <Gregor> Lesse what wikipedia says ...
19:22:06 <ehird> i think it's mainly for the cluster stuff
19:22:11 <ehird> so you can use the same fs
19:22:15 <ehird> on different-arch machines
19:22:41 <Gregor> "According to Sun Microsystems, Sun Studio (which is downloadable without charge) now supports the full C99 standard."
19:23:15 <Gregor> If that's true at all, then that's the only one (according to Wikipedia)
19:26:08 <ehird> AnMaster: I'm looking through the biggest files/dirs in go out of curiosity
19:26:33 <AnMaster> ehird, find . -exec du {} + | sort -n ?
19:26:39 <ehird> all but 59 MiB is in $GOROOT/src
19:26:43 <ehird> $ du -m go | sort -nr | awk '{print $1"M\t"$2}' | e
19:26:46 <ehird> *$ du -m go | sort -nr | awk '{print $1"M\t"$2}' | e
19:26:51 <ehird> (trailing space :P)
19:27:00 <AnMaster> find . -type f -exec du {} + | sort -n
19:27:04 <ehird> I think $GOROOT/src includes object files too, though
19:27:18 <ehird> I said files and dirs
19:27:21 <ehird> biggest files and dirs
19:27:28 <AnMaster> ehird, well that wouldn't be dir size
19:27:28 <ehird> without that i wouldn't have been able to tell you that $GOROOT/src has most stuff
19:27:46 <AnMaster> ehird, because du just will give you how many blocks the directory structure takes...
19:27:52 <ehird> I very much doubt that.
19:28:14 <ehird> Erm, `du -m -I.hg go | sort -nr | awk '{print $1"M\t"$2}' | e` actually
19:28:19 <AnMaster> hm wait, it just seems to print recrusively
19:28:35 <ehird> 20Mgo/pkg/darwin_amd64
19:28:43 <ehird> So the stdlib static libraries are 20 MiBb
19:29:32 <ehird> Yep, $GOROOT/src includes object files, the test object file, and the resulting binary
19:30:00 <fizzie> C1x will probably be out before GCC gets their full C99 compliance done. (Incidentally, recent C1x standardization committee meeting removed gets from the draft. They could always still add it back, though, but most likely it's gone now.)
19:30:15 <ehird> Ignoring all them produces:
19:30:22 <ehird> 20Mgo/pkg/darwin_amd64
19:30:23 <fizzie> MiBb; a mebi-bit-byte.
19:30:42 <ehird> Biggest "end" src directory.
19:31:01 <ehird> exp/ogle is though
19:31:23 <ehird> And the binary is called ogle, making it hard to ignore
19:32:00 -!- ehird has left (?).
19:32:06 -!- ehird has joined.
19:32:16 <ehird> So, basically all of the bulk is the leftover .6s and binaries
19:32:35 <ehird> Wonder if there's a reason to keep them
19:32:41 <ehird> (well, yeah: making updates quicker)
19:32:48 <ehird> (only rebuilding the packages that are changed)
19:32:56 <ehird> So, that'll be why.
19:33:12 <ehird> ogle is the debugger in process.
19:33:15 <HackEgo> * look at with amorous intentions \ [23]wordnetweb.princeton.edu/perl/webwn \ * The Optical Gravitational Lensing Experiment or OGLE is a Polish astronomical project based at Warsaw University that is chiefly concerned with ...
19:33:30 <AnMaster> ehird, I know what ogle as a word means
19:33:37 <ehird> It's ogling the program. :P
19:33:42 <ehird> And Go is the language, ogle is the rest.
19:34:10 <fizzie> Debugger are pretty dirty business.
19:34:30 <AnMaster> ehird, I know. There are jokes about google meaning "go ogle"
19:34:30 <ehird> Will be fun to search for information on the debugger if "go ogle" returns jokes like that
19:34:36 <ehird> Although "go" by itself is more of an issue
19:34:39 <ehird> (protip: "Go language")
19:34:54 <ehird> or http://go-lang.cat-v.org/go-search
19:35:04 <AnMaster> ehird, they should have opted for a non-existing word
19:35:14 <ehird> AnMaster: This is the people that brought you "C"
19:35:23 <ehird> Think they care about the accessibility of their name?
19:35:31 <ehird> They care about conciseness and, in this case, puns.
19:35:32 <AnMaster> ehird, google didn't exist back then so they at least had an excuse
19:36:07 <fizzie> Google typofix heuristics seem to cause it to return pretty much the same things for (unquoted) "go ogle" and "google". (Of course you can fix it by adding some quotes or +s.)
19:36:25 <AnMaster> <ehird> or http://go-lang.cat-v.org/go-search <-- is the search box in the page footer!?
19:36:31 <ehird> Ken Thompson is 66! He has the most gnarly beard ever! He invented Unix and B and UTF-8 and ed and "Along with Joseph Condon, he created the hardware and software for Belle, a world champion chess computer", and worked on Plan 9!
19:36:36 <ehird> He can do whatever the fuck he wants!
19:36:37 <ehird> AnMaster: Enable JS
19:36:44 <ehird> (I think the TOCs on golang.org require JS too)
19:37:04 <ehird> AnMaster: Your loss.
19:37:23 -!- adam_d has joined.
19:38:12 <AnMaster> "<ehird> He can do whatever the fuck he wants!" <-- even written reiserfs?
19:38:25 <ehird> Grammar fail, making your joke incomprehensible.
19:38:29 <ehird> Even write or even wrote?
19:39:43 <AnMaster> ehird, and it isn't incomprehensible just because the grammar is slightly off I think.
19:39:57 <ehird> The guy who has the language called "Go!" (with an exclamation mark) and published a book about it called "Lets Go!" (apparently adding an apostrophe to the title of that book was just too much work) amuses me. He didn't even "publish" the book, he self-published it on Lulu, which requires no humans. He did publish a research paper, however, but he doesn't even have a trademark on the name and he wouldn't get one, because Go is a fucking two-letter English wo
19:39:57 <ehird> Incredibly common! You can't own it...
19:40:01 <ehird> hey, clog stopped logging
19:40:20 <ehird> if you give clog a line that's the max length
19:40:24 <ehird> it logs one line behind
19:40:35 <ehird> The guy who has the language called "Go!" (with an exclamation mark) and published a book about it called "Lets Go!" (apparently adding an apostrophe to the title of that book was just too much work) amuses me. He didn't even "publish" the book, he self-published it on Lulu, which requires no humans. He did publish a research paper, however, but he doesn't even have a trademark on the name and he wouldn't get one, because Go is a fucking two-letter English wo
19:40:35 <ehird> Incredibly common! You can't own it...
19:40:39 <ehird> let's see if it's two lines behind
19:42:04 <Sgeo> Who owns clog?
19:42:14 <AnMaster> ehird, what has "Go!" got to do with this?
19:42:14 <ehird> Sgeo: nobody maintains it, François-René Rideau (fare) runs the server
19:42:17 <ehird> the author doesn't control it any more
19:42:17 <ehird> AnMaster: it's not a quote
19:42:17 <ehird> AnMaster: I wrote it
19:42:18 <ehird> AnMaster: and Go! is complaining to the Go authors
19:42:20 <ehird> going "RABBLE RABBLE CHANGE THE NAME I OWN THE WORD 'GO' ALSO THE EXCLAMATION MARK IS IRRELEVANT"
19:42:34 <ehird> http://code.google.com/p/go/issues/detail?id=9 ;; click and see tons of people who know fuck all about the language and saw it on techcrunch whining
19:42:51 <ehird> and suggesting names, often with a "I give you permission to use this" as if google will actually consider it
19:43:22 <ehird> [[google should change the name ... i think its enough of google employee arrogance,
19:43:22 <ehird> they think they are GOD's .. please come down to earth , you are humans.]]
19:43:31 <ehird> au contraire, I'm fairly sure Ken Thompson is a god
19:44:17 <fizzie> The suggested name there ("Issue 9") isn't too shabby either, though.
19:44:32 <ehird> It's kinda lame to name it that now, after the bug report.
19:44:51 <ehird> [[I appreciate mc cabe for rising up to defend what is definitely his ... we are with
19:44:51 <ehird> you mc cabe, well done, go ahead .. may the force be with you.]]
19:44:51 <ehird> Star Wars Episode VII: The Empire's Naming
19:45:07 <ehird> (The Emperor's New Name.)
19:46:13 <AnMaster> ehird, that "Go!", is it any good?
19:46:41 <ehird> if the guy whines so much and the only material is a self-published book that needs an apostrophe in the title and a research paper...
19:46:43 <ehird> it's probably crap
19:46:51 <ehird> (also, putting a ! in your name makes you as bad as Yahoo!.)
19:47:01 <AnMaster> ehird, the apostrophe isn't a sign of it being bad
19:47:04 <ehird> (your name == name for thing you created)
19:47:05 <ehird> AnMaster: "Lets Go"
19:47:15 <ehird> augur uses punctuation and capitalisation on his blog
19:47:31 <AnMaster> ehird, anyway "<ehird> (also, putting a ! in your name makes you as bad as Yahoo!.)" <-- counterproof: "Soundblaster Live!" was very good
19:47:41 <ehird> besides, if it was "lets go" with some subdued typographical styling I could live with it
19:48:00 <ehird> but it's http://static.lulu.com/items/volume_44/641000/641689/4/preview/320_641689.jpg?641689-0
19:48:08 <ehird> so it's clearly an error
19:48:08 <AnMaster> ehird, well is Soundblaster Live! as bad as Yahoo! then?
19:48:16 <ehird> and people who have an error in such large print on a book title...
19:48:25 <ehird> AnMaster: it makes their creators as bad as Yahoo!
19:48:28 <ehird> for naming it so idiotically
19:48:42 <ehird> everyone calls it SBLive, anyway
19:50:04 <AnMaster> "# MPW has an integrated scripting system you can use to perform operations of arbitrary complexity." <-- yes, like it being impossible to write any control code like \a or such with it. just a few are supported
19:50:22 <AnMaster> in fact in the MPW version you have ehird, even a LF can't be written in it
19:50:23 * Sgeo vaguely hopes that nothing bad will come out of using something intended for Python 2.4
19:50:38 <ehird> AnMaster: make a tool to do it
19:51:09 <AnMaster> ehird, how does that help when I want to do the equiv of tr '\n' '\r'
19:51:40 <ehird> Fancy Translate "\n" "\r"
19:51:49 <ehird> Fancy fancies every argument, then runs it.
19:51:54 <AnMaster> ehird, tools can't call each other
19:52:09 <ehird> Okay then, what's the $()-like syntax?
19:52:47 <ehird> Translate "$(F \n)" "$(F \r)"
19:52:49 <AnMaster> ehird, still the newer MPW syntax works fine, other people can just upgrade to the version from Jan 2000 or later
19:53:00 <ehird> System 6 users can't
19:53:00 <AnMaster> ehird, didn't read what I just said?
19:53:10 <ehird> With "" around I think, you said
19:53:31 <AnMaster> ehird, sucks to be them because you will need to patch various stuff due to missing long long anyway
19:53:39 <AnMaster> SC lacks support for long long
19:53:44 <ehird> You can't do long long in System 6, anyway
19:53:56 <ehird> It can address 8 MiB of memory and that's that, and I think int is 16-bit
19:54:13 <AnMaster> ehird, please reboot your brain right now
19:54:39 <AnMaster> ehird, you can do a 64 bit integer. I didn't say you would use it as a pointer...
19:54:41 <ehird> 8 MiB = 23-bit addresses
19:54:45 <ehird> So 24-bit address bus
19:54:45 <AnMaster> you can do 128 bit arithmetics just finme
19:54:55 <AnMaster> ehird, again, who said anything about pointers?
19:55:06 <ehird> Just working it out
19:55:08 <ehird> AnMaster: doing 128-bit arithmetic with 16-bit intst?
19:55:15 <ehird> that's juggling 8 values
19:55:18 <AnMaster> ehird, would take multiple operations yes
19:55:24 <ehird> why does it need 64-bit?
19:56:10 <AnMaster> yuk (the debugger) once in cesspool.c and once in perpet.c
19:56:23 <AnMaster> and I have no clue what exactly it uses them for
19:56:41 <ehird> Just s/long long/long/ and Don't Worry, Be Happy
19:57:04 <ehird> Incidentally, I wonder how this PS/2→USB adapter handles sleeps and wakes
19:57:13 <AnMaster> ehird, oops, wrong. yuk needs it for timestamp it seems
19:57:27 <ehird> Timestamp in what format?
19:57:38 <AnMaster> unknown I just grepped with -C 2
19:58:29 <AnMaster> src/perpet.c- fprintf(of,"\";\n\nint ick_iffi_markercount=%d;\n"
19:58:29 <AnMaster> src/perpet.c: "long long ick_iffi_markerposns[][2]={\n",markercount);
19:58:29 <AnMaster> src/perpet.c- if(!markercount) fprintf(of,"{0,0}\n");
19:58:37 <fizzie> 68k is a sort of 32-bit processor anyway; the external bus is 16 bits wide, but the registers have 32 bits. It shouldn't be *that* slow. At least if you just do some additions and such.
19:59:02 <AnMaster> fizzie, how many GP registers?
19:59:30 <ehird> but i think the system 6 finder is 16-bit
19:59:36 <ehird> I know that 32-bit finder broke stuff
19:59:49 <AnMaster> ehird, um not exactly. I think it has more than 16 bits memory
20:00:10 <AnMaster> so it isn't 16-bit in any sense of the word
20:00:18 <ehird> [[Furthermore, they either have to convert back to zero-terminated strings
20:00:18 <ehird> when passing them to libs, or use the trick of appending ("quand m�me") a
20:00:18 <ehird> zero byte, which is redundant wrt to the array lenght.]] — on Go
20:00:18 <ehird> little does this wabbit realise they just do their own IO stuff!
20:00:23 <ehird> to hell with libc :P
20:00:42 <AnMaster> ehird, http://en.wikipedia.org/wiki/Mac_OS_memory_management#32-bit_clean
20:01:07 <fizzie> AnMaster: For that I had to check some references; eight 32-bit general-purpose registers (D0 .. D7) and eight 32-bit address registers (A0 .. A7).
20:01:16 <AnMaster> ehird, basically "quite a mess"
20:01:28 <ehird> [[All this is more than just nit-picking. Pike claims a 10-20% loss compared
20:01:28 <ehird> to C, which would still be quite good. However, the first benchmarks tell
20:01:28 <ehird> another story at the moment:]]
20:01:28 <AnMaster> all mac os memory management up until OS X was
20:01:47 <ehird> gc having the slow gc atm, the shootout programs being naive and non-concurrent (and GOMAXPROCS not being set anyway)...
20:01:49 <AnMaster> <ehird> when passing them to libs, or use the trick of appending ("quand m�me") a <-- what is that question mark?
20:01:59 <ehird> AnMaster: some byte that was wrongly encoded for me
20:02:04 <ehird> it shows up as that too for me
20:02:17 <ehird> anyway, I wish people would stop talking about the shootout
20:02:32 <ehird> the language benchmarks game
20:02:36 <ehird> shootout.alioth.debian.org
20:02:56 <AnMaster> <fizzie> AnMaster: For that I had to check some references; eight 32-bit general-purpose registers (D0 .. D7) and eight 32-bit address registers (A0 .. A7). <-- should be enough to do 128 bit arithmetics in registers most of the time
20:03:01 <ehird> the problems are contrived for non-scientific work (and are benchmarks), it's biased against non-C like languages (they admit this) and the programs submitted vary wildly from hyper-optimised unreadable crazy shit and ultra-naive
20:03:37 <AnMaster> fizzie, at least if you can do it in place (plus a few scratch) or don't need any scratch registers (but can't do it in place)
20:03:56 <ehird> http://repo.cat-v.org/goblin/ may end up being my coreutils
20:04:05 <ehird> depends how fast they are, I guess
20:05:03 <ehird> because uriel loves go
20:05:25 <AnMaster> ehird, at least "C" doesn't introduce ambig. when written
20:05:47 <AnMaster> ehird, yeah but I usually write most stuff in lower case
20:05:56 <ehird> uriel is a major plan 9 community guy. his political opinions are... crazy, but he's a good coder
20:06:11 <AnMaster> ehird, oh the cat-v site owner?
20:06:23 <AnMaster> that would have meant a lot more
20:06:33 <ehird> the reasons to use them: 1. uriel is a plan 9 weenie, he'll produce minimalist utilities 2. he knows more about go than most others, so the code should be high-quality 3. i like go 4. they will be very liberally licensed (public domain or ISC/MIT is his usual license)
20:06:36 <AnMaster> ehird, also, goblin has been around for a few days at most?
20:06:44 <ehird> that's why I said "may end up being"
20:06:48 <AnMaster> ehird, how complete is it so far?
20:06:50 <ehird> also, Go doesn't produce ambiguity when written
20:06:55 <ehird> if you write it that way, that's your fault :P
20:06:58 <ehird> AnMaster: probably no to little code
20:07:14 <ehird> but the project has attributes that imply to me that it'll be a good choice
20:07:20 <AnMaster> ehird, I should make a language called liTtLe
20:07:23 <ehird> i can always start with another coreutils and switch
20:08:01 <ehird> (uriel *really* loves go; he's said that there's no reason to write user-space C code any more)
20:08:17 <ehird> (and is on-the-fence about kernel code until someone makes a kernel in go (presumably after the new gc is added))
20:08:41 <AnMaster> ehird, you still need to write some Go to write the GC in. Unless you want to write a whole GC in asm
20:09:03 <ehird> (C isn't really cheating tbh)
20:09:24 <ehird> (they don't have plans to rewrite gc in Go, although with gccgo bootstrapping wouldn't be an issue nowadays)
20:09:32 <AnMaster> ehird, well in this context... "no reason to write user-space C code" would imply the GC has no reason to be written in C
20:09:33 <ehird> (the stdlib includes a complete lexer and parser of go, though)
20:09:39 <ehird> AnMaster: user-space?
20:09:45 <ehird> anyway, he said write
20:09:50 <ehird> of course go itself is an exception
20:09:53 <ehird> you're pulling at straws
20:10:04 <AnMaster> ehird, C is usually written in C though
20:10:08 <ehird> i know you love edge cases, but could you pick less obnoxious ones?
20:10:10 <AnMaster> so I can't see why Go can't be written in Go
20:10:34 <ehird> incidentally, go does subtypes without inheritance very ewll
20:10:39 <ehird> (it basically makes composition convenient)
20:10:49 <ehird> which is thank god.
20:10:57 <AnMaster> ehird, what do you mean? Example?
20:11:09 <ehird> by composition I mean the unnamed fields becoming part of it
20:11:25 <ehird> (and you can do aThingThatHasAnUnnamedFoo.MethodOnFoo())
20:11:26 <AnMaster> ehird, oh so you avoid foo->bar->quux but do foo->quux?
20:11:38 <ehird> oh, one thing that isn't obvious is that go structs can have both private and public members
20:11:40 <AnMaster> ehird, well GCC does that as an extension
20:11:41 <fizzie> AnMaster: Yes. Though it has some silly quirks. (For example, there's no "add with carry" instruction; instead, there's "add extended", which computes destination+source+[X bit from flags register]; X is mostly set to same as C, except it's not touched by all instructions.)
20:11:49 <AnMaster> to be compatible with MSVC iirc?
20:11:49 <ehird> AnMaster: yes, but without methods it's useless for this
20:11:55 <ehird> Private members start with a capital letter, public members a lower
20:12:13 <ehird> so you can do aStruct.foo but not aStruct.Foo (unless the struct type is in this package, ofc)
20:12:35 <ehird> and when you compose a struct into another struct you can't access its private fields ofc
20:12:40 <ehird> (which is one of the main evils of inheritance)
20:12:48 <AnMaster> fizzie, hm so you couldn't add two 128 bit ints then in registers?
20:12:53 <AnMaster> due to needing that X bit register
20:13:04 <ehird> (well, ok, technically you can't access private inherited members, but most inheritance-using code ends up using things not in the main interface)
20:13:16 <AnMaster> fizzie, most arches seems to have a carry flag in some specific flags register
20:13:26 <ehird> whereas with go subtyping is just a convenient way to add stuff
20:13:36 <ehird> that you could do without subtyping, just more awkwardly
20:14:12 <fizzie> AnMaster: Sure you can. X is just another bit in the flags register, just like C. It's just quirky to have two different "carry" flags, with some instructions setting both, and some setting only one of them (C).
20:14:44 <AnMaster> fizzie, oh now I see what you meant
20:14:49 * ehird ponders using a VCS as a package manager
20:14:58 <ehird> that is, updating = pulling from each package repository
20:15:25 <AnMaster> ehird, directly to file system? interesting
20:15:37 <AnMaster> you could have a local branch for config file changes or such I guess
20:15:39 <ehird> that also means you can downgrade packages if you need to :P
20:15:52 <AnMaster> ehird, most sane package manager allows that
20:15:57 <ehird> yes, but I mean it comes free
20:16:19 <ehird> anyway, I'll consider it; if it means my "package manager" is just a few helpers to call the VCS and some VCS config files, I'll go for it
20:16:20 <AnMaster> ehird, portage has very good support for installing different versions
20:16:42 <ehird> but if it'll require a lot of work... ehh, I'll just write my own pkg manager
20:16:58 <AnMaster> ehird, writing your own also requires a lot of work
20:17:08 * Sgeo wishes he could wrap his mind around Cython
20:17:10 <ehird> so if i have to do a lot of work to make it fit, I'll just write my own
20:17:23 <ehird> hmm, it means that you could install something like dwm with source-based configuration and merge your config changes
20:17:30 <ehird> without the package manager special-casing it
20:17:42 <AnMaster> ehird, btw did you look closely at the image on that goblin page?
20:17:58 <fizzie> There's postincrement and predecrement addressing modes for any of the eight address registers, that's pretty nice. Considering x86's complexity level, there's really very limited facilities for automatically manipulating addresses. ("push" and "pop", but they can only use esp/rsp as the address; and the stos/lods/movs string instructions, but they are always post-decrement/post-increment based on the direction flag, never pre-anything.)
20:18:23 <AnMaster> ehird, it seems disturbing. check the file name too
20:18:32 <ehird> It's pretty silly, yes.
20:18:38 <AnMaster> ehird, it looks like the goblin will explode him/her self?
20:18:57 <ehird> Clearly the Goblin tools represent their crashiness.
20:19:39 <AnMaster> fizzie, that increment/decrement thing?
20:19:42 <ehird> Incidentally, Ken Thompson actively posts on the Go mailing list.
20:19:59 <AnMaster> fizzie, you mean like reading at that address will automatically increment the address afterwards
20:20:09 <ehird> (Unfortunately it's a rather crappy list; most people going "lol i don't know shit (look at this benchmark|add this feature)" and some sane people replying "No, you're an idiot, fuck off")
20:20:26 <ehird> AnMaster: Duff's device!
20:20:38 <fizzie> AnMaster: I mean the usual; *(x++) -style addressing.
20:20:49 <AnMaster> ehird, how is that related more than any other thing scanning over memory?
20:21:01 <ehird> AnMaster: look at it closely
20:21:06 <AnMaster> it would be just as useful for strlen()
20:21:07 <ehird> case 0:do{*to = *from++;
20:21:11 <ehird> wikipedia changed it
20:21:23 <ehird> http://groups.google.com/group/net.lang.c/msg/66008138e07aa94c
20:21:26 <ehird> i swear it was originally
20:21:32 <AnMaster> ehird, it was to memory mapped register
20:21:48 <ehird> right but i recall something about it being *to = *from;
20:24:03 -!- Asztal has joined.
20:24:44 <AnMaster> ehird, that link you gave shows it wasn't
20:25:07 <ehird> lots of old messages are like that
20:25:14 <ehird> people replied sparingly, replies were long and civil
20:25:20 <AnMaster> ehird, oh where someone saved a few only?
20:25:34 <ehird> (everyone had short signatures, quoted properly and at the bottom...)
20:25:38 <ehird> (used bang-addresses... etc)
20:25:55 <ehird> http://groups.google.com/group/net.lang.c/topics
20:26:02 <ehird> the last messages before the big 8
20:27:38 -!- FireFly has joined.
20:27:41 <MizardX> http://groups.google.com/group/net.lang.c/topics?start=3206&sa=N <-- messages trough time :)
20:28:09 <MizardX> Almost 30 year old messages
20:29:08 <fizzie> That's not "almost 30"; those were written something like six months before I was born, and I am emphatically not "almost 30".
20:29:17 <AnMaster> ehird, didn't plan9 has it's own language iirc?
20:29:50 <ehird> 26 or something iirc
20:29:57 <fizzie> AnMaster: Not "almost 30"!
20:30:09 <ehird> yeah 2009-1984 = 25
20:30:15 <ehird> and I seem to recall him saying 26 or something
20:30:33 <AnMaster> fizzie, sure if it is 26 or 27 I can understand that. But when you turn 29 you are definitely almost 30
20:30:37 <ehird> ha ha fizzie had a birthday and is now 27 i guess
20:30:45 <ehird> AnMaster: SHUT UP 30 IS THE SAME AS "ALMOST MID-LIFE CRISIS"
20:30:49 <fizzie> Not yet, no. Add six months to those posting times.
20:30:51 <ehird> he is not almost almost mid-life crisis! :P
20:31:11 <AnMaster> ehird, 30 doesn't *require* a mid-life cfrisis
20:31:17 <ehird> and 30 is almost 40
20:31:18 <fizzie> Right. I guess. It's a complicated calculation. Anyway, you have to round these things towards zero to get decades, anyway.
20:31:25 <ehird> fizzie: don't worry, you're just almost 29.99999999999999999999999999999999999…
20:31:32 <fizzie> (That was an "anyway"-delimited message.)
20:31:58 <fizzie> As long as the representation starts with 2...
20:32:16 <fizzie> "2+28" is just fine, too.
20:32:39 <AnMaster> ehird, what about the crisis around 18 when you just realise you are now grown up and that you most likely have less than 1/5 of your life left? (sure you can become 100 or older, but unlikely, unless things changes drastically)
20:32:52 <ehird> people mostly have a crisis around 25
20:32:55 <ehird> quarter-life crisis
20:33:10 <AnMaster> ehird, that assumes you will live 100 years
20:33:11 <ehird> i've been having a continuous crisis since I fully realised what my mortality implies :)
20:33:24 <ehird> AnMaster: shut up, it's just what the word meas
20:33:51 <ehird> all i can do is have the faint hope of singularity, or maybe cryonics, who knows
20:33:56 <AnMaster> ehird, sure. but yeah. I guess I only realised fully around 15 years old
20:34:19 <ehird> i knew i was mortal and would die and would be nothing and all that shizz but at one point i just sat there and thought about nonexistence and have been freaking out since :P
20:34:22 <AnMaster> ehird, then what is the crisis of 30 all about?
20:34:33 <ehird> I was joking that 30 is close to 40
20:34:50 <ehird> also, tons of stuff
20:34:58 <ehird> I think, mostly, it's "oh god, i'm 40, I've barely done anythhing"
20:35:05 <fizzie> ehird: You can console yourself with the fact that, simply based on life expectancy and current age, your changes of getting to do a post-singularity mind-upload are better than mine.
20:35:16 <ehird> http://divorcesupport.about.com/od/isdivorcethesolution/f/midlifecrisis.htm
20:35:21 <ehird> http://en.wikipedia.org/wiki/Midlife_crisis
20:35:25 <AnMaster> ehird, my 18-years old crisis was "ouch there is so much to do, I will never have time to do everything I want"
20:35:32 <ehird> fizzie: although cryonics makes it about equal
20:35:38 <ehird> because the chances are so low anyway :P
20:35:51 <ehird> AnMaster: yeah, my less-immediate crisis is "post-singularity, how can we avoid entropy?"
20:36:11 <ehird> i want infinite time so i can know things forever
20:36:22 <AnMaster> ehird, I bet it would become boring
20:36:26 <fizzie> Buying a motorcycle is a common 50-years-old thing to do around here, I hear.
20:36:35 <ehird> if it truly became so boring for so long, then I would commit suicide.
20:36:41 <ehird> but i don't think it would
20:37:08 <ehird> maybe instead of committing suicide, I'd first try turning myself off for a long time
20:37:16 <ehird> (post-mind-upload that should be easy)
20:37:20 <ehird> and see what's new afterwards
20:37:43 <ehird> but to be honest i just like consciousness so much
20:38:14 <ehird> my main beef with cryonics is that it's done after your death, but more importantly after your aging
20:38:23 <AnMaster> ehird, anyway, what if we get a Matrix or Terminator scenario instead?
20:38:29 <ehird> is it possible to restore an 80-something year old to mid-20s intelligence?
20:38:37 <ehird> I'm not sure aging is reversible
20:38:41 <ehird> and I dread passing my mid-20s
20:38:42 <AnMaster> or what if the climate changes make everything end up badly
20:38:54 <ehird> AnMaster: matrix and terminator are films. friendly ai would solve it
20:39:09 <ehird> and climate change will be mostly irrelevant as soon as we colonise other planets
20:39:14 <AnMaster> ehird, that's the point. What if we end up with an unfriendly AI instead
20:39:20 <ehird> (and totally irrelevant once we're all running on silicon)
20:39:28 <ehird> AnMaster: we have to write the friendly AI first
20:39:34 <ehird> if an unfriendly AI is written, nothing we can do about it
20:39:39 <AnMaster> ehird, what if we are hit by a K/T boundary style meteorite?
20:39:46 <ehird> colonise other planets first.
20:39:52 * Sgeo read The Metamorphesis of Prime Intellect
20:39:56 <AnMaster> ehird, what if we didn't have time?
20:40:00 <ehird> Sgeo: I want to read that sometime
20:40:04 <ehird> AnMaster: then we are fucked.
20:40:11 <AnMaster> I mean, a good signularity is far from certain
20:40:34 <ehird> I probably will sign up for cryonics because it's cheap and it gives me a better chance of living longer
20:40:44 <ehird> but I don't think aging is likely to be reversible, alas
20:40:48 <AnMaster> ehird, you could be overrun by a car way before it happens
20:41:05 <ehird> there is nothing I can do except hope i'm not
20:41:09 <ehird> or, you know, cryonics
20:41:19 <ehird> although if I smashed my brains out that'd be ... unlucky
20:41:23 <Sgeo> Cryonics won't help if the car destroys.. yea
20:41:23 <fizzie> ehird: Or, you know, getting an even bigger car to run other cars over with.
20:41:29 <AnMaster> ehird, don't we need to, you know, invent cryonics before that?
20:41:31 <ehird> fizzie: I MIGHT JUST
20:41:36 <ehird> AnMaster: We... have cryonics.
20:41:48 <ehird> http://www.cryonics.org/
20:41:51 <ehird> The two main organisations.
20:42:01 <ehird> We can't revive people yet, but we're certainly freezing them.
20:42:04 <ehird> (Vitrifying, actually)
20:42:08 <Sgeo> We don't have cryonics that preserves brain structure yet, do we?
20:42:09 <AnMaster> ehird, wikipedia says "Currently, human cryopreservation is not reversible, which means that it is not currently possible to bring people out of cryopreservation alive." indeed
20:42:20 <AnMaster> ehird, no one knows if that will ever be possible
20:42:35 <Sgeo> AnMaster, better than 0% possibility of ever being alive again
20:42:38 <ehird> But it's quite cheap, and I place a near-infinite value on living past my "death"
20:42:50 <AnMaster> you can freeze to death can't you?
20:42:55 <ehird> So even though the probability of being revived is not that high, tiny*near-infinite is > the price of cryonics
20:43:00 <ehird> AnMaster: Vitrification is not freezing
20:43:11 <ehird> AnMaster: Livers have been vitrified, thawed and implanted
20:43:21 <ehird> same with a mouse brain or something, iirc
20:43:23 <ehird> pre-death naturally
20:43:37 <ehird> Anyway, if cryoni...cised shortly after death, presumably the information won't be totally lost
20:43:51 <ehird> it'd be a matter of thawing it out safely, quickly doing the repair needed, and basically making the signals fire again
20:43:52 -!- fax has changed nick to facsimile.
20:44:09 <fizzie> Ooh, I can imagine some year 2300 cryotechnician cursing out loud about how we stupid twenty-first century people used these absurdly primitive methods and how reviving us is such a pain in the ass, but how it still needs to be done thanks to some politics bullshit about not just turning power off to the damn things.
20:44:26 <ehird> It will be better if, before I die, it becomes legal to be cryopreserved before death
20:44:38 <ehird> based on my life expectancy I could get frozen at 80-something
20:44:45 <ehird> before I die of something
20:44:48 <ehird> which increases my chances hugely
20:45:04 <ehird> (and I'm not too interested lumbering about with a brain that barely works anyway)
20:45:16 * Sgeo would probably go for the neuro option, and donate his organs
20:45:34 <ehird> Alcor doesn't offer neuropreservation (just store the head) iirc
20:45:54 <ehird> I agree that the chance of cryonic revival happening before at least robotic bodies is low
20:45:55 <Sgeo> Although that does lower the probability of being revived (what if it requires the body)
20:46:06 <Sgeo> ehird, neither does CI, the other place you linked to)
20:46:11 <ehird> CI does neuropreservation
20:46:17 <ehird> or maybe I have it the wrong way around
20:46:22 <Sgeo> http://cryonics.org/prod.html
20:46:27 <Sgeo> "Q: What's the "neuro" option? And why don't you offer it?"
20:46:31 <ehird> I think perhaps the spine should be preserved too
20:46:42 <ehird> as iirc you can develop reflexes in the spine
20:47:23 <ehird> Anyway, my long-term perfect scenario is being a post-singularity uploaded mind forever.
20:47:34 <ehird> I guess pretty similar to The Culture, which I need to read sometime.
20:47:44 <Sgeo> ehird, also similar to TMoPI
20:48:05 <ehird> One thing I don't really want is to merge with other brains
20:48:20 <ehird> I'm fond of my individuality
20:48:28 <oklofok> facsimile: why is your name what it is?
20:49:38 <ehird> "Prime Intellect operates under Asimov's Three Laws of Robotics"
20:49:51 <oklofok> instead of freezing myself, i'm going to melt myself into liquid.
20:50:47 <ehird> oklofok: i think one of the x-men can do that :P
20:51:20 <oklofok> but can he live forever that way
20:51:32 <Sgeo> ehird, how is that automatically fail?
20:51:36 <ehird> i guess the water dies at one point
20:51:47 -!- ais523 has joined.
20:51:51 <ehird> Sgeo: the three laws of robotics both constrict too much and also allow evil
20:55:00 <fizzie> The Culture culture is a pretty nice culture; I don't think I would mind living there. (Though if you canonically believe the The State of the Art novella, the Culture has already checked out Earth in 1977, and decided not to get involved. Because, you see, they need a bit of a control group to justify the morality of them getting involved elsewhere, which is a bit of a bummer from our viewpoint.)
20:55:38 <AnMaster> what is this "Culture culture"?
20:56:03 <fizzie> AnMaster: What ehird referred to; the universe of (some of) Iain M. Banks' books.
20:56:27 <AnMaster> ais523, like it is looking for :lib:/syslib.i
20:56:30 <pikhq> ehird: Congrats on figuring out the premise of half of Asimov's robot stories. :P
20:56:42 <AnMaster> ais523, why not have a ICK_PATHSEP that can be \ / or :
20:56:51 <ehird> ais523: that ick_fopenorwhatever function?
20:56:53 <ehird> you suck at coding
20:57:09 <fizzie> I managed to read the combination of "some lick issues; like it is looking for :lib:/syslib.i" as something like "I want to lick your eyeball".
20:57:17 <ehird> fizzie: when reading about it on wp one issue i had was that not suicidin' after some time is considered eccentric
20:57:36 <AnMaster> ais523, and why are those ick_findand* so ugly? And why the huge code duplication between ick_findandtestopen and ick_findandfopen?
20:58:03 <ais523> AnMaster: because the alternative is to write a wrapper for fopen that gives it the same argument list as freopen, then pass around function pointers everywhere
20:58:05 * oerjan read that as ick_finland
20:58:09 -!- Gracenotes has joined.
20:58:11 <AnMaster> ais523, further, the MPW equiv. of tr refuses to operate on syslib.3i and higher due to them not being text files
20:58:15 <ais523> an ICK_PATHSEP would be fine, though
20:58:33 <AnMaster> ais523, anyway I'm having trouble following the horrible function logic there
20:58:43 -!- Asztal has quit (Connection timed out).
20:58:44 <AnMaster> I showed ehird it and he said he would just rewrite it from scratch
20:58:46 <ais523> it's relatively simple, it just checks several possible locations for the file
20:58:58 <ais523> it's just that ugly due to C being truly awful at string handling
20:58:58 <AnMaster> ais523, however to do that I need to know how the hell it is supposed to work
20:59:04 <ehird> it repeats some code tons of times
20:59:07 <ehird> it hardcodes path separators
20:59:15 <ehird> it's a jumble of code without empty lines
20:59:17 <ehird> to mark logical breaks
20:59:20 -!- Asztal has joined.
20:59:22 <ehird> and the two functions are copypastes with somee changes
20:59:26 <ehird> *logical breaks *some
20:59:34 <ehird> you fail at programming forever :|
20:59:55 <Gracenotes> ehird: what are you talking about, fail? That's a textbook example of code reuse!
21:00:11 <oerjan> Gracenotes: it's the people on Gr* vs. everyone else
21:00:38 <AnMaster> so everyone can see. Here is the whole file: http://sprunge.us/CUSH?c
21:00:47 <ehird> oerjan: mainly it's Gregor vs me because nobody else knows go yet
21:00:55 <ehird> but nobody else has about it, at least
21:01:06 <ehird> yes, I've seen you in #go-nuts
21:01:28 <Gracenotes> namely, a 512-line IRC client that evaluates code sent to it over the internet
21:01:43 <ais523> ah, I see what happened there
21:01:54 <ais523> the two functions were a lot more different than that originally
21:01:57 <Gracenotes> I'll be running it in Arch Linux in VirtualBox, neither of which I've used before. but it seems to be going well.
21:02:01 <ais523> but over the corse of refactoring, ended up mostly the same
21:02:02 <AnMaster> ais523, that code is not good practise in any sense. And I have no idea where to start fixing it because I can't follow it. I could rewrite it, but I wouldn't know if I introduced new issues
21:02:09 <ais523> kind-of the opposite of what code duplicatoin normally does
21:02:34 <oerjan> ais523: omg that code is aging backwards!
21:02:50 <AnMaster> ais523, to begin with it needs to know that you can't just throw in an extra ICK_PATHSEP anywhere. because foo// is safe but foo:: is not
21:03:05 <Gracenotes> it sort of looks like that code is not meant to be read
21:03:08 <ehird> Gracenotes: why not use your host system?
21:03:35 <ehird> what's it called? put it in here
21:03:36 <AnMaster> ais523, and in my tests argv0 was always relative current dir. unless it was run as an alias, in which case it was relative the alias
21:03:44 <AnMaster> ais523, alias being similar to a symlink, but not quote
21:04:02 <ais523> AnMaster: argv[0] is the command used to run the program
21:04:07 <ais523> so it's relative current dir if you write ../build/ick
21:04:11 <AnMaster> ais523, yes that is what I'm talking about
21:04:16 <ais523> and absolute if you write /home/ais523/esoteric/intercal/latest/build/ick
21:04:22 <Gracenotes> ehird: I'll also be using setrlimit in the main process, so the go-compiling subprocesses will have sbrk fail relatively early if they start, e.g., making a 1GB array
21:04:36 <ehird> you know what would be cool?
21:04:40 <ais523> argv0 could be either absolute or relative as a result
21:04:45 <AnMaster> ais523, a mac path is absolute if and only if it 1) doesn't start with a : 2) contains at least one :
21:04:46 <ehird> if you could dynamically load .(arch) files
21:04:54 <ehird> like 6c foo.c; blah foo.6
21:04:58 <AnMaster> ais523, if it starts with a : it is relative, if it contains no : at all, it is relative
21:04:59 <ehird> and it basically dlopen()s foo.6
21:05:00 <ais523> AnMaster: I think separate functions for Mac from UNIX/Windows might be needed
21:05:10 <ehird> I figured out what to do
21:05:12 <ais523> because the rules for forming paths are substantially different
21:05:21 <AnMaster> ais523, or you could just tell me exactly what it is supposed to do and let me rewrite it *clean*
21:05:21 <ehird> replace the ../ stuff with things that calculate the actual path (you bum)
21:05:28 <ehird> and replace / or \ with ICK_PATHSEP
21:05:37 <ehird> Gracenotes: yes, it'd abolish dynamic linking but keep dynamic loading
21:05:47 <AnMaster> you only need to handle / on *nix and \ on dos/windows
21:06:20 <Gracenotes> I'm somewhat selfish, personally.. don't care about non-386. But that would be neat.
21:06:33 <ehird> Gracenotes: I meant .8 too
21:06:34 <Warrigal> Gregor: you not being in #hackiki is wrong. Please correct.
21:06:45 <ehird> hackiki is a tiny toy project, why does it need a channel
21:06:48 <AnMaster> ais523, well I have no clue what the function is supposed to do. As in, sure I could look in guesspath and current dir
21:06:51 <ehird> Gracenotes: also, 6g is older and more robust than 8g
21:06:52 <ehird> Gracenotes: so nyah
21:07:00 <ehird> Gracenotes: (6=64-bit)
21:07:11 <ehird> is your computer old or sth? admittedly my distro will be i686
21:07:31 <Gracenotes> ehird: also, dynamic loading is sort of against the design goals of the language, I thoght
21:07:48 <ehird> Gracenotes: for normal use, yes
21:07:51 <ehird> still, it'd be a fun hack :P
21:08:03 <ais523> AnMaster: it looks in several dirs for a file
21:08:12 <Gracenotes> no, my CPU supports 64 bit. I don't want to spend the effort to find out if every single app I use regularly doesn't break with it
21:08:14 <AnMaster> ais523, hard coded ones, and always /?
21:08:26 <ais523> guessdir, current dir, ../lib, ../include
21:08:50 <AnMaster> ais523, anyway I think there may be some mac specific API to get current dir. And yes what the hell is up with syslib.3i not being a text file?
21:09:08 <pikhq> Gracenotes: Most apps don't break on x86_64 any more.
21:09:08 <ais523> AnMaster: probably INTERCAL doesn't look very much like text
21:09:18 <pikhq> (a small handful do; I've got a VM for those)
21:09:29 <AnMaster> ais523, so what is the difference there
21:09:36 <ais523> AnMaster: there are some operators that only exist in base 3 and above
21:09:51 <ais523> although @ isn't outside ASCII, maybe Macs don't like it
21:09:56 <ehird> Gracenotes: you use ubuntu right?
21:10:01 <ehird> if so, 64-bit will work absolutely splendidly
21:10:06 <AnMaster> ais523, hm. ASCII here means lower 127 chars
21:10:24 <AnMaster> ais523, and I'm pretty sure @ is outside that
21:10:29 -!- Asztal has quit (".").
21:10:40 <AnMaster> because it isn't used in befunge98 and befunge98 use all the lower 127 chars
21:10:45 <Gracenotes> ehird: but for go, how is 6g better, now?
21:10:48 <ais523> AnMaster: @ is inside the lower 127
21:10:55 <ais523> also, it ends a program in befunge98
21:11:08 <AnMaster> ais523, if you didn't come in so late during evening
21:11:17 <ehird> amd64 (a.k.a. x86-64); 6g,6l,6c,6a
21:11:17 <ehird> The most mature implementation. The compiler has an effective optimizer (registerizer) and generates good code (although gccgo can do noticeably better sometimes).
21:11:18 <ehird> 386 (a.k.a. x86 or x86-32); 8g,8l,8c,8a
21:11:18 <ehird> Comparable to the amd64 port. Not as well soaked but should be nearly as solid.
21:11:27 <ehird> Gracenotes: they're completely separate backends
21:11:36 <ehird> so amd64 probably has a better optimiser, and is maybe faster and stabler
21:11:55 <pikhq> Well, it is much easier to optimise for amd64.
21:12:08 <pikhq> The poor register allocator doesn't have as much work to do.
21:12:10 <AnMaster> ais523, hm... syslib.i is LF ended. but syslib.3i is CRLF
21:12:21 <pikhq> Gracenotes: Twice the register space.
21:12:25 <ehird> in fact, registers make me consider making my distro amd64
21:12:35 <Gracenotes> a further division in the whole binary-dividing-of-general-registers things
21:12:45 <AnMaster> ais523, let me test if it works when first converted to LF.
21:12:58 <ais523> argh, not CRLFs in the distro again
21:13:00 <pikhq> ehird: Hmm. You could even completely and utterly avoid most of the not-niceness of dual-lib setups.
21:13:08 <Sgeo> Why is there a blank white bar in Chrome?
21:13:12 <Sgeo> At the bottom?
21:13:12 <ehird> pikhq: yeah but... still
21:13:13 <ais523> that happens every now and then, thanks for warning me when that happens
21:13:16 <ehird> Sgeo: extensionnos
21:13:19 <ehird> did you install one
21:13:26 <ehird> Sgeo: restart chrome
21:13:38 <Sgeo> Although it just disappeared. Didn't disappear by itself last time I had it, though
21:13:42 <ehird> pikhq: at least everything works on 386, no problems at all, and I don't even have to consider dual-lib
21:14:02 <pikhq> ehird: Given that you're doing static linking, you'd be able to mostly ignore it, anyways.
21:14:25 <ehird> pikhq: Silently having 32-bit binaries and libs in /bin and /lib sounds "scary"
21:14:43 <pikhq> 32-bit binaries generally get stuck in /bin as is normal.
21:14:57 <pikhq> You'd probably still want a /lib32, though.
21:15:01 <AnMaster> ais523, okay I found it. It was more complex than CRLF
21:15:23 <AnMaster> ais523, it was due to mac file type not being set to TEXT
21:15:35 <ais523> ah, something in the importer
21:15:36 <ehird> pikhq: yeah, which is directory and shit-i-have-to-care-about bloat :P
21:15:37 <AnMaster> and reason for that was it didn't auto translate .3i to anything
21:15:47 <AnMaster> ais523, .i was auto translated to some bbedit lite file
21:15:51 <AnMaster> source code for something I guess
21:15:51 <ehird> pikhq: eh, I can always bait-n-switch people to amd64 if i deem it to be a good idea
21:16:01 <pikhq> ehird: Only if you want 32-bit libraries at all. :P
21:16:02 <Gracenotes> ehird: since I know next-to-nothing about 64-bit computing.. if /proc/cpuinfo supports lm, I should be fine, ne?
21:16:16 <ehird> Gracenotes: just boot the 64-bit ubuntu livecd and see if it works :-P
21:16:18 <AnMaster> ais523, thus I have to figure out how to make a "clean up file types" tool
21:16:21 <ehird> Gracenotes: what cpu model is it
21:16:31 <ehird> pikhq: "Upgrade. By the way, this will make your system amd64."
21:17:10 <ehird> If I turn batshit insane and want multiple archs I guess I'd just have /$arch/pkg/
21:17:20 <Gracenotes> model name is Intel(R) Core(TM)2 Duo CPU T7250 @ 2.00GHz
21:17:30 <ehird> Gracenotes: all core 2 duos are 64-bit
21:17:32 <pikhq> ehird: Yeah, that'd probably work best.
21:17:55 <Gracenotes> hm. well, I'm not gonna reinstall Ubuntu for now, but I am going to reinstall 64-bit arch
21:17:58 <AnMaster> ehird, you don't generally need 32 bit libraries. Exceptions: libc. Most apps nowdays work as 64-bit. I know two remaining ones: zsnes and wine
21:18:10 <AnMaster> (because on windows the transition hasn't really happened yet)
21:18:11 <ehird> http://pkg.distro.org/686/foo/
21:18:32 <ehird> http://pkg.distro.org/686/foo/tree/ (wonder if it should be tree/ or root/)
21:18:56 <ehird> http://pkg.distro.org/686/foo/mkfile (for my maintenance use, although i could make this part of the installation process i guess)
21:19:08 <ehird> http://pkg.distro.org/686/foo/info (I guess. the general "package file")
21:19:09 <AnMaster> ehird, 686!? that won't work on my old hypothetical i486 then!
21:19:22 <ehird> and perhaps http://pkg.distro.org/686/foo/install.sh for install scripts and stuff
21:19:30 <pikhq> AnMaster: ... I have a 64-bit zsnes...
21:19:48 <ehird> http://pkg.distro.org/amd64/foo/tree/
21:19:49 <Gregor> zsnes only has 32-bit asm code, but we're living in the future, you don't need to use the asm.
21:19:53 <AnMaster> pikhq, wait what? Since when? And on gentoo it is just 32-bit with multilib
21:19:54 <ehird> ofc at first it'll just be /foo/tree/
21:19:59 <pikhq> Hrm. I thought I did.
21:20:10 <pikhq> I guess it does -m32, then.
21:20:30 <ehird> if I make multi-arch setups i'll just make /foo/ return "404 Use PKGREPO=http://pkg.distro.org/686/" instead
21:20:36 <AnMaster> ais523, what exactly is the job of the find_* functions
21:20:38 <ehird> Which is a name for 404 I just made up!
21:20:44 <ehird> Hooray for HTTP's flexibility!
21:20:48 <pikhq> Yeah, it's just emulators that don't do x86_64.
21:20:57 <ais523> AnMaster: to find the location of a file like the skeleton or the syslib
21:20:58 <AnMaster> ais523, as in, you merged them
21:21:02 <Gracenotes> hmm. for the arch virtual machine specifically, is i686 or x86_64 better?
21:21:06 <AnMaster> ais523, and how is it supposed to search?
21:21:07 <ais523> or possibly, freopen it
21:21:11 <ais523> AnMaster: it checks a series of locations
21:21:17 <ehird> http://www.archlinux.org/news/440/
21:21:20 <AnMaster> ais523, and the difference between the test and fopen ones?
21:21:23 <ehird> Arch Linux are dropping i686 support...
21:21:25 <fizzie> I'm pretty sure I got a not-"-m32" really-64-bit zsnes compiled, though. It needed quite a pile of hacking, and crashed when ran, but it *compiled*.
21:21:27 <ais523> AnMaster: testopen doesn't leave the file open
21:21:29 <ehird> Gracenotes: What is your host OS?
21:21:31 <ais523> so you can freopen it afterwards
21:21:39 <ehird> Gracenotes: If 32-bit, 32-bit; else 64-bit.
21:21:40 <pikhq> fizzie: Zsnes has a lot of assembly, IIRC.
21:21:44 <ehird> AnMaster: I don't use Arch, I didn't know.
21:21:57 <Gracenotes> Ubuntu, 32 bit. I probably need 64-bit Ubuntu to run 64-bit Arch, huh? :/
21:22:13 <ehird> I don't read their news.
21:22:26 <ehird> AnMaster: They could have written it less... sanely.
21:22:31 <ehird> I mean, I was half-agreeing by the end.
21:22:43 <ehird> Anyway, Quake II is 32-bit only. (It's also compiled with egcs XD)
21:23:04 <Gracenotes> ehird: *is* it possible to run 64-bit VM on 32-bit OS, with 64-bit CPU? damn, I am such a newbie at this. gr
21:23:14 <AnMaster> ehird, when I pasted the date you still didn't understand.... Well, I think "idiot" was fully justified there
21:23:15 <ehird> Gracenotes: Yes, but it'll emulate 64-bit.
21:23:17 <ehird> it will be sloooooooooooooooooooooooooooow.
21:23:25 <ehird> AnMaster: I don't recognise ISO dates like that.
21:23:26 <fizzie> fis@eris:~$ file /usr/bin/* | grep 32-bit
21:23:26 <fizzie> /usr/bin/fnt2bdf: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.18, stripped
21:23:26 <fizzie> /usr/bin/skype: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, stripped
21:23:30 <fizzie> The first one is pretty strange.
21:23:36 <ehird> AnMaster: I don't associate 2009-04-01 with April 1
21:23:38 <AnMaster> ehird, what sort of strange dates do you use then?
21:23:41 <fizzie> I don't see an obvious reason for fnt2bdf to be 32-bit.
21:23:48 <ehird> AnMaster: I use ISO dates, but I know April Fool's Day as April 1.
21:23:51 <ehird> And stop telling me what to do.
21:23:55 <ehird> I'll do what the hell I like.
21:24:03 <Gracenotes> particularly, VirtualBox is saying "VT-x/AMD-V hardware acceleration has been enabled, but is not operational."
21:24:08 <AnMaster> ehird, I said "no, it won't be slow"
21:24:16 <AnMaster> because you can switch to it then reset it
21:24:17 <ehird> No what won't be slow?
21:24:23 <Gracenotes> "Your 64-bit guest will fail to detech a 64-bit OS" blah blah
21:24:23 <ehird> You haven't said that yet.
21:24:31 <AnMaster> ehird, <ehird> it will be sloooooooooooooooooooooooooooow. <-- that
21:24:36 <fizzie> Oh, fnt2bdf is a part of wine-bin-unstable, so that's why it's 32-bit.
21:24:39 <ehird> you never said no it won't be slow
21:24:45 <AnMaster> ehird, vmware on 32-bit windows did some nasty cpu tricks.
21:24:46 <ehird> [21:24] AnMaster: ehird, I said "no, it won't be slow"
21:24:49 <ehird> you did not say that
21:24:54 <ehird> Gracenotes: anyway, just run it as 32-bit
21:25:11 <AnMaster> ehird, point is. you can switch to 64-bit then later switch back to 32-bit (before returning control to host
21:25:27 <AnMaster> ehird, it even worked on my old sempron with a 32-bit host os running 64-bit guest
21:25:34 <AnMaster> and yes it refused to do that on a 32-bit cpu
21:25:52 <ehird> AnMaster: No real point though
21:25:52 <AnMaster> I'm 100% of what sort of magic was involved in it
21:26:23 <ehird> `addquote <AnMaster> I'm 100% of what sort of magic was involved in it
21:26:24 <HackEgo> 104|<AnMaster> I'm 100% of what sort of magic was involved in it
21:26:30 <AnMaster> <Gracenotes> particularly, VirtualBox is saying "VT-x/AMD-V hardware acceleration has been enabled, but is not operational." <-- sure your cpu supports that then?
21:26:31 <ehird> AnMaster — the best choice for VM magic.
21:26:44 <pikhq> I have a /usr/bin/lddlibc4.
21:27:00 <ehird> I think Quake II is linked with libc5
21:27:01 <AnMaster> ehird, it was a damn typo of course
21:27:06 <Gracenotes> AnMaster: apparently, ehird says my model supports it
21:27:06 <ehird> Although it requires SDL dynamic, I think
21:27:09 <ehird> AnMaster: So? I can still addquote it
21:27:13 <ehird> Gracenotes: No I said it does 54-bit
21:27:17 <AnMaster> Gracenotes, check /proc/cpuinfo
21:27:17 <ehird> Not the same thing as VT-x
21:27:24 <AnMaster> `addquote <ehird> Gracenotes: No I said it does 54-bit
21:27:25 <HackEgo> 105|<ehird> Gracenotes: No I said it does 54-bit
21:27:35 <HackEgo> File: dir,Node: TopThis is the top of the INFO tree \ \This (the Directory node) gives a menu of major topics. \ Typing "q" exits, "?" lists all Info commands, "d" returns here, \ "h" gives a primer for first-timers, \ "mEmacs<Return>" visits the Emacs manual, etc. \ \In Emacs, you can click mouse button
21:27:44 <pikhq> Oh, right. I installed emul-linux-x86-compat..
21:27:45 <ehird> AnMaster: your knee-jerk reaction against my quoting your typo is irriitating
21:27:47 <HackEgo> Runs arbitrary code in GNU/Linux. Type "`<command>", or "`run <command>" for full shell commands. "`fetch <URL>" downloads files. Files saved to $PWD are persistent, and $PWD/bin is in $PATH. $PWD is a mercurial repository, "`revert <rev>" can be used to revert to a revision. See http://codu.org/projects/hackbot/fshg/
21:27:50 <ehird> your typo was funny when read that way
21:28:02 <Gracenotes> :/ AnMaster: okay, in terms of hardware knowledge, I am a dumb terminal. meh.
21:28:03 <AnMaster> Gracenotes, I think it is either vmx or smx that is for the VT-x stuff
21:28:14 <pikhq> Which sticks old libc versions into the library path somewhere.
21:29:03 <AnMaster> ehird, either both stays or both goes
21:29:14 <ehird> AnMaster: you are getting emotional over a quote of a funny typo
21:29:17 <ehird> and likening it to an unfunny typo
21:29:19 <ehird> stop it, it's childish
21:29:26 <AnMaster> ehird, my typo wasn't funny at all
21:29:29 <ehird> nobody hates you because that was quoted
21:29:34 <HackEgo> 67|<Deewiant> Reality isn't a part of physics
21:29:37 <HackEgo> 97|<fungot> i am sad ( of course by analogy) :) smileys)
21:29:41 <HackEgo> 10|<oerjan> what, you mean that wasn't your real name? <Warrigal> Gosh, I guess it is. I never realized that.
21:29:44 <HackEgo> 100|<oklopol> Warrigal: what do you mean by 21?
21:29:47 <HackEgo> 102|<Madelon> I want to read about Paris in the period 1900-1914 <Madelon> not about the sexual preferences of a bunch of writers >.>
21:29:50 <ehird> where is the fucking thing
21:30:02 <HackEgo> 103|<oklofok> i use dynamic indentation, i indent lines k times, if they are used O(n^k) times during a run of the program
21:30:11 <ehird> you reverted it in /msg
21:30:14 <ehird> how childish, not even letting us know
21:30:32 <HackEgo> 104|<AnMaster> I'm 100% of what sort of magic was involved in it
21:30:38 <ehird> pikhq: do you think that's funny?
21:30:42 -!- GreaseMonkey has joined.
21:30:46 <AnMaster> ehird, why are you getting childish over the one I added
21:30:51 <AnMaster> because that is what you are doing
21:30:59 <ehird> you're trying to remove it, I'm trying to stop you removing it
21:31:07 <AnMaster> ehird, you are removing the one I added
21:31:17 <ehird> that is not what you are doing
21:31:21 <ehird> Gregor: stop this fucking bullshit plz
21:31:29 <AnMaster> ehird, sure it was. You began by reverting mine
21:31:47 <AnMaster> Gregor, please make ehird be sensible
21:32:09 <ehird> Gregor: AnMaster is bawwing and overreacting because i added a funny-in-my-opinion typo of his, and then he added a random typo of mine that had no possibility of a joke (and he admits this), plz step into this dispute because AnMaster is so socially retarded that he can't accept people finding typos of him funny and is deeply upset by it
21:32:24 <ehird> jesus christ, and you call me childish
21:33:27 <AnMaster> Gregor, I added a quote I thought was funny, ehird began by reverting it. So I reverted the one he added too. He didn't like that (of course). Still it shows some extreme hypocrisy from his side.
21:33:39 <ehird> AnMaster: Funny, because you said:
21:34:02 <ehird> [21:29] AnMaster: ehird, my typo wasn't funny at all
21:34:02 <ehird> [21:29] AnMaster: your wasn't either
21:34:30 <fizzie> Obviously what we need is: ARBCOM to solve the case.
21:34:30 <ehird> To everyone who isn't a socially incapable retard who can't sleep if someone thinks a typo he made is funny: 32-bit advantages: support for older hardware, no multilib stuff, marginally more compatibility; amd64 advantages: 6g is more stable, MOAR REGISTERS!!11123423
21:34:38 <AnMaster> ehird, I just used your definition of "funny" last time
21:35:09 <ehird> I think AnMaster was raped by a HackBot quote as a young boy or something, because he's done exactly this before...
21:35:45 <pikhq> ehird: More memory, also.
21:35:45 <fizzie> AnMaster: A shady Wikipedia cabal, the final judge, jury and executioner of all thinks Wiki.
21:35:53 <ehird> pikhq: 64-bit just uses PAE.
21:35:58 <ehird> pikhq: You can do that with 32-bit, too.
21:36:06 <fizzie> AnMaster: The Arbitration Committee, http://en.wikipedia.org/wiki/Wikipedia:ARBCOM
21:36:22 <fizzie> Sometimes, when I'm bored, I go and read ArbCom's case archives.
21:36:30 <pikhq> PAE just lets you have more physical address space to map into a process's address space.
21:36:45 <pikhq> Doesn't let you map more than 4G per process, still.
21:37:12 <pikhq> 64-bit lets you map in quite a bit more stuff. Making mmap'ing an entire file feasible. Hooray.
21:37:24 <AnMaster> ehird, 64-bit is more than PAE. For a start: PAE is limited at 64 GB iirc. 64-bit has a higher limit.
21:37:24 <ehird> pikhq: Yes, but only scientists use more than 4 GiB per process and they deserve to DIE IN A FIRE BECAUSE THEY USE HERETIC WITCHCRAFT.
21:37:24 -!- coppro has joined.
21:37:27 <ehird> 64 GiB, oh lord, I am so scared.
21:37:33 <ehird> I am absolutely targeting mainframes.
21:37:47 <AnMaster> ehird, 640kb *is* enough for everyone
21:37:48 <pikhq> Granted, it's very freaking hard to go beyond what PAE lets you use per-system.
21:37:50 -!- BeholdMyGlory has quit (Read error: 60 (Operation timed out)).
21:37:55 <ehird> pikhq: what kinda pr ograms do you write that mmap a >4 GiB file
21:38:21 <pikhq> ehird: 32 GiB, not 64 GiB, BTW.
21:38:57 <pikhq> ... That's the Microsoft limitation, not the actual limitation. Never mind, it is 64 GiB.
21:38:59 <AnMaster> ehird, see what I said. I guess that in 5-10 years it will be low.
21:39:08 <ehird> even the crazy super-high-spec Mac Pro people who swap in their own slightly-higher-clock CPU by covering up some pins don't have 32 GiB of RAM
21:39:12 -!- BeholdMyGlory has joined.
21:39:23 <ehird> AnMaster: In 5-10 years I can fucking change a few lines to switch to amd64.
21:39:35 <fizzie> Over-4G processes aren't that rare on our cluster; admittedly we are a part of those heretic witchcrafty people.
21:39:43 <AnMaster> ehird, also there is the register thing. And somewhat saner ISA. And some other things
21:39:52 <ehird> the ISA isn't saner.
21:40:01 <ehird> registers i mentioned.
21:40:05 <ehird> AnMaster: infinitesimally.
21:40:20 <ehird> x86 and derivatives are so shit that i don't care about the ISA
21:40:32 <pikhq> Hmm. Apparently mplayer attempts to mmap files it opens.
21:41:20 <AnMaster> ehird, allows fast re-allocatable code. Allowing stuff like PIE executables for example
21:41:44 <pikhq> It allows address-space randomisation to occur without a performance hit.
21:41:56 <pikhq> And dynamic linking has hardly any performance hit...
21:41:57 <AnMaster> which is useful for high security systems to make addresses harder to guess. PIE is slow on 32-bit x86
21:42:00 <ehird> AnMaster: position-independent you mean?
21:42:05 <Gregor> I'm sure there's a tuberwebs FS for FUSE :P
21:42:14 <AnMaster> ehird, yes I said PIE didn't I?
21:42:14 <ehird> can't do that with static binaries so i give no shits
21:43:03 <AnMaster> ehird, oh and scbl mmap()s 8 GB iirc on x86-64
21:43:23 <AnMaster> of course that is overcommitting memory
21:43:37 <AnMaster> ehird, still having more than 4 GB ram is nice
21:43:49 <AnMaster> database was already mentioned
21:44:10 <pikhq> Being able to assume SSE support is also nice.
21:44:12 <ehird> 4 GiB of per-process RAM is all
21:44:19 <ehird> pikhq: 686 has sse doesn't it
21:44:22 <AnMaster> ehird, what about an emulator mmaping a dvd?
21:44:29 <ehird> AnMaster: don't do that :P
21:44:34 <pikhq> 686 doesn't even necessarily have MMX.
21:44:38 <ehird> i still absolutely don't want a /lib32...
21:44:39 <AnMaster> ehird, seems sane enough to me
21:44:56 <AnMaster> ehird, so use /lib and /lib64 ?
21:45:21 <pikhq> With 686, you can only assume that you have a floating point unit.
21:45:53 <AnMaster> ehird, anyway. you won't need much multilib. libc (including libpthreads and libm, same package) that's about it
21:46:10 <AnMaster> for the few 32-bit libraries needed
21:46:43 <ehird> anyway i definitely want quake ii to run, which is a "yikes" case of a libc5, egcs-compiled 32-bit binary
21:47:00 <ehird> hmm i think it dynamically loads sdl, i wonder if you can like, delink something
21:47:01 <AnMaster> ehird, better code optimisation base. a generic 686 target can't assume any sort of vector registers like MMX or SSE (like pikhq said)
21:47:11 <ehird> AnMaster: doesn't matter, things are fast enough
21:47:12 <AnMaster> the baseline 64-bit is much higher
21:47:32 <AnMaster> ehird, tell me that when you want to watch decode a dvd :P
21:48:20 <AnMaster> ehird, or encode a dvd for burning
21:48:45 <ehird> buy an ssd, be happy
21:48:45 <AnMaster> ehird, oh and there are more quirks to support everything from 686 and up
21:48:57 <ehird> yes it will, decoding to disk
21:49:06 <pikhq> With 686, your system actually checks for the damned floating-point bug.
21:49:07 <ehird> dvds are slow, stop using them
21:49:15 <ehird> that's totally an advantage
21:50:21 <AnMaster> ehird, anyway I bet you can do a pure 64-bit distro with no multilib. You would have to use something else than grub of course
21:50:32 <ehird> I'm using lilo anyway.
21:50:33 <AnMaster> you might need something to compile parts of the kernel for boot up code
21:50:42 <AnMaster> ehird, not sure if it supports being compiled with 64-bit tools
21:50:57 <ehird> So, tell me how I'd do Quake II without multilib. :P
21:51:04 <ehird> It's 32-bit, egcs-compiled, libc5-using. Go!
21:51:31 <AnMaster> a 32/64-bit capable assembler (like nasm by default) + a 32/64 bit capable linker (easy too)
21:51:33 <pikhq> ehird: Static link that shit.
21:51:53 <ehird> pikhq: But it's distributed as a binary.
21:52:09 <ehird> pikhq: I totally need an unld.
21:52:21 <ehird> Turns a binary into an .o and a .plaintextinfoaboutthebinary
21:52:21 <AnMaster> ehird, is it statically or dynamically linked? because if it is dynamic anyway you are lost
21:52:33 <ehird> So you can tweak the .plaintextinfoaboutthebinary and ld the .o and some other stuff.
21:52:39 <pikhq> ehird: That sounds rather hard to o.
21:52:40 <ehird> AnMaster: Not if I relink it.
21:52:44 <ehird> pikhq: Badum-tish!
21:52:48 <ehird> You had to fix the typo.
21:52:52 <fizzie> ehird: You do Quake II without multilib by using a more modern version of it than some strange libc5-linked egcs-compiled binary.
21:53:20 <ehird> fizzie: Ehh, the thing I was doing was the official Quake II server.
21:53:28 <ehird> pikhq: surely unld of a binary to an .o is easy
21:54:02 <pikhq> ehird: Not really.
21:54:34 <ehird> Anyway, I dunno. 686 just feels so much more universal.
21:54:49 <ehird> Memory and registers... they just don't bother me that severely.
21:54:52 <pikhq> ehird: That's supporting CPUs as old as you are.
21:54:59 <AnMaster> ehird, how much ram do you have?
21:55:20 <AnMaster> ehird, and will you use PAE? it is quite a hack
21:55:27 <ehird> 64-bit uses PAE, you dolt.
21:55:32 <AnMaster> sounds like the opposite of what you want
21:55:42 <ehird> Which is quite a hack as well.
21:55:43 <AnMaster> ehird, however. on 32-bit it is more of a hack
21:55:56 <ehird> pikhq: There's no baseline above 686
21:56:06 <ehird> AnMaster: It's a hack on 64-bit just as much.
21:56:10 <pikhq> x86_64 is a baseline nowadays.
21:56:22 <ehird> The first Intel 64-bit CPU came out in 2006.
21:56:31 <pikhq> Everything sold in the past 4 years supports it.
21:56:33 <ehird> And AMD CPUs suck.
21:56:37 <ehird> pikhq: Hey, Atom hates you!
21:56:51 <pikhq> ehird: Oh, right. Some of the Atoms don't support it.
21:56:51 <ehird> It stares at you. IT STARES AT YOU WITH ITS EYE. Also it tries to kill you with its 4W of heat.
21:56:58 <ehird> CAN YOU FEEL THE HEAT
21:57:09 <AnMaster> ehird, oooh that must be a pentium4 right?
21:57:17 <AnMaster> ehird, is that the answer to the riddle?
21:57:20 <ehird> Actually it's based on Pentium 4's NetBurst
21:58:25 <ehird> Anyway, a lot of the best ThinkPads are 32-bit
21:59:03 <AnMaster> ehird, and? a lot of good computers are outdated by now
21:59:16 <ehird> Yes, but they're good and still quite zippy.
21:59:23 <ehird> You can run Ubuntu on them, no problems.
21:59:36 <ehird> I don't think not supporting them is a good idea.
21:59:40 <AnMaster> ehird, I can run linux on my old first gen ibook with no issues
21:59:51 <ehird> Yes, but that's PPC and shit.
22:00:02 <ehird> ThinkPads are one of the best PCs ever.
22:00:08 <ehird> But they suck recently, so the old ones are very popular.
22:00:47 <AnMaster> ehird, I don't think my one is too bad. maybe no the golden days, but it is fast and snappy and supports VT-x and so on
22:01:02 <AnMaster> ehird, and the wlan issue magically fixed itself as of recently
22:01:10 <fizzie> Incidentally, that version of Pentium M (if it's the 400 MHz bus one, like it seemed to be) doesn't support PAE either. (No Xen on them, therefore.)
22:01:11 <AnMaster> (no relevant upgrade around then)
22:01:18 <ehird> Quality did go down with Lenovo, though.
22:01:25 <ehird> Especially with widescreen...
22:01:36 <ehird> (T61 too apart from being widescreen)
22:01:39 <ehird> But the Txxx series?
22:02:02 <ehird> fizzie: Eh, who uses Xen on a laptop :P
22:02:04 <AnMaster> ehird, so what about a new good laptop? would that be a mac?
22:02:20 <ehird> AnMaster: There... aren't any, really.
22:02:34 <ehird> A MacBook Pro is superb if you want Mac OS X, of course.
22:03:05 <ehird> Incidentally, still using that trackball.
22:03:39 <AnMaster> ehird, I do like the trackpoint btw. much easier to use than the trackpad for me.
22:03:56 <ehird> Unless you have multi-touch stuff.
22:04:03 <fizzie> AnMaster: Right; or more specifically, you need to use either a PAE or a non-PAE build of Xen, and they dropped support of the non-PAE version quite a while ago.
22:04:14 <fizzie> ehird: I used to, until they dropped the support of it. :p
22:04:17 <ehird> He never said anything about Xen
22:04:23 <AnMaster> ehird, yes I tried on a "you can't replace the battery" macbook recently that someone else at uni had
22:04:37 <AnMaster> didn't work too well for me. might take time getting used to
22:04:40 <ehird> AnMaster: MacBook or MacBook Pro?
22:04:49 <ehird> I guess Pro, the non-replacable MacBook is new.
22:05:03 <ehird> Unibody MacBook or Unibody MacBook Pro, then.
22:05:14 <ehird> 13" unibody MacBook Pro = unibody MacBook
22:05:19 <ehird> basically identical when it switched over
22:05:19 <AnMaster> ehird, don't know if it was pro or non-pro
22:05:27 <AnMaster> ehird, 15" or so sounds about right?
22:05:43 <ehird> Did it have insanely high resolution? If so then 17" :P
22:06:03 <AnMaster> ehird, higher than most but not insanely so
22:06:13 <fizzie> Didn't they recently put out a small variant of the Pro? I guess it was that 13" thing.
22:06:22 <AnMaster> slightly lower or around the same as my thinkpad I would say
22:06:43 <fizzie> I was sort of eyeballing it as a suitable replacement for the 12" iBook if it happened to break; hopefully it'll still hold for a while, though.
22:08:09 <AnMaster> ehird, and a 17" is quite a bit larger
22:12:10 <fizzie> Oh, are they doing 1920x1200 in laptops already? Funky.
22:14:29 -!- kar8nga has quit (Remote closed the connection).
22:15:13 <ehird> In a February 2000 slideshow, Rob Pike noted: "…although Alef was a fruitful language, it proved too difficult to maintain a variant language across multiple architectures, so we took what we learned from it and built the thread library for C."
22:15:25 <ehird> Alef could return multiple values as well :P
22:16:46 <ehird> "Actually Google will probably rename it Issue9 , as a reference the issue number nine raised by McCabe on the issue tracker of Google Go Programming Language. This is at least what a lot of people want to believe !"
22:16:46 <ehird> A world in which people whining on a bug tracker make Google do something
22:17:16 <ais523> reddit are trying really hard to get Google to rename it Issue 9
22:17:21 <ais523> although I'm not sure if anyone else cares
22:17:33 <ehird> proggit has gone down the shitter, has been down it for ages.
22:17:42 <ehird> issue 9 is a shit name anyway
22:17:55 <Deewiant> Since when is it officially a "Google" project instead of something based on 20% time?
22:17:57 <ehird> I think a good rule of thumb is if anyone calls google the creator of go they don't know shit about it
22:18:04 <ehird> Deewiant: It is a Google project, I believe
22:18:13 <ehird> http://www.youtube.com/watch?v=wwoWei-GAPo
22:18:20 <ehird> "The Go Programming Language
22:18:24 <ehird> by GoogleDevelopers
22:18:27 <ehird> The Google Code Channel
22:19:06 <facsimile> hay guys have you hard about this kool new language called Go
22:19:31 <ehird> facsimile: the troll door →
22:20:16 <Deewiant> ehird: No, seriously. Using the Google logo, calling themselves GoogleDevelopers, and being able to get something on the Google Code Channel proves only that they work at Google. :-P
22:20:34 <ehird> I think what is a Google project is ill-defined anyway
22:21:15 <ehird> It's part of their work at Google, Google have put material about it with a Google logo on their YouTube account, AND
22:21:25 <ehird> Here at Google, we believe programming should be fast, productive, and most importantly, fun. That's why we're excited to open source an experimental new language called Go.
22:21:27 <ehird> — http://google-opensource.blogspot.com/2009/11/hey-ho-lets-go.html
22:21:52 <pikhq> I'm pretty sure that the term "Google project" includes 20% stuff.
22:22:39 <fizzie> Here's one more bit of "evidence": the source files have copyright notices for "Copyright 2009 The Go Authors"; and the AUTHORS file in the root has as its first line "Google Inc."
22:22:55 <Deewiant> ehird: By Robert Griesemer, Rob Pike, Ken Thompson, Ian Taylor, Russ Cox, Jini Kim and Adam Langley - The Go Team
22:23:10 <pikhq> I'm also pretty sure it doesn't matter -- if it turns out to be of any use, Google will be using it and supporting it quite well.
22:23:17 <pikhq> That's kinda what they do, after all.
22:23:22 <ehird> On the Google open source blog
22:23:38 <ehird> Deewiant: YES NOT ALL OF GOOGLE INC WORK ON PROJECTS
22:23:47 <ehird> No google project has all of google working on it
22:23:50 <fizzie> Deewiant: "This is the official list of Go authors for copyright purposes" -- "Google Inc."; the "Inc." there makes it sound all official.
22:24:07 <Deewiant> fizzie: I don't know whether Google typically wants copyright for 20% projects.
22:24:14 <Deewiant> If not, then I'll take that as evidence.
22:24:26 <ehird> But if it's announced on the google open source blog, lists Google Inc. as an author in AUTHORS, has a promo about it on the Google code youtube channel with the Google logo below "The Go Programming Language"...
22:24:31 <ehird> then yeah, it's a Google project.
22:24:36 <ehird> Google works in teams all the time, you know.
22:25:11 <pikhq> ehird: Except arguably the project of "making money for Google".
22:25:39 <ehird> pikhq: You do realise that an awful lot of Google projects aren't profitable?
22:25:41 <ehird> For instance. Google Code
22:25:47 <ehird> No ads, no fees, nothing
22:26:13 <ais523> hmm... Microsoft Research's main purpose is to generate goodwill
22:26:24 <ais523> maybe most of Google is for the same purpose?
22:26:32 <pikhq> ehird: "Arguably".
22:27:53 <ehird> Microsoft Research's main purpose is to research for Microsoft.
22:28:41 <fizzie> Deewiant: I don't know that either; the references seem to be more about how you're free to focus on whatever you find interesting, not on who will get the profits. I guess they might have an "it's still work, even if you self decide what you do" convention.
22:28:42 <pikhq> That it just so happens that research generates goodwill is a nice side effect, as far as Microsoft is concerned.
22:29:48 <ehird> ghc being static will be fun
22:30:24 <pikhq> GHC only supports static linking ATM.
22:30:25 <Deewiant> Eh? GHC is static. (As far as I understand what you mean by "being static".)
22:30:29 <fizzie> Microsoft Research's main purpose is to "enhance the user experience on computing devices, reduce the cost of writing and maintaining software, and invent novel computing technologies -- [and] to advance the field of computer science". It says right that on their web page, no need to speculate or anything.
22:30:36 <ehird> The GHC resulting executables are static?
22:30:40 <ehird> Even on libc and the like?
22:31:00 <ehird> (Mostly I doubt because I've run ldd on ghc-produced executables and seen tons of dependencies.)
22:31:03 <pikhq> Oh, that. No, it dynamically links against C libraries.
22:31:16 <ehird> It uses date() on ALL programs
22:31:18 <ehird> And crazy shit like that
22:31:22 <Deewiant> I doubt that adding static C libs will make it much bigger.
22:31:55 <Deewiant> What's the normal size, something like 1M?
22:33:29 <pikhq> Erm. That hello.hs does more than "Hello, world!"...
22:33:54 <Deewiant> One need only run ./hello +RTS --help.
22:33:55 <pikhq> Can't get it to statically link, though.
22:34:44 <pikhq> Massive linker errors from a lack of static pthreads.
22:34:59 <ehird> Oh yeah, ghc depends on pthreads ALWAYS.
22:35:25 <pikhq> The garbage collector can run in parallel.
22:35:28 <ehird> I'll look it up with my telepathy.
22:35:30 <AnMaster> pikhq, try /usr/lib/libpthread.a ?
22:35:31 <ehird> But what pikhq said.
22:35:39 <ehird> AnMaster: lack of static pthreads, he said.
22:35:46 <AnMaster> ehird, well I have it on my gentoo
22:35:49 <Deewiant> "gcc doesn't work" "try /usr/bin/gcc"
22:36:08 <AnMaster> Deewiant, "he uses gentoo, thus it should exist"
22:36:12 <ehird> pikhq: Incidentally, tcc or pcc: which do you think will have more compatibility
22:36:21 <AnMaster> pikhq, if it doesn't exist: how the hell did you manage that
22:36:22 <ehird> AnMaster: "I don't have any non-stock Gentoo packages installed; I am confident in my assertion"
22:36:43 <pikhq> AnMaster: I'm not sure why it's not linking against it.
22:36:47 <AnMaster> ehird, .... "I checked with qfile it came from libc"
22:36:51 <pikhq> It does exist, and I'm passing -lpthread to ghc.
22:36:56 <AnMaster> sys-libs/glibc (/usr/lib64/libpthread.a)
22:36:59 <pikhq> Just... Not happening.
22:37:00 <ehird> pikhq: Just add /usr/lib/libpthread.a to it
22:37:32 <ehird> -static -optl-static -optl-pthread
22:38:13 <ehird> It's a common ghc pitfall
22:38:53 <pikhq> strip -s gets it down to 1.2M.
22:39:09 <pikhq> upx gets it down to 416K.
22:39:21 <ehird> http://imgur.com/b3wo6
22:39:23 <ehird> http://imgur.com/b3wo6.png
22:39:51 <pikhq> upx --brute gets it down to 408K.
22:40:03 <ehird> http://images.google.com/images?q=google%20books%20fingers
22:40:10 <Deewiant> (May've been equivalent to --brute on Linux, I forget)
22:40:43 <ehird> Translation: <bsmntbombdood_> Stop linking things linked anywhere else
22:40:52 <AnMaster> <ehird> http://images.google.com/images?q=google%20books%20fingers <-- what the hell happened? And what is that on the fingers
22:41:02 <Deewiant> I fail to see the point of that image
22:41:10 <ehird> People pressed scan before moving their fingers away, and finger condoms!
22:41:18 <ehird> Deewiant: It's vaguely amusing?
22:41:25 <AnMaster> ehird, ... why finger condomes?
22:41:29 <pikhq> I'd try it with uclibc, but I don't have a uclibc toolchain handy.
22:41:35 <ehird> AnMaster: *condoms
22:41:36 <ehird> AnMaster: WHO KNOWS
22:41:45 <pikhq> 408K with --ultra-brute.
22:41:46 <ehird> Maybe the scanning procedure involves finger sex.
22:41:53 <ehird> pikhq: there's a gentoo package for it
22:42:06 <pikhq> ehird: Not really.
22:42:22 <pikhq> (I did try crossdev for it in the past; didn't exactly work)
22:43:07 <pikhq> So, nearly 1.2M of that is libraries...
22:43:18 <pikhq> That's impressive, but scary.
22:43:22 <ehird> Try ldd on a dynamically linked one
22:43:29 <ehird> Ooh, pretty useless functions!
22:44:02 <ehird> pikhq: btw, did you see http://sprunge.us/JXMf?
22:44:04 <pikhq> libm, libgmp, libdl, librt, libc, ld-linux-x86_64.so.2, and libpthread.
22:44:12 <AnMaster> ehird, why not strip useless functions?
22:44:14 <ehird> Paul Graham's closure-test in Go, except s/number/fixed-size int/
22:44:18 <ehird> AnMaster: ghc runtime uses them
22:44:21 <Deewiant> AnMaster: They're not useless.
22:44:23 <ehird> pikhq: ldd -whateveryouneedforfunctions
22:44:28 <ehird> it uses date(), for instance
22:44:40 <ehird> pikhq: (I tried to do numbers but couldn't find a suitable number interface; I could have done bignums though)
22:44:44 <ehird> Deewiant: Why does it need date()?
22:44:50 <AnMaster> Deewiant, you could potentially optimise away the GC in simple programs
22:45:10 <AnMaster> (probably pointless in practise)
22:45:30 <ehird> "Does God exist?" "I dunno, why not?"
22:45:52 <AnMaster> <ehird> pikhq: ldd -whateveryouneedforfunctions <-- nm -D?
22:45:55 <Deewiant> "Arbitrary statement" "What you just said" / my point proven
22:46:03 <AnMaster> ldd doesn't list used functions afaik
22:46:13 <pikhq> 121 different functions, according to nm -D...
22:46:18 <ais523> oh, incidentally, I found that virus on my computer
22:46:21 <Deewiant> ehird: What /is/ date() anyway? I see no manpage for it.
22:46:21 <ais523> it's a Word macro virus
22:46:24 <ais523> and it was in the Agora archives
22:46:36 <ehird> Deewiant: Oh, it was gettimeofday()
22:46:40 <AnMaster> ais523, agora accepts word files?
22:46:45 <ais523> AnMaster: it was in an attachment to a message
22:46:48 <ais523> containing part of a thesis
22:47:08 <AnMaster> <ehird> Deewiant: Oh, it was gettimeofday() <-- not strange. duh
22:47:17 <ehird> Strange for hello world
22:47:18 <AnMaster> ehird, what about random seed for example
22:47:18 <Deewiant> ehird: So timing, which the RTS does.
22:47:27 <AnMaster> or yes timing for GC and what not
22:47:49 <AnMaster> ehird, you could just say "strange for hello world to use a GC"...
22:48:27 -!- Pthing has joined.
22:49:24 -!- Rugxulo has joined.
22:50:27 * pikhq notes that the dynamic libraries that hello.hs uses adds up to 2.7M...
22:50:54 * ehird responds to http://hoisie.com/post/my_thoughts_on_the_go_programming_language to vent
22:51:06 <ehird> "The environment variables for building go are weird. $GOROOT points to the source, and why do you actually need to set $GOARCH and $GOOS? It's easy to detect that."
22:51:06 <ehird> $GOROOT points to the TREE. Cross-compiling.
22:51:30 <Deewiant> A reasonable default is that you're not cross-compiling.
22:51:43 <ehird> Yes, but the whole thing is based around it.
22:52:08 * Rugxulo still thinks that 64-bit is heavily overrated ...
22:52:29 <ehird> "Go uses a custom, funky build system. Most linux programs are compiled through autoconf and make. The build system has quirks, like if the $GOBIN directory isn't added to your path, it won't install." It's not funky, it's how make should be used.
22:52:30 <ehird> "The build script automatically installs go. But you have to create the installation directory manually." Your $GOBIN should exist.
22:52:30 <ehird> "The binary naming scheme is weird. For i386 you have the following program names:" It's not weird, you're just not used to it. "8c - no idea what it does" Perhaps you should have looked it up, takes two clicks on the website.
22:52:30 <ehird> "If you have a different architecture, these binaries will be named differently (6a, 6g, 6l, 6c for amd64). I couldn't find out why they use this seemingly arbitrary naming convention." Plan 9 toolchain, for trivial cross-compiling.
22:52:31 <Deewiant> Those "Language Issues" are rather random.
22:52:34 <ehird> "Compiling and running a go program takes three steps (it would be nice if it
22:52:36 <ehird> was just one):" Python is that way.
22:52:38 <ehird> Phew, end of flood.
22:52:41 <pikhq> Rugxulo: The principle advantage is having twice the registers.
22:52:53 <ehird> Aargh, that was just the first section.
22:52:56 <ehird> "Sometimes semicolons are needed, and sometimes they're not." Semicolons are separators, not terminators. The end.
22:52:58 <pikhq> x86 is absurdly register-starved.
22:53:02 <ehird> (But you can use them to separate a statement and the end.)
22:53:08 <ehird> "The languages require braces for most control expressions, even if they only contain one inner expression." Good practice.
22:53:13 <ehird> "There isn't an exception mechanism" Feature.
22:53:21 <AnMaster> <ehird> "The build script automatically installs go. But you have to create the installation directory manually." Your $GOBIN should exist. <-- unusual
22:53:22 <ehird> "Ambiguous assignment. The following are identical:" Ambiguous because there's more than one way?
22:53:25 <ehird> Also, it's declaration.
22:53:37 <AnMaster> ehird, I would be annoyed if build system didn't create directories as needed
22:53:39 <ehird> "A compilation error happens when a variable is declared and not used. I'm not a huge fan of this." It's enforcing conciseness and non-laziness. There are no warnings.
22:53:48 <ehird> AnMaster: Shrug, it's a very minor issue
22:53:52 <Deewiant> ehird: If "a := 1" and "var a = 1" don't differ that's a bit weird.
22:54:09 <ehird> Deewiant: := is just shorthand
22:54:21 <ehird> AnMaster: GOBIN should be ~/bin or /usr/local/bin or whatever
22:54:27 <AnMaster> ehird, I symlink binaries from ~/local/foo/bin to ~/bin as needed
22:54:29 <ehird> It's just where it puts binaries of go tools and go-using pprograms
22:54:41 <ehird> Installing every program coded in Go into a Go-specific location is madness.
22:54:42 <AnMaster> ehird, I refuse to have ~/local/foo/bin in baoth
22:54:43 <Deewiant> ehird: Aye, and I think that's a bit strange given that "var" isn't that long either. :-P
22:54:48 <Rugxulo> <AnMaster> ehird, 64-bit is more than PAE. For a start: PAE is limited at 64 GB iirc. 64-bit has a higher limit.
22:54:51 <ehird> AnMaster: Point it to ~/local/bin.
22:54:58 <Rugxulo> but nobody is coming even close to reaching 64 GB yet (besides IBM)
22:55:01 <ehird> AnMaster: That's what you're meant to do.
22:55:06 <Deewiant> I tend to be a bit leery of fairly different syntaxes for the exact same thing.
22:55:10 <AnMaster> ehird, and. that is for Go itself I assume
22:55:10 <ehird> AnMaster: Stop bitching, nobody cares
22:55:22 <Rugxulo> I think the main problem with PAE (and 64-bit) is drivers
22:55:24 <AnMaster> ehird, the Go programs should be able to run from build dir surely
22:55:26 <ehird> It installs the compilers, tools etc and programs written in go install to $GOBIN.
22:55:31 <pikhq> Rugxulo: ... Actually, nobody is coming close to *justifying* that on a normal system.
22:55:33 <AnMaster> ehird, I don't want to install every time I debug a program
22:55:40 <ehird> AnMaster: Yes, they do.
22:56:02 <ehird> "Weird debug statements. This happened when I had an out-of-bounds error." Translation: Oh god, it gives a stack trace and the values of registers. Kill me now.
22:56:04 <Rugxulo> <ehird> pikhq: Yes, but only scientists use more than 4 GiB per process and they deserve to DIE IN A FIRE BECAUSE THEY USE HERETIC WITCHCRAFT.
22:56:09 <ehird> aand my responses are over
22:56:10 <AnMaster> ehird, and I want to be able to install built programs anywhere. Like I compile a C program, doesn't need to go into ~/local/llvm/bin
22:56:21 <ehird> AnMaster: (1) Stop fucking bitching (2) make GOBIN=... install
22:56:33 <AnMaster> ehird, what sort of argument is this
22:56:41 <ehird> (3) You. Set. GOBIN. To. A. Non. Go. Specific. Directory. That. Is. The. Whole. Point.
22:56:55 <AnMaster> ehird, I install every app in a specific prefix. Always.
22:57:06 <AnMaster> plus I'm not about to install Go anyway
22:57:07 <ehird> Go use GoboLinux, whiner.
22:57:22 <ehird> Nobody gives a shit about your personal conventions because nobody else uses them and you're using YOUR chosen conventions to complain about Go, which is an invalid argument.
22:57:28 <ehird> I'm not interested.
22:57:40 <AnMaster> ehird, "all other build systems work with this"
22:57:47 <ehird> You still chose it.
22:57:50 <AnMaster> ehird, anyway I don't have ~/bin in PATH
22:57:54 <ehird> As I said, I'm not interested. Do not expect any further responses..
22:57:57 <AnMaster> I only have /bin /usr/bin in PATH
22:58:21 <AnMaster> ehird, oh the usual "ehird being irritated at me being right mode"
22:58:52 <Deewiant> Gah, you both fail at conversation so hard that it's not even funny any more.
22:58:57 <ehird> Ah yes, "You're only not talking to me because I'm right! I'm going to ignore YOU!" — the age old trolling technique.
22:59:04 <ehird> Deewiant: Objection: I don't bother engaging in conversation with AnMaster.
22:59:09 <ehird> I just rile him up.
22:59:19 <AnMaster> Deewiant, I don't fail at it really. Seems ehird did though
22:59:34 <AnMaster> Deewiant, but yes it it hard to talk to him since he refuses to even consider my arguments
22:59:35 <ehird> What an unexpected response. I sure am sure that that'll change AnMaster's mind.
22:59:47 <ehird> Deewiant: I'm welcome to engage in conversation with anyone who isn't a blathering idiot.
22:59:55 <ehird> But it's hard to do that in here because AnMaster always pipes up.
23:00:05 <Deewiant> ehird: Yeah, see, that attitude is part of the failure. :-P
23:00:15 <ehird> Deewiant: Hey, I tried with AnMaster, I really did.
23:00:30 <Rugxulo> <pikhq> Being able to assume SSE support is also nice.
23:00:35 <AnMaster> Deewiant, the issue with such a build system is that it breaks standard conventions of what should work on *nix
23:00:50 <Rugxulo> it's not hard to run CPUID, besides ... P4 had SSE2 long before AMD (which is in heavy decline thanks to Core2Duo improvements)
23:01:05 <ehird> Another classic troll technique... somebody makes a comment about the war and the troll tries to force the issue on the commentator.
23:01:06 <AnMaster> Deewiant, everything is supposed to work when installed to a prefix, possibly needing passing a rpath argument, but most often not
23:01:17 <pikhq> Rugxulo: Congrats at misunderstanding the entire point of that sentence.
23:01:19 <AnMaster> and if this is static binaries? wouldn't need it
23:01:50 <Deewiant> Rugxulo: I dislike fat binaries that cpuid-switch over 8 different optimization levels. :-P
23:01:59 <AnMaster> Deewiant, but ehird seems to refuse to see this. I have to declare him a lost cause sadly
23:02:01 <pikhq> Rugxulo: You don't have to run CPUID, you just build everything with SSE support.
23:02:07 <Rugxulo> as opposed to separate builds for every microarchitecture??
23:02:16 <AnMaster> pikhq, then 686 is not the baseline
23:02:32 <ehird> Deewiant: are you going to tell AnMaster to stop continuing his argument with me to you? I'm pretty sure he's not going to stop
23:02:49 <Deewiant> ehird: I'm pretty sure it doesn't matter.
23:02:49 <AnMaster> pikhq, of course you don't need to declare 686 the baseline
23:02:55 <AnMaster> but that was what ehird wanted iirc
23:03:33 <Rugxulo> <ehird> anyway i definitely want quake ii to run, which is a "yikes" case of a libc5, egcs-compiled 32-bit binary
23:03:37 <AnMaster> Deewiant, what doesn't matter? ehird being stupid about Go? If so agreed. It would be pointless to continue talking about it. *yawn*
23:03:47 <ehird> Rugxulo: what isn't the problem is easier to answer?
23:03:53 <ehird> Deewiant: i told you so
23:04:01 <Rugxulo> I mean, Quake II is open sourced now, right? just recompile it
23:04:13 <ehird> i only said quake ii to give an example of a pathological case that i want to work
23:04:41 <ehird> and AnMaster goes into "start agreeing with everyone who says anything that even remotely contradicts what I say" mode :-/
23:05:10 <Rugxulo> when was Quake 2 released, late 90s? (Quake 1 was 1996)
23:05:13 <AnMaster> Rugxulo, of course it won't work for all possible programs. In case you for some reason want to run old old binary code
23:05:20 <Rugxulo> so yeah, it would have to use ECGS since nothing else existed
23:05:38 <Rugxulo> I mean GCC 2.95 (which is what EGCS became) just barely came out in 1999
23:05:50 <AnMaster> Rugxulo, EGCS was based on gcc
23:06:05 <AnMaster> Rugxulo, so GCC would have existed too
23:06:13 <Rugxulo> GCC existed but wasn't acceptable
23:06:32 <AnMaster> Rugxulo, that's different. I agree yes. But that wasn't what you said to begin with
23:07:16 <Rugxulo> why do you think Quake 1 used such heavy FPU assembly? because GCC 2.7.2 couldn't optimize worth a damn for anything besides 386 or 486
23:07:37 <AnMaster> brb, I might lose connection, going to reset adsl modem (it is acting strangely)
23:07:59 <fizzie> GCC isn't the only compiler family in the world, though; I'm a bit surprised that id has used gcc there, in fact.
23:08:00 <Rugxulo> <AnMaster> ehird, better code optimisation base. a generic 686 target can't assume any sort of vector registers like MMX or SSE (like pikhq said)
23:08:02 <Deewiant> And also because it was a game that pushed the limits of the hardware... and they tend to need some assembly to run nicely.
23:08:20 <ehird> fizzie: i'm talking about the linux build
23:08:30 <Rugxulo> you can't assume anything with 686, not even FPU
23:08:37 <Rugxulo> unless you stick to Intel and AMD only
23:09:06 <ehird> "Unless you stick to everything"
23:09:08 <Deewiant> Which is a reasonable sticking-to, these days.
23:09:10 <ehird> everything - epsilon
23:09:11 <Rugxulo> fizzie, they used GCC in order to cross compile from Alphas (Quake)
23:09:26 <AnMaster> yay for ipv6 tunnel, not disconnecting that way
23:09:33 <Rugxulo> and they also wanted a compiler free to redistribute for modifying Quake, was going to use DJGPP but at the last minute wrote their own subset
23:10:13 <AnMaster> Rugxulo, wait, doesn't DJGPP use gcc or something iirc?
23:10:35 <AnMaster> so "was going to use DJGPP but at the last minute wrote their own subset"?
23:10:59 <Rugxulo> they compiled for DOS with DJGPP, which is what they distributed shareware/commercially
23:11:08 <Rugxulo> no, their own QCC, Quake C compiler
23:11:20 <AnMaster> Rugxulo, they wrote a whole C compiler?
23:11:30 <Rugxulo> not a real compiler, just a wimpy hack
23:11:48 <fizzie> http://www.delorie.com/djgpp/history.html mentions Quake; obviously they're proud of it.
23:11:50 <Rugxulo> I think they used a modified LCC in some later versions
23:11:52 <AnMaster> Rugxulo, and what did that compiler do?
23:13:25 <Rugxulo> they each shared a developer, I think
23:13:32 <fizzie> http://dir.filewatcher.com/d/FreeBSD/4.6-release/i386/qcc-1.01.tgz.109841.html -- "This is the last major component of the quake utilities to be released. To be honest, I have been a little reticent to release this because most of the actual qc code is basically rather embarassing crap. The time never became available to even give it a good top to bottom going over. I never spent any quality engineering time on my parts, American wrote a lot of qc code, and e
23:13:32 <fizzie> ven Romero has a bit of work in there. It is a mess. If you look through the code and occasionally think "This is stupid!", you are probably right..."
23:14:25 <fizzie> It sounds pretty horrible if you read the next couple of paragraphs too.
23:14:32 * Rugxulo recompiled Quake 1 like two days ago, works under DOSBox
23:15:59 <Rugxulo> I used GCC 2.95.3 (ahem, EGCS) and BinUtils 2.16.1, though
23:16:37 <Rugxulo> http://vogons.zetafleet.com/viewtopic.php?t=22910
23:16:44 <ais523> heh, reddit are arguing about whether Go or Algol 68 is better
23:17:13 -!- Sgeo_ has joined.
23:17:40 <ehird> http://leileilol.mancubus.net/crap/egake.png
23:17:50 <ais523> IMO, a non eso-language that allows spaces in identifiers, without needing to quote them, is a brilliant concept
23:18:12 <Rugxulo> ehird, he made more progress since that ;-)
23:19:27 -!- ais523 has quit (Remote closed the connection).
23:19:31 <ehird> http://icculus.org/~chunky/ut/aaut/
23:19:49 <AnMaster> <Rugxulo> I used GCC 2.95.3 (ahem, EGCS) and BinUtils 2.16.1, though <-- anything wrong with newer versions?
23:20:16 <Rugxulo> doubt it, but I just like 2.95.3 in some ways (faster compiles, good enough, etc.)
23:20:36 <AnMaster> Rugxulo, which is the newest one that would work?
23:20:48 * AnMaster has a hard time believing that 4.4 would work for example
23:20:53 <Rugxulo> I don't want to say it's my "pet", but I did cram DJGPP 2.03p2, BinUtils 2.16.1, GCC 2.95.3 onto one floppy (.7z compressed) with decoder
23:21:06 <Rugxulo> I didn't try anything newer, esp. since DOSBox is a glorified 486 DX2 anyways :-/
23:21:19 <Rugxulo> (assuming your host cpu is fast enough, e.g. 1 Ghz)
23:21:37 <AnMaster> Rugxulo, I assume 2 GHz or more these days
23:21:46 <AnMaster> Rugxulo, and what about dosemu?
23:21:55 <AnMaster> isn't it better than dosbox iirc?
23:22:03 <Rugxulo> DOSEMU is good, obviously faster, but I'm not on Linux now ;-)
23:22:38 <Rugxulo> DOSBox can run on PPC, even
23:22:41 <fizzie> Is it just me, or have the underlinings from Wikipedia's ALGOL 68 article turned into bold type? Even while the text is all "In the examples above you will observe underlined words"?
23:23:07 <AnMaster> Rugxulo, right. vm86 is kind of deprecated. I guess dosemu is the only user.
23:23:15 <Rugxulo> DOSBox comes with its own built-in DOS "OS" subset, DOSEMU needs something else (e.g. FreeDOS, MS-DOS, DR-DOS)
23:23:56 <AnMaster> Rugxulo, pretty sure that I got dosemu working under 64-bit?
23:23:56 <Rugxulo> actually, even without V86, under x86-64 they claim DOSEMU can emulate DJGPP apps "natively"
23:24:09 <Rugxulo> yes, it works, just the 16-bit stuff is fully emulated
23:24:11 <AnMaster> Available versions: 1.4.0 ~1.4.0.1 ~1.4.1_pre20091009 {X alsa debug gpm sndfile svga}
23:24:11 <ehird> no bolding here, even
23:25:11 <AnMaster> Rugxulo, then no issue I guess. If my cpu can emulate a N64 at decent speed (good gpu needed too) I fail to see how a old dos emulator could require more
23:25:26 <AnMaster> fizzie, direct link to it? I'm lazy
23:25:35 <Rugxulo> I dunno, I'm just saying, DOSBox ain't that fast
23:25:44 <Rugxulo> it's not multithreaded, for instance, and it's written in C++ (heh)
23:25:49 <ehird> dosbox is sloooooooow
23:25:57 -!- facsimile has quit ("quit").
23:25:59 <Rugxulo> N64 wasn't that fast either, actually
23:26:05 <Rugxulo> yes, faster than a 486, but not 10x or anything
23:26:09 <fizzie> AnMaster: http://en.wikipedia.org/wiki/ALGOL_68
23:26:12 <AnMaster> Rugxulo, dosemu on x86-64 was fast enough
23:26:35 <Rugxulo> yes, 32-bit is "native speed" they claim
23:26:45 <Rugxulo> it's 16-bit stuff that is slower than normal
23:26:53 <AnMaster> Rugxulo, I think I was running some olf freedos apps
23:27:18 <AnMaster> Rugxulo, and it was still faster than an original 486 I bet
23:27:36 <AnMaster> since it went past on screen too fast
23:27:38 <Rugxulo> I can't say without a benchmark to prove it
23:27:45 <AnMaster> (bad app, not adjusting for CPU speed)
23:27:48 <Rugxulo> but yeah, 486 is slow anyway you look at it ;-)
23:27:51 <AnMaster> Rugxulo, I don't have it installed any more
23:27:59 <Rugxulo> I know, I just assumed that much :-)
23:28:19 <Rugxulo> and DOSEMU does support some kind of "throttle" I think
23:28:28 <AnMaster> <fizzie> Is it just me, or have the underlinings from Wikipedia's ALGOL 68 article turned into bold type? Even while the text is all "In the examples above you will observe underlined words"? <-- not just you
23:28:49 <fizzie> Funny. Underlined is what was in the only ALGOL 68 book I've read.
23:29:21 -!- oerjan has quit ("leaving").
23:29:45 <ehird> It is totally unformatted for me.
23:29:58 <ehird> But editing it shows bolding.
23:30:03 <ehird> HOW QUEER THIS LIFE WE LEAD
23:30:04 <AnMaster> fizzie, well the page uses ''' ''' in it. so it would have to be bold
23:30:28 <ehird> it seems b inside pre is being ignored
23:30:31 <ehird> A vandal? Come on.
23:31:00 <fizzie> Bold is "right" in the sense that it's not about the exact typeface. It's just that the text refers to underlining in at least one place.
23:31:09 <AnMaster> fizzie, this one is underlined http://en.wikipedia.org/w/index.php?title=ALGOL_68&oldid=229234946
23:31:36 <ehird> |int| a real int = 3 ;
23:31:51 <ehird> |proc| sieve = (|list| l) |list|:
23:32:14 <AnMaster> fizzie, http://en.wikipedia.org/w/index.php?title=ALGOL_68&diff=251913502&oldid=250851666
23:33:59 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
23:41:21 <pikhq> DOSEMU works on most architectures -- it just emulates when it can't run code directly.
23:41:39 <Rugxulo> pikhq, you've actually used it elsewhere?
23:42:14 <pikhq> Rugxulo: No, because I don't have non-x86 systems.
23:42:24 <pikhq> I just know it has a full x86 emulator shoved in there.
23:42:39 <Rugxulo> I don't honestly know if it would work, I don't think it even works on NetBSD or FreeBSD anymore
23:42:46 <Rugxulo> but I haven't tried, so ...
23:42:58 <pikhq> ... I'm sure it at least *can* run on FreeBSD.
23:43:11 <pikhq> Though it may need to use the Linux emulation feature.
23:43:15 <Rugxulo> it must've used to (and I know NetBSD ran it at some point)
23:45:22 <Rugxulo> the "problem" with DOSEMU is that it's "multiverse" for some unknown reason
23:47:03 <ehird> because nobody wants to maintain it
23:47:05 -!- FireFly has quit ("Later").
23:48:07 <ehird> [[Dude, Go is the biggest piece of crap I've ever seen touted as a real programming language. They took D's syntax and stuck some concurrency bits from Erlang in it. Big deal. I bet the concurrency doesn't work right, because it never does in imperative languages.
23:48:07 <ehird> It's also not a low level language just because it runs fast; that whole idea is a C++ oriented lie. OCaML is as fast as they come; I guarantee it's faster in real life than this piece of crap, and it's GCed as well. And OCaML has REAL exception handling; far better than virtually any other language, other than Lisp.
23:48:07 <ehird> Someone should take Ken out back and shoot him in the back of the head for foisting that piece of crap on humanity. At least think about designing a language for longer than a few hours before showing it to people. The fact that it's mostly just some Yacc spooge ... jesus, what unutterable crap. Google + celebrity = fail.]]
23:48:09 <ehird> Gregor: expressing your opinion I see!
23:48:30 <ehird> incidentally, goyacc includes an example that's a full program written in yacc; a rarity nowadays
23:48:56 <ehird> "I've been developing my own programming language for 6 months, and Go's feature list is so short it makes me cry." ;; consider calling your language "D"
23:49:13 <AnMaster> <Rugxulo> the "problem" with DOSEMU is that it's "multiverse" for some unknown reason <-- multiverse what?
23:49:14 -!- BeholdMyGlory has quit (Remote closed the connection).
23:49:39 <Rugxulo> and it has a maintainer (AFAICT), but I guess it's not updated frequently enough??
23:49:40 <AnMaster> Rugxulo, in ubuntu? well who cares? you could get the source yourself?
23:50:01 <Rugxulo> and I don't even have Linux installs (just liveCDs and one USB) ;-)
23:51:02 <ehird> (Kragen Sitaker's response to that "so short it makes me cry" comment: [[You could have written this comment in 1975, replacing "Go" with "C", if the language you were working on was PL/1. Except that Reddit didn't exist yet.]])
23:51:27 <ehird> "why would I care?" — rich from AnMaster who often goes onto his personal preferences when talking
23:52:00 <AnMaster> Rugxulo, you seems to be lost in the age of dos to me
23:52:23 <AnMaster> Rugxulo, are you using it seriously or just for old nostalgia?
23:52:44 <Rugxulo> I just don't see the point of reinventing everything ten times over or discarding stuff that works
23:53:00 <Rugxulo> just for fun, I don't get paid for it or anything
23:53:08 <AnMaster> Rugxulo, I think you might have skipped some logical steps there
23:53:21 <AnMaster> if it is "for old games" or "for porting esolangs to it" or similar. Sure
23:54:16 <AnMaster> Rugxulo, to me DOS doesn't really work any more. sure when it was the best you had....
23:55:23 <Rugxulo> you also don't see the beauty in the simplicity of Befunge93
23:55:34 <Rugxulo> it doesn't mean 98 is bad, just 93 is still good for something
23:55:36 <AnMaster> Rugxulo, I see that it isn't TC.
23:56:29 <AnMaster> ulimited +x and +y added on 93 (and with 98-style wrapping to make that actually work) would be fine
23:56:44 <AnMaster> Rugxulo, and it is much more fun to write a 98 interpreter than a 93 interpreter
00:02:20 <Rugxulo> Zile vs. full Emacs, why bother with something less than the real thing? 'cause it's "good enough" for some cases
00:04:17 <Rugxulo> I also use an old 8086 grep ("xgrep") that's only 3k, not as good as GNU grep but gets the job done ;-)
00:04:18 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
00:04:39 -!- oklofok has joined.
00:07:52 <Rugxulo> (although ZILE comparison isn't fair, it's a lot harder to build than standard Emacs)
00:08:28 -!- oklokok has joined.
00:12:18 -!- oklofok has quit (Read error: 60 (Operation timed out)).
00:14:13 -!- Rugxulo has quit ("gxis revido").
00:16:21 <ehird> sweet, go was ported to bsd by an outsider
00:16:55 <ehird> 4990 lines of code changed
00:21:12 <ehird> http://golang.pastebin.com/d39006986
00:21:15 <ehird> the files changed/modified
00:21:38 <ehird> he had to do runtime, syscall stuff, os-specific files for the stdlib, and change some misc stuff
00:21:49 <ehird> anyway, if he did it in 4 days that's great
00:21:52 <ehird> means that porting should be easy
00:21:59 <ehird> well, os at least; who knows about arch/binary format
00:22:12 <ehird> (it's only freebsd/amd64 too, but eh)
00:27:28 -!- adam_d has quit (Read error: 60 (Operation timed out)).
00:49:07 <ehird> The Ruby code generates Python code, which generates Perl code, which generates Lua code, which generates OCaml code, which generates Haskell code, which generates C code, which generates Java code, which generates Brainfuck code, which generates Whitespace code, which generates Unlambda code, which generates the original Ruby code again.
00:49:15 -!- oklofok has joined.
00:52:14 <ehird> oklofok: The Ruby code generates Python code, which generates Perl code, which generates Lua code, which generates OCaml code, which generates Haskell code, which generates C code, which generates Java code, which generates Brainfuck code, which generates Whitespace code, which generates Unlambda code, which generates the original Ruby code again.
01:07:19 <ehird> http://www.reddit.com/r/programming/comments/a4j4a/whats_the_best_most_interesting_piece_of_code/c0ftftg
01:08:59 -!- oklokok has quit (No route to host).
01:35:02 -!- puzzlet has joined.
01:44:48 -!- immibis has joined.
01:45:25 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
02:19:21 -!- bsmntbombdood_ has quit (Read error: 113 (No route to host)).
02:22:02 -!- bsmntbombdood_ has joined.
02:27:26 <Warrigal> Hey ehird, are you around? I could use your expertise, perhaps.
02:28:08 <ehird> Are you ignoring me?
02:28:23 <ehird> ^echo You may be ignoring me, but yes.
02:28:23 <fungot> You may be ignoring me, but yes. You may be ignoring me, but yes.
02:29:00 <Warrigal> I am not ignoring you as of the moment.
02:30:01 <Warrigal> So, suppose I want to write a program that, at arbitrary times, stores data meant to persist indefinitely.
02:31:03 <Warrigal> What storage method should I use?
02:39:27 <ehird> Warrigal: Filesystem.
02:40:28 <Warrigal> Yay, you didn't say "database".
02:41:10 <ehird> Warrigal: New users' usernames, btw? Do you just mean a list of all usernames?
02:41:41 <Warrigal> Well, presumably, not just their usernames but stuff like password hashes and other stuff.
02:42:04 <ehird> Warrigal: Look at /etc/passwd and /etc/shadow (or is it /etc/shadw? I forget).
02:42:09 <ehird> Well, mostly just /etc/password.
02:42:13 <ehird> Just do something similar.
02:42:27 <ehird> If you have username/password/email and you know : is in none of them, just append
02:42:30 <ehird> username:hash:email
02:42:41 <ehird> BTW, make sure to do passwords with
02:42:46 <ehird> http://bcrypt.sourceforge.net/
02:43:01 <ehird> http://www.mindrot.org/projects/py-bcrypt/
02:43:03 <Warrigal> Is that better than whatever I happen to be thinking of at the moment?
02:43:05 <ehird> and store the salt, so that it's username:hash:salt:email
02:43:14 <ehird> It's very secure and easy to use.
02:44:15 <Warrigal> Why is this Blowfish stuff better than SHA-2?
02:44:36 <ehird> because it iterates and salts for you
02:44:49 <ehird> this is important shit, cryptography is really hard, and this way it does passwords very securely and simply for you
02:44:59 <pikhq> Blowfish comes courtesy of OpenBSD.
02:45:08 <pikhq> I think that should tell you all you need to know about it. :P
02:45:18 <ehird> No it doesn't, OpenBSD's password scheme based on Blowfish does though
02:45:23 <ehird> Blowfish comes courtesy of Schneier.
02:45:27 <pikhq> ehird: Oh, really?
02:45:35 <ehird> Which is even more of an endorsement.
02:47:20 <Warrigal> I do feel like something I create by my own understanding of password hashing would be more reliable than some thing a certain person points me to.
02:47:43 <pikhq> If you make your own, you *will* be insecure.
02:47:53 <pikhq> Cryptography is really fucking hard.
02:48:12 <Warrigal> Well, I'm not going to make my own hash function or anything.
02:48:17 <pikhq> Take a decade or two to learn it before just "creating your own".
02:48:48 <Warrigal> Creating cryptographic primitives = no. Combining them = maybe?
02:49:34 <pikhq> Combining them = foolish. Worst case scenario, you make the whole thing less secure. Best case scenario, you have accomplished nothing.
02:50:28 <Warrigal> I don't mean combining them into new cryptographic primitives.
02:50:41 <Warrigal> Unless password hashing code is a type of cryptographic primitive.
02:51:43 <pikhq> Password hashing is harder than you think.
02:51:48 <Warrigal> Here: "To set the password, receive the new password, generate a random number, store the random number, prepend the random number to the password, hash that, and store that. To check a password, prepend the random number to it, hash it, and see if it matches the stored hash."
02:52:21 <pikhq> That specific thing is called a "salted hash". And that is exactly what you should do.
02:54:14 * Warrigal ponders whether he's satisfied his urge to prove himself worthy.
02:55:38 <pikhq> Use a rather large salt, BTW -- each additional bit of salt makes the size of the hypothetical hashing dictionary double.
02:56:26 <Warrigal> I imagine 128 bits would be plenty, and 512 bits would also be plenty. And I like the number 512.
02:59:19 <Warrigal> This bcrypt thing looks like it is combining cryptographic primitives to make new cryptographic primitives. Blowfish is a block cipher, not a hash function.
03:00:09 <pikhq> And there's a well-known way of turning block ciphers into hash functions.
03:01:19 <Warrigal> I wonder why they don't just use a hash function directly.
03:04:08 <coppro> You can use the salt to encode some other data, and make hashes unique to each user
03:04:51 <ehird> py-bcrypt can generate the salt for you
03:04:58 <ehird> and the reason is for rainbow tables
03:05:24 <coppro> salts make rainbow tables nearly useless if used correctly
03:06:06 <ehird> just use py-bcrypts example
03:07:07 <ehird> Just do py-bcrypt. You fail at cryptography forever, like 99% of people.
03:07:09 <coppro> I mean, salts aren't fundamentally more secure than a long password
03:07:26 <coppro> just a lot easier to remember
03:07:32 <ehird> don't give him ideas
03:07:38 <ehird> fail at knowing what a hashed salt is
03:07:46 <ehird> the password hasher generates a random salt
03:07:51 <ehird> and cats it with the passwd
03:07:53 <ehird> and stores it separately
03:07:58 <ehird> it's not about what the user does
03:08:05 <Warrigal> Yer, salts are potentially fundamentally more secure.
03:08:12 <ehird> just use py-bcrypt, seriously
03:08:23 <coppro> In which case they get the salt too
03:08:41 <Warrigal> If a complex password is leaked, its complexity doesn't help. If a hash and a salt are leaked... well, it'll at least take a while for them to find the password.
03:09:11 <Warrigal> What, are you saying that given a hash and salt, it's trivial to find the password?
03:09:12 <coppro> in fact, easier with the salt
03:09:46 <Warrigal> If I have a hash and a salt, how does that help me to log in as you?
03:09:47 <coppro> I'm saying that given, say, a 64-bit password and a 64-bit salt, you have no more security than a 128-bit password
03:10:50 <coppro> either way, you're looking for a 128-bit set of data that produces a given value
03:11:25 <Warrigal> If a password is leaked, I'm looking for no data. If that hash and salt are leaked, I'm looking for 64 bits of data.
03:11:36 <coppro> why would the password be leaked?
03:11:43 <coppro> all sane systems store a hash of the password
03:11:57 <coppro> (note: there are plenty of insane ones out there)
03:12:16 <coppro> I'm saying that a hashed password and a hashed, salted password are equally effective fundamentally
03:12:25 <Warrigal> Oh, I think I'm failing to see that you're talking about a hash versus a salted hash, rather than a clear password versus a salted hash.
03:13:06 <coppro> now, when storing a large collection of data, salts do have the advantage that a given cleartext won't get the same ciphertext with different salts
03:13:18 <Warrigal> Effectively, a salt is an extension of the password that the server keeps track of and doesn't ask for.
03:13:50 <Warrigal> So it's a bit like a method of making a password easier to remember.
03:14:19 <coppro> and my "advantage" I just mentioned is really just a function of length again
03:15:48 <coppro> it's just so people get the security of having aldsj2ou43as;kdjAWE!(*IU%@K!J$%>!@<#M$LK@!(U#$ (@#OI!JUORJQ
03:15:57 <coppro> as a password, without needing to remember it
03:16:36 <Warrigal> Not *all* of the security of having that as a password.
03:17:05 <Warrigal> I mean, having a 0-bit password and making up for it by having a 128-bit hash would be absurd.
03:17:43 -!- ehird has quit.
03:18:03 <Warrigal> In order for that to be secure, logging in would have to be impossible.
03:18:06 -!- Rembane has quit (Read error: 60 (Operation timed out)).
03:18:20 -!- calamari has joined.
03:18:44 <coppro> also note that the argument about a salt being stored separately from the password for security holds no water; it's no more additionally secure than any other system where the components are held in different locations
03:19:06 <coppro> e.g. where a random string is XORed with the password pre-hashing
03:20:10 -!- Rembane has joined.
03:20:47 <Gregor> http://www.newegg.com/Product/Product.aspx?Item=N82E16819103681 <-- if I owned one of these, it would be a GRegor.
03:35:14 <Warrigal> Anyway, I guess that my chief subgoal in doing this project should be to do it badly.
03:35:35 <Warrigal> Using a salted-hash scheme I come up with myself is a perfect example of what I ought to do.
03:45:26 -!- Oranjer has joined.
03:49:28 <Warrigal> And Oranjer entered the channel of Esoteric, on the network of freenode; and he was enlightened.
03:49:58 <Oranjer> I had no access to anything anywhere
03:53:03 -!- calamari has quit ("Leaving").
03:54:50 <Oranjer> anything happening over here?
03:58:39 <Warrigal> We seem to be kind of talking about how to make a program.
03:58:46 <Warrigal> Specifically, one where people can log in.
04:02:42 <Warrigal> Well, ehird was advising me that it would be unwise to write my own salted hash scheme.
04:11:19 <Oranjer> anyway, for the record, I have been without access to a computer for the last two weeks
04:14:16 -!- Oranjer has quit ("Page closed").
04:21:36 -!- lifthrasiir has joined.
05:02:33 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
05:38:49 <coppro> hmm... does anyone know of any languages with syntax that allows a loop to have a condition checked in the middle of the loop with no typing repition?
05:39:32 <coppro> e.g. rather than getInput(); while(checkInput()) { useInput(); getInput(); } or while (true) { getInput(); if (!checkInput()) break; useInput(); }
05:39:58 <coppro> s/repition/repitition/
05:57:26 <immibis> your second example has no repetition of more than one character (except for "Input", "()", "; ")
05:57:43 <immibis> without any repetition it's hard to get a source file of more than 256 bytes :)
05:57:53 <immibis> except with unicode of course
05:58:16 <coppro> immibis: but then the loop reads wonky
05:58:23 <coppro> as the condition is not really a part of the loop
05:58:37 <coppro> I'd be looking for something like do { } while () { };
05:59:07 <immibis> do {getInput();} while(checkInput()) {useInput();}
05:59:07 <coppro> immibis: sure, but then it's clear you have part of the loop condition there
05:59:18 <immibis> but it's not clear where the loop actually is
05:59:32 <coppro> which is why I'm asking if people have syntaxes for that
05:59:42 <immibis> do {int a = 2; } while(1 != 2) {a ++;} <-- error: undefined variable a
06:00:18 <coppro> In a brackets-mandatory language like Perl, you could have while as a statement be syntactic sugar for if (!condition) break;
06:02:38 <pikhq> midWhile x y z = do x' <- x;if y then z x' >> midWhile x y z else return () -- There. I defined one for Haskell. Happy?
06:03:40 <coppro> also, what does the >> do?
06:04:51 <pikhq> proc do {statement1 case statement2} { uplevel 1 [list while 1 [list $statement1 \; if [list ! $case] break \; statement2 ]] } ;# There. I defined one for Tcl. Happy?
06:05:18 <pikhq> coppro: x >> y = x >>= \_ -> y
06:05:35 <coppro> pikhq: I have no clue what that means :/
06:05:58 <coppro> pikhq: is that just doing one thing after another?
06:06:15 <coppro> you could have said that
06:06:16 <pikhq> And throwing away the result of the first.
06:06:29 <pikhq> Also, that Tcl code is used as follows: do {getInput} {checkInput} {useInput}.
06:08:54 <immibis> what happens for: do {getInput} {<something that doesn't return a value>} {useInput}
06:09:17 <immibis> actually, i suppose there's no point considering it
06:09:25 <pikhq> immibis: Impossible in Tcl.
06:09:59 <pikhq> The closest you can get is returning the empty string.
06:27:12 <Sgeo_> Why am I still awake?
06:30:06 <immibis> because it's tuesday tomorrow?
06:47:21 <Sgeo_> Must... stop.. posting.. passwords.. publically
06:47:55 <coppro> immibis: it's Monday tomorrow!
06:48:13 <immibis> [19:29]===CTCP time reply “Mon Nov 16 01:29:45” from Sgeo_
06:48:31 <immibis> and here it's tuesday tomorrow
06:48:54 <coppro> in 12 minutes it will be Tuesday tomorrow!
06:48:59 * Sgeo_ loved the "SgeoPPW" password
06:49:04 <pikhq> 01:29:45? That's not late at all.
06:49:06 <Sgeo_> (btw, it's changed, so...)
06:49:18 <pikhq> (... says the guy who needs to be up by noon. :P)
06:50:31 <Sgeo_> I know what time it is
06:50:43 <immibis> plus double whatever the ping time is from my pc to yours, plus my reaction and typing time
07:12:00 -!- FireFly has joined.
07:20:55 -!- kar8nga has joined.
07:22:26 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)).
07:54:15 -!- FireFly has quit ("Later").
07:59:59 -!- clog has quit (ended).
07:58:21 -!- clog has joined.
07:58:21 -!- clog_ has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:02:09 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
08:17:50 -!- adam_d has joined.
09:07:05 -!- adam_d_ has joined.
09:10:54 -!- ais523 has joined.
09:14:03 -!- adam_d has quit (Read error: 60 (Operation timed out)).
09:23:05 -!- fax has joined.
09:30:09 -!- fax has changed nick to facsimile.
09:34:05 -!- GreaseMonkey has quit (Client Quit).
09:47:18 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
08:00:00 -!- clog has joined.
10:04:04 -!- clog has quit (Read error: 145 (Connection timed out)).
10:04:05 -!- clog_ has changed nick to clog.
10:04:09 -!- oerjan has joined.
10:16:16 -!- kar8nga has quit (Remote closed the connection).
10:23:42 -!- oerjan has quit ("leaving").
10:27:51 -!- Pthing has quit (Remote closed the connection).
10:54:04 -!- facsimile has quit ("quit").
11:30:56 -!- facsimile has joined.
11:35:12 -!- clog has joined.
11:35:12 -!- clog_ has joined.
11:44:47 -!- BeholdMyGlory has joined.
11:48:41 -!- kar8nga has joined.
11:49:47 -!- clog has quit (Read error: 110 (Connection timed out)).
11:49:47 -!- clog_ has changed nick to clog.
12:15:14 <AnMaster> I won't have time for the ick port for a few days
12:15:14 <ais523> I didn't know it could do that
12:16:12 <AnMaster> ais523, still maybe I should send a patch of what I got. Did you integrate that first patch already? Because I rearranged things a bit (to work better in some ways)
12:16:21 <AnMaster> and there is the autotools check
12:16:25 <ais523> I saved it, but haven't tried to integrate it
12:16:39 <AnMaster> hm should try to pick out the non-mac specific parts
12:16:45 <ais523> most likely, I'll look at your patches then try to create one myself that's properly integrated based on yours, and send it back to you for testing
12:17:04 <AnMaster> ais523, you can't really do that for the mac specific stuff though
12:17:20 <AnMaster> ais523, anyway this ICK_PATHSEP, where would it be defined?
12:17:34 <ais523> hmm... as long as there's an autoconf macro for that
12:17:36 <AnMaster> ais523, I have no clue how to add THAT to autotools
12:17:37 <ais523> if there isn't, I'll write one
12:17:41 <ais523> it should only be a line or so
12:18:24 <AnMaster> as far as I know that works. I probably missed something (what about 64-bit windows?)
12:18:50 <AnMaster> ais523, btw how do you update bconfig.in?
12:19:00 <AnMaster> I mean, autoreconf in the top dir doesn't
12:19:04 <ais523> AnMaster: look at buildaux/bconfig.ac
12:19:13 <ais523> oh, if you've done autoreconf in the top dir
12:19:15 <ais523> then make should update it
12:19:28 <AnMaster> ais523, no such file or directory
12:19:51 <ais523> umm, buildaux/buildconfig.ac
12:20:14 <ais523> in fact, you don't even need the autoreconf unless you're upgrading to a newer version of autoconf than the one that was used to generate configure
12:20:20 <AnMaster> ais523, I did autoreconf in top dir, and no it wasn't updated
12:20:38 <AnMaster> ais523, I had to do that, due to having a different autoconf and automake version
12:20:39 <ais523> AnMaster: autoreconf updates configure and Makefile.in, such that the makefile updates everything eles
12:20:51 <AnMaster> ais523, does that apply to out of tree builds too?
12:21:14 <ais523> out of tree builds will update the build system in-tree if it needs updating
12:21:48 <ais523> AnMaster: you need to run make
12:21:54 <ais523> and make updates the buildsystem
12:22:12 <ais523> and buildconfig should have updated accordingly
12:22:55 <AnMaster> ais523, further: bconfigh.in and bconfig.h doesn't match. As in bconfig.h contains lines that src/bconfigh.in doesn't
12:23:39 <ais523> hmm, I wonder if bconfigh.in is getting updated?
12:23:53 <AnMaster> ais523, in fact as far as I can tell my bconfig.h was based on configh.in and not bconfigh.in
12:24:17 <ais523> oh, I know what's caused that
12:24:21 <ais523> it's because you aren't cross-compiling
12:24:27 <ais523> so config.h and bconfig.h are the same
12:24:33 <ais523> so to avoid running configure twice, it just copies it across
12:24:42 <AnMaster> ais523, well yes of course. But I would need things to update when I do changes to things
12:25:01 <ais523> AnMaster: everything in buildconfig.ac should also be in configure.ac
12:25:15 <AnMaster> ais523, plus I doubt there is any modern compiler that can corss compile to classic mac os
12:25:28 <AnMaster> looking at apple headers it seems some versions of egcs could
12:25:33 <ais523> well, in that case you're native compiling on mac os
12:25:38 <ais523> and config.h and bconfig.h can be the same
12:25:59 <AnMaster> ais523, also some of those defines. I'm a bit unclear on how to test them:
12:26:10 -!- Asztal has joined.
12:26:22 <AnMaster> /* Define to 1 if you have the ANSI C header files. */
12:26:38 <AnMaster> I guess it has them, but what exactly does it test for
12:26:48 <AnMaster> surely it doesn't verify *every* header
12:26:56 <AnMaster> for strict conformance to ANSI C
12:27:27 <ais523> I think it runs a test program designed to break badly in non-ANSI
12:27:49 <AnMaster> ais523, depends on in which way it isn't ANSI. Missing some specific header but otherwise ANSI?
12:28:11 <AnMaster> /* Define to empty if `const' does not conform to ANSI C. */
12:28:43 <AnMaster> and finally (did I mention this already?):
12:28:48 <AnMaster> /* Define to `unsigned int' if <sys/types.h> does not define. */
12:29:01 <AnMaster> because I get size_t from stdlib.h and such
12:29:04 <ais523> it's looking for memchr in string.h, free in stdlib.h, and a sane islower
12:29:21 <ais523> AnMaster: ooh, that's an interesting comment
12:29:38 <ais523> I think probably leaving that as undef is correct, ignoring the details of the comment (the comments are automatically generated)
12:30:04 <AnMaster> ais523, well basically, stddef.h stdlib.h stdio.h and so all include some internal SizeTDef.h (I think that was the name in MPW) which defines it
12:30:20 <ais523> leave it as undef, then
12:30:22 <AnMaster> and I get compiler error if defining that in config.h
12:30:43 <AnMaster> ais523, apart from const there is also a similar one for volatile
12:30:58 <AnMaster> again I have no clue, but I simply guess that they work
12:31:03 <ais523> const and volatile should only be compiled to the null string if they're completely broken
12:31:14 <AnMaster> ais523, define completely broken
12:31:28 <AnMaster> ais523, also not null string, that wouldn't work
12:31:41 <AnMaster> what do you mean will null string
12:31:50 <ais523> "" is two double quotes
12:31:54 <ais523> just, as in #define volatile
12:32:11 <AnMaster> ais523, another thing was that I had to define YY_NO_UNISTD_H=1
12:32:23 <ais523> and completely broken means that volatile int x; int * volatile y = (int* 0); return !x && !y; causes the compiler to error out
12:32:39 <AnMaster> ais523, oh and the macro for isatty didn't work
12:32:48 <AnMaster> just before the function using it
12:33:05 <AnMaster> so I had to define a function for it
12:33:29 <AnMaster> ais523, which means fileno will get called. It seems macs *do* happen to have fileno
12:34:01 <ais523> we should have a test for fileno too in config.h, then
12:34:15 <AnMaster> ais523, I have no system to verify that on, it is lacking it
12:34:23 <AnMaster> ais523, oh on macs fileno() is a macro
12:34:55 <AnMaster> #define fileno(_f) ((_f)->fileno)
12:35:22 <AnMaster> ais523, unless you explicitly requests a thread safe version, in which case it is a function
12:35:43 <ais523> should still be checkable
12:36:28 <AnMaster> The function one is in some non-standard library btw. Not that configure runs on old macs
12:39:13 * AnMaster notes -s to apt-get doesn't work with "update"
12:40:28 <AnMaster> annoying thing about sheepshaver: it needs sysctl vm.mmap_min_addr=0
12:42:08 <ais523> I don't think autoconf even attempts to support Mac OS 9
12:42:29 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
12:42:46 <AnMaster> ais523, true. Still, the system headers even have #ifdefs to detect "Visual C++ for NT targeting Macintosh"
12:42:55 <AnMaster> that is, those included with MPW
12:43:16 <AnMaster> and egcs both running ported to an MPW tool and running on linux but cross compiling
12:44:25 <AnMaster> ais523, I need some help with makefile here. Generic question I hope:
12:44:42 <AnMaster> I need to set the file type of some files before compiling. Once done it doesn't need to be done again
12:45:02 <AnMaster> I have seen that used sometimes, but I have never used it
12:45:16 <ais523> AnMaster: timestamps are really difficult to get right
12:45:35 <ais523> are those files generated, or in the distribution?
12:45:37 <AnMaster> ais523, what about those h1-stamp or such sometimes seen in larger autotools projects?
12:45:54 <AnMaster> I can't compile them if they aren't set to be TEXT files
12:46:00 <AnMaster> well, for some of them at least
12:46:34 <ais523> hmm... is there any chance they might get set to non-TEXT by mistake?
12:46:36 <AnMaster> ais523, syslib.* need to be set to be TEXT and have LF line endings before I can even try to generate CR versions
12:47:01 <AnMaster> ais523, since this is stored in metadata it would be quite common yes
12:47:02 <ais523> AnMaster: syslib.* should be corrected to LF in the distro
12:47:13 <AnMaster> ais523, won't help. .3i means nothing to a mac
12:47:13 <ais523> rather than by the build process
12:47:22 <AnMaster> .i seems to happen to mean something it tries to convert
12:47:26 <ais523> AnMaster: no, I mean syslib.3i shouldn't have been distributed with CRLF endings
12:47:32 <ais523> .i means preprocessed C, normally
12:47:51 <AnMaster> ais523, mac os 9 at least is smart enough to try to add file types when getting files from outside sources
12:47:53 <ais523> why don't you just get the bit of code that runs tr to also set the metadata to TEXT first?
12:48:17 <ais523> that makes a lot more sense than trying to set it iff it's not already set
12:48:32 <ais523> especially if unsetting the filetype doesn't bump the last-modified timestamp
12:48:50 <ais523> you'd have to check every time anyway, so why not just set every time?
12:49:41 <AnMaster> ais523, how does the CRLF get there to begin with
12:49:51 <ais523> AnMaster: a mistake in the official tarball
12:49:55 <AnMaster> I mean, it is really hard to manage to get CRLF with most *nix editors
12:51:56 <ais523> AnMaster: I was probably editing them when testing on DOS
12:52:02 <ais523> either that, or they've been that way forever and nobody noticed
12:53:21 * AnMaster wonders if there is any rule in MPW make for "the first source file of the explicit rule"
12:53:29 <AnMaster> I can't do implicit here anyway
12:53:42 <AnMaster> it is limited to simple suffixes, and they all have different
12:53:52 <AnMaster> and it needs to begin with a dot
12:54:00 <AnMaster> get an error about that otherwise
12:54:00 * ais523 dos2unix $(file $(pcregrep -rl "\r" .) | grep text | cut -d: -f1)
12:54:11 <ais523> and incidentally wonders how hard that would have been to do without a CLI
12:55:03 <AnMaster> ais523, it is odd that Translate complained with filename of file when I did: Translate ... < foo > bar
12:55:09 <AnMaster> it told me foo wasn't a text file
12:55:19 <AnMaster> it makes me wonder what sort of mess the MPW shell is capable of
12:55:46 <ais523> whoops, that accidentally converted inside the repo too
12:58:27 <AnMaster> ais523, btw does darcs really not version empty dirs?
12:58:40 <AnMaster> because my make system is not yet capable of creating those itself
12:59:47 <ais523> I'm not sure if it versions empty dirs
12:59:50 <ais523> it's easy enough to check, though
13:00:19 <ais523> it versions empty dirs just fine
13:00:28 <AnMaster> ais523, and there is still that about ick_numerals in both cesspool and numerals.... Hm Or aren't both supposed to be linked into libick?
13:01:15 <ais523> AnMaster: it isn't defined in both
13:01:18 <ais523> it's just defined in numerals
13:01:23 <ais523> but numerals is #included into cesspool
13:01:37 <ais523> clearly you're compiling and linking numerals, and shouldn't
13:02:34 <AnMaster> I'm just checking makefile.am atm
13:02:36 <ais523> the makefile links both cesspool and numerals
13:02:49 <AnMaster> ais523, yes I based it on Makefile.am
13:03:04 <ais523> yes, that's an error in Makefile.am
13:03:31 <AnMaster> ais523, the list of warnings at the end of http://sprunge.us/SCcB might be interesting (from most recent full build, I prefer incremental, because that way the damn emulator doesn't crash, I have to do full builds on a real mac)
13:04:00 <AnMaster> I'm a bit surprised libyuk compiles
13:04:32 <ais523> nothing wrong with those warnings right at the bottom, that while loop really does have no body
13:04:41 <AnMaster> ais523, and those a bit above?
13:04:47 <AnMaster> since I built those separately
13:05:32 <ais523> not an issue, it's complaining that there isn't a return statement at the end of the function, but that point in the code's unreachable
13:06:34 <AnMaster> ais523, I'm wondering why coopt stuff is even compiled at all, what with mac not supporting that
13:06:59 <ais523> it can't run the final pass at the end
13:07:03 <ais523> but it can still instrument the code for it
13:07:10 <ais523> obviously, you wouldn't /want/ to if the instrumentation can't do anything
13:12:25 <AnMaster> hm there is even a MakeDepend thingy, Needs to be updated manually it seems
13:14:48 <ais523> heh, I was reading http://www.annexia.org/_file/jonesforth.s.txt
13:15:07 <ais523> and noticed the "Secondly make sure TABS are set to 8 characters"
13:15:26 <ais523> ofc, they are in Firefox by default
13:15:31 <AnMaster> ais523, please see clogs logs when ehird responds to your opions on tab
13:15:39 <ais523> ooh, that could be fun
13:17:21 <ais523> ehird (bouncing a conversation through the logs): oil.y is a whole program written in yacc
13:21:43 <AnMaster> nice this thing uses a timestamp file for building folder structure
13:21:56 <AnMaster> well, if it was good enough for one of the examples included with MPW..
13:26:09 * ais523 vaguely wonders what'll happen if Plan 9 is ported to more than 9 architectures
13:30:47 <ais523> hmm... ehird's strawmanning quite a bit in that log
13:30:55 <ais523> probably because I wasn't there to explain what I actually meant, I don't think it was deliberate
13:31:11 <AnMaster> ais523, you did manage a circular argument however.
13:31:33 <AnMaster> I have to agree with ehird's opinion here really
13:31:34 <ais523> my argument was tab = 8 for historical reasons and because everything does that
13:31:39 <ais523> therefore, they're too wide to be used for indentation
13:31:44 <ais523> I don't think I argued that in the other direction
13:31:48 <AnMaster> ais523, everything doesn't. There was plenty of examples against it
13:32:00 <AnMaster> ais523, and you said that tabs being 4 was a pythonism
13:32:17 <oklofok> ais523: but you haven't provided any arguments for why it shouldn't be changed, except that you needed 8-sized tabs at work
13:32:45 <ais523> oklofok: because changing when nobody else has just makes you look silly
13:32:52 <oklofok> unless you seriously think tables are useful
13:32:57 <ais523> quite a lot of people have changed now, and they still all look silly
13:33:32 <oklofok> what do you mean look silly?
13:33:32 <ais523> also, the thing about my data being 6 or 7 chars so I picked tab = 8 is wrong
13:33:40 <ais523> I realised that that wouldn't work as it wouldn't give enough horizontal spacing
13:33:53 <ais523> so I put three spaces before the output so as to push the ends of the data field past the next tabstop
13:33:56 <ais523> and give me a bit more spacing
13:34:39 <oklofok> well whatever, it's clear you could've used a program for it
13:34:52 <AnMaster> oklofok, yes unix even has one
13:35:06 <oklofok> AnMaster: highly surprising :P
13:36:44 <ais523> this was output from a Perl script I had about an hour to write
13:37:28 <ais523> in fact, it was what I wrote to replace the elisp CGI script that not only needed manual intervention, but had no reason to a) be a CGI script, or b) be written in elisp
13:39:33 <ais523> ehird: I failed to port CLC-INTERCAL even to DJGPP, porting it to Mac is therefore likely to be even harder
13:40:58 <ais523> AnMaster: I don't like indent=4 tab=9
13:41:05 <ais523> I prefer indent=2 tab=8
13:41:08 <ais523> to save horizontal space
13:41:19 <ais523> indent=4 tab=8 is what ick uses, though
13:41:29 <AnMaster> ais523, uncommon.c uses indent=2
13:41:29 <ais523> at least, for generated code
13:41:36 <ais523> AnMaster: that's because I wrote it
13:41:48 <ais523> in fact, you can see which bits of code I've edited
13:41:49 <AnMaster> ais523, you said the thing about generated code after (at least on this side)
13:41:54 -!- FireFly has joined.
13:41:55 <ais523> by looking where the indent is 2 and where the indent is 4
13:42:20 <ais523> btw, normally I don't approve of mixing indentation styles within a project, but ick was doing it anyway and it's nice to let it be different from everything else like that
13:42:24 <AnMaster> ais523, what if you edited just a few lines in a long function? did you change indention for those lines or the whole function or the whole file?
13:42:26 <ais523> it's not like it makes it particularly harder to read
13:42:29 <ais523> AnMaster: for the block
13:42:40 <AnMaster> ais523, err as in inside { } for if?
13:42:50 <ais523> you can put an indent-2 block inside an indent-4 function just fine
13:42:52 <AnMaster> ais523, one style per file at least
13:42:57 <ais523> note that I don't advocate this as good practice at all
13:43:01 <ais523> I advocate it as icky practice
13:43:14 <ais523> and it's not something I'd do on any other project, unless it was similarly insane
13:44:13 <ais523> (and in reference to the log: the DNA Maze indentation was, as you say, selected to annoy fans of all indentation styles equally)
13:44:41 <ais523> Gregor: is HackEgo's qdb online anywhere/
13:45:30 <ais523> AnMaster: the reason for checking for any / in argv[0] is that if it doesn't have one, most systems would look for it in PATH, and if it does have one, it must be the true absolute or relative path
13:47:55 <AnMaster> history mentions BSD4.3, not in POSIX
13:50:24 <ais523> wow, I need to logread more often
13:51:40 <ais523> also, 323-bit processors are a great idea
13:51:47 <ais523> is 2^323-1 a Mersenne prime?
13:53:00 <ais523> AnMaster: because I vaguely want someone to make a processor which uses one's complement and for which the number of possible values in an int (i.e. UINT_MAX+1) is a prime number
13:53:22 <ais523> also, where -0 is the normal zero, and +0 is a trap representation
13:54:17 <ais523> anyway, going off to do some teaching, I'll be back in about 3 hours
13:55:06 <AnMaster> ais523, do you do something strange with stdout in ick? I need to do printf debugging
13:55:21 <fizzie> ais523: I think http://codu.org/projects/hackbot/fshg/index.cgi/raw-file/tip/quotes/quote.db is online in the sense that it's current, but it's a binary sqlite3 file, so that's maybe not convenient always.
13:55:35 <HackEgo> bin \ help.txt \ huh \ karma \ paste \ quotes \ share \ tmpdir.15984
13:56:01 <HackEgo> total 16 \ -rw-r--r-- 1 5000 0 13312 Nov 16 13:56 quote.db \ -rw-r--r-- 1 5000 0 0 Nov 16 13:56 quotes.db
13:56:13 <fizzie> quote.db; I'm not sure what the empty quotes.db is.
13:56:35 <AnMaster> `run sqlite3 quotes/quote.db VACUUM
13:56:50 <HackEgo> sqlite3 is /usr/bin/sqlite3
13:57:31 <fizzie> Maybe he does some auto-vacuuming there.
13:57:42 <fizzie> Manually vacuuming the file I downloaded didn't change the size at all, at least.
14:03:27 <AnMaster> by the way it seems MPW tries to auto detect indention. In uncommon.c it gave me tab and idention width of 2
14:03:37 <AnMaster> but in a file with depth 4 it used that
14:09:16 -!- clog has joined.
14:09:16 -!- clog_ has joined.
14:14:10 <AnMaster> ais523, well, my version now looks for when guessdir in uncommon.c is correct. Anyway the check for nix was wrong
14:14:18 <AnMaster> it always checked on an ending null byte
14:14:44 <AnMaster> (actually it didn't check, it just overwrote that null byte
14:15:01 <AnMaster> } else if (buf2[i] != ICK_PATHSEP) {
14:15:14 <AnMaster> (because I'm not sure that always will be \0)
14:15:58 <AnMaster> still the code working on argv seems broken to me
14:16:06 -!- augur has quit (Read error: 54 (Connection reset by peer)).
14:22:33 -!- clog has quit (Read error: 110 (Connection timed out)).
14:22:33 -!- clog_ has changed nick to clog.
14:43:17 <AnMaster> ais523, I'm taking the freedom of adding a new env variable like CC for use on mac
14:43:25 <AnMaster> and that would be something like LD
15:00:36 -!- MigoMipo has joined.
15:04:39 <AnMaster> ais523, btw clock_gettime() is in libc.so on freebsd iirc
15:04:51 <AnMaster> so that seems like a bug in your perpet.c
15:05:15 <AnMaster> #ifdef HAVE_CLOCK_GETTIME /* implies -lrt is available */
15:05:15 <AnMaster> sourcefile, yukdebug||yukprofile?" -lyuk -lrt ":" ",
15:05:15 <AnMaster> sourcefile, yukdebug||yukprofile?" -lyuk ":" ",
15:11:58 <AnMaster> ais523, I get build errors for sort.i
15:13:32 <AnMaster> ais523, see http://sprunge.us/XCQY (note: probably CR line endings)
15:14:54 <AnMaster> ais523, oh and the source differs slightly
15:16:53 <AnMaster> ais523, here is the diff http://sprunge.us/QHgb?diff
15:18:27 <AnMaster> oh it seems -c affects what is generated
15:18:41 <AnMaster> well the difference is just in comments when both use -c
15:18:58 <AnMaster> (I mean, top and bottom comments)
15:19:19 <AnMaster> ais523, so either I hit a compiler bug[1] or I hit a compiler bug[2]
15:40:09 -!- coppro has quit ("I am leaving. You are about to explode.").
16:24:18 -!- puzzlet has quit (Remote closed the connection).
16:24:30 -!- puzzlet has joined.
16:44:30 -!- augur has joined.
16:48:27 -!- oerjan has joined.
16:50:10 <oerjan> i was just checking if you were idle
16:51:04 <oerjan> also, see: alcohol is good for you! ;D
16:52:47 -!- Slereah has joined.
16:56:45 -!- kar8nga has quit (Read error: 104 (Connection reset by peer)).
17:01:01 -!- FireFly has quit ("Later").
17:07:19 <AnMaster> <AnMaster> ais523, see http://sprunge.us/XCQY (note: probably CR line endings)
17:07:22 <AnMaster> <AnMaster> ais523, here is the diff http://sprunge.us/QHgb?diff
17:07:38 <AnMaster> and that diff turned out to be -c vs. not -c
17:07:51 <AnMaster> so there is no actual difference and it doesn't work either way
17:08:30 <ais523> AnMaster: as for your question about stdout, weird stuff happens to at least one of the stdio streams, but stderr should be fine to use
17:09:57 <ais523> also, that "constant initialiser expected" error looks wrong
17:10:00 <ais523> as in, the code looks right
17:10:09 <ais523> in standard C, there's no reason why you can't initialise a variable to an expression
17:10:56 <ais523> although I suppose we can work around that to help out broken compilers
17:11:05 <ais523> (or just not use the -a option when compiling)
17:11:33 <ais523> why is the JIC stuff being linked in then?
17:11:43 <AnMaster> ais523, same happens on *nix though
17:11:54 <AnMaster> maybe due to being based on 0.29 not current darcs?
17:12:10 <ais523> no, that wouldn't do it
17:12:19 <ais523> there must be some statement in a program that causes JIC mode to be turned on
17:12:27 <ais523> but I'm not sure which it is offhand
17:13:20 <AnMaster> ais523, I am able to get gcc to spit warnings about not being computable at load time. Possibly related?
17:13:22 <AnMaster> sort.c:666: warning: initializer element is not computable at load time
17:13:22 <AnMaster> sort.c:666: warning: initializer element is not computable at load time
17:13:22 <AnMaster> sort.c:1419: warning: initializer element is not computable at load time
17:13:42 <AnMaster> ais523, needs -ansi -pedantic though
17:13:57 <ais523> and even then, it's not a standard violation
17:14:06 <AnMaster> ais523, I noticed MrC sometimes got errors a few lines off
17:14:10 <ais523> because -pedantic says "ISO C89 forbids" for those
17:14:19 <AnMaster> happened on yacc/lex code at least
17:14:58 <AnMaster> ais523, I'm also able to get icc to output warnings about something similar
17:15:06 <AnMaster> sort.c(451): warning #589: transfer of control bypasses initialization of:
17:15:06 <AnMaster> variable "icd" (declared at line 665)
17:15:06 <AnMaster> variable "icd" (declared at line 1418)
17:15:06 <AnMaster> variable "icd" (declared at line 1434)
17:15:07 <ais523> oh, I see what's happening
17:15:19 <ais523> it prints rudimentary jic info for anything
17:15:30 <ais523> but the more jic-requiring features are used, the more info it adds
17:15:56 <ais523> just-in-case compilation
17:16:09 <ais523> where it compiles syntax errors into table lookups just in case the statement is redefined later
17:18:35 <AnMaster> ais523, interesting. One of apple's debuggers refuses to run if a valid printer isn't selected in the printer chooser thing
17:20:02 <AnMaster> anyway now the emulator crashed again sig
17:21:59 <AnMaster> ais523, anyway, so that jic stuff. how to work around it (or whatever)
17:22:18 <ais523> presumably, put placeholders into the array then copy the actual values over them
17:22:53 <ais523> would be kind-of annoying to write, though
17:23:02 <AnMaster> ais523, I'm not sure I actually understand what is going on in there. As in: what the heck it is complaining about
17:23:23 <ais523> AnMaster: it's complaining about initialising a struct element to a value that isn't a constant
17:23:35 <ais523> which is illegal for a static variable, but fine for an auto one
17:24:40 <oerjan> "Compile-time initialization can only be done using constant expressions; run-time initialization can be done using any expression at all. The Old C restriction, that only simple variables (not arrays, structures or unions) could be initialized at run time, has been lifted."
17:24:56 <oerjan> in other words, once it was illegal...
17:25:40 <oerjan> if that is relevant to your problem
17:25:46 <ais523> ah, that explains a lot
17:25:55 <ais523> it must be quite a bit before C89, I imagine
17:25:55 <oerjan> (http://publications.gbdirect.co.uk/c_book/chapter6/initialization.html)
17:26:02 <ais523> but that's no reason not to support it too
17:27:51 <AnMaster> ais523, so that one applies to MrC it seems
17:27:58 <AnMaster> unless there is some semi hidden option for it
17:30:08 <AnMaster> okay saying -ansi on made it repot lots more errors... Like that the , operator is not allowed in constant expressions. I think it got seriously confused there
17:30:26 <oerjan> btw that book is also old, it's labeled as "only historic interest"
17:32:25 <oerjan> "If you find the material useful and happen to encounter one of the authors, it is unlikely that they will refuse offers to buy them a drink. You may therefore like to consider this material .drinkware.. (Offer void where prohibited by law, in which case fawning and flattery may be substituted.)" :D
17:39:43 -!- augur has quit ("Leaving...").
17:42:49 <facsimile> http://en.wikipedia.org/wiki/List_of_deleted_pages
17:43:55 <oerjan> facsimile: well naturally that wouldn't be in the main namespace if it existed
17:45:40 <AnMaster> ais523, codewarrior's compiler complained just as loudly about that btw
17:46:23 <AnMaster> (that's "the other mac compiler" basically)
17:47:20 <oerjan> facsimile: you are also failing at a meta-joke, because it hasn't even been deleted ;D
17:47:37 <facsimile> http://en.wikipedia.org/wiki/Humph
17:48:48 <ais523> the list does exist, it's at http://en.wikipedia.org/wiki/Special:Search?go=Go&search=Special:Undelete
17:48:51 <ais523> but it's only viewable to admins
17:48:54 <ais523> and too long to really be useful
17:49:59 <oerjan> ais523: um, there is also http://en.wikipedia.org/w/index.php?title=Special%3ALog&type=delete&user=&page=&year=&month=-1&tagfilter=
17:50:12 <AnMaster> ais523, codewarrior also dislikes some newlines in strings
17:50:33 <ais523> oerjan: that's a list of deletions, not a list of deleted apges
17:50:48 <AnMaster> {32,0,0,{0,0},(ick_lose(IE000, ick_lineno, "PLEASE NOTE END OF CODE FOR .2 = #1\n\
17:50:54 <AnMaster> well it complains about the line
17:50:57 <oerjan> oh well, nearly the same thing ;)
17:51:22 <ais523> AnMaster: backslash-newline should be deleted by the preprocessor before the compiler even sees the code
17:51:31 <ais523> if it isn't, at this rate we're going to need a custom preprocessor
17:51:41 <AnMaster> ais523, yeah so I guess it is the same thing as not constant
17:51:52 <AnMaster> it just said "illegal constant initialiser"
17:51:59 <AnMaster> and pointed to the line with ick_lose
17:52:18 <ais523> oi autoconf, you're supposed to sort all this stuff out by magic!
17:52:55 <ais523> no, I was making a general statement
17:53:03 <ais523> I don't believe it's ever claimed to be able to magically fix generated code
17:53:12 <AnMaster> ais523, anyway why is there such a strange newline in that?
17:53:14 <ais523> I wonder if it would reject stock Mac cpp as broken?
17:53:24 <ais523> AnMaster: because there was a newline in the original source
17:53:36 <ais523> and you have to print a syntax error verbatim if it would run
17:53:39 <AnMaster> ais523, ok. Anyway it doesn't seem to be preprocessor related
17:53:48 <AnMaster> making it on one line still gives the error
17:53:56 <ais523> err, how did you change that to one line?
17:53:58 <AnMaster> just now it points to the right place of the line,
17:54:07 <ais523> it should be "\tPLEASE NOTE END OF CODE FOR .2 + #1\n" on one line
17:54:09 <AnMaster> ais523, backspace to remove the embedded newline
17:54:14 <ais523> well, with a literal tab rather than \t
17:54:29 <AnMaster> ais523, then saved the .c I just edited
17:54:33 <ais523> AnMaster: backslash-newline is equivalent to the null string
17:54:38 <ais523> did you remove the final backslash?
17:55:00 <AnMaster> ais523, well yes. the issue again is the same as with the not constant initialiser above
17:55:08 <AnMaster> just different exact circumstances
17:55:18 <AnMaster> see the ick_lose call embedded there
17:55:28 <AnMaster> removing the call fixes it for that one
17:55:51 <ais523> I see, the issue isn't the backslash-newline, it's the function call in an initialiser
17:56:17 <AnMaster> ais523, just codewarrior sucks at telling you where exactly the error happened. in that it is worse than gcc even
17:56:39 <AnMaster> while MPW is rather good at it (just getting the line number wrong a bit sometimes)
17:57:23 <AnMaster> ais523, btw why does yuk require that it is run directly from ick?
17:57:37 <AnMaster> otherwise I think it could in theory
17:57:39 <ais523> AnMaster: copyright reasons
17:57:51 <ais523> you can't go around linking GPL code with non-GPL code and leaving it lying around on someone else's hard disk
17:58:10 <AnMaster> ais523, so you overwrite the file with zeros once the debugging is done? ;P
17:58:52 <ais523> do you overwrite your browser cache with zeros as soon as you stop looking at the page?
17:58:57 <AnMaster> ais523, remember also that there are some filesystems that don't overwrite data ever, rather they try to keep the history
17:58:59 <ais523> I think there's probably some sort of fair use argument involved
17:59:04 <AnMaster> and you can go back to any instant
17:59:22 <AnMaster> (until you reach the end of the circular buffer that the whole fs is basically)
17:59:37 <AnMaster> (in which case iirc you have to decide what to keep)
18:03:02 -!- kar8nga has joined.
18:53:21 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
18:55:53 -!- MigoMipo has joined.
19:25:59 <ais523> AnMaster: how do you send SIGINT to an MPW application?
19:26:02 <ais523> if it's possible at all?
19:28:01 <AnMaster> ais523, and I got some stuff to build as SIOW
19:28:05 <ais523> oh, I was reading through the docs
19:28:16 <AnMaster> ais523, what docs. I need docs
19:28:23 <ais523> AnMaster: the C-INTERCAL docs
19:28:37 <ais523> and I noticed they talked about C-c (UNIX/Linux) and C-BREAK (Windows/DOS)
19:28:45 <ais523> and was wondering what the Mac equivalent was
19:28:57 <AnMaster> ais523, well I doubt that is possible at all on classic mac
19:29:33 <ais523> for OS X, it would be control-C (not command-C), right?
19:29:52 <AnMaster> and on os x you wouldn't need MPW
19:30:02 <ais523> it was a mildly unrelated question
19:33:03 <AnMaster> ais523, atm this diff "works for me" in uncommon.c http://sprunge.us/YSeQ Until you have a patch for proper doing this in config.h that is what I use
19:33:19 <AnMaster> also that only fixes the case of guessdir being correct
19:34:02 <AnMaster> ais523, I suggest you read the changes in it however.
19:34:14 <AnMaster> anyway my perpet.c changes I guess I need to pastebin
19:35:04 <AnMaster> ais523, which is currently this: http://sprunge.us/WGSL
19:35:39 <AnMaster> (I'm not sure getenv even has a sensible meaning in MPW...
19:35:55 <AnMaster> (probably it gets vars set in the mpw shell or such)
19:36:45 <AnMaster> oh and I should merge the SIOW stuff into that
19:37:47 <AnMaster> ais523, other downside with tabs btw: when diff adds the +/- in front they look wrong if used for alignment like you did in some cases
19:38:01 <AnMaster> (still works for indention levels, just not for adjustment)
19:38:24 <ais523> diff has an option to add tabs always after + / - for that reason, although I don't use it
19:38:40 <AnMaster> ais523, that seems it would break patch?
19:38:52 <ais523> I'm not sure, patch can be weirdly tolerant
19:38:55 <ais523> but probably just for human reading
19:39:01 <ais523> diff isn't always used with patch
19:41:40 <AnMaster> ais523, anyway, any comments on the changes in those files?
19:41:52 <ais523> not yet, I haven't read them thoroughly
19:42:04 <AnMaster> the build system is still somewhat insane, no clean target. and I use ::src: as ICKINCLUDEDIR atm
19:42:16 <ais523> really, the find_and_fopen stuff needs a rewrite
19:48:39 -!- ehird has joined.
20:20:03 <ehird> "Thank you for signing up to give us early feedback on Google Wave. We're happy to give you access to Google Wave and are enlisting your help to improve the product."
20:20:06 <ehird> one issue; i already have it
20:32:56 <AnMaster> I assume it is still in beta. but what is it
20:32:59 <ehird> Your eyes are not deceiving you?
20:33:08 <ehird> And just google for it, I can't be arsed to explain.
20:33:13 <ehird> Not that any of the explanations are any good.
20:38:09 <AnMaster> http://wave.google.com/help/wave/images/meeting_notes.jpg <-- haha, how macabre if you read the list at the end
20:39:20 <AnMaster> ehird, the stuff above is quite nasty too
20:39:35 <AnMaster> (conidering jimmy might be the source of that smell at the end!)
20:41:12 <ais523> wow, proggit is intermittently erroring
20:41:42 <ais523> "An error occurred while processing your request. Reference #97.a6a99d50.1258404091.0"
20:42:06 <ais523> (that was retyped, because I left my mouse at home, and while mice are bad for some things they're excellent for web browsing, including copying info out of a web browser
20:42:55 <ehird> pointing that out can only be leading to a troll
20:42:59 <ehird> ('python code is unstable, hurr')
20:43:08 <ais523> meh, you can write unstable code in any language
20:43:15 <ais523> except Subtle Cough, which isn't powerful enough
20:43:20 <ais523> and possibly a few of the other esolangs
20:43:35 <AnMaster> ehird, hey read the comments ais made on your reply to his tab rant!
20:43:49 <AnMaster> you could have a real nice flamewar right now
20:43:52 <ehird> AnMaster: but I'm not angry right now and i do not want to be angry
20:44:17 <AnMaster> ehird there is no action when you do it when the other person left
20:44:20 <ehird> oh, I'm reading it anyway
20:44:26 <ais523> it's not the sort of argument that can easily be had by bouncing comments off logs
20:44:35 <ais523> especially as both people end up taking each other out of context because logs do that
20:44:40 <ehird> but I won't bother replying to any arguments ais523 makes when i say my responses, unless the ones I logread are logical
20:44:47 <ehird> which, based on strong historical precedence, they won't be
20:44:48 <AnMaster> ehird, "haskell sucks and go's installer sucks and you are young and stupid" <-- angry now?
20:44:56 <ehird> AnMaster: not yet!
20:46:32 <facsimile> Haskell does not suck. It is 'The perfect advanced programming language for the productive factorial developer'
20:46:46 <AnMaster> that was a star wars reference, not a hulk one.
20:46:46 <ais523> AnMaster: a reference you probably don't get
20:46:47 <ehird> with every down arrow i press on this log, I dread more and more I will hit idiocy
20:46:50 <ais523> but it's what angry people don't
20:47:05 <ais523> ehird: some of it's idiotic, some is simple corrections, some of it may even be reasonable
20:47:21 <ehird> I agree with the first part at least, preëmptively.
20:47:28 <AnMaster> <facsimile> Haskell does not suck. It is 'The perfect advanced programming language for the productive factorial developer' <-- I was joking...
20:47:56 <ehird> 04:54:00 * ais523 dos2unix $(file $(pcregrep -rl "\r" .) | grep text | cut -d: -f1)
20:47:56 <ehird> 04:54:11 <ais523> and incidentally wonders how hard that would have been to do without a CLI
20:47:56 <ehird> 04:55:46 <ais523> whoops, that accidentally converted inside the repo too
20:47:57 <ehird> just drag the repo dir to the Shoot Self in Foot application
20:48:16 <ais523> ehird: luckily darcs stores the patch infos as binaries
20:48:25 <ais523> and can reconstruct the entire repo from them in about a minute
20:48:37 <ais523> besides, I still had the list of files in scrollback, I could just have reversed the change directly
20:48:37 <ehird> 05:26:09 * ais523 vaguely wonders what'll happen if Plan 9 is ported to more than 9 architectures
20:48:37 <ehird> they use alphabetical chars already
20:48:41 <ehird> though they only have 0-8
20:48:56 <ais523> AnMaster: the first one ehird quoted directly above
20:49:09 <ais523> the one to convert CRLF to LF recursively in a directory, while avoiding binary files
20:49:29 <ais523> come to think of it, I should probably have checked whether "text" was in the filename or not, but I'd already looked at the file list to change and that wasn't a problem
20:49:32 <AnMaster> ehird, what if it had been ported to more than the size of the alphabet plus 10?
20:49:42 <ais523> kind-of weird I didn't notice the files in the repo when I reviewed the list...
20:49:45 <ehird> AnMaster: 36 architectures? go onto capitals
20:49:53 <ehird> after 62 architectures, congratulate yourself and retire
20:50:46 <ehird> Now if you want to reply do it slowly and completely because I'm not interested in a flamewar.
20:50:46 <ehird> 05:31:34 <ais523> my argument was tab = 8 for historical reasons and because everything does that
20:50:46 <ehird> A good start, at least. My argument was that no, the historical reasons aren't that: it's "insert spaces until the current position is a multiple of 8". Not the same thing, and it incidentally makes it a bitch for alignment that way, which nicely defeats some of your other arguments. And everything doesn't do that; you say it does, but dismiss all counterexamples as being irrelevant because they're just because the world is broken or something. This is irrati
20:51:00 <ais523> ehird: I'm aware that tabs move to a multiple
20:51:05 <ais523> I'd mentioned it last time, with the tables
20:51:11 <ehird> plz, one line replies
20:51:15 <ehird> otherwise this'll degenerate into a flamewaar
20:51:24 <ehird> (↑ i have tested this theory quite a few times)
20:51:31 <ais523> tab = 8 is shorthand for "tabs move to a multiple of 8", just like tab = 4 is shorthand for "tabs move to a multiple of 4", there that's one line
20:53:25 <ehird> Yes, but it makes alignment awkward with such multiple-tabs, which eliminates those of your arguments predicated on easy alignment with tabs.
20:53:37 <ehird> ais523: Can I diverge from the topic of whether "tabs" SHOULD be 8?
20:53:48 <ehird> ais523: I'd like to have a related, short debate so I can figure out exactly what argument we're having.
20:54:03 <ais523> possibly it's because I haven't had a good flamewar in ages and was deliberately being provocative
20:54:32 <AnMaster> <ehird> 04:54:00 * ais523 dos2unix $(file $(pcregrep -rl "\r" .) | grep text | cut -d: -f1)
20:54:32 <AnMaster> <AnMaster> ehird, oh good point
20:54:40 <AnMaster> facsimile, your reply to it was a bit late
20:54:47 <ais523> now that bit of code's going to end up posted all over the Internet...
20:54:49 <AnMaster> facsimile, and yes I was too tried to get it
20:55:00 <facsimile> AnMaster: it is very basic try again
20:56:29 <ehird> ais523: Let's pretend the "tabs" in my world are called floobs. A floob, in code, represents one level of indentation; no visual aspect is implied. The normal user will set one floob to display as N spaces; this way, code can be as compact or as dense as their preference. Obviously, we should use spaces, which are the width of one normal character, for alignment in such a system. We can, in fact, use floobs past the start of the line. For instance (note: plea
20:56:29 <ehird> don't align comments like this, it's evil) (.=space)
20:56:30 <ehird> <floob>bar;<floob>//.abc,.def
20:56:33 <ehird> <floob><floob>//.ghi:
20:56:35 <ehird> <floob><floob>//.<floob>code;
20:56:37 <ehird> <floob><floob>//.blah
20:56:48 <ehird> ais523: We can see that no matter how many spaces we display floob as, everything aligns and indents properly.
20:57:15 <ehird> ais523: Completely independent from the issue of what a tab should be; do you agree that this system is nice and provides good benefits while still being clear-cut, simple and allowing alignment?
20:57:22 <ehird> A floob is one level of indentation, a space is used for alignment.
20:57:59 <ais523> ehird: I'd be happy for a character like that to be added to a Unicode; I just don't think it's the same character as tab. Also, you'd have to add support for it to a lot of applications (i.e. configurable width; most won't do that by default), and you'll have to correct the 99% of programmers who ignore the guidelines and just use whatever lines up on their screen
20:58:08 <ehird> ais523: Please let us ignore the character tab.
20:58:28 <ehird> ais523: Which makes 90% of your comment irrelevant. This is a *separate* thing. Could you reply again to floobs, ignoring compatibility and tabs?
20:59:02 <ais523> I suppose that writing all those floobs out would be a bit repetitive in such a case; why not have increase-indent and decrease-indent characters instead, which more closely conveys the semantics of what you're trying to do, and have them render as variable width like above?
20:59:28 <ehird> ais523: Because that wouldn't be a regular character. Anyway, I am not denying that there are better systems.
20:59:41 <ehird> ais523: However, do you agree that the advantages of this system over using a fixed number of spaces for indentation are clear?
21:00:11 <ehird> You can easily backspace and insert indentations without editor hacks, it's easy to adjust code for the situation, it's easy to adjust for your personal preference, it saves bytes, and fundamentally it's just more semantic.
21:00:18 <ehird> We have indents being indents instead of the "inlined" spaces, so to speak.
21:00:28 <ais523> I agree there are advantages; there are also a couple of disadvantages (mostly, the difficulty of enforcing it), and it doesn't allow block-indentation easily (but then neither does spaces to indent)
21:00:44 <ehird> ais523: Please define block-indentation.
21:01:37 <ais523> ehird: if you want to put a new if { } around your code (say in C; generalise to other languages as necessary), you have to reindent everything inside the block, which is a real pain to do in an editor not designed for that sort of thing
21:01:58 <ehird> Ah. Well, of course, that is up to the editor.
21:02:17 <ehird> ais523: Anyway, so we agree that floob is a good thing (maybe not a perfect thing, but a good thing, and definitely good for indentation).
21:02:30 <ehird> ais523: Please let me type another line.
21:03:51 <ehird> ais523: To reply to your first response: Let us assume (please do not jump beyond what I say just yet) that floob actually exists. Even if most programs could only display floobs as a fixed number of spaces, this is not too much of a big deal (assuming the amount of spaces isn't totally created). The programs that can do it can do it, and the rest still work. Let us assume this world exists; do you agree that floobs would still be a good thing?
21:04:41 -!- Rugxulo has joined.
21:04:44 <ais523> no, because people with nonfloobified editors would try to edit floobish files and cause a huge mess which was partly floobed and partly nonfloobed
21:05:46 <oklofok> facsimile: did you answer? where did you get your nick
21:05:53 <Rugxulo> Deewiant: just wondering if you were here ... did you see my Befunge program to detect version (year)?
21:06:01 <ais523> (I take it that facsimile != faxathia?)
21:06:46 <Deewiant> Rugxulo: Nope, haven't been following today's goings-on
21:06:49 <oklofok> i see too, but a different thing
21:06:56 <ehird> ais523: Let us assume that there is a single, obvious keystroke to insert a floob, and all editors handle them as single characters displayed as N spaces; quite a high number, more than "most people" would use, so it is quite recognisable. Let us also assume that there are convenient reindentation programs available to fix the mistakes, and also that people unaccustomed to code formats already mess up with space indentation, using different widths (or even fl
21:06:56 <ehird> Do you agree now that floob would still be a good thing?
21:07:05 <ehird> *or even floobs!).
21:07:06 <Rugxulo> Deewiant: it was like two days ago
21:07:20 <Deewiant> Well, I haven't been following this channel much at all lately :-P
21:07:40 <oklofok> yeah Deewiant thinks we're idiots
21:08:29 <oklofok> although it was partly due to us being idiots
21:09:34 <ais523> ehird: assuming you could do something about Python and other similar languages (which cannot be automatically reindented), and that keystroke actually inserted a floob most of the time rather than being rebound to something else by editors that assumed nobody would want to type them, now it's starting to be a bit more reasonable
21:09:38 <Rugxulo> I think #esoteric is the wrong place to call anybody idiot / genius, we're just "weird" ;-)
21:10:13 <ehird> ais523: Well, let's just assume the reindentation program changed the right number of spaces at the start of a line (for a configurable amount) to floobs; that would work even on Python.
21:10:22 <ehird> ais523: More reasonable?
21:11:22 <Rugxulo> someone want to define "floob" for me?
21:11:22 <ais523> slightly more, although you still aren't solving the problem of what happens if the Python code's passed between two incompetent developers with different floobwidths before anyone thinks to reindent, which probably would happen far too often
21:11:56 <ais523> Rugxulo: a hypothetical character which is similar to, say, left-tab from Word (and which is not really the same as tab from ASCII)
21:12:18 <ehird> let's not bring tab into this at all
21:12:22 <ehird> Rugxulo: ignore us
21:12:24 <ehird> we are having a trivial debate
21:12:39 <ehird> Rugxulo: please go away. thx
21:12:51 <ehird> ais523: the more you say things about its relation tab, the more you lock in your current definition, making it impossible for me to try and convince you otherwise; in which case why should i bother debating?
21:13:24 <ais523> ehird: I was trying to define for Rugxulo; and this conversation is useful, it's likely to identify the boundaries between a floob and a tab, at least
21:13:29 <oklofok> maybe we should found #esoteric-tab for this stuff?
21:13:50 <ehird> ais523: my job is to convince you that they don't exist, if you casually explain that the boundary exists, even if this is your current opinion, this definitely does make my job harder
21:15:35 <ehird> ais523: so, anyway
21:16:05 <ehird> ais523: the incompetent's floobwidth difference; sure, but it turns out that code written by such people tends to be of low quality anyway
21:16:12 <oklofok> hey does the name "tab" come from "table" btw?
21:16:20 <ehird> as in, i very much doubt that went through such a situation,
21:16:22 <ehird> would come out better than before
21:16:24 <ais523> well, "tabulation", which is related to "table"
21:16:27 <ehird> ais523: can we agree on that?
21:17:00 <ais523> ehird: I think I can agree with you personally, but I think the majority of businesses would incorrectly disagree, and they tend to have quite a large influence
21:17:31 <ehird> ais523: let us assume that in this world people vehemently disagree about floobs vs spaces, do different things, and the world goes on anyway. :-P
21:18:43 <ehird> this is getting somewhere, i swear
21:18:50 <ehird> ais523: so, how reasonable now?
21:19:31 <ais523> ehird: you're asking me to make a lot of assumptions; and in a world where there was vehement disagreement, I'd imagine that using either would be frowned upon depending on who your coworkers were, meaning that the choice would be made for you
21:19:43 <ehird> ais523: let's assume the project is non-corporate.
21:20:09 <ehird> ais523: and i'm asking you to make assumptions to show that floobs are good in such a world, then deconstruct that world to try and convince you of its identicality (or closeness) to the real world
21:20:55 <ais523> ehird: there are a huge number of assumptions already; the editor one seems rather unlike the real world already (what does pressing tab do in a form field of a browser, for instance?)
21:21:00 <ehird> ais523: irrelevant
21:21:02 <ehird> please, that's for later
21:21:06 <ehird> i can't have two arguments at once
21:21:13 <ais523> ehird: not really, it's in the list of assumptions you've already asked me to make
21:21:20 <ehird> about a fake world
21:21:29 <ehird> its relation to the real world is not being discussed now
21:21:31 <ehird> ais523: anyway, do you agree that in such a world, floobs are preferable to spaces for indentation? for projects you have control over.
21:22:03 <ais523> ehird: if I have a floobified editor, yes, I think so
21:22:24 <ehird> ais523: even if others who may want to contribute don't? since they'll just see it as 8 spaces, and still know they're floobs
21:22:38 <ehird> (with perhaps a quick command to turn their mistakes into floobs required)
21:23:26 <ais523> ehird: you already asked me to assume that floobs rendered reasonably on the majority of editors; I don't consider 8 spaces reasonable for languages that tend to indent heavilly
21:24:01 <ehird> it may not be ideal, but it's certainly workable
21:24:06 <ehird> heck, i can almost code with ed
21:24:14 <ehird> anyway, let us assume that the majority of coders do not have screens as tiny as yours. :-P (note: this is true in both worlds)
21:24:26 <ehird> by assume i'm really just stating axioms about the world
21:24:47 <ais523> ehird: not quite true; my screen's relatively large, and as a result I like to fit two files side by side. It comes to about 166 characters wide, which neatly fits two 80-column files side by side
21:25:09 <ehird> the only computers with screens lower-res than yours are shitty, shitty netbooks
21:25:11 <ehird> and they're not much lower
21:25:17 <ais523> ehird: 1280x800? 1024x768 is the usual resolution, AFAIR
21:25:28 <ehird> [21:25] ais523: ehird: 1280x800? 1024x768 is the usual resolution, AFAIR
21:25:39 <ehird> ais523: I won't even get into most people, but definitely not for coders.
21:25:46 <ehird> Definitely, definitely, supremely doubly-absolutely not.
21:25:53 <ais523> also, I thought you set your font size to about twice what I set mine to, so there's probably more columns on my screen than on yours with typical settings
21:26:16 <ehird> How many columns do you get?
21:26:37 <ehird> 226 with some padding at the left and right (something like slightly below 20px)
21:26:44 <ehird> in the font i use for code
21:26:52 <ais523> ah, 166 at about 9px; wow how big is your screen?!
21:27:09 <ehird> the "normal" iMac res until the latest update
21:27:13 <ais523> you must measure fonts in a completely different unit to me, then
21:27:21 <ais523> as those numbers just don't match up with each other
21:27:26 <AnMaster> <ehird> [21:25] ais523: ehird: 1280x800? 1024x768 is the usual resolution, AFAIR <-- *blink*
21:27:37 <AnMaster> I even run sheepshaver at 1280x800
21:27:57 <ehird> ais523: it doesn't look big to me, though
21:27:59 <AnMaster> is what I use for sheepshaaver
21:28:05 <ehird> ais523: it looks like regular english text
21:28:10 <ais523> 1280x800 is a good screen res for embedding 1024x768 VMs and still having room for window decoration, if you hide the panels
21:28:45 -!- ehird has left (?).
21:28:47 -!- ehird has joined.
21:29:02 <ehird> rugxglo: shut up; irc client: fuck you
21:29:03 -!- ehird has quit.
21:29:04 <ais523> ehird: that was a weird reaction...
21:29:13 -!- ehird has joined.
21:29:19 -!- ehird has quit (Remote closed the connection).
21:29:19 <ais523> ehird: what's up with your client?
21:29:34 -!- ehird has joined.
21:29:44 <ais523> <ais523> ehird: what's up with your client?
21:29:51 <ehird> ais523: I can assure you that programmers use a bigger resolution than yours.
21:29:55 <AnMaster> 1680x1050 is a typical desktop res
21:30:01 <ehird> Or at least almost all that matter.
21:30:03 <AnMaster> a laptop res is often a bit smaller
21:30:08 <ais523> ehird: 1024 x 768 is the desktop screen here, when it's been cable-hacked to actually show anything
21:30:09 <ehird> AnMaster: 1280x1024 used to be rather typical
21:30:16 <ehird> but 1024x768 is just ridiculous
21:30:23 <ehird> ais523: PROGRAMMERS ARE NOT NORMAL PEOPLE
21:30:29 <ehird> just in case you didn't notice...
21:30:35 <ais523> ehird: this is in a CS department, the computers are standard dual-boot Windows/Linux
21:30:41 <AnMaster> "<ais523> ehird: 1024 x 768 is the desktop screen here, when it's been cable-hacked to actually show anything" <-- cable hacked?
21:30:43 <ais523> it's designed for programmers
21:30:52 <ehird> ais523: they're set up by an incompetent bureauocracy
21:31:07 <ais523> AnMaster: there's something wrong with the video driver, the officially-mandated fix is to swap to a crappier cable that puts fewer demands on it, or something
21:31:13 <ehird> ais523: on a tiny budget
21:31:27 <AnMaster> ais523, cable to the monitor? huh
21:31:31 <ais523> which is about as stupid as Ubuntu permanently blacklisting the pc speaker kernel module to stop the beeping on shutdown
21:31:38 <ais523> AnMaster: on the desktop
21:31:45 <AnMaster> ais523, wow now that is madness
21:31:51 <ehird> ais523: I'll just say that – since I'm bored —
21:32:01 <AnMaster> ais523, anyway 1024 x 768 can't be a desktop these days
21:32:10 <AnMaster> that's even less than what I had 5 years ago
21:32:32 <ais523> I'm still shocked that modern computers can't all be down-ressed to 640x480
21:32:46 <fizzie> 1024x768 has a distinctly old-fashioned feel to it nowadays, yes. Especially since laptops went so widescreeny; the iBook is 1024x768.
21:32:49 <AnMaster> it might have been 6 years ago
21:32:49 <ais523> how am I going to ensure portability now? use 320x240, which /does/ seem to work on all computers?
21:33:02 <Rugxulo> 320x240? isn't that modex?
21:33:18 <AnMaster> <ais523> I'm still shocked that modern computers can't all be down-ressed to 640x480 <-- that would be required for boot right?
21:33:28 <AnMaster> ais523, anyway, why do you need such a low resolution at all
21:33:34 <ais523> AnMaster: err, no, computers can boot in other resolutions nowadays
21:33:35 <AnMaster> just use the native res of your TFT
21:33:41 <AnMaster> ais523, well, normal PCs don't
21:33:53 <ais523> but while I was growing up, if you wanted to write a full-screen program at a fixed res, you'd make it 640x480 because you knew everyone could set their screen to that
21:33:57 <ehird> ais523: the fake world I showed is pretty close to the real world. Sure, it's more crufty... and it doesn't work perfectly... but there is wide support for adjustable tabs, and if you use them right it isn't such a big deal. I think that, based on the goodness of flubs, and the relative closeness of the fake world to the real (especially since people who'd contribute to the kind of projects that ours are tend to be intelligent people who care about this sort
21:33:57 <ehird> stuff) using tabs (flubs) when the community around a language isn't against it is a good idea. (so pretty much C and Go). The only real reason not to is an irrational devotion to historical reasons. Are you an extreme conservative? If not, join us.
21:34:05 <AnMaster> ais523, you don't write apps that require a fixed res
21:34:13 <AnMaster> because that breaks windowed mode badly
21:34:14 <ais523> (this is back when Windows was the only PC OS anyone had heard of outside programming circles)
21:34:32 <AnMaster> any app wanting fixed resolution for either the screen or it's window
21:34:38 <ais523> I was younger and less good at programming then
21:34:55 <ais523> in fact, when I was younger I used to poke around in memory to turn caps lock on
21:35:00 <ais523> rather than just use toupper on input
21:35:18 <ehird> Look at me I'm a unix elitist blah blah blah feel bad.
21:35:27 <ais523> it was a while before I learnt good programming practice
21:35:28 <ehird> ais523: you should reply to my comment with a total dismissal so i can get onto flaming
21:35:33 <ais523> and I learnt about portability the hard way
21:35:36 <AnMaster> ehird, actually I have progamatically set it from Delphi once
21:35:45 <AnMaster> that doesn't make me a unix elitist
21:36:10 <Rugxulo> yeah, he's a Linux 64-bit elitist, get it right ;-)
21:36:28 <ais523> ehird: oh, I got distracted; and if you want a flamy answer, then if we're going to replace the traditional indentation styles, we may as well introduce indent and dedent characters, which actually solve most of these problems
21:36:35 <fizzie> It's not that trivial to make heavily-prettified-by-a-proliferation-of-manually-painted-bitmaps based "user interfaces" that are resolution-independent; quite a lot of games have difficulties running in resolutions they haven't anticipated.
21:36:39 <ehird> AnMaster: I'll floob YOUR MOM.
21:36:43 <ais523> also, I'm surprised you didn't start a second flamewar about Go there
21:36:51 <ehird> ais523: at least, maybe, you're more accepting of those who use tabs
21:36:55 <ais523> I don't know enough about Go to really have an opinion
21:37:04 * Rugxulo bets AnMaster's mom ain't that old
21:37:07 <ehird> which is good enough for me; I don't really care what you use as long as you understand why I use tabs
21:37:12 <ais523> ehird: yes, now I think it's based on a deluded view of reality rather than just stupidity
21:37:17 <ais523> or maybe, an excessively idealistic one
21:37:32 <ehird> ais523: you're welcome to rebut, but somehow I doubt you're interested.
21:37:36 <AnMaster> Rugxulo, oh? define 1) "that old" and 2) amount of money you bet
21:37:55 <ehird> ais523: anyway, my personal experience with c and go is that using tabs has NEVER caused a single problem, ever.
21:38:02 <ehird> I believe this would be AnMaster's experience, too. (but only for C)
21:38:06 <ais523> ehird: despite not knowing much about Go, if you're in a mood for a flamewar I can come up with some specious strawmanny arguments against it if you like so you can knock them down
21:38:06 <ehird> (well, maybe bash too)
21:38:17 <ehird> ais523: That would be fun and less upsetting than formatting discussions.
21:38:24 <ais523> btw, what would you suggest I use for indentation in a Makefile?
21:38:32 <ehird> ais523: Tabs, for... quite obvious reasons.
21:38:34 <ehird> Being that it'll break otherwise.
21:38:42 <ais523> no, I mean beyond the first level
21:38:46 * ehird cd $GOROOT; hg pull && make install
21:38:57 <ehird> ais523: Don't have such complex makefiles :P (But tabs)
21:39:13 <ehird> *hg pull && hg update && make install
21:39:21 <ehird> *&& cd src && make install
21:39:24 <ais523> I was reading some Forth today (by another ardent tab=8 devotee), it was indented using tabs and it worked
21:39:28 <AnMaster> ehird, tabs worked fine for me with C, C#, Erlang, Bash, Delphi, AppleScript, Python[1] and several other languages. Only language I had issues with it was LISP.
21:39:30 <ais523> I think indentation styles depend on the language a lot
21:39:32 <AnMaster> [1] Yeah I know, and I don't care.
21:39:38 <ehird> s/make install/./all.bash/
21:40:01 <ehird> AnMaster: with python i believe tabs are illegal in py3k
21:40:04 <ais523> I have no idea how to evaluate that operator
21:40:07 <ehird> it really isn't good to go against convention so much
21:40:11 <ehird> ais523: escape second
21:40:18 <AnMaster> ehird, hm no, just mixing them is
21:40:23 <ehird> AnMaster: no, that's in 2
21:40:41 <ais523> I thought in 2 it wasn't illegal, just horribly horribly warny
21:40:42 <ehird> the nice thing about go is that gofmt(1) is totally awesome about indenting code.
21:40:49 <ehird> and everybody runs it on their code
21:40:57 <AnMaster> ais523, pretty sure that is so
21:40:57 <Rugxulo> AnMaster: I don't know, what's the kroner (sp?) to dollar amount these days?
21:40:59 <ehird> in fact the official repo mandates running it before submitting a patch, programmatically
21:41:10 <ais523> I like languages which can be easily reindented
21:41:26 <AnMaster> 1 U.S. dollar = 6.79698758 Swedish kronor
21:41:32 <ais523> (incidentally, is it related that I have a horrible habit of annoying people by leaving out semicolons when I write Lua? It was a while before I even realised they were legal)
21:41:33 <ehird> ais523: come on, go strawmen!
21:41:46 <ehird> also, lua is meant to be written without semicolons
21:41:52 <ehird> said people are retards
21:41:53 <ais523> ehird: as in, x = 1 y = 1
21:42:06 -!- MigoMipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
21:42:16 <ais523> incidentally, I use 4-space indentation for lua
21:42:21 <ais523> so that end end end end stacks up neatly
21:42:26 <ehird> "When two people dream the same dream, it ceases to be an illusion."
21:42:28 <ehird> rebuttal: no it doesn't
21:42:45 <ais523> although I don't write them all on the same line unless the starting for loops (it normally is for loops) also started on the same line
21:42:46 <ehird> gopack grc _test/crypto/tls.a _gotest_.6
21:42:47 <ehird> --- FAIL: tls.TestAlertForwarding
21:42:47 <ehird> Got error: received unexpected value on one of the channels: script.channelClosed{channel:(chan interface { })(0x35a230)}. Runnable events: recv alert
21:42:47 <ehird> make[1]: *** [test] Error 1
21:42:51 <ehird> think i'll go back to the release version
21:43:16 <ais523> anyway, did you know that Go's concurrency model is somewhat less flexible than INTERCAL's?
21:43:35 * ehird hg update -r release
21:43:35 <AnMaster> what *is* Go's concurrency model?
21:43:37 <ehird> ais523: i am so unsurprised
21:43:40 <ehird> AnMaster: goroutines
21:43:50 <AnMaster> ehird, does it make use of SMP?
21:44:04 <AnMaster> and iirc ick runs in lock-step
21:44:08 <fizzie> FORTRAN, now, those guys are so against tabs. Maybe that's natural, since you have to start the actual code from the seventh column of the file, and use the sixth for continuation line markers, 2nd-5th for line numbers and the first for comment markers; I guess tabs don't really work there.
21:44:09 <ais523> AnMaster: it could in theory, just it would make your head explode
21:44:12 <ehird> goroutines are like coroutines except actually concurrent and you can communicate among a bunch of them without worrying about synchronisation
21:44:24 <ehird> and the syntax is nice too
21:44:29 <ehird> wanna see a nice parallel mandelbrot renderer?
21:44:32 <ais523> AnMaster: up to one statement's worth of desync is allowed at every COME FROM
21:44:34 <AnMaster> ehird, how do you communicate among them?
21:44:43 <ehird> i can't summarise a whole concurrency model >_<
21:45:03 <ais523> ehird, or abstention based/
21:45:06 <ehird> I am not here to explain a whole concurrency model to you that you don't know in one line
21:45:15 <ais523> gah, that was meant to parody AnMaster but I typoed the ? again
21:45:30 <ehird> to anyone who isn't going to ask a ton of questions, behold the tiny, totally-parallel, png-outputting mandelbrot generator with options!
21:45:31 <ehird> http://groups.google.com/group/golang-nuts/msg/8f07441480e01d80?dmode=source&output=gplain
21:46:00 <ehird> well, there is one unidiomatic bit about the code though
21:46:05 <ehird> it has a lot of var lines followed by =
21:46:16 <ehird> the var lines should be omitted and the =s replaced by :=
21:46:19 <ehird> in fact, I'll do that now
21:46:23 <ehird> more idiomatic mandelbrot, comin' right up
21:46:32 <ais523> wow, that syntax is giving my brain a bit of a culture shock, as it's trying to work out whether it's C or Python
21:46:51 <ais523> esolangs don't do this to me, because the syntax is generally so weird it doesn't get confused with other things
21:46:58 <AnMaster> ais523, mine is being confused between pascal and C
21:47:04 <ehird> with some pascal influences
21:47:08 <ehird> anyway, I'm going to make a more idiomatic version of it
21:47:10 <AnMaster> how comes your even think about python
21:47:13 <ehird> that'll be even shorter!
21:47:21 <ais523> the := vs = vs == thing is from Algol
21:47:32 <ais523> AnMaster: pascal only had := and =
21:47:36 <ais523> where = was comparison
21:47:57 <ais523> whereas, Algol had := (dereference and assign), = (always be the same as, e.g. defining a constant), == (compare)
21:48:05 <AnMaster> ais523, there is no == in there
21:48:15 <ais523> I'm guessing == is Go's equality operator even though it isn't used in that program
21:48:20 <ais523> on the basis that they're using = for something else
21:48:45 <ehird> := is define-and-set
21:48:48 <ehird> (minimal "type inference")
21:48:48 <ais523> and if you've used = already and you're showing a willingness for equality and assignment to be different, you're likely to make comparison == unless you really want to screw with people's minds
21:49:01 <ehird> equality and assign to existing var
21:49:15 <ais523> AnMaster: see, told you; it's often possible to deduce language syntax without seeing the whole thing
21:49:38 <ehird> http://gopaste.org/view?paste=D4gSt2N5yPm2A8yAd0W1iSv4U0fFl7N9 More idiomatic version; syntax-highlighted, but inexplicably missing a comment close. Probably a bug in the pasting site.
21:49:41 <ehird> I think it should compile :P
21:49:53 -!- Asztal has quit (Read error: 60 (Operation timed out)).
21:50:14 <ais523> anyway, I at least came up with snappy names for Feather's assignment and clone operators
21:50:20 <ais523> assignment is <<=, clone is =>>
21:50:41 <ais523> (they're meant to be relatively long because they're relatively unsafe operations)
21:51:19 <ais523> fizzie: maybe that'll be optional, but worrying about non-ASCII characters would be a distraction at this stage
21:51:23 <ais523> even if I can type « and » just fine
21:52:08 -!- Asztal has joined.
21:52:14 <ais523> anyway, the concept's that << is meant to be reminicent of the rewind button on a tape recorder
21:52:29 <AnMaster> why not altgr+< and altgr+shift+<
21:53:22 <Rugxulo> < is shift + , for US keyboard
21:53:31 <fizzie> At least for the fi keymap, the level-3-shift of the physical <> key is pretty much taken, given that the pipe is there.
21:53:33 <Rugxulo> so shift + < is impossible
21:53:55 <ais523> fizzie: there are two pipes on a UK keyboard, | (shift-\) and | (altgr-`)
21:53:57 <Rugxulo> unless you somehow make "lshift + , + rshift" acceptable
21:54:15 <ais523> the second one is apparently in EBCDIC but not ASCII, and maps onto all sorts of interesting characters on modern-day computers as a result
21:54:23 <ais523> but I think this version of X is boring and just maps them onto the same character
21:54:27 -!- Azstal has joined.
21:54:41 <fizzie> Rugxulo: If you had the "altgr" key at all, you could easily put « and » as altgr-shift-, and altgr-shift-., corresponding with the < and >.
21:54:58 <Deewiant> My altgr-shift-. is taken but altgr-shift-, isn't
21:55:07 <Rugxulo> we do have AltGr, but it's not mapped to anything different by default (that I know of)
21:55:35 <Deewiant> You have an Alt on the right side of the keyboard, that's different. :-P
21:55:43 <AnMaster> <Rugxulo> < is shift + , for US keyboard <-- yes but it doesn't make sense on a swedish keyboard
21:55:53 <AnMaster> you should know I don't use an US one
21:56:01 <ais523> Rugxulo: AltGr is mapped to control-alt in Windows, for no obvious reason
21:56:09 <ais523> given that you can type control-alt anyway, and mostly don't want to
21:56:17 <Deewiant> But not for control-alt-delete
21:56:24 <ais523> Deewiant: nope, that one's special
21:56:24 <AnMaster> <fizzie> At least for the fi keymap, the level-3-shift of the physical <> key is pretty much taken, given that the pipe is there. <-- iirc fi = sv for keymap
21:56:26 <fizzie> Deewiant: I have ˛ in altgr-shift-, (I guess that's some sort of an inverse-cedilla?) and ¬ in altgr-shift-.; I'm not sure if that new Finnish standard keymap had anything there.
21:56:34 <ehird> anyway, I'm sure we can agree that http://gopaste.org/view?paste=D4gSt2N5yPm2A8yAd0W1iSv4U0fFl7N9 is totally awesome
21:56:44 <ehird> admittedly, mandelbrot is embarrassingly parallel
21:56:45 <ais523> (/me wonders if it works for control-alt-end, the DJGPP-specific equivalent? or control-alt-backspace if you're running an X server?)
21:56:51 <ehird> but it looks almost identical to sequential code
21:57:11 <ais523> wow, that style's annoying to read
21:57:17 <ais523> Rugxulo: altgr-end rather than control-alt-end
21:57:20 <ehird> ais523: what style
21:57:25 <ais523> ehird: the CSS on that
21:57:33 <ais523> comments are dark grey on black for me
21:57:40 <Deewiant> fizzie: I have that as a dead key under altgr-G (for oGonek?)
21:57:41 <ehird> oh yeah your screen is beyond shit i forgot
21:57:48 <ehird> it's perfectly readable
21:57:50 <ais523> also, I can't see the closing */ of the first comment at all
21:58:01 <ehird> yes, I said it was a bug
21:58:06 <ehird> of the paste site, probably
21:58:21 <AnMaster> <ais523> comments are dark grey on black for me <-- even on my shitty laptop display that is perfectly readable
21:58:32 <AnMaster> the background is brownish-darkgrey
21:58:44 <AnMaster> because I have black console right next to it
21:58:49 <ais523> well, dark grey on darker grey is rather annoying
21:58:51 <AnMaster> and that is very definitely different
21:59:13 <ehird> ais523: it's readable :P
21:59:21 * ehird determines that the parallel mandelbrot has approximately 40 lines of "real" code
21:59:24 <AnMaster> it is a darker colour on my desktop btw
21:59:27 <fizzie> Deewiant: Right, I guessed as much. Incidentally, the new SFS standard puts some sort typographical starting-single-quote thing to altgr-shift-, and something I can't quite make out into altgr-shift-. -- http://www.csc.fi/sivut/kotoistus/kbpropa2rsuomeksi.pdf
21:59:34 <ehird> (ignore } lines and comments, ignore package/import, ignore whitespace)
21:59:57 <ehird> ignoring the boilerplate for the flags, 34 lines
22:00:03 <ehird> (rule 34 on mandelbrot)
22:00:06 <ais523> I think I have an OWL-windows version of Mandelbrot on here somewhere, which ofc won't run
22:00:14 <ehird> incidentally, golang.org runs on an http server written entirely in go
22:00:15 <ais523> unless i have a spare .exe around that I can run via Wine
22:00:16 <ehird> (so does gopaste.org)
22:00:19 <ehird> pretty scalable :P
22:00:20 <ais523> I wonder how much is stupid boilerplate?
22:00:21 <Deewiant> fizzie: Looks like the same thing is on both altgr-shift-. and altgr-shift--?
22:00:42 <fizzie> Deewiant: Yes, that it does. I don't know what's up with that. I had somewhere a nice printed-on-shiny-cardboard copy of that new layout, but I don't know where I put it.
22:00:44 <Deewiant> I.e. combining dot above or whatever that thing is called.
22:00:57 <Deewiant> I have that on altgr-., incidentally.
22:00:57 <fizzie> AnMaster: The Finnish standardization organization.
22:01:08 <AnMaster> fizzie, they are changing from "same layout as sv"?
22:01:36 <Deewiant> They're filling in unused parts of the layout, altgr and altgr-shift stuff
22:01:38 <Rugxulo> 'CAUSE IT'S TWO THOUSAND FLOOBIN' NINE !!!
22:01:46 <Deewiant> I guess it's fully backwards-compatible
22:01:47 <fizzie> AnMaster: I think it's some sort of Finnish-Swedish combo-project, in fact. And like Deewiant said, they're just adding to the unused parts.
22:01:58 <AnMaster> Deewiant, altgr and altgr-shift is completely filled?
22:02:02 <ais523> wow, 207 lines; about 40 to implement zooming, about 40 to draw the Mandelbrot itself, the rest is boilerplate
22:02:15 <ais523> (and OWL was a method to radically cut the amount of boilerplate in the typical Windows app...)
22:02:24 <ehird> Rugxulo: you are an irritating person who uses the most annoying emoticons and never has anything to contribute except the cliche hating of the inevitable march of the world that seemiingly every idiot gets as they grow older, or things only interesting to those who do the same.
22:02:36 <ais523> Rugxulo: yes, a proprietary library thing
22:02:39 <Deewiant> AnMaster: Maybe you're an early adopter without even knowing it.
22:02:47 <fizzie> AnMaster: You mean you actually have a standard for all of it?
22:02:53 <fizzie> AnMaster: And not just that all your keys generate something.
22:02:54 <ehird> ais523: is it parallel, though? with the cpu-allocation and all automatic? :P
22:02:57 <ais523> ehird: I didn't realise there was an annoyance scale for emoticons
22:02:58 <Rugxulo> ehird, it's hard to contribute to topics like Go mandelbrot, floobs, etc.
22:03:14 <ehird> Rugxulo: So. Say. Nothing.
22:03:14 <Rugxulo> ... and Finnish keyboard layouts
22:03:23 <ais523> ehird: I doubt it, you have any idea how creating a thread, process, or whatever the other Windows-specific thing is in Windows?
22:03:23 <AnMaster> Deewiant, no. I just remapped a lot myself :P
22:03:37 <ehird> Rugxulo: not funny.
22:03:41 <Deewiant> AnMaster: In other words, you were just being silly and misleading everyone.
22:03:42 <AnMaster> Deewiant, sadly my pi mapped in seems to be MYSERIOUSLY GONE since a few days
22:03:58 <ehird> AnMaster does that a lot.
22:04:05 <ehird> i'm not sure what point he's trying to prove by it
22:04:25 <AnMaster> ehird, something about there being no point.
22:04:49 <ehird> Great, so you're misleading and hold up ridiculous conversations for no reason whatsoever.
22:05:07 <ehird> Conversation with you must be one of the most compelling propositions ever dreamt of in the entire history of time.
22:05:14 <ais523> AnMaster: altgr-a for me
22:05:20 <ais523> what does altgr-a do for you?
22:05:22 <AnMaster> ehird, so when is your "deep. very deep" comment going to come?
22:05:34 <ehird> AnMaster: It didn't even try to be deep.
22:05:35 <ais523> it's an underlined superscript a
22:05:42 <ais523> more to the point, i have no clue why that is
22:05:48 <ehird> You were just admitting to being a total dick who deliberately obstructs pointless conversation and annoys people for no point.
22:06:03 <AnMaster> ehird, but you only say that line when I'm not *trying* to be deep
22:06:31 <AnMaster> 1) <AnMaster> Deewiant, altgr and altgr-shift is completely filled?
22:06:33 <ehird> This is interesting and not boring at all.
22:06:37 <AnMaster> 2) <AnMaster> Deewiant, at least to me
22:07:54 <ehird> "True but misleading: an impossible combination" —AnMaster's implication
22:08:25 * Rugxulo thinks ehird doesn't suffer flo^H^Hools lightly
22:08:38 <ehird> That took you a while to figure out.
22:09:01 <AnMaster> ais523, I need some icons for ick programs on mac: 32x32, 16x16 and 8x8. All in 255/16/2 colours. The colour sets are predefined
22:09:13 <AnMaster> the standard "no icon" one is just ugly
22:09:23 <Rugxulo> so you got it to work now?
22:09:27 <ais523> AnMaster: shouldn't an icon for ick be ugly, just based on the name pun?
22:09:33 <fizzie> AnMaster: Based on what I've read, you guys have also a new standard keylayout (SS 662241/T1:2006 or whatever), and both ours and yours have been (very slightly) modified so that they are compatible, at least as far as the physically-enscribed parts go. (So that at least you don't have to start manufacturing different keyboards for both the fi and sv markets.)
22:09:33 <AnMaster> ais523, err wait, 8x8 isn't needed
22:09:35 <ehird> AnMaster: draw the face of the most bearded creator of intercal
22:09:38 -!- Asztal has quit (Success).
22:09:46 <ais523> ehird: more bearded? there are only two
22:09:46 <AnMaster> ehird, I can't draw. why did you think I asked
22:09:54 <ehird> AnMaster: pixel art is easy!
22:10:22 <AnMaster> actually I think there is high colour too. but I don't have any app supporting editing that
22:10:26 <ehird> AnMaster: well, just draw a facsimile of ais523's face then, it's very boring (no offense lulz)
22:10:30 <Deewiant> ais523: Hence there is a single well-defined most bearded one
22:10:38 <ehird> in black, transparent and skin, I guess :P
22:10:44 <ehird> it'd clearly be the best icon you could give!
22:11:05 <ais523> kind-of hard to represent me in a 32x32 icon
22:11:21 <ehird> ais523: i can prove you wrong
22:11:27 <Rugxulo> skull and crossbones? poison? nuclear symbol?
22:11:32 * ehird finds wolfram si te
22:11:40 <ehird> http://www.wolframscience.com/prizes/tm23/images/alex_smith_wolfram_turing.jpg
22:11:40 <ehird> i can reproduce this semi-accurately in a 32x32 icon
22:11:44 <ehird> at least you might think it's vaguely similar
22:12:04 -!- kar8nga has quit (Remote closed the connection).
22:12:12 <ehird> 4-colour (transparent, black, skin, shadowed skin)
22:12:20 <ehird> got nothing better to do anyway
22:12:28 <ais523> actually, I still look like that, but the hair's slightly longer atm
22:12:36 <ehird> well that's your fault
22:12:50 <fizzie> AnMaster: There are only around 10^2466 different 32x32-sized 256-color images; just generate them all and pick a nice-looking one.
22:13:18 <ehird> A practical solution.
22:13:24 <Rugxulo> how about "IX" as the icon (as in "ick's" or nine in Roman numerals)?
22:13:32 <ais523> hmm... other companies like to hire expensive graphic designers to design icons
22:13:47 <ais523> therefore, by analogy, we should try to see who will pay us the most to use their attempt at an icon, and use that
22:14:13 <Rugxulo> MCMLXXII = 1972, right? that's when Intercal was created, right?
22:14:19 <ais523> AnMaster: since CLC started referring to himself in the plural
22:14:25 <ais523> Rugxulo: yes, INTERCAL-72
22:14:33 <fizzie> ais523: You could market that as an advertisement opportunity.
22:14:46 -!- Azstal has quit (Connection timed out).
22:14:52 <AnMaster> oh I have done that on some projects before.
22:14:54 <ehird> CLCs are not amused.
22:15:10 <AnMaster> I even went as far as defining "the <project name> team" to consist of one person once
22:15:20 <ehird> this is called insanity
22:15:41 <fizzie> Deewiant: Yes, well. I was going to paste the exact number in decimal form, but 2467 digits was a bit too much, so I just applied a base-10 logarithm.
22:16:47 <AnMaster> fizzie, how many petabyte (or whatever) is that?
22:17:18 <Deewiant> The prefixes don't go high enough.
22:17:23 <fizzie> AnMaster: The SI prefixes only go up to 10^24, subtracting 24 out of 2467 doesn't really change it appreciably.
22:17:55 <AnMaster> Deewiant, the reading is of the SI-scale!
22:18:00 <Deewiant> If you insist, it's around 10^2442 yottabytes
22:18:00 * ais523 wonders how small it compresses to
22:18:15 <ehird> realisation: I suck at pixel art
22:18:16 <ais523> do you think you could recursively compress it to less than 1 MB, for instance
22:18:37 <ais523> (that is, a directory of all possible 32x32 256-color images?)
22:18:40 <ehird> ais523: It's compressible to 2467 decimal digits.
22:18:48 <ais523> the actual set of images
22:18:54 <AnMaster> ais523, actually yes. I just did: "generate the directory of all 32x32 256-color images"
22:18:57 <ehird> I meant what I said.
22:19:04 <ehird> It is a perfectly valid form of compression.
22:19:15 <ais523> AnMaster: I mean, with a non-custom compression algorithm
22:19:16 <ehird> There is a trivial O(1) algorithm to decompress.
22:19:22 <ais523> but rather, one of the existing ones, like LZMA or gzip
22:19:24 <ehird> ais523: Then we cannot even guess.
22:19:33 <ehird> Well, okay, we can guess.
22:19:35 <ais523> meh, people have written gzip quines before
22:19:41 <ais523> so it's probably possible to get it pretty small
22:20:01 <ehird> Prelude> logBase 2 (10**2467)
22:20:09 <ehird> Each can be compressed to infinity bits.
22:20:12 <fizzie> AnMaster: I guess you could chain the prefixes: it's approximately one exayottayottayotta...[a total of 102 "yotta"s]...yottabyte.
22:21:05 <AnMaster> fizzie, define what you do when chaining here?
22:21:21 <ehird> One million million.
22:21:23 <Deewiant> One megabyte == one kilokilobyte
22:21:28 <ais523> AnMaster: multiply, I suppose
22:21:55 <fizzie> Or, to use the symbols, 1 EYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYB. (Using the powers-of-ten variants, not the binary ones.)
22:22:16 <ais523> what about with binary ones?
22:23:05 <fizzie> Exactly 4 GiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiB, if I count it right.
22:24:34 <fizzie> Based on 2^8192 = 2^(102*80+30+2).
22:25:16 <fizzie> Though, uh, to use "B" there in the end makes no sense, since I was just counting the number of images there, not the size of the generated data.
22:25:28 * oerjan wonders if anyone has used a mosquito for a programming language mascot yet
22:25:36 <oerjan> would seem suitably icky
22:26:12 <ais523> oerjan: kind-of hard to represent
22:26:14 <fizzie> Each image is 32*32 = 2^10 bytes, uncompressed, though; so that's then just 4 TiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiYiB of raw data.
22:26:23 <ais523> you may as well use an upside-down nose or something meaningless like that
22:26:50 <fizzie> Isn't the DDD debugger icon a mosquito-like thing? Or was it just a boring old-fashioned bug-like bug?
22:27:17 * oerjan notes that "the mosquito book" is not programming-related
22:27:27 <fizzie> The logo at http://www.gnu.org/software/ddd/ is just a buggy bug, at least.
22:27:37 <AnMaster> great 5 crashes in as many minutes
22:27:38 <Rugxulo> you could draw a "K" with ice on it (icey k = i-c-k)
22:27:56 <fizzie> I'm sure I saw a mosquito icon in some debugger-like context, but it might've been just a toolbar button somewhere. Maybe the TI DSP development studio crashfest?
22:31:18 <fizzie> "Code Composer Studio", and at least not in this screenshot. Well, *somewhere*.
22:34:05 <AnMaster> wrong button but bouncer blocked part :)
22:34:53 <Rugxulo> not much to catch up on in here, if that's what you're doing
22:38:24 <oklofok> doesn't gzip usually compress in blocks of 50kb or something?
22:38:42 <oklofok> that would automatically mean those pics wouldn't compress enough
22:38:49 <AnMaster> 14:27:38 <Rugxulo> you could draw a "K" with ice on it (icey k = i-c-k) <-- made me think of "KDE on Ice"
22:39:03 <oklofok> well anyway, in blocks of something
22:39:25 <AnMaster> oklofok, so use lzma or bzip2?
22:39:26 <Rugxulo> LZMA is Lempel Ziv Markov A(... gorithm?), so it supports higher dictionaries
22:39:31 <oklofok> anyway compressing ridiculous things is an interesting topic
22:39:45 <Rugxulo> but there are other BWT compressors that do more
22:39:47 <AnMaster> anyway if you sorted them a simple differential encoding followed by runlength would compress them very well
22:39:57 <Rugxulo> oklofok: http://www.encode.ru/forum/
22:41:18 <AnMaster> it would be "same number but one more"
22:41:32 <oklofok> i think lzma might theoretically compress the thing quite a lot
22:41:47 <AnMaster> assuming it was smart enough to figure out that it repeated every n bytes
22:41:50 <oklofok> let's say we have the pictures lexicographically ordered
22:42:03 <oklofok> then two adjacent pictures will only have a few bits different
22:42:16 <oklofok> so umm err are you saying this exact same things
22:42:36 <oklofok> lzma doesn't have differential encoding
22:42:49 <AnMaster> oklofok, maybe I don't know how lzma works
22:42:54 <oklofok> how it compresses iirc is by copypasting previous sequences
22:43:17 <Rugxulo> LZMA2 method is better at poorly-compressible data
22:43:18 <oklofok> in any case, we will repeat the same thing quite a lot
22:44:02 <oklofok> in fact, after getting one pic, a massive amount of pictures after it can be done mostly with copy paste
22:44:28 <Rugxulo> solid compression usually can handle this, right? assuming the dictionary is large enough
22:45:21 <AnMaster> "that would be one hell of a tar bomb!"
22:45:22 <Rugxulo> instead of compressing each file separately, it tries compressing them all as one huge chunk
22:45:37 <oklofok> well yeah obviously we're doing that
22:45:59 <Rugxulo> so just use 7-Zip and be done with it
22:46:13 <oklofok> i mean we have so many files we can't use even half a bit for one file
22:46:22 <oklofok> or the result will be too huge to fit this universe
22:46:43 <Rugxulo> 7-Zip can do semi-solid (as can Rar)
22:46:56 <Rugxulo> where you don't have to (de)compress the whole thing at a time just to get one file
22:47:22 <Rugxulo> slightly worse overall compression but much much faster / leaner
22:49:02 <oklofok> anyway, because a whole file will never have occurred before (except when it's the end of some file and the beginning of another), we'll usually have to encode a new file in at least two copy paste chunks
22:49:23 <oklofok> so we'll usually need at least a bit for each file
22:49:45 <oklofok> so we'd probably need something slightly different
22:49:49 <fizzie> oklofok: Also, zlib has a sliding window of N kilobytes, not a "split into blocks and compressed separately" scheme. Still, there is a maximum length for the (length, distance) encoding, and yes, you'd certainly end up with at least a bit per file, probably much more.
22:50:27 <Rugxulo> seriously, guys, as over at http://www.encode.ru/forum/ ... they are heavy into compression
22:50:28 <oklofok> i'm not saying everything splits into blocks... or is zlib gzip?
22:50:54 <fizzie> As long as you allow a bit of wiggle-room in the ==s.
22:51:00 <oklofok> Rugxulo: i seriously doubt that forum is about this stuff
22:51:08 <Rugxulo> it's about all kinds of compression
22:51:16 <Rugxulo> anything compression related
22:51:20 <oklofok> even when compressing stuff that can't fit this universe?
22:52:02 <oklofok> show me something relevant to this and i'll believe you
22:52:05 <fizzie> Even theoretically speaking, I'm not sure it's a horribly interesting question. I mean, it's not *un*interesting, but still.
22:52:14 <Rugxulo> oklofok: don't believe me, see if I care :-P
22:52:49 <oklofok> fizzie: more interesting than compressing things that *do* fit this universe in any case
22:53:38 <oklofok> Rugxulo: i'm not saying you should care, i'm saying you shouldn't link irrelevant things
22:53:51 * Rugxulo apologizes for trying to help ...
22:53:54 <ehird> oklofok: Rugxulo pipes in always, no matter what
22:54:06 <Rugxulo> ehird: floobs floobs floobs
22:54:15 <ehird> incidentally that fails to be funny
22:56:04 <fizzie> "The counting problem, however falsely implies that a small number of states can't reproduce a larger number of states. -- 256^256 = 3.2e+616 : 1-byte=>1-byte => many bytes -- The counting argument is broken when you include cross referenced meaning, as in the above example, combined with recursive manipulation and disclude the infinite range." Gads, comp.compression is such a kook-pot.
22:56:36 <ehird> I'll disclude your infinite range. So to speak.
22:58:21 <fizzie> I sense some cross-referenced meaning in your statement there.
22:59:02 <oklofok> can someone translate that into english
23:00:03 <oklofok> "cross-referenced meaning, combined with recursive manipulation"
23:01:13 <fizzie> oklofok: Yes, uh... it's something about how you first pick one byte, and the a second, and then you can somehow represent a range of 256^256 values, even though there are only 2^16 "states".
23:02:25 <fizzie> Look, it continues with "ie the truth is only as true as the next truth The difference between the earth being round and the earth being flat is not far apart mathematically and neither is true, the earth is neither round nor flat, but both and neither." I don't think you'll be able to extract much meaningful content from there.
23:02:31 <Gregor> (Reading only one line above) Apparently "semi-solid" is the new word for "random access"
23:05:43 -!- Gracenotes has quit (Remote closed the connection).
23:06:37 -!- Gracenotes has joined.
23:12:45 -!- ais523 has quit ("going home").
23:15:03 -!- Rugxulo has quit ("floob ... I mean food").
23:30:10 -!- ehird has quit.
23:32:10 -!- ehird has joined.
23:32:38 -!- Sgeo has joined.
23:33:23 <Sgeo> ehird is going to kill me
23:33:47 * Sgeo deliberately used Comic Sans MS
23:34:08 <Sgeo> A sign in Active Worlds
23:34:18 <Sgeo> Not one that most people will see, admittedly, but still
23:34:29 <ehird> Please kill yourself.
23:34:58 <Sgeo> I and some other people will be seeing that sign regularly though
23:42:11 <oerjan> well, then you will probably die of it, like with smoking. i mean comic sans _is_ lethal, right, otherwise would people be so against it...
23:43:18 <Sgeo> http://imgur.com/iQavU.jpg
00:03:04 <Ilari> Hmm... Not the best font. And not the worst font I have seen.
00:04:05 <ehird> Ilari: you must have seen some pretty baby-raping fonts
00:08:23 * ehird hierarchises his mailing lists
00:08:24 <Ilari> If you want to see something that makes you want to close the window ASAP: Tell xterm to use proportional font (at least in older versions).
00:08:35 -!- facsimile has quit ("quit").
00:08:38 <ehird> Ilari: argh, sometimes I do that and want to die
00:09:17 <Ilari> Or in general, load proportional font into some programs that assume all fonts are monospaced.
00:23:18 <ehird> http://killersmurf.blogspot.com/2009/11/typefuck.html bf in haskell type checker
00:31:48 -!- BeholdMyGlory has quit (Remote closed the connection).
00:32:53 <ehird> "I'm sorry but that has to be the worst named thing I've ever seen in my life.
00:32:53 <ehird> Edit: I hope you're downvoting me because I didn't add to the conversation rather than disagreeing with me. TypeFuck? BrainFuck? Imagine that on a resume."
00:33:38 <ehird> 16 years brainfuck experience
00:33:38 <ehird> 17 years aminet experience
00:33:44 <ehird> He could practically end his cv there.
00:34:05 <ehird> "Fair enough, I'm no programmer so I just assumed it was something that had hopes of going mainstream. (Name still sucks though)"
00:34:10 <ehird> Brainfuck: Hopes of goiong mainstream.
00:37:10 <ehird> "best format for the longevity of documents"
00:39:51 -!- coppro has joined.
00:48:24 -!- Pthing has joined.
00:51:39 -!- immibis has joined.
01:13:42 <ehird> Sgeo: you've read the metamorphosis of prime intellect, yeah?
01:14:38 <Sgeo> If you can handle sex and violence, yes.
01:14:57 <ehird> Absolutely not, I die every time I read the word "sex" or "violence".
01:15:09 <ehird> In fact, I have died four times in the last minute.
01:17:02 <oerjan> i suggest calling guinness
01:19:13 <ehird> "suggest" is one of those words that make me die, you know.
01:19:41 <oerjan> i guess you are suggestible then
01:59:39 <ehird> "I absolutely love the Single UNIX(R) Specification. It's a shining example that committees can release splendid standards."
01:59:39 <ehird> *splutter* *cough* AHAHAHAHAHAHAHAHAHUHASIUhsufdhdgjfokglih;lgjpg;hlf;ghj
02:03:15 <ehird> more from the same person: "(I'm finally talking to qwe1234! Yeah! Long time fan here :) )"
02:08:16 -!- ehird has quit.
02:50:19 -!- oerjan has quit ("Good night").
03:19:30 -!- augur has joined.
03:21:38 -!- augur has set topic: Go is not a divisive issue. unless you mean the japanese game of strategy. | http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
04:44:36 * Sgeo is reading another story set in the PI universe :D
04:50:26 -!- clog has joined.
04:50:26 -!- clog_ has joined.
04:55:20 <Sgeo> The universe of The Metamorphesis of Prime Intellect
05:05:00 -!- clog has quit (Read error: 110 (Connection timed out)).
05:05:00 -!- clog_ has changed nick to clog.
05:22:15 -!- zzo38 has joined.
05:32:48 -!- zzo38 has quit ("").
05:38:21 -!- puzzlet_ has joined.
05:41:13 -!- puzzlet has quit (Read error: 145 (Connection timed out)).
05:55:11 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
06:04:38 -!- Pthing has quit (Remote closed the connection).
06:06:41 -!- Pthing has joined.
06:07:06 -!- Pthing has quit (Read error: 54 (Connection reset by peer)).
06:07:36 -!- Pthing has joined.
06:23:52 -!- zzo38 has joined.
06:24:15 <zzo38> Now I wrote a MBR code, and now you can learn how to write a MBR code, too! B8 00 B8 8E C0 B0 70 B9 A0 0F 31 FF F3 AA B8 60 00 8E C0 B8 3E 02 B9 02 00 31 DB FA 9C 06 53 FF 2E 4C 00 0F 0B
06:26:33 <zzo38> At first I was writing rules for Icosahedral RPG using MediaWiki format, but it isn't quite good enough, so I wrote my own format instead, and wrote a program for using this format. So far, what I have, is: http://zzo38computer.cjb.net/icosahedral/icoruma/
06:39:03 -!- Asztal has joined.
06:42:05 <zzo38> In my time, it is at night
06:42:28 <zzo38> Did you read the message I posted? You can view the log in case you don't know
06:51:01 -!- clog has joined.
06:51:01 -!- clog has joined.
06:55:32 <zzo38> O, sorry, I didn't know that
07:00:01 -!- FireFly has joined.
07:03:47 <zzo38> I have trying to ask on everywhere, this question
05:21:07 -!- clog has joined.
05:21:07 -!- clog_ has joined.
05:21:51 -!- puzzlet_ has quit (Remote closed the connection).
05:21:55 -!- puzzlet has joined.
07:34:36 -!- clog has quit (Read error: 110 (Connection timed out)).
07:34:36 -!- clog_ has changed nick to clog.
07:58:26 -!- MizardX- has joined.
07:59:59 -!- clog has quit (ended).
08:00:45 -!- clog has joined.
08:00:45 -!- fungot has quit (card.freenode.net irc.freenode.net).
08:00:47 -!- comex has quit (card.freenode.net irc.freenode.net).
08:00:47 -!- Deewiant has quit (card.freenode.net irc.freenode.net).
08:00:47 -!- MizardX has quit (card.freenode.net irc.freenode.net).
08:00:47 -!- Ilari has quit (card.freenode.net irc.freenode.net).
08:00:55 -!- MizardX- has changed nick to MizardX.
08:02:38 -!- comex has joined.
08:02:43 -!- Ilari has joined.
08:03:25 -!- Deewiant has joined.
08:06:56 -!- Deewiant has quit (Killed by sagan.freenode.net (Nick collision)).
08:07:05 -!- Deewiant has joined.
08:07:05 -!- fungot has joined.
08:07:07 -!- Deewiant has quit (Connection reset by peer).
08:07:08 -!- Deewiant has joined.
08:07:41 -!- Deewiant_ has joined.
08:09:01 -!- Deewiant has quit (Killed by orwell.freenode.net (orwell.freenode.net (Deewiant[n=deewiant@kosh.hut.fi] Ghosted sagan.freenode.net))).
08:09:50 -!- Deewiant_ has changed nick to Deewiant.
08:10:06 -!- Ilari has changed nick to Ilari_.
08:10:11 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
08:16:06 -!- Pthing has quit (Remote closed the connection).
08:25:59 -!- Ilari_ has changed nick to Ilari.
08:28:41 -!- coppro has quit ("bedtime").
08:30:55 -!- FireFly has quit ("Later").
09:33:10 -!- Ilari has quit (card.freenode.net irc.freenode.net).
09:33:11 -!- Asztal has quit (card.freenode.net irc.freenode.net).
09:33:12 -!- rodgort has quit (card.freenode.net irc.freenode.net).
09:33:13 -!- Guest19337 has quit (card.freenode.net irc.freenode.net).
09:33:14 -!- Azstal has joined.
09:33:16 -!- Azstal has changed nick to Asztal.
09:36:15 -!- Ilari has joined.
09:40:13 -!- rodgort has joined.
09:41:06 -!- Cerise has joined.
09:41:34 -!- Cerise has changed nick to Guest98561.
10:57:03 -!- oerjan has joined.
12:12:27 -!- Pthing has joined.
12:13:43 -!- BeholdMyGlory has joined.
12:27:34 -!- ais523 has joined.
12:39:28 -!- oerjan has quit ("leaving").
13:26:42 -!- facsimile has joined.
14:27:41 -!- Slereah_ has joined.
14:28:06 -!- Slereah has quit (Read error: 60 (Operation timed out)).
14:34:08 -!- Pthing has quit (Remote closed the connection).
15:51:27 -!- augur has quit (Read error: 110 (Connection timed out)).
16:07:14 -!- augur has joined.
16:19:30 -!- MigoMipo has joined.
16:20:04 -!- MigoMipo has changed nick to migomipo.
17:05:00 -!- adam_d has joined.
17:15:17 <AnMaster> ais523, your recent post on alt.lang.intercal looks messed up to me
17:15:19 <AnMaster> This error means that the skeleton file ick-wrap.c couldn't be found.
17:15:19 <AnMaster> compiler will try looking in various places for it; you can see where
17:15:34 <ais523> double-wrapped by two different editors with different wrap widths
17:16:06 <AnMaster> ais523, and didn't noticed it before posting?
17:16:15 <ais523> couldn't see it before posting
17:16:17 <AnMaster> also why using two different editors for editing it?
17:16:21 <ais523> Google Groups does its own wrapping
17:16:29 <ais523> that was the second, and I hadn't realised
17:16:36 <ais523> so now I'm just posting unwrapped originals and letting it wrap the results
17:20:32 <AnMaster> "I take no credit for ick, I only provide download space.
17:20:32 <AnMaster> (Of course I do take credit/blame for sick but that's a different compiler)."
17:30:01 * AnMaster wonders why charging takes like 30 minutes between 40% and 95% and then another 30 minutes until it hits 99% and then 45% for the final 1%
17:30:41 <AnMaster> sure I know it charges slower near the end, but this just seems silly
18:25:59 -!- lament has joined.
18:35:16 -!- bsmntbombdood has quit (Connection timed out).
18:43:20 -!- oerjan has joined.
18:46:31 <AnMaster> oerjan, didn't notice you join
18:46:48 * oerjan cackles evilly, and strokes his goatee
18:47:20 * AnMaster waits while oerjan goes reading D&D in panic
18:47:39 <oerjan> "And imagine the sorts of dungeon maps M. C. Escher drew."
18:48:05 <oerjan> however i had to reread to get the quote
18:49:12 <oerjan> also, one has to wonder how crushers and guillotines are utilized for droid production
18:49:35 <oerjan> molten steel seems more reasonable
18:51:40 <AnMaster> oerjan, crushers could be something to stamp out metal in reality, just the GM didn't understand that technical detail
18:52:37 <oerjan> oh right and guillotines to cut the resulting plates
18:52:56 <oerjan> clearly this is an early production stage
18:57:45 <AnMaster> <oerjan> oh right and guillotines to cut the resulting plates <-- no, that makes no sense, you would use a circular saw kind of thingy for that I think
19:32:37 <AnMaster> oerjan, or in the future, a laser cutter probably
19:32:45 <AnMaster> when does this campaign take place?
19:33:18 <AnMaster> oerjan, yes I quoted that. But this camapin?
19:34:09 <oerjan> well unless it's on one of the episode introduction blurbs, i doubt it's been mentioned
19:36:43 <oerjan> i cannot see any, although admittedly the upper parts are unreadable
19:37:21 <AnMaster> oerjan, http://www.google.com/search?q=site%3Awww.darthsanddroids.net+"a+long+time+ago"&hl=en
19:37:37 <oerjan> nope, nothing on those blurbls
19:39:36 <oerjan> those are only annotations though
19:56:10 -!- facsimile has quit (Nick collision from services.).
19:56:44 -!- facsimile has joined.
19:58:47 -!- adam_d_ has joined.
20:03:29 -!- FireyFly has joined.
20:05:00 -!- FireyFly has changed nick to FireFly.
20:05:05 -!- facsimile has quit ("Leaving").
20:05:20 -!- facsimile has joined.
20:09:30 -!- adam_d has quit (Read error: 110 (Connection timed out)).
20:10:30 -!- augur has quit (Read error: 110 (Connection timed out)).
20:20:34 -!- facsimile has quit ("Leaving").
20:24:13 -!- facsimile has joined.
20:59:06 * SimonRC is also a reader of Darths and Droids.
21:12:42 <AnMaster> btw that last xkcd (yesterday?) was just pure weird.
21:14:57 <oerjan> you need to read the hovertext too for that one
21:23:13 -!- facsimile has quit ("quit").
21:23:29 -!- facsimile has joined.
21:34:35 -!- immibis has joined.
21:36:04 -!- Guest98561 has changed nick to Cerise.
21:40:57 -!- migomipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
21:49:21 -!- adam_d_ has changed nick to adam_d.
22:02:28 -!- augur has joined.
22:31:56 <AnMaster> A TRUE bool value corresponds to "normal"; a FALSE bool value corresponds to "none". As a slight exception to the normal interpretation of bool, a value of "2" corresponds to "fast". "
22:32:29 <ais523> that's not a bool, that's an enum
22:32:43 <SimonRC> as that famous site puts it "enum BOOL {TRUE,FALSE,FILE_NOT_FOUND}
22:34:31 -!- facsimile has quit ("quit").
22:34:48 -!- facsimile has joined.
22:35:46 -!- augur has quit (Connection timed out).
22:39:19 * SimonRC goes (listening to Earthsearch from Radio 7)
22:43:43 <pikhq> They probably take Microsoft's example.
22:43:56 <pikhq> (valid values of one of their boolean types are 0,1, and -1.
23:10:55 -!- augur has joined.
23:13:02 -!- adam_d has quit ("Leaving").
23:14:06 -!- ais523 has quit (Remote closed the connection).
23:36:08 -!- oerjan has quit ("Good night").
00:02:56 -!- FireFly has quit ("Later").
00:03:00 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
01:04:24 -!- coppro has joined.
01:42:25 -!- facsimile has quit ("quit").
01:42:43 -!- facsimile has joined.
01:46:41 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
01:53:01 -!- bsmntbombdood has joined.
01:58:47 -!- madbr has joined.
02:18:25 -!- Gregor has quit ("Leaving").
02:27:38 -!- Gregor has joined.
03:30:04 -!- Pthing has joined.
03:52:34 -!- madbr has quit (Read error: 110 (Connection timed out)).
03:54:24 -!- mtve has quit (card.freenode.net irc.freenode.net).
04:12:29 -!- mtve has joined.
04:20:26 -!- puzzlet has quit (Remote closed the connection).
04:20:31 -!- puzzlet has joined.
04:29:51 -!- coppro has quit (Remote closed the connection).
04:30:40 -!- coppro has joined.
04:36:44 <facsimile> bsmntbombdood: I will buy AIMA tommorow, a revision just came out
04:37:20 <facsimile> http://www.amazon.com/Artificial-Intelligence-Modern-Approach-3rd/dp/0136042597/ref=sr_1_3?ie=UTF8&s=books&qid=1258519029&sr=1-3
05:10:46 <facsimile> that's scary getting email like that??
05:18:01 <bsmntbombdood> i'm just glad there's nothing embarrassing, the email got sent to my parents
05:20:13 <facsimile> yeah that's what I was thinking :D
05:25:49 <augur> bsmntbombdood: i dont think NBC Universal produced that one, so i think you're ok
05:32:24 -!- facsimile has quit ("quit").
05:32:43 -!- facsimile has joined.
06:15:15 -!- lifthrasiir has quit (Read error: 60 (Operation timed out)).
06:15:28 -!- coppro has quit (Remote closed the connection).
06:16:01 -!- coppro has joined.
06:32:31 -!- oklofok has quit (Read error: 110 (Connection timed out)).
06:51:43 -!- Asztal has quit (Read error: 60 (Operation timed out)).
07:06:49 -!- FireFly has joined.
07:07:01 -!- puzzlet has quit (Remote closed the connection).
07:07:06 -!- puzzlet has joined.
07:17:49 -!- oklofok has joined.
07:18:39 <AnMaster> <pikhq> They probably take Microsoft's example.
07:18:39 <AnMaster> <pikhq> (valid values of one of their boolean types are 0,1, and -1.
07:19:03 <AnMaster> microsoft is bad, but THAT bad?
07:52:08 -!- oklokok has joined.
07:55:44 -!- oklofok has quit (card.freenode.net irc.freenode.net).
07:55:44 -!- facsimile has quit (card.freenode.net irc.freenode.net).
07:55:44 -!- rodgort has quit (card.freenode.net irc.freenode.net).
07:55:45 -!- comex has quit (card.freenode.net irc.freenode.net).
07:55:46 -!- HackEgo has quit (card.freenode.net irc.freenode.net).
07:55:46 -!- olsner has quit (card.freenode.net irc.freenode.net).
07:57:39 -!- comex has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:02 -!- olsner has joined.
08:01:15 -!- rodgort has joined.
08:03:30 -!- facsimile has joined.
08:03:31 -!- facsimile has quit (Read error: 104 (Connection reset by peer)).
08:04:01 -!- FireFly has quit ("Later").
08:04:49 -!- coppro has quit ("I am leaving. You are about to explode.").
08:05:48 -!- facsimile has joined.
08:12:57 -!- oklokok has quit (No route to host).
08:38:18 -!- lifthrasiir has joined.
08:53:07 -!- facsimile has quit ("quit").
09:37:04 -!- facsimile has joined.
10:40:20 -!- oerjan has joined.
10:42:17 -!- oklofok has joined.
11:03:10 -!- facsimile has quit ("quit").
11:11:08 -!- oklofok has quit (Read error: 60 (Operation timed out)).
11:11:36 -!- oklofok has joined.
11:24:14 -!- oerjan has quit ("leaving").
11:26:51 -!- oklofok has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
11:42:30 -!- BeholdMyGlory has joined.
11:43:36 -!- Wamanuz has joined.
11:43:49 -!- Wamanuz has quit (Client Quit).
12:02:51 -!- facsimile has joined.
12:03:08 -!- facsimile has quit (Read error: 104 (Connection reset by peer)).
12:03:17 -!- facsimile has joined.
12:18:00 -!- Pthing has quit (Remote closed the connection).
12:28:43 -!- Slereah has joined.
12:42:08 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
13:38:45 -!- neuDialect has joined.
14:15:49 -!- neuDialect has quit (Read error: 110 (Connection timed out)).
16:10:26 -!- Gracenotes has quit ("Leaving").
16:15:32 -!- MigoMipo has joined.
16:39:33 -!- facsimile has quit (Client Quit).
16:41:44 -!- facsimile has joined.
16:46:48 -!- puzzlet_ has joined.
16:47:18 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
18:37:05 <AnMaster> "Unfortunately most of the options are documented not yet" <-- grammar fail.
18:37:23 <AnMaster> (from documentation on a LaTeX document class)
18:49:35 -!- oerjan has joined.
18:51:24 <AnMaster> oerjan, I bet you waited for me to speak
18:51:57 <oerjan> erm, i just logged on.
18:52:21 <AnMaster> oerjan, you were reading the log, waiting for the right moment to connect and join!
18:52:35 <AnMaster> probably using a script to notify you of when I spoke
18:55:05 <AnMaster> oerjan, hey, it is what I would do if I was in your position.
18:57:47 -!- Asztal has joined.
18:59:05 <oerjan> Gregor: where is hackbot, i want to look up hypothecal
18:59:21 -!- MigoMipo has changed nick to migomipo.
18:59:44 <oerjan> "(microbiology, planktology) Of or pertaining to the hypotheca, the lower half of the shell of certain types of plankton"
19:02:28 <AnMaster> hm I want reverse sshfs. As in: mount the local directory on the remote server.
19:02:53 <AnMaster> well I guess you could do it by setting up a ssh tunnel and then sshing back through that
19:03:15 <AnMaster> oh btw the system in question is assumed to be behind NAt you can't control (say, university wlan network or such)=
19:03:18 <facsimile> Gregory Chaitin showed that all provable results are ipso-facto trivial
19:03:52 <facsimile> I was hoping someone else could explain it :(
19:04:18 <AnMaster> facsimile, why didn't you ask that then.
20:10:46 -!- FireFly has joined.
20:27:03 <augur> ehird: http://www.ted.com/talks/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html
20:27:23 <augur> theres a part in here that is really very much like what we were talking about
20:37:03 <AnMaster> augur, what were you talking about
20:47:15 <AnMaster> <augur> theres a part in here that is really very much like what we were talking about
20:47:35 <augur> ehird and i were discussion experimental OS design
20:47:48 <augur> data-oriented rather than application-oriented
20:47:50 <AnMaster> augur, it was on the line above. How could it possibly have been misinterpreted :P
20:49:02 <AnMaster> augur, is that a video site or such? I can't see any text related to things (and I'm not running X atm, so using w3m)
20:50:10 -!- facsimile has quit ("Leaving").
20:54:12 <augur> megavideo has lowered its maximum viewing time to 66 minutes
20:54:33 <AnMaster> augur, what is this "megavideo"?
20:54:47 <augur> a website where you can illegally watch videos, ofcourse!
21:00:55 -!- immibis has joined.
21:01:10 <augur> because thats what it is!
21:01:13 <augur> what else could it be?
21:16:51 -!- Gracenotes has joined.
21:17:41 -!- adam_d has joined.
21:24:41 -!- migomipo has quit ("When two people dream the same dream, it ceases to be an illusion. KVIrc 3.4.2 Shiny http://www.kvirc.net").
21:25:21 <AnMaster> augur, it could have been a ripoff on youtube
21:26:05 <augur> no it couldnt, because it is not!
21:26:14 <AnMaster> augur, how would I have known?
21:27:29 <augur> that is not for me to decide
21:39:48 <SimonRC> bah, my DNS is so shit ATM
21:40:14 <SimonRC> internet generally is just fine, but DNS lookups take ages
21:40:36 <SimonRC> or maybe it is new connections that are broken, and existing ones are unafected
22:07:56 <SimonRC> how do they get enough money to keep existing?
22:13:30 <AnMaster> SimonRC, by being worse than a normal dns server but better than a dead one?
22:13:44 <AnMaster> I only use it in case of emergencies
22:14:08 <AnMaster> SimonRC, see http://en.wikipedia.org/wiki/OpenDNS#Privacy_issues.2C_conflicts_and_covert_redirection
22:15:25 -!- kar8nga has joined.
22:16:23 -!- kar8nga has quit (Remote closed the connection).
22:17:07 -!- Rugxulo has joined.
22:17:33 * Rugxulo cannot get input working in Interfunge, must be doing it wrong
22:18:15 <Rugxulo> otherwise it seems to work well
23:13:44 -!- Rugxulo has left (?).
23:26:34 -!- Darth_Cliche has joined.
23:27:14 -!- FireFly has quit ("Later").
23:27:50 -!- mtve has quit (card.freenode.net irc.freenode.net).
23:28:36 <Darth_Cliche> Wow. ais523 wasn't kidding when he said there were a lot of nomicers who were also esolangers.
23:34:35 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
23:36:14 -!- mtve has joined.
23:45:52 -!- BeholdMyGlory has quit (Remote closed the connection).
23:55:51 -!- madbr has joined.
23:57:54 -!- adam_d has quit ("Leaving").
00:43:50 -!- oerjan has quit ("Good night").
00:58:18 -!- Oranjer has joined.
00:59:42 <Darth_Cliche> Have you made any esolangs before, or do you just use them?
01:01:32 <Oranjer> I mean, I've yet to use 'em, and I haven't made any
01:01:48 <Oranjer> but! you have google wave, right?
01:02:25 <Darth_Cliche> (As for me, I've made http://esolangs.org/wiki/HQ9_2D HQ9+2D)
01:03:16 <Oranjer> it says there's no text on it (hur hur hur)
01:04:17 <Oranjer> hey! can you send me the link using google wave?
01:04:43 <Oranjer> oranjer@googlewave.com!!!!
01:07:12 <Oranjer> is the program usable? for making things?
01:13:14 <Darth_Cliche> Well, I just earlier today signed up for the wiki
01:14:23 <Oranjer> well, now you can like, do stuff, I guess
01:14:29 <Oranjer> and freedom of action is goood! yay
01:16:17 <Darth_Cliche> ...you seem a lot less conservative than I had originally, rather offensively, assumed.
01:17:18 <Oranjer> hell, I'm the one who got into arguments with conservatives at my school
01:17:34 <Darth_Cliche> The assumption was based entirely on your location.
01:17:36 <Oranjer> I was like, the spokesperson for anti-conservativism
01:18:55 <Oranjer> I dunno, I do see atheist bumperstickers and whatnot from time to time here
01:19:38 <Darth_Cliche> religion != politics, for one thing. Although atheists are generally liberal or libertarian.
01:21:00 <Darth_Cliche> But most importantly, "from time to time", as opposed to "often".
01:21:01 <madbr> ah, but aren't libertarians some form of conservatism? :o
01:21:13 <Oranjer> well, although I once saw a Darwin fish in Texas (awesome), but I meant it as...
01:21:45 <Oranjer> that in a conservative place, such blatant non-christian stuff would be terrorized and whatnot
01:22:19 <Oranjer> well, madbr, it's more like two seperate dimensions
01:22:30 <Oranjer> economic freedom, and social freedom
01:23:07 <Darth_Cliche> (It's really three dimensions, though individual and social are closely tied.)
01:23:11 <Darth_Cliche> Liberalism has low economic but high individual/social
01:23:28 <Darth_Cliche> Conservatism has high economic but low individual/social
01:24:21 <Oranjer> of course, me ol' gover' teacher gave us another interpro
01:24:26 <Darth_Cliche> When you split individual and social you get 9 different ideas
01:24:39 <Oranjer> three facets: order, freedom, and equality
01:24:59 <Oranjer> you can only choose two, at the expense of the third one
01:25:10 <Oranjer> Conservatives generally pick order and freedom, at the expense of equality
01:25:28 <Oranjer> liberals generally pick freedom and equality, at the expense of order
01:25:57 <Darth_Cliche> And if you pick order and equality at the expense of freedom?
01:26:05 <Oranjer> and authoritarians generally pick order and equality over freedom
01:26:41 <Oranjer> Communism did, before it went total-postal
01:27:01 <Darth_Cliche> Also, a more inclusive way to define it based on those facets:
01:27:24 <Oranjer> (also, what were those 9 ideas you mentioned?)
01:27:41 <Darth_Cliche> (I don't have names for them. They're just combinations of high/low.)
01:28:25 <Darth_Cliche> You can use that point to increase any of them by 1.
01:28:35 <Darth_Cliche> You can decrease any of them by 1 to gain another point.
01:29:29 <Oranjer> although, there would have to be limits
01:29:36 <Darth_Cliche> Thus centrism just doesn't spend the point in the first place
01:29:41 <Oranjer> defined by nature, and what not
01:29:51 <Oranjer> wouldn't centrism spend it on order?
01:30:26 <Oranjer> hey! let's use this stuff in a nomic!
01:30:49 <Darth_Cliche> Maybe. We'd need a good initial ruleset incorporating them.
01:31:51 <Oranjer> of course, as I was telling yuri, a system requires a goal to be worthwhile, and that most countries (and nomics, and other human organos) don't have any goals above "survive"
01:32:32 <Oranjer> so I'm saying that in the future, if I'm involved in a nomic (or anything else), I shall always make an early step to be the defining of a goal
01:32:44 <Oranjer> so, what is the goal of our suggested nomic?
01:33:22 <Darth_Cliche> Or we could have some sort of United Nations-like entity
01:33:58 <Darth_Cliche> you can gain great power by becoming leader of the UN
01:34:13 <Darth_Cliche> as it has drifted quite far from the topic of esolangs.
01:34:34 <Oranjer> (remember, unfamiliar computer here)
01:35:05 <Oranjer> yuri wants to talk about it also
01:35:11 <Oranjer> sure we can't do it in google wave?
01:37:27 -!- Sgeo has joined.
01:37:48 <madbr> what would be a good cpu design for some amateur project?
01:39:54 <Gregor> http://esolangs.org/wiki/MISC
01:45:36 <madbr> that doesn't look particularly programmable
01:45:55 <madbr> it could be a more standard risc although those are boring
01:49:11 -!- Oranjer has quit ("Java user signed off").
01:52:44 -!- Oranjer has joined.
01:55:47 <Gregor> If I wanted to program MISC, I would make a MIPS->MISC compiler.
02:20:59 -!- Oranjer has quit ("Java user signed off").
03:45:12 * Sgeo got yellwed at for saying wtf
03:45:20 <Sgeo> When I meant to type wtg
03:45:24 <Sgeo> But this was repeated
03:46:55 * Sgeo is addicted to AWBingo
04:05:15 <Sgeo> I'm in a bingo place
04:08:02 <Darth_Cliche> Does it please you to believe you are in a bingo place?
04:09:18 <Darth_Cliche> I accidentally mixed code for my IRC bot and my ELIZA clone
04:18:02 <Darth_Cliche> ME: The world is explode. ELIZA: What does that suggest to you?
04:19:15 <Darth_Cliche> ME: I WILL KILL YOU ELIZA! ELIZA: Perhaps in your fantasies we will kill each other.
04:26:50 <Sgeo> So two people in AW use Base64 to swear in front of people who don't approve of swearing where they're doing it
04:26:57 <Sgeo> I'm threatening to reveal what language they're using
04:31:21 <Sgeo> And one of them talked about f***ing one of the other people there, so
04:36:12 <Sgeo> It's a G rated area, and the owners of the place already ejected someone for saying wtf
04:41:08 * Darth_Cliche creates chatbot representing typical 12-year-old
04:45:56 <lament> http://photos-h.ak.fbcdn.net/hphotos-ak-snc3/hs112.snc3/15956_210441155020_601130020_4464643_2268885_n.jpg
04:50:46 -!- oklofok has joined.
04:51:05 <oklofok> okay finally felt like learning the techniques in "how to develop a super power memory"
04:51:32 <oklofok> after one day's training, i had a friend tell me 42 cards from the deck and i told him the missing ones
04:54:02 <oklofok> also i memorized the order of a deck in ~ 10 minutes, random access, although card -> index was a bit unreliable... then again i was getting pretty tired
04:54:23 <oklofok> i guess that's all... people should seriously read that book
04:56:33 -!- Bjornung has joined.
05:06:11 -!- Pthing has joined.
05:10:39 * oklofok considers memorizing the internet
05:15:55 <oklofok> although i guess that could still be considered spam
05:16:15 <oklofok> usually i say i'm a lizard
05:16:48 <oklofok> (doesn't mean the system doesn't work for humans, i have a human brain)
05:17:27 -!- sebbu2 has joined.
05:17:30 <Darth_Cliche> ...I'd accuse you of being a furry, except that doesn't quite work with lizards. Maybe a scaly.
05:22:25 <oklofok> i wish there was a book about memorizing data structures in general, loraine was more of a magician than a computer scientist
05:22:49 <oklofok> also cs may have been slightly different in '57
05:23:14 <oklofok> well telling by your face...
05:24:07 <Warrigal> Have I used the nick DogFace here?
05:25:16 <oklofok> Warrigal: either that or you've linked pictures of yourself and your damn ugly
05:25:26 <oklofok> i don't remember which tbh
05:26:25 <Warrigal> I've either linked pictures of myself countless times or used the nick DogFace here countless times?
05:26:25 <Darth_Cliche> Come to think of it, the name 'Warrigal' sounds like a dog breed.
05:26:51 <Warrigal> It's a species of canine indigenous to Australia.
05:27:00 <oklofok> i had a theory about Warrigal's nicks
05:27:17 <oklofok> but it's somewhere deep in the logs
05:27:32 <oklofok> something about a sex change operation
05:28:01 <Warrigal> "ihope", tentatively seeking reassurance and hoping that the operation will work out.
05:28:39 <Warrigal> And then "Warrigal", i.e. "Warri gal", obviously post-op.
05:32:24 -!- clog has joined.
05:32:24 -!- clog_ has joined.
05:32:46 <oklofok> what does it say in your mug
05:33:04 <oklofok> also you look *very* different than i expected
05:33:07 <Warrigal> oklofok: "For integral x > 0, compute the number of pairs of distinct points A and B on y = x^2 where the slope of line AB is 2008."
05:33:25 <Warrigal> Where "line AB" is AB with an overline.
05:33:35 <oklofok> (unless you are the jap or something dude)
05:33:56 <Warrigal> And "^2" is a superscript 2. But anyway.
05:34:05 <Warrigal> I wonder what you expected me to look like.
05:34:13 <oklofok> "(unless you are the jap or something dude)"
05:34:26 -!- sebbu has quit (Connection timed out).
05:34:26 <Darth_Cliche> ...my brother thinks "dingo" is a slang term for penis.
05:34:43 <oklofok> everything is a slang word for penis.
05:34:51 <oklofok> except penis, it's just a word for penis.
05:35:00 <Darth_Cliche> "Everything" is indeed a slang term for penis.
05:35:05 -!- immibis has joined.
05:35:17 <Darth_Cliche> Also, "dick" is not a slang term, it's just a regular term.
05:35:24 <oklofok> i'm pretty sure this conversation has been had here
05:36:11 <Gregor> Hm, everything itches. That can't be good. /me goes to a urologist.
05:36:13 <oklofok> yes. i say everything is a slang term for penis, someone says that same joke. or maybe it's my first deja vu i don't recognize as one.
05:36:18 <oklofok> we've had a lot of conversations about penises
05:36:56 <oklofok> i was told that today at uni, well not directly
05:37:16 <oklofok> it was implied via antisymmetric eyebrows
05:37:43 <oklofok> because i have to remove these plastic flap thingies from all the bottles i empty
05:37:55 <Warrigal> Eyebrows that were at the same height at no distance from the median plane.
05:38:33 <oklofok> Warrigal: umm wouldn't those be symmetric
05:38:58 <Warrigal> Eyebrows that were at a different height at every distance from the median plane? No, certainly not.
05:39:59 <Warrigal> Hey, I'm wearing my medal in that picture.
05:40:39 <MizardX> Warrigal: The number of integer pairs on y = x^2, x > 0 that form a slope of 2008 is 2007. 4014 points in total.
05:40:57 <oklofok> you mentioned your friend was at some sorta championships, i figured you weren't because you didn't mention that
05:41:09 <Darth_Cliche> He won Most Times Accidentally Deregistered From Agora.
05:41:48 <Warrigal> oklofok: I wonder which friend that was.
05:42:02 <oklofok> Warrigal: this was about the dinosaurs
05:42:22 <oklofok> (defined as some sorta connected regions on ZxZ)
05:42:41 <Warrigal> Yeah, 2008-ominoes or something.
05:42:48 <oklofok> the actual problem was trivial iirc
05:43:04 <Warrigal> Because it was last year or something.
05:43:14 <Darth_Cliche> Hell, we should probably be gearing up for 2010.
05:43:16 <Warrigal> I dearly hope the problem was not trivial, as I couldn't solve it.
05:43:52 <oklofok> well i don't remember it, usually that happens if the problem is complex to state, or trivial to solve
05:44:44 <Warrigal> It was practically equivalent to this: "A dinosaur is a polyomino of at least 2008 squares. A primitive dinosaur is a dinosaur that cannot be divided into multiple dinosaurs. Find the number of primitive dinosaurs."
05:44:58 <MizardX> slope of line between a and b is (b^2-a^2)/(b-a), which simplifies to (b + a). Slope was 2008, so a + b = 2008. 2007 solutions for a,b > 0.
05:45:19 <Warrigal> MizardX: oh, that's not right.
05:45:29 <Warrigal> Aren't there only 1003 solutions?
05:45:47 <oklofok> oh i misunderstood the question
05:45:51 -!- clog has quit (Connection timed out).
05:45:51 -!- clog_ has changed nick to clog.
05:46:31 -!- Bjornung has quit.
05:46:33 <oklofok> what do you mean can't be divided into multiple dinosaurs?
05:47:28 <Warrigal> oklofok: it cannot be partitioned into dinosaurs.
05:48:07 <oklofok> yeah i guess that is obvious
05:49:03 <MizardX> a = b doesn't have any distance, and thus can't form a unique line.
05:49:22 <oklofok> MizardX: but it's a solution
05:49:32 <Warrigal> oklofok: not of (b^2-a^2)/(b-a) = 2008.
05:49:52 <Warrigal> So it's a solution of some equation. :-P
05:50:16 <immibis> wrong window and accidentally pressed enter :P
05:50:39 <Warrigal> it's a solution of that equation.
05:50:59 <immibis> a=b is also a solution of 3x=0
05:51:04 <oklofok> to an equation that was mentioned!
05:51:30 <immibis> also to prove that there are no solutions for x=-x: (1) x = -x (2) 1x = -1x (3) 1 = -1
05:52:12 <Darth_Cliche> A dinosaur is a polyomino of at least an infinite number of squares. A primitive dinosaur is a dinosaur that cannot be divided into multiple dinosaurs. Find the number of primitive dinosaurs.
05:52:30 <oklofok> a line of 2008 in a row is one
05:52:32 <Warrigal> Darth_Cliche: that's false, if there are any dinosaurs.
05:52:48 <Warrigal> Take the dinosaur {(0,x) | x > 0}.
05:53:11 <Warrigal> One square and all the squares to the right of it.
05:53:28 <Warrigal> oklofok: now enumerate the rest!
05:53:36 <oklofok> that can't be partitioned into dinosaurs?
05:53:46 <oklofok> "if there are any dinosaurs."
05:54:06 <oklofok> it can't be divided into two dinosaurs that look like it
05:54:37 <oklofok> or any amount in fact, any partition into dinosaurs will have at most one infinite dinosaur
05:55:24 <Warrigal> oklofok: take the dinosaur {(0,x) | x > 0} u {(1,x) | x > 0}.
05:55:46 <oklofok> Warrigal: not a partition of {(0,x) | x > 0}
05:56:07 <oklofok> "Darth_Cliche: It can be divided into multiple dinosaurs" <<< response to this
05:56:29 <Warrigal> The obvious name for {(0,x) | x > 0} is the omega dinosaur.
05:56:46 <Warrigal> I want to see the omega plus one dinosaur.
05:56:49 <Darth_Cliche> A dinosaur is a polyomino which resembles a dinosaur. Find the number of dinosaurs.
05:57:16 <Darth_Cliche> seeing as how "resembles a dinosaur" is completely subjective
05:57:25 <Warrigal> There are a lot of infinite numbers-of-things.
05:57:49 <Darth_Cliche> I do not, and will not ever, understand the difference between aleph and infinity.
05:58:11 <oklofok> Darth_Cliche: infinity is defined as follows: if a set can be put into bijection with a proper subset of its, it's infinite
05:58:30 <oklofok> the actual infinite numbers are then sizes of different infinite sets, again defined by what can be put into bijection with what
05:58:35 <Warrigal> There are a bunch of definitions of infinity, and they're pretty much entirely incompatible.
05:58:49 <oklofok> well right that's cardinality
05:59:08 <oklofok> the set of natural numbers
06:00:21 <Warrigal> Aleph is just the answer to the question "How many natural numbers are there?"
06:00:54 <Warrigal> Aleph_1 is the answer to the question "What's the size of the smallest set that's bigger than aleph?", aleph_2 is the answer to "What's the size of the smallest set that's bigger than aleph_1?", and so on.
06:01:30 -!- Darth_Cliche has quit ("Leaving").
06:02:47 <Warrigal> aleph is not a valid thing to put in the subscript.
06:03:12 <Warrigal> The smallest cardinal number greater than aleph_n for all natural numbers n is aleph_omega.
06:04:22 <Warrigal> omega and aleph are different types of numbers; you can't really compare them like that.
06:04:27 <oklofok> Warrigal: if it anywhere had a "line" (of any shape) of 4016 squares, you could divide the thing into two polyominoes of 2008
06:04:33 <Warrigal> omega does have a size, though, and the size of omega is aleph.
06:04:33 <oklofok> so that at least puts an upper bound on the size
06:05:24 <Warrigal> I don't think I was able to come up with an upper bound on the size.
06:06:27 <immibis> Warrigal: what's the size of the smallest set bigger than aleph_omega?
06:06:49 <oklofok> err... it totally does put an upper bound in the size, start with any cell, because we have a polyamino, we can connect it to any other cell, therefore there's a line to any other cell
06:07:17 <oklofok> so you can't have 8032 cells because blah
06:07:25 <immibis> Warrigal: what's the size of the smallest set bigger than aleph_(omega+n) for any natural number or aleph number or aleph_omega number n?
06:07:26 <Warrigal> oklofok: wait, what's your upper bound, then?
06:07:54 <Warrigal> immibis: aleph_(omega*2), if I read that correctly.
06:08:10 <oklofok> i'm not very good at thinking while ircing
06:08:17 <immibis> Warrigal: what's the size of the smallest set bigger than aleph_(omega^n) for any natural number or aleph number or aleph_omega number n?
06:08:43 <Warrigal> immibis: wait, I interpreted your question as if you had said "for any natural number n".
06:09:27 <Warrigal> Then again, n can't be an aleph number, so I'll continue to interpret your questions as if you had said that.
06:09:41 <oklofok> well right, if you can't bound the thing in a 2008x2008 box, then there are two cells at least 2008 away from each other
06:09:53 <oklofok> those cells are connected by some line
06:10:01 <oklofok> which will be of length at least 2008
06:10:26 <oklofok> then you can just "floodfill" them into a partition
06:10:31 <immibis> having names for infinite numbers is stupid, especially considering that basically you have "the biggest natural number" and now you've got names fo rnumbers bigger than it
06:10:49 <Warrigal> If it touches the edges of a 4016x2008 box, you can cut it into two dinosaurs.
06:11:08 <Warrigal> Heck, if its height is at least 4016.
06:11:21 <Warrigal> immibis: well, these are called ordinal numbers.
06:11:31 <Warrigal> I'm sure they're useful in some way.
06:11:41 <oklofok> immibis: kinda like graphs are stupid because now you basically have a "branching" natural number
06:11:50 <oklofok> natural numbers can't branch!
06:12:20 <Warrigal> immibis: represent a natural number as a series of connected dots.
06:12:45 <immibis> if they're connected, are they still dots?
06:12:48 <oklofok> immibis: i'm just saying infinity is not a natural number, therefore it doesn't have to follow the axioms, kinda like graphs.
06:13:44 <Warrigal> immibis: you know, if you had pushed enough, you would have reached the limits of my notation.
06:14:07 <immibis> exactly, that's why it's stupid
06:14:24 <immibis> you have the biggest number, and you also have that many numbers bigger than it
06:14:58 <Warrigal> We should come up with a notation that can express every ordinal number*.
06:15:11 <Warrigal> *Except those outside our (countable) model of ZFC.
06:18:22 <Warrigal> Let [\x, E], where E is an expression in x, mean "the smallest ordinal number greater than E for all natural numbers x".
06:19:22 <oklofok> i'm assuming you don't mean E : N -> N
06:19:32 <oklofok> partly because that would make no sense
06:20:16 <Warrigal> I will not define "expression", because that word is one of the Words Whose Meanings You're Supposed To Know Already of mathematics.
06:21:05 <oklofok> makes sense, i'll be quiet because it'd be embarrassing if you found out i don't know what it means
06:21:54 <Warrigal> Other WWMYSTKA: "variable", "free variable", "function", "relation", "axiom", . . .
06:46:01 -!- Sgeo has quit ("Leaving").
06:47:58 <oklofok> Warrigal: are you sure the problem wasn't to find the greatest possible primitive dinosaur?
06:48:33 <oklofok> because i vaguely recall you talking about a plus-shaped dinosaur and saying you couldn't prove it's the biggest possible
06:50:14 <oklofok> "...the most basic being to enumerate polyominoes of a given size. No formula has been found except for special classes of polyominoes."
06:50:34 <oklofok> i guess it could be a simpler problem, in theory
06:51:09 <oklofok> just thought i'd check because it looks a bit like the problem of non self-intersecting paths
06:55:13 -!- clog has joined.
06:55:13 -!- clog_ has joined.
06:58:26 <madbr> given an infinite board size, would go be turing complete?
07:09:16 <oklofok> http://www.answers.com/topic/exptime
07:09:52 -!- clog has quit (Read error: 110 (Connection timed out)).
07:09:52 -!- clog_ has changed nick to clog.
07:14:39 -!- madbr has quit ("Radiateur").
07:19:26 <oklofok> http://www.artofproblemsolving.com/Wiki/index.php/2007_USAMO_Problems/Problem_4
07:20:01 <oklofok> oh cool solutions, now i don't have to waste a day on it
05:23:36 -!- clog has joined.
05:23:36 -!- clog has joined.
05:25:47 -!- gm|lap has quit (Read error: 110 (Connection timed out)).
05:25:58 <oklofok> "and since it visits a corner infinitely many times, it must visit the exterior of the rectangle." <<< what if it always goes back to the interior after visiting the corner?
05:27:01 <oklofok> i mean you might have it, but then you are considering something a triviality that i don't, at least compared to the other facts you mention there.
05:27:27 <oklofok> but yeah, it's something like that, of course you need to show a reason why you go off the cycle, for any cycle there might be
07:59:59 -!- clog has quit (ended).
09:08:03 -!- clog has joined.
09:08:03 <oklofok> (obviously there needs to be a cycle, because there needs to be a repetition of global state)
09:08:36 <oklofok> but anyway, you did not mention the "trick"
09:11:55 <Warrigal> Find the leftmost cell of the topmost row. (Heh, "topmost".) This cell must be entered from the bottom and exited from the right, or vice versa, and it must alternate between these. And...
09:16:13 -!- neuDialect has joined.
09:44:54 -!- neuDialect has quit (Read error: 110 (Connection timed out)).
09:47:27 -!- Asztal has quit (Read error: 110 (Connection timed out)).
10:27:30 -!- Slereah_ has joined.
10:29:52 -!- Slereah has quit (Read error: 145 (Connection timed out)).
10:41:11 -!- FireFly has joined.
11:02:49 -!- BeholdMyGlory has joined.
11:12:04 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
11:12:12 -!- puzzlet has joined.
11:15:08 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
11:17:13 -!- puzzlet has joined.
11:35:32 -!- migomipo has joined.
11:55:54 <oklofok> Warrigal: where exactly does the ant go to a new cell?
11:56:15 <oklofok> so it has to alternate between those, then what?
11:57:22 <oklofok> i don't see where that differs from proving that an ant that always turns right and doesn't change cell state always sees an infinite amount of cells...
11:59:03 <oklofok> also there was another, even simpler one i had to do, for each L in RE, find a language N in R and a homomorphism h such that L = h(N)
12:01:50 <oklofok> also i'm so tired i'm pretty sure no one except the lecturer understood my mumblings
12:04:50 <oklofok> there's this guy on the course who has sofar gotten every yes/no proof the wrong way around, i'm beginning to think he's doing it on purpose
12:05:29 <fizzie> It might be a statement of some sort.
12:05:54 <fizzie> Some sort of protest, maybe?
12:06:41 <fizzie> I've heard some grumblings like that.
12:06:59 <oklofok> it's a very concrete question whether RE and R are closed under homomorphisms and inverse homomorphisms
12:07:38 <fizzie> Then again, ours is a *technical* university, not some fancy-pants science-making factory.
12:07:54 <fizzie> Is a technical university technically not an university?
12:08:30 <oklofok> i'm not exactly sure how technical universities differ from normal ones
12:08:56 <oklofok> our cs department does a lot of "non basic" research, like simply finding practical algos for medical purposes and shit
12:09:10 <oklofok> what's "perustutkimus" in english
12:09:36 <fizzie> I've seen "basic research" used. Or fundamental.
12:09:45 <oklofok> right. well they do a lot of non-that
12:10:37 <fizzie> Applied and eval'd research! Though I guess the latter doesn't really mean anything. :/
12:11:07 <oklofok> i guess it's eval'd after peer review
12:11:59 <fizzie> A beer-reviewed journal is a good place to publish in.
12:12:01 <oklofok> althoughi'm not sure that's a very intelligent play on words
12:12:24 <oklofok> that joke must be used a lot in student magazines
12:13:50 <fizzie> Results 1 - 10 of about 105 for "beer-reviewed journal". It is not so clever, no.
12:14:26 <fizzie> The google summary-snippets are sometimes very interesting. "For more on this subject see my beer-reviewed journal article entitled Earth, Earth, the Magical Fruit. Our current climate computer model accurately ..."
12:15:42 <oklofok> okay i've been trying to get up and get food for 20 minutes now
12:17:47 <fizzie> Misread "oklofok fries", possibly because that's not such an unlikely act for the topic of food-getting.
12:19:01 <oklofok> i mostly microwave things.
12:19:53 <oklofok> especially when i haven't slept
12:20:08 <oklofok> if i tried to use the more technical machines
12:20:16 <fizzie> Fry, you fools. Somehow today my brain is wired to generate phrases like that without explicitly trying to, and I can't seem to turn it off.
12:21:36 <oklofok> i think it was in the trailer of mcdonald's - the movie
12:31:57 -!- facsimile has joined.
12:58:46 -!- puzzlet_ has joined.
13:12:16 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
14:01:04 <ais523> ooh, apparently they're adding function pointers to Java
14:03:18 <AnMaster> really? what's wrong with passing a class around all the time?
14:03:51 <ais523> AnMaster: have you ever /written/ Java?
14:04:12 <ais523> basically, it avoids four lines of boilerplate every time you want to create any sort of callback
14:04:15 <AnMaster> ais523, no. But I have read it.
14:04:26 <AnMaster> ais523, and duh. I wasn't serious
14:04:39 <ais523> facsimile: yes, but O(1) is still annoying when you have to write it n times
14:05:03 <facsimile> That's only O(n), if you work on a team that's easily resolved
14:06:09 <ais523> facsimile: it's still worse than the alternative
14:06:28 <ais523> one of the things people should learn from computer science is that O(n^3) is faster than O(1) for small enough n and large enough 1
14:06:53 <AnMaster> ais523, can't you make a macro to do it
14:07:02 <AnMaster> you could in theory use a preprocessor for java
14:07:09 <ais523> AnMaster: that would be horrific style, and also you'd need to run a separate preprocessor
14:07:18 <AnMaster> ais523, yes I said that just above
14:07:24 <ais523> although, that kind-of makes me want to write .java.m4 files now
14:07:37 <AnMaster> ais523, I was thinking about abusing cpp
14:07:46 <ais523> meh, m4 is better if you want to abuse something, it's Turing-complete
14:08:06 <ais523> I could combine it with my indentation style designed to annoy everyone equally
14:08:13 <ais523> and create a language designed to annoy everyone equally
14:08:21 <ais523> (the m4 would annoy Java fans, the Java would annoy everyone else)
14:08:31 <AnMaster> yay for this web mail system. I have a limit of 50 MB, of which I'm currently using -506KB
14:08:54 <AnMaster> it's "Sun ONE Messenger Express", used for the university
14:08:54 <ais523> it would be incredibly funny if it were storing the number of bytes used in a signed 32-bit integer
14:09:05 <ais523> and not /quite/ outside the realm of plausible stupidity
14:09:17 <AnMaster> ais523, adding up the column for all mails in the inbox give me plus 506 KB
14:09:34 <ais523> I like my explanation better
14:09:37 <AnMaster> ais523, so just the sign is inverted somewhere
14:13:07 <AnMaster> ais523, in a formal English letter, what would you write above your name? "Regards"?
14:13:22 <ais523> AnMaster: there's a complicated set of rules that nobody can remember
14:13:30 <ais523> apart from people who write formal letters for a living
14:14:01 <ais523> IIRC it's either "Yours sincerely" or "Yours faithfully" depending on what form of address you used for the recipient up near the top
14:14:06 <AnMaster> ais523, well, lets say I'm writing to one of the teachers at university, one who happens to not be a native Swedish speaker and prefers to receive mail in English thus.
14:14:06 <ais523> but I forget the exact circumstances
14:14:23 <ais523> AnMaster: is there a need for the letter to be really formal?
14:14:52 <AnMaster> ais523, well, I guess you could go even more formal.
14:15:26 <AnMaster> ais523, as for address at the top, it is an email ;P
14:15:51 <AnMaster> (I guess that wasn't what you meant)
14:16:40 <ais523> AnMaster: see http://en.wikipedia.org/wiki/Valediction#English
14:17:20 <ais523> AnMaster: it's the name for the bit at the bottom of a letter where you sign your name
14:17:37 <ais523> anyway, going off to a meeting for a while
14:24:10 <AnMaster> ais523, funny thing: Now when I sent an additonal mail the count went down further. It seems that I actually get -512 KB when I take (sum of sizes of mails in "Inbox") - (sum of sizes of mails in "Sent").
14:24:35 <AnMaster> I have no idea what would happen if I used any other folder
14:24:52 <AnMaster> maybe it would divide or multiply by them? XD
15:12:24 <ais523> oh well, basic rule for formal letters is "yours sincerely" when you know the other person's name, and "yours faithfully" when you don't
15:15:28 -!- FireFly has quit ("Later").
15:21:57 -!- puzzlet_ has quit (Remote closed the connection).
15:22:01 -!- puzzlet has joined.
15:22:51 -!- augur has quit (Read error: 110 (Connection timed out)).
15:28:05 -!- migomipo has quit ("Page closed").
15:45:29 -!- augur has joined.
16:21:48 -!- puzzlet has quit (Remote closed the connection).
16:21:54 -!- puzzlet has joined.
16:53:44 -!- MigoMipo has joined.
16:59:57 -!- Pthing has quit (Read error: 110 (Connection timed out)).
17:24:25 -!- ais523 has quit (Remote closed the connection).
17:27:37 -!- kar8nga has joined.
18:08:56 -!- adam_d has joined.
18:34:37 -!- adam_d has quit (Read error: 113 (No route to host)).
19:03:53 -!- adam_d has joined.
19:07:27 -!- Gracenotes has quit ("Leaving").
19:14:28 -!- |MigoMipo| has joined.
19:20:48 -!- MigoMipo has quit (Read error: 60 (Operation timed out)).
19:46:58 -!- sebbu has joined.
19:54:17 -!- puzzlet_ has joined.
19:57:09 -!- puzzlet has quit (Read error: 145 (Connection timed out)).
20:01:50 -!- |MigoMipo| has changed nick to migomipo.
20:04:52 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
20:43:18 -!- oerjan has joined.
20:54:54 -!- MizardX- has joined.
20:55:33 -!- adam_d_ has joined.
20:57:19 -!- adam_d has quit (farmer.freenode.net irc.freenode.net).
20:57:19 -!- MizardX has quit (farmer.freenode.net irc.freenode.net).
20:57:20 -!- pikhq has quit (farmer.freenode.net irc.freenode.net).
20:57:20 -!- Leonidas has quit (farmer.freenode.net irc.freenode.net).
20:58:23 -!- MizardX- has changed nick to MizardX.
20:58:50 <AnMaster> read it before I went away to eat
20:59:09 <AnMaster> oerjan, also I just saw the most horrible pun in a product name in Swedish
20:59:20 -!- adam_d has joined.
20:59:20 -!- Leonidas has joined.
20:59:20 -!- pikhq has joined.
21:00:03 <AnMaster> vet du vad "nässprej" är? (Är det samma på norska?)
21:00:24 <AnMaster> i alla fall så såg jag en sådan med namnet "Renässans"
21:00:34 -!- pikhq_ has joined.
21:00:51 <oerjan> i think that's a double pun... ren- also has something to do with nose
21:01:08 <AnMaster> oerjan, in fact it was: "Renässans Plus+"
21:01:41 <AnMaster> oerjan, "rhin-"? not in Swedish at least. Maybe latin?
21:01:56 <oerjan> there's one such spray called rhinox
21:02:16 <AnMaster> oerjan, what do you call such a spray in English?
21:02:52 <oerjan> heh it's also a transformers character
21:03:30 <oerjan> http://en.wikipedia.org/wiki/Nasal_spray
21:04:53 -!- iamcal has quit.
21:06:19 <AnMaster> fizzie, where did you get that from?
21:07:02 <fizzie> It was this Assembly 99 "wild demo" compo (basically a movie of anything at all) third-place-winner.
21:07:18 -!- adam_d has quit (Nick collision from services.).
21:07:21 -!- adam_d_ has changed nick to adam_d.
21:08:45 <fizzie> It was about an imaginary nose hair trimmer tool. (In fact it was a small one of those "plasma lamps" -- http://en.wikipedia.org/wiki/Plasma_globe -- you must've seen one. You sort of rubbed your nose against it, and presumably it removed some nose hair or something.)
21:08:55 <fizzie> (It also came with a full-sized car battery. Mobility!)
21:09:22 <fizzie> (Disclaimer: the description is based on my very fallible and vague memories; I haven't been able to find the video file anywhere.)
21:09:44 <fizzie> Wait, it's in youtube now.
21:09:54 <fizzie> Uploaded September 14, 2009. That's synchronicity for you!
21:10:14 <oerjan> Notable side effects: May set your nose hairs on fire. If so, try sneezing.
21:10:16 <fizzie> http://www.youtube.com/watch?v=AleEMZl5bQI -- it is unfortunately only in Finnish, I think. (I don't have speakers connected.)
21:10:28 <AnMaster> fizzie, err... what was the point of that video
21:10:39 -!- cal153 has joined.
21:10:51 <fizzie> And in fact it doesn't seem to be just a nose hair trimmer; it helps in any nose-related problems.
21:11:59 -!- pikhq has quit (Connection timed out).
21:12:07 <fizzie> What's that word? http://en.wikipedia.org/wiki/Sketch_comedy
21:13:36 <fizzie> Here's a completely irrelevant bit of trivia: I think that female "announcer" person is the daughter of the former (and longtime) editor-in-chief of Finland's arguably largest computer-tech-related magazine.
21:15:12 <fizzie> (333000 readers, a circulation of 93364 copies.)
21:17:25 <AnMaster> fizzie, what was the "Assembly 99 "wild demo"" thingy about?
21:17:45 -!- Leonidas has quit (farmer.freenode.net irc.freenode.net).
21:19:20 <fizzie> Well, that's where that video was an entry in.
21:19:22 -!- Leonidas has joined.
21:19:39 <AnMaster> fizzie, and what was "assembly 99" about?
21:19:47 <AnMaster> not about assembly programming I guess?
21:19:54 <Deewiant> Assembly is a demoparty, 99 is the year 1999.
21:19:58 <fizzie> A demoscene party thing; I'm *sure* I've mentioned Assembly here.
21:20:53 <AnMaster> fizzie, I'm unable to see what this video had to do with "assembly programming" and "demo". I would expect some computer generated 3D thingy or such instead.
21:21:55 <fizzie> Well, like I said, it's a wild compo entry.
21:21:56 <fizzie> Those can be anything.
21:21:59 <fizzie> Usually some fraction is just generic parody video style stuff.
21:22:17 <fizzie> And others are very vaguely computer-related, and some more directly.
21:22:29 <fizzie> Though they've been messing around with the categories lately.
21:23:09 <fizzie> Youscope was a not too shabby one; it was a demo-style thing displayed on the screen of an oscilloscope connected to a computer sound card.
21:23:35 <fizzie> http://www.youtube.com/watch?v=s1eNjUgaB-g and so on.
21:25:27 <fizzie> Currently (well, in 2009) the category split was so that "Real Wild demo" entries must be "anything that can run realtime graphics", and there was a separate "short film" category for not-programmed stuff.
21:26:59 <SimonRC> "Most soundcards (and other players) seem to have a lowpass filter at about half of the samplerate" <-- that sounds rather like Information Theory 101
21:30:04 <fizzie> The Nyquist-Shannon sampling theorem part is unarguably "Information Theory 101" content; but it is a non-obvious consequence (though admittedly not so unexpected) that people actually add separate low-pass filters in.
21:31:11 <SimonRC> What would the low-pass filter block? Surely the card can't produce any frequencies above half the sample rate?
21:31:20 <SimonRC> unless it blocks the sharp transitions
21:31:33 <fizzie> I'm not quite sure; for recording it obviously makes sense.
21:36:58 <fizzie> It *might* (and this is pure speculation) be there to filter out any D/A converter-caused high-frequency artifacts or noise, since (like you say) only the frequencies below half the sample rate can possibly contain any meaningful information.
21:37:34 <SimonRC> e.g. to turn the steppiness of the digitiser into smooth waves
21:37:51 <SimonRC> but we *want* the steppiness for the oscilloscope
21:39:30 <fizzie> I've completely forgotten all the low-level signal processing delta-sigma-based DAC constructions. "A typical DAC converts the abstract numbers into a concrete sequence of impulses that are then processed by a reconstruction filter using some form of interpolation to fill in data between the impulses." It might be that the reconstruction filter is tuned to drop high frequencies there.
21:58:09 <AnMaster> fizzie, how did they manage those shapes? I wasn't aware they could do that
21:59:19 <SimonRC> which means you just plot points with an appropriate signal
22:01:20 <AnMaster> SimonRC, do those things use CRTs or what?
22:03:26 <SimonRC> oscilloscopes use CRTs traditionally
22:05:11 -!- kar8nga has quit (Remote closed the connection).
22:14:37 <fizzie> Yes, they pretty much linearly map the input voltages into X/Y deflection.
22:14:45 <fizzie> Though modern ones are pretty digital.
22:15:45 <AnMaster> fizzie, about x/y how would you use voltage for *both*?
22:16:05 <fizzie> Well, for both in the XY mode; like Youscope did.
22:16:17 <SimonRC> one from the left channel, one from the right
22:16:18 <fizzie> Left and right stereo channels in this case.
22:17:04 <fizzie> There's something so romantic about oscilloscopes.
22:17:09 <fizzie> All those knobs to twiddle, you know.
22:18:18 <fizzie> Best part of the electronics lab course, and the DSP hardware course, was that one got to mess around with an oscilloscope.
22:20:41 <fizzie> Oh, and they sell those PC-based "oscilloscopes", or data-acquisition devices, nowadays; now that's as boring as anything, just a block you connect wires to, an USB cable to, and then run some messy Windows GUI app.
22:21:20 <SimonRC> custom hardware is so much more fun!
22:21:40 <AnMaster> it would be ok if it worked with linux
22:22:05 <fizzie> AnMaster: Well, it's not like I have done a thorough study; some of them might have Linux capabilities too.
22:22:12 <fizzie> For some reason my work email address gets a lot of spam about data acquisition devices, though.
22:23:56 <fizzie> "Windows® 7, Vista, XP or Windows® 2000 operating system" for the first google-hit, USBee: http://www.usbee.com/dx.html#PC
22:24:41 <fizzie> Of course those can do a lot more tricks than your old 1970s CRT oscilloscope; for example, decode and visualize communications protocols.
22:26:07 <fizzie> "Linux drivers for PicoScope 2000, 3000 and 5000 Series USB Oscilloscopes
22:26:07 <fizzie> At Pico we were one of the first test and measurement companies to provide Linux drivers. We hope that these new drivers for the PicoScope 2000, 3000 and 5000 Series of USB Oscilloscopes demonstrates our continued commitment to the Linux platform.
22:26:07 <fizzie> These drivers have been extensively tested on Fedora 8, Ubuntu 8.04 and openSUSE 10.3."
22:26:18 <fizzie> Well, it's not *completely* Windows-only.
22:26:46 <fizzie> Of course the drivers are binary-only blobs and possibly do not include any sort of real application in there.
22:27:10 -!- pikhq_ has changed nick to pikhq.
22:30:17 <pikhq> Hmm. Chrome OS source available...
22:31:00 <pikhq> May have to play with it sometime later.
22:49:11 -!- Gracenotes has joined.
22:51:12 -!- adam_d_ has joined.
22:55:06 -!- migomipo has quit ("co'o rodo").
23:01:55 -!- immibis has joined.
23:06:39 -!- adam_d_ has quit ("Leaving").
23:09:20 -!- adam_d has quit (Read error: 110 (Connection timed out)).
23:12:39 -!- Rugxulo has joined.
23:18:46 <SimonRC> better than the time I tried to login in as root and run shutdown without turning the screen on
23:18:57 -!- coppro has joined.
23:22:41 <SimonRC> ** ERROR: Too much concurrent IRC input. Shedding load. **
23:26:07 <immibis> i hope that channel wasn't logged, SimonRC?
23:33:43 -!- puzzlet_ has quit (Remote closed the connection).
23:33:47 -!- puzzlet has joined.
23:42:42 <oerjan> nom-icers may not be unheard of either
23:53:25 <Rugxulo> apparently ais523 hasn't been here in about six hours
23:53:36 <Rugxulo> oh well, nothing hugely important to report anyways ;-)
23:56:15 -!- Sgeo has joined.
00:08:05 -!- puzzlet has quit (Remote closed the connection).
00:08:14 -!- puzzlet has joined.
00:13:03 -!- iamcal has joined.
00:33:57 -!- cal153 has quit (Read error: 113 (No route to host)).
00:37:57 -!- Rugxulo has left (?).
00:49:28 -!- BeholdMyGlory has quit (Remote closed the connection).
01:10:40 -!- coppro has quit (Read error: 110 (Connection timed out)).
01:12:40 <facsimile> any sufficiently long string on an alphabet of 22 (or 26 or any size) has Unavoidable regularities
01:13:44 -!- Gracenotes has quit (Remote closed the connection).
01:13:59 <oerjan> facsimile: http://en.wikipedia.org/wiki/Ramsey_theory
01:15:56 <oerjan> no such term in the article
01:16:19 <oerjan> not that i read it first, your comment just reminded me of this
01:17:39 <facsimile> Suppose, for example, that we know that n pigeons have been housed in m pigeonholes. How big must n be before we can be sure that at least one pigeonhole houses at least two pigeons? The answer is the pigeonhole principle: if n > m, then at least one pigeonhole will have at least two pigeons in it. Ramsey's theory generalizes this principle as explained below.
01:18:21 <oerjan> n and m are integer variables
01:19:56 <oerjan> well, natural number variables
01:20:49 -!- Gracenotes has joined.
01:21:29 <oerjan> Van der Waerden's theorem mentioned there seems like it applies to such strings on alphabets (set letters = colors)
01:30:14 -!- coppro has joined.
01:31:44 -!- Asztal has joined.
01:32:05 -!- Gracenotes_ has joined.
01:34:53 -!- Gracenotes has quit (Nick collision from services.).
01:34:55 -!- Gracenotes_ has changed nick to Gracenotes.
01:54:14 -!- facsimile has quit (Client Quit).
01:54:53 -!- facsimile has joined.
02:30:17 -!- augur has quit (Read error: 110 (Connection timed out)).
02:32:46 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:43:13 -!- facsimile has quit (Client Quit).
02:43:52 -!- facsimile has joined.
02:53:36 -!- Gracenotes has quit (Connection timed out).
02:53:40 -!- facsimile has quit (Read error: 54 (Connection reset by peer)).
02:53:52 -!- facsimile has joined.
02:55:09 -!- Gracenotes has joined.
03:01:58 -!- augur has joined.
03:32:06 -!- oerjan has quit ("Good night").
03:46:42 -!- facsimile has quit (Client Quit).
04:47:09 -!- Pthing has joined.
04:51:17 -!- Gracenotes has quit (Connection timed out).
04:52:52 -!- Gracenotes has joined.
04:54:34 -!- Gracenotes has quit (Remote closed the connection).
04:56:38 -!- Gracenotes has joined.
05:02:11 -!- Gracenotes has quit (Remote closed the connection).
05:03:51 -!- Gracenotes has joined.
05:12:53 -!- Gracenotes has quit ("Leaving").
05:29:37 -!- coppro has quit (Remote closed the connection).
05:30:13 -!- coppro has joined.
05:41:55 -!- Gracenotes has joined.
06:41:48 -!- coppro has quit ("I am leaving. You are about to explode.").
07:16:05 -!- puzzlet_ has joined.
07:18:59 -!- puzzlet has quit (Read error: 145 (Connection timed out)).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:40 -!- immibis has quit ("ChatZilla 0.9.85 [Firefox 3.5.5/20091102152451]").
08:29:21 -!- Slereah has joined.
08:30:58 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
09:07:55 -!- MigoMipo has joined.
09:08:13 <MigoMipo> Oops, missed the / buttom again!
09:13:47 <AnMaster> MigoMipo, I think "key" is more usual for the keyboard buttons :P
09:17:19 <AnMaster> MigoMipo, are you by any chance from Sweden. considering /whois output
09:17:43 <AnMaster> if so I think I can add another Swede to the list in this channel. Hurra!
09:18:06 <MigoMipo> Yay! Hur många svenskar är det i kanalen?
09:18:56 <AnMaster> hm... Jag, du, Firefly, olsner, och kanske någon jag missade som inte är här så ofta.
09:19:22 <AnMaster> I still think there are more Finns than Swedes though
09:24:00 <fizzie> I'm not so sure about that; there's just me, Deewiant, Ilari and ineiros. That I know, anyway.
09:24:38 <fizzie> He's just so unnoticeable!
09:26:28 <fizzie> And maybe you can count fungot as Finnish too, though he definitely hasn't got nationality officially.
09:26:29 <fungot> fizzie: they say that the ladies were accustomed to wearing luxurious clothings and so he flew along the row stinging all the nicest things in this dungeon.
09:26:55 -!- Asztal has joined.
09:27:02 <fizzie> "They" say curious things.
09:29:07 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher ic irc jargon lovecraft nethack* pa speeches ss wp youtube
09:29:27 <AnMaster> fizzie, yeah what the hell was that a mix of
09:30:56 <fizzie> Just a moment, collecting evidence.
09:35:34 <fizzie> "They say that" from one of the rumours, "that the ladies were accustomed to" from T.H. White via the 'cornuthaum' description, "accustomed to wearing luxurious clothings and so he" from Master Kaen description (about I-Hsiu), "he flew along the row stinging all the" from 'xan' description, "all the nicest things in this" from C.S. Lewis via 'orange' and finally "this dungeon" from one of two rumours that contain it.
09:36:59 <AnMaster> fizzie, yeah the first and the last parts were not very strange
09:37:19 <fizzie> Quite a collection. I would have though at least the "ladies were accustomed to wearing luxurious clothings" part would've come from one source, since it was so coherent, but apparently not.
09:56:18 -!- Sgeo has quit (Read error: 110 (Connection timed out)).
10:00:48 -!- clog has joined.
10:00:48 -!- clog_ has joined.
10:14:03 -!- clog has quit (Read error: 110 (Connection timed out)).
10:14:03 -!- clog_ has changed nick to clog.
10:45:31 <AnMaster> sigh, why isn't oerjan here when you "need" him,.
10:50:42 <fizzie> s#m,/m#,\./.# -- it's more cryptic-looking that way, and works as well.
10:51:35 <AnMaster> fizzie, would that be applied to the regex correcting the regex?
10:52:18 <AnMaster> fizzie, it would be even more cryptic looking if you used / in the correction of the correction :P
10:52:55 <fizzie> I guess so, but since you already started with the non-standard delimiters, I just used my own standard non-standard one.
10:53:54 <AnMaster> fizzie, just because I was lazy, I considered using / to begin with
10:54:26 <AnMaster> what if you used . for the delimiter
10:55:25 <AnMaster> and what about using \ for the delimiter
10:56:46 <AnMaster> s/./a/ seems to map to s.\..a.
10:57:02 <AnMaster> but I'm unable to get something that is s/\./a/ using . for deimilter
10:57:41 <fizzie> At least with \ as the delimiter, my sed seems to do it but then you can't use any escapes in there.
10:58:10 <AnMaster> fizzie, right. haven't tried \ as delimiter yet
10:58:20 <AnMaster> and if you have gnu sed I won't need to either
10:59:52 <fizzie> GNU sed version 4.1.5. It's a bit strange, though, that s.\..a. works like s/./a/. I would have guessed it to do s/\./a/, but it doesn't.
10:59:58 <fizzie> Don't know how to get a literally-matching-a-. when . is the delimiter.
11:00:31 <AnMaster> fizzie, probably a "don't do this then"
11:01:13 <fizzie> Er, well; you can do s.[\.].a. to get s/\.a/a/-like behaviour.
11:01:15 <AnMaster> fizzie, another funny delimiter would be s
11:02:14 <fizzie> Non-punctuation delimiters look pretty strange, especially with options. "ss\.sasg" doesn't exactly seem so regexpy at first glance.
11:02:35 <AnMaster> fizzie, does gnu sed have the ability to do negative lookbehind?
11:02:45 <AnMaster> $ echo ss\ss/sg | sed 'ss\ss/sg'
11:02:56 <AnMaster> (oh and I think irc client ate one / there)
11:03:22 <fizzie> I don't think it does much more than POSIX basic regular expressions.
11:03:39 <AnMaster> no way to match s not preceded by \ then
11:03:51 <AnMaster> anyway even with negative lookbehind you couldn't handle \\
11:03:55 <fizzie> Or POSIX extended with the "-r" flag, but those aren't *that* much extended.
11:05:35 <fizzie> You can't match "s not preceded by \", true, but you can match "start of line or a non-\ character in subgroup 1, followed by s", and then use \1 backref in the substitution; that is usually enough.
11:06:03 <AnMaster> hm should try to find some existing English word that forms a valid sed expression
11:07:28 <fizzie> Here's one posix BRE that changes any unescaped s's into X's, though it fails for "\\s".
11:07:33 <fizzie> htkallas@pc112:~$ echo 's foo \s bar s and s' | sed -e 's:\(^\|[^\\]\)s:\1X:g'
11:07:33 <AnMaster> grep -E '^s([a-z]).*\1.*\1g?$' /usr/share/dict/words
11:08:16 <AnMaster> also that is one weird word in that list: "symphytically"
11:08:21 <AnMaster> I'm pretty sure it isn't spelled that way
11:09:10 <fizzie> My /usr/share/dict/words has just 39 matches, with no "symphytically" in it.
11:10:08 <AnMaster> /usr/share/dict/README claims mine is
11:10:11 <fizzie> Anyway, "sentence" I could see used somewhere; s/nt/nc/ sounds like something someone has done. Would be a nice obfuscation trick to replace that with "$foo =~ sentence;"
11:11:27 <AnMaster> fizzie, the list I get is http://sprunge.us/eUWI
11:11:38 <fizzie> Ubuntu "wamerican" package: "The Debian English word lists (wamerican*, wbritish*, wcanadian*) -- are all built from the upstream SCOWL word lists."
11:11:45 <fizzie> It's a bit small list.
11:13:21 <AnMaster> fizzie, severe also sounds probable. s/v/r/
11:14:18 <AnMaster> with corrected regex I get 253 matches (.+ instead of .*)
11:14:33 <AnMaster> hm also I think that really should be [^\1+]
11:20:41 <fizzie> Meh, I can't find type counts for our text corpuses; we have this LDC Gigaword corpus, built out of about 1756504000 whitespace-separated tokens of English, I'm sure you could make quite a large word list out of that one.
11:20:56 <AnMaster> grep -E '^s([a-z]).+\1.+\1g?$' /usr/share/dict/words | grep -Ev '^s([a-z]).*\1.*\1.*\1'
11:25:14 <fizzie> perl -ne 'print if /^s([a-z])(?:(?!\1).)+\1(?:(?!\1).)+\1g?$/;' < /usr/share/dict/words
11:25:19 <fizzie> If you want to do it with a single regex.
11:25:24 <fizzie> It's not exactly pretty that way.
11:26:51 <AnMaster> fizzie, hah. what is ?: now again... Non-capturing?
11:27:24 <fizzie> ?: is the non-capturing group, right, you could use plain () there just fine. And ?! is the negative zero-width lookahead.
11:28:09 <fizzie> So (?:(?!\1).)+ will match one of more "any character"s, as long as the contents of the first group don't start at that point.
12:01:13 -!- |MigoMipo| has joined.
12:02:00 -!- MigoMipo has quit (Nick collision from services.).
12:02:18 -!- |MigoMipo| has changed nick to migomipo.
12:05:43 -!- FireFly has joined.
12:26:31 -!- Azstal has joined.
12:30:25 -!- Asztal has quit (Read error: 60 (Operation timed out)).
12:30:26 -!- Azstal has changed nick to Asztal.
12:52:19 -!- migomipo has quit ("co'o rodo").
13:01:53 -!- FireFly has quit ("Later").
14:03:02 -!- augur has quit (Read error: 131 (Connection reset by peer)).
14:18:56 -!- BeholdMyGlory has joined.
14:24:38 -!- ineiros_ has joined.
14:32:32 -!- ineiros has quit (Read error: 113 (No route to host)).
14:36:16 -!- FireFly has joined.
14:41:07 -!- oerjan has joined.
14:44:34 <oerjan> <AnMaster> sigh, why isn't oerjan here when you "need" him,.
14:58:44 <oerjan> DOIOF doesn't often get work, but when he does he really gets overworked...
15:00:46 <AnMaster> oerjan, has anyone actually died *permanently* from him yet?
15:01:37 <oerjan> that black guy in james stud, i think
15:02:15 <oerjan> although what happened to him when the universe was restarted, hm... oh wait that theme was the only one not affected
15:03:42 <AnMaster> oerjan, has there been any crossovers at all with the james stud theme and any other theme?
15:04:43 <oerjan> Me and Death are the only ones listed
15:05:10 <oerjan> oh wait also imperial rome
15:05:15 -!- augur has joined.
15:05:50 -!- MigoMipo has joined.
15:06:00 <oerjan> well that was really a dubious one
15:06:43 <oerjan> ah, except it shows DOIOF _was_ cheated out of even that one, after the fact :D
15:06:53 <AnMaster> oerjan, imperial rome/espionage crossover or what?
15:07:12 <AnMaster> I'm unable to find it in the list
15:07:12 <oerjan> http://www.irregularwebcomic.net/1178.html
15:07:38 <oerjan> AnMaster: the list is triangular to avoid duplicates, you have to look both horizontal and vertical
15:07:48 <AnMaster> oerjan, yeah I did, but I was one column off
15:09:15 <AnMaster> oerjan, anyway there are lots of possible ways to continue even after he got all possible crossovers. Like differentiating "crossover with two" and "crossover with three"
15:09:45 * AnMaster wonders how many combinations you would get that way...
15:10:01 <AnMaster> oerjan, sounds like something for you to calculate
15:10:47 <oerjan> 2^number of themes - 1
15:11:44 <AnMaster> so space/fantasy space/death fantasy/death space/fantasy/death are all separate.
15:11:58 <oerjan> 2^number of themes - number of themes - 1
15:12:02 <AnMaster> of course fantasy/space and space/fantasy would be the same
15:12:15 <oerjan> forgot to subtract singular themes
15:12:40 -!- oklofok has quit ("( www.nnscript.com :: NoNameScript 4.2 :: www.regroup-esports.com )").
15:12:59 <AnMaster> oerjan, you could have crossover with itself actually. For those that had time travel.
15:13:15 <AnMaster> space would have had that already
15:13:37 <AnMaster> there was that telephone booth thingy
15:13:54 <AnMaster> not sure what happened to it after end of universe
15:14:18 <oerjan> but if you do that there is no limit, since you can crossover any number of copies of a theme
15:15:16 <AnMaster> oerjan, maybe each theme can appear 0-2 times? How many possibilities is there then? As in space/space/fantasy/death/death and such?
15:15:35 <oerjan> 3^number of themes - number of themes - 1
15:15:38 <AnMaster> (that would be rather contrived!)
15:16:48 <AnMaster> for simple crossover (no self-crossover) there would (if I counted correctly) be 2^16-16-1 possible crossovers
15:17:13 <AnMaster> how many years would it take if he started today and managed one such every day?
15:17:59 <oerjan> just divide by 365.2425
15:18:38 <AnMaster> something like 179.384... years
15:22:22 -!- facsimile has joined.
15:50:37 -!- oerjan has quit ("leaving").
16:08:05 <AnMaster> today I was able to access a machine with SSE 4.2
16:08:19 <AnMaster> that has the new CRC32c hardware thingy
16:08:51 <AnMaster> so I tried to use that for cfunge (removing use of static area temporarily to be able to see how much was gained in the hash library part)
16:09:30 <AnMaster> for pure hash on that system mycology took and average of 0.055 seconds when using old CRC code
16:09:40 <AnMaster> with the hardware bit it was down to an average of 0.035
16:09:53 <AnMaster> with static area it runs at around 0.020 on that
16:10:02 <Deewiant> Aye, that kind of speedup can be expected
16:10:05 <AnMaster> it's a dual CPU (each quad core) system
16:10:21 <Deewiant> Which doesn't really matter since cfunge is single-threaded
16:10:23 <AnMaster> Deewiant, /proc/cpuinfo is 400 lines long on that
16:10:33 <AnMaster> Deewiant, yes but make -j16 takes like 2 seconds!
16:10:44 <AnMaster> model name : Intel(R) Xeon(R) CPU E5520 @ 2.27GHz
16:10:54 <Deewiant> Oh, does cpuinfo list the hyperthreads as well?
16:11:22 <Deewiant> That explains that; I was wondering why it was that long
16:11:59 <AnMaster> Deewiant, with static area it is only marginally faster than my core 2 duo laptop
16:12:21 <AnMaster> (which is: model name : Intel(R) Core(TM)2 Duo CPU P8400 @ 2.26GHz)
16:12:38 <Deewiant> Yep, since funge code tends to stress memory more than CPU
16:12:52 <AnMaster> Deewiant, the xeon has larger cache though
16:13:00 <AnMaster> Deewiant, and is less loaded currently
16:13:09 <Deewiant> Hence it's marginally faster, not slower.
16:13:48 * AnMaster waits for a CPU where the entire mycology can fit inside L2 (or L3)
16:14:00 <Deewiant> Funge access patterns aren't the linear kind that CPU caches like, so it doesn't help that much unless it fits everything
16:14:40 <AnMaster> Deewiant, well, in the static area you will get linear when you go < or > but not other directions
16:14:47 <AnMaster> (as it is stored currently I mean)
16:15:00 <AnMaster> of course that won't help for reading data from elsewhere
16:15:09 <Deewiant> Yes, but that typically lasts for at most a couple dozen accesses, not hundreds.
16:15:17 <Deewiant> And then you're jumping randomly again.
16:15:30 <Deewiant> And yes, good point, p and g and their cousins will mess things up as well.
16:15:50 <AnMaster> and hash libraries are very unfriendly anyway
16:16:30 <Deewiant> Yes, I was thinking only of array storage.
16:16:56 <AnMaster> Deewiant, btw you can't use valgrind on the hardware CRC32 one
16:17:10 <AnMaster> vex amd64->IR: unhandled instruction bytes: 0xF2 0x48 0xF 0x38 0xF1 0x7
16:17:33 <AnMaster> (currently, I assume this will be fixed soon)
16:17:46 <AnMaster> (me should try out trunk on that system and then possibly report a bug
16:17:57 <AnMaster> that was supposed to be / not (
16:20:10 <AnMaster> Deewiant, anyway, as far as I can tell it works but I don't trust it to be correct. Like: I have been unable to find if the initial value should be something specific or such
16:20:28 <AnMaster> (like it should for normal crc
16:23:52 <AnMaster> heh I think I can reduce it even more by making it inline it instead...
16:25:44 -!- Pthing has changed nick to |prettyboy.
16:26:01 -!- |prettyboy has changed nick to Pthing.
16:35:01 -!- FireFly has quit ("Later").
17:12:50 -!- kar8nga has joined.
17:34:40 -!- puzzlet_ has quit (Remote closed the connection).
17:34:48 -!- puzzlet has joined.
17:44:30 -!- Pthing has quit (Remote closed the connection).
18:17:30 -!- ais523 has joined.
20:25:51 -!- clog has joined.
20:25:51 -!- clog has joined.
21:01:29 -!- Sgeo has joined.
21:36:27 <AnMaster> I managed to find the reference/manual/extras CD for CodeWarrior on classic mac
21:36:36 <AnMaster> this seems to include a Perl for mac for example
21:36:54 <AnMaster> and a CodeWarrior<->MPW bridge of some sort
21:37:24 <AnMaster> oh and the experimental parts are stored in a funny folder name
21:39:13 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
21:45:38 <AnMaster> ais523, hey there is even an Eiffel compiler here
21:47:17 <ais523> AnMaster: it means that I've heard what you've said, and I think it's interesting, but I don't think any reply but ` is particularly necessary
21:47:46 <AnMaster> ais523, so the definition of it is recursive?
21:48:22 <ais523> AnMaster: not really, its definition mentions itself, not uses itself
21:48:44 <AnMaster> oh great an actual hex editor, that is useful, at one point I was seriously considering writing my own for MacOS
21:48:50 <ais523> sort of like a function void(*f)()(void) { return (void(*)())f; } in C
21:48:54 <ais523> which returns a pointer to itself
21:49:37 <AnMaster> ais523, there is a reason I use typedefs when dealing with function pointers in C
21:49:48 <AnMaster> and that is being able to understand what the heck is going on :P
21:49:52 <ais523> meh, they're not too hard once you get used to them
21:50:12 <ais523> although I might have missed a pair of parens in there somewhere
21:50:35 <AnMaster> it looks not like a function returning a function pointer
21:50:54 <Deewiant> Would you prefer void(*f)(void)(void)
21:51:10 <ais523> I'm using void(*)() as a generic function pointer type there
21:51:15 <Deewiant> Or might as well bracket it up a bit more and (void)(*f)(void)(void)
21:51:16 <ais523> as you aren't allowed to cast function pointers to non-function pointers
21:51:27 <AnMaster> Deewiant, a bit more readable. But I would actually use a typedef
21:51:40 <AnMaster> so I can just worry about that in one place
21:52:10 <AnMaster> ais523, also is that cast of f strictly necessary in the return? As far as I know it shouldn't be
21:52:22 <ais523> AnMaster: it is, can you work out why?
21:52:47 <ais523> AnMaster: it's to do with data types
21:52:59 <ais523> a function can't return a pointer to itself without casting it to an incompatible type
21:53:12 <ais523> as otherwise you'd need a type function returning (function returning (function returning (function returning...
21:53:22 <AnMaster> I always wondered why the name of the thing you were defining with function pointers were written in such a weird place
21:53:29 <ais523> and you need a cast to convert a pointer to a different incompatible one
21:53:34 <ais523> AnMaster: it's because the declaration reflects the use
21:53:50 <ais523> if you wanted to call the function returned by f, you'd write (*f)()();
21:54:21 <ais523> basically, the way you write the declaration is exactly the same as the code to get a basic data type out of it as an expression, possibly with extra voids added
21:56:33 <AnMaster> ais523, btw I'm using netscape in sheepshaver, because MSIE crashes it. (And there is only one other alternative and that is icab, which is shareware)
21:56:36 <Deewiant> ais523: Actually, the syntax you used to define the function /was/ wrong
21:57:07 <ais523> ah, thought I was missing a pair of parens somewhere
21:57:14 <ais523> but I'd accidentally put them in the wrong place
21:57:43 <fizzie> cdecl> explain void(*f)()(void);
21:57:44 <fizzie> declare f as pointer to function returning function (void) returning void
21:57:44 <fizzie> cdecl> explain void(*f())(void);
21:57:44 <fizzie> declare f as function returning pointer to function (void) returning void
21:58:34 <fizzie> I like cdecl's help texts: explain <gibberish>
21:59:14 <Deewiant> Hmmh, my cdecl binary at school no longer works due to missing libreadline version 5, and nobody's bothered to package it for Arch so I haven't bothered to install it at home
21:59:24 <fizzie> Later they define the nonterminal: "gibberish: a C declaration, like 'int *x', or cast, like '(int *)x'". The examples might not be very gibberishy, but I still like the word.
22:02:16 <fizzie> c++decl> declare x as array 4 of const pointer to member of class X function (pointer to function (int) returning int) returning void
22:02:16 <fizzie> void (X::* const x[4])(int (*)(int ))
22:02:23 <fizzie> Member-pointers are so wonky too.
22:03:42 <Deewiant> Not really, barely wonkier than the standard function pointers
22:04:11 <fizzie> I think it's pretty wonky how their sizes vary so very very much.
22:04:41 <Deewiant> Blame wonky compilers for that
22:05:02 <fizzie> I remember seeing a page about the various bits in there, but can't find it right now.
22:05:26 <Deewiant> http://www.codeproject.com/KB/cpp/FastDelegate.aspx is a good write-up.
22:05:33 <fizzie> Yes, I just got that opened.
22:05:47 <fizzie> It was probably exactly what I was thinking of.
22:06:06 <Deewiant> The writer has been patching the D compiler quite heavily lately.
22:08:10 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
22:09:50 -!- puzzlet has joined.
22:14:39 -!- oerjan has joined.
22:26:03 <ais523> wow, I think today's Dudley's Dungeon comic was written by someone with the writing style of zzo38
22:26:20 <ais523> "Your wish cannot be satisfacted because the computer is not yet invented, you playing NetHack would generate a paradox, it would be impossible for you to use a computer as there is no electricity here and finally that would be too expensive even for us."
22:26:34 <ais523> http://alt.org/nethack/dudley/?f=2009.11.20
22:44:16 -!- augur has quit (Read error: 110 (Connection timed out)).
22:48:27 -!- kar8nga has joined.
22:49:47 -!- MigoMipo has quit.
23:02:29 -!- augur has joined.
23:06:21 -!- ais523 has quit (Remote closed the connection).
23:38:19 -!- kar8nga has quit (Remote closed the connection).
00:02:50 <Gracenotes> extracting a 4GB .rar file has taken... about as long as expected >_>
00:04:41 <oerjan> size after decompression?
00:08:51 -!- FireFly has quit ("Later").
00:10:50 <Gracenotes> 4093296 bytes of rar files in 21 parts
00:11:57 <oerjan> um there's some magnitude error there...
00:12:27 <Gracenotes> hm, is it? 4246796/4093296 = 1.03750034
00:12:40 <oerjan> that's rather less than 4 GB
00:13:33 <Gracenotes> it's what du said. I didn't do anything else to the folders but download in one, and extract in another
00:13:57 <oerjan> du probably reports blocks, which may be kilobytes, or not
00:14:44 <Gracenotes> 4187257413 and 4344426496 respectively
00:15:21 <oerjan> that's more like it. not much of a compression...
00:16:38 <Gracenotes> I think it's pretty impressive when you realize that it already is a compressed video format
00:16:46 <oerjan> well i suppose the extracted VOBs are already compres.. right
00:17:23 -!- yaxu1 has quit (Read error: 110 (Connection timed out)).
00:17:32 <Gracenotes> both Totem and VLC aren't too happy about the 1024 MB files, but mplayer seems to be just fine
00:59:49 -!- adam_d has joined.
01:15:38 -!- iamcal has quit.
01:20:45 -!- cal153 has joined.
01:25:38 -!- BeholdMyGlory has quit (Remote closed the connection).
01:41:25 -!- bsmntbombdood has joined.
02:05:59 -!- augur has quit (leguin.freenode.net irc.freenode.net).
02:05:59 -!- Slereah has quit (leguin.freenode.net irc.freenode.net).
02:05:59 -!- Gracenotes has quit (leguin.freenode.net irc.freenode.net).
02:08:49 -!- augur has joined.
02:08:49 -!- Slereah has joined.
02:08:49 -!- Gracenotes has joined.
02:44:26 -!- adam_d has quit (Read error: 113 (No route to host)).
02:48:15 -!- puzzlet has quit (Remote closed the connection).
02:48:20 -!- puzzlet has joined.
03:31:30 -!- Gracenotes has quit (leguin.freenode.net irc.freenode.net).
03:31:30 -!- Slereah has quit (leguin.freenode.net irc.freenode.net).
03:31:30 -!- augur has quit (leguin.freenode.net irc.freenode.net).
03:35:23 -!- Slereah has joined.
03:35:39 -!- Gracenotes has joined.
03:35:41 -!- Slereah has quit (Killed by sagan.freenode.net (Nick collision)).
03:35:41 -!- augur has joined.
03:35:41 -!- Slereah has joined.
03:35:44 -!- Slereah_ has joined.
03:48:00 -!- Slereah has quit (Read error: 110 (Connection timed out)).
04:06:11 -!- facsimile has quit (Client Quit).
05:14:42 -!- madbr has joined.
05:26:16 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
05:52:09 -!- augur has quit (leguin.freenode.net irc.freenode.net).
05:52:34 -!- Pthing has joined.
05:56:52 -!- oerjan has quit ("Good night").
06:01:29 -!- augur has joined.
06:07:06 * madbr scratches his head
06:07:27 <madbr> ok, how do you make a sprite system for a console/computer platform
06:08:54 <madbr> specifically something 8 or 16 bit
06:13:06 <madbr> 2 and 4 color sprites (that makes 1 and 3 with transparency) are ugly
06:13:20 <madbr> gotta be at least 8 or 16 colors
06:14:52 <madbr> hblank has... about 40 avalable mem cycles. not enough.
06:16:44 <madbr> or at least not much... that's 80 or 100 pixels wide of sprites, out of 320x
06:18:41 <madbr> but using cycles for sound would reduce that...
06:19:13 <madbr> hypothetic solution 1: go for 16 bit
06:25:25 -!- Asztal has quit (Read error: 110 (Connection timed out)).
06:28:22 -!- Slereah has joined.
06:30:09 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
06:30:59 -!- coppro has joined.
06:58:29 -!- zzo38 has joined.
06:58:45 <zzo38> Do you people every play any kinds of pinball game?
07:00:10 -!- zzo38 has quit (Client Quit).
07:08:30 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
07:11:39 -!- adu has joined.
07:29:58 -!- bsmntbombdood has joined.
07:40:26 <Gregor> My PLDI paper is submitted.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:34 -!- madbr has quit ("Radiateur").
08:49:09 -!- adu has quit.
09:23:32 <Gregor> Programming Language Design and Implementation
09:23:37 <Gregor> It's a top-tier conference in PL.
09:42:59 -!- MigoMipo has joined.
09:47:07 <SimonRC> Gregor: what is the paper one?
09:47:22 <Gregor> The dynamic behavior of JavaScript programs.
09:49:08 -!- adam_d has joined.
09:49:28 -!- kar8nga has joined.
09:50:17 -!- BeholdMyGlory has joined.
10:29:36 -!- kar8nga has quit (Remote closed the connection).
10:38:42 -!- coppro has quit (leguin.freenode.net irc.freenode.net).
10:45:27 -!- coppro has joined.
10:45:27 -!- coppro has quit (Remote closed the connection).
11:03:33 -!- kar8nga has joined.
11:39:57 -!- rodgort has quit (Client Quit).
11:40:13 -!- rodgort has joined.
11:44:07 -!- bsmntbombdood has quit (Read error: 60 (Operation timed out)).
11:47:03 -!- MigoMipo has quit.
11:57:18 -!- bsmntbombdood has joined.
12:25:49 <AnMaster> huh what is this strtok_s that is mentioned in intel cpu docs. Context: Discussing a faster SSE4.2 replacement for strtok_s
12:26:03 <AnMaster> I never heard of any _s variant and there seems to be no man page about it
12:26:37 <AnMaster> only ones I can find are strtok() and strtok_r()
12:29:48 <fizzie> The _s variants are microsoftisms.
12:30:01 -!- MizardX has changed nick to MizardX-.
12:30:13 <fizzie> See, for example, http://msdn.microsoft.com/en-us/library/ftsafwz3%28VS.80%29.aspx
12:30:20 <AnMaster> or as in "buffer length handled better"
12:30:23 -!- MizardX- has changed nick to MizardX.
12:30:33 <AnMaster> fizzie, no X and last time I checked w3m failed *badly* at msdn
12:31:09 <AnMaster> hey it seems to work better in w3m now
12:31:19 <fizzie> Though in this case strtok_s seems mostly like strtok_r, since it takes that char** context pointer too.
12:31:37 <fizzie> It might be that they use _s for both "thread-safe" and "buffer-length-handled-better-safe".
12:32:52 <fizzie> "Significant enhancements have been made to make the CRT more secure. Many CRT functions now have more secure versions. If a new secure function exists, the older, less secure version is marked as deprecated and the new version has the _s ("secure") suffix."
12:32:58 <fizzie> Oh, so it's "_s" for "secure", not "safe".
12:33:37 <fizzie> That's from http://msdn.microsoft.com/en-us/library/8ef0s5kh%28VS.80%29.aspx which also explains what the enhancements are.
12:34:44 * AnMaster ponders what exactly "secure" means
12:35:57 <AnMaster> hey I think they could manage to claim it was related to DRM. Isn't that about security. Well not for the user of course.
12:51:19 -!- kar8nga has quit (Remote closed the connection).
13:15:29 -!- adam_d has quit ("Leaving").
13:18:46 -!- olsner has quit ("Leaving").
13:19:04 -!- olsner has joined.
13:48:49 -!- FireFly has joined.
14:40:04 -!- olsner has quit (Remote closed the connection).
14:41:16 -!- facsimile has joined.
14:42:01 -!- MigoMipo has joined.
14:45:08 -!- olsner has joined.
15:06:08 -!- kar8nga has joined.
15:09:13 -!- yaxu1 has joined.
15:11:16 -!- puzzlet_ has joined.
15:19:17 -!- yaxu1 has quit ("Leaving.").
15:23:26 -!- ineiros_ has changed nick to ineiros.
15:24:25 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
15:28:58 -!- yaxu1 has joined.
15:29:47 -!- puzzlet has joined.
15:36:54 -!- oerjan has joined.
15:41:36 -!- kar8nga has quit (Remote closed the connection).
15:44:12 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
15:58:51 <AnMaster> lets see, it was mythbusters iirc?
16:06:28 <MizardX> What does "iwc" mean? I've seen it used in other places, but never figured out what it ment. Only things I could find with google are "Internet Wrestling Community" and "International Watch Community", and similar terms, none of which seem to fit in the context.
16:07:35 -!- yaxu1 has quit (Read error: 110 (Connection timed out)).
16:17:04 <oerjan> MizardX: there is the occasional wrestling though. but it's not what you think. :)
16:19:24 <AnMaster> okay this explains a lot about the odd problems I had with classic Mac OS. stdout is fully buffered and stderr is line buffered, and there are odd conventions about exit code for MPW tools. Oh and several other things
16:20:28 <MizardX> What do you mean by "fully buffered"? Nothing is output until stdout is closed/program ended?
16:20:33 -!- oerjan has quit ("Neither am I").
16:21:55 <AnMaster> and this makes printf() debugging very confusing unless you are aware of that this is happening
16:22:15 <AnMaster> also for MPW tools it seems to cause issues if you try to change the output to be line buffered instead
16:22:38 <AnMaster> (as in, things behaving strange after program exits)
16:22:51 <AnMaster> (or rather not exits, MPW is very very very strange)
16:25:50 <AnMaster> MizardX, imagine a system where the shell and programs share the stack and heap. Programs work more or less as the shell loading the binary and calling main(). Oh and it overrides parts of the standard C library (like exit()) to make this work.
16:26:06 <AnMaster> MPW is not quite like that, but quite similar (and slightly worse)
16:26:44 <AnMaster> oh and yeah, the system doesn't use an MMU either.
16:27:04 <AnMaster> so anything that goes wrong will likely require you to reboot
16:27:17 <AnMaster> did I mention that the filesystem isn't journaled?
16:31:22 <AnMaster> MizardX, oh and the system is cooperative multitasking.
16:32:32 <MizardX> Some positive thinking is not always the best...
16:33:42 <AnMaster> MizardX, oh btw since the OS doesn't use the MMU it allocates memory blocks at startup of applications (the shell mentioned being one of them). It's fixed while the program is running. To change it, quit the application and change in the info box for it, then launch it again.
16:34:31 <AnMaster> oh yeah and the OS may decide to compact the heap behind your back unless you explicitly told it that a certain allocation can't be moved (thankfully, the malloc() interface handles that for you)
16:35:10 <AnMaster> so the system uses handles all the time instead of pointers.
16:36:16 <AnMaster> so yeah it is kind of like a GC on crack (it can also purge blocks if they are marked as purgeable)
16:36:33 <AnMaster> except not very much since it won't try to find if the blocks are actually still referenced or not
16:48:45 <AnMaster> MizardX, oh and the shell is a combined shell/editor/IDE thingy. And if you write to a file that the user happens to have open in there already the shell redirects the IO to the relevant window XD
16:49:23 <AnMaster> (and the user need to save the file for the changes you made to take place then)
17:04:04 -!- Asztal has joined.
17:28:04 -!- kar8nga has joined.
17:43:16 -!- pikhq has quit (Read error: 110 (Connection timed out)).
18:12:26 <AnMaster> fun... it looks like I will have to compile my own kernel when I switch to karmic at some future point on my laptop: I'm affected by https://bugs.launchpad.net/ubuntu/+source/linux/+bug/300143
19:05:42 -!- AnMaster has quit ("ZNC - http://znc.sourceforge.net").
19:20:54 -!- Pthing has quit (Remote closed the connection).
19:25:46 -!- AnMaster has joined.
20:15:19 -!- puzzlet has quit (Remote closed the connection).
20:15:22 -!- puzzlet has joined.
20:23:38 -!- yaxu1 has joined.
20:50:31 -!- augur has quit (Read error: 110 (Connection timed out)).
20:51:59 -!- yaxu1 has quit ("Leaving.").
21:16:12 -!- facsimile has quit (Read error: 104 (Connection reset by peer)).
21:16:34 -!- facsimile has joined.
21:20:30 -!- ais523 has joined.
21:42:15 -!- ehird has joined.
21:42:22 <ehird> over 150 messages to go-nuts in my absence...
21:42:36 -!- MigoMipo has quit.
21:46:03 <ehird> 23:18:39 <AnMaster> <pikhq> They probably take Microsoft's example.
21:46:03 <ehird> 23:18:39 <AnMaster> <pikhq> (valid values of one of their boolean types are 0,1, and -1.
21:46:04 <ehird> 23:18:39 <AnMaster> <pikhq> )
21:46:04 <ehird> 23:18:41 <AnMaster> huh?
21:46:04 <ehird> 23:18:43 <AnMaster> seriously?
21:46:05 <ehird> 23:19:03 <AnMaster> microsoft is bad, but THAT bad?
21:46:06 <ehird> I mean, a sociopathic corporation holding back OS development and design SURE, but a boolean which can take a value that presumably means "unknown"?!
21:46:12 <ehird> THEY'RE JUST AS BAD AS THE SQL COMMITTEE
21:46:22 <ehird> hey, a few minutes from going hi to mocking AnMaster
21:47:24 <ehird> 12:27:03 <augur> ehird: http://www.ted.com/talks/pranav_mistry_the_thrilling_potential_of_sixthsense_technology.html
21:47:24 <ehird> 12:27:23 <augur> theres a part in here that is really very much like what we were talking about
21:47:25 <ehird> 12:49:02 <AnMaster> augur, is that a video site or such? I can't see any text related to things (and I'm not running X atm, so using w3m)
21:47:48 <ehird> 14:06:17 <AnMaster> want opendns details
21:47:48 <ehird> 14:06:20 <AnMaster> ?
21:47:49 <ehird> opendns are making you pay to remove their shit nowadays
21:47:56 <ehird> use other, really open, pure-dns servers.
21:48:06 <ehird> 14:07:56 <SimonRC> how do they get enough money to keep existing?
21:48:50 <ehird> 17:04:17 <Oranjer> hey! can you send me the link using google wave?
21:48:50 <ehird> at least previously our off topic talkings were by people with relation to esolangs
21:49:02 <ehird> 17:07:12 <Oranjer> is the program usable? for making things?
21:49:31 <ehird> 17:17:18 <Oranjer> hell, I'm the one who got into arguments with conservatives at my school
21:49:32 <ehird> That like, makes you the anti-conservative. Arguing at school. Hardcore.
21:51:07 <ehird> 17:24:39 <Oranjer> three facets: order, freedom, and equality
21:51:07 <ehird> A bad measurement. Nobody picks {freedom, equality}, for instance (no, anarchism is not chaos), and this cannot account for fascism.
21:52:03 <ehird> 20:05:15 <Sgeo> I'm in a bingo place
21:52:04 <ehird> UpdateHeuristic(Sgeo, IQFacet, ApproxLower);
21:52:37 <ehird> 21:12:51 <Darth_Cliche> Is oklofok a spambot?
21:55:16 * ehird decides to adopt BFS for distro
22:00:18 <ehird> Also, almost certainly x86; the only things that could make me consider 64-bit are long-term improvements and the extra registers, and right now I value support of the best ThinkPads and compatibility with old executables without multilib hell over those.
22:04:57 -!- facsimile has quit ("Leaving").
22:05:08 -!- ehird has quit.
22:05:19 -!- ehird has joined.
22:14:18 -!- facsimile has joined.
22:22:08 <ehird> Oh, Chromium OS came out?
22:31:05 <ehird> http://www.reddit.com/r/atheism/comments/a6r7q/what_an_insult_to_reason_and_the_progress_of/ Onion headline: "Mormons Baptise Carl Sagan Two Years After Death"
22:52:10 -!- Gracenotes has quit ("Leaving").
22:58:52 -!- kar8nga has quit (Remote closed the connection).
22:59:37 -!- sarek_ has joined.
22:59:42 <sarek_> anyone worked on brainfuck compilers here
23:02:20 <Gregor> Probably nearly everyone in this channel has written a brainfuck compiler.
23:04:37 <ehird> The expert on strongly-optimising brainfuck compilers is lifthrasiir; the expert on copying lifthrasiir's work on strongly-optimising brainfuck compilers and then adding their own dubious optimisations before their whole architecture crashes and burns is AnMaster.
23:04:48 <ehird> The expert on writing regular brainfuck compilers is everyone in here and many people not in here.
23:06:23 -!- adam_d has joined.
23:08:23 <Gregor> Spoken like a true someone-who-hates-AnMaster :P
23:09:03 <ehird> Hey, what I said about his bf compilers is totally true regardless of that.
23:09:38 <ehird> I mean, he *did* ask lifthrasiir how the extended Euclidean algorithm worked when trying to copy his code using it.
23:17:38 -!- pikhq has joined.
23:18:25 <pikhq> (because I am too lazy to lug a largish desktop to places)
23:23:44 <ehird> What're you using?
23:29:58 <pikhq> It's also the first time I've used Windows 7. It appears to suck less than XP.
23:32:02 <ehird> It's better and it's worse. Mostly better, though.
23:32:33 <ehird> In distroly news, seeing as you're the only person who even remotely, vaguely cares about this stuff:
23:32:33 <ehird> [21:55] • ehird decides to adopt BFS for distro
23:32:33 <ehird> [22:00] ehird: Also, almost certainly x86; the only things that could make me consider 64-bit are long-term improvements and the extra registers, and right now I value support of the best ThinkPads and compatibility with old executables without multilib hell over those.
23:33:09 <ehird> (and, as I'm writing coreutils-type things for the goblin project (coreutils in Go, pretty much; headed by plan9 junkie uriel), looks like I've found my coreutils... at least once it's ready)
23:37:45 <pikhq> And seems reasonable regarding coreutils -- it's kinda hard to find non-suck coreutils for Linux.
23:38:05 <pikhq> The closest we've got is GNU coreutils, which has the following bits of non-suck: it functions.
23:43:49 <ehird> Closest is probably Heirloom Toolchest; at least it rabidly follows tradition instead of insanity.
23:44:21 <ehird> BFS is Con Kolivas' Brain Fuck Scheduler — no relation to the language except perhaps inspiration for the name — http://ck.kolivas.org/patches/bfs/bfs-faq.txt
23:44:35 <ehird> Improves latency and performance massively on desktop machines.
23:44:57 <ehird> Con Kolivas worked on other desktop-related issues on the kernel before Leaving in a Huff(TM) in 2007, but it's easy enough to apply a patch.
23:46:03 <pikhq> How well-maintained is BFS? Did he completely avoid Linux after the writ of FLGE?
23:46:03 <ehird> I'm also considering scheduling the X server as realtime or BFS' SCHED_ISO thingymagic to improve responsiveness under load.
23:46:14 <ehird> pikhq: It's new; about a month or two old.
23:46:19 <ehird> It's well-maintained.
23:46:31 <ehird> It probably will be for the foreseeable future, as he uses it.
23:46:44 <ehird> The patch is only 219 KiB.
23:46:50 <ehird> Well, "only", but still.
23:46:52 <ehird> http://ck.kolivas.org/patches/bfs/2.6.31-sched-bfs-310.patch
23:46:56 <pikhq> Hmm. Alright, then. No reason not to and probably a good few good reasons to do that.
23:47:05 <ehird> The main file, sched_bfs.c, is just 6484 lines long.
23:47:32 <pikhq> Would be nice if Linux had pluggable schedulers.
23:47:42 <pikhq> Seems like it'd actually be a useful feature.
23:48:15 <ehird> ck (Con Kolivas) submitted a patch for switching scheduler at runtime.
23:48:18 <ehird> The kernel team rejected it as useless.
23:48:52 <ehird> pikhq: Did you know that the Debian kernels are optimised for servers?
23:49:07 <ehird> And requests for a desktop-optimised one are replied to with "No, kthxbai".
23:49:20 <ehird> http://lwn.net/Articles/350178/
23:49:28 <pikhq> Fairly well aware that they do that by default. Didn't realise they actually avoided a desktop one.
23:50:41 <ehird> I'll probably desktop-optimise the kernel and use it on servers too.
23:50:53 <ehird> Low latency on desktop trumps supercomputer server performance.
23:50:55 <pikhq> I enabled the preemptive stuff the minute it was mainline for x86_64.
23:51:03 <ehird> and I cba fiddling with two separate kernel variations
23:51:05 <ais523> also interesting from that that Debian users are twice as likely to use Gnome as KDE; I wonder if that includes Ubuntu users or not?
23:51:12 <ehird> ais523: because gnome is default with debian
23:51:16 <ehird> you can't even install kde with the default installer
23:51:20 <pikhq> The same is true of the tickless kernel stuff...
23:51:38 <ehird> pikhq: BFS is actually supposed to be used with ticks, I think...
23:51:43 <ehird> not that it really matters
23:52:08 <ehird> pikhq: Incidentally, BFS compiles the kernel faster than CFS.
23:52:24 <ehird> http://ck.kolivas.org/patches/bfs/2632rc3v2631bfs303-kbuild.png
23:52:38 <ehird> Ever so slightly but it does.
23:53:37 * ehird skips along writing tools for goblin
23:53:56 <ehird> uname is blocked because syscall.{Uname,Utsname} are undefined on amd64/darwin for some reason :/
23:54:10 <ehird> mkdir almost works :P
23:55:41 <pikhq> Not supporting POSIX, then?
23:56:27 <ehird> (Goblin isn't my project, anyway.)
23:56:32 <ehird> I'm just contributing.
23:56:40 <ehird> "Goblin is a recreation from scratch of the traditional Unix and Plan 9 command line tools but this time built using the Go programming language.
23:56:40 <ehird> The goal is elegance and simplicity more than compliance with older implementations."
23:56:53 <ehird> Flags to cat are definitely not elegant or simple, so...
23:56:59 <ehird> Besides, not many scripts use flags to cat.
23:57:06 <pikhq> Oh, the goal is to be a good set of coreutils, not a POSIXly correctly coreutils.
23:57:19 <ehird> So I don't have any qualms about omitting them.
00:01:23 <ehird> pikhq: Personally, in the tools I'll write I'll support a really shitty thing if usage of it is ubiquitous.
00:01:35 <ehird> But I don't really mind breaking a few things; my distro does enough of that already.
00:01:58 <pikhq> ehird: I wonder what ps will look like.
00:02:10 -!- augur has joined.
00:02:14 <pikhq> Particularly since GNU ps has 3 or 4 different *types* of arguments...
00:02:15 <ehird> You can't make ps(1) portable, can you?
00:02:39 <ehird> Then it won't go in.
00:03:47 <ehird> pikhq: But the answer is probably: the most common stuff like [-Aaux], -G/-g/-u/-p/-t/-U, and a hack that prepends a - to the first argument without one before flag parsing.
00:04:50 <ehird> pikhq: But it'd involve traversing /proc, wouldn't it?
00:04:57 <ehird> I've certainly never come across a ps syscall.
00:05:10 <pikhq> On other OSes, I haven't a clue.
00:05:17 <ehird> Then it won't go in due to sheer nonportability.
00:05:31 <ehird> In the same category as e.g. mount.
00:05:44 <ehird> Hmm, I wonder where Linux mount comes from.
00:07:25 <pikhq> It's in util-linux. So, probably at least originally a Linux Torvalds creation...
00:08:57 * ehird looks at the list in http://en.wikipedia.org/wiki/Util-linux
00:09:06 <ehird> /bin/arch? Seriously? You can make that pretty portable; it's just uname.
00:09:15 <ehird> kill?! Why isn't this in coreutils?
00:09:37 <ehird> Shit, half of this stuff should belong in coreutils, and a quarter of it should be removed.
00:09:52 <pikhq> util-linux is everything that coreutils didn't have that a decent Unix system should have.
00:10:08 <ehird> are you fucking joking
00:10:17 <ehird> i am cutting myself
00:10:31 <ehird> I like ddate and all, but putting it in the "OMG CRUCIAL LINUX-SPECIFIC STUFF" bin?
00:10:44 <pikhq> coreutils also has arch...
00:10:57 <ehird> I mentioned that before :P
00:11:02 <ehird> TECHNICALLY uname() isn't portable
00:11:15 <ehird> "People with more traditional moral values might not
00:11:16 <ehird> appreciate a reference to or advertisement for this movement
00:11:16 <ehird> being present on their system."
00:11:16 <ehird> I wonder if the bug reporter ever considered that this might be an advantage.)
00:11:33 <ehird> Oh, and they mixed up Discordianism and the Church of the SubGenius to boot.
00:13:14 <ehird> Hey, I just realised that my complete lack of caring about internationalisation and locales is saving me work.
00:14:12 <ehird> (non-English unix-like users who use internationalisation of the command-line tools: Oh, shut up. Do you want me to rename cat to ket, zany Germans?!)
00:14:36 <ehird> Note: Scientific renaming derived from taking the sixth to ninth letters of "verketten", meaning "concatenate".
00:30:46 * ehird notes that not using dd is shorter than using it a lot of the time
00:31:09 <ehird> dd if=/dev/zero of=foo bs=8192 count=8192
00:31:09 <ehird> head -c $((8192*8192)) /dev/zero >foo
00:31:21 <ehird> UNIX IS CRYING THE BLOOD OF HOW MUCH YOU HATE IT
00:31:30 <ehird> Every time you use dd, Ken Thompson kills a kitten.
00:32:06 <sarek_> anyone good with java/OO
00:32:13 <sarek_> i had a programming generic question
00:32:18 <sarek_> writring procedural code in java is bad?
00:32:24 <ehird> Writing code in Java is bad.
00:32:32 <ehird> OO is braindead but if you must use Java, you should use it.
00:32:45 <sarek_> no i mean using procedural code to oo code
00:32:56 <ehird> If you're writing Java, write in OO.
00:33:04 <ehird> But really; don't write in Java unless you must.
00:34:18 <sarek_> its sort of an interview assignment
00:34:26 <sarek_> but some say procedural code in java is wrong
00:34:29 <ehird> For a company? Or do you mean "homework"...
00:34:55 <ehird> I wouldn't work for a company if I had to write Java.
00:35:03 <ehird> But then I value my sanity and such.
00:36:02 <sarek_> why would OO be right here
00:36:03 <ehird> ($ time cat foo >/dev/null
00:36:03 <ehird> 0m0.34s real 0m0.00s user 0m0.33s system
00:36:04 <ehird> $ time ./cat foo >/dev/null
00:36:04 <ehird> 0m0.94s real 0m0.18s user 0m0.71s system
00:36:04 <ehird> Oh noes!!11 How will I compete in the fast-paced arena of catting 640 MiB files?)
00:36:08 <sarek_> or why do you think its better
00:36:17 <ehird> sarek_: because java is oo all around
00:37:09 <sarek_> so i should add objects in java?
00:37:14 <sarek_> basically add oo in java?
00:37:52 <ehird> sarek_: Java has objects..
00:38:09 <pikhq> ... If you're lost, maybe you shouldn't be applying for a programming job.
00:38:10 <sarek_> http://pastebin.com/d376562ec
00:38:22 <sarek_> adding objects would make things cleaner?
00:38:44 <ehird> That code is perfectly fine from a quick read of it.
00:39:00 <ehird> sarek_: Although...
00:39:06 <ehird> /* Dequeue operation */
00:39:10 <ehird> I wouldn't add such an obvious comment.
00:39:16 <pikhq> Yeah, looks reasonable.
00:39:33 <pikhq> ... For Java, at least (which enforces verboseness).
00:39:41 <ehird> Plus, that line is indented a lot; I would create a function with the body of the while (true) { that starts on line 211.
00:39:57 <ehird> whateveryoucallit();
00:40:21 <fizzie> When in Java, do as the Javans do. (I think that might involve all kinds of curious religious beliefs, for example. Oh, and you should speak Indonesian as a second language, most do)
00:40:37 <ehird> Isn't it Javacs, fizzie?
00:41:15 <ehird> sarek_: Basically, how to write good code: Avoid indenting too much. It's a sign you have a function that's too complex; split it up. Make the flow of logic clear. And finally, if your language has conventions, follow them.
00:41:15 <sarek_> ehird what is the need of objects in this example
00:41:21 <ehird> There is none in that example.
00:41:33 <fizzie> ehird: It might be. Though that sounds a bit... bovine. (Maybe it's the "yak" resemblance.)
00:41:47 <ehird> sarek_: Only add a class if you have a specific self-contained thing that doesn't interact much with other stuff.
00:41:56 <ehird> And don't make it abstract; only add a class for an actual thing, not a FactoryFactoryFactory.
00:42:01 <sarek_> adding objects would make any difference?
00:42:08 <ehird> Make any difference how?
00:42:12 <ehird> It'd overcomplicate the code for no real reason.
00:42:36 -!- adam_d has quit ("Leaving").
00:47:37 <sarek_> i guess i'll add a sliding window too
00:47:42 <sarek_> so there's no heavy queueing
00:47:51 <sarek_> but thanks for the input guys
00:48:05 <sarek_> so let me guess you guys are tired with other languages and moved to esoteric ones?
00:49:09 <pikhq> Though most of us find that Java sucks quite horribly.
00:50:30 <sarek_> wait i cant use a sliding window
00:53:02 -!- FireFly has quit ("Later").
01:00:21 <ehird> i wonder if rmdir has any use vs rm -f
01:00:40 <ehird> sarek_: I'm tired with other languages so I go to the fringe.
01:00:54 <ehird> Nah; that's just for fun.
01:00:57 <ehird> Though good ideas have come out of esolangs.
01:01:22 <ehird> Haskell is one of my favourite languages... recently I had a kick of using minimalist C as an applications programming language, but I've moved onto Go.
01:01:47 <ehird> I'm skeptical of all languages that come out, but the people who created C, Unix and Plan 9 kinda negate that.
01:02:20 <pikhq> Well-done C is actually quite nice. The main thing with C is, of course, that it's easy to write very, very bad C.
01:02:39 <pikhq> And freaking hard to write C well.
01:02:43 <ehird> Hmm... What's the bit that sets directoriness in Unix permissions?
01:05:29 <sarek_> my assignment in haskell would be a one liner
01:05:33 <ehird> Oh, ls just pretends there's one.
01:05:43 <ehird> Yeah, Haskell is nice.
01:06:01 <sarek_> does this look efficient http://www.nomorepasting.com/getpaste.php?pasteid=30275
01:06:09 <sarek_> too many non-referenced strings will exist?
01:06:15 <sarek_> everytime u do S+=receiver()
01:06:21 <ehird> += is efficient in Java.
01:06:53 <sarek_> on-referenced strings will exist
01:07:01 <sarek_> lots of non-referenced string objects
01:07:04 <ehird> It's not a big deal.
01:07:10 <sarek_> garbage collection is indeed there but still
01:07:21 <sarek_> would it be better to use a stringbuilder?
01:07:35 <ehird> If it goes slowly, optimise your algorithm; then optimise it some more; only then should you micro-optimise.
01:07:40 <ehird> StringBuilder is probably more idiomatic here.
01:07:45 <ehird> It is likely to be marginally faster.
01:08:07 <pikhq> Premature optimisation. Go with the most clear thing, and optimise later if it's slow.
01:08:10 <sarek_> whats marginally faster?
01:08:16 <sarek_> or using stringbuilder?
01:08:51 <sarek_> but does the code look efficient besides using a stringbuilder?
01:09:02 <sarek_> considering there is lots of non-referenced string objects
01:09:38 <ehird> sarek_: Is it going slowly?
01:09:51 <ehird> [[ The -m flag sets the permissions to be used when creating
01:09:52 <ehird> the directory. The default is 0777.]] —plan9 mkdir(1)
01:09:52 <ehird> Wonder why, when chmod works just fine...
01:10:54 <ehird> Rewrite it with StringBuilder; if it's faster and not hideously ugly, use thaat.
01:11:05 <sarek_> what about a string pool?
01:11:47 <sarek_> all non-referenced string in java are left in string pool for some time till garbage collector takes up the job right?
01:12:18 <ehird> Have you tried StringBuilder?
01:12:19 <sarek_> it has tobe without a stringbuilder
01:12:22 <sarek_> because ot the string pool
01:28:43 -!- oerjan has joined.
01:30:46 -!- BeholdMyGlory has quit (Remote closed the connection).
01:40:21 -!- iamcal has joined.
01:40:59 -!- facsimile has left (?).
02:00:18 -!- cal153 has quit (Read error: 113 (No route to host)).
02:00:43 -!- augur has quit (Read error: 60 (Operation timed out)).
02:05:11 -!- Asztal has quit (Remote closed the connection).
02:08:14 -!- ais523 has quit (Remote closed the connection).
02:47:52 -!- rodgort has quit (leguin.freenode.net irc.freenode.net).
02:47:53 -!- lifthrasiir has quit (leguin.freenode.net irc.freenode.net).
02:47:53 -!- fungot has quit (leguin.freenode.net irc.freenode.net).
02:47:53 -!- Deewiant has quit (leguin.freenode.net irc.freenode.net).
02:47:53 -!- Ilari has quit (leguin.freenode.net irc.freenode.net).
02:48:44 -!- rodgort has joined.
02:48:44 -!- lifthrasiir has joined.
02:48:44 -!- Ilari has joined.
02:48:44 -!- Deewiant has joined.
02:48:44 -!- fungot has joined.
03:01:16 -!- fungot has quit (leguin.freenode.net irc.freenode.net).
03:01:17 -!- Ilari has quit (leguin.freenode.net irc.freenode.net).
03:01:17 -!- Deewiant has quit (leguin.freenode.net irc.freenode.net).
03:01:17 -!- lifthrasiir has quit (leguin.freenode.net irc.freenode.net).
03:01:17 -!- rodgort has quit (leguin.freenode.net irc.freenode.net).
03:03:15 -!- lifthrasiir has joined.
03:03:15 -!- lifthrasiir has quit (Killed by sagan.freenode.net (Nick collision)).
03:03:26 -!- rodgort has joined.
03:03:26 -!- lifthrasiir has joined.
03:03:26 -!- Ilari has joined.
03:03:26 -!- Deewiant has joined.
03:03:26 -!- fungot has joined.
03:05:33 -!- lifthrasiir has quit (Read error: 131 (Connection reset by peer)).
03:11:18 -!- facsimile has joined.
03:13:15 -!- lifthrasiir has joined.
03:16:55 -!- facsimile has quit ("Leaving").
03:25:58 -!- zzo38 has joined.
03:26:12 <zzo38> A simple program to check if your computer is Intel or AMD:
03:26:19 <zzo38> 31 C0 0F A2 B8 24 24 66 50 66 51 66 52 66 53 89 E2 B4 09 CD 21 31 C0 CD 21
03:27:02 <zzo38> Use of the program is self-explanatory.
03:31:59 <oerjan> "you keep using that word. i do not think it means what you think it means"
03:32:03 <pikhq> What's the entry point? Does it expect an initialised stack? Does it expect any sort of segmentation scheme?
03:32:27 <zzo38> Yes, it's DOS, of course it will work (I tested it)
03:32:33 <pikhq> Which mode should it execute in?
03:32:54 <zzo38> Just make a file called CPUID.COM and you can see if it works OK
03:33:24 <pikhq> Okay, so it's a COM file. That's sufficient information to at least execute it.
03:37:14 <pikhq> (namely, it expects real mode, entry point at 0x1000:0x0000, stack initialised... Oh, and it presumes the existence of the DOS interrupt table)
03:37:42 <pikhq> zzo38: Does it use any of the interrupts added by DOS?
03:37:59 <zzo38> Yes, it uses INT 21 (which is DOS interrupt)
03:46:07 -!- sarek_ has quit (Read error: 110 (Connection timed out)).
03:46:28 <ehird> didn't realise you were here
03:46:57 <ehird> zzo38: how recent intel/amds does it work on?
03:47:05 <ehird> can it distinguish a core i7 from an opteron?
03:47:13 <Gregor> And what if it's Cyrix, VIA or Transmeta?
03:47:28 <zzo38> Well, just try it and see if it works.
03:47:40 <zzo38> I don't really know, but I believe it will work on all Pentium and newer
03:48:00 <oerjan> fry, fry, fry your board...
03:48:35 <zzo38> It works in virtual mode too
03:51:05 <ehird> wonder what it thinks $vm is
03:51:11 <ehird> also, lol transmeta
03:55:26 <zzo38> If you want to do so, you can try to convert it to a 32-bits protected mode program that works on Linux, but I don't know how
03:57:02 <ehird> Incidentally, writing ls(1) is a pain.
03:57:08 <ehird> So many intertwixing little logics.
03:57:31 * oerjan discovers that "satanovsky" is a real surname
03:58:03 <zzo38> Then don't write ls(1) if you don't like to write ls(1)
03:58:12 <ehird> My fuckin' dispatch-on-type-of-file function is 30 lines just to handle the case that it's a symlink that points to a directory and we haven't been given -P
03:58:18 <ehird> zzo38: But I do want to, it's just a pain.
03:59:03 <zzo38> ehird: OK, then learn to pain. Pain is not too bad, as long as it isn't someone else making pain to you
03:59:21 <ehird> `addquote <zzo38> ehird: OK, then learn to pain. Pain is not too bad, as long as it isn't someone else making pain to you
04:00:05 <pikhq> zzo38: Got assembly for that?
04:00:16 <pikhq> ehird: ls(1) is probably a pain.
04:00:24 <ehird> Not probably; I can assure you it is.
04:00:27 <zzo38> Assembly for what, do you mean, please?
04:00:38 <ehird> 75 lines and that's just the flags and initial dispatch.
04:00:51 <pikhq> I'd be writing some coreutils in Haskell for kicks ATM if I had my computer here.
04:00:54 <ehird> At least my ls(1) has significantly fewer options than thee common fare.
04:01:24 <pikhq> zzo38: The AMD/Intel thing.
04:01:31 <ehird> list directories, not their contents; show file sizes as kilo/mega/gigabytes; show more informaation in columns; sort in reverse; sort the most recently modified files first; show sigils for directories/ executables* symlinks@ sockets= FIFOs|; list symlinks, not their referents.
04:01:43 <ehird> "Only" seven options.
04:02:19 <zzo38> Just a minute while I disassemble it
04:02:36 <ehird> Lemme guess — by hand
04:02:48 <ehird> It's zzo38, dude :P
04:02:55 <pikhq> zzo38, it's not like a 16-bit assembler is hard to find.
04:02:59 <ehird> pikhq: I'm pretty sure writing this ls(1) would be a pain in Haskell.
04:03:09 <pikhq> Even on a modern Unix system.
04:03:30 <ehird> The logic is twingly and would become a nested mass without some imperativeness, I think.
04:03:33 <pikhq> How do you have to go about getting the file directory listing, anyways?
04:03:37 <zzo38> XOR AX,AX CPUID MOV AX,2424 PUSH EAX PUSH ECX PUSH EDX PUSH EBX MOV DX,SP MOV AH,09 INT 21 XOR AX,AX INT 21
04:03:41 <zzo38> There, there is the code
04:03:47 <oerjan> pikhq: he'd have to write his own fork of it then, you know ;D
04:03:54 <ehird> pikhq: Uh, just readdir(). Well. file.Readdir().
04:03:57 <pikhq> oerjan: Oh, right.
04:04:18 <pikhq> ehird: Okay. It'd be a bit of a pain, then.
04:04:25 <ehird> pikhq: How else would you do it?
04:04:45 <pikhq> ehird: I'd forgotten what the function was is all.
04:05:06 <zzo38> pikhq: OK, how I has the disassembled code, so that you can understand what it is
04:05:46 * ehird needs to make a function for if err != nil { errorCode = 1; fmt.Fprintln(os.Stderr, err); return; }
04:05:52 <pikhq> zzo38: ... EAX? EBX? Those registers exist only in protected mode.
04:05:58 <pikhq> ... Oh, and long mode, and unreal mode.
04:05:59 <ehird> Say, `if handleError(err) { return }`.
04:06:06 -!- coppro has joined.
04:06:19 <zzo38> No, they exist even outside of protected mode. You just need to add the prefix for 32-bit instructions in 16-bit mode
04:06:47 <pikhq> ... Sorry, I should restate that: those registers only exist on 32-bit processors.
04:06:53 <zzo38> The 66 prefix makes it do that
04:07:01 <zzo38> Yes, this program works only on 32-bit processors
04:07:10 <zzo38> But it runs in 16-bits mode
04:07:37 <Gregor> Why oh why does hackego sometimes disappear
04:07:55 <zzo38> Gregor: For no reason
04:08:03 <pikhq> Because hackego hates all that is Ego.
04:08:11 <ehird> pikhq: it's a dos program, don't expect sanity
04:08:15 <ehird> unreal mode is fun btw.
04:08:32 <pikhq> Unreal mode is pretty... Crazy.
04:09:07 <zzo38> I have never used unreal mode
04:09:29 <pikhq> It's pretty simple.
04:09:48 <pikhq> You jump to protected mode. You set up the segment table. You jump to real mode without clearing the segment table.
04:09:58 <ehird> http://sprunge.us/XFLT
04:10:07 -!- HackEgo has joined.
04:10:07 <ehird> The first directory listing ist print.
04:10:22 <ehird> Oddly enough it's pre-sorted.
04:10:24 <ehird> Wonder if that's portable.
04:11:05 <coppro> ehird: are you honestly doing what I think you're doing?
04:11:13 <ehird> Implementing core utilities?
04:11:21 <ehird> Yes; in Go, for the Goblin project (not mine).
04:11:30 <pikhq> zzo38: The Go postfix.
04:11:36 <ehird> It's not mere folly; no tools with a similarly minimalist, Plan 9-inspired philosophy exist.
04:11:50 <ehird> Except maybe plan9port, and that doesn't gel too well with normal Unices.
04:12:20 <ehird> ":(" all you want; you can enjoy your shit-filled, bloated-to-the-max GNU rubbish and I'll continue banging away contributions to Goblin.
04:12:46 <ehird> pikhq is right; it's the suffix for the Go programming language.
04:13:35 <coppro> ehird: I hate GNU. I'm :(ing Go
04:13:58 <ehird> coppro: What, do you think I use Go because it's "OMG GOOGLE"?
04:14:07 <ehird> No, I use it because it's from the people who brought us C, Unix and Plan 9.
04:14:14 <ehird> And the toolchain architecture is Plan 9's, which is wonderful.
04:14:29 <ehird> And it's a cleaned up C with garbage collection, a truly wonderful sort-of-OO system and a good concurrency model.
04:14:54 <ehird> (I'm not joking by the people thing — you may have heard of Ken Thompson... :P)
04:16:41 <ehird> Seems that readdir() returning in alphabetical order isn't portable.
04:16:51 <ehird> So time to write my happy happy fun fun magical sorting routinee.
04:16:58 <ehird> Need to sleep soon.
04:18:04 <coppro> ehird: I find it interesting that you consider Go minimalist.
04:19:14 <ehird> I find it interesting that you apply your usual holier-than-thou attitude to something you clearly haven't researched beyond a cursory glance (probably ending in "It looks like Pascal and I vomited!" or something equally inane and incorrect) or, if you had, entered in with a strange bias. Go *is* minimalist.
04:19:39 <ehird> I'd say that is all, but I don't use cheap tricks to make the other party think that they are unable to reply.
04:20:48 <coppro> ehird: I was merely stating that I find it interesting that you consider it to be minimalist, which I do.
04:21:12 <ehird> Ohh, I was meant to call the "interpret line hyper-literally while ignoring blatantly obvious implied meaning" routine on that line.
04:21:21 <ehird> I see, it is all clear now.
04:21:46 <ehird> Why don't you just stfu, because all you ever say to me is condescending bullshit one-liners? Thanks.
04:23:56 <pikhq> "Cleaned up C with garbage collection". Bam, instant decent language.
04:24:09 <zzo38> Do you have any idea of rule for disorientation on D&D game?
04:24:20 <ehird> Bam, below average sized language. Wait, what?
04:24:22 <pikhq> It rarely comes up.
04:24:31 <pikhq> Check out www.d20srd.org .
04:25:15 <zzo38> It is not the standard rule I am looking for (I don't think there is a standard rule). The rule is for if you changed form in the wrong way and have to be disoriented for 24 hours
04:25:23 <zzo38> There is no standard rule for that
04:26:22 <pikhq> Ask your DM, since it is clearly a house rule.
04:27:30 * ehird wonders whether to bother with symbolic permissions
04:27:32 * coppro notes that he does not consider garbage collection to be panacea... yet
04:27:42 <ehird> Would be more convenient to have "755" in the dir listing imo.
04:27:54 <ehird> coppro: Hello, 80s to 90s person!
04:28:18 <zzo38> The DM doesn't have a idea, I need to make up a idea to suggested to the DM, which is what I would require some idea that someone has of this idea of this rule. (And, yes, it does apply to my character)
04:28:26 <ehird> As the fields of computer science and practical language design have not both almost entirely conclusively decided that garbage collection is a Good Thing, your opinion carries more than absolutely zero weight! Because this is the 80s to 90s!
04:28:27 <pikhq> coppro: Manual memory management is a dying art.
04:28:34 <ehird> Art, I question the word art.
04:28:38 <ehird> May I substitute "waste of time".
04:28:49 <pikhq> ehird: Some arts are also a waste of time.
04:29:01 <ehird> Yes, but the result of manual memory management isn't artful.
04:29:03 <coppro> It still has its uses (for starters, implementing GCs :P)
04:29:08 <pikhq> Manual memory management is only *mostly* a waste of time.
04:29:10 -!- Asztal has joined.
04:29:35 <zzo38> I still do manual memory management, depending on which program language I am using, in some program language, it is more useful, in others it isn't as much useful
04:29:53 <coppro> the main problem I have with modern garbage collection is it tends to be non-deterministic
04:29:59 -!- Slereah_ has joined.
04:30:11 <pikhq> Boehm GC is my favorite C library.
04:30:13 <zzo38> O, that's the problem
04:30:54 <coppro> Which means that it cannot reliably be used to perform other cleanups like can be done with manual memory management
04:31:22 <pikhq> OH NOES HAVE TO MANUALLY CLOSE FILE.
04:32:36 <ehird> http://sprunge.us/JVPI It's a start...
04:32:47 <ehird> coppro: RAII is bad.
04:33:02 <ehird> It simply leads to program bugs and spooky action at a distance due to its implicitness.
04:33:31 <ehird> Besides, for the situations in which it is useful, often a GC finaliser does the trick due to its non-urgency.
04:33:39 <ehird> And anything that needs to be deterministic? Should be stated.
04:33:57 <coppro> SBRM is an excellent idiom (I refuse to call it RAII)
04:35:02 <pikhq> I had almost forgotten there were idioms involved in memory management.
04:35:13 <pikhq> I spend so much time letting the computer do it for me.
04:35:23 <coppro> see, the problem most people have with the C++ memory management model is that it's generally done incorrectly by inexperienced coders
04:35:26 <pikhq> (since I am a programmer: my job is to let the computer do things for me.)
04:35:28 <coppro> You don't manage memory directly
04:36:03 <pikhq> coppro: ... The problem with the C++ memory management model is that it is C's memory management model with un-C-like features added on. Poorly.
04:36:16 <Gregor> ... are we seriously having a GC-vs-no-GC argument in here?
04:36:21 <ehird> And -F works too, apart from symlinks.
04:36:34 <ehird> Gregor: your signature is just to complain about the current argument, you know
04:36:37 <pikhq> coppro: The same is true of everything else in C++.
04:36:45 <Gregor> ehird: And I'm OK with that.
04:36:58 <ehird> pikhq: However, I agree with Gregor on this one piont.
04:37:01 <pikhq> Gregor: Yes, yes we are. We're doing 20 year old debates. Hooray!
04:37:03 <coppro> pikhq: sing a smart pointer class, you already have a basic GC system
04:37:05 <ehird> coppro is just a deluded, insane C++ fanboy.
04:37:15 <ehird> Conversation with him on any of C++'s beloved "idioms" is worthless.
04:37:16 <coppro> ehird: In this case, I'm a control fanboy
04:37:23 <ehird> #bdsm is that way.
04:37:27 <ehird> Thank you, please come again.
04:37:31 <pikhq> ... Then why do you use C++ instead of C?
04:37:39 <ehird> pikhq: Because he's fucking insane.
04:37:45 <coppro> ehird: By the way, I do not insist that C++ is supermagical
04:38:02 <coppro> pikhq: Because it has a real type system.
04:38:18 <ehird> coppro: You do; you say you're oh, not really a C++ fanboy, then go ahead and defend every damn retarded aspect of it.
04:38:22 <ehird> That's exactly what a fanboy is.
04:38:34 <coppro> ehird: I don't defend every aspect of it
04:38:43 <coppro> pikhq: Compared to C, it does
04:39:00 <coppro> Many major C projects end up hacking together some nasty type system, often with macros
04:39:23 <pikhq> ... So pointers aren't all aliased to (void *) on demand.
04:39:31 <pikhq> That does not make a real type system.
04:39:32 <ehird> see, the problem most people have with the C type system model is that it's generally done incorrectly by inexperienced coders
04:39:45 <ehird> Oh snap, I just repurposed your quote, except now it's not retarded.
04:39:54 -!- Slereah has quit (Read error: 110 (Connection timed out)).
04:39:58 <ehird> Your argument is invalid, please try again.
04:40:10 <pikhq> That makes a type system that is very slightly less hackish than C's.
04:40:13 <ehird> C's type system is realer than C++'s; it has a coherent philosophy.
04:40:17 <ehird> C++'s is just a halfway point of insanity.
04:40:29 <pikhq> 's type system adds new features.
04:40:31 <coppro> ehird: Also, allow me to list some things I hate about C++: iostreams, most C compatibility features, the overload resolution mechanism, and a bunch of template nastiness
04:40:41 <pikhq> Ones that make parsing the longest pass in C++ compilation.
04:40:47 <ehird> MULTI-COLUMN "LS -L": A FEATURE NOBODY HAS EVER WANTED
04:40:52 <ehird> $ bin/ls -l -F | mc
04:40:52 <ehird> 040755 bin/ 100644 echo.go 100644 ls.go 100644 mkfile 100644 seq.go
04:40:52 <ehird> 100644 cat.go 100644 false.go 100644 mkdir.go 100644 pwd.go 100644 true.go
04:41:02 <coppro> ah yes, I should add that too: the grammar is horrible
04:41:09 <ehird> (Admittedly mc will just decide to put them on separate lines once I've fleshed out -l.)
04:41:18 <ehird> Gregor: There is no flag lol, good sir!
04:41:26 <ehird> We in Plan 9-derived-thingies do not do such uncouth -mixing.
04:41:35 <coppro> I hate C++'s grammar even more than the next guy.
04:41:35 <ehird> We are -s -e -r -e -n -e and -c -a -l -m.
04:41:44 <pikhq> coppro: The type system itself is *why* the grammar takes so long to parse.
04:41:54 <pikhq> You literally have to evaluate templates in order to parse.
04:41:55 <coppro> ehird: error: duplicate option -i
04:41:59 * Gregor huggles JavaScript and then runs away.
04:42:13 <pikhq> Gregor: Smart choice.
04:42:29 <ehird> js' scoping almost ruins the entire thing.
04:42:38 <coppro> pikhq: It's more fundamental than that. It's because it fundamentally uses C's grammar, which has the same problem. It's just less noticeable because C is simpler.
04:42:39 <ehird> also, the verbose closure syntax and some other baroque syntax warts
04:42:55 <Asztal> coppro: even worse, C++ overload resolution gets a whole lot nastier when templates or partial template specialization are involved :(
04:43:00 <zzo38> The reason it's slow, it isn't Forth. Forth is much more simple to parse than most others
04:43:07 <ehird> Yup... thanks for that...
04:43:07 <pikhq> coppro: ... YOU ARE FREAKING EVALUATING LAMBDA CALCULUS AT RUNTIME FOR YOUR TYPESYSTEM.
04:43:14 <pikhq> YOU FAIL AT TYPES FOREVER IF YOU THINK THATS A GOOD IDEA.
04:43:28 <ehird> $ bin/ls -d $(bin/pwd)
04:43:29 <ehird> Also thanks for that.
04:43:35 <coppro> pikhq: at compile time, I think you mean?
04:43:40 <ehird> Forth isn't simple to parse
04:43:47 <Gregor> Nope, evaluating a TC language at runtime is bad.
04:43:48 <ehird> Words can take over parsing entirely
04:44:29 <pikhq> C++ is also TC to parse, and you don't even get much flexibility from it.
04:44:51 <ehird> I bet coppro read through the C++ FQA Lite, nodding at the FAQ quotes and disagreeing with the response.
04:44:55 <zzo38> Yes, words can take over parsing entirely, which makes it powerful, however it is still simple to write a simple parser that works. There is no syntax. Just read each word, that's all you need to parse a Forth program. The other parts of the program can parse some parts themself, too, if that is what needed
04:44:57 <ehird> A fun way to spend an afternoon for a fanboy.
04:44:59 <pikhq> We should go on to easier-to-parse languages... Like Haskell.
04:45:05 <ehird> zzo38: For instance, you can do
04:45:19 <ehird> PARSE-C-NOW int main() { return 0;} $$END-OF-C
04:45:29 <ehird> You can only parse that by running PARSE-C-NOW's compile-time word.
04:45:37 <ehird> If you just split on spaces, then you are lexing it.
04:45:41 <ehird> Although, actually, there's an exception to that.
04:45:43 <pikhq> ehird: That would be a pretty awesome couple of words.
04:45:46 <ehird> I think +2 or something is actually + 2
04:45:46 <coppro> pikhq: I'm ambivalent on that issue. Performing TC evaluation at compile-time has advantages, but as you pointed out, it makes the language far more complex, to the point where it probably isn't worth it, and I'm undecided on whether it is
04:45:49 <zzo38> Well yes. I don't quite mean exactly as I meant
04:45:54 <ehird> $$END-OF-C is just handled by PARSE-C-NOW.
04:46:17 <zzo38> PARSE-C-NOW would enter a different parser, not part of the main Forth parser.
04:46:27 <coppro> how are we having a parsing discussion without mentioning Lisp and friends?
04:46:42 <zzo38> coppro: Then you can mention Lisp if you prefer to do so
04:46:42 <Gregor> I wish JSMIPS was tolerably fast, but I'm unwilling to figure out exactly why it's so slow and fix it, mostly because I suspect that the reason why it's so slow is because it can't be done fast.
04:46:47 <ehird> Because we're more advanced than simple categorising pattern-matching machines.
04:46:52 <pikhq> coppro: There's also this nasty bit about having to have code in a header if you want to use templated things in multiple files...
04:47:05 <coppro> pikhq: Oh yeah, that's truly nasty.
04:47:06 <ehird> AnMaster combined vaguely related things and thinks it's a new idea, but the rest of us generally don't.
04:47:25 <zzo38> Of course, you can't parse Forth codes without executing it, but if you do execute it, it is simple for the main parser to be written. That is what I mean.
04:47:28 <coppro> pikhq: that one has an interesting legacy...
04:48:13 <pikhq> There's also also this nasty bit about the headers randomly changing from <stdio.h>, say, to <cstdio>.
04:48:20 <pikhq> ... For no particularly good reason.
04:48:40 <zzo38> pikhq: Maybe it is because it is C++
04:48:43 <coppro> pikhq: C does not have them. The <c*> versions of the headers are in namespace std;
04:48:50 <zzo38> I don't use C++ so I wouldn't be sure
04:49:02 <coppro> Of course, it's rather irritatingly moot because
04:49:17 <coppro> *because C standard library functions are reserved in the global namespace
04:49:49 <pikhq> coppro: Oh, right.
04:49:59 <pikhq> And the depressingly poor implementation of namespaces.
04:50:16 <coppro> namespaces != packages, sadly
04:50:22 <coppro> (or modules, whichever you prefer)
04:50:35 <coppro> I think they're looking to add that in 10 years or so :/
04:51:04 <ehird> & 1 || & 10 || & 100 (in octal)
04:51:08 <ehird> Rather annoying to check for executableness
04:51:24 <ehird> Oh, and add a !directory in there too.
04:51:41 <pikhq> Really, why did they keep things like "headers" around?
04:51:52 <pikhq> It's an archaicism at best.
04:52:14 <pikhq> At bear minimum, should've deprecated #include for a proper module system.
04:52:34 <coppro> pikhq: As I said, they're looking for modules for the next iteration in 10 or so years :/
04:52:55 <coppro> Standardized languages have benefits, but they also are slooooow to change
04:53:03 <zzo38> I still think #include and #define are useful commands. But, there is still a few things missing
04:53:20 <coppro> yeah, I don't think they should recommend removing #include
04:53:43 <pikhq> They should nuke the entire C preprocessor in favor of a proper macro system.
04:54:08 <pikhq> ... Oh, and nuke C++ from orbit. :P
04:54:22 <ehird> Passing /foo to stat() gets you ./foo.
04:54:26 <coppro> pikhq: Have you ever seen Boost.Preprocessor? (note: I don't condone it)
04:54:33 <coppro> (and it applies to C as well)
04:54:40 <ehird> open : no such file or directory
04:54:42 <ehird> and /bin gets ./bin
04:54:48 <pikhq> coppro: I'm not saying it's useless.
04:54:48 <ehird> Wait, how is my / being stripped?
04:54:51 <ehird> WHAT IS THE MEANING OF THIS
04:54:56 <pikhq> I'm saying it's piss-poor.
04:55:13 <coppro> pikhq: And I'm saying, look at Boost.Preprocessor if you want a lesson in esoteric programming
04:55:49 <coppro> pikhq: The C preprocessor is horrible (though really, adding a more complex macro system just gives C++ another level of execution besides templates and runtime...)
04:56:09 <pikhq> ... Nuke templates, too.
04:56:21 <pikhq> Really, nuke all of C++. It's an abortion.
04:56:38 <coppro> I do not believe that word means what you think it means.
04:59:06 <pikhq> Seriously, though, consider C++ aborted.
04:59:06 * pikhq puts away the wire coat hanger
04:59:08 <ehird> ...You can't get the filename a symlink points to without open()ing it?
04:59:38 <ehird> And I am tired? Yawn. Sleep soon.
05:03:24 <ehird> http://www.youtube.com/watch?v=nah3nMStXV4
05:03:24 <ehird> in which bears play ice hockey
05:03:24 <ehird> INTERESTING FACT: this video is exactly the same no matter what drugs you are on
05:07:07 * ehird estimates that the final ls.go will be ~300 lines when complete
05:07:23 <ehird> i need a break; i could sleep, but i could also code a different tool!
05:07:58 <ehird> blah cp is so boring, it's just cat in >out
05:08:10 <ehird> pikhq: that's $O^c
05:08:15 <ehird> the plan 9 c compiler :P
05:08:23 <ehird> (since the go compilers are written in plan 9 c)
05:08:39 <pikhq> Go compilers are written in Plan 9 C? That's quite nice.
05:08:45 <pikhq> Plan 9 offers a very nice C environment.
05:08:47 <ehird> using functions from plan 9's stdlib to boot
05:08:53 <pikhq> Much nicer than that of UNIX.
05:08:57 <ehird> pikhq: and the compiler compiles to plan 9 linker files
05:09:00 <ehird> and uses the plan 9 linker
05:09:17 <ehird> russ cox is one of the main people on the go team, and also the author of plan9port
05:09:23 <ehird> it's very much a plan 9 environment
05:09:32 <pikhq> That's quite nice.
05:10:36 -!- zzo38 has quit (Remote closed the connection).
05:10:50 <ehird> i wonder why cp was created
05:10:54 <ehird> when you can just do cat foo >bar
05:11:36 <coppro> why is there cat when there's dd?
05:11:55 <pikhq> coppro: dd predates UNIX.
05:11:57 <ehird> coppro: no, dd is an awful import from other systems
05:11:59 <coppro> why is there chgroup when there's chown?
05:11:59 <ehird> and totally un-unixy
05:12:15 <ehird> cat is simple and unixy, so it should be there (dd should not be there)
05:12:28 <ehird> pikhq: cp -r should just be called cptree or something
05:12:40 <ehird> besides, plan 9 has no cp -r
05:12:45 <ehird> so clearly cp doesn't exist because of -r
05:12:56 <coppro> what about mv? Why is there a mv when there's cp and rm
05:13:06 <ehird> because mv has different semantics
05:13:11 <ehird> it merely changes the filename of an inode
05:13:18 <ehird> it doesn't copy any data at all
05:13:38 -!- coppro has quit (Remote closed the connection).
05:13:52 <ehird> http://man.cat-v.org/plan_9/1/fedex
05:13:55 <ehird> talk about obscure usecase
05:14:02 <ehird> part of plan 9 :-D
05:14:22 -!- coppro has joined.
05:15:23 <ehird> uh oh, my thinking is going fuzzy
05:15:25 <coppro> ehird: cat has different semantics from cp
05:15:25 <ehird> better sleep sooon
05:15:31 <coppro> cat works on its input immediately; cp canl do buffered reads
05:19:54 <ehird> coppro: no, cat could do buffered too
05:20:01 <ehird> in fact that used to be default
05:21:22 <ehird> ok not awake enough to do fmt
05:22:55 <coppro> why don't you go to sleep then?
05:24:54 <ehird> i wish i knew the answer to that myself
05:25:02 <ehird> $ bin/seq -f %c 32 126 | tr -d '\n'
05:25:02 <ehird> !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
05:25:14 <ehird> the power of printf!
05:25:29 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
05:25:42 <ehird> quite a beautiful little pipeline actually
05:26:33 <ehird> amusing how tr foo '' would have the same semantics as tr -d foo, but tr instead decides to complain about it and make you use -d
05:29:07 -!- augur_ has joined.
05:30:23 <ehird> More fun with printf: http://sprunge.us/hXFQ
05:30:54 <ehird> I guess %2v is kinda silly there (v = any value, but of course 2 is number-only). Feel free to mentally substitute %2d.
05:33:45 -!- augur has joined.
05:34:08 <ehird> It's funny how the main "meat" of that trick is totally outsourced to another function; it doesn't really have any corresponding code in the command.
05:37:25 -!- augur_ has quit (Read error: 145 (Connection timed out)).
05:38:44 <ehird> My seq is faster than plan9port's seq; I feel so special.
05:40:28 -!- augur_ has joined.
05:40:30 -!- augur has quit (Read error: 60 (Operation timed out)).
05:44:02 -!- augur has joined.
05:45:39 -!- augur_ has quit (Connection reset by peer).
05:49:17 <ehird> "The calendar produced is that for England and her colonies." —Plan 9 cal(1)
05:49:41 <ehird> 17 18 19 20 21 22 23
05:49:41 <ehird> 24 25 26 27 28 29 30
05:49:54 <ehird> (Gah, the week starts with monday! MONDAY!)
05:50:06 <Gregor> That time travel between Tuesday and Wednesday is a doozie.
05:51:05 <ehird> "The British Calendar Act of 1751
05:51:05 <ehird> Declared the day after Wednesday
05:51:05 <ehird> September 2nd, 1752
05:51:06 <ehird> Would be Thursday, September 14"
05:52:12 <ehird> YOU KNOW YOU'RE A PRETENTIOUS ASSWIPE WHEN
05:52:12 <ehird> ...you know a song about the British Calendar Act oof 1751.
06:00:56 -!- puzzlet has quit (Remote closed the connection).
06:00:59 -!- puzzlet has joined.
06:02:06 -!- augur_ has joined.
06:04:35 -!- augur__ has joined.
06:07:11 -!- augur___ has joined.
06:07:17 <Gregor> THE AUGURS ARE ATTACKING
06:07:49 -!- augur_ has quit (Connection reset by peer).
06:07:49 -!- augur has quit (Success).
06:07:52 -!- augur__ has quit (Read error: 54 (Connection reset by peer)).
06:08:09 <HackEgo> * Saint Roch (Rochus; Roc; Rocco; Roch; Rokku; Spanish and Portuguese: Roque; Rochus; Slovenian and Croatian: Rok; Dalmatian: Roko; c. ... \ [22]en.wikipedia.org/wiki/Roch \ * The Return of the Condor Heroes (; Jyutping: San4 Diu1 Haap6 Leoi5) is a classic Wuxia novel by Louis Cha, who is better known as Jin Yong. ...
06:11:02 -!- oerjan has quit ("Good night").
06:14:05 -!- augur___ has quit (Read error: 104 (Connection reset by peer)).
06:14:17 -!- augur has joined.
06:19:57 -!- augur has quit (Success).
06:20:05 -!- augur has joined.
06:43:29 -!- fungot has quit (leguin.freenode.net irc.freenode.net).
06:43:29 -!- Ilari has quit (leguin.freenode.net irc.freenode.net).
06:43:29 -!- Deewiant has quit (leguin.freenode.net irc.freenode.net).
06:43:29 -!- rodgort has quit (leguin.freenode.net irc.freenode.net).
06:44:28 -!- rodgort has joined.
06:44:28 -!- Ilari has joined.
06:44:28 -!- Deewiant has joined.
06:44:28 -!- fungot has joined.
06:46:04 -!- augur has quit (Connection timed out).
07:02:14 -!- Pthing has joined.
07:38:46 -!- kar8nga has joined.
07:44:01 -!- ehird has quit.
07:51:37 -!- augur has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:13:13 -!- kar8nga has quit (Remote closed the connection).
08:39:25 -!- bsmntbombdood has quit (No route to host).
08:40:10 -!- bsmntbombdood has joined.
08:41:27 -!- MigoMipo has joined.
08:42:15 -!- kar8nga has joined.
10:23:10 -!- Asztal has quit (Read error: 110 (Connection timed out)).
10:48:45 -!- puzzlet_ has joined.
10:58:06 <AnMaster> <ehird> opendns are making you pay to remove their shit nowadays
10:58:07 <AnMaster> <ehird> use other, really open, pure-dns servers.
11:01:25 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
11:04:44 -!- Leonidas has quit (Remote closed the connection).
11:08:06 <SimonRC> why is ehird writing basic unix utilities?
11:12:56 -!- Leonidas has joined.
11:31:13 -!- MigoMipo has quit (Read error: 54 (Connection reset by peer)).
12:08:14 -!- puzzlet has joined.
12:08:54 -!- puzzlet_ has quit (Remote closed the connection).
12:23:29 -!- kar8nga has quit (Remote closed the connection).
12:33:49 -!- BeholdMyGlory has joined.
13:00:21 <AnMaster> SimonRC, for that distro he plans maybe?
13:22:41 -!- kar8nga has joined.
13:30:46 -!- adam_d has joined.
14:17:37 -!- Pthing has quit (Remote closed the connection).
14:23:22 -!- facsimile has joined.
14:50:36 -!- MigoMipo has joined.
15:11:02 -!- facsimile has quit ("Leaving").
15:24:32 -!- oerjan has joined.
15:25:29 -!- adam_d has quit (Read error: 145 (Connection timed out)).
15:42:34 -!- oerjan has quit ("leaving").
15:57:40 -!- Asztal has joined.
15:59:39 -!- facsimile has joined.
16:08:37 -!- Pthing has joined.
17:11:39 -!- kar8nga has quit (Remote closed the connection).
17:18:38 -!- ehird has joined.
17:50:43 -!- ehird_ has joined.
17:51:30 -!- FireFly has joined.
17:52:43 -!- adam_d has joined.
18:07:24 -!- ehird has quit (Read error: 110 (Connection timed out)).
18:07:24 -!- ehird_ has changed nick to ehird.
18:49:28 -!- fizzie has quit (Read error: 60 (Operation timed out)).
18:55:33 -!- fizzie has joined.
19:12:29 -!- facsimile has quit ("Leaving").
19:27:00 <AnMaster> ehird, how is internet nowdays? Slow ADSL? Or are you still on that mobile internet thingy? I forgot.
19:28:12 <ehird> also, dayum ls(1) is a complex beast.
19:28:32 <ehird> even if you only have six flags.
19:29:08 <ehird> (that's less than busybox's 12...)
19:29:37 <fizzie> Meeeh. I used to get a perfectly reasonable ~19000 kbps / 1020 kbps ADSL here, but now the ADSL modem is saying first 8704 kbps / 1020 kbps, then 8571 kbps / 1020 kbps. That's the sucky.
19:29:39 <ehird> damn but more... dayyyum
19:29:54 <ehird> fizzie: i hate you and i hope you die while choking on lava
19:30:07 <ehird> AnMaster: damn but more... dayyyyyyyyyum
19:30:23 <AnMaster> ehird, assume I have no clue what you are talking about
19:30:38 <AnMaster> ehird, and POSIX ls has way more flags than 6
19:30:58 <AnMaster> 23 unless I miscounted in man 1p ls
19:31:07 <ehird> AnMaster: Dayum is like damn but you pronounce it as dayyyyum because it's so daaaaayumu.
19:31:08 <AnMaster> ls [-CFRacdilqrtu1][-H | -L ][-fgmnopsx][file...]
19:31:26 <ehird> [-dhlrtF] for mine
19:31:37 <AnMaster> ehird, well, that's not POSIX then :P
19:31:42 <ehird> -d=false: list directories, not their contents/ -h=false: show file sizes as kilo/mega/gigabytes/ -l=false: show more information in columns/ -r=false: sort in reverse/ -t=false: sort the most recently modified files first/ -F=false: show sigils for directories/ executables* symlinks@
19:31:46 <ehird> AnMaster: care amount: 0
19:31:56 <AnMaster> ehird, ouch you use -d=false as syntax?
19:32:01 <ehird> go's flag parser does.
19:32:09 <ehird> = just means default
19:32:15 <AnMaster> ehird, also I'm sure this will break some shell scripts
19:32:16 <ehird> although admittedly -d=true is acceptable, who cares
19:32:20 <ehird> AnMaster: care amount: 0
19:32:31 <ehird> care amount for posix is -10 because the closer something is to posix the more it's likely to suck
19:32:32 <AnMaster> ehird, you don't use coloured output as an option?
19:32:39 <AnMaster> I always found that rather useful
19:32:48 <ehird> no, i'm not raving so i'm not interested in bright colours
19:32:58 <ehird> it's unlikely to break many scripts anyway
19:33:14 <AnMaster> ehird, well known fact that colours make output easier to read. That is why we have syntax highlighting too
19:33:15 <ehird> it has the basic stuff and I might make an effort to put extra columns in -l to make the commonly used ones at the same position
19:33:24 <ehird> "well known fact". Ha!
19:33:31 <AnMaster> ehird, well, I don't know the source
19:33:37 <fizzie> I still don't feel like paying for 24M/1M when I could pay less for 8M/1M, if the difference is just 0.5Mbps.
19:33:42 <ehird> Coloured ls is not easier to read.
19:33:43 <AnMaster> but don't you use syntax highlighting too?
19:33:50 <AnMaster> ehird, I find it easier to read
19:33:51 <ehird> Yes, I do. It's useful sparingly.
19:33:57 <ehird> Some colour highlighting is helpful, some is not.
19:34:10 <ehird> AnMaster: No, you think you find it easier to read. Humans are notoriously bad at measuring their own efficiency over a variable.
19:34:16 <AnMaster> ehird, it's like making $PS1 have colours, easier to tell apart from output then
19:34:40 <AnMaster> ehird, easier to read as in "getting really annoyed and using ls -l to see anything unless it is coloured"
19:34:58 <AnMaster> you are however free to believe whatever you want
19:35:13 <ehird> I'm not really interested in your "arguments" because they consist of finding examples that are "similar" but not analogous and restating your original assertion in different words.
19:35:34 <AnMaster> sorry? I'm not having an argument with you
19:35:36 <ehird> It's not even like uriel would accept an ls with colour highlighting anyway.
19:35:52 <ehird> AnMaster: would you like a dictionary? I believe it will demonstrate you are.
19:36:30 <ehird> AnMaster: I care about him because I'm writing these tools for Goblin...........
20:12:40 <ehird> "boot logically a command, and is kept in /etc only to lessen the probability of its being invoked by accident or from curiosity. It reboots the system by jumping to the read--only memory, which contains a disk boot program."
20:12:40 <ehird> — 1st Edition Unix boot(1), 11/3/71
20:12:58 <ehird> "The mechanism invoked by jumping to the ROM loader is sensitiveto the contents of the console switches, which makes the whole procedure even more dangerous."
20:14:35 <ehird> DIAGNOSTICS "?", in case of any difficulty. The most common problem is inability to find the given command.
20:15:18 <ehird> "su allows one to become the super--user, who has all sorts of marvelous powers." —su(1)
20:20:06 -!- kar8nga has joined.
20:20:14 * SimonRC didn't realise ehird was writing this linux distro in Go.
20:20:33 <ehird> I'm writing core system utilities in Go for uriel's Goblin project, which I will use for my distro.
20:21:30 <ehird> I have cat, echo, false, mkdir, pwd, seq and true done and am working on ls and vis (make VISible; existed in later editions of Unix — basically, it's what cat -v/-e does, except in a separate program where it belongs)
20:21:56 <ehird> The size of the binaries is rather worryingly, though; about 600 KiB for most of them.
20:22:22 <ehird> But 32-bit instead of 64-bit, a lighter libc statically linked and a non-ELF object format should cut that down to size.
20:23:22 <ehird> I don't think that would help
20:23:31 <ehird> since every lib func would just be included once
20:23:37 <ehird> but I'm not too much a fan of busybox style
20:23:47 <ehird> it's just a hack, really
20:23:51 -!- Pthing has quit (Remote closed the connection).
20:23:58 <ehird> well-crafted static binaries are small enough, I just need to beat these down to size
20:24:13 <ehird> static linking of a non-glibc is often smaller than dynamically linking to glibc
20:24:25 <ehird> go binaries don't use much libc, but that'd help a bit, I imagine
20:24:43 <ehird> plus all pointers being half the size, and an object format less crufty than Mach-O (which has loads of overhead)...
20:24:48 <SimonRC> how can dynamic linking be that big?
20:25:05 <ehird> It's quite seemingly paradoxical indeed.
20:25:13 <ehird> Thankfully static linking is better in other aspects, too, so it's pretty win-win.
20:25:29 <ehird> (note: all go programs statically link the stdlib parts they use, just not the libc)
20:27:18 <ehird> http://man.cat-v.org/unix_8th/1/vis ;; i think i'll deviate from this a bit, end-of-line marking isn't normally very useful, and i don't think tabs should be turned into \t by default
20:27:53 <ehird> so maybe: -t treat tabs as invisible, -n treat newlines as invisible, -s strip, don't translate
20:28:07 <ehird> and using ^x format instead of \xxx, prolly
20:36:20 * ehird wonders why lots of unix commands have an implicit cat
20:36:27 <ehird> e.g. in that vis manpage, vis a b c = cat a b c | vis
20:36:37 <ehird> would seem like "vis [ file ]" would be better than "vis file ..."
20:43:23 <SimonRC> reading the ed man mage, it seems that there should be very clever ways to parse commands very simply
20:44:03 <SimonRC> some way of just doing stuff without needing much lookahead
20:44:27 <fizzie> Anything written in Perl has an implicit cat if you use the magic <>; that reads lines from any files given in @ARGV, or if that's empty, from stdin.
20:47:27 <adam_d> yeah i mean petrol plus ferry could easily end up being similar price
20:52:35 -!- ehird_ has joined.
20:56:15 <ehird_> actually I wonder why sed exists when we have ed
20:56:18 <SimonRC> "When reading a file, ed discards ASCII NUL characters and all characters after the last newline." :-c
20:56:19 <ehird_> i mean, sure, stdin support
20:56:43 <ehird_> SimonRC: ooh that'd be fun
20:56:46 <ehird_> metadata after the closing newline
20:57:42 <SimonRC> there are some seriously oomphy combinations available in that command list...
20:58:23 <ehird_> Make sure you are using http://man.cat-v.org/plan_9/1/ed, instead of GNU ed.
20:58:50 <ehird_> as gnu ed just has a bunch of shit added because why not, plan 9 ed is the updated official, original ed...
20:59:07 <ehird_> well, reimplemented for plan9 after they replaced unix with it ofc but still
20:59:52 <SimonRC> I was looking at http://man.cat-v.org/unix_8th/1/ed
21:00:29 * SimonRC wonders if cat-v.org is a reference to catb.org
21:01:03 <SimonRC> also the way you can chain addresses is rather nifty
21:01:18 <ehird_> it's a reference to cat -v Considered Harmful http://harmful.cat-v.org/cat-v/
21:01:28 <ehird_> rob pike's canonical paper on unix style
21:02:26 <ehird_> well, also the k in k&r :P
21:02:58 <ehird_> not to be confused with Brian Kerninghan, expert on the kerning of Han characters
21:05:29 <ehird_> SimonRC: anyway, how are g and W oomphy?
21:05:34 <ehird_> i should probably look up their definitions :P
21:05:55 <ehird_> right, g is the g in g/re/p
21:06:06 <ehird_> i.e. globally filter for /re/, print
21:07:10 <ehird_> SimonRC: incidentally, http://man.cat-v.org/plan_9/1/sam is a sort of "successor" to ed meant for user usage
21:07:35 <ehird_> with a graphical interface with an ed window above and the file below (showing selections and stuff)
21:07:40 <ehird_> (and the command language is different)
21:08:04 <ehird_> ken thompson, brian kernighan, tom duff and bjarne stroustrup all use sam as their editor, and only the last one isn't an endorsement
21:08:47 <ehird_> (plan 9's other editor/generalised user interface, acme, is used by dennis ritchie, rob pike (it and sam's creator) and russ cox (plan 9 guy, creator of plan9port, member of the Go team))
21:08:53 <ehird_> (well, ken thompson is also a member of the Go team, whatever)
21:09:08 -!- ehird has quit (Read error: 110 (Connection timed out)).
21:09:08 -!- ehird_ has changed nick to ehird.
21:10:59 <SimonRC> Oh c'mon, the only thing Stroustrup has "done wrong" is trying to create a language with every feature ever except GC and compile-time code execution.
21:12:16 -!- adam_d_ has joined.
21:12:48 <ehird> SimonRC: And the only thing I ever did wrong was rape and murder kittens!
21:13:19 <ehird> ("C++: Literally as bad as kitten rape-murder." They should put that endorsement in the C++1x preface.)
21:13:44 <ehird> SimonRC: btw they're adding gc and closures to c++1x
21:13:46 -!- adam_d__ has joined.
21:13:51 <ehird> and templates let you execute tc code at compile-time
21:13:58 <ehird> YOUR EXCEPTIONS WILL SOON BE ENTIRELY INVALID
21:15:57 <SimonRC> ok, every feature except proper macros
21:17:33 <ehird> don't give The Committee any ideas
21:19:29 -!- adam_d has quit (Read error: 145 (Connection timed out)).
21:21:32 -!- ais523 has joined.
21:21:56 -!- adam_d_ has quit (Read error: 60 (Operation timed out)).
21:25:25 <AnMaster> ais523, It seems this issue http://bugzilla.kernel.org/show_bug.cgi?id=14049 affects karmic. Do you happen to know what the ubuntu way is for patching one of the kernel modules locally is?
21:25:40 <AnMaster> (not that I have upgraded yet)
21:25:55 <AnMaster> (I had to patch my gentoo kernel for it, but that I already compile manually, so trivial)
21:26:24 <ais523> AnMaster: not offhand; I remember vaguely that I saw what it was once, but not what it is
21:26:41 <AnMaster> basically I need to replace the joydev module
21:31:59 <ehird> SimonRC: so what did you mean by oomphy? useful?
21:32:12 <ehird> g/foo/W would append all lines matching foo in the file to the file, I think
21:32:36 <SimonRC> well, they have a feeling of being able to do quite com[plex stuff despite being very simple in concept
21:32:50 <ehird> that's called unix
21:32:51 <SimonRC> I think chaining of addresses is good for that too
21:34:14 <ehird> SimonRC: it's quite unintuitive though, in practice: http://sprunge.us/UUWg
21:34:20 <ehird> since it sees the changes after each W
21:34:33 <ehird> if you used a instead of W or whatever it'd probably help
21:35:27 <SimonRC> I was thinking that you'd W to a different file than the one ou were editing
21:36:06 <ehird> SimonRC: but that makes the current file what you W'd
21:36:08 <ehird> so it doesn't help
21:36:19 <ehird> SimonRC: you could do this with a pipe, I think
21:36:40 <ehird> $ ed foo > bar \n g/re/p \n
21:36:51 <SimonRC> so ed keeps re-reading the file whenever W touches it? Odd
21:37:09 <ehird> erm, yes, if you save a file you get the latest version
21:37:11 <ehird> just like every other editor
21:37:26 <ehird> If -o is present, ed writes all its interactive
21:37:26 <ehird> output on the standard error file instead of the standard
21:37:27 <ehird> output file, starts with /dev/stdout as its default output
21:37:27 <ehird> file, ignores any input file argument, suppresses printing
21:37:27 <ehird> of character counts, and simulates an initial a command.
21:38:49 <ehird> note, "9 ed" for me is plan 9 ed
21:38:49 <ehird> http://man.cat-v.org/plan_9/1/ed
21:38:58 <ehird> -o (for output piping) Write all output to the standard
21:38:59 <ehird> error file except writing by `w' commands. If no file
21:38:59 <ehird> is given, make /fd/1 the remembered file; see the `e'
21:39:04 <ehird> that has no implicit a, seems a bit cleaner
21:39:44 <ehird> `ed -o file <foo.ed` runs the ed script foo.ed on ffile
21:41:07 <ehird> sed is just ed that doesn't need to load the whole file
21:41:17 <ehird> EDitor, Stream EDitor
21:41:33 <ehird> (this is why running sed on a file is kinda silly)
21:41:54 <ais523> sed isn't quite identical to ed, IIRC
21:41:59 <ais523> for instance, does ed have flow control
21:42:57 <ehird> they were almost identical at the start.
21:43:21 <ehird> And — http://man.cat-v.org/plan_9/1/ed feel free to see if that's TC; it's a pretty short manpage.
21:43:24 <ais523> but I can also believe that they evolved in different ways
21:43:39 <ehird> apart from !cmd, ofc
21:43:44 <ehird> ais523: Only in useless derivatives like GNU.
21:43:55 <ehird> http://man.cat-v.org/plan_9/1/ed
21:43:55 <ehird> http://man.cat-v.org/plan_9/1/sed
21:43:55 <ehird> Pretty daadmn similar.
21:44:25 <ehird> sed is almost exactly ed with less editing commands repurposed for editing streams instead of files
21:44:53 <ais523> sed has the t command, ed doesn't
21:44:57 <ais523> this is important because it's t that makes it TC
21:45:03 <ais523> (even on those man pages)
21:45:14 <ehird> because sed isn't meant to be used interactively, ed is
21:45:15 <ais523> (ed has a command called t, but it's a different one)
21:45:26 <ehird> and jumping like that is only really useful as a script
21:46:18 <ais523> hmm... isn't cat -v exactly the option that plan 9 doesn't support, with a big long justification as to why?
21:46:25 <ais523> (it makes sense, it should indeed be a separate command)
21:46:48 <ehird> Unix Edition N has never had -v. Ever.
21:47:11 <ais523> as it's really the wrong place to put it
21:47:20 <ehird> http://harmful.cat-v.org/cat-v/unix_prog_design.pdf is Rob Pike and Brian W. Kernighan's seminal paper on UNIX program design, prelude to the book Unix Programming Environment.
21:47:25 * ais523 vaguely wonders if Plan 9 has ed at all
21:47:36 <ehird> It covers commands other than cat -v, though.
21:47:41 <ehird> ais523: Uh, those man pages I linked are Plan 9 ed and sed.
21:47:46 <ehird> (the latest official versions)
21:48:04 <ais523> wait, you're confusing me
21:48:09 <ehird> *covers commands other than cat -v additionally, though
21:48:18 <ehird> http://man.cat-v.org/plan_9/1/ed
21:48:20 <ehird> http://man.cat-v.org/plan_9/1/sed
21:48:27 <ehird> they're plan 9 manpages
21:48:30 <ehird> plan 9 = successor to unix
21:48:37 <ehird> ergo, plan 9 ed and sed = official ed and sed
21:48:41 <ais523> I noticed it doesn't say "the standard" any more
21:48:58 <ehird> because plan 9 has two standard editors :-)
21:48:59 <ehird> http://man.cat-v.org/plan_9/1/sam
21:49:00 <ehird> http://man.cat-v.org/plan_9/1/acme
21:49:16 <ehird> although acme is a "universal interface" too
21:49:22 <ehird> like emacs done right
21:49:35 <ehird> http://doc.cat-v.org/plan_9/4th_edition/papers/acme/ explanatory paper
21:49:50 <ehird> note: those screenshots are inaccurate, acme has colours in plan 9 :P
21:49:55 <ehird> (although no syntax highlighting)
21:50:27 <ehird> a lot of plan 9 programs like irc clients and the like are made for acme
21:50:37 <ehird> although nothing's stopping you from using them with something eles, technically
21:51:09 <ais523> emacs is not fundamentally a bad idea, just the implementation's a bit complex
21:51:37 <ehird> It's a bad idea; if you take the idea at one simpler level, i.e. with less detail, repeat that a few times — acme is then the right idea one step down from that.
21:51:48 <ehird> emacs has a relation to a good idea, is more the thing to say
21:51:51 <ais523> it depends on where you put the scope of an emacs-like idea
21:52:04 <ehird> i'm contractually obligated to quote a nice quote now
21:52:09 <ehird> "cat came back from Berkeley waving flags" — Rob Pike
21:52:32 <ais523> ehird: have the contract annuled because you can't make most sorts of contract with a minor
21:52:46 -!- MigoMipo has quit.
21:52:48 <ehird> what kinds can you make?
21:53:09 <ais523> sales contracts (i.e. if you pay money for something in a shop, they have to give you what you paid for rather than refuse to on the basis that they can't make contracts with children)
21:53:39 <ais523> possibly, I'm not sure
21:53:55 <ehird> well then, clearly it's a sales contract!
21:54:25 * ehird opens plan9port's acme and notes that it isn't very useful outside of plan 9
21:55:25 <ehird> hmm, acme actually includes sam
21:55:32 <ehird> the command "Edit" takes sam commands
21:56:08 <ais523> ehird: is sam command-line, and ACME GUI?
21:56:24 <ehird> sam is both textual and graphical
21:56:42 <ehird> samterm, the graphical sam, is basically a sam command window with many windows showing file contents below
21:56:59 <ehird> you can do basic editing operations in the file window, but that's not very useful; however, the window shows selections that you're operating on in the command window and the like
21:57:03 <ehird> and there's useful menu commands
21:57:13 <ehird> acme is purely graphical, although it's quite textual and command-based as well
21:57:19 <ehird> there isn't really much of a distinction in plan 9 :P
21:57:26 <ehird> [21:55] Capso: it's meant for the whole family to use
21:57:26 <ehird> [21:55] Capso: your sister, brother, mom, dad
21:57:26 <ehird> [21:56] Capso: linux interfaces were created with low-income family computing in mind
21:57:31 -!- pikhq has joined.
21:58:21 <ehird> ais523: "su allows one to become the super--user, who has all sorts of marvelous powers." —1st edition unix su(1)
21:58:32 <ehird> (http://man.cat-v.org/unix-1st/1/su; a goldmine of fun manpages apart from some formatting errors with spaces)
21:58:39 <ehird> well, http://man.cat-v.org/unix-1st/ is the goldmine technically
21:59:18 <ehird> bonus fact: sh(1)'s only diagnostic was "?", unless you were globbing
21:59:19 <Gregor> Surely 1st edition Unix must be out there on the tuberwebs somewhere.
21:59:30 <ehird> in which case the globbing command printed one of, I think two errors
21:59:33 <ehird> http://man.cat-v.org/unix-1st/1/sh
21:59:45 <ehird> Gregor: ais523 knows where to find V[567]
21:59:55 <ehird> with a pdp11 emulator
22:00:04 <ehird> but 1st edition? geez
22:00:13 <Gregor> This is the tuberwebs, damn it!
22:00:18 <ais523> unfortunately, I haven't found any way to transfer files onto them at any decent speed
22:00:34 <ais523> V5 and V7 both use # as the backspace character
22:00:42 <ehird> let's put it this way, the first few editions went by really fast
22:00:47 <ais523> pikhq: the issue is trying to transfer stuff into the emulator, which is rather slow
22:00:49 <ehird> 1st edition is 1971
22:01:04 <ais523> my guess is the only way that'll take a reasonable length of time is to somehow mount the emulator's disk image on a modern system and just copy the file over
22:01:07 <ehird> I think 5th was like 1973 or something
22:01:47 <pikhq> Unix to Unix CoPy.
22:02:20 <SimonRC> ehird has the problem of copying something from one unix system to another, so I suggested UUCP
22:02:54 <ehird> uucp is probably post-1980
22:03:04 <ais523> SimonRC: issue is trying to connect it from inside the emulator to outside
22:03:08 <SimonRC> it predates TCP/IP doesn't it?
22:03:12 <ais523> my current plan involves using one of the simulated tape drives, and tar
22:03:14 <ehird> UUCP was originally written at AT&T Bell Laboratories, by Mike Lesk, and early versions of UUCP are sometimes referred to as System V UUCP.
22:03:43 <ehird> ais523: here's what i suggest
22:03:47 <ehird> tar your files on the host
22:03:48 <ehird> find out how big it is
22:03:54 <ehird> create a file full of A in the unix
22:03:58 <ehird> of that many bytes
22:04:10 <ehird> then s/A{size}/$(cat foo.tar)/
22:04:16 <ais523> in that case, I should transfer uncompressed
22:04:40 <ais523> to save the huge length of time it would take to uncompress it on an emulated PDP-11
22:04:51 <ehird> why is it so slow, I wonder?
22:04:58 -!- kar8nga has quit (Remote closed the connection).
22:05:04 <ehird> we can emulate ppc and the like at near-native speeds of high-end computers on modest computers
22:05:08 <pikhq> Probably just an unoptimised emulator.
22:05:10 <ais523> my guess is that it isn't JITting or, well, optimised at all
22:05:33 <ehird> our cpus are so fast, and pdp11s were so slow
22:05:35 <pikhq> Just going for direct interpretation.
22:05:36 <ehird> so they would have conserved cycles
22:05:40 <ehird> even with direct interpretation
22:05:49 <ehird> sheer brute force and their optimisation culture should surely make it zippy
22:05:52 <pikhq> The PDP-11 is a bit weird...
22:06:05 <Gregor> Yeah, even if you wrote an interpreter in PHP for the PDP-11, I have to think it would run faster than full-speed on a modern system.
22:06:11 <ehird> maybe ais523 needs to run the emulator as 64-bit
22:06:26 <ehird> that's likely the bottleneck
22:06:34 <ehird> ofc somehow I doubt ais523 has 64-bit
22:06:37 <ais523> Gregor: uncompressing a file of several megabits would take ages on the original
22:06:40 <ais523> and no, I don't even have dual-core
22:06:48 <ehird> Core 2 Solo is 64-bit and 1-core.
22:06:53 <pikhq> That could actually make interpreting it much faster.
22:06:55 <ehird> probably you're on Core Solo
22:07:14 <ais523> the sticker saying what this was fell off
22:07:19 <ais523> but I think it's one of the laptop-specific CPUs
22:07:21 <ehird> ais523: /proc/cpuinfo
22:07:27 <pikhq> Just do normal arithmetic and check for overflow, rather than having to do weird stuff to get 36-bits in two 32-bit words...
22:07:35 <ais523> model name: Intel(R) Celeron(R) M CPU 520 @ 1.60GHz
22:07:46 <ais523> yes, I know it's 32-bit
22:07:50 <ais523> I don't have to look it up to determine that...
22:07:54 <ehird> the pdp11 was really simple wasn't it?
22:08:04 <ais523> hey, it means I can fit twice as many pointers in memory!
22:08:15 <pikhq> It was middle-endian.
22:08:23 <ehird> pikhq: that's like two helper functions to fix
22:08:36 <ehird> i'm wondering whether it'd be feasible to hack up a pdp11 emulator in a few hundred lines of c
22:08:44 <ehird> and another few hundred for the attached peripherals
22:08:48 <pikhq> It's not very complex, it's just freaking odd.
22:09:23 <ehird> too lazy to actually do it, though :)
22:09:41 <ehird> someone port unix to the pdp-1
22:09:55 -!- puzzlet has quit (Remote closed the connection).
22:10:00 -!- puzzlet has joined.
22:10:09 <ehird> 18-bit word, 4 kw memory (9 kB)
22:10:16 <ehird> upgradable to 64 kw (144 kB)
22:11:09 <ehird> note: those are kilobytes, not kibibytes
22:11:14 <ehird> but they're close enough
22:11:17 <pikhq> Well, the peripherals would actually be easy to add support for.
22:11:20 <ehird> anyway, that's enough ram to use unix
22:11:23 <pikhq> They were just mmapped devices.
22:11:30 <ehird> The magnetic core memory's cycle time was 5 microseconds (corresponding very roughly to a "clock speed" of 200 kilohertz; consequently most arithmetic instructions took 10 microseconds (100,000 operations per second) because they had two memory cycles: one for the instruction, one for the operand data fetch. Signed numbers were represented in one's complement.
22:11:35 <ehird> 200 kHz is enough for unix, surely
22:12:19 <pikhq> Barely, but enough.
22:12:27 <pikhq> I don't think the PDP-1 had a MMU, though.
22:13:17 <ehird> if you dereference null that's your problem and if you shit on other processes memory you are a dung bat
22:13:29 <ehird> and there is no swap, deal with it
22:13:34 <ehird> mmap? well mmap reads in the whole file of coursees
22:13:47 <ehird> fork? COW says moo
22:14:16 <pikhq> It doesn't make UNIX impossible, just a pain.
22:14:54 <ehird> http://swtch.com/unix/
22:15:00 <ehird> you are not expected to understand UNIX
22:16:07 <ais523> I thought it was specifically the way it implemented fork() that you weren't expected to understand
22:16:53 <ehird> the process switcher
22:17:17 <ehird> i love "The value returned here has many subtle implications."
22:18:34 -!- facsimile has joined.
22:44:41 * ehird realises that there's no real reason for rio to exist in plan 9
22:44:47 <ehird> acme can run a shell
22:44:52 <ehird> so if it could embed any window
22:44:55 <ehird> you wouldn't need any other UI
22:55:03 <ehird> haha plan 9 is so awesome
22:55:29 <ehird> term% fn hello {hello $1}
22:55:44 <ehird> term% cat '/env/fn#hello'
22:55:47 <ehird> fn hello {echo $1}
22:56:06 <pikhq> Oh, it's actually got introspection in shell? Hmm.
22:56:59 <ehird> pikhq: That's not part of the shell.
22:57:04 <ehird> /env is actually part of the filesystem.
22:57:21 <ehird> Thus why cat(1) can look at it.
22:57:41 <ehird> /env/foo is also the value of $foo
22:58:04 <ehird> although writing to it doesn't seem to work, unfortunately
22:58:31 <pikhq> That's actually pretty spiffy.
22:58:40 <pikhq> So, in Plan 9 *everything* is a file.
22:58:59 <ehird> pikhq: The whole architecture of Plan 9 is based around every process having its own namespace.
22:59:14 <ehird> /bin is not a real directory.
22:59:22 <ehird> It's /386/bin, probably plus some other things.
22:59:31 <ehird> acme binds /acme/bin and /acme/bin/$cputype to /bin too
22:59:34 <ehird> http://man.cat-v.org/plan_9/1/bind
22:59:41 <ehird> Bind and mount modify the file name space of the current
22:59:41 <ehird> process and other processes in the same name space group
22:59:56 <ehird> / = the file name space
23:00:18 <ehird> Sure, some of it is simply mapped to the disk... but it's much more than that.
23:03:39 -!- oerjan has joined.
23:06:38 <ehird> One annoying flaw of acme is that in a win(1) (shell window in acme) you can't call acme commands. I think there's something in /proc for it, but still.
23:06:45 <ehird> It'd be nice to be able to go "Edit foo" in a shell.
23:08:01 <ehird> I forget what the command's called.
23:09:40 <ehird> mycroftiv: Stop pretending you're asleep or away, you have no physical manifestation.
23:11:30 -!- adam_d__ has quit ("Leaving").
23:13:24 <ehird> I wonder if there are any people who do use acme instead of rio.
23:30:02 -!- ais523 has quit (Remote closed the connection).
23:36:56 <mycroftiv> ehird: sure, especially the acme-sac users, though thats inferno
23:37:24 <ehird> mycroftiv: my main problems are interfacing with acme in the shell (does acme have a /proc thingy to run a command?) and somehow embedding rio windows
23:37:27 <ehird> rio itself is pretty crappy
23:37:31 <ehird> but acme's window management is niiiiiiiice
23:38:17 <mycroftiv> ehird: acme does maintain a fs, im not up on the particular techniques for interacting with it though
23:38:36 <ehird> how do you get to /proc/$pid?
23:38:56 <ehird> mycroftiv: there's a prog to get pid of clicked window right?
23:39:41 <ehird> mycroftiv: ok, how do i get the cmd of a process in /proc
23:39:57 <mycroftiv> um, its in one of the files, let me check which one
23:40:58 <ehird> hmm, so will it be /ctl?
23:41:13 <mycroftiv> context, what is your goal precisely?
23:41:57 <ehird> echo 'Edit /usr/glenda/poop.c' >/proc/$acmepid/something
23:42:08 <ehird> i forget the command
23:42:10 <mycroftiv> oho, you want the plumber, dont you?
23:42:22 <ehird> i want to be able to execute any command
23:42:26 <ehird> (btw does file(1) use the plumber?)
23:43:17 <mycroftiv> no, file just checks file type and doesnt interact with anything
23:43:36 <mycroftiv> you can execute acme commands from shell windows the same as any, with a middle mouse click on the command
23:43:41 <ehird> can you ask the plumber what type a file is?
23:43:43 <ehird> mycroftiv: no shit
23:43:47 <ehird> mycroftiv: i want to do it with a file
23:44:21 <mycroftiv> as opposed to man 1 acme which is the standard user interface etc
23:44:39 <ehird> hmm /mnt/acme and also /dev? why?
23:44:44 <ehird> which should I use, me wondereth
23:45:01 <mycroftiv> so yes you can control acme via its ctl file
23:45:18 <ehird> mycroftiv: meh, I just wish acme had a more process-oriented design
23:45:24 <ehird> so a command is just a file in /acme/bin or whatever
23:45:33 <ehird> that'd be cleaner+cooler+more usefu
23:45:43 <ehird> instead of the current special case
23:47:00 <mycroftiv> sadly there isnt much standardization on exactly how plan 9 software using a 9p fs for stuff works, people have implemented a lot of approaches
23:47:34 <ehird> new could just be `touch /dev/new/ctl`
23:47:37 <ehird> *New could just be
23:47:43 <mycroftiv> for instance rio creates a new window via the mount operation, which sort of makes sense, but at the same time, it has always seemed to me that it would make more sense as creating a file
23:48:06 <ehird> I'm sorely disappointed that if you do
23:48:10 <ehird> term% foo=a; echo $foo
23:48:13 <ehird> term% foo=a; echo $foo
23:48:17 <ehird> term% cat /env/foo
23:48:22 <ehird> term% echo -n hi >/env/foo
23:48:31 <ehird> term% cat /env/foo
23:48:34 <ehird> ↑↑↑ TOTALLY SHITTY
23:48:59 <ehird> because normally, /env reflects the environment
23:49:05 <ehird> except you can change it and it gets desynchronised, totally counterintuitively
23:49:10 <ehird> if you change the same variable again
23:49:12 <ehird> it resynchronises????
23:49:18 <ehird> it's very flimsy and teh suck
23:49:40 <mycroftiv> did you omit a step from your example above? it doesnt seem to match what you just said
23:49:59 <ehird> i wrote it out by hand
23:50:10 <ehird> how do you make an http POST?
23:51:21 <mycroftiv> ok, im testing, in your example above you actually showed synchronization, but i see the desync you are talking about
23:51:48 <mycroftiv> the variable didnt actually follow the change to the file in /env
23:52:29 <ehird> anyway yeah, uber shitty
23:52:34 <ehird> THIS IS FUNNY BECAUSE
23:52:36 <mycroftiv> yeah i have plan9 always up, so i just tested and i see what you mean, the identity of the two things isnt maintained
23:52:42 <ehird> just before I was musing about an "environment server"
23:52:51 <ehird> which would be basically a daemon that maintains an /env fs with the vars in it
23:52:59 <ehird> hey, this would be good for environment configuration
23:53:06 <ehird> things like autoconf (spit) could be replaced with doing $cc
23:53:11 <ehird> and to update your settings you could just do
23:53:11 <mycroftiv> clearly rc pushes shell variables out to /env but it doesnt read them from it
23:53:24 <ehird> and the env daemon would manage the environment variables for all processes
23:53:48 <ehird> so if you write /etc/env/cc
23:53:53 <ehird> and I was like cool awesome
23:53:56 <mycroftiv> yeah, that would be a nice patch to rc
23:54:01 <ehird> went "OMGOMGOMGOMOMG <3"
23:54:08 <ehird> and was filled with rage
23:54:15 <mycroftiv> the reason it doesnt work like that sadly is that rc is actually a general purpose shell with nothing really plan 9 specific in it
23:54:27 <ehird> you get /env/fn#foo made
23:54:30 <ehird> which is fucking awesome
23:54:41 <mycroftiv> so it would be a relatively easy thing to adjust rcs behavior
23:54:43 <ehird> mycroftiv: anyway, plan 9 retard here — how would I bind a dir into /env?
23:54:49 <ehird> so that $dir/foo is accessible as /env/foo
23:54:58 <mycroftiv> you want it to replace env, or to be a union with it?
23:55:09 <ehird> with /env taking priority for e.g. creating files
23:55:25 <mycroftiv> ok in that case you want bind -ac /my/env /env
23:55:30 <ehird> and, preferably, if there's $dir/foo accessible accessible as /env/foo
23:55:36 <ehird> then modifying /env/foo would create /env/foo
23:55:38 <ehird> not modify $dir/fo
23:55:50 <mycroftiv> that makes your env a union and it will give the original /env the place 'in front'
23:55:53 <ehird> i.e. /env is checked before $dir
23:56:05 <ehird> and modification causes copying to /env first
23:56:10 <ehird> will bind -ac do that?
23:56:41 <mycroftiv> the -a flag puts the new directory added to the union 'behind' the other one, whereas the -b flag puts it 'on top' when it comes to reading and writing files
23:57:00 <ehird> not true, it doesn't do that
23:57:05 <ehird> if I create $home/env/poop
23:57:07 <ehird> then modify /env/poop
23:57:10 <ehird> it modifies $home/env/poop
23:57:23 <mycroftiv> ok try bind -a without the -c flag
23:57:29 <ehird> how do i unbind first?
23:58:12 <ehird> term% bind -a $home/env /env
23:58:15 <ehird> term% echo hi >poop
23:58:18 <ehird> term% cat /env/poop
23:58:23 <ehird> term% echo bar >/env/poop
23:58:30 <ehird> (cwd is $home/env)
23:58:48 <mycroftiv> if you are already in $home/env then of course your stuff gets created there
23:58:57 <mycroftiv> do you mean you want the bind created the other way?
23:59:03 <ehird> look at that carefully
23:59:07 <ehird> the problem is in the last two lines
23:59:10 <ehird> everything before that is great++
23:59:16 <ehird> but the last cat poop should produce hi
23:59:21 <ehird> and then if I did cat /env/poop
23:59:23 <ehird> it should produce bar
23:59:25 <mycroftiv> if you are in $home/env, then you arent making use of the bind
23:59:31 <ehird> READ MY SNIPPET FFS
00:00:19 <ehird> mycroftiv: what i want is copy-on-write, basically
00:00:23 <ehird> even if /env/foo = $home/env/foo
00:00:26 <ehird> if I write to /env/foo
00:00:33 <ehird> cp $home/env/foo /env
00:01:07 <mycroftiv> not exactly, i see what you are saying but i think you are misunderstanding the semantics of bind a bit
00:01:18 <ehird> I know what they are in this instance
00:01:25 <mycroftiv> give me a sec to do a couple tests locally so i can make sure to give you accurate response
00:01:38 <ehird> it SHOULD be possible
00:01:42 <ehird> mycroftiv: to explain WHY
00:01:50 <ehird> /blah/env is on disk
00:01:52 <ehird> it is just some files
00:01:52 <mycroftiv> the problem with what you described doing was that you didnt have a 'poop' in /env previously, right?
00:01:58 <ehird> /blah/env/cc is 8c
00:02:03 <ehird> this is bound to /env
00:02:16 <ehird> echo -n gcc >/blah/env/cc
00:02:21 <ehird> then /env/cc is gcc, too
00:02:27 <ehird> if you do, in a shell session
00:02:31 <ehird> % cc=somecciwanttouserightnow
00:02:34 <ehird> it'll modify /env/cc
00:02:38 <ehird> so, /env/cc will be a new file
00:02:42 <ehird> contents somecciwanttouserightnow
00:02:46 <ehird> and /blah/env/cc stays as gcc
00:02:52 <ehird> modifying /blah/env/cc now does nothing to /env/cc
00:02:57 <ehird> because you've overridden it
00:03:15 <mycroftiv> id agree with you, i was still trying to analyze the example you gave above and explain its behavior
00:03:29 <ehird> i understand it, it's very simple
00:03:35 <ehird> but for this case it's wrong :P
00:03:39 <mycroftiv> oh, i thought it was something unexpected
00:04:41 <mycroftiv> see i think the issue is that you are wanting to make bind 'synchronize' different files, but it doesnt do that, its basically just rewriting a path name
00:06:00 <ehird> i'm not trying any synchronisation
00:06:24 <ehird> because you never understand :|
00:06:37 <mycroftiv> you should be more patient with people who arent as smart as yourself, im sorry
00:06:45 <mycroftiv> i dont even understand what it is im not understanding, though
00:06:54 <ehird> i didn't ever claim you weren't as smart
00:08:33 <mycroftiv> anyway - there is the core issue of /env not synchronizing, which i understand and is lame - im not following exactly what you need/want bind to do that it isnt
00:09:36 -!- pikhq has quit ("Java user signed off").
00:09:54 <ehird> mycroftiv: i'm itching to make my own plan 9-alike
00:10:01 <ehird> because plan 9 doesn't go far enough :P
00:10:15 <ehird> specifically, I'd totally redesign the c language
00:10:18 <ehird> so it's filesystem based
00:10:25 <ehird> files uber alles, memory must die!
00:10:46 <mycroftiv> yeah i have similar ideas, trying to recreate most of an OS environment via synthetic 9p fileservers
00:11:02 <ehird> int foo() { return 42; } → /proc/##/procs/foo
00:11:04 <mycroftiv> the plan9 kernel doesnt use 9p to talk to itself internally
00:11:10 <ehird> you could execute that via the shell
00:12:00 <ehird> mycroftiv: did you see that i'm writing some plan 9-inspired core utilities for linux?
00:12:12 <ehird> part of uriel's project
00:12:27 <mycroftiv> yeah i noticed that and was gonna ask if you are hosting that code anywhere
00:12:40 <mycroftiv> also, tracking your example above, are you sure the behavior you want isnt bind -b rather than bind -a?
00:12:43 <ehird> not yet, but i can send you a tarball of the finished commands and a mkfile if you want
00:13:02 <ehird> i have cat, echo, false, mkdir, pwd, seq and true done and am working on ls and vis, fwiw
00:13:05 <mycroftiv> i think when i told you that you wanted bind -a i was misunderstand what you meant by 'writes go to /env'
00:13:23 <ehird> i can send along ls too, but vis is totally broken atm
00:13:37 <mycroftiv> because once you bind -b something on top of /env you still read and write from /env as usual within that namespace
00:13:39 <ehird> ls works, i just need to implement another gob of functionality before it's complete
00:13:51 <ehird> i have no version control atm, should prolly add some but meh
00:15:27 <ehird> oh, i didn't explain what vis is
00:15:32 <ehird> it's from later unices
00:15:39 <ehird> basically it's cat -v/-e as a separate program
00:15:54 <mycroftiv> yeah its mentioned in the cat -v paper isnt it?
00:16:04 <ehird> for some reason it's file ... there
00:16:07 <ehird> with mine it's [ file ]
00:16:16 <ehird> just as cat shouldn't make things visible, surely vis shouldn't concatenate?
00:16:42 <ehird> (welcome to rebuttals to that, btw — a lot of unix progs take a variable number of files and it's mostly a bad idea)
00:17:09 <ehird> my mkdir does it because there's no "cat" there, it's creating; my ls does it because once it works properly, it'll prepend the path to each entry in the listing like plan 9 ls; you can't duplicate that without it
00:17:18 <mycroftiv> its amazing how much you find even in the core basics of something like unix/C stdio how much weird shit and corner cases there are
00:17:42 <ehird> (i'm curious of your opinion on the implicit catting, btw)
00:17:43 <mycroftiv> behavior of stdio buffers and whether they need to be fflush()
00:18:36 <mycroftiv> im not much of a purist, i guess it seems to me that allowing vis to take multiple file inputs is basically just making it analogous to the fact that lots of command line tools do, as you mentioned
00:19:22 <mycroftiv> but it also doesnt seem to make much of a difference because after all you can always cat foo bar biz | vis
00:19:37 <ehird> yeah, but can you think of a good reason to take multiple files?
00:20:07 <mycroftiv> only that random users may attempt to use it that way 'by instinct/analogy' with cat
00:20:24 <mycroftiv> philosophically, i dont believe in synthetic a priori propositions
00:20:31 <ehird> neither does your mom.
00:20:38 <ehird> i just meant "without reosrting to historical justification"
00:21:40 <mycroftiv> um, slightly greater flexibility for use in some scripting contexts? nothing that strikes me as actually important or worth changing your mind over
00:23:12 <ehird> i was expecting a justification based on unix style
00:23:13 <mycroftiv> honestly i think the 'antisymmetry with cat' argument from historical context is a pretty good reason to stick with your idea
00:24:55 <mycroftiv> ok, from unix style: cat, grep, sed, and probably several others all accept multiple files as input
00:25:15 <ehird> no, modern cat/grep/sed do
00:25:33 <ehird> cat is meant to concatenate files duh
00:25:34 <ehird> http://man.cat-v.org/unix-1st/1/
00:25:39 <ehird> go find me a non-cat, non-cp example
00:26:38 <mycroftiv> i totally disagree with what i interpret to be your implicit premise
00:26:53 <mycroftiv> namely, that unix 1st edition implements the unix design principles more thoroughly than the later unices
00:27:04 <ehird> is not unix implementation
00:27:22 <mycroftiv> i would say unix style is defined by the evolved practices, and certainly with say unix v7 having the heaviest weighting
00:27:32 <mycroftiv> because at&t unix v7 is imo the most important OS release ever probably
00:27:40 <ehird> no way dude, v7 has pcc
00:27:51 <mycroftiv> it introduced the Bourne Shell and C stdio library
00:27:56 <ehird> IT HAS IOCTL, mycroftiv
00:28:01 <ehird> i rest my fuckin' case
00:28:09 <ehird> v7 was the death of unix.
00:28:20 <mycroftiv> well, in that case id take Plan 9 as the definitive model of unix style
00:28:29 <ehird> stop using implementations
00:28:35 <ehird> i'm asking for arguments from the principles of unix style
00:28:40 <mycroftiv> since after all it was Pike who wrote the book, and was the main designer of plan 9
00:28:43 <ehird> by analogy to their judgement on other aspects
00:28:57 <mycroftiv> principles are implicit in implementations
00:29:07 <ehird> implementations are always imperfect
00:29:28 <mycroftiv> which is irrelevant, but was GREAT as a snappy debating point
00:30:00 <ehird> can you just argue from analogy to principles or stfu :P
00:30:26 <mycroftiv> ok, heres a semiprincipled argument
00:30:38 <mycroftiv> many unix command line tools are basically 'stream' tools
00:30:50 <mycroftiv> the operate on a stream of input and produce a stream of output, and they dont care about the origin
00:31:06 <mycroftiv> the files given on the command line just determine 'what the stream is'
00:31:14 <ehird> by that argument no cmd should take file args
00:31:22 <mycroftiv> and so being able to specify several files fits with thta model
00:31:29 <ehird> this fails for one reason: some cmds need files, not streams; seeking etc
00:31:32 <ehird> thus, for consistency
00:31:38 <ehird> all cmds need a file arg, at least one
00:31:39 <mycroftiv> well remember what the inventor of unix pipes said about them
00:31:58 <mycroftiv> he pointed out that everything you can do with pipes, you can do with just file redirections, which had been around forever
00:32:27 <mycroftiv> yet somehow, creating the very simple shortcut of the pipe as a nice abstraction had this kind of transformative effect
00:32:59 <mycroftiv> so the fact that theoretical arguments can make you talk about 'never taking file arguments, or always taking at least one' is beside the point I think
00:33:08 <mycroftiv> as you say, brainfuck isnt as good as haskell just because they can do the same things
00:33:33 <ehird> one the former involves the fs
00:33:36 <ehird> the former is batch
00:33:57 <ehird> anyway what you said is totally irrelevant to what i said
00:35:02 <mycroftiv> i was trying to show what you said was an irrelevant argument in the first place, because it was of the form 'you can do the same with ...', but that isnt necessarily a valid critique of how the semantics of stuff should work
00:35:36 <mycroftiv> more importantly however, i am only inventing arguments that i dont even fundamentally believe because you demanded that i do so
00:35:55 <mycroftiv> you said you wanted an argument from unix design principles to prove point X, so im doing my best to come up with them
00:36:08 * ehird ponders compiler design
00:36:46 * ehird makes his vis take multi files
00:36:58 <mycroftiv> interrupt your ponderings to give me your critique of knuth's literate programming paradigm
00:37:05 <ehird> do you want a tarball of these btw?
00:37:42 <ehird> mycroftiv: My critique: Great for reading code as documentation... terrible for reading code as code, or writing code. The reordering breaks it and makes it a pain to find the code nestled in the overly-verbose documentation.
00:38:02 <mycroftiv> im currently obsessed with a small knuth program for doign arithmetic with arbitrarily large integers, it is so fucking awesome it makes my cry
00:38:06 <ehird> Fundamentally simply unnecessary: good commenting style obsoletes it.
00:38:27 <ehird> (such as http://doc.cat-v.org/bell_labs/pikestyle)
00:38:47 <mycroftiv> see, im very familiar with that, but honestly, i think it presumes too much intelligence and skill
00:39:08 <mycroftiv> maybe in 5 more years ill have changed my mind because ill have developed that skill
00:39:15 <ehird> If you don't presume such things, you end up with a result that only those without intelligence or skill enjoy.
00:39:25 <ehird> (See Java, which was specifically created to be lowest-common-denominator.)
00:39:41 <mycroftiv> i think knuth himself stands as a pretty good counterexample to that
00:40:17 <mycroftiv> i could use some more comments when reading some of the plan 9 source code
00:40:33 <mycroftiv> and i think they would help me improve my skills
00:41:18 <mycroftiv> im not totally convinced by the actual literate programming implementation of CWEB, although i think its great for some things, not sure if I could really work that way though
00:42:57 <mycroftiv> and java i think is more of an example of a failed attempt to be least common denominator, because they seemed to assume that memorizing 500 billion things was easier than even a small amount of coding work
00:43:15 <ehird> I'm thinking about compiling and linking and stuff.
00:44:53 <ehird> Specifically, I'm wondering if separating compiling and linking makes sense.
00:44:54 <mycroftiv> got any unique twists or insights on what goals you think are important and how to implement?
00:45:03 <mycroftiv> i think it does, i like how it works in plan 9
00:45:13 <ehird> I have an additional corollary idea
00:45:26 <ehird> ld :: [Object] -> Binary
00:45:40 <ehird> ld :: Object -> Object -> Object (isomorphic to [Object] -> Object)
00:45:52 <ehird> That way, I could have compiling and linking in one stage, and still link files of separate languages.
00:46:02 <ehird> That is, cc foo.c bar.c -o blah.o
00:46:08 <ehird> You could then do ./blah.o if it has main()
00:46:15 -!- AnMaster has quit (Network is unreachable).
00:46:19 <ehird> go foo.go bar.go -o blahgo.o
00:46:31 <ehird> ld blah.o blahgo.o -o final.o
00:46:59 <mycroftiv> that sounds cool, i have no clue what the technical details/issues of implementation are though
00:47:00 <ehird> cc would of course be able to link in other objects, too (using library functions from ld)
00:47:14 <ehird> $ cc foo.c bar.c /lib/blah.o -o prog.o
00:47:22 <ehird> All object files, libraries and binaries are of the same format.
00:47:27 -!- FireFly has quit ("Later").
00:47:36 <ehird> So you have one simple format and some functions to create that format, provided by ld.
00:47:56 <ehird> ld itself is just a thin wrapper for making a new object, adding n objects to it, and finalising it.
00:48:32 <mycroftiv> that sounds sensible enough i feel there must be a catch
00:48:35 <ehird> An "unld" would also be fun: if ld writes out where the individual symbols are from, you could split it into N .o files
00:49:07 <ehird> mycroftiv: normally libraries are archives full of multiple .o files; using a symbol from one .o includes that whole .o in the linked program
00:49:25 <ehird> mycroftiv: with this system, either it'd have to include the whole library even if you just use a function, or the linker would have to analyse the machine code
00:49:32 <ehird> to see what other symbols each symbol references
00:49:32 <mycroftiv> that causes some annoyances in plan9 porting because it uses static linking
00:49:40 <mycroftiv> so huge libraries cause annoying binaries
00:49:44 -!- BeholdMyGlory has quit (Remote closed the connection).
00:49:56 <coppro> You could have the object format store the list of symbols each symbol uses
00:49:59 <ehird> also, unless the library files include tags to denote data/function (bad bad bad)
00:50:05 <coppro> and only link in symbols needed
00:50:08 <ehird> it'd have to use a heuristic to do dependency analysis
00:50:16 <ehird> coppro: oh, that's a good solution
00:51:55 <coppro> lies. It came from me :P
00:52:35 <ehird> another thought is: from conway's law, we can derive that the fewer passes in a compiler the better
00:52:47 <ehird> because an N-pass compiler is-as-if produced by an N-group team
00:52:57 <ehird> and behemoth teams famously produce terrible software
00:53:28 <ehird> so the question is, can we make the c dialect compileable simply and elegantly with one pass?
00:54:02 <ehird> and since cc uses object-functions to "link" (basically it just compiles every file to one, adding as it goes along), you'd be able to compile and link an entire program in one single paass
00:54:15 <coppro> A C file can be compiled in a single pass
00:54:27 <ehird> yes, but it's more convenient to have multiple passes, generally
00:55:15 <ehird> i wonder how fast a one-pass, self-linking c-sideset (subset and superset) compiler could be
00:55:20 <ehird> almost certainly faster than Go's fast compiler
00:55:36 <ehird> i bet something like 100 kloc in, oh, 3 seconds?
00:55:43 <ehird> on a moderately fast machine that is
00:55:52 <ehird> ignoring io, prolly
00:56:14 <coppro> just checked, clang is single-pass
00:56:42 <ehird> coppro: so clang can compile /dev/stdin without reading all of it first?
00:57:35 <coppro> ehird: It actually waits for the whole file for code generation
00:57:49 <ehird> right, but theoretically
00:57:55 <ehird> there's no obstacle to it other than it operating on a string
00:58:00 <coppro> but parsing and semantic analysis are one pass, and could be done without the whole file
00:58:10 <ehird> that sounds like 2-pass, then
00:58:26 <ehird> parsing and code generation, loosely
00:58:38 <coppro> It only passes over the actual text once
00:58:47 <ehird> that doesn't really count
00:58:58 <coppro> but it won't give you anything until it's done (note, however, that there is some work towards a REPL)
00:59:07 <ehird> a true 1-pass compiler does all its work without looking over the code twice
00:59:14 <mycroftiv> how does this relate to the goal of producing the best quality (by whatever metric) output from the compiler?
00:59:27 <ehird> each block of code comes in, it's parsed, analysed, and it generates the code
00:59:29 <ehird> and goes onto the next bit
00:59:37 <coppro> ehird: The problem with that is that it loses optimization opportunity
00:59:44 <ehird> mycroftiv: it doesn't, but the compiler would be much simpler and elegant
01:00:00 <ehird> optimising the libc and the like is far more rewarding than trivial compiler optimisations
01:00:07 <ehird> I heard a really good quote from rob pike or someone about this
01:01:28 <ehird> "(some unoptimised, redundant code; trivially optimised) This can be optimised by the compiler into: (the optimised version of this code) The latter snippet runs faster and is easier to read. Optimisation only gets you the former, and it makes the compiler more complex."
01:01:48 -!- calamari_ has joined.
01:01:49 <ehird> the only worthwhile optimisation is that with a big gain that can't be done easily by the programmer
01:02:59 -!- calamari_ has changed nick to calamari.
01:03:38 <mycroftiv> ive never actually seen any meaningful benchmarks of the efficiency of code output by various compilers
01:04:08 <ehird> a truly 1-pass c compiler would be interesting, it'd probably be written in yacc+c or whatever
01:04:14 <ehird> possibly a yacc derivative that's "lighter"
01:04:23 <ehird> i.e. meshes better with C, for heavier processing programs
01:04:30 <ehird> it'd be almost literate in a way (@mycroftiv :P)
01:04:46 <ehird> "here is some syntax, and here is the corresponding code'
01:04:53 <coppro> ehird: There's another type of useful optimization
01:05:38 <coppro> An optimization that depends on the platform
01:05:59 <ehird> You mean like substituting some instructions for a faster one on the CPU?
01:06:08 <ehird> That should be done when generating the instructions in the first place, really.
01:06:10 <coppro> or loop unrolling may be good on some platforms and bad on others
01:06:21 <ehird> Irrelevant; it's mostly useless.
01:06:40 <ehird> The gains aren't very large, and when they are this is clearly ugly performance code; unrolling it explicitly would show the intent.
01:07:10 <ehird> also, c isn't compilable in one pass, if you mean cpp+c, which most people do
01:07:36 <ehird> because the standard says that cpp MUST be done as a separate pasas.
01:07:48 <coppro> ehird: No, it says they must be done as if they were separate passes
01:08:19 <coppro> There's the wonderful "as-if" rule
01:08:34 <ehird> Hooray, tangled logic ahoy.
01:08:47 <ehird> Basically it'd end up reading the file and storing it, then going over the results.
01:08:49 <ehird> Not really 1 pass.
01:09:20 <coppro> No, a compiler can run the preprocessor at the same time that it does normal tokenization, like clang does
01:09:38 <coppro> if it sees an identifer during lexing, it checks it against macros and possibly does substitution
01:09:52 <coppro> same goes for directives
01:10:17 <calamari> how are you going to handle a forward goto in one pass?
01:10:39 <ehird> If we say one pass as generating asm, then simply use a label.
01:10:50 <ehird> Otherwise, let the linker do it.
01:10:55 <ehird> If it includes linking?
01:10:58 <ehird> I'll have to think.
01:11:07 <coppro> you can't do it truely in one pass
01:11:24 <ehird> Actually, maybe you could... hmm.
01:11:54 <ehird> (The simple answer is, of course, to simply leave a note and tie them up at the end; that's not "really" 2-pass, and it'd be such a minor step.)
01:11:54 <coppro> but you can simply put it in a list of "unknown labels" and then when you see the label, adjust all the forward gotos
01:12:17 <coppro> Either way, you still have to wait a little past the goto to generate code
01:12:38 <ehird> Well, sure; you can't generate code for every character, either.
01:12:44 <coppro> C++ templates work similarly (/me ducks)
01:12:51 <ehird> Just as you have to parse ahead.
01:13:06 <ehird> Anyway, any forward goto more than about 20 lines from its destination is eek!
01:13:13 <coppro> ehird: Esoteric language coming on... :P
01:13:26 <ehird> Code for each character?
01:13:32 <ehird> That's called Brainfuck with a different looping structure.
01:13:40 <coppro> yeah, that's what I was thinking too :/
01:13:47 <ehird> Like, say, any ascii char above n has n taken away from it
01:13:49 <ehird> and is the same as
01:13:52 <ehird> [ the next n chars ]
01:14:03 <coppro> actually, you could do it in regular BF
01:14:04 <ehird> since every char is one instruction...
01:14:09 <ehird> coppro: what would [ compile to?
01:14:21 <coppro> ehird: A conditional jump to a thunk
01:14:36 <coppro> you could do the same with forward gotos, actually
01:14:45 <ehird> that incurs a runtime penalty
01:14:51 <ehird> backwards and forward gotos should be the same in the result
01:15:04 <coppro> ehird: That's just unecessary optimization :P
01:15:16 <ehird> it's not deliberately incurring a penalty when it's quite simple not to
01:15:35 <coppro> how was it invisible? There was a :P
01:30:00 <ehird> That light yacc sounds fun.
01:31:54 <ehird> Also: Grr include files including include files is irritating.
01:32:58 <ehird> "In practice, #if is almost always followed by a variable like ‘‘pdp11.’’ What it means is that the programmer has buried some old code that will no longer compile."
01:32:58 <ehird> —A New C Compiler, Ken Thompson
01:34:34 <ehird> hmm, that paper warns against using the cpu's call instruction
01:34:48 <ehird> but then: "The first three compilers built were for the National 32000, Western 32100, and an internal computer called a Crisp. These compilers have drifted into disuse. Currently there are active compilers for the Motorola 68020 and MIPS 2000/3000 computers."
01:34:53 <ehird> so who knows what the situation is on x86
01:35:04 <ehird> mycroftiv: does 8c do that?
01:35:07 <ehird> same compiler suite
01:35:44 <ehird> mycroftiv: does 8c produce the x86 CALL instruction
01:35:48 <ehird> or does it just JMP
01:36:06 <ehird> 8c + an x86 dissembler will answer this
01:36:17 <mycroftiv> fuck if i know, i can make it spit out ASM though, got a test case?
01:37:13 <ehird> or it might be inlined
01:37:26 <ehird> coppro: were you trying to talk over those lines?
01:37:29 <ehird> no, i didn't think so either.
01:38:01 <ehird> pastebins are useful when there is channel activity or when there are so many lines that it'd obstruct the channel and be slow to send
01:38:19 <ehird> nine lines in an at the moment very slow channel is not either
01:40:14 <coppro> man, I've been reading too much bad grammar when I start to get annoyed at people on IRC :(
01:40:33 <ehird> coppro: what, for bad grammar? what error did i make?
01:40:41 <ehird> "in an at the moment very slow channel"?
01:40:49 <ehird> that's a stylistic choice, descriptivist!
01:40:54 <coppro> ehird: yeah, that twigged me somewhat. I honestly don't care though, it's IRC.
01:41:14 <coppro> it's just that I'm reading Internet short stories at the moment, and it can be a bit of a slog
01:41:23 <ehird> when i say it out aloud it's rhythmed like that, and "in an, at the moment, very slow channel" doesn't convey this well
01:41:38 * mycroftiv resisted the urge to paste the whole ASM output ;)
01:41:40 <ehird> so maybe CALL beats handling JMPs yourself on 386
01:41:44 <ehird> or maybe they just got lazy
01:41:50 <ehird> coppro: why are you doing that?
01:42:07 <coppro> ehird: That's a good question :/
01:42:08 <ehird> you should read my short story, 'cept i haven't wrote it yet
01:44:12 <ehird> i'm sure call does a bunch of needless shit on x86 though
01:44:46 <ehird> all you really need is to push a return address and jmp (caveat: you can't assume registers have the same value afterwards)
01:45:24 <ehird> (common solution: save the registers elsewhere and restore them; my suggested solution: use registers as a cache and temporary calculation area, not the sole place to find a value)
01:50:18 <mycroftiv> my level of expertise on compiler theory is limited to reading source code for the plan 9 compiler and vaguely understanding it, and a few hours fucking with some x86 emulator and simple asm programs
01:50:37 <ehird> there's no 8i which is phooey
01:50:38 <mycroftiv> aka not enough bits to make a byte of useful information
01:50:46 <ehird> yea but just make shit up
01:52:10 <mycroftiv> um, theres a great ken thompson interview which might have some ideas for you
01:52:20 <mycroftiv> let me see if i can find it and then pretend its me having them
01:53:23 <mycroftiv> www.realitywanted.com/.../1738-exclusive-interview-with-ken-thompson-of-make-me-a-supermodel
01:53:34 <mycroftiv> clearly someone is invading ken thompson's namespace
01:53:48 <ehird> let's call ken kent hompson in future
01:53:52 <mycroftiv> i didnt follow the link, just appalled by the description
01:54:52 <mycroftiv> 'ken thompson of make me a supermodel', that is all
01:56:16 <mycroftiv> ok, found the interview at least - heres something he references, a paper that talks about creating optimization by testing all the possible algorithms that are equivalent he can discover randomly
01:57:01 <mycroftiv> he says that it generates 'indescribable and inhuman' code
01:57:33 <mycroftiv> and he says he used the trick for some crazy optimizations himself, like precomputing multiplication shortcuts
01:58:04 <ehird> mycroftiv: theorise with me about a "lighter" yacc, good if the code related to some syntax is long and involved; i.e. a full program, not just a parser
01:58:04 <mycroftiv> On one case I used it for a compiler I’m writing for 68000 um, multiply takes thirty-two seconds no matter what. So, if you multiply something by three, thirty-two cycles. Those same thirty-two cycles, thirty-two adds, on this machine.
01:58:16 <ehird> lighter syntax (maybe mark yacc bits, not c bits), adds less cruft, etc
01:58:21 <mycroftiv> So, what a combination if you change a multiply into shifts and adds. Multiply by a constant with shifts and adds of, you know, the original thing. You’re going to always beat the multiply because, the multiply is implemented so badly on this chip and so what I did is write super optimizer, which tries all combinations of shifts and adds to generate, to simulate a multiply by constants between one and ten thousand or
01:58:32 <ehird> "takes thirty-two seconds no matter what"
01:58:36 <ehird> lawl transcription error
01:58:51 <ehird> "and ten thousand or"
01:59:08 <ehird> [01:59] ehird: mycroftiv: theorise with me about a "lighter" yacc, good if the code related to some syntax is long and involved; i.e. a full program, not just a parser
01:59:08 <ehird> [01:59] ehird: lighter syntax (maybe mark yacc bits, not c bits), adds less cruft, etc
01:59:50 <mycroftiv> handling backaus naur forms or some shit?
02:00:46 <mycroftiv> um, isnt that basically what yacc does?
02:01:44 <mycroftiv> i thought parsing languages was basically about mapping them to backaus naur forms that define their grammar?
02:01:56 <ehird> i'm talking about a yacc derivative
02:02:01 <ehird> the actual syntax parsing stays the same
02:02:11 <ehird> mainly the syntax differs
02:02:31 <ehird> to make it nicer to do things like c compilers as yacc files
02:02:34 <ehird> for long blocks of c
02:02:54 <mycroftiv> ok, so not a ground up rewrite of yacc
02:03:12 <ehird> lemme come up with an example
02:03:37 <ehird> what is the file ext of yacc files in plan 9
02:04:14 <mycroftiv> y.various stuff if thats what you mean
02:04:45 <mycroftiv> y.tab.c is what you give to the compiler
02:05:28 <ehird> ooh, cool idea me has
02:05:43 <ehird> you know my 1-pass-including-linking idea?
02:05:50 <ehird> let's say you give it multiple c files, now
02:06:07 <ehird> it compiles all of these (and thus links them in, as soon as it compiles a given bit) in parallel
02:06:18 <ehird> as long as the functions that operate on an object in the ld library are thread-safe
02:06:27 <ehird> we can actually literally compile and link multiple c files in parallel
02:09:23 <ehird> one issue here is when you have two symbols of the same name
02:09:27 <ehird> trivially solved, however
02:09:32 <ehird> when one conflicts, list all of them
02:09:38 <ehird> don't say which one was first
02:09:55 <ehird> one issue is if a symbol gets declared first
02:10:00 <ehird> then it is used by something expecting the other one
02:10:03 <ehird> and this causes a type error
02:10:10 <ehird> perhaps on every type error, we should check for conflicts first
02:10:12 <mycroftiv> you know, i think there is an interesting general principle about how parallelization can be aided by serialization of an orthogonal element
02:10:19 <ehird> that'd be simple and incur not much of a penalty
02:10:25 <ehird> and penalties on error conditions are irrelevant anyway
02:10:31 <ehird> mycroftiv: agreed?
02:10:57 <mycroftiv> im convinced but im not competent as an expert witness on compilers, as ive said
02:11:31 <mycroftiv> if i can figure out how to get my #includes right and my mkfile works, im happy
02:11:46 <ehird> mycroftiv: Poor you, then; no #include in mine.
02:12:07 <ehird> #include <stdio.h> might work, but probably something like #include stdio will be recommended.
02:12:12 <ehird> Almost certainly no actual c preprocessor.
02:12:17 <mycroftiv> i have no objection to that kind of simplification
02:12:27 -!- Asztal has quit (Success).
02:12:27 <ehird> so #include "foo.h" might not work
02:12:31 <ehird> or it might just scan for declarations
02:12:41 <ehird> but almost certainly not rampant inclusion of the contents
02:13:47 <coppro> ehird: If there's multiple symbols of the same name there, are three possibilities:
02:14:03 <ehird> coppro: Note that one may be added, code meaning to use the other one will be processed, then the other will be added.
02:14:09 <ehird> And the middle step may break horribly.
02:14:24 <coppro> 1) All but one or all of the symbols are static. This is probably the most difficult case
02:14:36 <ehird> I could just check for conflicts before adding any symbol, but that's a lot of overhead for such a common operation.
02:14:38 <ehird> And it's an exceptional case.
02:14:46 <ehird> coppro: static as in static linking?
02:14:56 <coppro> ehird: No, as in C static
02:15:07 <coppro> 2) The non-static ones are inline symbols. You can freely use any one, because if they aren't identical it's UB
02:15:08 <ehird> hmm, how are those linked?
02:15:13 <ehird> to like __file__foo
02:15:19 <coppro> ehird: yeah, that would work fine
02:15:25 <ehird> how is it done in practice
02:15:39 <coppro> ehird: Not 100% sure. They get a special type of linkage
02:16:24 <coppro> A UUID prefix would work fine
02:16:33 <coppro> since you'd be doing the whole file at once
02:16:41 <coppro> and they don't need to be seen from outside
02:17:04 <mycroftiv> since you are making a compiler, are you going to put in the classic 'ultimate back door' described by thompson in his 'reflections on trusting trust' paper? you should
02:17:18 <coppro> 3) There is a conflict between non-static, non-inline symbols. This is an error as well
02:17:48 <coppro> ehird: It's possible static symbols are simply linked prior to the emission of the object file, but I don't think that's it
02:17:54 <ehird> http://sprunge.us/jdXj ;; what hello world will probably look like in Plan Y (which I am tentatively naming my OS) C
02:18:10 <ehird> thingies: void is implicit, to make writing procedures nicer
02:18:15 <ehird> io lib is different, simpler
02:18:33 <ehird> (procedures as opposed to functions)
02:18:43 <coppro> ehird: I know you're going to hate me, but you could go the C++ route for library headers e.g. #include <io>
02:18:52 <ehird> click the damn link :)
02:19:04 <ehird> coppro: re linkage, doesn't apply to my case ofc when you're linking all things into one object
02:19:10 <ehird> coppro: why include the needless <>
02:19:27 <coppro> ehird: It does; the question is whether the symbol is visible in the .o or not
02:19:39 <coppro> ehird: Because then you're compatible with standard C
02:19:40 <ehird> coppro: ah, as opposed to just having an address?
02:19:47 <ehird> also, i don't care
02:19:53 <ehird> i'm already not compatible by making void implicit
02:19:59 <ehird> and probably removing the parens in control structures
02:20:01 <coppro> it's int, and it is implicit
02:20:28 <ehird> it's more logical that way
02:20:36 <ehird> a procedure has no return value; so there is no return type to specify.
02:20:39 <coppro> no one will use your OS if you don't ship standard C :/
02:20:48 <coppro> feel free to ship a modified version as well
02:20:50 <ehird> coppro: don't ship standard C; you mean like plan 9 doesn't?
02:21:00 <ehird> it's mostly backwards compatible... "mostly"
02:21:05 <ehird> maybe in the c itself
02:21:08 <ehird> but definitely not in the libs
02:21:22 <ehird> you could argue that nobody uses plan 9 either, i could argue that i don't care; i'm a researcher
02:21:48 <ehird> coppro: most "real" c is in ansi c anyway
02:21:49 <coppro> btw, using clang may provide another headache for you
02:21:52 <ehird> in which case it will explicitly specify void
02:21:55 <ehird> that's okay, i'm not going to
02:22:41 <ehird> removing parens from control structures is a rather obvious and totally backwards compatible extension, surprised it isn't more common
02:23:01 <ehird> (example shamelessly stolen from Notes on Programming in C)
02:23:06 <coppro> ehird: No, it's int in standard C++
02:23:21 <coppro> (it's also int in C++, how coincidental)
02:23:23 <ehird> coppro: you've already said that
02:23:47 <coppro> but then you said that most "real" C will explicitly specify void
02:24:18 <coppro> btw, I'm not a fan of implicit int, implicit void, or implicit anything else
02:24:45 <ehird> most real c will say
02:24:48 <ehird> oh, you mean main is int
02:24:51 <ehird> yes, most things will do that
02:25:08 <ehird> main is void in mine because there's no reason for it not to be; exit(1) vs return 1; is a dilemma that shouldn't exist.
02:25:15 <ehird> also, void isn't really a return type
02:25:21 <ehird> return <thing of type void>;
02:25:25 <ehird> and falling off the end is valid
02:25:37 <ehird> retval name(args) {
02:25:40 <ehird> there is no return value
02:25:46 <ehird> so there is no return value type
02:25:57 <ehird> so we take the simplest, most terse route and omit the type for returnless functions
02:26:03 <coppro> if you want my honest advice, don't make a C dialect. Either make something better than C, or standard C
02:26:08 <ehird> this also makes writing procedures, as opposed to functions to be used in expression context, nicer
02:26:18 <ehird> c is pretty nice for kernel programming.
02:26:19 <coppro> C has such great features as C declaration syntax and the C preprocessor
02:27:06 <coppro> Perhaps you could try the proposed new C++ declaration syntax instead of the C one (yes I'm 100% serious)
02:27:21 <ehird> anyway, I'll disregard that advice as I've thought for surely at least a full weeks worth (i.e. 7*24 = 168 hours of thought) on OSs andp rogramming languages
02:27:25 <ehird> *and programming languages
02:27:33 <ehird> C is the best language in which to write a Unix OS.
02:27:47 <coppro> Trying to find the paper
02:28:11 <ehird> I think I'll do debugging symbols by simply having a key/value set attached to each symbol
02:28:53 <ehird> that way stripping debug info is easy to boot
02:29:04 <ehird> as well as any other auxiliary data
02:29:32 <coppro> ehird: the declaration syntax put all the declarators in a linear order so that you could clearly see that something was, say a pointer to pointer to function returning pointer to array
02:29:48 -!- Slereah has joined.
02:29:55 <ehird> coppro: Just like Go, SPECS, etc.
02:31:06 <coppro> ehird: ah, they hadn't fully fleshed it out before it was dropped
02:31:24 <ehird> note that i don't want to deviate too much from c in the actual meat of things
02:31:37 <ehird> http://sprunge.us/jdXj just accentuates the differences, is all
02:32:24 * ehird wonders what's a better way to express pointer-to-anything than void *, which is just a kludge
02:32:29 <coppro> but you could probably do it with i : int; j *-> int; k (int, char) -> int; // i is an int, j is a pointer to int, k is a function returning int
02:32:41 <coppro> probably needs some fiddling
02:33:16 <mycroftiv> the issue of typeless objects is something i think deserves a huge amount more attention
02:33:23 <ehird> coppro: my eyes tried to parse that
02:33:26 <ehird> and they glazed over
02:34:02 <coppro> mycroftiv: Indeed. If I ever get around to making a "real" language, typing will be the #1 concern
02:35:00 <ehird> my experience indicates that typing is overemphasised
02:35:27 <ehird> the main thing missing from most systems that spurs research into behemoth type systems is a generic-type capability
02:35:36 <ehird> so you can define a hash table working on any type, strongly-typed, etc
02:35:36 <mycroftiv> i really started thinking about this more from learning 9p, because all of the real 'meat' of what goes on in a fs all happens in whatever is attached to the void* aux pointer
02:35:41 <ehird> if you add that to something like C
02:35:44 <ehird> it's pretty close to being fine
02:36:01 <ehird> i would wager that most type errors are caught by a very simple system
02:36:12 <ehird> and the ones that aren't are very rare
02:36:16 <ehird> at least compared to other errors
02:36:25 <coppro> But the trick is to make a complex and strong type system that is easy to use and does The Right Thing
02:36:29 <ehird> mycroftiv: elaborate
02:36:44 <ehird> complexity is never a virtue.
02:37:07 <coppro> ehird: Not complexity for the sake of complexity; complexity as needed to reduce type errors while preserving ease of use
02:37:22 <mycroftiv> ok the 9p protocol and its implementation in the standard libraries, all the 9p related structures are basically there for 'bookkeeping' on the protocol, they determine nothing about the content and behavior of the fs really, all of that is implemented...
02:37:38 <ehird> coppro: But I postulate, and experience backs this up, that non-trivial type errors are rare.
02:37:43 <mycroftiv> via whatever structs and functions you create that manipulate the obects that the file->aux pointer points at
02:37:54 <ehird> Certainly time should be diverted away from catching them to more useful areas.
02:38:31 <coppro> ehird: In a simple language like C, most typing errors are trivial
02:39:26 <coppro> But the triviality of typing errors decreases as the complexity of the type system increases, unless some of that complexity is directed at making errors more trivial
02:39:42 -!- Slereah_ has quit (Success).
02:40:51 -!- oerjan has quit ("leaving").
02:41:07 <ehird> coppro: I've used Haskell, dude.
02:41:25 <ehird> That's pretty high at the top, and I can tell you that the type system hindered and bothered me a lot, and helped me surprisingly few times in comparison.
02:41:37 <ehird> And I'm not just some noob; I'm pretty damn good at Haskell's type system, and know how it increases expressivity.
02:41:47 <coppro> ehird: and likewise for myself and C++
02:41:50 <facsimile> how does it increase expressivity?
02:41:56 <ehird> C++'s type system has nothing on Haskell's.
02:42:11 <ehird> facsimile: type classes let you do things you can't do without it, for one
02:42:15 <ehird> I had a really good example, but I've forgotten it
02:42:23 <coppro> ehird: It's getting there.
02:42:27 <ehird> basically, the static dispatch they do lets you condition on them (remember, I forgot)
02:42:33 <ehird> increasing expressivity
02:42:52 <ehird> coppro: In complexity; not in power. Haskell's type system's power is derived solely from its pure functionality.
02:43:00 <ehird> C++ will never be purely functional; it cannot compete.
02:43:40 <coppro> Oh yes, as in "Oh, I misunderstood"
02:44:11 <coppro> though C++'s type system is rather orthogonal to the fact that it generally doesn't have purely functional code
02:44:53 <ehird> coppro: isn't that normally rendered "Oh, yes"
02:45:04 <ehird> mycroftiv: hey, does plan 9 ed let you do "a" inline?
02:45:10 <ehird> as in a full a with text on one line
02:45:12 <ehird> or do you have to do
02:45:33 <coppro> ehird: Yeah, usually. But this is IRC and I've had too much bad grammar lately
02:45:42 <mycroftiv> ill check, i always do it on separate lines but i havent tested
02:46:00 <coppro> ehird: I've received too much of it.
02:46:35 <ehird> It strikes me that if http://doc.cat-v.org/bell_labs/pikestyle was about English, not C, it would be one of the best essays on style and typography ever written.
02:46:41 <coppro> (the joys of trying to determine whether a set of quotes is an actual quotation, emphasis, indicating a character thinking to themselves, or a badly-misplaced apostrophe know no bounds)
02:48:51 <ehird> that makes ed unsuitable as an irc correction language :)
02:49:26 <mycroftiv> well, thats why sed was invented, wasnt it? time travelling irc-er wanted a good way to express revisions on the stream
02:49:55 <coppro> I've actually considered writing a script to apply sed corrections automatically
02:51:25 <ehird> mycroftiv: how would you delete the last character of a line with sed?
02:51:32 <ehird> My non-trivial sed is rusty.
02:52:07 <coppro> Who uses anything but s?
02:53:35 <mycroftiv> d is the delete verb if thats all you needed to know
02:53:47 <ehird> I don't know how to select just the last char of a line.
02:54:46 <ehird> I will henceforth attempt to use sed commands other than s to apply corrections to my messages.§
02:55:17 <ehird> How do you append inline with sed?
02:55:24 <ehird> I don't think you can easily... with sam it's easy.
02:55:58 <ehird> Wait, that /.$/d doesn't work.
03:00:42 * ehird wonders if a better alternative to the 8c convention is arch/c. e.g., 386/c, mips/c.
03:00:51 <ehird> (Along with 386/l, mips/l, etc.)
03:01:05 <ehird> Seems less distinctive and more verbose.
03:06:43 <mycroftiv> i dont think you can operate on objects smaller than a line using the basic pattern space operations, have to use regexp
03:06:53 <ehird> "Name servers don’t scale well, for precisely the reason that the ARPANET name scheme doesn’t scale well: the name server must understand all possible name syntaxes."
03:06:53 <ehird> — The Hideous Name, Rob Pike & P.J. Weinberger
03:07:17 <ehird> "Name servers have problems on other levels, too. Who administers a name server’s database? If the database is not audited frequently much of the data will be obsolete, while if the controls are too onerous, people won’t bother keeping the database current. What does the database contain? Most name servers produce network addresses, but no single network reaches everywhere."
03:07:28 <ehird> mycroftiv: no biggie
03:07:51 <ehird> if I can append stuff after some other stuff or at the end of a line, if I can delete stuff anywhere in the line and if I can replace stuff I'm fine
03:07:59 <ehird> all in one line, preferably with multiple operations per line possible
03:13:34 <mycroftiv> "The algorithm proceeds in two steps. First, we need to generate a number of equations to solve, then we need to solve them." ~Wikipedia
03:14:47 <mycroftiv> i like the 2-step 'generate equations, then solve them' algorithm
03:15:36 <ehird> A parable on the uselessness of find
03:15:40 <ehird> du -a | grep '\.c$'
03:16:01 <ehird> (Admittedly the latter gives you a bunk column. You could trivially make a "tree" command to do the same as "find .".)
03:16:13 <ehird> mycroftiv: any progress on sedliness?
03:16:48 <mycroftiv> hm? was there a topic left open in relation to it?
03:17:40 <ehird> [03:08] ehird: if I can append stuff after some other stuff or at the end of a line, if I can delete stuff anywhere in the line and if I can replace stuff I'm fine
03:17:40 <ehird> [03:09] ehird: all in one line, preferably with multiple operations per line possible
03:17:49 <ehird> I haven't figured out how to append inline, and I haven't totally sussed deletion
03:17:58 <ehird> /.$/d doesn't seem to work
03:19:15 <mycroftiv> what i was saying was that the operations in sed other than s and y work on the whole-line level, they dont dig inside the line
03:20:25 <ehird> In sam, /.$/d works fine.
03:21:53 <mycroftiv> well, the stuff in sed that isnt using the s regexp substitution verb isnt supposed to be the same thing as what sam is doing
03:22:25 <ehird> For five points, figure out how to use sam to script /dev/stdin→/dev/stdout. :P
03:24:35 <ehird> mycroftiv: nono, I mean as a command
03:24:50 <ehird> $ echo 'butt' | samscript 'i/hello/'
03:30:34 <ehird> $ printf 'i/hello\\n/\n0,$p\n' | sam -d 2>/dev/null
03:32:04 <ehird> ' | sam -d >[2]/dev/null
03:32:35 <ehird> does sam let you put multiple commands on a line at all?
03:34:04 <mycroftiv> seems like not, the manpage says you can group multiple commands with { } but they go one per line
03:34:39 <mycroftiv> despite using plan9 fanatically, there are still major pieces of it that i haven't explored
03:34:52 <mycroftiv> i dont even have plan9 handling my email
03:35:02 <mycroftiv> which lots of plan9 users swear by
03:35:11 <ehird> i just use gmail :P
03:35:22 <mycroftiv> and of course i could use plan9 as a client for gmail
03:35:31 <ehird> gmail's ui is the only reason to use gmail
03:35:50 <mycroftiv> i dont particularly like the gmail ui, but im very ui indifferent
03:35:52 <ehird> erm what's the rc thing to concatenate a list into one
03:36:03 <ehird> mycroftiv: conversations. QED
03:36:09 <ehird> nothing else has 'em
03:36:18 <mycroftiv> lemme check, i should know that rc question but i always forget
03:37:07 <ehird> darn, i knew you had to assign a var
03:37:09 <mycroftiv> that should turn a list into a simple string
03:38:02 <mycroftiv> if you have a list, dont you already have a var?
03:38:21 <ehird> 0,$p' | sam -d >[2]/dev/null
03:38:29 <ehird> samscript i/hello/ i/world/
03:38:41 <ehird> and the shebang is for plan9port only
03:38:54 <ehird> wait, ifs is \n normally
03:38:59 <ehird> so $"* mustn't use ifs?
03:43:14 <ehird> i will get 5.5 hours sleep. sigh
03:49:50 <ehird> Gawd, OSs and libraries are so stupid.
03:50:21 <ehird> Why on earth do people fuck so much with compiler optimisation when some simple sanity in OS and library design would speed things up immensely and simplify them in the process?
03:50:58 -!- mycrofti1 has joined.
03:51:40 <ehird> http://tunes.org/~nef/logs/esoteric/09.11.22
03:51:45 <ehird> (what irc client do you use?)
03:52:53 <mycrofti1> i use irssi in gnu/linux and irc7 in plan9
03:53:19 <ehird> mycroftiv: incidentally, how do you feel about my decision that what comes after "name:" isn't a sentence; "name:" starts the sentence?
03:53:44 <ehird> mycroftiv: thus, even when capitalising the first letter of sentences, this should only be done when addressing people on the second line onwards. Like this.
03:53:45 <mycrofti1> does that decision have any notable consequences?
03:53:52 <ehird> mycroftiv: IMO, it flows better.
03:54:12 <mycrofti1> I find that decision mostly interesting on the meta-level
03:54:27 <mycrofti1> I rarely decide to make decisions of that type
03:54:52 <ehird> mycroftiv: i change my style all the time.
03:55:02 <ehird> I'm also considering not capitalising "i".
03:55:10 <ehird> There doesn't seem to be any particular reason to.
03:55:22 <mycrofti1> I will try to pay more attention now that I know you put a lot of signal into your typography and it isn't merely noise.
03:55:22 <ehird> You could, however, make an argument that it's less noisy than I, because it's a more complicated shape.
03:55:45 <ehird> mycrofti1: stop that; you're deliberately talking with capitalisation and punctuation :)
03:56:07 <ehird> I tend to put signal in it for a while and then it degenerates into noise. I have trouble sticking to a style.
03:56:20 <ehird> mycrofti1: you don't sound anything like mycroftiv at all like that :D
03:57:08 <mycrofti1> In general, I find that paying attention to the surface niceties of my text causes disruption of my general train of thought.
03:57:23 <ehird> mycrofti1: STOP IT STOP IT STOP IT STOP IT STOP IT STOP IT STOP IT
03:57:42 <ehird> mycrofti1: i need to be up at around 9:30; tell me that I'm crazy and need to sleep urgently
03:58:21 <mycrofti1> It's clearly a sleep emergency and you should sleep with as much force and vigor as possible.
03:58:30 <mycrofti1> If you're not sweating, you're not sleeping hard enough.
03:58:42 -!- mycroftiv has quit (Read error: 110 (Connection timed out)).
03:59:08 -!- mycrofti1 has changed nick to mycroftiv.
03:59:16 <ehird> mycroftiv: what is this i don't even
04:02:03 <ehird> mycroftiv: please, just tell me that i need to sleep
04:02:34 <mycroftiv> Not only do you need to sleep, there is a hired bounty hunter who will hunt you down if you do not sleep asap.
04:03:12 <ehird> mycroftiv: at least capitalise "ASAP" you lazy bugger
04:03:39 <Gregor> This from someone who isn't capitalizing "I" :P
04:03:53 <ehird> "I" is not an acronym.
04:04:04 <ehird> I need to work out pointer semantics for referencing English words and the like...
04:04:52 <ehird> Anyway, I can resume my OS and compiler thoughts tomorrow, I guess, and the longer I wait the worse I'll be at thinking about them tomorrow. So I will head off to bed now; cheerio.
04:05:07 <ehird> (And with that line I have decided that capitalised "I" is more aesthetic.)
04:06:04 <ehird> I BID YOU FAREWELL, HEATHENS!
04:06:07 -!- ehird has quit.
04:15:02 <facsimile> http://en.wikipedia.org/wiki/Toffoli_gate
05:16:46 -!- Gracenotes has joined.
06:04:52 -!- oklofok has joined.
07:08:00 -!- FireFly has joined.
07:15:45 -!- puzzlet has quit (Remote closed the connection).
07:15:56 -!- puzzlet has joined.
07:16:20 <facsimile> bsmntbombdood what about quantum theory?
07:26:37 -!- kar8nga has joined.
07:29:42 -!- madbr has joined.
07:35:17 -!- calamari has quit ("Leaving").
07:35:28 -!- facsimile has quit ("Leaving").
07:41:01 -!- oklofok has quit (Read error: 104 (Connection reset by peer)).
07:42:03 -!- oklofok has joined.
07:45:14 -!- AnMaster has joined.
07:47:10 -!- oklokok has joined.
07:58:15 -!- FireFly has quit ("Later").
07:58:17 -!- Pthing has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:32 -!- oklofok has quit (Read error: 113 (No route to host)).
08:24:28 -!- madbr has quit ("Radiateur").
08:53:32 -!- ais523 has joined.
10:00:28 <fizzie> AnMaster: Speaking of the "replace a 's/c/d/' regex with 'secede' for obfuscation points", turns out that while sed gleefully accepts "-e secede", Perl won't take "$x =~ secede;" -- it has to be a "non-alphanumeric, non-whitespace delimiter".
10:01:25 <ais523> yep, because otherwise you couldn't give any functions names starting with s
10:01:53 <ais523> well, unless you wanted to prefix them with & all the time
10:06:39 <fizzie> Perl parsing is such a hack, they could've easily done an "after =~ if it starts with s or m, at least try to make a regex out of it if the delimiters match sensibly and there's no cruft after it" kludge there too.
10:07:16 <fizzie> Besides, there are not so many words starting with s that have the correct structure for a s///-style regex.
10:07:43 <ais523> fizzie: no, the issue is that the =~ is optional
10:08:05 <ais523> and it would be ambiguous whether it meant $_=~s/c/d/; or &secede();
10:08:18 <fizzie> Sure, it might not work there; but it could be that =~ induces a "we really expect a regex here" mode-of-thinking.
10:08:20 <ais523> (or even "secede"; but Perl never uses that interpretation, as it would make no sense)
10:10:54 <fizzie> Uh.. are you sure it won't use that last interpretation? Perl -e 'secede;' doesn't complain, and with 'use strict' the error looks like it's thinking of it as a bareword; and perl -e '$a = secede;' sticks the string "secede" to $a. Assuming there's no sub secede { ... } seen, of course.
10:12:38 <ais523> I turn "use strict" on all the time
10:12:51 <ais523> which disallows barewords that aren't subs, except in a couple of specific contexts
10:13:02 <ais523> so yes, it will use that last interpretation if it's the only one available, unless you tell it not to
11:08:04 -!- kar8nga has quit (Remote closed the connection).
11:08:43 -!- puzzlet has quit (Remote closed the connection).
11:08:54 -!- puzzlet has joined.
11:21:25 <fizzie> I just received reports that "$a = 'foo'; $a =~ s ofobo; print $a;" prints out 'boo'. Now *that*'s tricky. And not mentioned in my perlop doc page.
11:37:21 <AnMaster> $a =~ s ofobo makes no sense to me
11:38:00 <fizzie> It seems to mean s/f/b/, of course, but we have no idea why adding a space there makes the alphabetic delimiter work.
11:38:28 <AnMaster> fizzie, hm that seems wrong. After all space is not alphanumeric
11:38:37 <AnMaster> so space should be the delimiter
11:38:47 <fizzie> Whitespace is not an allowed delimiter.
11:38:58 <fizzie> But neither should be alphanumerics, so...
11:39:46 <fizzie> It's a bit weird even for DWIMmery.
11:39:48 <ais523> AnMaster: instead of throwing syntax errors, Perl guesses
11:39:57 <ais523> you only get a syntax error if it had no idea what you meant
11:40:36 <ais523> there's some great DWIMmery in C-INTERCAL, where it guesses whether you meant C-INTERCAL or CLC-INTERCAL notation by which character set you're using
11:41:16 <AnMaster> ais523, oh some issues on mac: stdout is fully buffered, stderr is line buffered
11:41:29 <ais523> can you override it with setvbuf?
11:41:45 <AnMaster> ais523, if it is an mpw tool that seems to mess up MPW badly
11:42:01 <AnMaster> ais523, and the error codes 1, 2 and 3 have reserved meanings for MPW tool
11:42:08 <AnMaster> 1 = syntax error (command line)
11:42:17 <AnMaster> user defined ones should be 4 or higher
11:42:30 <ais523> C-INTERCAL error codes are just the INTERCAL error number
11:42:36 <ais523> which is fun, because that's normally out of range on UNIX (it wraps it)
11:43:00 <AnMaster> ais523, as far as I can see from the docs the range should be somewhat larger than that, 24 bits it seems
11:43:11 <AnMaster> well I don't have them on screen atm
11:43:22 <AnMaster> but from what I read yesterday it looked like that
11:43:39 <AnMaster> ais523, another thing, it turns out you share stack with the shell. Oh and heap of course
11:43:58 <fizzie> Even with a "sub s { ... }" defined above, "$a =~ s ecede;" is interpreted as a regex; you need "$a =~ s(ecede);" to make it actually call s. So as long as that's the case, IM(ns)HO they could as well have made $a =~ secede; work too.
11:44:24 <AnMaster> ais523, except it seems MPW tries some heuristics to find such leaks. The docs contradict itself on this point however
11:44:49 <ais523> you could write a deliberate leak to see what happened
11:44:56 <ais523> fizzie: s is an operator
11:45:01 <AnMaster> ais523, well it is a bit hard to tell what with the Mac OS memory model
11:45:08 <ais523> what does $a =~ s(ecede)(fcede) do?
11:45:13 <ais523> if a function s is defined?
11:45:43 <fizzie> What you'd expect; substitutues ecede with fcede.
11:46:04 <fizzie> Well, what I'd expect; I don't know what you'd expect.
11:46:18 <fizzie> Yes, that's another of Perl's specialities.
11:46:29 <fizzie> Parentheses-style delimiters have to be used in pairs.
11:46:30 <AnMaster> fizzie, does it work for <> {} and [] too?
11:46:41 <ais523> and in perl6, it works for all the parentheses in Unicode
11:46:41 <AnMaster> and what about various unicode parens?
11:47:03 <AnMaster> I think the French use those or something
11:47:13 <fizzie> "the four sorts of brackets (round, angle, square, curly) will all nest".
11:47:15 <ais523> in fact, «» has a predefined meaning in Perl6
11:47:23 <ais523> it's equivalent to perl5's qw()
11:47:43 * AnMaster arges that s→abc←→def← should work
11:50:55 <fizzie> Wasn't there something with «X» and »X« and such to do [something] to just about any operators?
11:51:37 <fizzie> Perl 6 has an *awesome* set of operators; http://glyphic.s3.amazonaws.com/ozone/mark/periodic/Periodic+Table+of+the+Operators+A4+300dpi.jpg (warning: a bit big image, 3477x2456 pixels).
11:52:13 <ais523> fizzie: yep, they're basically the different possible ways of currying map with the operators in question
11:52:24 <ais523> also, «X« is valid sometimes as well, I think
11:52:35 <ais523> as well as X« for unaries (or was that X»? I know only one is meaningful)
11:52:55 <fizzie> op« and »op are listed in that table.
11:53:43 -!- puzzlet has quit (Remote closed the connection).
11:53:47 <fizzie> I like the ":iffy", ":diffy" and ":fiddly" tags there, too.
11:53:54 -!- puzzlet has joined.
11:54:32 <ais523> also, I love the ... operator
11:54:52 <ais523> you know how it's usual in code examples to write /* ... */ or whatever to show that there is code there, you just haven't written it yet?
11:55:00 <ais523> Perl6 has an actual ... operator for that
11:55:07 <ais523> which throws an exception if it's ever actually run
11:55:38 <AnMaster> fizzie, question: what is the diff between those listed as metaops and those not?
11:55:50 <fizzie> AnMaster: Don't ask me, I'm not a Perl 6 scholar.
11:55:56 <fizzie> Hah, a "p5=>" operator.
11:56:07 <ais523> fizzie: it means almost exactly the same thing as ","
11:56:19 <ais523> AnMaster: metaops are basically functions that take operators as arguments and return other operators
11:56:20 <AnMaster> in fact I'm wondering why ! is listed as metaop?
11:56:32 <fizzie> You can apply ! to many other operators.
11:56:46 <AnMaster> fizzie, you mean like == != but instead writing !==?
11:56:55 <AnMaster> (where the ? is NOT part of the op)
11:57:17 <ais523> yes, it's more useful for other things though
11:57:23 <fizzie> Yes, the unary prefix ! is there also listed separately.
11:57:25 <AnMaster> fizzie, what about good old negation, like you would write if (!foo) in C
11:57:37 <fizzie> In the "Complementary" column (IV).
11:58:01 <AnMaster> fizzie, how does perl tell them apart?
11:58:12 <ais523> AnMaster: you can always use quoting
11:58:45 <fizzie> The other is an infix operator and always applied to some other operator; that doesn't sound "hard", but it probably is messy.
11:58:52 <ais523> e.g. !{=} is not-assignment, as opposed to !{==} which is not-equality
11:58:55 <ais523> at least, I think you quote with {}
11:59:00 <fizzie> Oh, ???, !!! and ... are all these "stub" operators.
11:59:05 <AnMaster> ais523, does "not assignment" even make sense?
11:59:21 <AnMaster> isn't that same as commenting out the relevant part?
11:59:36 <ais523> if (!(in = fopen("/etc/passwd","r")) { /* ... */ }
11:59:47 <ais523> that sort of thing (although the above line was C, in Perl it would be a lot simpler)
11:59:52 <ais523> AnMaster: no, it's !(x = y)
11:59:58 <fizzie> Anything with the ":iffy" tag is listed as "can be used with !op". I don't see assignment there.
12:00:04 <AnMaster> ais523, should be "do not assign to this variable"
12:00:13 <fizzie> In fact, there are very few :iffy-tagged ones. Though the table might not be the last word in this.
12:00:18 <ais523> AnMaster: no, that would be INTERCAL
12:00:35 <AnMaster> ais523, true, but isn't intercal esoteric?
12:00:47 <ais523> does not fill me with confidence
12:00:50 <fizzie> Modulus (%) is listed as :iffy, so !% should be legal... it's not exactly clear what the "negated modulus" is.
12:00:59 <ais523> fizzie: "is divisible by"
12:01:18 <AnMaster> sounds like a bug in a high level language like perl
12:01:34 <ais523> AnMaster: a bug in Rakudo, almost certainly
12:01:41 <ais523> I'm just amused it happened on the first command I tried
12:01:56 <AnMaster> ais523, Rakudo? Is it related to Parrot in any way?
12:02:31 <ais523> yes, Parrot is the VM that Rakudo targets
12:02:34 <fizzie> (Must be off to a lecture/lecture-alike.)
12:02:37 * ais523 updates Parrot and Rakudo
12:02:50 <ais523> it's bytecode-compiled
12:02:57 -!- kar8nga has joined.
12:03:05 <ais523> except, it's probably possible to compile Parrot to native code, but then you can do that with Java bytecode too
12:03:13 <AnMaster> ais523, do you have to do it explicitly like in java, or does it happen automatically like in python?
12:03:58 <AnMaster> well, you can do it explicitly for python too. IIRC there is some script called during the python build process to do that for the standard library
12:05:18 * AnMaster reads /usr/lib/python2.6/compileall.py
12:06:21 <AnMaster> hm /usr/lib64/python2.6/py_compile.py
12:08:03 <AnMaster> oh and I have a vague memory of there being something like "compile byte code by interpreting a string as the source of a module" in the Python C API
12:10:32 <AnMaster> ais523, wait, did you say you could compile perl6 to native code in theory?
12:10:48 <AnMaster> wouldn't that imply being possible to parse it without running it?
12:10:54 <ais523> perl6 is meant to be better-behaved than perl5
12:10:56 <ais523> apparently quite some effort has gone into making it compilable
12:11:02 <ais523> and even to be able to have more than one parser
12:11:12 <ais523> I think you can nest compile-times inside runtimes, or something like that
12:11:18 <ais523> rather CLC-INTERCALlishly
12:11:40 <AnMaster> ais523, so you can't do that thing to make it undecidable?
12:11:55 <ais523> I suspect the syntax is probably decidable, now
12:12:25 <ais523> wouldn't matter if it wasn't, though; it would just send the compiler into an infinite loop in the undecidable case
12:12:27 <ais523> as that's what the undecidable case did /anyway/
12:18:27 <AnMaster> ais523, but how does it execute code at compile time if it needs to compile it to bytecode first? Does it JIT-compile to bytecode, or does it switch to interpreting?
12:18:51 <ais523> Perl5 has enough magic as it is, I suspect in Perl6 the magic is recursive
12:19:11 <ais523> (you can even change the grammar on the fly, again CLC-INTERCAL style; in fact, CLC-INTERCAL is looking more and more like a Perl6 tech demo)
12:19:18 <AnMaster> with magic you mean obscure code?
12:19:52 <AnMaster> ais523, or perl6 tech demo is looking more and more like CLC-INTERCAL
12:19:54 <ais523> preferably, which works for no reason at all
12:20:03 <ais523> AnMaster: CLC-INTERCAL is pretty magical too
12:20:21 <ais523> I'm pretty confident that the number of people who understand how it works is less than 10
12:20:25 <ais523> and possibly just 1. or 0.
12:20:31 <ais523> maybe even negative, if that makes sense
12:20:52 <AnMaster> <ais523> AnMaster: CLC-INTERCAL is pretty magical too <-- Of course, it's INTERCAL.
13:26:06 -!- BeholdMyGlory has joined.
13:58:37 -!- FireFly has joined.
14:02:30 -!- Gracenotes has quit (Remote closed the connection).
14:11:46 -!- augur has quit (Read error: 60 (Operation timed out)).
14:19:45 -!- Gracenotes has joined.
14:25:13 -!- Gracenotes has quit ("Leaving").
14:37:48 -!- MigoMipo has joined.
14:48:18 -!- Pthing has quit (Remote closed the connection).
15:26:52 -!- kar8nga has quit (Remote closed the connection).
15:47:45 -!- coppro has quit (Success).
15:49:22 -!- MigoMipo has quit ("Page closed").
16:12:31 -!- kar8nga has joined.
16:32:55 -!- facsimile has joined.
16:39:17 -!- augur has joined.
16:52:23 -!- Pthing has joined.
17:05:01 -!- kar8nga has quit (Remote closed the connection).
17:42:12 -!- BeholdMyGlory has quit (Remote closed the connection).
17:45:16 -!- BeholdMyGlory has joined.
17:48:12 -!- iamcal has quit (Read error: 104 (Connection reset by peer)).
17:49:47 -!- ais523 has quit (Remote closed the connection).
17:56:13 -!- cal153 has joined.
18:11:54 <AnMaster> or anyone else that might happen to know if there is any ipv6 range that is reserved for examples (same way as example.org is or such)
18:12:31 -!- Asztal has joined.
18:12:55 <AnMaster> never mind, found one reserved for documentation
18:15:07 -!- puzzlet has quit (Remote closed the connection).
18:15:10 -!- puzzlet has joined.
18:17:04 -!- pikhq has joined.
18:58:09 -!- augur_ has joined.
18:59:10 -!- augur has quit (Read error: 104 (Connection reset by peer)).
19:03:12 -!- MigoMipo has joined.
19:10:25 -!- kar8nga has joined.
19:15:08 -!- ais523 has joined.
19:17:58 <AnMaster> there doesn't seem to be a portable way to get the value of an auto incremented column, when you need to use that value later in the same transaction
19:19:15 <ais523> SQL is sort-of like Scheme or JS in that you can't expect it to be portable
19:19:22 <AnMaster> also the syntax for it in the dbms used by this module is just hideous: (select current_value of ObjectID_SEQ from MIMER.ONEROW)
19:19:27 <ais523> but it's even worse than those two languages, as it doesn't even have a portablish core
19:19:33 <AnMaster> assuming the sequence is ObjectID_SEQ
19:19:54 <AnMaster> ais523, SQL does have a core... At least in theory
19:20:05 <ais523> there's a standard, IIRC
19:20:12 <ais523> but most SQLs don't comply with it by default
19:20:24 <ais523> I mean, they don't even agree on what quoting operators to use
19:20:44 <AnMaster> ais523, this one uses "" for quoting strange table/column names and '' for strings
19:21:00 <ais523> mysql uses `` for table/column names, at least
19:21:00 <AnMaster> in fact I'm pretty sure postgresql does it like that too
19:21:07 <ais523> which definitely isn't what the standard says
19:21:10 <AnMaster> well ok, mysql is crap however
19:21:33 <AnMaster> postgresql or sqlite are the ones I would use if I had the choice
19:21:51 <AnMaster> (note sqlite is good for small embedded, but standard support is quite bad)
19:23:16 <AnMaster> ais523, also how would one declare a temp variable in sql? Basically I need to store the last inserted row id somewhere, and then insert two other things in the same table that refers to the first row
19:23:30 <AnMaster> thus I can't just use that "(select current_value of ObjectID_SEQ from MIMER.ONEROW)" both times
19:23:49 -!- augur_ has quit (Read error: 60 (Operation timed out)).
19:23:53 <AnMaster> (this would be for the initial schema creation and data importing file)
19:24:10 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
19:25:04 <ais523> AnMaster: I don't think that's standardised either
19:25:09 -!- augur has joined.
19:28:19 <AnMaster> ais523, hm some testing indicates it needs to be inside a begin ... end; block, however the command line sql client thingy seems to have problems handling that (it gives a syntax error if any line inside that contains a semicolon, only way to make it work is to put the entire block on one line, which makes the sql file in question rather unreadable)
19:28:34 -!- Gracenotes has joined.
19:31:31 -!- ehird has joined.
19:32:28 -!- bsmntbombdood has quit (Read error: 113 (No route to host)).
19:34:44 <ehird> AnMaster: We should do shifts like that.
19:37:13 -!- facsimile has quit ("Leaving").
19:37:44 -!- iamcal has joined.
19:39:12 -!- bsmntbombdood has joined.
19:39:38 <ehird> 04:10:48 <AnMaster> wouldn't that imply being possible to parse it without running it?
19:39:57 <ehird> mycroftiv: hey are you there
19:43:23 <AnMaster> ehird, well I didn't know they dropped that thing from perl5 *shrug*
19:43:32 <ehird> AnMaster: they did not.
19:43:46 <ehird> Parsing Perl has always been possible; just not without potentially executing Perl.
19:45:23 <mycroftiv> ehird: size[4] Tauth tag[2] afid[4] uname[s] aname[s]
19:45:35 <ehird> you confuse me with your words
19:47:37 <ehird> should probably read-all that
19:47:46 <mycroftiv> i was just reading some lkml controvery about something gcc was doing, putting 16-byte alignment where it wasn't wanted
19:49:38 -!- zzo38 has joined.
19:49:52 <ehird> mycroftiv: i'm musing on c derivativery, OSs, plan 9 and yacc
19:49:57 <ehird> and compiler architectures
19:51:19 <mycroftiv> something worth thinking about in that regard is the relation of on-disk filesystems to synthetic filesystems
19:51:48 <ehird> are you kidding me, i've probably thought about that at least 70 times
19:51:49 <mycroftiv> theres really no connection between 9p synthetic filesystems and on disk stuff like fossil, it would be nice to change that
19:51:52 <ehird> hi zzo38, quiet today
19:52:03 <ehird> mycroftiv: just implement fossil as a 9p server?
19:52:08 <ehird> is the boring, simple, and probably correct solution
19:52:33 <mycroftiv> thats not quite the same as what i was referring to, i was thinking more about the way the data is structured
19:52:50 <ehird> btw, you said the p9 kernel doesn't use 9p to talk to itself.
19:52:54 <ehird> what does it do? just pass structs?
19:53:09 <mycroftiv> it would be nice if the in memory content of a 9p fs could be snapshotted to disk in a way that naturally fits the disk filesystem
19:53:33 <ehird> i think that's a bit vague to meaningfully discuss; define naturally fits and justify how fossil doesn't achieve that
19:54:06 <mycroftiv> well, fossil ties into venti and uses a tree of pointer blocks pretty much
19:54:21 <ehird> imo dumb deduplication probably works well enough.
19:54:37 <mycroftiv> whereas 9p uses this big set of structures like fcall and the internal stuff the libraries use to provide the public interfaces
19:54:58 <mycroftiv> i always have this idea you should be able to basically dump bytes straight from memory onto the disk, and have it be structured so that it fits the disk storage format
19:55:11 <zzo38> I am writing a real assembler called 888ASM, which I will use for writing operating systems
19:55:22 <zzo38> Have you ever tried to write operating systems
19:56:03 <zzo38> No, I mean, for making program in real-mode.
19:56:21 <ehird> I haven't tried to write a real-mode OS, if that's what you mean.
19:56:33 <zzo38> Yes, that's what I mean.
19:56:44 -!- cal153 has quit (Read error: 113 (No route to host)).
19:57:30 <ehird> mycroftiv: do you know why plan9port doesn't include a drawterm rio?
19:57:36 <ehird> i'd love to use its rio in an os x window
19:58:36 <mycroftiv> what exactly do you mean a 'drawterm rio' ? when you run drawterm rio is being executed by the cpu server you connect to, drawterm is just providing a /dev/draw for it
19:59:41 <mycroftiv> its analogous to the plan9 cpu command, which basically just runs processes on the cpu server with their namespace structured so that the devices are provided by the terminal
19:59:59 <ehird> i meant drawterm as in the way plan9port runs the graphical apps like acme
20:00:07 <ehird> rio uses the same widgets, so surely it uses the same lib?
20:00:18 -!- zzo38 has left (?).
20:00:19 <ehird> so why can't we have actual rio, instead of an x11 wm that imitates rio?
20:01:58 <ehird> er, I am talking about the WM
20:02:05 <ehird> look at plan9port's rio(1); it's an x11 wm
20:02:09 <ehird> maybe rio technically isn't that
20:02:12 <ehird> and it's implemented elsewhere
20:02:35 <ehird> i mean a little plan 9 wm that i can use as if i had rio running in plan 9, in a window
20:03:09 <ehird> is there any technical obstacle other than porting the code from plan 9 c to posix c?
20:03:13 <mycroftiv> i was just explaining that in plan9 rio is a fileserver that multiplexes access to the plan9 kernel files like #c (/dev/cons) and #i (/dev/draw)
20:03:17 <ehird> it uses the same graphical lib all the progs do, right?
20:03:24 <mycroftiv> so that doesnt translate in a direct way to *nix
20:04:00 <ehird> plan9port can't do fileservers?
20:04:47 <mycroftiv> but the linux or other standard *nix kernel doesnt provide underlying devices that work the same way
20:04:51 <ehird> ok, so only the kernel bits would need to be changed. /dev/draw is already handled for progs like sam/acme/etc
20:05:00 <ehird> and /dev/cons is "sort of" easy to do
20:05:10 <mycroftiv> im sure it would be a not-that-hard project to implement
20:05:34 <mycroftiv> and i agree that you could use drawterm code for a lot of it
20:05:40 <mycroftiv> because drawterm provides those devices i was talking about
20:05:53 * ehird tries to find a cruftless source of Rob Pike's "Notes on Programming in C" to give it some nice typographical lovin'
20:06:03 <mycroftiv> so basically you would run rio in plan9 port and have it available for drawterm to dial into
20:07:02 <ehird> not that rio is very good, tbh
20:07:05 <mycroftiv> might need to wire them together to start at the same time, rio doesnt know how to sit around and wait with no display for a client to show up unless you patch it
20:07:12 <ehird> is it possible to write "other wms" for plan9? it is right?
20:07:16 <ehird> just hijack /dev/draw and remap it
20:07:20 <mycroftiv> yeah plan9 user interface is kinda cool but not perfection or the OS strong suit
20:07:36 <mycroftiv> as you know you can run any app right on the framebuffer, no need to put rio in there
20:08:09 <mycroftiv> as a matter of fact someone is working on a plan9 wm alternative who actually has the skill to deliver something technically solid, i think its a grad school project for them or something
20:08:24 <ehird> mycroftiv: do you know the source of the bell labs-area quote that replacing a snippet with a better equivalent one gets you speed and clarity, and machine optimisation only gets the first?
20:08:28 <ehird> i think it was on cat-v or sth
20:08:50 <ehird> i think making acme be able to embed /dev/draw windows would be kickass
20:08:59 <ehird> all other plan 9 interfaces would instantly become obsolete
20:09:02 <mycroftiv> its familiar to me but all the rob pike ive read is all smushed together in my brain, i cant recall what line comes from what
20:09:13 <ehird> well, apart from letting you hide acme windows and recall them later like rio
20:09:20 <ehird> add that and acme is one of the best WMs in existence
20:09:25 <ehird> mycroftiv: i think it was rob pike, yeah
20:09:34 <mycroftiv> yeah the 'rio inside an acme panel' thing has been talked about a fair amount, again, not too hard to do
20:09:50 <mycroftiv> fgb understands the issues well since abaco is his project and it integrates acme with some graphical display
20:09:51 <ehird> as in a panel is a window
20:10:27 <mycroftiv> since thats something some people think 'should work' already, as a matter of design principle and general coolness
20:10:52 <mycroftiv> maybe inferno acme-sac already does that?
20:11:10 <ehird> rio is a pretty useless wm
20:11:16 <ehird> acme is very good at efficiently organising things
20:11:36 <mycroftiv> rio isnt great but it has some things i really like, i like how it and rc work together
20:12:01 <mycroftiv> the awesomely purist backscroll of text that you can edit in, how the execution point works, 'send' option
20:12:40 <mycroftiv> and the basic mechanic of 'new' sweeping out a window, and apps 'taking over' the window they were started in
20:12:42 <ehird> i find revising the most recent flawed command, my most common editing operation by far, is needlessly tedious with the system
20:12:48 <ehird> and i know that's heretical
20:13:06 <ehird> also, the not scrolling by default just makes me disable it until i want to read a manpage
20:13:15 <ehird> as it's completely useless to have to scroll every time all the time
20:13:22 <ehird> mycroftiv: now, acme's terminal
20:13:37 <ehird> mycroftiv: i don't care, it's a shitty default
20:13:50 <mycroftiv> its not useless, it can be used to control execution and have a buffer of upcoming commands that you edit in response to what is going on - and yeah i agree it sucks as a default, i usually change it in my profile
20:14:40 <ehird> http://www.lysator.liu.se/c/pikestyle.html is quite a clean source for NOPIC
20:15:02 <ehird> I wonder where it was originally published, so that I can examine the formatting of the original.
20:15:18 <ehird> http://www.csl.cornell.edu/courses/ece314/tutorials/pike_C.html is devoid of stylistic markup
20:15:52 <ehird> does bwk/pike's book The Practice of Programming include it?
20:16:08 <ehird> [[I've long recommended Pike's "Notes on Programming in C" on my web page. This book includes most of the content from that essay and much more, but is still thin and concise.]]
20:17:10 <ehird> http://doc.cat-v.org/bell_labs/pikestyle seems to retain the formatting of the first one I linked, so either uriel got it from there, it's canonical, or some common ancestor used it
20:17:17 <ehird> well, common ancestor source or just source
20:18:07 <ehird> and that's the last i can find
20:18:20 <mycroftiv> i think im going to start lobbying for tex as the best long-term document storage format
20:18:52 <mycroftiv> well, fortunately for you, my lobbying wont affect anyone at all since nobody cares
20:19:20 <mycroftiv> but it makes sense, the output is quite well defined and the program is 'finished', nothing will be changing in the future in the core program
20:19:24 <ehird> If you want to champion a hopeless cause, roff is better than TeX. Of course, both are monumental tortures to write in (roff slightly moreso).
20:19:38 <ehird> But TeX has many flaws, especially as it does not store *documents*.
20:19:48 <ehird> It stores typesettings.
20:19:58 <ehird> Semantics are all there is.
20:20:02 <ehird> And it is IMPORTANT.
20:20:16 <ehird> Cruft around the content is not the content (although typography is part of it).
20:20:34 <ehird> People sometimes write their document within the confines of the typesetting language, but this is certainly not a good long-term practice for document storage.
20:20:41 <ehird> At least roff encourages that.
20:20:50 -!- Pthing has quit (Remote closed the connection).
20:20:59 <ehird> (And enables a dabbling of typography while leaving the rest to itself.)
20:21:51 <mycroftiv> i was intending to refer to the case where people are trying to preserve or recover specific formatting
20:22:03 <mycroftiv> since the context was you trying to find what the 'original' of pikestyle looked like
20:22:15 <ehird> Sure, and roff would have worked here for the typography I want.
20:22:21 <ehird> TeX would have been more of a pain to extract it from.
20:23:09 <mycroftiv> i guess i just was thinking of tex as being valuable because its output is so precisely specified
20:23:36 <ehird> Except for complete devoidness of support for Unicode.
20:23:53 <ehird> Which makes it useless for a great many things where formatting is very important indeed.
20:24:24 <ehird> (btw, by roff I meant including n and troff)
20:24:53 <ehird> I wonder if http://repo.cat-v.org/troff-slider/ is any good.
20:24:57 <mycroftiv> well, obviously tex isnt a solution for everyone or everything, but im still pretty impressed with it
20:25:40 <ehird> using TeX directly is a good thing if, uh… you are Knuth
20:26:35 <ehird> incidentally, a thought i had about my 1-pass compiler idea: what about portability?
20:26:50 <ehird> should every compiler really rewrite all the c processing code? that's insane
20:27:03 <ehird> I think the way I'll do it is to have the main cc
20:27:13 <ehird> and then you write some functions that it calls
20:27:16 <ehird> for each type of node
20:27:22 <ehird> to generate the code, given loads of context and stuff
20:27:30 <ehird> then you just link 'em together to produce that compilerer
20:29:16 <ehird> but the architecture-specific files will be confusing
20:29:25 <ehird> just a series of unrelated snippets
20:30:07 <ehird> [[Unfortunately, Ossanna's troff was written in PDP-11 assembly language and produced output specifically for the CAT phototypesetter. He rewrote it in C, although it was now 7000 lines of uncommented code and still dependent on the CAT. As the CAT became less common, and was no longer supported by the manufacturer, the need to make it support other devices became a priority. However, before this could be done, Ossanna died.]]
20:31:20 <mycroftiv> im forgetting what your primary motivation for a 1 pass compiler was - simplicity of creating the compiler itself, parallelization of operation, just because its an interesting possibility, all of the above?
20:32:04 <ehird> simplicity of the compiler code, speed of the compiler, and from what i derived from conway's law (gimme a sec to find it)
20:32:26 <ehird> 16:52:35 <ehird> another thought is: from conway's law, we can derive that the fewer passes in a compiler the better
20:32:26 <ehird> 16:52:47 <ehird> because an N-pass compiler is-as-if produced by an N-group team
20:32:27 <ehird> 16:52:57 <ehird> and behemoth teams famously produce terrible software
20:32:27 <ehird> 16:53:28 <ehird> so the question is, can we make the c dialect compileable simply and elegantly with one pass?
20:34:06 <mycroftiv> yeah i remember the conway's law thing, i thought that was clever but not rigorous
20:35:28 <ehird> indeed, it's just an idea
20:35:36 <ehird> does p9 have an alternate way to middle click
20:35:43 <ehird> mine fails in 9vx and plan9port
20:35:55 <mycroftiv> try clicking both left and right at the same time
20:36:06 <mycroftiv> i think theres also a key to hold down while you click also
20:36:13 <mycroftiv> i really oughta make a note of this since it comes up a lot
20:37:08 <mycroftiv> since you are talking about doing stuff like ditching preprocessor, any other notable deviations from C standards you think are worth doing to maximize the efficiency/elegance goals?
20:37:21 <ehird> dual click magixxx is what i tried
20:37:24 <ehird> and it phails o no
20:37:35 <ehird> mycroftiv: not too much. probably very similar to plan 9 c
20:37:53 <ehird> void will probably be implicit
20:38:04 <ehird> main() {} returning void, as you've seen
20:39:08 <ehird> prolly different io lib
20:39:16 <ehird> i don't really know
20:39:34 <mycroftiv> you familiar with plan 9's bio library?
20:41:12 <AnMaster> ehird, wait, are you suggesting that cpp should be dropped?
20:41:31 <ehird> AnMaster: indeed i am, and C's creators agree.
20:41:31 <mycroftiv> ehird: emulate middle button by holding down shift key while pressing right button
20:41:36 <ehird> and it was mostly eliminated in plan 9
20:41:45 <ehird> now remember what i said about shifts? you left right after i arrived
20:41:50 <ehird> let's enact that system, it'll be wonderful
20:41:52 <AnMaster> ehird, okay I agree too. Just one question:
20:41:57 <AnMaster> what will you replace #include with?
20:42:10 <AnMaster> for getting prototypes for library functions and such
20:42:21 <ehird> mycroftiv: doesn't work (i'm using 9vx)
20:42:37 <AnMaster> ehird, and system defines, or rather enums now I guess?
20:43:01 <ehird> AnMaster: #include foo can simply look at /lib/foo
20:43:12 <ehird> annotated with signatures, for instance
20:43:19 <ehird> that's the immediate first idea i had, one of many options
20:43:25 <AnMaster> ehird, and the library will contain definitions of stuff like protypes and structs and such?
20:43:57 <ehird> Not prototypes; as I said, the symbols are annotated with them.
20:44:07 <ehird> Some magic way like having a standardised format to define structures? Oh, how magical and crazy.
20:44:13 <mycroftiv> ehird: http://9fans.net/archive/2009/04/495
20:44:24 <ehird> This is just one idea; I'd think for longer about it, but I'm too lazy. I'll come to that problem when I come to it.
20:44:31 <AnMaster> ehird, wait, why are you using sarcasm?
20:44:44 <ehird> Well, magic is usually used disparagingly in this context...
20:44:53 <ehird> Perhaps #include will simply parse the file, which must contain only declarations.
20:45:02 <AnMaster> ehird, in this case I just meant "some yet to be defined meta data format"
20:45:33 <ehird> AnMaster: Well, yes; just as my object format is yet to be defined. Did you read that my computer will actually link every symbol into the object as soon as it compiles them?
20:45:52 <AnMaster> ehird, you mean static linking? Well no news
20:45:54 <ehird> And I'm using the same object format for objects, binaries and libraries. ld is just a composer.
20:45:57 <ehird> AnMaster: I didn't say that.
20:46:10 <AnMaster> ehird, are you going about your distro or your OS?
20:46:21 <AnMaster> ah, well then all bets are off
20:46:21 <ehird> cc actually produces a $universal_object_format increementally.
20:46:33 <ehird> same as an .a and an (executable)
20:46:54 <ehird> And it doesn't assemble machine code, and then generate the object file; it does it as part of the code generation process, which is in the single pass like every other step.
20:47:13 <ehird> It literally parses a chunk of code, generates the machine code for it, and adds it to the object (probably stored in memory until exit by default).
20:47:13 <AnMaster> ehird, weren't you going to use forth + smalltalk for your OS iirc?
20:47:21 <ehird> You can run it as-is if it has a main().
20:47:31 <ehird> Executing foo just loads the object foo and calls main(); very simple.
20:47:52 <ehird> Or you can do "$ld myccode.o myotherlangcode.o -o combined.o".
20:48:01 <ehird> (which just merges the two objects)
20:48:17 <ehird> AnMaster: I can have more than one OS project, can't I?
20:48:19 <ehird> It's not like anyone will use them/
20:48:32 <AnMaster> ehird, can you name them differently so we can keep them apart?
20:48:46 <AnMaster> ehird, by the way, on your distro you realise you will still be stuck with a special form of dynamic linking whatever you do?
20:49:06 <AnMaster> ehird, and that is the form called "system call"
20:49:13 <AnMaster> sure your OS might get rid of it ;P
20:49:20 <ehird> AnMaster: (1) The one I'm talking about with this architecture will probably be called Plan Y. (2) That is one idiotic definition of dynamic linking.
20:49:25 <ehird> Very strawmanesque.
20:49:44 <ehird> (Free joke: Y Plan Y? Y not?)
20:49:51 <AnMaster> sure, you could consider it IPC to kernel I guess
20:50:24 * ehird just disables scrolling button so he can middle-click for a few seconds
20:50:28 <ehird> AnMaster: that is exactly what it is, more or less.
20:50:44 <ehird> Anyway, none of the problems with dynamic linking apply to system calls.
20:51:10 <ehird> System calls don't incur a runtime penalty to load the library; the kernel is the one running it!
20:51:25 <ehird> System calls very, very, VERY rarely break compatibility.
20:51:32 <mycroftiv> are you using 9vx with a full plan9 distribution or are you using just the stripped down microdistro that is part of the 0.12 tarball
20:51:54 <ehird> And system call users are portable;
20:51:58 <ehird> you are never without the kernel.
20:52:01 <ehird> mycroftiv: latter.
20:52:27 <ehird> fuck shittingbugger i forgot what i was going to do in this plan9 :D
20:52:41 <mycroftiv> you should, in my opinion, download the plan9 .iso image and then mount it and copy it over to your disk, and run 9vx using that copied full plan9 distribution as your root
20:52:52 <ehird> i'm not too fussed about 9vx.
20:53:02 <ehird> at least for graphical shit
20:53:20 <mycroftiv> oh yeah ive heard its awfully slow in os x
20:53:34 <mycroftiv> its fast as fuck (and fuck was measured at 496.5 mph) in leenooks
20:54:17 <ehird> fucking at 496.5 mph? intriguing concept.
20:58:15 <ehird> mycroftiv: you can trivially make a plan 9 / that boots on multiple architectures right?
20:58:46 <mycroftiv> sure thats why its set up the way it is
20:58:57 <ehird> mycroftiv: is that used for clusters?
20:58:58 <mycroftiv> no reason a file server couldnt have stuff for every arch
20:59:23 <mycroftiv> probably so in the case of the blue gene project as a modern example
20:59:39 <ehird> ooh, install everything from /n/sources
20:59:42 <ehird> and the core distro
20:59:46 <ehird> for every arch supported
20:59:47 -!- puzzlet has quit (Remote closed the connection).
20:59:51 -!- puzzlet has joined.
20:59:52 <ehird> it is literally all of plan 9
21:00:00 <ehird> it would be COMPLETE FOREVER
21:00:04 <AnMaster> <ehird> System calls very, very, VERY rarely break compatibility. <-- that is because the kernel developers go to great lengths to avoid it
21:00:11 <ehird> AnMaster: No shit, sherlock
21:00:15 <mycroftiv> more or less, although there are a fair amount of projects that never got loaded onto sources for one reason or another
21:00:36 <ehird> i wonder if anyone has a plan 9 cluster with every supported arch
21:00:38 <ehird> that would be hardcore
21:01:00 <AnMaster> ehird, you know how many variants of the stat() system call linux have had?
21:01:07 <mycroftiv> it would be, however, a couple things - i think some of the supported arches may be moribund, in the sense that they were last actively used circa 1999 and need to be saved from bitrot
21:01:16 <ehird> PLURALISATION! LEARN ITTTTTTTT
21:01:27 <AnMaster> ehird, "had" because it was past tense
21:01:43 <ehird> Linux has had things.
21:01:55 -!- bsmntbombdood has quit (Network is unreachable).
21:01:58 <ehird> Anyway, yes, it's not handled perfectly, but it still works in practice, and all my other notes still apply.
21:02:03 <mycroftiv> and secondly, i get the sense that apart from the HARE/blue gene project and los alamos and related, and coraid, and the lsub, and a few crazed hobbyists like me, there arent that many medium to large scale grids out there really
21:02:14 <ehird> It's more a criticism of Linux, but at least it works in practice.
21:02:15 <AnMaster> ehird, anyway around 6 or so I think
21:02:35 -!- bsmntbombdood has joined.
21:02:48 <ehird> mycroftiv: how many archs does plan9 support? every one has a *c right?
21:03:15 <ehird> 10 machines isn't such a big investment, esp as things like ARM only come in little, cheap form
21:03:25 <AnMaster> <ehird> And system call users are portable; <-- you have to make sure to not use ones added recently, if you want backward compatibility
21:03:29 <ehird> sparc, though, that'd be an investment
21:03:41 <ehird> AnMaster: The relevant issue is forwards compatibility.
21:03:49 <mycroftiv> im sure the biggest investment is in the time required to get something like 68000 up and running from whatever remains of the code for it
21:04:25 <ehird> mycroftiv: personally i think dropping spim, 68000, 68020 and alpha would be smart
21:04:33 <ehird> perhaps even mips and arm
21:04:42 <ehird> that'd leave amd64, 386, sparc, power
21:04:47 <AnMaster> ehird, both apply somewhat if you need to support users on older systems too (like, in software that handles upgrading for example)
21:04:47 <ehird> all of which are probably quite used
21:05:03 <mycroftiv> the amd64 code isnt publicly released yet much to a lot of people's annoyance
21:05:14 <ehird> AnMaster: but you can't dynamically link to a function
21:05:16 <ehird> then have it work in the past either
21:05:37 <ehird> i was listing how the important issues of dynlinking don't apply to syscalls
21:05:49 <ehird> and forward breakage is (no, the way glibc etc solve this by having old versions isn't really a solution)
21:05:54 <AnMaster> ehird, I didn't say that. Was just saying backward compat also mattered with system calls
21:05:58 <ehird> just ignore it ffs, i'm tired of talking about this one point
21:06:02 <ehird> pretend i only made my other points
21:06:16 <ehird> mycroftiv: it isn't? why not?
21:06:23 <ehird> eh, drop amd64 then (is it new? i don't recall seeing it earlier)
21:06:34 <ehird> that'd leave 386, sparc, power
21:06:42 <ehird> i imagine sparc is "quite" popular
21:06:45 <ehird> and power is probably used a bit
21:06:50 <mycroftiv> plan 9 development model isn't conventional open source (doesnt work like lkml) and they have an idea about releasing stuff when its 'ready'
21:07:10 <ehird> i do that too except i don't release binaries until it's ready either.
21:07:16 <ehird> AnMaster: amd64 is supported; not open source.
21:07:17 <mycroftiv> so apparently amd64 still has some bugs or something
21:07:23 <ehird> everyone uses 386, anyway.
21:07:39 <ehird> AnMaster: then the fact that plan 9 was closed source until the 90s is sheer lunacy death-defying mayhem
21:07:41 <AnMaster> ehird, I might be getting a system with 8 GB ram soon
21:07:44 <ehird> or, wait, no, it's called being closed source
21:07:49 <ehird> AnMaster: why should I care?
21:07:55 <ehird> AnMaster: anyway, plan 9 is used in clusters
21:08:08 <AnMaster> ehird, sure, but nothing says each system has to be weak
21:08:09 <ehird> Blue Gene/L looks at your 8 GiB of RAM and laughs. it laughs.
21:08:21 <ehird> a cluster with each node having 8 GiB of RAM is called a folly.
21:08:29 <AnMaster> ehird, what arch is blue gene?
21:08:39 <AnMaster> ehird, also road runner looks at blue gene and laughs :P
21:08:46 <mycroftiv> i think its basically power64 isnt it?
21:08:49 <ehird> road runner has a shit architecture
21:08:59 <ehird> it's not interesting at all it's just a bunch of computers lopped together
21:09:03 <ehird> blue gene is magic
21:09:06 <mycroftiv> actually the plan9 blue gene stuff just got released as a matter of fact
21:09:18 <ehird> http://upload.wikimedia.org/wikipedia/commons/d/d3/IBM_Blue_Gene_P_supercomputer.jpg
21:09:19 <AnMaster> ehird, road runner still beats it
21:09:21 <ehird> is roadrunner this beautiful?
21:09:29 <ehird> AnMaster: if your only metric is marginal amounts of computing power.
21:09:41 <ehird> dude, roadrunner is just a bunch of grills with computers in them
21:09:49 <ehird> you just have a roadrunner fetish
21:10:10 <AnMaster> ehird, http://en.wikipedia.org/wiki/File:Roadrunner_supercomputer_HiRes.jpg
21:10:20 <ehird> i stand by what i said
21:10:35 <ehird> roadrunner has an uninteresting architecture, building it is trivially easy (routers, computers and link cable? ok, just stick them up!), and it required no rea thought or innovation
21:11:00 <ehird> all it has is slightly more computing power than the competition, and furthermore it's being used on military stuff which is lame
21:11:18 <AnMaster> ehird, actually road runner uses Cell and Opetron iirc
21:11:32 <ehird> did i contradict that
21:11:37 <ehird> (blue gene otoh is innovative, made real bounds in computing power compared to previous supercomputers and cleverly designed)
21:11:50 <AnMaster> ehird, mixing two architectures doesn't sound trivial to me
21:11:59 <ehird> It's not like their CPU boards are mixed together.........
21:12:18 <ehird> You just compile each program for both architectures and they communicate with a common protocol.
21:12:25 <ehird> No thought involved whatsoever, it's exactly what you do with any cluster.
21:13:44 <AnMaster> ehird, so what is so great with blue gene exactly?
21:13:48 <AnMaster> apart from that it can run plan9
21:13:54 <ehird> wikipedia is that way
21:14:01 <ehird> btw, not can; does
21:14:10 <ehird> plan 9 is used on blue gene/L for actual use
21:14:21 <AnMaster> ehird, are you saying it can't but still does‽ ...
21:14:49 <ehird> I hereby direct you to http://xkcd.com/169/.
21:15:08 <AnMaster> ehird, and I don't care shit about it
21:15:18 <ehird> You continue to fail at grammar forever.
21:15:30 <ehird> mycroftiv: quick, say something interesting before I off myself due to tedium.
21:15:36 <ehird> also, give me a gun.
21:15:47 * ais523 wonders how much missing the point "meagry" would be
21:15:57 -!- augur has quit (Read error: 145 (Connection timed out)).
21:16:24 <ais523> AnMaster: ehird's link
21:16:28 <ais523> it's the traditional answer to the riddle
21:16:45 <ehird> I like how AnMaster knew he didn't "care shit about it" when he clearly didn't even click.
21:16:48 <ais523> $ grep gry$ /usr/share/dict/words
21:17:00 <ais523> although, the dictionary here disagrees with the riddle in question
21:17:03 <ehird> He has a black-box of link→doesCareShitAboutIt
21:17:06 <ais523> (it's not perfect, though)
21:17:39 <mycroftiv> ehird: do you agree that the center of the 'average person' computing experience is shifting to mobile devices (phones blah blah) - if so, what are the implications for what systems designers such as yourself need to be doing?
21:17:53 <ehird> mycroftiv: fuck all because people are idiots and i do research
21:17:53 <AnMaster> ais523, complete webster 1934 edition
21:17:57 <ehird> mycroftiv: next question :D
21:18:06 <AnMaster> ais523, selected because copyright has elapsed
21:18:16 <ais523> double heh, even though I vaguely guessed that
21:18:25 <ais523> the one here's a compilation of various open-source word lists
21:18:30 <ais523> most of which seem remarkably unsystematic
21:19:33 <ais523> AnMaster: I can't remember the details, nor can I be sufficiently bothered to look them up
21:19:43 <AnMaster> ais523, anyway "aggry" seems to be a valid answer to the riddle
21:20:03 <ehird> It's not a riddle, it's a joke/prank.
21:20:22 <ehird> As a riddle it's an uninteresting literal interpretation; as a joke/prank it's infuriatingly idiotic.
21:20:22 <ais523> according to Google, it's only used in the combination "aggry beads"
21:20:33 <ehird> But the former is definitely derived from the latter; probably by idiots who can't even annoy correctly.
21:20:38 <ehird> Google will back me up on this.
21:20:40 <ais523> ehird: the original riddle isn't a trick question and has "meagry" as the actual answer
21:20:46 <ais523> it isn't a particularly interesting one, though
21:20:51 <ehird> IIRC the Straight Dope disagrees with you
21:20:56 <ehird> and it is infallible, after all.
21:20:58 <ais523> also, I love your "can't even annoy correctly"
21:21:27 <ehird> It is a refined antitalent.
21:21:41 <ais523> it reminds me of the modern decline in the quality of trolls
21:21:51 <ais523> really good Usenet trolls I actually enjoy watching, it's a performance art
21:21:55 <ais523> although you rarely see them nowadays
21:22:04 <ais523> (an ideal troll leaves you wondering if they were a troll or not)
21:22:05 <mycroftiv> usenet trolls of the late 90s were indeed the all time highwater mark of trolling I must say
21:22:21 <ais523> was that before or after the Eternal September?
21:22:25 <mycroftiv> id say so because the audience was large
21:22:29 <ehird> 1993 is early september.
21:22:33 <ehird> late 90s is just flooding and spam.
21:22:39 <ais523> wait, I mean before or during
21:22:44 <mycroftiv> no, because web boards hadnt taken over by then
21:22:49 <fizzie> DSL standard: ADSL2+ Mode
21:22:49 <fizzie> near-end bit rate: 18601 kbps
21:22:49 <fizzie> Wooo, that was some good service. I sent an email two hours ago to their support service, complaining that my modem's saying "DSL standard: Error" and speeds are <= 8Mbps; now it's magically fixed. (Now if they'd just bother also replying to that email... still, admittedly it's not exactly office hours right now -- ~2325 localtime.)
21:23:02 <ehird> i read on encyclopedia dramatica about a totally epic-sounding usuenet war, lemme see if i can dig it up
21:23:17 <mycroftiv> from 95-98 usenet was where the 'entire damn internet' had its conversation
21:23:27 <mycroftiv> well, mailing lists also of course, although lots of overlap there
21:23:44 <mycroftiv> was after the arrival of 'the general public' and before web based discussion forums took over
21:23:49 <ais523> ehird: encyclopedia dramatica's one of those sites I never knowingly click on links to
21:24:12 <ehird> yeah, the deluge of ads and offensive language may hard-reboot your brain.
21:24:17 * ais523 vaguely wonders about blocking it at the /etc/hosts level, and wonders what's the actually correct way rather than just redirecting it to 127.0.0.1 like everyone else does
21:25:25 <ehird> ED should be shut down by the president of the united states of USA, i hear they mocked lilo AFTER HE DIED
21:26:24 <ehird> eh, can't find the article.
21:27:13 <AnMaster> ais523, is there any other way?
21:27:53 <ehird> There are some IPs reserved as invalid, I believe.
21:27:57 <AnMaster> because I sometimes run a development web server locally
21:28:11 <ais523> AnMaster: 127.0.0.2 should map to 127.0.0.1
21:28:18 -!- puzzlet has quit (Remote closed the connection).
21:28:20 <ais523> in theory, the whole of 127.0.0.0/8 is loopback
21:28:22 -!- puzzlet has joined.
21:28:38 <AnMaster> ais523, well, that depends on what ips the web server is set up to listen to
21:28:41 <ehird> 128.0.0.0/16Reserved (IANA)
21:28:41 <ehird> 191.255.0.0/16Reserved (IANA)
21:28:41 <ehird> 192.0.0.0/24Reserved (IANA)
21:28:42 <ehird> 223.255.255.0/24Reserved (IANA)
21:28:42 <ehird> 240.0.0.0/4Reserved (former Class E network)
21:28:51 <ehird> Not "invalid", but reserved and unlikely to be released nonetheless.
21:28:58 <fizzie> I'm not sure that the whole 127/8 *has* to be, but that's the usual.
21:28:58 <ehird> 127.0.0.0/8Loopback
21:29:30 <AnMaster> ehird, well, I don't know but on my ubuntu laptop:
21:29:33 <AnMaster> inet addr:127.0.0.1 Mask:255.0.0.0
21:29:33 <AnMaster> inet6 addr: ::1/128 Scope:Host
21:29:39 <ais523> anyway, "skugry" is a great word, I should use it more often, as in at all
21:29:45 <ehird> So Ubuntu is breaking the IP standard.
21:29:46 * mycroftiv rings the Sacred Bell that announces the arrival of 'Per RFC #'
21:29:51 <fizzie> "This is ordinarily implemented using only 127.0.0.1/32 for loopback, but no addresses within this block should ever appear on any network anywhere [RFC1700, page 5]."
21:29:56 <ais523> skugry: 16th-century spelling of the dialect word scuggery meaning 'secrecy' (the faint echo of 'skulduggery' is quite accidental!).
21:30:07 <ehird> Erm, are you sure?
21:30:33 <ais523> implies that loopback handles the whole range
21:30:34 <AnMaster> but I suspect that is how it works
21:30:59 <AnMaster> ehird, still you can bind to exactly one of the ips that is bound to a specific interface
21:31:08 <fizzie> ais523: That's not really true. It just means that's the network it's in. It's not like the "inet addr:10.102.76.2 Bcast:10.102.76.255 Mask:255.255.255.0" in my eth0 implies it should handle the whole network.
21:31:32 <mycroftiv> lets start an urban myth that somewhere is an ultra secret computer designated as the TRUE 127.0.0.1 and secretly it gets to eavesdrop on everyone's loopback
21:31:43 <ais523> as in, route to our gateway for that network if we get something in range
21:31:57 <ais523> mycroftiv: that one is vaguely plausible for people who don't understand computing
21:32:27 <ais523> oh, btw, 850*77.1 is actually 100000, there's a conspiracy amongst mathematicians and calculators to make people think it's 65535
21:32:31 <mycroftiv> there need to be more urban myths of computing though
21:32:41 <ais523> only Microsoft accidentally leaked the correct answer and were forced to hush it up by the CIA
21:33:06 <ehird> i want an hp calculator
21:33:12 <ehird> non-rpn is so efficient with calculator buttons
21:33:17 <AnMaster> <ais523> oh, btw, 850*77.1 is actually 100000, there's a conspiracy amongst mathematicians and calculators to make people think it's 65535 <-- I have yet to see a calculator that gave that answer
21:33:18 <fizzie> ais523: Well, "yes", in that sense that it gets routed to the lo device whenever it's in the network; "no" in the sense that the mask doesn't mean the device would normally accept any packets except the ones that actually have the destination address it has, namely, 127.0.0.1.
21:33:22 <ehird> and have you used a modern calculator?
21:33:24 <ehird> those buttons are useless!
21:33:33 <ehird> mushy useless pieces of shit
21:33:36 <ehird> barely ever register
21:33:40 <ais523> fizzie: OK, I agree with you there
21:33:41 <ehird> slam them and still make errors
21:33:47 <ais523> what does loopback do to the ones that aren't aimed at 127.0.0.1? drop them?
21:33:57 <ehird> http://upload.wikimedia.org/wikipedia/commons/9/95/HP48G.jpg ;; the 48g is prettier than the TI-83 to boot
21:34:04 <AnMaster> <ehird> mushy useless pieces of shit <-- what are you talking about
21:34:04 <fizzie> In fact the lo device magic makes them handled anyway.
21:34:06 <ehird> although less capable for programming stuff
21:34:10 <ais523> I'm getting replies, at least
21:34:10 <ehird> AnMaster: read context.
21:34:19 <ais523> probably from myself based on the ping times
21:34:19 <ehird> I wonder if it'd be feasible to port rfk to the HP48G.
21:34:20 <AnMaster> ehird, yes and it doesn't make sense to me
21:34:26 <ehird> AnMaster: Why not?
21:34:37 <fizzie> It's a bit like the lo device is always in promiscuous mode, and... uh, something else so that the packets are even processed by the relevant stacks.
21:34:40 <ais523> and http://127.0.0.2/ is /var/www/index.html
21:34:49 <AnMaster> ehird, well, I used TI-84 and I didn't find it's keys "mushy"
21:34:54 <ehird> AnMaster: I said "modern".
21:35:04 <AnMaster> ehird, TI-84 is modern, TI-83+ isn't
21:35:08 <ehird> Especially the cheaper ones.
21:35:15 <ehird> Of course if you pay a lot you get good buttons.
21:35:29 <ehird> Anything from 0 to 30 dollars?
21:35:42 <AnMaster> ehird, you mean non-graphing calc?
21:35:50 <ehird> I said "calculator".
21:36:01 <ehird> But I'm sure you can get a graphing calculator that cheap; it'll just be shitty, is all.
21:36:04 <AnMaster> ehird, sorry, I haven't owned any sort by graphing calculator for *years*
21:36:11 <AnMaster> so I didn't think of the other type at all
21:36:14 <ehird> It doesn't take much to go from simple table calculation and display to graphs.
21:36:18 <fizzie> Debian's installer -- at least at one time -- adds into /etc/hosts "127.0.0.1 localhost" and "127.0.1.1 host.domain host", where "host.domain" are the values you provide during the installation; this is so that things don't get confused -- you still have 127.0.0.1 == localhost, and still get locally delivered packets if you use the computer name itself.
21:36:26 <ehird> A bit higher-res screen, a slightly faster CPU, a little more RAM and some routines.
21:36:34 <AnMaster> ehird, when someone says calculator, I first think of a TI-83+
21:36:38 <fizzie> I'm not sure they do that nowadays, since it sort of breaks things if you change the hostname but don't remember that /etc/hosts entry.
21:36:51 <AnMaster> ehird, also, TI-83+ is low res
21:37:03 <ehird> I never claimed otherwise.
21:37:23 <ehird> Cheaper calculators just show tables in smaller font; they normally manage one line of input and one of results.
21:37:28 <ehird> Or maybe a bit more.
21:37:36 <ehird> Haha, wow; the HP-48 series calculators have a hierarchical filesystem and a real-time clock.
21:37:52 <AnMaster> ehird, well did you mean one of those that is just [-+*/%0-9] plus "remember number" and "recall number"?
21:38:07 <AnMaster> ehird, there is a segment in between?
21:38:37 <ehird> That + sin/cos/etc + a few variables + display settings + simple table calculation (one variable, limited range).
21:38:49 <ehird> I have one that's the above but without table calculation lying around somewhere.
21:39:02 <fizzie> Yes; "function calculator" (literal translation) is the name for that segment in Finnish.
21:39:08 <AnMaster> how can you make a table with 1-2 lines?
21:39:18 <ehird> They display the expression before evaluation, have history and recall, let you use the previous result as a variable and have one line for result.
21:39:20 <ehird> AnMaster: Smaller font.
21:40:07 <fizzie> Since you can't use graphical calculators in most of our high-school exams, those things were pretty popular in the sense that everyone had one at exam-time. I'm not sure how the rules go in other places.
21:40:08 <AnMaster> ehird, and those have mushy buttons?
21:40:33 <ehird> Yes, although less so than cheaper ones.
21:40:34 <mycroftiv> speaking of calculator's, i think something like knuth's tcalc for arithmetic with arbitrarily large integers should be available in all calculators and computing environments
21:40:35 <fizzie> Cheaper calculators let you spell 5319009 and turn it upside-down and you get a dirty word, eh-ee-hee.
21:40:42 <ehird> mycroftiv: *calculators
21:40:47 <AnMaster> fizzie, luckily graphing ones are fine at university. And at high school it was usually "no calculators, or school provided ones" at exams
21:40:49 <ehird> Also, arbitrarily large integers are rarely useful.
21:41:09 <ehird> 64-bit covers most of all calculations you want to do, 128-bit most of the rest, and anything else should be done on a real computer.
21:41:31 <AnMaster> ehird, I needed 10^94 once iirc on my calc. It goes to 10^99 btw
21:41:32 <fizzie> AnMaster: Oh, and you get enough electricity from a small solar cell to provide power for a device that simple, so you don't need to worry about stale batteries.
21:41:34 <mycroftiv> ehird: i disagree, dont you realize that the VAST MAJORITY of integers are very, very large?
21:41:45 <ehird> mycroftiv: Nothing I said contradicts this.
21:41:51 <ehird> Or do you not think calculator environments are intended for humans?
21:41:56 <AnMaster> fizzie, oh? I don't need to on my TI-83+ either. Because it's batteries last for years
21:42:06 <AnMaster> I think I replaced like 4 years ago now last time
21:42:13 <AnMaster> and still working fine, has been used a lot
21:42:29 <ehird> AnMaster: 2^64 is a little bit over 10^94.
21:43:00 <fizzie> I find it very suspicious that a^b would be over c^d when both a<c and b<d.
21:43:10 <ehird> Wow my brain is dumb today.
21:43:11 <mycroftiv> that math looks pretty shoddy to me
21:43:14 <ehird> Need more than 5 hrs sleep in futture.
21:43:25 <AnMaster> ehird, anyway calculators use floating point usually
21:43:36 <ehird> 128-bits should be enough for a calculator, anyway.
21:43:59 <AnMaster> well yeah, but since they use floating point that doesn't matter
21:44:05 <fizzie> AnMaster: Oh, and the batteries won't last long if you use rechargeable NiMH cells; those things leak a lot even when not used.
21:44:28 <ais523> wow, I just got spam in Turkish
21:44:59 <fizzie> Triple-A is the usual. Is there even quadruple-A?
21:45:09 <ais523> double-A is the usual, triples are rather smal
21:45:23 <ais523> perhaps designations differ between countries
21:45:37 <fizzie> Oh, there *is* a quadruple-A; it's in the "less common" list.
21:45:42 <fizzie> "Obscure type sometimes used in 'pen flashlights' or electronic glucose meters. Most common use is as an internal component of PP3 ("9-volt") batteries."
21:46:03 <ehird> mycroftiv: HOW DO YOU FEEL! about the kernel being a regular program with flags and the like
21:46:10 <ehird> that is, no special kernel options, and it's in full object file format
21:46:18 <ais523> what happens if you run it?
21:46:24 <ehird> it's just /bin/kernel -b -x -f 258 -t 2 -r /foo
21:46:27 <fizzie> And http://en.wikipedia.org/wiki/Scientific_calculator seems to be the term for the "mid-range" calculators.
21:46:35 <mycroftiv> i absolutely think that is the right way to go
21:46:39 <ehird> (of course, running it while the system is booted wouldn't really work)
21:46:45 <ais523> fizzie: that's the standard for school exams in the UK
21:46:54 <ais523> because basic calculators don't have things like sin and cos
21:46:56 <ehird> mycroftiv: because it'd try and take control of the already-controlled hardware.
21:47:04 <mycroftiv> and there is an active project to get plan9 kernel able to run as a userspace program
21:47:10 <ehird> mycroftiv: It means that the bootloader has to be a bit more clever, though.
21:47:15 <ehird> It'll have to wade through the object file format a little bit.
21:47:15 <mycroftiv> sure i understand that you cant do it 'naively'
21:47:19 <ais523> and programmable ones are both considered to make the exam too easy, and rather easy to hide information on
21:47:22 <AnMaster> ehird, I believe my key ring uses A23 btw
21:47:30 <ehird> mycroftiv: It can't link the ld library, because that'll depend on, well, the kernel's facilities.
21:47:31 <mycroftiv> but in plan9 already you can run /boot/boot in a running environment and the results are pretty wacky]
21:47:47 <fizzie> ais523: It's the sort-of standard for school exams in Finland, too, in the sense that everyone goes and buys one. I'm not sure what sort the school-provided "emergency calculators" are.
21:47:49 <AnMaster> (it has a built in LED "torch")
21:47:53 <ehird> ais523: it irritates me to no end that mathematics is equated with mental arithmetic in the pre-university segments of education
21:47:54 <mycroftiv> what are the technicalities of how user mode linux does things? ive never used it
21:48:03 <ehird> mycroftiv: it's just a forked linux kernel, I think
21:48:14 <ehird> mycroftiv: anyway, thoughts on the need tto look through the object file?
21:48:17 <mycroftiv> right but obviously it has to deal with the multiplexing access to hardware issue
21:48:22 <ais523> ehird: IIRC, at GCSE there was a mental arithmetic test that was separate from the main maths tests
21:48:25 <AnMaster> <ehird> ais523: it irritates me to no end that mathematics is equated with mental arithmetic in the pre-university segments of education <-- me too
21:48:32 <mycroftiv> my thought is that the bagel i just toasted is going to be delicious
21:48:36 <fizzie> It doesn't access hardware; the UML kernel has most of the drivers stripped off.
21:48:40 <ehird> ais523: Still, disallowing calculators is far more commonplace than reasonable.
21:48:42 <AnMaster> <ehird> mycroftiv: it's just a forked linux kernel, I think <-- part of official kernel sources
21:48:54 <AnMaster> (if that is the sense you meant it in)
21:48:55 <ais523> I think the non-calculator bits are to do with things like asking people what sin 30 is and wanting them to work it out from first principles rather than just putting it into their calculators
21:49:09 <ais523> but yes, they do it for an entire exam even when half of it would be irrelevant
21:49:17 <ehird> ais523: I'd much prefer you to simply have to explain what sin is and how it's calculated rather than trivial menial work.
21:49:29 <ais523> ehird: but then people might not get full marks
21:49:33 <ais523> at least sin 30 is easily memorisable
21:49:36 <AnMaster> <ais523> ehird: IIRC, at GCSE there was a mental arithmetic test that was separate from the main maths tests <-- was using paper and pen allowed?
21:49:41 <ehird> AnMaster: Um, duh.
21:49:53 <ais523> you had to answer on a piece of paper that only had just enough space for the answers
21:50:06 <ais523> it was, after all, a /mental/ arithmetic test
21:50:08 <ehird> Anyway, as I was saying; but then schools have a culture of rote memorisation, copying and menial work.
21:50:11 <AnMaster> ais523, I can't keep numbers in my head. paper and pen I can manage
21:50:14 <ais523> also, you had about 5 seconds for each question
21:50:16 <AnMaster> mental arithmetic is just useless
21:50:17 <ehird> Ridiculous crap, the lot of it.
21:50:18 <ais523> the questions were read out from tape
21:50:21 <ehird> ais523: 5 seconds?
21:50:29 <ehird> I can't add two two-digit numbers in five seconds
21:50:29 <ais523> AnMaster: to test mental arithmetic
21:50:41 <ehird> exaggerated slightly there :P
21:51:03 <AnMaster> ais523, and who had to take this test?
21:51:16 <mycroftiv> mental arithmetic is useless...until you are piloting a starfreighter that gets struck by an asteroid and you have to rapidly calculate an emergency trajectory to save your desperately needed cargo of medical supplies for the orphans on Zarbulus 4
21:51:18 <ais523> AnMaster: it was part of the maths GCSE when I did it
21:51:41 <ehird> Mental arithmetic is indeed totally useless.
21:51:41 <ais523> AnMaster: major exam at about 15 years old
21:52:01 <ais523> basically the lowest qualification that makes you eligible for any job that requires any thought at all, nowadays
21:52:06 <AnMaster> mycroftiv, ah, that is why I have a backup computer in *my* starship ;P
21:52:34 <ais523> mental arithmetic is useful when you have a reputation for being good at maths and all the other students in the school muddle maths and mental arithmetic
21:52:35 <AnMaster> ais523, mhm, good think I didn't live in UK
21:52:55 <ais523> AnMaster: the mark for the top grade is rumoured to be somewhere between 20 and 30 percent
21:53:50 <ehird> AnMaster: Uhh, but the Swedish educational system is worse by far.
21:53:56 <AnMaster> ais523, since I completely fail at mental arithmetics. I can manage with paper and pen and time. But I couldn't add any except trivial two digit numbers in my head in 5 seconds (I could manage stuff like: 50+50 or 20+2)
21:54:02 <ais523> allegedly (according to a Murdoch-owned news source found via Google) 16% was enough for a C in maths in 2005, 47% for an A*
21:54:06 <AnMaster> (23+19 I couldn't for example)
21:54:20 <ehird> Murdoch-owned sources: the most reliable kind!
21:54:24 <ehird> Wait, no, the opposite.
21:54:35 <ehird> Hey kids, let's learn our TIMES TABLES
21:54:38 <ais523> ehird: it's ironic because of the big row between him and Google
21:54:40 <AnMaster> ehird, sure it is. But it isn't doing such stupid tests
21:54:43 <ehird> ONE TIMES TWO IS TWO
21:54:45 <ais523> ehird: I had to sit through that for months in school!
21:54:46 <ehird> TWO TIMES TWO IS FOUR
21:54:50 <ehird> THREE TIMES TWO IS SIX
21:54:54 <ais523> there was even a little tape that set times tables to music
21:54:54 <ehird> FOUR TIMES TWO IS EIGHT
21:54:58 <ehird> AAAAAAAAAAAAAAAARGH MAKE IT STOP KILL ME NOW
21:55:34 * AnMaster usually goes "lets see, which one is the closest one I remember, how much to substract/add from that"
21:55:47 <AnMaster> yes I'm talking about the times table too :P
21:55:51 <ais523> hmm... theory: part of the reason the pass marks are so low is due to competition between exam boards
21:56:18 <ais523> AnMaster: an organisation responsible for setting and marking exams
21:56:30 <AnMaster> ais523, isn't that some part of the gov?
21:56:35 <ais523> schools get to choose which one to use for each individual exam, within reason
21:56:41 <ais523> and it's not directly part of the government
21:57:08 <ais523> here's an example news story: you can see
21:57:18 <ais523> here's an example news story: http://www.guardian.co.uk/education/2008/oct/24/science-grades-changed
21:57:36 <ais523> basically, Ofqual are a government body that tell the exam boards what to do
21:57:46 <ehird> "here's an example news story: you can see"
21:57:52 <ehird> Couldn't I before?
21:58:03 <ehird> And surely it's self-evident?
21:58:08 <AnMaster> ais523, is there a "this article does not reflect a worldwide view" template on wikipedia *but for a single section*?
21:58:40 <ais523> it may be the same one with a param
21:58:55 <ais523> ehird: for AnMaster, who doesn't live in the UK and for whom it therefore isn't obvious
21:59:10 <ehird> [21:59] ehird: "here's an example news story: you can see"
21:59:10 <ehird> [21:59] ehird: Couldn't I before?
21:59:10 <ehird> [21:59] ehird: And surely it's self-evident?
21:59:32 <ais523> AnMaster: {{globalise-section}}, anyway
22:04:43 <AnMaster> http://domino.research.ibm.com/comm/research_projects.nsf/pages/hare.index.html "Hare" = "Holistic Aggregate Resource Environment" and there is the plan9 "bunny" there too.
22:04:45 <fizzie> Reviving for a moment the calculator conversation fork, what I had for exam-time and other unsorted needs, was http://education.ti.com/educationportal/sites/US/productDetail/us_ti30x_iis.html
22:05:02 <AnMaster> or does that "hare" seem like a bacronym?
22:05:15 <ehird> AnMaster, you are practically of infinite genius.
22:05:19 <ais523> "backronym" is the usual spelling, though
22:05:24 <ais523> umm, why did I say "though"
22:14:04 -!- MigoMipo has quit.
22:25:37 <ehird> mycroftiv: can you summarise plan b for me?
22:26:03 <ais523> is that like an upside-down plan 9?
22:26:17 <ehird> no, it's an operating system implemented on top of plan 9
22:26:24 <ehird> at least the 4th edition is
22:26:32 <ehird> i gather that older ones were independent
22:26:41 <ehird> or perhaps not, ,who knows
22:31:44 -!- bsmntbombdood has quit (Read error: 110 (Connection timed out)).
22:32:42 -!- BeholdMyGlory has quit (Remote closed the connection).
22:32:56 -!- BeholdMyGlory has joined.
22:37:29 -!- pikhq has joined.
22:38:34 -!- adam_d has joined.
22:39:08 -!- kar8nga has quit (Remote closed the connection).
23:02:14 -!- BeholdMyGlory has quit (Remote closed the connection).
23:15:39 <ehird> mycroftiv: how are syscalls done in p9?
23:18:16 -!- adam_d has quit ("Leaving").
23:20:08 -!- Sgeo has joined.
23:21:38 <ehird> mycroftiv: how are syscalls done in p9?mycroftiv: how are syscalls done in p9?mycroftiv: how are syscalls done in p9?mycroftiv: how are syscalls done in p9?mycroftiv: how are syscalls done in p9?mycroftiv: how are syscalls done in p9?
23:22:44 * Sgeo loves laying down in bed with his computer
23:22:48 <Sgeo> </sounding-perverted>
23:23:02 <ehird> Yeah, uh, thanks for imparting that... information.
23:23:30 <Sgeo> You know what I meant, non-pervertedly, right?
23:25:28 <ehird> Yes... "non-pervertedly"...
23:25:40 -!- bsmntbombdood has joined.
23:28:08 -!- ais523 has quit (Remote closed the connection).
23:28:09 <ehird> WHEEEEEEEEEEEEEEEEEEEEEEEEE
23:30:08 <ehird> "When libc is built, it generates a set of small assembly functions that move the system call number to a register and perform interrupt 0x40."
23:30:13 <ehird> Boring and expected!
23:30:50 <Sgeo> Would you rather have "clever"?
23:32:37 <Sgeo> Lying in bed is fun, but there's no way I'm coding like this. Moving to the den
23:36:00 <ehird> I tell untruths in bed aaaaaall the time.
23:36:39 <Sgeo> BRB, disconnecting from wireless
23:37:06 -!- Sgeo_ has joined.
23:37:49 <ehird> mycroftiv: how easy and cheap is it to assemble a box that can run plan 9 perfectly, with the least fuss in operation; using more modern components where possible (i.e. not a 486) as long as it doesn't cause problems?
23:38:05 <ehird> (assume a combined cpu server/graphical console; i can extrapolate from that)
23:38:09 <ehird> would be fun to have a native p9
23:39:50 -!- augur has joined.
23:43:24 <SimonRC> the diagrams I have seen seem to be recommending things like seperate file servers
23:43:30 -!- Sgeo has quit (Read error: 60 (Operation timed out)).
23:44:52 <ehird> if i know what a "full box" is, though, then I can take a bit away from it and add a little bit to it to get each machine
23:45:22 <Warrigal> Hey, my school has a den, too.
23:46:02 <Warrigal> It contains wolves, making it obviously similar to Sgeo's.
23:48:34 -!- FireFly has quit ("Later").
23:49:28 -!- augur has quit (Read error: 60 (Operation timed out)).
23:50:18 <ehird> SimonRC: who was that to?
23:51:17 <SimonRC> was wondering what Warrigal was writing, WRT "wolves"
23:52:19 <Warrigal> In this case, the wolves are all powerful computers.
23:52:34 <Warrigal> Why they're called wolves, only Professor Wolffe knows for sure.
23:53:27 <ehird> How powerful, exactly?
23:56:52 <Warrigal> I don't know. More powerful than your average desktop computer. Not necessarily more powerful than your average desktop computer five years from now.
23:57:34 <ehird> How huge are they, what kind of casing are they in, how loud are they, and how many are there? The four heuristics of computing power!
23:58:43 <SimonRC> also applicable to other areas of life
23:59:52 <ehird> Well, um... yeses.
00:00:04 <ehird> Mostly gay orgies, though.
00:05:29 -!- oerjan has joined.
00:07:22 <oerjan> hi pikhq. hi all </lazy>
00:15:14 -!- coppro has joined.
00:16:44 <ehird> formatter['3']=fmtrot13;
00:16:45 <ehird> printf("spoiler: %3\n", "snape killed dumbledore");
00:17:58 -!- pikhq has quit ("Java user signed off").
00:18:04 <oerjan> ehird: It was his sled.
00:19:04 <ehird> for(s=nil; s=nextspoiler("http://www.threadless.com/product/844/Spoilt"); s) {
00:19:04 <ehird> printf("%3\n", s);
00:19:17 <oerjan> what do you do if the number needs to be followed by an ordinary printf character?
00:19:40 <ehird> touché, I hadn't even thought of that
00:19:57 <ehird> i just didn't want to think of an appropriate alphanumeric :)
00:20:36 <ehird> i don't think H is taken (as in hide)
00:20:56 <ehird> s/'3'/'H'/; s/%3/%H/
00:25:20 -!- augur has joined.
00:27:49 <ehird> The actual fmtrot13 function would probably look something like http://sprunge.us/DGfQ.
00:28:02 <ehird> Likely with annotations for printf typechecking.
00:28:22 <ehird> Allow me to correct that.
00:28:45 <ehird> http://sprunge.us/MGNM
00:28:49 <ehird> There, now it actually rot13s. :P
00:29:30 -!- Slereah_ has joined.
00:31:10 <ehird> "If a note interrupts a system call and the note handler calls noted(NCONT), the system call terminates early with error string interrupted. This is very important, as it can be a cause of errors. Beware."
00:31:10 <ehird> Hey, PC loser-ing!
00:40:05 -!- Slereah has quit (Read error: 110 (Connection timed out)).
00:48:30 -!- oerjan has quit ("leaving").
00:49:44 <ehird> http://www.apachenews.org/
00:49:44 <ehird> Issue: Must commit suicide
00:49:44 <ehird> Resolution: CANTFIX
00:49:45 <ehird> Could not find enough money for alcohol. […] Please donate.
00:50:31 <ehird> (http://www.reddit.com/r/programming/comments/a74li/he_will_commit_suicide/c0g60ij)
00:58:30 -!- madbr has joined.
01:03:31 -!- pikhq has joined.
01:09:46 <pikhq> Why am I tempted to play with NaCl?
01:09:57 <ehird> did you know that PC loser-ing as seen in the Worse is Better paper is still an actual issue (although of reduced importance, of course) in Plan 9 today?
01:09:58 <coppro> pikhq: Grab some Na and some Cl and make popcorn
01:10:08 <ehird> "If a note interrupts a system call and the note handler calls noted(NCONT), the system call terminates early with error string interrupted. This is very important, as it can be a cause of errors. Beware."
01:10:12 <ehird> pikhq: because go supports it?
01:10:20 <ehird> and this thus must be an implicit endorsement!
01:10:36 <ehird> nacl is cool, i just wish it didn't focus on web stuff
01:10:39 <pikhq> ehird: Go supports it? Well, then. That was my one major question. :)
01:10:57 <pikhq> I do wish that NaCl was a more generic sandboxing setup, yeah.
01:10:57 <ehird> yep, just set GOOS=nacl and go wild
01:11:09 <ehird> bonus: http://golang.org/pkg/exp/nacl/
01:11:53 <ehird> 8g foo.go; 8l foo.8 will result in 8.out being whatever nacl wants, I expect
01:12:03 <ehird> I suggest compiling with an x86 target on whatever host you have.
01:12:15 <ehird> So, GOARCH=386 GOOS=nacl, I believe.
01:12:25 <pikhq> It's pretty nice for safe arbitrary code execution (never thought I'd say *that* about x86 code) in HTML, but it'd be really nice to see it used for, say, Plash.
01:12:28 <ehird> Although that might try and compile them as 386 compilers.
01:12:34 <ehird> When in doubt, read the build system. :P
01:13:32 <ehird> Hmm, nacl is x86 only.
01:13:38 <ehird> I wonder if that includes amd64.
01:13:50 <ehird> and if not, does it mean the browser has to run as x86, or just the plugin?
01:14:25 <ehird> Using 8* is obviously the only sane choice for NaCl with Go (probably compiled for amd64 for you), so it's only relevant as far as actually using the results goes.
01:14:26 <pikhq> Almost certainly just the plugin. Though you *may* need to use nspluginwrapper.
01:16:45 <ehird> http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf is sweet
01:19:08 <ehird> http://man.cat-v.org/unix_8th/1/visi is intriguing. (gawd, it's so easy to get lost in cat-v.org)
01:20:05 <ehird> its interface appears to be like vi except always in : mode
01:24:04 <ehird> pikhq: btw, a hidden bonus about Go — it contains a full port of Ken Thompson's Plan 9 C compilers to Linux/OS X compiling from and to all of arm, x86 and amd64.
01:24:31 <ehird> and since you can use it with plan9port's lib9 instead of libc...
01:24:40 <ehird> Voila: plan9port now has a compiler and a library.
01:24:58 <ehird> It already has lib9. :P
01:25:20 <pikhq> So Plan9port can be used to run Plan9-esque things on Linux without too much effort.
01:25:45 <ehird> pikhq: Go doesn't support Plan 9, yet the gc compiler is written in Plan 9 C.
01:25:52 <ehird> It may be a viable path!
01:26:07 <pikhq> Actually, that lets me write Plan 9 C.
01:26:31 -!- MizardX has quit (leguin.freenode.net irc.freenode.net).
01:26:32 -!- SimonRC has quit (leguin.freenode.net irc.freenode.net).
01:26:32 -!- Rembane has quit (leguin.freenode.net irc.freenode.net).
01:26:58 * ehird recompiles plan9port as 64-bit; tries to compile plan 9 hello world
01:27:07 -!- MizardX has joined.
01:27:07 -!- Rembane has joined.
01:27:07 -!- SimonRC has joined.
01:27:30 <pikhq> So, C that actually handles Unicode right without silly libraries... Or taking special care not to break the UTF-8.
01:27:55 <ehird> C with decent IO libraries, and an extensible printf.
01:28:01 <ehird> C that compiles really quickly.
01:28:12 <ehird> C with Go-style inheritance (the bio library uses it, for instance).
01:28:16 <pikhq> Hmm. Does the Plan 9 C compiler target NaCl?
01:28:26 <pikhq> ... C with Go-style inheritance?
01:28:28 <ehird> I don't think so. You could try.
01:28:33 <ehird> pikhq: Yep; it has unnamed structs.
01:28:42 <ehird> struct Bar { struct Foo *; }
01:28:49 <ehird> struct Bar { struct Foo; }
01:29:03 <ehird> You can now use a (struct Bar *) as a (struct Foo *).
01:29:27 <ehird> So bar->fooField works, funcExpectingFoo(bar), etc.
01:29:35 <ehird> No interfaces, though, but still. It's nice.
01:29:44 <ehird> pikhq: http://man.cat-v.org/plan_9/1/2c for more
01:31:28 <ehird> tl;dr of the rest: (struct S){v1,v2,v3}. int a[] = {[3]1,[10]5}, a[3]==1. (struct S){.x 2, .y 3}. #pragma lib "foo" makes linker link foo automatically to this program (it's in library headers). printf typechecking. //comments work. long long=64-bit;vlong=long long;uvlong=unsigned long long; emulated on 32-bit (so no switch(){})
01:34:42 <pikhq> #pragma lib, eh... Man, that alone makes C nicer.
01:34:46 <pikhq> Well, C build systems.
01:34:58 <pikhq> Deprecates autoconf. :P
01:35:25 <ehird> Furthermore, if your include files include any other include files you will be poked with a rusty stick, so don't do that. Also, use bio.
01:35:29 <ehird> That's about it for Plan 9 C, really.
01:35:42 <ehird> Oh, and exit statuses are strings; exits(0) for success, exits("foo") for failure.
01:35:55 <ehird> Except plan9port just translates them to 0 or 1; sux2bu.
01:36:30 <pikhq> Does plan9port at least put the error string to stderr?
01:36:38 <pikhq> (or something similar?)
01:36:56 <ehird> It isn't too much of a big deal in practice, anyway.
01:37:10 <pikhq> Not a huge deal, but would be nice.
01:39:43 <ehird> $ 6c -I$PLAN9/include hello.c
01:39:47 <ehird> $ 6c -I$PLAN9/include hello.c
01:39:47 <ehird> /Users/ehird/plan9/include/u.h:5 hello.c:1 unknown #: if
01:39:47 <ehird> /Users/ehird/plan9/include/u.h:6 hello.c:1 syntax error, last name: "<string>"
01:39:57 <ehird> First issue: plan9port, obviously, depends on non-plan9 things.
01:40:06 <ehird> Invokes cpp before compiling.
01:40:09 <ehird> Note: HIDEOUS OW OW OW
01:40:21 <ehird> can't exec C preprocessor /bin/cpp: No such file or directory
01:40:22 <ehird> Not the best start, I must say.
01:40:31 * ehird does cc -E hello.c
01:41:07 <ehird> Oh, the #pragmas aren't there either, of course. Using Plan 9's header files may prove fruitful.
01:41:26 <ehird> hello2.c:60 not a function
01:41:26 <ehird> hello2.c:60 syntax error, last name: __darwin_va_list
01:41:26 <ehird> I should probably look at Go's source.
01:42:39 <ehird> $ ls $GOROOT/include
01:42:39 <ehird> ar.hfmt.hu.hureg_x86.h
01:42:39 <ehird> bio.hlibc.hureg_amd64.hutf.h
01:42:39 <ehird> bootexec.hmach.hureg_arm.h
01:42:52 <ehird> It's justs plan9port's.
01:43:37 <ehird> Hmm... Okay, so gc is compiled with gcc, just with lib9 instead of libc.
01:44:03 <ehird> hello.c:7 function args not checked: print
01:44:03 <ehird> hello.c:8 function args not checked: exits
01:44:03 <ehird> Who needs headers.
01:44:40 <ehird> $ 6l /Users/ehird/plan9/lib/lib9.a hello.6
01:44:42 <pikhq> People who can't type-check by hand, that's who. :P
01:44:47 <ehird> pikhq: This will probably take quite some work. :P
01:45:18 <ehird> Ooh, -l9 produces *different* errors!
01:46:12 <ehird> Eh. I give up for now.
01:50:43 <ehird> pikhq: Oh, I forgot one thing about Plan 9 C — no consst.
01:50:54 <ehird> Well, it may have been added since the paper. I doubt it, though.
01:51:00 <pikhq> Mixed feelings about that.
01:51:27 <ehird> "The keywords register, volatile, and const, are recognised syntactically but are semantically ignored. Volatile seems to have no meaning, so it is hard to tell if ignoring it is a departure from the standard. Const only confuses library interfaces with the hope of catching some rare errors."
01:51:44 <pikhq> On the one hand: it is nice being able to enforce const. On the other hand, const in C is done very poorly.
01:51:58 <ehird> In general I agree; I don't think I've ever had a single error caught thanks to const-correctness, and when trying to transform my own code into const-correct style, type signatures blow up and become completely incomprehensible and useless.
01:53:03 <pikhq> It's almost as though the ISO committee saw the issues with function pointer declarations, and thought "Hmm. The problem with this is that it's not incomprehensible enough. Let's add a keyword!"
01:56:03 <ehird> The intelligence of a group is inversely proportional to the sum of the intelligence of everyone in it, clamped to a maximum value equal to that of the least intelligent person in the group.
01:56:13 <ehird> Erm, not inversely proportional in that way.
01:56:18 <ehird> A group with one dumb person is really dumb.
01:56:26 <ehird> But a group with two intelligent people isn't as intelligent as one intelligent person.
02:00:06 <pikhq> Counter-example: the Haskell committee.
02:00:51 <ehird> 1. Statistical anomalies exist; 2. maybe this isn't one. They really are that smart.
02:01:00 <ehird> #2 is only half-joking.
02:01:01 * coppro searches for the obligatory despair.com link
02:01:18 <coppro> http://despair.com/meetings.html
02:01:24 <pikhq> Yeah, Haskell is probably a statistical anomaly.
02:01:42 <pikhq> Filled with people who know exactly when to let go or something.
02:03:36 <ehird> Or a small subset that dictate things.
02:04:12 -!- Azstal has joined.
02:10:58 -!- Asztal has quit (Read error: 145 (Connection timed out)).
02:12:53 -!- bsmntbombdood_ has joined.
02:21:27 -!- pikhq has quit ("Java user signed off").
02:27:24 -!- bsmntbombdood has quit (Read error: 101 (Network is unreachable)).
02:40:16 <ehird> http://www.youtube.com/watch?v=1KI8QLm8Inw i have no idea what this is
02:43:33 -!- ehird has quit.
03:24:21 <Gracenotes> oh dear. philosophy canceled again. then we'll have two weeks to get through 2/3 of Genealogy of Morality.
03:40:01 -!- Gracenotes_ has joined.
03:42:03 -!- Gracenotes has quit (Nick collision from services.).
03:42:28 -!- Gracenotes_ has changed nick to Gracenotes.
03:49:34 -!- Azstal has quit (Read error: 110 (Connection timed out)).
04:09:46 <Sgeo_> I think I'm writing terrible code
04:09:47 <Sgeo_> for i in (i for i in puzzle_objects.iterkeys() if i.startswith("#GREEN:")):
04:22:13 <Gracenotes> did I mention I dislike the word "pythonic"? Anyway.. not sure there's a cleaner way using generator expressions :/ they're not so much a substitute for filtering with effectful things :/
05:21:18 -!- Sgeo_ has quit (Read error: 104 (Connection reset by peer)).
06:32:25 -!- FireFly has joined.
06:54:12 -!- FireFly has quit ("Later").
06:58:43 -!- madbr has quit ("Radiateur").
07:00:30 -!- puzzlet has quit (Remote closed the connection).
07:00:42 -!- puzzlet has joined.
07:02:06 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
07:23:52 -!- AnMaster has quit (Connection timed out).
07:46:22 -!- AnMaster has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:05:45 -!- AnMaster has quit (Network is unreachable).
08:41:22 -!- puzzlet has quit (Remote closed the connection).
08:41:26 -!- puzzlet has joined.
09:07:24 -!- BeholdMyGlory has joined.
09:10:34 -!- Pthing has joined.
09:37:06 -!- MigoMipo has joined.
10:01:26 -!- Asztal has joined.
10:04:49 -!- MigoMipo has quit ("Page closed").
10:05:42 -!- BeholdMyGlory has quit (Remote closed the connection).
14:00:09 -!- FireFly has joined.
14:04:05 -!- BeholdMyGlory has joined.
16:06:36 -!- clog has joined.
16:06:36 -!- clog has joined.
16:06:37 <AnMaster> ais523, what would you do if computer locked up in the morning with the disk lamp fixed on but not kernel panic or responding at all (needed reset button), memtest showing nothing after running for 8 hours, disk seeming to be just fine (once journal recovery completed) but last log message ended with some garbled chars
16:06:56 <AnMaster> and about the same time the home alarm system broke down
16:07:07 <AnMaster> some sort of electrical issues?
16:07:14 <ais523> I'd assume a brownout, and try to REISUB, or failing that, hard-reboot
16:07:21 <ais523> oh, if you've rebooted already, it should be OK
16:07:34 <ais523> AnMaster: rebooting a Linux system by hand
16:07:38 <AnMaster> ais523, well I ran full fsck on all partitions too just in case.
16:07:48 <ais523> alt-(sysrq+r), alt-(sysrq+e), etc
16:07:54 <AnMaster> ais523, well, holding down power button *didn't* work. that's unusual
16:08:01 <AnMaster> I had to actually use the reset button instead
16:08:30 <ais523> basically, a brownout happens when a power supply malfunction means that the voltage input isn't high enough to cause the system to act correctly
16:08:40 <ais523> but isn't low enough to make it think there's been a power cut and power off
16:08:54 <AnMaster> ais523, hm now that I think about it, I think one of the lamps flickered around then
16:08:55 <ais523> for a 5V system, it's normally somewhere around 4V
16:09:31 <ais523> normally I wouldn't guess that, but it's plausible if other unrelated electronic devices have similar problems
16:10:20 <AnMaster> ais523, well the home alarm system is completely broken, it reported a spurious alarm and now just shows a red single LED on the front marked "error"
16:10:30 <AnMaster> going to get some service people here tomorrow
16:10:44 <ais523> http://en.wikipedia.org/wiki/Brownout_(electricity)
16:11:10 <ais523> most power supplies cope with them badly
16:11:15 <AnMaster> ais523, what's even more odd was that the disk access light was stuck at "accessing" but yet the harddrive was definitely spun down
16:11:51 <AnMaster> <ais523> http://en.wikipedia.org/wiki/Brownout_(electricity) <-- redirects to "power outage"
16:11:56 <ais523> AnMaster: I've had plenty of brownouts when doing electronics myself, sometimes even deliberately
16:12:35 <ais523> its basic effect on most microprocessors and similar devices is to randomly set some of the bits in memory to 0 (or to 1, depending on how the memory works)
16:12:39 -!- FireFly has quit ("Later").
16:12:41 <ais523> including things like registers
16:13:15 <ais523> most computers can't recover sanely from that state; it might be interesting to try to write an esolang (with program stored in simulated ROM) where programs had to be able to
16:13:42 <AnMaster> ais523, usually you use something like an UPS or such iirc?
16:14:11 <AnMaster> ais523, and is it even possible to recover in a sane way except 1) preventing it in the first place 2) detect it and force a reboot
16:14:29 <ais523> AnMaster: probably not; 2) is a very common solution
16:14:31 * AnMaster remembers some PIC<something> with a "brown out detection" feature or such
16:14:56 <AnMaster> ais523, for servers/desktops I assume 1 is more common (as in UPS or similar)
16:14:59 <ais523> yep, it's common to get small brownout detectors that work at a range of voltages, that hard-reset the hardware if they detect a brownout
16:15:07 <ais523> AnMaster: seems about right
16:15:20 -!- MigoMipo has joined.
16:15:49 <AnMaster> ais523, would a brown out cause "normal" light bulbs to dim but a fluorescent(sp?) one to flicker?
16:15:59 <AnMaster> because if so I think it's a perfect match
16:16:06 <ais523> AnMaster: yes, seems about right
16:16:24 <ais523> normal lamps dimming is the most obvious effect, it's where the name brownout comes from
16:16:30 <ais523> because they go brown, but not altogether off
16:17:07 <AnMaster> ais523, a low energy lamp dimmed rather than flickered, and I thought they operated on similar principle to fluorescent ones?
16:17:51 <ais523> I'm not entirely sure how they worked
16:18:08 <ais523> incidentally, were you recording the behaviour of all the lamps in your house when this happened? or do you/your family have a really good memory?
16:18:18 <ais523> or has it been browning out so constantly you've had time to go round and check?
16:18:22 <AnMaster> ais523, I was eating breakfast
16:18:34 <AnMaster> and I was standing just besides a fluorescent lamp
16:18:44 <AnMaster> with a non-fluorescent in the window
16:18:55 <AnMaster> and a low energy one also in view
16:19:16 <AnMaster> ais523, from system logs I reconstructed that the lock up must have happened at aprox the same time +- 5 minutes
16:19:32 <AnMaster> as in, I found the computer locked up about 5 minutes after
16:19:53 <AnMaster> and last system log message (something from cron) was about 10 minutes before I found it that way
16:20:37 <ais523> ouch, fsck definitely seems broken on this computer
16:20:45 <ais523> the logon autofsck keeps stopping at 89-90%
16:20:52 <ais523> with no disk activity, and with the computer locked up
16:21:06 <AnMaster> ais523, home alarm system I noticed a short while later, and it hadn't been like that when I went downstairs. So that gives an aprox +/- 20 minutes range on the home alarm system error led turning on
16:21:17 <ais523> although, it did just go from 89 to 90
16:21:26 <ais523> which is strange given the lack of disk activitu
16:21:27 <AnMaster> It didn't seem too far fetched to connect them
16:21:40 <ais523> meh, I'll wait a while and see if it goes up higher
16:21:57 <AnMaster> ais523, hm... is that the "mounted n times, fsck forced" fsck?
16:22:20 <ais523> except, hidden behind a graphical bootsplash thing
16:24:02 <AnMaster> ais523, btw did you know that fsck.xfs just returns 0?
16:24:20 <AnMaster> fsck.xfs is called by the generic Linux fsck(8) program at startup to check and repair an XFS filesystem. XFS is a journaling filesystem
16:24:20 <AnMaster> and performs recovery at mount(8) time if necessary, so fsck.xfs simply exits with a zero exit status.
16:24:57 <AnMaster> there is xfs_check to actually check things if you want to
16:25:10 <AnMaster> ais523, why do you use the bootsplash thing?
16:25:17 <ais523> AnMaster: it's on there by default
16:25:25 <AnMaster> ais523, one change in grub iirc?
16:25:39 <AnMaster> something like adding nosplash
16:25:53 <ais523> but Ubuntu change round the boot sequence every now and then
16:26:02 <ais523> and part of the reason I'm running Ubuntu is to try to debug it for everyone else
16:26:41 <AnMaster> ais523, ah I'm still on jaunty
16:26:49 <AnMaster> looks like there will be a kernel upgrade today
16:27:45 -!- Pthing has quit (Remote closed the connection).
16:28:15 <AnMaster> * SAUCE: Enable speakers for Toshiba NB200 (Realtek ALC272)
16:29:20 <AnMaster> it doesn't seem to refer to any kernel module
16:31:05 <AnMaster> well, at least the relevant part of the version number didn't change, so I don't have to mess around with the various external modules (virtualbox, backported wlan drivers, and so on)
16:37:48 <AnMaster> ais523, hm what causes a brown out?
16:38:24 <ais523> AnMaster: usual cause on the small scale is trying to draw too much current from one power supply
16:38:29 <ais523> I think it can happen on the large scale too
16:38:45 <ais523> when the supply available for a neighborhood or an entire city isn't enough to meet demand
16:58:27 -!- augur has quit (Read error: 145 (Connection timed out)).
17:40:16 -!- augur has joined.
18:24:54 <ais523> hmm, I just filed https://bugs.launchpad.net/ubuntu/+bug/487744
18:25:04 <ais523> and there's something really wrong with the page <title>
18:25:17 <ais523> "Bug #487744 is not in Ubuntu: ..."
18:28:45 -!- ais523_ has joined.
18:39:51 -!- ais523 has quit ("Page closed").
18:43:03 <AnMaster> ais523_, file another bug about that?
18:43:26 <ais523_> it looks like intentional behaviour
18:43:32 <AnMaster> ais523_, try to boot from a livecd?
18:43:47 -!- ais523_ has changed nick to ais523.
18:43:53 <ais523> well, it boots well enough if I just skip the fsck
18:44:04 <ais523> and if something's wrong with fsck, it's possibly best not to run it
18:44:07 <AnMaster> ais523, maybe disk errors in unused blocks?
18:44:23 <ais523> that shouldn't crash fsck the way it does
18:44:36 <AnMaster> ais523, worth a try. From livecd of course
18:44:48 <AnMaster> ais523, as for livecd, don't use an ubuntu one
18:45:57 <AnMaster> ais523, use a livecd that isn't debian based for this in fact
18:46:21 <AnMaster> like http://www.sysresccd.org/Main_Page
18:46:30 <AnMaster> iirc that one is actually gentoo-based
18:49:02 <ais523> gentoo liveCD is a contradiction
19:09:08 -!- augur has quit (Read error: 110 (Connection timed out)).
19:27:15 <AnMaster> ais523, gentoo has one itself for install
19:52:50 <ais523> IMO by definition that isn't gentoo
19:52:53 <ais523> even if it's used to install it
20:06:43 <AnMaster> it is built from gentoo packages
20:07:10 <AnMaster> ais523, for that http://www.sysresccd.org/Main_Page you can even take it back to a gentoo system if you install it on an usb stick or such
20:09:38 <AnMaster> ais523, know anything about UPS units that works well with linux?
20:10:01 -!- adam_d has joined.
20:12:02 -!- JohnTeddy has joined.
20:22:41 <fizzie> From what I've heard, quite a lot of them work pretty well with Linux; assuming you count as "works well" the ability to get a basic level of status outputs and control out of it. And electricity, but it would be quite an oops of a UPS (see what I did there?!) if it had some OS dependencies for *that*.
20:22:50 <fizzie> I don't really have hands-on experience with any, though.
20:23:52 <fizzie> Linux boxes are a bit of a target market for UPS people, it isn't really surprising that they have better levels of support than some random gaming peripheral.
20:23:56 * AnMaster is wondering about price ranges too
20:24:28 <AnMaster> after all I can find everything from cheap consumer crap to ultra-reliable ones meant for mission critical servers.
20:24:41 <AnMaster> and I'm looking for a reasonable one for a desktop
20:24:55 -!- pikhq has joined.
20:24:59 <AnMaster> fizzie, random gaming peripheral?
20:25:22 -!- JohnTeddy has left (?).
20:26:59 <fizzie> The stuff they ship with Windows-only games (fake guitars, fake skateboard, fake whatever) nowadays. To be honest, I couldn't really figure out right then and there anything that really definitely wouldn't work with Linux; I'm not surprised if there are drivers for that stuff too.
20:27:34 <AnMaster> fake skateboard? wireless or *really* long cable?
20:27:38 <fizzie> If I were to get a desktop UPS, I'd pick some respectible manufacturer (I have a good-ish feeling about APC, though no real evidence for it) and select something from their low-end range.
20:27:51 <AnMaster> (wouldn't it have to be ethernet, iirc the max length on usb cable is rather short)
20:28:07 <fizzie> I have no clue how it works. I don't think you're supposed to move around with it, just sort of... I don't know what, tilt and jump and whatnot.
20:28:33 <AnMaster> fizzie, but wouldn't they generally just show up as a HID device of some sort?
20:28:35 <fizzie> I'm talking about http://en.wikipedia.org/wiki/Tony_Hawk:_Ride here.
20:28:43 <fizzie> "The peripheral, shaped just like a real skateboard, is equipped with infrared sensors to detect motion and display it on-screen. Turning, leaning, hopping, and other actions will all reflect in the game realistically."
20:29:10 <AnMaster> well that make pirating the thing harder I guess
20:29:33 <fizzie> Yes, they might. Still, there's no *official* support, unlike for UPSes. (Admittedly official Linux support often means horrible kludgy crap, even when compared to some not-so-brilliant open-source hacks.)
20:29:37 <AnMaster> it's like one of those "dongles" (remember those?) except this time the thing is actually required
20:29:57 <AnMaster> fizzie, you mean like nvidia drivers?
20:30:06 <AnMaster> also aren't the windows thingies about as bad?
20:30:21 <AnMaster> I remember kludgy HP drivers for example
20:30:26 <AnMaster> where scanning just didn't work well
20:30:36 <AnMaster> unless you had done some weird stuff first
20:30:47 <AnMaster> (of course it works flawlessly under linux)
20:31:26 <AnMaster> <fizzie> "The peripheral, shaped just like a real skateboard, is equipped with infrared sensors to detect motion and display it on-screen. Turning, leaning, hopping, and other actions will all reflect in the game realistically." <-- I'm pretty sure a real one has wheels. Unless someone invented a hover skateboard recently
20:32:02 <AnMaster> hover skateboard sounds cool btw
20:32:17 <fizzie> It sounds very back-to-the-future-ish. If you've seen the movie.
20:32:40 <AnMaster> now that you mention it, it sounds familiar
20:32:42 <fizzie> In fact I first read that Wikipedia bit without the word "shaped": "The peripheral, just like a real skateboard, is equipped with infrared sensors to detect motion and display it on-screen."
20:32:53 <fizzie> I think it had hoverboards, but I might be wrong.
20:33:37 <fizzie> "A Hoverboard (or hover board) is a fictional hovering board used for personal transportation in the films Back to the Future Part II and Back to the Future Part III."
20:33:58 <AnMaster> fizzie, couldn't you build an actual hover skateboard though? I mean, based on classical hover principles rather than some sort of fictional anti-gravity
20:34:05 <fizzie> "Some companies hoping to leverage the commercial success of the movies have marketed hovercraft vehicles as hoverboards, but these products have not been shown to replicate the experience depicted in the movies." Haha. "What, really?!"
20:34:38 <fizzie> You could build something, but I doubt it'd be quite as sleek and well-behaved.
20:35:13 <AnMaster> fizzie, you could make it computer controlled. Like an dynamically unstable aircraft (you know what those are?)
20:35:27 <AnMaster> ais523, hey I was going to mention segway next
20:35:32 <fizzie> MythBusters did one, in fact, out of a surfboard and leaf-blowers. (The WP article I was quoting from contains also this tidbit, though now that I've read it, I do remember that episode too.)
20:35:36 <AnMaster> that it might be a good example
20:35:41 -!- pikhq has quit ("Java user signed off").
20:35:49 <AnMaster> fizzie, oh? how did it work out?
20:36:09 <fizzie> Speaking of the future, we were thinking of getting a Roomba, for the cat to drive around with. I've seen all those Youtube videos about it.
20:36:26 -!- pikhq has joined.
20:37:02 <fizzie> AnMaster: It's one of those robotic vacuum things. It might even be the first commercially-successful-on-the-consumer-markets-really one, for all I know.
20:37:05 <ais523> isn't it a sort of robotic vaccum cleaner?
20:37:13 <ais523> I didn't think cats rode them, though
20:37:49 <AnMaster> fizzie, looking at wp article it would be unable to fit under my desk. Too short distance between floor and lowest drawers
20:37:57 <AnMaster> otherwise I think it would be cool
20:38:09 <fizzie> ais523: Youtube “cat roomba” results 1 - 20 of about 313. (Admittedly not all are a cat riding a Roomba; some are of other sort of cat-Roomba-interactions.)
20:39:04 <fizzie> But the first hit, with over 4 million views, is: http://www.youtube.com/watch?v=LQ-jv8g1YVI
20:41:25 <AnMaster> fizzie, strange the cat didn't get off when it turned around so much
20:41:43 <fizzie> As for the MythBusters hover-thing, I seem to remember they had some sort of competition race on the beach or something. I don't think it worked quite so well on uneven sand, but reasonably well on flat ground. It's just that having four (or was it two?) leaf-blowers running full blast right below you is probably not included in your hoverboarding daydreams.
20:42:53 <AnMaster> oklokok, but a normal vacuum cleaner is noisy too
20:42:53 <oklokok> but would be a cool pet if it was silent.
20:43:06 <oklokok> yeah, but it gets the job done faster
20:43:13 <AnMaster> wouldn't have to be completely silent
20:43:18 <AnMaster> completely silent would be bad
20:43:26 <AnMaster> no way you will trip over that loud thing
20:43:51 <fizzie> The newer models should be a *bit* less noisy, but I don't really know anyone who'd have one, so I could go and listen. The noise part is something that's making us a bit vary, though.
20:43:51 <oklokok> i guess there could be a version that makes a sound for blind ppl
20:43:52 <AnMaster> oklokok, would you notice one moving about in a half dark room?
20:44:34 <fizzie> oklokok: At least with the noise you'll have some sort of advance warning when it turns evil and comes to murder you.
20:44:51 <oklokok> i mean, it's an electronic gizmo dizmo, so it has a light
20:45:03 <fizzie> (All robots do that sooner or later, it's like a law or something.)
20:45:21 <AnMaster> fizzie, it could stop the noisy part until it moved up just right behind you
20:45:43 <fizzie> I guess it could. Hmmmm, now I'm not sure we dare to get one.
20:45:53 <AnMaster> fizzie, why doesn't normal computers turn evil too?
20:46:19 <AnMaster> fizzie, I mean, they likely have way more computational resources than that.
20:46:33 <AnMaster> the only difference is that it isn't on wheels
20:46:47 * AnMaster imagines a thinkpad with wheels
20:46:50 <oklokok> <lame> they do, it's called windows </lame>
20:47:09 <AnMaster> oklokok, isn't that thing just a joke?
20:47:25 <fizzie> Speaking of which, the company (iRobot) *does* make also some sort of development platform, that's basically a Roomba without the "noisy part", i.e. the cleaning machinery. There's just a microcontroller you can program to do whatever you want, and some sort of empty space to put whatever you want in.
20:47:36 <oklokok> anyway computers couldn't really kill people, the law actually states that everything that thinks, and can kill, eventually will
20:47:38 <AnMaster> I mean, they pre-install this joke windows so as to not end up in a distro flamewar just becaused they selected kubuntu instead of ubuntu
20:47:41 <fizzie> http://store.irobot.com/shop/index.jsp?categoryId=3311368 -- their website is a bit messy, though.
20:47:53 <oklokok> AnMaster: yes, it's just alme
20:48:36 <fizzie> The joke was too alme for you to ge.t
20:49:08 <AnMaster> <oklokok> anyway computers couldn't really kill people, the law actually states that everything that thinks, and can kill, eventually will <-- do robots think?
20:49:32 <oklokok> fizzie: so does it like learn the apartment?
20:49:36 <AnMaster> imagine some simple one that was designed out of Lego. I have programmed for RCX. No way it could think
20:49:38 <oklokok> and systematically clean it
20:50:39 <oklokok> AnMaster: your mom doesn't think
20:50:49 <fizzie> oklokok: The actual Roomba? No; in fact, as far as I know, it decidedly doesn't try to learn it at all. There's just some messy heuristics involved, and a lot of random-walking around. They claim that makes it more robust.
20:51:08 <oklokok> mmkay, it looked pretty idiotic in the cat vid
20:51:28 <fizzie> Yes, well, our cat is not the most clever thing ever either. They could suit each other just fine.
20:52:21 <AnMaster> that seems very illogical way to do it
20:52:23 <fizzie> Anyway, doesn't a two-dimensional random walk eventually cover the whole plane? I think it does. (I have no idea how it does for differently-shaped polygonal enclosed regions, though.)
20:52:41 <AnMaster> logical way is to build a map as you go along, and update it if you notice changes
20:52:57 <oklokok> and i'm sure it covers all polygons as well
20:53:01 <AnMaster> like when you pass near where there was a chair leg before, see if there is still anything there with your sensors
20:53:38 <AnMaster> <fizzie> Anyway, doesn't a two-dimensional random walk eventually cover the whole plane? I think it does. (I have no idea how it does for differently-shaped polygonal enclosed regions, though.) <-- I think one key word here is "eventually"
20:53:44 <oklokok> it's obvious that it covers any finite region
20:53:59 <fizzie> AnMaster: It's just that the thing can't really know where it is started from, and anyway that sort of stuff is nontrivial. I'm sure their engineers have better sort of things to do.
20:54:03 <oklokok> for infinite regions, we know it covers the whole infinite plane
20:54:18 <AnMaster> fizzie, "eventually" monkeys + typewriters = shakespear. Even in a finite number
20:54:42 <fizzie> AnMaster: Yes, but for most apartments, this is a lot smaller "eventually" we're talking about here.
20:54:44 <oklokok> but not so sure about infinite polygons
20:54:45 <AnMaster> <fizzie> AnMaster: It's just that the thing can't really know where it is started from, and anyway that sort of stuff is nontrivial. I'm sure their engineers have better sort of things to do. <-- try to match it against previous map
20:54:55 <AnMaster> see if you get a good enough fit
20:55:08 <oklokok> at least if you have a few teleports you could simulate a 3d topology with it
20:55:21 <AnMaster> fizzie, or use a GPS maybe. Not sure if that is accurate enough (even assuming you can get a signal indoors, I usually can that at least)
20:55:23 <oklokok> and in 3d a random walk does not cover the plane
20:55:57 <fizzie> GPS is very much not accurate enough for that, and anyway it would cost to add a GPS receiver.
20:56:16 <fizzie> http://mathworld.wolfram.com/PolyasRandomWalkConstants.html was in fact the result I was sort of remembering.
20:56:27 <AnMaster> fizzie, anyway you could have some sort of "reset maps, we moved to a different apartment" button
20:57:07 <fizzie> So if you live at point P on the infinite plane, and kick off the Roomba, it'll eventually come back to you. (That might be a rather long "eventually" here.)
20:57:39 <oklokok> but that doesn't say anything about infinite polygons
20:57:46 <fizzie> Anyway, I am under the impression that some of the other robotic vacuum thingies do build maps too.
20:58:19 <AnMaster> so it *may or may not* come back
20:58:21 <oklokok> although intuitively it seems restricting the map would just make it harder to get away from the origin...
20:58:33 <fizzie> AnMaster: Well, you have to assume an ideal Roomba here.
20:58:39 <fizzie> Ah, here's the justification I was looking for:
20:58:41 <fizzie> Unlike the Electrolux Trilobite vacuuming robots, Roombas do not map out the rooms they are cleaning. Instead, they rely on a few simple algorithms such as spiral cleaning, wall-following and random walk angle-changing after bumping into an object or wall. This design is based on MIT researcher and iRobot CTO Rodney Brooks' philosophy that robots should be like insects, equipped with simple control mechanisms tuned to their environments. The result is that
20:58:41 <fizzie> although Roombas are effective at cleaning rooms, they take several times as long to do the job as a person would, usually covering some areas many times and others only once or occasionally not at all.
20:59:12 <AnMaster> #esoteric, the only place where discussing a vacuum cleaner robot on an infinte plain will ever happen
20:59:57 <AnMaster> fizzie, which seems quite pointless. I want things properly cleaned
21:00:03 <oklokok> i haven't actually seen proof of the random walk + plane thing, would probably make it easier to see if the probability stays at 1 if you restrict the path
21:00:49 <fizzie> AnMaster: Well, you're a deterministic sort of a person. Statistically speaking they do clean things properly, the differences even out.
21:01:05 <oklokok> on R^2, i imagine a random curve would return to any open ball around the origin
21:01:28 <oklokok> and probably by adding an infinite amount of circles on the plane, each having a smaller hole than the last
21:01:30 <AnMaster> fizzie, what is the time complexity of roomba cleaning in a finite room though?
21:02:14 <oklokok> you could make the probability of getting from x to y to < 1... i think... maybe
21:02:33 <fizzie> Also, I like this part: "After a certain amount of time -- the Roomba stops and sings a few triumphant notes. If a homebase is detected, a second- or third-generation Roomba will try to return to it. -- If at any time the unit senses that it has become stuck, no longer senses the floor beneath it, or it decides that it has worked its way into a narrow area from which it is unable to escape, it stops and sounds a mournful tone to help its owner find it."
21:02:39 <fizzie> That's just somehow so cute.
21:02:49 <oklokok> if it was like more probable to always get to an outer circle than an inner one
21:03:06 * ais523 vaguely wonders what would cause a failure to sense the floor
21:03:19 <Deewiant> Somebody turning it upside down
21:03:37 <fizzie> Or running down the stairs and ending up upside-down; though it's supposed to avoid stairs normally.
21:03:58 <AnMaster> fizzie, hm... a mapping robot would avoid those issues
21:04:19 <AnMaster> well, not during initial mapping
21:04:40 <fizzie> I do think a mapping robot can also get stuck or confused just fine; the real world is a fuzzy thing.
21:04:42 <AnMaster> but it could be built to detect with ultrasound or radar if there was somewhere it wouldn't firt
21:05:29 <AnMaster> http://en.wikipedia.org/wiki/Electrolux_Trilobite seems to have an ultrasonic sensor
21:05:57 <fizzie> "This object detection is fairly reliable, but sometimes fails if the robot approaches an object with a sharp corner."
21:06:04 <fizzie> See, it's not a clear-cut thing.
21:06:20 <AnMaster> fizzie, true. but that is where mapping helps after the initial mapping run
21:06:37 <fizzie> I'm not sure your ideal robotic vacuuming device is very cost-efficient. There's a point of diminshing returns somewhere in the piling up of intelligence on it.
21:06:45 <fizzie> (But certainly mapping is a viable strategy too.)
21:07:23 <AnMaster> fizzie, mapping shouldn't be too expensive, memory is cheap and the programming for it only need to be done once
21:07:39 <fizzie> You need to pay a lot for competent programmers. :p
21:07:47 <fizzie> Besides, a mapping robot is decidedly closer to a planning robot, and a planning robot is again closer to a scheming robot, and a scheming robot is just a couple of short steps from the robotic revolution.
21:08:13 <Deewiant> Even if it's not too expensive, the idea is that it's not too useful
21:08:30 <fizzie> "When we reported about the new Electrolux Trilobite 2.0 Vacuum robot last Friday, we asked the question why this vacuum robot ($1,799 at Amazon.com) is about 10 times more expensive than the iRobot Roomba ($159.99 at Amazon.com)." (This is from 2004, though.)
21:09:18 <ais523> fizzie: a scheming robot would be closer to being properly functional
21:09:33 <AnMaster> fizzie, sure I didn't say the ultrasound sensor *wasn't* expensive
21:09:40 <AnMaster> I just said that mapping isn't a lot more expensive
21:09:40 <fizzie> Also; the serial interface of the Roomba is documented, you can easily provide as much intelligence as you like by sticking some additional hardware on top.
21:10:20 <AnMaster> fizzie, anyway it seems the trilobite gets the job done quicker
21:11:19 <Deewiant> The advantage there is mostly power saving, since the idea is to leave it on for the 8 hours you're at work or whatever
21:12:14 <fizzie> I'm not sure we want to spend a four-digit number of euros on it, also. (Some Finnish price-comparison site lists the ZA 2 /2.0 Trilobite at 1259 EUR.)
21:12:21 <AnMaster> Deewiant, what about home office?
21:12:59 <fizzie> Supposedly it's also somewhat more noisy. (But also sucks more, in the "good" sense.)
21:13:21 <fizzie> This is all just hearsay from reviews, though. I'd like to hear both myself somewhere.
21:14:43 <AnMaster> fizzie, useful for people who are allergic to various things (like me)
21:15:16 <AnMaster> (getting rid of the damn pollen every spring is a high priority for me at least)
21:23:56 -!- MigoMipo has quit.
22:12:34 -!- augur has joined.
22:14:20 <SimonRC> initial response: "I see the reversed-text thing, but why did they badly photoshop lips onto John's girlfriend?" After looking at the original: "Oh, Jim Davis really did draw them that badly." http://www.mezzacotta.net/garfield/?comic=207
22:21:09 * SimonRC continues memorising a 20-char random password for work
22:21:33 <Rembane> SimonRC: Tattoo it on your forearm!
22:21:40 <AnMaster> SimonRC, why did you choose something that long
22:25:51 <AnMaster> SimonRC, you aren't supposed to show off passwords
22:25:56 <AnMaster> they are supposed to be secret
22:28:32 -!- Slereah has joined.
22:29:54 -!- Slereah_ has quit (Connection timed out).
22:37:56 <SimonRC> you can boast about the length though
22:51:12 -!- immibis has joined.
23:08:31 -!- ais523 has quit (Remote closed the connection).
23:08:56 -!- immibis_ has joined.
23:11:17 -!- immibis_ has quit (Read error: 54 (Connection reset by peer)).
23:11:32 -!- immibis_ has joined.
23:13:47 -!- immibis_ has quit (Client Quit).
23:15:50 -!- immibis has quit (Read error: 60 (Operation timed out)).
23:24:32 -!- oerjan has joined.
23:28:11 <oerjan> 18:03:36 <ehird> Or a small subset that dictate things.
23:29:19 <oerjan> i do recall reading the haskell committee had a daily designated syntax dictator, who had the final word on all syntax issues
23:29:42 <oerjan> i'm sure this helped immensely
23:33:15 <oerjan> see also: wadler's law
23:52:05 <SimonRC> anyone here know any Forth?
23:53:04 <oerjan> and that's about it ;)
23:53:10 <SimonRC> you know about /mod, right?
23:53:30 <oerjan> no, is it something like haskell's divmod?
23:54:01 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
23:54:17 <SimonRC> I just realised I have a better place to ask my question
23:55:51 -!- augur has changed nick to augur[hw].
00:03:29 <SimonRC> : /mod swap /mod ; \ fucking committees
00:04:27 -!- BeholdMyGlory has quit (Remote closed the connection).
00:05:39 <SimonRC> I meant : /mod /mod swap ; \ fucking committees
00:06:07 <oerjan> so if : is like scheme let, does forth have something corresponding to letrec?
00:06:53 <SimonRC> you have hooks, which are a kind of forward definition
00:07:33 <SimonRC> you don't really need it much, for the same reason you don't need package/module cycles much in other languages
00:29:31 -!- Gracenotes has quit ("Leaving").
00:53:19 * SimonRC just got project euler #12 to run in a sensible amount of time
00:53:38 <SimonRC> my initial approach was totally DOOMED given the size of the answer
00:54:05 <SimonRC> my initial approach was O(n ^ ohshit)
00:54:54 <SimonRC> then inspiration struck and I realised I was wasting loads of effort
00:56:14 <SimonRC> I solved it with a non-allocating forth program 8 lines long
00:56:32 <SimonRC> and TBH, there are like 4 lines that do work in there
00:58:19 <SimonRC> actually, 8 lines is about as short as I can get it nicely
01:05:44 -!- coppro has joined.
01:15:46 -!- adam_d has quit ("Leaving").
01:29:25 -!- quantumEd has quit ("Leaving").
02:51:25 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:55:43 -!- augur[hw] has quit (Read error: 110 (Connection timed out)).
03:15:14 -!- oerjan has quit (farmer.freenode.net irc.freenode.net).
03:15:14 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
03:15:14 -!- iamcal has quit (farmer.freenode.net irc.freenode.net).
03:15:14 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
03:15:14 -!- ineiros has quit (farmer.freenode.net irc.freenode.net).
03:15:16 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
03:15:16 -!- Gregor has quit (farmer.freenode.net irc.freenode.net).
03:15:16 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
03:15:16 -!- Rembane has quit (farmer.freenode.net irc.freenode.net).
03:15:17 -!- MizardX has quit (farmer.freenode.net irc.freenode.net).
03:15:18 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
03:15:18 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
03:15:18 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
03:15:18 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
03:15:18 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
03:15:19 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
03:15:19 -!- AnMaster has quit (farmer.freenode.net irc.freenode.net).
03:15:19 -!- Warrigal has quit (farmer.freenode.net irc.freenode.net).
03:16:19 -!- SimonRC has joined.
03:16:19 -!- Rembane has joined.
03:16:19 -!- MizardX has joined.
03:16:19 -!- fizzie has joined.
03:16:19 -!- fungot has joined.
03:16:19 -!- Deewiant has joined.
03:16:19 -!- Ilari has joined.
03:16:19 -!- rodgort has joined.
03:16:19 -!- mtve has joined.
03:20:40 -!- augur has joined.
03:21:03 -!- mycroftiv has joined.
03:45:03 -!- Gracenotes has joined.
04:42:29 -!- Gracenotes has quit (Read error: 104 (Connection reset by peer)).
04:53:14 -!- Gracenotes has joined.
04:58:18 -!- calamari has joined.
06:13:17 -!- Pthing has joined.
06:14:45 -!- calamari has quit ("Leaving").
06:17:41 -!- Pthing has quit (Remote closed the connection).
06:25:08 -!- bsmntbombdood has joined.
06:25:08 -!- iamcal has joined.
06:25:08 -!- ineiros has joined.
06:25:08 -!- sebbu has joined.
06:25:08 -!- Gregor has joined.
06:25:42 -!- AnMaster has joined.
06:25:42 -!- Warrigal has joined.
07:54:09 <fizzie> For "explicit" recursion, when you need it, there's also the "recurse" word, that recursively calls the word you're defining.
07:56:53 <fizzie> Forth; this was a direct continuation of what's before the splittery-looking thing.
07:57:22 <AnMaster> fizzie, ah, well I was on the wrong side of the split
07:57:31 <AnMaster> it didn't just look like a split, it was one
07:57:36 <fizzie> But this was before the split.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:16:34 -!- kar8nga has joined.
10:20:41 <oklokok> SimonRC: 20 letters can be memorized with one reading using HARRY LORAINES MAGICAL MEMORY TECHNIQUES.
10:21:24 <oklokok> anyway iirc either you or pikhq (i think it was you) said they'd tried the system and it didn't work
10:22:44 <oklokok> also cool how he was too lazy to redraw the lips, just moved them and kept them in the same position when she opened her moutg
10:23:01 <oklokok> err not same position, more like same angle
10:23:11 <oklokok> moving tends to change position
11:13:40 -!- iamcal has quit (Read error: 104 (Connection reset by peer)).
11:55:28 -!- Ilari_ has joined.
11:55:38 -!- oklofok has joined.
11:56:48 -!- Ilari has quit (Read error: 131 (Connection reset by peer)).
11:58:01 -!- Ilari_ has changed nick to Ilari.
12:13:15 -!- oklokok has quit (Read error: 110 (Connection timed out)).
12:50:57 -!- puzzlet has quit (Remote closed the connection).
12:51:02 -!- puzzlet has joined.
12:58:43 -!- kar8nga has quit (Remote closed the connection).
13:32:18 -!- kar8nga has joined.
13:37:16 -!- quantumEd has joined.
13:48:07 -!- puzzlet has quit (Remote closed the connection).
13:48:19 -!- puzzlet has joined.
13:58:02 -!- coppro has quit ("I am leaving. You are about to explode.").
14:15:58 -!- puzzlet has quit (Remote closed the connection).
14:16:03 -!- puzzlet has joined.
14:16:05 -!- augur has quit (Read error: 110 (Connection timed out)).
14:29:28 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
14:30:39 -!- puzzlet has joined.
14:40:50 -!- augur has joined.
14:52:07 -!- puzzlet has quit (Remote closed the connection).
14:52:20 -!- puzzlet has joined.
15:08:21 -!- augur has quit (Read error: 145 (Connection timed out)).
16:26:54 -!- BeholdMyGlory has joined.
16:30:28 -!- cal153 has joined.
16:43:41 -!- augur has joined.
16:49:11 -!- MigoMipo has joined.
16:57:05 -!- Asztal has joined.
17:22:33 -!- kar8nga has quit (Remote closed the connection).
17:28:21 -!- iamcal has joined.
17:35:10 -!- MigoMipo has quit (Read error: 54 (Connection reset by peer)).
17:47:03 -!- puzzlet has quit (Remote closed the connection).
17:47:17 -!- puzzlet has joined.
17:47:23 -!- ais523 has joined.
17:50:50 <AnMaster> "gpg: WARNING: signature digest conflict in message"
17:50:53 <AnMaster> I have no clue what that means
17:54:35 -!- cal153 has quit (Read error: 113 (No route to host)).
18:09:25 -!- kar8nga has joined.
18:37:48 -!- oklokok has joined.
18:40:10 -!- puzzlet has quit (Remote closed the connection).
18:40:15 -!- puzzlet has joined.
18:50:02 -!- quantumEd has quit ("Leaving").
18:56:14 -!- oklofok has quit (Read error: 110 (Connection timed out)).
19:13:56 -!- adam_d has joined.
19:16:26 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
19:16:26 -!- MizardX has quit (farmer.freenode.net irc.freenode.net).
19:16:26 -!- Rembane has quit (farmer.freenode.net irc.freenode.net).
19:16:37 -!- SimonRC has joined.
19:16:57 -!- MizardX has joined.
19:17:10 -!- Rembane has joined.
19:29:11 -!- Pthing has joined.
19:36:23 -!- nooga has joined.
19:45:34 -!- FireFly has joined.
19:46:07 -!- kar8nga has quit (Remote closed the connection).
19:46:37 -!- puzzlet_ has joined.
19:53:04 -!- pikhq has joined.
19:59:07 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
20:11:20 -!- iamcal has quit (Read error: 104 (Connection reset by peer)).
20:14:01 -!- cal153 has joined.
20:17:15 -!- MigoMipo has joined.
20:29:22 -!- Slereah_ has joined.
20:32:55 -!- nooga_ has joined.
20:39:33 -!- Slereah has quit (Read error: 110 (Connection timed out)).
20:46:13 -!- pikhq has quit ("Java user signed off").
20:49:56 -!- Pthing has quit (Remote closed the connection).
20:56:59 -!- nooga has quit (Read error: 110 (Connection timed out)).
21:01:06 -!- quantumEd has joined.
21:09:06 <AnMaster> ais523, you know you talked about MySQL analyse vs. analyze?
21:09:50 <AnMaster> ais523, it seems that postgresql accepts both, but only the American spelling is documented
21:10:14 * AnMaster goes to try ANALYSE on it's own
21:10:27 <AnMaster> yeah both spellings work there too
21:18:15 <AnMaster> * Automated backport upload; no source changes.
21:18:21 <AnMaster> ais523, does that make any sense to you?
21:18:39 <ais523> yep, that happens a lot
21:18:43 <ais523> they're just fixing up dependencies
21:19:09 <AnMaster> ais523, any idea why postgresql package would auto-hold without me telling it to?
21:19:19 <ais523> hmm... actually, is that the message when they've tested something already in lucid and are just copying it to karmic-proposed?
21:19:37 <ais523> as for the auto-hold, it's a dependency problem
21:19:46 <ais523> i.e. it depends on things that conflict with what you have atm
21:19:51 <ais523> normally that's fixed eventually
21:19:56 <AnMaster> how do I fix it with the limited tools available
21:20:01 <ais523> you don't, you just wait
21:20:12 <AnMaster> oh wait, they backported 8.4 instead of 8.3
21:20:14 <ais523> the problem's there for everyone, in a non-stable version it happens from time to time
21:20:28 <AnMaster> ais523, I'm running jaunty. it's stable
21:20:56 <ais523> that shouldn't be happening, are you sure you aren't running -proposed?
21:21:02 <AnMaster> and now libpq5 is listed there too
21:21:05 <ais523> btw, avoid karmic, it feels rather buggy atm
21:21:27 <AnMaster> ais523, did you make any progress with the fsck bug?
21:22:51 -!- MigoMipo has quit.
21:23:51 <AnMaster> ais523, this upgrade to 8.4 from 8.3 should not be happening of postgresql in januty
21:24:06 <AnMaster> requiring user to dump everything first and then re-import it
21:24:12 <ais523> AnMaster: check software sources, to see which repos are set
21:24:50 <ais523> AnMaster: no, via the menus
21:24:58 <ais523> settings | administration | software sources
21:25:03 <AnMaster> ais523, why, that takes a lot longer...
21:25:17 <ais523> because I don't know where the actual file is
21:25:27 <ais523> and also, because the GUI explains what repos you're running in a much clearer way
21:25:37 <AnMaster> also it shows a dumbed down GUI where you can't really see the details
21:25:55 <AnMaster> ais523, it is /etc/apt/sources.list
21:26:25 <AnMaster> ais523, and that shows I selected: main, universe, restricted, multiverse
21:26:36 <AnMaster> and there is a - instead of and x for the "source" box
21:26:55 <AnMaster> it says it should fetch from http://ftp.df.lth.se/ubuntu
21:26:55 <ais523> AnMaster: that's the wrong question, the GUI shows whether you're running stable, proposed, backports
21:27:32 <AnMaster> ais523, it doesn't say what you mentioned to me
21:27:37 <ais523> well, one of the tabs, there's a checkbox for running -proposed or not
21:27:54 <AnMaster> ais523, oh and there are the debugging symbol repos on the "third party" tab.
21:28:15 <ais523> AnMaster: how up to date are those? I wouldn't be surprised if they were following -proposed not stable
21:28:22 <AnMaster> ais523, you mean the one that has jaunty-security, jaunty-updates and jaunty-backports checked?
21:28:44 <ais523> AnMaster: ah, ok, that's what I was trying to ask
21:28:52 <AnMaster> ais523, well since there is one debugging symbol repo per each of the main ones
21:28:52 <ais523> the postgres upgrade might be -updates, I suppose
21:28:59 <AnMaster> I would assume it tracks the relevant one
21:29:08 <AnMaster> deb http://ddebs.ubuntu.com jaunty main restricted universe multiverse
21:29:08 <AnMaster> deb http://ddebs.ubuntu.com jaunty-updates main restricted universe multiverse
21:29:08 <AnMaster> deb http://ddebs.ubuntu.com jaunty-security main restricted universe multiverse
21:29:13 <AnMaster> are the ones in the sources.list
21:29:47 <AnMaster> ais523, anyway the postgresql one is *backports*
21:29:56 <ais523> well, you can expect backports to increase versions
21:29:59 <ais523> that's what that means
21:30:08 <AnMaster> ais523, yeah but why break the deps then
21:30:14 <ais523> it means you get versions of software that had a version-bump in later versions
21:30:29 <AnMaster> ais523, not all such software though?
21:30:44 <ais523> and probably, because the new version is unacceptable for some older software you have installed that isn't getting updated at the same time
21:31:15 <AnMaster> ais523, also 8.4 been out for some time now
21:36:55 -!- kar8nga has joined.
21:37:42 -!- Sgeo has joined.
21:55:27 <AnMaster> rc postgresql-8.3 8.3.8-0ubuntu9.04 object-relational SQL database, version 8.3 server
21:56:13 <ais523> not installed, but it didn't delete the config files
21:56:19 <ais523> so that it'll be configured the same way if it's reinstalled
21:56:30 <ais523> it's the usual method of uninstalling something
21:56:40 <AnMaster> well apt-get purge postgresql-8.3 tells me:
21:56:43 <AnMaster> Package postgresql-8.3 is not installed, so not removed
21:57:24 <ais523> yes, it should have removed the config
21:57:30 <ais523> is it still marked as residual config?
22:00:14 <AnMaster> ais523, any idea what to do next?
22:00:28 -!- ais523 has quit ("Page closed").
22:28:38 -!- kar8nga has quit (Remote closed the connection).
22:29:27 -!- puzzlet_ has quit (Remote closed the connection).
22:29:31 -!- puzzlet has joined.
22:47:51 -!- augur has quit (Read error: 145 (Connection timed out)).
22:55:50 <fizzie> You can try the "lower-level"-ish "dpkg --purge postgresql-8.3", but I don't promise anything.
22:58:41 <fizzie> I'm guessing apt-get parses "purge foo" as "remove --purge foo" (those are listed as equivalent), and then the main "remove" command refuses to do anything since the package isn't really installed, it just has those leftover config files.
23:01:56 <AnMaster> fizzie, purge usually works when there is left around configs
23:09:33 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
23:09:55 <AnMaster> "For historical reasons (i.e., this is clearly wrong but it's far too late to change it), [...]"
23:11:24 -!- puzzlet has joined.
23:16:09 -!- augur has joined.
23:23:21 -!- coppro has joined.
23:24:21 -!- pikhq has joined.
23:34:39 -!- FireFly has quit (Client Quit).
23:34:40 <augur> quick! i need someone i can talk logic with! :|
23:34:50 -!- BeholdMyGlory has quit (Remote closed the connection).
23:36:35 <coppro> you need to talk logic?
23:55:58 <lament> what if you teach fish?
23:58:44 <Gregor> Then it will rain for the rest of your life.
00:02:56 <pikhq> augur: forall x, x in y implies YOU ARE DOOMED.
00:03:14 <augur> i found someone i can talk logic to :D
00:05:45 -!- adam_d has quit (Read error: 148 (No route to host)).
00:57:28 <Gregor> pikhq: You're not in #plof D-8<
00:58:55 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
01:10:58 -!- madbr has joined.
01:11:23 <madbr> Can anyone remind me the name of the small game VM some people used?
01:29:15 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
01:29:48 -!- puzzlet has joined.
01:51:43 -!- Sgeo has joined.
02:27:57 -!- augur has quit (Connection timed out).
02:39:31 -!- AnMaster has quit (farmer.freenode.net irc.freenode.net).
02:39:31 -!- Warrigal has quit (farmer.freenode.net irc.freenode.net).
02:49:31 -!- Asztal has quit (Read error: 110 (Connection timed out)).
03:12:36 -!- AnMaster has joined.
03:12:36 -!- Warrigal has joined.
03:36:14 -!- MizardX has quit (farmer.freenode.net irc.freenode.net).
03:36:14 -!- madbr has quit (farmer.freenode.net irc.freenode.net).
03:36:14 -!- Sgeo has quit (farmer.freenode.net irc.freenode.net).
03:36:15 -!- Rembane has quit (farmer.freenode.net irc.freenode.net).
03:36:15 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
03:36:15 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
03:36:16 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
03:36:16 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
03:36:17 -!- AnMaster has quit (farmer.freenode.net irc.freenode.net).
03:36:17 -!- Warrigal has quit (farmer.freenode.net irc.freenode.net).
03:36:18 -!- Slereah_ has quit (farmer.freenode.net irc.freenode.net).
03:36:19 -!- sebbu has quit (farmer.freenode.net irc.freenode.net).
03:36:19 -!- Gregor has quit (farmer.freenode.net irc.freenode.net).
03:36:19 -!- ineiros has quit (farmer.freenode.net irc.freenode.net).
03:36:19 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
03:36:19 -!- pikhq has quit (farmer.freenode.net irc.freenode.net).
03:36:20 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
03:36:33 -!- quantumEd has quit (Dead socket).
03:37:06 -!- Warrigal has joined.
03:37:06 -!- AnMaster has joined.
03:37:06 -!- Sgeo has joined.
03:37:06 -!- madbr has joined.
03:37:06 -!- pikhq has joined.
03:37:06 -!- Slereah_ has joined.
03:37:06 -!- Rembane has joined.
03:37:06 -!- MizardX has joined.
03:37:06 -!- Gregor has joined.
03:37:06 -!- sebbu has joined.
03:37:06 -!- ineiros has joined.
03:37:06 -!- bsmntbombdood has joined.
03:37:06 -!- fizzie has joined.
03:37:06 -!- fungot has joined.
03:37:06 -!- Deewiant has joined.
03:37:06 -!- rodgort has joined.
03:37:06 -!- mtve has joined.
04:59:23 -!- pikhq has quit ("Java user signed off").
05:09:20 -!- augur has joined.
05:12:01 -!- sebbu2 has joined.
05:29:33 -!- sebbu has quit (Read error: 110 (Connection timed out)).
05:29:33 -!- sebbu2 has changed nick to sebbu.
06:06:12 -!- coppro has quit (Remote closed the connection).
07:01:12 -!- Sgeo has quit (Read error: 145 (Connection timed out)).
07:59:22 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
07:59:41 -!- revcompgeek has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:01:20 -!- puzzlet has joined.
08:26:05 -!- Asztal has joined.
08:41:53 -!- Pthing has joined.
09:22:21 -!- adam_d has joined.
10:04:11 -!- madbr has quit ("Radiateur").
10:18:19 -!- adam_d has quit ("Leaving").
11:02:57 -!- FireFly has joined.
11:05:49 <fizzie> " * Support for all major 3rd party applications & Programming support for Visual C#, Visual C/C++, Visual Basic, VB.NET, Delphi, Java & ActiveX": that
11:20:19 -!- augur has quit (Read error: 110 (Connection timed out)).
12:50:05 -!- puzzlet has quit (Read error: 104 (Connection reset by peer)).
12:51:09 -!- puzzlet has joined.
12:57:34 -!- oerjan has joined.
12:58:46 <oerjan> <fizzie> For "explicit" recursion, when you need it, there's also the "recurse" word, that recursively calls the word you're defining.
12:59:00 <oerjan> ah. but is that usable for mutual recursion?
13:01:02 <fizzie> Not really, no. But like he said, there is some sort of a forward-definition trickery.
13:04:07 <oerjan> AnMaster: oh dear it's that day again
13:05:03 <oerjan> and i discover that i have this awkward tendency to sometimes look at the last panel first...
13:06:29 <oklokok> basically you haven't actually read any of the comics, because that doesn't count
13:07:01 <oerjan> indeed. however fortunately this time there was a second pun i didn't notice during the automatic peek
13:07:32 <oklokok> ah. i guess i'll give you half the points then.
13:08:17 <oerjan> maybe it really is an inborn tendency to cheat. that would also explain my recent tendency to read plot summaries of books i haven't read on wikipedia
13:08:36 -!- FireFly has quit (Client Quit).
13:09:37 -!- FireFly has joined.
13:12:10 <oerjan> i vaguely recall in fahrenheit 451 (which i actually have read) people only read plot summaries, although the real books were of course illegal.
13:12:59 <oerjan> or, well, very condensed versions
13:15:35 -!- BeholdMyGlory has joined.
13:17:26 <oerjan> incidentally i read somewhere recently that the name fahrenheit 451 is a cheat... the actual temperature for paper to catch fire is 451 _celsius_
13:17:36 <fizzie> I've been doing the Wikipedia plot summary reading too.
13:18:32 <oerjan> hm, "somewhere" may actually have been the wikipedia article, it's in there
13:20:03 <fizzie> `wolfram autoignition temperature of paper
13:20:11 <HackEgo> autoignition temperature of paper \ \ Input interpretation: \ \ autoignition temperature of paper \ Result: \ \ 218 to 246 °C degrees Celsius \ the temperature 451° Fahrenheit, made famous by Ray Bradbury's classic 1953 science fiction novel Fahrenheit 451, falls near the middle of this range \ \ Unit conversions: \
13:20:38 <fizzie> And, as we well know, W|A is the Truth.
13:21:14 <oerjan> well, i wouldn't necessarily bet on wikipedia in a direct contest there
13:22:34 <fizzie> Well, the Wikipedia article says: "sources contemporary with the novel's writing gave the temperature as 450 °C (842 °F)". It might be that those sources were wrong; but if so, it is a nice coincidence if the real temperature in fact was 451 deg. Fahrenheit.
13:22:43 <fizzie> Bradbury must've been a seer.
13:23:01 <oerjan> actually http://en.wikipedia.org/wiki/Autoignition_temperature agrees with W|A
13:24:33 <fizzie> The [2] reference from the book article -- Handbook of physical testing of paper, Volume 2 -- is for the second edition, published in 2001, and gives the 450 degrees Celsius number.
13:24:43 <oerjan> wait, the Fahrenheit 451 article has a better cite
13:25:48 <fizzie> On the other hand, W|A is never wrong. In fact, you can influence reality if you can convince the Wolfram people to slip a factoid in there.
13:26:48 <oerjan> oh _both_ wp articles have cites...
13:27:31 <oerjan> http://www.tcforensic.com.au/docs/article10.html
13:29:03 <fizzie> The Handbook also has a citation [19] for that 450 degree Celsius number, but I can't navigate that books.google.com preview thing to find the list of references.
13:30:33 <fizzie> Right, only the first reference is visible; "pages 473-476 are not part of this book preview".
13:30:56 <oerjan> hm the cotton value also disagrees between the two
13:31:53 <oerjan> i'm starting to think that one of the sources must have bungled a unit conversion
13:32:19 <fizzie> That's confusing. I have been indoctrinated to believe W|A, but on the other hand it's hard to unbelieve a book with such a ridiculously impressive name as "Handbook of physical testing of paper, Volume 2".
13:32:57 <fizzie> Especially when they've managed to write 560 pages of the physical properties of paper, and that's just volume 2.
13:36:44 <fizzie> Maybe I should go and check out http://www.amazon.com/Structure-Properties-International-Science-Technology/dp/0824775600 from the Forest Products Technology Library of the university, but that's a small walk away, and really, the Internet should provide reasonable answers to such fundamental questions.
13:37:42 <fizzie> It might not even have anything about it.
13:38:54 -!- FireFly has quit (Read error: 145 (Connection timed out)).
13:38:57 <oklokok> just test, take two ovens that can generate 225C and put one inside the other to get 450C
13:39:42 <fizzie> I think I like the technical term FURNACE more.
13:39:43 -!- FireFly has joined.
13:40:26 <fizzie> We had a physics lab experiment that was related to temperature somehow, and the experiment instructions talked about the FURNACE all the time. It never got old to pronounce the word in a "FURNACE of DEATH" style.
13:41:04 <fizzie> (At least when "never" is limited to the two-or-so hours of labtime.)
14:03:28 -!- ais523 has joined.
14:15:23 -!- ais523_ has joined.
14:17:15 -!- ais523 has quit (Ping timeout: 180 seconds).
14:17:28 -!- ais523_ has changed nick to ais523.
14:23:19 -!- quantumEd has joined.
14:45:58 -!- nooga has joined.
14:58:19 -!- nooga_ has quit (Read error: 110 (Connection timed out)).
15:37:47 -!- oerjan has quit ("leaving").
15:56:05 -!- ais523 has quit ("Page closed").
16:21:06 <oklokok> damn oerjan with his leavings
16:31:50 <nooga> i had llvm-gcc installed and now my system can't find llvm-gcc command
16:33:29 -!- kar8nga has joined.
16:39:55 -!- revcompgeek_ has joined.
16:55:56 -!- revcompgeek has quit (Read error: 110 (Connection timed out)).
16:55:57 -!- revcompgeek_ has changed nick to revcompgeek.
17:18:57 -!- MigoMipo has joined.
17:19:04 -!- ais523 has joined.
17:35:29 <AnMaster> <nooga> i had llvm-gcc installed and now my system can't find llvm-gcc command
17:35:52 -!- revcompgeek has quit.
17:40:55 <ais523> wow, timezone update for Antarctica
17:41:00 <ais523> I wonder if anyone actually uses Ubuntu there?
17:41:28 -!- revcompgeek has joined.
18:13:26 -!- kar8nga has quit (Remote closed the connection).
18:20:49 <nooga> theres no llvm-gcc at all
18:20:50 <ais523> presumably it's just in case, hten
18:20:56 <ais523> oh, answering to someone else
18:29:12 -!- Slereah has joined.
18:33:16 -!- |MigoMipo| has joined.
18:37:29 -!- MigoMipo has quit (Read error: 145 (Connection timed out)).
18:38:57 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
18:41:51 -!- FireFly has quit (Read error: 110 (Connection timed out)).
18:44:05 -!- FireFly has joined.
18:49:44 <AnMaster> ais523, do you happen to remember if ehirds likes or dislikes clang?
18:50:06 * AnMaster just used --analyze to it to do static source code analysis...
18:50:13 <AnMaster> and it output a f*cking .plist file
19:03:15 <nooga> not that OS X is bad
19:03:27 <nooga> hint: plists are text ;p
19:04:50 <ais523> AnMaster: I thought he liked it, but I'm not sure
19:04:53 <ais523> why does it matter, anyway
19:05:07 <AnMaster> ais523, just because I'm pretty sure ehird is no XML-lover
19:07:22 <nooga> but you can at least read them without reverse enginieering
19:08:37 <nooga> i just measured that for small C programs llvm generates average 32.73% smaller code than gcc
19:08:41 <AnMaster> #if defined(__GNU_LIBRARY__) ? defined(__USE_GNU) : !defined(__STRICT_ANSI__)
19:08:50 <AnMaster> ais523, it is from an internal system include in clang
19:09:17 * AnMaster wonders if using ?: is cpp is really allowed
19:10:41 <ais523> probably both gcc and clang handle it
19:11:18 <AnMaster> ais523, sure, but it isn't standard right?
19:11:25 <Gregor> Try it with, say, Watcom or pcc
19:11:33 <AnMaster> Gregor, don't have either handy
19:11:46 <AnMaster> and icc tries to be compatible with gcc
19:11:55 <AnMaster> gcc, icc and clang are the ones I have handy
19:12:08 <nooga> i should be downloading icc right now
19:12:13 <Gregor> Those all try too hard to be compatible with gcc.
19:12:25 <nooga> i forgot that i need it dor tomorrow
19:12:48 <AnMaster> Gregor, oh and open64, but that uses GCC for frontend
19:12:55 <AnMaster> so that would be completely pointless
19:13:42 <Gregor> Why is pcc not in Debian >_<
19:22:37 -!- pikhq has joined.
19:24:14 <AnMaster> /home/arvid/local/llvm/2.6/libexec/gcc/x86_64-linux-gnu/4.2.1/cc1: Symbol `__gxx_personality_v0' causes overflow in R_X86_64_PC32 relocation
19:29:26 <pikhq> That's certainly a unique linker error.
19:29:59 <AnMaster> anyway there is an open llvm bug about it
19:31:39 <AnMaster> pikhq, http://llvm.org/bugs/show_bug.cgi?id=2853
19:31:54 <Gregor> Heh, I can't get squat to build with pcc :P
19:32:32 <AnMaster> Gregor, ah I ran into that when I tried some time ago too
19:32:37 <AnMaster> iirc ehird got it working on OS X
19:32:51 <pikhq> Well, should be feasible to do a port. :P
19:32:55 <Gregor> It's all the GCC-specific stuff in glibc stdio.h that's killing me now.
19:32:59 <Gregor> Anyway, I don't actually care.
19:33:57 <oklokok> Gregor: didn't you have a nose at some point btw?
19:34:07 <oklokok> by this i mean didn't you use ":-P"
19:34:45 <pikhq> I'd imagine that what ehird did was use Newlib.
19:35:02 <oklokok> Gregor: try to remember, as you can imagine, this is very important to me.
19:35:27 <Gregor> I am of course your messiah.
19:36:12 <oklokok> i don't have them on my compüter atm
19:38:02 -!- |MigoMipo| has changed nick to MigoMipo.
19:43:12 -!- nooga has quit ("Lost terminal").
19:43:27 -!- sebbu2 has joined.
19:45:25 -!- MigoMipo has changed nick to migomipo.
19:49:12 -!- sebbu has quit (Read error: 60 (Operation timed out)).
20:16:31 -!- adam_d has joined.
20:35:33 -!- BeholdMyGlory has quit (Remote closed the connection).
20:36:56 -!- BeholdMyGlory has joined.
20:38:48 -!- BeholdMyGlory has quit (Read error: 104 (Connection reset by peer)).
20:40:56 -!- BeholdMyGlory has joined.
20:59:18 <AnMaster> checking whether llvm-gcc is sane... /home/arvid/local/llvm/2.6/libexec/gcc/x86_64-linux-gnu/4.2.1/cc1: Symbol `__gxx_personality_v0' causes overflow in R_X86_64_PC32 relocation
21:16:08 <AnMaster> heh, switching to use the system libstdc++ instead worked
21:16:18 <AnMaster> the system one being a newer version
21:17:44 -!- migomipo has quit ("co'o rodo").
21:28:03 -!- pikhq has quit ("Java user signed off").
21:57:53 -!- Azstal has joined.
22:12:19 -!- Asztal has quit (Read error: 110 (Connection timed out)).
22:15:30 -!- augur has joined.
22:32:48 -!- augur has quit (Read error: 110 (Connection timed out)).
22:36:11 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
22:36:15 -!- puzzlet has joined.
23:03:17 -!- revcompgeek has quit.
23:19:33 -!- coppro has joined.
23:19:46 -!- FireFly has quit ("Leaving").
23:20:03 -!- BeholdMyGlory has quit (Remote closed the connection).
23:24:16 -!- ais523 has quit (Remote closed the connection).
23:51:57 -!- adam_d has quit ("Leaving").
23:56:31 -!- augur has joined.
23:59:11 -!- oerjan has joined.
00:00:05 <oerjan> <oklokok> damn oerjan with his leavings <-- MWAHAHAHA
00:00:10 -!- yiyus has joined.
00:08:24 * oerjan realizes that norwegians have no humor, or no.no.no would exist
00:13:58 -!- augur has quit (Read error: 110 (Connection timed out)).
00:20:32 <yiyus> mycroftiv: hi! i did not expect to find you here
00:26:45 -!- madbr has joined.
00:43:40 -!- oerjan has quit ("leaving").
00:45:28 -!- Pthing has quit (Remote closed the connection).
01:11:24 -!- quantumEd has quit (Remote closed the connection).
01:11:48 -!- quantumEd has joined.
02:43:10 -!- Azstal has quit (Read error: 110 (Connection timed out)).
03:04:47 <mycroftiv> yiyus: hey yiyus, I ended up here fairly serendipitously, its a fascinating channel
03:42:06 -!- lament has quit (farmer.freenode.net irc.freenode.net).
03:43:00 -!- lament has joined.
04:55:25 -!- augur has joined.
05:15:43 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
05:15:54 -!- puzzlet has joined.
05:28:25 -!- augur has quit (Read error: 110 (Connection timed out)).
06:38:24 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
06:38:25 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
06:47:39 -!- madbr has quit ("Radiateur").
06:59:37 -!- quantumEd has quit ("Leaving").
07:22:01 -!- quantumEd has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:17:03 -!- Slereah has joined.
08:17:03 -!- Gracenotes has joined.
08:36:17 -!- Asztal has joined.
09:25:23 -!- Azstal has joined.
09:37:20 -!- Asztal has quit (Read error: 110 (Connection timed out)).
09:51:46 -!- quantumEd has quit ("Leaving").
10:07:55 -!- Azstal has quit (farmer.freenode.net irc.freenode.net).
10:07:55 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
10:07:57 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
10:09:31 -!- Azstal has joined.
10:09:31 -!- Slereah has joined.
10:09:31 -!- Gracenotes has joined.
11:55:43 <AnMaster> heh, http://klee.llvm.org is really amazing
11:57:00 <AnMaster> though quite buggy still, and quite a pain to compile properly. Similar to the state clang was in about half a year ago
12:08:36 -!- oerjan has joined.
12:09:17 <oerjan> <oklokok> not being online is cruel <-- yes. yes it is.
12:22:41 -!- kar8nga has joined.
12:34:57 <oerjan> hello oklokok's evil twin
12:35:21 <oklokok> i would say mwahahaha, but i'm not sure i'm *that* evil
12:35:47 <oklokok> anyway i think i should sleep, kind of did math all night
12:36:10 <oerjan> sleep is good, if you can afford it
12:46:55 -!- Pthing has joined.
13:17:21 -!- coppro has quit (Read error: 145 (Connection timed out)).
14:12:00 -!- Pthing has quit (farmer.freenode.net irc.freenode.net).
14:12:01 -!- Azstal has quit (farmer.freenode.net irc.freenode.net).
14:12:01 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
14:12:01 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
14:16:44 -!- Slereah has joined.
14:16:57 -!- Pthing has joined.
14:16:58 -!- Asztal has joined.
14:17:20 -!- Gracenotes has joined.
14:33:33 -!- BeholdMyGlory has joined.
15:15:04 <AnMaster> hm how many possible befunge-98 programs of length 10 is there? Assume for the sake of the discussion that only deterministic instructions defined in befunge-98 with no fingerprints loaded (or being loaded) are of interest (so [A-Zmlh?()] are forbidden, as is everything above codepoint 127 and anything below codepoint 32 (except codepoint 10, which is \n)
15:15:22 <AnMaster> "length 10" here means input file length in bytes
15:17:58 <oerjan> n to the power 10, whatever n is
15:19:25 <oerjan> which makes your exceptions unreasonable
15:19:28 <AnMaster> that is like a "one-off string mode"
15:20:07 <AnMaster> Example: 'x@ pushes x then exits
15:20:40 <oerjan> which means you may need dataflow analysis to determine whether a program is legal
15:21:16 <oerjan> because you don't know whether a particular character will be executed as a command
15:21:30 <AnMaster> oerjan, nor do you know if it will be replaced before you execute it or not
15:22:00 <oerjan> so you essentially have to run the program candidates to count them
15:22:55 -!- MigoMipo has joined.
15:23:24 <oerjan> for large enough values of 10 you should hit the halting problem there
15:24:05 <AnMaster> oerjan, "for large enough values of 10" heh
15:25:20 <AnMaster> well if all programs were allowed instead that would be (127-31+1)^10 then?
15:25:33 <AnMaster> (all that are defined in funge-98 that is)
15:25:59 <AnMaster> Deewiant, not outside string mode
15:26:16 <Deewiant> 'å is well defined outside string mode; å isn't, yes
15:26:30 <AnMaster> Deewiant, ah yes missed that '
15:27:09 <AnMaster> Deewiant, for the sake of simplification (and not having to have a headache about if we use ISO-something or UTF-8 or whatever) however lets resume 127-31 right now
15:28:03 <Deewiant> And still, actually, å is well defined; it's equivalent to r
15:28:05 -!- lament has quit (farmer.freenode.net irc.freenode.net).
15:28:06 -!- MizardX has quit (farmer.freenode.net irc.freenode.net).
15:28:06 -!- kar8nga has quit (farmer.freenode.net irc.freenode.net).
15:28:07 -!- Slereah has quit (farmer.freenode.net irc.freenode.net).
15:28:08 -!- puzzlet has quit (farmer.freenode.net irc.freenode.net).
15:28:08 -!- fungot has quit (farmer.freenode.net irc.freenode.net).
15:28:08 -!- fizzie has quit (farmer.freenode.net irc.freenode.net).
15:28:09 -!- Deewiant has quit (farmer.freenode.net irc.freenode.net).
15:28:09 -!- rodgort has quit (farmer.freenode.net irc.freenode.net).
15:28:09 -!- Rembane has quit (farmer.freenode.net irc.freenode.net).
15:28:10 -!- AnMaster has quit (farmer.freenode.net irc.freenode.net).
15:28:10 -!- Warrigal has quit (farmer.freenode.net irc.freenode.net).
15:28:11 -!- BeholdMyGlory has quit (farmer.freenode.net irc.freenode.net).
15:28:11 -!- Asztal has quit (farmer.freenode.net irc.freenode.net).
15:28:12 -!- oerjan has quit (farmer.freenode.net irc.freenode.net).
15:28:12 -!- bsmntbombdood has quit (farmer.freenode.net irc.freenode.net).
15:28:13 -!- ineiros has quit (farmer.freenode.net irc.freenode.net).
15:28:13 -!- Gregor has quit (farmer.freenode.net irc.freenode.net).
15:28:14 -!- mtve has quit (farmer.freenode.net irc.freenode.net).
15:28:14 -!- Gracenotes has quit (farmer.freenode.net irc.freenode.net).
15:28:14 -!- Pthing has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- sebbu2 has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- cal153 has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- SimonRC has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- oklokok has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- mycroftiv has quit (farmer.freenode.net irc.freenode.net).
15:28:18 -!- HackEgo has quit (farmer.freenode.net irc.freenode.net).
15:28:22 -!- olsner has quit (farmer.freenode.net irc.freenode.net).
15:28:22 -!- MigoMipo has quit (farmer.freenode.net irc.freenode.net).
15:28:23 -!- Ilari has quit (farmer.freenode.net irc.freenode.net).
15:28:24 -!- jix has quit (farmer.freenode.net irc.freenode.net).
15:28:28 -!- jix has joined.
15:28:50 -!- lament has joined.
15:29:00 -!- lament has quit (farmer.freenode.net irc.freenode.net).
15:29:12 -!- jix has quit (farmer.freenode.net irc.freenode.net).
15:29:15 -!- Gracenotes has joined.
15:29:15 -!- Pthing has joined.
15:29:15 -!- sebbu2 has joined.
15:29:15 -!- cal153 has joined.
15:29:15 -!- SimonRC has joined.
15:29:15 -!- oklokok has joined.
15:29:15 -!- mycroftiv has joined.
15:29:15 -!- HackEgo has joined.
15:29:15 -!- olsner has joined.
15:29:38 -!- jix has joined.
15:29:39 -!- lament has joined.
15:29:58 -!- BeholdMyGlory has joined.
15:29:58 -!- Asztal has joined.
15:29:58 -!- Slereah has joined.
15:29:58 -!- kar8nga has joined.
15:29:58 -!- oerjan has joined.
15:29:58 -!- puzzlet has joined.
15:29:58 -!- Warrigal has joined.
15:29:58 -!- AnMaster has joined.
15:29:58 -!- Rembane has joined.
15:29:58 -!- MizardX has joined.
15:29:58 -!- Gregor has joined.
15:29:58 -!- ineiros has joined.
15:29:58 -!- bsmntbombdood has joined.
15:29:58 -!- fizzie has joined.
15:29:58 -!- fungot has joined.
15:29:58 -!- Deewiant has joined.
15:29:58 -!- rodgort has joined.
15:29:58 -!- mtve has joined.
15:30:09 -!- Ilari has joined.
15:30:19 -!- Ilari has changed nick to Ilari_.
15:30:20 <AnMaster> if I'm right that means 73742412689492826049 or so. Which won't fit in a 64-bit variable (about 4 times too large)
15:31:31 -!- Ilari_ has changed nick to Ilari.
15:34:00 -!- mental has joined.
15:37:44 -!- MigoMipo has joined.
15:54:56 -!- quantumEd has joined.
16:00:16 -!- adam_d has joined.
16:28:57 -!- Slereah_ has joined.
16:29:21 -!- Slereah has quit (Read error: 145 (Connection timed out)).
16:34:18 -!- kar8nga has quit (Remote closed the connection).
16:40:00 -!- kar8nga has joined.
17:06:53 -!- adam_d_ has joined.
17:08:08 -!- adam_d__ has joined.
17:22:13 -!- oerjan has quit ("leaving").
17:24:19 -!- adam_d has quit (Read error: 110 (Connection timed out)).
17:27:39 -!- adam_d_ has quit (Read error: 113 (No route to host)).
17:37:29 -!- sebbu has joined.
17:40:27 -!- sebbu2 has quit (Read error: 60 (Operation timed out)).
18:07:40 -!- kar8nga has quit (Remote closed the connection).
18:25:14 -!- oklokok has quit (Read error: 60 (Operation timed out)).
18:33:07 -!- oklofok has joined.
18:34:44 -!- oklofok has set topic: don't ask to ask. http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
18:35:43 -!- adam_d__ has changed nick to adam_d.
18:55:20 -!- FireFly has joined.
18:55:58 <AnMaster> oklofok, may I ask if I can ask to ask?
19:19:21 -!- Gracenotes has quit ("Leaving").
19:24:13 <AnMaster> oklofok, I shall refuse to ask you to ask!
19:24:29 <AnMaster> And never will I ask the actual question.
19:25:05 <quantumEd> you don't have to ask it I just wonder what it is
19:25:11 <AnMaster> You will _never_ know what it was! <maniacal laughter>
19:32:11 <AnMaster> hm are you new here quantumEd? Don't recall that nick in here before...
19:37:29 <Deewiant> Only compiler-generated stuff :-P
19:39:41 <AnMaster> Deewiant, fair enough, but gcc generated x86 asm is quite easy to read for something like abs(), llvm asm for the same function is not
19:40:06 <Deewiant> Sounds like you're comparing a language you know and a language you don't
19:41:31 <AnMaster> Deewiant, there is a lot of metadata in llvm asm
19:42:15 <Deewiant> define i32 @abs(i32 %x) nounwind readnone {
19:42:15 <Deewiant> %neg = sub i32 0, %x; <i32> [#uses=1]
19:42:15 <Deewiant> %abscond = icmp sgt i32 %x, -1; <i1> [#uses=1]
19:42:15 <Deewiant> %abs = select i1 %abscond, i32 %x, i32 %neg; <i32> [#uses=1]
19:42:36 <AnMaster> Deewiant, what about stuff like:
19:42:48 <AnMaster> tail call void @llvm.dbg.stoppoint(i32 34, i32 0, { }* bitcast (%llvm.dbg.compile_unit.type* @llvm.dbg.compile_unit to { }*))
19:43:06 <AnMaster> Deewiant, strange, because I'm using -g0
19:43:56 <AnMaster> oh I blame clang, with llvm-gcc I get much more reasonable output
19:44:10 <Deewiant> Are you sure clang interprets -g0 the way you think it does?
19:44:44 <AnMaster> Deewiant, I'm using "clang" not "clang-cc". "clang" claims to be gcc-compatible for command line purposes
19:45:03 <AnMaster> Deewiant, at least according to docs
19:45:08 <AnMaster> how accruate they are I don't know
19:45:15 <AnMaster> OVERVIEW: clang "gcc-compatible" driver
19:45:44 <AnMaster> dropping -g0 didn't help either
19:46:41 <AnMaster> Deewiant, on the other hand, I'm used to llvm being buggy. In fact: being buggy is one of the defining traits of llvm. (Another one is "being cool")
19:47:06 <Deewiant> That doesn't sound buggy, that sounds completely messed up :-P
19:48:31 <AnMaster> Deewiant, oh you mean like his output: http://sprunge.us/BjQS
19:48:53 <AnMaster> (can you spot the "wtf" in that?)
19:49:09 <AnMaster> Deewiant, can you spot the wtf though?
19:49:21 <AnMaster> Deewiant, the wtf is embedding xml in a plain text file
19:49:29 <AnMaster> inside some BEGIN ... END blockj
19:49:48 <Deewiant> Just notation for what output comes from what searcher
19:49:59 <AnMaster> that thing looks XMLish at least
19:50:54 <AnMaster> Deewiant, oh and clang's static analyzer wrote the output as a .plist XML file. Why this OS X-ism?
19:51:17 <AnMaster> you might as well use gcc-xml or something equally insane
19:51:50 <AnMaster> Deewiant, I'm pretty sure it didn't use plist to begin with. Also they aren't all apple devs iirc
19:53:54 <AnMaster> Deewiant, also klee seems really cool. Very buggy still, and a pain to compile correctly (especially compiling the patched uclibc it uses was a pain).
19:54:01 <AnMaster> but cool. More so that clang even
19:55:08 <AnMaster> Deewiant, http://klee.llvm.org/
19:55:10 <Deewiant> Have you run cfunge through it yet? :-P
19:56:56 <AnMaster> Deewiant, and yes I have been testing cfunge with it. Needed a lot of modifications though. Basically the modified version loads a symbolic-ised string directly into funge space instead, skipping the file completely. Because it seems mmap() isn't supported. Oh and I was unable to get the "symbolic file input" thing to work even with simple fopen() fread()
19:57:19 <AnMaster> Deewiant, so far I only hit klee bugs however
19:57:52 <Deewiant> Not surprising, it's pretty beta from what I understand
19:58:45 <AnMaster> Deewiant, oh and it will easily eat all your ram. How many do you have? On cfunge it passes 4 GB and starts wanting swap unless you cap it (in which case it tells you it skipped some paths due to that)
19:59:21 <AnMaster> Deewiant, I'm pretty sure it would pass that too fairly quickly
20:00:07 <AnMaster> for 5 random chars in the range 31-127 with mlh excluded
20:01:29 <AnMaster> Deewiant, I think the "test failing system calls" mode will give more interesting results
20:01:34 <AnMaster> haven't got around to trying that yet
20:02:00 <AnMaster> oh and I'm fairly certain I hit a clang bug in how it handles certain warnings today.
20:02:08 <AnMaster> that's 2.6 clang not trunk clang though
20:03:32 <AnMaster> Deewiant, simple: make a function that doesn't return, annotate with __attribute__((noreturn)), turn on -Wmissing-noreturn (iirc that is how it is spelled), compile. Watch the warning about missing noreturn for the function that *has* the attribute show up
20:07:24 <oklofok> doesn't AnMaster consider not reporting stuff highly unethical
20:15:54 <Gregor> AnMaster: (I can't make it fail)
20:25:07 -!- kar8nga has joined.
20:31:52 -!- lament has quit (Nick collision from services.).
20:31:57 -!- mental has changed nick to lament.
20:40:52 -!- Sgeo has joined.
20:48:31 <AnMaster> <oklofok> doesn't AnMaster consider not reporting stuff highly unethical <-- yes, but I don't have time to check out svn and build atm
20:49:14 <AnMaster> <Gregor> AnMaster: Example? <-- compile cfunge bzr version with clang. Before it fails on inline asm due to pretending to be gcc and then refusing to accept gcc inline asm constraints it will report that
20:49:34 <AnMaster> Gregor, and do you have 2.6 clang?
20:51:53 -!- pikhq has joined.
20:56:04 <AnMaster> well, now I hidden the asm for it. so if you pull cfunge it should compile on clang out of box. Still the spurious warning though
20:56:27 <AnMaster> oklofok, oh and if Gregor can't reproduce the bug, it is probably a local issue only.
21:02:21 -!- augur has joined.
21:02:50 <Gregor> Oh, I see, it's a problem with gcc that clang reproduces.
21:03:02 <Gregor> Hypothetically. But I don't really want to go through that much work to repro it :P
21:05:12 <AnMaster> <Gregor> Oh, I see, it's a problem with gcc that clang reproduces. <-- eh?
21:05:41 <AnMaster> Gregor, and gcc doesn't give that when the function is marked with the attribute
21:05:42 <Gregor> If it happens with clang but not with my simple test case, then it's some convoluted situation under which it's reproduced.
21:05:56 <AnMaster> Gregor, what version of clang do you have?
21:06:31 <AnMaster> as for simple test case, I didn't have time to try
21:06:46 <Gregor> I didn't read enough backlog :P
21:06:54 <Gregor> I just saw some compiler warning, saw that GCC has that flag, and then tried :P
21:08:18 <AnMaster> actually a simple test case with clang does it
21:09:22 <AnMaster> (horrible formatting for brevity on irc):
21:09:25 <AnMaster> __attribute__((noreturn)) void mynoret(void) {
21:09:42 <AnMaster> clang-noret.c:2:46: warning: function could be attribute 'noreturn' [-Wmissing-noreturn]
21:09:42 <AnMaster> __attribute__((noreturn)) void mynoret(void) {
21:10:02 * Gregor types "aptitude install clang" and is extremely surprised when nothing happens.
21:10:09 <Gregor> Right, hence my stupid :P
21:11:07 <AnMaster> Gregor, what is the point of making your build system check if compiler claims to be gcc AND accepts a warning flag when other compilers claim to be gcc, accepts the flag but then reports the wrong thing
21:12:00 <AnMaster> Gregor, true, it is worse when a feature just isn't supported even when it claims it should be.
21:13:53 <AnMaster> #if defined(__GNUC__) && !defined(__INTEL_COMPILER) && !defined(__clang__)
21:14:13 <AnMaster> just because they claim to be gcc and then fail to handle inline asm constraints for gcc properly
21:14:18 <Gregor> That's always annoying
21:14:44 <pikhq> I really wish other compilers would stop defining __GNUC__. ... I also wish there were defines for certain features, rather than compiler version.
21:15:30 <AnMaster> exactly. and in my experience even when the compiler claims to be gcc it means it supports __attribute__ and possibly a few more things, but almost never all the details of inline asm
21:15:43 -!- Gracenotes has joined.
21:15:52 <AnMaster> pikhq, ah yes iirc clang had a good idea
21:16:20 <pikhq> In fact, I kinda consider a compiler defining __GNUC__ and not compiling something that GCC can a bug...
21:16:23 <AnMaster> #if __has_builtin(__builtin_trap)
21:17:03 <AnMaster> pikhq, just remember to check if __has_builtin and __has_feature are supported first!
21:17:09 <AnMaster> however they made it possible to do
21:17:37 <AnMaster> pikhq, still, as long as other compilers doesn't support it, it is fairly useless
21:18:10 <AnMaster> because clang is (not yet at least) the "standard" compiler on open source *nix systems
21:18:21 <pikhq> GCC ought to add that.
21:19:11 <AnMaster> pikhq, except what if almost all details of a feature are supported?
21:19:25 <AnMaster> like, inline asm constraits, except the x87 floating point ones
21:19:31 <AnMaster> (this is a real world example!)
21:20:12 <AnMaster> pikhq, llvm-gcc and clang both currently doesn't support that, due to some underlying issues in how x87 floating point is handled in llvm
21:20:32 <AnMaster> iirc to be specific it is the "top of x87 stack" constraint that isn't handled
21:21:09 <AnMaster> pikhq, btw clang also added __has_include
21:21:27 <AnMaster> are they trying to move the mess of autotools into the C source files instead?
21:22:52 <AnMaster> http://clang.llvm.org/docs/LanguageExtensions.html <-- a few good ideas, a few bad ones. IMO
21:23:13 <pikhq> Language extensions tend to be like that.
21:23:28 <AnMaster> pikhq, why not just implement *good* ideas?
21:24:24 <pikhq> Because people suck at distinguishing good from bad?
21:25:36 <AnMaster> there is one icc extension I really really want in gcc. And that is the ability to say "hey! This pointer passed as a parameter points to block aligned on a n-byte boundary. So you don't need to consider generating code checking for that if you want to vectorize things based on it."
21:26:44 -!- ais523 has joined.
21:29:42 <AnMaster> argh is there any way to force firefox to word wrap a plain text file? http://clang.llvm.org/docs/BlockLanguageSpec.txt is unreadable as it is
21:31:27 <AnMaster> hm opened it in a text editor instead
21:32:48 <AnMaster> pikhq, that block extension in clang thing seems similar in aim to gcc's nested functions
21:33:33 <AnMaster> I can only find a spec for it, no introduction meant for people who doesn't know what it is already
21:34:21 <pikhq> The block extension in Clang is lambda.
21:34:56 <AnMaster> pikhq, how does that interact with non-executable stacks?
21:34:58 <MizardX> AnMaster: Google Chorme uses these styles when encountering text/plain: <pre style="word-wrap: break-word; white-space: pre-wrap;"> ... you could probably apply it with some bookmarklet
21:35:07 <AnMaster> since gcc trampolines doesn't interact well at all with that
21:35:23 <pikhq> It's used by Apple's Grand Central Dispatch.
21:35:27 <AnMaster> MizardX, I suspect I could do it with firebug
21:35:47 <pikhq> AnMaster: Probably "poorly".
21:35:51 <AnMaster> pikhq, Assume I don't own a mac, what is that thing you mentioned
21:36:18 <pikhq> It's the new parallelism API that Apple added to the most recent version of OS X.
21:36:56 <AnMaster> pikhq, oh? so in some way this is used to implement a high level threading API?
21:37:15 <pikhq> The various functions in it take lambda expressions as arguments.
21:37:17 <AnMaster> from my experience with C I have the say that that seems pretty hard
21:37:39 <AnMaster> pikhq, what about race conditions and mutexes and such then?
21:37:54 <pikhq> I'm not familiar with the details of it.
21:38:19 <pikhq> (I haven't bothered to set up a Darwin install to play with it.)
21:39:44 <AnMaster> I won't believe you can hide the synchronization details for threads in C until I see it.
21:40:29 <AnMaster> pikhq, so does this mean that apple switched their main compiler to be clang now?
21:41:02 <AnMaster> if so, I pitty all OS X users. Sure clang is getting really good now, but it is still far from as stable as gcc
21:41:13 <pikhq> I think that Apple-GCC also has support for blocks.
21:41:30 <AnMaster> then I pitty those apple developers who had to implement that :P
21:41:30 <pikhq> If it doesn't, then I *do* know that Grand Central Dispatch can also be used with function pointers.
21:41:59 <pikhq> Well, Apple *does* have a rather extensive patch set on GCC already...
21:42:20 <AnMaster> pikhq, I'm aware. That is one of the reasons llvm-gcc is so messy to get working on Linux
21:43:04 <AnMaster> pikhq, I had to rename the libstdc++ it compiled so it used the system one instead. Why? g++ wouldn't work otherwise.
21:43:34 <AnMaster> Why? I'm not completely sure, but it was looking for some symbol not defined in the llvm version, but that was defined in the system one. The system one being slightly newer
21:44:08 <AnMaster> but that also fixed an unrelated bug with gcc (which worked but gave a strange message on stderr every time)
21:44:24 <AnMaster> /home/arvid/local/llvm/2.6/libexec/gcc/x86_64-linux-gnu/4.2.1/cc1: Symbol
21:44:24 <AnMaster> `__gxx_personality_v0' causes overflow in R_X86_64_PC32 relocation
21:44:42 <AnMaster> oh and yes I reported that bug
21:45:58 <AnMaster> pikhq, a extremely silly clang extension IMO is http://clang.llvm.org/docs/LanguageExtensions.html#analyzerattributes
21:46:31 <AnMaster> that analyzer_noreturn seems very strange.
21:47:23 <AnMaster> and no I don't agree with the reasoning for it
21:48:33 <AnMaster> Deewiant, btw about klee, I had to implement a "FIXME: TEMPORARY HACK" thing to make it able to handle cfunge at all. However the way I implemented it is about as hackish, so I'm reluctant about sending it upstream
21:48:56 <AnMaster> plus I suspect it may run into issues with C++ memory handling
21:49:49 -!- MigoMipo has quit.
23:05:50 -!- kar8nga has quit (Remote closed the connection).
23:25:33 -!- FireFly has quit ("Leaving").
23:49:05 -!- BeholdMyGlory has quit (Remote closed the connection).
23:57:11 -!- pikhq has quit (Read error: 104 (Connection reset by peer)).
23:58:40 <ais523> yes, although not paying attention
23:59:21 <AnMaster> ais523, do you happen to remember if sizeof() returns multiples of CHAR_BIT or if it is multiples of 8 bits always? If you see what I mean.
23:59:46 <ais523> sizeof (char) is always always 1, even on a DS9K
23:59:51 <ais523> but that doesn't necessarily mean 8 bits
00:00:10 <AnMaster> ais523, it does mean a power of two iirc?
00:00:11 <ais523> next question: I'm interested to know what you might be working on where you can't assume CHAR_BIT = 8
00:00:22 <ais523> AnMaster: no, IIRC at least one system has CHAR_BIT == 9
00:00:31 <ais523> with 18-bit ints and 36-bit longs
00:01:19 <AnMaster> <ais523> next question: I'm interested to know what you might be working on where you can't assume CHAR_BIT = 8 <-- actually I can, but I spotted a possible correctness error in cfunge's "print out build info" where it prints out printf(..., sizeof(void*) * CHAR_BIT, sizeof(funge_cell) * CHAR_BIT);
00:01:25 <AnMaster> but it turned out if was correct
00:01:48 <AnMaster> ais523, what would C do on a ternary system?
00:02:02 <ais523> not define uint16_t nor uint32_t
00:02:07 <ais523> and would have to do arithmetic as if in binary
00:02:16 <AnMaster> ais523, and CHAR_BIT wouldn't be defined?
00:02:17 <ais523> which would imply padding and all sorts of similar nasty tricks
00:02:34 <ais523> CHAR_BIT would be the log base 2 of the max value of an unsigned char plus 1, just as in binary
00:02:41 <ais523> it would be incredibly inefficient, of course
00:02:57 <AnMaster> ais523, so basically it would emulate a binary system?
00:03:42 <AnMaster> ais523, does ternary intercal do the arithmetics in ternary or in binary?
00:03:56 <ais523> AnMaster: the INTERCAL writes it as ternary
00:04:05 <ais523> internally there's a lot of *3, /3, %3
00:04:18 <AnMaster> ais523, well internally was what I meant
00:04:50 <AnMaster> ais523, hm I still think .1i should exist :/
00:05:05 <AnMaster> as well as the whole way up to .32i
00:05:17 <ais523> AnMaster: extrapolating, that would mean there were no operators and all constants would have the value 0
00:05:24 <ais523> and be an infinite number of digits long
00:05:32 <ais523> that makes so little sense I might add it
00:06:05 <AnMaster> the last one is probably about as silly as turkybomb
00:06:07 <ais523> AnMaster: I think those actually would be impossible, or at least there would be no way to make them happen
00:06:15 <ais523> actually, base -2 is a lot saner than base 0
00:06:43 <ais523> e.g. 8 = (-2^4) + (-2^3)
00:06:50 <ais523> so 8 is 11000 in base -2
00:06:59 <AnMaster> ais523, is that two-complement?
00:07:01 <ais523> you'll find all positive and negative integers have a unique representation
00:07:07 <ais523> it isn't two's complement, it's base -2
00:07:18 <ais523> just define it with the generic equations for arbitrary bases, and you'll find it works
00:07:35 <AnMaster> wait, you don't need any special storage for negative...err positive numbers?
00:07:45 <ais523> quantumEd: I don't believe that makes sense
00:07:49 <AnMaster> ais523, so what is -8 in base -2?
00:07:52 <ais523> AnMaster: you don't need special storage for negative /or/ positive
00:07:55 <ais523> -8 is just 1000, of course
00:08:26 <ais523> 9 would be 11001, -9 would be 1011
00:08:32 * AnMaster can't figure out the storage scheme that makes it work
00:08:56 <AnMaster> ais523, so if there are two leading ones it will be positive?
00:09:20 <ais523> AnMaster: no, depends on odd/even location
00:09:21 <AnMaster> however, shouldn't those be "minus ones"
00:09:38 <ais523> you could do the same thing with 0 and -1 as the digits, but 0 and 1 is more conventional
00:09:53 <AnMaster> ais523, is .3i balanced ternary?
00:09:55 * Sgeo is a Stargate: SG-1 addict
00:10:12 <ais523> AnMaster: as you should know, INTERCAL doesn't put any interpretation on bitstrings/tritstrings usually
00:10:25 <ais523> it's unbalanced ternary for the purposes of WRITE OUT, READ IN, and # though
00:10:37 <ais523> which are AFAIR the only places you can tell
00:13:36 <AnMaster> ais523, anyway .-2i sounds like a nice idea
00:13:53 -!- coppro has joined.
00:14:15 <AnMaster> ais523, oh and for .1i I think mingle would be addition
00:14:47 <ais523> no, because you're mingling two infinite streams of zeros
00:14:50 <ais523> into another infinite stream of zeros
00:14:55 <ais523> select likewise doesn't produce useful results
00:15:20 <AnMaster> what about balanced binary? You have +.5 and -.5
00:15:32 <AnMaster> (I'm not sure this makes sense at all)
00:16:06 <ais523> AnMaster: that's binary shifted one bit
00:16:19 <ais523> because halving values is just the same as moving one digit to the right
00:16:37 <ais523> wait, +.5 or -.5? oh, that's like binary where each digit is +1 or -1
00:16:42 <ais523> which means you can't have finite numbers at all
00:16:54 <AnMaster> ais523, well, what about balanced binary then?
00:17:50 <AnMaster> ais523, hm can you do balanced for any even base at all?
00:18:06 <ais523> also, I think all bases above 2, but it's unbalanced balanced
00:18:16 <AnMaster> <AnMaster> ais523, hm can you do balanced for any even base at all? <ais523> yes, all the odd ones
00:18:19 <ais523> as in, you can do base 4 with -1, 0, 1, 2
00:18:43 <ais523> AnMaster, please read again
00:18:54 <AnMaster> <ais523> also, I think all bases above 2, but it's unbalanced balanced
00:19:24 <AnMaster> ais523, what about fractional bases?
00:19:51 <ais523> AnMaster: the issue there is you either have some numbers unrepresentable if you round down with the number of digits
00:19:58 <ais523> or more than one representation for numbers, if you round up
00:20:09 <ais523> but in the second case it's often possible to put a restriction on that makes them unique
00:20:18 <AnMaster> ais523, is that for irrational you mean?
00:20:21 <ais523> base fibonnacci, for instance, is pretty close to base golden ratio
00:20:26 <ais523> AnMaster: either, doesn't matter
00:20:45 <AnMaster> ais523, hm some numbers are unrepresentable in integer bases too. Like pi
00:20:55 <AnMaster> so I'm not sure how this makes a difference?
00:20:57 <ais523> not really, it just takes an infinite number of digits
00:21:06 <ais523> I mean, you can't even get to within arbitrary accuracy
00:21:17 <ais523> e.g. if you have digits 0, 1, 2 in base pi, there's no way to get within 0.01 of 3.1
00:21:42 <AnMaster> ais523, you could make a fraction in base pi?
00:22:00 <ais523> AnMaster: it would go on for an infinite number of digits if representing a rational
00:22:10 <ais523> just like integral bases go onto an infinite number of digits if representing pi
00:22:15 <ais523> there'd be more than one way to do it, too
00:22:19 <ais523> assuming digits 0, 1, 2, 3
00:22:46 <ais523> AnMaster: imagine if decimal had digits 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
00:22:49 <AnMaster> this bit about there being more than one way is interesting
00:22:51 <ais523> you could represent 10 either as 1 0 or 10
00:22:59 <ais523> it's the same concept, just less obvious
00:24:26 <AnMaster> ais523, I'm not sure this is a bad thing in an esoteric context however
00:35:44 * ais523 signs petition against the law that would give Peter Mandelson a dictatorship over the UK
00:35:54 <ais523> although the petition wasn't even targeting the law for that reason
01:08:51 -!- Asztal has left (?).
01:08:59 -!- Asztal has joined.
01:09:31 <ais523> AnMaster: a relatively infamous politicain
01:09:31 <AnMaster> and what sort of law would give anyone a dictatorship?
01:09:45 <ais523> AnMaster: a law that let a specific person amend it with minimal safeguards
01:09:59 <ais523> it's been done in Nomic so many times that it's easy to recognise in actual law
01:10:17 <AnMaster> ais523, is that even allowed by the constitution?
01:10:30 <ais523> AnMaster: the UK doesn't have a written constitution
01:10:44 <ais523> and given that it's a new law, it would just be amending all the bits that prevented that happening normally
01:10:49 <ais523> new laws take precedence over old
01:11:07 <ais523> (although the UK has a constitution formed by laws and precedences, there's no special restriction on amending it)
01:12:31 <AnMaster> ais523, such a suggested law would surely create lot of criticism in newspapers?
01:12:36 -!- puzzlet has quit (Remote closed the connection).
01:12:41 -!- puzzlet has joined.
01:12:55 <ais523> AnMaster: except that it's part of an anti-copyright-infringement law
01:13:03 <ais523> and I suspect the newspapers want the law itself to pass
01:13:32 <ais523> for some reason politicians seem unaware of the possibility that you don't have to accept or reject an entire law, you can amend bits
01:13:56 <AnMaster> ais523, what about EU level? Surely it would somehow be stopped there?
01:14:11 <ais523> possibly, if they notice
01:14:15 <ais523> it might be worth telling them
01:14:29 <AnMaster> ais523, yes exactly. Go do that?
01:15:33 <AnMaster> ais523, also, might be worth emigrating somewhere. Noway or Switzerland maybe?
01:15:42 <ais523> AnMaster: I'm not planning to emigrate
01:16:02 <ais523> and I think that given how mostly unpopular Mandelson is, if he started passing arbitrary laws the government would just get overthrown by force
01:16:27 <AnMaster> ais523, how did he managed to become elected then
01:17:05 <ais523> he was appointed to the house of Lords
01:17:21 <AnMaster> ais523, what does that mean. I forgot how UK politics work
01:17:31 <ais523> there's two houses of parliament
01:17:36 <ais523> the commons, which is completely elected
01:17:41 <ais523> and the lords, which is completely unelected
01:17:47 <ais523> traditionally, it was hereditary
01:17:53 <ais523> as in, if your parents were lords, so were you
01:18:18 <ais523> there was a huge scandal recently where Lords memberships were allegedly paid for
01:18:44 <ais523> also, it's generally accepted that the government can get anyone into the Lords they want to
01:18:49 <ais523> if they need them to have political power somehow
01:18:54 <ais523> AnMaster: yes, and not intended to happen either
01:18:56 <ais523> the police got involved
01:19:14 <AnMaster> ais523, I mean the house of lords in general is undemocratic
01:19:36 <ais523> yes, but it's strangely often saner than the commons
01:19:39 <AnMaster> having such a thing should disqualify UK as being counted as a democracy
01:19:55 <ais523> at least hereditary lordships tended not to have an agenda
01:20:02 <ais523> and so actually made decent decisions as a result
01:20:05 <AnMaster> ais523, <insert famous quote by Churchill>
01:20:41 <ais523> anyway, the lords is powerless in theory because laws are passed only if both houses agree, or if the commons makes the same decision three times it overrides the lords whatever they say (remarkably recent rule, that one)
01:21:39 <ais523> heh, technically he's Baron Mandelson now
01:21:44 <ais523> I think the whole hereditary thing got reversed
01:21:52 <ais523> in that you get a title when you become a Lord, rather than the other way round
01:23:14 <AnMaster> "Democracy is the worst form of government except for all those others that have been tried." strangely enough http://en.wikiquote.org/wiki/Winston_Churchill does *not* list it
01:24:05 <AnMaster> ais523, does that include people like famous artists and such that become "sir"?
01:24:25 <ais523> it's an honour given by the Queen, for the purpose of honouring people
01:25:32 <AnMaster> in the traditional Swedish system they were related (iirc), thus the confusion
01:25:40 <ais523> hmm... ehird would probably be highly amused to know that Lord Mandelson was the Baron of Hartlepool
01:26:13 <AnMaster> would have been funnier if it was that small place where ehird lives though
01:26:31 <ais523> I doubt there even is a Baron of Hexham
01:27:08 <AnMaster> ais523, is Hartlepool a small place?
01:27:10 <ais523> wow, there was as well (isn't one currently)
01:27:16 <ais523> AnMaster: it's large enough that people have heard of it
01:27:19 <ais523> but small enough that they can't remember wh
01:27:26 <Pthing> baron wasn't a very high kind of noble
01:27:30 <Pthing> baron was line manager of nobles
01:27:59 <AnMaster> ais523, what about the new place where ehird moved though?
01:28:04 <ais523> Aubrey Geoffrey Frederick Rippon, Baron Rippon of Hexham
01:28:09 <ais523> AnMaster: it's allegedly a very small village
01:28:25 <AnMaster> ais523, so there should be a duke of it
01:28:51 <AnMaster> (isn't duke one of the higher ones?)
01:30:02 <Pthing> duke is the highest you can get without being a king or prince or something
01:30:24 <Pthing> princes tend to collect duchies
01:31:53 <AnMaster> by the way. what exactly is the difference between an emperor and a king?
01:34:17 <Pthing> emperors are supposed to be above kings
01:34:30 <Pthing> emperor is a sort of king-of-kings type arrangement
01:34:39 <AnMaster> Pthing, so you could have several kings under a single emperor?
01:35:02 <Pthing> the emperor may be those kings, however
01:35:08 <AnMaster> Pthing, I thought both were "head of state" technically though?
01:35:37 <Gregor> HEY GUYS would you mind if I asked whether I could ask a question regarding permission to inquire about whether I may ask a question?
01:35:41 <Pthing> then you have the situation of like the british empire
01:35:58 <Pthing> where victoria became empress when she became Empress of India
01:36:05 <Pthing> in addition to being Queen of the United Kingdom
01:36:24 <AnMaster> Gregor, I think it was the same number of iterations
01:36:33 <AnMaster> * oklofok has changed the topic to: don't ask to ask. http://tunes.org/~nef/logs/esoteric/?C=M;O=D
01:36:33 <AnMaster> * adam_d__ is now known as adam_d
01:36:33 <AnMaster> * FireFly (n=firefly@1-1-3-36a.tul.sth.bostream.se) has joined #esoteric
01:36:33 <AnMaster> <AnMaster> oklofok, may I ask if I can ask to ask?
01:37:09 <Gregor> I have four, you have three.
01:37:55 <AnMaster> Gregor, I was faster. So I win
01:38:17 <Gregor> Your girlfriend told me that, but she elided the "I win" part.
01:38:33 <Gregor> (See what I did there hyuk hyuk)
01:38:38 <AnMaster> Gregor, you mean she just said "so"?
01:38:59 <AnMaster> I guess she was talking about dynamic linking then.
01:41:33 -!- Pthing has quit (Remote closed the connection).
01:42:15 <AnMaster> Gregor, I don't play. I'm always deadly serious.
01:42:49 <Gregor> Funny, your girlfriend also said that. (OK, this one doesn't work as well but gimme a break, you're not giving me much material)
01:45:17 <AnMaster> Gregor, nor is she. Due to not existing.
02:17:45 -!- oerjan has joined.
02:22:25 -!- coppro has quit (Remote closed the connection).
02:23:47 -!- coppro has joined.
02:29:54 -!- Asztal has quit (Read error: 110 (Connection timed out)).
02:49:11 -!- cal153 has quit.
03:09:40 -!- puzzlet_ has joined.
03:21:56 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
03:31:49 -!- coppro has quit (Remote closed the connection).
03:32:23 -!- coppro has joined.
03:53:07 -!- oerjan has quit ("leaving").
04:02:37 -!- quantumEd has quit ("Leaving").
04:03:43 -!- GreaseMonkey has joined.
04:05:18 -!- coppro has quit (Read error: 54 (Connection reset by peer)).
04:07:23 -!- coppro has joined.
04:23:10 <augur> i dont know you. :|
04:23:38 <Gregor> augur distrusts everyone he doesn't know.
04:23:49 <augur> unless hes hot and has a big cock.
04:24:36 <Gregor> So long as you've got your priorities straight. Or, y'know, not so straight.
04:26:05 <augur> so i learned a bit today about dependent types
04:26:19 <augur> and ive decided that types should be first class, just for fun
04:27:48 <Gregor> 'cuz I wurve prototypes.
04:28:08 -!- Sgeo_ has joined.
04:28:27 <Gregor> Prototypes, the brief: Every object has a prototype. That prototype is another object. To look up a method, you first check if the object itself has it, then if it doesn't, check its prototype (and its prototype, and its prototype, etc etc)
04:28:37 <augur> i know what prototypes are
04:28:44 <augur> but i mean real first class types
04:28:46 -!- Sgeo has quit (Read error: 104 (Connection reset by peer)).
04:28:46 <Gregor> I figured you didn't 'cuz you said "no what" :P
04:28:55 <Gregor> Just not typish enough for you?
04:29:05 <augur> i mean like a real type system
04:29:18 <augur> i eman, your junk could be prototypes, i dont care, thats details
04:29:23 <augur> i just like the idea of stuff like
04:29:40 <augur> functions from types to functions over that type
04:30:49 <augur> \\a -> \x :: a -> x
04:31:00 <augur> which takes a type and returns an identity function for that type
04:31:08 <augur> or dependent types
04:31:33 <augur> which takes a number and returns the type of lists of length >= n
04:31:42 <augur> or just type-to-type functions
04:32:04 <augur> dependent types especially
04:32:39 <coppro> augur: I've wanted to make a language with first-class types for a while
04:32:40 <augur> i had this idea of constructing a programming language that would be able to catch all sorts of errors by doing a sort of back-calculation of what might go wrong
04:33:20 <coppro> Though I wasn't looking at a functional approach
04:33:28 <augur> e.g. it would look at every single use of a function and say, ok, suppose this spits out an error, lets trace back where all the values could come from that are related to that error
04:33:50 <augur> coppro: when you think about it, Gregor is kind of right; prototypes are first class types
04:33:56 <augur> so are Class objects in Ruby and Smalltalk
04:34:07 <augur> but its hard to define new Class objects derived from old ones
04:34:23 <Gregor> There are lots of ways of making types first-class that aren't prototypes, and even have a prayer of static analysis :P
04:34:26 <Gregor> I just like prototypes :)
04:34:28 <coppro> Prototypes in what sense?
04:34:32 <augur> and its hard to define a prototype that is "a thing that is not this other thing"
04:34:58 <augur> unless ofcourse your prototype logic has some interesting fundamentals
04:35:03 <Gregor> coppro: Prototype-based object systems.
04:35:28 <augur> like a propositional aspect where you can construct a new object and make assertions about it such as opposite-of
04:36:01 <augur> which sort of derives onto everything else regardless of whether or not they were explicitly prototyped off this object
04:36:26 <coppro> hmm.. I don't know of this concept
04:36:57 <augur> javascript does it poorly tho
04:37:10 <augur> think of it like this: object literals + copy
04:37:10 <coppro> now that you give me an example, I know what you mean
04:37:44 <Gregor> Yeah, JavaScript is a suckfest :)
04:37:51 <augur> ive been trying to think of ways to construct a prototype logic
04:40:15 <Gregor> Plof takes prototypes around another twist.
04:40:19 <Gregor> But that's beside the point.
04:43:35 <augur> gregor, wanna work on a prototypal logic?
04:50:14 <augur> i want to try to construct a form of logic that employs prototypes rather than the normal set of inference tools
04:50:17 <augur> dunno how it'd work but
04:53:42 <Gregor> Inference over prototypes? You could probably dance in that direction with something involving abstract interpretation, but inference is usually most successful in languages with limited state (that is, functional languages), whereas prototypes are basically pointless without state, so hmmmm.
04:54:03 <Gregor> Not that it's unresolvable, 'ts just an uphill battle.
04:54:48 <augur> no no by inference i mean like
04:55:08 <augur> logics usually let you do various sorts of calculations and stuff
04:55:14 <augur> of interesting sorts
04:55:31 <augur> and prototypes can potentially let you do different sorts of calculations
04:56:01 <augur> an example is stuff like typical vs. atypical behaviors
04:56:33 <augur> unless otherwise specified, you can infer that any given dog will bark, have fur, four legs, etc.
04:56:35 <Gregor> Heh, totally different direction.
04:56:35 <augur> because the prototypical dog does
04:56:53 <augur> and having three legs doesnt make something not a dog, it makes it an atypical dog
04:57:28 <augur> im just thinking of how to capture facts about human cognition and the problems of traditional necessary-and-sufficient-conditions definitions of things
04:58:21 <Gregor> Well, presently I'm thinking of how to sleep.
04:58:26 <Gregor> I believe the first step is to go to bed.
05:41:22 -!- GreaseMonkey has quit (Client Quit).
06:14:45 -!- puzzlet has joined.
06:15:24 -!- puzzlet_ has quit (Remote closed the connection).
06:41:35 -!- Sgeo_ has quit (Read error: 110 (Connection timed out)).
06:59:20 -!- cal153 has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
09:09:01 -!- kar8nga has joined.
10:00:10 -!- kar8nga has quit (Read error: 54 (Connection reset by peer)).
10:06:42 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
10:07:50 -!- BeholdMyGlory has joined.
10:08:38 -!- puzzlet has joined.
10:26:39 -!- ais523 has quit (Read error: 54 (Connection reset by peer)).
10:33:21 <AnMaster> <Gregor> Prototypes, the brief: Every object has a prototype. That prototype is another object. To look up a method, you first check if the object itself has it, then if it doesn't, check its prototype (and its prototype, and its prototype, etc etc) <-- what about the top prototype?
10:36:56 <AnMaster> Gregor, when did you begin spelling "yes" as "Yesh" instead?
10:46:42 <oklofok> there's obviously an object that's the prototype of the first ones
10:47:01 <oklofok> which is its own prototype, in case the designers wished to make it follow the same pattern.
10:47:22 <oklofok> i mean not that i know anything about prototyping
10:50:40 <oklofok> augur: in a language of mine i had a sort of prototyping using "Cat is Dog but ...", most things were just data, because it was used for making maps for a game, so it was nice to be able to give a few properties things usually have and just say but if one is slightly different
10:50:48 <oklofok> dunno if that's at all close to what you meant
10:57:19 <oklofok> really i just wanted to mention my but
11:12:33 <AnMaster> oklofok, the problem with an object being it's own prototype is that you can get an infinite loop when looking up a method that turns out to not exist.
11:13:00 <AnMaster> unless you do some sort of cycle detection
11:13:43 <AnMaster> I'm not sure how bad the added overhead for cycle detection would be, but calling a method would probably be a very common operation.
11:14:49 <AnMaster> oklofok, prototyping for game world objects isn't uncommon. Seen that several times before in MUDs and similar
11:35:29 -!- rodgort has quit (Client Quit).
11:35:40 -!- rodgort has joined.
11:42:16 -!- kar8nga has joined.
11:44:54 <oklofok> AnMaster: yeah it'd be really hard to special case that one object
11:45:49 <AnMaster> oklofok, because then it wouldn't have itself as prototype *in practise*
11:46:50 <oklofok> also cycle detection can be done with O(1) overhead in non-threaded code, just take some number that represents "now", and tag all the things you check for methods with it, cycle = now-tagged prototype
11:47:23 <oklofok> we just need one tag field for each object
11:47:32 <AnMaster> oklofok, you would need to untag afterwards, to prepare for next lookup?
11:47:52 <oklofok> that's why "number representing now", and not "boolean"
11:48:17 <oklofok> (boolean would still be O(1), i just knew you'd wine about this)
11:48:25 <AnMaster> oklofok, well okay, that would break if system clock was corrected by something like ntp
11:48:51 <oklofok> yes, if you're a fucking retard and actually use current time
11:48:53 <AnMaster> well I guess you could use a incrementing counter
11:49:15 <AnMaster> still, it isn't O(1) in threaded code right?
11:49:34 <oklofok> well umm, you'd probably have a lock when checking for methods anyway.
11:49:37 <AnMaster> threaded here meaning "multitasking" not "forth threading"
11:50:02 <AnMaster> oklofok, just make the GC lock, you could have concurrent lookups
11:50:17 <AnMaster> you can use multi-read/single-write lock
11:50:32 <AnMaster> and that is only needed when removing objects
11:50:34 <oklofok> well... err... why indeed... if prototypes can never be changed, just added to new objects, then the hierarchy cannot change during method lookup
11:50:39 <oklofok> so actually no need for a lock
11:50:51 <oklofok> so two thread could theoretically be traversing the hierarchy simultaneously
11:50:55 <AnMaster> oklofok, and even if they can you only need to lock for writing, and per-object
11:51:04 <oklofok> so my system doesn't directly solve the problem
11:51:22 <AnMaster> so you can have multiple-read/single-change kind of lock
11:52:06 <AnMaster> of course, per object locking would probably have higher overhead than single global lock for changes in practise
11:52:50 <oklofok> yeah, the "frozen hierarchy" comment was exactly because i originally thought you'd need a lock for the method lookup, because the hierarchy could change during lookup so that something really weird happens, but the hierarchy actually cannot change at all
11:54:19 <AnMaster> oklofok, if you can do updates atomic you can do it lockless. Like "add method" and "remove method"
11:54:28 <AnMaster> not sure about "change to different parent"
11:54:37 <AnMaster> if that should even be supported
11:56:10 <oklofok> hmm, add method actually can break things, say you first have the whole prototype chain for object A completely void of methods, then add method a() to each object on the chain, now if method lookup is being done while that change is done, then a() will be found at a random ancestor of A, even though logically only A's a() or no a() should be found (if adding of a()'s was atomic)
11:56:46 <oklofok> well anyway i don't know much about thread stuff, and i definitely don't know anything about using them efficiently
11:57:36 <AnMaster> oklofok, about that last example, I'm not sure that the behaviour even should be well defined in that case
11:58:05 <oklofok> well now that i think of it, that's just a normal atomic action, nothing specifically related to prototype chains
11:58:15 <AnMaster> multiple-readers/single-writer style of lock per object would however solve it
11:58:24 <oklofok> but obviously if atomicity is in the language, it should be well-defined.
11:58:36 <AnMaster> (so whould a single global such)
11:59:22 <AnMaster> oklofok, I'm pretty sure you can do it lockless using specialized data structures
11:59:31 <AnMaster> I'm not sure this is a good idea in the general case
12:40:45 -!- MigoMipo has joined.
12:48:34 -!- kar8nga has quit (Remote closed the connection).
12:55:01 <AnMaster> ~/local/llvm/2.6/include $ du -sh c++
12:56:08 <AnMaster> system gcc doesn't seem to have precompiled headers
13:02:58 <AnMaster> heck more than half of my llvm directory is in the include directory
14:28:50 -!- Slereah has joined.
14:38:35 -!- Slereah_ has quit (Read error: 110 (Connection timed out)).
14:44:43 -!- Pthing has joined.
15:20:47 -!- quantumEd has joined.
15:26:33 -!- MALDEK has joined.
15:28:40 -!- MALDEK has quit (Client Quit).
16:07:38 -!- MALDEK has joined.
16:10:28 -!- MALDEK has quit (Client Quit).
16:17:35 -!- MALDEK has joined.
16:19:25 <MALDEK> esoteric topics or different than i thought?
16:20:09 <quantumEd> why is http://esolangs.org/wiki/Main_Page down? :(
16:21:09 <MALDEK> quantumed....i dont know...i was looking for a real esoteric chat...is this one?
16:26:53 <MALDEK> like the secret of the cube and fractal character of nature and no one mocks me?
16:27:38 <quantumEd> I agree with fractal character of nature but I don't know what it is about the cube
16:28:29 <MALDEK> are you interested in this or would it bore you?
16:29:44 <MALDEK> ok...little intro: 1. the numbers....you know that opposite sides always make 7...
16:35:07 -!- _MigoMipo_ has joined.
16:35:36 <MALDEK> cool...a man who completed what i will not achieve.....i like you too, btw...you are the first who is interested in those things..
16:36:25 -!- MigoMipo has quit (Nick collision from services.).
16:37:40 -!- _MigoMipo_ has quit (Client Quit).
16:37:44 <MALDEK> if you replace the numbers 1-6 by chemical elements according to the periodical system you see balance at its best
16:37:54 -!- MigoMipo has joined.
16:38:41 <MALDEK> or 1-6 by holy numbers...1 stands for unity, 2 for dualism and separation and so on...
16:39:48 <MALDEK> 3 is the first stable relation (fathermotherchild)...
16:40:08 <MALDEK> may i ask what your deepest interests are?
16:40:51 <quantumEd> probably something to do with computation and knowledge
16:41:02 <MALDEK> 3 is the step to materia....plus/neutral/minus
16:41:25 <MALDEK> 4 is stable materia....but i am not a teacher...i am a seeker
16:42:36 <MALDEK> 5 is stable room....pyramid shape or stable life schape
16:43:31 <Pthing> why would you count faces for cubes, but vertices for tetrahedra
16:44:15 <quantumEd> count faces for tetrahedra too then
16:44:54 <MALDEK> if i was sure about what i know i would write a book...lol
16:45:02 <Pthing> there's not much there, really
16:45:40 <quantumEd> top, bottom, left, right, front, back, in, out
16:45:47 <Pthing> cubes are solid objects
16:46:43 <MALDEK> cubes is a symbol to me of perfect balance
16:47:11 <quantumEd> MALDEK have you studied semiotics?
16:52:49 <MALDEK> btw...pthing...if i had to write a program for "world" it would be a cube...space/orientation/balance of opposite powers...how can you say that there is not much there if you havnt spend some time thinking & drawin?
16:53:47 <Pthing> people have worked out much better ways of talking about geometry and dynamics
16:54:57 <MALDEK> other people....what i know i found out myself...even if it is little and already known...but i dont use third party knowledge
16:55:11 <Pthing> there's a problem, then
16:55:41 <Pthing> yeah, ignoring everyone else
16:56:15 <MALDEK> not ignoring.....but to understand you have to start from scratch
16:56:33 <MALDEK> if it matches nature then its good
16:56:45 <Pthing> not if it's a very poor match
16:57:29 <MALDEK> why do you waste lines on low level formated dudes like me then? lol
16:57:48 <Pthing> because I don't think talking to other people is a waste
16:58:34 <Pthing> whereas somebody who says "i have to work everything out from scratch and so don't use third party knowledge" is saying "i don't want to listen to anybody"
16:58:37 <MALDEK> i ask myself : what would nature do? and it works out...thats enough for me...
16:59:07 <Pthing> then you need better standards
16:59:32 <MALDEK> everybody put also his personal perspective into his view....
16:59:46 <Pthing> you said, quite boldly, you don't use third party knowledge
16:59:59 <Pthing> that is quite a great deal stronger than what you just said, isn't it?
17:00:25 <MALDEK> but i dont see the problem
17:00:48 <Pthing> the problem is you are not really saying much
17:01:02 <Pthing> but you know you're not saying much, you apologise, you say you're just the student, not a teacher
17:01:20 <Pthing> but you have this dislike for "third party knowledge", so in what sense are you really a student
17:03:18 <MALDEK> ok...in school we were told that we work with circles pi and so on....later you find out that you can build maschines with that but thats not what this universe prefers...everyone you ask has its own opinion and still you dont know how dns works for example...
17:03:32 <MALDEK> but i have a head and i can think
17:03:42 <Pthing> the universe doesn't prefer anything
17:04:06 <Pthing> listen, i don't see how what you said follows at all from what I said
17:05:16 <MALDEK> the universe follows rules...those are certain to me...
17:05:41 <Pthing> sure, and people who aren't you have worked out lots of them
17:05:50 <Pthing> ones you'd never work out by yourself
17:05:56 <MALDEK> and i want to discover for myself....there is nothing wrong in that
17:06:08 <Pthing> what is wrong is not listening to other people who have
17:06:21 <Pthing> you needlessly and pointlessly cripple yourself
17:06:41 <MALDEK> because i CAN....thats why we have a mind
17:07:22 <MALDEK> i can think for myself
17:07:37 <Pthing> sure, but it doesn't mean you can do everything yourself
17:08:11 <MALDEK> stay with me in this....i said THINK not DO
17:08:25 <MALDEK> i dont think to get rewarded
17:09:15 <MALDEK> by the way: you know a funny paradox? the peace-nobel-prize....thats how the human world is
17:09:29 <MALDEK> i dont follow that world....
17:09:54 <MALDEK> although i have to live in it
17:10:42 <MALDEK> can we stop the ego show please ? i am not here for this....lol
17:11:30 <MALDEK> yo ed....sorry i got carried away....
17:12:09 <MALDEK> anyway....pthing thanx for that little excursion....lol
17:12:19 <Pthing> it shouldn't be an excursion
17:14:07 <MALDEK> pthing..last line....i am like this because most stuff i learned in school was simply not true...and most scientific explanations follow the trace of money not wisdom..
17:14:33 <MALDEK> but i am always open to people
17:14:47 <Pthing> school is shit, that's true, but it is not all bad
17:14:57 <Pthing> this is how it is with science too
17:15:40 <Pthing> there's no point in despising it because people get paid to do it
17:16:36 <MALDEK> at least ed likes me..... 8)
17:25:13 <MALDEK> the complete room so to say...
17:25:40 <MALDEK> sorry...i am a bit confused....the leftovers of pthing-talk
17:29:05 <MALDEK> 6 is 3 dualities balanced by 90 degree offset...creates the room and the stabelizing powers that something can grow in it
17:29:30 <quantumEd> what do you mean here by something?
17:29:55 <Pthing> and "room" and "creates" and "stabilising" and "powers" and "grow"...
17:30:13 -!- quantumEd has left (?).
17:30:20 -!- quantumEd has joined.
17:31:01 <MALDEK> or any kind of materia
17:31:45 <MALDEK> pthing...are you some kind of mind-officer? karma police?lol
17:31:58 <Pthing> no, just somebody who wants to know how the universe works
17:32:22 <MALDEK> materia is energy oscillating in grids
17:32:34 -!- kar8nga has joined.
17:33:18 <quantumEd> I think Pthing is just gonna keep fucking this up because in his opinion you are wrong
17:33:28 <Pthing> in my opinion he is incoherent
17:33:33 <Pthing> which is why i am asking questions
17:33:52 <MALDEK> brb.....materia coming on a plate=food=energy...lol
17:34:03 <Pthing> oh, so materia is matter?
17:38:41 -!- FireFly has joined.
17:40:26 <MALDEK> back...materia comes from mater, latin for mother....its the desciption for focused and stable energetic "cluster"
17:40:46 <Pthing> well okay but you can describe matter in the same way
17:40:58 <Pthing> so why aren't you talking about matter
17:41:23 <AnMaster> MALDEK, err I think you are confused about what this channel is about. It is esoteric *programming* languages
17:41:35 <AnMaster> someone removed that from the topic again
17:41:37 <MALDEK> maybe because i am not a native english speaker
17:41:58 <MALDEK> ok master....i get it....
17:42:07 <Pthing> well okay, but then you'll be glad to hear that there is a lot known about the structure of matter
17:42:08 -!- AnMaster has set topic: don't ask to ask. http://tunes.org/~nef/logs/esoteric/?C=M;O=D | This channel is about esoteric programming languages. Please keep that bit in topic at all times..
17:42:35 <Pthing> and chemical physics!!!!!!!
17:42:42 <Pthing> also physical chemistry!!!!!!!!!!!!
17:42:46 <AnMaster> Pthing, depends on what level you are talking about
17:43:29 <AnMaster> Pthing, as long as I don't have to calculate in mole. I got tried of chemistry in school at that point.
17:43:56 <Pthing> BUT THEN YOU GET A HUGE NUMBER OF MOLECULES
17:44:02 <Pthing> and all the numbers work out okay
17:45:18 <Pthing> see, the thing is then, the structure of matter is nothing like how you're describing it with these integers
17:45:30 <AnMaster> Pthing, except it turns out you ended up with mol per mm^3 when you wanted microgram per 1000 mole or whatever. And then you realise you won't have time to calculate it correctly before the time limit for the test is up!
17:45:45 <Pthing> AnMaster, well tests are the worst thing
17:45:57 -!- MALDEK has quit ("http://irc2go.com/").
17:46:11 <AnMaster> Pthing, depends. At university level I had no issues finishing math tests with more than half of the time to go
17:46:36 <AnMaster> but I guess that is because I don't have to actually do much calculation with numbers any more
17:46:46 -!- MALDEK has joined.
17:47:12 <AnMaster> it is all nicely abstract symbols or such by university. Or it is just trying to prove something
17:47:31 <AnMaster> Pthing, stuff like figuring out induction proofs is a lot easier than calculating with mole
17:47:49 <Pthing> man because that is the saddest thing
17:47:56 <Pthing> that's like basic algebra
17:48:07 <Pthing> it's just another SI unit
17:48:20 <MALDEK> still here...cool...lets cut out what we were talking abot...something else..why are you interested in semiotics?
17:48:43 <quantumEd> MALDER I don't know much at all about it actually, which is why I was wondering if you did
17:49:00 <Pthing> I know a little about it
17:49:06 <Pthing> it's gibberish, but sometimes entertaining gibberish
17:49:44 <Pthing> most useful, ironically, in the human world you don't want anything to do with
17:49:49 <MALDEK> ed: at uni i had semiotics focused on cinema
17:50:15 <quantumEd> look at this picture, http://scpd.stanford.edu/knuth/images/knuth_don_w200_h352_q60.jpg
17:50:53 <Pthing> just like the space on bookshelves because knuth can't fucking finish a simple book series he started in the fucking 60s
17:54:57 <MALDEK> ed...ok...headroom and an old man....
17:55:46 <quantumEd> what do you think the headroom means?
17:57:11 <MALDEK> ed...the presence of something invisible
17:59:19 <MALDEK> ed...what does it mean to you?
18:00:36 <AnMaster> MALDEK, space between head and ceiling?
18:01:11 <MALDEK> master...there is no ceiling....
18:07:00 <MALDEK> master...you lost me here...what do you mean by indoors?
18:07:50 <quantumEd> MALDEK I wasn't sure what it meant
18:09:03 <MALDEK> ed...more important is what you feel in the first moment...
18:11:23 <MALDEK> but if the picture was a program, i would analize it by reverse-engineering methods...depends...
18:14:03 <MALDEK> is my refresh function that slow?
18:15:58 <MALDEK> dinner time? where is the crowd? lol
18:20:12 -!- MALDEK has quit ("http://irc2go.com/").
18:20:45 -!- MALDEK has joined.
18:21:33 -!- Asztal has joined.
18:28:41 -!- MALDEK has quit ("http://irc2go.com/").
18:30:54 -!- coppro has quit (Remote closed the connection).
18:32:40 -!- MALDEK has joined.
18:36:56 <quantumEd> from http://scpd.stanford.edu/knuth/index.jsp
18:38:36 <MALDEK> should i know him? what does he do?
18:40:17 <MALDEK> are you a student there?
18:44:13 -!- MALDEK has quit ("http://irc2go.com/").
18:51:32 -!- Azstal has joined.
18:52:06 -!- Asztal^_^ has joined.
18:57:18 -!- kar8nga has quit (Remote closed the connection).
19:07:22 -!- Asztal has quit (Read error: 110 (Connection timed out)).
19:07:47 -!- FireFly has quit ("Leaving").
19:08:23 -!- Azstal has quit (Read error: 110 (Connection timed out)).
19:23:47 -!- oerjan has joined.
19:30:00 <oerjan> <AnMaster> Gregor, when did you begin spelling "yes" as "Yesh" instead? <-- Gregor likes cats so much he's turning into one. (see: Mutts)
19:32:26 <oerjan> <MALDEK> like the secret of the cube and fractal character of nature and no one mocks me?
19:32:48 <oerjan> that sounds disturbingly like it could intersect the two meanings of esoteric...
21:02:18 -!- augur has quit (Read error: 104 (Connection reset by peer)).
21:02:34 -!- augur has joined.
21:07:16 -!- coppro has joined.
21:17:56 -!- ais523 has joined.
21:36:31 -!- pikhq has joined.
21:50:56 -!- MigoMipo has quit (Read error: 104 (Connection reset by peer)).
22:48:00 -!- augur has quit (Read error: 110 (Connection timed out)).
23:25:33 <AnMaster> "almost NULL deferences" are fun
23:25:39 -!- ais523 has quit (Remote closed the connection).
00:15:23 -!- augur has joined.
00:22:16 -!- iamcal has joined.
00:40:38 -!- cal153 has quit (Read error: 113 (No route to host)).
00:43:02 -!- pikhq has quit ("Java user signed off").
00:44:01 -!- augur_ has joined.
00:44:19 <oklofok> it seems my ability to stop the hiccups at will doesn't work when i'm drunk
00:44:59 -!- augur has quit (Read error: 104 (Connection reset by peer)).
00:47:09 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
00:47:16 -!- augur has joined.
00:55:11 -!- ehird has joined.
00:58:46 <oerjan> oklofok: but does your ability to stop drinking work when you're hiccuping?
01:02:39 <oklofok> actually that's exactly what happened :D
01:02:54 <oklofok> well, at least it was partly what happened
01:03:16 <oerjan> splendid. for science!
01:03:28 <oklofok> bars are boring, almost no girls try to hit on me
01:06:34 <oklofok> i mean clearly i still have my gorgeous boy looks, they even like totally carded me
01:06:47 <Warrigal> Abilities to stop the hiccups at will sound nice.
01:07:10 <oklofok> took quite a lot of training
01:07:43 <oklofok> but as i have probably mentioned i'm slightly wasted atm
01:08:48 -!- augur_ has joined.
01:09:23 -!- augur has quit (Read error: 104 (Connection reset by peer)).
01:09:52 <Warrigal> What's the drinking age over there?
01:10:02 <oklofok> yeah, kinda like you're greggie
01:10:53 <Warrigal> Neat, I can almost drink over there.
01:11:54 <oklofok> yeah there's no way to drink until it's legal
01:13:18 <oklofok> anyway i don't see what the point of bars is, i'd just like you know orgies
01:14:20 <Gregor> Orgies ... for getting drunk. You need a better imagination.
01:14:21 <quantumEd> oh I thought you were saying bars were like you-know orgies
01:14:34 <oklofok> nono, i meant they should be orgies
01:14:49 <Gregor> Those are called bathhouses.
01:15:11 <oklofok> oh that's what bathhouses are
01:15:32 <oklofok> i wish finland was like your orgy country
01:16:33 <ehird> Whoa; talking people.
01:16:58 <oklofok> yep, and even on-topic stuff
01:17:29 <oerjan> bathhouses are on-topic now?
01:17:54 <ehird> mycroftiv: heyheyhey i'm gonna bother you some bits
01:18:18 <ehird> [01:11] Warrigal: Abilities to stop the hiccups at will sound nice.
01:18:19 <ehird> if you can have that why not eliminate hiccups entirely
01:18:23 <ehird> they're irritating
01:18:46 <Warrigal> You can't just trade one ability for another.
01:18:55 <ehird> what i mean is nobody mentioned that
01:18:59 <oklofok> usually i have one hic, then stop the, before the first up
01:19:02 <ehird> if you're going to fantasise about abilities...
01:19:10 <ehird> mycroftiv: how do you feel about the basic c file functions and stuff being implemented as simple wraps over 9p
01:19:20 <ehird> (one issue is how the hell do you do 9p without file functions)
01:22:06 <ehird> I wonder what the Plan 9 assembler is like.
01:23:19 <ehird> http://doc.cat-v.org/plan_9/4th_edition/papers/asm
01:23:57 <ehird> Interesting, it's a portable assembler of sorts.
01:24:02 <ehird> They should call it C.
01:26:17 -!- augur has joined.
01:26:25 -!- augur_ has quit (Read error: 104 (Connection reset by peer)).
01:28:19 * oerjan read that as dog.cat-v.org
01:29:43 <oklofok> me too, took me quite a while to figure out it actually wasn't that
01:29:48 <ehird> It's raining dogs, cats and -vs.
01:31:18 <ehird> "Emacs reimplemented in the browser"
01:31:18 <ehird> Ah, there we go; the worst idea ever.
01:32:15 <mycroftiv> ehird: actually what you just said is something I've thought was a good idea for awhile - although there may be technical issues im not aware of
01:32:25 <Warrigal> I want an automated proof assistant that has an editor that has a web browser that has a plugin that has Emacs.
01:32:29 -!- coppro has quit (Remote closed the connection).
01:32:34 <ehird> mycroftiv: Here's one: You'd have to communicate the 9P through a non-file channel.
01:32:42 <ehird> Warrigal: I want a pony.
01:32:47 <mycroftiv> but my question has always been: "why should the basic *nix style file operations be different from the 9p libraries?"
01:32:59 <oklofok> i've heard ponys are kinda gay
01:33:05 <ehird> mycroftiv: Because the latter relies on the former.
01:33:21 <ehird> oklofok: OH NO YOU DI'INT
01:33:25 <mycroftiv> ive studied how the kernel and the mount driver and that stuff works
01:33:53 <oklofok> ehird: totally i dood hear that
01:34:02 -!- bsmntbombdood_ has joined.
01:35:04 <Warrigal> Yeah, and it states that bsmntbombdood shall arrive whenever anyone says the word "dood".
01:35:26 <oklofok> oh lol right i mentally ignore most join
01:36:04 <oklofok> that kinda of means i didn't ignore that one
01:36:07 <ehird> THE ONE KNOWN AS THE B S M N T BOMB DOOD SHALT ARRIVE, WHENEVER IT IS SPOKEN BY ONE PERSON: DOOD
01:36:19 <ehird> —found on a stone tablet circa 30000000000000000000000000000000000000000002 BC
01:37:01 <oklofok> i must've been badly misinformed
01:37:24 -!- coppro has joined.
01:37:56 <oerjan> maybe the age is not in decimal
01:39:40 -!- oerjan has quit ("POOF!").
01:41:12 <Warrigal> It's in base 1.0000000000000000000000000000000000000000001. It's pretty much 5.
01:51:25 -!- MizardX has quit (Read error: 54 (Connection reset by peer)).
01:52:31 -!- MizardX has joined.
01:54:28 -!- bsmntbombdood has quit (No route to host).
01:58:16 -!- augur has quit (Read error: 110 (Connection timed out)).
02:01:45 * ehird absent-mindedly tries to think what the most C-like way is to have a byte array that's 8-bit clean (allows \0)
02:04:13 <MizardX> struct { int len; byte[] data; }
02:05:21 <ehird> MizardX: That's the obvious solution, but I'm not sure it's C-like.
02:05:44 <ehird> You can't index it, for instance; abstracting a byte array seems un-C-like.
02:06:04 <MizardX> Either that or have a marker byte (\0)
02:06:09 <ehird> MizardX: By the way, that'd be byte data[];
02:06:24 <ehird> i.e., all values must be representable.
02:06:36 <ehird> The only way to do this without abstraction is escaping.
02:06:59 <ehird> For instance, \1\0 = \0, \1\1 = \1, \0 = EOS
02:07:36 -!- bsmntbombdood_ has changed nick to bsmntbombdood.
02:07:39 <ehird> But a nice property of C strings is that you know that you're looping through the actual atomic values; escaping destroys that.
02:09:13 <ehird> Maybe the answer is "it doesn't matter"; certainly, there is a large base of C code that manages fine without it.
02:09:43 <ehird> char * is an odd beast, though; it's a byte array, not a string of text (Unicode and the general interface prove this) and yet you can't use it for arbitrary data.
02:11:06 <ehird> (Interesting fact: Plan 9 stores Unicode characters as 16-bit, despite being the first implementation, and by the designers of, UTF-8. That's just in memory, though; UTF-8 is used everywhere else.)
02:11:11 <ehird> I wonder how it handles non-BMP characters.
02:12:58 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
02:13:38 -!- MizardX has joined.
02:14:36 -!- Pthing has quit (Remote closed the connection).
02:21:00 -!- coppro has quit (Remote closed the connection).
02:21:30 -!- coppro has joined.
02:30:26 <ehird> mycroftiv: do you know anything about the plan 9 c compilers?
02:30:41 <ehird> specifically, when libraries include their own headers, surely the #pragma lib inside should make them try and link them with themselves?
02:30:46 <ehird> or does that only happen when linking full programs?
02:35:56 <mycroftiv> ehird: i dont know how the preprocessor #pragma mumbo-jumbo applies to #pragma lib inside the library itself, since everything works, id assume it behaves sanely
02:36:08 <ehird> gee, that's helpful :P
02:36:22 <ehird> I guess the linker just ignores it if it's linking a library.
02:36:30 <ehird> which means you can't have libraries that depend on libraries...
02:36:35 <ehird> well, rather, you can
02:36:37 <ehird> but not without dependencies
02:36:46 <ehird> but then again you have to include dependencies with plan 9 headers too
02:36:48 <ehird> so it's no great shakes
02:36:49 <mycroftiv> ill take a minute to glance at the documentation and some examples
02:37:05 <ehird> and you can link libraries into a library, presumably; you just have to do it manually
02:37:18 <mycroftiv> the general idea of the plan9 preprocessor is to make it simple and rely on the programmer to follow a few sanity rules
02:37:33 <Gregor> Or maybe the linker ignores a link to a library which matches its output filename *shrugs*
02:39:11 <ehird> Gregor: that would be stupid
02:39:14 <mycroftiv> ehird: are you talking about a #pragma lib "libbio.a" ?
02:39:20 <ehird> it shouldn't depend on the name you give to -o
02:39:35 <ehird> the implementation of libbio will presumably #include <bio.h> (or w/e the header file is)
02:39:39 <ehird> and thus encounter that pragma
02:39:53 <ehird> print("%d", answer);
02:39:54 <ehird> print("%s\n%d", question, answer);
02:39:54 <ehird> is more Plan 9 C idiomatic
02:39:55 <mycroftiv> the manpage says that just tells the program needs be loaded with $objtype/lib/libbio.a, so you dont need to specify that during the lining phase
02:39:59 <ehird> probably the latter, it's simpler
02:40:15 <ehird> in that you're only invoking one routine, one kind of output, one way to format output
02:41:10 <ehird> I love how putting names on a line after types lets you do /^foo(/ and /^bar=/ to find definitions (Plan 9 only does it for functions for some reason...)
02:41:40 <mycroftiv> huh i never thought of that implication of the convention
02:42:17 <ehird> I'm pretty sure it's also so that your eyes can align to column 0 to find a function name
02:43:12 <ehird> I'm not sure why Plan 9 has three lines, though (type, prototype and opening brace); it's more K&R-consistent to do type, prototype+opening brace, and the general argument for "separation" seems silly; the short type line would seem to suffice there.
02:43:29 <ehird> ("usual" K&R where the type is on the same line benefits from the opening brace on a separate line, though)
02:43:47 <mycroftiv> yeah ive thought that single instance of opening brace on its own line isnt really consistent either
02:43:52 <mycroftiv> but i just try to follow the conventions
02:44:35 <ehird> I wonder why Plan 9 bothers doing #pragma lib
02:44:38 <ehird> it's not like #lib would break anything
02:47:59 <ehird> mycroftiv: any ideas why plan 9 doesn't have a disassembler? just no need I guess
02:48:08 <ehird> then again I'm also disappointed there's no 8i, i'm kind of an edge case
02:48:19 <mycroftiv> also probably the same reason it doesnt have a lot of things, shortage of developers
02:48:32 <mycroftiv> also, did you check to make sure nobody has one in their contrib?
02:48:34 <ehird> It'd be interesting to use *i as a debugger.
02:48:45 <ehird> mycroftiv: No; I don't have a method of accessing /n/sources right now.
02:48:50 <ehird> Wait; does plan9port do it?
02:49:20 <ehird> $ 9 mount contrib ~/contrib
02:49:20 <ehird> top level name fuse in fuse.version is invalid
02:49:20 <ehird> top level name macfuse in macfuse.version.number is invalid
02:49:21 <ehird> 9pfuse: dial contrib: unknown host contrib
02:49:27 <ehird> seems to be based on fuse now, though.
02:49:30 <ehird> what's the host you give it?
02:49:34 <ehird> isn't there a separate cmd for it
02:50:04 <mycroftiv> im not very good with the plan9port p9 stuff, since i have native plan9 and vms and drawterm, i can try to check tho
02:50:16 <mycroftiv> i use 9mount as a wrapper to the linux 9p2000 in linux
02:51:25 <ehird> usage: 9fs sysname
02:51:31 <ehird> "9fs contrib" should do it.
02:51:36 <ehird> srv: dial tcp!contrib!9fs: unknown host contrib
02:51:40 <ehird> What's the address of contrib?
02:51:57 <mycroftiv> sources.cs.bell-labs.com or something one sec while i verify...
02:52:14 * ehird tries to figure out where "9fs sources" went
02:52:18 <ehird> does sources include contrib?
02:52:18 <mycroftiv> thats the classic usage, contrib is part of sources
02:53:19 <mycroftiv> i was right about specific address above
02:53:20 <ehird> I don't know where it went
02:54:04 <mycroftiv> since *nix has no real namespaces to speak of in the plan9 sense, p9p i think puts stuff in something like /tmp/user.ns:0 or something
02:54:15 <ehird> "It then posts the resulting connection in the current name space (see intro(4)) as srvname (default address)."
02:54:16 <ehird> plan9port, that is so not helpful to anyone who is using you
02:54:30 <ehird> /tmp/ns.ehird._tmp_launch-MzTjdL_:0
02:54:37 <ehird> I kinda wish it just put it in cwd.
02:55:11 <ehird> $ 9fs sources; cd /tmp/ns.*
02:55:20 <ehird> ksh: cd: /tmp/ns.ehird._tmp_launch-MzTjdL_:0/sources - Not a directory
02:55:32 <mycroftiv> yeah, thats like a srv you have to mount...
02:55:54 <ehird> This cannot be done directly on Unix. Instead the servers listen for 9P connections on Unix domain sockets; clients connect to these sockets and speak 9P directly using the 9pclient(3) library. Intro(4) tells more of the story. The effect is not as clean as on Plan 9, but it gets the job done and still provides a uniform and easy-to-understand mechanism. The 9p(1) client can be used in shell scripts or by hand to carry out simple interactions with servers.
02:55:54 <ehird> Netfiles(1) is an experimental client for acme.
02:56:14 <ehird> I guess I have to mount it indeed.
02:56:15 <ehird> Wait, who put that irritating "don't ask to ask" in the topic?
02:56:28 <ehird> And the "waah esoteric languages I can't handle a bit of fun" stuff.
02:56:30 <ehird> Probably AnMaster.
02:56:34 -!- ehird has set topic: http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
02:56:43 <ehird> Voila, topic is instantly 100% less whiney.
02:56:45 <mycroftiv> i think you use the '9p' command to talk to the service you have no
02:57:06 <ehird> Yeah, but I want to mount it and it did SOMETHING with FUSE.
02:57:25 <mycroftiv> oh right yeah thats the best thing to do probably
02:57:33 <ehird> It's mount(1), I think.
02:57:38 <ehird> top level name fuse in fuse.version is invalid
02:57:38 <ehird> top level name macfuse in macfuse.version.number is invalid
02:57:39 <ehird> kextload: /Library/Filesystems/fusefs.fs/Support/fusefs.kext loaded successfully
02:57:39 <ehird> mount_fusefs: /Users/ehird/Junk/sources: No such file or directory
02:57:39 <ehird> 9pfuse: readfusemsg: Operation not supported by device
02:57:47 <ehird> If I mkdir sources, methinks it should work acceptably.
02:57:51 <ehird> mycroftiv: mount(1) for me.
02:58:14 <ehird> $ 9 mount /tmp/ns.ehird._tmp_launch-MzTjdL_:0/sources ./sources
02:58:15 <ehird> top level name fuse in fuse.version is invalid
02:58:15 <ehird> [gigantic pause of unimaginable death-throws of hell]
02:59:33 <ehird> Argh, I can't get rid of ~/Junk/sourcse
03:00:26 <mycroftiv> i see that rsc might have the droids you are looking for
03:00:53 <mycroftiv> simple 8086 assembler dissassembler and x86 interpreter
03:01:40 <ehird> "9p ls sources" works, hooray
03:02:43 <ehird> mycroftiv: gimme a filename in sources (not a dir) plz?
03:02:46 <ehird> sorry, just need to test this :P
03:04:05 <ehird> is sources the root?
03:04:25 <mycroftiv> this link may be relevant to your interests also: http://plan9.bell-labs.com/wiki/plan9/Contrib_index/
03:04:40 <ehird> ok, I conclude that this works, just crawlingly slowly
03:05:20 <ehird> for instance, "ls" is an undesirable operation
03:07:42 <ehird> mycroftiv: what would you say is the best way to an environment to play about with plan 9 under a conventional OS, with no regard to interoperability?
03:07:50 <ehird> vxwhatever or a vm?
03:08:02 <mycroftiv> but not sure if its decent in os x
03:08:16 <mycroftiv> you know that i distribute qemu based plan9 images and tools?
03:08:20 <ehird> mycroftiv: yeah, I know
03:08:30 <ehird> I don't really see a reason to use them over the official image unless you're making a cluster, though.
03:08:41 * ehird downloads plan9.iso.bz2
03:08:43 <mycroftiv> well, they are built as a cluster out of the box
03:09:00 <mycroftiv> and avoids the annoying qemu long install and elaborate setup process to make a cpu server you can drawterm into
03:09:11 <ehird> I don't really want a cluster, though
03:09:23 <ehird> Right now I want to play around with the single-machine benefits of Plan 9, not its cluster aspect
03:09:33 <ehird> as they are currently what interests me most
03:09:41 <ehird> mycroftiv: are qemu's graphics really slow?
03:09:49 <ehird> i mean, yeah, it was slow when I tried it
03:09:52 <ehird> but is drawterm actually faster?
03:09:53 <mycroftiv> yeah, thats why i think drawterm in is so much better
03:10:00 <mycroftiv> much faster for me in linux distros
03:10:16 <ehird> isn't it just a matter of setting a variable to not start the graphics stuff but start a drawterm server instead?
03:10:26 <ehird> modulo anything qemu needs to let the port go through
03:11:51 <mycroftiv> http://www.plan9.bell-labs.com/wiki/plan9/Configuring_a_standalone_CPU_server/index.html
03:12:06 <mycroftiv> that is the walkthrough for making base setup into a cpu server
03:12:25 <ehird> is there a way to have a drawterm-accepter without cpu server?
03:12:29 <ehird> surely there must be
03:12:38 <mycroftiv> http://www.plan9.bell-labs.com/wiki/plan9/Drawterm_to_your_terminal/index.html
03:12:58 <ehird> isn't there a "let anyone in" option :)
03:13:32 <ehird> anyway, does your project have an image that's a terminal that you can drawterm in to? say yes :P
03:13:34 <mycroftiv> um, iirc from looking at the cpu.c code, non-auth access might be possible but is commented out in the source
03:14:11 <mycroftiv> so maybe if you uncomment that bit and recompile it and use the undocumented flag (if im even remembering anything real) then you wouldnt need auth...
03:14:23 <ehird> "I want to respect your software licenses!"
03:14:40 <mycroftiv> ehird: i have standalone installed qemu image ready to be drawterm'd in, yes
03:14:44 -!- BeholdMyGlory has quit ("Leaving").
03:14:51 <ehird> right but that has all the other stuff in it too :P
03:15:16 -!- BeholdMyGlory has joined.
03:15:44 <ehird> "gridna", the other boot options, presumablly other stuf
03:15:45 <mycroftiv> http://sphericalharmony.com/plan9/ventigridserver.qcow2.img.tgz is a standalone qemu image of a fossil disk
03:16:20 <mycroftiv> thats just 60k or w/e of random code/scripts that you dont need to use and doesnt affect the standard preinstalled glenda user
03:16:24 -!- BeholdMyGlory has quit (Remote closed the connection).
03:16:41 <ehird> but I'm trying to use plan 9; that means i'm a rabid purist nazi minimalist
03:17:32 <ehird> mycroftiv: rm -r /usr/gridna should remove that stuff, how do you remove the graphical-terminal to get just a cpu server
03:17:39 <ehird> wait, neither of those are terminals with drawterm ability
03:17:57 <mycroftiv> you boot it as cpu server to drawterm in
03:18:06 <mycroftiv> you can still bring up the bitmap display on the cpu console if you want
03:18:07 <ehird> which isn't actually what i said
03:19:03 <mycroftiv> theres no difference in booting the cpu kernel vs. the terminal kernel
03:19:33 <mycroftiv> it just forks whether termrc or cpurc is used at boot pretty much
03:22:36 <ehird> so rm -r /usr/gridna; is it just removing the terminal kernel to get stock-plan9-but-cpu-server-instead?
03:22:54 <mycroftiv> im not quite following the question
03:23:11 <mycroftiv> if you boot the image and tell it to be a cpu server, its a stock plan9 system with the wiki guide i linked earlier already done
03:23:29 <ehird> I'm not referring to what bits are used, rather what bits are present.
03:23:52 <ehird> if I nuke /usr/gridna and the terminal kernel, what differences are there from stock plan 9 apart from a default password and being set up for a cpu server instead?
03:24:37 <mycroftiv> pretty much just the stuff descibed in the wiki cpu server setup
03:24:48 <mycroftiv> some stuff refactored a bit between the different startup scripts
03:25:22 <mycroftiv> also your question is a bit weird, the terminal kernel 9pcf is provided by default, you compile the 9pccpuf kernel to use as a cpu server, which is already done and installed in the 9fat partion in the image i distribute
03:25:39 <mycroftiv> no reason not to have both 9pcf kernel and 9pccpuf kernel available in the boot menu
03:26:36 <ehird> (this script redirects tcp ports 21, 23, 567, and 564 to high ports to allow qemu to use them without root privileges. You do not need to use all these ports if you do not wish - port 567 for auth is the only one that is really essential.)
03:26:42 <ehird> oh. I don't know if OS X can do that.
03:26:55 <mycroftiv> well, you can run qemu as root and do straight across port redirection
03:27:09 <mycroftiv> or you can use the hostowner and not even have 567 forwarded, just 17010
03:27:11 <ehird> i'm not about to run an os x graphical app as root
03:27:19 <mycroftiv> but only the hostowner bootes can login that way
03:27:21 <ehird> doing so is a condition also known as "being out of your fucking mind"
03:27:42 <ehird> or I could modify whatever config file I need to start auth on a different port
03:27:52 <mycroftiv> yeah but youd also have to modify drawterm then
03:27:59 <mycroftiv> but yes you could change the port for auth listener
03:28:24 <mycroftiv> the drawterm mod is just grepping for 567 and changing to whatever you want and recompiling
03:29:29 <mycroftiv> theres also the option of doing whatever the os x voodoo for giving qemu its own ip on a vlan or w/e
03:29:49 <mycroftiv> then you wouldnt be doing port redirs at all just dialing that ip
03:30:10 <mycroftiv> drawterm in as bootes is the easy option to at least test if stuff is working
03:31:21 <ehird> drawterm doesn't accept a port?
03:31:26 <ehird> all this shiiiiiiiiiiiiiit suuuuuuuuuuuuuuuuuuuucks
03:31:51 <mycroftiv> well plan9 doesnt believe you should have to be privileged to use ports 1-1024
03:32:03 <mycroftiv> that and not being able to mount as non root (as well as root itself) they got rid of
03:32:12 <coppro> that's pretty irrelevant
03:32:13 <mycroftiv> so you are dealing with what plan9 regards as 'legacy unix garbage'
03:32:14 <ehird> http://plover.net/~bonds/asdf.html
03:32:20 <coppro> you should be able to customize ports
03:32:25 <coppro> in case of collision or whatever
03:32:29 <ehird> mycroftiv: drawterm is crappy for not allowing you to customise ports
03:32:39 <ehird> okay, YES, in a perfect world ports would be strings and it wouldn't be a problem at all
03:32:42 <mycroftiv> well, its a 3 line patch to make it take a port as a parameter if you want
03:32:53 <ehird> but we're stuck with a shitty system where we use integers so, uh, yeah
03:32:58 <ehird> mycroftiv: that does not invalidate my criticism
03:33:01 <coppro> even with strings, there's collision issues
03:33:14 <ehird> coppro: but they're massively reduced, and customisation becomes mostly pointless
03:33:28 <ehird> "irc", for instance, is highly unlikely to collide
03:33:37 <ehird> and we could represent SSL'd ports much more nicely
03:33:45 <ehird> or irc/ssl, whatever, it's just convention
03:34:07 <ehird> obviously if you have like two irc servers irc/foo and irc/bar will suffice
03:34:15 <coppro> Hmm... I just had an idea
03:34:25 <ehird> it's such an obvious idea, using strings as ports; I wonder why the TCP designers didn't do it
03:34:30 <ehird> probably some misguided idea of efficiency
03:34:36 <coppro> a 'port negotiation protocol'
03:34:43 <ehird> oh, and it'd mean that the http in http://foo.com/ would actually be meaningful :P
03:34:55 <ehird> Not that URIs are a particularly pleasant way of representing such things.
03:35:45 <ehird> Well, I dislike URIs and DNS — their order is arbitrary.
03:36:10 <coppro> DNS should be the other way around
03:36:18 <ehird> The :// construction is strange and arbitrary, the reversed order of DNS names as opposed to the rest of the URI is strange and arbitrary, and the fact that the protocol is apparently above the computer is just WTF.
03:36:22 <coppro> In the general sense though, URIs are correct imo
03:36:35 <ehird> Oh, and the usage of a different separator for domains and paths after that domain is Wrong; see http://doc.cat-v.org/bell_labs/the_hideous_name/the_hideous_name.pdf.
03:37:10 <coppro> // is not a fundamental part of URIs
03:37:18 <ehird> It's part of the syntax.
03:37:24 <ehird> Certainly the idea of a universal identifier is sane; the implementation isn't.
03:37:27 <ehird> Something like /com/foo/http would be ideal if only it weren't necessary to have a point at which connection actually takes place.
03:37:33 <ehird> So /com/foo/:http would win.
03:37:48 <ehird> /org/cat-v/doc/:http/bell_labs/the_hideous_name/the_hideous_name.pdf
03:37:53 <ehird> Looks strange at first, but I like it already.
03:38:33 <ehird> I don't see why not.
03:38:37 <coppro> just /orc/cat-v/doc:http/
03:38:42 <ehird> No, no, no, no and NO.
03:38:47 <ehird> I'll link this yet another time... http://doc.cat-v.org/bell_labs/the_hideous_name/the_hideous_name.pdf
03:38:53 <ehird> One separator is *good*.
03:39:05 <ehird> It is a desirable property. Furthermore, your proposal is harder to read.
03:39:14 <ehird> coppro: would you like me to copy and paste the whole paper to you?
03:39:30 <ehird> but I thought a link would suffice to reference its contents as an argument
03:40:42 <coppro> ehird: I have not read every word because I am busy. However, I've skimmed it, and it appears to fail to explain why inserting a slash before :http would be a good idea
03:41:22 <ehird> Fallacious. It explains why a single separator for names, with uniform semantics among each separated string, is a highly desirable quality.
03:41:37 <ehird> If you don't think so, well, you skimmed over the bits containing the actual argument.
03:42:15 <coppro> but I would argue that : is not a true separator; it is a critical part of the name
03:42:32 <coppro> it's pretty academic though
03:42:49 <ehird> It is another component in the name; the /s represent going further down in the tree to the desired resource.
03:43:35 -!- coppro has quit (Remote closed the connection).
03:45:10 -!- coppro has joined.
03:45:25 <ehird> / represents the entire internet; /org represents what we call ".org"; /org/cat-v digs down further in the hierarchy and represents a machine; /org/cat-v/doc digs down further and represents a machine; /org/cat-v/doc/:http digs down further and represents a certain port on the machine;
03:45:26 <ehird> /org/cat-v/doc/:http/bell_labs/the_hideous_name/the_hideous_name.pdf digs down even further and represents the resource accessed by the hierarchical identifier "bell_labs/the_hideous_name/the_hideous_name.pdf" according to the rules of the server running on the port http on the server, but it is still, fundamentally, drilling down a hierarchy.
03:46:07 <ehird> This uniform simplicity — a slash represents digging down further in the hierarchy — leads not only to simplicity in design, implementation and use; it leads to many useful properties and expressive power, as explained in http://doc.cat-v.org/bell_labs/the_hideous_name/the_hideous_name.pdf.
03:46:13 <coppro> ehird: Okay, I see that argument. But what about information like username?
03:46:33 <ehird> coppro: Well, I'd say it's a wart that authentication is handled by each individual protocol.
03:46:44 <coppro> and yet a necessary one
03:46:57 <ehird> No, I disagree. It's also necessary, in today's world, that ports are integers.
03:47:01 <ehird> But ideally, simply untrue.
03:47:39 <ehird> See: Plan 9. It does this, it works excellently and elegantly.
03:48:06 <coppro> but even if you could redesign our entire world's net infrastructure from the ground up, having a single authentication system wouldn't work
03:48:29 <ehird> The server would handle how to interpret the authentication info; it'd just be above the protocol.
03:48:41 <ehird> Just like encryption could be; should be.
03:49:00 <coppro> ehird: What if you're going through two machines?
03:49:20 <ehird> That is a separate, orthogonal issue to encryption and authentication, whatever Plan 9 made you think.
03:49:24 <ehird> Whatever ssh made you think.
03:49:27 <ehird> Gawd my brain is muddled.
03:49:38 <ehird> For instance, in Plan 9, you'd say /n/foo/n/bar.
03:49:45 <ehird> That would be "the machine foo's /n/bar".
03:49:54 <ehird> foo would interpret that as "the machine bar's /".
03:50:07 <ehird> And thus, you'd get to what foo thinks is "bar", connected via foo.
03:50:22 <coppro> right. So then both foo and bar would want to authenticate you
03:50:52 <ehird> coppro: See, at this point we have to redesign the whole OS infrastructure, too. :)
03:50:56 <ehird> A brief primer to explain this to you:
03:51:29 <coppro> ehird: also, for the purpose of education, what does 'n' mean in those paths?
03:52:54 <ehird> In Plan 9, every process has a namespace, inherited from its parent process. This is what / is; not a collection of physical files with some magic ones — a namespace. Every process's /bin is separate; and you can bind namespaces to others. So, you can bind /foo/bin to /bin, and then you can access /foo/bin/blah as /bin/blah. (This is similar, but superior to, symlinks — the differences are not for this brief primer). Since every process, and thus every
03:52:55 <ehird> has a separate namespace, my /n/foo doesn't have to be your /n/foo — just like my "my car" isn't your "my car".
03:53:09 <ehird> *and thus every user, has a
03:53:14 <ehird> Stupid badly-wrapping client.
03:53:30 <ehird> Anyway, this means that both john and jane can have an /n/foo logged in as them.
03:53:48 <ehird> (This also leads to a lot of the awesome wizardry, power and elegance of Plan 9; it's what the whole system is based around.)
03:54:00 <coppro> ok, that is pretty very awesome
03:54:12 <coppro> but doesn't answer the fundamental questions
03:54:15 <ehird> Anyway, so when you say /n/foo/n/bar, it's just a matter of being logged into foo as you, and having your /n/bar be authenticated as you.
03:54:35 <ehird> I think I've lost track of the fundamental problem. :)
03:54:59 <coppro> which is that there will need to be metadata associated with steps along the way in any resource-location scheme
03:55:26 <ehird> In Plan 9, this is done by having authentication information separate from the location identifier.
03:55:31 <ehird> I think this is the correct thing to do.
03:55:42 <ehird> (I don't hold this opinion too strongly, though.)
03:55:49 <coppro> completely independently?
03:56:14 * ehird digs up an example
03:56:39 <coppro> so, what I'd argue is that the path should contain "how" information as well; this should be encoded into each location
03:56:54 <ehird> let me dig up an example
03:58:20 <ehird> well, I can't find an exact example
03:58:28 <ehird> but basically, the connecting things just let you do basically -u user
03:58:37 <ehird> coppro: Aha, you have fallen into the trap!
03:59:05 <ehird> coppro: URIs are identifiers, yes? Their use as locators is a happy side-effect, and requires no extensions. The "how" of accessing a resource is not part of an identifier at all!
03:59:19 <coppro> ehird: But I want more than just an identifier
03:59:22 <ehird> Because there is no "how". The identifiers we use for identifying and locating are the same, and this is a desirable property.
03:59:37 <ehird> It's desirable because it lets us use resources as identifiers and vice versa.
04:00:04 <ehird> coppro: Authentication information is not part of the hierarchy; therefore, it does not belong in the hierarchical identifier.
04:00:16 <coppro> ehird: ideally, I think it would be an identifier with accompanying but still-distinct information
04:00:24 <ehird> coppro: Maaaaaaaaybe.
04:01:05 <coppro> e.g. /org/cat-v/doc/bell_labs/the_hideous_name/the_hideous_name.pdf:3:protocol:http (yes, I'm aware it's ugly and verbose; I'm just trying to give an example)
04:01:11 <ehird> To retain the hierarchy, something like /@/ehird:password/org/some-site/:http/ could work.
04:01:33 <ehird> /@ meaning "users" (i.e. the hierarchy of each user) — just to be short, really.
04:01:42 <ehird> Note that the password is not a descendent of the username.
04:01:57 <ehird> The "login identifier" is the username and password (obviously, you're not allowed to ls /@ :-D)
04:02:20 <ehird> I just used : because I already used :; no use introducing another token. And, well, the whole thing has a happy resemblance to HTTP authentication.
04:02:34 <ehird> Anyway, that works nicely since it builds upon the fact that everyone's / is personal, so to speak.
04:02:43 <coppro> or ...://p:http&u:ehird&s:password///
04:02:49 <ehird> /@/agent:password/ is a way to say "this agent's /".
04:02:55 <ehird> coppro: DIE DIE DIE
04:03:04 <ehird> There is no reason not to have this as part of the upper hierarchy.
04:03:25 <coppro> ehird: no, not as the upper hierarchy
04:03:49 <ehird> But there's no reason, and this way is more elegant. /@/agent:password/ refers to that agent's /.
04:04:01 <coppro> /org/cat-v/doc/bell_labs/the_hideous_name/the_hideous_name.pdf|///p:http//// would indicate to use the http protocol for step 3
04:04:04 <ehird> So if you say /foo and you are that agent, that's the same as /@/agent:password/foo for another person.
04:04:13 <ehird> This is elegant, simple, and builds upon the previous infrastructure.
04:04:16 <ehird> That's how names should be done.
04:04:43 <coppro> You're falling into a similar trap
04:04:57 <ehird> There is a GOOD REASON to allow nesting without special markers, which your system allows
04:05:00 <ehird> May I present to you
04:05:11 <ehird> HTTP over 9P (Plan 9's remote file protocol) to a separate machine
04:06:12 <ehird> /@/ehird:secret/ip/432/131/444/312/@/coppro:stolen/org/top-secret/:http/plans.txt
04:06:19 <ehird> wait, forgot the protocol
04:06:26 <ehird> /@/ehird:secret/ip/432/131/444/312/:9p/@/coppro:stolen/org/top-secret/:http/plans.txt
04:06:55 <ehird> Wait, should probably make it
04:07:00 <ehird> /@/ehird:secret/ip/432/131/444/312/:9p/internet/@/coppro:stolen/org/top-secret/:http/plans.txt
04:07:11 <ehird> Yes, ladies and gentlemen, through the power of simple hierarchy, this logs into the 9P server at 432.131.444.312 as ehird with the password secret, and tells it to give us /internet/@/coprro:stolen/org/top-secret/:http/plans.txt
04:07:34 <ehird> Since this server has the internet hierarchy mounted at /internet, it logs into top-secret.org as coppro:stolen and fetches /plans.txt via HTTP.
04:07:39 <coppro> it's elegant, but horrid
04:07:41 <ehird> coppro: It's ugly, sure, but that's just because it's verbose.
04:08:05 <ehird> coppro: Let's say I'm already ehird:secret, since I would be.
04:08:07 <coppro> it's because of the way the hierarchy is organized
04:08:09 <ehird> And let's say we have an alias for the machine.
04:08:54 <ehird> (and let's say that there's an alias for the top secret machine too on the 9p)
04:09:01 <coppro> because the way it's represented indicates that ehird:secret exists at the top level, even higher than the concept of IP
04:09:09 <ehird> /foosrv/:9p/internet/@/coppro:stolen/topsecret/:http/plans.txt
04:09:18 <ehird> It's just that, remember, my / is unique to me.
04:09:20 <coppro> if I wanted to follow that URI, I'd go to 432.131.444.312 and log in as ehird
04:09:26 <ehird> /@/ehird:secret means "ehird's /".
04:09:38 <ehird> They're elegant and powerful.
04:09:53 <coppro> ehird: and yet you're missing my objection
04:10:05 <ehird> Anyway, if I was a dedicated snooper I'd just define an alias for /ip/432/131/444/312/:9p/internet/@/coppro:stolen/org/top-secret; call it snoop.
04:10:07 <coppro> I don't start with 'ehird' as my base in my search
04:10:09 <ehird> Then it's just /snoop/:http/plans.txt
04:10:18 <ehird> coppro: Ah, but that's the thing.
04:10:21 <coppro> no, I completely agree with that
04:10:24 <ehird> /@ DOESN'T represent authentication details, as such.
04:10:29 <ehird> This is a subtle and important point.
04:10:33 <ehird> It represents whose namespace it is.
04:10:39 <ehird> Yes, names in my namespace are authenticated to as me.
04:10:55 <coppro> but then you're encoding more than location
04:10:57 <ehird> But the authentication info could, say, differ from what site it is (obviously)
04:11:01 <coppro> falling into the very trap you sought to avoid
04:11:15 <coppro> how, pray tell, do I find which ehird?
04:11:16 <ehird> In a relative namespace (namespace that isn't global), it's important to be able to reference other namespaces.
04:11:37 <ehird> coppro: That's stored locally, naturally; or rather, it's entirely up to the connector.
04:11:48 -!- augur has joined.
04:12:39 <coppro> ehird: /ip/432/131/444/312/:9p/@/ehird:secret/internet/org/top-secret/:http/@/coppro:stolen/plans.txt
04:12:52 <coppro> that represents the hierarchy in a more accurate manner
04:12:55 <ehird> That is not what you mean at all.
04:13:06 <ehird> After /:http/, it's all up to the HTTP protocol.
04:13:11 <ehird> Remember, coppro — whether it is your opinion or not —
04:13:18 <ehird> in the terms of the fake reality we have agreed to — idealistic for me —
04:13:19 <coppro> ok, fine. Switch those around then
04:13:25 <ehird> Authentication is outside the protocol.
04:13:31 <ehird> coppro: state it again; i'm slightly sleep-deprived
04:13:54 <coppro> /ip/432/131/444/312/@/ehird:secret/:9p/internet/org/top-secret/@/coppro:stolen/:http/plans.txt
04:14:08 <ehird> Earth-shatteringly gigantic objection.
04:14:11 <ehird> That violates hierarchy.
04:14:24 <ehird> /ip/432/131/444/312/:9p
04:14:25 <ehird> /ip/432/131/444/312/@/ehird:secret/:9p
04:14:39 <ehird> It REFERS TO ANOTHER NAMESPACE.
04:14:46 <ehird> It doesn't define auxillary informatioin.
04:14:50 <ehird> It's a VERY important point.
04:14:59 <ehird> Your example is not equivalent in the slightest; it is much less powerful and expressive.
04:15:12 <coppro> but the problem is you must locate the definition of such a namespace!
04:15:52 <ehird> No semantics are given to the namespace.
04:16:03 <coppro> then how is this at all uniform
04:16:39 <ehird> In /@/blah, blah is opaque; all that is required is that /@/blah is alike /; i.e., there could be a / identical to /@/blah.
04:16:57 <ehird> There is only the strong suggestion that when using it for authentication purposes, blah should take the format identifier:secreet.
04:17:00 <coppro> hmm... I think this discussion would be better served by stopping here, thinking about things, maybe write things up more formally, etc.
04:17:28 <ehird> i.e., the identifier for the agent to authenticate as, and then the secret used to prove the authority to be authenticated as that agent.
04:17:53 <ehird> coppro: I think it'd be better served by me having a bite to eat to dig myself out of this slight haze. Then I'll think about that :P
04:18:28 <coppro> I was referring to both of us, by the way
04:20:07 <ehird> Things that are not desirable: Spilling a drink on your trousers
04:20:13 <ehird> This is a complete list.
04:21:38 <ehird> coppro: btw, I don't have much issue with DNS itself
04:21:45 <ehird> it's reversed, but that has no consequence; it is otherwise uniform, too
04:22:03 <ehird> I'm not sure I like DNS' resolving architecture, but that's an entirely different matter to the names
04:23:34 <ehird> coppro: also, none of this has much actual consequence :-p
04:24:16 <ehird> coppro: I do think that string ports would be really nice, though
04:25:07 <ehird> using an integer as an identifier for anything that is different in any way from any other integer that would be used (that is, r0—rN for registers is okay) should be grounds for capital punishment
04:25:16 <ehird> THAT IS, YOU SHOULD HAVE TO TALK IN ALL-CAPS FOR A WHILE
04:25:21 <ehird> THIS WAY NOBODY WILL LISTEN TO YOU
04:26:14 <coppro> ehird: agree with most of that
04:26:21 <coppro> ok, so I think I know what our fundamental prolem is
04:26:29 <ehird> ESPECIALLY THE DRINK-SPILLING AND THE CAPITAL PUNISHMENT PARTS I HOPE
04:26:38 <ehird> coppro: Pro lemma?!
04:27:01 <ehird> I am most serious when I am most jovial. Discuss.
04:27:20 <coppro> the mistake we're making is, once again, the fundamental trap
04:27:40 <coppro> we're assuming that somehow, the method is part of the indicator
04:27:48 <coppro> when really, it's simply another resource
04:28:24 <coppro> the concept of 'nesting' is unecessary; it's more like chaining
04:28:24 <ehird> coppro: I think I avoided that with my /@ proposal
04:28:29 <ehird> as it referred to another namespace
04:28:35 <ehird> however, in practice,
04:28:39 <ehird> it'd always be used for authentication details
04:28:41 <ehird> so yeah, it fails, I guess
04:28:57 <coppro> ehird: you were close, but you got it backwards imo
04:28:59 <ehird> coppro: I don't think combining the authentication and identifier strings is productive
04:29:17 <ehird> as in, I don't think there's actually a case where having them as one string is beneficial enough for the break in consisstency
04:29:26 <ehird> — within this idealised world
04:29:45 <coppro> hang on, I didn't say I was right either
04:29:58 <coppro> For instance, suppose there's a book you want, ISBN X-XXXX-XXX-XX
04:30:21 <coppro> the book might be located /numbers/isbn/X-XXXX-XXX-XX
04:30:46 <coppro> fine, take that part out, it's irrelevant
04:30:56 <coppro> let's say you want to view that book with Google Books
04:31:17 <ehird> Let me just note that I'm kinda dubious about isbn:.
04:31:31 <ehird> Theoretically it's nice, but in practice I always just grumble that an Amazon link wasn't provided. HOWEVER
04:31:35 <ehird> Since this is the perfect world
04:31:43 <ehird> There would be a plumber(4) rule or whatever to handle it nicely
04:31:46 <ehird> So I'll shut up; continue.
04:31:53 <ehird> Although don't say Google! Say book(1) or something. :P
04:32:08 <coppro> ok, fine, book(1) will display the book
04:32:10 <ehird> coppro: Plan 9's plumber — give it a file, it'll view/whatever it in the most appropriate way.
04:32:22 <coppro> or amazon will load up an amazon page
04:32:35 <ehird> It's how you can right-click ("open", basically) a .ps in acme and it'll open it instead of giving you garbage in acme.
04:32:37 <coppro> what you really have is two distinct resources here
04:32:44 <ehird> It's basically a centralised run-the-appropriate-program service.
04:32:47 <coppro> so encoding them into one URI is wrong
04:32:50 <ehird> (with user-specific preferences)
04:33:03 <ehird> the amazon identifier
04:33:05 <ehird> and the isbn identifier?
04:33:11 <ehird> I think the language to be used is:
04:33:19 <ehird> the amazon identifier is-a-resource-of the isbn identifier
04:33:39 <ehird> (Yes, it's an identifier too, but when you look it up from an /isbn, it's acting as an appropriate resource)
04:33:50 <coppro> amazon is a just a method of accessing a resource
04:33:59 <coppro> like book(1) or your local library
04:34:15 <ehird> The identifier represents "the book foo on Amazon".
04:34:26 <ehird> It so happens that that identifier is an appropriate resource for an /isbn identifier.
04:34:31 <ehird> Even though they do not identify the same thing.
04:34:34 <coppro> I say it should be represented as /com/amazon|/isbn/X-XXXX-XXX-XX
04:34:48 <ehird> What? That's ridiculous. That makes no sense.
04:35:14 <coppro> the book resource and the amazon resource together get you the web page to buy an amazon book
04:35:23 <coppro> since you are accessing the book via amazon, amazon comes first
04:35:39 <coppro> but it's clear that the book is a distinct resource that could be accessed through a different method
04:36:04 <ehird> coppro: This is wrong because the identifier for "the isbn XXX on amazon" is different from the identifier you use to access the resource, which is :http/fgdfgkldjfgldkfjgdfg or whatever.
04:36:16 <coppro> ehird: They're eqiuvalent!
04:36:16 <ehird> I think we already agreed on the Rightness of having them be the same.
04:36:25 <ehird> coppro: Okay, too radical, too radical.
04:36:30 <ehird> This is like a computer-wide plumber(4).
04:36:39 <ehird> Dispatching the identifier /isbn/foo to the http server.
04:36:46 <ehird> ...and, actually, you know what?
04:37:21 <coppro> too bad it's completely impractical :(
04:37:29 <ehird> On today's internet, yes.
04:37:41 <ehird> But in and of itself, there's nothing impractical to it. Well, apart from the impossibility of standards.
04:38:55 <coppro> you only need one additional extension to make that work, which is a means of converting from one resource indicator to another
04:38:59 <ehird> "The entire system, including the default program that runs in the window — the equivalent of xterm [Far89] with ‘cutting and pasting’ between windows — is well under 90 kilobytes of text on a Motorola 68020 processor, about half the size of the operating system kernel that supports it and a tenth the size of the X server [Sche86] without xterm."
04:38:59 <ehird> Ah, an era where the X server was only 900 kilos.
04:39:11 <ehird> Also known as the stone age.
04:39:34 <ehird> coppro: actually, I suggest just handing it to the port "plumber"
04:39:42 <ehird> the identifier /isbn/foo, in specific
04:40:14 <coppro> ehird: yeah, that's the idea. /com/amazon would be a plumber, which would see the isbn number
04:40:19 <ehird> coppro: it needs one more bit of information
04:40:23 <ehird> coppro: what protocol you want back
04:40:32 <coppro> add it in as another resource
04:40:32 <ehird> the operation we want is "give me the appropriate http connection for /isbn/foo"
04:40:47 <coppro> /protocol/http|/com/amazon|/isbn/book
04:40:47 <ehird> otherwise it's useless; you just get a connection back and have no idea wtf it is
04:40:58 <ehird> coppro: can i reformulate that to be a proper hierarchybob?
04:41:29 <ehird> /com/amazon/::http/isbn/book
04:41:42 <ehird> which is shorthand for
04:41:52 <ehird> /com/amazon/:plumber/http/isbn/book
04:42:04 <coppro> but with that, you cannot simply extract the '/isbn/book' identifier as referring to a book
04:42:27 <coppro> like, here's the way I think of things
04:42:39 <coppro> how you get to a resource is a chain of means of access
04:42:49 <ehird> "Haskell, a language usually reserved for big commercial applications"
04:42:49 <ehird> Finally, Haskell has made it.
04:42:58 <coppro> to get to that book, you are accessing /isbn/book via /com/amazon via /protocol/http
04:43:16 <ehird> coppro: This is all fine for an implementation, but pollutes the mind when trying to create an efficient identifier.
04:43:24 <ehird> If it's representable by an efficient hierarchy, it's probably best to go with that.
04:43:40 <ehird> What can you do with your ABOMINATION AGAINST NATURE :P that you can't do with /com/amazon/::http/isbn/book?
04:43:48 <ehird> Know that /isbn/book is an identifier?
04:43:50 <coppro> I might also access /isbn/book via /libraries/calgarypublic via /me/walking
04:44:01 <ehird> Yes you can; :plumber/protocol/identifier is the syntax.
04:44:12 <ehird> And since ::protocol/identifier is sugar for that, you know that identifier, well, is.
04:44:22 <coppro> but your syntax doesn't keep the pieces distinct
04:44:22 <ehird> coppro: can you give me an internet example so i can translate it?
04:44:38 <ehird> coppro: I'm not delighted by the prospect of inventing an identifier scheme for everything ever
04:44:58 <ehird> coppro: how about accessing /isbn/book via /com/amazon via /org/proxy?
04:45:12 <coppro> ehird: right, so then you just sub out the first component of the path
04:45:17 <ehird> to make things fun, let's say /org/proxy is based on a 9P server with these identifiers on /internet
04:45:40 <ehird> /org/proxy/:9p/internet/com/amazon/::http/isbn/book
04:45:46 <ehird> coppro: I get where you're coming from
04:45:53 <ehird> have authentication and all other methods of access be specified in one way
04:46:01 <ehird> I just think that it has no benefits over a hierarchy and is more complex
04:46:18 <ehird> I don't think that plumbing an identifier ISN'T part of the hierarchy
04:46:32 <ehird> I'd say that, since amazon isn't simply a resource for the book, it's a resource for amazon's stuff on that book,
04:46:40 <ehird> they are definitely separate identifieeeees
04:46:41 <coppro> right, I think that's our fundamental disagreement
04:46:44 <ehird> (things that are identified)
04:46:49 <ehird> Authentication doesn't count as this
04:46:50 <coppro> it depends on what your definition of a resource is
04:46:55 <ehird> but amazon's page for a book doeos
04:47:06 <ehird> coppro: it doesn't make sense to define a resource for an /isbn
04:47:15 <coppro> this is actually why I wanted an online viewer, rather than Amazon, it makes more sense
04:47:16 <ehird> because everything an /isbn identifies has infinite facets
04:47:24 <ehird> amazon takes some of them, mostly metadata
04:47:27 <coppro> a /isbn is the abstract concept of the book
04:47:27 <ehird> and adds purchasing, reviews etc
04:47:30 <ehird> it's definitely distinct
04:47:45 <coppro> /mylibrary/items/34296532 might be a concrete instance
04:47:50 <ehird> and yet, it SHOULD be the result of asking amazon "what have you got for /isbn/foo?"
04:47:57 <ehird> thus, /com/amazon/::http/isbn/foo is correct
04:48:20 <ehird> we can then inverse-of-generalise this to the more direct case of a book viewer
04:48:40 <coppro> btw, isbns are real URIs
04:48:47 <ehird> /org/bookpiratesyarr/::http/isbn/foo
04:48:53 <ehird> coppro: ok, wait, i have some fun challenges
04:49:00 <ehird> that apply to both our suggestions
04:49:34 <ehird> coppro: what is the client supposed to pass as the path to http? "GET " what? /isbn/foo is incorrect, there could be a distinct /com/amazon/:http/isbn/foo
04:49:39 <ehird> i'm not sure the other challenge is in fact one
04:49:43 <ehird> but i'll pose it anyway
04:49:55 <coppro> ehird: I'm thinking in the abstract
04:49:56 <ehird> coppro: what if there are multiple possible URIs for it? how does the client disambiguate what "kind" of uri i want
04:50:00 <coppro> that's why I said it's unimplementable
04:50:04 <ehird> like if amazon goes into the book-piracy business
04:50:18 <ehird> how do we tell amazon we want the book-pirate URL and not the book-purchaser URL?
04:50:32 <ehird> coppro: not unimplementable, you could redesign every protocol
04:50:36 <ehird> and http is annoyingly real-world
04:50:43 <ehird> interacting with protocols is important even in an ideal world
04:50:47 <ehird> abstraction, encapsulation
04:50:51 <coppro> ehird: then /com/amazon would have to serve in one manner. /com/amazon/piracy might give you the illegal version instead
04:51:08 <ehird> coppro: ok, that's workable
04:51:15 <ehird> what about my first challenge?
04:51:47 <ehird> coppro: you know how you said plan 9's per-process namespaces are awesome? want me to tell you an awesome thing built on them?
04:52:15 <coppro> ehird: /protocol/http would be responsible for deciding how to access /com/amazon. Remember, ideal, not practical
04:52:38 <coppro> it might be amazon.com/?id=/isbn/book
04:52:44 <coppro> as long as it was consistent
04:53:31 <ehird> coppro: rio, the plan 9 windowing system/terminal (trust me, it's reasonable to have these combined). It serves/handles/whatever /dev/{cons,mouse,screen}. So, if something writes to /dev/cons that rio spawns, rio gets it. If it writes to the screen, or tries to access the mouse. And rio handles this and multiplexes it. So, you can literally run rio in a rio window with no jiggery-pokery: rio thinks it's writing to the real screen and accessing the real mous
04:53:32 <ehird> the top rio lets it delude itself into thinking this.
04:53:59 <ehird> A rio window just displays /dev/{cons,screen} and handles input to /dev/cons and multiplexes the mouse, blah blah blah.
04:54:01 <ehird> It's pretty damn awesome.
04:54:22 <coppro> ehird: okay, now I've got a challenge for you. Suppose you have an identifier for the amazon page for a book over HTTP. How do you write an identifier to access it via HTTP
04:54:43 <ehird> Firefox should not be specified..
04:54:54 <ehird> If you want to do that, do "firefox /...".
04:55:02 <coppro> ah, but mine allows you to say that you want to access the page via firefox
04:55:05 <coppro> just prepend it as an access method
04:55:08 <ehird> It is one client; there are many others. Which to use should never be enforced.
04:55:14 <ehird> coppro: That is an antifeature.
04:55:42 <coppro> ehird: the same argument could apply to Amazon
04:56:01 <coppro> why force you to use my bookstore?
04:56:03 <ehird> But it doesn't, tbh.
04:56:23 <ehird> coppro: In one, two, or three steps this will turn into an ontological debate about the specification and categorisation of everything.
04:56:35 <coppro> and living in #esoteric
04:56:47 <coppro> note: this is a subset of Doomed
04:57:04 <ehird> coppro: also interesting fact:
04:57:46 <ehird> How do you create a window in rio (without the UI, that is)? Simple. Bind rio's directory to /dev, put something in /dev/label to give your window a label (title), and exec something < /dev/cons > /dev/cons >[2] /dev/cons.
04:58:02 <ehird> (Those redirections are because you're already outputting/receiving from your /dev/cons, before you rebound /dev/cons.)
04:58:03 <coppro> indeed, that is awesome
04:58:18 <ehird> (So it needs to be explicit to not go into your input/output stream, the old /dev/cons.)
04:58:52 <ehird> I'm pretty sure you could use that to achieve X-style remote programs
04:59:21 <ehird> just get /n/foo/bin/theprog to run in an environment that has your rio in /dev, I think
04:59:48 <ehird> since it's basically pixel-pushing, though, that will probably be glacial
05:00:15 <ehird> coppro: oh, technically window(1) doesn't use that method of creation any more; I'm not sure why
05:00:27 <ehird> it writes to /dev/wctl, which is rio's control file; there's probably a good reason
05:00:31 <ehird> coppro: the old way still works, though
05:00:43 <ehird> it still does the crucial "bind rio to /dev" line
05:01:01 <ehird> it's exactly the same
05:01:03 <ehird> just a minor change
05:01:27 <ehird> yeah, i have so many unread agora emails
05:01:43 <coppro> your proposal failed :(
05:02:00 <ehird> it would have passed if it was AI=1
05:02:06 <ehird> some voted against it due to the danger of AI=2
05:02:12 <ehird> and it was at VI 0.8 or something now
05:02:22 <ehird> coppro: incidentally, plan9's rc shell utterly solves the problem of escaping
05:02:53 <ehird> (it's by tom duff too!)
05:03:05 <ehird> (famous as being a contributor to our wiki. also, he did some sort of device thing.)
05:03:15 <ehird> coppro: some context: instead of "every variable is a string", it's "every variable is a flat list of strings"
05:03:34 <ehird> if you do $foo, it's ALWAYS one entity, always; it never spills over
05:03:43 <ehird> incidentally, the list thing means that you get path=(foo bar)
05:03:51 <coppro> yeah, I always hated that about bash
05:03:59 <ehird> coppro: 'foo' is always completely quoted
05:04:11 <coppro> but is that all it solves?
05:04:11 <ehird> (escaping is ''; this saves having to have an escape-the-escape-char thing)
05:04:20 <ehird> it has the concatenation operator
05:04:33 <ehird> coppro: one thing I missed, sorry for slipping
05:04:36 <coppro> what if I want to pass "foo bar" as one argument
05:04:39 <ehird> that's the same as
05:04:54 <ehird> if you have foo=('a b c' 'd e f')
05:04:58 <ehird> echo 'a b c' 'd e f'
05:05:07 <augur> first class types.
05:05:07 <ehird> all lists flatten, and quoting remains
05:05:13 <ehird> augur: stfu, busy explaining
05:05:22 <ehird> you can also do $foo(1 2 3 1)
05:05:27 <ehird> which is the same as $foo(1) $foo(2) etc
05:05:29 <coppro> augur: biggest problem with first-class types: are they mutable?
05:05:38 <augur> coppro: ofcourse not!
05:05:53 <ehird> coppro: since if we read e.g. a file into lines we have (line line line)
05:05:58 <ehird> coppro: what if we want to pass it all as one argument?
05:06:01 <coppro> that sounds like an esoteric language
05:06:05 <ehird> coppro: Simple! $"var
05:06:12 <ehird> That's all the elements of var with $ifs (a list) in between
05:06:16 <ehird> hmm, I think ifs is a list
05:06:22 <ehird> prolly picks the first element if it is
05:06:29 <ehird> that means we can do simple concatenation with
05:06:47 <ehird> coppro: now, we have the concat operator
05:06:54 <ehird> foo^bar^baz = foobarbaz
05:07:06 <ehird> 'foo'^$x^'blah' where x=x → fooxblah
05:07:24 <ehird> (a b)^(b c) → (ab bc)
05:07:24 <quantumEd> what the hell does first-class mean
05:07:28 <ehird> (↑↑↑ totally awesome)
05:07:45 <ehird> (a b)^b → Error you are stupid (I wish this was different, but it rarely comes up; just do $"var)
05:08:17 <ehird> foo$a.$b DOES work
05:08:27 <ehird> foo$bar.x where bar=(a b) → fooa.x foob.x
05:08:37 <ehird> it's just implicit ^, pretty much, if you mention a var in an unquoted string
05:08:48 <ehird> here's an example of using the ifs trick
05:08:50 <coppro> augur: now that I think about it, isn't Python's type system pretty much like that?
05:09:01 <coppro> though a bit prototype-based
05:09:02 <augur> coppro: what? no. what?
05:09:30 * coppro tries to remember what he was thinking about when he said that
05:09:59 <ehird> hmm, I think I'm mistaken about ifs bring strictly used for $"foo
05:10:23 <ehird> coppro: anyway, the point is, the approach of using lists
05:10:23 <ehird> and the lists-flatten-but-quotes-stay
05:10:23 <ehird> basically solves all quoting problems
05:10:23 <coppro> augur: Python's types are pretty first-class
05:10:25 <ehird> coppro: oh, and rc is the first shell to have sane control structures, ever
05:10:54 <ehird> `if(cond) cmd` checks cond and executes cmd if it's true. Since commands can be {cmd;cmd;cmd}... it just works.
05:11:21 <ehird> for(x in a b c) works, for(x) is implicitly "in $*" (args)
05:11:47 <ehird> One thing is that to do an else, you do "if not cmd" after an if.
05:11:49 * coppro thinks augur's off looking at Python
05:11:55 <ehird> You might consider this a wart, but there's no race conditions to think of, so.
05:12:01 <ehird> It works well enough.
05:12:12 * augur is off looking at Hagit Borer's Structuring Sense
05:12:25 <ehird> Oh, and while() echo y is yes, simply because you can do while(a;b;c) echo y
05:12:30 <ehird> and an empty command is true
05:12:56 <ehird> there's also switch, you know, just for flavour; [[Rc captures command exit status in the variable $status. For a simple command the value of $status is just as described above. For a pipeline $status is set to the concatenation of the statuses of the pipeline components with | characters for separators.
05:12:56 <ehird> Rc has a several kinds of control flow, many of them conditioned by the status returned from previously executed commands. Any $status containing only 0’s and |’s has boolean value true. Any other status is false.]]
05:13:02 <ehird> that's just for plan 9 statuses, really
05:13:15 <ehird> <{foo} <{bar} is like bash's <(foo) <(bar)
05:13:21 <ehird> i.e. give filenames to these spawned processes
05:13:33 <ehird> `{foo} is command substitution; comes back as a list split on $ifs
05:13:37 <coppro> ehird: Is it just anything other than nice shell?
05:13:57 <ehird> $#foo is length, >f <f is redirection >[2]f is fancy redirection, and * globbing works
05:14:10 <ehird> oh, I forgot; ~ is useful for regexing
05:14:12 <ehird> ~ thing pata pat pat
05:14:20 <ehird> and sets $number and the like
05:14:22 <coppro> so far all you've done is tell me how it's a nice shell language
05:14:29 <ehird> coppro: the thing is
05:14:41 <coppro> and, while I like learning new languages, now is not the time
05:14:47 <ehird> coppro: because of its quite sparseness, and the rich abundance of simple commands on plan 9
05:15:02 <ehird> coppro: and its nice syntax and high adeptness at handling unix-esque programming,
05:15:09 <ehird> coppro: rc is actually a viable language to write full programs in
05:15:15 <coppro> btw, sponge is awesome
05:15:42 <ehird> for instance, there's an entire minimalist-sorta-CMS-sorta-web-framework thing (not nearly as crappy as it sounds) written entirely in rc, and it isn't strained at all
05:15:42 <ehird> (http://werc.cat-v.org/)
05:15:55 <ehird> http://hg.cat-v.org/werc/file/7b4a30e1feb9/bin/werc.rc#l1
05:16:07 <ehird> you can see that it reads mostly like an eccentric programming language
05:16:29 <ehird> so, yeah, rc solves all the problems shells faces and then goes and solves the problem of a lightweight glue language that you can still write big stuff in.
05:16:42 <ehird> then it eats your grandmother for breakfast and runs under rio.
05:16:58 <coppro> lies. nothing will ever replace perl
05:17:26 <ehird> One tool for one job: "Those days are dead and gone and the eulogy was delivered by Perl." —Rob Pike
05:17:41 <ehird> Funny how opposites can be so alike in a sense.
05:18:22 * coppro is ashamed to admit he uses perl
05:18:50 <ehird> just think of yourself as a soldier in the trenches of modern unix
05:19:02 * coppro awaits ehird to say 'And you aren't ashamed of using C++?!'
05:19:05 <ehird> a land made entirely out of faeces piled on top a shimmering diamond of spacewars
05:19:13 <ehird> coppro: I was about to say that, in fact, I'd rather you used Perl and not C++
05:19:16 <coppro> ehird: hence my comment about sponge
05:19:24 <ehird> heck, Perl is easier to defend than C++
05:19:27 <ehird> which says something about C++
05:19:41 <ehird> is sponge that, gluing tool thing?
05:20:03 <ehird> the http://kitenet.net/~joey/code/moreutils/ one or that other, one
05:20:07 <ehird> that other one, thing
05:20:40 <ehird> wait, is the point of sponge just to write to the file except without wiping it first which is why you can't use >?
05:21:03 <ehird> that doesn't seem very unix, that seems like a crutch for a flaw in file redirection
05:21:10 <ehird> admittedly, a hard-to-resolve flaw
05:21:15 <ehird> and sponge seems nice
05:21:24 <coppro> it is a crutch for a flaw in file redirection, but it's a simple elegant solution to the problem
05:21:30 <ehird> but i wouldn't call it an example of very Unixy design rather than a very Unix-culture-esque kludge ;-)
05:21:41 <coppro> it does one thing and it does it well
05:21:50 <coppro> it's annoying that it's necessary, but as long as it is, it has a purpose
05:22:31 <ehird> puts stdin into a temp file and passes it to the specified program"
05:22:42 <ehird> They should call that one thisStupidFuckingProgramCan'tHandleStdinItShouldDie.
05:23:06 <ehird> [[In the same spirit as 'pee', but much more powerful.]]
05:23:07 <ehird> "I present: semen(1)!"
05:23:18 <ehird> It reproduces and so much more!
05:23:42 <ehird> "connect 'cmd1' op 'cmd2' ... -- connects fd's of commands together, etc"
05:23:48 <ehird> And looking at the examples...
05:23:52 <ehird> Yeah, they just invented shell redirection.
05:23:54 <ehird> Congraaaaaaaatulations.
05:24:11 <coppro> yeah, a lot of those aren't really needed
05:24:15 <coppro> but sponge is pretty awesome
05:24:52 <ehird> coppro: btw, I'd just s/sponge/tee/ most of the time, since I don't care whether I see a copy of the file afterwards
05:24:55 <ehird> or, wait, does tee work there?
05:27:36 <ehird> WalterBright, WalterBright,
05:27:36 <ehird> First * in C tonight,
05:27:36 <ehird> I wish I may, I wish I might
05:27:37 <ehird> Know Tango or Phobos: which one is right?
05:27:38 <ehird> — on reddit, a response to Walter Bright plugging his language (D, that is) as always
05:29:51 <coppro> hrm. I wanna get some work done, but I'm not sure what to do
05:29:53 <ehird> coppro: i have a question about — oh, the shame — C++ vtables
05:30:00 <ehird> coppro: I suggest answering my question!
05:30:18 <coppro> ehird: Okay. The answer is they're evil and vtables should never be used in any language ever.
05:30:37 <ehird> coppro: Congratulations. You just condemned dynamic dispatch.
05:30:42 <ehird> I'm in awe at your ignorance.
05:30:46 <coppro> ehird: I know. I'm great, aren't I?
05:30:54 <coppro> So, what's your question?
05:31:11 <ehird> coppro: How are the entries in a vtable ordered?
05:31:25 <ehird> That is, how do you know that index N in a vtable represents the method M?
05:31:31 <coppro> ehird: Depends on the ABI, I believe
05:31:32 <ehird> There needs to be a well-defined ordering.
05:31:38 <ehird> What's the most common thing?
05:31:41 <ehird> What does GCCC do?
05:31:49 <coppro> GCC follows the Itanium C++ abi
05:31:52 <coppro> 1 sec, I'll find a link
05:32:00 <coppro> I don't know it by heart
05:32:12 <coppro> http://www.codesourcery.com/cxx-abi/abi.html
05:32:33 <ehird> coppro: And, just to check that I'm sure on how vtables are done, it's obj[vtableindex][methodindex](), isn't it?
05:32:48 <ehird> We know what index the method will be at, and vtables are always at a certain place in an object.
05:33:01 <ehird> So the overhead is two indexings more than a regular method call.
05:33:07 <coppro> nah, it's more like (*obj[vtableindex])[methodindex]()
05:33:14 <coppro> there's only one vtable per type
05:33:19 <coppro> and the object only stores a pointer
05:33:27 <ehird> I was simplifying.
05:33:30 <ehird> coppro: Anyway, why are they evil?
05:33:39 <coppro> ehird: Because they're in C++ :P
05:33:39 <ehird> I realise that C++ almost certainly fucks them up.
05:33:48 <ehird> But they're the simplest way to implement dynamic dispatch, no?
05:33:49 <coppro> I was just ribbing you
05:33:54 <ehird> coppro: I suspected that.
05:34:02 <coppro> http://www.codesourcery.com/public/cxx-abi/abi.html#vtable
05:34:14 <coppro> C++ doesn't have multiple dispatch because it is not trivial to implement
05:34:25 <coppro> particularly not without overhead
05:34:28 <ehird> dynamic dispatch is just dispatching methods at runtime
05:34:31 <ehird> instead of resolving at compile-time
05:34:35 <ehird> nothing to do with multiple dispatch
05:34:43 <ehird> "A virtual table consists of a sequence of offsets, data pointers, and function pointers, as well as structures composed of such items."
05:34:44 <coppro> yeah, multiple dispatch is far more complex
05:34:47 <ehird> C overcomplicates the world yet again.
05:35:05 <ehird> i mean, seriously, all you need is a well-defined ordering of pointers
05:35:27 <ehird> if you have a sane language, they'll only be used for calling functions of an interface of some sort
05:35:34 <ehird> so a well-defined ordering of function pointers, that is
05:35:41 <coppro> ehird: according to that, the order of the functions is declaration order
05:36:03 <ehird> coppro: Nice dependence on the lexical ordering of the source code, there.
05:36:14 <ehird> Anyway, I'm just pondering adding Go interfaces to my sideset of Plan 9 C.
05:36:33 <ehird> Plan 9 C already has Go composition (= if you have an unnamed struct, the fields expand in and you can use it as a pointer to the includee)
05:36:40 <ehird> so adding Go templates would be quite easy
05:37:33 <ehird> void frobnicate();
05:37:33 <ehird> int swizzle(char *poop);
05:37:41 <ehird> well, actually, it should be
05:37:43 <coppro> Adding C++ interfaces is best done through C++'s existing mechanism
05:38:03 <ehird> void frobnicate(interface foo *blah);
05:38:03 <ehird> int swizzle(interface foo *blah, char *poop);
05:38:11 <ehird> coppro: Not C++ interfaces.
05:38:20 <ehird> Anything that has those methods complies.
05:38:24 <ehird> It's static duck typing,.
05:38:53 <coppro> ehird: I know. But you were talking about C++ vtables, weren't you?
05:39:37 <ehird> I'm just making sure I understand how to do a vtable.
05:39:57 <coppro> ehird: yeah, it's pretty straightforward. C++ does more funky things because there's more funkiness to deal with
05:41:42 <coppro> although I suppose Java still has to deal wit hthat
05:42:11 <ehird> Okay, one issue is that without namespaces, C can't really do the has-a-function-of-this-name-and-type thing.
05:42:37 <ehird> coppro: what do you think of intbig as a bignum type name?
05:42:42 <ehird> it fits in with int64 and the like
05:43:05 <ehird> coppro: intInfinity
05:43:14 <coppro> the name would actually be good if it weren't taken
05:43:19 <ehird> intBitsOfMemoryNotUsedByOtherThings
05:43:28 <ehird> intBitsOfMemoryNotUsedByOtherThingsMinusSomeBitsUsedForOverhead
05:44:57 <ehird> actually, an intbig type that lets you do a+b worries me, I think
05:45:08 <ehird> those things should be constant-time, or near it (e.g. emulating int64 on 32-bit)
05:45:22 <ehird> but with a bignum they might fail, or take eons, etc
05:45:25 <ehird> might allocate memory
05:45:47 <coppro> I take it you're not a fan of operator overloading
05:46:06 <ehird> Not a huge fan. But that's irrelevant; the question is keeping in the design philosophy of C.
05:46:44 <coppro> if you're keeping in the design philosophy of C, I don't think a bigint type is appropriate
05:47:05 <ehird> I find that bignums are rarely needed, anyway
05:47:17 <coppro> a rational type > a bignum type
05:47:23 <ehird> int32 works a surprising amount of the time, and int64 almost everything else
05:47:49 <ehird> coppro: types aren't rational! forth uber alles! :P
05:48:03 <ehird> C99 introduced complex numbers as an intrinsic type
05:48:07 <ehird> which feels wrong, definitely
05:48:14 <ehird> it's really two numbers stuck together, that's called a struct
05:48:16 <ehird> not an atomic value
05:48:17 <coppro> btw, remember to name all your new keywords something like _PREVENT_USERS_FROM_NAME_CLASHES_keyword
05:48:36 <ehird> coppro: New keywords like what?
05:48:39 <ehird> I can't think of any I'm introducing.
05:48:47 <ehird> coppro: But, uh, no. :P
05:48:50 <coppro> I'm just trying to poke fun at the C committee
05:49:16 <ehird> Personally, I'd rather type "int" and "0". :P
05:50:00 <coppro> but if you #include <stdbool.h>, we've got THREE MACROS to fix things for you
05:50:36 <ehird> http://chaos-pp.cvs.sourceforge.net/viewvc/*checkout*/chaos-pp/order-pp/example/bottles.c?revision=1.10
05:50:54 <ehird> speaking of macros and cpp, I think I'll have #include foo
05:51:02 <ehird> with #include "foo" and #include <foo> being supported for backwards compat
05:51:09 <ehird> and .h files still exist
05:51:20 <ehird> they must only contain declarations, #include and #lib
05:51:35 <ehird> and thus, all the inefficiency of the C preprocessor is avoided
05:52:02 <coppro> ehird: You may want ot see if the C guys have taken any steps towards modules
05:52:17 <ehird> (#lib leaves a note to the linker telling it to link in the specified library to the resulting program. it goes in the library's header file. this is why in plan 9 you don't need to specify the libraries you used)
05:52:25 <ehird> coppro: The C guys did Go. :P
05:52:31 <ehird> Which has proper modudles.
05:52:42 <coppro> ehird: I mean the C committee guys
05:52:58 <ehird> Oh, you mean The Authors of C99.
05:53:02 <ehird> I'm, uh, skeptical.
05:53:24 <ehird> Anyway, mine is more a replacement for cpp's arbitrary inclusion than a module system.
05:53:36 <coppro> I'm of the opinion that the C committee is nuts
05:53:43 <coppro> even more than the C++ committee
05:53:50 <ehird> Not nearly as much as the C++0x committee, come on now.
05:53:51 <coppro> but it might still be worth checking out
05:53:54 <ehird> Have you READ that thing?
05:54:01 <ehird> http://www.google.com/search?client=safari&rls=en&q=c+committee+module+system&ie=UTF-8&oe=UTF-8
05:54:05 <ehird> Welp, that's enough looking for me.
05:54:16 <coppro> ehird: Yes. I've even submitted some issues
05:54:18 <ehird> It's the webpage equivalent of tumbleweed.
05:54:43 <coppro> heck, I've implemented part of it
05:54:57 <ehird> coppro: "Issue: Holy fuck you are all out of your minds. Take a step back and look at your draft. No, I mean, really, really look at it. Step further back. Clear your mind. Look at it. Holy shit. I mean. Fuck, right? Fuck."
05:54:58 <coppro> and yet, the C++ committee is not fundamentally as nuts as the C committee
05:55:27 <ehird> I guess C++ is at least continuing the tradition of C++.
05:55:54 <coppro> like, the C++ committee redefined the meaning of auto.
05:55:57 <ehird> coppro: also, cool thing: Go's concurrency model is basically a typed pi-calculus
05:56:22 -!- oerjan has joined.
05:56:31 <coppro> if the C committee tried to do that, they'd instead decide the old meaning was integral to the language and instead use _Infer, with <stdinfer.h> to #define infer _Infer
05:57:03 <ehird> with #define auto _Auto
05:57:08 <coppro> ehird: but auto is already a keyword
05:57:10 <ehird> get your insanity right
05:57:16 <ehird> cpp can override it.
05:57:26 <coppro> ehird: it's illegal to do so
05:57:36 <coppro> what if a standard header said "auto int = 3;"
05:57:38 <ehird> coppro: Guess who says it's illegal?
05:57:45 <ehird> coppro: That one's easy.
05:57:55 <ehird> stdinfer MUST be included after all other standard headers.
05:58:12 <ehird> Otherwise, undefined behaviour!
05:58:14 <coppro> yeah, that sounds pretty C committee is
05:58:28 <ehird> This also means that your header files cannot include standard header files themselves (a good practice, but only in idealist lands like Plan 9).
05:58:33 <ehird> Or, at least, they have to say _Autot.
05:59:03 <coppro> someone should actually propose getting rid of C auto and see how many people object
05:59:15 <coppro> if the number is not 0, there is a problem
05:59:58 <ehird> I tried to immediately take the opposing opinion (my brain does that) and my brain rejected it.
06:00:04 <ehird> Like, it didn't even get to my mind.
06:00:28 <ehird> There was a confused flurry of bad half-justifications but I didn't really think them, they were just side-effects of my brain expunging it immediately.
06:00:30 <oerjan> it stopped at the splanch
06:00:43 <coppro> I've got an idea. They should add a new keyword called _Ignore which does absolutely nothing, and could be put anywhere. It would have some effect on macros or something
06:00:49 <ehird> It's 6am; I should sleep soon but I'm not very tired.
06:01:00 <ehird> coppro: _Underscoreless
06:01:18 <ehird> Every identifier of the form _[capital letter]* is aliased to [lowercase letter]*.
06:01:22 <ehird> As a macro, naturally.
06:01:27 <coppro> I hate underscores at the beginning and end of identifiers
06:01:52 <ehird> btw, anyone who likes string processing and... stuff... should read http://doc.cat-v.org/bell_labs/structural_regexps/se.pdf
06:02:55 <coppro> ehird: weren't you on about this earlier?
06:03:02 <ehird> on about as in linked to, yes.
06:04:00 <ehird> I've got a structural regexp-themed finger .plan.
06:04:28 <ehird> I'm kind of ashamed for knowing that reference.
06:07:02 <ehird> "Ken was the man responsible for UNIX and the fact that I don't have to pay 8000 dollars for a copy of Windows since MS has some competition now"
06:07:02 <ehird> ok, who wants to tell this moron?
06:07:38 <coppro> email a link to Stallman
06:07:53 <ehird> no, stallman is who you call for GNU/Kernel
06:08:12 <ehird> maybe this guy actually experiences time backwards
06:08:14 <ehird> yep, that'd explain it
06:10:30 <ehird> http://gcc.gnu.org/onlinedocs/gnat_ugn_unw/Style-Checking.html#Style-Checking
06:12:14 <ehird> That's Ada for you...
06:12:34 <ehird> coppro: i want a flamewar
06:12:50 <ehird> Spaces or tabs for indentation? (let's assume C; in Python using tabs is like, uh, shitting on someone)
06:13:22 <coppro> I say tabs if and only if you can convince everyone about the correct way to use them (note: not possible)
06:13:51 <coppro> actually, nah, i like spaces better
06:13:57 <ehird> Actually, people who have actually thought about it and use tabs in practice rationally arrive at the only logical conclusion: tabs indent, spaces align (personal opinion: but alignment is generally bad).
06:14:31 <ehird> It's the only way that works for all sizes of a tab, it's semantic in its denotion of indentation, etc.
06:14:32 -!- quantumEd has quit ("Leaving").
06:14:34 <ehird> It's rather obvious, really.
06:14:46 <ehird> Rumours of the great tab ambiguity are greatly exaggerated, and plenty of projects get along fine like this.
06:15:22 <coppro> let's agree that emacs-mode neds to die
06:16:03 <ehird> only ais523 disagrees with that, and when entering a discussion on indentation, he turns into an idiotic moron :P
06:17:42 <ehird> it's space-indentation
06:17:45 <ehird> but it replaces every 8 spaces
06:18:01 <ehird> thus breaking everything for people who set tabs to something else, and generally being an unmanagable fuckfest of idiocy
06:18:23 <ehird> coppro: another cool thing about rio! /dev/screen is actually in the plan 9 image format, so you can screenshot just by running topng on it
06:18:33 <ehird> (and /dev/window is the same but it's the window's /dev/screen, basically)
06:28:46 <ehird> coppro: incidentally, plumbing goes beyond just passing it a file
06:29:02 <ehird> for instance, you can plumb "foo.c:42:" (from a c compiler error) and it'll open foo.c on line 42
06:29:09 <ehird> well, assuming there's a rule for that; I believe there is by default
06:29:12 <ehird> it just sends a string
06:29:22 <coppro> can it do file(1)-type checks too?
06:29:44 <ehird> coppro: be more specific
06:30:01 <coppro> ehird: like, based on contents and not name
06:30:15 <ehird> Yes, I'm pretty sure.
06:30:54 <coppro> e.g. cat foo.odt | file - gives "/dev/stdin: OpenDocument Text"
06:31:44 <ehird> There's a separate file(1) (because plumbing just handles sending to another program; and doesn't just do files). But indeed; I doubt it analyses file extensions!
06:31:58 <ehird> And plumbing a .ps and a .pdf works, presumably regardless of their name.
06:32:07 <ehird> Unix is a land of in-stream type tags.
06:32:09 <oerjan> while if it knew the name, it would clearly have seen that it was cat food
06:32:15 <ehird> http://plan9.bell-labs.com/sources/plan9/usr/glenda/lib/plumbing ;; time to chase down whatever basic is :P
06:32:47 <coppro> ehird: You know what was entertaining once? Okular doesn't care about extensions, and there was this link posted that was actually a jpg but said .pdf. I was the only one who could see it
06:33:01 <ehird> Windows is a land of dumb extension obedience.
06:33:10 <ehird> In Unix/Plan 9, file extensions are just hints for the user.
06:33:44 <ehird> http://plan9.bell-labs.com/sources/plan9/sys/lib/plumb/basic
06:33:57 <ehird> And also http://plan9.bell-labs.com/sources/plan9/sys/lib/plumb/fileaddr, which I don't know what it does.
06:34:21 <ehird> "type is text"; hmm, I guess you can plumb things other than strings.
06:34:35 <ehird> # start rule for microsoft word documents without .doc suffix
06:34:36 <ehird> plumb start wdoc2txt $file
06:34:41 <ehird> Looks like it's looking at the file contents there.
06:37:13 <ehird> It may seem odd that there are two matches rules in this example. The reason is related to the way the plumber can use the rules themselves to refine the data in the message, somewhat in the manner of Structural Regular Expressions [Pike87a]. For example, consider what happens if the cursor is at the last character of
06:37:14 <ehird> % make nightmare>horse.gif
06:37:14 <ehird> and the user asks to plumb what the cursor is pointing at. The program creating the plumbing message—in this case the terminal emulator running the window—can send the entire white-space-delimited string nightmare>horse.gif or even the entire line, and the combination of matches rules can determine that the user was referring to the string horse.gif. The user could of course select the entire string horse.gif, but it’s more convenient just to point in
06:37:15 <ehird> general location and let the machine figure out what should be done. The process is as follows.
06:37:38 <ehird> s/point in general/point in the general/
06:38:01 <ehird> It seems it does use file extensions; I guess since it's just a UI it's no big shakes.
06:38:18 <ehird> I mean, it's not like the programs it spawns look at the extension.
06:38:19 -!- zzo38 has joined.
06:38:57 <ehird> [[Here for instance is a rule that, given the process id (pid) of an existing process, starts the acid debugger [Wint94] in a new window to examine that process:]]
06:39:01 * ehird explodes with coolness
06:39:05 * oerjan gives zzo38 the finger
06:39:11 <ehird> Gem from that: arg isdir /proc/$0
06:39:24 <oerjan> 07:43 zzo38 [n=zzo38@h24-207-48-53.dlt.dccnet.com] requested unknown CTCP FINGER from #esoteric:
06:39:44 <zzo38> oerjan: If you want to give me the finger, please do so correctly with the CTRL+A FINGER otherwise you won't get a proper response, please.
06:39:47 <ehird> Oh boy, I'm correcting my messages with sam(1).
06:40:09 <ehird> oerjan you are a bad person
06:40:16 <oerjan> zzo38: i don't know that protocol
06:40:50 <zzo38> Just use whatever menu or command your IRC client uses for that. The CTRL+A ACTION command isn't used for this purposes
06:41:07 <ehird> I said "i/./"; I meant "a/./"
06:41:25 <oerjan> i sort of expect the "unknown CTCP FINGER" means irssi has no clue about it
06:41:50 <zzo38> I use it to mass-check idle times on the channel
06:41:55 <oerjan> there's probably a script somewhere, but i don't care that much...
06:47:41 <ehird> i/; but are you sure really that will work?/
06:47:51 <ehird> i/; but are you sure really that will work?/
06:47:52 <ehird> /sure / m/really /
06:47:55 <ehird> Bringing us to the final result of
06:48:01 <ehird> Ah; but are you really sure that will work?
06:48:11 <zzo38> I wrote some parts of a operating system kernel codes, using 888ASM. Next time I can write a bit more.
06:48:23 <ehird> Multitasking? Filesystem?
06:48:31 <ehird> Interprocess communication?
06:49:39 <zzo38> I wrote the MBR codes using plain machine codes, also. What it does, is, a unreal mode Forth system. It will have a simple file system, too
06:50:41 <ehird> (I'd suggest just making a word SPAWN so that you can do `: hello ." Hello, world!" ; spawn hello` and that makes a hello world process.)
06:51:20 <ehird> It'd basically just be multitasking a list of executing words.
06:52:01 <zzo38> The process way is I am planning, is a word MODULE to save the HERE and dictionary address, and then restore it afterward. After the dictionary is restored, the next restore would restore the older MODULE and so on...
06:52:35 <ehird> How does that let the system automatically switch between a list of executing words at a given interval, i.e. multitasking?
06:54:47 <zzo38> That doesn't do multitasking. The dictionary is only used during compilation and interpretation, not during execution, so, as long as only the last process has to allocate memory, you could have some limited multitasking. This system is not designed for multitasking for you can do something similar like I described
06:55:54 <ehird> What use is an operating system that can't multitask?
06:57:36 <coppro> ehird: obviously each core runs one instance
06:57:48 <ehird> I somehow doubt zzo38 has a multi-core computer.
06:58:02 <ehird> I've got myself thinking about a multi-tasking Forth system, though...
06:58:09 <ehird> using stacks for IPC? CONSIDER ME INTERESTED
06:58:20 <zzo38> The filesystem is, the entire track zero is sector 1 is the MBR code and sector 2 to 63 is kernel codes. Other than that, it is grouped into pages, where each page is three sectors long. The last 16 bytes of each page is data such as next page, prev page, etc. The first page (other than the boot/kernel) is the allocation page, one bit for each page.
06:58:50 <ehird> That's not a filesystem, that's a block serialisation device.
06:58:58 <zzo38> The variable called DISK select the drive. The word {{ loads the file-names dictionary, and a name of a directory in a file-names dictionary causes it to load the file-names dictionary of that directory.
06:59:15 <ehird> Why have a variable DISK? Why not include the disk in the filename?
06:59:21 <ehird> Just being devil's advocate here :)
07:00:10 <zzo38> Pages can be added or removed by changing the prev/next fields in the 16 bytes at the end of each page.
07:00:13 <ehird> Actually, I'm not sure why you need files, when you could store words and variables on disk instead...
07:00:48 <zzo38> The file consists of any number of pages
07:01:39 <ehird> mycroftiv: how much RAM do you recommend I give Plan 9 in qemu?
07:01:52 <ehird> I have 2.5 GiB, but a lot is eaten by bloated OS X. 512 MiB?
07:04:48 <zzo38> Storing words and variables on disk instead, without files, is one way, but is clearly not the only way. Of course, even the way I described, filenames and directory names are not even supported directly by the filesystem, it is something you add-on, but in Forth you can do like that
07:05:08 <zzo38> ehird: How much of memory does OS X uses?
07:05:15 <coppro> augur: Now I want a language where you can redefine the types of objects that actually exist
07:05:20 <ehird> The kernel? Uh, not much more than your average BSD.
07:05:46 <ehird> Safari, the web browser, uses a load of memory.
07:05:55 <ehird> Like a gigabyte of physical RAM used to have 20 tabs open.
07:06:15 <coppro> augur: e.g. all ints are now void*s
07:06:18 <zzo38> The assembler 888ASM is much more simpler and it doesn't have all the bloated stuff of other programs
07:07:05 <zzo38> coppro: And what do you mean by "all ints are now void*s", exactly, in that context, anyways, please
07:09:26 <coppro> zzo38: exactly what I said
07:09:34 <zzo38> Have you ever used the BBL/Abundance database system? It is an extremely old system. But I am using it for a database at the religious education at the church. (That's the only thing I do there, other than help with sometimes help candy packing and/or read books)
07:10:10 <zzo38> BBL/Abundance license says you can do anything you want with it, except for military usage.
07:10:21 <zzo38> It is a complex system and I still have not learned everything about it yet
07:10:38 <zzo38> And they still don't have the printer switch, or a printer.
07:10:59 <zzo38> Do you know how to disable the mouse driver on FreeDOS?
07:24:55 <coppro> ehird: UTF-8: agree or disagree?
07:25:25 <ehird> coppro: Come on, it was done by the Plan 9 guys, implemented days later in Plan 9, and it's stupidly simple. How could I not love it?
07:25:31 <ehird> coppro: ah, doing remote rio programs is even easier than I thought
07:25:41 <coppro> ehird: I didn't know that bit of history :)
07:26:30 <ehird> Technically, it was just Ken Thompson who did it.
07:27:00 <ehird> The X/Open guys wanted Ken and Rob (Pike) to check their UTF design, and they went "aha! if we do our own shit quickly will they used it" and they went "okay".
07:27:10 <ehird> So later that day they called them with UTF-8.
07:27:24 <ehird> Ken did it all, though.
07:27:51 <ehird> Oh, and then they asked them how fast they could implement it; this was Wednesday night or so.
07:27:58 <ehird> They wanted a running system on Monday.
07:28:04 <ehird> Plan 9 was running solely on UTF-8 by Friday.
07:28:43 <ehird> anyway, as I was saying
07:28:44 <coppro> man, why is clang so awesome
07:28:49 <ehird> $wsys is expected to point to the rio-directory
07:28:55 <ehird> coppro: not as awesome as *c!
07:29:02 <ehird> hmm, actually, make that ?c
07:29:10 <ehird> it's hard to come up with a good name to reference the plan 9 toolchain
07:29:14 <ehird> coppro: 8c and friends
07:29:31 <coppro> what makes them particularly awesome?
07:29:34 <coppro> other than the custom brand of C
07:29:48 <ehird> they're fast, they're simple, and they cooperate with the linker
07:30:01 <ehird> (e.g. #pragma lib "foo" makes foo get linked in by the linker; goes in library headers, no more -l headaches)
07:30:10 <ehird> oh, and cross compiling = normal compiling
07:30:25 <ehird> which is why they're separate names: in a cluster, you can't rely on homogenosityery
07:30:39 <ehird> what does "cc" do on a system with 3 architectures?
07:31:24 <ehird> so, with no cross compilation setup, just compiling the relevant programs, I can compile, link and interpret (=emulate) a Plan 9 MIPS program on any other supported architecture
07:31:32 <ehird> that's more a property of the toolchain than the compilers i guess
07:31:58 -!- augur has quit (Read error: 110 (Connection timed out)).
07:34:37 <coppro> ehird: clang, due to being LLVM, allows you to specify a target architecture or you can have the output be left in LLVM's bytecode
07:34:48 <coppro> no special setup neede
07:34:53 <ehird> that's not the same thing at all
07:35:02 <ehird> the point is that it's an additional step for non-nativeness
07:35:07 <ehird> there IS a default
07:35:12 <ehird> it IS a switch it flicks
07:35:17 <ehird> with plan 9, it's completely agnostic
07:35:25 <ehird> it really doesn't care what cpu is executing the compiler or linker
07:35:44 <ehird> it's partly cultural in the impression it gives, but still
07:37:04 <coppro> ehird: ok, that's fair
07:40:38 -!- coppro has quit (Remote closed the connection).
07:41:02 -!- coppro has joined.
07:53:18 <ehird> Jesus christ, Code2000 is huge.
07:57:48 <ehird> coppro: am I a bad person because I dismiss the internationalisation of programs as there being nothing wrong with knowledge of english being a dependency of using a computer?
07:58:22 <ehird> i think that's a, my laziness, b, my aversion to stuff that you have to put everywhere and it all breaks on edge-cases and ugh and c, my utopianism (there's no need for the fragmentation of communicaiton)
07:58:35 <ehird> also, d, everyone who'd use my stuff would know english anyway
07:58:43 <ehird> you're all just trying to hurt me because you hate me :P
07:59:14 <oerjan> no no. hate the sin, love the sinner!
07:59:44 <ehird> Interesting fact: Plan 9 doesn't handle characters not in the BMP; a Rune (the in-memory representation of a codepoint) is 16 bits. Why?
07:59:45 <ehird> Because Unicode was 16 bit when Plan 9 started using it.
07:59:51 <ehird> Even when UTF-8 was designed.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:00:31 <ehird> god, /n/sources is so slow
08:00:31 <oerjan> 16 bits should be enough for everyone
08:00:42 <zzo38> If you program assembly codes, which assemblers do you use?
08:01:01 <ehird> <stereotypical>Why, the Plan 9 assemblers, of course.
08:01:03 <zzo38> Which do you think are more faster, slower, feature, etc?
08:01:07 <ehird> (My stereotypicalness never ends.)
08:01:12 <ehird> An assembler isn't much. It shouldn't be much.
08:01:20 <zzo38> I found a article http://webster.cs.ucr.edu/AsmTools/WhichAsm.html
08:01:26 <ehird> There's an odd sort of community/cult around assemblers that considers them to have features and the like.
08:01:46 <ehird> If you can name features of your assembler and not sound forced, you've not written an assembler, you've written a piece of bloatware.
08:02:10 <zzo38> I also think it shouldn't be like too much, so I wrote 888ASM. It is very fast in my experience, faster than any other program I have used, at least.
08:02:18 <ehird> Assemblers are for easing the pain of writing machine code; mnemonics, minimal shorthand, etc. They are not the place for strange low-level languages that nonetheless don't map to machine code directly.
08:02:34 <ehird> It's easy to write fast code, it's just that people don't.
08:03:12 <zzo38> I have code in hex, too. I wrote a MBR code in plain machine-codes in hex, without assembler
08:03:23 <ehird> Yes, well, you're insane, with all due respect. :P
08:04:08 <ehird> I think you just proved you're... not... insane?
08:04:40 <zzo38> No, actually I am insane, and I am also not insane in some ways
08:05:21 <ehird> You are poking my brain with the rusty fork of confusion.
08:06:17 <zzo38> Well, do *you* think 888ASM is good? Or is better/worse or same as good as any others? Or, etc.?
08:06:39 <zzo38> Some people said 888ASM was a heart attack?
08:06:59 <ehird> Well, it will surely be a glorious day when perfect knowledge of everything you create is instantly transplanted into my mind immediately, but I'm afraid you've just started talking about it today and I have no idea where it is, let alone used it.
08:07:14 <ehird> Now, I've never heard "heart attack" being used as criticism of some software before.
08:07:20 <ehird> That's a new one. That is a new one.
08:07:20 <zzo38> http://zzo38computer.cjb.net/prog/888ASM/888asm.c
08:07:46 <ehird> str_find is !strchr, btw
08:08:03 <ehird> instead of if(str_find(s,c)) you can do if(!strchr(s,c))
08:08:41 <ehird> zzo38: in asm_type, I don't think a lot of ifs is the fastest way to do that (but then again, if it's very fast, no point in worrying)
08:08:50 <zzo38> Well, this software is public domain. Do whatever you want with it, including to build a atom bomb to destroy the entire Earth, etc
08:09:02 <ehird> Don't give me ideas!
08:09:08 <zzo38> What is the fastest way if a lot of ifs isn't that way?
08:09:23 <ehird> Probably a hashtable or something, but that's a pain.
08:09:31 <ehird> What file format does it writet in?
08:09:45 <ehird> Any object format? ELF or whatever? Or is it just raw machine code?
08:09:46 <zzo38> I don't recomend you built a atom bomb with this software, I just mean that is public domain and has a not license restrictions
08:10:09 <ehird> is it intended for any particular os or just general posixy things
08:10:11 <zzo38> I didn't need everything else that other programs does
08:10:16 <ehird> only skimmed through
08:11:05 <zzo38> It is not intended for any particular OS, just anything that can run this program will run this program.
08:11:53 <ehird> what did you develop it on? i know you were gonna make your own linux everything from scratch
08:12:20 <zzo38> I wrote it in C, of course. I compiled it using gcc
08:12:36 <ehird> btw you'd probably like tcc (tinycc) as opposed to gcc
08:12:42 <ehird> http://bellard.org/tcc/
08:12:44 <zzo38> Now anyone who has C can use it
08:12:56 <zzo38> tinycc probably is faster, it would seem to be.
08:12:59 <ehird> yeah, was just curious what os you used to develop it
08:13:04 <ehird> faster and simpler
08:13:11 <zzo38> I just have gcc because I require it to compile MegaZeux and a few other programs
08:13:25 <ehird> zzo38: they might work with tcc; the linux kernel can compile with tcc, admittedly with patches, but still
08:13:37 <zzo38> I am currently using Windows XP, but one day I will use Linux as my main operating system instead
08:13:46 <ehird> oh, cygwin then or something?
08:14:26 <zzo38> MinGW is what MegaZeux compiles in, so I just use it for other stuff too, now that I have MinGW
08:14:49 <ehird> any example 888asm code anywhere?
08:14:58 -!- puzzlet_ has joined.
08:16:05 <zzo38> There's one example: http://pastebin.com/m14772763
08:17:01 <zzo38> There's another example: http://pastebin.com/m2ef3fb26
08:17:25 <zzo38> It is case-sensitive and has to be allcaps for built-in commands
08:17:56 <ehird> JUST SEEMS HARDER TO READ TO ME LIKE SHOUTING :P
08:18:16 <zzo38> Because that's how I wrote it, of course! (Comments don't have to be allcaps and usually aren't) If you don't like it, you can change it
08:18:30 <ehird> I'm just curious why.
08:20:14 <zzo38> The following prefix commands can be used: ADS OPS REP REPZ REPNZ DS ES FS GS CS SS TIMES =
08:20:36 <zzo38> The * sign means R/M byte pointing to memory
08:20:54 <zzo38> The @ sign is used for some 32-bits stuff
08:21:09 <zzo38> And $ is for named constants.
08:21:16 <ehird> no reasoning for the allcaps thing? :p
08:21:57 <zzo38> It is just because that's how I do it, that's all.
08:22:58 * oerjan has read that people do things first and rationalize them afterwards, so reasons are usually lies anyway.
08:23:22 <ehird> oerjan: then I'm clearly broken; I do it the other way around.
08:23:28 <oerjan> i cannot recall whether i've read it in a reliable source, though
08:23:42 <ehird> BUT I THINK YOU CAN MAKE A RATIONAL ARGUMENT FOR CAPS/NOCAPS; I POSIT THAT ALLCAPS WRITING IS LESS READABLE
08:23:54 <ehird> It's not like we developed lowercase letters and other typography for no reason.
08:24:01 <zzo38> It depend the font used, too
08:24:15 <zzo38> Some font is easier to read allcap but some is hard
08:24:26 <oerjan> ehird: surely it was to torment schoolchildren by making them have to learn everything twice?
08:24:44 <ehird> One times two is two.
08:25:01 <zzo38> I think there is a different reason, having to do with writing the letters by hand
08:25:19 <zzo38> I don't think it originally had anything to do with reading.
08:26:46 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
08:40:37 -!- zzo38 has quit ("Error: This operation has completed successfully.").
09:03:24 -!- kar8nga has joined.
09:13:14 -!- Cerise has quit (Read error: 110 (Connection timed out)).
09:21:16 -!- Asztal^_^ has quit (Read error: 110 (Connection timed out)).
09:31:14 -!- kar8nga has quit (Remote closed the connection).
10:11:02 -!- oerjan has quit ("leaving").
10:12:49 <ehird> "I have proper *process* and thread creation (no silly fork/exec(ve))."
10:12:49 <ehird> The pompous ignorance astounds.
10:12:58 <ehird> transcribed the italics wrong
10:13:03 <ehird> "I have *proper* process and thread creation (no silly fork/exec(ve))."
10:13:03 <ehird> The pompous ignorance astounds.
10:17:57 -!- MigoMipo has joined.
10:30:15 -!- Cerise has joined.
10:30:43 -!- Cerise has changed nick to Guest91626.
11:30:21 -!- Guest91626 has changed nick to Cerise.
11:30:50 -!- Cerise has changed nick to Guest94377.
11:54:16 <ehird> "What about making a PHP OS, for net books so that 100% of the net books processing power is used for web browsing, and so that all the memory is stored on a server?"
11:54:16 * ehird promptly commits suicide
11:59:59 -!- ehird has quit.
12:27:57 -!- Slereah_ has joined.
12:38:20 -!- Slereah has quit (Read error: 110 (Connection timed out)).
13:27:20 -!- oerjan has joined.
13:35:36 -!- BeholdMyGlory has joined.
14:00:39 -!- kar8nga has joined.
14:09:00 <oklofok> "XD"? that's a bit much from you
14:09:18 <oklofok> hmm, actually you may have used it before for similar purposes
14:10:03 * oklofok tries to imagine fizzie say that
14:19:03 -!- puzzlet has joined.
14:30:51 -!- puzzlet_ has quit (Read error: 110 (Connection timed out)).
14:59:27 -!- Pthing has joined.
15:29:17 -!- quantumEd has joined.
15:52:23 -!- pikhq has joined.
15:55:37 <pikhq> Back on to the dorm. Got my desktop available. :)
16:42:56 -!- _MigoMipo_ has joined.
16:57:35 -!- oerjan has quit ("Good night").
16:59:51 -!- MigoMipo has quit (Read error: 110 (Connection timed out)).
17:00:38 -!- _MigoMipo_ has quit.
17:00:51 -!- MigoMipo has joined.
17:05:08 -!- MALDEK has joined.
17:05:50 -!- MALDEK has quit (Client Quit).
17:16:14 -!- Asztal has joined.
17:59:48 -!- kar8nga has quit (Read error: 110 (Connection timed out)).
18:00:31 -!- kar8nga has joined.
18:32:15 -!- Warrigal has changed nick to uorygl.
19:12:55 -!- BeholdMyGlory has quit (Remote closed the connection).
19:15:51 -!- BeholdMyGlory has joined.
19:25:04 -!- upbeatsarcastic has joined.
19:28:03 -!- upbeatsarcastic has left (?).
20:12:41 -!- quantumEd has quit ("Leaving").
20:14:11 -!- quantumEd has joined.
20:15:05 -!- quantumEd has quit (Client Quit).
20:16:53 -!- BeholdMyGlory has quit (Read error: 54 (Connection reset by peer)).
20:28:54 -!- BeholdMyGlory has joined.
20:40:47 -!- quantumEd has joined.
20:46:22 -!- ehird has joined.
20:48:52 <ehird> i'm bakkk. ba ku klux klan.
20:51:07 <ehird> 08:21:09 <MALDEK> quantumed....i dont know...i was looking for a real esoteric chat...is this one?
20:51:07 <ehird> 08:22:07 <quantumEd> yes
20:51:07 <ehird> 08:26:53 <MALDEK> like the secret of the cube and fractal character of nature and no one mocks me?
20:51:07 <ehird> "Can anyone direct me to a place where easily-fooled, irrational morons can be easily-fooled, irrational morons?"
20:52:41 <ehird> 08:52:49 <MALDEK> btw...pthing...if i had to write a program for "world" it would be a cube...space/orientation/balance of opposite powers...how can you say that there is not much there if you havnt spend some time thinking & drawin?
20:52:42 <ehird> you're just a markov chain bot, aren't you
20:52:46 <ehird> we did those last year.
21:03:31 <oklofok> i should look into that esoteric stuff, those guys seem to be onto something
21:06:17 <oklofok> what's the secret of the cube
21:06:47 <quantumEd> tell me what you find out about esoterics
21:07:19 <ehird> i warn you that oklofok is crazy
21:09:36 <Pthing> the secret of the cube is the number 6
21:09:47 <oklofok> i don't get it please elaborate
21:10:08 <Pthing> there is nothing, that's all
21:10:46 <oklofok> all this theorethical philosophy is making my head dizzy
21:16:47 <quantumEd> E=hf is the true einstein equation, if you think E=mc^2 you are educated evil
21:17:02 <oklofok> i don't believe in physics
21:18:01 -!- MigoMipo has quit.
21:18:15 <ehird> that's a complete sentence
21:18:18 <ehird> (that was two sentences)
21:18:29 <ehird> should prolly try this punctuation thing
21:18:36 <ehird> hear it lets you do stuff like that in-band
21:18:40 <oklofok> "that's a complete sentence" is two sentences?
21:18:51 <ehird> that's a complete sentence.
21:18:55 <ehird> i don't believe that's a complete sentence
21:19:42 <oklofok> can't find a way to split "that's a complete sentence" in two
21:21:27 <ehird> or cock them first
21:21:35 <oklofok> no i think i'm just supposed to put them in the fridge for a few hours before eating
21:21:42 <ehird> 09:06:08 <Pthing> what is wrong is not listening to other people who have
21:21:43 <ehird> 09:06:21 <Pthing> you needlessly and pointlessly cripple yourself
21:21:43 <ehird> 09:06:41 <MALDEK> because i CAN....thats why we have a mind
21:23:41 <ehird> that's the esoidiot
21:23:47 <oklofok> yay, i just solved two problems by dropping my peas in my too warm juice
21:23:57 <ehird> 09:09:15 <MALDEK> by the way: you know a funny paradox? the peace-nobel-prize....thats how the human world is
21:23:57 <ehird> i don't think you know what a paradox is
21:24:09 <oklofok> he has a mind, therefore he doesn't have to listen?
21:24:25 <quantumEd> SOme people when encountered with a problem, put their peas in their too warm juice: Now they have no problems.
21:25:58 <ehird> 09:15:40 <Pthing> there's no point in despising it because people get paid to do it
21:25:58 <ehird> he's probably homeless and trying to rationalise (well, er, not RATIONALise per se...) it
21:26:10 <ehird> 09:06:52 <Pthing> You can what
21:26:10 <ehird> 09:07:22 <MALDEK> i can think for myself
21:26:18 <ehird> so, yeah, he doesn't have to listen
21:26:24 <ehird> because he can think every thought uniquely without relying on anything
21:26:26 <ehird> wonder what his axioms are.
21:26:47 <ehird> 09:29:05 <MALDEK> 6 is 3 dualities balanced by 90 degree offset...creates the room and the stabelizing powers that something can grow in it
21:26:48 <ehird> (seconds earlier: 09:25:40 <MALDEK> sorry...i am a bit confused....the leftovers of pthing-talk)
21:26:58 <ehird> i like how the above is post-recovery
21:28:28 <oklofok> seriously that's so awesome
21:28:32 <ehird> 09:31:01 <MALDEK> or any kind of materia
21:28:32 <ehird> 09:31:26 <Pthing> what is materia
21:28:33 <ehird> 09:31:45 <MALDEK> pthing...are you some kind of mind-officer? karma police?lol
21:28:37 <ehird> "HOW DARE YOU CHALLENGE ME"
21:28:57 <oklofok> ARE YOU SOME KIND OF MIND-OFFICER
21:29:02 <ehird> 09:33:52 <MALDEK> brb.....materia coming on a plate=food=energy...lol
21:29:02 <ehird> 09:34:03 <Pthing> oh, so materia is matter?
21:29:02 <ehird> 09:40:26 <MALDEK> back...materia comes from mater, latin for mother....its the desciption for focused and stable energetic "cluster"
21:29:02 <ehird> 09:40:46 <Pthing> well okay but you can describe matter in the same way
21:29:03 <ehird> 09:40:58 <Pthing> so why aren't you talking about matter
21:29:11 <ehird> "Because matter is science and materia is esoteric!"
21:29:31 <ehird> maybe if he was any good at this mysticism stuff he could just energise his materia from the area around him
21:29:40 <Pthing> don't, there's no point
21:29:53 <ehird> Pthing: i know, but i have to get cheap laughs from somewhere
21:30:03 <ehird> 09:41:23 <AnMaster> MALDEK, err I think you are confused about what this channel is about. It is esoteric *programming* languages
21:30:27 <ehird> see now if he'd asked whether *AnMaster* was a mind-officer i'd be half-tempted to agree :)
21:30:59 <ehird> 09:45:57 --- quit: MALDEK ("http://irc2go.com/")
21:30:59 <ehird> you ruined our fun for a few minutes, jackass :P (okay so he came back)
21:30:59 <oklofok> yeah AnMaster is a total mind-officer
21:31:20 <ehird> i'm always confused why people care what we're talking about if nobody has esolang talk to do
21:31:30 <ehird> any why doesn't he do "err this channel is about esolangs, not physics", he's talking about physics now
21:32:41 <oklofok> well wolfram said physics is actually just macroPHILIC study of CA's
21:32:49 <ehird> 06:10:03 * oklofok tries to imagine fizzie say that
21:33:11 <ehird> oklofok: shut up or i'll grep to prove it
21:33:16 <quantumEd> oklofok, do you know a summary of wolframs thesis?
21:33:18 <ehird> i'm grepping anyway
21:33:31 <ehird> i only have august to yesterday downloaded atm
21:33:33 <ehird> will try those first
21:33:36 <quantumEd> oklofok, I've been trying to find one for ages, all I get is people complaning that he didn't use enough citations
21:33:46 <Pthing> "stephen wolfram is the smartest guy in the room"
21:33:50 <Pthing> is the thesis generally
21:34:08 <quantumEd> Pthing not really what I am looking for
21:34:28 <Pthing> principle of computational equivalence
21:34:40 <ehird> nothing in the last few months
21:34:54 <oklofok> ehird: and nothing never also as well.
21:35:03 <ehird> oklofok: ask him ffs
21:35:12 <ehird> Pthing: are you saying that that's his thesis
21:35:14 <ehird> or do you actually think that
21:35:17 <pikhq> In GNU C, sizeof(void) is 1.
21:35:23 <Pthing> it's one of his big theses, at least
21:35:28 <Pthing> I don't know if it's the one you had in mind
21:35:42 <ehird> Pthing: i mean do you actually think he's the smartest guy in the room
21:35:45 <pikhq> Because GCC allows pointer arithmetic on void*.
21:36:07 <Pthing> but I think in Stevie's Big Book of How Clever I Am, he says he thinks that the principle of computational equivalence is central
21:36:07 <ehird> "The first usable version will be released on Dec 1 2009. Watch out! ;)" -sta.li
21:36:09 <pikhq> sizeof(any function type) is also 1, for the same reason.
21:36:17 <Pthing> quite a lot of rooms, probably
21:36:26 <ehird> such as ones only he is in
21:36:41 <Pthing> no, in each room I am placing a test wolfram
21:37:07 <oklofok> computational equivalence isn't really wolfram's work, just what turing said a few centuries ago sans math; after getting that out of the way the other half of NKOS is informal study of different sorts of CA's, and their properties, lots of interesting stuff, but not all that educational.
21:37:11 <ehird> well, ok, he's smart
21:37:14 <ehird> but he's not clever
21:37:14 <Pthing> but then I'm the smartest guy in a lot of rooms and so are you and so is everyone else here probably
21:37:25 <ehird> he's a fool and an egotist, which basically invalidates the use of his intelligence
21:37:45 <Pthing> there's a big budget sheet somewhere
21:37:49 <ehird> yes really, his books are worthless and Mathematica isn't even mostly his work (and sucks)
21:38:14 <ehird> Pthing: if you doubt me, read http://groups.google.com/group/comp.lang.lisp/msg/f3b93140c2f2e922?dmode=source&output=gplain
21:38:21 <ehird> he's never changed
21:38:49 <Pthing> i don't doubt he's an arse
21:38:57 <ehird> it's not about him being an arse
21:39:00 <Pthing> i just don't think being an arse "invalidates the use of his intelligence"
21:39:03 <ehird> did you actually read it or are you avoiding third-party knowledge too
21:39:28 <Pthing> i got distracted a sentence in,
21:39:37 <Pthing> i'll read it before i say anything else here, though, i swear
21:40:00 <ehird> i mean okay it is about him being an arse, but it has more implications than that
21:41:40 <ehird> see for instance paragraph two
21:41:57 <ehird> such a failure in rationality does indeed have a massive blow to any "raw intelligence"
21:42:27 <ehird> intelligence has to be harnessed rationally to be useful, and wolfram is completely incapable of this; he runs on his ego alone
21:42:40 <Pthing> i agree with you about raw intelligence
21:42:55 <Pthing> i would say that his being an arse does *get in the way* of the use of his intelligence
21:43:07 <Pthing> he could do better if he weren't an arse, but it doesn't invalidate it
21:43:15 <ehird> "a new kind of science" isn't just autofellating, it's been criticised on its technical aspects many times (inc. people with fields medals), and he just says that he's right, history will prove you wrong, QED
21:43:27 <Pthing> he also cites the history!
21:43:33 <Pthing> (also available in paperback)
21:43:36 <ehird> i honestly don't think wolfram himself has EVER produced something of value on itself
21:43:40 <Pthing> (wherever good books are sold)
21:43:47 <ehird> *value in and of itself
21:44:03 <ehird> mathematica is shit. yes, it's fun to play around with, but he didn't add the bits that made it
21:44:14 <Pthing> that's a hard thing to say about a person
21:44:25 <ehird> ANKoS is meaningless, not rigorous and has been criticised many times; and doesn't really have much of value or anything unique
21:44:47 <Pthing> in spirit then it's broadly true, with the proviso that the standard you are using of "something of value" is the one he *talks about*
21:44:48 <ehird> wolfram alpha, nope, not his, he doesn't do shit, he just stands around
21:45:04 <ehird> "He wrote a widely cited paper on heavy quark production at age 18."
21:45:04 <ehird> ok, let's give him one point
21:45:11 <ehird> "His work with Geoffrey Fox on the theory of the strong interaction is still used today in experimental particle physics."
21:45:16 <ehird> ok, so he did two valuable things in physics
21:45:18 <Pthing> i will happily give him a handful of points
21:45:26 <ehird> but that's just in his past
21:45:27 <Pthing> and he did some good business, too
21:45:29 <ehird> nobody knows him for that
21:45:35 <Pthing> i think of him as a businessman
21:45:40 <Pthing> rather than a scientist
21:45:44 <ehird> he doesn't think he is
21:45:51 <ehird> you can see in ANKoS that he thinks he's a scientist
21:45:57 <ehird> he takes credit for everything wolfram research produces
21:46:04 <ehird> heck, he took credit for ais523's proof of the turing thingybob
21:46:09 <oklofok> i mentioned to one of our CA profs i'd read NKOS and he was like "oh dear..."
21:46:09 <ehird> Pthing: and edison was a jackass.
21:46:16 <Pthing> that's pretty standard practice for businessmen-who-think-they're-scientists, though, is my point
21:46:20 <Pthing> they're also jackasses
21:46:21 <pikhq> I think it clear that Wolfram is a businessman who thinks himself a scientist.
21:46:35 <ehird> Pthing: i don't think edison was as blatantly egotistical and smarmy, though
21:46:48 <Pthing> wolfram doesn't have the power to be evil
21:46:59 <ehird> and i think edison was evil in a cunning way, which requires intelligence
21:47:02 <ehird> wolfram just lumbers about
21:47:11 <Pthing> edison was in the second industrial revolution
21:47:17 <Pthing> he was literally giving power to people
21:47:21 <pikhq> He appears to know enough to perhaps *be* a scientist. Wolfram just... Doesn't.
21:47:31 <pikhq> He prefers wanking about how cellular automatons are the shit.
21:47:35 <Pthing> wolfram is just giving people a slightly better calculator
21:47:36 <ehird> wolfram could probably have been a physicist if he hadn't gone into CA
21:47:38 <ehird> from reading his wp page
21:47:42 <Pthing> it doesn't really compare to electrifying the united states
21:47:42 <quantumEd> how can you say this pikhq that is so arrogant
21:47:43 <ehird> Pthing: no, wolfram research is
21:47:54 <ehird> quantumEd: He said nothing arrogant.
21:47:56 <pikhq> quantumEd: Is it false?
21:47:58 <Pthing> ehird, then that is the wolfram I meant obviously
21:48:03 <Pthing> the fact they are so easily confusible is entirely coincidental
21:48:11 * Pthing coughcough amalgamated edison
21:48:12 <quantumEd> I don't know but I assume you know Wolfram just as well as I do
21:48:34 <ehird> the people directly below wolfram in wolfram research are like three times as smart as him and five billion times less egotistical
21:48:42 <pikhq> quantumEd: I don't intend to demean his work: Mathematica, for example, is a decent bit of work. Wolfram just has a highly inflated ego.
21:48:52 <ehird> quantumEd: we know quite a bit about the guy, prolly cause of ais523 winning that prize of his
21:48:53 <pikhq> And he honestly doesn't do that much scientific or mathematical.
21:48:58 <ehird> or because he's hilarious
21:49:00 <Pthing> also i don't know how much work wolfram did on like
21:49:04 <Pthing> the early versions of mathematica
21:49:13 <ehird> A lot, but it was quite boring then.
21:49:18 <pikhq> Pthing: That is, in fact, entirely his work.
21:49:20 <quantumEd> well you are having a lot of ego to say he is wanking about CA and doesn't know enough to be a scientist
21:49:28 <quantumEd> I think that is a rude thing to say
21:49:28 <Pthing> and that was good enough to sell
21:49:28 <ehird> Not as good as Macsyma, didn't have any of the nifty features that make modern Mathematica fun for tinkering (tinkering ONLY).
21:49:37 <pikhq> quantumEd: I never said he doesn't know enough to be a scientist.
21:49:41 <ehird> quantumEd: There is no ego involved in that.
21:49:46 <ehird> That is not what ego means.
21:49:47 <pikhq> quantumEd: I did, in fact, say the exact opposite of that.
21:49:48 <quantumEd> <pikhq> He appears to know enough to perhaps *be* a scientist. Wolfram just... Doesn't.
21:50:03 <quantumEd> I read that as Wolfram doesn't know enough to be a scientist ?
21:50:13 <pikhq> I meant to say that he just doesn't do science.
21:50:31 <Pthing> Several places have been named after Edison, most notably the town of Edison, New Jersey.
21:50:36 <Pthing> that's a good difference
21:50:43 <Pthing> Wolfram is never going to have a city named after him
21:51:01 <quantumEd> I don't really know what he does, but I'm sure he knows everything you learn in a university mathematics course, for a start
21:51:06 <ehird> WHO IS JOHN GALT WHO IS JOHN GALT *gets bludgeoned by a bloody hammer of penetrating hell*
21:51:30 <pikhq> quantumEd: You realise I'm a math major, right? :P
21:51:41 <quantumEd> so calling him a wanker that only wants to fuck gliders is probably not correct
21:51:52 <pikhq> oklofok: Dual majoring.
21:51:53 <ehird> a university mathematics course, gosh
21:51:54 <quantumEd> I don't know what you being a math major has to do with it
21:51:56 <ehird> the famously known
21:52:12 <mycroftiv> I wouldn't trust a math major, only a 4-star math general
21:52:15 <ehird> a siphon of pure, worthwhile, unadulterated genius which negates your ability to ever be a wanker
21:52:25 <ehird> mycroftiv: haha never die please, you're too entertaining to die
21:52:37 <oklofok> pikhq: was this second year?
21:52:58 <pikhq> quantumEd: He's qualified in physics, not math. ... Granted, the only field that uses math more than physics is, in fact, math...
21:53:09 <pikhq> oklofok: More like first. Things got... Weird last semester.
21:53:22 <quantumEd> yeah I'm sure he knows at least everything you learn in a university level physics course too
21:53:31 <ehird> Pthing: you should pick through mycroftiv's http://sphericalharmony.com/, that'd be amusing
21:53:32 <oklofok> pikhq: define weird if it's not too private
21:53:33 <pikhq> quantumEd: No shit. He's got a doctorate in it.
21:53:33 <quantumEd> and he probably knows as much computing as any of us
21:53:36 <ehird> personally i can't even figure out how to navigte
21:53:47 <pikhq> oklofok: Rather not talk about it.
21:53:58 <ehird> Pthing: http://sphericalharmony.com/ is mycroftiv's site
21:53:58 <pikhq> quantumEd: ... "Knows as much computing as any of us"?
21:54:21 <ehird> wolfram probably is well-educated in computing
21:54:27 <ehird> but he couldn't innovate in it
21:54:34 <quantumEd> I was thinking he was publishing computing papers at 18 but that's not true is it
21:54:36 <ehird> a couple of us here probably could, because, well, this channel is about computation
21:54:37 <pikhq> You are aware that one of our number devised a proof that Wolfram himself admitted he could not figure out, right?
21:54:45 <pikhq> Oh, and that we know a *lot* of computing.
21:54:50 <mycroftiv> Pthing: i have this idea that the mathematical structure of music has a meaningful metaphorical relationship with modern physics - I am competent on the music end, less so on the math end despite a lot of effor
21:54:52 <ehird> ok, don't get too egotistical
21:55:04 <quantumEd> pikhq yeah I retract that, I was mixing up two people
21:55:19 <ehird> ais's proof is especially impressive in that he doesn't study computation
21:55:46 <Pthing> mycroftiv, of good music or bad music
21:56:29 <ehird> i'd be inclined to take sphericalharmony.com more seriously if it wasn't called that and didn't make me feel like i was on a bad acid trip with the design
21:56:33 <mycroftiv> Pthing: pretty much any music that is constructed from rhythmic time cycles on multiple levels, which is basically every kind of music except stuff with no tonality or regular rhythm
21:56:56 <ehird> mycroftiv: no, it's awful is what it is
21:57:04 <Pthing> that's boring, anyone can do that
21:57:09 <Pthing> you need to work good music into it more
21:57:20 <ehird> good music is music without rhythm? :)
21:57:51 <Pthing> "rythmic time cycles on multiple levels" is mostly beep boop algorithmic shit
21:57:52 <mycroftiv> well my particular field of study is the standard western european canon, so my actual work on this tends to use Beethoven's piano sonatas as a proving ground, like everyone else's theory work
21:57:54 <Pthing> and not so much good music
21:58:15 <mycroftiv> Pthing: no, any steady pitch is a fast rhythm, percussion is a slow rhythm
21:58:26 <mycroftiv> a=440 means that a is a rhythm of 440 beats per second
21:58:44 <ehird> Pthing: erm as far as i can tell that describes most music
21:58:47 <mycroftiv> all steady pitch is inherently rhythmic, musical harmony is simple ratios of said rhythms
21:59:14 <fizzie> I don't think I've said "xD" (well, I have, now), but I could be wrong.
21:59:28 <ehird> what ecks dee do you do, have you ever done
21:59:48 <ehird> Pthing: no i mean even like, i don't know, whatever long-dead composer you enjoy
21:59:58 <oklofok> fizzie does not use emoticons
21:59:58 <oklofok> because he does not have emotions
22:00:07 <oklofok> he is a bot programmed by fungot
22:00:08 <fungot> oklofok: almost everywhere you can go to the gym
22:00:20 <Pthing> ehird, two words: music space
22:00:23 <ehird> i used to call emoticons/smilies just emotions
22:00:25 <fungot> oklofok: i think some little roses or something and you know we're pretty fnord about that because
22:00:34 <ehird> i didn't realise you spelt it differently
22:00:39 <fungot> quantumEd: i think that they're more like they're doing a survey on how people feel about it
22:00:47 <ehird> Pthing: two words: potato wingdings
22:01:44 <fizzie> Oh, that's the Fisher telephone speech corpus style in fungot now; I think I set it, I wanted an example out of it.
22:01:45 <fungot> fizzie: oh i see so it they have a rebate program too every month or every year when you go and undo all the hard work afterwards ' cause you
22:02:07 <fungot> Available: agora alice c64 ct darwin discworld europarl ff7 fisher* ic irc jargon lovecraft nethack pa speeches ss wp youtube
22:02:14 <fungot> Selected style: ss (Shakespeare's writings)
22:02:17 <fungot> ehird: sp. let me see my sonne antipholus and dromio againe.
22:02:23 <fungot> ehird: iust. wel, heauen send anne page, and pistoll. peto. good morrow foole ( quoth i) ' twas i wonne the wager, to lucentio. though you hit the white, a thousand groans but thinking on thy face, so he does to lady vanity; but we have no other comfort haue. but tell me, hubert.
22:02:42 -!- ehird has set topic: but tell me, hubert. http://tunes.org/~nef/logs/esoteric/?C=M;O=D.
22:03:05 -!- kar8nga has quit (Connection timed out).
22:03:54 <fizzie> fungot: You still have some way to go before you quite manage to surpass the original.
22:03:55 <fungot> fizzie: adam. is old dogge my reward: most true, forsooth; and, i think some kind of peace has more hidden fnord, and make itself a pastime to harder bosoms! looking on the lines of my boy's face, fnord cannot tell how: but i had not been.
22:05:00 <ehird> Make itself a pastime to harder bosoms.
22:08:06 <ehird> mycroftiv: does plan 9 actually have drivers as such or is it just privileged processes
22:08:14 <ehird> like a process talks to the keyboard and exposes /dev/kb
22:08:28 <ehird> not purist enough :P
22:08:40 <mycroftiv> yeah that relates to what i was saying about making 9p more thoroughly integrated
22:09:44 <ehird> is it just for efficiency?
22:09:49 <ehird> and to avoid being a microkernel :P
22:10:07 <mycroftiv> i think its pretty much because making a traditional kernel was the easy thing to do
22:10:40 <ehird> mycroftiv: how do you feel about, in a plan9-alike os, having a process be just a goroutine/plan9 thread, and having IPC be done with files used as go/plan9 channels
22:10:48 <ehird> or, i don't know, something
22:11:01 <ehird> mycroftiv: i don't think you need the keyboard to boot at any point :P
22:11:08 <ehird> all you need is a disk driver, really
22:11:20 <ehird> once you can read from disk, you can get yourself to the point where you can run processes
22:12:37 <mycroftiv> yeah what you described is fairly isometric to my fantasies of a plan9 type environment where everything is an independent synthetic file server
22:13:37 <ehird> why have more than one file server?
22:13:55 <ehird> mycroftiv: actually i have to admit, I'm skeptical about having a separate file/cpu server in this day and age
22:14:00 <ehird> in the 90s, when processing power was limited, ok
22:14:06 <ehird> nowadays? come on, filesystems are kiddie shit to run
22:14:07 <mycroftiv> every 9p fs is a file server, that is the context i meant
22:14:21 <ehird> mycroftiv: why not the other way around
22:14:38 <ehird> incidentally does plan9 have separate tmpfs and memfs?
22:14:55 <ehird> tmpfs is on disk (so you can put huge shit there) but gets removed on shutdown/boot
22:15:05 <ehird> (basically just a dir that you rm -rf in the scripts)
22:15:12 <ehird> memfs is an fs in memory
22:15:20 <ehird> nothing really seems to make that distinction, which is puzzling
22:15:55 <mycroftiv> well /tmp is only treated specially in not being archivally snapshot by fossil on disk, and the ramfs stuff isnt used that much
22:16:11 <mycroftiv> maybe im missing the real question you are asking though
22:16:36 <ehird> well, often there isn't a clear distinction between
22:16:49 <ehird> a temporary directory (one that gets cleaned regularly but is on disk)
22:16:53 <ehird> and an in-memory filesystem
22:17:01 <mycroftiv> well in plan9 its pretty clear i think?
22:17:19 <ehird> mycroftiv: does it have a ramfs, then?
22:17:20 <mycroftiv> everything is synthetic or kernel provided or comes from a userspace program that does disk operations
22:17:25 <ehird> does plan 9 have swap space?
22:17:31 <ehird> swap space is kinda useless nowadays i think
22:17:32 <mycroftiv> there is a ramfs program (actually 2) but its rarely used
22:17:39 <mycroftiv> you can set up plan 9 with swap, yes
22:17:42 <ehird> and malloc() failing should probably happen more than never
22:17:44 <ehird> mycroftiv: common?
22:17:48 <mycroftiv> thats just handled by the kernel though
22:18:16 <ehird> losethos has gone totally off the deep end
22:18:19 <mycroftiv> i dont use swap in plan9 really, but i think its often standard to configure disks that way
22:18:44 <ehird> yes, he was insane and had that random-word-god-talking crazy s hit
22:19:06 <ehird> http://www.reddit.com/r/systems/comments/a8c03/ohh_you_must_want_to_talk_to_god/
22:19:07 <ehird> http://www.reddit.com/r/systems/comments/a8c58/gestappo_duart/
22:19:07 <ehird> http://www.reddit.com/r/systems/comments/a8c9h/youre_fucked/
22:19:07 <ehird> http://www.reddit.com/r/systems/comments/a8is3/masterslave_multicore/ ;; lol, a normal post in the middle
22:19:07 <ehird> http://www.reddit.com/r/systems/comments/a8iyo/maybe_i_didnt_make_it_clear_you_want_god_to_fuck/
22:19:39 <ehird> pikhq: https://staff.aist.go.jp/y.oiwa/FailSafeC/index-en.html you'll like this
22:20:24 <mycroftiv> "You should be so lucky for God to be RS232 or something. Look-out, if I'm not programming I'm praying. Yes, take that as a threat."
22:20:29 <ehird> "Look -- evolution on the brain is not health and is childish. It's like porn. It's seductive. Resist. Porn is creepy. Evolution on the brain is creepy. You will die-off."
22:21:27 <ehird> the nicest thing about making an OS is that you get to name thiings
22:21:36 <ehird> the installer's disk geometry detection tool?
22:22:19 <ehird> mycroftiv: does plan 9 handle distributed computing, btw?
22:22:25 <ehird> that is, non-local clusters
22:22:30 <Pthing> when you said "off the deep end" i didn't expect that you meant "full schizo rambling crazy"
22:22:38 <ehird> can you just add a computer from the internets to a cluster
22:22:42 <ehird> Pthing: well, he was that before
22:22:47 <pikhq> ehird: Fail-Safe C, eh?
22:22:52 <ehird> but now he's that, spamming, and making inexplicable threats
22:22:55 <mycroftiv> plan9 is a great architecture for distributed computing for several reasons, but there isnt a single-system image model for it or anything
22:22:59 <Pthing> he seemed reasonably sane in the videos on his website
22:23:10 <ehird> Pthing: click the name on those submissions, scroll down for a bit
22:23:12 <Pthing> as sane as anybody who wrote that can be expected to be
22:23:31 <Pthing> this website has the worst interface ever
22:23:36 <ehird> mycroftiv: what i mean is, do you haev to set it up specially, like
22:23:42 <ehird> a cluster is just a list of local hosts, basically
22:23:44 <ehird> more set up obviously
22:24:06 <ehird> so you could just pop in one from across the globe and set it up on both ends, theoretically
22:24:13 <ehird> would the scheduler handle that?
22:24:48 <mycroftiv> as i said, plan9 doesnt have kernel level cluster scheduling as an intended feature
22:24:57 <ehird> what, even for local clusters?
22:25:00 <mycroftiv> instead, the model is that any resource can be presented as a network transparent fs
22:25:09 <mycroftiv> no, not at all, whole different paradigm
22:25:45 <ehird> but my main point is
22:25:55 <ehird> you could, theoretically, wire up a machine across the globe into a plan 9 network/cluster/whatever
22:26:02 <ehird> and it would be just like on the local network, except slower
22:26:04 <mycroftiv> the model is that since each process has independent namespace, and anything that is presented as a filesystem (in other words, everything) is network transparent, you can have multiple processes on a single machine seamlessly making use of resources from anywhere on the network
22:26:47 <ehird> "Note: PAE used to be limited to 36-bit physical addressing, but on 64-bit CPUs PAE has been extended to works with "however many physical address bits the CPU supports" (the same limit as long mode)."
22:26:53 <ehird> mycroftiv: would this be feasible?
22:27:01 <ehird> i'm thinking lots of little clusters with fast internet connections
22:27:27 <Pthing> that's why his OS has that...
22:27:28 <pikhq> 64-bit CPUs extend PAE even in protected mode?
22:27:40 <Pthing> he uses it to get messages from God
22:27:42 <ehird> Pthing: well you probably have /usr/share/dict too
22:27:46 <mycroftiv> sure in theory but remember speed of light is a pretty serious barrier for computational clustering on the wide scale no matter how cool your design is
22:27:48 <ehird> Pthing: his god-talker is literally
22:27:49 <pikhq> There goes a decent chunk of the advantage of long mode.
22:28:04 <ehird> for n = 0 to length { print rand(words) }
22:28:10 <ehird> no extra algorithm
22:28:27 <mycroftiv> as awesome as the 9p protocol is, it has quite a bit of latency on stuff on WAN because there is a lot of ping-pong messages back and forth constantly
22:28:40 <Pthing> i think the KJV is the source of most of his words too
22:28:45 <ehird> i was about to link to http://rescomp.stanford.edu/~cheshire/rants/Latency.html
22:28:45 <Pthing> so there's a jesusy flavour to it
22:29:04 <ehird> theoretical minimum latency from stanford to boston and back is 43.2ms
22:29:06 <ehird> which isn't too ba
22:29:21 <ehird> if you have a cluster in each location, then they can get work done even while waiting
22:29:39 <mycroftiv> im not trying to be discouraging, im the worlds biggest fan of ad-hoc wide area plan9 gridding
22:29:40 <ehird> i mean, i'm assuming that these things have decent internet connections
22:30:01 <mycroftiv> but even a 43.2 ms latency adds up fast if you are bouncing a lot of messages back and forth for every operation
22:30:01 <pikhq> ehird: ... "God-talker"? I presume you're talking about that silly crazy OS that has no memory protection?
22:30:12 <ehird> pikhq: Part of Losethos, yes. Or at least, it's the same guy.
22:30:16 <ehird> pikhq: Did you click my links?
22:30:27 <ehird> [22:24] ehird: http://www.reddit.com/r/systems/comments/a8c03/ohh_you_must_want_to_talk_to_god/
22:30:27 <ehird> [22:24] ehird: http://www.reddit.com/r/systems/comments/a8c58/gestappo_duart/
22:30:28 <ehird> [22:24] ehird: http://www.reddit.com/r/systems/comments/a8c9h/youre_fucked/
22:30:28 <ehird> [22:24] ehird: http://www.reddit.com/r/systems/comments/a8is3/masterslave_multicore/ ;; lol, a normal post in the middle
22:30:28 <ehird> [22:24] ehird: http://www.reddit.com/r/systems/comments/a8iyo/maybe_i_didnt_make_it_clear_you_want_god_to_fuck/
22:30:30 <pikhq> Which? You've given several.
22:30:31 <ehird> He's finally lost the last vestige of his sanity.
22:32:15 <Pthing> Here's some help for the psychologists to unravel. I was born Catholic, got A's in school and a 1440 SAT. I loved computers. I had an older brother who got me into rock music and stoned a few times. Became an atheist just like all you computer nerd atheists at age 19. About 6 years lader, noticed crazy spiritual shit that definitely meant atheism wasn't the answer. Got scared and returned to Catholicism. developped a ha
22:32:15 <Pthing> bit of what might seem occult or pagan -- cracking-open my bible randomly and getting responses. I decided this is how people in the Bible talked with God -- ouijii boards essentually, but they're kosher -- it's basically what Christians call tongues, being puppeted and nothing pagan.
22:32:37 <ehird> mycroftiv: does plan 9 have a raw /dev/keyboard, or is /dev/cons the only way to get at it?
22:33:00 <pikhq> The worst part about Losethos is that the guy is plainly quite smart -- just crazy.
22:33:05 <ehird> mycroftiv: yeah, ok
22:33:19 <mycroftiv> but the plan 9 keyboard is '#c' the console device, a file tree provided by the kernel which gets bound to /dev/cons
22:33:24 <ehird> mycroftiv: i was thinking i'd multiplex /dev/kb, but then i realised that's basically what rio does with /dev/cons
22:33:27 <ehird> mycroftiv: see, i dislike that
22:33:37 <pikhq> (it's not like someone who's stupid is going to write an OS with its own compiler for its own language, after all...)
22:33:41 <ehird> imo, / should start off as an empty, immutable namespace
22:33:44 <ehird> well, not immutable
22:33:52 <mycroftiv> it does, but the kernel builds the early stages of it
22:33:53 <ehird> then you bind stuff and run 9p servers
22:33:58 <ehird> to get /dev/thedisk
22:34:09 <ehird> thefs /dev/thedisk /
22:34:11 <ehird> and it binds it to /
22:34:13 <mycroftiv> look at 'ns' the only reason that the kernel device tree '#c' is /dev/cons is because it got bound there
22:34:15 <ehird> you get what i mean
22:34:21 <ehird> no need for the # magic at all
22:34:35 <mycroftiv> i agree, thats just a consequence of drivers being inside the kernel more or less
22:34:42 <ehird> mycroftiv: do you think combining keyboard and... output is sane?
22:34:45 <ehird> it's elegant i guess
22:34:50 <ehird> you can read and write from /dev/cons because of that
22:35:39 <ehird> mycroftiv: okay, i'm scared; my kernel is going to end up as a multitasker, namespace handler and hardware mediator (plus maybe some stuff with users)
22:35:42 <ehird> sounds like a microkernel to me
22:36:01 <mycroftiv> ehird: yeah actually when playing with plan9 ideas and deciding the kernel should be more module you can kind of end up with the hurd
22:36:14 <quantumEd> any idiot can make a programming language though
22:36:17 <ehird> no way, plan 9 could never shit itself into the HURD
22:36:29 <ehird> mycroftiv: does plan 9 implement users as processes?
22:36:48 <ehird> permissions are done by having the user-login process, parent of all that user's processes, having a namespace in accordance
22:36:52 <quantumEd> I suspect any idiot can make an OS too but I haven't tried, so I can't confirm
22:37:02 <pikhq> mycroftiv: The problem with the HURD is not the microkernel & everything is a file approach.
22:37:13 <ehird> quantumEd: no, they can't
22:37:20 <ehird> you have to do quite a lot of fucking with the hardware
22:37:36 <mycroftiv> ehird: its traditional unix, but there is no root, processes have an owner, and yes namespaces are inherited between processes depending on how you rfork
22:37:42 <pikhq> The problem with the HURD is that there's a lot of dumb design decisions done in it for no good reason.
22:37:45 <mycroftiv> not sure if that answers everything you asked
22:37:50 <pikhq> quantumEd: Writing an OS is freaking hard.
22:37:51 <ehird> the problem with the hurd is t hat it sucks
22:38:07 <ehird> pikhq: well, it's not that hard once you get to writing disk drivers and stuff
22:38:12 <ehird> it's mainly the gdt and all that shit at the start
22:38:13 <pikhq> ehird: The dumb design decisions are why it sucks.
22:38:19 <ehird> disk drivers aren't easy, certainly
22:38:23 <ehird> but they're more tedious than hard
22:38:52 <ehird> From 2004 onward, various efforts were launched to port the Hurd to more modern microkernels. The L4 microkernel was the original choice in 2004, but progress slowed to a halt. In 2005, there was a discussion of whether to change to L4.sec (a different L4 microkernel) or to Coyotos (EROS successor).[13]
22:38:52 <ehird> Although no formal decision was made, most of the Hurd developers' time has gone into thinking about Coyotos,[14] especially since 2006. The lead developer of Coyotos announced that work on that project ceased some months before April 2009.
22:38:52 <ehird> One of the outcomes of the initial attempt to port Hurd to the L4 microkernel was an effort to make Hurd more microkernel independent, rather than relying solely on the Mach interfaces.[15]
22:38:58 <ehird> hurd was mostly worked on for coyotos?
22:39:07 <ehird> quantumEd: well, let's say it's IDE
22:39:11 <pikhq> Just one (very very small) example is how they deliberately chose to make Hurd's libc incompatible with Linux libc.
22:39:17 <ehird> http://www.colorforth.com/ide.html
22:39:20 <ehird> chuck moore's ide diisk driver
22:39:29 <ehird> in Forth (well, ColorForth)
22:39:30 <pikhq> You actually have to make major efforts to port to Hurd.
22:39:34 <ehird> (chuck moore = inventor of forth if you didn't know)
22:39:39 <ehird> anyway, it's mostly pushing and reading bits from hardware
22:39:42 <ehird> with a tiny bit of control flow
22:39:47 <ehird> that's slow but workable
22:39:52 <ehird> then a filesystem is just whatever structure you put on disk
22:39:58 <pikhq> Rather than "well, it's got glibc and GCC; not likely things will break."
22:40:02 <ehird> pikhq: really? you can run GNOME on HURD
22:40:11 <pikhq> ehird: Yes, but it takes *porting*.
22:40:22 <ehird> hurd has a list of groups instead of users doesn't it
22:40:28 <ehird> Under Unix every program running has an associated user id, which normally corresponds to the user that started the process. This id largely dictates the actions permitted to the program. No outside process can change the user id of a running program. A Hurd process, on the other hand, runs under a set of user ids, which can contain multiple ids, one, or none. A sufficiently privileged process can add and remove ids to another process. For example there is
22:40:28 <ehird> password server that will hand out ids in return for a correct login password.
22:41:00 <ehird> mycroftiv: i'd say that glenda is pretty close to root
22:41:06 <ehird> there's not really anything you can't do as glenda :)
22:41:10 <ehird> but yeah, not absolutely privileged
22:41:12 <SimonRC> um, I think gnome has re-invented the permissions server idea at least once
22:41:13 <pikhq> They should have at the very least made Hurd expose an perfectly UNIX API.
22:41:23 <pikhq> Rather than UNIX-esque.
22:41:23 <mycroftiv> thats because when you boot in terminal mode as glenda you are the hostowner, and in fact hostowner is a lot like root
22:41:26 <pikhq> With porting required.
22:41:29 <ehird> pikhq: s/an perfectly/a perfectly/
22:41:32 <mycroftiv> on a cpu server, it is conventional for 'bootes' to be the hostowner
22:41:40 <ehird> mycroftiv: oh yeah all that stuff
22:41:47 <ehird> the cpu/terminal/file server stuff having such different semantics
22:41:49 <ehird> confuses the fuck out of me
22:41:51 <ehird> i don't think i like it
22:42:04 <mycroftiv> its not as different as the names imply actually haha
22:42:04 <ehird> i think there should be one kernel and it depends on what processes you run for what it does
22:42:18 <ehird> it's spooky how where you're logged in from changes what a user can do and the like
22:42:19 <mycroftiv> the terminal and cpu kernels are basically identical, and what you said is correct
22:42:22 <Pthing> he really hates linux "hobbiests"
22:42:34 <ehird> Pthing: they're darwin atheist nazi sickos who are wrong in the head.
22:42:52 <mycroftiv> ehird: if you take the time to study the system a bit more, you will see that things are actually more free-form than they appear, they have just made the choice to have the system create these semantics perhaps in misguided imitation of traditional style systems
22:42:55 <Pthing> Spirits can puppet people or animals. Ever seen a pet with an expression around the eyes like someone you know? I think that's where witches legends came from.
22:43:11 -!- adam_d_ has joined.
22:43:14 <ehird> mycroftiv: i think consistency is important, and local access should just be remote access bound to the local hardware, essentially
22:43:17 <ehird> quantumEd: because hardware sucks
22:43:20 <ehird> and you have to jump through its hoops
22:43:23 <ehird> you have no standard library
22:43:25 <ehird> not enough infrastructure for that
22:43:29 <ehird> you have to write bare-metal asm and C
22:43:35 <ehird> with no library functions, at all
22:43:45 <ehird> just pointers, arithmetic, and some inline asm for talking to the hardware
22:43:59 <pikhq> Hurd also doesn't define _POSIX_ARG_MAX.
22:44:02 <ehird> until you get into protected mode, set up the gdt table, do crazy jumping
22:44:02 <pikhq> ... For no good reason.
22:44:04 <mycroftiv> ehird: thats the way things are really, you can boot a cpu server and have it bring up bitmap display and login as a user, etc
22:44:04 <ehird> set up all the interrupts
22:44:09 <ehird> OOPS YOUR OS TRIPLE FAULTED
22:44:24 <ehird> mycroftiv: yes, so I'm arguing against the semantics of the terminal, basically
22:44:35 <ehird> if you're looking at a rio session as glenda, that should have the same semantics no matter where it is
22:44:36 <pikhq> (because "The max number of arguments is limited by memory".)
22:44:49 <mycroftiv> ehird: well, to a large extent this is historical and a consequence of a multiple machine design model
22:44:54 <ehird> pikhq: yep, that sure is a useful feature; not
22:44:55 <pikhq> (Linux has the same feature. However, they define _POSIX_ARG_MAX to SIZE_T_MAX)
22:45:06 <ehird> so worth the massive amount of code and the like, you know, all that memory handling
22:45:09 <ehird> when you could just do
22:45:19 <mycroftiv> the very first versions of plan 9 in the late 80s actually DID have very different fundamental OSes running on the different machines - terminal, cpu, and file server
22:45:20 <ehird> char *argv[65536];
22:45:39 <mycroftiv> however, plan9 evolved in the correct direction of making all of those differences just a matter of userspace programs
22:45:40 <pikhq> ehird: The main problem with it, IMO, is not defined that damned constant. It breaks a lot of freaking code.
22:45:45 <ehird> but then, that'd take 64 kilobytes
22:45:47 <ehird> oh nooooooooooooooo
22:45:53 <ehird> all gnu shit takes way more than that :P
22:46:06 <ehird> pikhq: yeah, but it's funny how that breakage is because of a typical gnu non-feature
22:46:14 <ehird> mycroftiv: yeah, i know that piece of history
22:46:18 <mycroftiv> however, the system retains the architectural idea that you want to have separate machines providing different functions (which is actually great if you choose to do so) and consequently there is a lot of 'preconfiguration' done in that vein
22:46:20 <ehird> mycroftiv: but i still disagree with the semantics of logging in from a terminal
22:46:25 <ehird> giving you elevated permissions
22:46:35 <pikhq> ehird: If they just defined the constant to SIZE_T_MAX, it would at least *not break shit*.
22:46:46 <ehird> mycroftiv: well, what does happen?
22:46:49 <pikhq> Amusingly, most of what breaks is glibc.
22:46:51 <mycroftiv> if you are the physical person who boots a machine, you have elevated permissions
22:47:22 <mycroftiv> and booting in 'terminal mode' simply assumes purely on that local machine that the user you log in as is the physical hostowner
22:47:29 * ehird wonders how to usue the disk driver to run the kernel in the bootloader
22:47:34 <ehird> after all, there's no kernel running
22:47:55 <ehird> mycroftiv: well, right, i'm arguing against the physical thing
22:48:01 <ehird> that shouldn't be true, IMO
22:48:06 <mycroftiv> ehird: well that is a valid criticism, perhaps
22:48:16 <ehird> network transparent should mean networkly... uniform
22:48:23 <ehird> the same from across the network as locally, so to speak
22:48:45 <quantumEd> http://linuxgazette.net/issue77/krishnakumar.html looks easy
22:48:58 <ehird> quantumEd: Stop blabbing about things you don't know about.
22:48:59 <mycroftiv> well, there is a level of physical reality in the sense that the person who physicall is at the machine has physical control over it and the pragmatics of giving that person control over the hardware seems kinda sensible
22:49:00 <ehird> That's a boot sector.
22:49:08 <ehird> Useless for actual OS purposes.
22:49:24 <ehird> Real mode, very very very limited in size.
22:49:30 <ehird> Of course THAT'S easy.
22:49:38 <ehird> quantumEd: But could any fool do it? No! You have to know assembly.
22:49:58 <ehird> mycroftiv: I think of it the other way around: you could be able to manage the machine remotely, too
22:50:05 <ehird> as in, always elevate the privileges, but perhaps protect them more
22:50:09 <pikhq> And making something that does more is still difficult.
22:50:11 <ehird> instead of never elevating it
22:50:17 <mycroftiv> you are able to manage the machine remotely if you do authentication as the hostowner user
22:50:24 <pikhq> Even if you make it like DOS, you have to at least know how to write a decent interrupt handler.
22:50:30 <ehird> but if you do it locally
22:50:31 <mycroftiv> i manage all my cpu servers headlessly, i never use the physical keyboard or display
22:50:32 <pikhq> And a lot of utility programs.
22:50:33 <ehird> you can do it as any user
22:50:35 <ehird> and i consider this wrong
22:50:54 <ehird> i'm not plan 9 experienced, munge my minor errors plz
22:51:02 <mycroftiv> only if glenda is the user you boot the machine as
22:51:21 <mycroftiv> if you boot the machine as 'fred' and fred is the hostowner, glenda has no privileges, even on the physical machine
22:51:39 <ehird> you know what i mean
22:51:43 <ehird> i disagree with what it does
22:51:48 <ehird> it should be the same locally as over a network
22:52:40 <mycroftiv> as a practical matter youd have to apply default encryption then demand credentials at boot to make things different in practice
22:53:02 <ehird> remove the code that elevates the permissions of the user you boot the machine as
22:53:20 <mycroftiv> ok, how do you get access to the physical devices then?
22:53:43 <ehird> well, instead you configure a user as the hostowner separately
22:53:50 <ehird> ok, marginally like root but so is the current behaviour
22:53:54 <ehird> it just chooses who is root at runtime
22:54:05 <Pthing> God talks to me. Hasn't said much on homos except smelling farts is "Sodom".
22:54:14 <mycroftiv> well, you can certainly get the kind of behavior i think you want just by how you set up your boot scripts and users
22:54:43 <mycroftiv> i understand that the model of 'trust the person with physical access to the hardware' is considered outdated for some good reasons
22:55:00 <ehird> losethos quote i assume
22:55:02 <Pthing> "I don't want to spend my life reinventing browsers, etc. Instead, I like physics in video games. That's my interest.
22:55:03 <mycroftiv> and i also agree that the default configuration of plan9 as represented by the bell labs distribution is incomplete
22:55:14 <ehird> Pthing: LOSETHOS HAS A FLIGHT SIMULATOR
22:55:14 <Pthing> with crazy people and video game physics
22:55:22 <ehird> it uses all 8 cores and gives you laggy 640x480
22:55:24 <ehird> 16-colour graphics
22:55:27 <ehird> WITH 12 GIB OF RAM
22:55:34 <ehird> it is amaaaaaaaaaaaaaaaaaaaaaaaaaazing.
22:55:46 <Pthing> i saw the video where he put a cockpit on the display
22:56:01 <ehird> mycroftiv: do you agree with me that rio's UI is suboptimal?
22:56:04 <ehird> moving and resizing windows is a pain
22:56:16 <ehird> and having to draw new windows is more annoying than not
22:56:17 <mycroftiv> there is a great trick for resizing
22:56:36 <mycroftiv> if you hold down the button on the rio background, and drag the pointer over a window edge, it 'grabs' it
22:56:49 <mycroftiv> this makes resizing very nice and graceful
22:57:00 <ehird> i don't get it, let me test
22:57:03 <mycroftiv> i agree the plan9 gui is very very suboptimal
22:57:09 <ehird> mycroftiv: but i still think acme is a better ui in general
22:57:16 <mycroftiv> however i dont regard standard desktop environments as 'optimal' either ;)
22:57:18 <ehird> entirely separate from its editorness
22:57:36 <ehird> mycroftiv: let's put it this way — managing windows with rio is more tedious than in os x, and that's saying something
22:58:00 -!- MizardX- has joined.
22:58:05 <ehird> can't replicate your grabbing behaviour
22:58:27 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
22:58:49 -!- MizardX- has changed nick to MizardX.
22:58:52 <ehird> haha it sucks, the mouse acceleration makes it jump over the border most times
22:58:58 <ehird> and the corner is to small to grab, only the edges are feasible
22:59:32 -!- adam_d has quit (Read error: 110 (Connection timed out)).
22:59:45 <mycroftiv> i like the behavior of 'sweeping out' new windows a lot, i miss that in other environments now
23:00:19 <mycroftiv> the scroll bars are the #1 thing i would change, make them behave as standard 'draggable' scrollbars
23:00:24 <ehird> btw moving is still a bitch
23:00:38 <ehird> mycroftiv: scrollwheel and remove the scrollbar
23:00:48 <ehird> (note: unfortunately mice with three buttons AND a scrollwheel are rare)
23:00:58 <mycroftiv> i use the scrollwheel fine, and it works as a button
23:01:01 <ehird> perhaps even non-existent
23:01:07 <ehird> mycroftiv: yes, but that's ergonomically awkward
23:01:26 <ehird> three buttons and then a scrollwheel, like, on the side
23:01:30 <ehird> would be ideal, I think
23:01:38 <ehird> all I know is that i want a scrollwheel but i want three separate buttons
23:01:50 <ehird> mycroftiv: anyway, I'd just completely hide the scrollbar
23:01:56 <ehird> make it appear when you scroll with the wheel
23:02:04 <ehird> then disappear about ~0.5s after you stop
23:02:09 <mycroftiv> for huge windows though the scrollwheel just isnt fast enough
23:02:17 <ehird> mycroftiv: scrollwheel acceleration
23:02:19 <ehird> os x does it, it rocks
23:02:21 <ehird> it rocks off my socks
23:02:27 <ehird> totally intuitive and fluid
23:02:36 <mycroftiv> i cant stand the os x ui personally, i think its worse than the old mac UI pre os x
23:02:49 <ehird> it's usable as a host for doing more interesting stuff
23:02:55 <ehird> it gets some things right, too. scroll wheel acceleration is one
23:03:15 <mycroftiv> i used os x for a long time and never even noticed scroll wheel acceleration, im pretty UI indifferent overall
23:03:24 <ehird> I can scroll at a leisurely pace while reading an article, and I can sweep through one of those gigantic mozilla bugzilla reports that have had arguing for the past nine years in ~5 sweeps
23:03:42 <ehird> mycroftiv: you don't notice it normally, it only appears when you move the wheel quickly
23:03:46 <mycroftiv> i dislike docks however and the idea that having only one menubar at the top of the screen is even vaguely acceptable for a menu based interface
23:04:06 <ehird> the dock is crappy
23:04:15 <ehird> but the menu bar at the top is preferable for an application-based menu interface
23:04:24 <ehird> note that os x menus don't change
23:04:29 <ehird> there is one menu per app, that's it
23:05:35 <mycroftiv> the thing about fitts law is that i dont think its the bounding factor - for me, my brain is always much slower than my hands - im limited by my perceptual speed, and hiding information makes me slower
23:05:36 <ehird> [[I think your attempt to silence me comes a little late. I'm sure they read the article. Why do you want to silence? Are you a shill guilty and wanting to hide from the light of truth? Your evil deeds will be made known.
23:05:36 <ehird> Pathetic attempt at censorship.
23:05:37 <ehird> You sound Indian? Just guessing. No so swift on big picture things and have a problem taking thing literally.]]
23:05:48 <ehird> mycroftiv: in os x you work with one app at a time
23:05:55 <ehird> yes it's bad if you switch between apps, that is not os x's paradigm however
23:06:00 <ehird> Pthing: http://www.reddit.com/r/programming/comments/9xlu5/some_poorly_chosen_programming_words_that_annoy/
23:06:48 <ehird> "I'm not gay. All gays are atheist." —losethos
23:07:20 <ehird> mycroftiv: i'm having real problems with the plan 9 ui with trackballs
23:07:22 <ehird> they're not really suited
23:07:55 <mycroftiv> maybe slow the speed down if possible?
23:08:11 <ehird> [[Reminds me of ther dude who said, "How could a compassionate all loving God not cause the invention of anesthetics centuries earlieer".
23:08:12 <ehird> Moses murdered a dude!]]
23:08:13 <ehird> mycroftiv: nah, not that
23:08:19 <ehird> it's just that slinging the ball isn't very effective
23:08:21 <ehird> e.g. to move things in acme
23:08:30 <ehird> and positioning it to the quite small text can be a pain
23:08:37 <mycroftiv> you can change your acme font size
23:08:38 <ehird> i have 11 years of experience using a mouse
23:08:46 <ehird> and about three weeks of using a trackball
23:08:58 <ehird> mycroftiv: yeah, but i don't want to :)
23:09:10 <ehird> mycroftiv: you know the regular text font you get from man -P? think it's some form of lucida or whatever
23:09:14 <ehird> i wish that was available as a non-postscript font
23:09:18 <mycroftiv> my experience using a trackball is pretty much limited to Missile Command and Centipede back in the awesome days of 80s arcades
23:09:19 <ehird> it's really pretty and i want it as my plan 9 font :(
23:09:56 <mycroftiv> that is page doing rendering using postscript or something, not available as screen font in any way i know of
23:10:05 <mycroftiv> however there are some nice subpixel hinted fonts you can get from sources
23:10:17 <ehird> nah, only os x gets subpixel right
23:10:25 <ehird> all the others do it uglily
23:10:27 <ehird> actually, i find pretty much everything about the output of man -P aesthetically pleasing
23:10:55 <ehird> it's sparse and minimalist, it uses whitespace nicely, it gets the typography right (well, a bit more line height might help; not sure)
23:11:08 <ehird> the organisation is good, the formatting of the synopsis is good
23:11:10 <mycroftiv> indeed, one of the satisfactions of writing plan9 software is that if you use the troff manpage macro package you can get manpages that look so nice
23:11:38 <ehird> I don't use man -P normally, though; it's too slow
23:12:27 <ehird> yeah i think it's the postscript rendering that's slow
23:12:37 <ehird> although the conversion to postscript seems to take a while too, it certainly shouldn't need to
23:13:08 <mycroftiv> the backend for page is usually ghostscript which is a port obviously
23:13:31 <mycroftiv> and a notorious pain to compile with static linking bwahaha
23:13:39 <mycroftiv> uses up something like 800mb+ of ram
23:13:49 <ehird> maybe the error is using postscript
23:14:03 <ehird> maybe page(1) should have a troff renderer that gives the same results
23:14:06 <ehird> like proof(1) but less shitty
23:14:21 <ehird> which is still sloow, but eh
23:14:47 <ehird> if it got the whitespace right and had less hideously awful typography (shitty font rendering, and letter spacing is fucked up), it'd be better
23:16:51 <ehird> mycroftiv: btw do you know why some stuff is in /prog with stuff bound to /bin and the like and some stuff is just scattered about?
23:18:36 <ehird> well ok only acme is like that i guess
23:18:54 <mycroftiv> ok, right - i guess thats just because acme is 'so important' it was given its own directory
23:19:04 <mycroftiv> otherwise id say the system is fairly clear
23:19:22 <mycroftiv> but in general, the idea is that you can make a bin subdir of anything, anywhere - and it 'makes sense' to bind that to /bin
23:19:23 <ehird> i wonder why there isn't more /prog stuff
23:19:33 <ehird> i just wonder why it isn't more widely applied
23:19:38 <ehird> i guess for dir clutter
23:19:54 <ehird> wow, the 9gridchan image is 6 gig in the vm
23:19:57 <ehird> 6 gig of used space that is
23:20:07 <mycroftiv> what? how can that be, you are using qemu?
23:20:24 <mycroftiv> it expands to something like a 512mb file?
23:20:42 <mycroftiv> and the image maximum size is capped at 2gigs of total storage i believe
23:20:48 <ehird> (blah blah you can't access mail boxes)
23:21:01 <ehird> i've installed one or two things i think
23:22:33 <ehird> wow, abaco is slow.
23:22:40 <mycroftiv> hm maybe i set the image max size to 8gigs
23:22:47 <ehird> (why isn't abaco implemented in acme?)
23:22:53 <mycroftiv> it sort of is, but acme doesnt do bitmaps
23:22:57 <ehird> can acme not do varying formatting
23:23:09 <ehird> is it really sort of? it seems to be subtly different to me, but ok
23:23:12 <mycroftiv> abaco is actually fast on native hardware/native graphics
23:23:23 <ehird> does it... render directly to screen or something?
23:23:37 <mycroftiv> in plan9 most stuff renders directly to the screen pretty much
23:24:04 <ehird> i think pleasant web browsing in plan 9 is a pipe dream tbh
23:24:15 <ehird> sure you could make a webkit port with... well, not COLOSSAL effort
23:24:15 <mycroftiv> the links port is decent for simple sites
23:24:22 <ehird> it wouldn't have the plan 9 feel
23:24:24 <mycroftiv> abaco is also usable for some things
23:24:30 <mycroftiv> and abaco has decent integration into plan9
23:24:39 <ehird> links is in contrib?
23:24:41 <mycroftiv> but in many ways the plan9 dream is of a world that isnt http centric
23:24:56 <mycroftiv> yes, and its also already on the qemu image i distribute if you are using that
23:25:25 <ehird> the plan 9 dream is irrelevant, it will be a research os forever
23:25:52 <ehird> the simple truth is... you need to have your other OS booted running a browser, really
23:26:08 <mycroftiv> i think it has a future in more than just research and hobby though
23:26:23 <ehird> ugh, I'm being reminded of how weird links' graphical interface is
23:26:31 <ehird> not in and of itself
23:26:32 <ehird> maybe a derivative
23:26:51 <ehird> yar, the links port is unusable for reddit, thus i dismiss it too
23:27:05 <ehird> also, it has its own scrollbars and shit.
23:27:34 <mycroftiv> i dont do web browsing from inside plan9 myself
23:27:55 <mycroftiv> people who use plan9 as a desktop either tend to use linuxemu or vnc to different machine
23:28:01 <ehird> wonder where it stores its config
23:28:25 <mycroftiv> not hard to find out though im sure if you actually care
23:28:51 <ehird> plan 9's vfork and ndb are probably the only areas where it's actually more complex than the done thing
23:29:41 <mycroftiv> plan9 definitely tries to be simpler in as many ways as possible
23:30:11 <mycroftiv> fossil+venti is pretty complex though, that might be another exception
23:31:16 <ehird> fossil is the filesystem right? and venti the long-term storage
23:31:20 <ehird> WHICH BY THE WAY IS TOTALLY FUCKING BACKWARDS
23:31:34 <mycroftiv> haha yeah fossil and venti are also terrible names basically
23:31:43 <ehird> it's the opposite of what you'd guess
23:32:09 <ehird> i've got to say, fossil's archiving feature — is it really insanely useful?
23:32:11 <ehird> yes, heretic, I know
23:32:12 <mycroftiv> venti is a deduplicative block level data server that knows nothing about filesystems, it just stores and indexes data blocks
23:32:20 <ehird> I just don't read anything about people utilising it
23:32:37 <mycroftiv> fossil is a file server that knows how to both make file trees and store/retrieve them from venti
23:32:58 <mycroftiv> fossil and venti are amazing when used correclty, but they are rarely really used correctly imo
23:33:13 <ehird> but the snapshoting/archiving
23:33:13 <mycroftiv> because the all-in-one standalone system with venti backing fossil is ok, but unfortunately fragile
23:33:22 <ehird> i don't see it being used in practice
23:33:27 <ehird> don't see people using it
23:33:30 <ehird> not don't think people will use it
23:33:33 <ehird> i just never hear about it
23:33:35 <mycroftiv> when do you see people using plan9 at all?
23:33:45 <mycroftiv> and its automatic, so if you are using fossil+venti in default config, its in operation
23:33:46 <ehird> i mean in plan9-ike things
23:33:55 <ehird> is it actually all that useful, is the question
23:34:00 <mycroftiv> i use it heavily, but thats anecdotal evidence
23:34:08 <mycroftiv> its almost like a free version control system
23:34:26 <mycroftiv> and you can use it to do pretty amazing stuff
23:34:41 <mycroftiv> like run a subenvironment of 'your machine in the past' in a subrio inside your updated machine
23:34:55 <ehird> it's not as good as a vcs
23:35:03 <ehird> it's centralised, it doesn't handle merging...
23:35:20 <ehird> so as a vcs for multiple people—or even people who just, you know, do branches and stuff—
23:35:43 <mycroftiv> i mostly agree but it has no problem with branching between multiple users
23:36:22 <mycroftiv> you use vac/vacfs along with the basic snapshotting but no, its not anything like a substitute for git or hg
23:36:38 <ehird> i wonder if emulation is fast enough to use as the basis of a debugger
23:37:05 <ehird> mycroftiv: see, git is kinda like a user-space filesystem, I assume you've read the relevant blatheer
23:37:12 <ehird> if fossil+venti was like
23:37:24 <ehird> a non-user-space (well, "real fs") git
23:37:26 <ehird> that would be exciting
23:37:33 <mycroftiv> it has other advantages though that make it different
23:37:35 <ehird> mycroftiv: would it be fast enough for amd64, though?
23:37:42 <ehird> besides, I bet a 6i would take mountains of effort
23:37:49 <mycroftiv> i have no clue about your question about making an amd64 debugger
23:37:53 <ehird> just as an example
23:38:02 <ehird> mycroftiv: i just meant, would it be feasible to make a debugger based on the ?i suite
23:38:10 -!- adam_d has joined.
23:38:43 <mycroftiv> i barely understand how to use debuggers for anything but kindergarten level stuff, much less what the development of them involves
23:41:00 <ehird> out of context = lol
23:41:07 <ehird> nope, is it part of the core distro?
23:41:12 <ehird> i think debuggers are mostly useless
23:41:36 <mycroftiv> just on the basis of even not knowing how to really use it, it helps me fix bugs in my code
23:41:39 <ehird> The most effective debugging tool is still careful thought, coupled with judiciously placed print statements. —Kernighan
23:41:54 -!- adam_d has quit (Client Quit).
23:42:03 <mycroftiv> but attaching acid to a broken process and doing lstk() has still also been very informative
23:42:12 <ehird> my experience with programming errors (extensive, I might add; I am rather bad at getting things right the first time) tells me that debuggers take more time to use than it does to find the bug with print statements and some reasoning
23:42:20 <ehird> therefore, i conclude that they are — mostly — worthless.
23:42:24 <ehird> mycroftiv: stack traces, yes
23:42:35 <ehird> do a stack trace once
23:42:35 <mycroftiv> thats all i ever use acid for really
23:42:37 <ehird> to find the position of the error
23:42:41 <ehird> then add print statements and reasoning
23:42:51 <ehird> in fact, imo a tool that just prints the stack trace of a process would be better
23:42:54 <ehird> as it'd be quicker to use
23:43:30 <ehird> btw, is it just me
23:43:31 <ehird> http://doc.cat-v.org/unix/pipes/
23:43:32 <mycroftiv> takes me 3 seconds to do that with acid, could be scripted i guess
23:43:36 <ehird> or is McIlroy really bad at english
23:43:46 <ehird> i find it really hard to read that, it's very awkward
23:43:49 <ehird> and has several errors in
23:44:28 <ehird> mycroftiv: yeah, but i mean
23:44:29 <mycroftiv> uh, well, i think the context it was written in was jotting some quick notes
23:44:33 <ehird> i don't see much reason for the debugger to exist
23:44:45 <ehird> so I'd just write a separate prog for it and ditch the debugger
23:44:49 <ehird> mycroftiv: it seems awkward for thatt
23:44:57 <ehird> like, he seems to be trying to explain the ideas to another audience
23:45:36 <mycroftiv> well, if anyone collects everything you say in this IRC and then publishes it in 45 years to examine the origins of your operating system, you may not look as smart as you'd hope, either
23:45:42 <ehird> * would be a fun editor command, "check distance of each word used with the few most recent text entries, swap words as needed then replace"
23:46:01 <ehird> i/hello world are how you today i fthinr that that is cool/
23:46:12 <ehird> mycroftiv: i'm not criticising the guy
23:46:17 <ehird> i'm just wondering why it reads so awkwardly
23:46:42 <mycroftiv> well as knuth said about why literate programming never quite caught on, a lot of programmers actually dont have very high verbal skills
23:47:11 <ehird> i just try removing words until removing any more would result in overly-loquacious twaddle, then i stop
23:47:18 <ehird> not on IRC of course
23:47:43 -!- MizardX has quit (Read error: 104 (Connection reset by peer)).
23:47:43 -!- MizardX has joined.
23:49:06 -!- MizardX- has joined.
23:49:17 <ehird> "Just finished up the wadfs, this exports WAD game content as a filetree or service. This allows anyone to overlay static content with another PWAD or even custom files."
23:49:18 <ehird> this port of doom to plan 9 is the best thing ever
23:49:44 <ehird> mycroftiv: btw does plan 9 have a "vis" (like cat -v as in the cat -v paper), or are you just meant to look at the chars with r io or an editor because they display fine
23:49:47 -!- MizardX has quit (Read error: 131 (Connection reset by peer)).
23:50:09 <ehird> a lot of them show up as [?] tbh
23:50:43 <ehird> I find the behaviour of rio where it doesn't let the program finish outputting and continue until you scroll there infuriating
23:50:51 <ehird> i have to set scroll all the time when i just want to run a batch command
23:51:08 -!- MizardX- has changed nick to MizardX.
23:51:26 <mycroftiv> ehird: change your profile so that it starts rio -s
23:51:37 <mycroftiv> that will make everything scroll always by default unless you change it
23:52:00 <mycroftiv> there is an xd program for hex, octal, decimal, ASCII dump
23:53:27 <ehird> mycroftiv: that isn't what i'm complaining about
23:53:34 <ehird> it should continue and just add for later when not scrolling
23:53:40 <ehird> that is how scrolling works, intuitively and rationally
23:54:11 -!- adam_d_ has quit (Read error: 110 (Connection timed out)).
23:55:23 <ehird> evil games/mahjongg, resizing my window! evil!
23:56:19 <mycroftiv> ehird: well, the idea that the program pauses its execution is very much intended as a feature with positive benefit
23:56:37 <ehird> i have seen not one positive benefit
23:56:38 <mycroftiv> and actually i think you are mistaking convention for intuition and rationality
23:56:41 -!- oerjan has joined.
23:57:10 <ehird> if we define scrollbar as "the selector which defines what position we are viewing in a window of text"
23:57:21 <mycroftiv> the idea that a program might 'run out of room' in the window it is running in and be 'stuck' until you give it more room is actually an impressively 'intuitionistic' idea i think
23:57:27 <ehird> and a text program as having the attribute "continually appends to the text of the window"
23:57:38 <ehird> then moving the scrollbar up pausing the program is arbitrary
23:57:43 <ehird> and does not follow from these definitions
23:58:24 <mycroftiv> well, the core idea of how rio wraps a shell is not based on those principles, have you read rob pike's paper on the blit ?
23:59:25 <mycroftiv> most people, myself included, change rio to autoscroll by default, so i agree that the non-scrolling, execution pausing behavior has not really proved itself as valuable in most peoples usage
00:00:29 <mycroftiv> overall though i think how rio handles the shell is certainly far more rational than the TTY emulation behavior we are used to in *nix
00:03:47 <pikhq> TTY emulation is by no means considered rational. It's just a historical artifact.
00:03:56 <mycroftiv> right, which is why plan9 ditches it
00:05:14 <mycroftiv> ehird: btw if you are interested in persistence, i have done some simple things towards the goal of better plan9 persistence, in particular a 9p fs that can be used for 'screen' like purposes and a version of rio modified to use it
00:35:42 -!- BeholdMyGlory has quit (Remote closed the connection).
00:40:51 <ehird> tty emulation is the most retarded thing ever
00:41:02 <ehird> mycroftiv: i saw that on 9gridchan i think
00:41:10 <ehird> mycroftiv: do not call it screen
00:41:19 <ehird> screen is for running multiple terminals in one
00:41:24 <ehird> detaching is a side feature
00:41:27 <ehird> i was confused when reading it
00:41:37 <ehird> say screen's detach feature or http://dtach.sourceforge.net/
00:41:39 <mycroftiv> it does multiple terminals in one fs also
00:42:06 <mycroftiv> its shells, its actually buffering/multiplexing file descriptors is all really
00:42:45 <ehird> multiplexing is not something that belongs inside
00:42:49 <ehird> it is something that belongs outside
00:43:37 <ehird> http://jtomaschke.blogspot.com/2009/02/plan9-ac97-driver-bug.html see in my os the process would just crash! :P
00:43:42 <ehird> mycroftiv: the detacher
00:43:56 <ehird> isn't detaching just >f <f anyway
00:44:31 <mycroftiv> as a matter of fact the detaching *IS* done from outside, because the structure is that the hubfs backend is just a file descriptor multiplexor, it doesnt even know what a shell is
00:44:51 <mycroftiv> then the hubshell client program is what understands how to make hubs as files and connect them to a shell and attach/detach
00:44:53 <ehird> i said multiplexing
00:45:26 <ehird> inferno is an rtos isn't it
00:45:39 <mycroftiv> what hubfs itself does is just provide a capacity to make named pipes that can have multiple readers/writers and random access
00:48:09 <mycroftiv> inferno? real time? i dont think so
00:48:23 <ehird> mycroftiv: how do you feel about stupid programs and traditional shells working badly with non-lowercase-without-spaces filenames? i think it's made naming more awkward for some things
00:48:56 <mycroftiv> sure filesystem name limitations (apart from certain sanity conventions) are always annoying
00:48:57 <ehird> btw i think my preferred rc scrolling behaviour would be that it'd up to the program, but i understand that's not feasible
00:49:11 <ehird> e.g. ls/lc if the directory is big would stop scrolling, man always would
00:49:14 <mycroftiv> well actually it is - the program can write to its own window to set that i believe
00:49:20 <ehird> like how mail sets the terminal into hold
00:50:30 <mycroftiv> call it 'the shell' not the terminal to get into the plan9 naming scheme
00:50:46 <mycroftiv> since the 'no tty' is pretty fundamental
00:56:34 <ehird> mycroftiv: rio is the terminal running the shell
00:56:38 <ehird> rc, the shell, can't do that
00:56:43 <ehird> rio has a window with rc in it
00:56:46 <ehird> therefore i deem it the terminal
00:57:04 <ehird> i could call it "window", but i'm being explicit that it's not like a window running acme, it's pure text
00:59:43 <mycroftiv> well, obviously everyone can define their "term"s how they choose
01:00:11 <ehird> give me a better, more appropriate name for a rio text window and I'll use it
01:00:21 <mycroftiv> rc window, shell window, rio window ?
01:00:31 -!- oerjan has quit ("leaving").
01:00:41 <ehird> rio windows can run graphical programs like sam and acme, and behave differently in that case
01:00:49 <ehird> it doesn't have to be rc, it can be any program
01:00:52 <ehird> ditto for shell window
01:01:03 <ehird> also, they're quite verbose.
01:01:41 <mycroftiv> i said you can define stuff how you want, the conventional plan9 usage is different, but im not one to argue such things, it doesnt bother me
01:02:04 <ehird> yes, but i want to use a more plan9 term if i can
01:03:36 <mycroftiv> well, in the exact context you used, since you were talking about running the mail program, 'rio window' or even just 'rio' would probably replace terminal in standard plan9-talk
01:05:37 <mycroftiv> the plan9 standard lexicon maps 'terminal' strongly onto 'the physical machine with the display and keyboard/mouse devices'
01:05:38 <ehird> i just realised that 90% of the difficulty of Snake is the horrible mobile buttons, not the actual difficulty of the game
01:06:01 <ehird> 9% is really stupid slipups caused by not thinking for a second
01:06:05 <ehird> and 1% is actual hard situatinos
01:06:42 <ehird> mycroftiv: so is a separate fileserver/cpuserver worthwhile nowadays?
01:07:28 <mycroftiv> several reasons - it facilitates abstraction away from the hardware is the most basic I guess
01:07:36 <mycroftiv> it makes some admin tasks much easier
01:07:54 <mycroftiv> enhances reliability if you have a well designed system
01:07:55 <ehird> how does it facilitate that? what admin tasks and how?
01:08:10 <ehird> i don't see plan 9 crashing much :P
01:08:44 <mycroftiv> i have good luck with uptime on physical hardware also, my qemu VMs are not really 'enterprise grade' in terms of uptime *cough*
01:09:04 <mycroftiv> thats qemu fault not plan9, but still something ive had to grapple with in design
01:09:30 <ehird> it seems to me like file servers made sense when hardware was slow
01:09:36 <ehird> since the file server would be doing a lot of work, etc
01:09:44 <mycroftiv> i guess i will give you the most direct example - the gridtoolsplus linux toolkit that i host, which has a full modular setup set up as a venti-based clown car
01:09:52 <ehird> but with the much beefier, affordable hardware today, combining the file and cpu servers seems rational
01:10:00 <mycroftiv> you start the venti, and all the clowns (plan 9 vms) pop out of the car, and then ride around on the car
01:10:07 <ehird> mycroftiv: this metaphor is
01:10:39 <mycroftiv> and it distributes the functions between the linux host running venti in p9p, a qemu VM running fossil, a qemu VM running as cpu server, and a drawterm terminal in the host os - and you can then distribute those however you want
01:10:55 <mycroftiv> if you want to run venti on one machine, fossil on another, cpu on another, term on another, the same pieces work transparently across the network
01:11:14 <ehird> mycroftiv: i like how you spontaneously dropped the metaphor
01:11:47 <mycroftiv> you dont want a clown based extended metaphor of plan9 grids
01:12:10 <ehird> why clowns, exactly? just curious
01:12:39 <mycroftiv> because of the clown car thing - the gridtools are distributed as venti data and minimal p9p venti binaries and scripts to start venti, then extract the VM images, which boot and then use the venti as backing store
01:12:52 <mycroftiv> so the idea of packing objects as small as possible is relevant
01:12:59 <mycroftiv> because that works because of the way venti does deduplication
01:13:09 <ehird> i love how confusing you are.
01:13:30 <mycroftiv> you can fit a lot of clowns (vm images) inside a snapshot of venti data
01:13:37 <ehird> stop it it hurts :|
01:13:49 <mycroftiv> you were teh one who complained when the metaphor stopped before
01:14:31 <mycroftiv> separating file and cpu server means that you can boot multiple cpu servers from the same file server
01:14:38 <mycroftiv> this does a huge amount of your clustering work 'for you'
01:15:05 <ehird> plan 9 system = {file server, cpu server+, terminal+}
01:15:05 <mycroftiv> because each independent cpu is going to see the same static file data namespace from the fossil (prior to whatever local customizations on that cpu bootup you make etc etc)
01:15:25 <ehird> add cpu servers for MOAR SPEED, more terminals for uh... more people... i guess
01:15:35 <ehird> that's included in file server by my hand-waving powers.
01:15:37 <mycroftiv> but you can run fossil without venti so that set you gave is a possible subset
01:15:53 <ehird> plan 9 system = {file server, venti server?, cpu server+, terminal+}
01:16:06 <mycroftiv> you can use multiple file and venti servers also
01:16:11 <ehird> add a venti server for archival, add cpu servers for more power, add terminals for, well, lots of things
01:16:40 <mycroftiv> you can freely bind whatever resources wherever so any number of each component can be used 'sanely' pretty much
01:17:01 <mycroftiv> its true that you generally think you have one huge venti, maybe a couple file servers, then a bunch of cpus, and terms for each user
01:17:04 -!- puzzlet has quit (Read error: 110 (Connection timed out)).
01:17:25 <mycroftiv> but i like using multiple ventis personally, thats actually part of what gives me ultra reliability
01:18:02 <mycroftiv> you can boot the same fossil from multiple ventis if you have replicated the data blocks, which will be auto deduped so its basically penalty free
01:18:05 <Pthing> that is a lot of caffeine!!!!!
01:18:13 <Pthing> you must have the sh*ts a lot!!!!
01:18:34 <ehird> Pthing is the weirdest person in here
01:18:38 <Pthing> i thought I was in #defocus
01:18:51 <ehird> i think he has bipolar
01:22:18 <olsner> someone should make a pun on bipolar bears
01:22:46 <olsner> http://uncyclopedia.wikia.com/wiki/Bipolar_bear
01:24:55 <mycroftiv> That disorder sucks, but not as bad as having paranoid schgrizzlyphrenia
01:25:06 -!- puzzlet has joined.
01:28:40 <ehird> mycroftiv: g r o a n
01:30:12 <ehird> i find it interesting how you can cat directories
01:30:22 <mycroftiv> i wish the format for dir files was plaintext
01:30:40 <mycroftiv> really cat of a dir should be about the same output as ls of a dir just not as nicely formatted
01:31:18 <ehird> ls of a dir isn't nicely formatted
01:31:21 <ehird> it's just a list of names :P
01:31:28 <ehird> so is that the actual directory structure?
01:31:37 <ehird> is it just a file along with the dir structure
01:31:43 <ehird> or is it actually the directory itself
01:32:16 <mycroftiv> unix and plan9 have always used files to represent the directory structure, its not 'the directory itself' as you mean it
01:32:38 <mycroftiv> see k & r c book for a nice simple traditional look at it
01:33:02 <ehird> what i'm trying to say is
01:33:05 <ehird> do they look at that
01:34:14 <mycroftiv> dirstat fills a dir structure with information from the directory file
01:34:53 <ehird> could a simple yes/no be given
01:35:27 <mycroftiv> hmm, not when im not sure i fully understand the question, i generally try to give a solid related fact
01:35:46 <mycroftiv> some things, like ls, stat every file in a directory
01:37:14 <mycroftiv> well, it goes one at a time according to the manpage
01:37:44 <ehird> of course i know that
01:38:00 <ehird> mycroftiv: some background — the actual directory itself is a list of files. yes?
01:38:03 <ehird> that is what a directory is
01:38:09 <ehird> thus, if you have a directory, this must be stored somewhere
01:38:20 <ehird> when you cat a directory, is that where this is actually stored, or is it just generated from it?
01:38:27 <ehird> the functions that look at directories
01:38:30 <ehird> do they get it from the directory file
01:38:31 <mycroftiv> that is the actual file that stores the information
01:38:34 <ehird> or some metadata in the filesystem?
01:38:45 <ehird> mycroftiv: ok. then my objection to making it more plaintext is that it'd be more inefficient to parse
01:38:58 <mycroftiv> yes, its obviously done the way it is for efficiency and space and optimization
01:39:55 <ehird> mycroftiv: i mean, as much as i talk about doing everything as a 9p server
01:39:58 <ehird> i'm really worried it'll be dog slow
01:42:04 <mycroftiv> i guess i was assuming this kind of design wouldnt be suitable for something like 3d gaming/multimedia focused use
01:42:25 <ehird> passing a struct pointer to a function and the like will always be faster than going through indirection to find the relevant server for that filename, composing a message, sending it, waiting for the server to compose a response, receiving it and parsing it.
01:42:33 <ehird> mycroftiv: well duh
01:43:41 <mycroftiv> sure, using 9p on top of plan 9 (and then obviously especially via a network0 means you have a lot of layering
01:43:54 <ehird> well just a local network
01:44:06 <ehird> writing to a file's the same, pretty much
01:44:15 <ehird> thaht's the process i gave
01:44:58 <ehird> reading from a 9p file: find the relevant server, compose a message, IPC it, wait for the 9p server, IPC back the response, parse it
01:45:07 <mycroftiv> 9p synthetic fses on lan are pretty fast tho really
01:45:16 <ehird> following a function pointer to the device's relevant function, like getchar
01:45:29 <ehird> think it's obvious which will be faster by far
01:45:41 <ehird> (that is (*kb->getchar)())
01:46:03 <mycroftiv> i dont disagree with that but dont forget that in standard computer usage you wait for the disk drive etc, you dont waint for the function pointers to be referenced
01:47:16 <ehird> this whole cluster stuff
01:47:22 <ehird> is mainly useful, I think, for large computations
01:47:25 <ehird> rather than little tasks
01:47:34 <ehird> you don't need a cluster for things that don't require mainly computation
01:47:59 <mycroftiv> i use it for redundancy and hardware independence, not much heavy duty computation
01:48:18 <ehird> have you ever ran into a failure where the cluster saved you
01:48:43 <ehird> you being stupid or a genuine error
01:49:19 <mycroftiv> um, most common scenario is power failure i guess, i only have my servers on uninterruptible power supplies
01:49:36 <ehird> how would i detect if something is a directory in rc?
01:49:45 <ehird> power failure, how minor
01:49:53 <ehird> the fix for a power failure is turning them back on again
01:49:58 <ehird> mycroftiv: ~ you mean?
01:50:02 <mycroftiv> well, power failure isnt 'minor' in terms of potential data loss and disruption
01:50:08 <ehird> omg, plan 9 has test, how ununixy :)
01:50:54 <ehird> file $dir also works btw
01:51:18 <mycroftiv> a power failure that brings down a box is functionally equivalent to temporary 'complete destruction' and can also cause undesirable data or filesystem corruption
01:51:47 <mycroftiv> UPS are considered absolutely required for datacenters for a reason
01:52:11 <ehird> if(file / | awk '{exit(!$2=="directory")}')
01:52:18 <ehird> ↑ far more elegant than test yo :P
01:53:38 <ehird> so I just bound every directory in / to /
01:53:50 <ehird> hey, there's .links
01:53:53 <ehird> dunno where it really is of course :P
01:54:17 <ehird> mycroftiv: i'd have preferred to bind every directory in the system to /
01:54:21 <ehird> but hey, this works
01:54:30 <ehird> mycroftiv: wow, there can be multiple files with the same name in a directory with bind
01:54:59 <mycroftiv> of course, and the -a vs -b flags to the binds determine which will actually be loooked up
01:55:38 <ehird> for(x in `{ls /}) if(test -d $x) bind -a $x /
01:56:41 <mycroftiv> oh btw let me give you a really important tip
01:56:55 <mycroftiv> that pops up a new window in the identical namespace
01:57:12 <mycroftiv> so if you do a bunch of complicated binds you can clone the environment easily
01:57:17 -!- calamari has joined.
01:57:22 <mycroftiv> also of course then starting a sub rio means all the new windows in it will inherit them
01:57:26 <ehird> oh yeah, it's per process
01:57:30 <ehird> that's why everything didn't break.
01:58:45 <ehird> does anyone actually used the monospaced fonts to code in plan 9? it seems unnecessary
01:59:08 <mycroftiv> im sure some people do, acme default works ok for me though
02:00:53 * ehird looks at the fonts man -P gives again and sighs
02:00:56 <ehird> such wasted potential! :P
02:05:10 <ehird> "I saved a million-ish dollar new business pitch with the arcane knowledge that Apple's old ADB cables (of which I had oodles in my departments' storage closet) actually worked as SVideo cables."
02:05:10 <ehird> not so much worked as as werer...
02:09:43 -!- enikdu has joined.
02:10:05 -!- enikdu has left (?).
02:18:32 <mycroftiv> hey ehird hes an example i hope you like of network transparency and synthetic filesystems - by importing a namespace across the network my customized rio can open its new windows as remote persistent shells
02:19:06 <ehird> That breaks usual rio semantics — New creates a new shell, Delete terminates it.
02:19:19 <mycroftiv> its additional menu options, i didnt change the behavior of New
02:20:34 <ehird> http://lambda.nirv.net/m/screenshots/20080807/montage.png ;; six fucking monitors?!
02:20:41 <ehird> mycroftiv: What are the additional options?
02:20:59 <ehird> Do the persistent windows have, say, a different background to mark that they're only a "view" onto the actual shell?
02:21:22 <mycroftiv> ehird: i put it on sources in my unreleased dir - no, i didnt mark them graphically
02:21:44 <ehird> No, that's a cue for the machine, not the persistency; they have different semantics to normal rio windows.
02:21:51 <ehird> What are the extra menu items called?
02:21:58 <ehird> I think it's a cool idea, just with some possible pitfalls.
02:22:12 <mycroftiv> one is 'Hub' which connects to whatever is bound to /n/hubfs
02:22:33 <mycroftiv> the other is a command arg that you can actually set to whatever you want - its acme by default but i usually set mine to run hubshell on a different mounted hubfs
02:22:57 <mycroftiv> it doesnt change the windows, just what app is run in them really
02:22:59 <ehird> Ooh, better than changing the background would be changing the border colour. Is that possible?
02:23:01 <ehird> I'd make it purple.
02:23:20 <ehird> If I Delete a window, I expect it all to be gone, usually.
02:23:21 <mycroftiv> i actually did add in rio color theming options now that you mention it, but they arent correlated to the additional hubfs persistence stuff
02:23:33 <mycroftiv> but all the window was doing was connecting to a preexisting process
02:23:46 <mycroftiv> so its not any different than any background daemon or what have you
02:24:09 <ehird> Yeah, but I still think it'd catch me off guard.
02:24:23 <ehird> Start an intensive process, give up on it and so Delete it... and yet...
02:24:24 <mycroftiv> interesting that i got the idea from you pretty much ;)
02:24:48 <mycroftiv> your general talk of how great persistence was and how it was central to your os design
02:25:04 <ehird> yeah persistence is awesome
02:25:09 <mycroftiv> so to me the idea of making 'everything' persistent by default is appealing
02:25:22 <ehird> mycroftiv: i have a challenge for you
02:26:00 <ehird> i just like shoving my ideas onto other people
02:26:06 <ehird> who i believe are more knowledgable
02:26:41 <mycroftiv> it better be plan9 or music theory related or i dont fit that category
02:27:12 <ehird> write a program that takes a pid. it writes what we will call X to stdout or a specified file. Now, let's say we reboot the machine and the process is no longer running. We run the other program and give it X as input. The process tree is recreated and the processes continue from where they left off, with all their allocated and static memory intact.
02:27:23 <ehird> (BORING BABY WUSS VERSION: Make it work on only single processes without children)
02:27:35 <ehird> caveat: this is probably quite hard
02:27:39 <mycroftiv> thats also equivalent to process migration between systems also
02:27:44 <mycroftiv> that comes for free with the other
02:27:52 <ehird> mycroftiv: don't bother making it architecture-independent, obviously
02:27:58 <ehird> that'd be near-impossible
02:28:08 <ehird> mycroftiv: I would suggest that the first step is to find a way to get the kernel to stop running a process
02:28:15 <mycroftiv> ill only be doing anything like that *after* I finish a general plan9 GUI persistence layer than can multiplex and detach rio sessions
02:28:16 <ehird> so that you have a consistent state
02:29:26 <mycroftiv> you can already control a process pretty well and save a lot of state with the debugger
02:29:43 <ehird> right, but not to the same degree
02:30:24 <mycroftiv> no need to reinvent the wheel on the basics of manipulating process state
02:30:34 <ehird> hmm, i've thought of one issue
02:30:50 <ehird> the next time it runs, the memory it uses may be in use
02:30:54 <ehird> and thus all the pointers would have to change
02:31:02 <mycroftiv> that is just one of a lot of issues
02:31:05 <ehird> and you can't tell between a pointer and an integer with the same value, obviously
02:32:18 <ehird> i think the basic steps in the process are: freeze the process, save the machine code, save the instruction pointer (make it relative to the start of the code to fix up later), save the registers, go through each allocated block of memory and save it, magic pointer munging, unfreeze the process
02:32:21 <mycroftiv> i actually got into a discussion of some similar concepts based around the idea of actually versioning everything, so you could rewind a process, even
02:32:36 <ehird> and dsome extra stubs for reopening files
02:32:47 <mycroftiv> version all the memory it touches and and record all its operations
02:32:57 <ehird> i.e., take note of all open files/sockets/what have you, and make the unthawer run that before restoring
02:33:02 <ehird> the cool thing is, if it doesn't destroy the process
02:33:07 <ehird> you can take snapshots of processes
02:33:11 <ehird> and indeed, like you said, rewind to a degree
02:33:28 <ehird> like, if you're playing a text adventure game without a save feature
02:33:37 <ehird> snapshot it to disk before making a game-changing decision
02:33:43 <ehird> in fact, mycroftiv
02:33:45 <ehird> you could clone processes
02:34:04 <ehird> 9term% freeze 348 | thaw
02:35:19 <mycroftiv> yeah actually another project prior to doing kernel level process manipulation is my grid/task system that exists further up the stack
02:35:27 <ehird> whoa, cloning processes would be so awesome
02:35:46 <ehird> i'd add a Clone action to rio :)
02:36:03 <mycroftiv> its funny you say that, i have my standard 'hacked together equivalent' running right now
02:36:06 <ehird> you'd have to save the contents of /dev/cons and /dev/draw and even /dev/mouse to do that effectively
02:36:10 <ehird> to get a real clone
02:36:16 <ehird> how about just save the entire namespace :D
02:36:30 <ehird> mycroftiv: how does your hacked up one work?
02:36:41 <ehird> btw is there a p9 binary that lets you point-'n-click a window and it prints its pid?
02:36:47 <mycroftiv> oh its pretty crude but its amusing, its still in the land of all my rc stuff
02:37:11 <mycroftiv> what i have is a hubfs as my persistent shell but its got shells on two different machines that are reading the same input file descriptor
02:37:29 <ehird> ah well of course my clone would make them separate
02:37:33 <mycroftiv> so the commands i type in my persistent shell are executed on two cpu server but they have a parallel environment
02:37:38 <ehird> sort of like a fork that keeps the past
02:38:01 <ehird> On operator precedence: "The proof that it's a bad idea is the fact that you can take any used copy of K&R, drop it on its spine, and it will open to page 53, with the precedence table."
02:39:05 <ehird> i didn't write that
02:39:07 <ehird> just thought it was funny
02:39:41 <mycroftiv> id say the 'greatest spine-break hits' are maybe the section on complicated declarations and dirdcl program
02:39:53 <mycroftiv> stuff on structures/unions/typedef
02:39:56 <ehird> see, my solution to complicated c declarations
02:39:59 <ehird> is to not write them in the first place
02:41:41 <ehird> A STUPID IDEA: Multiple, separate keyboard support!
02:41:48 <ehird> One rio window listens to one, another listens to another.
02:41:51 <ehird> NEVER THE TWAIN SHALL MEAT
02:42:27 <mycroftiv> just import the '#c' from a different machine
02:42:33 <ehird> but can you read from the two separately in one process?
02:42:48 <ehird> you know, i make a lot of structs pointers unnecessarily just to avoid the hideous s.a syntax
02:42:53 <ehird> foo->bar vs foo.bar
02:42:58 <ehird> the former is much more C
02:43:14 <mycroftiv> well i guess id run two separate rios for that, not have one rio splitting kbs, i see what you mean
02:43:28 <mycroftiv> however no reason you cant change the local reference within a given window
02:43:54 <ehird> i wonder how un-clike it is to unify -> and .
02:44:10 <ehird> i.e. just make -> be the same as . now, except that a pointer-to-struct is automatically dereferenced if you try and access a member
02:44:34 <ehird> mycroftiv: can you have /dev/consa and /dev/consb each from a different machine?
02:44:38 <ehird> and access both in one process
02:45:09 <mycroftiv> erm, sort of, maybe not in exactly the way you want to
02:45:19 <mycroftiv> i mean, they are just files, you can obviously read the files
02:45:24 <ehird> that's what i meant
02:45:33 <ehird> any opinions on that . -> unification?
02:46:05 <mycroftiv> uhm, well the problem is how does anything know if you want the value or the reference?
02:46:29 <ehird> i just realised i've been using ksh for weeks
02:46:37 <ehird> mycroftiv: explain
02:46:42 <ehird> i'll restate my new semantics
02:46:45 <ehird> ok, pretend -> doesn't exist
02:46:50 <ehird> pretend there's just . as it is now
02:46:59 <ehird> . is renamed to ->
02:47:14 <ehird> if the left operand of -> is a pointer to a struct, it is automatically dereferenced
02:47:41 <ehird> cool, plan 9 bc is written in yacc
02:48:22 <mycroftiv> i kind of agree, in practice i think you find most stuff ends up being written as -> anyway for fairly obvious reasons
02:48:42 <mycroftiv> in the sense of people choosing to organize their datastructures primarily via pointers
02:50:31 <Gracenotes> oh, grrr, I was trying to grep through a gzipped file, but I forgot the -c option to gunzip. Then I was wondering why my hard drive was 224MB more full, and the grep had no results :/
02:51:28 <ehird> mycroftiv: yah, but e.g. if you have a global structure
02:51:33 <ehird> it's bad to have it be a pointer
02:51:38 <ehird> but you do it anyway
02:51:42 <ehird> because otherwise it's so ugly
02:51:49 <ehird> however, automatic dereferencing seems un-Clike
02:51:56 <ehird> the only similar thing is automatic array→pointer conversion
02:52:09 <mycroftiv> you know plan9's access shortcut right?
02:52:13 <ehird> Gracenotes: gunzip is horrible how it does that
02:52:15 <ehird> mycroftiv: what is it?
02:52:21 <ehird> the unnamed structs/unions?
02:52:31 <ehird> that you can use for composition/pseudo-inheritance too?
02:52:38 <pikhq> ehird: It doesn't seem like *that* big of a deal, though, because anything other than automatic dereferencing would be... Wrong.
02:52:48 <Gracenotes> ehird: compression tools in general that assume that you want "in-place" in/deflation
02:52:53 <pikhq> (if you had but one operator)
02:53:03 <ehird> pikhq: well, yes, but the question is should you have one operator
02:53:11 <ehird> Gracenotes: anything that assumes you want in-place anything
02:53:46 -!- sunrider has joined.
02:53:46 <ehird> mycroftiv: does rc have any syntax to tie two programs together? that is, the first program writes to the second and also reads from it
02:53:52 <ehird> and vice-versa for the other
02:53:57 <ehird> if it does, you could do
02:54:14 <ehird> 9term% inplace foo.gz <|> ungzip
02:54:25 <ehird> so inplace would read foo.gz and feed it to ungzip
02:54:34 <ehird> then read what ungzip outputs, and write it to a temp file
02:54:39 <ehird> then move the temp file to foo.gz
02:54:49 <ehird> kinda pointless, but still fun
02:54:58 <mycroftiv> well rc can do nonlinear pipelining but im not sure that particular example is sane
02:55:13 <ehird> esp because of the .gz you get in result
02:55:30 <mycroftiv> if you want crazy pipelining use hubfs, thats what i wrote it for
02:55:42 <mycroftiv> it surpasses your wildest i/o fantasies, i guarantee it
02:55:53 <ehird> but does it require a... hub
02:57:31 <ehird> does plan 9 let you allocate memory beyond (ram+swap), and then go on a murderous rampage if you try to use it?
02:57:58 <pikhq> *sigh* Such a stupid idea from Linux.
02:58:08 <mycroftiv> i dunno how plan9 deals with oom other than apps having error handling and usually quitting when they cant malloc, dunno what the kernel itself does
02:58:13 <pikhq> Is it so hard to make malloc just return NULL on OOM?
02:58:37 <ehird> pikhq: seriously, if you suggest that to them they go on about how it's not the process's fault
02:58:42 <ehird> as if it'll get offended or something
02:59:00 <pikhq> ehird: ... Murder.
02:59:08 <ehird> "BUT WHAT ABOUT IMPORTANT THINGS THAT SHOULDN'T EXIT" — yes, that common real-world situation of requiring shit to still run when you're out of memory.
02:59:13 <ehird> happens all the time on critical servers.
02:59:35 <pikhq> The things that really truly shouldn't exit will have OOM handlers that won't exit.
02:59:50 <pikhq> If malloc returns NULL, that is.
02:59:51 <coppro> it happens in real life too. People suffer from inconvenient assassinations sometimes
03:00:16 <ehird> coppro: no, seriously, no critical server is running properly on a system that's out of memory
03:00:19 <pikhq> Of course, with the OOM killer, things that really truly shouldn't exit MIGHT GET KILLED BECAUSE SOME OTHER PROCESS MALLOCED EVERYTHING.
03:00:23 <ehird> putting it out of its misery will not make the situation any worse
03:00:29 <ehird> and might make it easier to recover from
03:01:14 <ehird> pikhq: I do think overcommitting is logical in one case though
03:01:15 <pikhq> ehird: And maybe giving a useful error message when that happens.
03:01:24 <ehird> since it's irrelevant how big it is
03:01:24 <pikhq> Yes, overcommiting with mmap is logical.
03:01:35 <pikhq> That is, in fact, half the point of mmap.
03:01:39 <ehird> if you do mmap without a backing file, I'm not sure
03:01:46 <ehird> that mandates it'll be in memory
03:01:53 <ehird> so maybe returning NULL if there's no backing file is logical
03:02:00 <ehird> (and it's >(ram+swap))
03:02:34 <pikhq> Does any program actually depend on the Linux overcommiting behavior?
03:02:42 <ehird> for mmap to memory?
03:02:54 <ehird> it allocates a gigantic (multi-gig) heap with mmap
03:02:59 <ehird> pikhq: not that i know of
03:03:01 <ehird> that would be retarded
03:03:25 <ehird> you only need to do larger-than-memory allocations if you know they'll only be actually allocated when used
03:03:54 <ehird> if you don't need to use sbcl you can disable overcommitting with one write to /sys
03:04:09 <ehird> mycroftiv: is it possible, with rio, to insert some graphical stuff next to some text in a shell window
03:04:12 <ehird> but keep it a text wiwndow
03:04:15 <pikhq> Amusingly, if I ran 32-bit, then >(ram+swap) allocations would be impossible.
03:04:17 <ehird> think little sparkline graphs
03:04:21 <pikhq> (not enough address space)
03:04:25 <ehird> inside mostly textual output
03:04:44 <ehird> i'm seriously considering just not supporting swap in my os
03:05:00 <ehird> even with my paltry 2.5 GiB of RAM (lol), eh
03:05:02 <mycroftiv> ehird: on a technical level, sure, drawing to the window is very simple and direct
03:05:09 <ehird> every time a system uses swap its gui goes down the shitter anyway
03:05:15 <ehird> mycroftiv: right, but cooperating with scrolling and stuff
03:06:02 <mycroftiv> im pretty sure rio handles the rc window scrolling by moving around the view it maintains of a text buffer backscroll
03:06:40 <ehird> how about in acme?
03:06:53 <ehird> because it would be totally awesome to have intermingling graphics/text like that
03:07:03 <ehird> blurring the lines between a textual and graphical program
03:07:21 <mycroftiv> you cant do it naively but its not impossible to implement
03:07:49 <ehird> mm, i don't really like the "feel" of abaco though
03:08:10 <mycroftiv> well it has acme style windows and they display bitmap graphics so its very relevant to your question
03:08:31 <mycroftiv> but fgb describes it as a hack i think
03:09:19 <ehird> mycroftiv: here's a really cool thing it could be used for:
03:09:19 <ehird> 9term% recentcommandswhatididexecute | rank
03:09:19 <ehird> ls 645 ==========================
03:09:28 <ehird> where the lines are actually coloured rectangles
03:09:55 <ehird> the cool thing is that if you piped it to another program, the graph just wouldn't be there
03:10:01 <ehird> ok, ok, that's what the cat-v paper warned against
03:10:08 <ehird> these graphical snippets wouldn't be accessible as text anyway
03:10:11 <ehird> so they're barely even "there"
03:10:14 <ehird> unlike ls columnating
03:10:54 <ehird> anyway, rank would just count the number of times each word appears in the input, sort by the top, and output the occurrences; then just an if(graphical) { magic inline graphics functions }
03:11:02 <ehird> would add a little spice to the command line
03:11:12 <ehird> also, I messed up my monospacing
03:12:09 <mycroftiv> i agree graphical objects should be freely deployable
03:12:46 <ehird> i read a proposal to do that in linux by making a terminal that supported embedding X11 windows
03:13:22 <ehird> oh, and it'd mean you could view images without popping up a new window; that might be a bad usage though
03:13:28 <ehird> since piping would make no sense
03:14:51 <ehird> mycroftiv: if it weren't for sam and acme i'd be a skeptic of plan 9's graphics model to the max
03:15:09 <ehird> as opposed to something like acme that only shows rio terminals (so to speak), and having graphics inlined there
03:15:25 <ehird> ooh, i have an idea for the scrolling thing
03:15:45 <ehird> if you press shift+enter to send a command, scrolling is disabled until the next time you press enter
03:15:58 <ehird> i.e. enter = normal command, shift+enter = for man and long ls/lc listings and the like
03:16:46 <mycroftiv> you know escape for hold mode on off right?
03:17:07 <ehird> but i find that scrolling only ever applies right before running a command with a lot of output
03:17:12 -!- augur has joined.
03:17:30 <ehird> ctrl+enter would probably be more plan 9, although keyboard shortcuts beyond ctrl+letter for text editing are un-plan9
03:17:34 <ehird> but i think this would be useful
03:18:09 <ehird> mycroftiv: food for thought: how does non-scrolling-inhibits-output interact with graphics? probably inhibits graphic display too
03:19:56 <ehird> heh, i started to have an idea then i realised i was going into ehirdos territory
03:20:57 <mycroftiv> hm - popping back to a previous question - looks like the bitmap issue is probably annoying in rc integration because of its use of libframe which seems to be text only in what it provides
03:21:31 <mycroftiv> this is just based on a very quick scan of the source code and glancing at a manpage though
03:22:11 <ehird> the idea, btw, was that if you started, say, games/catclock, and were on the prompt after (it still running, of course), you could drag the catclock (like dragging an acme drag handle) into a new space
03:22:38 <ehird> and it'd detach from the terminal, disappearing and leaving, like, an italic grey "moved to a (link: separate window)"
03:22:43 <ehird> clicking it would pointer-warp there
03:23:17 <mycroftiv> back when i first heard about plan9 i assumed you could do cp /screen/1/window/1 /screen/2/window/2 and it would copy the window to the other screen
03:23:49 <mycroftiv> basically im hoping to hack that into place with rio multiplexing and persistence
03:23:50 <ehird> my brain immediately snapped back with the reasons why that doesn't work in plan 9's architecture, then i realised that was irrelevant to the idea that it should work
03:26:51 <ehird> the problem with ehirdos is that it's hard to define the boundaries
03:27:23 <ehird> i go all visionary, and then i realise "if i'm thinking this far i might as well just give up on ehirdos and wait for the singularity and its mind-control interfaces and near-infinite computing power"
03:27:24 <ehird> and then i backtrack
03:27:28 <ehird> and then i'm all grumble
03:27:30 <ehird> this is inferior grumble
03:28:23 <mycroftiv> i know the feeling, which is why I have adopted the approach of small incremental work in Plan 9
03:29:47 <ehird> the problem is that doing any actual work on ehirdos feels wrong, because this design is meant to be perfect forever and ever
03:29:52 <ehird> so i just sit there designing how i'm going to design it
03:32:02 <mycroftiv> well remember any os at all is gonna be used to execute arbitrary code, so that means perfection is sort of irrelevant
03:32:18 <ehird> i read that statement and it is meaningless
03:32:25 <ehird> especially as there's no os/program distinction in ehirdos
03:32:31 <ehird> os is all the base software too
03:32:42 <ehird> besides, i have to create infrastructure
03:32:51 <ehird> infrastructure is like 70% of os design
03:33:06 <mycroftiv> because as soon as someone writes tetris for ehirdos, they are playing tetris, and tetris is tetris, and ehirdos isnt very relevant to that experience
03:33:37 <mycroftiv> whatever perfection/imperfection there is in tetris itself becomes predominant
03:34:03 <ehird> i don't base my os around tetris
03:34:13 <ehird> games are unique in that they don't really interact with other entities
03:35:29 <mycroftiv> i was just trying to point out that perfection isnt possible to deliver to the user because an OS is open-ended
03:36:35 <ehird> nothing is perfect except a single consciousness filling all existence constantly experiencing absolute bliss for eternity with nothing changing... and in fact that sounds like torture to me, so i can amend that to nothing is perfect.
03:36:48 <ehird> welcome to the world of hyperbole, where "perfect forever" doesn't actually mean that
03:37:55 <mycroftiv> well look at networking and network protocols - an os kind of has to deal with them, and they are obviously very far from perfect, so i think you have to focus on thinking pragmatically for some things
03:38:28 <ehird> am i supposed to say "ah, thanks, of course i'm an idiot and hadn't considered interaction with the outside world at all" now :)
03:39:13 <mycroftiv> i was really saying that because of the obvious segue to plan9 /net and stuff like ftpfs
03:39:55 <ehird> i know that the oberon os is basically acme os
03:40:20 <ehird> and the m.b.s guys were taking stuff from it
03:40:27 <ehird> maybe i should look into it
03:41:10 <ehird> technically acme is oberon os in a box
03:41:30 <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. The version which runs on bare PC hardware is called Native Oberon.
03:41:35 <ehird> oh now that's just ridiculously compact
03:43:42 <ehird> well the download is still available at least
03:43:46 <ehird> http://www.oberon.ethz.ch/downloads/index
03:43:49 <ehird> you want the first native oberon one
03:44:00 <ehird> Current news on the current Oberon Releases at ETH are to be announced here:
03:44:01 <ehird> Dr. Felix Friedrich at ETH is currently writing the new Oberon Compiler which will be released in 2008.
03:44:01 <ehird> Ulla Glavitsch finished the work on the new A2 system garbage collection in July 2008.
03:44:01 <ehird> Sven Stauber has launched a new Oberon Forum (http://www.ocp.inf.ethz.ch/forum/).
03:44:02 <ehird> Information on the Oberon day 2009 will be announced here.
03:44:06 <ehird> doesn't sound too dead
03:44:18 <ehird> i thought so too btw
03:48:09 <ehird> NIC: 3Com 3C509 Etherlink III or 3C905B FastEtherLink
03:48:09 <ehird> Dialup: Standard modem (not WinModem) with SLIP or PPP internet
03:48:09 <ehird> Sound: Soundblaster
03:48:12 <ehird> Mouse: PS/2 or serial mouse (3-button recommended)
03:48:17 <ehird> Processor: 80386, Pentium or compatible
03:48:18 <ehird> Bus: ISA, EISA or PCI
03:48:19 <ehird> this shit is oooooold
03:49:47 <ehird> i'm booted into oberon
03:49:50 <ehird> the text is tiny but i'm booted
03:53:14 <mycroftiv> i need to replenish my caffeine supply, i assume you are going to have an oberon<->losethos<-plan9->tunes protoype wired together in 10 minutes when i get back
03:54:00 <ehird> mycroftiv: more likely go to bed
03:54:07 <ehird> it's 4 am, i have to be up at ~9:40
03:54:51 <mycroftiv> in that case, write teh source code in dreams and sleep with a pencil between your toes to write it out via involuntary twitch signalling
03:55:10 <ehird> i like oberon already
03:55:18 <ehird> the installer is just a bunch of text files with executable commands
03:55:33 <ehird> it's like ... html shell scripts
03:57:21 <ehird> ok, it won't recognise my disk
03:57:34 <ehird> i'll pick this up tomorrow
03:57:43 <ehird> i think oberon has just totally changed my view of programming :P
03:57:55 -!- ehird has quit.
04:25:28 -!- puzzlet has quit (Read error: 60 (Operation timed out)).
04:26:50 -!- puzzlet has joined.
04:27:45 -!- calamari has quit ("Leaving").
04:31:40 -!- calamari has joined.
04:36:15 <pikhq> Gracenotes ha neko ni natta, ne...
04:37:56 <pikhq> Anata no nihongo ha chotto neko rashii...
04:51:03 <Gregor> Dortse mon veitchuats?
04:53:39 <pikhq> Gregor: Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!
04:56:38 <oklofok> i'm not sure i'm following the discussion
05:05:45 <pikhq> oklofok: Well, you see... Wenn ist das Nunstruck git und Slotermeyer? Ja! Beirherhund das Oder die Flipperwaldt gersput!
05:07:02 <oklofok> "nunstruck" sounds ominous
05:07:37 <pikhq> You should study German, so as to understand the World's Greatest Joke.
05:08:06 <oklofok> i know some german, that's not german
05:08:17 <oklofok> although it may be enough german to be a joke
05:08:29 <pikhq> On a more serious note, you should study the works of Python, Monty.
05:14:39 -!- puzzlet has quit (Remote closed the connection).
05:14:41 -!- puzzlet has joined.
05:15:37 <oklofok> why am i interested in everything, couldn't some things just be inherently uninteresting to me
05:18:07 <Pthing> do you find fly fishing interesting
05:19:47 <uorygl> But being interested in everything is a blessing! >.>
05:20:14 <uorygl> Hey, that means you'll be interested in what I want you to be interested in! >.>
05:21:25 -!- Pthing has quit (Remote closed the connection).
05:22:46 <oklofok> i don't know what fly fishing is really
05:23:02 <uorygl> Agda is a proof system. It's inspired by Haskell; therefore, it's awesome. As far as I know, nobody has ever successfully implemented ZFC, or anything similar, in Agda. Get to it.
05:23:24 <oklofok> i don't implement much these days
05:24:14 <uorygl> I made something I thought was an implementation of ZFC. It turned out to have a flaw that had no obvious fix. So I started implementing NBG, which is like ZFC, instead, and got bored halfway through.
05:26:39 <quantumEd> hahah "inspired by Haskell; therefore, it's awesome" this logic I do not follow
05:29:07 <uorygl> quantumEd: well, are you familiar with Haskell?
05:29:20 <uorygl> You are a strange man.
05:30:23 <uorygl> You have something right... never mind, you got it.
05:52:33 <oklofok> i just realized youtube comments are pretty stupid
05:54:11 <oklofok> maarhoefe (1 month ago) Show Hide +3 Marked as spam Reply fuckin doorknockers wont convert me! the only jehovas i like are the female ones since i can violate them with my satanic lusts
05:54:33 <oklofok> i mean come on sure it's death metal but why be such a stereotype about it
05:54:49 <oklofok> I AM SATANIST I RAPE AND KILL EVERYTHING THAT BREATHES
05:55:48 <quantumEd> I AM A SANTAIST, I SPREAD CHEER AND GOODWILL ONCE A YEAR
05:55:50 <oklofok> also exam soon, should probably get to uni and start preparing mentally
05:56:36 <oklofok> oh my god this stuff is awesome http://www.youtube.com/watch?v=4dTrIVIWqFA&feature=related
05:56:45 <pikhq> I AM SANTA, I SPREAD FEAR AND ANNIHILATION ONCE A YEAR.
05:57:17 <oklofok> if a death metal band doesn't get a smile on your face, they're doing it wrong
06:01:59 <oklofok> well okay seems that song was exceptionally good
06:07:23 <Gregor> pikhq: Futurama is not good for you.
06:10:07 <coppro> bum bum BUMBUM bum bum BUMBUM bum bum BUMBUM bum BUUUM bum bumbumbumbum
06:11:08 <oklofok> it's an important part of me
06:24:21 -!- sebbu2 has joined.
06:39:31 -!- sebbu has quit (Read error: 110 (Connection timed out)).
06:54:09 -!- calamari has quit ("Leaving").
07:56:18 -!- AnMaster has set topic: but tell me, hubert. http://tunes.org/~nef/logs/esoteric/?C=M;O=D | esoteric programming.
07:56:25 -!- AnMaster has set topic: but tell me, hubert. http://tunes.org/~nef/logs/esoteric/?C=M;O=D | esoteric programming languages.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:08:10 <Gracenotes> :x it is possible to do esoteric programming in non-esoteric languages
08:08:52 <quantumEd> you can do non-esoteric programming in esoteric languages too
08:08:59 <Gracenotes> meaning AnMaster's topic change was... uh... well, I can't say it's any more or less apropos to what we talk about here, but it's more precise
08:09:56 <AnMaster> Gracenotes, hit newline too early by mistake
08:20:06 <augur> my dear complingqueer! <3<3<#
08:20:59 <augur> where do you go to school again?
08:21:11 <Gracenotes> although I should mention I'm not too big a fan of computational linguistics. just compsci and linguistics.
08:21:29 <augur> you're a cunt, now i remember
08:21:43 <augur> how fucking awesome is linguistics, huh?
08:22:08 <Gracenotes> wha? yeah, linguistics. word word balls up.
08:22:29 <augur> i have to write a squib
08:23:47 <Gracenotes> how come I've never heard of squibs before, eh :/
08:24:04 <Gracenotes> oh wait, I think I know.. I'm not a linguist :x
08:24:09 <augur> squibs are short little papers
08:24:34 <augur> they often dont try to solve problems, just make note of them
08:24:43 <augur> theyre minor papers
08:25:08 <quantumEd> do you release these squibs (im assuming you've written more than one)
08:25:15 <Gracenotes> sounds like an interesting tradition. they're useful perhaps because linguistics has a tendency to be a static field?
08:26:00 <augur> quantumEd: yes, sometimes i release them into the wild, but they usually find their way back to the lab. squibs have amazing homing ability, you see.
08:26:46 <augur> actually, its more than linguistic phenomena are so diverse, and because of the shear amount of linguistic data we produce on a daily basis as individuals, its easy to miss things
08:27:16 <augur> infact, some very obvious things went completely unnoticed for many many years, until someone or other said hey wait a second whats this now
08:27:36 <Gracenotes> augur: hm.. I kind of see what you're talking about. I've read way too many models of aspect that were based on a subset of language, rather than comprehensively trying to establish some universal terminology
08:27:53 <augur> its not even that, right
08:28:41 <augur> you know, look, if you werent ever told about the oddities of depictives, would you ever notice them?
08:29:03 <Gracenotes> still, as a result, you get so many combinations of linguists and languages where "perfective" means different things
08:29:13 <augur> or the peculiar fact that all D quantifiers are conservative?
08:29:37 <augur> oh, well, sure. real linguists dont have those problems :P
08:29:52 <augur> you're probably reading silly non-theoretical types!
08:29:53 <Gracenotes> ...is this formal theory you're talking about?
08:30:25 <Gracenotes> how purely formal? independent of any spoken language?
08:30:36 <augur> this is just data stuff
08:30:43 <augur> observations of the data.
08:31:57 <Gracenotes> well, whatever works... linguistics is still a young field
08:32:13 <augur> but these facts are cool
08:34:14 <Gracenotes> though, in my experience, two linguistics professors arguing can produce some of the most humorous academic discussions ever. at least to someone less well-versed
08:35:54 <Gracenotes> you not only hear them arguing over the propositions, but also over the very definitions they're using
08:36:41 <Gracenotes> possibly peppered with references to other linguists and personal interactions
08:38:33 <Gracenotes> to be fair, computer science has existed for a relatively short time too, but our field has a rather constructivist outlook, with hundreds of years of mathematical thoroughness behind us
08:39:10 <Gracenotes> linguistics is essentially anything but constructivist
08:41:31 <Gracenotes> okay, you have some formal models, insofar as they play nice with data. I hope I'm not coming off as anti-linguistics, by the way.. I love the field, just don't seem to have the time to spend
08:45:56 -!- ais523 has joined.
08:46:33 <Gracenotes> in other news, I'm leaving for my college in 2 hours and still haven't fully packed
08:47:23 * ais523 predicts that quantumEd = ehird simply from one sentence
08:47:38 <ais523> should have guessed ehird wouldn't have been awake this early
08:52:50 -!- kar8nga has joined.
09:01:58 <Asztal> don't seep here, I just cleaned the floor
09:02:22 * augur seeps all over Asztal
09:05:22 <Gracenotes> ..gotta fall asleep soon.. wake up soon..
09:15:38 -!- quantumEd has quit ("Leaving").
09:41:35 -!- coppro has quit (Remote closed the connection).
09:42:04 -!- coppro has joined.
10:22:30 -!- sebbu has joined.
10:26:07 -!- Slereah_ has quit (Read error: 60 (Operation timed out)).
10:28:27 -!- Slereah has joined.
10:37:55 -!- sebbu2 has quit (Read error: 110 (Connection timed out)).
10:53:00 -!- Gracenotes has quit ("Leaving").
10:59:59 -!- puzzlet has quit (Read error: 54 (Connection reset by peer)).
11:03:38 -!- puzzlet has joined.
11:39:59 -!- sebbu2 has joined.
11:43:23 -!- sebbu has quit (Read error: 60 (Operation timed out)).
12:05:03 -!- Gregor has quit (Read error: 110 (Connection timed out)).
12:10:33 -!- kar8nga has quit (Remote closed the connection).
13:06:36 <ais523> ugh, what a confusing spam
13:07:01 <ais523> it wants me to call <phone number> and send my names, address, age, occupation, phone numbers to <email>
13:07:10 <ais523> either the phone number or the email, I could parse the sentence
13:07:18 <ais523> but both, I'm mystified
13:07:32 <ais523> looks like I won't be claiming the million pounds from the nokia lottery after all
13:08:45 <oklofok> and you were so close to happiness
13:11:38 <ais523> strangely enough, all the names in the scam were reversed, as in surname before first name
13:11:38 <ais523> even though it was a UK phone number (starting +44) and the spam specifically claimed to have been sent from the UK
13:12:41 <oklofok> in uk, you do first, last?
13:12:50 <oklofok> i wonder what we do in finland
13:13:03 <ais523> you mean, you aren't sure?
13:13:20 <oklofok> no idea, well, both are used
13:14:03 <oklofok> i've always thought the first name should be first
13:14:29 <ais523> this conversation will get confusing if we use "first" for two different purposes
13:14:42 <ais523> "given name", "family name" are unambiguous; in the UK they're pretty much always in that order
13:15:46 <Asztal> I thought Hungary was the only European country to use FamilyName GivenName.
13:16:51 <oklofok> but yes, perhaps confusing
13:17:57 <ais523> Asztal: yes, and it was pretty confusing when I was at a conference in Hungary
13:18:11 <ais523> because half of the people had reversed their names to simplify things for the British visitors
13:18:14 <ais523> and the other half hadn't
13:18:46 <oklofok> the one that ends in cz is the surname
13:19:12 <ais523> Hungarian doesn't have a cz, IIRC
13:19:23 <oklofok> wait am i thinking polish or something
13:21:11 <Asztal> I like the idea of capital letters for the family name.
13:44:13 <Asztal> AnMaster: e.g. ERDŐS Pál
13:44:40 <AnMaster> at least in Swedish that would work for many common names. Name combinations (translated) like this in shell syntax: {North,South,Leaf}{branch,stream,country} are pretty common
13:44:55 <AnMaster> modulo some tiny spelling changes to make it sound better
13:45:48 <AnMaster> (of course the list of words to combine is longer in reality, and not all combos are used)
13:45:53 -!- kar8nga has joined.
13:46:33 <AnMaster> Asztal, my family name is of that type for example. But with a bit unusual spelling
13:46:48 <AnMaster> anyway, the point is you could camelcase it
13:47:36 <AnMaster> (when you think about it, most such names doesn't make a lot of sense)
13:48:14 <fizzie> Given that my surname is also a compound word, I guess you "could" CamelCase it too into KallasJoki if you really really want.
13:48:28 <puzzlet> looks like most of Japanese surnames' etymology
13:49:56 <AnMaster> puzzlet, oh? compound names are common there?
13:50:15 <fizzie> fi:joki translates to en:river, while fi:kallas is a bit trickier to translate... it's basically a bank (as in "bank of a river", the border of water and ground) though I think it carries a connotation of an especially steep bank, not just any sort of bank.
13:50:23 <puzzlet> "KuraMoto" literally means storage-basis for example
13:50:37 <fizzie> It's a bit archaic term, I don't think I've seen it anywhere else than names.
13:50:55 <puzzlet> it's just combination of chinese glyphs
13:51:02 <fizzie> Still, it's a lot better than our former family name.
13:51:05 <Asztal> Appparently my surname, Houghton, means "Settlement in a corner of land" but it's not really CamelCase-able :(
13:51:22 <puzzlet> it sometimes means something, like KoIzumi - small spring
13:51:59 <AnMaster> mine is a bit hard to actually camel case due to the "change around the spelling a bit" thingy
13:52:22 <AnMaster> I leave it as a exercise to any Swedish or Swedish-speaking readers
13:52:36 <AnMaster> (it isn't hard to track down *shrug*)
13:52:50 <fizzie> AnMaster: Yes, they changed a couple of generations ago from "Kakkinen"; now, I'm unsure whether it actually means something specific, but fi:kakka is a slang/informal term for human excrement, and the -nen is a bit like a (rare-ish) diminutive suffix, so I guess you could translate it as "little shit".
13:52:51 <puzzlet> here in Korea, almost all surnames are monosyllablic
13:53:13 <AnMaster> fizzie, did it mean that back then? If it is slang these daus
13:53:44 <fizzie> AnMaster: Possibly not, but it would not exactly be a too nice name to have now.
13:54:27 <AnMaster> you could also camel case all those "-son" names in Swedish. Like Svensson/Svenson (spelling varies). Could be turned into SvensSon/SvenSon
13:54:42 <AnMaster> (I guess that is the archetypical "Swedish" name)
13:54:46 <fizzie> (There are, in fact, 207 currently living people in Finland with that surname; that's more than us, there's only ten people with Kallasjoki.)
13:56:51 <fizzie> And from what I hear, before Kakkinen the (original; had none before *that*) surname used to be some sort of old-Swedish g-rich word that had the meaning of "a short, barrel-shaped man"; given to some ancestor in someone's army in some war. I don't remember the details well, and they might be incorrect anyway.
13:59:18 <AnMaster> fizzie, can't think of such a Swedish word, so I guess that word is no longer in use
14:01:17 -!- asciikierka has joined.
14:01:19 -!- asciikierka has changed nick to asiekierka.
14:18:20 -!- augur has quit (Read error: 110 (Connection timed out)).
14:45:11 -!- oerjan has joined.
14:53:54 -!- BeholdMyGlory has joined.
15:00:50 -!- puzzlet has quit (Remote closed the connection).
15:00:54 -!- puzzlet has joined.
15:02:25 <AnMaster> btw what is 1/INFINITY in double floating point?
15:02:44 <AnMaster> Assuming IEC 60559 conformance of course
15:03:01 * oerjan assumes that would be 0
15:03:14 <AnMaster> oerjan, yeah, that or some SMALLEST_DENORMAL_NUMBER
15:03:37 <oerjan> cannot say i've read the standard...
15:04:30 <AnMaster> can't say I have it, I only have C99 standard, witch refers to IEC 60559 for many details.
15:06:28 <fizzie> I would guess 0, too. MATLAB gives true to "(1/inf) == 0" and it counts with double precision by default, though it might need some strictness flags to be, well, strict.
15:08:18 <AnMaster> fizzie, well yes that seems to be what happens. But then there is another question: Is this specified? Or could it vary between implementations?
15:08:56 <fizzie> AnMaster: I am under the impression that IEEE 754 does not leave much wiggle-room for implementations, but that is also just a guess.
15:09:14 <AnMaster> well, since I don't own a copy of it :/
15:10:20 <fizzie> http://steve.hollasch.net/cgindex/coding/ieeefloat.html claims that n (where "n" seems to be any not-special number) divided by +inf or -inf would be well-defined as 0.
15:11:45 <fizzie> Of course you'll then have to decide whether you choose to believe some random Steve.
15:13:24 <oklofok> i swear on my mother's grave
15:13:59 <oklofok> that would probably sound more convincing if my mother was dead
15:14:55 <fizzie> oklofok: If she's not dead, it sounds -- to put it mildly -- a bit suspicious that you have already prepared a grave for her.
15:15:06 <asiekierka> 1/inf == 0.00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000...............1
15:15:39 <asiekierka> of course rounding it to any fixed-point or floating-point format gives us 0
15:16:18 <AnMaster> what is the range of numbers that are denormal for doubles? Again I'm unable to find that due to not owning spec.
15:16:25 <oerjan> fizzie: it's not _that_ unusual to reserve graves in advance...
15:16:32 <fizzie> It makes about as much sense as the "0.999... is not the same as 1" "proofs" you get; I've seen the hypothetical 0.000...1 number there.
15:17:10 <oklofok> yeah everyone knows the cauchy sequence 0.000...1 is in the same equivalence class as 0.000
15:17:12 <AnMaster> fizzie, um... 0.9999.... *is* the same as 1. Given that the ... means "continue forever"
15:17:17 <fizzie> oerjan: Well, perhaps not; I imagined an already-dug open pit, just waiting for oklopol's mother, which might be a bit more uncommon.
15:17:32 <fizzie> AnMaster: Yes, but there are also a large number of "proofs" for the opposite.
15:17:42 <asiekierka> 0.999999999999.................. rounds to 1!
15:17:43 <oklofok> the proof is as follows: lim sum (9/10)^i = 1
15:17:44 <oerjan> asiekierka: there is no final 1 in the representation of any real number
15:18:35 <oklofok> its sum is 1/10 * 1/(1-9/10) = 1
15:18:40 <AnMaster> oklofok, I think the proof I saw was a bit different.
15:18:52 <AnMaster> something about doubling it or such
15:18:59 <oklofok> well you can write an uglier proof
15:19:06 <AnMaster> oh wait. no that was another one
15:19:52 <oklofok> that just proves multiplication isn't the inverse operation of division!
15:20:06 <fizzie> 0.999 = 1 and 0.001 = 0; now I get it!
15:20:11 * oerjan swats oklofok -----###
15:20:11 <fizzie> Hey, the bus! I'm missing it. ->
15:21:19 <AnMaster> oklofok, no it doesn't prove that. It just proves that asiekierka doesn't know how to handle numbers that aren't exactly in decimal.
15:21:57 <oklofok> well i have this, call it a hunch, thing, that asiekierka has absolutely no idea what real numbers are
15: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
15:22:14 <AnMaster> of course that assumes it is really infinite.
15:22:24 <AnMaster> oklofok, well yeah I think that too
15:22:27 <oklofok> i need to go buy that... umm
15:22:37 <oklofok> we call it "cucumber salad" here i think
15:28:22 <fizzie> You with your silly numbers, I almost missed the bus.
15:29:36 <oklofok> did you only have 0.000....01 seconds to spare
15:30:54 <fizzie> Maybe 0.000...003 or so.
15:31:38 <oerjan> your obvious attempts to make me go mad with rage are failing, just so you know
15:32:16 <oklofok> do you know how hard it is to ask an analysis prof about nonstandard analysis
15:32:27 <oklofok> took me like 20 minutes to get him to talk about hyperreals
15:32:57 <oklofok> (then turned out he used to do it in his crazy youth)
15:33:53 <fizzie> A skeleta-number in his closet.
15:34:37 -!- Pthing has joined.
15:35:02 <fizzie> Now I run out of electrons too, meh. ->
15:36:19 <oerjan> fizzie: are you positive?
15:37:11 <oerjan> maybe not the best time to ask
15:37:30 <AnMaster> hm will == always return 1 for true in C? After all, everything non-zero is counted as true
15:39:31 <AnMaster> issue: check if two int containing the result of a logic test are the same. Need C89 here.
15:39:49 <AnMaster> otherwise casting to (bool) should make it well defined
15:40:57 <AnMaster> oerjan, bool is usually one byte. It can store the values 0 and 1 according to the standard
15:46:03 <AnMaster> oerjan, this is for a test suite. It would be a bit embarrassing if I had expected == actual and it turned into something like: 1 == 42.
15:47:03 <AnMaster> since return value of ! is speced to be 0 or 1
15:48:58 -!- Guest94377 has changed nick to Cerise.
15:49:28 -!- Cerise has changed nick to Guest43821.
15:57:36 -!- ais523_ has joined.
15: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.
16:00:23 <oerjan> hey that would be discriminating against people who have never used it and don't know what it is really about
16:01:20 <fizzie> AnMaster: The relational operators (<, >, <=, >=, ==, !=) are also specced to yield either 0 or 1 always.
16:01:27 <ais523_> oerjan: in favour of people who have used it and don't know what it is really about?
16:02:20 <AnMaster> fizzie, yeah, but since it is supposed to be a generic test suite for any function that is supposed to do the same thing basically, I can't know it isn't implemented using bitwise operators for example
16:02:57 <fizzie> Well, the !!x you mention is a reasonably common idiom too.
16:03:08 <fizzie> Bitsilly operators should exist.
16:03:30 <fizzie> I don't know, something silly. Being always so serious, silliness does not naturally come to me.
16:03:34 <oerjan> you'd think that would be obvious from the name...
16:03:57 * AnMaster thinks C are missing some useful operators: logical xor, bitwise and logical nor/nand. And what about nxor?
16:04:47 <AnMaster> you need a !! there on either side
16:04:48 <oerjan> erm so you mean converting to bool first
16:05:07 <AnMaster> well you could do that or the !! thing
16:05:22 <fizzie> The nfoo operators aren't so popular; they're always so negative.
16:05:37 <oerjan> you can have just one ! on each side actually
16:05:56 <fizzie> And the hypothetical logical ^^ operator has the "can't be sensibly short-circuiting" problem.
16:06:20 <fizzie> And also the "looks like one of those anime-style smileys" problem.
16:06:29 <asiekierka> FAIRY GODPA--- oh wait, wrong channel to put my obsesion in.
16:07:05 <oerjan> also for nor/nand via &&/||
16:07:29 <AnMaster> oh also we forgot xand and nxand
16:08:04 <AnMaster> oerjan, but what about bitwise ones?
16:09:22 <AnMaster> oerjan, still, we need xand. First we need to figure out a meaning, because it currently has none.
16:09:32 <fizzie> Isn't that usually called XNOR? Well, I guess NXOR makes as much sense.
16:11:38 <ais523_> I've seen NEXOR, but it was in a really old book
16:11:43 <ais523_> XNOR is much more common nowadays
16:11:52 <fizzie> If you start on that road, you might as well provide all 16 bitwise ops, even the always-false and always-true ones.
16:13:11 <oerjan> xneither snow xnor rain xnor heat
16:14:12 <asiekierka> xehird: if a variable relates to the existence of asiekierka, outputs 0
16:14:45 <oerjan> i'd have expected some more 0 cases
16:15:07 <oklofok> was just about to say that, but couldn't figure out a funny way to do it.
16:15:10 <asiekierka> xehird: if a variable relates in any way to asiekierka, outputs 0
16:15:19 <asiekierka> if a variable relates to the topic, unchanged
16:16:02 <oklofok> i'm not sure you got the joke
16:17:11 <oerjan> xoklofok on the other hand cannot possibly output just 0 or 1
16:17:32 <oerjan> although o is an option
16:21:22 <oklofok> well *you* do this integral
16:21:25 <asiekierka> xasiekierka always outputs either 1 higher than the max number possible (for binary it's 2) or UNDEFINED.
16:21:57 <oerjan> for an infinite range, output *WHOOSH*
16:22:20 <asiekierka> for an infinite range outputs INFINITY+1
16:22:47 * oerjan wonders if this counts as a meta-*WHOOSH*
16:23:20 <oklofok> i don't get it, but it's funny
16:35:59 <ais523_> "xoklofok" is redundant, there's only one oklofok, so it makes no sense to make the operator exclusiv
16:41:38 -!- ais523__ has joined.
16:41:58 <ais523_> that's my IP address, yet I didn't join
16:42:12 <ais523_> also, it knows my nickserv password
16:42:33 <ais523_> theory: my laptop disconnected from the internet and automatically reconnected
16:43:26 <ais523_> and if it's correct, ais523 will time out or reset within a few minutes
16:46:48 <ais523_> oklofok: leaving off trailing Es is a common AnMaster typo
16:47:31 <oklofok> (we can't have v as a suffix)
16:47:41 <ais523_> AnMaster: it's a typo I made
16:47:48 <ais523_> "exclusiv" for "exclusive"
16:47:57 <ais523_> and then I thought it was your style once I'd made it
16:48:02 <AnMaster> ais523_, I don't think I made that specific one?
16:48:12 <AnMaster> some yes, but that specific one seems very strange to me
16:48:25 <oklofok> god i hate this course, none of the integrals can ever be calculated
16:48:26 <AnMaster> ais523_, what about your laptop you said?
16:48:35 <oklofok> i mean seriously error function stuff
16:48:38 <ais523_> it's connected as ais523 or ais523__, possibly both
16:48:51 <oklofok> always some neat little trick you have to use
16:49:11 <AnMaster> ais523_, well automatically reconnecting is a common behaviour of irc clients and bouncers
16:49:14 <ais523_> meanwhile, I'm waiting for students on this Java course to turn up
16:49:23 <ais523_> AnMaster: yes, but you'd expect them to disconnect the original
16:49:25 <AnMaster> (now that is another common typo, forgetting the , after "well")
16:49:54 <AnMaster> ais523_, well, it would possibly take a bit to timeout. Especially if your client isn't set up to automatically ghost it
16:50:10 <ais523_> autoghost would be insane from my point of view
16:50:21 <oerjan> public class JavaCourse
16:50:24 <ais523_> given that when one connection's being flaky, I often connect on another one
16:50:37 <ais523_> it wouldn't make sense for the flaky one to automatically boot off the consistent on
16:51:56 -!- ais523 has quit (Read error: 110 (Connection timed out)).
16:52:49 <ais523_> ah good, the world is sane
16:52:52 -!- ais523_ has changed nick to ais523.
16:53:42 <ais523> well, I don't mean that, that's an obviously incorrect statement
16:53:51 <ais523> I mean, it's slightly saner than I feared it would be
17:02:05 <oklofok> okay this time a potential function existed, so there was no reason to start integrating over the closed path
17:03:11 <oklofok> i guess you could think of it as leading in the right direction, because the wrong direction leads to an impossible integral.... it's just kinda annoying if you don't recognize it's an impossible one
17:05:14 <AnMaster> hm while it is possible in English to get two copies of the same word after each other ("that that" for example), is it possible to come up with one that has three copies of the same word after each other?
17:06:26 <oklofok> who said that that that has been said, has been said
17:06:32 <oklofok> ...i'm not sure that's a very good one
17:06:47 <AnMaster> oklofok, could you put out () to show parsing order please XD
17:07:10 <ais523> oklofok: that's missing a pair of quotes
17:07:10 <AnMaster> meta-discussion about that (that that)?
17:07:39 <oklofok> "that that has been said" just isn't very good english.
17:07:44 -!- ais523 has quit ("Page closed").
17:07:56 -!- ais523__ has quit (No route to host).
17:08:25 <AnMaster> oklofok, so it is "who said that (that that has been said), has been said"?
17:08:39 <oklofok> there's a german example with something like '...das, dass das "das, das", das das...'
17:08:54 <oklofok> i took that, and tried to remove quotes, because that's cheating
17:09:07 <oklofok> i mean 'eric said "that that that that that that that"'
17:09:28 <AnMaster> oklofok, what about: "using that that that construct outside contrived examples is really irritating"?
17:09:30 <oklofok> and yes, that's what i meant
17:10:03 <oklofok> that's kinda of quoted too
17:10:29 <AnMaster> but outside quoting/meta-discussion I can't think of any example
17:10:44 <AnMaster> even your first one was kind of quoting
17:12:27 -!- ais523__ has joined.
17:12:31 -!- ais523__ has changed nick to ais523.
17:12:51 <asiekierka> the good thing is it at least COMPILED
17:12:55 <AnMaster> asiekierka, I never heard of dc(1) being called "desk calculator"
17:13:09 <oklofok> AnMaster: the that's are not at all quoted in mine, i don't refer to a that, except as a pronoun
17:13:26 <asiekierka> http://en.wikipedia.org/wiki/Dc_(computer_program)
17:13:38 <fizzie> "Dc is a reverse-polish desk calculator which ---" starts my man page.
17:13:59 <AnMaster> fizzie, same, except mine omits the word "desk"
17:14:43 <AnMaster> fizzie, actually mine as "dc" in lower case too
17:15:38 <fizzie> What sort of calculator is GNU bc, then? Blobby? ("Basic", says the WP disamb page.)
17:16:09 <AnMaster> fizzie, bc is POSIX, while iirc dc isn't?
17:16:15 <AnMaster> I might misremember that though
17:16:41 <Deewiant> At least bc has a POSIX man page but dc doesn't
17:17:05 <AnMaster> The bc utility is implemented historically as a front-end processor for dc; dc was not selected to be part of this volume of
17:17:05 <AnMaster> IEEE Std 1003.1-2001 because bc was thought to have a more intuitive programmatic interface. Current implementations that implement bc
17:17:05 <AnMaster> using dc are expected to be compliant.
17:17:18 <AnMaster> and that was quote from said one
17:17:27 <AnMaster> I disagree however. dc is more intuitive
17:22:44 <pikhq> bc is just an awful bloody hack.
17:22:56 <pikhq> (seriously, compiling down to dc?)
17:23:55 <pikhq> Yeah, it compiles down to a different bytecode to execute.
17:24:29 <AnMaster> nothing wrong with compiling to bytecode before executing something
17:25:00 -!- kar8nga has quit (Remote closed the connection).
17:25:03 <AnMaster> (for a start: often it makes execution a lot simpler)
17:26:27 <pikhq> It's a dc-like bytecode.
17:26:54 <AnMaster> I have no idea what the internal bytecode of dc looks like
17:26:58 <pikhq> And decent chunks of the compilation logic are written in that.
17:27:19 <AnMaster> are parts of the compilation logic written directly in bytecode?
17:27:59 <AnMaster> what does the bytecode in question look like?
17:28:23 <pikhq> Except with random bits changed for no good reason.
17:28:25 <AnMaster> pikhq, not like asm-style bytecode then?
17:28:36 <pikhq> Nope, not asm-style bytecode at all.
17:29:28 <AnMaster> I meant as in "bytecode which has a model similar to that of, say, python bytecode, or one more like the bytecode of PCRE"
17:30:05 <AnMaster> iirc the latter is not as "imperativeish" as the former
17:42:00 -!- oerjan has quit ("Good night").
17:52:07 <asiekierka> where can i find any source code for BSD dc
17:53:44 <asiekierka> unix contained it since like the fourth/fifth unix edition
17:56:15 -!- Guest43821 has changed nick to Cerise.
17:57:14 -!- coppro has quit (Read error: 110 (Connection timed out)).
17:59:18 <asiekierka> an old unix DC is 35kb of PDP-11 assembler
17:59:34 <AnMaster> asiekierka, good luck porting that.
18:00:29 <asiekierka> ATM: browsing the source for the 7th edition and seeing if it got any bette
18:00:50 <AnMaster> asiekierka, write your own implementation?
18:01:19 <asiekierka> as an exercise i'll attempt porting that
18:05:08 <AnMaster> Nasty, it evaluates the parameter several times in the glibc implementation
18:06:48 <asiekierka> one thing that had to be done is move "main" to the end
18:10:38 <ais523> happy australian mailman reminders day!
18:11:08 <ais523> it's a holiday that can't be missed
18:11:10 <AnMaster> ais523, fpclassify() is really nasty
18:11:35 <AnMaster> wait, it is 1 December already over there?
18:12:08 <AnMaster> oh yeah, in local time I'm 20 in... uh.. 24-(19+18/60) hours
18:12:45 <ais523> AnMaster: 1 December is your birthday?
18:13:31 <ais523> happy australian birthday, then
18:14:50 <ais523> this is your last day of being a teenager, ever
18:15:29 <asiekierka> "Can you guess what this dc program is doing? (There should be an International Obfuscated DC Code Contest...)"
18:17:11 <asiekierka> i'll upload the source code on my server
18:19:29 -!- ais523 has quit (Remote closed the connection).
18:19:32 <oklofok> AnMaster: big birthday party coming up huh?
18:19:45 <asiekierka> http://asiekierka.boot-land.net/dc-old.zip - that's for you, AnMaster, as a birthday present maybe
18:20:03 <yiyus> asiekierka: if you want to port a light dc, maybe you have more luck with p9p version
18:20:07 <yiyus> http://code.swtch.com/plan9port/src/tip/src/cmd/dc.c
18:20:13 <yiyus> roughly 2300 lines, no asm
18:20:23 <AnMaster> oklofok, no, that was moved to last Sunday due to tomorrow being inconvenient. I would have been unable to attend at all for example
18:20:28 <yiyus> it uses some plan9 libs, but it should be easy to by-pass that
18:20:34 <AnMaster> and not a big party. Just a few relatives
18:20:44 <asiekierka> i think this one may roughly be related to the unix v7 one
18:21:16 <asiekierka> it is a port of (probably a bit newer) the version from unix v7
18:21:41 <oklofok> traditionally i've sat alone in my room during birthdays and avoided all human contact, but it's become slightly harder now that i live with a girl.
18:21:51 <yiyus> well, it is probably a port from the last research unix from bell labs
18:22:26 <oklofok> but maybe i could get like a lock
18:22:44 <yiyus> in fact, plan9 dc was a port from unix, p9p dc is a port to unix from plan9 dc
18:22:50 <yiyus> it is an infinite loop
18:23:13 <oklofok> well kinda hard to be alone without a lock
18:23:38 <oklofok> girls are always like uhh big day let's cuddle
18:24:04 <AnMaster> oklofok, anything wrong with that?
18:24:49 <oklofok> well it's against the tradition.
18:25:12 <oklofok> but i lived with the chick when i had my last birthday too, so it's kinda too late.
18:25:44 <oklofok> also one before that was with a girl, but that was after midnight, so it doesn't count
18:26:21 <oklofok> but when i turned 18 it was awesome, i was alone all weekend, just coding up some random shit
18:27:12 <asiekierka> ok, so far changed errors and fixed them 'til line 766
18:32:06 <asiekierka> Variable idetifier expected (a lot) and unidentified symbols for ddivd and ddivr
18:34:28 -!- adam_d has joined.
18:37:17 -!- quantumEd has joined.
18:48:35 <asiekierka> <asiekierka> Blk* div(Blk *ddivd, Blk *ddivr)
18:48:35 <asiekierka> <asiekierka> 3 "variable identifier expected"
18:48:35 <asiekierka> <asiekierka> and 2 "undefined symbol:" one for 'ddivd' and one for 'ddivr'
18:51:31 <AnMaster> asiekierka, try another compiler that shows column too? Like clang?
18:52:14 * AnMaster is busy with a report with deadline soon
18:53:48 <asiekierka> OR i could port an old C compiler to the C64
18:57:38 <AnMaster> asiekierka, you could first make it compile with a modern one, then use that specific one?
18:57:46 <AnMaster> assuming it is reasonably modern
18:57:56 <asiekierka> i made it compile with a modern version of dc
18:58:15 <AnMaster> port it to current gcc. Then port it to that thing
18:58:27 <AnMaster> assuming cc65 isn't quite as messy
18:58:36 <AnMaster> also porting a C compiler to C64 would be more work
18:58:46 <AnMaster> since that isn't just "make C compiler itself compile"
18:59:00 <AnMaster> it is "rewrite parts of the C compiler to generate code for this system instead"
19:01:50 <asiekierka> well, cc65 works like this: turn C into ASM -> compile ASM :P
19:17:47 -!- Gracenotes has joined.
19:34:23 -!- ais523 has joined.
19:40:00 -!- asiekierka has quit (Read error: 110 (Connection timed out)).
19:50:05 -!- MigoMipo has joined.
20:06:56 -!- augur has joined.
20:14:29 <pikhq> AnMaster: Depends on the C compiler.
20:15:12 * pikhq says useless things
20:20:59 <AnMaster> pikhq, well, unless llvm has a backend for C64...
20:21:04 <pikhq> PCC and Small-C are easy to port, for example.
20:21:14 <pikhq> ... Oh, an LLVM-based compiler? That sounds painful.
20:21:39 <pikhq> That'd be painful to retarget.
20:21:47 <AnMaster> just write a new backend for llvm, and some system specific header files and you are done
20:22:11 <AnMaster> system specific header files = stuff like updating limits.h and such
20:22:16 <AnMaster> well you might need a few more
20:22:27 <AnMaster> to actually tell the frontend of the sizes of those variables too
20:22:40 <AnMaster> way easier than something like gcc I imagine
20:22:58 <pikhq> Small-C and PCC would be trivial to retarget.
20:23:08 <pikhq> Though Small-C only supports a subset of C.
20:23:40 <pikhq> (no structs or unions, and is K&R)
21:19:33 -!- kar8nga has joined.
21:36:18 -!- MigoMipo has quit.
22:16:56 -!- kar8nga has quit (Remote closed the connection).
22:19:13 -!- augur has quit (Read error: 110 (Connection timed out)).
22:29:54 <AnMaster> pikhq, llvm backend is not too hard to write I think
22:30:03 <AnMaster> considering there is a backend for PIC16
22:57:20 -!- MizardX has quit ("brb").
23:03:24 -!- MizardX has joined.
23:18:12 -!- coppro has joined.
23:30:08 -!- augur has joined.
23:59:07 -!- BeholdMyGlory has quit (Remote closed the connection).