code logs -> 2013 -> Mon, 09 Dec 2013< code.20131208.log - code.20131210.log >
--- Log opened Mon Dec 09 00:00:29 2013
00:13
<&ToxicFrog>
"square-tile base"?
00:18
<@Reiv>
Is it making it harder to do because you find you over-simplify?
00:19
<@Reiv>
Insufficient co-ordinates to properly map doors, for example.
00:44 Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has joined #code
00:45
< Harlow>
does anyone know if TDP is the amount of energy that needs to be dissipated in a minute or a second?
00:48 Turaiel is now known as Turaiel[Offline]
00:51
<&ToxicFrog>
Harlow: it's measured in watts, which is joules/second
00:51 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code
00:51 mode/#code [+qo Vornicus Vornicus] by ChanServ
00:51
<&ToxicFrog>
Well, typically measured in watts. If yours is measured in something else, adjust accordingly.
01:06
<@Alek>
has anyone ever seen a mAh rating on an alkaline battery, anyway?
01:06
<@Alek>
AA, to be precise?
01:07
< McMartin>
I think some of my NiMHs to.
01:07
< McMartin>
*do
01:07 * Azash AVLs away
01:07
< McMartin>
Alek: The ones in my cupboard are marked 2650 mAh.
01:09
<@Alek>
McM: I did say alkaline. XD
01:09
< McMartin>
Oh, so you did~
01:09
<@Alek>
rechargeables do have a mAh rating, yes, and it tends to vary with brand and model.
01:10
<@Alek>
2650 is higher than I personally have seen, though. what make?
01:10
< McMartin>
The Energizer alkalines I just checked did not have the marker, as it happens.
01:10
< McMartin>
The NiMHs were Duracells.
01:10
<@Alek>
a 2300 lasts about, oh, 16 hours? a bit less? brand new, for me. -_-
01:11
< McMartin>
I used them for Wiimotes and they didn't last more than a day or two even if I wasn't using it. I think Wiimotes leak charge. -_-
01:11
<@Alek>
heh. duracell. them and energizer are the 2 most expensive household battery brands I've ever seen.
01:11
<@Alek>
they might have a trickle going constantly, yes.
01:12
<@Alek>
in comparison, Fry brand alkalines that I buy in packs of 100 for $17 last maybe 18-20 hours if I'm lucky.
01:13
<@Alek>
BUT
01:13
<@Alek>
that's if I use them in one fell swoop, over 1-2 days.
01:13 You're now known as TheWatcher[T-2]
01:14
<@Alek>
if I use a couple hours here and then a few days later another couple hours, or so, it seems to add up to much less than that. maybe Fry brand are activated when first used and then have a trickle discharge even when not installed?
01:14 * Alek doesn't know, shrugs.
01:14
<@Alek>
actually, no.
01:15
<@Alek>
because they last nice and long in regular battery-powered electronics. mainly remotes and mice, around here.
01:16
<@Alek>
now wait a hey.
01:16
<@Alek>
why did Cochlear never try lithium batteries for their speech processors? it's cheaper in the long run.
01:17
<@Alek>
oh yeah. they run hotter and that's a huge risk for body-worn stuff. --
01:17
<@Alek>
-_-
01:17 You're now known as TheWatcher[zZzZ]
01:18
<@Alek>
although the latest model might have proprietary-made lithium batteries, I'm not sure.
01:34
<@Reiv>
Alek: You're deaf?
01:40
<@Alek>
yeah.
01:54 redwire [redwire@Nightstar-tsfae1.wst.mun.ca] has quit [[NS] Quit: My MacBook has gone to sleep. ZZZzzz‚¶]
02:04 redwire [redwire@Nightstar-27dppb.nl.bellaliant.net] has joined #code
02:12 Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has quit [[NS] Quit: BED]
02:18 letsmaybeLP [letsmaybe@Nightstar-5a4.m1o.164.128.IP] has joined #code
02:33
< letsmaybeLP>
!news
02:33
< letsmaybeLP>
@code
02:33
< letsmaybeLP>
!help
02:33 letsmaybeLP [letsmaybe@Nightstar-5a4.m1o.164.128.IP] has left #code ["Leaving"]
02:34
<@Alek>
._.
02:34
<@Alek>
right...
02:35
< Shiz>
!list
02:35 Shiz was kicked from #code by PinkFreud [There is no warez allowed on this network.]
02:35 Shiz [mark@rhenium.shiz.me] has joined #code
02:35
< Shiz>
i was only making a fani
02:35
< Shiz>
:(
02:45
<@Reiv>
Yah, we have automated defenses.
02:57 Derakon is now known as Derakon[AFK]
03:27 Derakon[AFK] is now known as Derakon
03:32 redwire [redwire@Nightstar-27dppb.nl.bellaliant.net] has quit [[NS] Quit: Textual IRC Client: www.textualapp.com]
03:45 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down]
03:57
< McMartin>
Here's a fun little generator: http://pastebin.starforge.co.uk/602
03:58
< McMartin>
I started out trying to do it recursively, but then I realized that Python doesn't have cons~
03:58
< Shiz>
line 5 has a redundant pair of brackets
03:58
< Shiz>
also, [ value ] + func() is all the cons you need
03:58
< Shiz>
:P
03:59
< McMartin>
Isn't that quadratic?
04:00
< McMartin>
That said, do yields in fact next like that?
04:00
< McMartin>
yield [ value] + generatorcall()
04:01
< Shiz>
I have no honest idea
04:07
<~Vornicus>
itertools.combinations?
04:07
< McMartin>
This is probably an implementation of that, yes~
04:08
< McMartin>
It's a little over 10% faster
04:09
<&Derakon>
Your version is faster than itertools?
04:09
<&Derakon>
Submit a patch~
04:10
< McMartin>
No
04:10
< McMartin>
Their version is faster
04:10
<&Derakon>
Ah, alas.
04:10
< McMartin>
Their version for k=8 is also about 2% faster than just nesting eight for loops.
--- Log closed Mon Dec 09 04:26:15 2013
--- Log opened Mon Dec 09 04:49:03 2013
04:49 TheWatcher[zZzZ] [chris@Nightstar-ksqup0.co.uk] has joined #code
04:49 Irssi: #code: Total of 39 nicks [17 ops, 0 halfops, 0 voices, 22 normal]
04:49 mode/#code [+o TheWatcher[zZzZ]] by ChanServ
04:49 Irssi: Join to #code was synced in 38 secs
04:59 Derakon is now known as Derakon[AFK]
05:01 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
05:27 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.]
05:30 RichyB [RichyB@Nightstar-c6u.vd5.170.83.IP] has joined #code
05:38 himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds]
07:18 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
07:18 mode/#code [+o himi] by ChanServ
08:02 celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
08:19 Kindamoody is now known as Kindamoody|out
08:42 * jerith is pleased by the noew thecodelesscode.
08:42
<&jerith>
*new
08:49
<~Vornicus>
oh yes that is a good one.
08:52 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has joined #code
09:06 Orthia [orthianz@Nightstar-avg.1ee.224.119.IP] has quit [[NS] Quit: Going dooooown...]
09:06 Orthia [orthianz@Nightstar-avg.1ee.224.119.IP] has joined #code
09:06 mode/#code [+o Orthia] by ChanServ
09:10 Orthia [orthianz@Nightstar-avg.1ee.224.119.IP] has quit [Ping timeout: 121 seconds]
09:10 Orthia [orthianz@Nightstar-avg.1ee.224.119.IP] has joined #code
09:10 mode/#code [+o Orthia] by ChanServ
09:30 You're now known as TheWatcher
09:41
<@Azash>
http://www.nytimes.com/2013/12/07/us/politics/slowly-they-modernize-a-federal-ag ency-that-still-uses-floppy-disks.html?_r=0
09:51 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.]
09:59 AverageJoe [evil1@Nightstar-fb1kt4.ph.cox.net] has quit [[NS] Quit: Leaving]
10:09 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
10:11
<@Tarinaky>
Reiver: Something like that. Also it adds more to keep track of when I really only care about rooms and cardinal exits right now.
10:17
<@Tarinaky>
I swear. Every Control Theory lecture I just get more confused.
10:18
< Reiver>
Tarinaky: If this is in an array, try setting it up so that only even rows and columns are actual rooms.
10:19
< Reiver>
All odd/even and even/odd values are thus walls and doors, with odd/odd being corners between rooms.
10:19
< Reiver>
You can forbid those to worry about cardinal diections, initially, and then populate them based on the surrounding co-ordinates later if you find them useful for something.
10:20
< Reiver>
Or use 'em for Hidden Info or something, whatever.
10:21
<@Tarinaky>
Reiver: I wasn't dealing with walls and doors yet.
10:21
<@Tarinaky>
Just floor.
10:23
<@gnolam>
<Tarinaky> I have this horrible feeling that trying to my dungeon generator in a square-tile base is actually making it harder to get my head-around than if I came up with a more... abstract way of storing maps.
10:23
<@gnolam>
Tiles are the output. Try thinking in terms of node graphs.
10:23
<@Tarinaky>
I'm not sure how to output a node-graph for visualisation in a sensible way though.
10:23
<@Tarinaky>
(Because how else can you debug it :V)
10:26 Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has joined #code
10:40 Harlow [Harlow@Nightstar-2dbe3d64.il.comcast.net] has left #code ["Leaving"]
11:18 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [[NS] Quit: Leaving]
12:04 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
14:11
< simon_>
if I'm going to make a super-easy deterministic random number generator that's going to work seemingly randomly for a couple of thousand iterations
14:11
< simon_>
s/random/pseudo-random/
14:11
< simon_>
what would be a good approach?
14:12
< simon_>
something like (p*n) mod q, where p > q are coprimes and n increases?
14:13
< simon_>
I'm making a text-based dungeon crawler in the programming language that our compilers course uses.
14:14
< simon_>
the closest to randomness you get is the stuff the user types in, so I thought I'd feed that into the generator as well.
14:22 * TheWatcher digs, wonders if he put it online anywhere...
14:27
<@TheWatcher>
http://pastebin.starforge.co.uk/604 - random.cpp, http://pastebin.starforge.co.uk/605 - random.h, http://pastebin.starforge.co.uk/606 - testrandom.cpp
14:28
<@TheWatcher>
Uses Knuth's subtractive method random number generator from Seminumerical Algorithms
14:36
<@iospace>
this guy wrote an entire function more or less within a giant if/else block. Over 75% of the code is within the else. Neither of them have a return T_T
14:38
<@TheWatcher>
I've run into that a few times before
14:38
<@iospace>
yeah
14:38
<@TheWatcher>
Some people seem to have a serious dislike of returning before the end of the function
14:38
<@TheWatcher>
Never really got it myself
14:38
<@iospace>
and the return? it's /right/ after the else
14:38
<@iospace>
eh
14:39
<@iospace>
it /depends/
14:39
<@iospace>
especially if you're doing a lot of memory things
14:39
<@TheWatcher>
Yeah, it can make cleanup easier, sure
14:40
<@iospace>
yeah
14:40
<@iospace>
or the only valid use of goto ever :V
14:40
<@TheWatcher>
Heh
14:40
<@iospace>
or your doing stuff with hardware
14:53
<@iospace>
*you're
14:53
<@iospace>
derp
14:53
<@iospace>
TheWatcher: https://github.com/iospace/compass/blob/master/Twi.c
14:58 Turaiel[Offline] is now known as Turaiel
15:00 celticminstrel [celticminst@Nightstar-gj43l1.dsl.bell.ca] has joined #code
15:00 mode/#code [+o celticminstrel] by ChanServ
15:08 ErikMesoy|sleep is now known as ErikMesoy
15:10
<@Tarinaky>
simon_: IIRC the Art of Computer Programming Vol 2 deals with PRNG algorithms.
15:10
<@Tarinaky>
That said,m you might be able to get away with a non-random sequence.
15:11
<@Tarinaky>
*non-pseudorandom sequence
15:11
<@Tarinaky>
Like Fibonacci numbers or something.
15:13
<@Tarinaky>
How 'good' a dungeon is doesn't really depend on how random it is.
15:36
< simon_>
right
15:36
< simon_>
otherwise, random.org would be a pretty good dungeon crawler! ;-)
15:49 Turaiel is now known as Turaiel[Offline]
16:36
< RichyB>
simon_, why bother writing a PRNG when you can just pull a BSD-licensed Mersenne-Twister implementation off the net?
16:36
< simon_>
RichyB, well, I'd have to rewrite it in this Pascal-looking language with a weird evaluation strategy anyway.
16:36
< RichyB>
Oh feh.
16:38 * simon_ has an idea for a blog: Things That are Monoids
16:39
< simon_>
(and more importantly: What consequence it has for those interpretations)
16:39
< RichyB>
Swipe the constants for a linear congruence generator off someone else, I guess. :)
16:39
< simon_>
yeah :)
16:39
< RichyB>
Things That Are Monoids would be a pretty good blog. You'd probably get lots of nice referral traffic from Conal Elliott. :)
16:39
< simon_>
for example, soups are monoids if you allow carrots to be. water is the identity soup.
16:40
< simon_>
someone wrote on their Google+ once that the set of tango steps, modulo your position on the floor, are monoids.
16:41
< RichyB>
uh
16:42
< RichyB>
That sounds like it might actually form a group, which is of course a slightly stronger structure than a monoid. :)
16:42
< RichyB>
Since there's another set of tango steps which ought to take you back to your original position. :)
16:43
< simon_>
I don't know, I'm not that much into tango.
16:43
< simon_>
do you normally dance backwards?
16:43
< simon_>
I imagine that some dance steps in general are hard to do in reverse because of gravity.
16:44
< simon_>
I keep forgetting... semigroups: associative. monoids: also neutral element. groups: also inverses. right?
16:57
< simon_>
I think gangnam-style is a group.
16:59
<@Tarinaky>
simon_: You could implement some sort of binary loading mechanism :V
17:07
< RichyB>
simon_, yes, that is exactly correct.
17:08
< RichyB>
simon_, there's one more: magma, has a closed binary op, semigroups: it's associative, mnoids: has an identity, groups: every elem has an inverse. :)
17:09 * simon_ considers trying hakyll as a blog engine and realizes he should focus on correcting assignments so he can work on his own courses tomorrow.
17:15
< AnnoDomini>
Is there any reason I should use Bresenham's line drawing algorithm instead of the naive algorithm on a modern computer?
17:16
<@gnolam>
Wu.
17:16
< AnnoDomini>
What's the advantage of using Wu?
17:16
<@gnolam>
Antialiasing.
17:16
< AnnoDomini>
Oh.
17:16
<@gnolam>
But really, I just wanted to reply "wu" where it was also a relevant answer.~
17:17
< AnnoDomini>
Context: Line of sight determination in a tile-based environment. I'm not sure antialiasing is relevant here. :P
17:17
<@gnolam>
(https://en.wikipedia.org/wiki/Mu_%28negative%29#The_text_of_the_Mu-koan )
17:18
< AnnoDomini>
(Familiar.)
17:18
<@Tarinaky>
What's the Naive?
17:18
< AnnoDomini>
It's like Bresenham's, but with flops.
17:18
<@Tarinaky>
Flops?
17:18
< AnnoDomini>
Floating point operations.
17:18
<@Tarinaky>
Ah.
18:00
< AnnoDomini>
gnolam: Is there any way to make the file tab in Code::Blocks double?
18:24 cpux [cpux@Nightstar-uvch6j.dyn.optonline.net] has quit [Connection closed]
18:24 cpux [cpux@Nightstar-uvch6j.dyn.optonline.net] has joined #code
18:24 mode/#code [+o cpux] by ChanServ
18:25 Netsplit *.net <-> *.split quits: @PinkFreud, @Reiv
18:27 Netsplit over, joins: @PinkFreud, @Reiv
18:29 * AnnoDomini finds that zombies that get stuck bumping their heads into walls is, although hilarious, also unacceptable.
18:29
< AnnoDomini>
Time to destroy Nazi Germany^W^W^Wlearn A*.
18:29
< McMartin>
For short distances you can use BFS~
18:29
< McMartin>
Or, uh, best-first search
18:30
< AnnoDomini>
What I have now is a nine-choice else-if. Define "short".
18:30
< McMartin>
That turns out to be surprisingly difficult >_>
18:31
< AnnoDomini>
I have a 64x36 area.
18:31
< McMartin>
... so that means you can reach any point in a minimum of 64 steps
18:31
< McMartin>
... yeah, I'd just build a minimum spanning tree of the whole map from my zombie's current square.
18:32
< McMartin>
The fancier searches, when pathing, are for when you have a bunch of obstacles and need to move hundreds of dudes in realtime
18:33
< McMartin>
I'm guessing right now that these guys are turn-based
18:33
< jeroud>
McMartin: How different is SDL2's API from SDL1.2's?
18:34
< McMartin>
jeroud: The graphical API is noticably different, splitting SDL_Surface into four types, basically, but the rest is nearly or entirely unchanged.
18:34
< McMartin>
Or else purely extended.
18:35
< jeroud>
Will I be in for a lot of pain swapping one out for the other underneath pygame-cffi?
18:35
< McMartin>
I don't know enough about pygame's level of abstraction to know
18:35
< McMartin>
But, like, SDL_BlitSurface no longer exists and is not an operation that involves SDL_Surfaces anymore.
18:36
< AnnoDomini>
McMartin: What did you say after the second line you started with ... after I told you the dimensions? I lost connectivity there.
18:36
< AnnoDomini>
(This bloody BNC has problems with log playback.)
18:36
< McMartin>
(There is SDL_Surface, a main-memory image; SDL_Texture, a GPU-stored image you loaded up for fast blits and rendering; SDL_Render, which represents a thing you can do drawing operations to; and SDL_Window, which is, well, a window, because now you can have more than one.)
18:36
< McMartin>
10:26 < AnnoDomini> I have a 64x36 area.
18:36
< McMartin>
10:27 < McMartin> ... so that means you can reach any point in a minimum of 64 steps
18:36
< McMartin>
10:27 < McMartin> ... yeah, I'd just build a minimum spanning tree of the whole map from my zombie's current square.
18:36
< McMartin>
10:28 < McMartin> The fancier searches, when pathing, are for when you have a bunch of obstacles and need to move hundreds of dudes in realtime
18:36
< McMartin>
10:28 < McMartin> I'm guessing right now that these guys are turn-based
18:36
< jeroud>
(I plan to wait until we have the bulk of the CPython extension code ported to cffi first.)
18:37
< AnnoDomini>
McMartin: Yep, they are. I'm afraid I'm not familiar much with pathing at all.
18:38
< AnnoDomini>
What specific algorithm would you recommend?
18:38
< McMartin>
This one. http://en.wikipedia.org/wiki/Dijkstra%27s_algorithm
18:38
< AnnoDomini>
Isn't that one basically the older version of A*?
18:39
< McMartin>
That sounds about right, but I don't think you need anything else at this size
18:40
< AnnoDomini>
Thanks! Did I already say that you've taught me more about game programming than 6 years an Uni? :D
18:41
< jeroud>
AnnoDomini: University is notoriously bad about teaching practical software engineering.
18:42
< jeroud>
A lot of the theoretical stuff is useful, but not without the other stuff.
18:42
< McMartin>
To be fair, though, I *did* learn Dijkstra's at Uni
18:42
< ErikMesoy>
My university demanded I make a sudoku solver with a graphical interface for an exercise, so I think they must have taught me something. >_>
18:43
< jeroud>
Very few (if any) university courses teach automated testing or revision control.
18:43
< McMartin>
That latter makes me sad and confused
18:44
< McMartin>
Because in 1996 they expected us to use version control but also didn't teach it beyond 30 minutes of introduction to CVS.
18:44
< jeroud>
Arguably, the former is both easier to teach and more valuable.
18:45
< McMartin>
To be fair, in 1996 automated testing wasn't much of a thing outside of the hardware domain.
18:45
< jeroud>
Just hand out lots of assignments that consist of a test suite and maybe some scaffolding.
18:46
< McMartin>
That's super common these days, I think.
18:46
< McMartin>
Mainly due to TA laziness *shakes cane*
18:46
< jeroud>
Not anywhere I've seen, but I haven't really been looking.
18:47
< McMartin>
There's a number of people taking CS classes right now here, and when they talk about their assignments, they're pretty obviously submitting them to autograders that are test-based.
18:47
< McMartin>
Which is basically what you describe.
18:47
< jeroud>
The key is to occasionally hand out assignments with no tests.
18:48
< McMartin>
Better not do that cold, or you're just testing for who has a natural talent for it. We do that too much in CS education as it is. >_<
18:48
< jeroud>
No, because the tests in the autograders aren't visible to the students.
18:48
<@gnolam>
AnnoDomini: if you want to learn A*, http://www.policyalmanac.org/games/aStarTutorial.htm is still the best tutorial I've come across.
18:49
<@gnolam>
And no idea about C::B. Haven't used it in years.
18:49
< McMartin>
jeroud: OK, that's fair.
18:50
< jeroud>
The idea is to teach students about the benefits of automated testing by stealth.
18:50
< McMartin>
I admit that - and this is in part due to the problem domains I play in - automated testing has a harder row to hoe with me
18:50
<@gnolam>
"Autograd" should so be a Soviet robot city.
18:51
< jeroud>
McMartin: I don't entirely grok that metaphor.
18:51
< McMartin>
"A hard row to hoe" = "more difficult work than usual to do"
18:51
< jeroud>
Ah, yes. I play in some domains like that as well.
18:52
< McMartin>
More formally: "In the domains I tend to play around in, more often than not a passing suite of invisible comprehensive unit tests is actually only providing you with an illusion of security but is really only verifying that your RAM isn't corrupt"
18:52
< McMartin>
But this is also because I think the only acceptable verification of a blit function is a screenshot tool, yes~
18:53
< jeroud>
McMartin: There are definitely *parts* of the system that are more amenable to automated testing.
18:53
< McMartin>
Yeah.
18:53
< McMartin>
Monocle's core data structures got pretty extensive such testing, though not what I would consider formally acceptable.
18:54
< jeroud>
And "dump this bitmap to a file and compare with a verified one" is an entirely reasonable approach.
18:54
< McMartin>
(It got 100,000,000 test runs with random data against FreeBSD's independent implementation of the algorithm that uses a different data structure layout)
18:55
< Shiz>
quantity != qualit
18:55
< Shiz>
y
18:55
< McMartin>
This is true.
18:55
< jeroud>
I hate writing tests and I'm not very good at it, but I'm still better than most people whose code I've looked at.
18:56
< McMartin>
Shiz: I *also* executed a series of 40 hand-crafted tests that do exploration of all the code paths in my code
18:56
< jeroud>
It's just that I hate working on untested code more.
18:56
< Shiz>
a lot of my university courses have an online grader that runs its own test suite
18:56
< Shiz>
and only returns if your program passed or not
18:56
< Shiz>
so you're forced to pretty much write tests yourself
18:56
< McMartin>
However, that (a) isn't enough to cover every case in the algorithm and (b) the total number of cases is impractically large
18:57
< jeroud>
Shiz: That doesn't teach you much about the value of tests.
18:57
< Shiz>
it actually only serves to annoy
18:57
< Shiz>
we had a formal testing course though
18:57
< jeroud>
Exactly.
18:57
< Shiz>
it was boring as shit and nobody liked it
18:57
< jeroud>
Exactly.
18:57
< Shiz>
it also featured a java implementation of pacman with nested factories
18:58
< Shiz>
:x
18:58
< jeroud>
That's why you need to *demonstrate* the value.
18:58
< McMartin>
jeroud: I guess I should explicitly state that I am skeptical of test-driven development outside of extremely well-understood domains
18:58
< jeroud>
McMartin: I don't do TDD.
18:58
< McMartin>
While it can be made to fit the process, the crowbar and hammer marks are obvious when you do =P
18:59
< McMartin>
(But if you're in one of the few places where the waterfall model actually works, yes, absolutely do TDD)
18:59
< jeroud>
I generally write tests alongside the code or shortly afterwards.
18:59
< Shiz>
TDD is very waterfall-ish.
18:59
< jeroud>
Not really.
18:59
< Shiz>
oh, McM just said that
19:00
< jeroud>
Or rather, it's on a much smaller scale.
19:00
< McMartin>
TDD has the assumption that you know what a right answer looks like
19:00
< Ogredude>
and that you understand how to write a test for that answer
19:00
< jeroud>
You don't start by spending three months writing failing tests for vaporware.
19:00
< Ogredude>
half the time I'm stymied by figuring out how to write the test
19:01
< Shiz>
I always wondered how to properly test my irc client
19:01
< Shiz>
it probably involves setting up a local ircd as an oracle
19:01 * Shiz shrugs
19:01
< McMartin>
Shiz: That actually can work OK if you happened to build it in a certain way
19:01
< Ogredude>
that said, when you do know what the hell the right answer looks like, test-driven is an awful lot of fun
19:01
< Ogredude>
and it makes it way easier to come back in down the line and fix bugs
19:01
< McMartin>
Right
19:01
< Ogredude>
is easy to be agile with it too
19:01
< McMartin>
That's where automated testing gets its victories.
19:01
< jeroud>
Ogredude: That often (but not always) indicates that you don't under the problem well enough.
19:02
< Ogredude>
jeroud: yeah, I don't understand how to gather requirements
19:02
< Shiz>
I love automated testing when I don't have to write the tests
19:02
< Shiz>
:P
19:02
< McMartin>
jeroud: Yes. The objection to TDD is that this is true of every interesting problem ever.
19:02
< Ogredude>
there's all this blahblah yaddayadda in the books, but nobody ever really gives concrete examples of how to gather project requirements
19:03
< Shiz>
talk with your stakeholders
19:03
< Ogredude>
one place the TDD fell down is that I ended up spending more time getting my test environment to stay working than I did actually writing tests and code
19:03
< jeroud>
McMartin: My point is that you have the same problem writing the code as you do writing the test.
19:03
<@TheWatcher>
Ogredude: step 1: kill all your users. This is the only way to ensure the requirements do not change.
19:03
< Ogredude>
freakin guard and spork not wanting to cooperate
19:03
< Ogredude>
TheWatcher: I like that idea.
19:03
<@TheWatcher>
(note: if you do not do this, they will change, usually at the least opportune point)
19:03
< Ogredude>
Shiz: yeah but that doesn't help with figuring out the right questions to ask
19:03
< Shiz>
also, who tests the tests?
19:03
<@TheWatcher>
(so you need to design for that, too)
19:03
< Shiz>
or the tools used to test?
19:04
<@Namegduf>
Tools can be self-tested or tested with another tool, not so hard.
19:04
< McMartin>
jeroud: Well, I mean, you've seen me doing this out loud with Monocle.
19:04
< jeroud>
TheWatcher: Alternatively, implement a specification for which the standards body has dissolved.
19:04
< Ogredude>
and that doesn't help when the customer's like: *waves hands* "Yeah, it should be like Facebook and Twitter, and LinkedIn too. Oh yeah and it should work like Pinterest"
19:04
< McMartin>
Ogredude: Oh, if you're at *that* level
19:04
<@Namegduf>
Tests ought to be sufficiently short that they are very unlikely to be buggy and so very very unlikely that both are buggy in exactly the wrong way.
19:04
< jeroud>
Ogredude: You're starting to big there.
19:04
< Ogredude>
and when you try to pin her down on any specifics she just freaks out at you because it's obvious, it should work like Facebook and Twitter, oh yeah and LinkedIn, and make it work like Pinterest, and that should be super simple!
19:04
<@TheWatcher>
(13 years working in a university have made me really, really good at anticipating the possible divergent requirements, and making sure things will work with any...)
19:04
< McMartin>
Then get them in front of a whiteboard and start alking workflows and user stories.
19:04
< Shiz>
jeroud: I tried that with irc, worked out less well than i had hoped
19:05
< Ogredude>
this is when they become an ex-customer
19:05
< McMartin>
Spoiler: The answer will be "we don't know what we want"
19:05
< Ogredude>
yeah
19:05
< jeroud>
Shiz: The problem *there* is that nobody conforms to the spec.
19:05
< Ogredude>
because it should be like pinterest and linkedin but with twitter and facebook in there too
19:05
< McMartin>
But that's part of the landscape too.
19:05
< Shiz>
and also that there are 99 unofficial under-documented extensions
19:05
< Shiz>
and everyone uses different ones
19:05
< Shiz>
:D
19:06
< jeroud>
Exactly.
19:06
< Ogredude>
oh yeah and let's invent new terms for things just because we can!
19:06
< Ogredude>
it won't be a "blog roll" or a "news feed" it'll be a "PagePress"
19:06
< Shiz>
Ogredude: twatbook
19:06
< Shiz>
oh
19:06
< McMartin>
CODICIL WINTER HILL
19:06
< jeroud>
Anyway, I see TDD as a low-level implementation thing.
19:06
< Ogredude>
oh and I want Comic Sans MS for all the header fonts!
19:06
< Ogredude>
That's such a cute fun font!
19:06 * Tamber sets Ogredude on fire.
19:06
< Shiz>
Ogredude: you need to make it 'pop' more
19:06
< Shiz>
cna you do that for me
19:06
< Ogredude>
yeah!
19:07
< McMartin>
jeroud: Right. Monocle used fuzz testing on things like "I'm going to need red-black trees"
19:07
< Ogredude>
we fired that customer.
19:08
< McMartin>
The "correct" thing to do there is of course "use somebody else's" but I didn't like the implementations I found and the algoirhtms are like three pages long, so whatever, use those other implementations as references whose results must match up
19:08
< Ogredude>
we explained to her why we felt she should not use Comic Sans MS anywhere in the project, and backed up our opinions with links to articles about it
19:08
< McMartin>
And must match up with white-box testing
19:08
< Ogredude>
she went ballistic because we weren't willing to do what SHE wanted to do
19:08
< Ogredude>
and it was HER project after all
19:08
< Ogredude>
then 2 days later she said "Well I talked to my own graphic designer, and she says don't use that font too"
19:09
< Ogredude>
#1 reason for project failure: Stakeholders fail to take the advice of their experts
19:09
< jeroud>
"I need to hit this service for the list of inventory and then sort by customer preferences. I'll start by writing a test that pretends to be that service and asserts that what I get out is in the right order."
19:09
< McMartin>
Once I get collisions and stuff set up, I intend to set up demos that are basically those word problems about trains living City X at Y mph and then making sure that they produce a terrible trainwreck^W^W^W^Wpass one another at the appropriate frame number.
19:10
< McMartin>
living? leaving.
19:10
< jeroud>
McMartin: Not dead trains?
19:10
< jeroud>
Aww, too late.
19:10
< McMartin>
It is *collision* testing after all.
19:10
< jeroud>
Well said, sir.
19:11
< jeroud>
The most depressing thing about porting pygame to cffi is the number of bugs we've found.
19:12
< jeroud>
Obvious bugs that are immediately obviously to anyone using those features.
19:13
< jeroud>
-ly
19:14
< Ogredude>
holy crap
19:14
< Ogredude>
$customer: It doesn't work!
19:14
< Ogredude>
me: Well what happens when you hit the link?
19:15
< Ogredude>
$customer: It goes to the homepage and asks for a login
19:15
< Ogredude>
uhhh, that's expected behavior, what exactly is not working here?
19:15
< jeroud>
Anyway, I've found a fairly strong correlation between code quality and test coverage.
19:16
< Ogredude>
this job would be great if it weren't for the customers
19:16
< jeroud>
Ogredude: My resignation from my previous job was triggered by a "bug report" kind of like that.
19:17
< jeroud>
From the Abusive Director of Business Intelligence.
19:17
< jeroud>
(I would probably have stayed another month or so otherwise.)
19:18
< Shiz>
jeroud ‚ The most depressing thing about porting pygame to cffi is the number of bugs we've found.
19:18
< Shiz>
jeroud ‚ Obvious bugs that are immediately obviously to anyone using those features.
19:18
< Shiz>
sounds like renpy
19:18
< jeroud>
The other dev on the project forwarded me the mail thread that I had been deliberately excluded from.
19:19
< Shiz>
'jeroud is a faget'?
19:21
< jeroud>
"$foo is broken! Fix it immediately! What the hell do you think you're doing letting issues like this happen in the live system?" "Err, we haven't built $foo yet. What did you do and what result did you get?" "How dare you blame me for this!"
19:22
< jeroud>
Eventually the guy got her to give him the query she ran and pointed out where she'd screwed it up.
19:24
< jeroud>
Then her stream of abuse switched direction and she demanded to know why we built a system that makes it so easy to screw up queries.
19:24
< jeroud>
That's when he forwarded the thread to me.
19:24
<@Namegduf>
Did you suggest counselling?
19:25
<@Namegduf>
It sounds like it could have been of use.
19:26
< jeroud>
After giving my notice I explained, calmly and in great detail, exactly what architectural changes I had been proposing for the past three months and why they were necessary.
19:28
< jeroud>
I quoted liberally from old emails and JIRA tickets, especially the ones in which she had told me in no uncertain terms to do things *her* way.
19:28
< jeroud>
(Which I had done, under protest.)
19:28
< Shiz>
whatever happened to 'let the experts handle it'
19:28 * Shiz shrug
19:28
< jeroud>
I copied my boss and the CTO on that email.
19:29
< jeroud>
I never heard from her again.
19:29
<@Tamber>
Shiz: "It's just typing at a computer. God, *anyone* can do that!" ¬¬
19:29
< Shiz>
almost as good as "you're doing this out of passion, right"
19:29
< jeroud>
(But I think she still works there.)
19:29
< Shiz>
"that means I don't have to pay, right"
19:30
< jeroud>
I am *much* happier at my current job.
19:30
<@gnolam>
Ogredude: http://clientsfromhell.net/
19:31
< jeroud>
(That job also included a brief and very disturbing interlude during which I occasionally had to look at child pornography.)
19:32
< McMartin>
In the "help out law enforcement" sense or in the "deal with customers' unsecured data, which occasionally involves having to call in law enforcement" sense?
19:32
< jeroud>
(I was building an automated "report that garbage to the FBI" system for our abuse team.)
19:32
<@Tamber>
*grimace*
19:33
< jeroud>
McMartin: Build-your-own-website company.
19:33 * McMartin nods
19:33
< McMartin>
I guess that fits with more what I was thinking of in the latter case
19:33
< McMartin>
(Which was most explicitly "We have to fix customer laptops and they occasionally have felonious choices of desktop background")
19:34
< Shiz>
... what
19:34
< Shiz>
no really
19:34
< Shiz>
what
19:35
< McMartin>
Jerith's stuff or mine?
19:35
< jeroud>
The abuse team (a very nice lady with a young daughter) sent us a cake when that went live and she no longer had to upload each piece of evidence individually.
19:35
< Shiz>
yours
19:35
< McMartin>
Ah.
19:35
< McMartin>
I've heard stories of that nature from guys at local computer stores
19:36
< jeroud>
The reporting procedure for that stuff is depressingly primitive.
19:36
< Shiz>
why would people even
19:36
< McMartin>
In terms of "what kind of person is so stupid as to do this in the first place", I seriously don't know
19:36
< Shiz>
how fucking daft do you have to be to put CP as your background
19:37
<@Tamber>
About that daft.
19:37
< jeroud>
Shiz: People are morons sometimes.
19:37
< McMartin>
It seems like the same general error as the people who post on Facebook about what a shit company they just interviewed at and then are shocked to find they didn't get the job because they are twats
19:37
< Shiz>
well
19:37
< Shiz>
I guess I could kind of understand it if it was like
19:37
< Shiz>
drawn shit
19:37
<@Tamber>
jeroud: Only sometimes~?
19:37
< Shiz>
because that's not illegal or vaguely
19:37
< Shiz>
iirc
19:37
< McMartin>
Tamber: The degree of moronitude (moronicity?) varies with time
19:38
< Shiz>
moronidity
19:38
< Ogredude>
gnolam: yeah there are some pretty awful people out there :)
19:38
< Ogredude>
oh man
19:38
< Shiz>
clientsfromhell is great
19:38
< jeroud>
Also, there are way too many people who consider perfectly innocent images of undressed minors to be criminal.
19:39
< Ogredude>
we offer to host $client's site on our servers where we've got the infrastructure to quickly and easily maintain it (as well as gigabit ethernet on top of a level 1 backbone), as opposed to $client's box that's a barebones ubuntu with LAMP stack sitting on his 40mbps DSL connection
19:39
< Ogredude>
and he's going off about security and availability, and especially security blahblah
19:39
< Shiz>
jeroud: still not something I would set as my background.
19:39
< jeroud>
Shiz: Sure.
19:39 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has joined #code
19:39 mode/#code [+qo Vornicus Vornicus] by ChanServ
19:39
< Ogredude>
and then he's like "OK so log into my account on the site" and the password he gives is complete and utter insecure bullspit that any script kiddiot could guess within a few tries
19:40
<@Tamber>
Shiz: But you're not them~ :p
19:40
< Shiz>
'123456'?
19:40
<@Tamber>
Amazing, I have the same combination on my luggage!
19:40
< Shiz>
you must be soulmates
19:40
<@Tamber>
:p
19:41
< Ogredude>
it didn't have numbers in it. and it wasn't "password"
19:41
< McMartin>
I've gotten the impression that script kiddies can now crack any password of length 8 or less =/
19:41
< Ogredude>
but I can't give any more information about it without even further compromising its already extremely poor security
19:41
< Shiz>
McMartin: depends on what algorithm used to hash.
19:41
< Shiz>
definitely not by an online attack, lol
19:43
< McMartin>
Yeah, not online
19:43
< Shiz>
I mean, something like scrypt or a few thousand rounds of PKBDF2 with hmac-sha512 would still be tough to crack
19:43
< McMartin>
But "offline attack with a couple decent GPUs and you can bruteforce it in a few days"
19:44
< McMartin>
Hmm, yeah
19:44
< McMartin>
I suppose there's also level of failure
19:44
<&ToxicFrog>
Also, dictionary attacks are quite sophisticated these days.
19:44
< McMartin>
Time-to-*one*-password-cracked vs time-to-*your*-password-cracked
19:44
< McMartin>
But I've gotten the impression that, for instance, salting properly now means only that it won't be cracked in a fraction of a second.
19:45
< Shiz>
I don't know
19:45
< Shiz>
it takes my server 3 seconds to verify my password
19:45
< Shiz>
:P
19:45
<@Tamber>
Sorry, I'll dial back the password cracker. :D
19:45
<@Tamber>
Er, I mean... oh, that's not good! <.< >.>
19:45
< McMartin>
Sure, but those are deliberately shit, Shiz, specifically to make online attacks harder
19:46
< Shiz>
hmm?
19:46
< Shiz>
there is no deliberate delay there
19:46
< Shiz>
# here are the per-package modules (the "Primary" block)
19:46
< Shiz>
password [success=1 default=ignore] pam_unix.so obscure sha512 rounds=512000
19:46
< McMartin>
Shiz: Not a deliberate delay, no, but it's also not going out of its way to be efficient
19:46
< Ogredude>
I just find it hilarious that he's expressing all these concerns about the security of the system
19:46
< Shiz>
I'll give you that it won't use its GPU, no
19:46
< Shiz>
mainly because it has no GPU
19:46
< Shiz>
:P
19:46
< McMartin>
Hee
19:46
< Ogredude>
and then the password he uses is completely, utterly, totally, insecure
19:47 Kindamoody|out is now known as Kindamoody
19:47
< Shiz>
however
19:47
< Shiz>
when I'm looking at the last GPU bruteforcer speeds for sha512
19:47
< Shiz>
it would mean an attacker would be able to crack 60 passwords/sec
19:47
< Shiz>
with the algorithm I use
19:48
< Shiz>
on a gtx650ti
19:48
< Shiz>
err
19:48
< Shiz>
try 60 passwords
19:48
< Shiz>
not crack
19:48
< McMartin>
sha512 is Better Than Current Default Practices, yeah
19:48
< Shiz>
anyway
19:48
< Shiz>
point I'm trying to make here
19:49
< Shiz>
with any securely implemented server-side hash, your passwords should still be (reasonably) safe
19:49
< Shiz>
now, of course I can't guarantee everyone or even most people will do that
19:49
<@Namegduf>
This is true by definition
19:49
< McMartin>
"Securely implemented" changes with time
19:49
<@Namegduf>
Presuming that "securely implemented" also limits you to hashes which are believed cryptographically suitable
19:49
< Shiz>
then again
19:50
< Shiz>
McMartin: PKDBF2 and scrypt account for that
19:50
< McMartin>
"Cryptographically suitable" also changes with time; there was a time when SHA1 was acceptable.
19:50
< Shiz>
you can change their workload parameters
19:50
< Shiz>
to make it more effort to crack
19:50
<@Namegduf>
Shiz: Those are far from "any... server-side hash"
19:50
< Shiz>
and generate
19:50
<@Namegduf>
Those are a very specific two
19:50
< Shiz>
point.
19:50
<@Namegduf>
Not, say, MD5 like a lot of places still use.
19:51
< Shiz>
well, I kind of misplaced my point there
19:51
<@Namegduf>
(If you are *lucky*, it might be salted)
19:51
< Shiz>
what I really meant to say was that there exist hashing algorithms (and presumably implementations) for which even small passwords are still relatively safe
19:51
< Shiz>
:P
19:52
< Shiz>
of course, since you can't guarantee or know that every service you have a password for will USE that...
19:52
< Shiz>
better safe than sorry.
19:52
<@Namegduf>
I just use LastPass with random passwords per service.
19:52
< McMartin>
^++
19:52
< Shiz>
I use KeePass
19:52
<@Namegduf>
Also good.
19:52
< McMartin>
1Password rounds out the trifecta there
19:52
< Shiz>
with usually either the maximum length the service allows (eww) or 40-64 char passwords
19:53
< Shiz>
for instance
19:53
<@Namegduf>
100 and same deal
19:53 * TheWatcher readsup
19:53
< Shiz>
hotmail limits passwords to 16 characters
19:53
< McMartin>
KeePass is the one I see the most of; are there meaningful differences between the few?
19:53
< Shiz>
lol
19:53
< Shiz>
McMartin: lastpass is a service
19:53
< Shiz>
you store your encrypted passwords at their servers
19:53
< Shiz>
and can access them anywhere
19:53
< Shiz>
keepass is more of a local thing
19:53
< Shiz>
you have a database file with passwods
19:53
< Shiz>
also encrypted of course
19:53
<@Namegduf>
McMartin: LastPass is primarily a browser plugin and cloud service, which decrypts your password DB locally in the plugin and syncs automatically between systems.
19:53
< McMartin>
ofc
19:54
< McMartin>
(@Shiz)
19:54
< McMartin>
Aha
19:54
<@Namegduf>
It is freemium.
19:54
<@Namegduf>
The free is quite acceptable but the mobile app requires the fee, which is quite low.
19:54
< McMartin>
Mmm.
19:54
< McMartin>
I'm more mobile these days, I should consider switching.
19:54
<@Namegduf>
And I go for that just in case I really need to login from my phone, although it's a pain in the ass since it absolutely won't stay logged in on a phone for any length of time.
19:55
< Shiz>
the only issue i have is that i store windows domain passwords in keepass
19:55
< Shiz>
and i obviously can't run keepass on non-logged in PCs
19:55
<@Namegduf>
(On a desktop, you can keep your browser open all day. On the phone the app dies whenever it is inactive for longer than a minute or so)
19:55 * McMartin nods
19:55
< Shiz>
so I have to type over my 64-char password
19:55
< Shiz>
every time I have to login to my uni network physically
19:55
< McMartin>
Namegduf: Though I'd probably consider it also just for "this is a fine service, so have some money"
19:55
<@Namegduf>
McMartin: That too, yeah.
19:56
<@Namegduf>
I think they own XMarks now.
19:56
< Shiz>
although I certainly believe they store the passwords securely, I'm still not entirely comfortable with storing them centrally
19:56
< McMartin>
Yeah, this is one reason I've avoided such things in the past
19:57
<@Namegduf>
I mostly just accept that anything on my main identity is in the hands of any especially interested government
19:57
< Shiz>
which is why I run keepass and just do $ scp Documents/Database.kdb rhenium:~ from time to time
19:57
<@Namegduf>
It's probably good enough to beat other people
19:57
< McMartin>
Namegduf: That's going to be true generally, though. State level actors have a *lot* of resources
19:58
< McMartin>
They're not very good at active actions that are secret though, viz. the EC-PRNG debacle
19:58
<@Namegduf>
McMartin: Yeah, thus why I don't think it's worth going to inconvenient measures to avoid the likes of LastPass
19:58
<&ToxicFrog>
Shiz: I use btsync for mine.
19:58
<@Namegduf>
It is Good Enough, like TLS
19:58
<@Namegduf>
(Ish. TLS is a bit worse and starting to seriously degrade.)
19:58
< Shiz>
well, TLS1.2 Should Be Safe Enough
19:59
< McMartin>
For Awhile, Anyway
19:59
< Shiz>
at least browsers are finally starting to implement it
19:59
<&ToxicFrog>
My concern with centralized storage like that is less about the NSA, and more about yet another embarassing incident where it turns they were using comically insecure crypto and then someone made off with their entire database.
19:59
< McMartin>
But TLS is ephemeral anyway so yeah.
19:59
< Shiz>
ToxicFrog: aye.
19:59
<@Namegduf>
ToxicFrog: The crypto is run locally, so it should be possible to verify (or find someone who has verified) what they're using
20:00
<@Namegduf>
Their web-based version does it in JS, it is fairly neat
20:00
<@Namegduf>
Admittedly, it's not going to help you against someone who pushes out an evil update or just edits their JS
20:27
< McMartin>
... what the Hell Ubuntu, why is Gambit still four significant releases behind in Trusty
20:37
< jeroud>
McMartin: Nobody in Ubuntu packaging land cares about it, probably.
20:38
< jeroud>
Although that means it should just be the package from Debian Testing.
20:39
< McMartin>
It is indeed marked "Universe", which I think means "whatever, copy Debian"
20:39
< McMartin>
Is Sid testing?
20:40
< McMartin>
Ah, no, sid is unstable
20:40
< McMartin>
And yeah, it sure looks like the gambc package is 4.2.8 everywhere in Debian.
20:41
< McMartin>
Fedora 19 has 4.6.6, and the actual latest version is 4.6.9
20:44 Vornicus [vorn@Nightstar-sn7kve.sd.cox.net] has quit [[NS] Quit: Leaving]
20:48
<@froztbyte>
Find the package on packages.debian.org
20:48
<@froztbyte>
Jump to bts
20:49
<@froztbyte>
See if there were any recent flamewars or requesters
20:49
<@froztbyte>
Requests*
20:49
< McMartin>
You'll have to unpack "Jump to bts" for me
20:49
<@froztbyte>
But tracker
20:50
< McMartin>
Oh
20:50
<@froztbyte>
I forget what the s is for
20:50
<@froztbyte>
It's in the link block on the right
20:50
< McMartin>
Bug Tracking System
20:50
< McMartin>
It isn't called BTS anymore~
20:50
< McMartin>
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=618273
20:51
< McMartin>
"I've begun work on an updated package [to 4.6.0]. Thanks for you interest in gambc!"
20:51
< McMartin>
Date: Sun, 10 Apr 2011
20:52 Kindamoody is now known as Kindamoody[zZz]
20:52 redwire [redwire@Nightstar-27dppb.nl.bellaliant.net] has joined #code
20:58
< RichyB>
McMartin, Fedora! ‚•
20:58
< RichyB>
Exuberant Hat-Penguin!
21:01
<@froztbyte>
McMartin: time for a gentle nudge then
21:01
<@froztbyte>
Maybe someone else can pick up the package
21:01 * McMartin nods
21:02 * McMartin still finds it hilarious that he learned about Gambit because of Steam.
21:02
<@froztbyte>
Sounds like it's ripe for orphan status, too
21:02
< McMartin>
I'm not familiar with Debian's packaging culture
21:02
< McMartin>
If I make a gentle nudge, will be told "volunteer to take it over or quit your bitching"?
21:03
< McMartin>
Or are there people to look to take things over?
21:04
< McMartin>
*who look to
21:04
<@froztbyte>
Mmm
21:04
<@froztbyte>
Kinda depends
21:04
< McMartin>
Because I'm *not* willing to take over package management for gambc~
21:05
<@froztbyte>
In my experience, gentle nudge would be something like 'hey I noticed that this was pretty old, and there's a bug open. Still intend to hit at that?"
21:05
< Ogredude>
My personal experiences with the Debian community in general has been: 1) Ask well-detailed question with plenty of information, cite some resources used, ask for clarification on specific point. 2) receive answer "lol rtfm n00b"
21:05
<@froztbyte>
And it might lead to the person going "oh shit I forgot to commit"
21:05
<@froztbyte>
Or just silence
21:05
< McMartin>
froztbyte: Is that like a comment on the bug or...?
21:06
<@froztbyte>
If the latter, you could file a request to have it dropped on the orphaned list and someone else could take over
21:06
<@froztbyte>
McMartin: yeah basically
21:06
< McMartin>
OK, I'll do that tonight then
21:06
< McMartin>
Gambit's a really good system, but the version Debian has is much more difficult to mix with simple Makefiles
21:07
< McMartin>
Since gsc doesn't have an -exe option so you have to explicitly manage the compilation to C, generation of the linkage files, and then the final assembly
21:07
< McMartin>
Er
21:07
< McMartin>
Since Debian's version of gsc doesn't have etc
21:07
< McMartin>
While with 3.6 you can just say gsc -exe whatever.scm and then ./whatever executes your Scheme program in native code.
21:07
< McMartin>
Which is, as they say, pretty boss
21:14
< AnnoDomini>
McMartin: I'm trying to understand DA. I'm looking at the pseudocode on the Wikipedia page. What does "insert source into Q;" mean? What is Q?
21:22
<@Tarinaky>
TheWatcher: Changing requirements are good - it means you can add a fee to their invoice for the changes!
21:22 * Tarinaky hides.
21:25
< McMartin>
AnnoDomini: This is up at the top; Q is a set of vertices, and I think it's so named because you are using it as a priority queue
21:25
<@Tarinaky>
(I mean, why do you think the bosses boss says 'yes' in the first place...)
21:26
< AnnoDomini>
McMartin: Oh.
21:26
< McMartin>
(That is, it's possible to extract the element with the smallest distance that hasn't been visited, so you're going to be doing some kind of worklist thing to make it work in practice)
21:34
< McMartin>
hodamn
21:35 * McMartin sets some declarations in the Scheme version of the Klotski solver, nearly doubles its speed
21:42
< McMartin>
That would be (declare (standard-bindings) (block) (not safe) (fixnum)), for the record.
21:51
<@Tarinaky>
Things I find disproportionately unnerving: Laughter behind me during lectures.
21:51
<@TheWatcher>
Tarinaky: that only works when you're not working salaried on projects for your own school
21:54
<@Tarinaky>
TheWatcher: Someone, somewhere, is getting value from your labour :V
21:54
<@Tarinaky>
Insert appropriate quantities of Marxism-Leninism here.
21:56
<@TheWatcher>
Uh, yes
21:56
<@TheWatcher>
And I get paid a wage for it
22:05 * TheWatcher doesn't even get to claim overtime, despite the fact that he will sometimes end up pulling 80 hour weeks in crunch times
22:05
<@Tarinaky>
/Why?/
22:06
< McMartin>
... because that is how salaries work?
22:06 * ErikMesoy inserts 0.1 marxist-leninisms.
22:07
<@Tarinaky>
I meant why even do 80 hour weeks of crunch.
22:07
< McMartin>
I would definitely expect negative productivity to start hitting before that
22:07
<@Tamber>
Because everybody will leave everything -- particularly the stuff you are waiting for -- until the last minute; then panic and scream that none of your stuff is working and they neeeeeed it, and waaaah!
22:08
<@Tarinaky>
To say nothing that if you quietly do extended crunches they'll factor them into their time estimates in future that you'll always do them quietly...
22:08
<@Tarinaky>
And ignoring the fact that 80 hour weeks are illegal for most jobs in the EU...
22:09
<@Tamber>
There's an option in our Working Time Directive that lets you opt out of the 37-hour(?) maximum.
22:09
< Ogredude>
bah
22:10
<@Tamber>
(And some places will quietly hint that you won't get the job unless you tick that box on the form. *eyeroll*)
22:10
< Ogredude>
at my old job, they intentionally gave us more than 40 hours work a week, their attitude is "Well, you're salaried, come in during your off time"
22:10
<@Tarinaky>
And from my limited experience if you're working 80 hour weeks for a flat salary... and, you know... can actually /do/ that, as a thing, you can make more money self-employed.
22:10
< Ogredude>
and it was against the rules to go off by yourself and do work uninterrupted
22:11
< Ogredude>
if you were in the building, you were available for anyone to interrupt you anytime
22:11
< McMartin>
That sounds like a place that doesn't give a shit about actually hitting deadlines =P
22:11
< Ogredude>
ehn, it was a call center... But no, they didn't give a shit about much of anything
22:12
< Ogredude>
it was a terrible place run by terribly incompetent people
22:12
<@Tarinaky>
Call Centers are universal awful places that should be turned to the ground.
22:12
< Ogredude>
I know for a fact that I could run a call center that hit all the metrics and had happy workers
22:12
<@Tarinaky>
Ideally while full of telemarketers and their bosses.
22:12
<@Tarinaky>
*burned
22:12
< Ogredude>
I'm talking inbound tech support here
22:13
<@Tarinaky>
They should still be burned to the ground while full of telemarketers and their bosses.
22:13
<@Tarinaky>
It's not required that the telemarketers /work/ there, I just think they'd make good kindling.
22:13
<@Tamber>
Not really.
22:13
< Ogredude>
heh
22:13
<@Tamber>
They're far too soggy for that.
22:13
<@Tamber>
And they just won't bloody stay still while you try to light them.
22:14
<@Tarinaky>
What about those people that send you Txt messages about PPI claims or personal injuries that never happened?
22:15
<@Tamber>
The people who organise it, sure; the poor sod who had no other employment option but to sit there and feed phone numbers to the script, not so much.
22:15
< Ogredude>
agreed.
22:15
< Ogredude>
I resorted to telemarketing for a few weeks one time
22:15
< Ogredude>
they had this wardialing computer that was dialing like 50 numbers at once, it'd just patch a connection through to the next available agent
22:16
<@Tarinaky>
From what I understand they pay less than minimum wage + commission usually.
22:18
<@Reiv>
Yep, it sucks
22:18
<@Reiv>
But you don't have a lot of choice, some days.
22:20
<@Reiv>
Telemarketing is the rough modern equivalent to being a Tosher of old
22:20
<@Reiv>
Grubbing through the sewage, hoping to find a bauble to sell that you may eat for another day, hoping beyond hope something better shows up
22:20
<@Reiv>
But by having done the job at all, the stink shall remain on your CV for years to come~
22:20
<@Tarinaky>
I think that comparison might be a little weak and depend on hyperbole.
22:21
<@Reiv>
I was being metaphorical. Possibly simile. Certainly poetic.
22:22
<@Tarinaky>
I might be pulling a statistic out of my arse but I'd think that 50 hours a week would be enough time to be churning out a small 0.99c Mobile game a week...
22:22
<@Tarinaky>
(Noting that it doesn't actually have to be any /good/ to sell)
22:22
<@Tamber>
Sure, but you would have to compete with all the other >=0.99c mobile games.
22:22
<@Tarinaky>
Tamber: Which is why you'd make one a week.
22:23
<@Reiv>
If you have the software. And the education. And the inspiration to produce anything but shovelware, with the reminder that the vast majority of app store games would not earn more than even a weeks worth of telemarketing, these days....
22:23
<@Tarinaky>
Reiv: Oh no. It'd be shovelware. And you produce a torrent of them requiring only one of them to be a moderate success..
22:24
<@Reiv>
The App Store is, apparently, vicious these days.
22:24
<@Tarinaky>
Yes, because it's full of people doing exactly what I just described.
22:25
<@Reiv>
And it doesn't work very well, unless you hit lucky
22:25
<@Reiv>
Which might be great at week 7, but won't help you for weeks 1-6, when your stomach continues to grumble.
22:26
<@Reiv>
Don't forget, you live in a Socialist Paradise, where the Gummint will actually give you a nickel for not working! :p
22:26
<@Reiv>
Other people may have more pressing concerns in their time.
22:26
<@Tarinaky>
Okay, this is true.
22:26
<@Reiv>
Hand-to-mouth is a thing. It doesn't matter what will work better next week, what matters is what works today.
22:27
<@Tarinaky>
In that case I suggest selling whatever kind of Bath Salt is legal this week :V
22:28 * Reiv is reminded of the Insight to Poverty essay that went round a few weeks/months back, which helps explain why they breed like crazy and smoke despite the warnings. It's cuz that stuff is 'bad later, good now', and they spend their whole life worried about the 'now' to the point that 'later' becomes so abstract they just don't care any more.
22:28
<@Reiv>
Yeah, you first.
22:28 ErikMesoy is now known as ErikMesoy|sleep
22:28
<@Reiv>
I'll just feel some sympathy for telemarketers, here.
22:29
<@Tarinaky>
Last time I had to answer a telemarketer he started shouting at me. So no.
22:31 Derakon[AFK] is now known as Derakon
22:35
<@Reiv>
When you told him no?
22:36
<@Tarinaky>
When he heard my mother at the other end of the room telling me to tell him not to call again while huffing and puffing because we were both moving a heavy piece of furniture from a recently deceased relative's house into hers and were expecting an /important/ phone call.
22:38 Turaiel[Offline] is now known as Turaiel
22:39
<@Tarinaky>
Plus, as we've established, I live in a country where you aren't cut off from JSA after 6 months or whatever the limit is in the colonies.
22:42
<@Tarinaky>
Most of my post-graduation-job-related-stress atm is that I /really/ don't want to spend 6 months->1 year at home dealing with my family.
22:42
<@Tarinaky>
So oestensibly it's self-inflicted. :/
22:53 Stalker [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
22:58
<@Reiv>
Obviously, you should get a telemarketing job so you can afford to live away from home.
22:58
<@Reiv>
:p
23:00 gnolam [lenin@Nightstar-skg971.cust.bredbandsbolaget.se] has quit [Connection reset by peer]
23:00 gnolam [lenin@Nightstar-skg971.cust.bredbandsbolaget.se] has joined #code
23:00 mode/#code [+o gnolam] by ChanServ
23:10
< AnnoDomini>
Hmm. I will need more time to learn this pathfinding stuff.
23:11 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
23:11
< AnnoDomini>
I think I undestand how A*/Dijkstra work, but not well enough to implement it.
23:11 * McMartin nods
23:11
< McMartin>
What's your implementation language?
23:11
< AnnoDomini>
C/C++.
23:11
< McMartin>
... right
23:11
< McMartin>
OK, might want to try to do it first in Python or something where you get more datatypes "for free"
23:12
< McMartin>
C++ does have a priority_queue class, but it's not the easiest thing in the world to use
23:13
< McMartin>
(std::priority_queue, in <queue>)
23:13
< AnnoDomini>
For now, I've implemented "if blocked, move randomly, otherwise move towards target" and it works!
23:13
< McMartin>
Also suitably zomboid
23:14
<@gnolam>
AnnoDomini: did you see my A* link?
23:15
< AnnoDomini>
I don't think so.
23:15 dmiles_afk [dmiles@Nightstar-hdcn1r.or.comcast.net] has joined #code
23:15
< dmiles_afk>
Anyone seen a teaching system author'd in inform7?
23:16
<@gnolam>
<gnolam> AnnoDomini: if you want to learn A*, http://www.policyalmanac.org/games/aStarTutorial.htm is still the best tutorial I've come across.
23:16
< AnnoDomini>
Ah, yes, I've found this also.
23:16
< dmiles_afk>
(looking to take i7x code for such a teaching game.. and change the subject mater for the students)
23:17
< McMartin>
i7x?
23:17
< McMartin>
I only know that as "Inform 7 Extension" and that seems implausible in context
23:17
< dmiles_afk>
oh oops yeah.. i7 then :)
23:18
< McMartin>
Oh, I missed your first line
23:18 * dmiles_afk was googling about i7 and this channels irc logs came up!~
23:18
< McMartin>
Hi, I'm Michael Martin, I wrote one of the commonly used conversation menu systems in I7 :)
23:19
< McMartin>
What do you mean by "teaching system" here, though?
23:19
< McMartin>
Like, as part of a course in authoring interactive fiction? Programming generally?
23:19
< dmiles_afk>
ah awesome!.. I am Douglas Miles.. i wrote some text to logical form convertors in my day..
23:20
<@Tarinaky>
I am Tarinaky... I have failed in every post-mandatory-education goal I have ever held!
23:21
< McMartin>
Tarinaky: Here I'm giving my full name because it's the name I'm listed under in IF-related stuff
23:21
< dmiles_afk>
Well currently the task is to show off ta robot head that will hold a conversion.. so I decide the best thing to do is find a directed conversation such samll lesson a teacher had created to quiz students on mathmatical story problesm
23:21
< McMartin>
Which is probably part of why this would come up in an I7 google search
23:21
<@Tarinaky>
I'd have given my full name but I'm kindof between legal names :/
23:22
< McMartin>
Hrm, so you want students to *interact* with it
23:22
< McMartin>
I'd start with Emily Short's Inform Recipe Book, which is the "yellow pages" in the I7 docs
23:22
< dmiles_afk>
yes.. perhaps the parser will becom e the voice of the teacher
23:23
< McMartin>
There's a bunch of examples for topic-based conversation in the recipe book
23:23
< McMartin>
For teaching it, Nick Montfort has actually taught classes in this stuff, but the materials I've found of his that he's put online all seem to be I6-based.
23:25
< McMartin>
For more, hrm, dramatic or narrative conversations, Eric Eve ported the TADS 3 conversation cued-action model to I7 as a series of extensions; the best discussion of setting up and using that I've seen is the book "Creating Interactive Fiction with Inform 7" by Aaron Reed
23:25
< McMartin>
My own conversation system is closer to the LucasArts/Bioware/etc model and is probably not suitable for this use case.
23:27
< McMartin>
Opening up the Recipe Book, Chapter 7 covers a variety of things to do with other characters.
23:28
< dmiles_afk>
I am listening and visiting links you are suggesting :)
23:28
< McMartin>
Well, http://inform7.com/learn/man/Rdoc52.html then
23:29
< McMartin>
The Reed book is an actual book
23:32
< dmiles_afk>
i am so amzed I lucked out and found you McMartin
23:34
< McMartin>
If you start doing serious I7 development, there's an author forum at http://www.intfiction.org/forum/ and then there's also a "MUD" that's more of a set of chat rooms that has channels for development in various systems at http://ifmud.port4000.com/
23:35
< McMartin>
This channel doesn't do a whole lot of IF work overall.
23:36 dmiles_akf [dmiles@Nightstar-hdcn1r.or.comcast.net] has joined #code
23:36 dmiles_akf is now known as logicmoo
23:56
< logicmoo>
i am definately new to inform7 :) .. your (Michael) Assumed Conversers.i7x is helpfull
--- Log closed Tue Dec 10 00:00:44 2013
code logs -> 2013 -> Mon, 09 Dec 2013< code.20131208.log - code.20131210.log >

[ Latest log file ]