code logs -> 2011 -> Wed, 20 Jul 2011< code.20110719.log - code.20110721.log >
--- Log opened Wed Jul 20 00:00:31 2011
00:04 shade_of_cpux is now known as cpux
00:19
< ToxicFrog>
jerith: most of us just pass the lambda to itself o.O
00:20 celticminstrel is now known as celmin|away
00:26 kwsn [t1gg@31356A.5FD175.3E1307.550A93] has joined #code
00:28 Vornicus-Latens is now known as Vornicus
00:33 Derakon[AFK] is now known as Derakon
00:44
< Kazriko>
jerith, *slow clap* the absolute best, worst thing I've seen today. :)
00:56
< McMartin>
jerith: That is wrong~
00:56
< McMartin>
The right way, as TF says, is to use a Y combinator.
00:57
< McMartin>
(I'm not sure if you can express it outright in Python, though)
00:57
< McMartin>
Also, I have had my own madness moment.
00:58
< McMartin>
A 2D sprite-based game engine is basically a set of independent physics updates, followed by a systematic blitting of each object in Z-order, right.
00:58
< McMartin>
that's a map-reduce problem
00:58
< McMartin>
Now I want to write a monadic 2D game engine
00:58
< ToxicFrog>
:cthulhu:
01:04
< McMartin>
Hm. The real problem with doing factorial as a single lambda in Python is Python's lack of a ternary operator.
01:04
< McMartin>
Otherwise, it would be:
01:04
< McMartin>
fact = lambda x: (lambda f: f(f, x))(lambda (g, i): i < 2 ? 1 : g (g, i-1))
01:05
< Derakon>
Where's the ternary operator there, the ?: bit?
01:05
< ToxicFrog>
Yes.
01:05
< Derakon>
You should be able to use "foo if x else y", I think.
01:05
< ToxicFrog>
Can't you abuse boolean operators to do that in python?
01:05
< ToxicFrog>
Or that, yes.
01:07
< McMartin>
Success!
01:07
< McMartin>
fact = lambda x: (lambda f: f(f, x))(lambda g, i: 1 if i < 2 else i * g(g, i-1))
01:08
< Derakon>
Yep, that works.
02:03
< celmin|away>
Python does have a ternary operator. :P
02:04 celmin|away is now known as celticminstrel
02:22 AnnoDomini [annodomini@Nightstar-aa921484.adsl.tpnet.pl] has quit [[NS] Quit: ZZZ.]
02:44 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has joined #code
03:12 Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has quit [Ping timeout: 121 seconds]
03:27 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has quit [[NS] Quit: Z?]
04:04 * McMartin looks at hssdl, :science:s.
04:53 Vash [Vash@Nightstar-f03c5637.sd.cox.net] has joined #code
06:19 Alek [omegaboot@Nightstar-853936c8.il.comcast.net] has quit [Ping timeout: 121 seconds]
06:39 Derakon is now known as Derakon[AFK]
06:40 Rhamphoryncus [rhamph@Nightstar-7be32fa4.abhsia.telus.net] has joined #code
07:04 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.]
07:04 kwsn is now known as kw\t-2
07:29 Alek [omegaboot@Nightstar-853936c8.il.comcast.net] has joined #code
07:33 kw\t-2 [t1gg@31356A.5FD175.3E1307.550A93] has quit [[NS] Quit: moo]
08:09 You're now known as TheWatcher
08:48 Vash [Vash@Nightstar-f03c5637.sd.cox.net] has quit [[NS] Quit: Sleep of Love and Space!]
10:24 Rhamphoryncus [rhamph@Nightstar-7be32fa4.abhsia.telus.net] has quit [Client exited]
10:34 Vornicus [vorn@Nightstar-366fd9eb.ct.comcast.net] has quit [Ping timeout: 121 seconds]
10:37 AnnoDomini [annodomini@Nightstar-aa921484.adsl.tpnet.pl] has joined #code
10:43 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.]
10:48 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has joined #code
11:29 AbuDhabi [annodomini@Nightstar-868cccbf.adsl.tpnet.pl] has joined #code
11:31 AnnoDomini [annodomini@Nightstar-aa921484.adsl.tpnet.pl] has quit [Ping timeout: 121 seconds]
11:36 * TheWatcher ponders GD, wonders why it uses 0 to 127 for alpha rather than 255
11:54 Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has joined #code
12:06 gnolam [lenin@Nightstar-202a5047.priv.bahnhof.se] has joined #code
12:37 cpux is now known as shade_of_cpux
14:07 Thaqui [Thaqui@27B34E.D54D49.F53FA1.6A113C] has quit [Client closed the connection]
15:09 celticminstrel [celticminst@Nightstar-5d22ab1d.cable.rogers.com] has joined #code
16:58 Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has quit [[NS] Quit: ]
17:09 Derakon[AFK] is now known as Derakon
17:11 Vornicus [vorn@Nightstar-366fd9eb.ct.comcast.net] has joined #code
17:15 Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Connection reset by peer]
17:15 Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code
18:28 Stalker [Z@Nightstar-3602cf5a.cust.comxnet.dk] has quit [[NS] Quit: If the world didn't suck, we'd all fall off.]
18:38 Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has quit [Client closed the connection]
18:38 Reiver [orthianz@9C034E.E649EA.3194C7.8381A3] has joined #code
--- Log closed Wed Jul 20 19:16:16 2011
--- Log opened Wed Jul 20 19:16:27 2011
19:16 TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code
19:16 Irssi: #code: Total of 22 nicks [0 ops, 0 halfops, 0 voices, 22 normal]
19:17 Irssi: Join to #code was synced in 46 secs
19:20 Attilla [Some.Dude@Nightstar-f29f718d.cable.virginmedia.com] has joined #code
19:54 * gnolam headdesks repeatedly.
19:59 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has quit [Operation timed out]
20:03 Rhamphoryncus [rhamph@FFAAA3.3FB6E7.B88411.E1B9CD] has joined #code
20:06
< gnolam>
What the fuck kind of person doesn't type out the metastability symbol when compiling decay data? >:E
20:10
< McMartin>
I didn't even understand that sentence =(
20:12
< Namegduf>
That's just inconsiderate.
20:16
< Derakon>
Sounds to me like Gnolam found a dimensionless number when a dimensioned one was expected.
20:16
< Derakon>
One of my physics profs back in college would helpfully supply the units of erg-second per cubic foot-candle when that happened.
20:16
< Derakon>
Then he'd take off points for having incorrect units.
20:19
< Tamber>
FPA: "take off pants for having incorrect units"
20:20
< Tamber>
To which I say, yes, that'd make people put units on pretty quickly~
20:32 * Vornicus eyes that unit
20:32
< Vornicus>
that's a little ridiculous
20:33
< Vornicus>
= 3.53146667e-6 m^-1 kg s^-1 cd^-1 I mean seriously
20:34
< gnolam>
It's like this... y'all know about isotopes, right? Same number of protons, but different number of neutrons (giving different nuclear properties).
20:34
< gnolam>
There are also isomers.
20:34
< Vornicus>
Which have the same number, etc, but a different internal structure?
20:35
< gnolam>
Same number of protons, same number of neutrons, but different configuration.
20:35 * Vornicus always wondered how that worked, thought the nucleus was a bit too fuzzy for that.
20:36
< Vornicus>
--I mean it's usually fuzzy enough that it doesn't, you know. Matter that much.
20:37
< gnolam>
These metastable states are labelled 'm' (or m1, m2, etc, if there happen to be more than one). E.g. Ba-137m, which decays to the otherwise stable Ba-137.
20:38
< gnolam>
So anyway.
20:38
< Vornicus>
How can you tell the difference between them?
20:39
< Derakon>
...man, I have no idea how atomic nuclei are arranged.
20:39
< McMartin>
I'm not sure anyone else does either, beyond "strong nuclear force lol"
20:40
< Derakon>
And do we have any idea how that particular force works?
20:40
< McMartin>
We can describe its effects.
20:40
< gnolam>
So I have this data set with electron energies. Mostly beta decay, but there are a bunch of other more obscure ways in which atoms can fling electrons at innocent bystanders.
20:40
< Derakon>
Seems like it's basically "whang some neutrons in there and protons get over their innate dislike for each other."
20:40
< gnolam>
And it comes in the form of a huge excel file.
20:40
< Vornicus>
jhttp://en.wikipedia.org/wiki/Nuclear_isomer
20:41
< gnolam>
Ok, fine, I can copy & paste the relevant bits and convert it into a big CSV or whatever.
20:41
< gnolam>
Alas, the data has apparently been entered by hand. And badly.
20:41
< Derakon>
Goody.
20:41
< McMartin>
SCIENCE :(
20:41
< Derakon>
Oh look, stable for at least a nanosecond!
20:41
< McMartin>
I usually hear stories like this from bioinformaticians.
20:42
< gnolam>
And it makes no difference whatsoever between different isomers - they're all just listed as [mass number][Element].
20:43
< gnolam>
And, naturally, in a random order. So I can't assume that the first mention is the main isotope and the next the isomer.
20:45
< gnolam>
Joy.
20:53
< Vornicus>
Clearly this is an opportunity to get credit for fixing this oversight.
21:36 ToxicFrog [ToxicFrog@ServerAdministrator.Nightstar.Net] has joined #code
--- Log closed Wed Jul 20 22:05:17 2011
--- Log opened Wed Jul 20 22:05:30 2011
22:05 TheWatcher [chris@Nightstar-3762b576.co.uk] has joined #code
22:05 Irssi: #code: Total of 24 nicks [0 ops, 0 halfops, 0 voices, 24 normal]
22:06 Irssi: Join to #code was synced in 48 secs
22:12 celticminstrel is now known as celmin|away
22:20
< AbuDhabi>
http://jboriss.wordpress.com/2011/07/06/user-testing-in-the-wild-joes-first-comp uter-encounter/
22:28
< Namegduf>
"Fascinating. As someone who does UI design I keep insisting that we simplify and build with the assumption that people like Joe will be our end users. Of course I'm a lost voice in the wilderness."
22:28
< Namegduf>
This man is my enemy.
22:29
< Namegduf>
It's an interesting post, not very surprising.
22:29
< Tamber>
I tend to get very irritated by software that assumes I'm Joe, and provides no way for me to change this.
22:30
< Namegduf>
I see no reason every piece of software needs to be aimed at every audience.
22:30
< Tamber>
Indeed. Things like web browsers or mail clients, I could understand, but otherwise?
22:31
< Namegduf>
Even web and mail clients really don't try for Joe.
22:31
< Tamber>
I didn't say they necessarily did, just that I could understand them aiming at Joe.
22:32
< Derakon>
Frankly there's becoming less and less point in targeting Joe.
22:32
< Derakon>
Well, in the developed world anyway.
22:33
< Vornicus>
I would actually say that there's lots of point in targeting Joe. There is a reason I never got into, say, Blender. I may be a professional computer guy. I may have lots of knowledge of graphics and 3d. But I couldn't figure out how to draw a line. The interface assumed I already knew how to get what I wanted.
22:34
< Namegduf>
That's not even vaguely close to the same problem as targeting Joe.
22:34
< Derakon>
Software that targets Joe has to start literally from scratch.
22:34
< Namegduf>
Right.
22:34
< Derakon>
You want software that targets people who aren't familiar with 3D modeling, which is different.
22:34
< Derakon>
(Or alternately, software that doesn't hide 75% of its functionality behind hotkeys and context menus)
22:34
< Namegduf>
IMO it's perfectly fine that Blender is not such software.
22:34
< Namegduf>
And is instead optimised on its job.
22:34
< Namegduf>
It means there's an audience it isn't aimed at, but that's fine.
22:35
< Namegduf>
Do One Thing Well can apply there, and IMO should if it boils down to maintaining two interfaces.
22:35
< Derakon>
Blender is basically written by and for people who already know how to use it. Everyone else watches videos or logs onto #blender.
22:35
< Derakon>
A bit like learning to use vim, say.
22:35
< Vornicus>
A tutorial would have helped me. Or joe. I don't care if you call it elementary.
22:35
< Namegduf>
(Or 500 options to build interfaces)
22:36
< Namegduf>
A tutorial could have helped. Or some software aimed at you could have worked.
22:36
< Namegduf>
It not being available doesn't make Blender bad, it just means you weren't in the target audience.
22:37
< Namegduf>
And it wasn't providing tools to become in it.
22:37
< Derakon>
Reminds me, though -- one of the computers my dad bought way back in the day (MacOS 6 or 7, IIRC) had a program specifically designed to introduce people to basic computing tasks.
22:37
< McMartin>
The issue here is that there isn't anything targeting your hoped-for target audience.
22:37
< Derakon>
Things like moving the mouse, clicking, typing into boxes, clicking on buttons, dragging things around, etc.
22:37
< McMartin>
And once nobody's doing it, you get to bitch at all of them because Nobody's Doign This.
22:37
< McMartin>
Derakon: Heh. Back in the day, those were almost Mac-Unique.
22:37
< McMartin>
But yes
22:37
< McMartin>
Mouse Usage Isn't Automatic, Goddamn It.
22:38 * Namegduf prefers an efficient interface to an easily learned one for something he is going to use
22:38
< Derakon>
Those aren't necessarily mutually exclusive, though.
22:38
< Namegduf>
They *aren't*, but that's a very weak statement.
22:38
< Derakon>
Blender's problem, I suspect, has more to do with them having no UI designers and millions of features they need to include than anything else.
22:39
< Vornicus>
I looked at blender and I said "this tool appears to be the preferred one for creating things that I wish to create" and downloaded it and found that I could not actually get it to do anything.
22:39
< McMartin>
Vornicus: See, it's your fault for wanting to create something you don't already know how to create.
22:39
< Tarinaky>
Vornicus: I recently started learning how to use Blender.
22:39
< McMartin>
Namegduf: I would point out that "discoverable" is more important to me than 'easily learned'
22:39
< Tarinaky>
There are a lot of very good free resources on the internet.
22:39
< Vornicus>
This was, I freely admit, five years ago.
22:40
< Derakon>
Yeah, the interface is completely different now. ?.?
22:40
< Tarinaky>
Blender is like vim.
22:40
< Namegduf>
I'll agree there, but both are to me way less important than efficiency.
22:40
< McMartin>
And I take as an article of faith (well, with some logical backing) that discoverable can coexist with arbitrary levels of efficiency.
22:40
< Derakon>
Anyway, my advice stands: log onto #blender (on Freenode). The people there are surprisingly friendly and helpful.
22:40
< Tarinaky>
There's no learning curve but everything makes sense and is easy to remember once someone shows it to you.
22:40
< Namegduf>
"can coexist" is *also* a really weak statement.
22:40
< Namegduf>
Yes, you can sometimes have both to a varying degree
22:40
< Namegduf>
And at other times choices will play off one vs the other in different ways
22:40
< Namegduf>
This does not invalidate prioritisation
22:41
< Namegduf>
It makes it more complex than an either-or, yes.
22:45 * TheWatcher readsup, notes that while blender's UI is completely different, it still has a long way to go before it's a Lightwave, or even a 3DSMax or Maya.
22:45
< Derakon>
I'm mostly just annoyed that they seem to have taken away the mouse gestures for basic transforms. I liked those. :\
22:51
< McMartin>
Namegduf: Well, "discoverable" is the opposite of "efficient" or, indeed, "easy to learn"
22:51
< McMartin>
It means that you can do the adventure-game thing with it - every action you can take is reachable via some kind of state-preserving exhaustive search.
22:52
< Namegduf>
Hmm.
22:52
< Namegduf>
I think I'm comfortable with said kind of "exhaustive search" consisting of "read the damn manual">
22:53
< Namegduf>
Or other external facilities, and thus don't care much about discoverability in the software itself.
22:53
< Namegduf>
Vim and bash and XMonad are basically the enemies of discoverability.
22:53
< McMartin>
This requirement is trivial, though. "If anything is a menu option, everything is a menu option. It doesn't have to be a *convenient* menu option, it just has to be one *somewhere*" completely meets this criterion.
22:53
< McMartin>
bash at least has apropos. So it *tries*.
22:53
< McMartin>
But yeah, CLIs are intrinsically nondiscoverable.
22:53
< McMartin>
If you have a menu bar, though, there is literally no excuse.
22:54
< Namegduf>
My XMonad setup is awesome as regards discoverability and learnability.
22:54
< Derakon>
I wish my boss would let me add menubars to our software. :(
22:54
< Namegduf>
It has no buttons and no menus.
22:54
< Namegduf>
It is entirely controlled by hotkeys- none of which match any other XMonad setup.
22:54
< McMartin>
Namegduf: In entirely unrelated news, I've been playing Might and Magic 1, the DOS version.
22:54
< Namegduf>
(Mostly because I moved the modifier key it used, but there's other additions)
22:55
< McMartin>
Remind me what XMonad is
22:55
< Namegduf>
Tiling window manager.
22:55
< Namegduf>
Powerful one.
22:56
< Namegduf>
Emphasis being on describing desired layout and having it done for you in a reliable and reproducible manner when you open and close software, rather than doing it manually.
22:56
< Namegduf>
I hit Win+P, new terminal opens and other windows resize to compensate.
22:56
< McMartin>
Is it implemented in a pure functional language or something?
22:56
< McMartin>
The name is a bit odd
22:56
< Namegduf>
Yes, it's written, and configured using, Haskell.
22:56 * McMartin nods
22:56
< Namegduf>
Layout modifer things can be stacked in a... way.
22:56
< Namegduf>
I don't really know how to program in it.
22:57
< Namegduf>
So my configuration is a bit of a hack.
22:57
< McMartin>
I have a bee in my bonnet where I want to implement the basic Game Maker physics engine in Haskell + SDL
22:58
< Namegduf>
Physics calculations seem like something it'd be good at.
22:58
< Namegduf>
I had to do horrible stuff to make it autostart programs, though.
22:58
< Namegduf>
I managed to make it reliably autostart my IRC client and browser on the right workspace.
22:58
< McMartin>
Well, GM8 is really just a stock 2D sprite thing with forward kinematics.
23:01
< Vornicus>
GM8 also is pretty discoverable, but I'd prefer if you could hop back and forth quickly between graphical and text-shaped code types
23:02
< McMartin>
I'd *really* prefer if the mindstorms interface were auto-translated to code.
23:02
< McMartin>
But yeah, the Mindstorms bit is pretty discoverable because they have a palette of Everything You Can Do.
23:03
< McMartin>
So if you know you can do something but forget how, you flip through the tabs and look at the tooltips until you Find It.
23:03
< gnolam>
Re: Blender: "Anytime anyone says "once you get used to it, it is really powerful," that almost always translates to, "The interface was clearly designed by retarded monkeys; is poorly, and cryptically, documented; and you'll never use most of that power anyway.""
23:05
< McMartin>
At least people no longer take for granted that any interface not designed *by* retarded monkeys was instead designed *for* retarded monkeys
23:05
< gnolam>
That people can eventually work fast in something does not mean that the interface in fact is designed for efficiency; it's just a testament to human adaptability.
23:06
< gnolam>
Efficiency and intuitivity are not mutually exclusive.
23:06
< McMartin>
Indeed
23:08
< McMartin>
Intuitiveness isn't always a goal, though, or not always the overriding one.
23:08
< McMartin>
Automatability has a tendency to trump it once you get into the, ahem, enterprisey space
23:08
< gnolam>
That said, there is often a bit too much focus on Joe. You only use a system for the first time /once/.
23:08
< Namegduf>
Like almost every other UI concern, they're compromised against each other when making design decisions.
23:09
< McMartin>
Right
23:09
< McMartin>
The enduring principle is "common tasks should be easy to do"
--- Log closed Thu Jul 21 00:00:46 2011
code logs -> 2011 -> Wed, 20 Jul 2011< code.20110719.log - code.20110721.log >

[ Latest log file ]