code logs -> 2013 -> Wed, 23 Oct 2013< code.20131022.log - code.20131024.log >
--- 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
code logs -> 2013 -> Wed, 23 Oct 2013< code.20131022.log - code.20131024.log >

[ Latest log file ]