code logs -> 2012 -> Fri, 16 Nov 2012< code.20121115.log - code.20121117.log >
--- 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
code logs -> 2012 -> Fri, 16 Nov 2012< code.20121115.log - code.20121117.log >

[ Latest log file ]