←2010-10-30 2010-10-31 2010-11-01→ ↑2010 ↑all
00:01:10 <Phantom_Hoover_> Oh dear god, there's a heavy metal version of Pictures at an Exhibition.
00:06:59 <Gregor> Of course there is.
00:07:10 <elliott> There's a heavy metal version of the Teletubbies theme, I'm sure :P
00:07:34 -!- Phantom_Hoover_ has quit (Remote host closed the connection).
00:08:07 <Gregor> "99% of all California farms are family owned." I like how they carefully chose the metric such that it would sound good.
00:08:13 <Gregor> Change that to farmLAND and it would be awful.
00:12:20 <wareya> lol
00:15:48 <Sgeo> Who cares whether it's families or corporations who own farmland?
00:16:18 <Gregor> The same kind of people who like froo-froo commercials where folksy idiots talk about how they more or less waste their life in an extremely inefficient but subsidized industry.
00:16:31 <elliott> Gregor: <3
00:20:01 -!- FireFly has quit (Quit: swatted to death).
00:37:37 -!- poiuy_qwert has quit (Ping timeout: 245 seconds).
00:41:54 <catseye> i suddenly want to write a shell script which creates a directory, copies itself there, cd's there, and execs that copy
00:46:00 <olsner> sounds trivial
00:46:07 -!- alpha-aquilae has joined.
00:46:29 -!- poiuy_qwert has joined.
00:47:35 <olsner> I wonder how long a script like that can keep going
00:47:35 <catseye> it is
00:47:48 <catseye> but so is eating, and i have the urge to do that all the time
00:54:38 <Gregor> Not long, most systems have pathname limits.
00:54:43 <Gregor> Your PWD would get too big.
00:55:10 <olsner> boring
00:55:32 <olsner> could you e.g. end up having created a path too long for 'rm' though?
00:55:55 -!- alpha-aquilae has left (?).
01:11:01 <Gregor> olsner: No.
01:16:15 <elliott> <Gregor> Not long, most systems have pathname limits.
01:16:16 <elliott> <Gregor> Your PWD would get too big.
01:16:16 <elliott> symlinks
01:16:39 <pikhq> Linux has a 4k pathname limit.
01:16:44 <Gregor> Symlinks still have to be resolved.
01:16:50 <elliott> Gregor: well, true.
01:17:02 <elliott> Gregor: pathname limits are lame :(
01:17:11 <Gregor> elliott: Then use HURD.
01:17:25 <elliott> Gregor: HURD people argue about what to define PATH_MAX as :-)
01:17:37 <elliott> #define PATH_MAX UINT_MAX /* i would be fine with this */
01:18:03 <poiuy_qwert> anyone got any ideas what the icon for an interpreter of a language named Zetaplex should look like?
01:18:12 <Gregor> elliott: That would be REALLY bad.
01:18:20 <elliott> Gregor: Why?
01:18:20 <Gregor> elliott: Since a lot of people use char path[PATH_MAX];
01:18:25 <elliott> Gregor: Oh, true.
01:18:28 <pikhq> Gregor: Their fault.
01:18:51 <elliott> pikhq: The job of a non-revolutionary system is to run more or less every program that isn't completely and *utterly* written by crack-addled crack monkeys :P
01:18:52 <Gregor> Let's just subtract UINT_MAX from esp!
01:18:55 <pikhq> I know, I know, that doesn't help Hurd build anything.
01:19:04 <Gregor> Uhh, nothing happened.
01:19:04 <Gregor> FUCK
01:19:09 <elliott> Gregor: oh wow
01:19:16 <elliott> Gregor: it'd become char path[0]!
01:19:22 <elliott> Gregor: and as we all know, [0] == variable length array!
01:19:29 <elliott> Gregor: therefore path is dynamically allocated Q.E.D.
01:19:39 * Sgeo wonders what type [Right, Left] is
01:19:40 <Gregor> Uhhhh
01:19:48 <Gregor> UINT_MAX isn't 0...
01:20:05 * Sgeo hits self for failing to work it out
01:20:06 <catseye> poiuy_qwert: the logo from http://www.zetatalk.com/ maybe?
01:20:19 <elliott> Gregor: No, but.
01:20:23 <elliott> Gregor: <Gregor> Let's just subtract UINT_MAX from esp! <Gregor> Uhh, nothing happened.
01:20:27 <pikhq> elliott: Hurd is a revolutionary system that pretends not to be.
01:20:32 <elliott> My logic is impeccable.
01:20:35 <pikhq> elliott: And is written *by* crack-addled crack monkeys.
01:20:39 <Gregor> elliott: 'cuz it'd have to align the stack. But that's at the backend, not the frontend.
01:20:49 <catseye> Sgeo: I... "list of directions"?
01:20:49 <poiuy_qwert> catseye: lol :P
01:20:58 <elliott> Gregor: And, fun fact, allocating 0 bytes doesn't create a variable array either. ZOMG ZOMG ZOMG
01:21:03 <Gregor> :P
01:21:05 <Gregor> TOUCHE SIR
01:21:19 <Sgeo> Tell that to lambdabot
01:21:43 <elliott> Sgeo: [a -> Either a a]
01:21:54 <Sgeo> Yeah, I know
01:21:59 <Sgeo> It's sad I needed to ask the bot
01:22:01 <catseye> Sgeo: I did not know this was Haskell
01:22:04 <elliott> <catseye> poiuy_qwert: the logo from http://www.zetatalk.com/ maybe?
01:22:06 <elliott> this is the most amazing
01:22:46 <elliott> catseye: oh cool she invented nibiru
01:23:12 <elliott> "Lieder describes herself as a contactee with the ability to receive messages from extra-terrestrials from the Zeta Reticuli star system" ;; hands up who thinks she decided she was hearing aliens first and *then* looked up a random star system
01:23:14 <elliott> and asked the aliens for confirmation
01:25:33 <olsner> a UINT_MAX sized array (assuming uint and pointers have the same size) would effectively be a -1 sized one :)
01:25:54 <olsner> hmm, unless the actual allocation is aligned by the compiler
01:26:33 <olsner> it's all fun and games until you think of the details
01:26:37 <poiuy_qwert> i was thinking of making the icon relate to http://en.wikipedia.org/wiki/Zeta
01:28:23 <elliott> poiuy_qwert: a zetaplex is clearly the Riemann zeta function
01:28:25 <elliott> it's zeta, and complex
01:28:47 <elliott> poiuy_qwert: failing that, just put zetas on every face of a given 3d solid more than a cube
01:28:51 <elliott> poiuy_qwert: zetaplex
01:31:47 <poiuy_qwert> i really like those ideas, but then again i also need to be able to make it, and it should be recognizable at 16x16 or 32x32 :(
01:32:27 <Sgeo> Dear spammers: Why would I want any sex product where the boy's fingers were frozen off?
01:32:45 <elliott> whut
01:32:50 <poiuy_qwert> im thinking of just doing " Zζ " like in the image on wikipedia. so easy
01:32:56 <Sgeo> Subject: Boy's fingers frozen off
01:33:16 <Sgeo> Body (minus URL): Let the ladies gossip about the wonderful intercourse they had with you
01:34:30 <Gregor> D-8
01:35:26 <elliott> xD
01:36:44 <elliott> pikhq: http://en.wikipedia.org/wiki/Pana_Wave
01:36:53 <elliott> japan's cults are AWESOME
01:38:31 <Sgeo> Shouldn't they move to Antarctica during Antarctica's winter?
01:38:39 <Sgeo> That will help them avoid electromagnetic radiation
01:44:35 <elliott> catseye: [[Roughly a week before the supposed arrival of Planet X, Lieder appeared on KROQ radio in Los Angeles, and advised listeners to put their pets down in anticipation of the event. When asked if she had done so, she replied that she had, and that "The puppies are in a happy place." She also advised that "A dog makes a good meal".]]
01:45:36 <catseye> wow
01:46:09 <Sgeo> Did anyone else put their pets down?
01:46:22 <elliott> Sgeo: i don't know but lmao
01:46:27 <elliott> she just wanted an excuse to eat her dog
01:46:29 <Sgeo> Also, call me an asshole, but I just don't quite feel the same about non-human animals that I do about humans
01:46:36 <elliott> catseye: [[After the 2003 date passed without incident, Lieder said that it was merely a "White Lie ... to fool the establishment,"[10] and said that to disclose the true date would give those in power enough time to declare martial law and trap people in cities during the shift, leading to their deaths.]]
01:46:51 <elliott> "Everyone is going to DIE! Eat your dog! ...ha ha, only kidding. God, Woof was delicious."
01:58:01 <elliott> pikhq: What features does my boot sector need? :-P
01:58:09 <pikhq> NOTHING
01:58:16 <elliott> pikhq: It already has nothing!
01:58:27 <elliott> pikhq: (Well, okay, it does have a diagnostic output that even lets you tell how slow your floppy drive is.)
01:58:35 <elliott> pikhq: boo(o * number of retries made)t!
01:58:46 <elliott> nothing if it's never even run
01:58:55 <elliott> bo if it hangs while trying to reset the disk the first time
01:59:06 <elliott> boo... if it keeps trying to load or hangs or whatever
01:59:11 <elliott> boo(o...)t! if all has gone well
01:59:51 <elliott> omg zzo38 would love the hurd logo
01:59:54 <elliott> it's written in metafont
02:00:07 <elliott> <elliott> bo if it hangs while trying to reset the disk
02:00:09 <elliott> ...
02:00:11 <elliott> http://www.gnu.org/software/hurd/hurd/status/hurd-fvwm-screenshot-2009-11-12.png
02:00:12 <elliott> HUUUUURD
02:00:18 <elliott> FRENCH HIRD FUCK YEAH
02:00:21 <elliott> *HURD
02:02:17 <poiuy_qwert> elliott: i think my logo shall be http://oi51.tinypic.com/dy6c74.jpg
02:03:00 <elliott> poiuy_qwert: i like it but -- i'd make the text a little smaller so that it doesn't push the edges like that, and also a little higher -- it looks a bit bottom-heavy right now, even though it isn't
02:03:03 <elliott> just my opinion though
02:03:06 <elliott> poiuy_qwert: also, png, not jpg, man! :)
02:03:11 <elliott> Gregor: "Olaf Buddenhagen, 2009-06-09
02:03:11 <elliott> I have been using the Hurd for most of my everyday work for some two years now"
02:03:15 <elliott> Gregor: guess we've found out your REAL name
02:03:19 <elliott> *now."
02:03:23 <elliott> catseye: can you believe it? ^
02:03:36 <elliott> "One particular problem for desktop use is the fact that while X does work, it works very poorly -- it's not only slow and jerky all the time, but also tends to lock up completely. (At least with the local socket transport... Haven't tried whether forcing TCP works better.)"
02:03:36 <Gregor> elliott: ...???
02:03:41 <elliott> Gregor: you used HURD
02:03:45 <elliott> this guy has used hurd for two years
02:03:46 <elliott> QED
02:03:52 <elliott> nobody uses hurd, so you must be the only one
02:04:01 <elliott> i like how they're finding out that
02:04:01 <poiuy_qwert> elliot: i'll try your ideas. and it is png, it just says jpg on the image host (i always use png)
02:04:02 <elliott> shock horror
02:04:02 -!- augur has quit (Remote host closed the connection).
02:04:10 <elliott> implementing unix on top of pure message-passing daemons
02:04:16 <elliott> all components in separate processes
02:04:17 -!- augur has joined.
02:04:17 <elliott> is not the quickest thing ever
02:04:39 -!- storkbot has joined.
02:04:41 * elliott stabs poiuy_qwert for misspelling his name
02:04:44 <elliott> ...but ok :P
02:05:29 <elliott> Gregor: #define PATH_MAX ] = dynamic_path(); ""[
02:05:31 <elliott> Gregor: OR SOMETHING
02:06:17 <Gregor> lawl
02:06:28 <elliott> [[The Hurd servers themselves are multithreaded, so they should be able to take benefit of the parallelism brought by SMP/Multicore boxes. This has however never been tested yet because of the following.
02:06:28 <elliott> Mach used to be running on SMP boxes like the ?http://en.wikipedia.org/wiki/Intel iPSC/860 , so has an infrastructure for running on them. It has however not (yet) been ported to nowadays' SMP standards like ACPI etc.
02:06:29 <elliott> That is why for now GNU/Hurd will only uses one logical processor (i.e. one core or one thread, depending on the socket type).]]
02:06:40 <elliott> Gregor: "Everything is an independent server so it can all be run in parallel! Note: Only one logical CPU supported."
02:06:53 <Gregor> Why yes, Hurd IS a joke of an OS!
02:07:06 <elliott> Gregor: *GNU!
02:07:07 <elliott> *kernel!
02:07:10 <elliott> An kernel.
02:07:26 <Gregor> Why yes, Hurd IS a joke of a Gnu!
02:30:35 -!- storkbot has quit (Remote host closed the connection).
02:32:37 -!- storkbot has joined.
02:37:06 -!- storkbot has quit (Remote host closed the connection).
02:37:24 -!- storkbot has joined.
02:37:31 -!- augur has quit (Remote host closed the connection).
02:37:53 -!- augur has joined.
02:45:00 -!- storkbot has quit (Ping timeout: 276 seconds).
02:47:07 <pikhq> Why is it that IE must make web design so damned hard?
02:47:21 <elliott> pikhq: it doesn't, it only makes web design for IE hard
02:49:56 <Sgeo> http://www.boingboing.net/2010/10/30/you-cant-tell-your-u.html?utm_source=feedburner&utm_medium=feed&utm_campaign=Feed%3A+boingboing%2FiBag+%28Boing+Boing%29&utm_content=Twitter
02:50:00 <Sgeo> *sigh*
02:50:14 <Sgeo> Stupid awesome ideas spoiled by reality and Microsoft's decisions
02:50:56 <elliott> that awesome idea looks like an ergonomic nightmare
02:51:44 <Sgeo> That too :(
02:51:51 <Sgeo> But wires can fix tha
02:51:52 <Sgeo> that
02:52:35 <elliott> also: in no way more anonymous
02:52:38 <elliott> in fact less secure
02:52:43 <elliott> and location-specific
02:52:44 <elliott> it's a stupid idea
02:54:55 -!- storkbot has joined.
02:56:22 <Sgeo> But it's FUN
02:56:31 -!- BeholdMyGlory has quit (Remote host closed the connection).
02:56:37 <Sgeo> Except for stupid autorun and that one piece of malware that doesn't even require autorun
02:57:13 -!- storkbot has quit (Remote host closed the connection).
02:59:42 -!- storkbot has joined.
03:01:55 -!- storkbot has quit (Remote host closed the connection).
03:02:13 <elliott> pikhq: The problem with my boot sector is that all the booting fun happens in the OS itself :(
03:08:20 -!- Mathnerd314 has quit (Ping timeout: 240 seconds).
03:11:43 <Sgeo> Opera forgot my settings!
03:11:46 <Sgeo> FFFFFFFFFFFFFUUUUUUUUUUUUUUUUUUUU
03:11:58 <Sgeo> That's it
03:12:02 <Sgeo> That's the last straw
03:13:01 -!- augur has quit (Ping timeout: 252 seconds).
03:14:25 <Gregor> Sgeo: I would think the last straw would be shortly after installing Opera, when you realize it's not a good browser.
03:14:43 <Sgeo> It handled Reddit and ANGEL nicely!
03:14:52 <Sgeo> And the SL Marketplace login
03:15:01 <Sgeo> Opera > Chrome with those three sites
03:15:05 <elliott> Gregor: It's amazing how far Opera's got on having awesome people as employees and claiming to be super-standards-compliant.
03:16:50 <Sgeo> Chrome still has its usual Reddit issues :(
03:18:39 -!- augur has joined.
03:18:42 <catseye> Gregor: that is but one of many straws
03:19:39 <pikhq> Gregor: Are there any good browsers?
03:19:52 <Sgeo> Chrome absolutely SUCKS with Reddit
03:19:58 <Gregor> pikhq: Even IE9 is better than Opera.
03:20:06 <Sgeo> Has Firefox improved any?
03:20:14 <Sgeo> Is Firefox any less of a hog these days?
03:20:19 <Gregor> No.
03:20:21 <pikhq> Basically all of them fail hardcore at many cases of 100% valid HTML 4.
03:20:38 <pikhq> Sgeo: Firefox 4 appears to be less of a hog, but that's in beta.
03:20:54 <elliott> chrome is fine with reddit
03:20:56 <elliott> absolutely fine
03:21:07 <Sgeo> elliott, no. It is not.
03:21:12 <elliott> yes. yes it is
03:21:14 <Sgeo> I try to open a bunch of comment tabs
03:21:23 <elliott> and?
03:21:26 <Sgeo> The tab with the main page freezes while the others load
03:21:31 <elliott> no it doesn't
03:21:36 <elliott> your machine/compilation/whatever sucks
03:21:47 <Sgeo> This happened on the old laptop too
03:21:54 <pikhq> Sgeo: E_WORKSFORME
03:22:01 <elliott> Sgeo: E_HERES_A_NICKEL_KID_GO_BUY_A_REAL_COMPUTER
03:22:15 <elliott> Running at 1.2 ghz, ultra-low voltage, and chrome handles a hundred tabs just fine
03:22:20 <elliott> (I use Midori now, but I did use Chrome.)
03:22:29 <Sgeo> Maybe it's an Internet connection speed thing. Slow down your Internet connection, see if the issue comes up
03:22:35 <elliott> no.
03:22:36 <elliott> no it isn't
03:22:40 <elliott> internets do not work like that
03:22:59 <Sgeo> I mean, it would be a browser fault
03:23:04 <pikhq> Sgeo: Didn't happen when my packets went to orbit and back.
03:23:07 <Sgeo> But might not be noticable on a faster connection
03:23:12 <Sgeo> pikhq, huh
03:23:30 <Sgeo> Then why TF is this happening to me?
03:23:51 -!- augur has quit (Ping timeout: 276 seconds).
03:23:56 <Gregor> Chrome's UI is annoying, Firefox is a hog unless you have a computer made of COMPUTER, Safari is fine except for the Applism that makes its UI even worse than Chrome, IE9 is actually pretty good if you can get it into its magical standards-compliance mode, Opera is crazy-fast and light but painfully uncompliant, uhhh, what am I missing?
03:24:11 <Gregor> Well, yeah, then there's a whole family of WebKit browsers that aren't Safari, and those are mostly OK.
03:24:24 <elliott> they're usually unpolished though
03:24:33 <Gregor> True.
03:24:51 <elliott> Gregor: you forgot the faux-minimalist Arch user penis-enhancing non-browsers that try to be as unusable as possible because of the idea that this is the Unix philosophy
03:25:07 <Sgeo> I don't mind Chrome's UI
03:25:07 <Gregor> I choose not to believe they exist :)
03:25:18 <Sgeo> I do mind its issues with Reddit
03:25:24 <pikhq> I'm back to using Chrome, because it works without crashing.
03:25:29 <Sgeo> Does Chrome have a safe mode I can try?
03:25:45 <pikhq> Though its non-standard UI *is* annoying.
03:26:19 <elliott> Chrome is nice if there's a theme that integrates it with your DE.
03:26:23 <elliott> e.g. Ubuntu's default theme.
03:26:58 <pikhq> There's a number of annoyances in Midori's UI.
03:27:06 <pikhq> For instance, its behavior when you close a tab.
03:27:09 <elliott> pikhq: also, it crashes all the time
03:27:19 <pikhq> It always goes to the tab to the right.
03:27:25 <elliott> also, Ctrl+N new window opens in background if you have tabs-open-in-foreground disabled
03:27:26 <pikhq> Always.
03:27:34 <elliott> pikhq: Even if you have no tab to the write? :P
03:27:35 <elliott> *right?
03:27:44 <pikhq> elliott: Then and only then does it go to the left.
03:28:22 <pikhq> This is especially annoying when you would like to *go back to the tab you were on previously*.
03:28:53 <elliott> indeed
03:29:14 <pikhq> Also, its key binding for switching tabs is annoying.
03:29:16 <Sgeo> Must
03:29:19 <Sgeo> Dehabit
03:29:21 <Sgeo> Ctrl-Shift
03:29:25 <pikhq> Ctrl-Pgup and Ctrl-Pgdown? WHY WOULD I WANT THAT
03:29:38 <elliott> pikhq: i've actually got used to that :P
03:30:40 <pikhq> Also, it was doing this annoying thing where it would actually jump down about a screenful upon the page fully loading.
03:34:20 <Sgeo> Bizzare scrolling behavior is Opera's forte
03:35:00 <Sgeo> And incredibly bizzare text selection behavior
03:35:27 <Sgeo> The always opening new tab to the right of current one was nice, though
03:38:30 <catseye> don't they all do that now, though?
03:38:43 <Sgeo> Opera does that even on Ctrl-T
03:38:49 <Sgeo> Which I've found handy on occasion
03:46:24 * Sgeo goes to download Factor
03:46:27 <Sgeo> It's been too long
04:03:56 <pikhq> elliott: Which album of Pink Floyd's was it that you said was only any good because of a single song on it?
04:05:09 <elliott> pikhq: Meddle, because of Echoes.
04:05:12 <elliott> Funny, I just mentioned Echoes.
04:05:19 <pikhq> Aaah.
04:05:33 <elliott> pikhq: The only even semi-decent song other than Echoes is One of These Days.
04:06:13 <elliott> The rest are: a love song, a bad football fanboy song, a TROPICAL JAZZ SONG (not joking -- waters wrote it entirely himself, that probably explains it), and a song where A DOG BARKING FORMS THE VOCALS
04:06:40 <elliott> pikhq: http://www.youtube.com/watch?v=HuOB2_u87fo
04:06:41 <elliott> pikhq: DOGSONG
04:07:30 <Sgeo> Is Who Let the Dogs Out better?
04:07:35 <elliott> Yes.
04:07:37 <elliott> It has structure.
04:08:16 <catseye> WHO. WHO; WHO; WHO.
04:08:28 <elliott> catseye: i do not think that song was composed with semicolons
04:08:29 * Sgeo actually kind of likes Who Let the Dogs Out, partially nostalgia maybe, but I have the impression that a lot of people dislike it
04:08:40 <elliott> well it's a terrible song.
04:08:46 <Sgeo> I also like what I've heard of Nickleback
04:09:04 <Sgeo> Although the lyrics are objectionable -- I am able to hande that
04:09:17 <pikhq> The problem with Nickleback is not that any one song of theirs is terrible. The problem is that they don't have a second song.
04:09:21 <Sgeo> There's one song I like that has sentimental-seeming lyrics that are really just horrible
04:09:36 <Sgeo> (not a Nickleback song)
04:09:38 <elliott> Nickleback *are* *objectively* *terrible*.
04:09:47 <elliott> *ANYONE* who likes Nickelback HAS NO EARS
04:09:49 <elliott> *Nickelback
04:10:32 <pikhq> elliott: The point I was trying to make is that they are probably the most samey group out there...
04:10:41 <Sgeo> http://www.youtube.com/watch?v=RZrWY8s73tk The lyrics are pretty... bleh, especially when it's clear that it's abusive, but still
04:10:42 <elliott> pikhq: Oh yes.
04:10:48 <elliott> pikhq: And their one song is terrible.
04:10:54 <pikhq> elliott: They're terrible because they are far far too consistent.
04:11:14 <Sgeo> Wait
04:11:18 <elliott> Sgeo: Man, you know... Never listen to Tool.
04:11:27 <Sgeo> Are you saying I can hear the same melody, with different lyrics???
04:11:41 <elliott> If you find it hard to *LISTEN TO A SONG* because of *SOME LYRICS*... never, ever listen to Tool. Or... or many bands
04:12:00 <Sgeo> Although this one has nostalgia value
04:12:18 <Sgeo> elliott, link me to a Tool song
04:12:34 <pikhq> Sgeo: You should just avoid music with lyrics.
04:12:34 * elliott optimises for Sgeo's squick organ
04:12:36 <elliott> Sgeo: http://www.youtube.com/watch?v=WDJgKxLNsJE
04:13:02 <Sgeo> pikhq, I like Libera. I know the music is likely religious, but it's mostly Latin, so I don't care
04:13:08 <Sgeo> Or, well, it helps me not care
04:13:20 <catseye> A 1962 Lincoln Convertible -- *that* has nostalgia value.
04:14:40 <catseye> Sgeo, what do you think of Garbage?
04:14:46 <catseye> I'm curious now.
04:14:51 <Sgeo> Uhhhh?
04:15:22 <catseye> The band called "Garbage", and their music, in case the context wasn't clear.
04:15:35 <Sgeo> Never heard of them
04:15:42 <catseye> Oh dear.
04:15:48 <catseye> Okay.
04:23:49 <catseye> we are siamese if you please
04:23:57 <catseye> we are siamese if you don't please
04:24:12 <elliott> catseye: xD
04:28:14 * Sgeo imagines a language where you don't have to look ahead to understand what's going on at any particular point
04:28:33 <elliott> Sgeo: natural or prog
04:28:37 <Sgeo> prog
04:28:40 <elliott> easy
04:28:58 <Sgeo> Factor doesn't count as doing it, btw
04:29:29 * elliott thinks Sgeo is confused
04:29:45 <Sgeo> 1 0 < [ stuff ] if
04:29:48 <Sgeo> That's ANNOYING
04:29:59 <Sgeo> Same with bi and tri
04:30:11 <Sgeo> etc
04:30:12 <catseye> well, anything with mutual recursion is going to have temporarily unresolved forward references
04:30:40 <Sgeo> ....am I asking to kill lambdas?
04:31:05 <catseye> you're sort of asking to break nesting's legs
04:32:51 * Sgeo ponders what it would take to have a thingy in Factor that enforces functional purity in marked ... words
04:33:19 <Sgeo> Add a "this is impure" marker to words that have side effects?
04:33:45 <Sgeo> ...Wait, how is dynamic scoping implemented in Factor?
04:33:46 <catseye> i don't know to what extent Factor supports the kind of metaprogramming that would let you do that
04:36:27 <catseye> YOU COULD TOTALLY DO IT IN FALCON (note: bullshit)
04:36:53 * catseye still awaits Falctorn.
04:38:15 <catseye> i think maybe the thingie could be generalized
04:38:29 <catseye> although "thingie" is already pretty general
04:39:47 <catseye> what i mean is, (compose-with-property p x y) creates a new object z, out of x and y with property p, iff both x and y have p.
04:40:17 <catseye> p being something you're born with, if you're a builtin function
04:40:24 <catseye> er thingie, not function
04:41:09 <catseye> then if p = functional purity... yeah
04:42:23 <elliott> catseye: that's just tags, in one of my type systems
04:42:53 <catseye> also could be polynomial time or something. yes it can be implemented very simply.
04:43:11 <elliott> catseye: e.g.
04:43:17 <elliott> print : string -> void [io]
04:43:24 <elliott> then if you call print, you're [io] too
04:43:27 <elliott> but you can use it as a pure value
04:43:28 <elliott> so
04:43:29 <elliott> print read_line
04:43:30 <elliott> works
04:43:33 <elliott> but it's : void [io]
04:43:41 <elliott> or : void [stdin,stdout], for instance
04:43:50 <coppro> elliott: ooh, interesting
04:44:05 <elliott> coppro: thanks :p
04:44:13 <elliott> coppro: still has creases to be edged out. or something.
04:44:26 <coppro> elliott: also, you linked me to something about vertical vs. horizonal polysomethingism or whatnot a long time ago, do you have it?
04:44:37 <elliott> coppro: i... maybe if you're more specific!
04:44:50 <coppro> elliott: well, I have no clue what that would actually mean for something /other/ than [io], so that's why I'm intrigued
04:45:01 <elliott> coppro: well, e.g.
04:45:08 <elliott> modifies_state_variable $foo
04:45:11 <coppro> elliott: it was about how you can easily define new operations in functional languages and new types in oo languages, but not both
04:45:15 <elliott> set $foo 3 : void [modifies_state_variable $foo]
04:45:23 <elliott> set $foo read_line : void [modifies_state_variable $foo, reads stdin]
04:45:25 <elliott> that sort of thing
04:45:29 <elliott> of course this quickly gets dependent-typey
04:45:31 <elliott> coppro: ahh yes
04:45:47 <elliott> coppro: let me try and find it :)
04:45:52 <coppro> elliott: how does that benefit the programmer?
04:46:01 <elliott> coppro: like haskell's io but less evil
04:46:04 <elliott> if you call something without any tags
04:46:06 <elliott> you KNOW it's pure
04:46:13 <elliott> so the api defines the effects
04:46:19 <elliott> not just of the pure component
04:46:24 <elliott> it also specifies any statefulness
04:46:27 <elliott> fully
04:46:33 <coppro> elliott: hrm... smells of Java exceptions
04:46:39 <elliott> not really
04:46:44 <elliott> coppro: not any more than haskell's IO or State is
04:46:55 <elliott> coppro: gah i'm trying to think of that article
04:47:29 <coppro> grep logs ftw?
04:48:06 <elliott> coppro: that's what i'm going to do :)
04:48:23 <elliott> ./08.07.17:17:14:31 <augur> <tusho> GRAR SCHEME GRR SGLASGJ SHITTY UNDERPOWERED TOO MINIMAL GRR RARG
04:49:16 <catseye> also, the libraries are numbered. so wrong with that
04:49:36 <elliott> catseye: it's so versioning
04:49:42 <elliott> catseye: ABI-incompatible = new package
04:50:08 -!- rodgort has quit (Quit: Coyote finally caught me).
04:51:51 -!- rodgort has joined.
04:54:36 <pikhq> There is absolutely nothing wrong with so versioning aside from people being able to fuck it up.
04:57:01 <elliott> pikhq: FYI, NetBSD Linux emulation does not appear to be up to the task of running Debina.
04:57:02 <elliott> *Debian.
04:57:17 <pikhq> elliott: Aaaaw.
04:57:23 <pikhq> elliott: Any idea what the problem is?
04:57:33 <elliott> pikhq: something thinks the kernel is too old -- probably glibc
04:58:02 <Gregor> <elliott> pikhq: FYI, NetBSD Linux emulation does not appear to be up to the task of running Debian. // wow
04:58:24 <elliott> Gregor: I MAY HAVE BEEN GETTING DEBOOTSTRAP TO WORK ON NETBSD WITH CATSEYE FOR THE PAST FEW HOURS
04:58:35 <elliott> Gregor: I think I can get it to work by recompiling glibc with --enable-kernel=2.4
04:58:36 <pikhq> elliott: ... OH RIGHT.
04:58:39 <Gregor> I may have not been paying attention :P
04:58:43 <elliott> Gregor: It was in /msg
04:58:46 <pikhq> elliott: NetBSD emulates Linux 2.4.
04:58:47 <Gregor> Ah
04:58:53 <elliott> pikhq: Right.
04:58:56 <elliott> pikhq: So I just need to recompile glibc.
04:59:03 <elliott> WHICH WILL BE TOTALLY FUN
04:59:14 <elliott> pikhq: Thankfully I can do it on this, my actual Debian installation, and then upload it...
05:00:24 <elliott> pikhq: Hmm. GCC won't be affected, right?
05:00:41 <pikhq> elliott: Wait, which version of NetBSD?
05:00:45 <elliott> pikhq: 5.0.2
05:00:55 <elliott> pikhq: And let me tell you, NETBSD SUCKS HOLY SHIT
05:01:00 <elliott> Also: dpkg.
05:01:01 <elliott> Dpkg really sucks.
05:01:03 <elliott> Dpkg's source code is insane.
05:01:06 <elliott> It has its own malloc.
05:01:12 <coppro> wait waht
05:01:14 <elliott> It uses "strnlen(s,n)" which is just max(strlen(s),n)
05:01:20 <coppro> what
05:01:22 <elliott> And then has a portability library defining it, but that library DOESN'T WORK
05:01:31 <elliott> coppro: it's a malloc without free using, uh
05:01:33 <elliott> ob somethings
05:01:34 <catseye> just the what you learn when beating your head against a wall like this: fantastic
05:01:43 <pikhq> You could wait for NetBSD 6.
05:01:46 <Sgeo> 2 [ V{ } 5 suffix! clone . ] times
05:01:47 <elliott> as you can see, it has driven catseye mad
05:01:49 <elliott> pikhq: OH JOY.
05:01:56 <coppro> Sgeo: wth
05:02:02 <pikhq> It does Linux 2.6!
05:02:03 <elliott> pikhq: I just want Debian/NetBSD! (Not kNetBSD, NetBSD.)
05:02:39 <Sgeo> Drop the clone
05:03:04 <Sgeo> suffix! adds the 5 to the empty vector
05:03:07 <Sgeo> . prints
05:03:16 <Sgeo> Then, next cycle, you see that the original 5 is still there
05:03:19 <pikhq> elliott: So, why does it have its own malloc?
05:03:30 <Sgeo> Similar to Python's nuttiness, really
05:03:33 <elliott> pikhq: because it's more efficient for some database thing... it's just based on ... obtree? no
05:03:36 <elliott> oblist? no
05:03:50 <elliott> obstacks
05:03:55 <elliott> pikhq: http://en.wikipedia.org/wiki/Obstack
05:03:57 <elliott> It's based on obstacks.
05:04:01 <coppro> Sgeo: what language is that?
05:04:05 <Sgeo> coppro, Factor
05:04:16 <pikhq> elliott: That's even crazier considering glibc has them.
05:04:22 <catseye> you need those cycles that obstack shaves off using the heap, man
05:04:24 <elliott> pikhq: It uses glibc's.
05:04:33 <elliott> pikhq: It also has its own implementation of them, for compatibility.
05:04:38 <elliott> pikhq: This implementation inexplicably doesn't get linked.
05:04:38 <pikhq> elliott: *sigh*
05:04:40 <elliott> I have no idea why.
05:04:58 <catseye> because crazy that's why
05:04:58 <elliott> pikhq: I love the pattern of use fancy API to do something and then rewrite it with less fancy APIs for portability, but still wrap it up in the fancy API for no reason at all.
05:05:04 <elliott> WHY NOT JUST CODE WITH THE PORTABLE API DUMBFUCKS
05:05:08 <elliott> I don't CARE how fast dpkg is.
05:05:21 <elliott> Updating Debian takes some amount of time; it could take twice as long and I would not really care one bit.
05:05:30 <pikhq> I highly doubt memory allocation is a bottleneck anyways.
05:05:45 <pikhq> Network and disk bandwidth, sure, but memory allocation?
05:05:58 <elliott> pikhq: Wait, you don't have the BD-ROM release?
05:05:59 <elliott> Why not?!
05:06:01 <elliott> :)
05:06:59 <pikhq> elliott: Even then disk bandwidth would be a bottleneck.
05:07:36 <elliott> pikhq: Uhh, don't you use a RamSan?
05:07:45 <elliott> http://www.ramsan.com/products/4
05:07:45 <pikhq> No.
05:07:53 <elliott> pikhq: Well that's not the recommended configuration, then!
05:07:57 <elliott> We optimise for that only./
05:08:00 <elliott> s/\/$//
05:08:22 <pikhq> Why not optimise for a more useful usecase?
05:08:33 <elliott> pikhq: Uhh, sarcasm alert?
05:08:35 <pikhq> Say, a stock IBM PC.
05:08:47 <elliott> pikhq: I don't think that runs Linux :P
05:08:58 <elliott> Are any of the 16-bit Linux ports maintained?
05:09:07 <pikhq> Define "maintained".
05:10:44 -!- zzo38 has joined.
05:13:24 <Gregor> There are no 16-bit Linux forks. Calling ELKS a Linux port is kinda silly :P
05:14:10 <elliott> does uclinux run on anything <32 bit? guess not
05:14:20 <Gregor> Nope
05:14:23 <elliott> ELKS is beyond awesome
05:14:30 <elliott> isn't that the one that uh
05:14:38 <elliott> uses "NOP" after an instruction to do error checking?
05:14:47 <Gregor> I have no idea :P
05:15:03 <catseye> Gregor only runs Hurd you see
05:15:45 <catseye> are there any 16-bit NetBSD ports? there so must be
05:16:08 <Gregor> I actually doubt even that.
05:16:36 <elliott> +Compiling the GNU C library yourself requires a lot of resources. For
05:16:36 <elliott> +a complete build using dpkg-buildpackage you need at least 750MB free
05:16:36 <elliott> +disk space and at least 16MB of RAM and 32MB of swap space (if you
05:16:37 <elliott> +have only that much you're better off not running X at the same
05:16:37 <elliott> +time). Note that the C library on the Hurd is also somewhat larger:
05:16:37 <elliott> +you'll need over 800MB of free disk space to build Hurdish packages.
05:16:38 <Gregor> (It actually doesn't support all that many CPUs, just a lot of hardware architectures)
05:16:39 <elliott> catseye: ^
05:17:38 <pikhq> 57 platforms, 15 CPUs.
05:18:14 <catseye> yehhmm
05:18:16 <pikhq> Which makes it support more CPUs than any single Linux distro except maybe Linux From Scratch.
05:18:17 <Gregor> pikhq: Where we count big and little endian versions of things as different CPUs, and nearly-identical 32- and 64-bit things as different CPUs.
05:18:21 <Gregor> pikhq: Really it supports like 10 :P
05:18:28 <pikhq> (though Linux itself supports more CPUs)
05:19:47 <elliott> Gregor: 10 cpus, what a lame accomplishment :P
05:20:06 <zzo38> Is the GNU C library really large?
05:20:19 <catseye> elliott: peanuts!
05:20:22 <elliott> zzo38: No, it is tiny.
05:20:29 <zzo38> A lot of GNU packages are extra-large
05:20:34 <elliott> Not libc.
05:20:36 <elliott> The libc is tiny.
05:20:37 -!- augur has joined.
05:20:44 <elliott> As small as the BSD libcs.
05:20:53 <Gregor> Note: Lies.
05:20:55 <zzo38> elliott: Then why does it require lot of resources to compile it?
05:21:07 <catseye> is 750M of disk space really a lot?
05:21:07 <elliott> zzo38: The C compiler is very complicated and does clever things with the code.
05:21:16 <elliott> You could compile it faster and with less space using another compiler.
05:21:24 <catseye> is 32M of swap space really a lot?
05:22:10 <zzo38> I might suggest writing the C library using assembly language for the processor you are on, and use the C library written in C only for computers that do not have the one written in assembly language.
05:22:29 <elliott> zzo38: A lot of glibc is assembly.
05:24:34 <catseye> elliott: while you are compiling that, i will screw around with building another netbsd-on-a-stick!
05:24:54 <elliott> catseye: wooooooo
05:25:21 <zzo38> A lot of these functions could be inlined assembly codes by C macros.
05:25:35 <elliott> Gregor: Please tell me what it is that makes Debian users so pissy X_X
05:25:49 <elliott> Typical #debian intercourse:
05:25:51 <elliott> <me> how do I--
05:25:54 <elliott> <them> !dpkg dpkg dpkg
05:25:57 <elliott> <dpkg, to me> [unhelpful]
05:26:00 <elliott> <me> ok, but how do I
05:26:03 <elliott> <them> READ THE MOTHERFUCKING FACTOID
05:26:08 <Gregor> elliott: They are on IRC :P
05:26:15 -!- augur has quit (Ping timeout: 272 seconds).
05:28:35 <catseye> It dawns on me that the word "factoid", by its construction, should refer to something which resembles a fact, but is not actually one. (cf. humanoid)
05:29:14 <elliott> factoid is a sillyism of fact
05:31:25 <Gregor> Quasimetafactoid
05:31:49 <zzo38> And, what is a quasimetafactoid?
05:37:41 <elliott> --enable-kernel=2.4...
05:38:23 <elliott> pikhq: You used Gentoo.
05:38:27 <elliott> pikhq: How long does glibc take to compile?
05:38:32 <pikhq> elliott: Hour or so.
05:38:36 <elliott> pikhq: Oh joy.
05:38:39 <elliott> pikhq: On what kind of machine?
05:38:57 <pikhq> elliott: 3-core AMD, ~2.6GHz.
05:39:01 <elliott> pikhq: HAHAHAHA
05:39:07 <elliott> pikhq: 2-core Intel Core 2, 1.3 GHz.
05:39:08 <catseye> what elliott said
05:39:17 <elliott> pikhq: SO. LOOKING. FORWARD. TO THIS.
05:39:33 <pikhq> elliott: A lot of the time used comes from their usage of recursive make.
05:39:45 <elliott> pikhq: You could propagandise ANYWHERE :p
05:39:48 <elliott> *:P
05:40:08 <pikhq> elliott: It's the most retarded use of recursive make ever.
05:40:10 <elliott> --without-selinux \
05:40:11 <elliott> $(call xx,with_headers) $(call xx,extra_config_options))
05:40:12 <elliott> HAHA FOUND YOU
05:40:16 <elliott> --enable-kernel=2.4
05:40:21 <elliott> Or does it have to be 2.4.0?
05:40:38 <pikhq> elliott: Make on a fully built glibc tree can take 10 minutes just to realise it doesn't have to build anything.
05:42:23 <elliott> pikhq: Does -jN work?
05:43:39 <elliott> pikhq: Wait, you're on Debian, right?
05:43:56 <zzo38> I still think there might be something wrong with it if it takes a a really long time to compile.
05:44:10 <elliott> zzo38: It's gcc's fault.
05:44:12 <elliott> All gcc's fault.
05:44:13 -!- augur has joined.
05:44:14 <elliott> GNU libc is tiny.
05:44:16 <elliott> Absolutely tiny.
05:44:19 <pikhq> elliott: Recursive make makes -jN work much less well.
05:44:26 <elliott> pikhq: You're on Debian, right?
05:44:31 <pikhq> elliott: Yes.
05:44:34 <zzo38> Then there might be something wrong with gcc then.
05:44:42 <elliott> pikhq: Feel like building glibc?
05:44:57 <elliott> pikhq: I mean, come on; if you do it, we get DEBIAN RUNNING ON NETBSD
05:45:20 <pikhq> elliott: Fuck no, I hate using glibc's build system.
05:45:22 <zzo38> My C programs don't take an hour to compile, even the large ones don't take more than a few minutes.
05:45:42 <elliott> pikhq: Good. debian-buildpackage does it for you.
05:46:00 <pikhq> ... Say wait.
05:46:04 <pikhq> Debian uses eglibc.
05:46:07 <elliott> pikhq: Yup.
05:46:10 <elliott> It has for... a year now?
05:46:12 <elliott> Maybe more.
05:46:17 <pikhq> Among other things, eglibc redoes the entire build system.
05:46:18 <zzo38> What is eglibc?
05:46:25 <elliott> pikhq: Really? 'cuz it still seems to suck.
05:46:31 <pikhq> elliott: It sucks less.
05:46:34 <elliott> zzo38: Embedded GLIBC. Basically glibc minus its maintainer, Ulrich Drepper, who is a moron.
05:46:57 <pikhq> zzo38: A fork of glibc that's kept in sync with glibc mainline, but with a lot of niceties added that Ulrich Drepper was too much of a moron to allow.
05:47:00 <elliott> pikhq: $ mkdir glibc-build; cd glibc-build; dget http://security.debian.org/debian-security/pool/updates/main/g/glibc/glibc_2.7-18lenny6.dsc
05:47:07 <pikhq> zzo38: Also, it doesn't have Ulrich Drepper.
05:47:08 <elliott> pikhq: You can't resist at least downloading it...
05:47:12 <pikhq> elliott: Meh.'
05:47:18 <elliott> pikhq: Oh come on man.
05:47:20 <elliott> pikhq: You can't do this to me.
05:47:45 <pikhq> elliott: I've built enough things this decade.
05:47:58 <elliott> pikhq: Okay, let me elaborate.
05:48:10 <elliott> pikhq: I JUST SPENT HOURS GETTING DEBOOTSTRAP -- WORST-DESIGNED BASH SCRIPT EVER -- TO RUN ON NETBSD
05:48:17 <elliott> pikhq: IT NOW HAS LIKE 30 DEBUG MESSAGES
05:48:25 <elliott> pikhq: THE ONLY BLOCKER TO A FULL DEBIAN SYSTEM RUNNING ENTIRELY PERFECTLY ON *NETBSD*
05:48:29 <elliott> pikhq: IS ONE LIBC COMPILE
05:48:32 <elliott> YOU COULD BE FAMOUS
05:48:36 <elliott> DO IT! DO IT... NOW!
05:50:32 <elliott> pikhq: Or at least give me a set of Linux 2.4 headers.
05:52:29 * Gregor so desperately wants a C compiler for System V :(
05:52:45 <elliott> Gregor: SYSTEM V? Fuck that shit! FIRST! EDITION! UNIX!
05:53:13 <Gregor> elliott: SYSTEM FIVE
05:53:25 <elliott> Gregor: Unix? Fuck that shit! PABST! BLUE! RIwait.
05:53:48 <Gregor> elliott: OS/2 WARP 4
05:54:07 <elliott> Gregor: WARP 10
05:54:16 <elliott> SUDDENLY, OS/2 DEVOLVES INTO FREAKISH LIZARD THING AND MATES WITH THE CAPTAIN
05:54:23 <elliott> LEAVES SPAWN ON HOSTILE PLANET, RETURNS TO SHIP
05:54:27 <elliott> NEVER MENTIONED AGAIN
05:54:35 <elliott> Gregor: And THAT is why OS/2 was discontinued.
05:54:38 <catseye> HAAAAAAAAAAAAAAAAAAAAAAAAAAAA
05:54:48 <catseye> i had OS/2 Warp once.
05:55:02 <catseye> i had all those fucking floppies
05:55:04 <catseye> it never worked.
05:55:41 <elliott> catseye: summary of computing.
05:57:50 -!- augur has quit (Ping timeout: 265 seconds).
06:00:47 <elliott> okay seriously
06:00:49 <elliott> pikhq: GLIBC
06:00:50 <elliott> BUILD IT
06:01:08 <pikhq> いいえ。(îe.)
06:01:10 <elliott> um hey
06:01:12 <elliott> Gregor
06:01:17 <elliott> where can i get linux 2.4 headers for i386
06:01:18 <elliott> on debian
06:01:19 <elliott> just
06:01:20 <elliott> just curious
06:01:39 <Gregor> Not a clue.
06:01:42 <Gregor> In Linux 2.4 :P
06:02:59 <elliott> Gregor: Can you motherfucking believe that 2.4 is still maintained?
06:03:08 <Gregor> I can motherfucking believe it.
06:03:10 <elliott> I EXPRESS MY DOUBT AT THE NOTION THAT YOU CAN MOTHERFUCKING BELIEVE IT
06:03:39 <catseye> A man has a right to his motherfucking beliefs
06:03:53 <elliott> catseye: FUCK
06:03:53 <elliott> YOU
06:04:33 <elliott> Gregor: whut, linux 2.4 source tree has only arch/ crypto/ Documentation/ and drivers/ folders
06:04:42 <elliott> DOES THIS MAKE ANY SENSE TO YOU
06:05:05 <Gregor> You say "folder" D-8
06:05:12 <elliott> Gregor: well
06:05:12 <catseye> what's under arch/
06:05:14 <Gregor> FOLDERS DON'T FOLD
06:05:14 <elliott> Gregor: in file-roller
06:05:17 <Gregor> They're fucking DIRECTORIES
06:05:17 <elliott> it's folders!
06:05:22 <elliott> because it's all graphical gnome bullshit
06:05:25 <pikhq> When did 2.2 stop being maintained?
06:05:28 <elliott> because i say so
06:05:41 <elliott> catseye: architectures
06:05:51 <elliott> I just wish arch/sh/ was a port to the POSIX shell.
06:05:57 <pikhq> 2004.
06:05:58 <pikhq> :)
06:05:58 <elliott> oh wait
06:06:02 <elliott> there are more directories
06:06:05 <elliott> file-roller is just retarded
06:06:23 <pikhq> Oh, wait, 2005, *technically*.
06:06:32 <pikhq> The newest version of 2.2 is 2.2.27-rc2.
06:06:40 <Gregor> lawl@rc2
06:07:05 <elliott> Linus is actually working on 2.2.27 as we speak.
06:07:09 <elliott> It will be the greatest. Linux. EVER
06:07:22 <pikhq> Please tell me you're joking.
06:08:21 <elliott> pikhq: Why? Wouldn't that be AMAZING?
06:08:53 <elliott> "Hey guys, I decided 2.4 onwards is faggy bullshit and I've been working on 2.2 for a few years. Here's the current tree. It runs Flash without lag. Natively. On x86-64. I ported the machine code manually."
06:08:55 <pikhq> ... The newest version of 2.0 came out in 2004.
06:09:02 <elliott> checking for suffix of object files... configure: error: cannot compute suffix of object files: cannot compile
06:09:05 <elliott> CANNOT COMPUTE BEEEEEEEEEEP
06:09:06 <pikhq> elliott: I would love that.
06:09:34 <pikhq> elliott: Actually.
06:09:41 <catseye> your object files end with fail
06:09:45 <elliott> pikhq: "I've actually had my secretary reply to lkml email for a few years, what have I missed? Ha ha, just joking, I don't give a fuck. You're all idiots."
06:10:28 <Sgeo> Night all
06:10:46 <pikhq> elliott: "Hey guys, I just made 2.8.0. You may also know it as 2.2.27."
06:10:55 <elliott> pikhq: No way.
06:11:11 <elliott> pikhq: "I also decided, what the fuck is up with this 2.2 bullshit? It's way better than anything else called 2.x. So, fuck it, here's Linux 3."
06:11:20 <pikhq> :D
06:11:56 <elliott> pikhq: "The tarball is http://kernel.org/linux3.tgz, because (1) I don't care about your shitty website organisation scheme, and (2) I don't care about your long filenames and crap. I suggest you replace http://kernel.org/ with a link to it because DAMN is that site one major boner-kill."
06:12:32 <pikhq> "Oh, and what the hell were you guys smoking with that ALSA crap? I backported OSSv4. Took me a couple hours."
06:12:52 <elliott> pikhq: YOU'RE DOING IT ALL WRONG:
06:13:19 <elliott> pikhq: "Oh, I started maintaining OSS too. I had it checked out in my source tree and didn't really notice it wasn't some of my drunk code. Features added include multiple processes writing to /dev/dsp at once, etc"
06:13:25 <elliott> OSS 3, that is.
06:13:27 <pikhq> :D
06:13:38 <elliott> --enable-kernel=2.4 --with-headers=/home/elliott/libc/glibc-2.7/debian/include --enable-kernel=2.6.8
06:13:39 <elliott> lol
06:16:02 <elliott> /home/elliott/libc/glibc-2.7/build-tree/glibc-2.7/configure: line 3326: i486-linux-gnu-gcc: command not found
06:17:27 <elliott> pikhq: "I've also updated the USB stack because it sucked. It's 3,000 lines now."
06:17:32 <catseye> http://pkgsrc.se/chat/irssi "Irssi is an IRC client that could be pretty awesome someday, maybe."
06:17:39 <pikhq> elliott: 2.2 had a sane USB stack.
06:17:51 <elliott> catseye: worst description ever
06:17:54 <elliott> pikhq: But was it 3,000 lines? I think not.
06:18:05 <pikhq> elliott: Lemme check.
06:18:42 -!- Sgeo has quit (Read error: Connection reset by peer).
06:19:01 <elliott> catseye: what is it with ... people and inability to summarise programs?
06:19:06 <elliott> as well as meaningless words like "modular"
06:20:23 <pikhq> elliott: 48,000 lines for the entire thing, including all the drivers.
06:21:11 <elliott> pikhq: 3,000 in Linux 3.
06:21:15 <elliott> (No point in the version.)
06:21:17 <coppro> elliott: doit
06:21:22 <pikhq> elliott: A reasonably functioning USB implementation, though, could be had in about 8,000 lines.
06:21:26 <elliott> coppro: ??
06:21:30 <coppro> elliott: DO IT NOW
06:21:34 <elliott> coppro: do what
06:21:45 <pikhq> (USB protocol + OHCI + UHCI + HID)
06:21:45 <coppro> elliott: IT!
06:21:59 <elliott> Who wants to see American TV explain, and depict, IRC?
06:22:00 <elliott> http://www.youtube.com/watch?v=O2rGTXHvPCQ
06:22:02 <elliott> You know you do.
06:22:11 <elliott> It's where hackers go when they don't want to I've forgotten the rest of the line.
06:22:25 <elliott> *** These critical programs are missing or too old: as ld
06:22:25 <elliott> *** Check the INSTALL file for required versions.
06:22:30 <elliott> checking version of as... 2.20.1, bad
06:22:30 <coppro> hahaha
06:22:32 <elliott> what's wrong with my as
06:22:51 <coppro> elliott: old
06:22:52 <pikhq> elliott: When they don't want to be overheard.
06:23:00 <elliott> yes, that
06:23:15 <elliott> that show is terribly irrirtating
06:23:30 <pikhq> "Luckily, I speak leet."
06:23:36 <elliott> semi-mathematical deus ex machinas + WOW WE ZOOM OUT AND SCRIBBLE EQUATIONS THAT MAKE NO SENSE ON THE SCREEN SO YOU KNOW THEY'RE DEEP THINKERS
06:24:27 <pikhq> 1337 15 @ 5|_||35717|_|710|\| (`/|)#3|2 |_)|_||_)3Z
06:24:42 <coppro> pikhq: clearly the killer is from New Jersey!
06:25:18 <pikhq> coppro: Well, of course. New Jersey is the sole cause of murderers.
06:25:31 <elliott> pikhq: Say... How could I make glibc *not* try and check that the kernel is new enough?
06:25:35 <elliott> pikhq: Some environment variable?
06:25:45 <pikhq> elliott: emacs configure.ac
06:25:50 <elliott> pikhq: With binaries.
06:25:55 <elliott> pikhq: I mean
06:26:08 <elliott> catseye$ sudo chroot debian
06:26:08 <elliott> Password:
06:26:09 <elliott> FATAL: kernel too old
06:26:09 <elliott> catseye$
06:26:10 <coppro> pikhq: I thought that was Philadelphia
06:26:13 <elliott> pikhq: How can I make glibc shut up and try anyway?
06:26:26 <coppro> (bonus points if you're sailing there to draw a line)
06:27:24 <catseye> i just made a netbsd stick with includes of some awesome APPS: netcat! nano! links! irssi!
06:27:37 <pikhq> elliott: Down the highway, not across the street.
06:27:58 <elliott> catseye: you forgot X111111111
06:28:23 <catseye> elliott: that's one of the distribution sets. i just need to untar it
06:28:47 <catseye> i might as well put the whole thing through its paces, see how much space it uses up
06:28:56 <elliott> catseye: 4 gigs
06:30:19 <elliott> pikhq: Not so! http://www.thebestpageintheuniverse.net/images/razor2.gif Across the jugular.
06:32:18 <pikhq> elliott: Huh, Maddox actually updated. Several times.
06:32:27 <pikhq> Well, three times.
06:32:32 <pikhq> Once a month.
06:32:56 <pikhq> Which is fairly astounding compared to the past 3 years of hardly anything.
06:36:03 -!- poiuy_qwert has quit (Quit: This computer has gone to sleep).
06:39:09 -!- augur has joined.
06:44:18 <catseye> elliott: that would be unfortunate, as the partition is only 500M right now, to make it faster to dd
06:44:37 <elliott> catseye: i'm thinkin': let's wait until netbsd 6
06:44:40 <elliott> which will do linux 2.6
06:44:47 <catseye> will it? when will it?
06:44:59 <elliott> catseye: yes; when it's done
06:45:11 <catseye> i mean, 5 just came out, didn't it? earlier this year
06:45:16 <pikhq> Last year.
06:45:17 <elliott> http://www.netbsd.org/changes/changes-6.0.html
06:45:24 <elliott> Update linux emulation to support the most commonly used linux 2.6.x kernel features. We now claim to be linux kernel version 2.6.18. [chs 20100706]
06:45:26 <catseye> time flies
06:45:46 <catseye> well damn
06:45:50 <elliott> cool, it emulates linux even on non-x86 :)
06:45:51 <catseye> why am i not running netbsd-CURRENT
06:45:58 <elliott> catseye: have fun updating :P
06:46:14 <elliott> wow
06:46:16 <catseye> i need more computers!
06:46:16 <elliott> it works with SVGAlib
06:46:39 <catseye> i... though svgalib was dead
06:46:42 <catseye> *thought
06:46:45 <elliott> "shared libraries that the program depends on, and the run-
06:46:45 <elliott> time linker. Also, you will need to create a ``shadow root'' directory
06:46:45 <elliott> for Linux binaries on your NetBSD system. This directory is named
06:46:45 <elliott> /emul/linux or /emul/linux32 for 32bit emulation on 64bit systems. Any
06:46:45 <elliott> file operations done by Linux programs run under NetBSD will look in this
06:46:46 <elliott> directory first. So, if a Linux program opens, for example, /etc/passwd,
06:46:48 <elliott> NetBSD will first try to open /emul/linux/etc/passwd"
06:46:50 <elliott> nice
06:46:58 <elliott> catseye: it is :)
06:47:03 <elliott> afaik
06:48:06 <catseye> i forked it because it could not would not run happily on dfly at all. my improvements did not help
06:48:53 <catseye> then it was all, like, that graphics buffer device, on linux. which was like, no.
06:49:28 <catseye> framebuffer
06:49:38 <elliott> fbdev is awesome
06:49:42 <elliott> it's like /dev/dsp for graphics!
06:50:05 <pikhq> Wow. Battlestar Galactica 1980. The writing staff was trying to kill it.
06:50:06 <elliott> catseye: remember this for me: /emul/linux kthx
06:50:22 <elliott> catseye: also: netbsd-current! DO IT
06:50:25 <elliott> pikhq: *Galactica 1980
06:50:51 <pikhq> They actually tried to kill the show.
06:51:05 <pikhq> Because it sucked.
06:51:24 <elliott> :D
06:53:19 <elliott> catseye: Hey cool, NetBSD doesn't need symlinks from libraries to more specific versions; the dynamic linker handles that itself.
06:54:13 <elliott> pikhq: what the hell is "DLL Jump" in ldd output? from http://netbsd.gw.com/cgi-bin/man-cgi/man?compat_linux+8+NetBSD-current
06:54:22 <elliott> (me@linux) ldd linuxxdoom
06:54:22 <elliott> libXt.so.3 (DLL Jump 3.1) => /usr/X11/lib/libXt.so.3.1.0
06:54:22 <elliott> libX11.so.3 (DLL Jump 3.1) => /usr/X11/lib/libX11.so.3.1.0
06:54:22 <elliott> libc.so.4 (DLL Jump 4.5pl26) => /lib/libc.so.4.6.29
06:54:25 <catseye> i followed freebsd-current for a while, so i don't see why i couldn't do netbsd-current, but, dear lord. it will not make this disused laptop happy.
06:54:25 <pikhq> elliott: That's so much nicer than ldconfig making the symlinks.
06:54:38 <elliott> pikhq: otoh, the manpage might be lying and it might have links anyway :)
06:54:40 <elliott> who knows?!
06:55:31 <elliott> elliott@dinky:~$ ssh ehird@localhost -p 9292
06:55:31 <elliott> Password:
06:55:32 <elliott> Last login: Sat Oct 30 18:11:31 2010 from localhost
06:55:32 <elliott> NetBSD 5.0.2 (GENERIC) #1: Wed Oct 27 15:17:46 CDT 2010
06:55:32 <elliott> Welcome to NetBSD!
06:55:32 <elliott> catseye$ ls /lib | grep libc
06:55:34 <elliott> libc.so
06:55:36 <elliott> libc.so.12
06:55:37 -!- augur has quit (Remote host closed the connection).
06:55:38 <elliott> libc.so.12.164
06:55:40 <elliott> pikhq: Never mind, they have links anyway for some inexplicable reason.
06:55:42 <catseye> werrrt?
06:55:47 <elliott> catseye: See last line.
06:55:54 -!- augur has joined.
06:55:58 <catseye> that's... good, right?
06:56:11 <catseye> i mean, it is certainly unusual
06:56:12 <elliott> catseye: not really, it'd be more awesome if the manpage was telling the truth and the dynamic linker figured it out itself
06:56:16 <elliott> so you only needed libc.so.12.164
06:56:18 <elliott> no, it's usual
06:56:20 <elliott> it also sucks :)
06:56:30 <catseye> i should look for myself
06:56:52 <elliott> catseye: But you could just use my cached answer! of magiiiic
06:56:56 <elliott> They're all symlinks to the last one.
06:56:59 -!- augur has quit (Remote host closed the connection).
06:57:02 <elliott> Except for the last one.
06:57:06 -!- augur has joined.
06:57:07 <elliott> Which is not a symlink at all.
06:57:15 <elliott> It is a hardlink though. To itself.
06:57:17 <elliott> Like every file.
06:57:23 <catseye> Yes. I'm not used to there being *two* numbers, is all.
06:57:32 <pikhq> elliott: That's probably to make the (non-dynamic) linker not complain.
06:57:48 <catseye> I'm not sure that the symlinks are (always) used, and/or what pikhq just said.
06:57:49 <elliott> pikhq: Lame.
06:58:01 <elliott> catseye: First number is increased when ABI is broken, last number is increased when it's updated in any way.
06:58:18 <elliott> So in Linux, you have libc.so.5 moving to libc.so.6 being a distro maintainer's HELL.
06:58:30 <elliott> But libc.so.6.1 to libc.so.6.28934723978428934 is not that big a deal, it's just an upgrade.
06:58:34 <elliott> No need to relink programs.
06:58:48 <elliott> catseye: So, often, programs link to "libc.so.6", not any specific version.
06:58:55 <elliott> And they just get the latest one on the system.
06:59:08 <catseye> I don't remember FreeBSD doing this :)
06:59:11 <elliott> And apparently for the static linker or whatever, NetBSD still has symlinks to do this, despite the dynamic linker purportedly being smart enough to do it itself.
06:59:15 <elliott> catseye: It will. Probably.
06:59:16 <elliott> Everything does.
06:59:25 <elliott> I'm sure. I think.
06:59:27 <catseye> libc.so.6 was just libc.do.6 and that's what you get.
06:59:28 <elliott> Yeah.
06:59:29 <elliott> Prolly.
06:59:31 <pikhq> elliott: Well, Linux's dynamic linker is *smart enough* to do it itself.
06:59:41 <elliott> pikhq: Here, you're more of an authority; talk to catseye.
06:59:52 <elliott> catseye: It may simply be that they called the latest version that all the time, even though it had a more specific version.
07:00:36 <catseye> if it could be said to have a version at all
07:00:44 <catseye> beyond simply 6
07:00:46 <elliott> catseye: THE CVS REVISION OMG
07:01:00 <pikhq> catseye: Actually, its version is 2.x.
07:01:12 <pikhq> catseye: The so version being 6 on x86 is for hysterical raisins.
07:01:16 <elliott> catseye: libc6 is LINUX wrongness.
07:01:21 <catseye> 6 was an example.
07:01:22 <elliott> pikhq: Not on FreeBSD.
07:01:27 <catseye> wrt Free.
07:01:28 <elliott> It's probably libc.so.42 on FreeBSD.
07:01:44 <pikhq> elliott: True.
07:02:04 <pikhq> Gah, Linux Libc.
07:02:36 <elliott> pikhq: *glibc
07:02:49 <catseye> wow installing all the distribution sets on a flash drive is not exactly fast
07:02:51 <elliott> pikhq: GNU have, since the start, controlled Linux and have thus been able to make it suck.
07:03:00 <pikhq> elliott: No, Linux Libc. libc.so.2 through libc.so.5 on Linux x86.
07:03:05 <elliott> pikhq: Linux 0.01? Yup, you link with glibc and use bash and gcc/libc.
07:03:12 <elliott> pikhq: Uhh, yeah, linux libc was glibc.
07:03:20 <elliott> It was GNU software.
07:03:26 <elliott> It was distributed with Linux gcc.
07:03:37 <elliott> (well, in the early days)
07:03:44 <pikhq> elliott: libc.so.1 and libc.so.6 were glibc. The others were a fork with a lot of nasty stuff...
07:03:54 <pikhq> Such as support for a.out dynamic linking.
07:03:57 <catseye> I wonder if I could speed this up by doing it on a HD partition, and then dd'ing it over. Well, I know I could.
07:03:59 <elliott> pikhq: they tracked glibc though didn't they?
07:04:00 <pikhq> You may now cry in a corner.
07:04:02 <pikhq> elliott: No.
07:04:05 <elliott> pikhq: heh okay
07:04:17 <elliott> pikhq: old libc 2s *were* distributed with gcc though
07:04:19 <elliott> jump?.tgzs
07:04:21 <elliott> for numerical ?
07:04:25 <elliott> or was that libc 1?
07:04:26 <elliott> who knows.
07:04:29 <pikhq> elliott: You'll note that they *broke ABI 4 times*.
07:04:49 <elliott> pikhq: libc 4 is still > libc 5 > glibc imo though :)
07:04:55 <elliott> pikhq: and it's still maintained!
07:05:01 <pikhq> In the same time period, glibc did not once break ABI.
07:05:18 <pikhq> elliott: Yeah, but a.out dynamic linking. WHY
07:05:19 <elliott> pikhq: libc 4 hasn't broken ABI in quite a few years :)
07:05:26 <elliott> pikhq: And it's still maintained!
07:05:36 <pikhq> Do you have any idea how that works?
07:05:49 <elliott> pikhq: YOU'RE MEANT TO ASK ME WHO MAINTAINS LIBC 4
07:05:54 <elliott> AND ALSO WHERE TO GET THE LATEST RELEASE
07:05:57 <pikhq> elliott: I KNOW ITS YOUR MOTHER
07:05:58 <elliott> SO YOU CAN INSTALL IT ON ANYTHING
07:06:04 <elliott> pikhq: http://www.pell.portland.or.us/~orc/Code/libc/
07:06:07 <elliott> pikhq: Latest release is 4.8.4.
07:06:43 <elliott> Oh wait, it was jump4?.tar, not jump?.tgz.
07:06:50 <pikhq> With a.out dynamic linking, each shared object has a hardcoded load address.
07:07:05 <pikhq> You may now murder people.
07:07:24 <elliott> pikhq: Technically libc 4 was last released in 2002, but the maintainer still uses it, so I'm sure you could get a new release with a lot of prodding.
07:07:29 <elliott> pikhq: Still. 2002.
07:07:31 <catseye> trying to process extent of fuckedupedness of this
07:07:37 <elliott> pikhq: By then everyone had been using glibc. For years.
07:07:48 <pikhq> elliott: 'Cept Debian.
07:07:56 <elliott> Debian was using dinosaurs.
07:08:18 <elliott> * Fix up strftime to properly deal with dates past 1999
07:08:25 <elliott> pikhq: libc4 was *made y2k compliant*.
07:08:39 <elliott> Sometime in 1998-1999. (single changelog entry for all such changes)
07:08:42 -!- augur has quit (Remote host closed the connection).
07:09:57 -!- augur has joined.
07:10:44 <catseye> you could do the WindwOS thing and just not have a "system" C library.
07:11:15 <catseye> You want to come to this party, you bring your own booze, pal.
07:11:19 <elliott> catseye: well with static linking you *don't*
07:11:27 <elliott> you just have something called /lib/libc.a
07:11:33 <elliott> doesn't mean you have to link to it
07:11:57 <catseye> "you" being the developer, of course.
07:12:09 <elliott> catseye: don't ship /lib/libc.a
07:12:12 <elliott> problem solved :)
07:13:08 <elliott> [[LOGREADING ELLIOTT]] Write a VCS, foo.
07:13:13 <elliott> i so need a todo system
07:13:17 <elliott> but it'd get so clogged up...
07:17:23 <elliott> a NIH system
07:20:10 <catseye> 500M is a *bit* small; I'm up to 383M with just all the base dist sets. i'll see what weight my useful APPS add
07:20:41 <elliott> pikhq: it seems that parsons doesn't actually use sccs
07:20:44 <elliott> he just calls all vcses sccs
07:20:44 <elliott> :(
07:20:57 <catseye> in some sense that is just as entertaining
07:21:31 <catseye> (i'll have an orange coke. let's slap a bsd gpl on this thing and check it into the github sccs.)
07:22:13 <elliott> catseye: well "source code control system", it's pretty generic :)
07:22:18 <elliott> catseye: like "init", "c compiler", etc.
07:22:22 <elliott> all those old unix tools had generic names
07:22:22 <catseye> true, but... taken
07:22:25 <elliott> and that was a better time
07:22:32 <elliott> a time when we didn't give everything name
07:22:33 <elliott> *names
07:22:37 <elliott> they were just implementations of their functionality
07:22:50 <elliott> and we had no silly "distros" and crap
07:22:51 <elliott> BAH!
07:22:54 <elliott> get off my lawn.
07:22:58 <elliott> goodnight; bye.
07:23:02 -!- elliott has quit (Quit: Leaving).
07:28:19 -!- zzo38 has quit (Quit: Pb).
07:34:55 -!- DrNinja has joined.
07:35:14 <DrNinja> the one, the only, ircII client.
07:35:52 <DrNinja> lighterweight than irssi I'll grant, but not exactly a pleasure to behold
07:36:02 -!- DrNinja has quit (Client Quit).
07:42:12 -!- DrNinja has joined.
07:42:26 <DrNinja> not an improvement
07:42:28 -!- DrNinja has quit (Client Quit).
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:36:34 -!- iGO has quit.
09:01:26 -!- augur has quit (Remote host closed the connection).
09:01:38 -!- augur has joined.
09:02:37 -!- augur has quit (Client Quit).
09:02:56 -!- augur has joined.
09:05:37 -!- Phantom_Hoover has joined.
09:26:16 -!- MigoMipo has joined.
09:56:34 -!- Phantom_Hoover_ has joined.
09:56:34 -!- Phantom_Hoover has quit (Read error: Connection reset by peer).
10:39:31 -!- MigoMipo has quit (Remote host closed the connection).
10:40:02 -!- MigoMipo has joined.
10:57:58 -!- Phantom_Hoover_ has quit (Ping timeout: 265 seconds).
11:10:11 -!- Phantom_Hoover_ has joined.
11:47:10 -!- tombom has joined.
11:51:11 -!- FireFly has joined.
11:52:46 -!- BeholdMyGlory has joined.
12:27:23 <Phantom_Hoover_> [[In the USA, the series premiered on 21 March 2010 with Attenborough's narration replaced by Oprah Winfrey reading from a different script tailored to American audiences.]]
12:27:38 <Phantom_Hoover_> Dear god, are American TV people really that bad?
12:42:52 <olsner> Apparently.
12:45:23 <Phantom_Hoover_> I mean, how did they tailor the script for American audiences?
12:45:32 <Phantom_Hoover_> Remove any mention of the word "evolution"?
12:47:34 <olsner> remove all difficult words, repeat the rest to fill the gaps
12:50:24 <olsner> well, and just change the accent to american, I think that's a big deal
12:53:14 <fizzie> [[Some of the reviewers said that the script was re-written for her, and I can believe it. I can't believe Attenborough saying lines like "hunting crab seals is toooo much work!" Oprah narrates this thing as if she were reading a bedtime story to little kids and comes off as snarky and condescending. In the opening segment, she's discussing a fox chasing an ibex kid and it's basically like "heeeere comes the fox! UH OH!!"]] -- amazon.com review of the blu-ray r
12:53:14 <fizzie> elease.
12:56:10 <Phantom_Hoover_> 2% of people bought the Oprah version after looking at Attenborough's, and it's rated at 1½ starts.
12:56:13 <Phantom_Hoover_> *stars
13:02:18 <Phantom_Hoover_> Apparently, they did the same to another of his documentaries, but with Sigourney Weaver instead.
13:03:32 <Phantom_Hoover_> And they had Blue Planet narrated by Pierce Brosnan.
13:04:10 <Phantom_Hoover_> Seriously, who is it that thinks treating all viewers like small-minded idiots is a good idea?
13:35:09 -!- Zuu has quit (Read error: Connection reset by peer).
13:38:43 -!- Zuu has joined.
14:27:41 -!- Sgeo has joined.
14:47:06 -!- BeholdMyGlory has quit (Remote host closed the connection).
14:57:54 <Sgeo> I am starting to believe that there is no such thing as a browser not full of fail
15:01:47 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds).
15:37:04 -!- tombom has quit (Ping timeout: 250 seconds).
15:49:19 -!- BeholdMyGlory has joined.
16:11:36 -!- ais523 has quit (Remote host closed the connection).
16:24:49 -!- sftp has quit (Remote host closed the connection).
16:27:26 -!- tombom has joined.
16:32:52 -!- sftp has joined.
16:34:09 -!- poiuy_qwert has joined.
16:35:13 -!- sftp has quit (Remote host closed the connection).
16:36:00 -!- sftp has joined.
16:43:41 <Vorpal> Sgeo, lynx?
16:43:55 <Vorpal> And everything that doesn't work in lynx is of course full of fail.
16:43:57 <Vorpal> ;)
16:56:30 -!- Sasha has joined.
16:59:14 -!- catseye has quit (Quit: Lost terminal).
17:03:49 -!- catseye has joined.
17:05:25 * catseye has connected to IRC from a liveboot NetBSD stick
17:05:35 <catseye> Sgeo: what you must do, of course, is write your own
17:06:23 <Sgeo> Able to use WebKit, Gecko, or .. the IE one as necessary
17:06:32 <Sgeo> Able to use extensions from any browser
17:06:50 <Sgeo> Can use GreaseMonkey scripts designed for any browser
17:07:51 <catseye> Vorpal: I'm browsing esolangs.org with links right now :) lynx is more of a classic though
17:08:31 <Vorpal> catseye, heh, how well does it work?
17:09:13 <catseye> Vorpal: it's not bad. renders the table on the main page surprisingly well
17:09:20 <Vorpal> Sgeo, not the opera rendering engine?
17:09:59 <Sgeo> Vorpal, give me the money, and I'll include it too
17:10:16 <Sgeo> Or whatever
17:10:26 <Vorpal> Sgeo, anyway I think you are referring to FireInternetBloatKitExplorer?
17:10:55 <Sgeo> And it will be designed to not be bloated!
17:10:56 <catseye> no one here ever mentions Dillo
17:10:58 <Sgeo> </crazy>
17:11:01 -!- BeholdMyGlory has quit (Read error: Connection reset by peer).
17:11:09 <Sgeo> What rendering engine does Dillo use? Its own?
17:11:15 <catseye> yes
17:11:19 -!- BeholdMyGlory has joined.
17:11:24 <Vorpal> catseye, well, elliott mentioned it sometimes iirc
17:11:35 <Sgeo> Can I use IE6's Trident if IE>6 is installed?
17:11:43 <catseye> It does not do Javascript, is the big thing
17:12:11 <Sgeo> So that businesses can use this browser in place of IE6
17:13:06 <catseye> i have no idea what Trident is
17:13:19 -!- BeholdMyGlory has quit (Remote host closed the connection).
17:13:36 <Sgeo> I _think_ it's the IE rendering engine
17:13:41 <Sgeo> If not, I did not mean Trident
17:14:34 <catseye> You can do a remote call to one of those we'll-render-it-in-IE-for-you services ;)
17:15:02 <catseye> i should see if i can run X
17:15:46 <Sgeo> Why does Trident like to make clicking sounds randomly?
17:16:19 -!- Sasha has quit (Ping timeout: 240 seconds).
17:16:47 -!- BeholdMyGlory has joined.
17:18:22 <catseye> (yup, i can! that's cool)
17:18:35 <catseye> Sgeo: you clicked on a link + lag
17:19:11 <Sgeo> But it happens when I don't click a link
17:20:13 <catseye> maybe it happens when javascript "clicks" on a link too
17:20:14 <fizzie> catseye: I mentioned Dillo just the other day!
17:20:19 <catseye> fizzie: I missed iT!
17:20:23 <Sgeo> We are worms, we're the best/and we've come to win the war/we'll stay, we'll never run/stay until it's done
17:20:39 <catseye> Sgeo: actually i recall the clicking you're talking about.
17:20:52 -!- Sasha has joined.
17:20:57 <fizzie> 15-10-2010 19:42:25 > fizzie: Dillo does native GTK widgets for you. :p
17:21:09 <catseye> SOMETHING in there thinks a page changed, therefore it goes "click".
17:23:13 -!- Behold has joined.
17:24:10 -!- catseye has quit (Remote host closed the connection).
17:26:32 -!- catseye has joined.
17:27:08 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds).
17:27:36 -!- sbszulu has joined.
17:28:36 -!- Behold has quit (Remote host closed the connection).
17:28:55 -!- elliott has joined.
17:32:27 -!- catseye has set topic: 10 days since last oerjan sighting | http://tunes.org/~nef/logs/esoteric/?C=M;O=D | something clever here.
17:34:06 -!- cpressey has quit (Disconnected by services).
17:34:10 -!- catseye has changed nick to cpressey.
17:34:51 <elliott> 09:06:32 <Sgeo> Able to use extensions from any browser
17:34:52 <elliott> ahahaha
17:35:00 <Sgeo> s/from/for/
17:35:04 <elliott> Sgeo has devolved into "I want an OS that can run programs from ANY OS!"
17:35:31 <elliott> cpressey: dillo is awesome! dillo is useless.
17:35:58 <elliott> dillo is inexplicably not in debian
17:36:33 <elliott> cpressey: wow they're adding css support!
17:39:44 <Gregor> Compromise. Dillo is awesomely useless.
17:41:17 <cpressey> elliott: There IS a pkgsrc package for it :)
17:41:23 <elliott> cpressey: but is it dillo 2?
17:41:32 <cpressey> probably almost certainly not
17:41:34 <elliott> dillo 1 is lame and is fltk 1 (boring STABLE toolkit version) and no CSS
17:41:43 <elliott> dillo 2 is awesome and fltk 2 (MOVING TARGET WOO) and anti-aliasing and CSS
17:41:57 <cpressey> it's trying to install fltk2 for me so YES
17:42:01 <elliott> http://www.dillo.org/screenshots/gnu.zh.png
17:42:10 <elliott> http://www.dillo.org/screenshots/line-height.png
17:44:11 <fizzie> "Q: What happened to the dillorc preferences for colors? " "CSS happened! To set colors, --"
17:44:20 <elliott> heh
17:44:21 <fizzie> Heh, I like the "CSS happened!" bit.
17:46:48 <cpressey> Dillo 2.2 installed!
17:47:05 <fizzie> Now YOU are awesomely useless too.
17:48:22 <cpressey> COmpletely! It will not browse my website because it is actual XHTML now.
17:49:05 <elliott> echo Linking fractals...
17:49:05 <elliott> gcc -I.. -O2 -Wall -Wunused -I/usr/include/freetype2 -Wno-non-virtual-dtor fractals.o fracviewer.o ../lib/libfltk2_glut.a -L../lib -lfltk2 -lX11 -lXi -lXinerama -lXft -lpthread -lm -lXext -lsupc++ -o fractals
17:49:16 <elliott> Yes... that will absolutely suffice to compile an OpenGL program, I am sure.
17:49:51 * elliott disables opengl
17:50:08 <cpressey> It's like half a browser! Amazon.com looks SO AWESOME
17:51:08 <elliott> cpressey: "[In part because no one has implemented the CSS 'float' property yet. But besides that...]"
17:51:33 <elliott> cpressey: "Our policy is not to work around broken HTML." Looks like they never heard of Postel's Law.
17:51:34 <Gregor> Melodica + cat = insane cat 8-D
17:52:03 <cpressey> wow, conal elliott really wants a lot of books i would never go anywhere near
17:52:05 <cpressey> Anyway!
17:52:16 <elliott> cpressey: like what?
17:53:03 <cpressey> "if they give you lined paper, write sideways"?
17:53:20 <elliott> whut
17:53:40 <elliott> "If They Give You Lined Paper, Write Sideways is a book by Ishmael author Daniel Quinn. It is presented as a dialog between Quinn and a reader of his books, and is intended to answer the question "How do you do what you do?"
17:53:40 <elliott> The title is quite similar to a quotation attributed to Juan Ramón Jiménez (24 December 1881 – 29 May 1958) "If they give you ruled paper, write the other way." See."
17:53:42 <elliott> --Wikipedia
17:55:06 -!- wareya_ has joined.
17:57:32 -!- wareya has quit (Ping timeout: 240 seconds).
17:59:16 <Sgeo> Is Postel's Law the "liberal in what you accept, conservative in what you emit" thing/
17:59:20 <Sgeo> I've heard arguments against that
17:59:30 <Sgeo> That that's a part of the reason the web is screwed up
18:00:49 <elliott> The arguments are mostly based on misinterpretations. The web is screwed up for entirely different reasons and they are called Netscape and Microsoft in the 90s.
18:09:20 -!- sbszulu has quit (Ping timeout: 240 seconds).
18:19:06 <elliott> cpressey: "You can tell a link from plain content by the hand-shaped cursor." --Dillo
18:20:20 <elliott> it fails impressively at reddit
18:20:33 <elliott> m.reddit.com works great though!
18:22:28 <elliott> Sgeo: http://diveintomark.org/archives/2004/01/08/postels-law
18:22:30 <elliott> Sgeo: http://diveintomark.org/archives/2004/01/14/thought_experiment
18:22:32 <elliott> Sgeo: read both of these
18:24:42 <cpressey> bbiab
18:25:06 -!- Phantom_Hoover_ has joined.
18:35:55 <elliott> cpressey: it seems that VICE isn't that free
18:35:58 <elliott> cpressey:
18:35:59 <elliott> C64MEM: Error - Couldn't load kernal ROM `kernal'.
18:35:59 <elliott> Machine initialization failed.
18:36:00 <elliott> Exiting...
18:36:04 <elliott> cpressey: guess debian strips out the ... questionable bits
18:36:16 <elliott> This package does not contain the various ROM images needed to actually use the
18:36:16 <elliott> emulators; they are available separately from other locations (see the
18:36:16 <elliott> README.ROMs file). A corporation in the Netherlands called Tulip holds the
18:36:16 <elliott> copyrights to the ROM images, and redistribution is not permitted, but VICE
18:36:16 <elliott> itself is unencumbered.
18:38:21 <elliott> The ROM files in the `C128', `C64', `CBM-II', `DRIVES', `PET', `PLUS4'
18:38:21 <elliott> `PRINTER' and `VIC20' directories are Copyright C by Commodore
18:38:21 <elliott> Business Machines.
18:40:07 <elliott> hey Sgeo managed to make even the Worms theme lame
18:40:19 <Sgeo> elliott, those are the lyrics!
18:40:23 <elliott> yes
18:40:26 <elliott> you managed to make them lame
18:40:29 <elliott> also, those are like
18:40:32 <elliott> 5% of the lyrics!
18:40:41 <elliott> admittedly it is a silly theme song.
18:40:43 <elliott> but you made it sillier
18:41:53 <elliott> who doesn't run with /nologo anyway
18:42:12 -!- sbszulu has joined.
18:43:52 <Sgeo> and I looked at it one more time and I swear to God it said 2003-06-31.
18:44:06 <elliott> Sgeo: Shoo! Next post! There are two!
18:44:14 <elliott> ORLESE
18:44:15 <Sgeo> I'm still reading this one!
18:44:19 <elliott> That's the last line :P
18:46:23 <Sgeo> "Heres the thing: that wasnt a thought experiment; it all really happened."
18:51:36 <elliott> cpressey: lol @ petulant cursor
18:51:40 <elliott> cpressey: the border flashing hertz
18:51:58 <Sgeo> Wow
18:52:11 <Sgeo> Searching for information on the fictitious drug Angelfire is near-impossible
18:52:14 <fizzie> There was something else wrong with the Debian/Ubuntu VICE, but I've forgotten what it was. Maybe it was just that they weren't tracking the latest version with any speed.
18:53:03 <elliott> "Double size, PAL emulation, scale 2x size" -- bliss!
18:53:11 <elliott> I love CRT-ish blurryemulations.
18:53:20 <elliott> fizzie: i think i'll just compile my own vice
18:53:51 <elliott> fizzie: oh, except the stock package doesn't have debian menu support. guh.
18:53:53 <elliott> oh well
18:54:21 <fizzie> I compiled my own vice here, FWIW.
18:54:37 <elliott> yeah, i will too
18:55:00 <fizzie> The GTK support it nowadays has is somewhat nice: the old menus and such were quite horrible.
18:55:12 <elliott> The menus are very big but GTK 2 here.
18:55:15 <elliott> Big = long.
18:55:20 <elliott> Badly organised; both "Options" *and* "Settings".
18:55:28 <elliott> Took me ages to find the display settings.
18:56:01 <fizzie> I think "Options" and "Settings" are what used to be the right-click and... middle-click "context-sensitive" menus in 'regular' vice.
18:56:11 <elliott> Dear god. :)
18:56:55 <elliott> fizzie: Any configure options I SHould know about, fwiw?
18:57:02 <elliott> --with-sdlsound use SDL sound system
18:57:03 <elliott> Hmm.
18:57:14 <elliott> --disable-lame disable MP3 export with LAME
18:57:21 <elliott> If only every program let you --disable-lame. :)
18:57:31 <elliott> --enable-gnomeui enables GNOME UI support
18:57:34 <elliott> fizzie: That's the one, right?
18:58:29 <fizzie> That's it.
19:02:40 <fizzie> --enable-ethernet if you want to run Contiki with networking in it.
19:02:55 <fizzie> (I haven't bothered.)
19:03:00 <elliott> Fuck yes I do.
19:03:06 -!- bsmntbombdood has quit (Remote host closed the connection).
19:04:11 <pikhq> elliott: Hey, there is no technical reason a hypothetical OS couldn't run programs for any OS. It would just have the most ridiculous kernel ever, and it would rely on essentially perfect reverse engineering.
19:04:35 <elliott> pikhq: and it's still a stupid idea
19:04:42 <pikhq> As for running extensions for every *web browser*? Yeah, no fucking way.
19:04:58 <elliott> XUUUUUUUUUUL
19:05:02 <pikhq> elliott: Well, true. Beyond a certain point there's really no point in it at *all*.
19:05:03 <elliott> port XUL/javascript/CSS to gtk
19:05:04 <elliott> SOMEHOW
19:05:06 <elliott> and then gtk to Qt
19:05:07 <elliott> SOMEHOW
19:05:12 <elliott> and it will all work
19:05:16 <pikhq> (probably by the time you get Win32, Linux, OS X going)
19:05:18 <elliott> also: emulate the structure of other browsers' UIs somehow
19:06:53 <pikhq> Heck, I doubt you could run both Firefox and Seamonkey extensions at once.
19:07:08 <fizzie> Current Contiki site seems to focus only on their new embedded-systems OSery, but there's at least http://c64bbs.com/contiki/ where you can get a TFE-compatible C64 Contiki image.
19:08:34 <Sgeo> pikhq, hmm, why?
19:09:17 <elliott> <fizzie> Current Contiki site seems to focus only on their new embedded-systems OSery, but there's at least http://c64bbs.com/contiki/ where you can get a TFE-compatible C64 Contiki image.
19:09:20 <elliott> my. favourite. thing. ever
19:09:33 <elliott> Do I want C64 or C128? LOL C64 DUH
19:11:50 <pikhq> Sgeo: Extensions for XUL browsers depend very very heavily on the actual DOM tree of the browser UI.
19:12:11 <Sgeo> So fake that!
19:12:19 <Sgeo> ...that would probably suck
19:12:19 <elliott> Sgeo: ...
19:12:23 <elliott> Sgeo: You suck.
19:12:28 <pikhq> ... No, you can't fucking *do* that.
19:12:37 <pikhq> Also, IE extensions would be even worse.
19:12:48 <Sgeo> I guess if it were faked, some extensions wouldn't work
19:12:56 <pikhq> They're DLLs. They rely on the actual explorer.exe's code.
19:13:24 <pikhq> The only thing you could possibly pull off is Chrome extensions, which are Javascript with some added API functions.
19:13:34 <pikhq> And even that would be annoying.
19:13:59 <Sgeo> What about Opera extensions?
19:14:14 <pikhq> I don't know how the Opera extension system works.
19:14:27 <cpressey> There's a squirrel that lives near my building that I see every so often. I can recognize it's the same squirrel because it has no tail. It is a constant reminder that, visually speaking anyway, squirrels are approximately 50% tail.
19:14:29 <pikhq> I'm going to guess, though, that you don't want to do that.
19:15:07 <elliott> fizzie: VICE uses the fancy http://www.pepto.de/projects/colorvic/ palette, rigt?
19:15:09 <elliott> *right?
19:16:56 <fizzie> Well, it has a couple of alternatives.
19:16:58 <fizzie> c64hq.vpl c64s.vpl ccs64.vpl default.vpl frodo.vpl godot.vpl pc64.vpl vice.vpl
19:17:13 <fizzie> The default could be that one.
19:17:50 <fizzie> The "vice.vpl" seems to match the numbers given at the end of that article.
19:21:01 <elliott> fizzie: vice isn't shown in the eternal colour set list, though. So I guess it's the non-external one.
19:21:05 <elliott> default is shown, as Default.
19:21:13 <elliott> It is not the default when external coloursets are disabled.
19:21:35 <fizzie> It's probably what it uses by default when not selecting "external".
19:22:11 <elliott> Uhh, what directory is that stuff in again? >__>
19:22:13 -!- cheater99 has quit (Ping timeout: 245 seconds).
19:23:14 <fizzie> The palette files? Those are in data/C64/ in the source set, not sure where (or if) it installs them.
19:23:38 <elliott> Palette: Loading palette `/usr/local/lib/vice/C64/default.vpl'.
19:23:40 <elliott> That explains it.
19:24:09 <elliott> fizzie: How odd. It's entirely different to all the ones listed and the non-external one.
19:24:57 <fizzie> Yes; that's very strange.
19:25:14 <fizzie> Maybe it's what some version of vice used by default, and they updated the numbers inside the sources but not in that .vpl file.
19:25:31 <elliott> fizzie: Well, it looks *very different* from the default.
19:25:39 <elliott> We're talking "much darker BASIC screen" here.
19:25:51 <fizzie> That it does.
19:26:38 <elliott> fizzie: As a distrustful man, I'm sticking to it.
19:26:45 <elliott> I don't see any article defending this NEW one hrmph hurh.
19:26:54 <fizzie> Still, it's not like the colors probably were very well calibrated on physical machines either.
19:27:08 <fizzie> "Since all of this was based on selecting different resistor values and resistance varied from chip lot to chip lot, there was variation from one Commodore 64 to another. It wasn't as bad as it could have been though, since all of the Chrominance selection was based on resistor ratios, which could be kept constant even if the actual resistor values varied. Luminance was more of a problem."
19:27:19 <elliott> fizzie: Yes, but, http://www.pepto.de/projects/colorvic/dk-ccs64.gif vs http://www.pepto.de/projects/colorvic/dk-pepto.gif.
19:27:27 <elliott> That's a pretty dramatic improvement.
19:28:03 <fizzie> Well, sure, the ccs64 is pretty... how should I say it, theoretical.
19:29:32 <elliott> fizzie: Wait, that Contiki page is just to download the webserver, I think.
19:30:03 <elliott> "Today Contiki is mostly known as an operating system for networked embedded systems. A few years ago, however, Contiki's primary claim to fame was its Commodore 64 port. With the help of JAC64, a Java-based C64 emulator developed by my colleague and fellow Contiki developer Joakim Eriksson, you can now experience the C64 port of Contiki 1.2-devel1 again, directly in your web browser! Click here to enjoy it - unfortunately without networking supp
19:30:03 <elliott> ort at present."
19:30:04 <elliott> Oh joy.
19:30:22 <fizzie> Well, it builds a full contiki.dsk; it might be that it's mangled to run the webserver only, though.
19:30:39 <elliott> BREADBOX64 is a twitter client for the C64/128 which allows you to tweet from a real C64 and show your friends timeline. It uses Contiki, a very nice embedded OS, and the MMC Replay cartridge with the RR-Net add on for the physical connection to the net.
19:30:41 <Sgeo> It occurs to me that Factor is a bit... large
19:30:45 * elliott speechless
19:31:15 <Sgeo> There's a LOT to learn. I don't mind, but the general programming public...
19:31:24 <elliott> fizzie: http://120.146.162.194:8080/contiki.html Why not download Contiki from a C64?
19:31:49 <fizzie> "404 - file not found"
19:31:57 <elliott> fizzie: On what file?
19:32:16 <cpressey> Yeahhhh Sgeo the "general programming public" uses Java and .NET; when you count all the "standard classes", are these any smaller?
19:32:27 <fizzie> elliott: On your link; but reloading the page made it appear. "Interesting."
19:32:34 <elliott> fizzie: Well, it's a C64. :)
19:32:34 <Sgeo> Good point
19:32:45 <elliott> fizzie: On http://cbm8bit.com/contiki/ I ought to fill in my actual LAN IP and the like, right?
19:33:20 <cpressey> I do not like dragons.
19:33:30 <fizzie> As far as I can tell, the vice networking just uses low-level packet-mangling stuff to fake it as if the C64 was a different machine, so you should stick in something as if you were adding a new machine in the network.
19:33:40 <cpressey> I am tempted to build VICE, but I've done that before and I could be building NetBSD-CURRENT instead!
19:33:47 <elliott> cpressey: That game is frickin' hard.
19:33:48 <fizzie> Disclaimer: I haven't actually ran the thing in vice.
19:33:50 <elliott> It might help if I had a joystick.
19:33:57 <fizzie> The site is also pretty slow! Maybe they should load-balance it to several C64s.
19:34:52 <elliott> fizzie: that downloaded contiki thing starts but no GUI or anything
19:34:58 <elliott> just "up and running"
19:35:00 <elliott> guess it's webserving
19:36:52 <elliott> fizzie: 1.2-devel1 starts the gui
19:36:54 <elliott> this is more like it
19:36:58 -!- cheater99 has joined.
19:37:14 <elliott> fizzie: no joystick mouse support, wtf?!
19:38:25 <cpressey> elliott: is it? maybe i got used to it with the keyboard
19:38:37 <elliott> cpressey: well i went in circles i think
19:38:40 <elliott> and also was terrible at it
19:38:58 <elliott> cpressey: i never found one of the ... key whatevers!
19:39:25 <elliott> omg it has irc
19:39:26 <elliott> YOU GUYS
19:39:28 <cpressey> elliott: the maze is large!
19:39:30 <elliott> SO GONNA IRC FROM THIS
19:39:33 <elliott> cpressey: yes, terribly large
19:39:34 <elliott> i got lost
19:39:34 <elliott> :)
19:39:38 <elliott> i am bad
19:39:57 <elliott> Net driver > <
19:40:00 <elliott> I... don't know!
19:40:39 <fizzie> VICE emulates the TFE thing, but I'm not sure what Contiki calls it.
19:40:47 <fizzie> I'm getting a "undefined reference to `libnet_write_link_layer'" from configure --enable-ethernet, unfortunately. Curious.
19:41:07 <elliott> Works for me.
19:41:14 <fizzie> (There is libnet_init in -lnet, but not libnet_write_link_layer in -lnet.)
19:43:07 <elliott> http://dusted.dk/stuff/ide64/bignew/ethconfigclose.jpg hmm my screen is much duller than this
19:43:31 <elliott> hey, turning off smooth luminances smooths the gradient
19:45:58 <fizzie> Oh, the libnet_write_link_layer test is just optional; it decides whether to use libnet 1.0 or 1.1 by that. I just haven't done "make install", which might explain why I'm not seeing any changes.
19:46:35 <fizzie> Come to think of it, I don't think I ran "make" either. I just ./configure'd.
19:46:59 <elliott> :-D
19:47:56 <elliott> cpressey: QUICK WHAT ASSEMBLER SHOULD I USE FOR THE C64
19:48:08 -!- BeholdMyGlory has joined.
19:48:49 <fizzie> For some unfathomable reason, I use cc65's assembler (ca65) as a standalone thing; but that's probably not such a great idea.
19:49:08 <cpressey> elliott: um. ON the C64, or cross-assembling TO the C64?
19:49:40 <elliott> cpressey: uh, to. i played with the c64 once and used an assembler in it. not. fun.
19:49:40 <cpressey> (note: first is too hardcore for me)
19:49:59 <cpressey> elliott: i use the Perl version of p65. also fairly unfathomably, except that it's easily portable
19:50:16 <elliott> cpressey: that site told me to use OPHIS instead
19:50:20 <elliott> which is like that but written in PYTHON
19:50:21 <elliott> and NEWER
19:50:23 <elliott> with a MANUAL
19:50:39 <cpressey> you can try that if you like
19:50:44 <fizzie> At least with ca65 you get to write linker scripts. :p
19:50:45 <cpressey> there is nothing wrong with the perl one thought
19:50:47 <cpressey> *though
19:50:50 <elliott> unmaintained software or irritating python software?
19:50:52 <elliott> OMG HOW DO I DECIDE
19:50:55 <cpressey> well it has some shortcomings but nothing too major
19:51:10 <cpressey> like its label arithmetic is pretty limited
19:51:39 <cpressey> i should probably try the python version at some point
19:51:54 <elliott> cpressey: i just had the strangest perversion. I SHOULD WRITE A UNIX FOR THE COMMODORE 64
19:51:57 * elliott waaaay in over his head
19:52:04 <cpressey> at the point where i discovered p65, the python version was no better and it seemed like development wasn't happing on it anyway
19:52:14 <cpressey> agreed, waaaay
19:52:25 <elliott> cpressey: it sounds fun though right?!?!?!
19:53:04 <cpressey> to a degree
19:54:14 <elliott> cpressey: i could multitask at, like, 10 HZ
19:54:18 <cpressey> DLWNOADIGN NTESBD URCCENT
19:54:21 <elliott> that is Hz but in capitals btw
19:54:33 <elliott> the 10 is also capitalised.
19:55:50 <cpressey> writing a Lisp for the C64, now THERE is a project.
19:55:59 <cpressey> Make it a Lisp OS for more fun!
19:56:01 <elliott> cpressey: or a FORTH! wait, that just sounds easy
19:56:17 <elliott> that just sounds ... easy ... and fun
19:56:19 <cpressey> the difference is in the GC!
19:56:25 <elliott> cpressey: hahahahano
19:56:57 <cpressey> well you *could* do lisp without gc but, yeah, no.
19:56:57 <elliott> cpressey: so uh can these assemblers output disk images or just .prgs?
19:57:26 <fizzie> Vice has a good command-line tool (c1541) for disk-imagery.
19:57:34 <cpressey> elliott: i typically output a .prg and have the overlying OS'es directory simulate a disk
19:57:46 <elliott> meh, forths don't need disks!
19:57:48 <fizzie> Well, "good" and "good". The syntax of it is pretty horrible.
19:57:54 <elliott> only BLOCKS
19:58:21 <elliott> cpressey: is the kernal like the bios (you don't want to use it if you can help it, slow etc.) or like... uh... not that
19:58:22 <cpressey> elliott: (there is some tutorial-ish docs in my "ribos" project for how to build stuff with p65, fwiw)
19:58:37 <elliott> SRY IM USING "OPHIS" ITS WEBT 2
19:58:37 <cpressey> elliott: basically yes
19:58:38 <elliott> *WEBEB
19:58:42 <elliott> cpressey: that uh
19:58:47 <elliott> cpressey: there were two possible answers
19:58:54 <cpressey> basically it is like a bios
19:58:59 <elliott> cpressey: oh joy
19:59:04 <elliott> any docs on how to reimplement its shit myself? :-)
19:59:11 <cpressey> "you don't want to use it" is... not always justified
19:59:17 <cpressey> you can just not use it
19:59:46 <cpressey> what do you need it for? disk access? you can talk to the 1541 yourself
19:59:59 <elliott> i don't want to access disk if i can avoid it, ever :)
20:00:10 <cpressey> SO YOU ARE WRITING A CARTRIDGE OK
20:00:21 <cpressey> you basically never need to use the kernel
20:00:31 <elliott> *kernal! love that misspelling
20:00:36 <cpressey> and getting by without it is easier than getting by without BIOS when booting a PC :)
20:00:41 <cpressey> *kernal yes yes
20:01:16 <elliott> ok my first program will switch it into that lowercase/uppercase mode
20:01:18 <elliott> if i can figure out how!
20:02:51 <cpressey> do you want me to give you hints?
20:03:12 <cpressey> also: there are two books that are invaluable
20:03:15 <cpressey> (imo)
20:03:33 -!- FIZZIE64 has joined.
20:03:46 <cpressey> *applause*
20:04:00 <FIZZIE64> this is not the most comfortable client evar.
20:04:24 <elliott> cpressey: hints are nice yes
20:04:27 <elliott> FIZZIE64: oh wow
20:04:34 <elliott> FIZZIE64: how did you get networking working?
20:04:39 <FIZZIE64> it also has some issues w.r.t. character case: my nick is lowercase here.
20:04:46 <FIZZIE64> dhcp saved the day!
20:04:48 <elliott> wow it responds to CTCP VERSION
20:04:54 <elliott> FIZZIE64: but what network driver did you specify?
20:04:57 <elliott> in the configuration
20:05:10 <fizzie> It is just "tfe.drv".
20:05:16 <fizzie> You don't need to use the configuration bit, though.
20:05:27 <elliott> fizzie: really?
20:05:31 <fizzie> You can just use the directory browser, "execute" the TFE driver, then execute the DHCP client.
20:05:37 <elliott> fizzie: oh
20:05:39 <elliott> i'll try that
20:05:55 <fizzie> You'll want to have the Ethernet support enabled in VICE, of course.
20:06:14 <elliott> i have it compiled in
20:06:17 <elliott> do i have to do anything else?
20:06:33 <fizzie> You have to enable it from Options/Ethernet emulation/Enable Ethernet.
20:06:37 <fizzie> And you need to run x64 as root.
20:06:41 <cpressey> elliott: the kernal handles the uppercase/lowercase "mode" you refer to, and the easy way to switch it is to output a certain control character, via the kernal.
20:06:47 <elliott> fizzie: which icon is tfe? :P
20:06:55 <fizzie> It's on the second page at least in my case.
20:07:07 <fizzie> "The Final Ethernet driver" or some-such.
20:07:38 <fizzie> Whoops, tried to say "/nick fizzie64" in hopes of getting a lowercase nick; it briefly said "not implemented" and dumped me back to C64 basic.
20:07:45 <elliott> :D
20:08:23 <elliott> fizzie: If I see no "Ethernet emulation", is that bad?
20:08:45 <fizzie> It at least sounds a bit suspicious; it should be under IDE64 emulation.
20:09:24 <elliott> indeed none of that
20:09:28 <elliott> is there some library i need?
20:09:48 <fizzie> libpcap-dev and libnet1-dev.
20:10:00 -!- FIZZIE64 has quit (Ping timeout: 276 seconds).
20:10:02 <fizzie> The configure script won't really complain if it can't find them, it just silently ignores you in that case.
20:10:06 <elliott> yes that would help
20:10:14 <fizzie> It's very user-friendly that way.
20:11:48 <fizzie> "Error loading program: "irc.prg": Out of memory"."
20:13:41 <fizzie> http://zem.fi/~fis/cont.png -- none of those look very non-essential to me. Although I'm not quite sure what "Program handler" does.
20:14:40 <elliott> fizzie: Reboot? :P
20:14:52 <elliott> fizzie: Hey, what's that GTK font?
20:14:58 <fizzie> But I *just* got the DHCP client runninated!
20:15:00 <elliott> Doesn't look like Ubuntu Sans...
20:15:08 <elliott> fizzie: Also, duude, turn on CRT emulation.
20:15:13 <fizzie> It *should* be Ubuntu Sans, I haven't touched any things.
20:15:24 <elliott> Oh, just aggressive hinting messing it up then :P
20:16:01 <elliott> fizzie: Okay, seriously -- what's the full path to ethernet settings on yours?
20:16:54 <fizzie> You mean, menu-wise in VICE, or in Contiki somehow, or what?
20:16:57 <elliott> VICE
20:16:59 <fizzie> "Options/Ethernet emulation/Enable Ethernet" in that case.
20:17:06 <elliott> You said it was under IDE64 X_X
20:17:18 <Phantom_Hoover_> fizzie, what the hell are you up to?
20:17:24 <fizzie> Yes, by which I meant it's the menu entry under that one in Options.
20:17:29 <fizzie> At least for me.
20:17:42 <elliott> Bleh.
20:18:00 <fizzie> Phantom_Hoover_: C64 IRCery mostly, I guess.
20:18:18 <elliott> Oh it's --enable-ethernet. I think I had --with-ethernet.
20:18:40 -!- wareya_ has quit (Read error: Connection reset by peer).
20:18:49 <elliott> fizzie: Is there an obvious place to check whether it decided I can has ethernet or not?
20:18:53 <elliott> configure spews out a lot.
20:20:03 <fizzie> #define VICE_USE_LIBNET_1_1 in src/config.h could be a good sign.
20:20:22 -!- wareya has joined.
20:21:41 <elliott> Indeed it has that now.
20:22:02 <fizzie> I haven't managed to get the IRC client started after that one time, though. :p
20:22:36 <fizzie> Last time I did start the configuration thing first, even though I wrote a wrong driver name and got an error about that; maybe I'll try that way again.
20:22:39 -!- sbszulu has quit (Ping timeout: 264 seconds).
20:22:50 <fizzie> It's just that the thought of C64 doing DHCP is so funny.
20:23:30 <elliott> fizzie: c64 needs network booting
20:23:35 <fizzie> Or maybe I should re-fetch that .d64, in case it got corrupted by a crash; nowadays I get an error already in welcome.prg.
20:23:48 <elliott> fizzie: We're talking PXE64 here.
20:23:58 <elliott> Is PXE x86-only?
20:23:58 <cpressey> extracting the netbsd current sources into /usr/src oh boy oh boy
20:24:50 <fizzie> "The 2.1 version of the specification assigns architecture identifiers to six system types, including IA-64 and DEC Alpha. However, the specification only completely covers IA-32."
20:25:00 <fizzie> So it's not x86-only in theory, just in practice.
20:25:03 <elliott> Well, whatever, custom protocol then.
20:25:07 <elliott> It would be amazing.
20:25:28 <elliott> fizzie: I have Ethernet now! Also: DUCKS!
20:26:19 <elliott> TFEARCH: ERROR opening adapter: 'eth0: You don't have permission to capture on that device (socket: Operation not permitted)'
20:26:23 <elliott> fizzie: I need to run it as *root8?
20:26:25 <elliott> **root*?
20:27:02 <elliott> fizzie: No, seriously, do I?
20:27:17 <cpressey> i bleev he said earlier you do
20:27:47 <cpressey> < fizzie> And you need to run x64 as root.
20:27:48 <fizzie> Yes, yo do.
20:27:49 <cpressey> < fizzie> And you need to run x64 as root.
20:27:51 <elliott> lawl
20:27:57 <elliott> cpressey: AND YOU NEED TO UXN IRJ5J39056J39045J9034J534905J90345J35J03UJ534905J90345JIOSWTJKPWE]P5JMWEROPJMIOWERJOAP
20:27:58 <elliott> ioastjheuioj
20:28:01 <elliott> TOAST
20:28:08 <elliott> TOOOOAAAAAASSSSST
20:28:14 <elliott> c64 has driven me insane TOAST
20:28:52 <cpressey> netbsd has TESTS.
20:28:54 <fizzie> Maybe you could arrange for the net-raw capability.
20:29:00 <elliott> fizzie: Sweet, root has their own VICE configuration.
20:29:11 <elliott> You neglected to tell me THAT :P
20:29:13 -!- zzo38 has joined.
20:29:35 <elliott> fizzie: I want RR-NET compatibility, right?
20:29:46 <fizzie> I don't think you do.
20:29:57 <fizzie> At least this Contiki 1.2 has the plain TFE driver.
20:30:08 <elliott> It's bootin'.
20:30:09 <fizzie> It might have both, 'dunno.
20:30:12 <elliott> It's Putin.
20:30:22 <elliott> cpressey: why does the c64 even have an uppercase mode
20:30:26 <elliott> the fancy characters are useless :P
20:30:36 <cpressey> elliott: no they are totally cool
20:30:41 <elliott> USELESS
20:30:50 <fizzie> Also, used a fresh .d64, went through the configurations, ran irc.dsc: "Main CPU: JAM at $45D4. [Reset] [Hard Reset] [Monitor] [Continue]"
20:31:13 <elliott> fizzie: nondeterminism, gotta love it
20:31:43 <fizzie> Maybe I *need* to use the wrong driver name, then run the right driver manually, and that via the file browser (not directly with the 'run program' menu).
20:31:58 <elliott> What run prorgam menu?
20:32:04 <elliott> *program
20:32:06 <elliott> Oh that menu.
20:32:14 <cpressey> I like how half the character set is just the first half with every byte EOR $FF, apparently legacy from the blinking cursor implementation on the PET
20:32:39 <elliott> cpressey: btw the petulant cursor hurts my eyes
20:32:45 <cpressey> they could have just used something like extended background colour mode on the VIC and 64
20:34:30 <cpressey> haha netbsd current sources! ok now i have to read src/UPDATING
20:34:52 <elliott> cpressey: if this works, I am so going to abuse my powers to turn your machine into Debian/NetBSD. (actually not but that would be cool)
20:37:54 <elliott> fizzie: holy shit it seemingly worked
20:38:57 <fizzie> elliott: Yeah, it always works on the first run, but never thereafter.
20:39:14 <fizzie> I'm not bitter or anything.
20:41:07 <elliott> Wow, that scrolling is slow.
20:41:08 <elliott> OH YEAH MOTD
20:41:37 <fizzie> Yes, it's the slow.
20:42:03 <zzo38> Section 495 of TeX: The Program says that \relax will be inserted in something like "\ifvoid1\else...\fi" that would otherwise require something after the "1". I have tested this, it is correct. But I cannot find out what part of the code in that section causes it to do that!
20:42:08 <elliott> fizzie: So, uh, what's the *safe* way to join a channel?
20:42:17 <fizzie> "/join #esoteric" worked for me.
20:42:48 -!- ELLIOTT6502 has joined.
20:43:09 <fizzie> Out of superstitiousness, I'm trying the "write a wrong driver in the config screen" thing: but if it works, I'm going to be dismayed.
20:43:10 <ELLIOTT6502> always strange how even th emulated versions of old hardware inexplicabl drop keys every now and then.
20:43:48 <ELLIOTT6502> fizzie: all i did was boot it up, start the driver, dhcp then irc. however: i di have an ip addres, mask, dns server, gateway in th network configurtion f
20:43:52 <ELLIOTT6502> from before
20:44:03 <ELLIOTT6502> i configured i with the configurtion progam, not with the specific net configurton program.
20:44:09 <ELLIOTT6502> the one on the dektop, i used.
20:44:09 <fizzie> Well, I'll see what happenses.
20:44:28 <ELLIOTT6502> tthat was from a whil ago, but it had remembered. when i dhcpd the addrss it used was i think the one ientered before.
20:44:47 <Gregor> ELLIOTT6502: Quite the obnoxious nick you have thar.
20:44:49 <ELLIOTT6502> and, uh, i lik how everything i writ is in uppercase here, mixed case in the input lne, nd loercase everywhere else.
20:44:58 <ELLIOTT6502> gregor: i'm on a c64. fuck you.
20:45:01 <fizzie> Yes, now I get "Out of memory" again, after running the driver, DHCP (which worked okay) and irc.dsc.
20:45:18 <ELLIOTT6502> fizzie: try buying mor ram you bum
20:45:26 <fizzie> Hey, can contiki use the REU?
20:45:32 <ELLIOTT6502> dunno
20:46:21 <cpressey> Keyboard support in VICE seemed to vary for me. When I ran it on FreeBSD, it dropped keypresses. But WinVICE worked fine.
20:46:42 <ELLIOTT6502> yeah well it's contiki i t's aesom enough it can do wht th fuck it want with my keypresse i dont give a shit
20:46:54 <ELLIOTT6502> "*!")+
20:47:00 <ELLIOTT6502> |33
20:47:04 <ELLIOTT6502> ###
20:47:07 <ELLIOTT6502> ||||
20:47:08 <cpressey> But then, VICE doesn't do a lot of abstraction internally
20:47:17 <elliott> wow
20:47:19 <elliott> that crashsed it
20:47:28 <elliott> *crashed
20:47:29 <elliott> a line i put in
20:47:38 <cpressey> the whole emulator?
20:47:39 <zzo38> The C64 is not proper ASCII, that is why it doesn't work.
20:48:19 <Gregor> zzo38: Amongst all the reasons why it may not work, that seems like about the least likely.
20:48:42 <elliott> cpressey: just, back to basic
20:48:51 <cpressey> moar reasonable
20:49:01 <zzo38> It is why it doesn't work correctly, I mean. Not why it crashed.
20:49:07 <elliott> Gregor: it was actually because i input characters that evidently the irc client is not clever enough to convert or something
20:51:15 <Sgeo> My computer is not receiving power
20:51:18 <Sgeo> I don't know why
20:51:34 <cpressey> the MAN is keeping it DOWN
20:51:48 -!- ELLIOTT6502 has quit (Ping timeout: 255 seconds).
20:51:54 -!- sbszulu has joined.
20:52:29 -!- Mathnerd314 has joined.
20:53:02 <elliott> sbszulu
20:53:17 <elliott> sbszulu: do you speak zului
20:53:18 <elliott> *zulu
20:53:42 <sbszulu> Yes
20:53:48 <elliott> oh
20:53:50 <elliott> that was unexpected
20:54:08 <sbszulu> I am Zulu from here in South Africa.
20:54:46 <sbszulu> Why did you find it unexpected?
20:55:16 <elliott> Dunno :P
20:55:21 <elliott> sbszulu: hmm have you been here before?
20:56:46 <sbszulu> No. First time.
20:57:07 <elliott> sbszulu: this is a channel about esoteric programming languages, btw.
20:57:12 <elliott> we get some people who don't know that
20:57:29 <elliott> fizzie: i am totally loading the contiki homepage on a c64. well not a real c64
20:58:13 <elliott> fizzie: woo dns doesn't work
20:58:15 <elliott> let's try google's servers!
20:59:10 <sbszulu> I noticed.
20:59:38 <elliott> sbszulu: do you know our wiki?
20:59:40 -!- Sgeo has quit (Read error: Connection reset by peer).
21:00:06 <sbszulu> I've been looking at it since I joined.
21:01:00 <elliott> :)
21:01:18 <elliott> sbszulu: have you made any esolangs yet?
21:02:30 <sbszulu> Not yet. I'm looking forward to getting started with time.
21:06:26 -!- Sgeo has joined.
21:07:25 -!- FIZZIE64 has joined.
21:07:41 <elliott> FIZZIE64: MY DNS NO WORKY
21:07:48 <elliott> FireFly: ¬!£UJ())(||æłełæ³łł€
21:08:03 <FireFly> Nice unicode
21:08:22 <FIZZIE64> this time i tried to get a lowercase nick by writing in uppercase but got an erroneous nickname message
21:09:15 <pikhq> Pity. Oh well; you're on IRC from a C64.
21:09:31 <elliott> FIZZIE64: |\→°£Ŧ⅛¥
21:09:35 <elliott> FIZZIE64: CRASH DAMMIT CRASH
21:09:36 <FIZZIE64> it's only a model. i mean, an emulator.
21:09:37 <elliott> FIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASH
21:09:40 <elliott> FIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASHFI
21:09:40 <elliott> ZZIE64: CRASH DAMMIT CRASHFIZZIE64: CRASH DAMMIT CRASH
21:10:12 <FIZZIE64> don't know about dns though, i used an ip for this irc session, so far haven't even tried dns.
21:10:20 <elliott> dns worked for me before
21:10:21 <elliott> ëëëëëëëëëë
21:10:23 <elliott> for irc
21:10:24 <elliott> but now no
21:10:26 <elliott> so no telnet or web
21:10:55 <FIZZIE64> i would like to run this thing on, say, the c128 i have, but: no disk drive, no ethernet hardware.
21:10:56 -!- sbszulu has quit (Excess Flood).
21:11:44 <elliott> FIZZIE64: I wonder why disabling the new luminances in the VIC-II settings makes the middle gradient smooth?
21:11:51 <FIZZIE64> the c128 builds might not have the fancy desktop either.
21:11:58 -!- sbszulu has joined.
21:12:13 <elliott> FIZZIE64: does it even support the c128?
21:12:38 -!- Zuu has quit (Read error: Connection reset by peer).
21:12:41 <FIZZIE64> there are some versions of contiki. dunno.
21:13:12 <FIZZIE64> it might even work in th c64 mode of the c128: it is pretty good when it comes to backward compat, i think.
21:14:17 <elliott> FIZZIE64: do you actually need a disk for contiki? wouldn't it fit on, uh
21:14:19 <elliott> a cassette?
21:14:22 <elliott> probably not :P
21:14:33 <elliott> i am a bit c64-workings-ignorant.
21:14:52 -!- Zuu has joined.
21:15:14 <FIZZIE64> i have a cable that might work: it can be used to have a computer pretending to be a disk drive.
21:15:24 <FIZZIE64> still, the networking thing i trickier.
21:15:34 <elliott> FIZZIE64: just implement a networking-over-fake-disk-cable thing
21:15:42 <elliott> communicate by writing and reading to odd filenames!
21:15:53 <FIZZIE64> maybe with a serial cable and slip: there's a slip drivr in contiki
21:15:53 <elliott> just a contiki driver and a linux program away
21:16:02 <elliott> FIZZIE64: or that.
21:17:56 <FIZZIE64> it would still involve a rs232 interface between c64 user port - pc serial. but that's simpler than an ethernet thing.
21:17:59 <cpressey> dear people who write wrapper scripts: please don't document the meanings of the options solely in terms of the system you're wrapping. it kind of defeats the purpose. thanks, -chris
21:18:41 <FIZZIE64> cpressey: your line was too long for this client: it cuts of at "it kind of".
21:18:54 <fizzie> Shows up all proper here, though.
21:19:13 <elliott> cpressey: McSweeney's would publish that.
21:24:42 <elliott> Okay, C64 fans, this is your chance to tell me of all the things I ABSOLUTELY MUST do on it.
21:25:23 <elliott> FIZZIE64: Hey, does the mouse emulation work in Contiki?
21:25:25 <elliott> That would be cool.
21:26:03 <FIZZIE64> i haven't tried. in theory i think some versions should support the 1351 mouse.
21:26:26 <elliott> Hey, a demo written in Haskell: http://www.pouet.net/prod.php?which=52995
21:26:54 <FIZZIE64> i did try enabling it in vice, but it only captured my cursor, that was all.
21:27:49 <elliott> heh
21:27:52 <FIZZIE64> googling contiki 1351 shows some contiki-2.x drivers, that's about all.
21:28:00 <elliott> contiki 2 appears to not have the gui or something
21:28:01 <elliott> :(
21:28:22 <FIZZIE64> seems so. a shame: it looks so nice.
21:28:33 <elliott> lawl
21:28:37 <elliott> it wouldn't look nice on c64!
21:28:43 <coppro> elliott: did you find that article?
21:28:53 <elliott> coppro: not yet -- i'll keep looking, i swear :)
21:29:13 <elliott> coppro: it's a very good article so i really do want to find it
21:31:26 -!- FIZZIE64 has quit (Remote host closed the connection).
21:36:03 <cpressey> i'm doin' it wrong
21:36:10 * cpressey starts over
21:36:57 <elliott> Aww.
21:37:01 <elliott> 10 I=0
21:37:03 <elliott> 20 POKE I,I
21:37:05 <elliott> 30 I=I+1
21:37:07 <elliott> 40 GOTO 10
21:37:12 <elliott> Unfortunately this is not quite as spectacular as I hoped.
21:39:15 <fizzie> Poke at 53280, you'll change the screen border color.
21:39:16 <Phantom_Hoover_> OK, I am PUZZLED!
21:39:44 <elliott> fizzie: There's display hacks that involve poking it multiple times a redraw, right?
21:39:46 <elliott> Or something?
21:39:53 <elliott> cpressey's thing did something like that but with magic.
21:40:07 <fizzie> You can "open" up the borders; it's a fascinating read.
21:40:20 <Phantom_Hoover_> Integrating the circumference of a circle around a given axis should be its surface area, should it not?
21:40:33 -!- cpressey has quit (Ping timeout: 245 seconds).
21:40:46 <elliott> fizzie: Can you do XOR in C64 BASIC?
21:41:13 <fizzie> http://www.unusedino.de/ec64/technical/misc/vic656x/vic656x.html 3.14.1 for screen border magic.
21:41:57 <elliott> Nice.
21:41:59 <elliott> But srsly, xor?
21:42:56 <fizzie> Perhaps not.
21:43:05 <elliott> fizzie: Just plain OR?
21:43:15 <elliott> fizzie: Or even *modulo*?
21:43:39 <fizzie> There's AND and OR operators.
21:43:57 <elliott> Tell me it has modulo.
21:44:00 <fizzie> Try "print (1 and 5)" vs. "print (1 or 5)".
21:44:22 <elliott> Oh fine, have it your way.
21:44:42 <elliott> 10 FOR I=10 TO 16 : POKE 53280,((PEEK(53280)+I)OR I)
21:44:43 <elliott> 20 GOTO 10
21:44:47 <elliott> Let's see what this does.
21:45:06 <elliott> Fails!
21:45:11 <elliott> I guess I should have expected that.
21:45:17 <elliott> fizzie: It's gotta have modulo!
21:45:58 -!- catseye has joined.
21:46:04 <elliott> catseye: MODULO IN C64 BASIC, WHAT IS IT
21:46:21 <catseye> elliott: it is not anything
21:46:25 <elliott> DAYUM
21:46:44 <elliott> <elliott> 10 FOR I=10 TO 16 : POKE 53280,((PEEK(53280)+I)OR I)
21:46:44 <elliott> <elliott> 20 GOTO 10
21:46:46 <elliott> ok this works as "AND I"
21:46:53 <elliott> and does indeed produce snazzy inter-frame effects!
21:46:56 <elliott> "snazzy"
21:47:37 <fizzie> You can compute X-(Y*INT(X/Y)) for a modulo, in case you don't mind waiting billions of cycles.
21:49:07 <elliott> 40 IF I>15 : I=0
21:49:11 * elliott boggles that this is invalid syntax
21:49:19 <elliott> Do I need a goto in there or something?
21:49:31 <catseye> THEN instead of :
21:49:35 <elliott> heh
21:49:49 <elliott> okay NOW it's snazzy
21:49:51 <fizzie> Yeah, it's an IF-THEN statement, not some sort of IF-: statement.
21:49:55 <elliott> 10 I=0
21:49:55 <elliott> 20 FOR J=I TO 16 : POKE 53280,((PEEK(53280)+J) AND I)
21:49:55 <elliott> 30 I=I+1
21:49:55 <elliott> 40 IF I>15 THEN I=0
21:49:55 <elliott> 50 GOTO 20
21:50:05 <elliott> all i need is equally bad music
21:50:54 <Phantom_Hoover_> What does it do?
21:51:02 <elliott> Phantom_Hoover_: makes the border flicker all sorts of fun stuff
21:51:06 <elliott> around the basic "window"
21:51:09 <elliott> *BASIC
21:51:18 <elliott> multiple epilepsy-inducing colours per frame
21:51:35 <catseye> elliott: the two books I was referring to are the "Programmer's Reference Guide" and "Mapping the Commodore 64".
21:51:43 <elliott> catseye: ok
21:51:47 <elliott> catseye: are you on CURRENT now?
21:51:57 <elliott> fizzie: HAY CAN I STOP EXECUTING IT WITHOUT RESETTING (lawl)
21:51:57 <catseye> elliott: not as such, no
21:52:01 <elliott> (probably not, i guess)
21:52:15 <catseye> elliott: Run/Stop+Restore
21:52:27 <catseye> it's just a very soft reset though
21:52:57 <catseye> I don't recall what VICE maps those keys to exactly
21:52:59 * elliott looks up commodore keyboard :P
21:53:12 <catseye> Caps Lock+Backspace? maybe?
21:53:24 <catseye> (also depends on your keymapping of course)
21:53:33 <fizzie> elliott: A simple 'esc' key might work.
21:53:38 <fizzie> I think that's where VICE puts run/stop.
21:53:46 <elliott> woo it works
21:53:51 <catseye> Oh yeah
21:53:54 <elliott> fizzie can have my firstborn
21:53:54 <fizzie> It's a basic program, it's terminatable with any sort of reset.
21:54:03 <fizzie> s/with/without/
21:54:13 <catseye> BASIC doesn't need a reset. Shows how long I've been not using BASIC!
21:55:05 <Phantom_Hoover_> Dear god, people actually *like* Garfield.
21:55:05 * Phantom_Hoover_ shivers.
21:55:06 <Phantom_Hoover_> fungot, comment.
21:55:06 -!- Phantom_Hoover_ has quit (Quit: Leaving).
21:55:07 <fungot> Phantom_Hoover_: creed now thats totally subjective try them and see if they have an image in the same way
21:55:29 <catseye> so apparently the 'bind' distribution comes with EVERY RFC EVER
21:55:47 -!- Phantom_Hoover_ has joined.
21:56:04 <elliott> catseye: ew bind
21:56:27 -!- Phantom_Hoover__ has joined.
21:56:31 <Phantom_Hoover__> Dear god, people actually *like* Garfield.
21:56:33 * Phantom_Hoover__ shivers.
21:56:37 <elliott> <Phantom_Hoover_> Dear god, people actually *like* Garfield.
21:56:37 <elliott> * Phantom_Hoover_ shivers.
21:56:38 <elliott> <Phantom_Hoover_> fungot, comment.
21:56:38 <elliott> * Phantom_Hoover_ has quit (Quit: Leaving)
21:56:38 <fungot> elliott: ( in various shapes and forms, e.g. counting the number of fnord very few albums/ v293/ bitwize/ 20051229.png
21:57:48 <catseye> deja fnord
21:58:15 <catseye> Phantom_Hoover__: < fungot> Phantom_Hoover_: creed now thats totally subjective try them and see if they have an image in the same way
21:58:15 <fungot> catseye: i can't remember which one though ( scrol down)? tried toggling hardware/ software flow control on and off, etc.
21:58:52 <Phantom_Hoover__> Gyaah, I hate this connection.
22:00:07 -!- Phantom_Hoover_ has quit (Ping timeout: 245 seconds).
22:01:38 -!- tombom has quit (Quit: Leaving).
22:02:05 <catseye> elliott: OK you must look up how to made bad SID music and do that
22:02:17 <elliott> catseye: in BASIC? :D
22:02:28 <catseye> yes! well, if you like.
22:02:33 <catseye> it's certainly possible
22:04:12 <fizzie> The BASIC programming manual shows how to make bas SID music in BASIC, for example.
22:04:34 <fizzie> There's even a "for I=1 to 250" do-nothing loop for timing.
22:04:49 <elliott> lawl
22:05:22 <elliott> http://www.pouet.net/prod.php?which=30008 Ha ha, fuck you borders.
22:06:18 <fizzie> http://www.lemon64.com/manual/ 8.2 for an ugly HTMLization.
22:06:35 <fizzie> Though the Programmer's Guide is a lot better text indeed.
22:06:43 <fizzie> But, well, bad music.
22:07:19 <fizzie> There's a "DOLL CRYING" sound effect there, for example.
22:08:10 <elliott> that looks WAY TOO COMPLICATED for the likes of ME
22:08:29 <elliott> meanwhile
22:08:33 <elliott> catseye: dude how the fuck do you use befos
22:08:34 <fizzie> It's just some POKEs.
22:08:48 <elliott> catseye: when i jump to conway it's just a bunch of noise
22:08:50 <elliott> and random characters
22:08:54 <elliott> not the game of frikkin' live
22:08:56 <elliott> *life
22:09:12 <elliott> the legend works though
22:10:04 <fizzie> The C128 basic has a SOUND statement for bad music, but I don't think the C64 had it.
22:10:27 <catseye> um so i'm cvs updating netbsd sources, right? it's got lua somewhere in it... i recognized the source files as it scrolled by
22:10:58 <catseye> fizzie: indeed, it did not
22:10:59 <elliott> catseye: HOWWWWWWWWWWWWWWERTYU
22:11:19 <catseye> befos?
22:11:27 <fizzie> Oh, and the PLAY statement, which is what I meant.
22:11:34 <catseye> it's... you boot it, and you press keys
22:11:38 <catseye> the documentation sucks
22:11:54 <catseye> i actually updated it recently to have a page with the key bindings listed on it
22:11:59 <catseye> but haven't released that
22:12:04 <catseye> why do you want to use befos?
22:12:36 <fizzie> C.f. http://www.commodore.ca/manuals/128_system_guide/sect-07c.htm#7.4.html HOW SIMPLE!
22:12:37 <elliott> http://catseye.tc/projects/befos/README i see the bindings
22:12:42 <elliott> catseye: 'cuz i ripped off its bootloader
22:12:43 <elliott> I owe it
22:12:46 <elliott> catseye: but seriously, how do you run programs?
22:12:48 <catseye> elliott: they may or may not be accurate
22:13:22 -!- calamari has joined.
22:13:24 <catseye> elliott: some key jumps to the start of the currently loaded page, treating it as it is a com file. that is pretty much all you get.
22:14:16 <elliott> catseye: i forget, what exactly is befunge about this again? :)
22:14:42 <catseye> elliott: there is supposed to be a befunge interpreter in there somewhere :) it never really got fully hooked up
22:15:00 <elliott> http://catseye.tc/projects/befos/src/inc/befkeys.inc hell yaeh >_<
22:15:06 <elliott> dwExecBeebInstr; 4100 F7
22:15:09 <elliott> well let me tell you it's not that
22:15:54 <elliott> ok life works
22:16:03 <elliott> catseye: i like how life trashes the status line but not its colours :)
22:16:04 <catseye> that is pretty much all you get
22:16:12 <elliott> also: the seemingly inexplicable multiple characters used
22:17:20 <elliott> catseye: well that was a thoroughly demented experience
22:17:23 <elliott> port it to the c64
22:18:04 <catseye> it would make more sense there
22:18:26 <catseye> bbiab
22:20:47 <elliott> catseye: whoa, if i put cli before my bootloader the zeroes do different things
22:20:49 <elliott> IT IS INEXPLICABLE
22:24:37 <elliott> Anyone know of any bootsectors that go into protected mode? :)
22:27:54 <olsner> I don't
22:29:54 <elliott> olsner: WELL MINE'S GOING TO
22:30:03 <elliott> since it's absolutely tiny right now, why not?
22:30:24 <elliott> and it means i can write all of my kernel as 32-bit
22:37:47 <elliott> Can you put multiple instructions on one line in nasm? >_>
22:39:19 <fizzie> I don't think it has any "split a line" things, so maybe no.
22:40:14 <elliott> Aww man, the GDT is a world of pain.
22:40:31 <Gregor> !bf_txtgen calamari: People always thank me for the awesome BF text generator in EgoBot I obviously wrote 'cuz it's in EgoBot!
22:40:51 <calamari> :)
22:41:32 -!- Wamanuz has quit (Remote host closed the connection).
22:41:34 <calamari> it started off with much grander ambitions, but I suck at genetic programming
22:41:57 -!- Wamanuz has joined.
22:44:49 <Gregor> Also apparently it doesn't work right now :P
22:44:50 <Gregor> But imagine it was giving output.
22:44:55 <Mathnerd314> elliott: how's the browser coming?
22:45:09 <elliott> Mathnerd314: you should know i never stay on a project more than two days
22:45:15 <elliott> apart from this os
22:45:21 <elliott> MUST MAKE GREATEST BOOTSECTOR EVER
22:45:33 -!- Phantom_Hoover__ has quit (Ping timeout: 245 seconds).
22:46:05 <Mathnerd314> so... badly?
22:46:18 <elliott> Mathnerd314: it views webpages, and can click links and submit forms
22:46:21 <elliott> what more do you need
22:46:48 <Mathnerd314> a lot... I guess I'll stick to firefox
22:47:12 <elliott> Mathnerd314: well anyone who likes firefox would never like kayak anyway
22:47:45 <Mathnerd314> why?
22:48:20 <Sasha> Firefox is /okay/
22:48:26 <Sasha> for being a bloated load of crap
22:48:53 <Mathnerd314> Sasha: explain where the bloat is
22:49:07 <Sasha> the fact that it regularly uses all my available memory
22:49:17 <Sasha> especially when it's running
22:49:17 <calamari> sounds like that browser might be pretty cool for a phone
22:49:22 <elliott> explain where firefox's bloat is ahahaahahaha
22:49:31 <Sasha> everywhere?
22:49:34 <elliott> an easier question to answer would be "explain where firefox's bloat isn't"
22:49:36 <elliott> the answer being "nowhere"
22:49:44 * Sasha high-fives elliott
22:49:59 <Sasha> what do you use, elliott?
22:49:59 <Sasha> If you say Internet Explorer, get the fuck out.
22:50:13 <calamari> although I assume it doesn't implement javascript and for some reason wikipedia decided to require javascript to view sections
22:50:14 <elliott> I would have to use Wine to use Internet Explorer and that would be a major feat.
22:50:39 -!- zzo38 has quit (Quit: zzo38).
22:51:06 * Sasha uses Chrome and hates himself for it
22:51:46 <elliott> nothing wrong with chrome
22:51:48 <elliott> i use midori and hate it
22:52:08 <Sasha> Midori's okay
22:52:13 <pikhq> Just buggy.
22:52:18 <elliott> i would hate to use midori on windows.
22:52:21 <calamari> links2 -g
22:52:27 <Sgeo> Why, exactly, does Firefox allow its extensions to do so much?
22:52:38 <elliott> Sgeo: if it didn't you'd be asking "Why can't I get an extension to do X?"
22:52:48 <elliott> also, putting "exactly" after questions doesn't make them easier to answer
22:53:02 <pikhq> Sgeo: The Firefox extension model is both an advantage and a disadvantage.
22:53:24 <pikhq> Sgeo: On the one hand, it lets you completely redo the browser to your liking. On the other, it lets you do precisely that.
22:53:25 <elliott> i tried to use links2 -g a while back
22:53:28 <elliott> it was... heh
22:54:55 <calamari> elliott: how does that compare to your browser?
22:55:17 <elliott> mine displays pages a lot more like real browsers, supports js and css fully, etc. :P
22:55:23 <elliott> otoh, it has no UI. links2 does
22:55:33 <elliott> (searching, "go to url"... all that useless stuff!)
22:55:40 -!- Zuu has quit (Read error: Connection reset by peer).
22:55:54 <olsner> elliott: you wrote your own?
22:56:14 <calamari> so it's text mode, or there is no interface at all?
22:56:18 <elliott> cal153: gui
22:56:21 <elliott> but it's just a web page in a window
22:56:21 <elliott> google
22:56:26 <elliott> you can click links and submit forms from there
22:56:28 <elliott> gmail works etc
22:56:36 <elliott> if you can get to it from google.com it works :)
22:56:55 <Sgeo> What rendering engine? Your own?
22:57:06 -!- elliott_ has joined.
22:57:10 <calamari> link?
22:57:16 <elliott_> oh my word
22:57:18 <Sgeo> Wai
22:57:20 <elliott_> links2 has set itself as my default browser
22:57:26 <calamari> lol
22:57:29 <Sgeo> o.O
22:57:36 <Sgeo> Oh, you didn't write your own browser
22:57:38 <calamari> didn't know it could do that!
22:57:40 <Sgeo> Unless you did
22:57:43 <elliott_> Sgeo: i did
22:57:48 <elliott_> calamari: i blame debian
22:57:50 * Sgeo headaches
22:58:01 <Sgeo> Your own rendering engine?
22:58:19 <elliott_> Sgeo: no, although i've sort of being trying to create that impression for my own amusement
22:58:28 <elliott_> in reality, it was just webkit + a scrollbar
22:58:56 <calamari> but yeah, links2 -g isn't the greatest but the other day when trapped outside X, it was so nice compared to console
22:58:56 * Sgeo feels like he asks the important questions now
22:59:27 <calamari> ah
22:59:42 <elliott_> which makes the accomplishment of working with gmail much less impressive :)
22:59:57 <elliott_> but hey, it's smaller than links2, if you ignore all the python, webkit and gtk libraries underneath
23:00:29 <calamari> so what we (don'
23:00:34 <Sgeo> Ok. Instead of full compatibility with all XUL-based browser extensions, how about compatibility with a subset that doesn't use whatever features touch the GUI significantly
23:00:47 <calamari> so what we (don't) need is a web browser written in an esolang
23:00:48 <elliott_> fungot: what did you do to cal153?
23:00:49 <fungot> elliott_: and now i regret mapping caps-lock to ctrl, or hit c-x b and type the code " int foo ( char x) return fnord
23:00:50 <Sgeo> And maybe some that do if we can predict exactly what the effect should be in our browser
23:00:50 <elliott_> *calarmi?
23:00:57 -!- elliott has quit (Ping timeout: 255 seconds).
23:00:59 <elliott_> PSOX CAN DO THAT HRURURURRRRGHJ
23:01:07 <elliott_> Sgeo: lol
23:01:21 -!- Zuu has joined.
23:01:25 <elliott_> WTF LINKS2 DOESN'T SUPPORT FLASH WORST BROWSER EVER I'M UNINSTALLING IT AND RENAMING MY KITTEN
23:01:45 <Sasha> eh
23:01:49 <Sasha> Flash is okay
23:01:56 <Sasha> if you're into Flash
23:01:56 <elliott_> <Sasha> I do not understand blatant sarcasm!
23:02:10 * Sasha understands sarcasm okay
23:02:12 <elliott_> clearly not
23:02:15 * Sasha was adding input
23:02:17 <elliott_> calamari: i wonder if arachne compiles on linux
23:02:20 <calamari> does it even support javascript.. seems link it was elinks that did
23:02:22 <elliott_> calamari: yes, yes it does
23:02:26 <elliott_> "It primarily runs on DOS based operating systems, but includes builds for Linux as well"
23:02:34 <calamari> nice
23:02:47 <elliott_> hope it supports framebuffer :)
23:02:50 <calamari> I used that browser once with a dos tcpip stack when my dad refused to run windows
23:02:58 <Sgeo> At what point is Windows no longer DOS-based? Win9x, or WinME?
23:03:03 <Sgeo> erm, Win2000
23:03:06 <calamari> Sgeo: 2000
23:03:11 <calamari> or nt
23:03:16 <elliott_> yeah nt
23:03:30 <calamari> nt was around even in the 3.1 days iirc
23:03:38 <Sgeo> o.O
23:03:47 <elliott_> "Available May 24, 2008
23:03:48 <elliott_> After more than 8 years since v1.66b, it's finally here......
23:03:48 <elliott_> Arachne v1.93 for Linux (complete install package for svgalib)"
23:03:49 <elliott_> svgalib fuck yeah
23:04:08 <elliott_> http://en.wikipedia.org/wiki/Windows_NT_3.1
23:04:09 <elliott_> 1993
23:04:11 <elliott_> first non-DOS-based windows
23:04:42 <elliott_> XP was when the advertised consumer edition of Windows became non-DOS based
23:04:43 * Sasha sorta liked DOS
23:04:45 <elliott_> being the first consumer NT OS
23:06:22 <catseye> the rumors of svgalib's demise are greatly exaggerated
23:06:28 <Sgeo> What was wrong with NT from a consumer standpoint?
23:06:37 <Sgeo> What about aalib?
23:06:44 <elliott_> Why is the sky blue?
23:06:48 <elliott_> Why is the green grass green?
23:06:55 <calamari> libcaca is more fun
23:06:57 <elliott_> Why is red not the colour you see when you die?
23:07:00 <Sgeo> elliott_, those questions have answers.
23:07:03 <elliott_> Why is my keyboard not made of jelly?
23:07:03 <Sgeo> Erm
23:07:28 <elliott_> has anyone ever gone into protected mode using assembly before?
23:07:30 <elliott_> BECAUSE THIS IS KILLING ME
23:07:33 <Sgeo> Why does a bear not sh!t out the pope?
23:07:51 <catseye> < elliott> Anyone know of any bootsectors that go into protected mode? :)
23:08:21 -!- sbszulu has quit (Ping timeout: 240 seconds).
23:08:24 <catseye> better do it after you'r done with using BIOS calls, I think
23:08:26 <elliott_> catseye: I MAY BE TRYING TO WRITE ONE OK
23:08:32 <elliott_> catseye: yeah i am done with bios calls at that point
23:08:39 <elliott_> catseye: i've loaded the kernel and would normally jump there
23:08:46 <elliott_> but i'm thinkin', i've got space, why not set up the gdt first?
23:08:48 <Sgeo> ElliottOS is actually going forward?
23:08:57 <elliott_> and arrange so that KERNEL_SEGMENT:0 is in the code part of the gdt
23:09:00 <elliott_> Sgeo: no, this is Tempo
23:09:09 <elliott_> it's like elliottos but at least 50 times less ambitious
23:09:10 <elliott_> more like 500
23:09:13 -!- sbszulu has joined.
23:09:48 <elliott_> catseye: basically what's gonna happen is that instead of "t!" meaning "loaded, time to jump", "t" will mean "loaded" and "!" will mean "in protected mode, time to jump" :)
23:10:01 <elliott_> catseye: hmm, which actually means that i'll be jumping to another part of the boot sector, which puts the ! there
23:10:05 <elliott_> catseye: and *then* jumping to the kernel
23:10:06 <elliott_> but whatever
23:10:15 <elliott_> I just want some tips on setting up a gdt table in asm without going insane :)
23:10:47 <olsner> I think you but some bytes in memory and set a register to point to it
23:11:19 <elliott_> olsner: i knew that part :) and LGDT too
23:11:22 <elliott_> not register
23:11:26 <elliott_> it's an instruction
23:11:29 <elliott_> then you set the low bit of cr0
23:11:36 <elliott_> then you jump into the code segment
23:11:36 <elliott_> but uhh
23:11:42 <elliott_> it's more the bytes in memory i need some help with
23:11:58 <elliott_> all the examples of gdts i've seen have nice C structures, and then an awful c function that packs the values in a perverse way
23:12:01 <elliott_> which isn't much help
23:12:08 <elliott_> i *could* run through the c code and print out the result, but... bleh
23:12:23 <fizzie> Well, LGDT is "Load Global Descriptor Table register", so it's still a register.
23:12:41 <elliott_> well... right
23:12:52 <elliott_> but yeah, uh, i'm kinda lost.
23:14:30 <fizzie> Well, you know, the segment descriptors have a very simple layout: http://zem.fi/~fis/segdesc.png
23:15:23 <fizzie> Don't you just love it how they've interlaced the base address and limit together like that.
23:15:37 <elliott_> Yes.
23:15:38 <elliott_> Yes I do.
23:16:34 <elliott_> fizzie: "Supposedly" it should be ~omg this simple~ to get a flat 4 gig address space:
23:16:35 <elliott_> GDT[0] = {.base=0, .limit=0, .type=0}; // Selector 0x00 cannot be used
23:16:35 <elliott_> GDT[1] = {.base=0, .limit=0xffffffff, .type=0x9A}; // Selector 0x08 will be our code
23:16:35 <elliott_> GDT[2] = {.base=0, .limit=0xffffffff, .type=0x92}; // Selector 0x10 will be our data
23:16:35 <elliott_> GDT[3] = {.base=&myTss, .limit=sizeof(myTss), .type=0x89}; // You can use LTR(0x18)
23:16:45 <elliott_> But, uhh, then it has an awful C function for packing that.
23:16:50 <elliott_> So lawl.
23:17:21 <calamari> looks like javascript was removed from links2 in 2007 :(
23:17:56 * Sasha uses Chrome with a no-script-like addon
23:17:56 -!- Behold has joined.
23:18:07 <olsner> elliott_: found some stuff: http://gist.github.com/657234
23:18:24 <elliott_> olsner: struc? fuck that shit
23:18:44 <catseye> < elliott_> has anyone ever gone into protected mode using assembly before?
23:18:49 <elliott_> i mean here
23:18:51 <catseye> "using assembly"
23:18:51 <elliott_> personally
23:18:51 <elliott_> :)
23:18:56 <elliott_> catseye: i.e. no C code to build the gdt
23:19:03 <elliott_> manually writing it
23:19:10 -!- sbszulu has quit (Ping timeout: 252 seconds).
23:19:19 <olsner> elliott_: actually, the "struc" is completely unused afaict :D
23:20:47 <Sgeo> Sasha, Chrome has its own no-script-like feature
23:20:54 <Sgeo> You don't need an addon
23:21:06 <elliott_> olsner: heh
23:21:26 <elliott_> Sgeo: noscript also lets you add things to a whitelist without going into preferences etc.
23:21:30 <elliott_> (note: i don't use noscript)
23:21:37 <elliott_> olsner: still, though, it packs things itself
23:21:43 <olsner> so it's just the define_descriptor that expands to dw/db and makes constant data of it, then the rest of the code just refers to it where it got loaded by the boot sector
23:21:44 -!- BeholdMyGlory has quit (Ping timeout: 240 seconds).
23:21:50 <Sgeo> elliott_, so does Chrome's feature
23:21:58 <elliott_> hmm looks like you're right
23:22:03 <elliott_> Sgeo: i haven't seen it
23:22:11 <olsner> dunno if that's shorter or longer than the shortest code for writing it into memory
23:22:25 <elliott_> olsner: it's just that i'm in a bootsector, and i already have floppy reading and screen output code, so i don't have space for packing and other silly things :)
23:22:36 <Sgeo> Do not allow any site to run Javascript
23:22:42 <Sgeo> Then go to a site that uses Javascript
23:22:48 <Sgeo> You'll see a thingy in the address bar
23:22:50 <elliott_> olsner: i *could* load the gdt from sector 2 of the floppy but no :)
23:23:02 -!- sbszulu has joined.
23:23:43 <elliott_> olsner: yeah my current bootloader, sans the loads of zeroes after it and the bootable header, is 71 bytes
23:23:54 <elliott_> last two bytes have to be the bootable header
23:23:58 <elliott_> so i have 439 bytes free
23:23:59 <elliott_> which is a lot, really
23:24:20 <olsner> yeah, you need like 30 bytes for the constant data in this program, I think
23:24:21 <fizzie> olsner: The struc is not only unused, it's mostly just misleading: part of the segment limit (the top four bits) is in the field it calls "access" -- the f in those 0xcf values in the macro invocation -- and the macros RX_ACCESS and RW_ACCESS, despite their name, actually go in the "flags" field.
23:24:35 <elliott_> olsner: did you write this?
23:25:12 <olsner> yes, as I remember it I did - but obviously the struct definition is borrowed from somewhere, the macro might be too
23:25:19 <Sgeo> False documentation should be a capital offense.
23:25:25 * Sgeo proceeds to give himself a lethal injection
23:25:31 <elliott_> olsner: give me all rights to use it and license it however i want etc.? :P
23:25:35 <elliott_> OR ELSE
23:25:45 <elliott_> i'll put ; thanks olsner in :P
23:26:02 <elliott_> ; thanks to cpressey and olsner
23:26:02 <elliott_> ; without whom i would have had to actually learn how to do this myself
23:26:38 <elliott_> olsner: that align 4 is vaguely worrying
23:27:02 <elliott_> if i want to align it i should have the right number of instructions MYSELF!
23:27:40 <olsner> elliott_: go ahead and use that if you want, just don't complain if it doesn't work :)
23:27:54 <fizzie> olsner: Or, to fix my previous statement: parts of the segment limit are in the struc field "granularity"; I got confused because the struc calls the two fields "access, granularity" while the macro comments call them "flags, access"; I like it how they use the same word "access" for two different places there.
23:29:00 <elliott_> olsner: what is that access field?
23:29:02 <elliott_> 0xCF
23:29:09 <Ilari> IIRC, To get limit of FFFF FFFF, you need to set all limit bits to 1 and also set the granularity bit.
23:29:13 <fizzie> Anyway, it's not really a complicated thing at all: just bits in fields. You would have gotten the format from either the Intel or the AMD docs.
23:29:27 <elliott_> fizzie: i know but the gdtr stuff sorta broke my brain. i'm new to this!
23:29:39 <olsner> elliott_: magic constant, see the ia32 docs :D
23:29:45 <fizzie> 0xcf sets four top bits of limit to 1, and the granularity and 32-bit operand size bits.
23:29:53 <elliott_> i, uh, wow
23:30:02 <elliott_> db 0xCF ; access^Wcargo cult magic number!
23:30:26 <fizzie> "G" and "D/B" as well as "SegmentLimit 19-16" in http://zem.fi/~fis/segdesc.png
23:30:45 <Ilari> CF as byte 6 means Granularity Default/big, bits 28-31 of limit are 1111.
23:30:55 <elliott_> Oh gawd, more segment stuff.
23:30:56 * elliott_ shivers
23:31:04 <olsner> I wonder what I meant by "Type", and arbitrarily calling 1010 "cs" and 0010 "ds", but that would be various read/write/execute bits I suppose
23:31:25 <elliott_> what's the offset in gdtr?
23:31:35 <elliott_> >__>
23:31:52 * elliott_ decides to ignore the idt forn ow
23:31:54 <elliott_> *for now
23:32:30 <elliott_> wait... i actually have no idea what the offset is
23:32:37 <catseye> see this is why i like the idea of unreal mode way better
23:32:53 <elliott_> catseye: i do too, except, i like protected mode since you can rearrange memory but at the same time
23:32:54 <elliott_> right now
23:32:58 <elliott_> would totally like unreal mode
23:33:06 <elliott_> but uh
23:33:17 <elliott_> "To enable unreal mode without using any undocumented features of the CPU, the program has to enter protected mode, locate a flat descriptor in the GDT or LDT or create such, load some of the data segment registers with the respective protected mode "selector", then switch back to real mode."
23:33:18 <elliott_> so
23:33:19 <elliott_> NOT EASIER
23:33:25 <fizzie> catseye: Except that in unreal mode you need to build a segment descrip... gah.
23:33:29 <Sgeo> Also not Easter
23:33:52 <elliott_> olsner: hey your gdtr/gdt_end labels are the SAME
23:33:54 <catseye> fizzie: well yeah, but you don't really have to know what it *means*
23:33:57 <elliott_> i'm going to TAKE ADVANTAGE of THAT
23:34:12 * Sgeo is PLUS FIVE INSIGHTFUL
23:34:17 <fizzie> catseye: As shown here, you don't really have to know what it *means* either, as long as you can steal someone else's flat-memory-mode descriptor values.
23:34:18 <Sgeo> </blatant-lies>
23:34:19 <elliott_> can the offset be zero?
23:34:20 <olsner> elliott_: that's... the address where the boot sector loads this code plus the offset within the code block where the gdt data starts, and looks like it's just a 32-bit absolute physical address
23:34:25 <catseye> fizzie: true.
23:34:27 <elliott_> i.e. dd gdt rather than dd gdt+0x800
23:34:34 <elliott_> olsner: ok, well, in my case, i'm *in* the boot sector.
23:34:44 <olsner> so modify the offset :D
23:34:49 <elliott_> olsner: to, what, zero?
23:34:53 <elliott_> dd gdt?
23:35:01 <elliott_> er no wait
23:35:02 <elliott_> uhh
23:35:12 <elliott_> olsner: your code is inexplicably org 0
23:35:20 <elliott_> so would it be dd gdt+0x7C00?
23:35:31 <elliott_> but no, since ... i have an org 0x7C00
23:35:36 <elliott_> i think it's just gdt
23:36:05 <elliott_> olsner: the best thing about this is that i load the kernel to a segmenty address
23:36:10 <elliott_> which i'm going to have to translate to a flat address
23:36:11 <elliott_> woop woop
23:36:20 <olsner> hmm, setting org correctly might make the assembler make the right offsets automatically, maybe
23:36:21 <Sgeo> "Microsoft based C++ programming is a big plus "
23:36:30 <Sgeo> I'm having trouble figuring out what they mean by this
23:36:39 <elliott_> C<font size=72>++</font>
23:36:40 <elliott_> that
23:36:43 <elliott_> is what they mean.
23:36:44 <olsner> but you have different 16-bit and 32-bit addresses of course
23:36:50 <Sgeo> Do they mean C++/CLI? Do they mean Win32 APIs?
23:36:58 <elliott_> olsner: i'm not sure nasm lets you do bits 32 half-way through the file
23:37:02 <elliott_> olsner: even if it does, i'm not sure that's moral
23:37:04 <Sgeo> Do they mean it only has to compile on a Microsoft compiler?
23:37:11 <elliott_> maybe i should put it in a boot32.s file
23:38:00 <fizzie> You can switch the "bits" mode mid-file, and it's... well, I'm not sure about moral, but something like that, anyway.
23:38:08 -!- sbszulu has quit (Ping timeout: 255 seconds).
23:38:10 <elliott_> some registers need to be zero when you go into protected right?
23:38:12 <catseye> Sgeo: If the sentence contains the word "Microsoft", all bets are off
23:38:20 <elliott_> i'd quite like bx to persist to the other side
23:38:23 <elliott_> is it defined to? >_>
23:38:24 <olsner> even if it's immoral it's probably the only sane way to write it anyway
23:39:20 * Sgeo can't imagine why any sane person would use C++/CLI
23:39:52 <Sgeo> The evils of C++ syntax without the native compilation
23:41:11 <olsner> elliott_: almost certain that none of the registers change values, even the segment registers retain their old real-mode values and behaviour after all
23:42:31 -!- calamari has quit (Quit: Leaving).
23:43:00 <elliott_> olsner: ha
23:43:21 <elliott_> olsner: ooh, they retain their real mode behaviour? excellent, I can just do this in protected mode
23:43:24 <elliott_> push KERNEL_SEGMENT
23:43:29 <elliott_> pop KERNEL_SEGMENT
23:43:31 <elliott_> jmp 0
23:43:33 <elliott_> erm
23:43:35 <elliott_> *pop ds
23:44:07 <catseye> i was wondering if you were expecting the stack to magically translate the address for you, there
23:44:15 <elliott_> i... would love that
23:44:29 <olsner> well, the invisible internal counterpart of ds doesn't change, but in protected mode segment registers take an offset in the GDT rather than an offset in memory
23:44:29 <elliott_> movebx,0xb8000
23:44:29 <elliott_> mov[ds:0xb8000], byte 0x43
23:44:29 <elliott_> incebx
23:44:29 <elliott_> mov[ds:0xb8001], byte 0x0f
23:44:33 <elliott_> wow now time to figure out what the hell that does!
23:44:47 <elliott_> olsner: LAME.
23:44:49 <elliott_> so wait
23:44:57 <olsner> I wonder what happens if you read out the value after switching :)
23:44:59 <elliott_> i'd better set ds to uh
23:45:01 <elliott_> 16
23:45:02 <elliott_> right?
23:45:06 <elliott_> before jumping into 32-bit code
23:45:10 <elliott_> since right now ds is vga memory :)
23:45:15 <elliott_> at this point in my program
23:45:58 <olsner> no, setting ds to 16 before switching means ds has base 16*16, not that it gets loaded from gdt entry 2
23:46:27 <elliott_> olsner: so i should zero out ds then? >_<
23:46:29 <elliott_> i suck at this
23:46:51 <olsner> if you set ds to vga memory, then do nothing, ds will still point to vga memory
23:47:11 <elliott_> olsner: but not work properly as a segment register since stuff would think it's part of the gdt? ok.
23:48:04 <olsner> it will *work* and point to vga memory, it's the internal state that matters, you know... and that only changes when you explicitly set the segment register somehow
23:48:54 <fizzie> It will have a limit of 64k though, until you stick something else in there.
23:49:10 <olsner> and the same weird stuff happens to the code segment, as you notice the cpu is somehow running code after setting protect enable without having changed the code segment to a protected-mode one
23:49:22 <elliott_> well
23:49:23 <elliott_> inc bx
23:49:23 <elliott_> inc bx
23:49:23 <elliott_> mov word [ds:bx], 0x0721
23:49:27 <elliott_> definitely doesn't work in protected mode
23:49:37 <elliott_> in fact, it does seemingly nothing
23:49:43 <elliott_> oh wait
23:50:06 <elliott_> no in fact it crashes
23:50:25 <elliott_> somehow
23:51:36 -!- Phantom_Hoover__ has joined.
23:51:40 <fizzie> Isn't "mov word [bx], 0x0721" the same thing as "mov word [ds:bx], 0x0721"? Not like you need a segment override for ds. Not related to your current problem, of course.
23:52:04 <elliott_> well, yeah, i was just cargo-culting olsner saying [ds:gdtr] :)
23:52:31 <elliott_> olsner: fizzie: you lie! if i don't set ds to 0 before protecting, it crashes
23:52:31 <elliott_> always
23:52:37 <elliott_> even if i just have x: jmp x on the other side
23:53:09 <olsner> the protect enable crashes, or the jump into 32-bit code?
23:54:19 <elliott_> ah, jump, i guess
23:55:49 <elliott_> hmm, i have to do something with the a20 line at some point don't i? :P
23:55:50 <fizzie> I only know that when disabling protected mode, the internal segment registers retain their protected-mode age limits and bases until you load ds; maybe entering protected mode is more magical, then.
23:56:33 <Ilari> Protected mode checks the segments and freaks out as they are invalid?
23:56:37 <fizzie> You need to enable it, unless you want every other megabyte mirror its neighbour.
23:56:49 <elliott_> fizzie: before protected mode?
23:57:24 <elliott_> "Before enabling the A20 with any of the methods described below it is better to test whether the A20 address line was already enabled by the BIOS."
23:57:32 <elliott_> i wonder if i really have to do that, sounds boring :)
23:58:27 <catseye> you can live dangerously i suppose
23:58:27 -!- Phantom_Hoover__ has quit (Ping timeout: 245 seconds).
23:59:02 <fizzie> I guess you can do it after protected mode too as long as you stay in the first megabyte.
23:59:19 <olsner> not fixing a20 before using memory above the megabyte will be ... interesting :)
←2010-10-30 2010-10-31 2010-11-01→ ↑2010 ↑all