--- Log opened Wed Oct 23 00:00:01 2013 |
00:05 | | Turaiel[Offline] is now known as Turaiel |
00:16 | | You're now known as TheWatcher[T-2] |
00:19 | | You're now known as TheWatcher[zZzZ] |
00:28 | | Derakon[AFK] is now known as Derakon |
00:41 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
00:41 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
00:48 | | * gnolam hugs VMs. |
00:48 | <@gnolam> | Man, how did people test software deployment before them? |
00:49 | <&McMartin> | With gigantic test labs |
01:27 | | Derakon is now known as Derakon[AFK] |
01:51 | | Derakon[AFK] is now known as Derakon |
02:54 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
03:46 | | thalass [thalass@Nightstar-141785b5.bigpond.net.au] has quit [Ping timeout: 121 seconds] |
03:50 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
03:58 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
03:58 | | mode/#code [+o himi] by ChanServ |
04:16 | | Kindamoody[zZz] is now known as Kindamoody |
04:28 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
04:32 | < JustBob> | gnolam - And from the MS corner, someone is heard muttering, "What testing?" |
04:51 | | PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code |
04:51 | | mode/#code [+o PinkFreud] by ChanServ |
05:00 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
05:00 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
05:16 | <@Azash> | http://shadow-file.blogspot.com/2013/10/complete-persistent-compromise-of.html |
05:23 | | thalass [thalass@Nightstar-141785b5.bigpond.net.au] has joined #code |
05:46 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has quit [[NS] Quit: Gone.] |
05:49 | | RichyB [RichyB@D553D1.68E9F7.02BB7C.3AF784] has joined #code |
06:12 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
06:40 | | ErikMesoy|sleep is now known as ErikMesoy |
06:54 | | Turaiel is now known as Turaiel[Offline] |
07:03 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has quit [Ping timeout: 121 seconds] |
07:44 | | ErikMesoy [Erik@Nightstar-404c8d4f.80-203-17.nextgentel.com] has quit [Ping timeout: 121 seconds] |
08:06 | | ErikMesoy [Erik@A08927.B4421D.FE7332.0AD079] has joined #code |
08:08 | | ErikMesoy1 [Erik@A08927.B4421D.FE7332.0AD079] has joined #code |
08:10 | | ErikMesoy [Erik@A08927.B4421D.FE7332.0AD079] has quit [Ping timeout: 121 seconds] |
08:44 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
08:44 | | mode/#code [+o Orthia] by ChanServ |
09:07 | | You're now known as TheWatcher |
09:18 | | LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has joined #code |
09:30 | <@Tarinaky> | Fluuurrrr... |
09:31 | | Kindamoody is now known as Kindamoody|out |
09:31 | <@Tarinaky> | I have no idea how to write this essay/report/whatever it's supposed to be -.- |
10:07 | <&McMartin> | It begins |
10:07 | | * McMartin executes mkdir devel/atrocitron && cd devel/atrocitron && git init |
10:08 | < abudhabi> | What shall his fear engine do? |
10:08 | <&McMartin> | ... it might actually get contributed to a puzzle hunt |
10:08 | <&McMartin> | I'll have to go over the design with people who know better of such things |
10:11 | <~Vornicus> | What will be the shtick of the atrocitron. |
10:27 | <&McMartin> | There is a door. |
10:28 | <&McMartin> | You need to do a thing so you can go through the door. |
10:28 | <&McMartin> | The author has disabled save, restore, undo, and will give you a walkthrough command, but using it resets and rerandomizes the puzzle. |
10:28 | <&McMartin> | The author doesn't think disassembling the binary is cheating, but also doesn't think it will be the easiest way to solve it |
10:30 | <&McMartin> | (It is, basically, an entrant into the genre of "how to do everything wrong and be an asshole about it", but, with luck, managing to make clear that the author is only pretending to be an asshole) |
10:30 | <&McMartin> | (however, that means it might actually be a useful artifact as part of a puzzle hunt.) |
10:31 | <&McMartin> | My main reason for wanting to write it is to see how thoroughly I can mess with the appearances of disassembled code |
10:43 | | AverageJoe [evil1@Nightstar-9da8df73.ph.cox.net] has joined #code |
11:00 | <@Tarinaky> | I assume the walkthrough doesn't appear in the binary as a set of string literals that could be easily uncovered with the strings commans? :p |
11:17 | | AverageJoe [evil1@Nightstar-9da8df73.ph.cox.net] has quit [[NS] Quit: Leaving] |
11:35 | < RichyB> | No, the walkthrough tells you what steps you needed to take to solve the current puzzle. But next time you play, you'll get a different puzzle which will need different steps. :) |
12:04 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
12:08 | <@Tarinaky> | RichyB: Presumably there is an underlying pattern. |
12:12 | | missingToken [NSwebIRC@Nightstar-e2374523.tn.comcast.net] has joined #code |
12:12 | | missingToken [NSwebIRC@Nightstar-e2374523.tn.comcast.net] has left #code [""] |
13:48 | | thalass is now known as Thalass|PA |
13:55 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has joined #code |
13:55 | | mode/#code [+o celticminstrel] by ChanServ |
14:39 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
14:48 | <@Tarinaky> | I think the antipatterns catalogue might be my new TvTropesa. |
15:04 | | ErikMesoy1 is now known as ErikMesoy |
15:15 | | * Namegduf regards patterns as antipatterns |
15:40 | | Thalass|PA is now known as Thalass|bleh |
15:44 | <@froztbyte> | why? |
15:47 | <&ToxicFrog> | froztbyte: because they are usually awkward ways of working around the deficiencies of the language (and "the language" is almost always Java) |
15:54 | <@Tarinaky> | I always thought of Patterns as just being (pre-made) contracts. |
15:55 | <@Tarinaky> | Boilerplate contract. |
15:56 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
16:01 | <&ToxicFrog> | Tarinaky: contracts are a different thing. |
16:03 | <@Tarinaky> | I meant more in the vernacular meaning of the word. |
16:03 | <@Tarinaky> | Not Eiffel or whatever it's called. |
16:03 | <&ToxicFrog> | Design patterns are "I want to express something (lazy initialization, say) that Java is incapable of. How many classes with "Factory" in the name do I need to accomplish this?" |
16:04 | <@Tarinaky> | I've always been introduced to them as just a formal description of lazy initialisation. |
16:04 | <&ToxicFrog> | "them" being? |
16:04 | <@Tarinaky> | Patterns. |
16:04 | <&ToxicFrog> | Are we talking about the same thing? |
16:04 | <@Tarinaky> | Probably not. |
16:04 | <&ToxicFrog> | http://en.wikipedia.org/wiki/Software_design_pattern |
16:04 | <@Tarinaky> | Blame the poor quality of teaching at British Universities. |
16:04 | <&ToxicFrog> | This is what people mean when they talk about "design patterns" or "antipatterns" |
16:04 | <@Tarinaky> | I always thought the Java implementation was 'optional'. |
16:05 | <&ToxicFrog> | Er |
16:05 | <@Tarinaky> | And that the pattern was just a set of requirements. |
16:05 | <&ToxicFrog> | Java came up because "design patterns" as a popular concept in CS, and most of the actual patterns people use, arose in Java |
16:05 | <&ToxicFrog> | Because people kept needing workarounds for deficiencies in the language |
16:05 | <&ToxicFrog> | And then published those workarounds in a popular book called "Design Patterns: Elements of Re-Usable Object Oriented Software" |
16:06 | <&ToxicFrog> | A design pattern is not a "set of requirements", it is a recipe for solving a certain problem in Java (and languages with Java-like OO) |
16:07 | <@Tarinaky> | What about the Facade pattern? |
16:08 | <&ToxicFrog> | E.g. problem: I want a single global Foo. Solution: create a FooSingleton class with a static method that creates and initializes a Foo if one does not already exist and then returns it. |
16:09 | <&ToxicFrog> | What about it? |
16:09 | <@Tarinaky> | That doesn't strictly have a 'recipee'. |
16:09 | <&ToxicFrog> | Problem: I have an overly complicated API, or set of related APIs. Solution: write a simpler API wrapping them. |
16:10 | <@Tarinaky> | Seems /reasonable to me/ |
16:11 | <&ToxicFrog> | Well, yes. I admit that not all design patterns are terrible ideas, nor are all of them Java-specific. |
16:11 | <&ToxicFrog> | That said, I suspect most reasonable people would say "I wrote a simpler API wrapping them", rather than "I implemented the Facade Pattern" |
16:12 | <&ToxicFrog> | (I guess we can further break down my dislike of design patterns: the complicated ones are ungainly solutions to problems that shouldn't exist in the first place, and the simple ones are pretentious names for simple and widely-used concepts) |
16:12 | <@Tarinaky> | Fair complaint. |
16:12 | <@TheWatcher> | Not just fair, fucking spot on. |
16:13 | <@Tarinaky> | Although some of them don't/didn't have 'standard' names. Which is kindof handy. |
16:14 | <@Tarinaky> | Singleton is a better and more precise word than Global. |
16:33 | | Thalass|bleh [thalass@Nightstar-141785b5.bigpond.net.au] has quit [Connection closed] |
17:51 | | Kindamoody|out is now known as Kindamoody |
19:14 | <@Tarinaky> | http://i.imgur.com/tSHTUa4.png << Yay! Prototype works (mostly)! |
19:14 | < abudhabi> | Is that supposed to be 3D? |
19:15 | <@Tarinaky> | Yes. |
19:15 | < abudhabi> | Not bad. |
19:15 | < abudhabi> | For UI I suggest something like Homeworld had. |
19:15 | <@Tarinaky> | As shown, it's the 8 planets, plus ploto. |
19:15 | <@Tarinaky> | homeworld's interface is too hard. |
19:16 | <@Tarinaky> | Plus I still have more math to prototype out :/ |
19:33 | | * ToxicFrog eyes Python |
19:33 | <&ToxicFrog> | ++n is syntactically valid, evaluates to n, and has no side effects. |
19:33 | <&ToxicFrog> | Why? |
19:34 | <&McMartin> | TF: Incidentally, I believe the Design Patterns book predates Java, but I'll have to check on that. |
19:34 | <&McMartin> | The examples within it never mention it; I am pretty sure that the original book's patterns were written to get around deficiencies in Smalltalk |
19:35 | < ErikMesoy> | ToxicFrog: Worse, n++ is a syntax error |
19:36 | <&ToxicFrog> | McMartin: wiki says 1994, C++ and Smalltalk. |
19:37 | <&ToxicFrog> | And yet somehow it's always Java programmers I find burbling about design patterns. |
19:37 | < ErikMesoy> | ToxicFrog: I think what you're getting is positive(positive(n)). |
19:37 | < ErikMesoy> | -n gives negative n, +n gives positive n. |
19:38 | <&ToxicFrog> | Aah. |
19:38 | <&McMartin> | That's because there are better ways to do most of those things in both Smalltalk and C++~ |
19:38 | <&McMartin> | Smalltalk's object system is roughly Python's, which allows all kinds of hilarious madness |
19:38 | | * ErikMesoy tests. Yeah, typing "+++++-+5" into Python console returns -5 |
19:39 | <&McMartin> | I don't have the quote handy - it's in my logs somewhere - but there's the quote from the Lisp guy where he says outright "if there are patterns, that means the language I'm using is too weak" |
19:39 | <&McMartin> | And, indeed, I'd have to say that something like half of the GOF design patterns are restatements of lambda expressions. |
19:40 | <&McMartin> | Or closures. |
19:40 | <&McMartin> | C++ has an idiom that they call "functors" which is ARGH WRONG, FIRE, GO DIE but which is a closure for all purposes, including syntactic ones. |
19:40 | < ErikMesoy> | ToxicFrog: Extra hilarity if you say something like "5 <-- 6" now that you know this. (This returns True, because 5 is smaller than negative-negative-6, which is just 6.) |
19:41 | < ErikMesoy> | I've seen obfuscated C use this for a disguised loop. |
19:41 | <&McMartin> | So a C++ programmer executing a "Strategy" pattern instead looks like they're passing in a callable argument that gets used like a lambda, and which has state, because that's exactly what it is. |
19:45 | <@Tarinaky> | Never quite figured out the difference between functors and function pointers. |
19:51 | <&McMartin> | Function pointers can't carry instance-specific state |
19:51 | <&McMartin> | ("Functor" is what they call a C++ object that overrides operator ()) |
19:51 | <@Tarinaky> | Yes, I know that. |
19:51 | <@Tarinaky> | But /why/? |
19:52 | <&McMartin> | So the usual Lisp example is class Adder { int x = 0; public: int inc() { return ++x; } }; |
19:52 | <&McMartin> | Now you can have Adder a, b and increment them both independently |
19:52 | <&McMartin> | Er, make that int operator (), not int inc() |
19:53 | <@Tarinaky> | And you would want to do this precisely when? :p |
19:53 | <&McMartin> | Um |
19:53 | <&McMartin> | Pretty much everywhere that is more complex than "are these two arguments less than one another" |
19:54 | <&McMartin> | I mean, yes, under the hood what you are doing is saving yourself having to manually track two or three arguments |
19:55 | <&McMartin> | A closure being, essentially, a function pointer with a pointer to a struct associated with it, but usable anywhere a function call is |
19:55 | <&McMartin> | Which is an advantage because it means that the type of the state is not part of the signature of the type of the function |
19:56 | <&McMartin> | If you want a usecase for Adder, (a) it's a one-liner, what do you want, and (b) it's one of a number of possible drop-in replacements for something that could otherwise handle logging or other kinds of event tracing |
19:56 | <&McMartin> | So, uh, the answer depends on your question |
19:56 | <@Tarinaky> | I see. |
19:57 | <&McMartin> | Is your question "what does letting a function have internal state give you" or is it "why not just pass the state in as a void * in argument 1 like a normal person" |
19:57 | <@Tarinaky> | Normal person. |
19:57 | <&McMartin> | "That stopped being normal in 1953" |
19:58 | <@Tarinaky> | C++ only just got lambdas. |
19:58 | <&McMartin> | More specifically: "That's a C idiom" |
19:58 | <&McMartin> | C++ has had operator () for as long as it's mattered. |
19:58 | <@Tarinaky> | Okay, okazy. |
19:58 | <&McMartin> | And I don't know if C++ lambdas even let you attach state. =P |
19:58 | <&ToxicFrog> | Goddamnit python |
19:59 | <&ToxicFrog> | UnboundLocalError my ass, it's right there in the enclosing scope! |
19:59 | < ErikMesoy> | did you remember to say your this. ? |
19:59 | <&ToxicFrog> | ErikMesoy: it's self. in python, and as I said it's a local anyways, not a member variable |
19:59 | <&McMartin> | But closures as a way to structure your computation are about six patterns, but they use inheritance instead, which is clunkier, and why it is six patterns instead of one. |
20:00 | <&McMartin> | Closures in the "but there's one way to do that" sense have existed in Lisp for nearly the entire history of the language. |
20:00 | <&McMartin> | And the only HLL older than it is Fortran |
20:00 | < RichyB> | (?) Didn't some (most?) early Lisps have dynamic, not lexical, scope? |
20:00 | <&McMartin> | Now, while not directly relevant to Lisp, or Python, but rather more so to C++ or Haskell or ML: passing void * in argument 1 can't be reasonably checked and doesn't generalize. |
20:01 | <&McMartin> | RichyB 1.5 did, as did Logo. |
20:01 | <&McMartin> | But Lexical Scope came in Pretty Early, AIUI. |
20:01 | <&McMartin> | It was certainly in by the time Algol was designed, because that's where Algol got the idea AFAIK |
20:01 | < RichyB> | oh so like 1960 |
20:02 | <&McMartin> | Yeah |
20:02 | < RichyB> | *so before 1960, since one of the Algol revisions is called "Algol 60". |
20:02 | <&McMartin> | A lot of the really crazy stuff didn't come in until Scheme, and Scheme itself didn't get the good stuff until quite late in the game |
20:02 | | * ToxicFrog upreads. Also, what, if anything, is the distinction between functors and closures? |
20:02 | <&McMartin> | ToxicFrog: By the time it hits machine code, nothing, hence my skepticism about adding lambdas to C++ |
20:03 | <&McMartin> | As for my RARGH NO, "functor" has about 14 different meanings in CS depending on language AND ALL OF THEM ARE DIFFERENT |
20:03 | <&ToxicFrog> | McMartin: ok, but by the time it hits machine code all looping constructs are equivalent~ |
20:03 | <&ToxicFrog> | ErikMesoy: found the problem! upvalues are read-only in python. WHY |
20:03 | <&McMartin> | Oh, that |
20:03 | <&McMartin> | My least favorite feature of Python! |
20:03 | <&McMartin> | It's because you can't tell if x = 3 is going to be creating a variable or changing an upvalue without looking at other code. |
20:03 | <&McMartin> | Le Gasp (tm) |
20:04 | <&ToxicFrog> | Also, collections.Counter looks like what you want if you want a multiset, except the more you use it the less it's what you want |
20:05 | <&McMartin> | Anyway, the programming language definition of Functor that's closest, AFAICT, to the math one is ML's, where a functor is basically a parameterized module that *doesn't* actually compile to the same thing C++ templates do |
20:05 | <&McMartin> | I'm still a little vague on this, but I'm still a little vague on whether ML's module system is adequate *anyway* |
20:05 | <&ToxicFrog> | This code is looking increasingly ugly, and all of my attempts at cleaning up thus far rely either on closures or on the ability to modify dicts in mid-iteration, neither of which python has |
20:05 | <&McMartin> | TF: Anyway, re: C++ functors vs. closures, Lisp clojures were taught to me as "a closure is basically a cons cell with the function you're calling in the car and the environment you run it in in the cdr" |
20:06 | <&McMartin> | That's *exactly* isomorphic to "a function pointer and a this pointer" |
20:07 | < ErikMesoy> | What is an upvalue? |
20:07 | <&McMartin> | If you're a function defined inside another function, it's one of the outer function's locals. |
20:08 | <&McMartin> | ToxicFrog: Python's official answer is "there's only one way to do things in Python, and if you want assignable upvalues in a callable thing, we call those 'fields in an object'." |
20:09 | <&ToxicFrog> | McMartin: the thing is, I have a function here, I am trying to nest a utility function inside it for a frequently performed four-line operation that involves clearing dead entries from a collections.Counter. |
20:09 | <&ToxicFrog> | There are only two ways to do this: |
20:09 | <&ToxicFrog> | - iterate the counter by hand, create a list of dead entries, then iterate that list and del them |
20:09 | <&ToxicFrog> | - counter -= Counter() |
20:09 | <&McMartin> | ErikMesoy: Where things get exciting is when you return a function pointer to this inner function that references the outer function, and then the outer function returns. |
20:09 | <&ToxicFrog> | (why does -= clear dead entries but .subtract() doesn't? WHO KNOWS!) |
20:10 | <&McMartin> | Languages where this is legal - which is actually most of them - actually don't have a "call stack" in the usual sense. |
20:10 | <&McMartin> | ToxicFrog: Preaching to the choir here |
20:11 | <&McMartin> | (This is why Java only lets you refer to upvalues that are marked final, because the JVM insists on one) |
20:11 | <&ToxicFrog> | In what way do they "not have a call stack in the usual sense"? |
20:13 | <&McMartin> | Because when you return a closure, the stack frames that were part of it but returned stick around, producing a call tree of which a call stack is a special case |
20:13 | <&McMartin> | Well |
20:13 | <&McMartin> | The activation records |
20:13 | <&ToxicFrog> | IME it's not actually stored as a tree, but yeah, that makes sense conceptually. |
20:14 | <&McMartin> | Having that conceptual framework also makes call/cc make a lot more sense |
20:14 | <&McMartin> | It's for jumping "sideways" in the tree |
20:15 | <&McMartin> | Which is conceptually less distateful to me than "you're doing a jump where your call stack is replaced with what the call stack was when call/cc was called" |
20:21 | <&ToxicFrog> | ...yes, that does rather help. |
20:24 | | Kindamoody is now known as Kindamoody[zZz] |
20:47 | <&ToxicFrog> | death to python |
20:50 | <@Tarinaky> | That's a little strong, isn't it? |
20:50 | <@Tarinaky> | There are third world dictators, politicians and combinations of both in this world. |
20:50 | <@Tarinaky> | But no, you want to kill Python. |
20:51 | <@Namegduf> | It's not an either or |
20:52 | <@Tarinaky> | Bankers, wankers and Rupert fucking Murdoch. |
20:54 | <@Tarinaky> | (the Sith Lord himself) |
20:54 | | Turaiel[Offline] is now known as Turaiel |
20:58 | | LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has quit [Ping timeout: 121 seconds] |
21:07 | | LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has joined #code |
21:09 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code |
21:09 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
21:09 | <@Azash> | 21:52 <@Shiz> >9 OS X releases named after cats, 10.9 broke the pattern |
21:09 | <@Azash> | 21:52 <@Shiz> >cats have 9 lives |
21:10 | <@Tarinaky> | 10.9 also broke MacPorts. |
21:17 | | Turaiel is now known as Turaiel[Offline] |
21:27 | | celticminstrel [celticminst@Nightstar-90d86201.dsl.bell.ca] has joined #code |
21:27 | | mode/#code [+o celticminstrel] by ChanServ |
21:31 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
21:31 | | mode/#code [+o Reiv] by ChanServ |
21:42 | <&ToxicFrog> | What was 10.9 called? |
21:43 | <&McMartin> | Mavericks |
21:43 | <&McMartin> | They've shifted to small geographical locations in California. |
21:43 | <&McMartin> | IIRC Mavericks is a beach near Santa Cruz |
21:43 | <&ToxicFrog> | Weak |
21:43 | <&McMartin> | MAVERICKS HUNTER OS X |
21:45 | <&ToxicFrog> | Ladies and gentlemen, Java: |
21:45 | <&ToxicFrog> | user=> (= (java.net.URL. "http://brainonfire.net/") (java.net.URL. "http://geohash.info/")) |
21:45 | <&ToxicFrog> | true |
21:46 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
21:52 | <@Tarinaky> | Part of me wonders if there's a sensible way to do a treatment of the Interplanetary Transport Network. |
21:53 | < RichyB> | ToxicFrog, huh? |
21:53 | < RichyB> | I assume that Clojure's `=` invoke Java's Object.equals(other)? |
21:56 | <&ToxicFrog> | RichyB: yes. |
21:56 | <&ToxicFrog> | The punchline here is that java.net.URL's equality comparison involves a DNS resolution, and claims that two URLs are "equal" if they have the same path and are served from the same IP. |
21:58 | <@Tamber> | :java: |
22:00 | | Turaiel[Offline] is now known as Turaiel |
22:01 | | Turaiel is now known as Turaiel[Offline] |
22:02 | <&ToxicFrog> | This also means that the equality of two URLs depends on things like whether or not you have a working net connection. |
22:03 | <@Tamber> | =.o |
22:07 | < RichyB> | ToxicFrog, what? SAME IP ADDRESSâ˝ |
22:08 | | LurtzCZ [Lurtz@Nightstar-0604e0ca.cust.termsnet.cz] has quit [Ping timeout: 121 seconds] |
22:10 | < RichyB> | I guarantee you that for instance http://www.consultation.avonandsomerset.police.uk/ and http://getinvolved.eastrenfrewshire.gov.uk/ are different sites, despite being hosted on the same box. |
22:25 | <@froztbyte> | ToxicFrog: that's excellent, thank you |
22:33 | <&ToxicFrog> | RichyB: and yet |
22:34 | <&ToxicFrog> | user=> (= (java.net.URL. "http://www.consultation.avonandsomerset.police.uk/") (java.net.URL. "http://getinvolved.eastrenfrewshire.gov.uk/")) |
22:34 | <&ToxicFrog> | true |
22:34 | <&ToxicFrog> | (not pictured: the four second wait while it does DNS resolution) |
22:34 | < RichyB> | oh I can picture that |
22:52 | < abudhabi> | Tarinaky: 1. Abstract civilian shipping. 2. Simulate civilian shipping. 3. Handwave civilian shipping with teleporter tech. |
22:53 | <@Tarinaky> | abudhabi: What's the question? |
22:54 | | ErikMesoy is now known as ErikMesoy|sleep |
22:54 | < abudhabi> | The last one you asked. |
22:54 | < abudhabi> | 16:52 <@Tarinaky> Part of me wonders if there's a sensible way to do a treatment of the Interplanetary Transport Network. |
22:54 | <@Tarinaky> | That's not a question, even if it was the answers given don't relate to it. |
22:57 | < abudhabi> | OK. I will henceforth only give humorous and/or bad advice. |
22:58 | <@Tarinaky> | I wasn't trying to be pejorative. |
22:58 | <@Tarinaky> | http://en.wikipedia.org/wiki/Interplanetary_Transport_Network |
22:59 | < abudhabi> | I see. |
23:02 | <@Tarinaky> | Kerbal Space Program only does Conics. |
23:02 | <@Tarinaky> | For /good/ reason >.< |
23:03 | < abudhabi> | If you want to do the ITN, you might want to start with fully simulating gravity. |
23:04 | <@Tarinaky> | It doesn't matter for rockets though (at least, for my purposes). |
23:04 | <@Tarinaky> | Only for really low thrust stuff. |
23:14 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
23:14 | | mode/#code [+o Reiv] by ChanServ |
23:17 | <@Tarinaky> | Just trying to see if ther's a way I can 'cheat'. I'm conscious about failing my performance targets. |
23:18 | <@Reiv> | Is this for orbital modeling? |
23:18 | <~Vornicus> | yah, ITN requires that you model the rest of the solar system. Kerbal skips that bit. |
23:19 | <@Reiv> | Epicycles. Calculating a point on a circle is easy. Doing it twice is still easy. |
23:19 | <@Reiv> | And two circles make an oval. |
23:19 | <@Reiv> | Which is cute. |
23:19 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
23:19 | <@Tarinaky> | I already have a model for ellipses. |
23:19 | <@Reiv> | What's this then? |
23:20 | <@Tarinaky> | Dear God I spent long enough getting that to work (and still need to implement hyperbola into it :/) |
23:21 | <@Tarinaky> | Well, my intention is to use the Kepler model for planets and maybe use something else for ships. |
23:22 | <@Tarinaky> | Well, intention is the wrong word. |
23:22 | <@Tarinaky> | I'm currently making my way through a paper on mission design I found, looking for any tricks. |
23:22 | <@Tarinaky> | Aside from conic approximations. |
23:32 | <@Reiv> | Approximations are great |
23:33 | <@Tarinaky> | Yeah, but Conic approximations don't cover low-energy missions. hence the search for a better one :p |
23:35 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
23:35 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
23:50 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has quit [Ping timeout: 121 seconds] |
23:55 | | ktemkin[awol] is now known as ktemkin |
--- Log closed Thu Oct 24 00:00:16 2013 |