←2006-06-23 2006-06-24 2006-06-25→ ↑2006 ↑all
00:55:38 -!- Keymaker has left (?).
01:03:19 -!- poiuy_qwert has joined.
02:56:57 <ihope_> Hmm, UTF-21.
03:04:09 -!- Arrogant has joined.
03:32:32 -!- Arrogant has quit ("Leaving").
03:37:33 -!- Arrogant has joined.
03:37:40 -!- _coder_ has joined.
03:57:18 -!- ihope_ has quit ("¡Adiós!").
04:41:07 -!- Sgeo has quit ("Ex-Chat").
04:59:05 -!- _coder_ has quit ("Leaving").
06:00:11 -!- Arrogant has quit (Read error: 104 (Connection reset by peer)).
06:01:04 -!- Arrogant has joined.
07:59:59 -!- clog has quit (ended).
08:00:00 -!- clog has joined.
08:27:43 -!- bsmntbombdood has quit ("all your basment are belong to bsmntbombdood").
08:59:05 -!- poiuy_qwert has quit (Read error: 110 (Connection timed out)).
09:06:24 -!- jix has joined.
11:39:55 -!- Arrogant_ has joined.
11:46:05 -!- Arrogant has quit (Nick collision from services.).
11:46:09 -!- Arrogant_ has changed nick to Arrogant.
12:54:33 -!- Arrogant has quit ("Leaving").
14:34:32 <_W_> the wiki down, or just unreachable by me?
15:33:29 <SimonRC> _W_: what were you saying about graphs earlier?
16:37:43 <_W_> I'm just looking for a nice way to represent them.
16:38:30 <_W_> If the statements in a program are nodes in a graph, how do I write what nodes are connected
16:51:56 <pgimeno> flowcharts are graphs representing statements in programs
16:54:12 <_W_> we're talking textual representation tho
16:54:38 <_W_> and these graphs are just slightly more flexible
16:59:35 <pgimeno> oh, sorry
17:01:00 <_W_> pgimeno, I'm making a non-deterministic esolang, where the next node executed after one node is completed is random among those connected to it
17:05:11 -!- tgwizard has joined.
17:06:20 <pgimeno> I see, kind of a Thue with graphs right?
17:06:59 <_W_> not really
17:07:37 <_W_> it's threaded, and you have, for instance, a "fork" node
17:08:46 <_W_> beyond that I'm still experimenting
17:09:31 <_W_> I don't want it to be impossible to write a program which has a high probability of outputting "Hello, world!" and nothing else
17:11:43 <pgimeno> 10 LET A=A+1 GOTO 20,30,40
17:12:03 <_W_> yeah that's an idea, except it shouldn't be a directed graph
17:12:16 <_W_> but I guess I could let the gotos be comefrom's as well
17:12:23 <pgimeno> 10 LET A=A+1 COMEFROM 20,30,40
17:12:40 <_W_> 10 LET A=A+1 GOTOORCOMEFROM 20,30,40
17:12:47 <pgimeno> yuck
17:13:42 * pgimeno thinks Malbolge is enough evilness for him
17:20:35 <pgimeno> wow... http://72.14.221.104/search?q=cache:vcsZz5FfPo8J:www.sakabe.i.is.nagoya-u.ac.jp/~nishida/DB/pdf/iizawa05ss2005-22.pdf+programming+method+obfuscated+language+malbolge&hl=es&ct=clnk&cd=5
17:23:07 <_W_> heh
17:30:20 -!- Sgeo has joined.
18:19:07 -!- jix has quit ("Bitte waehlen Sie eine Beerdigungnachricht").
19:43:32 -!- bsmntbombdood has joined.
20:23:14 -!- ihope has joined.
20:23:40 <ihope> I'd like a language that, while easy to interpret, is almost impossible to decompile.
20:23:55 <ihope> And almost impossible to modify in a predictable way.
20:24:32 <ihope> It wouldn't, however, be difficult to compile to.
20:28:05 <ihope> Not that you'd want to write in this language directly: if you wanted to make a change, no matter how trivial, you'd have to start over.
20:28:32 <ihope> I guess SNOBOL sort of meets these criteria, but it
20:28:37 <ihope> 's not easy to interpret.
20:28:53 <ihope> I suppose reversible cellular automata might help.
20:33:21 <ihope> Construct some machine that has an input, an output, and Something Else.
20:33:35 <ihope> Feed it the input and the output, and collect the Something Else. There's your program.
20:33:49 <ihope> Then to run it, feed in the input and the Something Else to get the output.
20:47:26 <ihope> It'd be a black box of computing.
21:11:12 -!- poiuy_qwert has joined.
21:11:40 <SimonRC> omglolzorz: http://hardware.slashdot.org/comments.pl?sid=189379&cid=15593478
21:11:54 <SimonRC> (read the slashdot story for context)
21:17:15 <_W_> ihope, there can't ever be such a thing
21:17:26 <ihope> Why not?
21:17:38 <_W_> unpossible
21:17:50 <ihope> ...
21:17:52 <ihope> Why?
21:18:57 <_W_> worst possible case, you could just brute force all the possible inputs
21:19:05 <_W_> and decompile from that
21:19:46 <_W_> also, no such thing as a black box
21:20:01 <_W_> all boxes CAN be picked apart, one way or another
21:20:24 <_W_> "black box" is a way to think of something, not an actual thing
21:20:49 <ihope> Brute force can be infeasible.
21:21:04 <_W_> in _practice_ yes, but I was assuming you were talking theory
21:21:17 <ihope> Nope, I'm tlaking practice.
21:21:30 <_W_> in _practice_ any irreversible obfuscation is bound to make a program too slow
21:22:38 <_W_> and if you allow physical barriers, such a self-destruct on opening, it's just a matter of locking a computer including software into such a box
21:22:48 <_W_> nothing complex needed
21:24:02 <_W_> (and you could still reverse engineer, and create an equivalent program yourself, and modify that)
21:24:16 <_W_> it's a lost cause really
21:24:17 <ihope> What if you ran the programs on hardware designed to interpret the language?
21:24:40 <_W_> hardware that can't be picked apart you mean? (see my self-destructing box)
21:25:00 <_W_> you don't need a separate language
21:25:16 <_W_> a regular x86 or whatever is all you need, just lock it into such a box
21:27:28 <ihope> Nope. Crystal-clear hardware designed to run opaque software.
21:28:03 <_W_> if you can analyse the hardware, you can replicate it, and modify it
21:28:51 <ihope> Sure, you can modify the hardware, but the software would still be semi-immutable.
21:29:28 <_W_> also, how do you propose to make this software uncleanable?
21:29:37 <ihope> Uncleanable?
21:29:46 <ihope> As in clean room?
21:30:07 <_W_> no
21:30:14 <_W_> as in undecompilable
21:30:47 <ihope> I dunno.
21:30:57 <ihope> I was just wondering if it was possible.
21:30:57 <_W_> what kind of language do you envision that can't be decompiled to, say C, and refactored until it made sense
21:31:17 <_W_> theoretically or practically?
21:31:20 <SimonRC> the problem with programs that are hard to decompile is thay may very well be hard to compile.interpret, too
21:31:32 <SimonRC> s/\./\//
21:31:35 <ihope> Practically unbreakable.
21:31:49 <_W_> ihope, you'd have to make some revolutionary breakthrough
21:31:53 <ihope> And practical to run and such.
21:32:00 <_W_> noone who have tried so far have come close (see: copy protection schemes)
21:32:54 <ihope> I'm not concerned with copy-protection, just modify-protection.
21:33:02 <_W_> the same principles applies
21:33:20 <_W_> the copy-protectors don't want the evil crackers to understand how their copy protection works so they can circumvent it
21:33:59 <ihope> I see.
21:34:06 <_W_> granted it's a bit easier to find that one call/longjmp and alter it
21:34:19 <_W_> which is possible in 99% of them
21:34:49 <_W_> but even that 1% gets cracked eventually
21:36:41 <ihope> Well, if we really wanted to make this computer, we could start with RSA...
21:36:42 <ihope> :-)
21:36:50 <_W_> how will that help?
21:37:09 <_W_> with RSA presumably the machine code would be decrypted SOMEWHERE
21:37:16 <ihope> Um...
21:37:18 <_W_> so just hook into that SOMEWHERE and read out the cleaned code
21:37:26 <ihope> I mean RSA would *be* the code.
21:37:31 <_W_> what
21:37:53 <ihope> I mean, you start with a number, and encrypt it repeatedly, and you'd be computing
21:38:01 <_W_> ...
21:38:05 <ihope> Well, I need to pop out for a while...
21:38:07 <_W_> not very useful computing tho
21:38:11 <_W_> wildly inefficient
21:38:45 <_W_> if you could even get something turing compatible
21:53:38 <poiuy_qwert> i have a dos program that i want to take a screenshot of, but any screenshot i take turns up black. anyone know how to fix that?
21:54:43 <lindi-> poiuy_qwert: what program are you using to take the screenshot?
21:55:06 <poiuy_qwert> ive tried Print Screen, SnagIt, and some other one...
21:55:29 <lindi-> poiuy_qwert: you mean you are not running the dos program on a dos system?
21:55:44 <poiuy_qwert> no on windows
21:56:02 <lindi-> blah, then you lose :)
21:56:10 <poiuy_qwert> really?
21:56:48 <_W_> I've not had any problem screenshotting dos screens on my ssytem
21:56:59 <_W_> using the buildt-in windows thing
21:57:32 <poiuy_qwert> :/
21:57:50 <_W_> what kind of program is it?
21:58:07 <poiuy_qwert> its a game
21:58:17 <_W_> does it change the screen mode?
21:58:27 <pgimeno> poiuy_qwert: do you run it in a window?
21:58:27 <poiuy_qwert> it goes fullscreen
21:58:29 <_W_> that'll probably snag windows
21:58:32 <_W_> yeah
21:58:41 <_W_> try to run it in a window
21:58:45 <_W_> alt+enter
21:58:45 <pgimeno> tried alt+enter to force window mode?
21:58:50 <pgimeno> heh
21:58:56 <poiuy_qwert> k
21:58:58 <poiuy_qwert> i'll try
21:59:29 <poiuy_qwert> it just minimizes it
21:59:52 <_W_> try to change the dos options for it
21:59:57 <pgimeno> is it very CPU hog?
22:00:09 <poiuy_qwert> its not a hog
22:00:12 <pgimeno> if not, you can try using DosBox
22:00:18 <poiuy_qwert> and i went to preferences and it said it was in window mode
22:00:42 <SimonRC> you can't run a graphical dos program in a window
22:00:56 <SimonRC> IME, at least
22:01:12 <lindi-> SimonRC: well, you can fix it to use SDL
22:01:31 <poiuy_qwert> :/
22:01:38 <SimonRC> lindi-: eh?
22:01:42 <pgimeno> with DosBox you can, http://dosbox.sourceforge.net/
22:01:48 <SimonRC> ok
22:01:53 <lindi-> SimonRC: hmm?
22:01:56 <lindi-> SimonRC: why not?
22:02:37 <SimonRC> ok, last time I tried to find a way to do it, I didn;t find one
22:02:41 <SimonRC> never mind
22:02:51 <lindi-> SimonRC: what program did you try to port?
22:03:09 <SimonRC> I wasn;t porting it, just running it
22:03:27 <lindi-> SimonRC: well that "fix" includes things people usually call "porting"
22:03:35 <SimonRC> who was talking about porting things?
22:03:45 <lindi-> i mentioned "fixing"
22:03:51 <SimonRC> ok
22:03:59 <SimonRC> I didn;t say I had sourcew
22:04:21 <lindi-> SimonRC: blah proprietary crap then :(
22:04:36 <lindi-> that'll limit your options indeed
22:04:57 <SimonRC> _The Incredible Machine_ is not crap.
22:05:04 <SimonRC> neither IMO is Rayman
22:05:30 <_W_> SimonRC, you tried Armadillo run?
22:05:46 <_W_> it's like a cross between BridgeBuilder and TIM
22:05:54 <_W_> (still "proprietary crap" tho)
22:06:17 <lindi-> SimonRC: it is when it comes to doing development for it, hard to fix anything without source :/
22:06:41 <_W_> unless you're good with fiddling with machine code/assembler/diassembled code
22:09:43 <_W_> Any of you happen to run netbeans?
22:20:08 -!- ChanServ has quit (ACK! SIGSEGV!).
22:21:42 -!- ChanServ has joined.
22:21:42 -!- irc.freenode.net has set channel mode: +o ChanServ.
22:38:23 <SimonRC> _W_: I've used it
22:38:37 <_W_> I'm trying to get files to save in UTF-8
22:38:46 <_W_> java files save in it now, but nothing else
22:39:00 <SimonRC> use PFE!
22:39:37 <SimonRC> IIRC you can right-click on anything in the source tree in Netbeans and hit update to get it check for external changes
22:39:49 <_W_> PFE?
22:40:00 <SimonRC> !google PFE
22:40:10 <SimonRC> darn
22:40:25 <_W_> Pfizer, Inc. (stock symbol) Pacific Fruit Express Company Packet Filtering Engine
22:40:44 <SimonRC> nonono
22:40:47 <SimonRC> theeditor
22:40:50 <SimonRC> the editor
22:40:51 <_W_> yeah I found it
22:41:05 <_W_> I'm already coding java in netbeans tho, and enjoy all the refactoring and automation features
22:41:51 <_W_> would be a bit of a pain to keep two editors open when experimenting
22:42:37 <SimonRC> the trick is to use a language that doesn't need a special-editor to use sensibly
22:42:46 <SimonRC> *cough*Haskell*cough*
22:42:50 <SimonRC> or Joy
22:42:52 <SimonRC> Or J
22:42:55 <SimonRC> or K
22:43:00 <SimonRC> or Ruby
22:43:11 <SimonRC> or dozens of other langs
22:43:47 <_W_> I'm sure all of those could use some automation in their editing
22:44:14 <_W_> at the very least, they all benefit from search and possibly search/replace
22:44:54 <SimonRC> bah! Get a real typesystem!
22:45:37 <SimonRC> If you need an editor that turns some simple input into a more complex thing in the source code, try making the more complicated thing the official for for the source code.
22:45:47 <_W_> that's not what I need tho
22:45:59 <_W_> autocomplete for instance, is a lifesaver
22:46:09 <SimonRC> what for?
22:46:11 <_W_> and no, not because the language is too verbose
22:46:15 <_W_> for class names for instance
22:46:39 <SimonRC> you're writing Java, right?
22:46:48 <_W_> yes...
22:47:06 <_W_> when you use libraries from 100 different people, it can be a bit of a pain to type out all the package and class names
22:47:15 <SimonRC> what are you writing, BTW?
22:47:31 <_W_> right now? just experimenting with my graph language
22:47:49 <_W_> I thought I'd be perverse enough to use unicode arrow up and arrow down as operators :p
22:48:00 <SimonRC> hmm, perl does it
22:48:11 <SimonRC> well, this is the *ideal* time to switch the project to a better language
22:48:36 <SimonRC> or rather, mor suited
22:48:44 <_W_> but java is by far the language I am most familiar with generate code in and with
22:48:51 <_W_> BCEL etc
22:49:05 <_W_> *generating
22:49:09 <SimonRC> a great time to learn a new language, then
22:49:18 <_W_> you know of something better?
22:49:29 <_W_> or are you suggesting I compile to c or something?
22:49:48 <SimonRC> waitamo, *how* are you using Java?
22:50:29 <_W_> I am using java to read source files of my special language, and using BCEL to write out a compiled class file from that source
22:50:58 <_W_> BCEL=ByteCode Engineering Library btw
22:51:02 <SimonRC> ah, so it is written in Java and compiles to the JVM?
22:51:07 <SimonRC> yeah, I googled it
22:51:27 <_W_> makes it *really* easy to write a compiler
22:51:37 <SimonRC> hmm
22:52:29 <SimonRC> Personally, I recognise this as fundamentally a problem of turning a datastructure into another datastructure, i.e. a pure function.
22:52:41 <SimonRC> Therefore I would attack it with Haskell.
22:53:40 <SimonRC> I might make it spit out horrible Java at the end which gets compiled without me everhaving to look at it.
22:53:54 <_W_> there are two objectives that needs to be met of course; one is to have something that is easy to compile TO, and the other, something that can easilly do the compiling to that thing
22:54:16 <SimonRC> (or I could butcher up the minijava->C compiler I have been given for my 3rd-year project)
22:54:38 <SimonRC> why do these langs have to be the same lang?
22:54:59 <_W_> they don't, it's just that the combination java->java has been the best I've experienced so far
22:55:08 <SimonRC> IIRC, there is a cross-compiler to the JVM for Haskell anyway
22:55:12 <_W_> even simpler than using bison/flex etc
22:55:32 <_W_> yes, but is it simpler to *output* haskell than jva bytecode?
22:55:34 <_W_> *java
22:55:37 <SimonRC> erm, they are parser-generators, not bytecode generators
22:55:47 <_W_> yes, I know, but same purpose
22:55:50 <SimonRC> _W_: quite possibly yess
22:55:59 <SimonRC> _W_: eh
22:56:09 <SimonRC> what does BCEL actually *do*?
22:56:14 <_W_> nothing
22:56:16 <_W_> it's just a model
22:56:42 <_W_> but with it, you don't have to consider syntax at all
22:56:51 <_W_> all is enforced by the model
22:57:13 <SimonRC> which part of the compiling do you use it for?
22:57:17 <_W_> just say "add an instruction to this method, that adds this and this variable"
22:57:22 <_W_> and it does that
22:57:26 <SimonRC> ah, ok
22:58:07 <SimonRC> I could write a Haskell library to do that, though it would take me ages to make it as good as I hope BCEL is.
22:58:16 <SimonRC> y'know typecheking, and the like
22:58:19 <_W_> indeed
22:58:47 <SimonRC> I assume anything you can persuade BCEL to output will compile correctly?
22:59:00 <_W_> BCEL *is* the compiler essentially
22:59:07 <_W_> valid bytecode is what it writes
22:59:20 <SimonRC> ok
22:59:22 <_W_> and yeah, I don't think you can get it to write bytecode that java rejects
22:59:35 <SimonRC> have you seen the JVM spec?
22:59:39 <_W_> yes
22:59:51 <SimonRC> very OOO, isn't it?
22:59:54 <SimonRC> :-)
23:00:12 <_W_> what do you mean?
23:00:20 -!- bsmntbombdood has quit (Read error: 104 (Connection reset by peer)).
23:00:24 <_W_> the actual spec documents? the VM?
23:00:45 <_W_> yes, the VM still has a concept of objects
23:01:24 <SimonRC> Object-Orientation-Oriented
23:01:31 <SimonRC> is what I meant
23:01:48 <_W_> heh yes
23:14:43 -!- bsmntbombdood has joined.
23:31:56 <SimonRC> bsmntbombdood: how do you hide your hostname?
23:32:14 <SimonRC> I have been fiddling with CVhanserv for 5 mins but I can't figure it out
23:32:22 <bsmntbombdood> /msg a staffer and ask them to give you a cloack
23:32:32 <SimonRC> hmf
23:32:47 * SimonRC wonders why nickserv can't do that
23:33:08 <SimonRC> it cloaks a fair amount fo stuff
23:45:58 -!- tokigun has quit (" 12ð ȵθ޴ ȭ ų ϰ Ͻø ϴ. ;;;").
23:53:59 <_W_> http://freenode.net/faq.shtml#cloaks
23:56:40 <lindi-> SimonRC: would be nice if minijava supported input
←2006-06-23 2006-06-24 2006-06-25→ ↑2006 ↑all