--- Log opened Fri Nov 16 00:00:06 2012 |
00:02 | < AnnoDomini> | I recall a sort of service that somehow compares an image to other images found on the webs, enabling finding its source. |
00:02 | < AnnoDomini> | Anyone know what it's called? |
00:02 | | * simon_ is desperately trying to come up with a meaningful program for this stupid, reversible language. |
00:03 | <&McMartin> | LAZORZ |
00:03 | < simon_> | I'm trying to implement fibonacci numbers, but it doesn't allow general recursion. so I wonder what it can even do and look at one of the two examples provided: linear transformations. so I recall that you can define fibonacci numbers in terms of matrix multiplications. but I come to the conclusion that the language does not support multiplication by a variable factor. |
00:03 | <&ToxicFrog> | AnnoDomini: tineye |
00:04 | <&ToxicFrog> | simon_: does it support iteration? |
00:04 | <@Azash> | What about google reverse image search?= |
00:04 | <&ToxicFrog> | Because you can do it really simply that way. |
00:04 | <@Azash> | It also finds similar images |
00:04 | < simon_> | ToxicFrog, it's functional. |
00:04 | < AnnoDomini> | ToxicFrog: Ah, yes, thank you. |
00:04 | <&ToxicFrog> | You just said it doesn't support recursion, so as far as I'm concerned all bets are off at this point~ |
00:05 | < simon_> | ToxicFrog, there's basically size-reducing recursive calls, case-of, let-in, input variables, output variables and some bijective operations. |
00:05 | < celticminstrel> | ...what language is this even. |
00:05 | < simon_> | (plus, minus, xor) |
00:06 | < simon_> | celticminstrel, it's a language my supervisor designed for work on optimizing reversible hardware circuits. |
00:07 | < celticminstrel> | Oh |
00:07 | < simon_> | celticminstrel, I don't think there's much work available on functional, reversible languages. he cites one article called "towards a functional, reversible language" from 2007. |
00:08 | < simon_> | in general, reversible computing is a very small crowd of people worldwide. |
00:08 | < simon_> | heh |
00:08 | <&ToxicFrog> | What does "reversible" mean in this context? |
00:09 | < simon_> | ToxicFrog, it means that if you consider your program as a function f, then f^(-1) can easily be deduced. which means that all the components of the program must also be invertible. |
00:10 | < simon_> | ToxicFrog, sometimes that means that all functions used must be injective, and sometimes it means they must be bijective, depending on the restrictions and the use-cases of the languages. |
00:10 | < celticminstrel> | Sounds... intensely restricting. |
00:10 | < simon_> | celticminstrel, yeah. |
00:11 | < simon_> | celticminstrel, as a proof-of-concept, my supervisor wrote an H.264 encoder... it seemed very tricky, though. |
00:11 | < simon_> | the cool thing is that once you do it, you instantly have a decoder :) |
00:12 | < RichyB> | What. |
00:12 | < RichyB> | So it's like... Prolog, only you could plausibly bake it into transistors? |
00:13 | < simon_> | ummm |
00:13 | < RichyB> | Every (predicate|function) can be run in either direction. |
00:14 | < RichyB> | You can't implement multiply(x, y) = x*y, because x or y might be 0 and then you'd lose the value of the other one, right? |
00:17 | | * RichyB pokes simon_ with a stick. |
00:17 | < simon_> | sorry |
00:18 | < RichyB> | Got any documentation or links or anything? Paper names? |
00:18 | < RichyB> | This sounds really cool. :) |
00:18 | < simon_> | yes! just a sec. |
00:18 | < RichyB> | Thank you! |
00:20 | < simon_> | got an email? |
00:21 | < RichyB> | rchrd@brrll.co.uk |
00:25 | < simon_> | sent |
00:25 | < simon_> | I don't know if it's exactly like Prolog. |
00:25 | < simon_> | Prolog doesn't mind general recursion, for example. |
00:26 | < RichyB> | Yeah, and Prolog's only runtime-typed. |
00:26 | < RichyB> | It sounds like it might have the same turn-your-neurons-into-a-pretzel effect, though. :) |
00:27 | < simon_> | I'm not sure I know that effect :) |
00:27 | < RichyB> | Received, thank you very much! |
00:28 | < simon_> | they're hardware description languages. the high-level language is intended to describe circuits at an abstract level, so you can for example describe a binary adder without specifying its width. |
00:28 | < sykwerk> | AnnoDomini: Google Image Search also has reverse search now |
00:29 | < simon_> | the low-level language is intended to describe acyclic circuits, so that is why general recursion isn't allowed. |
00:29 | < RichyB> | Ah. |
00:29 | < simon_> | (i.e., current will travel a finite distance through the circuit before an answer is generated) |
00:30 | < RichyB> | So if it were meant as a software programming language rather than a HDL, you could have left the guaranteed termination out? |
00:30 | < simon_> | and the low-level language is designed using combinators to ensure against wiring stuff cyclically, so it is essentially functional. |
00:30 | < RichyB> | *left the restriction (size-reducing recursion only) that guarantees termination out. |
00:30 | < simon_> | yeah |
00:31 | < RichyB> | ...since hardly anyone ever feels the need to prove termination of their software. |
00:31 | < RichyB> | IMHO mostly a reasonable choice. |
00:31 | < simon_> | but it is intended to go into low-powered circuitry abusing Landauer's limit if/when we ever get efficient circuitry. |
00:32 | < RichyB> | I do really care about properties like not-segfaulting, never opening a SQL injection vuln, etc. But an infinite loop? That's a DoS problem at worst, and probably will get caught by QA anyway. |
00:32 | < simon_> | yeah |
00:32 | < RichyB> | Something I don't understand about Landauer's limit. |
00:32 | < RichyB> | Does it mean that you could do a really long computation with many internal steps but which produces only a few hundred bits of spurious output, |
00:33 | < RichyB> | and then perform a projection, pay the energy cost for discarding the spurious output, and get an answer while only having to pay full price for the projection rather than the intermediate state transitions? |
00:34 | < RichyB> | That almost feels like cheating. |
00:34 | < simon_> | to be honest, I have no idea how creating a zero-energy computer in the physical world is even possible. |
00:35 | < RichyB> | Feynman has a paper/talk called "There's Plenty of Room At The Bottom", in which he discusses upper bounds on the efficiency of computers that are set by physics. You might have read it already? http://www.zyvex.com/nanotech/feynman.html |
00:36 | < simon_> | I haven't read it, but seeing as one of the reversible gates are named after him, maybe I should. |
00:36 | < simon_> | I seem to recall that the Feynmann gate is a universal reversible gate. |
00:36 | < RichyB> | If I'm understanding his description of it correctly, reversible computation is merely really, really cheap rather than free, and the cost depends on the reliability of the result. |
00:37 | < Reiv> | Landauers Limit? |
00:37 | < simon_> | RichyB, sounds like it. my supervisor doesn't claim superior results. |
00:37 | < simon_> | Reiv, the minimal possible amount of energy used by a computation. |
00:38 | < simon_> | Reiv, it's a theoretical lower bound. |
00:38 | < RichyB> | Reiv: the application of Maxwell's daemon to computer science. :) |
00:38 | < Reiv> | So you are writing software to actually run on minimum-charge systems. Interesting. |
00:38 | < simon_> | Reiv, imagining one can go down and store a bit of information in one electron-volt, removing that electron-volt will also remove the data. |
00:39 | < simon_> | Reiv, I'm just trying to write an optimizing compiler between two HDLs. |
00:39 | < RichyB> | One of the ways of looking at Maxwell's daemon is as a proof that you can't have perform a given computation for less than a certain quantity of energy, because if you could compute too efficiently then you could implement Maxwell's daemon and reverse thermodynamics. |
00:39 | < simon_> | Reiv, but right now I find it hard to even describe meaningful programs in either the source language or the target language. |
00:39 | < RichyB> | Landauers limit is the amount of work that you have to do in order to erase one bit of information, I think? |
00:40 | < simon_> | RichyB, yes, that sounds right. |
00:41 | < simon_> | Reiv, so the idea is that if you never throw away information from your computations, your computations are not doomed to let the energy that holds the information dissipate. |
00:41 | < simon_> | Reiv, right now, landauer's limit is very much below the amount of energy our electronic circuits waste on simply being inefficient. |
00:42 | < simon_> | the hope is that in some decades or a century we have approached it significantly. |
00:42 | | You're now known as TheWatcher[T-2] |
00:43 | < simon_> | something about finding a stepping stone towards the notorious quantum computer. |
00:43 | < Reiv> | I see. |
00:45 | < simon_> | so it seems I can't do fibonacci functions without either general recursion or multiplication with variables. |
00:48 | < simon_> | thanks for the link, RichyB. |
00:54 | <&ToxicFrog> | Ok, I can aim the laser now. Progress! |
00:55 | < simon_> | lasers? |
00:55 | < simon_> | or rather |
00:55 | < simon_> | LAZORZ? |
00:55 | < RichyB> | simon_: you're welcome; I think you gave me a much larger quantity of interesting reading material than I managed to give you anyway! :) |
00:56 | < simon_> | RichyB, the rate at which interesting reading material grows is higher than the rate at which I can read, so I usually praise myself with how little I've told myself to read. ;-) |
00:56 | < RichyB> | Hah! |
00:56 | | * RichyB has more than a metre deep in unread books. |
00:57 | < RichyB> | What's more is I haven't managed to stop myself buying more from Amazon yet. |
00:57 | <&ToxicFrog> | simon_: only one! |
00:57 | <&ToxicFrog> | Now I need to fuse methane to nitrogen triflouride. |
00:57 | < simon_> | ToxicFrog, is that a game? |
00:57 | <&ToxicFrog> | SpaceChem, yes. |
00:58 | <&ToxicFrog> | It is a game that is secretly a series of programming exercises in concurrent befunge. |
00:58 | < simon_> | haha |
00:59 | < simon_> | I just read a youtube review in which the words "novel" and "really easy to wrap your head around" were uttered. |
00:59 | < simon_> | s/read/heard/ |
00:59 | <&ToxicFrog> | Well, it does ease you in gently |
00:59 | <&ToxicFrog> | And the difficulty curve is immaculately tuned |
01:00 | <&ToxicFrog> | It does not, however, fuck around once you're out of the tutorial. |
01:00 | <&ToxicFrog> | One reviewer likened it to learning to ride a bike as a kid, where at first it's completely impossible and overwhelming, and then you figure it out, and it's completely natural, and you turn around to bike back - |
01:01 | <&ToxicFrog> | And your dad is standing there next to an Apache helicopter saying "you did so well with the bike you should have no trouble with this!" |
01:02 | < RichyB> | D'awwww. |
01:04 | <&McMartin> | That sounds about right. |
01:06 | <&ToxicFrog> | McMartin: this level is horrible and fusing nitrogen triflouride leaves me with six spare hydrogens :/ |
01:07 | <&McMartin> | I'm pretty sure I was able to make the stoichiometry work out on this one. |
01:07 | <&McMartin> | But it may have had a cycle. |
01:07 | <&McMartin> | I'd have to load it up to check |
01:07 | <&McMartin> | ANd I am still at work |
01:08 | <&ToxicFrog> | Methane has a total mass of 10 and NF3 has a total mass of 34, so you need at least five iterations to make it work out. |
01:10 | | Attilla [Obsolete@Nightstar-5ec67f16.as43234.net] has quit [[NS] Quit: ] |
01:13 | <&ToxicFrog> | Only having one and a half reactors to work with for this sucks. |
01:20 | <&McMartin> | I do remember connector constraints being my primary problem. |
01:20 | <&McMartin> | Though I do suddenly wonder if I'm confusing BA SHOGTH, THE CONTROLLER, with XOTHOTHOR, THE CHROMATIC HORROR |
01:22 | <&McMartin> | I definitely recall routing being an issue, but it was fairly rare for me to ever do a "I will win before my reactor pipes jam" build. |
01:23 | | You're now known as TheWatcher[zZzZ] |
01:23 | <~Vornicus> | I did one of those once |
01:24 | <~Vornicus> | I managed to get a producer down to 6 2/3 steps per output. |
01:24 | <~Vornicus> | the consumer could only do 7. |
01:24 | <&ToxicFrog> | BA SHOGTH is the one with the asteroids. |
01:24 | <&McMartin> | I think you're the only one who has yet faced BA SHOGTH. |
01:25 | <&McMartin> | Besides me. |
01:25 | <&McMartin> | It definitely poses certain unique challenges, and puts hard limits on reactor output assignments as a result. |
01:25 | <&McMartin> | But I do tend to stay quiet about it because I like seeing the reactions of people who hit it cold~ |
01:26 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has quit [Ping timeout: 121 seconds] |
01:28 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has joined #code |
01:31 | | Derakon[AFK] is now known as Derakon |
01:31 | < simon_> | did someone inhere get a job at google recently? |
01:31 | < Reiv> | TF. |
01:31 | < simon_> | a friend of mine did so as well. |
01:31 | < simon_> | ah |
01:31 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has quit [[NS] Quit: Leaving] |
01:39 | | Nemu_ [NeophoxProd@Nightstar-bc6f9af8.asahi-net.or.jp] has joined #code |
01:40 | | Nemu [NeophoxProd@Nightstar-776a58ef.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
02:05 | | * ToxicFrog ponders an alternate design that, on the face of it, seems absurd, but which he suspects may work better in practice |
02:10 | <&McMartin> | ToxicFrog: I use the leftover hydrogen atoms to feed to Input 3 for the device. |
02:11 | <&ToxicFrog> | McMartin: my main concern there is that it ends up getting three times as much "fire!" as it does actual fuel. |
02:11 | <&ToxicFrog> | (my crazy idea is to have reactor 1 generate H and NF3, and reactor 2 generates either H2 or CH4 depending on how it's configured) |
02:12 | <&McMartin> | Looking at my layout, I think it serves as a recycler when it's not a trigger, but I'm honestly unsure |
02:12 | <&McMartin> | It does look like I put no controls on it |
02:52 | <&ToxicFrog> | Oh my word |
02:52 | <&ToxicFrog> | The laser emits a continuous beam? |
02:52 | <&ToxicFrog> | It's christmas! |
02:53 | <&ToxicFrog> | Ok, I think I have this licked. |
02:53 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
02:53 | | mode/#code [+o Alek] by ChanServ |
03:02 | | Nemu [NeophoxProd@Nightstar-670beb35.asahi-net.or.jp] has joined #code |
03:04 | | Nemu_ [NeophoxProd@Nightstar-bc6f9af8.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
03:37 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:44 | | Kindamoody[zZz] is now known as Kindamoody |
03:47 | | Nemu_ [NeophoxProd@Nightstar-988b7c69.asahi-net.or.jp] has joined #code |
03:48 | | Nemu [NeophoxProd@Nightstar-670beb35.asahi-net.or.jp] has quit [Ping timeout: 121 seconds] |
04:12 | <&ToxicFrog> | Aaaaagh fuckwaffles |
04:13 | <&ToxicFrog> | This game really needs backtraces |
04:14 | < celticminstrel> | Waffles are good too. |
04:14 | <&Derakon> | I haven't had waffles in ages. :( |
04:16 | <&ToxicFrog> | Ok, the biggest problem with my design here is that you can't easily toggle it between "fire the laser" and "turn the laser". |
04:23 | < celticminstrel> | The only waffles I've had recently are toaster waffles. |
04:24 | < celticminstrel> | Which are all well and good, but not as good as proper waffles. |
04:53 | <&ToxicFrog> | HAH |
04:53 | <&ToxicFrog> | BA SHOGTH, THE CONTROLLER defeated! |
04:54 | <&ToxicFrog> | Something like two cycles before the station would have exploded >.> |
05:24 | | * Vornicus pokes at some code to do crazy mathy optimizey things. |
05:24 | | * simon_ is implementing dead-code elimination in a functional language... this is fun. |
05:25 | < simon_> | is this laser game deterministic? |
05:26 | <&ToxicFrog> | If by laser game you mean spacechem, yes. |
05:26 | <&Derakon> | Spacechem is broadly Brainfuck: the game. |
05:26 | <~Vornicus> | Not brainfuck |
05:26 | <~Vornicus> | befunge. |
05:27 | <&Derakon> | Er, right. |
05:27 | <~Vornicus> | Even those levels where there are "random" things they show up in a particular order every time. |
05:27 | <&Derakon> | You set up conveyor belts with basic logic operations to construct molecules. |
05:29 | <&ToxicFrog> | simon_: an example: http://www.youtube.com/watch?v=67U5j89dE4A&feature=plcp (spoilers for "Molecular Foundry") |
05:32 | <@iospace> | http://www.dangermouse.net/esoteric/chef_fib.html |
05:44 | <~Vornicus> | Okay. 1. Determine the usefulness of various loadouts on each planet under a variety of conditions. up to 2 + 3*3 + 4*3 + 5 = 28 different loadouts per planet, because the actual positions of specific system-wide facilities are irrelevant. 2. start combining planets, making sure that the number of filled system-facility slots is less than or equal to the number of system-facility slots |
05:44 | <~Vornicus> | required for that loadout. 2a. When all planets in a system have been covered, delete ones where the system-wide facility slots are unfilled, and combine some more. |
05:45 | <~Vornicus> | 3. combine all the systems. |
05:49 | <&Derakon> | What exactly are you trying to achieve here? |
05:52 | <~Vornicus> | The thing I'm trying to optimize is: I have a variety of planets on which I can build facilities which produce one of three resources. The planets have rates at which they can produce the various resources, which varies by resource. For instance this one planet produces 103% nominal minerals, 71% nominal food, and 132% nominal energy. Then there are planet-wide enhancers for each resource, and |
05:52 | <~Vornicus> | system-wide enhancers for each resource, and a couple of miscellaneous bonuses. |
05:53 | <~Vornicus> | I need to come out with a particular ratio of resources and I want to see how much I can get at that ratio. |
05:53 | <&Derakon> | Ah. |
05:54 | | * ToxicFrog deploys libslep |
05:56 | | Nemu_ [NeophoxProd@Nightstar-988b7c69.asahi-net.or.jp] has quit [Client closed the connection] |
05:56 | | Nemu [NeophoxProd@Nightstar-2678ca93.asahi-net.or.jp] has joined #code |
05:56 | <~Vornicus> | Which means really that the great majority of planets will specialize completely and then there will be one that's kind of all over the place, but determining the one is tricky. |
06:09 | | celticminstrel is now known as celmin|Zzzzz |
06:11 | | You're now known as TheWatcher |
06:25 | | ErikMesoy|sleep is now known as ErikMesoy |
06:44 | <~Vornicus> | combining is amazingly complicated; I do cartesian product and add each pairing, and then filter out the ones that are dominated. |
06:44 | < sykwerk> | well |
06:45 | <~Vornicus> | well? |
06:45 | < sykwerk> | morning tea is done, goodbye card has been given, now to wait |
06:46 | < sykwerk> | lol I can't do any actual work so i'm just sitting around. Last day \o/ |
06:46 | < sykwerk> | Vornicus: is this your space game reimplementation? |
06:47 | | Derakon is now known as Derakon[AFK] |
06:52 | <~Vornicus> | no, this is a tool for another space game. |
06:53 | < sykwerk> | ooh |
06:53 | <~Vornicus> | My space game has no real concept of resources in this sense; your output is entirely as ships, which you can spend on industrial development or fortification or stargates |
06:53 | <~Vornicus> | or radar. |
06:53 | | * sykwerk nods |
06:53 | < sykwerk> | interesting |
06:54 | <~Vornicus> | makes everything a lot simpler |
06:54 | < sykwerk> | indeed |
06:54 | < sykwerk> | do you know how it plays yet? |
06:55 | < sykwerk> | (as in, how well the ships only mechanic works) |
06:55 | <~Vornicus> | I played it many times before, which is why I'm confident that most of the concepts in it I can build. |
06:55 | <~Vornicus> | But I haven't played it lately and my emulator is Bustedcakes |
06:56 | <~Vornicus> | so I don't have the full mechanics available to examine, implement, and test against. |
06:58 | <~Vornicus> | I also need, uh, art. Right now I've stolen some art from Space Empires but it's desperately inappropriate for this kind of task: Space Empires' art is very, uh, realistic, and can be hard to read sometimes. |
07:00 | <~Vornicus> | I need very clear art, with very strong colors. the original game uses ships that are solid-color red, green, blue, and magenta (by race) with white outlines, for instance. |
07:08 | | Kindamoody is now known as Kindamoody|out |
07:13 | | You're now known as TheWatcher[afk] |
07:50 | < sykwerk> | Vornicus: would FTL sprites work? |
07:52 | <~Vornicus> | Let me look for some images and I'll tell you |
07:54 | < sykwerk> | they might be too large |
07:54 | <~Vornicus> | Hm. All I can find is big detailed ones, which aren't at all what I want: my estimate puts a maximum size of about 30-50 pixels on my sprites. |
07:55 | < sykwerk> | hmm |
07:57 | < sykwerk> | Vornicus: remind me when i'm home |
07:57 | <~Vornicus> | http://macintoshgarden.org/games/galactic-frontiers |
07:57 | < sykwerk> | FTL has some small spritrs in the menus |
07:57 | < sykwerk> | i think |
07:57 | <~Vornicus> | To give you some sense; image 1 and 5 are of the galaxy maps. |
07:59 | < sykwerk> | hmm I see |
08:17 | <~Vornicus> | But even FTL's art would be unacceptable - it's not really available for me to use. |
09:14 | <&jerith> | Vornicus: http://www.lostgarden.com/2007/04/free-game-graphics-tyrian-ships-and.html ? |
10:04 | | RichyB [richardb@Nightstar-3b2c2db2.bethere.co.uk] has joined #code |
10:08 | | You're now known as TheWatcher |
10:26 | | Attilla [Obsolete@Nightstar-732a9fe2.range109-156.btcentralplus.com] has joined #code |
10:30 | | Attilla [Obsolete@Nightstar-732a9fe2.range109-156.btcentralplus.com] has quit [[NS] Quit: ] |
10:33 | | Attilla [Obsolete@Nightstar-732a9fe2.range109-156.btcentralplus.com] has joined #code |
10:35 | | AnnoDomini [abudhabi@Nightstar-27936bbc.dynamic.chello.pl] has quit [[NS] Quit: Awright, let's get this show on the road.] |
10:49 | | abudhabi [abudhabi@Nightstar-27936bbc.dynamic.chello.pl] has joined #code |
10:52 | | abudhabi [abudhabi@Nightstar-27936bbc.dynamic.chello.pl] has quit [[NS] Quit: Gonna try to fix.] |
10:53 | | herp [NSwebIRC@Nightstar-620f86f5.adam.com.au] has joined #code |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam spam spam spam |
10:53 | < herp> | spam spam spam spam |
10:53 | < herp> | v |
10:53 | < herp> | spam spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam |
10:53 | < herp> | spam spam spam spam spam spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | < herp> | spam |
10:54 | | * herp slaps TheWatcher around a bit with a large fishbot |
10:54 | | * herp slaps gnolam around a bit with a large fishbot |
10:54 | | * herp slaps Reiv around a bit with a large fishbot |
10:54 | | * herp slaps gnolam around a bit with a large fishbot |
10:54 | | * herp slaps celmin|Zzzzz around a bit with a large fishbot |
10:54 | | * herp slaps Tamber around a bit with a large fishbot |
10:54 | | * herp slaps Namegduf around a bit with a large fishbot |
10:54 | | * herp slaps rms around a bit with a large fishbot |
10:54 | | * herp slaps Syloq_Home around a bit with a large fishbot |
10:54 | | * herp slaps rms around a bit with a large fishbot |
10:54 | | * herp slaps Moltare around a bit with a large fishbot |
10:54 | | mode/#code [+b *!*NSwebIRC@*.adam.com.au] by Tamber |
10:54 | | herp was kicked from #code by Tamber [] |
10:54 | <@Tamber> | Not even *trying* to be amusing. |
10:55 | | AnnoDomini [AnnoDomini@Nightstar-27936bbc.dynamic.chello.pl] has joined #code |
10:55 | | mode/#code [+oooooooooooooooooo Attilla PAndemic simon_ Reiv AnnoDomini Orthia Moltare celmin|Zzzzz cpux Syloq_Home ErikMesoy shawn-p Nemu rms gnolam EvilDarkLord RichyB sykwerk] by Tamber |
11:19 | <@froztbyte> | dafuq just happened |
11:20 | <@TheWatcher> | Twazzock happened. |
11:27 | | * TheWatcher eye this, sighs vaguely, tries to work out if there's some way to go Inquisitor on a directory of files in this git repo without affecting other files that were added in the same commit |
11:43 | <@froztbyte> | why Inquisitor and not Grand Librarian? |
11:45 | <@TheWatcher> | The Inquisitor (at least the one from Red Dwarf!) travels through time, seeking out the worthless and erasing their existence from time, so that not only do they no longer exist, they never did. |
11:47 | <@sykwerk> | TheWatcher: that episode is great |
11:50 | <@TheWatcher> | Indeed. I think RD-V is one of the best series of the lot |
11:50 | <@sykwerk> | have you seen Back To Earth? |
11:50 | | sykwerk is now known as Syk |
11:50 | <@Syk> | also, I finished work |
11:50 | | * Syk is now /so/ unemployed |
11:54 | <@TheWatcher> | I know not of this thing, they stopped making Red Dwarf after series 6. |
11:56 | <@Syk> | TheWatcher: Back To Earth is RD-crew only on an empty ship |
12:16 | | * TheWatcher ponders |
12:17 | <@TheWatcher> | Since I'm in the office, I wonder if I should go hunt down $co-worker and properly illuminate her on the horrors that are dealing with video on the web |
12:18 | <@TheWatcher> | Normally I'd be all for crushing the naive world views of neophytes, but I suspect that she can't actually grasp the full magnitude of the fuckery involved. |
12:23 | <&jerith> | TheWatcher: Just send her to a big Vimeo video. |
12:24 | <&jerith> | And mention how many people YouTube pays to make the stuff even vaguely work. |
12:25 | <@TheWatcher> | (bonus points: they're all armflailing about wanting everything to work on mobile devices and normal web browsers) |
12:26 | <&jerith> | Hand them a Samsung e250, which is representative of the kind of mobile device most people have. |
12:26 | <@TheWatcher> | (I would be laughing my arse off, if I wasn't actually the person who was having to make it work ¬¬) |
12:27 | <@TheWatcher> | Would be nice, but it seems the majority of staff here are utterly convinced that all the students have iphones. |
12:27 | <&jerith> | Heh. Not even close. |
12:28 | <@TheWatcher> | Despite me pointing out that a) no they don't and b) the only reason that it looks like they do is that the ones with iphones are usually the entitled whiners who bitch about anything not working on their precious applecrap |
12:28 | <&jerith> | Of my comparatively wealthy friends, most of whom are in the tech industry, nearly half don't have smartphones of any kind. |
12:29 | <@TheWatcher> | But, anyway |
12:31 | <@Syk> | out of a sample of me |
12:31 | <@Syk> | android has a 200% market penetration |
12:32 | <@celmin|Zzzzz> | Oh. A spambot. |
12:32 | <@celmin|Zzzzz> | Happened. |
12:32 | <@TheWatcher> | Yey IRC. |
12:33 | <@Syk> | you could probably ban *.adam.com.au |
12:33 | <@Syk> | nobody sane uses adam |
12:34 | <@TheWatcher> | Naah, just ban *.au, nobody sane lives there anyway ;P |
12:34 | | * TheWatcher flrrrd |
12:35 | <@Syk> | well out of a representative sample set of me |
12:35 | <@Syk> | ...you're pretty much right, Australia has no sane people. |
12:36 | <@Syk> | ('dropbears can also hover in hunt of their victim' usually makes the immigrants go insane in the average time of a week) |
12:36 | <@froztbyte> | you're the good kind of insane, Syk |
12:37 | <@Syk> | also, had going away morning tea this morning |
12:37 | <@Syk> | literally the whole office attended... and a few people from the depot and airport, even |
12:38 | | * Syk feels bad because she's leaving people that appreciate her, but oh well |
12:44 | | celmin|Zzzzz is now known as celmin|busyish |
12:52 | <@Tarinaky> | I need to find someone who does stats or science to draw some graphs showing/disproving that there was a protest hiding in the low voter turn-out. |
12:52 | <@Tarinaky> | But, obviously, I need to seperate this from general apathy. |
12:53 | <@Tarinaky> | I have no idea how to proceed. |
12:53 | <@Syk> | you couldn't really work that out without a survey |
12:53 | <@Tarinaky> | But there was a By-election in Manchester with an 18% turn out. I figure that's a useful stat to use to try to seperate the noise. |
12:53 | <@Syk> | which of course wouldnt work because people with apathy wouldnt respond :P |
12:53 | <@Tarinaky> | Syk: Not even estimate? |
12:54 | <@Syk> | you could estimate |
12:54 | <@TheWatcher> | Tarinaky: the PCC thing? |
12:54 | <@Syk> | but remember that some estimates said that Romney will have a landslide, so |
12:54 | <@Tarinaky> | TheWatcher: Yeah. |
12:54 | <@TheWatcher> | Yeah, I expect that'll be pretty hard to separate protest v nongivingashit. |
12:54 | <@Tarinaky> | A fair number of people are opposed to the PCC thing, myself included. The only protest we have is to not vote. |
12:55 | <@TheWatcher> | Well, no - you cold spoil the ballot |
12:55 | <@TheWatcher> | *could |
12:55 | <@Tarinaky> | Counted the same. |
12:55 | <@TheWatcher> | i do agree that we need a "None of the above" on the ballots, though |
12:56 | <@Syk> | ugh okay |
12:56 | <@Syk> | reading my going away card - worst idea |
12:56 | <@Tarinaky> | Anyone who thinks PCCs are a good idea needs to watch The Wire :/ |
12:56 | <@Tarinaky> | Unfortunately nobody watched The Wire. |
12:57 | <@TheWatcher> | Well, really, they just have to look at the one huge flaw in the entire system: |
12:57 | <@Tarinaky> | The contradiction that the PCC can't exert political pressure but can sack the chief? |
12:57 | <@TheWatcher> | None of them, not a single candidate for the police commissioner, in all of England, has the surname "Gordon" |
12:57 | <@Tarinaky> | Heh. |
12:58 | <@TheWatcher> | I mean, WTF? What kind of mockery are they trying to make of things?! |
12:58 | <@Tarinaky> | Maybe next time. |
12:58 | <@Syk> | they need to appoint Chester Heif |
12:58 | <&jerith> | PCC? |
12:59 | <@TheWatcher> | Police and Crime Commissioner |
12:59 | <@TheWatcher> | (a title which, if taken literally, makes one wonder if they are actually commissioning crimes) |
13:00 | <@TheWatcher> | The latest waste of money, hair-brained, utterly fucking stupid idea to come out of the sorry shambling mess of dribbling idiots called the UK Government. |
13:00 | <@Tarinaky> | It is British Bureaucracy: they have to make sure the crime rate doesn't fall or they might lose funding :p |
13:00 | <@TheWatcher> | Yeah, they can't simply rely on police incompetence anymore... |
13:00 | <@Syk> | TheWatcher: the Government Digital Service seem to be okay though |
13:01 | <@Tarinaky> | I was hoping for voter turn-outs in the single digit percentiles. |
13:01 | <@Syk> | from what i've seen, it's like, the only kind of rational part of the whole gov |
13:01 | <@Tarinaky> | Would have made the protest more obvious. |
13:01 | <@Tarinaky> | Just like any election: you can win the popular vote but still lose the race :p |
13:03 | <@Syk> | know what's scary? |
13:03 | <@Syk> | i've worked at the job I just quit for 1/4 of my life |
13:03 | <@Syk> | that is utterly /terrifying/ to me |
13:04 | <&jerith> | Syk: I've been writing code for nearly a quarter of a century. |
13:05 | <&jerith> | And I haven't had any job for more than three years. |
13:05 | <@Syk> | the job i just finished was 4.5 years |
13:05 | <&jerith> | (Although this one will probably last.) |
13:06 | | * TheWatcher has had his current one for 12 years now |
13:06 | <@Syk> | 4.5 years is like... forever to me |
13:06 | <@Syk> | i'm sure that'll fade eventually |
13:06 | <@froztbyte> | it will |
13:07 | <@froztbyte> | and then you'll wish it didn't |
13:07 | <@Syk> | heh |
13:07 | <@froztbyte> | (says he who only recently turned 26) |
13:07 | <@TheWatcher> | (well, continuous employment by the same employer - the job itself has been subject to some... accretion) |
13:07 | <@Syk> | ive got a few weeks until my 19th |
13:08 | | * Syk is babby |
13:08 | <@froztbyte> | how is syk formed |
13:08 | <&jerith> | Not babby. |
13:08 | <&jerith> | Just young. :-) |
13:08 | <&jerith> | (Also awesome.) |
13:09 | <@froztbyte> | Syk strikes me as someone who still needs to graduate hate school, though |
13:09 | <@froztbyte> | should be solved by the impending job switch |
13:10 | <&jerith> | So. One person's e250 sends form actions in a GET request, another person's sends them (correctly) on a POST request. |
13:10 | <@Syk> | hate school? |
13:10 | <@froztbyte> | (this is a good and bad thing) |
13:10 | <@Syk> | hey TheWatcher |
13:10 | <@Syk> | uhm |
13:10 | <&jerith> | *in |
13:10 | <@Syk> | Tamber: tamber, weigh in on me and hate school |
13:10 | <@Syk> | :P |
13:10 | <@froztbyte> | jerith: different firmware versions? |
13:11 | <&jerith> | froztbyte: Probably. |
13:11 | <@Syk> | froztbyte: syk is formed via synergistic cloudformations with aligned continual improvement process formulations |
13:11 | <&jerith> | Except the one sending GETs is in a different city from the person working on the code. |
13:12 | <@Syk> | jerith: not entirely sure how i'm awesome, but okay :P |
13:12 | <&jerith> | Syk: You're too old to have been formed by Clouds. I invented the Cloud six years ago. |
13:12 | <@Syk> | nokia e250 - symbian, right? |
13:12 | <&jerith> | Syk: Samsung e250. |
13:12 | <@Syk> | oh |
13:12 | <&jerith> | Running whatever crappy OS they use. |
13:12 | <@Syk> | ...there be dragons |
13:12 | <@froztbyte> | there be many many dragons |
13:12 | <@Syk> | like, not the regular dragons |
13:12 | <@Syk> | or the furry-variety of dragons |
13:12 | <&jerith> | Samsung builds decent hardware, but truly awful operating systems. |
13:13 | <@Syk> | there lies dragons that enjoy mangling every concept you hold dear |
13:13 | <@Syk> | and desecrating the corpse with bugs that have bugs in themselves |
13:14 | <@Syk> | Samsung software working is just that we're in the universe that is consistently lucky |
13:16 | <@Syk> | what you think is the mainboard is just a hardware RNG pumping into a processor |
13:16 | | * TheWatcher sighs at the code the summer intern wrote |
13:16 | <@TheWatcher> | Why do people never write decent code documentation ;.; |
13:17 | <@Syk> | because that requires them having to think about the mediocre code that they just wrote |
13:17 | <@Azash> | TheWatcher: We're doing a project currently which involves using ASTs to look at program flow and possible values, and see if there are any clear XSS vulnerabilities |
13:17 | <@Azash> | I think there are around five lines of comments in the project, total |
13:17 | <@Azash> | :p |
13:18 | <@Syk> | i did a thing on my biggest project at work |
13:18 | <@Syk> | i had two lines of comments |
13:18 | <@Syk> | "this is here because syka was being silly" |
13:18 | <@Syk> | "at least i wasn't asleep" |
13:19 | | * Azash peers at https://github.com/haeroe/jssanal/blob/master/src/function_object.js |
13:19 | <@Azash> | Syk: Hee hee |
13:20 | <@Syk> | oh wait no |
13:20 | <@Syk> | at the top of the main module i wrote some conventions for comments |
13:21 | <@Syk> | " #FIX# means somewhere that can be improved, #RET# is where the return data is explained and #IDUNO# is code that I forgot how works and I used letters for variables" is pretty much how it went |
13:21 | <&jerith> | TheWatcher: Documentation and readability are strongly correlated with code quality. |
13:22 | <@Syk> | tbh i am a fan of 'the code is the documentation' for some things |
13:22 | <@Syk> | that the code should be explained through the variable names |
13:22 | <@Syk> | any comments are a bonus |
13:23 | <&jerith> | Syk: Agreed. |
13:23 | <@Syk> | i'm considering buying a private github account |
13:23 | <&jerith> | Why? |
13:24 | | * jerith looks for a good example of the kind of documentation-in-code he's thinking of here. |
13:24 | <@Syk> | because I'm not sure if I trust my local computers |
13:24 | <@Syk> | ofc, that's why dropbox exists... |
13:25 | <@Azash> | Syk: A combination is pretty good IMO, with descriptive names, and then comments to clarify things like, what kind of data and in what format a function call takes and returns |
13:25 | <@Syk> | yeah |
13:26 | <@Azash> | Something I noticed in our project is that no matter how descriptive you make things, some things will just be black magic without comments |
13:26 | <&jerith> | https://github.com/praekelt/vumi/blob/develop/vumi/persist/fields.py#L38 and https://github.com/praekelt/vumi/blob/develop/vumi/persist/fields.py#L355 |
13:26 | <&jerith> | I tend to write explanatory comments the second time around, though. |
13:27 | | * TheWatcher runs perlstats on his current project |
13:27 | <@Azash> | jerith: Looks good |
13:27 | <&jerith> | The first time I'm too deep in the details and a bunch of stuff is just obvious. |
13:27 | <@Syk> | yeah |
13:27 | <@Syk> | ugh |
13:27 | <@Syk> | i read my goodbye card earlier and now i'm all teary and upset |
13:27 | <@Syk> | i might just give up on getting any work done tonight |
13:27 | | * jerith hugs Syk. |
13:28 | <@Azash> | :< |
13:28 | | * Syk hug |
13:29 | <@Syk> | yeah |
13:30 | <@TheWatcher> | Comments: 432946 of 978094 characters (44.26%) |
13:31 | <@TheWatcher> | Huh, that's actually about 8% over my normal average |
13:31 | <@Azash> | /* incrementing foo by 1 (adding +1 to the variable foo */ |
13:32 | <@Azash> | foo = foo + 1; // increases foo value |
13:32 | <@Azash> | /* can also be written as 'foo++;', thanks James |
13:32 | <@Azash> | Oops, I forgot to close it.. |
13:33 | <@TheWatcher> | Azash: for example, https://github.com/TheWatcher/webperl/blob/master/Auth.pm |
13:34 | <@Azash> | Nice |
13:37 | | auREAX [mark@42F7BC.C2C1CC.B64DF6.88F7A5] has joined #code |
13:38 | <@TheWatcher> | On that note, I need to remove the @todo from that, as I doed it. |
13:39 | < auREAX> | Good afternoon |
13:41 | <@Azash> | Hey hey |
13:50 | <@celmin|busyish> | So, MacPorts decided to break for some reason, forcing me to uninstall gcc. |
13:53 | <@celmin|busyish> | Seems the core issue is that I can no longer have gcc4.7 and gcc4.8 installed simultaneously. |
13:53 | <@celmin|busyish> | Because libstdcxx and libstdcxx-devel are considered to conflict. |
13:54 | | * celmin|busyish decides to install only 4.8, since for non-experimental stuff I use clang anyway now. |
14:00 | <@Azash> | How is clang? |
14:04 | <@celmin|busyish> | It's really good. |
14:04 | <@celmin|busyish> | Diagnostics are orders of magnitude better than gcc, usually. |
14:04 | | celmin|busyish is now known as celticminstrel |
14:05 | <@celticminstrel> | There are cases where they're worse, which is usually when the compiler crashes and prints a stack trace. |
14:05 | <@celticminstrel> | But I think that's rareish. |
14:09 | | * Azash nods |
14:09 | <@Azash> | Wonder if it'll have a chance of replacing gcc then |
14:09 | <@celticminstrel> | I think it might. |
14:11 | < auREAX> | it can compile a lot GCC can already |
14:12 | < auREAX> | like the linux kernel |
14:12 | <@Azash> | Anything it can't? |
14:13 | < auREAX> | I imagine it has issues with some GNU extensions |
14:13 | < auREAX> | which GCC has a lot of, mind you |
14:14 | <@froztbyte> | to be fair, there's some code that's particularly written in a way to make use of gcc tricks |
14:14 | <@celticminstrel> | Last I checked it also had issues with lambdas despite claiming to support the.. |
14:14 | < auREAX> | yeah |
14:14 | <@celticminstrel> | Chances are this has been fixed since then. |
14:14 | <@froztbyte> | so when the worth of clang is clear (sorta now-ish), people will just start patching |
14:14 | <@celticminstrel> | Clang does support a lot of GCC extensions. |
14:14 | < auREAX> | GNU extensions can make your life easier, so people use them |
14:14 | <@froztbyte> | but argleblargle C/C++ :/ |
14:14 | <@celticminstrel> | Not sure if it supports all of them. |
14:15 | <@Azash> | All the GNU I really have experience with is looking through gnutls code |
14:15 | <@Azash> | Very interesting experience |
14:15 | < auREAX> | crypto code can be very... |
14:16 | < auREAX> | 'interesting' |
14:16 | <@Azash> | auREAX: It had this issue where it got a certificate error |
14:16 | <@Azash> | And, to very helpfully tell you that it was a cert error, it returned a 403 |
14:17 | < auREAX> | haha |
14:17 | < auREAX> | isn't that more the httpd's thing? |
14:17 | <@Azash> | Yeah but gnutls probably has the ability to return an http status code |
14:17 | <@Azash> | At least it was caused by gnutls, that much I remember |
14:18 | < auREAX> | that is quite a WTF. |
14:20 | <@froztbyte> | afaik, gnutls vs openssl are both at odds in very weird ways |
14:20 | <@froztbyte> | though all my knowledge there is secondary |
14:21 | <@TheWatcher> | And they are both made of spiders >.> |
14:24 | <@Azash> | Anyway, later |
14:27 | | shawn-p [Shawn@Nightstar-4db8c1df.mo.charter.com] has quit [Ping timeout: 121 seconds] |
14:32 | | You're now known as TheWatcher[afk] |
14:41 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
14:41 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
14:53 | | shawn-p [Shawn@Nightstar-4db8c1df.mo.charter.com] has joined #code |
14:53 | <@Syk> | i hate finding a business name |
14:54 | <@Syk> | only to find there's a similar one in the same field |
14:54 | | * Syk claws out eyeballs |
14:54 | | * Tamber patpats. |
14:54 | | * iospace curls up on Tamber's head |
14:54 | | * RichyB curls up on iospace's head. |
14:55 | <@iospace> | ^_^ |
14:55 | | * Syk adds herself to the stack |
14:55 | | * ToxicFrog delicately balances a cat on top |
14:55 | <@Syk> | http://upload.wikimedia.org/wikipedia/commons/6/67/Barking_Owl_%28Ninox_conniven s%29.jpg |
14:55 | <@Syk> | those /eyes/ |
14:56 | | * Tamber carefully pushes a muffin onto the stack, becomes flattened. |
14:59 | <@froztbyte> | my cat would totally kill that :/ |
14:59 | <@froztbyte> | (my cat, as it turns out, is fully functional) |
15:31 | <@Syk> | oh hey |
15:31 | <@Syk> | the day I finish work |
15:31 | <@Syk> | is the night that my sister quite possibly breaks her hand |
15:43 | < auREAX> | Syk: Finding A Business Name Sucks Balls Ltd. |
15:44 | <@RichyB> | Help I Am Trapped In A Branding Agency Someone Let Me Out LLC |
15:45 | < auREAX> | I swear one day I will found Code That Doesn't Suck Inc. |
15:45 | < auREAX> | it will be revolutionary |
15:45 | <@Syk> | "Finding A Business Name Sucks Balls is currently available." |
15:46 | <@Syk> | oh hey auREAX |
15:46 | <@Syk> | looks like i could roll with that |
15:46 | <@Syk> | :P |
15:46 | < auREAX> | you can shorten it to FABNSB |
15:46 | < auREAX> | Fabulous NSB |
15:46 | < auREAX> | .... wait |
15:47 | < auREAX> | ( https://en.wikipedia.org/wiki/National_Socialist_Movement_in_the_Netherlands ) |
15:47 | < auREAX> | maybe not |
15:48 | <@Syk> | eheh |
15:49 | <@ErikMesoy> | yeah, that was a funny thingy in Norwegian-Dutch relations |
15:50 | <@ErikMesoy> | In the Netherlands, the nazi party was NSB and the railroads were NS. In Norway, it was the opposite. |
15:50 | <@ErikMesoy> | So after WW2, tourists would often get slightly flustered at hearing what sounded like "take the nazi party to the next city" when asking for directions. :p |
15:52 | < auREAX> | hehe |
15:54 | | * jerith notices how active this channel is, remembers when it was just four people, feels old. |
15:55 | <@Syk> | heh |
15:56 | < auREAX> | aaaa/w 57 |
15:56 | | Syk is now known as syksleep |
15:57 | <&jerith> | 'Night syksleep. |
16:00 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
18:38 | <~Vornicus> | Okay, conundrum time: I have a finite set of vectors in Z*^3 and a comparison operator "dominated" A is dominated by B if for all k, A_k <= B_k. Is it possible to find the set of all vectors that are undominated in less than O(n^2) time, and if so, how? |
18:38 | | Vash [Vash@Nightstar-b43e074a.wlfrct.sbcglobal.net] has joined #code |
18:39 | | mode/#code [+o Vash] by ChanServ |
18:41 | <&jerith> | Vornicus: Did you see the art I linked earlier? |
18:43 | <~Vornicus> | jerith: looking up now... |
18:44 | <~Vornicus> | ah, tyrian |
18:47 | <~Vornicus> | hmmm |
18:49 | <~Vornicus> | I think I'll need to make the images I want myself. |
19:06 | <&jerith> | I guess I'm going to have to learn some C#. |
19:11 | <@RichyB> | If you already know ML then you could skip C# in favour of F#, right? ;) |
19:12 | <&jerith> | I don't know ML. |
19:12 | <&jerith> | The problem is that I have some existing C# code that I want to modify. |
19:13 | <@RichyB> | I was just being silly anyway. |
19:13 | <&jerith> | It's a map editor for a game. |
19:13 | <@RichyB> | If you write F# then all the libraries that you call for IO and so on are in C#, so you have to understand it anyway to be able to invoke them. |
19:14 | <&jerith> | The map data is just ASCII. |
19:14 | <&jerith> | The editor doesn't have load/save functionality. |
19:14 | | * Vornicus thinks at it. |
19:14 | <~Vornicus> | Yeah, okay I think I see how I can do it now. |
19:14 | <&jerith> | You copy/paste the ASCII from/to a little box. |
19:14 | <&jerith> | Except Mono hates the OS X clipboard. |
19:15 | <&jerith> | So that doesn't work for me. |
19:16 | <&jerith> | So now I want to implement proper load/save functionality, which means learning anough of the libraries to make that happen. |
19:16 | <&jerith> | *enough |
19:16 | <&jerith> | But have the stuff on the internet is about dragging and dropping things in a visual GUI designer. |
19:16 | <&jerith> | Which doesn't help me, because I don't have one of those. |
19:18 | <@RichyB> | ? |
19:18 | <@RichyB> | What does this map editor have that, say, Emacs ascii-art-mode doesn't? |
19:18 | <&jerith> | MonoDevelop is not Visual Studio. |
19:19 | <&jerith> | RichyB: A better view on the thing I'm editing. |
19:19 | | * Vornicus now goes about actually writing the code he just figured out in his head. |
19:19 | <@RichyB> | Eh, the Emacs mode is called picture-mode. |
19:19 | <&jerith> | Also some buttons that I haven't clicked on yet. |
19:19 | <@RichyB> | jerith: it's just, if I understand this right, your maps are represented as pieces of ASCII art, and your map editor is... a textarea with all cells filled? |
19:20 | <~Vornicus> | richyb: it sounds more like the N editor |
19:20 | <@RichyB> | (in a monospace font) |
19:20 | <&jerith> | No, the textarea is on the side. The main part of the GUI is the editing thing. |
19:21 | <~Vornicus> | Where you can place tiles by what they actually look like. |
19:21 | <@RichyB> | Ohkay that makes more sense. |
19:21 | | celticminstrel [celticminst@Nightstar-05d23b97.cable.rogers.com] has joined #code |
19:21 | <~Vornicus> | This way your text is a representation that doesn't have to "look right" |
19:21 | <&jerith> | Sorry, I was talking specifically about the import/export functionality. |
19:23 | <@RichyB> | It just seems like, for most games where you might represent a map as a block of ASCII chars, it'd be easiest to just pick code points whose glyphs kinda resemble the thing that they represent. |
19:23 | <&jerith> | RichyB: You very quickly run out of such glyphs. |
19:24 | <@RichyB> | I guess. You have like, 70 to start with. |
19:24 | <@RichyB> | Some punctuation and most upper & lower letters. |
19:25 | <&jerith> | There are 44 different things. |
19:25 | <~Vornicus> | N in particular has... 30 tiles, 10 of which could reasonably be matched to / and 10 more which could reasonably matched with \ |
19:26 | <@RichyB> | Heh. |
19:28 | <~Vornicus> | specifically you have shallow, normal, and steep slopes, in both top and bottom forms, and the shallow and steep ones have low and high parts that you use alternating to get a smooth slope. Then you have inside and outside curves in four directions, and full and empty. |
19:33 | | celticminstrel is now known as celmin|lunch |
19:44 | <~Vornicus> | Okay. 1. sort descending by x,y; start the result set with the 0th element, and your contour set with the same. Then, for each element thereafter, you compare to the contour list: the contour list is sorted by y, which means it's also inverse sorted by z (you'll see why later). So for each new element, find the highest element in contour it's not dominated by in y and the lowest element it's |
19:44 | <~Vornicus> | not dominated by in z. If there is overlap, then this element is dominated and not in the result set. If there is /not/ overlap, then it's undominated: add it to the result set, and add it to the contour list, replacing the parts of the list that it was not dominated by either. |
19:45 | <~Vornicus> | The contour checking can be done by bisection. |
20:03 | <@PAndemic> | any exchange admins out there |
20:03 | <@PAndemic> | I've got a perplexing one for you |
20:07 | <&ToxicFrog> | Ohdear. |
20:09 | <&ToxicFrog> | RichyB: also, in games like this, the ASCII might not be a "representation" of the map anyways |
20:10 | <&ToxicFrog> | It's common for it to be something like base64encode(serialize(map)) |
20:10 | <&ToxicFrog> | Its main purpose is to provide a way of easily sharing maps via email and IRC, and so forth |
20:10 | <&jerith> | ToxicFrog: In this case, it's the actual representation. |
20:10 | <~Vornicus> | THis is n log n: you need n log n time to sort, and n elements * log n comparisons against the contour list. |
20:11 | <&jerith> | Load/save in the editor happens entirely through the clipboard. |
20:12 | <~Vornicus> | Okay I feel a lot better now. |
20:12 | <@PAndemic> | I can come to a situation where the OAB fails to update |
20:12 | <&ToxicFrog> | jerith: aah. |
20:12 | <@PAndemic> | the error tells me that the cmdlet failed to run and that the RPC was unavalible |
20:12 | <@PAndemic> | either the running account doesn't haver permissions, |
20:12 | <@PAndemic> | OR |
20:13 | <&ToxicFrog> | I'm used to "load/save through the clipboard", but IME the strings used for loading and saving aren't actual tilemaps. |
20:13 | <@PAndemic> | the services is offline |
20:13 | <&ToxicFrog> | How informative |
20:13 | <&ToxicFrog> | Track down the original developer and threaten his kneecaps |
20:13 | <@PAndemic> | the account requesting the rebuild is an enterprise admin, and a domain admin that has been assigned the exchange oginizational administerator's role |
20:13 | <@PAndemic> | and is in that AD group |
20:14 | <@PAndemic> | security on the Configuration object in AD as viewed by ADSI edit checks out |
20:14 | <@PAndemic> | ythe RPC and RPC locator services are running |
20:14 | <@PAndemic> | I R confuseld |
20:15 | <&ToxicFrog> | More seriously - although knowing nothing of Exchange - this is normally the point at which I would check the debug logs on both server and client and, failing that, deploy Ethereal. |
20:15 | <@PAndemic> | it is definetly something happening on the server |
20:15 | <@PAndemic> | and the behavor is that of a auth failure, but there are no notifications in the security log to indicate that the logon failure happened |
20:16 | <@PAndemic> | checked the DCs as sll |
20:16 | <@PAndemic> | authentication sucseeded by the requesting account |
20:16 | | Attilla [Obsolete@Nightstar-732a9fe2.range109-156.btcentralplus.com] has quit [[NS] Quit: ] |
20:16 | <@PAndemic> | I may need to call MS on this one... Was just woundering if any one had seen this one before |
20:16 | | Kindamoody|out is now known as Kindamoody |
20:16 | <@PAndemic> | the error code is 0x6ba |
20:17 | <&ToxicFrog> | I do my best to avoid windows, sorry. |
20:17 | <@PAndemic> | fair enough TF |
20:18 | <@PAndemic> | this chan has some of the brightest NightStar has to offer, I was just woundering if any in here had seen this before |
20:18 | <&jerith> | PAndemic: We're mostly devs rather than sysadmins in here. |
20:19 | | * PAndemic knows, but there aren't any good sysadmin chans that he knows about |
20:19 | <&ToxicFrog> | I would suggest #tsc, which contains a lot of IT/admin folks, but you're already in there. |
20:19 | | * PAndemic is grapsing at straws by this point |
20:19 | | * PAndemic already there.... |
20:20 | <@RichyB> | PAndemic: irc.freenode.net, try ##/r/sysadmin |
20:20 | | * jerith continues writing silly load/save dialog code. |
20:20 | <@PAndemic> | thanks RichyB |
20:23 | | Attilla [Obsolete@Nightstar-732a9fe2.range109-156.btcentralplus.com] has joined #code |
20:23 | | * Vornicus algorithm algorithm algorithms. |
20:23 | | * ToxicFrog spacechems |
20:23 | <~Vornicus> | It's not often I get to use both bisect_left and bisect_right at the same time. |
20:30 | | celmin|lunch is now known as celticminstrel |
20:30 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
20:33 | <@PAndemic> | hrm..... |
20:33 | <@PAndemic> | >.> |
20:33 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
20:33 | | * PAndemic has an idea |
20:39 | <@PAndemic> | I think I found it! |
20:40 | <@PAndemic> | the AD property for the sitefolderServer is wrong and points to an exchange server that has been removed! |
20:41 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
20:42 | <@PAndemic> | also, if ever programing for active directory |
20:43 | <@PAndemic> | you may want to have a go at active directory explorer |
20:43 | <@PAndemic> | back when I was doing heavey scripting with AD that tool was a good friend |
20:43 | <@PAndemic> | and as a sysadmin, it is still on of my best tricks! |
20:43 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
20:47 | <&ToxicFrog> | God willing, I never will be |
20:52 | <~Vornicus> | yeah, sysadmin was not fun when I did it |
20:54 | | * PAndemic doesn't mind it, likes the challange |
20:54 | <&ToxicFrog> | Some challenges I enjoy. |
20:54 | <&ToxicFrog> | Systems administration is not one of them. |
20:55 | <@PAndemic> | TF, very fair |
20:55 | | * jerith doesn't have the temperament for systems work. |
20:55 | <@PAndemic> | I run screamning at the thought of programing for a living |
20:55 | <&ToxicFrog> | Increasingly, I want my systems to Just Work so that I can get on with the things I actually want to do, like programming. |
20:55 | <@PAndemic> | you build the code |
20:55 | <@PAndemic> | I'll make the systems work :) |
20:55 | <&jerith> | Too much stuff I don't have direct control over. |
20:56 | <@PAndemic> | especaly in a dmoain envrionement |
20:56 | <&ToxicFrog> | (And that's administration for myself. Administering stuff that other people use? I'd rather program in Java.) |
20:57 | <&jerith> | That said, I spent half the afternoon fixing up our Graphite installation so it could collect metrics for our messaging systems again. |
20:57 | <@PAndemic> | time to go home for the weekend |
20:57 | <@PAndemic> | yay |
20:57 | <&jerith> | Enjoy! |
21:03 | | Kindamoody is now known as Kindamoody[zZz] |
21:04 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
21:04 | | mode/#code [+ao Derakon Derakon] by ChanServ |
21:05 | | * Derakon eyes his experiment data saver code. |
21:05 | <&Derakon> | I was running a test of a "site-visiting" experiment. |
21:05 | <&Derakon> | Which is basically "Go to site A, image site, save to file A1; go to site B, image site, save to file B1; ...; go to site A, image site, save to file A2; ..." |
21:06 | <&Derakon> | So it generates a crapton of files, is what I'm saying here. |
21:06 | <&Derakon> | I set up a stress test -- 100 sites, 10 iterations, let's see what happens. I check in on it during iteration 2, and notice that there are a hell of a lot of 0KB files. |
21:07 | <&Derakon> | So I cancel the experiment and try to figure out what happened...and notice that some of the files are spontaneously achieving their intended size. |
21:07 | <&Derakon> | About two minutes later (I guess) all of the files are completed. |
21:08 | <&Derakon> | So I'm guessing that for some reason my filehandles aren't getting closed on time? Maybe? |
21:09 | <&Derakon> | Except that the experiment code should be waiting for the saver to finish up before it continues to the next site. |
21:09 | <~Vornicus> | Der: your shell only occasionally polls size. |
21:10 | <&Derakon> | Here's the data-saver code: http://pastebin.com/TqbZmqry |
21:10 | <~Vornicus> | However it finds out about file creation immediately. |
21:10 | <&Derakon> | Vorn: hm. |
21:11 | <&Derakon> | But it took so long for all of the files to report their proper sizes! |
21:11 | <&Derakon> | They were straggling in in ones and twos. |
21:12 | <&jerith> | That sounds like close/flush strangeness. |
21:12 | | * jerith looks at the paste. |
21:12 | <~Vornicus> | Yeah, that happens. YOu'll live. |
21:12 | <&Derakon> | executeAndSave and onImage are the pertinent functions in the paste. |
21:13 | <&Derakon> | The client will wait until getAmDone() returns true (i.e. line 132 has executed) before starting a new experiment (and opening a new filehandle). |
21:13 | <&Derakon> | So there should only be one DataSaver active at a time. |
21:15 | <&ToxicFrog> | Is this a networked filesystem? |
21:15 | <&Derakon> | No. |
21:15 | <&Derakon> | Local 1TB hard drive, nobody's mounting it from elsewhere (much as they would love to be able to, we put our feet down) |
21:16 | <&jerith> | Aggressive write-cache? |
21:16 | <&jerith> | What filesystem? |
21:16 | <&Derakon> | Whatever Windows 7 default to. |
21:16 | <&Derakon> | Er, defaults. |
21:16 | <&Derakon> | I don't know how to check. |
21:16 | <~Vornicus> | I'm still pretty sure it's just your shell doesn't poll size that often. |
21:16 | <&jerith> | Oh, Windows. |
21:16 | <~Vornicus> | It hooks file creation but it doesn't poll size, and when it does it limits the rate at which it does it. |
21:17 | <&jerith> | So probably NTFS. |
21:17 | <&Derakon> | Vorn: and refreshing the window doesn't re-poll the files? |
21:17 | | * jerith stops expecting anything sensible. ^.^ |
21:17 | <~Vornicus> | that I'm not sure about. |
21:17 | <&Derakon> | Because I'd refresh and still see a bunch of 0KB files. |
21:17 | <@froztbyte> | Derakon: no, not always |
21:18 | <@froztbyte> | there's certain sorts of "scan" behaviour in windows file browsing, as far as I can tell |
21:18 | <@froztbyte> | if explorer reckons it recently scanned there, it'll only try again in N time |
21:18 | <&Derakon> | Gotcha. |
21:18 | <@froztbyte> | this is especially noticeable on network shares |
21:19 | | * Derakon starts up a new stress test, watches. |
21:19 | <@froztbyte> | I don't know how it's determined or anything though, I just know it's right-royally annoying |
21:19 | <&Derakon> | Okay, so for the first 15 or so files, it'd update the old one as soon as the new one started. |
21:19 | <@froztbyte> | you can probably get more truth from the powershell cli, or the normal cli |
21:19 | <@froztbyte> | I *think* |
21:19 | <&Derakon> | That is, there'd only be one 0KB file at a time. |
21:19 | <&Derakon> | Then it started falling behind. |
21:19 | <@froztbyte> | or, hell, even another python process just doing an os.list() or something |
21:20 | <&Derakon> | The other weird thing is that there are "holes" (i.e. an older file says 0KB, a newer one says 58585KB). |
21:20 | <@RichyB> | Derakon: are you on Windows? |
21:20 | <@froztbyte> | yeah that's just timing really |
21:20 | <&Derakon> | Richy: I am, yes. |
21:20 | <@froztbyte> | I'd be prepared to bet that those "holes" would shift around between runs, too |
21:20 | <@RichyB> | There was a Raymond Chen article the other month about how either Explorer or something just under it caches file sizes for ages. |
21:20 | <&Derakon> | Though this particular computer now has basically no reason to need to be on Windows, since it's running pure Python code (hooray!) |
21:21 | <@RichyB> | If you work on Windows, you should be reading The Old New Thing. |
21:21 | <@RichyB> | Like, religiously. |
21:21 | <@froztbyte> | The Old New Thing is a fantastic blog |
21:21 | <@froztbyte> | a friend of mine is unfortunate enough to spend lots of his life in .Net, and he posts TONT articles pretty often |
21:21 | <@froztbyte> | they do make for some good reading. |
21:22 | <&Derakon> | This is, what, a more informative version of The Daily WTF? |
21:22 | <@froztbyte> | not quite |
21:22 | <@froztbyte> | a bunch of high-up microsoft employees post to it |
21:22 | <@froztbyte> | and perhaps a few high-up community members too, I'm not too sure |
21:22 | | * AnnoDomini pokes around with an OOo database. |
21:22 | <&Derakon> | I'm not really a Windows dev, though; the vast majority of my work is in Python and I use cross-platform libraries for my UI stuff. |
21:22 | <@froztbyte> | but it's essentially the factory line for Kloo |
21:23 | <@AnnoDomini> | Seems very much like Access. |
21:23 | <&ToxicFrog> | That is rather the point, I believe. |
21:24 | <&Derakon> | (Stress test still running; the filesystem is pretty consistently 30 files behind) |
21:24 | <@AnnoDomini> | Fun. I'm exploring the issue of making a relatively simple database in that with a few forms and searches and stuff for... a client. They're a startup staffing agency. I've talked with them yesterday. |
21:25 | <&Derakon> | Also, with the old cockpit, I struggled to achieve 3.5 seconds per site. |
21:25 | <&Derakon> | The new system is consistently doing better than 2 seconds per site. \o/ |
21:25 | <@AnnoDomini> | I've looked at various existing solutions but they're all either horribly overcomplicated, expensive or buggy. |
21:26 | <@AnnoDomini> | I feel vaguely guilty for even considering something like an Access-alike thing. |
21:26 | <&Derakon> | What's wrong with MySQL or PostGreSQL? |
21:26 | <~Vornicus> | Access is all told a not that bad tool |
21:27 | <@AnnoDomini> | Derakon: Lack of a lamer-usable frontend? |
21:27 | <&ToxicFrog> | The fundamental problem with Access is that no-one using it ever limits themselves to its capabilities. |
21:27 | <&Derakon> | AD: ah. |
21:27 | <&ToxicFrog> | Any project in Access will, inevitably, still be in Access years after it should have been ported to a real database. |
21:28 | <&Derakon> | ...the filesystem just hung, hanging the experiment in the process. |
21:28 | <~Vornicus> | Sweet! |
21:28 | <&Derakon> | It's showing a green bar in the folder path and it just stopped. |
21:28 | <@AnnoDomini> | And I mean lamer. These guys managed to fuckup their contacts with the advertisement agency, meaning they launched the ads two months early. Which meant that they got like 300+ applications by the first day which they weren't prepared for. |
21:28 | <&Derakon> | ...okay, now it's cleared, but that took 50s to clear out. WTF. |
21:29 | <@AnnoDomini> | They currently use hand-drawn tables for keeping track of things. |
21:29 | <@AnnoDomini> | ToxicFrog: I'm pretty sure they'll go bankrupt within a year. |
21:30 | <&Derakon> | Ah ha, I have a memory leak somewhere. |
21:30 | <&Derakon> | python.exe: 5563860KB memory used. |
21:30 | <&Derakon> | Not a huge amount all things considered, but I should really plug it up. |
21:31 | <&Derakon> | Only managed to image 285 sites and some of those didn't finish saving properly. |
21:33 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
21:33 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Ping timeout: 121 seconds] |
21:38 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
21:38 | <@AnnoDomini> | Hmm. Does OSX have some version of the Open Office suite compatible with OOo? |
21:40 | <&ToxicFrog> | OO/LO has an OSX release, just use that. |
21:41 | <@froztbyte> | yes, LibreOffice is what I'm running here |
21:41 | <@froztbyte> | LibreOffice is also the only one you should be concerned about going forward, afaik |
21:41 | <@froztbyte> | (at least, at the moment) |
21:41 | <@AnnoDomini> | Good. I think they're using Macs for some reason. |
21:49 | < VirusJTG> | I see your problem. They are running Macs. :) |
21:49 | < VirusJTG> | :-P |
21:49 | <@AnnoDomini> | It's like they have too much money. |
21:50 | < VirusJTG> | have too much? easy solution, give the extra to Sandy victoms, baring that, give it to me :) |
21:50 | <&Derakon> | You guys must think you're comedians. |
21:51 | | * VirusJTG is using a home built system that he designed and bilt himself |
21:51 | <&Derakon> | Good for you. Very few people have the necessary expertise to do that. |
21:51 | < VirusJTG> | for those you can get reasonable priced hardware procided gaming is not your top priority |
21:52 | < VirusJTG> | provided* |
21:52 | <&Derakon> | Two problems with that: being able to find the vendors that price reasonably without having shitty quality is also a skill that few have; you are running Windows, which is inherently luser-unfriendly. |
21:53 | < VirusJTG> | all operating systems given a certin level of configuration needed are luser unfriendly |
21:53 | < VirusJTG> | pick thy poison in that world |
21:54 | | Nemu [NeophoxProd@Nightstar-2678ca93.asahi-net.or.jp] has quit [Client closed the connection] |
21:54 | <&Derakon> | So you deny that OSX is more user-friendly than Windows for people who don't already have extensive Windows experience? |
21:54 | < VirusJTG> | it isn't |
21:54 | < VirusJTG> | thats just what they have been led to belive |
21:54 | <&Derakon> | Ah, the "everyone is sheeple" argument. |
21:54 | < VirusJTG> | try to actualy do work aginst the kernel |
21:55 | < VirusJTG> | makes one scream and spit bile |
21:55 | < VirusJTG> | I'd rather have ubuntu |
21:55 | <&Derakon> | Newsflash: most people don't want to work on the kernel! |
21:55 | <&Derakon> | They're just trying to get their own shit done. |
21:55 | < VirusJTG> | most people are also morons |
21:55 | <&Derakon> | Yeah, if you're a kernel hacker, stay the fuck away, fine. |
21:55 | <@Tamber> | Oh, for the love of Azathoth... |
21:55 | <&Derakon> | Don't pretend that your perspective is remotely relevant to the rest of the population. |
21:55 | | Nemu [NeophoxProd@Nightstar-2678ca93.asahi-net.or.jp] has joined #code |
21:55 | <&Derakon> | Dude, you sound like you get your talking points from Slashdot. |
21:55 | < VirusJTG> | the REST f the population, meaning typicly, a majority |
21:56 | < VirusJTG> | runs windows |
21:56 | <@Tamber> | Repeat after me: All software sucks. |
21:56 | < VirusJTG> | don't expect that your elitest atrtidue for over priced hardware appiles to it either |
21:56 | | * VirusJTG agrees with Tamber |
21:56 | < VirusJTG> | all software does indeed suck |
21:56 | <&Derakon> | Okay, one of us here is making coherent points. |
21:56 | <&Derakon> | The other is slinging insults. |
21:56 | <@Tamber> | Then, after you're done repeating that enough times, Go back to using whatever the fuck it was you were using, and pull your fucking "advise" out of everyone's ass. |
21:56 | <&Derakon> | I have a solution. |
21:56 | | VirusJTG was kicked from #code by Derakon [Go away.] |
21:57 | <&Derakon> | Petty? Sure. |
21:57 | <&Derakon> | But he was an asshole. |
21:57 | <@froztbyte> | I was catching up on scrollback and wanted to do that |
21:57 | <&Derakon> | And I'm fucking sick of people pretending that there's no legitimate market for Macs. |
21:58 | <@froztbyte> | can I get a temp o-line to make them go away more globally? ;D |
21:58 | <&Derakon> | Ehh, first strike as far as I'm aware. |
21:58 | <@Tamber> | I'm sick of people in general working on the "I don't like it, therefore it's worthless and you are A Bad Person for using it, no matter what reason" line |
21:58 | <@froztbyte> | Derakon: ^_^ |
21:58 | <&Derakon> | Also, I believe this is pertinent: http://xkcdb.com/?5088 |
21:59 | <@froztbyte> | Tamber: or, even more generally, "I don't know this thing at all, therefore fuck it in all ways possible" |
21:59 | <@Tamber> | That too. |
21:59 | <@froztbyte> | I'm a firm believer in at least knowing something about the subject matter I intend to criticize :D |
21:59 | <@froztbyte> | Derakon: wow, a khmer quote |
22:00 | <@froztbyte> | reminds me that I haven't been in #xkcd in *ages* |
22:00 | <&Derakon> | I stopped by there once. Couldn't be bothered to keep up with the conversation; it takes full concentration and I usually prefer my IRC to be a background task. |
22:01 | <@froztbyte> | that is an excellent quote |
22:01 | <@froztbyte> | Derakon: yes |
22:02 | <@froztbyte> | in my brief residency there I learned an important fact of #xkcd |
22:02 | <@froztbyte> | one even the operators rule by |
22:02 | <@froztbyte> | the topic is irrelevant. bucket will incite riots. this is standard MO. |
22:02 | <@froztbyte> | you hit the channel whenever you want, coredump what's on your mind, and then bail when you gotta go. |
22:03 | <@froztbyte> | the channel hours are structured by the culminations of hundreds of timetables and the youthful frenzy of people who believe in "carpe diem" while still wondering why someone would mention carps and dimes as a motivator |
22:04 | <@Tamber> | "Get your arse in gear, and you get a dime; do it quickly, and I won't slap you with this carp." |
22:05 | <@froztbyte> | this makes it ideal for random idling if you just need somewhere to be !bored for a while, but not so great for anything else |
22:05 | <@froztbyte> | Tamber: :) |
22:05 | <@froztbyte> | Tamber: bonus points if you can make it rhyme |
22:05 | <&Derakon> | Hm, hypothesis: the saver thread is piling up memory and it's not getting GC'd promptly. |
22:05 | <&Derakon> | Then when the GC does kick in it has tons of memory to release, and that interferes with other active threads. |
22:06 | <&Derakon> | Which is why sometimes images get dropped. |
22:06 | | * Derakon tweaks the system to manually invoke the GC, sets a new stress test going. |
22:06 | <&Derakon> | So far so good; haven't even topped 250MB of memory used. |
22:06 | <&ToxicFrog> | froztbyte: bucket |
22:06 | <&ToxicFrog> | ? |
22:06 | <&Derakon> | Bucket is a scarily socially-ept bot. |
22:07 | <&Derakon> | A gigantic collection of associations and pattern matches and one-off scripts. |
22:07 | <@froztbyte> | bucket is the most near-sentient perl script on the planet |
22:07 | <@froztbyte> | I think |
22:07 | <@AnnoDomini> | Is it better than shadowfax? :D |
22:07 | <@froztbyte> | oh you have no idea |
22:07 | <&Derakon> | A number of XKCDB quotes are from bucket momentarily passing the Turing test. |
22:07 | <@froztbyte> | http://wiki.xkcd.com/irc/Bucket |
22:09 | <@froztbyte> | but yeah |
22:09 | <@froztbyte> | check the xkcdb quotes |
22:09 | <@froztbyte> | as far as xkcdb quotes go, I think http://www.xkcdb.com/?4845 is my favourite |
22:10 | <&Derakon> | So far so good; no failures, though my average time per site is up about 15-20%. |
22:10 | <&Derakon> | Also I'm not seeing dozens of 0KB files. |
22:10 | <&Derakon> | So I suspect that Python was being lazy about closing filehandles in addition to GCing memory. |
22:10 | < auREAX> | Derakon: even for kernel hackers there's a legit market for OSX :) |
22:10 | < auREAX> | XNU is open source after all |
22:10 | < auREAX> | (late? yes.) |
22:13 | <@froztbyte> | http://www.xkcdb.com/?8222 :D :D :D |
22:14 | <@RichyB> | I think I have correctly implemented BUMS. |
22:14 | <@RichyB> | Bottom-Up Merge Sort. |
22:14 | | work-caboose [NSwebIRC@C06FE3.122FFE.3E69A2.945F46] has joined #code |
22:14 | <@froztbyte> | http://www.xkcdb.com/?7695 |
22:14 | <@RichyB> | Best sorting algorithm, classiest acronym. |
22:15 | <@froztbyte> | RichyB: .....*snort* |
22:15 | <@Azash> | Bottom-up merge sort? How does that work? |
22:16 | <@RichyB> | You know how a merge-sort normally copies the input lists? |
22:16 | <@Azash> | Right? |
22:17 | <@RichyB> | This one doesn't. Instead of recursively splitting the list into halves and merging them, it merges adjacent runs of length 2, then adjacent runs of length 4, then adjacent runs of length 8... |
22:17 | | * Azash nods |
22:17 | <@RichyB> | And instead of consing new list cells, it mutates the list cells in-place in order to emit. |
22:18 | <@RichyB> | It really is O(1) space overhead - it doesn't even build program stack frames while recurring. |
22:18 | <@froztbyte> | oh hey, I did something like that in my matric finals |
22:19 | <@froztbyte> | we were tasked with finding which lines in a gigantic text file went together, and were given these things on a slow disk |
22:19 | <@froztbyte> | but we had to specifically write the program to read *from that disk* |
22:20 | <@froztbyte> | so instead of dealing with the disk a lot, I just made it run smarter |
22:20 | <@froztbyte> | side effect was also getting out of there an hour before everyone else :D |
22:21 | <@RichyB> | Hahah, yeah. |
22:21 | | work-caboose [NSwebIRC@C06FE3.122FFE.3E69A2.945F46] has left #code [""] |
22:21 | <&Derakon> | Was the fact that the disk was slow part of the problem? |
22:21 | <@RichyB> | It's probably actually the same algorithm that you'd use for on-tape sorting, back in the day. |
22:21 | <@froztbyte> | Derakon: yes |
22:21 | <@RichyB> | Easily appropriate for on-disk sorting now. |
22:21 | <@froztbyte> | our exams were stupid |
22:21 | <@RichyB> | Just about appropriate for in-memory sorting, but really only on linked lists. |
22:21 | <@froztbyte> | you were given a task, and a list of requirements on what you should use at least once in your code |
22:21 | <@RichyB> | Wat |
22:22 | <@froztbyte> | "you must use a for loop, you must use string comps, ..." |
22:22 | <&Derakon> | Heh. |
22:22 | <@RichyB> | That seems a bit unfair. |
22:22 | <@froztbyte> | our academic system is hardly in a good place |
22:22 | <@froztbyte> | it's now even worse off than then |
22:22 | <@froztbyte> | but that's another rant entirely |
22:22 | <@RichyB> | Wouldn't a better test be, "You must solve this problem, take no more than 30 minutes wall-clock time to run, and use no more than 20MB of RAM"? |
22:22 | <@froztbyte> | lol. |
22:22 | <@froztbyte> | dude, delphi |
22:23 | <@RichyB> | Actually, "You must use $X at least once" sounds like it might just be a sly way of passing implementation hints to the students |
22:23 | <@froztbyte> | by people who could scarcely understand the magic of events<->subroutines |
22:23 | <@froztbyte> | RichyB: yeah I never quite decided which it was |
22:23 | <@RichyB> | and/or making the tests easier for the TAs to mark, by dint of pretty much pre-deciding every student's program structure! |
22:23 | <@froztbyte> | on the one hand, it seemed like a failing of the people who'd be marking |
22:23 | <@RichyB> | I remember having a really good algorithms lecturer, made us implement Dijkstra's algorithm. |
22:23 | <@froztbyte> | on the other, it seemed like a subtle "psst, here's how you can pass" hinting |
22:24 | | * Derakon \o/s as the experiment continues to run without soaking up tons of memory or spontaneously hanging or causing file writes to fail. |
22:24 | <@froztbyte> | but I should just note again, this was matric |
22:24 | <@froztbyte> | as in final year of high school |
22:24 | <@froztbyte> | university was marginally better |
22:24 | <@RichyB> | His coursework marking scheme was, "20pts if you find the shortest path through this (10k node maze) within 20 seconds" |
22:24 | <@RichyB> | "+20pts more if you find the shortest path through this (100k node maze) within 20 seconds" |
22:24 | <@froztbyte> | though in 1st-year we had to do C++ on windows with the bloodshed.net setup |
22:25 | <@RichyB> | (actual number of nodes varies year-to-year according to the actual speed of the CPUs in the machines in the lab) |
22:25 | <@froztbyte> | in my final, I got one that had dud paths, and couldn't link against the obfuscated libraries they supplied us with |
22:25 | <@RichyB> | You were supposed to implement it with linear list scans first, then redo your program to use a binary heap for the second part. |
22:25 | <@froztbyte> | so I ended up rewriting all the support code alongside my implementation. |
22:25 | <&Derakon> | Richy: reminds me of Project Euler. |
22:25 | <&Derakon> | Where a lot of the problems are O(2^n) or something using the naive solution. |
22:25 | <@froztbyte> | RichyB: hah, nice :) |
22:26 | <&Derakon> | But the smart solution is nlog(n) or something. |
22:26 | <@RichyB> | I and at least one other person found that our linear scan programs were fast enough to get marked correct on both sections. |
22:26 | <@froztbyte> | haha |
22:26 | <@froztbyte> | cool |
22:26 | <@froztbyte> | you know |
22:26 | <@RichyB> | At least one person-who-wasn't-me skipped implementing the binary heap. :) |
22:26 | <@froztbyte> | I never got commentary on that 1st-year final |
22:26 | <@froztbyte> | but it must have raised some eyebrows |
22:27 | <@froztbyte> | and it was something ridiculous, too, like raytracing code or some crap |
22:27 | <@RichyB> | Derakon: yeah! I think that the moral is, either learn maths, or learn how to get your programs running on GPUs. ;) |
22:27 | <@froztbyte> | 3.5 hour exam window, and a crapton of furious typing after I figured out in the first 5 minutes that my linker was boned |
22:27 | <@RichyB> | Be smart or dumb and fast. ;) |
22:28 | <@RichyB> | froztbyte: linker!? |
22:28 | <@froztbyte> | (oh, and we couldn't change any environment setups, because that was locked down; so I couldn't fix the linker) |
22:28 | <@froztbyte> | RichyB: yeah |
22:28 | <@froztbyte> | basically |
22:28 | <@froztbyte> | we got obfuscated headers, some object code, and an assignment |
22:28 | <@froztbyte> | then the environment had build steps that'd just chuck stuff in the right places |
22:28 | <@froztbyte> | mine was broken. |
22:29 | <@RichyB> | Was that deliberate or accidental? |
22:30 | <@froztbyte> | in retrospect I realized there was at least one other person who also had such issues, because they ended up typing 45min after the rest of us weren't allowed to continue typing |
22:30 | <@froztbyte> | RichyB: pretty sure it was accidental |
22:30 | <@froztbyte> | the uni profs aren't involved with the seat allocations in the exams, that's just TAs and so |
22:30 | | ErikMesoy is now known as ErikMesoy|sleep |
22:30 | <@RichyB> | Harsh. Did you manage to work around a fucked linker, or were you just boned? |
22:30 | <&Derakon> | But you ended up fixing your own linker by hand? |
22:30 | <@RichyB> | I have no idea how I'd fix a broken `ld`. |
22:31 | <&Derakon> | Richy: write everything in assembly! |
22:31 | <@RichyB> | ugh, short of reading the elf(7) spec and reimplementing loads by hand but seriously fuck that noise |
22:31 | <@froztbyte> | no, I ended up reimplementing the entirety of what would've been provided to me had I been able to follow the whole build process |
22:31 | <@froztbyte> | the headers that they supplied were documented on the question sheet, "here's the 7 things you have. here's what they take, here's what they give you. have fun" |
22:32 | <@froztbyte> | RichyB: rsync it over from elsewhere |
22:32 | <@RichyB> | Well yes, on a live box. |
22:32 | <@froztbyte> | here's a fun mental exercise: chmod o-x,g-x,a-u-x /bin'chmod |
22:33 | <@froztbyte> | err, pretend that was a / as well |
22:33 | <@RichyB> | No problem. /bin/install has a -m option |
22:33 | <@froztbyte> | and that there isn't cluster-fuckery |
22:33 | <@froztbyte> | RichyB: good! |
22:33 | <@froztbyte> | other options? :) |
22:33 | <@RichyB> | Did you remember to remove all of: perl, gcc, python, ruby, uh, guile from /bin? |
22:33 | <@froztbyte> | (there's at least 4 that I know by heart, some that I could do with a bit of hax) |
22:34 | <@froztbyte> | RichyB: yes |
22:34 | <@RichyB> | 'cuz any of those I could just fire up the REPL/compiler and run the syscall. |
22:34 | <@froztbyte> | yup |
22:34 | <@froztbyte> | now if they're not there, next option? |
22:34 | <@RichyB> | mount (a USB stick), mount.nfs |
22:34 | <@froztbyte> | hahaha |
22:35 | <@froztbyte> | you missed the intermediate step |
22:35 | <@froztbyte> | "apply od" |
22:35 | <@RichyB> | No, I'd prep either elsewhere. |
22:35 | <@froztbyte> | :) |
22:36 | <&Derakon> | How does an octal dump help you? |
22:36 | <@RichyB> | Next thing is, tar cf - /bin/chmod | base64 > chmod.tar.base64 |
22:36 | | * Derakon reads the Wikipedia on od, is amused that its existence is why "done" closes "do" blocks in shell scripts. |
22:36 | <@froztbyte> | od | sed | tr-with-a-map |
22:36 | <@RichyB> | open that with `vi`, flip the 'x' bit inside there (don't fucking ask me how, that's inhumane), |
22:37 | <@RichyB> | base64 -d <chmod.tar.base64 | tar xf - |
22:37 | <@froztbyte> | RichyB: well, you do still have manpages, so yeah |
22:37 | <@froztbyte> | you can, with lots of swearing, find the right bits to flip |
22:37 | <@RichyB> | Right |
22:37 | <@RichyB> | following the structs is harder when they're base64'd too :) |
22:38 | <&Derakon> | Now, is this more or less effort than booting into a rescue OS? :) |
22:38 | <@froztbyte> | most of it is more |
22:38 | <@froztbyte> | but it's a nice exercise to see how well someone knows the various innards and gears of the system they run |
22:38 | <@RichyB> | oh, I've also got "nc -l 8001 | tar xf -", and on some foreign computer "tar cf - /bin/chmod | nc deadbox 8001" |
22:39 | <@RichyB> | Derakon: it's a fun puzzle :) |
22:39 | <@froztbyte> | `nc -l` is one of the greatest cheats ever |
22:39 | <@RichyB> | Mainly because there's such a bewildering array of right answers. |
22:39 | <@froztbyte> | RichyB: http://blog.froztbyte.net/2012/10/old-tricks-new-coins-same-problems/ |
22:40 | <@froztbyte> | also another fun fact, zsh has native tcp... :) |
22:40 | <@RichyB> | If I'm on OpenBSD or FreeBSD, I can use mount_portalfs, then open /p/tcp/someotherbox/8001 |
22:41 | <@RichyB> | So losing nc wouldn't kill me :) |
22:41 | <@froztbyte> | hehe |
22:41 | <@froztbyte> | I'm not actually sure if you can pull that off with proc |
22:41 | <@froztbyte> | gotten out of it on kernel innards in the last 3 years, been dealing with too much application-level crap :/ |
22:42 | <@froztbyte> | (and I'd only gotten a few months worth of learning in before that) |
22:44 | <@RichyB> | If I'm on Linux, invariably there's a copy of busybox somewhere, sidestepping the problem entirely. (chmod is a builtin) |
22:44 | <@RichyB> | Oh, did you remember to kill setfacl? :) |
22:45 | <@RichyB> | cp /bin/true scratch |
22:45 | <@RichyB> | cat </bin/chmod >scratch |
22:45 | <&Derakon> | Ha! Stress test complete; 999 out of 1000 sites imaged successfully. |
22:45 | <@RichyB> | ./scratch 755 /bin/chmod |
22:45 | <@RichyB> | How did I forget that one? |
22:45 | <&Derakon> | And that 1 site's failure probably has to do with me mucking around in the OS while it was trying to write images. |
22:45 | <@RichyB> | Derakon: bonus. |
22:47 | <&Derakon> | Looks like it takes on average 2.3s to image one site. |
22:47 | <&Derakon> | So I'm still over a second faster than the old system's fastest. |
22:49 | <&Derakon> | Anyway, time to cede the microscope computer to someone else. Ta-ta. |
22:50 | | Derakon [chriswei@Nightstar-a3b183ae.ca.comcast.net] has quit [[NS] Quit: leaving] |
23:00 | | You're now known as TheWatcher |
23:01 | | * Vornicus picks three colors for particular properties: #ff0f00, #009100, #005fff. |
23:16 | <~Vornicus> | (these three colors have the same luma in YUV, are all fully saturated, and add up to white.) |
23:16 | <&ToxicFrog> | (why are these properties significant?) |
23:17 | <@RichyB> | Vornicus: yeah, they're pretty. |
23:18 | <@RichyB> | OTOH, the fact that they have the same luma means that completely-colourblind people can't tell them apart, which sucks. |
23:18 | <@RichyB> | It's common to pick colours that differ in both luminosity and hue so that stuff doesn't disappear in grayscale. ;P |
23:19 | <~Vornicus> | On the gripping hand, since they're the same luma you don't end up with one color that's harder to read -- see pure blue on black, or pure green on white. |
23:30 | <&ToxicFrog> | Hmm. |
23:30 | <&ToxicFrog> | I need to fission O down to 8H. |
23:32 | <~Vornicus> | in one reactor? |
23:33 | <&ToxicFrog> | Yes. |
23:37 | <~Vornicus> | hrng. He doesn't have any bonds so that might not work well... You'd need a couple storage spots. |
23:37 | <~Vornicus> | ffs? |
23:42 | <&ToxicFrog> | ? |
23:42 | | Courage [Moltare@583787.FF2A18.190FE2.4D81A1] has quit [Client closed the connection] |
23:43 | <&ToxicFrog> | And yeah, I need to store the intermediate fission products. |
23:44 | | Moltare [Moltare@583787.FF2A18.190FE2.4D81A1] has joined #code |
23:46 | <~Vornicus> | flipflips |
23:46 | <~Vornicus> | er, flops |
23:48 | <&ToxicFrog> | Oh. Yes, those I have. |
23:48 | <&ToxicFrog> | (it's a ResearchNet problem) |
23:52 | | You're now known as TheWatcher[T-2] |
23:57 | | You're now known as TheWatcher[zZzZ] |
--- Log closed Sat Nov 17 00:00:21 2012 |