--- Log opened Sun Jun 05 00:00:47 2011 |
00:28 | | AnnoDomini [annodomini@D553D1.9D4909.49802F.6BDDEC] has quit [Ping timeout: 121 seconds] |
00:30 | | AnnoDomini [annodomini@D553D1.41311B.96D231.D89BF0] has joined #code |
00:55 | | Smash [King@DE28D7.C63B76.7F292E.EE4889] has joined #code |
00:55 | | Smash [King@DE28D7.C63B76.7F292E.EE4889] has left #code [] |
01:16 | | Rikushadow5 [DSD@2D9871.46541E.D74D2F.C9D14B] has joined #code |
01:20 | | kw\blargh is now known as kw\ |
01:20 | | kw\ is now known as kw\HOCKEY |
01:35 | | ToxicFrog [ToxicFrog@Nightstar-58fa4b17.cable.teksavvy.com] has joined #code |
01:44 | | AnnoDomini [annodomini@D553D1.41311B.96D231.D89BF0] has quit [[NS] Quit: leaving] |
02:50 | < McMartin> | Hm. C# continues to be Java with the rough edges sanded down and actual OS bindings. |
02:52 | < McMartin> | Oh, and it looted yield from Python. GO it. |
02:56 | < ToxicFrog> | Does it have Actual Coroutines, or just generators? |
02:56 | < ToxicFrog> | (or better yet, Actual Continuations?) |
02:57 | < McMartin> | I haven't figured that out yet; this is more A Young Man's Illustrated Guide To Productivity With C# rather than a dissection of the CLR as a whole and the languages that compile to it. |
02:58 | < McMartin> | It's showing it as generators. |
02:58 | < McMartin> | However, it may have Actual Continuations because that is a traditional way of implementing throw/catch. |
02:59 | < McMartin> | At any rate, the sanded edge I was noticing is that not only is this legal: |
02:59 | < McMartin> | string[] s = { "a", "b", "c" }; |
02:59 | < McMartin> | So is this: |
02:59 | < McMartin> | foo(a, new string[] { "a", "b", "c" }); |
03:00 | < McMartin> | And so is *this*: |
03:00 | < McMartin> | foo(a, new List<string> { "a", "b", "c" }); |
03:00 | < McMartin> | That's going right below using/IDisposable on my list of Things That Java Could Maybe Steal Back From C# Please OK Thanks |
03:01 | < ToxicFrog> | Nice. |
03:01 | < McMartin> | (IDisposable being a direct reification of the whole C++ RAII thing in languages that are properly memory-managed, because as it happens RAINI.) |
03:02 | < ToxicFrog> | (at this point I've gone past that and into "can Java please die already so we can get some JVM upgrades in the house and switch to using Scala thx) |
03:03 | < McMartin> | (Doesn't Scala have a CLR backend? I wrote a book on the JVM, and my understanding of the CLR is vague at best, but my understanding is that the CLR is one of the standards MS Actually Opened and is also >>>>>> the JVM.) |
03:03 | < McMartin> | (Also, Scala targeting gcj is tragically hilarious failsauce) |
03:03 | < ToxicFrog> | The CLR backend, last I checked, is Quite Experimental. |
03:03 | < McMartin> | Ah. Oh well. |
03:03 | < ToxicFrog> | And CLR support on linux/osx still lags behind windows. |
03:04 | < ToxicFrog> | Since I do all of my development on linux and windows/osx support are and always will be secondary, this is A Problem. |
03:04 | < McMartin> | Hm. I need to look at Mono's explicit list of Stuff and Not Stuff, but Mono's good enough to run SpaceChem. |
03:04 | < ToxicFrog> | That said, yes, I would also accept the CLR becoming as well supported everywhere as the JVM is now and the Scala CLR target ceasing to be experimental. |
03:05 | < McMartin> | My understanding was that Mono had gotten to the point where most of WinForms was working too, in emulation, while WPF was Never Going To Happen Ever |
03:05 | < McMartin> | But targeting WPF is like using Objective-C Interface Builder on Mac and you aren't writing targeting it unless you have no intention of ever porting in the first place. |
03:05 | < ToxicFrog> | TBQH I don't know exactly what mono is missing; I base this entirely on a long string of .NET programs of which the verdict is "it would work fine in mono except the devs used feature X, which it doesn't support" |
03:05 | < McMartin> | Heh |
03:06 | < McMartin> | To wiki! |
03:06 | < McMartin> | Latest release was 40 days ago |
03:07 | < McMartin> | "This version provides the core API of the .NET Framework as well as support for Visual Basic.NET and C# versions 2.0, 3.0, and 4.0. LINQ to Objects, XML, and SQL are part of the distribution. C# 4.0 is now the default mode of operation for the C# compiler. Windows Forms 2.0 is also supported, but not actively developed, and as such its support on Mono is incomplete." |
03:07 | < McMartin> | So if you're not writing desktop apps using the Windows APIs that sounds like you'd be golden. Hell, I'm amazed they got LINQ in, which is this insane query language for arbitrary data objects |
03:08 | < McMartin> | That said, CLR != .NET. |
03:08 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code |
03:08 | < McMartin> | CLR is the JVM level stuff, while the stuff unsupported tends to be chunks of the library. |
03:09 | < McMartin> | Though a few things might have required an improved VM; C# didn't get individually covariant and contravariant types until pretty late in the game, for instance. |
03:09 | < McMartin> | "Starting with Mono 2.6, it is possible to configure Mono to use the Low Level Virtual Machine (LLVM) as the code generation engine instead of Mono's own code generation engine. This is useful for high performance computing loads and other situations where the execution performance is more important than the startup performance." |
03:10 | < McMartin> | \o/ |
03:11 | < McMartin> | C# definitely has the same problem Java and JS have where the core language is pretty straightforward (C# has a lot of random extra crap in it, but since unlike Perl it's almost all stuff that I like I don't complain (lambdas!)) actually using the language for anythign requires navigating a stupendously huge and variably supported runtime library |
03:12 | < McMartin> | On the flip side, this means writing C# stuff to do system administration tasks has the definite feel of bash scripting, where it's really just a matter of finding the library/application/options that are already on the system and calling them in order. |
03:15 | < McMartin> | At any rate, what I'm seeing is enough to make me at least consider it for projects that would otherwise be done in Java. |
03:16 | < McMartin> | (Not that I have many of those either, of course) |
03:16 | | Kindamoody is now known as Kindamoody[zZz] |
03:16 | | gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has quit [[NS] Quit: Z?] |
03:23 | | Vornicus-Latens is now known as Vornicus |
03:23 | | Rikushadow5 [DSD@2D9871.46541E.D74D2F.C9D14B] has quit [[NS] Quit: Sleep] |
03:30 | < McMartin> | ... OK, that's pretty batshit. |
03:30 | < McMartin> | var largeFiles = from file in GetAllFilesInDirector("C:\\") where new FileInfo(file).Length > 100000000 select file; |
03:37 | < Derakon> | Python list comprehensions with complex conditionals can end up looking like that too. |
03:48 | | Attilla [Some.Dude@Nightstar-febccc15.cable.virginmedia.com] has quit [[NS] Quit: ] |
04:03 | | kw\HOCKEY is now known as kw |
04:10 | | celticminstrel [celticminst@1526F6.37AB0D.97233B.788A64] has quit [Connection closed] |
05:01 | < cpux> | o_O |
05:04 | < Kazriko> | Yeah, heh. |
05:08 | < Kazriko> | That'd be something like largeFiles = [file for file in os.listdir("C:\\") if os.stat(file).st_size > 100000000] |
05:13 | < Vornicus> | os.walk |
05:13 | < Kazriko> | Are you trying to get subdirectories? |
05:14 | < Kazriko> | not familiar with the GetAllFilesInDirectory function, if so, then os.walk would be the right thing... |
05:38 | | Vash[Working] is now known as Vash |
06:09 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Client closed the connection] |
06:16 | | Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code |
06:18 | | Serah [Z@2C3C9C.B2A300.F245DE.859909] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.] |
06:19 | | Vornicus is now known as Vornicus-Latens |
06:20 | | Vash is now known as Vash[Sleeping] |
06:29 | | Derakon is now known as Derakon[AFK] |
06:53 | | Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Client closed the connection] |
07:41 | < McMartin> | Is there a way to hide the reactor notes on the pipe map in SpaceChem? |
08:09 | | Kindamoody[zZz] is now known as Kindamoody |
08:21 | | kw is now known as kw\t-2 |
08:22 | | kw\t-2 [kwsn@Nightstar-302d9131.dyn.centurytel.net] has quit [[NS] Quit: moo] |
09:55 | | AnnoDomini [annodomini@D553D1.41311B.698BCE.95B6A1] has joined #code |
10:37 | | Kindamoody is now known as Kindamoody|out |
--- Log closed Sun Jun 05 11:21:29 2011 |
--- Log opened Sun Jun 05 11:25:13 2011 |
11:25 | | TheWatcher [chris@Nightstar-b4529b0c.zen.co.uk] has joined #code |
11:25 | | Irssi: #code: Total of 21 nicks [0 ops, 0 halfops, 0 voices, 21 normal] |
11:25 | | Irssi: Join to #code was synced in 49 secs |
11:30 | | gnolam [lenin@9D46A2.F4E9D7.E4B4CF.2072AD] has joined #code |
12:03 | | Attilla [Some.Dude@Nightstar-febccc15.cable.virginmedia.com] has joined #code |
12:58 | | Vash[Sleeping] is now known as Vash[Working] |
16:13 | < ToxicFrog> | McMartin: not as far as I can tell, but you can always drag them mostly off the screen and leave them in a corner somewhere. |
16:47 | | Derakon[AFK] is now known as Derakon |
17:18 | | Vornicus-Latens is now known as Vornicus |
17:51 | < Vornicus> | You cn hide the reactor notes yes |
17:51 | < Vornicus> | "Show In Pipeline" unchecked hides them. |
17:51 | < Vornicus> | For each reactor not. |
17:59 | | AnnoDomini is now known as Birds |
18:06 | < ToxicFrog> | Ok, I think I've figured out the serialization API. |
18:06 | < ToxicFrog> | The key here is deciding to permit only one item per serialization (if they want more they can pack them into a table). |
18:07 | < ToxicFrog> | This means that the signature is serialize(object, [...]) and deserialize(buffer, [...]); in the former case the ... is passed unmodified to any __serialize metamethods it triggers, and in the latter case, to __deserialize. |
18:08 | < ToxicFrog> | In practice this will probably be a table mapping object IDs to actual objects, so that it doesn't send the same object twice. |
18:18 | | Kindamoody|out is now known as Kindamoody |
19:54 | | Kindamoody is now known as Kindamoody|out |
19:54 | | Rikushadow5 [DSD@Nightstar-5a4542a1.res.rr.com] has joined #code |
21:29 | | Kindamoody|out is now known as Kindamoody |
22:02 | | Birds is now known as AnnoDomini |
22:27 | | Stalker [Z@2C3C9C.B2A300.F245DE.859909] has joined #code |
22:40 | | Netsplit *.net <-> *.split quits: Namegduf, gnolam, AnnoDomini, jerith |
22:44 | | Namegduf [namegduf@Nightstar-5c10d129.beshir.org] has joined #code |
22:45 | | AnnoDomini [annodomini@Nightstar-9417ebc0.adsl.tpnet.pl] has joined #code |
22:47 | | gnolam [lenin@Nightstar-38637aa0.priv.bahnhof.se] has joined #code |
23:18 | | AnnoDomini [annodomini@Nightstar-9417ebc0.adsl.tpnet.pl] has quit [[NS] Quit: BILLION DAMAGE.] |
23:18 | | jerith [jerith@Nightstar-bf52129d.slipgate.za.net] has joined #code |
23:19 | < McMartin> | Where is "show in pipeline"? |
23:21 | < McMartin> | (Also, chapter 4 complete, also, these guys need to invent valves and crosspieces, rargh.) |
23:24 | < Vornicus> | show in pipeline is in the, um... |
23:24 | < Vornicus> | Well you can edit the reactor notes right |
23:24 | < McMartin> | Right, but I tend to need those to make my reactors look right |
23:24 | < Vornicus> | So in there on the right is the "show in pipeline" checkbox. |
23:24 | < McMartin> | Aha |
23:24 | < McMartin> | OK |
23:25 | < Vornicus> | valves and crosspieces? |
23:33 | < McMartin> | My Ch4 defense mission had a reactor with two jobs: |
23:33 | < McMartin> | (a) move product from input A to exit B; |
23:33 | < McMartin> | (b) move product from input B to exit A if the control switch is set |
23:34 | < McMartin> | Basically, I don't seem to be able to run a pipe underneath some other pipe that's going perpendicular to it, and this is doing all kinds of crazy things to my reactor layouts, and/or requiring additional ones. |
23:35 | < Vornicus> | Um. |
23:35 | < Vornicus> | I can cross pipes. |
23:35 | < McMartin> | ... really. |
23:35 | < Vornicus> | Yes really. |
23:36 | < Alek> | how? |
23:36 | < ToxicFrog> | Drag pipe A over pipe B. |
23:36 | < Vornicus> | A pipe cannot cross itself, but a pipe can cross another pipe. |
23:36 | < Vornicus> | (you can't cross a pipe at a corner either. |
23:36 | < McMartin> | Well, that will simplify a lot of things~ |
23:36 | < Vornicus> | Just slightly. |
23:37 | < Vornicus> | There are some levels i don't think you can make into planar graphs... |
23:39 | < Vornicus> | But while I'm in the neighborhood the Ch4 mission requires no crossings. |
23:42 | < McMartin> | Indeed it didn't! |
23:42 | < McMartin> | But it did need a switch, at least for me. |
23:43 | < Vornicus> | Yeah, you need two switches for it, to control when the things blow up. |
23:43 | < McMartin> | ... ch4, not ch3. |
23:43 | < McMartin> | ch4 is the uranium and the H2O2. |
23:43 | < McMartin> | One switch to turn the cannon on. |
23:44 | < McMartin> | ...That's Chapter 4, not Methane. |
23:44 | < Vornicus> | Oh oh. |
23:44 | < Vornicus> | I thought you meant CH_4 |
23:44 | < McMartin> | Right |
23:44 | < Vornicus> | Yeah. |
23:44 | < Vornicus> | But yeah, my chapter 4 one also needs no crossings. |
23:45 | < McMartin> | I suspect my Green Energy solution would have been easier without it |
23:45 | < Vornicus> | ...two tanks because otherwise your uranium gums up the works, but no crossings. |
23:45 | < McMartin> | I tended to lay pipe around the whole perimeter of the map and that kind of rot. |
23:45 | < McMartin> | I only needed the one, but please see previous note re: wrapping pipe around the map to get places~ |
23:45 | < Vornicus> | I haven't even done Going Green yet, it intimidates me... |
23:46 | < Vornicus> | --mostly because it's one of those "lots of bonds in a tight space" ones and I haven't figured out how to do that. |
23:46 | < McMartin> | I had another episode with that where I used a reactor for something that should have been a piece of pipe, but I *know* they don't have this one |
23:47 | < McMartin> | ... yeah, now that you mention it, my experience with Moustachium 608 made Going Green pretty trivial |
23:47 | < Vornicus> | I haven't figured out Moustachium 608. |
23:47 | < McMartin> | Because I could use multiple reactors for my assembly process. |
23:47 | < McMartin> | Moustachium 608 is totally batshit |
23:47 | < McMartin> | And most people just copied a solution from YouTube, based on the stats =P |
23:48 | < McMartin> | I can give a hint about what I needed a reactor for in my solution, but it might be a really large hint. |
23:49 | < Vornicus> | I could use a hint. |
23:49 | < McMartin> | I needed a T-junction. |
23:50 | < McMartin> | Because I had two reactors that needed a steady flow of monatomic oxygen. |
23:50 | < McMartin> | (Which is not much of a hint because it is the inevitable leftovers after take the carbon out of the CO2 input.) |
23:51 | | You're now known as TheWatcher[T-2] |
23:51 | < McMartin> | (but where it *goes* matters.) |
23:52 | < McMartin> | Once I had that, though, I had no need of special insight; just a series of reactors that turned the H2S into H2SO4 piece by piece. |
23:53 | < McMartin> | Moustachium required some insight on how to fit it all into a single reactor, and involved exploiting symmetry. |
23:53 | < McMartin> | I *suspect* you can pull that off for the H2SO4 to either save a reactor or use two copies of the same one, but each reactor was so simple I didn't bother. |
23:55 | | You're now known as TheWatcher[zZzZ] |
--- Log closed Mon Jun 06 00:00:11 2011 |