--- Log opened Sat Apr 28 00:00:45 2012 |
00:46 | | Derakon[AFK] is now known as Derakon |
01:04 | | cpux|2 is now known as cpux |
01:05 | < Noah> | God this Microsoft Server 2008 book is dreadfully boring |
01:06 | <@Tamber> | "Microsoft Server 2008, now with added Fun." |
01:06 | < Noah> | It |
01:06 | <@Tamber> | (or should that be "!!Fun!!"? |
01:06 | <@Tamber> | ) |
01:06 | < Noah> | It's as dull as river stone, and half as intriguing. |
01:07 | | * Tamber gives Noah an IRIX server to babysit. |
01:07 | < Noah> | Sorry, I don't manage anything that's old enough to drink |
01:08 | <@Tamber> | hehe |
01:09 | < Noah> | A fact that my wife hasn't figured out yet |
01:09 | <@Tamber> | Hey, this is 6.5.18; it's nowhere near old enough to drink, yet! But it is liable to start having temper-tantrums. |
01:57 | < Noah> | Uhg, that's my server homework, now I get to make up some bullshit for my composition paper |
01:59 | | maoranma [maoranma@Nightstar-087c9ef0.tn.comcast.net] has joined #code |
02:00 | | Derakon is now known as Derakon[AFK] |
02:01 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
02:10 | | Kindamoody[zZz] is now known as Kindamoody |
02:14 | | Noah [maoranma@Nightstar-087c9ef0.tn.comcast.net] has joined #code |
02:17 | | maoranma [maoranma@Nightstar-087c9ef0.tn.comcast.net] has quit [Ping timeout: 121 seconds] |
02:17 | | maoranma [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has joined #code |
02:17 | | Attilla [Obsolete@Nightstar-416d44d2.as43234.net] has quit [Ping timeout: 121 seconds] |
02:19 | | Noah [maoranma@Nightstar-087c9ef0.tn.comcast.net] has quit [Ping timeout: 121 seconds] |
02:35 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Client closed the connection] |
02:39 | | maoranma [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
02:47 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has joined #code |
02:56 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
03:01 | | * Vornicus checks. Noah, are you Lernu Ludi on Steam? |
03:13 | | McMartin [mcmartin@Nightstar-71663c79.pltn13.sbcglobal.net] has quit [[NS] Quit: brb] |
03:17 | < Noah> | Yes |
03:18 | < Noah> | Hey, what's the difference between a truck-load of bowling balls and a truck-load of dead babies? |
03:24 | <~Vornicus> | One's a lot easier to clean up after |
03:24 | < Noah> | Close. You can't unload bowling balls with a pitchfork. |
03:32 | | McMartin [mcmartin@Nightstar-71663c79.pltn13.sbcglobal.net] has joined #code |
03:32 | | mode/#code [+ao McMartin McMartin] by ChanServ |
03:41 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
03:46 | < Noah> | Aww, McMartin missed my dead baby joke |
03:46 | <&McMartin> | Well, that's what quoting backscroll is for, sir |
03:47 | < Noah> | {22:18} <Noah> Hey, what's the difference between a truck-load of bowling balls and a truck-load of dead babies? |
03:47 | < Noah> | {22:24} <~Vornicus> One's a lot easier to clean up after |
03:47 | < Noah> | {22:24} <Noah> Close. You can't unload bowling balls with a pitchfork. |
03:47 | < Noah> | Stolen from Stephen King, who admits to stealing it from a 10 year old. |
03:47 | <&McMartin> | You just aren't good enough with the pitchfork. |
03:47 | | * McMartin gets a tine in the thumbhole, pitches a strike jai alai style. |
03:48 | <&McMartin> | I'll give you that one's *easier* to unload with a pitchfork. |
03:49 | < Noah> | Or the pitchfork needs to be reeeeeeeeeaaaaaally pointy |
03:49 | <&McMartin> | Or super-curved. |
03:50 | < Noah> | Uhg, so I'm finally done with this dumb essay about why video games have turned for the worse due to violence and gore |
03:50 | <&McMartin> | Many babies way moer than 8lb, and there are 8lb bowling balls |
03:50 | < Noah> | Which they haven't, I just wrote the paper from the POV of a paranoid who doesn't realize the people playing these games are often too full of cheetos, mountain dew, and apathy to comit any real crimes |
03:51 | <&McMartin> | My highest death count is still Master of Orion, where I'm pretty sure I've murdered a trillion sentient beings over the years. |
03:51 | <&McMartin> | SOMEHOW NOBODY COMPLAINS ABOUT THIS |
03:52 | < Noah> | I've destroyed many solar systems in Spore before |
03:52 | <&McMartin> | And what about games like Descent, where you're heroically rescuing people caught in a mining accident and never doing anything more socially unacceptable than breaking malfunctioning industrial machinery? |
03:52 | <&McMartin> | That bends them all outta shape |
03:52 | < Noah> | "Hey, I wonder if these guys can live without any atmosphere" |
03:53 | < celticminstrel> | ^weigh? |
03:53 | < Noah> | Wait, that's what Descent is about? |
03:53 | < celticminstrel> | Hm? |
03:54 | <&McMartin> | Noah: ... you've never played Descent? |
03:54 | <&McMartin> | All the enemies are berzerk mining robots in Descent, yes. |
03:54 | <&McMartin> | It rather famously had a lower Violence rating ("Damage to realistic looking objects") than LucasArts's cartoon adventures ("Rewards harming non-threatening creatures"). |
03:54 | < celticminstrel> | ...you can destroy solar systems in Spore? |
03:55 | <&McMartin> | Despite being an FPS where you shoot everything that moves. |
03:55 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has quit [Connection closed] |
03:55 | <&McMartin> | This is why they shifted to something more like movie ratings, and I suspect also why "Comic Mischief" became a new content label that *wasn't* a huge hit to your violence rating. |
03:55 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
03:56 | | Noah [maoranma@Nightstar-087c9ef0.tn.comcast.net] has joined #code |
03:56 | | maoranma [maoranma@Nightstar-087c9ef0.tn.comcast.net] has joined #code |
03:56 | < maoranma> | Phone shut off randomly |
03:56 | < maoranma> | Wait, that's what Descent is about? |
03:59 | <~Vornicus> | Descent: mining and security robots have gone berzerk, imprisoning human miners and bending the in-mine factories to their own purposes. Your job is to go in, rescue the miners, and turn off the factories by destroying the reactors. |
04:00 | | Noah [maoranma@Nightstar-087c9ef0.tn.comcast.net] has quit [Ping timeout: 121 seconds] |
04:00 | <~Vornicus> | problems? |
04:01 | | Rhamphoryncus [rhamph@Nightstar-5697f7e2.abhsia.telus.net] has joined #code |
04:04 | | * Vash adds the tolololol face next to vorn's last message. Because that's what popped in her head. |
04:09 | < maoranma> | Trololo lololo lolololo |
04:10 | | maoranma [maoranma@Nightstar-087c9ef0.tn.comcast.net] has quit [[NS] Quit: ] |
04:11 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has joined #code |
04:13 | | maoranma [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has joined #code |
04:13 | < maoranma> | God damn phone |
04:14 | < Eri> | Who was phone? |
04:15 | | Noah [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has quit [Ping timeout: 121 seconds] |
05:15 | | maoranma [maoranma@Nightstar-925b45fd.pools.spcsdns.net] has quit [[NS] Quit: ] |
05:24 | | Vash [Vash@Nightstar-fb5b40e5.wlfrct.sbcglobal.net] has quit [[NS] Quit: I lovecraft Vorn!] |
05:49 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has quit [[NS] Quit: Well, most things get better when I kick them!] |
06:35 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
06:36 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
07:32 | | eckse [eckse@Nightstar-6e6a7b39.dsl.sentex.ca] has quit [Client closed the connection] |
09:18 | | * Rhamphoryncus contemplates writing yasttc in javascript and webgl ;) |
09:24 | | Kindamoody is now known as Kindamoody|out |
09:41 | < ShellNinja> | Is there any particular reason why Fraps won't take screenshots at all? |
09:42 | < ShellNinja> | It's aggravating. It installs and runs okay, all versions that I've tried, but consistently fails to do anything when I press the screenshot button I set. |
09:42 | < ShellNinja> | This is WinXPSP3. |
09:47 | < ShellNinja> | I need something that can take screenshots every X seconds, because I'm quite aggravated trying to get a good game going as Byzantium in EU3. |
09:47 | <&McMartin> | Do you get the FPS counter? |
09:47 | < ShellNinja> | Where would I get it? |
09:47 | <&McMartin> | It should be appearing in one of the corners by default unless you went out of your way to turn it off |
09:48 | <&McMartin> | EU3 you say, though |
09:48 | <&McMartin> | I'm on Win7, but I have FRAPS; let me try it out and see what I get |
09:48 | < ShellNinja> | I do not get any FPS counters. |
09:48 | <&McMartin> | OK, I see a "repeat screen capture every X seconds" option under "Screenshots" |
09:49 | <&McMartin> | Testing first in BTR, which I know works with FRAPS |
09:50 | < ShellNinja> | There aren't any FPS counters on my screen, yet Fraps is running. |
09:51 | < ShellNinja> | BBS, need to repair my bike. |
09:59 | <&McMartin> | OK, so, in order to get an FPS counter, you have to go to the "FPS" screen and select an overlay corner, it looks like. |
10:00 | <&McMartin> | Repeated screenshot is working for me on BTR; gonna try it now on EU3. |
10:12 | <&McMartin> | I have successfully done this by hitting F10 once in EU3. |
10:12 | <&McMartin> | The FPS overlay pulses once every ten seconds. |
10:12 | <&McMartin> | Make sure your screen capture hotkey isn't disabled |
10:13 | <&McMartin> | If you can't make the overlay show up, XPSP3 might be somehow failing to let FRAPS get at the EU3 window (???) |
10:14 | <&McMartin> | But it works on Win7 |
10:14 | <&McMartin> | (HttT, though I doubt strongly the version of EU3 matters) |
10:25 | < gnolam> | http://stackoverflow.com/questions/4456438/how-can-i-pass-the-string-null-throug h-wsdl-soap-from-as3-to-coldfusion-web |
10:33 | < ShellNinja> | I can't take ANY screenshots, nevermind EU3. |
10:34 | < ShellNinja> | I have selected an overlay corner. I checked the FPS box. |
10:34 | < ShellNinja> | Fraps seems to do SOMETHING when I hit the button, since it creates an otherwise non-existent screenshot folder. |
10:36 | < ShellNinja> | Are there any other applications that allow something like I need? |
10:41 | <&McMartin> | Hm. |
10:41 | <&McMartin> | FRAPS and/or the steam overlay has always worked for me, so I haven't looked too far afield. |
10:41 | <&McMartin> | Steam overlay won't help you here because you want autorepeat. |
10:41 | <&McMartin> | I don't suppose FRAPS is looking for Aero? |
10:42 | < ShellNinja> | I have no idea. |
10:42 | <&McMartin> | That's on the leftmost tab in my version |
10:42 | <&McMartin> | "Watch Aero desktop" |
10:42 | <&McMartin> | I have it checked |
10:42 | <&McMartin> | I'm guessing you probably shouldn't, since XP doesn't *have* aero. |
10:44 | < ShellNinja> | I have nothing like this. |
10:44 | <&McMartin> | Mmm. |
10:45 | <&McMartin> | I find this mysterious |
10:45 | <@TheWatcher> | ShellNinja: have you rebooted since you installed fraps? |
10:45 | <@TheWatcher> | I'm wondering if it can't insert its hooks... |
10:49 | < ShellNinja> | I have not. |
10:49 | < ShellNinja> | Doing so now! |
10:50 | <&McMartin> | Ooh, that's a good thought |
10:54 | < ShellNinja> | Rebooting once deleted the executable. Reinstalling, no change. |
10:54 | < ShellNinja> | Rebooting a second time, executable still there, no change otherwise. |
10:55 | <@TheWatcher> | .... deleted the, wha |
10:55 | <&McMartin> | ... do you have an extremely agressive antivirus program? |
10:55 | < ShellNinja> | I have no AV software installed. |
10:56 | | Attilla [Obsolete@Nightstar-416d44d2.as43234.net] has joined #code |
10:56 | <@TheWatcher> | I'm out, that's more weirdness than I can handle before a second mug of tea. |
10:57 | < ShellNinja> | Well, thanks for the help, guys. I will try more later. |
11:01 | | * TheWatcher eyes some of this CSS he is blantantly ripping off (hey, it's gpled both ways, so it's all good...), really wonders about some of this stuff... like sticking `outline: none` on things that could never have had it set. Suspects either browser-fuckery, or paranoia. |
11:24 | <&McMartin> | Woo |
11:24 | <&McMartin> | Intraprocedural compilation now works completely to my spec |
11:24 | <@TheWatcher> | \o/ |
11:24 | <&McMartin> | Next: Quad-to-Assembler translator, and then I have runnable programs |
11:41 | <@Tamber> | TW: Considering the difference between how things are /supposed/ to behave, and how they actually /do/, can you really blame them for paranoia? |
11:42 | <@TheWatcher> | No ;.; |
11:43 | | You're now known as TheWatcher[afl] |
11:43 | | You're now known as TheWatcher[afk] |
11:43 | <@TheWatcher[afk]> | Time to go attack pieces of wood with sharp implements, yes. |
11:45 | <&McMartin> | omg hax |
13:25 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
13:59 | | Attilla_ [Obsolete@Nightstar-416d44d2.as43234.net] has joined #code |
14:00 | | Attilla [Obsolete@Nightstar-416d44d2.as43234.net] has quit [Ping timeout: 121 seconds] |
14:03 | | Attilla [Obsolete@Nightstar-416d44d2.as43234.net] has joined #code |
14:04 | | Attilla_ [Obsolete@Nightstar-416d44d2.as43234.net] has quit [Ping timeout: 121 seconds] |
14:49 | | Kindamoody|out is now known as Kindamoody |
14:57 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [[NS] Quit: Rebooting] |
15:05 | | Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code |
15:36 | | You're now known as TheWatcher |
16:05 | | celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code |
16:12 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Ping timeout: 121 seconds] |
16:18 | | Syloq_Home [Syloq@NetworkAdministrator.Nightstar.Net] has joined #code |
16:55 | | cpux [cpux@Nightstar-c5874a39.dyn.optonline.net] has joined #code |
16:56 | | Attilla_ [Obsolete@Nightstar-4d709978.as43234.net] has joined #code |
16:56 | | Attilla [Obsolete@Nightstar-416d44d2.as43234.net] has quit [Ping timeout: 121 seconds] |
16:57 | | Attilla_ is now known as Attilla |
18:42 | | AnnoDomini [annodomini@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has joined #code |
18:42 | | mode/#code [+o AnnoDomini] by ChanServ |
18:44 | | rms is now known as Anna |
18:45 | < Rhamphoryncus> | "Warning: I have modified the directory structure of my SDL headers, which means all my tutorials are weird. Oddly, this has caused a lot of confusion.." |
18:49 | <@Anna> | Last sentence is win |
18:50 | <@Anna> | L2-I |
18:50 | <@Anna> | Srsly. |
18:53 | < Rhamphoryncus> | That's me slightly paraphrasing |
18:53 | < Rhamphoryncus> | http://www.sdltutorials.com/sdl-tutorial-basics |
18:58 | < Rhamphoryncus> | It recommends starting out with 6 files |
19:01 | < Rhamphoryncus> | My version is a single file of 30 lines. Including a couple couts and several blank lines |
19:01 | | AnnoDomini is now known as Jasever |
19:02 | < Rhamphoryncus> | Fortunately I have played with SDL before, I just needed something to jog my memory |
19:09 | < Rhamphoryncus> | Hrm. SDL itself recommends #include "SDL.h" as the most portable |
19:16 | <@ToxicFrog> | Yes. The idea is that you then compile with $(pkg-config --cflags sdl) or your local equivalent, and it will automatically emit -I/usr/include/SDL1.2 or similar as needed. |
19:17 | < Rhamphoryncus> | afaik "" vs <> is pretty meaningless. It's a historical artifact meant to make it easier for compilers to bake in headers rather than having actual files. Of course it's trivial to do that regardless |
19:17 | < Rhamphoryncus> | And SDL itself is neither part of my project nor truly part of the system, so it doesn't fit in either |
19:18 | < Rhamphoryncus> | Hum. Both <SDL.h> and <SDL/SDL.h> work fine |
19:18 | < Rhamphoryncus> | What I really wonder is if there is a C++ API or if the claim on the SDL homepage is just marketing BS for "You can use the C API, it works fine" |
19:21 | <@ToxicFrog> | Beats me, I don't do C++ |
19:23 | < Rhamphoryncus> | I'm picking it as a pragmatic choice |
19:24 | < Rhamphoryncus> | It seems mature enough to be a decent choice over C now |
19:26 | <@ToxicFrog> | I contend that, with the exception of certain fairly narrow problem domains, there is almost no reason to use C++. |
19:26 | < Rhamphoryncus> | vs C? |
19:26 | <@ToxicFrog> | At all. |
19:27 | <@ToxicFrog> | It's mature enough that the tool ecosystem for it now actually works etc, but there's no shortage of equally mature HLLs. |
19:28 | < Rhamphoryncus> | Okay, let's start over here. My main contenders are C and C++. I like python but obviously it doesn't cover the low-level aspects I need and can't be used across multiple threads. (yes, I KNOW it runs, but it doesn't scale.) |
19:28 | <@ToxicFrog> | C++ occupies a narrow, awkward niche where you're working on stuff large enough that C++'s added complexity actually gives you some benefit, but performance-constrained enough that you can't just move to a JITted HLL, but at the same time not so performance-constrained that you need viciously optimized C with a custom libc. |
19:29 | <@ToxicFrog> | Which as far as I can tell means kernels and physics middleware. |
19:30 | <@ToxicFrog> | ...what low-level features do you need? What are you writing? |
19:30 | < Rhamphoryncus> | I'm going to look at lua and squirrel for plugin/scripting stuff later, which means I'm already at two options. A third is a possibility, but my favourite HLL is python, which I already ruled out.. |
19:30 | < Rhamphoryncus> | This is my yasttc |
19:31 | < Rhamphoryncus> | (yet another stupid transport tycoon clone, if you weren't here for that) |
19:31 | <@ToxicFrog> | Aah |
19:32 | <@Kindamoody> | Don't tell me there's a language called squirrel? o.o |
19:32 | < Rhamphoryncus> | Kindamoody: yup. Aimed at embedding in games, just like lua |
19:32 | <@Kindamoody> | Jeez, another thing that'll highlight me. :| |
19:33 | < Rhamphoryncus> | Doh. Well, I'm not intending to use it any time soon |
19:33 | | * Kindamoody has "squirrel" on her highlight list, and gets "dinged" a lot. :P |
19:33 | <@ToxicFrog> | Kindamoody: yep, it's basically Lua for people who insist on {}-delimited blocks + better intrinsic OO support |
19:34 | < Rhamphoryncus> | All I get dinged for is adam&eve or adam sandler. Occasionally adam smith or dino. |
19:34 | <@Kindamoody> | Hehe, thanks for the info anyway. |
19:34 | <@Kindamoody> | And good night. :) |
19:34 | < Rhamphoryncus> | cya |
19:34 | | Kindamoody is now known as Kindamoody[zZz] |
19:35 | < Rhamphoryncus> | ToxicFrog: Do you have a specific language to suggest to be my third, one that's a HLL? |
19:35 | <@TheWatcher> | Perl~ |
19:36 | < Rhamphoryncus> | Hrm. I'm out of peanuts |
19:36 | | * Rhamphoryncus throws the bottle at TheWatcher |
19:36 | <@ToxicFrog> | Rhamphoryncus: what do you mean by "a third"? |
19:37 | <@TheWatcher> | Awwgh >.< |
19:37 | < Rhamphoryncus> | A low-level language, a high-level language, and a sandboxed plugin language |
19:37 | <@ToxicFrog> | Why would you need both a LLL and a HLL? |
19:38 | < Rhamphoryncus> | The same reason I'd plan to use C with Python. It's there if I need it. |
19:38 | < Rhamphoryncus> | The game will be performance limited, so I need that option |
19:39 | <@TheWatcher> | .... |
19:39 | <@ToxicFrog> | Personally, my instinct would be to prototype in love2d+luajit and then rewrite bottlenecks in C (if necessary) for 2d stuff, and look at something like OGRE or Irrlicht with the C#, Lua, or even Scala bindings for 3d stuff |
19:39 | <@ToxicFrog> | If I went insane and decided to do 3d stuff~ |
19:40 | < Rhamphoryncus> | I am doing 3d |
19:41 | <@ToxicFrog> | Ok, in that case my best advice, independent of whatever language you end up using, is that rolling your own 3d engine from scratch is so not worth it |
19:41 | < Rhamphoryncus> | That's half the fun :P |
19:41 | < Rhamphoryncus> | I'm pretty sure I can't do most of my ideas without it |
19:42 | | * TheWatcher eehs, sees both sides, really. |
19:44 | < Rhamphoryncus> | If it was a shooter I'd be much more torn. I'm familiar with how much work goes into something like nexuiz, even if I was more interested in experimenting with the engine |
19:44 | < Rhamphoryncus> | For this.. I've never seen an engine look like what's in my head |
19:44 | <@TheWatcher> | Rolling your own can be a lot of work, but it is a good learning experience if you're interested in how it all works. Using things like OGRE, Irrlicht, Crystal Space and so on saves you worrying about some stuff, but then you end up working within the constraints and framework they impose, which may either a) not work in your head, or b) actually mean almost as much work to make it do what you want as just writing it from scratch |
19:46 | | * Rhamphoryncus takes a peek at ogre |
19:51 | < Rhamphoryncus> | It sounds like ogre wants me to provide a scene and it figures out how to render it |
19:53 | < Rhamphoryncus> | There's no way the LoD system it provides would work for me. In fact I'm determined to make it not work ;) |
19:53 | <@ToxicFrog> | er |
19:53 | < Rhamphoryncus> | If at the lowest detail level it's reasonable to have 10 million objects and 30 is stressing it then I want the game to use 500 million |
19:54 | < Rhamphoryncus> | Most of which may be generated on the fly, but they're not simply parts of a larger object. They're distinct |
19:55 | < Rhamphoryncus> | Of course I can do my own LoD with ogre anyway, but then I'm not full utilizing it |
19:55 | < Rhamphoryncus> | And.. I really want to poke at low-level opengl crud |
19:57 | <@ToxicFrog> | Ok, so this is less a "let's make a game" project and more a "let's design a new type of 3d engine" project |
19:58 | < Rhamphoryncus> | yes, definitely |
20:23 | < Rhamphoryncus> | Urgh. Not finding a backport of SDL 1.3 to the last version of ubuntu. Probably have to do the update now :( |
20:35 | <&jerith> | Rhamphoryncus: Backport it? |
20:35 | <&jerith> | Grab the source package from an earlier Ubuntu and shove it into a PPA. |
20:36 | < Rhamphoryncus> | New version of ubuntu came out in the last few days. I just wanted to be lazy |
20:36 | <&jerith> | The first time I did that was with Erlang, and it took all of half an hour. |
20:37 | < Rhamphoryncus> | I've told it to start downloading. I'm going to bugger off while it does |
20:38 | <@Anna> | Expecting a Debian-based system to have the latest stuff is like expecting IE to be useful for anything other than getting a web browser. |
20:38 | <@Anna> | Sometimes sanity creeps in and you get what you expect. |
20:39 | <&jerith> | Anna: Debain-based systems usually have recent stuff. |
20:39 | <@Anna> | On release day maybe. |
20:39 | <@Anna> | A month later they don't. |
20:40 | <&jerith> | They tend not to live on the bleeding edge unless you explicitly pull in other repos. |
20:40 | <&jerith> | Because stability. |
20:41 | <&jerith> | Anna: Are you a Gentooer, perchance? ;-) |
20:44 | <@Jasever> | Debain! |
20:44 | <@Anna> | No. |
20:44 | <@Anna> | Arch, but looking for something else because they keep making pacman horrible. |
20:44 | <&jerith> | Ah, Arch. |
20:45 | <&jerith> | The distro that decided to point "python" to "python3" and break everything. |
20:48 | <@Anna> | Only issue I've seen is node.js' build stuff being broken |
20:48 | <@Anna> | But that's trivial |
21:09 | | Derakon[AFK] is now known as Derakon |
22:11 | | eckse [eckse@Nightstar-6e6a7b39.dsl.sentex.ca] has joined #code |
22:11 | | mode/#code [+o eckse] by ChanServ |
22:39 | < Rhamphoryncus> | If this ubuntu doesn't fix some of the serious fuckup then the only thing stopping me from switching will be laziness |
22:45 | | * McMartin reads backscroll |
22:46 | <&McMartin> | You have to do some linker trickery to mix C and C++ |
22:46 | <&McMartin> | IIRC, SDL already does this so you can transparently deploy SDL code in C++ code as if the C++ were C. |
22:47 | <&McMartin> | "C++ wrappers" for SDL invariably are just things that define classes that are full of one-line methods calling an SDL function and using "this" as one of their arguments |
22:47 | <&McMartin> | The only real gain you get from this is that you can put SDL_FreeWhatever int he destructor and have the stack update mechanism take care of any leaks. |
22:47 | <@Anna> | What. |
22:48 | <&McMartin> | This is actually a big enough deal that, contra ToxicFrog, C++ remains valuable in places C would otherwise be indicated. |
22:48 | <@Anna> | Alright the last two things you said were sane. |
22:49 | <&McMartin> | It may be necessary to wrap your #include <SDL.h> and friends in a declaration marking it as C code like so: |
22:49 | <&McMartin> | extern "C" { |
22:49 | <@Anna> | Yes |
22:49 | <&McMartin> | #include "SDL.h" |
22:49 | <&McMartin> | #include "SDL_whatever.h" |
22:49 | <&McMartin> | } |
22:49 | <@Anna> | Most libraries have that anyways. |
22:49 | <&McMartin> | Yeah |
22:50 | <@TheWatcher> | SDL headers already do that for you. Been using SDL from c++ for yonks, no problems. |
22:50 | <&McMartin> | Yeah, OK then. |
22:50 | <&McMartin> | In this case, "C++ bindings for SDL" is "you don't need any" |
22:51 | <&McMartin> | And, IME, things advertised as such are someone's homework assignment and often don't do a good job of handling it beyond RAII, if they even get that right. |
22:52 | <&McMartin> | Ordinarily I would say "what you want to do here is write your own backend library in C++, and have it happen to use SDL in its internals, and then the game part just needs to ignore the implementation details" |
22:52 | <&McMartin> | Which is fine, as far as it goes. |
22:53 | <&McMartin> | However, I have learned to my cost that one of the things C++ is *awful* at is libraries. The C++ ABI is uniquely unstable across compilation environments. |
22:53 | <&McMartin> | If you plan on writing a C++ library, putting some thought into a clean and usable C interface *to* the C++ library (often using int_ptr_ts as handles to library objects) is wise. |
22:54 | <&McMartin> | Because otherwise, not only will other languages not be able to embed you... |
22:54 | <&McMartin> | ... binaries compiled with different compiler options (to say nothing of other *actual compilers*) will be unable to link against you, even as a DLL. |
22:56 | <&McMartin> | But yes, I will differ slightly from TF, even though I once agreed with him fully. |
22:56 | <&McMartin> | Once you've decided "OK, I need to use C for this", you do then ask "is this one of those places where C++ will actually be useful and I should use that?" |
22:56 | <&McMartin> | Note that if "I need to use C for this" is "no", C++ is also pretty much never the answer~ |
22:57 | <&McMartin> | The thing is, two of the things that make C++ "I should use this instead of C" are: |
22:57 | <&McMartin> | Hm. Three of the things. |
22:57 | <&McMartin> | (1) Do I use nonconstant strings, ever |
22:58 | <&McMartin> | (2) Do I use dynamically-sized arrays, ever (arguably: "do I use any kind of array or list-like collection, ever) |
22:58 | <&McMartin> | (3) Do I have any resource that requires "paired methods" - that is, if f(a) is called at some point (or f(...) is called, returning a), do I need to call g(a) later in the program for correct operation. |
22:59 | | * TheWatcher does vaguely note at this juncture that 1 and 2 essentialy encompass pretty much the entire set of useful non-trivial programs~ |
22:59 | <&McMartin> | Note that in many programming styles, (3) includes "do I use heap-allocated objects". |
23:00 | <&McMartin> | The thing is, often the things you need C for are trivial but aggravating |
23:07 | | Jasever is now known as AnnoDomini |
23:10 | | Anna is now known as rms |
23:10 | < Rhamphoryncus> | McMartin: yeah. "trivial but aggravating" sums up the whole language |
23:11 | <&McMartin> | As well as its best applications~ |
23:11 | < Rhamphoryncus> | heh |
23:11 | | * TheWatcher actually quite likes C, but then he likes Perl, so he's obviously beyond help |
23:11 | <@TheWatcher> | (M'actually teaching a C course at the moment, in fact) |
23:12 | <&McMartin> | C is an important language *to know* |
23:13 | <&McMartin> | I'm drawing a sharp distinction between "using C with C++ extensions" and "using C++ idiomatically" |
23:13 | <&McMartin> | For the latter, TF's judgement stands in full force |
23:13 | <&McMartin> | (That niche is basically "system-native GUI programs that talk with the window manager at the lowest level") |
23:14 | < Rhamphoryncus> | A native C++ API would be a little cleaner than C, mostly due to namespacing (SDL::CreateWindow vs SDL_CreateWindow and such), but it's pretty minor. Mostly I was just mislead by their claim of having a C++ interface, so I had to spend time searching around to find out what was really meant |
23:18 | < Rhamphoryncus> | I agree with designing your library to have a C interface. Even without the ABI issues it's a simpler to build language bindings on |
23:19 | < Rhamphoryncus> | But C++ for an app? I don't get the argument against that |
23:20 | | AnnoDomini [annodomini@Nightstar-bd2f5f93.80-203-16.nextgentel.com] has quit [[NS] Quit: To sleep!] |
23:27 | <&McMartin> | Mainly "You should be using some less compromised language instead" |
23:29 | < Rhamphoryncus> | Looking for a better option than C++ is fine. Claiming C++ is worse than C makes no sense |
23:29 | < Rhamphoryncus> | But I don't like any of TF's suggestions anyway |
23:30 | <&McMartin> | My biggest complaint about C and C++ is that some of their design decisions get taken by developers as laws of nature because it's what everything's implemented in |
23:30 | <&McMartin> | I still haven't forgiven C for "for" loops. |
23:31 | < Rhamphoryncus> | heh. Don't worry, you can expect to see me rant plenty about basic stuff like that in C++ ;) |
23:31 | <&McMartin> | Well, C++ has the excuse of its two "terrible" design decisions~ |
23:31 | < Rhamphoryncus> | A powerful iterator API is just fine when you need it. 90% of the time you don't. |
23:31 | <&McMartin> | C++11 fixes that, more or less |
23:32 | < Rhamphoryncus> | I recall seeing something, yeah |
23:32 | <&McMartin> | auto, basically |
23:32 | <&McMartin> | Which it snuck out of C#, more or less~ |
23:33 | < Rhamphoryncus> | It's probably full of wtf too, but whatever. I'm trying to be pragmatic :) |
23:33 | <&McMartin> | auto is limited type inference for variable declarations |
23:33 | <&McMartin> | Which takes a lot of the sting out of namespaces generally and iterator declarations specifically |
23:33 | | * Rhamphoryncus nods |
23:34 | | * McMartin is very pro-type inference. >_> |
23:34 | < Rhamphoryncus> | Yeah, so am I, even though I haven't used it much |
23:34 | < Rhamphoryncus> | Don't waste the programmer's time on irrelevant crap |
23:35 | | eckse [eckse@Nightstar-6e6a7b39.dsl.sentex.ca] has quit [Client closed the connection] |
23:35 | <&McMartin> | Well, specifically, I tend to prefer type inference to dynamic typing. |
23:37 | | eckse [eckse@Nightstar-6e6a7b39.dsl.sentex.ca] has joined #code |
23:37 | | mode/#code [+o eckse] by ChanServ |
23:37 | < Rhamphoryncus> | Python convinced me of the value of not plastering type declarations everywhere, but now I'm shifting back towards static type and type inferencing is the obvious best of both |
23:37 | <&McMartin> | Hi five |
23:38 | | * McMartin has been OCaml'ing lately |
23:38 | <&McMartin> | Which has made me miss Python's batteries included |
23:39 | < Rhamphoryncus> | Another good reason to use C++ |
23:39 | <@ToxicFrog> | <Rhamphoryncus> But C++ for an app? I don't get the argument against that |
23:40 | <@ToxicFrog> | My argument there is that there is no shortage whatsoever of languages that have a much better complexity:expressiveness tradeoff, in whatever paradigm you prefer, while also being easier to deploy and harder to compromise. |
23:41 | < Rhamphoryncus> | Well, there's various sorts of functional languages.. but I don't like functional languages |
23:43 | < Rhamphoryncus> | I don't see any better options, that's why I've picked C++ |
23:43 | <@ToxicFrog> | Um |
23:43 | <@TheWatcher> | Rhamphoryncus: so program it in scheme. |
23:43 | <@ToxicFrog> | There's a reason I said "in whatever paradigm you prefer" and didn't tack on "...provided that what you prefer is functional programming" |
23:43 | <@ToxicFrog> | Unless by "functional languages" you mean "any language that supports FP, even if it doesn't require it" |
23:44 | <@TheWatcher> | Oh, wait, misread, ignore me. |
23:44 | <@ToxicFrog> | In which case you have basically ruled out every modern language. |
23:44 | <@ToxicFrog> | But seriously, even if your preferred programming style is C++oid, you've got C#, Java, and Scala at least. |
23:45 | <&McMartin> | Precise destructors alone are a sufficient reason to pick C++ over Java. |
23:46 | <&McMartin> | I keep having terrible luck with making Scala programs actually scale -_- |
23:46 | <&McMartin> | (Granted, automatic memory management alone is a reason to pick Java over C++) |
23:46 | < Rhamphoryncus> | I've got good enough understanding of GC that I'm not worried about doing that in Java. And that I think C++ is pretty crude |
23:47 | < Rhamphoryncus> | C# I'm not touching because of MS |
23:47 | <@ToxicFrog> | C# has had good open-source implementations for years now, dude |
23:47 | <&McMartin> | But #3 on my list above (manual cleanup required of some resources) is one of the few places where C++ blows the pants off of Java in terms of both elegance and ease of getting it right. |
23:48 | <@ToxicFrog> | McMartin: true; OTOH GC'd languages greatly reduce the frequency with which that's something you need to worry about at all. |
23:48 | <&McMartin> | (C# fixes this with IDisposable; Scala may have some clean notion of autodeployable unwind-protect) |
23:48 | <&McMartin> | TF: Mmm. That has not been my experience, because these things include: file handles; database connections; network connections |
23:49 | < Rhamphoryncus> | I can't remember what scala looks like (and I'm updating ubuntu so I don't want to run firefox right now), but mentally I have it lumped in with functional languages |
23:49 | <&McMartin> | Java programs taht do a lot of those often have resource exhaustion problems because someone forgot a try-finally block around their DB connection. |
23:49 | <&McMartin> | Scala is nominally multiparadigm, so it's only slightly more functional than Python is |
23:49 | < Rhamphoryncus> | ToxicFrog: don't care, I don't trust them and I don't want anything to do with them |
23:49 | <@ToxicFrog> | McMartin: right, what I'm saying is that in my experience those account for 10% of the resources I'm manually managing and the remaining 90% are free() |
23:49 | <@ToxicFrog> | Rhamphoryncus: why not? |
23:50 | <@ToxicFrog> | And yeah, Scala supports (arguably encourages, with val and the Collections library) functional programming but does not require it |
23:50 | < Rhamphoryncus> | Why wouldn't I want to use something controlled by MS? |
23:50 | <&McMartin> | Rhamphoryncus: Unless it's Novell you don't trust, this is also an argument to not use C++ or C. |
23:50 | <&McMartin> | TF's point is it isn't controlled by MS, because there are independent implementations of the language and libraries. |
23:50 | < Rhamphoryncus> | Implementations but not specs and patents |
23:51 | < Rhamphoryncus> | and API copyrights, depending on the mood of the courts and legislature :P |
23:51 | <&McMartin> | That's a stronger argument for not using *Java*, not C#~ |
23:51 | < Rhamphoryncus> | Not too fond of java either |
23:51 | <@TheWatcher> | Indeed; Oracle have actually exercised that one, Microsoft haven't. |
23:52 | < Rhamphoryncus> | MS hasn't exercised it with C#. Every other aspect of business though? |
23:53 | <@TheWatcher> | Frankly, these days I'm far less suspicious of Microsoft, they do actually seem to be trying. |
23:54 | <&McMartin> | Also, AIUI, Novell doesn't replicate the bits that are patent-encumbered. |
23:54 | <@ToxicFrog> | Actually, C# is an ISO/EMCA standard which MS is legally incapable of patenting |
23:54 | <&McMartin> | WPF is the bit with encumbrance, IIRC. |
23:54 | <@ToxicFrog> | they can patent parts of the library implementation, but those parts aren't included in mono, so |
23:54 | <&McMartin> | (ECMA) |
23:54 | <@ToxicFrog> | (thank you) |
23:54 | <&McMartin> | TheWatcher: MS learned long ago that if you try to initiate action against people using your technology your technology gets abandoned =P |
23:55 | < Rhamphoryncus> | MS.. seems to be trying? Yeah, no, hell hasn't frozen over yet. Maybe they've moderated a bit, but they're still not to be trusted |
23:55 | <&McMartin> | After, uh, convincing Borland to self-destruct in exactly this way and headhunting all their compiler devs. |
23:56 | <&McMartin> | Rhamphoryncus: The issue here is that here your distrust is at a level of engagement where you can't touch anything they've ever contributed to. |
23:56 | <&McMartin> | And that includes, well, a lot. |
23:57 | <@TheWatcher> | Yeah, you want to use OpenGL? Best not, they're on the ARB. |
23:58 | < Rhamphoryncus> | McMartin: it gives me a bias against them. Obviously I can't avoid them completely |
23:59 | < Rhamphoryncus> | All other things being equal I'd chose something they have less control over |
--- Log closed Sun Apr 29 00:00:02 2012 |