code logs -> 2016 -> Thu, 23 Jun 2016< code.20160622.log - code.20160624.log >
--- Log opened Thu Jun 23 00:00:21 2016
00:27 thalass is now known as Thalass
00:35 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code
01:02 crystalclaw is now known as crystalclaw|AFK
01:06 Derakon[AFK] is now known as Derakon
01:27 himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has joined #code
01:27 mode/#code [+o himi] by ChanServ
02:07 * McMartin fiddles while he waits for everything to compile
02:42 crystalclaw|AFK is now known as crystalclaw
03:01 orth [orthianz@Nightstar-m7rd21.xtra.co.nz] has joined #code
03:01 Turaiel[Offline] is now known as Turaiel
03:13 Turaiel is now known as Turaiel[Offline]
03:56 catadroid [catadroid@Nightstar-e0ar9i.dab.02.net] has quit [The TLS connection was non-properly terminated.]
03:56 catadroid [catadroid@Nightstar-lp9.pbu.132.82.IP] has joined #code
04:16 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has quit [[NS] Quit: Yay, he's gone]
04:16 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code
05:20 Derakon is now known as Derakon[AFK]
05:34 catadroid` [catadroid@Nightstar-a24255.dab.02.net] has joined #code
05:36 catadroid [catadroid@Nightstar-lp9.pbu.132.82.IP] has quit [Ping timeout: 121 seconds]
05:40 Kindamoody[zZz] is now known as Kindamoody
07:02 Reiv [NSwebIRC@Nightstar-q8avec.kinect.net.nz] has quit [Ping timeout: 121 seconds]
07:09 catadroid` [catadroid@Nightstar-a24255.dab.02.net] has quit [[NS] Quit: Bye]
07:09 catadroid [catadroid@Nightstar-a24255.dab.02.net] has joined #code
07:12 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has quit [[NS] Quit: Yay, he's gone]
07:14 catadroid [catadroid@Nightstar-a24255.dab.02.net] has quit [The TLS connection was non-properly terminated.]
07:14 catadroid [catadroid@Nightstar-a24255.dab.02.net] has joined #code
07:16 crystalclaw is now known as crystalclaw|AFK
07:28 celticminstrel is now known as celmin|sleep
08:03 Kindamoody is now known as Kindamoody|afk
08:18 catadroid [catadroid@Nightstar-a24255.dab.02.net] has quit [[NS] Quit: Bye]
08:28 himi [sjjf@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
10:01 catadroid [catadroid@Nightstar-a24255.dab.02.net] has joined #code
10:02
< catadroid>
I don't know what's worse - being tricked into using the JVM or being tricked into learning Lisp
10:02
<@TheWatcher>
The former.
10:03
<@TheWatcher>
But I say this as someone who has a deep and abiding hatred of java, so.
10:04
<@simon_>
catadroid, being tricked into using the JVM. learning Lisp is inevitable.
10:05
<@simon_>
catadroid, but somehow I get the impression you're being tricked into both simultaneously?
10:06
< catadroid>
Rich Hickey is a very persuasive guy
10:07
<@abudhabi>
I don't really get the Java hate.
10:09
<@TheWatcher>
catadroid: use the CLR or javascript engines for clojure instead?~
10:09
<@simon_>
Edward Kmett has a wallet that says "Bad Monad Functor".
10:10
<@TheWatcher>
abudhabi: well, for a start: 3586 jenkins 20 0 41.112g 2.624g 28920 S 0.0 2.1 1:59.47 /opt/oracle-jdk-bin-1.8.0.92/bin/java...blabla...
10:11
<@TheWatcher>
Gerrit and sonarqube, both java web apps, follow that in the list, both with "g" suffixes on the VIRT and RES columns.
10:12
<@TheWatcher>
They are currently idle
10:13
<@TheWatcher>
You don't want to know what happens when people have the temerity to actually use them.
10:13
<@Tamber>
"32G and constantly swapping"?
10:14
<@abudhabi>
I get that Java has problems, but it's not the kinds of insane problems that stuff like PHP and JS have. Just bloat and candy.
10:19
<@TheWatcher>
Oh, PHP is worse than Java in many respects, sure - save that PHP tends not to have Java's pokemon approach to memory - and JS is made of spiders, but neither of those facts actually make me dislike java less.
10:36
<@gnolam>
<catadroid> Rich Hickey is a very persuasive guy
10:36
<@gnolam>
Softcore porn name alert!
10:37
<@TheWatcher>
snrk
10:49
<@ErikMesoy>
I thought pokemon approach was something you had to exceptions, not memory.
10:49
<~Vornicus>
a java program will grab lots of memory and never hand it back
10:50
<~Vornicus>
It then does its own management of memory and garbage on its own. I don't quite understand that aprt
11:14 himi [sjjf@Nightstar-v37cpe.internode.on.net] has joined #code
11:14 mode/#code [+o himi] by ChanServ
11:23
< catadroid>
I have a huge problem with teaching programmers Java as a first language
11:23
< catadroid>
It has terrible syntax and a reprehensibly bad standard library design
11:24
< catadroid>
Basically, it's no fun to write and encourages more and more loc as a solution
11:39
<@TheWatcher>
Your ideas are intriguing to me and I wish to subscribe to your newsletter.
11:40
<@gnolam>
It's better than teaching them BASIC.~
11:41
< catadroid>
Is it?
11:41
<@ErikMesoy>
public static void main(string[] args) { Yes it is. }
11:41 orth [orthianz@Nightstar-m7rd21.xtra.co.nz] has quit [[NS] Quit: Bye]
11:42 * catadroid blink, blink.
11:42 * catadroid fires up her flamethrower
11:44
<@ErikMesoy>
File under additional problems with teaching programmers Java as a first language: you chant "public static void main string args" so much that it feels like you're in the Adeptus Mechanicus, invoking the Sacred Rite To Propitiate The Machine-Spirit.
11:50
<@abudhabi>
That seems weak for an objection.
11:50
<@abudhabi>
It's not like you have to write that every time you write a class or function or whatever.
12:02
<@simon_>
nudge, nudge.
12:03
<@simon_>
"This is how you make your first Java program. By the way, explaining what all of these words mean is probably a side-track to learning basic programming."
12:03
<@ErikMesoy>
abudhabi: You have to write something like for every function. "static" usually gets dropped, but "public ReturnType MethodName(ArgumentType ArgumentName)" remains long and annoying.
12:04 catadroid` [catadroid@Nightstar-r8cvq2.dab.02.net] has joined #code
12:04
<@simon_>
catadroid, is cata- from catamorphism?
12:05
<@simon_>
or is it cat + droid?
12:05
< catadroid`>
catalyst + droid
12:05
<@simon_>
ah
12:06
<@abudhabi>
ErikMesoy: I disagree.
12:06
<@abudhabi>
Every part of that string has meaning.
12:06 catadroid [catadroid@Nightstar-a24255.dab.02.net] has quit [Ping timeout: 121 seconds]
12:06
<@abudhabi>
Nontrivial meaning, even.
12:09
<@simon_>
I don't think explicit method signatures are long and annoying.
12:09
<@simon_>
lack of decent type inference just makes everything slightly longer and slightly more annoying.
12:12
<@abudhabi>
This.
12:13
<@abudhabi>
Java is strongly typed. That it has what it needs to be strongly typed is not a Java-particular fault.
12:16
<@simon_>
strongly typed languages don't necessarily need explicit type annotations everywhere, I guess.
12:19
<@abudhabi>
And Java infers some, like with the diamond operator.
12:25
<@simon_>
yeah
12:25
<@simon_>
and C# infers some more with the 'var' thing.
12:25
<@simon_>
it's all good.
12:25
<@simon_>
I just wish it'd infer backwards, too.
12:28
< catadroid`>
C++ infers a lot more via auto now, which means C#'s limitations on var annoy me now :(
12:30 * TheWatcher headdesks
12:31
<~Vornicus>
I haven't written any C++ lately but I suspect I can do utterly bonkers levels of things without specifying a single type
12:33
<@abudhabi>
C++ is less strongly typed than Java and stuff.
12:34
<@TheWatcher>
That's it, I'm going to stick the JireÄek quote on my door, it is time.
12:35
<~Vornicus>
?
12:35
<@abudhabi>
âWe, the unwilling, led by the unknowing, are doing the impossible for the ungrateful. We have done so much, for so long, with so little, we are now qualified to do anything with nothing.â?
12:36
<@TheWatcher>
YEs.
12:36
<@TheWatcher>
That.
12:37
<@TheWatcher>
Possibly with extra emphasis on the "impossible for the ungrateful".
12:39
<@TheWatcher>
`# Given a course code, deduce the course unit level of the course.`
12:39
<@TheWatcher>
You'd think this would be easy!
12:41
<@TheWatcher>
Surely you can just infer it directly from the course code, right? Or there's a sensible look-up table somewhere? Or there's some reliable method that doesn't require routines written in ancient Enochian.
12:41
<@abudhabi>
What's a unit level?
12:41
<@TheWatcher>
Essentially, is it a first year course, a second year course, and so on.
12:42
<@TheWatcher>
And generally you can actually look at the course code and say what level it is. Except when you can't
12:43
< catadroid`>
what you want is a fine code, so you can look at a better granularity, which is likely to have the detail needed to make your conclusion easier
12:43 catadroid` is now known as catadroid
12:44
<@TheWatcher>
catadroid: ...
12:45
<@TheWatcher>
I'd comment on that, but my language would be to coarse.
12:45
<@TheWatcher>
*too
12:46 * Tamber puts a colander on catadroid's head.
12:47
<@abudhabi>
TheWatcher: What are the difficulties?
13:07 Emmy [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has joined #code
13:07 mode/#code [+o Emmy] by ChanServ
13:50 celmin|sleep is now known as celticminstrel
14:45
<@ErikMesoy>
Time for more troubles with Python Class Inheritance!
14:45
<@Emmy>
yaaaay
14:45
<@Emmy>
i on the other hand am wrestling access vba focus issues. :(
14:52
<@ErikMesoy>
Why is this class attribute not being inherited? http://pastebin.starforge.co.uk/710
15:00 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has quit [Connection reset by peer]
15:12
<@abudhabi>
ErikMesoy: I think you should assign these in the initializer.
15:12
<@abudhabi>
Otherwise freaky things related to dynamic variables come into play.
15:12
<@abudhabi>
I remember reading about in in the dox, but did not quite understand.
15:15 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [[NS] Quit: Gone]
15:17
<@ErikMesoy>
But the initializer is trying to read *from* those. Putting them there would go against my purposes of letting subclasses just alter a few variables without having to repeat them all in init.
15:30
<@abudhabi>
Are you sure those aren't instance attributes?
15:33
<@ErikMesoy>
Yes. I can access them from outside the class without instantiating the class.
15:47 Emmy [NSkiwiirc@Nightstar-41pbej.static.chello.nl] has quit [[NS] Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
16:07 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code
16:36
<@pjdelport>
ErikMesoy: You should probably not poke around in implementation internals like that unless you're very familiar with them; they probably won't do what you expect otherwise.
16:36
<@pjdelport>
ErikMesoy: In particular, __dict__ is for when you specifically want to intentionally bypass things like inheritance.
16:37
<@pjdelport>
You can just say self.a = self.attr_a
16:37
<@pjdelport>
Attribute lookups search class attributes after instance attributes.
16:37
<@pjdelport>
If you want to be really explicit about looking it up on the class only, you'd say self.a = type(self).attr_a
16:39
<@pjdelport>
As a rule of thumb, never poke around in __class__ or __dict__
16:39
<@pjdelport>
There's almost never a reason to: 99% of goals you want to accomplish can be done both better and more simply.
16:40
<@ErikMesoy>
pjdelport: And how much of the time does the way to accomplish it better and more simply consist of posting poke-around code to inspire the "You're doing it wrong" reflex in a more experienced coder? ;-)
16:41
<@pjdelport>
One way of doing it. :)
16:41
<@ErikMesoy>
(Paraphrasing the old saw about getting tech support for Linux: post that it works on Windows. :p)
16:43
<@ErikMesoy>
pjdelport: More seriously, thanks. "self.a = self.attr_a" does what I want, and I did not expect that not only does attribute lookup search class attributes, it apparently even searches *parent* class attributes after that.
16:43
<@pjdelport>
Yeah, that's just normal Python lookup rules at work.
16:44
<@pjdelport>
Python's object system is really elegant and simple. You might be surprised to learn that it doesn't actually make any magic distinction between attributes and methods.
16:44
<@pjdelport>
A method is just a kind of attribute. :)
16:44
<@ErikMesoy>
Here I thought self. was basically the prefix for getting instance attributes.
16:44
<@pjdelport>
(that happens to be callable)
16:45
<@pjdelport>
In Python, self is just a plain object reference.
16:45
<@pjdelport>
It's not special like "this" is in many OO languages.
16:47
<@ErikMesoy>
Or to be more precise: here I thought (first argument of object method) was pointer to object itself, not a hierarchical search. Since I have learned that self. can be replaced with me. or the like in that position.
16:47
<@pjdelport>
The only "magic" thing about Python's is the descriptor protocol: that's how things like instance method binding happens, to fill in the first parameter for instance methods.
16:47
<@pjdelport>
But even that isn't really magic: it's more like a library feature that the runtime uses.
16:47
<@ErikMesoy>
On one project a while ago I deliberately used a different synonym for self. in each class as a way of catching myself in lazy copy-paste of code between classes.
16:54 crystalclaw|AFK is now known as crystalclaw
16:54
< catadroid>
#define please ;
17:06 Emmy-zZz is now known as Emmy
17:58 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has left #code ["Yay, he's gone"]
18:15 crystalclaw is now known as crystalclaw|AFK
18:34 catadroid` [catadroid@Nightstar-d5t3gv.dab.02.net] has joined #code
18:37 catadroid [catadroid@Nightstar-r8cvq2.dab.02.net] has quit [Ping timeout: 121 seconds]
18:42 Tamber_ [tamber@furryhelix.co.uk] has joined #code
18:43 Netsplit Kakrafoon.Nightstar.Net <-> Golgafrincham.Nightstar.Net quits: @PinkFreud, @Reiver, @Tamber, catadroid`
18:43 Netsplit over, joins: @PinkFreud
18:47 Reiver [quassel@Nightstar-ksqup0.co.uk] has joined #code
18:47 mode/#code [+ao Reiver Reiver] by ChanServ
18:49 catadroid [catadroid@Nightstar-d5t3gv.dab.02.net] has joined #code
18:56 Kindamoody|afk is now known as Kindamoody
19:04 crystalclaw|AFK is now known as crystalclaw
19:47 Kindamoody is now known as Kindamoody[zZz]
20:45 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code
20:47 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has quit [[NS] Quit: Yay, he's gone]
20:54 catadroid [catadroid@Nightstar-d5t3gv.dab.02.net] has quit [Ping timeout: 121 seconds]
21:01 Emmy [M@Nightstar-9p7hb1.direct-adsl.nl] has quit [[NS] Quit: lightning awfully close.]
21:21 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code
21:30 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has quit [[NS] Quit: Yay, he's gone]
21:51 Tamber_ is now known as Tamber
21:51 mode/#code [+o Tamber] by ChanServ
22:08 Vornicus [Vorn@ServerAdministrator.Nightstar.Net] has joined #code
22:08 mode/#code [+qo Vornicus Vornicus] by ChanServ
22:30 Shady [ShadyGuru@Nightstar-qfckjl.tv13.ptd.net] has joined #code
23:09 catadroid [catadroid@Nightstar-m77iba.dab.02.net] has joined #code
23:55 himi [sjjf@Nightstar-v37cpe.internode.on.net] has quit [Connection closed]
--- Log closed Fri Jun 24 00:00:36 2016
code logs -> 2016 -> Thu, 23 Jun 2016< code.20160622.log - code.20160624.log >

[ Latest log file ]