--- Log opened Tue Aug 06 00:00:11 2013 |
00:30 | | You're now known as TheWatcher[T-2] |
00:36 | | You're now known as TheWatcher[zZzZ] |
00:47 | | Derakon[AFK] is now known as Derakon |
00:58 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
01:06 | | Derakon is now known as Derakon[AFK] |
01:30 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
01:34 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
02:01 | | Derakon[AFK] is now known as Derakon |
02:32 | | Vorntastic [Vorn@Nightstar-ea333474.sub-70-211-3.myvzw.com] has joined #code |
02:57 | | ktemkin is now known as ktemkin[awol] |
03:00 | | Kindamoody[zZz] is now known as Kindamoody |
03:04 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:49 | < Azash> | McMartin: https://www.youtube.com/watch?v=XCO1I3zSwps#t=24s |
03:57 | < [R]> | http://xiennith.com:81/game.html <-- Woo! Almost playable. Thanks for your help McM |
04:07 | | Kindamoody is now known as Kindamoody[zZz] |
04:23 | | Vornlicious [Vorn@Nightstar-221158c7.sd.cox.net] has joined #code |
04:23 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
04:23 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
04:25 | | Vornlicious [Vorn@Nightstar-221158c7.sd.cox.net] has quit [[NS] Quit: Bye] |
04:25 | | Vorntastic [Vorn@Nightstar-ea333474.sub-70-211-3.myvzw.com] has quit [Ping timeout: 121 seconds] |
04:59 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
05:10 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
05:10 | | mode/#code [+o Reiv] by ChanServ |
05:12 | | Derakon is now known as Derakon[AFK] |
05:50 | | ErikMesoy|sleep is now known as ErikMesoy |
06:14 | | thalass [thalass@Nightstar-a8e66d3f.bigpond.net.au] has quit [[NS] Quit: augh worktime] |
06:19 | | Kindamoody[zZz] is now known as Kindamoody |
06:25 | | Kindamoody is now known as Kindamoody|out |
07:05 | | You're now known as TheWatcher |
07:55 | | cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Connection reset by peer] |
07:55 | | cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code |
08:01 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
08:04 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection] |
08:12 | | You're now known as TheWatcher[afk] |
08:35 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
08:35 | | cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has quit [Client closed the connection] |
08:35 | | cpux|2 [cpux@Nightstar-98762b0f.dyn.optonline.net] has joined #code |
08:51 | | celticminstrel [celticminst@Nightstar-ae361035.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:59 | | Karono_ [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
08:59 | | Karono_ is now known as Karono |
09:24 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection] |
10:07 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
10:08 | | Karono is now known as NSGuest48229 |
10:11 | | NSGuest48229 [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection] |
10:20 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
10:22 | | You're now known as TheWatcher |
10:25 | | Syloq [Syloq@NetworkAdministrator.Nightstar.Net] has quit [Operation timed out] |
10:50 | | Syloq [Syloq@B4EC54.59F324.016BDA.8CB0A3] has joined #code |
10:50 | | mode/#code [+o Syloq] by ChanServ |
10:57 | | * TheWatcher stabs the entire sorry mess that is SMTP in the ear with a rusty battleship |
11:14 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
11:15 | | Karono is now known as NSGuest34749 |
11:16 | | NSGuest34749 is now known as Karono |
11:18 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection] |
11:19 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
11:22 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection] |
11:26 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
11:32 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [Operation timed out] |
11:33 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
11:33 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
13:19 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: shutting down!] |
13:30 | | ktemkin[awol] is now known as ktemkin |
13:31 | | Pandemic [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
13:31 | | mode/#code [+o Pandemic] by ChanServ |
13:48 | < AnnoDomini> | Hmm. It seems possible to set up a RPi without a sillymonitor if one has a DHCP router with a wired connection. |
13:49 | | * gnolam snickers. |
13:49 | <@gnolam> | http://me.veekun.com/blog/2012/04/09/php-a-fractal-of-bad-design/ , http://www.flickr.com/photos/raindrift/sets/72157629492908038/ |
13:54 | | You're now known as TheWatcher[d00m] |
14:02 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Connection reset by peer] |
14:27 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
14:39 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has joined #code |
15:03 | < AnnoDomini> | Is there a way to make a laptop with a NIC pretend to be a router with DHCP? |
15:07 | < ktemkin> | You can run a DHCP server on your laptop; I'm not sure if you can run NAT with only one NIC. |
15:08 | < ktemkin> | What OS is the laptop running? |
15:08 | < AnnoDomini> | It's a dual boot of WinXP and Debian. Currently on WinXP. |
15:09 | < AnnoDomini> | What I need is my laptop to give my RPi an IP address so I can SSH into it. |
15:09 | < simon_> | you can do that |
15:09 | < ktemkin> | Thinking about the NAT with one NIC comment, that doesn't make sense. |
15:09 | < ktemkin> | There's no reason you wouldn't be able to. |
15:09 | < ktemkin> | http://tldp.org/HOWTO/IP-Masquerade-HOWTO/ |
15:09 | < ktemkin> | It'd be just like running a proxy server. |
15:10 | < simon_> | the RPi would probably broadcast its DHCP request and you could just respond to that with a DHCP server, telling it it's one some subnet you've set up on your ethernet interface. |
15:10 | < AnnoDomini> | I've got an unused wired NIC. Using the wireless for internet. |
15:11 | < ktemkin> | You can just bridge them, in which case it'll be like your RPi is on the same network as everything else. |
15:12 | < AnnoDomini> | I don't have a bridge. |
15:13 | <&ToxicFrog> | AnnoDomini: run dhcpd listening on eth0, plug rpi into eth0, ask the dhcpd what address it assigned. |
15:13 | <&ToxicFrog> | Boom, headshot. |
15:13 | <&ToxicFrog> | (alternately, do the same with your normal router, if you have one) |
15:13 | < AnnoDomini> | I don't, unfortunately. |
15:17 | < Syka> | AnnoDomini: its easy in windowsa |
15:17 | < Syka> | windows* |
15:17 | < Syka> | internet connection sharing on the ethernet |
15:17 | < AnnoDomini> | I don't need internet connection. I just need to be able to talk to the RPi. |
15:17 | < Syka> | iirc it starts up a basic DHCP server - not sure if you can get info out of it |
15:20 | < ktemkin> | Of course, depending on NIC support, you may need a crossover cable. |
15:21 | < ktemkin> | I don't know if the raspi supports autosensing. |
15:21 | <&ToxicFrog> | AnnoDomini: so, create a basic dhcpd configuration - something like 'subnet 192.168.2.0 netmask 255.255.255.0 { range 192.168.2.10 192.169.2.100; }' - and then # ifconfig eth0 up; ifconfig eth0 192.168.2.1; dhcpd -d eth0 |
15:21 | <&ToxicFrog> | And then plug in the rpi and watch the terminal. |
15:22 | < ktemkin> | (A quick google for "auto-mdix raspi" seems to indicate that it does support it; so you can use any ethernet cable.) |
15:22 | < AnnoDomini> | ToxicFrog: Those are instructions for Linux, yes? |
15:23 | <&ToxicFrog> | Yes. |
15:23 | <&ToxicFrog> | I have NFI how to work windows. |
15:23 | < ktemkin> | Ask Skya said, if you enable internet connection sharing, it will create a DHCP service (and perform NAT) with something like one click, assuming it works. |
15:24 | < ktemkin> | *As Syka said |
15:24 | < AnnoDomini> | OK. I'll try that. |
15:25 | | celticminstrel [celticminst@Nightstar-ae361035.dsl.bell.ca] has joined #code |
15:25 | | mode/#code [+o celticminstrel] by ChanServ |
15:44 | < AnnoDomini> | Arg. Trying to enable ICS gives me a prompt about an IP address conflict. The wireless uses 192.168.0.0 also. |
15:44 | < AnnoDomini> | Not sure how to make the ICS use another. |
15:45 | <@iospace> | and i may have just hosed some dimms at work! |
15:45 | < Syka> | iospace: time for a wet motherboard competition |
15:46 | <@iospace> | har har |
15:48 | < Azash> | Snort |
15:48 | < Syka> | i have drunk about 2 litres of tea today |
15:48 | | * Syka makes a faint buzzing noise |
15:49 | <@iospace> | as in i may have corrupted the SPDs on them |
15:50 | < Syka> | iospace: did you see/hear about that guy at ohm2013, who installed linux on his WD hdd |
15:52 | <@iospace> | ok? |
15:52 | < Syka> | iospace: I mean HDD |
15:52 | < Syka> | as in |
15:53 | < Syka> | on the HD's SoC |
15:54 | | * AnnoDomini installs a DHCP server thingy, which seems to work, then moves on to the next problem: how to burn a raspbian on this SD card. |
15:55 | <@iospace> | Syka: that's ncie |
15:55 | < Syka> | AnnoDomini: there's some stuff on the raspi site for it |
15:55 | < Syka> | AnnoDomini: like, a tool that just does it for you |
15:56 | < Syka> | there is also http://www.raspberrypi.org/archives/4100 if you want to mess around with openelec/pidora/raspbmc as well |
15:56 | < Syka> | which is simply drop onto a 4GB+ card |
15:56 | < Syka> | well, unzip and drop |
16:00 | < AnnoDomini> | I'll try the NOOBS thing first. |
16:01 | < Syka> | openelec is an xbmc distribution, too |
16:01 | < Syka> | which can be fairly neat |
16:16 | | You're now known as TheWatcher[afk] |
16:28 | | ^Xires is now known as Xires |
16:44 | | ErikMesoy is now known as Harrower |
16:52 | | Karono [Karono@Nightstar-13c26ed9.optusnet.com.au] has quit [Client closed the connection] |
17:08 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
17:08 | | mode/#code [+ao Derakon Derakon] by ChanServ |
17:08 | | * Derakon eyes this code, which appears to never return from telling a new thread to start. |
17:08 | <&Derakon> | That's the kind of call that should return immediately! |
17:14 | <&ToxicFrog> | You'd think so, wouldn't you. |
17:17 | | * Derakon also swears at Windows Remote Desktop, which is somehow breaking copy&paste despite both machines involved being Win7 and thus far too recent to have such stupid bugs. |
17:18 | <&Derakon> | I have to use the mouse, like an animal. |
17:19 | <@celticminstrel> | ...heh. |
17:58 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
18:45 | | You're now known as TheWatcher |
18:47 | | * TheWatcher does battle with his Ancient Nemsis, the awful, unspeakable horror that induces madness and cranially-induced desk lesions: Naming Things. |
18:47 | < Syka> | github's New Repo screen has a random name generator :D |
18:48 | < Syka> | or you can do what i do and name literally everything after birds |
18:48 | <@TheWatcher> | Alas, neither are likely to be helpful in this situation, unless github has somehow acquired some of the rather spooky abilities demonstrated by winamp when choosing music. |
18:49 | < Syka> | name it in something French |
18:49 | < Syka> | that when translated, means "ha ha, you're living in france!" |
18:50 | <@TheWatcher> | |
18:50 | <@TheWatcher> | That is probably the most utterly damngerous thing I could do. |
18:50 | < Harrower> | Damngerous? |
18:50 | <@TheWatcher> | (a contraction of "damned dangerous") |
18:50 | < Syka> | oh, is it being used by french? |
18:50 | < Syka> | s/french/german/ then! :P |
18:50 | < Harrower> | Norwegian? |
18:51 | <@TheWatcher> | Gentlefolks, it must be in English. For Reasons. |
18:51 | < Syka> | also, i like the word 'damngerous', because reasons |
18:52 | <@TheWatcher> | I have a configuration variable of the boolean variety, the truthiness or otherwise of which controls a version check. |
18:52 | <@TheWatcher> | If the value is false, no version check is done. |
18:52 | < Syka> | "CHECK_VERSION"? |
18:53 | < Harrower> | ButcheredeOldeEnglishVariableDescribingeWhetherToPerformeYeVersionChecke |
18:53 | <@TheWatcher> | I considered that, alas it is entirely too direct and ... apparently not silly enough |
18:54 | < Syka> | "CONSIDER_THE_POSSIBILITY_OF_NEW_AND_IMPROVED_VERSIONS_OF_THIS_SOFTWARE" |
18:54 | <@TheWatcher> | However, I think I have a suitable option now. |
18:55 | <@TheWatcher> | "HaveYouAcceptedTheNewVersionIntoYourHarddrive"~ |
18:55 | < Syka> | that sounds like youre showing up on my doorstep on a sunday |
18:55 | < Harrower> | On that note, MineEyesHaveSeenTheGloryOfTheComingOfTheUpdate |
18:55 | < Syka> | "ma'am, have you found and accepted version 2.0 into your life?" |
18:56 | < Syka> | in which case I slam the door in your face, because i'm running trunk |
18:56 | < ktemkin> | My brain acronymed that, and got Mehstgotcotu. Sounds like an Aztec god. |
18:57 | < Syka> | if Harrower was writing adobe software, i could believe that |
18:57 | < Syka> | adobe software needs human sacrifice to cleanly update |
18:57 | < ktemkin> | Yes, which is why you should follow the Improper User Policy (TM) and just never ever update. |
18:58 | < Syka> | also |
18:58 | < Syka> | if you need an interim name for anything |
18:58 | < Syka> | just get what it does, and add '-zeug' to the end |
18:58 | < Syka> | ("Zeug" is "stuff" in German) |
18:59 | < Harrower> | -thing, -stuff, -doodad, -device, -getter, -setter? |
18:59 | < Syka> | "werkzeug", German for "tool", is literally translated as "work stuff" |
19:00 | < Syka> | German would be a wonderful language without the fucking gendered words :( |
19:00 | < Harrower> | Funny that. "Tool" in Norwegian is the near-cognate "verktoeu" (actually written with a funny Norwegian letter that would destroy your sanity), but that literally means "work toy". |
19:00 | < Syka> | heh |
19:00 | < Harrower> | Or "work fabric". |
19:01 | < Syka> | remember kids |
19:02 | < Syka> | don't u.* on a view that you send directly to the client |
19:02 | < Syka> | especially if the table you have aliased to 'u' contains password hashes |
19:02 | | * TheWatcher blink |
19:02 | | * Syka nips that bug in the bud |
19:04 | <&ToxicFrog> | huh. |
19:05 | <&ToxicFrog> | Changing things so that stuff that doesn't throw should results in some really confusing messages from the unit tests. |
19:05 | <&ToxicFrog> | Er. So that stuff that should throw, doesn't. |
19:07 | | * Syka eyes her webapp sneak over 270kb. sigh :( |
19:08 | < Syka> | oh, i'm not gzipping anything yet |
19:28 | <&Derakon> | Sanity check, since I so rarely use it: if I have code that may except, and I want the exception to happen but I also want to execute certain code regardless, then the pattern is "try: mightFail(); finally: alwaysDoThis()" |
19:29 | <&Derakon> | Correct? |
19:29 | <&Derakon> | (Python) |
19:35 | <@TheWatcher> | That's what I'd expect in other languages, so I expect it is the same in python |
19:35 | <&ToxicFrog> | Derakon: yes. |
19:41 | <&Derakon> | Great, thanks. |
20:39 | <@iospace> | oi, dediprog. y u return invalid check some? :< |
20:39 | | Harrower is now known as ErikMesoy |
20:54 | | Kindamoody|out is now known as Kindamoody |
21:03 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving] |
21:04 | <@TheWatcher> | Argh, godsdamnit, brain. Work. |
21:07 | <&McMartin> | Side note: C++ lacks "finally", you have to catch everything, process, and rethrow. |
21:07 | <&McMartin> | Which requires special syntax because C++ cannot actually assign the result of "catch everything" to a variable. -_- |
21:34 | | Kindamoody is now known as Kindamoody[zZz] |
21:44 | < Xires> | struct { ...; unsigned char dat[0]; }; is there a 'safe' way to handle this? I think it's causing some major memory corruption but I'm told not to change it |
21:45 | <&McMartin> | That is "safe" |
21:45 | <&McMartin> | If and only if you are using C |
21:45 | <&McMartin> | Or rather |
21:45 | <&McMartin> | It's as safe as C ever is |
21:45 | <&McMartin> | What that means is "this ends with a variable length data structure" |
21:45 | <&McMartin> | All allociatons of it should look like |
21:46 | <&McMartin> | x = (THAT_STRUCT *)malloc(sizeof(THAT_STRUCT) + {some expression that is the size of dat}); |
21:46 | <&McMartin> | And then it's as safe as an C array ever is |
21:46 | <&McMartin> | It is *not* safe in C++ |
21:46 | < Xires> | McMartin; I'm familiar with the concept but I can't currently find any other reason for the massive memory issues I'm having |
21:47 | <&McMartin> | OK, so the issue is not that it ends in dat[0] |
21:47 | <&McMartin> | It's that somebody's blowing it out |
21:47 | <&McMartin> | If you think you have a compiler that doesn't handle this, you can add buffer space by making it dat[1]. Overallocating and blowing that out within the overallocation is I think supposed to keep working. |
21:48 | < Xires> | it's allocated with g_slice_alloc0(sizeof(theStruct) + PAD); |
21:48 | <&McMartin> | That's somewhat alarming. |
21:48 | <&McMartin> | Unless PAD is the size of what "dat" is supposed to be, which its name does not imply. |
21:48 | < Xires> | #define PAD 1542 |
21:49 | <&McMartin> | OK, that is a large number. |
21:49 | <&McMartin> | valgrind should be smart enough to recognize this construct |
21:49 | <&McMartin> | I'd use that |
21:49 | < Xires> | the total size of theStruct is 60 on 32-bit & 80 on 64-bit |
21:49 | <&McMartin> | Yeah |
21:49 | <&McMartin> | My guess is that the dat array is being blown out |
21:50 | <&McMartin> | That's where the error is, in standard parlance |
21:50 | <&McMartin> | If you want to try to shield it, you can increase the value of zero and that will make the dat array bigger. |
21:51 | < Xires> | after the calloc(), the next call does (cast_to*) &foo->dat[14] |
21:51 | < Xires> | not literally, of course |
21:52 | | * TheWatcher eyes |
21:52 | <@TheWatcher> | Y'know, I knew that doing that was possible |
21:52 | <&McMartin> | That's a use-before-def error |
21:52 | <@TheWatcher> | but I never thought anyone'd actually /do/ it. |
21:52 | <&McMartin> | Wait, no, it's calloc |
21:52 | <&McMartin> | That's a null-deref. |
21:52 | <&McMartin> | Wait |
21:53 | <&McMartin> | &foo->dat[14]? |
21:53 | <&McMartin> | That's a type error. |
21:53 | < Xires> | *foo = g_slice_alloc0(60 + 1542); *bar = (bar_type*) &foo->dat[14]; |
21:53 | <&McMartin> | OK, There's Your Problem |
21:53 | <&McMartin> | Unless foo is a thing**. |
21:54 | < Xires> | later..bar = (bar_type*)((unsigned char*) bar + 2); |
21:54 | <&McMartin> | And then that overwrites some random stack memory |
21:54 | <&McMartin> | Yeah |
21:54 | <&McMartin> | Things that are created in this way must be treated as if they were java objects. |
21:54 | <&McMartin> | They are only accessible through the pointer you got them through. |
21:54 | <&McMartin> | They cannot be safely value-copied. |
21:55 | < Xires> | unless I memcpy()? |
21:55 | <&McMartin> | Unless you not only memcpy it but also know that the sizes of the things are the same. |
21:56 | <&McMartin> | That said, the more I look at that code, the more it twists |
21:56 | < Xires> | indeed |
21:56 | <&McMartin> | There's no way what you've pasted can be right |
21:56 | <&McMartin> | But which variety of wrong it is depends on the declared types of the variables and functions |
21:56 | <@TheWatcher> | Frankly looks to me like someone was trying to be too damned clever by half |
21:56 | <&McMartin> | But it looks like there's some confusion about levels of indirection. |
21:56 | < Xires> | there are 2 memcpy() calls that occur before bar = (bar_type*)((unsigned char*) bar + 2) |
21:57 | <&McMartin> | That is or is not safe depending on their arguments~ |
21:57 | <&McMartin> | But in short |
21:57 | <@TheWatcher> | :spiders: |
21:57 | <&McMartin> | "It's not the variable-length array declaration that's the problem." |
21:57 | < Xires> | simply how it's handled |
21:57 | <&McMartin> | "It's something that's using it wrong, and making it static length has no guarantee of fixing that. You need bounds checking." |
21:58 | <&McMartin> | Basically, if this structure ever appears in a non-pointer context, Everything Is Going To Hell Fast. |
21:58 | < Xires> | I know that the dat[0] itself isn't a problem but I figured it's probably a safety issue due to difficulties in how it's used |
21:58 | <&McMartin> | You aren't allowed to have structures like this on the stack |
21:58 | < Xires> | particularly, how easy it is to screw up |
21:58 | <&McMartin> | Yeah, that difficulty is "you're using arrays in C" |
21:59 | <&McMartin> | TheWatcher: I don't know if it's part of the standard, but 0-size arrays as the last element in a structure is well-defined in "sane" C compilers and it's actually a common idiom. |
21:59 | <&McMartin> | Malloc hands you a bag of bytes which you can use as you see fit |
22:00 | <&McMartin> | There is a subtle but consistent distinction between an array declared as foo[] and an array declared as *foo, and this is one of the two places it matters |
22:00 | <&McMartin> | It means "dat is an offset sizeof(STRUCT) into something cast to STRUCT." |
22:01 | <&McMartin> | And then you can do your standard pointer arithmetic on that |
22:01 | | * TheWatcher nods |
22:01 | < Xires> | McMartin; if I can create some test code to demonstrate the use of this struct, would you mind taking a quick look at it and telling me what's off? |
22:01 | <&McMartin> | afk |
22:01 | < Xires> | it's taken me 3 weeks to narrow it down this far |
22:01 | <@TheWatcher> | As I said, I knew you could do it. I've just never personally run into it |
22:01 | <&McMartin> | sure |
22:02 | < Xires> | McMartin; many thanks, I'll PM you a pastie link when it's ready..assuming that's okay |
22:04 | <&ToxicFrog> | Or just paste it in here. I'm kind of curious. |
22:04 | < Xires> | ToxicFrog; will do |
22:05 | < Xires> | I was handed a huge project of just over 2 GBs of source and told to port it to 64-bit |
22:06 | < Xires> | much of the 'infrastructure' of the code copyright 1989-1992 |
22:06 | <&McMartin> | oho |
22:07 | < Xires> | CEO thinks it shouldn't be taking me the few months that it has to get this up & running but has 0 experience with code |
22:07 | <&ToxicFrog> | GET OUT NOW |
22:07 | < Xires> | thus, CEO is trying to find justification for me to keep my job so CTO && COO are trying to defend me..but that's not going to last if I can't figure this out |
22:10 | <@Tarinaky> | Dare I ask what is actually meant by 'port it to 64-bit'... I assume we mean more than 'compile with different flags, get it to compile and then send it to QA to produce bug reports'? |
22:11 | < Xires> | Tarinaky; replacing much of the old infrastructure with something that's a bit more architecture-independent..specifically, glib2 |
22:11 | <@Tarinaky> | Ah. Yeah. That'd do it. |
22:13 | <&McMartin> | That does raise an important question though |
22:13 | <&McMartin> | What compiler are you using? |
22:14 | <&McMartin> | TheWatcher: I'm kind of actually using this trick in Monocle >_> |
22:14 | <&McMartin> | Not as explicitly but the compiled code ends up about the same. (I'm casting between objects of different sizes but identical prologues to simulate single inheritance) |
22:14 | <&McMartin> | (And once those objects have strings in them it's going to have to use the trick explicitly.) |
22:15 | <&McMartin> | (In objects that *won't escape the file they're defined in, thank you* >_>) |
22:15 | < Xires> | McMartin; gcc for most of the project, Intel compiler for some specific things |
22:15 | <&McMartin> | OK, both of those should correctly handle this construct in 32- and 64-bit modes of operation |
22:15 | <&McMartin> | However, I just realized some other things may be going on >_< |
22:16 | <&McMartin> | I'm AFK for a couple of hours but I recognize your nick; I'll opine on what I see when I get back and check backscroll |
22:16 | <@TheWatcher> | McMartin: yeah, but your one of maybe 5 people I'd trust to do that right, so. |
22:25 | | ErikMesoy is now known as ErikMesoy|sleep |
23:10 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
23:23 | | VirusJTG_ [VirusJTG@BAD19E.09A45B.582A63.5AE998] has joined #code |
23:23 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
23:23 | | mode/#code [+o Reiv] by ChanServ |
23:26 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
23:30 | | VirusJTG_ [VirusJTG@BAD19E.09A45B.582A63.5AE998] has quit [[NS] Quit: Program Shutting down] |
23:31 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
23:55 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
23:55 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
--- Log closed Wed Aug 07 00:00:47 2013 |