--- Log opened Sun Apr 29 00:00:02 2012 |
00:01 | < Rhamphoryncus> | Heck, even something totally unique I create today might be patented/copyrighted/trademarked/whatevered by someone else in 5 years and either I have to stop using it entirely, pay an exorbitant amount, or possibly go to jail if I protest. Just one of the fun risks of creating things. |
00:02 | <&McMartin> | Er |
00:02 | <&McMartin> | That is exactly equivalent to "if I walk outside I could get gunned down by a police officer who thinks I'm robbing a place" |
00:03 | < Rhamphoryncus> | Naw. That's a little less likely. Getting the crap beaten out of me at a protest by a cop? That's a more comparable chance |
00:04 | < Rhamphoryncus> | Of course it's pretty unlikely I'd make anything interesting enough to be targeted. |
01:19 | | You're now known as TheWatcher[T-2] |
01:20 | < Rhamphoryncus> | Still upgrading ubuntu.. |
01:21 | < Rhamphoryncus> | At least 2 more hours to go |
01:24 | | You're now known as TheWatcher[zZzZ] |
01:26 | <&McMartin> | Yeah, I hear the servers are totally hammered |
01:33 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has joined #code |
01:37 | | eckse_ [eckse@Nightstar-39a5aea0.dsl.sentex.ca] has joined #code |
01:38 | | eckse [eckse@Nightstar-6e6a7b39.dsl.sentex.ca] has quit [Ping timeout: 121 seconds] |
01:42 | < Noah> | . . . . . |
01:42 | <&McMartin> | ? |
01:43 | < Noah> | Bzzt! |
01:43 | < Noah> | Okay, I'm all loaded now |
01:43 | <&McMartin> | So now you can be as hammered as the Ubuntu servers? |
01:43 | | * Noah ponders |
01:44 | < Noah> | Didn't... 12.04 come out two days ago? |
01:51 | <&McMartin> | Yes, and going through the update server is still apparently murder |
01:53 | < Rhamphoryncus> | McMartin: the download finished a while ago. Installing is taking longer |
01:56 | | Eri [Eri@2D9871.EDE831.CBEAF6.769673] has quit [Client closed the connection] |
01:58 | < Rhamphoryncus> | It's disk-bound. Maybe in the future I should invest in a SSD :P |
02:07 | <&McMartin> | ... why is Ophis not on this system |
02:07 | | * McMartin fixes that |
02:10 | <&McMartin> | Mmm |
02:10 | <&McMartin> | So far my Pascal runtime is 177 bytes |
02:10 | <&McMartin> | Actually, that's kind of an overshoot, it includes linking code that you'd need for pure assembler too. |
02:11 | | Kindamoody[zZz] is now known as Kindamoody |
02:16 | <&McMartin> | let gensym = let c = ref 0 in fun s -> (c := !c + 1; s ^ "'" ^ (string_of_int !c));; |
02:16 | <&McMartin> | Kind of cheating, but I do love me some gensyms |
02:16 | < Noah> | What are those things on the end that look like vampire fangs? |
02:17 | <&McMartin> | One of the things ML finally dropped in 1995, but which OCaml didn't get the memo about. |
02:17 | <&McMartin> | This is because it thought that semicolon would be a good thing to use as a list element separator as opposed to, oh, I don't know, commas. |
02:18 | < Noah> | OCaml sounds fun |
02:18 | <&McMartin> | IME it's the most "practical" of the functional languages |
02:19 | <&McMartin> | The Gambit-C variant of Scheme is a close second, and the GHC-based Haskell Platform is a somewhat distant but still quite respectable third. |
02:19 | < Noah> | But Haskell is like C++ in that there are better things to use, but no one uses them? |
02:19 | <&McMartin> | Haskell is surprisingly practical |
02:20 | < Noah> | Is it the most widely used functional language? |
02:20 | <&McMartin> | But by that I mean "it can be used for *anything* given that it doesn't have things like, you know, assignable variables" |
02:20 | <&McMartin> | Mmm |
02:20 | <&McMartin> | Define "Most Widely Used" |
02:20 | <&McMartin> | It's the only practical pure functional language - all other practical functional languages are actually mixed |
02:20 | < Noah> | If you tell someone you're a functional language programmer, they'll assume you code in ...? |
02:21 | <&McMartin> | You can't answer that question any more than you can for "imperative" really. |
02:21 | <&McMartin> | But I'd guess Haskell, some ML dialect, or Erlang. |
02:21 | <&McMartin> | Normally they'd name the language. |
02:21 | < Rhamphoryncus> | Hrm. It's probably not fair to criticize firefox for screwing up my guest profile when I'm creating it specifically in case running firefox during the update screws up the profile |
02:21 | <&McMartin> | A lot of people seem to really like Racket, which is an extremely powerful version of Scheme. |
02:22 | <&McMartin> | Gambit-C is less powerful, but it also is a gcc-compliant C emitter. |
02:22 | <&McMartin> | And still keeps tail-recursion and first-class continuations despite emitting C, which is a very "!!!" kind of thing |
02:22 | < Noah> | Sounds like voodoo |
02:22 | <&McMartin> | I worked out what it was doing, and laughed |
02:23 | <&McMartin> | first-class continuations are kind of voodoo, though, yes~ |
02:23 | <&McMartin> | Anyway |
02:23 | | * Noah hides under his Python where programming is still fun |
02:23 | <&McMartin> | SORCERY |
02:23 | <&McMartin> | Actually, Python took a bunch of goodies from Haskell |
02:24 | <&McMartin> | Most obviously list comprehensions |
02:24 | < Noah> | I know |
02:24 | < Noah> | Where does it get generators from again? |
02:24 | < Rhamphoryncus> | McMartin: but waited until generator expressions to get them right |
02:24 | <&McMartin> | You can map generators to Haskell but they go back to assembler, really |
02:24 | < Rhamphoryncus> | (hey look, I'm arguing in favour of laziness!) |
02:24 | < Noah> | Well in Py3K aren't they synatically the same? |
02:25 | <&McMartin> | (That's because Laziness is awesome when it's awesome) |
02:25 | <&McMartin> | (It's kind of horrible when it isn't, like my map-reduce based sprite engine~) |
02:25 | < Rhamphoryncus> | yeah, they fixed the odd corner cases where listcomps and genexps differed |
02:25 | <&McMartin> | (No, really, please compute the next frame during VBlank, not while racing the beam) |
02:25 | | * Noah swats McMartin with a newspaper |
02:26 | < Noah> | Pfft, as if I buy news in print |
02:26 | <&McMartin> | ANyway |
02:26 | <&McMartin> | If you've seen Haskell, ML - both Standard and to a lesser extent OCaml - will look like a clunkier, uglier Haskell |
02:26 | | Attilla [Obsolete@Nightstar-4d709978.as43234.net] has quit [Ping timeout: 121 seconds] |
02:26 | <&McMartin> | With assignment |
02:27 | <&McMartin> | I've never actually seen any significant chunk of Erlang code, but ISTR that jerith uses it |
02:27 | <&McMartin> | I'm writing this compiler in OCaml just to have an excuse to write a big program in OCaml. |
02:27 | <&McMartin> | I've done a bit of work in Scheme but I honestly can't think of anything I'd do in Scheme instead of Python. |
02:28 | <&McMartin> | Python is functional *enough*, and it turns out that by modern functional language standards LISP isn't really all that functional at all |
02:29 | <&McMartin> | The things ML and Haskell call "Constructors" I like a whole lot, though, to the point that C code I write tends to prefer things that look like those as opposed to things that look like objects. |
02:29 | < Rhamphoryncus> | If python had true multithreading I'd probably use it as the basis for yasttc and only punt out to C/C++ for specific bottlenecks |
02:29 | <&McMartin> | Mmmmm |
02:29 | <&McMartin> | Is there any reason you can't use poll-select or Twisted or Stackless? |
02:29 | | eckse_ is now known as eckse |
02:29 | < Rhamphoryncus> | I fully intend to go multicore |
02:30 | < Rhamphoryncus> | Separated renderer, game logic, etc |
02:30 | < Noah> | Stackless is what EVE Online runs on, so if it can run a 50k peak player MMO, it should be find for you Rhamphoryncus |
02:30 | < Noah> | fine* |
02:30 | < Rhamphoryncus> | Noah: hardly |
02:30 | < Noah> | This must be an awesome game you're making then |
02:31 | < Rhamphoryncus> | I could do multiprocess, but that's a lot of extra pain and quite costly |
02:31 | < Noah> | How long until Python has "true" multithreadign you think? |
02:32 | < Rhamphoryncus> | At best.. probably a shared mmap as a heap with all the pointers localized within it, which means that heap can never reference objects from existing libs. Bleh. |
02:32 | < Rhamphoryncus> | CPython never. PyPy.. I should look into heh |
02:32 | < Rhamphoryncus> | Woo! "Please restart" stage :D |
02:33 | < Rhamphoryncus> | I'll be back in 5 minutes. Then 5 minutes after that and another 5 minutes after that as I fix critical bugs :P |
02:33 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
02:33 | < Noah> | "New in Ubuntu 14.04: Bittorrent-based upgrade downloading" |
02:34 | <&McMartin> | PyPy I hear has been growing by leaps and bounds but I too have no real idea of how far it's gotten |
02:44 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
02:45 | < Rhamphoryncus> | I decided to be ballzy and try gnome's new desktop crap |
02:45 | < Rhamphoryncus> | So far it is better than 6 months ago |
02:46 | < Rhamphoryncus> | It has workspaces now |
02:47 | <&McMartin> | Wait, I thought you said you were using Ubuntu |
02:47 | < Rhamphoryncus> | And I finally figured out firefox's tab-grouping crack. GNOME removed the ability to alt-tab between windows so firefox came up with a sort of reimplementation |
02:47 | <&McMartin> | That's Canonical's, not GNOME's. |
02:47 | <&McMartin> | Or did you disable Unity somehow? |
02:47 | < Rhamphoryncus> | I'm trying the GNOME desktop first. I used to use GNOME Classic |
02:47 | <&McMartin> | Gotcha |
02:50 | < Rhamphoryncus> | Hey, the system volume control half works again! |
02:51 | < Rhamphoryncus> | There's a region about 10% wide in the middle where it varies from quiet to loud. The other 90% has no effect except the far left which mutes |
02:54 | < Rhamphoryncus> | Totem still stupidly refused to open a second window |
02:55 | < Rhamphoryncus> | "It's a feature!" "It's fucking stupid." "It's a feature!" |
03:00 | | maoranma [maoranma@Nightstar-e7a0c7cc.pools.spcsdns.net] has joined #code |
03:02 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
03:12 | < Rhamphoryncus> | Boo. I had some semblance of the ability to organize my windows before (I could rearrange them on the task bar). Now I can't |
03:14 | < Rhamphoryncus> | ctrl-alt-up and ctrl-alt-down switch between workspaces.. |
03:28 | < Rhamphoryncus> | "The GNOME Shell is currently in active development and while many planned features are not yet implemented it is stable enough for everyday use." |
03:29 | < maoranma> | Assuming you don't want a decent WM |
03:34 | < Rhamphoryncus> | Nah, being morbid and trying it |
03:40 | | * maoranma makes a note to play some openTTD |
03:42 | <&McMartin> | Whoops. Just found a design flaw in my intermediate language. |
03:42 | <&McMartin> | Oh well, designing around it for now |
03:44 | < maoranma> | Is that a good idea? |
03:44 | <&McMartin> | It's not an immediate problem |
03:44 | <&McMartin> | Instead of never generating code that risks running afoul of the 6502's branch distance limit, it does so at every opportunity |
03:44 | <&McMartin> | For half of them (equality tests) I can do the right thing anyway |
03:45 | <&McMartin> | The others I can go and rewrite the generators later after inverting them. |
03:45 | <&McMartin> | Arguably, what I *really* should do is have the assembler catch this and emit different code if it would be a problem. |
03:54 | < Rhamphoryncus> | bizarre. Although populated both of the #gnome channels I've tried are completely dead |
03:57 | < Rhamphoryncus> | weeee stress |
03:58 | < Rhamphoryncus> | My brain does not like being helpless |
04:01 | | Noah [maoranma@Nightstar-93e1b6e0.pools.spcsdns.net] has joined #code |
04:02 | | maoranma [maoranma@Nightstar-e7a0c7cc.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
04:15 | < Rhamphoryncus> | "You can check what version of GNOME is installed on your system using the "System Information" panel of "System Settings"." DOES NOT EXIST |
04:18 | < Rhamphoryncus> | Hey, I found the ubuntu option. There's network and keyboard and appearance and such. Then there's "details" |
04:18 | < Rhamphoryncus> | Of course it only tells me the number, not the NAME that 90% of the web uses! |
04:18 | < Rhamphoryncus> | WHY NO, I'M NOT BITTER |
04:18 | < Rhamphoryncus> | okay, enough of this shit. Time to switch |
04:18 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
04:20 | | Thalass [thalass@Nightstar-392076e0.vianet.ca] has joined #code |
04:20 | < Thalass> | good evening. |
04:21 | < Thalass> | Stupid noob question: How do i get the prompt back in the command line? |
04:24 | <&McMartin> | You'll have to explain that more carefully |
04:24 | <~Vornicus> | What had you done just prior to this? |
04:25 | <~Vornicus> | if you're in the middle of a program, ctrl-c or ctrl-d might do what you need |
04:26 | < Thalass> | I started gedit (gedit ex14.py, to be precise), and rather than closing gedit each time i make an edit and save it, i thought it would be good to get the prompt back so i could execute my script. |
04:26 | <~Vornicus> | then there's the suspend and background functions but I don't remember how to hit those because I've never used them on purpose. |
04:26 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
04:26 | <~Vornicus> | Aha |
04:26 | < Thalass> | One day i'll run out of stupid noob questions to ask. |
04:27 | <~Vornicus> | Okay, so on various operating systems there's a command that's called to open processes out-of-stream from the command line. IIRC on linux that command is called "run" but I'm not sure |
04:27 | < Rhamphoryncus> | awesome. They broke the gnome classic workspaces |
04:28 | <~Vornicus> | So quit gedit and try run gedit ex14.py |
04:29 | | Vash [Vash@Nightstar-fb5b40e5.wlfrct.sbcglobal.net] has joined #code |
04:29 | | mode/#code [+o Vash] by ChanServ |
04:30 | < Thalass> | Nope, no command 'run' found. |
04:30 | | * celticminstrel is now wondering what the relevance of Novell was in the earlier conversation. |
04:30 | <~Vornicus> | maybe it's "start" instead |
04:31 | < Thalass> | huh. "start: Unknown job: gedit |
04:31 | <~Vornicus> | oh, that's the service starter, derp |
04:31 | <~Vornicus> | Uh |
04:32 | < Thalass> | derpa. Ctrl+c worked. >.< |
04:33 | < Thalass> | Wait, that exits gedit. Oh well, i can always open a new tab. :P |
04:34 | <~Vornicus> | dang it. there's a command for this! I used it! |
04:35 | <~Vornicus> | I just don't remember what it is any more! ;_; |
04:35 | <~Vornicus> | (this was rather a long time ago) |
04:37 | <&Derakon> | One of the problems of being a dev for a game with a long history: http://angband.oook.cz/forum/showpost.php?p=69044&postcount=3 |
04:37 | <~Vornicus> | Wow, um |
04:37 | <&McMartin> | "Suspend" is Ctrl-Z |
04:37 | <~Vornicus> | That guy needs to grow up |
04:38 | <&Derakon> | Yeah. |
04:38 | <~Vornicus> | Does your program get cycles when suspended? |
04:38 | <&Derakon> | I like how he thinks his attitude is somehow more important just because he's been with the community a long time. |
04:38 | <&McMartin> | No |
04:38 | <&McMartin> | You have to then run "bg" |
04:38 | <&McMartin> | If you put an & at the end of the command line it will go into background |
04:39 | <&McMartin> | Or you can start it from the desktop environment |
04:39 | <~Vornicus> | McM: ah, that's what I was looking for, yes |
04:44 | < Thalass> | oh ffs. Either Ubuntu 12.04 is broken, or my install got all screwed up. Errors and stuff every boot and now unity 2d just closed unexpectedly. |
04:46 | < Rhamphoryncus> | oh btw, I was wrong about gnome shell having improved. I was thinking of the old unity. Which hasn't improved. |
04:46 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
04:55 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client closed the connection] |
04:56 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
04:57 | < Rhamphoryncus> | that was fun. NOT. |
04:58 | < Rhamphoryncus> | Gnome has 2 different workspace schemes going and they were fighting. One of them would hide the panel and since all the shortcuts are fucked up I wasn't able to get back |
04:58 | < Rhamphoryncus> | alt-tab didn't work either. Despite apparently having 4 forms. Maybe more |
05:09 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client exited] |
05:10 | | Eri [Eri@Nightstar-3e5deec3.gv.shawcable.net] has joined #code |
05:10 | | eckse is now known as eckzzz |
05:37 | <&McMartin> | Oop, Rhamph lest |
05:37 | <&McMartin> | left |
05:38 | <&McMartin> | Or I could tell him that Alt-` is the new Alt-Tab within an application, because we must blindly copy Steve |
05:38 | < Thalass> | ... |
05:39 | < Eri> | That'll never work |
05:39 | < Eri> | That's how I change my IME |
05:39 | < Eri> | Is that what he's done in Windows 8? |
05:39 | <&McMartin> | No, it's what GNOME has done for a while. |
05:39 | <&McMartin> | Jobs, not Ballmer. |
05:40 | < Eri> | Hmm. Weird. GNOME 3? |
05:40 | <&McMartin> | Because on OS X, Command-Tab switches applications, and Command-` switches windows within one. |
05:40 | <&McMartin> | Yes. |
05:40 | <&McMartin> | GNOME is all about copying UI elements from other, better sources while completely missing the point about why they would do this or why it's appropriate in that context, but, invariably, never *their* context. |
05:40 | < Eri> | Ah, that'd be why I haven't noticed it |
05:41 | < Thalass> | Man, LXDE is looking better all the time. Unity is sluggish on this little netbook, Unity 2d is bleh. And now gnome3 has changed, man. |
05:41 | < Eri> | Yeah, I've noticed it's bad for that, sometimes |
05:41 | <&McMartin> | GNOME 3 was never good~ |
05:41 | <&McMartin> | There's a reason I only use Linux on text-only boxen these days. |
05:41 | < Eri> | I'm still on GNOME 2, I think |
05:42 | < Eri> | Seems okay to me |
05:42 | < Eri> | Don't like the taskbar, but I can't find a dock I like |
05:42 | < Thalass> | Nothing wrong with gnome 2. |
05:42 | < Eri> | All the default programs suck |
05:42 | <&McMartin> | In other news, whoops, that's not what the BIT opcode does. |
05:42 | | * McMartin fixes his code generator |
05:43 | < Eri> | And Nautilus went and disabled the gconfig option to start with two panes open, which annoys me to no end |
05:44 | < Noah> | Ooh, just had an idea for an interactive fiction game |
05:44 | < Thalass> | heh |
05:44 | | * Thalass flops bedward |
05:44 | | Thalass [thalass@Nightstar-392076e0.vianet.ca] has left #code ["Dramallama"] |
05:46 | | * Noah gets to downloading Inform and Gargoyle |
05:50 | < Noah> | Man, I begged the Gargoyle developer to add word completion and it's still not in |
05:50 | < Noah> | I'm going to pout |
05:51 | <&McMartin> | Heh |
05:51 | <&McMartin> | SUCCESS |
05:51 | | * McMartin now has a working(*) Pascal compiler targeting the Commodore 64. |
05:53 | < Noah> | (*) For unusual definitions of working. |
05:53 | < Noah> | Vorple looks interesting, have you read anything about it McMartin? |
05:56 | <&McMartin> | (*) Is missing features like "data types more complex than 16-bit integer" or "functions" |
05:57 | <&McMartin> | Vorple, no. Blorple, yes. |
05:58 | <~Vornicus> | hooray, blorple |
06:01 | < Noah> | Wow, Blorple is bad, who wrote this garbage |
06:01 | < Noah> | I jest |
06:02 | < Noah> | But no, Vorple is sort of a banch of Parchment, with extentions to Inform 7 to do special things in the browser |
06:02 | < Noah> | http://vorple-if.com/outgribe/ |
06:03 | < Noah> | I should ask, are you keeping Blorple up to date? |
06:05 | <&McMartin> | I haven't been making new things for it |
06:06 | <&McMartin> | But the Babel libraries haven't changed since, so it should still "work", more or less |
06:06 | <&McMartin> | https://hkn.eecs.berkeley.edu/~mcmartin/opc-0.1.tgz |
06:06 | < Noah> | Hmmkay |
06:07 | <&McMartin> | I haven't been making special ifiction archives for the ifcomp entries after the first couple years after noticing that literally nobody was using 'em |
06:08 | | Vash [Vash@Nightstar-fb5b40e5.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
06:10 | < Noah> | http://vorple-if.com/preview/ |
06:10 | < Noah> | The clock is clever |
06:10 | <&McMartin> | That is nice |
06:13 | < Noah> | I think full color images is a bit much, but the idea is you could put whatever you want, so some nice black and white illustrations, would be sweet |
06:16 | <&McMartin> | Well, Glulx already handles that, ofc |
06:16 | <&McMartin> | But this is, I guess, a different multimedia library interface? |
06:17 | <&McMartin> | Also |
06:17 | <&McMartin> | That is a compiler written in 530 lines of code |
06:18 | < Noah> | Yes, designed around javascript |
06:20 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
06:26 | | Kindamoody is now known as Kindamoody|afk |
06:28 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
06:43 | | Derakon is now known as Derakon[AFK] |
06:45 | | eckse [eckse@Nightstar-1c1741ed.dsl.sentex.ca] has joined #code |
06:45 | | mode/#code [+o eckse] by ChanServ |
06:48 | | eckzzz [eckse@Nightstar-39a5aea0.dsl.sentex.ca] has quit [Ping timeout: 121 seconds] |
07:02 | < Noah> | Uuuhg, no, you're right Stomach, I should've have eaten a whole half of a honeydew, but it was sooo good |
07:02 | < Noah> | shouldn't've rather |
07:02 | < Noah> | And that just made a composition instructor somewhere jolt |
07:05 | < Noah> | It's like, no matter how difficult I find openTTD to be to figure out |
07:05 | < Noah> | I still find myself drawn to playing it |
07:10 | | Kindamoody|afk is now known as Kindamoody |
07:47 | | eckse [eckse@Nightstar-1c1741ed.dsl.sentex.ca] has quit [Client closed the connection] |
07:54 | <&jerith> | I don't really use Erlang much. |
07:55 | <&jerith> | I've dabbled in the past and I'm familiar enough that I wouldn't be uncomfortable picking up an Erlang project to work on, but I'm certainly not idiomatic. |
08:26 | | Attilla [Obsolete@Nightstar-4d709978.as43234.net] has joined #code |
08:30 | | Attilla [Obsolete@Nightstar-4d709978.as43234.net] has quit [Ping timeout: 121 seconds] |
08:56 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
09:15 | | You're now known as TheWatcher |
09:39 | | Kindamoody is now known as Kindamoody|out |
10:17 | | You're now known as TheWatcher[afk] |
10:21 | | Kindamoody|out is now known as Kindamoody |
11:32 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
11:54 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
11:57 | | * Rhamphoryncus has switched to kde |
12:00 | | Attilla [Obsolete@Nightstar-4d709978.as43234.net] has joined #code |
13:12 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
13:15 | | You're now known as TheWatcher |
14:15 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has quit [Client closed the connection] |
14:20 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
15:18 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
15:34 | | Kindamoody is now known as Kindamoody|out |
16:00 | | Attilla [Obsolete@Nightstar-4d709978.as43234.net] has quit [[NS] Quit: ] |
16:10 | | Attilla [Obsolete@Nightstar-46cf3070.threembb.co.uk] has joined #code |
16:56 | | Vash [Vash@Nightstar-fb5b40e5.wlfrct.sbcglobal.net] has joined #code |
16:56 | | mode/#code [+o Vash] by ChanServ |
16:58 | | Attilla_ [Obsolete@Nightstar-4d709978.as43234.net] has joined #code |
16:59 | | Attilla [Obsolete@Nightstar-46cf3070.threembb.co.uk] has quit [Ping timeout: 121 seconds] |
17:02 | | Attilla_ [Obsolete@Nightstar-4d709978.as43234.net] has quit [Ping timeout: 121 seconds] |
17:07 | | Attilla [Obsolete@Nightstar-42d66495.threembb.co.uk] has joined #code |
17:08 | < Rhamphoryncus> | Success! I have.. a green window! |
17:08 | <@rms> | Was that the objective? |
17:09 | <@TheWatcher> | That's... environmentally conscious of you |
17:09 | < Rhamphoryncus> | It's SDL2 with opengl3.2. It compiles and runs |
17:10 | < Rhamphoryncus> | I shed tears to get this far :P |
17:11 | <@TheWatcher> | Well, yay |
17:11 | < celticminstrel> | XD |
17:11 | < Rhamphoryncus> | So now I can move on to actual programming |
17:13 | | * TheWatcher would be doing actual programming, but Classified Work Project is occupying all his braincycles, so is currently bending html, css, and javascript to his will for it. On a Sunday >.< |
17:14 | < celticminstrel> | Fun... :( |
17:14 | < Rhamphoryncus> | .. it's a sunday? |
17:14 | <@ToxicFrog> | Yes. |
17:14 | < celticminstrel> | ...yes. Yes it is. |
17:14 | < Rhamphoryncus> | Last I remember it was thursday or friday |
17:15 | < celticminstrel> | ... |
17:15 | <@TheWatcher> | That's what updating ubuntu does to you :P |
17:15 | < Rhamphoryncus> | Amusing, but it's actually the sleep disorder that did it |
17:15 | < Rhamphoryncus> | does it* |
17:15 | | * celticminstrel doesn't see how that'd do it. |
17:16 | < Rhamphoryncus> | You know how when it's light out and people are moving around you tend to wake up? And at night you get tired and go to sleep? |
17:16 | <@ToxicFrog> | You were online yesterday though |
17:17 | <@ToxicFrog> | Arguing at length about how mono is a microsoft plot |
17:17 | < Rhamphoryncus> | Yeah, but the result is I'm detached from the day/night cycle |
17:18 | < Rhamphoryncus> | Sometimes it's light out, sometimes it's dark, but it's just coincidence when I'm awake during one or the other |
17:21 | <@Tamber> | Been there; it really screws with the sense of the passage of time. ("...it's /Thursday/, already?! But it was Monday only yesterday!") |
17:23 | < Rhamphoryncus> | exactly |
17:23 | | Vash [Vash@Nightstar-fb5b40e5.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
17:28 | <@Tamber> | I wouldn't mind it so much if people didn't expect me to stick to their concept of the passage of time, and these silly "office hours" :) |
17:30 | <@rms> | It's been shown that people can be just as successfuly when doing 20 hour work-weeks. |
17:31 | | * rms would personally prefer 4 8 or 10 hour days |
17:32 | <@rms> | Since travel time is moronic and I dislike the fact I have to do it 10 times a week. |
17:34 | < Rhamphoryncus> | rms: longer days require better rest periods, but yeah, it's entirely doable |
17:34 | <@rms> | I used to have an 8/12/12/8 job |
17:34 | <@rms> | Liked it quite a bit. |
17:35 | <@rms> | Mind you, the 12-hour shifts were dead, so... |
17:36 | | * ShellNinja would prefer 8-hour workdays. |
17:36 | < ShellNinja> | With lunchtime being around 11, I get hungry again before end of work at 17:30. |
17:36 | <@rms> | Unless I move, I'm pretty much stuck with 30 minutes+ to get to and from work |
17:37 | <@rms> | So the less I have to do that, the happier I'll be. |
17:37 | < ShellNinja> | How do you get to work? |
17:38 | <@rms> | At the moment? I don't. |
17:38 | <@rms> | Previously: bus and car. |
17:39 | < ShellNinja> | Weak. :P |
17:39 | | * ShellNinja cycles to work. |
17:40 | <@rms> | Cycling is only viable for 4 months of the year here |
17:40 | <@TheWatcher> | They call people who do that "Suicyclists" in Manchester~ |
17:40 | <@rms> | We get snow. |
17:41 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Leaving] |
17:42 | < ShellNinja> | I live in Oslo. I cycled to work in winter. |
18:15 | < Rhamphoryncus> | uugh |
18:15 | < Rhamphoryncus> | It's awesome to have all the shader crap in opengl, but.. 175 lines just to draw a single triangle? uuugh |
18:18 | <@TheWatcher> | PROGRESS! |
18:26 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code |
18:42 | <@rms> | ShellNinja: With half-a-metre of snow + black ice? |
18:45 | < ShellNinja> | I did that once. In the following days, the road services reduced the conditions to something less absurd. |
19:34 | | Kindamoody|out is now known as Kindamoody[zZz] |
19:45 | < Noah> | So how do I know how much a steam engine can pull before it starts breaking down constantly? |
19:46 | < Noah> | Context: openTTD |
19:52 | < ShellNinja> | Depends on the steam engine in question. |
19:53 | < ShellNinja> | They have a power rating, IIRC. |
20:01 | < Noah> | Yea, in horsepower |
20:01 | | eckse [eckse@Nightstar-1c1741ed.dsl.sentex.ca] has joined #code |
20:01 | | mode/#code [+o eckse] by ChanServ |
20:01 | | Attilla [Obsolete@Nightstar-42d66495.threembb.co.uk] has quit [[NS] Quit: ] |
20:03 | < ShellNinja> | Check the wiki? |
20:05 | < Noah> | Yea, found a link to a post about tractive effort and a lot of math |
20:05 | < Noah> | Reading through that now |
20:15 | | ErikMesoy [Erik_Mesoy@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has joined #code |
20:25 | < Rhamphoryncus> | breakdowns have nothing to do with what it's pulling in openttd |
20:26 | < Rhamphoryncus> | It has to do with how frequently you send it for maintenance and even then you get some |
20:26 | < Rhamphoryncus> | (latest trunk has apparently changed how that works, so it's less annoying) |
20:33 | < Noah> | Oh |
20:33 | < Noah> | Well, I how often should I go for maintenance, because I had one train that went to 0% reliablity in like 3 years |
20:36 | | ErikMesoy [Erik_Mesoy@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has quit [Ping timeout: 121 seconds] |
20:37 | | ErikMesoy [Erik_Mesoy@A08927.B4421D.B81A91.464BAB] has joined #code |
20:38 | < Rhamphoryncus> | Every several months |
20:38 | < Rhamphoryncus> | But most people turn off breakdowns |
20:50 | < Rhamphoryncus> | for(size_t iLoop = 0; iLoop < shaderList.size(); iLoop++) |
20:50 | < Rhamphoryncus> | because openttd couldn't be the only ones worth bitching about |
21:00 | < Rhamphoryncus> | Haw. Lots of lines spent printing error messages if it fails to compile a shader. It doesn't stop if that happens, but it definitely prints errors |
21:11 | < Rhamphoryncus> | my god.. my green window now has a purple triangle! |
21:12 | | Stalker [Z@Nightstar-5aa18eaf.balk.dk] has joined #code |
21:30 | < Rhamphoryncus> | mmm C++11 triple-quoted raw strings :D |
21:31 | < celticminstrel> | I thought they were going to do raw strings more like PHP's heredoc syntax. |
21:32 | < celticminstrel> | Something like r"KEYWORD[put your string here]KEYWORD" |
21:32 | < Rhamphoryncus> | R"TAG(some text)TAG" |
21:33 | < Rhamphoryncus> | but the tag is pretty openended. R"""(some text)""" works just fine |
21:33 | < celticminstrel> | Which is (more or less) what I just said... oh, I see. |
21:33 | < celticminstrel> | It's parentheses then, not square brackets? |
21:33 | < Rhamphoryncus> | Yup |
21:33 | < celticminstrel> | Huh. |
21:33 | < celticminstrel> | I was sure I saw the draft saying square brackets. |
21:33 | < Rhamphoryncus> | I've no idea what the real constraints are for the tag, nor do I care. I don't see myself needing more than """( |
21:34 | < Rhamphoryncus> | changed in n3077. http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2010/n3077.html |
21:43 | | ErikMesoy is now known as ErikMesoy|sleep |
21:51 | <&McMartin> | Rhamphoryncus: Are you using any particular tutorial for your dive into the world of shaders? |
21:51 | <&McMartin> | (I ask because finally learning the damned things is #...4 on my list of side projects) |
21:52 | < Rhamphoryncus> | McMartin: I'm starting with http://www.arcsynthesis.org/gltut/index.html |
21:52 | <&McMartin> | Cool, thanks. |
21:52 | | * McMartin has the "New Testament" here, but that may already be wildly out of date. |
21:52 | < Rhamphoryncus> | That's after looking at http://www.opengl.org/wiki/Tutorial1:_Creating_a_Cross_Platform_OpenGL_3.2_Conte xt_in_SDL_%28C_/_SDL%29 and the tutorial was linked from http://www.opengl.org/wiki/Getting_started |
21:53 | < Rhamphoryncus> | Plus I'm using SDL 2.0 (aka SDL 1.3, as it's not released yet). Ended up building it myself from the hg repository |
21:53 | < Rhamphoryncus> | The SDL wiki is all SDL 2.0 stuff, whereas most of the other docs are SDL 1.2 |
21:54 | | * McMartin snickers at the intro here |
21:54 | < Rhamphoryncus> | So the wiki is the good reference document rather than googling |
21:54 | < Rhamphoryncus> | which? |
21:54 | <&McMartin> | Oh, the idea that the fixed pipeline is some kind of training wheels. |
21:54 | | * McMartin shakes his cane at this young whippersnapper |
21:54 | <&McMartin> | Back in my day they taught the fixed pipeline because it was OpenGL 1.1 and that was all we had, boy |
21:55 | <&McMartin> | Now make granpa McMartin a sandwich and get off his lawn |
21:57 | < Rhamphoryncus> | Would have been much easier if it was "chapter 1: here's the triangle and the window setup stuff, but with a fixed pipeline" "chapter 2: now we throw out the pipeline to make things more powerful" |
21:58 | <&McMartin> | Well, he is actually doing some Old Testament stuff here. |
21:58 | < Rhamphoryncus> | hmm? |
21:59 | <&McMartin> | glDrawArrays is Old Testament (though it wasn't standard until 1.2, I think) |
21:59 | <&McMartin> | Sable is made netirely of glDrawArrays tricker, and no shaders or even meaningful texture mapping beyond rendering the HUD |
22:00 | < Rhamphoryncus> | .. care to reserialize that sentence? |
22:00 | < celticminstrel> | Double typo! |
22:00 | < celticminstrel> | ^entirely, trickery? |
22:00 | <&McMartin> | Yes. |
22:00 | <&McMartin> | Thank you, celticminstrel. No caffeine yet today, should fix that. |
22:00 | < Rhamphoryncus> | ahh, good debugging celticminstrel |
22:01 | <@TheWatcher> | McM: well |
22:01 | <&McMartin> | Sable is my old final project from my graphics class. |
22:01 | <&McMartin> | https://hkn.eecs.berkeley.edu/~mcmartin/sable/ |
22:01 | <@TheWatcher> | Depends how he's calling glDrawArrays |
22:01 | <&McMartin> | Old/New Testament splits refer to the Blue Book, aka the OpenGL SuperBible. |
22:01 | <&McMartin> | TheWatcher: With GL_TRIANGLES |
22:01 | <@TheWatcher> | Is it using a vertex array, or a VBO |
22:01 | <&McMartin> | Former |
22:01 | <&McMartin> | http://www.arcsynthesis.org/gltut/Basics/Tut01%20Following%20the%20Data.html |
22:01 | | * TheWatcher nod |
22:01 | <&McMartin> | He then goes into defining a shader, though, it may just be that some of the old pipeline sticks around. |
22:02 | <@TheWatcher> | Just saying because glDrawArrays on a VBO is New Testament. |
22:02 | <&McMartin> | If shading replaces texture mapping, lighting, and vertex colors, though, that does put his initial statement of "training wheels/voodoo programming" *way* off |
22:02 | <&McMartin> | The graphics cards of the days of yore only *had* those kinds of lighting/color models. |
22:02 | < Rhamphoryncus> | glBindBuffer/glEnableVertexAttribArray/glVertexAttribPointer is old testament? |
22:03 | <&McMartin> | Rhamphoryncus: I'd have to consult Sable's code to make absolutely sure |
22:03 | | Attilla [Obsolete@Nightstar-4d709978.as43234.net] has joined #code |
22:03 | <&McMartin> | But there was glBind* going on and Sable actually used compiled vertex arrays |
22:03 | | * Rhamphoryncus nods |
22:03 | < Rhamphoryncus> | Either way you want to push the array to the videocard before using it? |
22:04 | < Rhamphoryncus> | The alternative being to push one vertex at a time? |
22:04 | <&McMartin> | You didn't come out and *say* this |
22:04 | <&McMartin> | But glCompileVertexArray strongly implied that this is what you did |
22:04 | <&McMartin> | It looks like you identified them with glVertexPointer and glNormalPoint and glTexCoordPointer, though |
22:04 | <&McMartin> | *glNormalPointer |
22:05 | < Rhamphoryncus> | glGenBuffers(1, &buf); |
22:05 | < Rhamphoryncus> | glBindBuffer(GL_ARRAY_BUFFER, buf); |
22:05 | < Rhamphoryncus> | glBufferData(GL_ARRAY_BUFFER, sizeof(vertexes), vertexes, GL_STATIC_DRAW); |
22:05 | < Rhamphoryncus> | glBindBuffer(GL_ARRAY_BUFFER, 0); |
22:05 | < Rhamphoryncus> | and yes, I did call it vertexes :P |
22:05 | <&McMartin> | Yeah, that's a little bit different |
22:06 | <&McMartin> | Here's the rendering code for Sable's library |
22:06 | <&McMartin> | http://svaf.svn.sourceforge.net/viewvc/svaf/trunk/svaf/svaflib/svaf_render.c?rev ision=2&view=markup |
22:07 | < Rhamphoryncus> | ahh okay |
22:10 | <&McMartin> | Yeah, OK |
22:10 | <&McMartin> | I'm going to have to use the SuperBible instead of this |
22:10 | <&McMartin> | This assumes I wasn't proficient ten years ago =P |
22:11 | < Noah> | Oo, found the fully load feature |
22:13 | <&McMartin> | Hm. So, vertex shaders are for dynamic geometry? |
22:13 | < gnolam> | McMartin: Diving into the world of shaders is actually easy. |
22:13 | < gnolam> | ... among other things. |
22:13 | <&McMartin> | gnolam: Yeah, my understanding is that the brave new world is, you know, better |
22:13 | < gnolam> | They are also for calculating values for your fragment shaders. |
22:13 | < gnolam> | It is. /Sort of/. |
22:14 | <&McMartin> | But if I have a book right here that is designed around teaching the new world to someone who knows the old world, thus providing valuable context for such crochety geezers |
22:15 | < gnolam> | Deprecating most of the functions in OpenGL is a good idea - it's hard to learn because there's a gazillion functions to learn, and they all share state they all modify in surprisingly subtle ways. However, the latest OpenGLs go a bit too far and remove extremely convenient stuff they could've just left in. |
22:15 | <&McMartin> | (Said to-do list, incidentally: (1) get recursive functions working in my compiler. (2) Finally finish the polish on Hex Inverter and release it. (3) Build army of tiny LEGO giant robots for Mobile Frame Zero game) |
22:16 | < gnolam> | But in general - discounting the latest excesses in removing convenience - going closer to the metal actually makes it easier. |
22:16 | <&McMartin> | This is good |
22:16 | <&McMartin> | But yeah, something that says outright "here's what the old pipeline hardcoded, here's the code that corresponds to it in the new world" would be hugely valuable to me |
22:17 | <&McMartin> | As opposed to "Imma 'ssume you've never seen a graphics card before" |
22:17 | <&McMartin> | Because fragment shaders also end up replacing texture maps, right? |
22:17 | < gnolam> | In the world of shaders, what matters is basically just your own shaders. You don't have to look at what glYouHaveToBeKiddingMe() happened to set 500 lines away. |
22:18 | < gnolam> | Well... they don't replace texture maps, but they do control how the texture maps are set. |
22:18 | <&McMartin> | I used to say that OpenGL programming was like programming a robot to go trundle off and use toggleswitches to enter you program into some mainframe on the bottom of the ocean, yeah |
22:18 | <&McMartin> | re: glYouAreShittingMe() |
22:19 | < gnolam> | Heh. |
22:20 | <&McMartin> | Right: more typos |
22:20 | <&McMartin> | This means it's time to take a break, get caffeine. |
22:21 | <&McMartin> | Hm |
22:21 | <&McMartin> | Of course, this physical book only goes up to OpenGL 2.1 |
22:21 | <&McMartin> | However, that does include both fragment and vertex shaders, so |
22:23 | <&McMartin> | Anyway, yeah |
22:23 | < gnolam> | 2.1 is Good Enough. |
22:23 | <&McMartin> | Sable is very, very Old Testament and does the closest thing I could manage to vertex shading - the actual program directly manipulated the transform matrices and kept one cached for each game object |
22:24 | < gnolam> | Although going up to, say, 3.2 is preferred since you get better guarantees for your shaders. |
22:25 | <&McMartin> | Sure |
22:25 | <&McMartin> | Well |
22:25 | <&McMartin> | The book talks about the 2.1 API |
22:25 | | * Vornicus should get a newer opengl reference |
22:26 | <&McMartin> | If I'm running Snow Leopard and/or Win7, presumably I have a much more advanced version of OpenGL actually on my systems. |
22:26 | <&McMartin> | (Iodine, the Linux machine, is too old to be able to do much with OpenGL at all.) |
22:27 | <&McMartin> | (It is an ATI Radeon XPRESS 200 integrated chip, and I don't know if it even *has* any shaders =P) |
22:28 | <&McMartin> | Oop, no, I guess it does, I see reference to support for GL_ARB_vertex_buffer_object, so |
22:28 | < gnolam> | As long as I get VBOs, FBOs and shaders, I'm happy. :) |
22:29 | <&McMartin> | GL_ARB_framebuffer_object doesn't show up until version 6.14.10.8304 of the windows drivers |
22:30 | <&McMartin> | (Source: http://feedback.wildfiregames.com/report/opengl/device/RADEON%20XPRESS%20200 ) |
22:30 | <&McMartin> | Anyway, yeah, that's the machine I'm IRCing from and it's practically headless, so. |
22:32 | < gnolam> | However: IME any sufficiently advanced shader WILL run into problems with different implementations - different MAX_WHATEVER values in the trivial case, bugs and just plain lying about capabilities (Intel, I'm looking at YOU!) if you're unlucky. |
22:33 | <&McMartin> | Don't need much advancement for that |
22:33 | <&McMartin> | UQM has several screens worth of special case code for dealing with lying Matrox cards all it's doing is rendering two triangles a frame. |
22:33 | < gnolam> | (There are very good reasons why OpenGL programmers tend to froth at the mouth at the mention of Intel. :P) |
22:34 | < Noah> | lol |
22:34 | <&McMartin> | Hmm, well |
22:35 | <&McMartin> | It looks like Astatine's card is well-supported on Linux, for some value of "well-supported" |
22:35 | <&McMartin> | It seems to go back and forth in time as to which graphics cards are and are not awful with the good drivers. |
22:41 | <&McMartin> | Anyway, Rhamphoryncus, thanks for the pointers, this looks like a good tutorial to work through once I jump through the intervening major version :) |
22:41 | <&McMartin> | Yeah, this here is the stuff |
22:42 | <&McMartin> | "Vertex Shading: Do-It-Yourself Transform, Lighting, and Texgen" |
22:42 | <&McMartin> | aka "ATTENTION, GEEZER: THESE ARE THE THINGS TO UNLEARN" |
22:43 | <&McMartin> | o_O |
22:43 | <&McMartin> | \o/ |
22:43 | <&McMartin> | \o/ |
22:43 | <&McMartin> | \o/ |
22:44 | <&McMartin> | Fraps 3.5.0 just came out, is no longer bound to the FAT32 filesize limit |
22:44 | < Noah> | o/ |
22:44 | < Noah> | \o |
22:44 | <@TheWatcher> | Heh, Emphatic Armwaving: Justified. |
22:44 | | Derakon[AFK] is now known as Derakon |
22:44 | < Noah> | We can finally record our whole 9 our raid sessions! |
22:45 | <&McMartin> | Well, you could before, too |
22:45 | <&McMartin> | But now you don't need to have MediaCoder splice the results. |
22:47 | < Rhamphoryncus> | McMartin: no problem. Just glad you can skip the pain I went through of figuring out what is what |
22:48 | < Rhamphoryncus> | gnolam: I've seen at least one library that was basically just copies of the removed helper functions |
22:48 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
22:56 | | ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code |
22:56 | | mode/#code [+o ToxicFrog] by ChanServ |
23:21 | < Rhamphoryncus> | Hrm. So any sort of procedural generation (which will be an important component of my LoD) is likely to involve vertex shaders |
23:29 | | Vash [Vash@Nightstar-fb5b40e5.wlfrct.sbcglobal.net] has joined #code |
23:29 | | mode/#code [+o Vash] by ChanServ |
23:37 | < gnolam> | Yes. |
23:37 | < gnolam> | My ocean renderer is all shaders. |
23:42 | < gnolam> | (And is all procedural.) |
--- Log closed Mon Apr 30 00:00:26 2012 |