code logs -> 2015 -> Thu, 15 Jan 2015< code.20150114.log - code.20150116.log >
--- Log opened Thu Jan 15 00:00:09 2015
00:23 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has joined #code
00:23 mode/#code [+o himi] by ChanServ
00:48 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Leaving]
01:06
<&ToxicFrog>
Hmm.
01:06
<&ToxicFrog>
No VLC remote control app for Android Wear.
01:06
<&ToxicFrog>
ZERO OUT OF FIVE STARS
01:09 VirusJTG [VirusJTG@Nightstar-lsl.j5i.46.174.IP] has joined #code
03:09 VirusJTG_ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
03:12 VirusJTG [VirusJTG@Nightstar-lsl.j5i.46.174.IP] has quit [Ping timeout: 121 seconds]
03:28 Turaiel[Offline] is now known as Turaiel
03:32 thalass [thalass@Nightstar-1dh83p.bigpond.net.au] has joined #code
03:32 mode/#code [+o thalass] by ChanServ
04:27
< froztbyt1>
<Tarinaky> Tamber: You can take pride without extending yourself past your remit to give a shit.
04:27
< froztbyt1>
<Tamber> heh.
04:27
< froztbyt1>
<Tarinaky> That's like... a fundamental neccessity to be able to work in any team ever.
04:27
< froztbyt1>
<Tarinaky> Is you have to accept that you've got to do the best job possible of the little piece of the puzzle that's yours.
04:27
< froztbyt1>
you're destined for a life in corporates :/
04:28
<&McMartin>
It is good to have enough context to know how the piece connects to everything else
04:29
< froztbyt1>
oh, I certainly agree with that
04:29
< froztbyt1>
but I find myself fairlh un
04:29
< froztbyt1>
fairly* unable to turn off care boundaries :D
04:30
< froztbyt1>
if I see someone struggling and I can reasonably help, I will
04:30
< froztbyt1>
most corporate environs I've encountered seriously frownon/disreward this kind of thing, though
04:33
< froztbyt1>
(whereas the flipside is ideal for that)
04:43
<&McMartin>
Yeah, depends on team size
04:44
<&McMartin>
I absolutely have a certain "wandering ronin" role as part of my job, but we're a team of, like, five.
04:44
<&McMartin>
Also I am the most senior engineer so "omg halp" tends to put me in the top two list of people ask on nearly any topic.
04:45
<&McMartin>
I'm not a big fan of people getting to be feudal lords over chunks of the code, but it's also important to not stomp on each other's work =P
04:51
< Turaiel>
ICS files irritate me
04:52
< Turaiel>
Or maybe it's just this parser I'm using. Either way, these events are not in order T.T
04:54
< Turaiel>
Oh good, I moved some code and it works how I want now.
05:13 Derakon is now known as Derakon[AFK]
05:22 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving]
05:34 Turaiel [Brandon@Nightstar-olc20d.resnet.mtu.edu] has quit [[NS] Quit: Bouncer terminated]
05:35 Turaiel [Brandon@Nightstar-olc20d.resnet.mtu.edu] has joined #code
05:48 Turaiel is now known as Turaiel[Offline]
06:13 Checkmate [Z@Nightstar-pdi1tp.customer.tdc.net] has quit [Ping timeout: 121 seconds]
06:37 celticminstrel [celticminst@Nightstar-de4ll6.dsl.bell.ca] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!]
06:51 Julius [abudhabi@Nightstar-7nkq9k.de] has quit [Connection closed]
06:57 abudhabi [abudhabi@Nightstar-7nkq9k.de] has joined #code
07:07 thalass [thalass@Nightstar-1dh83p.bigpond.net.au] has quit [Connection closed]
07:11 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has quit [Ping timeout: 121 seconds]
08:04 thalass [thalass@Nightstar-1dh83p.bigpond.net.au] has joined #code
08:04 mode/#code [+o thalass] by ChanServ
08:17 Kindamoody[zZz] is now known as Kindamoody
08:32 Orthia [orthianz@Nightstar-diu.gui.224.119.IP] has quit [Ping timeout: 121 seconds]
08:37 Orthia [orthianz@Nightstar-ecsalt.callplus.net.nz] has joined #code
08:37 mode/#code [+o Orthia] by ChanServ
08:46 AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has joined #code
09:12 himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code
09:12 mode/#code [+o himi] by ChanServ
09:24 Kindamoody is now known as Kindamoody|afk
09:32
<@Tarinaky>
Nothing wrong wi' working for corporates.
09:40
<@Azash>
Frowning on helping a coworker seems really fucking dumb
09:40
<@Azash>
It's more part of the culture than anything here, but then again we're a software house
09:57
<@Tarinaky>
I never said not helping a coworker
09:58
<@Tarinaky>
I said you shouldn't do their work for them.
09:58
<@Tarinaky>
There's a /huge/ gulf between these two things.
10:00
<@Tarinaky>
And importantly, in context, I was referring to doing their work for them when they're trying to do their work at the same time.
10:00
<@Tarinaky>
Which isn't even helping at this point.
10:06
< AverageJoe>
Sometimes when I'm working with coworkers, the only way to get anything done is to do everything for them and watch them take credit.
10:06
< AverageJoe>
Corporate life blows
10:07
< abudhabi>
Put subtle authorship marks all over your work. :P
10:07
< AverageJoe>
Son of the director of dept so I have no choice but to put up with his shit. Yay nepotism
10:21
<@Tarinaky>
Okay. So.
10:21
<@Tarinaky>
I'm kinda struggling to understand this: http://www.dataorienteddesign.com/dodmain/node7.html
10:22
<@Tarinaky>
I... don't understand how this branchless programming thing works >.<
10:28
<@Azash>
Tarinaky: 05:30 < froztbyt1> most corporate environs I've encountered seriously frownon/disreward this kind of thing, though
10:28
<@Azash>
Was not intended at you
10:28
<@Azash>
AverageJoe: Oh hey welcome back in here
10:29
< AverageJoe>
i never left. i just idle
10:29
<@Azash>
Same shit
10:29
< AverageJoe>
are you a wizard?
10:37
<@Azash>
Yeah
10:38
<@Tarinaky>
I derive a small pleasure every time the Most Significant Digit of the revision number increments :3
10:41 * TheWatcher stabs Oracle in the guts, coincidentally stabbing it in the head at the same time
10:41
< AverageJoe>
nn
10:41 AverageJoe [evil1@Nightstar-2ofrtr.ph.cox.net] has quit [[NS] Quit: Leaving]
10:41 * Tarinaky watches as TheWatcher's rage flies past her office window towards Reading,.
11:34 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has quit [[NS] Quit: Reboot]
11:38 gnolam [lenin@Nightstar-t1tbf0.cust.bahnhof.se] has joined #code
11:38 mode/#code [+o gnolam] by ChanServ
11:44 VirusJTG_ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Leaving]
11:44 VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code
12:15
<@TheWatcher>
Fuck, I hate Java.
12:17
< abudhabi>
why.jpg
12:41
< abudhabi>
Syka: Yo, how does one preload data into a select2?
12:41
< abudhabi>
Preferably via ActionBean.
12:42
< Syka>
abudhabi: however you put data in a <select> field?
12:42
< Syka>
it's client side fanciness
12:44
< abudhabi>
Ok. More basic question: what should I be putting the id="blah" property on? A <select>? A <input type="text">? A <input type="hidden">?
12:55
<@Azash>
Depends on if the user is meant to be inputting it or not
12:55
<@Azash>
Obviously it can be modified either way but from a UX standpoint
12:59
< abudhabi>
OK, found my problem and annihilated it.
13:04 thalass is now known as Thalass|TF2
13:24
< abudhabi>
How do I remove the "No matches found" dropdowntip?
13:35 * abudhabi edits the JS file.
13:48 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code
13:48 mode/#code [+o Checkmate] by ChanServ
13:57
< abudhabi>
Ugh. I'm having difficulty reading the JavaScript tutorial on W3C because the formatting for it makes 3/4ths of the page look like the sort of filler rubbish that my mind automatically skips over.
13:58
<@Azash>
W3Cschools?
13:58
<@Azash>
Avoid that place
13:59
< abudhabi>
Then link me to a Javascript tutorial, please.
13:59
<@Azash>
codeacademy, for example
13:59
<@Azash>
HTMLDog for other stuff related
13:59
<@Azash>
Books like JavaScript: The Good Parts
14:01
< Syka>
mozilla development network has some good things
14:03
< abudhabi>
"Using document.write() after an HTML document is fully loaded, will delete all existing HTML" <- My first WTF.
14:21
<&McMartin>
Be warned that the author of JavaScript: The Good Parts is himself mildlly insane.
14:22
<&McMartin>
(He, for instance, spends an inordinate amount of time ranting about how inexcusably terrible it is that you can't name variables 'if' or 'return')
14:23
<@TheWatcher>
wat
14:23
<&McMartin>
Seriously, "JS has reserved words" makes his "Awful Parts" list
14:23
< Syka>
well anyone that thinks JS has enough good parts to warrant a book is a bit nutty
14:23
<&McMartin>
Well!
14:23
<&McMartin>
It turns out that JS's function semantics pretty much nail it
14:24
<&McMartin>
As long as you ignore objects
14:24
<&McMartin>
(They're equivalent in power to Scheme/ML/Haskell functions, and this almost never actually happens in full, for reasons I'm not clear on.)
14:25
<&McMartin>
(Though JS hits the gotchas a bit more than the others do because it makes heavier use of variables that you actually write to more than once)
14:25
<&McMartin>
(It turns out that kind of messes shit up~)
14:32
< Syka>
i had an argument about scoping with someone at oldwork a few days ago
14:32
< Syka>
they didn't understand function scoping :(
14:32
< Syka>
and that no, $(function() { var foo = "bar" }); does not make a global named foo
14:33
< Syka>
and that no, that won't overwrite a global named foo
14:35
<@TheWatcher>
but
14:35
<@TheWatcher>
but
14:35
<@TheWatcher>
He could just /try/ it O.o
14:35
<&McMartin>
I guess if you were taught programming and weren't taught *any* CS
14:35
<&McMartin>
TheWatcher: Why try something you know would break, zomg~
14:35 * TheWatcher eyes his ~/perltesting folder
14:36
<@TheWatcher>
Yes. Quite.
14:36
<&McMartin>
Perl is kind of a weird case because you get to program to the implementation in ways that you don't really get to for, say, C++
14:37 * McMartin has lately been dealing with the aftermath of a Qt4->Qt5 upgrade, which broke a bunch of stuff
14:37
<&McMartin>
That's fine, it's a major version revision, but argh. There seems to be noticably less consistency of behavior across platforms in 5.
14:37
<@TheWatcher>
Well, honestly, I do the same sort of thing in c++. "I wonder if this way of doing it will work? Well, slap together a small test program to see what happens..."
14:38
<&McMartin>
Yep
14:38
<&McMartin>
That said, the "default" compiler on the three platforms is now different on all three.
14:38
<@TheWatcher>
>.<
14:38
<&McMartin>
Once you start getting into template silliness - and not *very* silly, either - you'll start getting discrepancies in what code is accepted.
14:39
<@TheWatcher>
surprised by this point that Qt doesn't include its own compiler~
14:39
<&McMartin>
It does!
14:39
<@TheWatcher>
Pft
14:39
<&McMartin>
Always has. It's one of its main architectural features.
14:40
<&McMartin>
(It extends C++ with multicast functions, basically)
14:40 Thalass|TF2 is now known as Thalass
14:40
<&McMartin>
And if you go to their site and say "Hay guise I r windows programmer plz to gibs Qt stuff" you'll get something with MSYS/MinGW bundled inside of it, as many development frameworks do
14:41
<&McMartin>
But Qt purports to also work with Visual Studio and clang~
14:42
<&McMartin>
Most of the glitches I've been dealing with have been of the form "Setting this flag implies this other flag you don't want on this platform" or "This platform doesn't actually guarantee that applications can do _____, so calling this function on this platform is a best-effort kind of affair"
14:43
<&McMartin>
Fun fact: on X11, one possible answer for _______ is "window placement"
14:43
<&McMartin>
Because that is the WM's job and it explicitly reserves the right to tell default window locations to fuck off
14:47
<&McMartin>
But that means that in cross-platform code, sometimes calls to x->move() might be no-ops, which can lead to Excitement.
14:52
<@TheWatcher>
Fun >.>
14:53
<@Tarinaky>
"The operation completed successfully"
15:09
<&McMartin>
"I moved the *shit* out of that top-level window"
15:10 Alek [omegaboot@Nightstar-c8t.a00.36.73.IP] has quit [Ping timeout: 121 seconds]
15:32
< Syka>
McMartin: this was the guy that went to uni
15:33
< Syka>
(for CS)
15:33
< Syka>
TheWatcher: he told me not to do it in the browser console, because it would "change the result"
15:33
< Syka>
i was like :|
15:35
<@TheWatcher>
-_-
15:40
<&ToxicFrog>
15:41
< Syka>
i am so glad i don't have to work with those people anymore :)
16:15 gizmore [kvirc@Nightstar-40g2pn.pools.vodafone-ip.de] has quit [Operation timed out]
16:15 Vorntastic [Vorn@Nightstar-k70f1n.ct.comcast.net] has joined #code
16:17 gizmore [kvirc@Nightstar-8i3eb1.pools.vodafone-ip.de] has joined #code
16:21
< Vorntastic>
I was going to ask a sql question but then I solved it before I could start writing the question.
16:21 Thalass is now known as Thalasleep
16:34 Vorntastic [Vorn@Nightstar-k70f1n.ct.comcast.net] has quit [[NS] Quit: Bye]
16:44 * McMartin plays around a little with Rust
16:44
<&McMartin>
This is going to take some doing to wrap my head around.
16:45
<&McMartin>
I have my snarky one-line summary of the way the experience feels though it carries a lot of baggage with it and is far too dismissive on the surface
16:45
<&McMartin>
So I suppose I should finish the project before I finalize it
16:48
<&ToxicFrog>
I am curious.
16:49
<&McMartin>
Actually, for you, this is easy.
16:50
<&McMartin>
Remember how you observed that static typing suddenly becomes way less horrible once it's backed by a sufficiently powerful static analysis and supporting abstractions (viz. ML-style algebraic types and Hindley-Milner type inference)?
16:50
<&McMartin>
As per "this is the real solution to the static vs. dynamic debate"?
16:50
<&McMartin>
I'm having that feeling working with Rust...
16:50
<&McMartin>
... but I'm having about C++'s heinous auto_ptr<> class.
16:51
<&McMartin>
Which as you may recall has the astonishing property that "a = b" causes b to become NULL as a side effect.
16:51
<&McMartin>
aka, Move Semantics, which Rust makes completely omnipresent.
16:51
<&McMartin>
Here's where things get hazy for now...
16:52
<&McMartin>
... but it's backing that with (a) a static analysis that ensures that instead of having b become NULL, it becomes a *dead variable*...
16:53
<&McMartin>
(b) that the equivalent of b.get(), which returns a normal pointer without destroying b, can't stay alive past the lifetime of b...
16:53
<&McMartin>
(c) that if you are using the pointer as a const, you don't have to care about any of this beyond the lifetime thing, even in multithreaded contexts, and...
16:53
<&McMartin>
(d) Everything is const by default
16:53
<&McMartin>
This at minimum defangs the usual issues with ownership typing
16:54 Alek [omegaboot@Nightstar-c8t.a00.36.73.IP] has joined #code
16:54 mode/#code [+o Alek] by ChanServ
16:54
<&McMartin>
It *may* also allow for some truly hilarious things that would be stack frame abuse in any other ALGOLoid and not only not be abuses but actually be the most efficient and direct way of writing it
16:55
<&McMartin>
We'll see how much "argh blorgle wtf" comes out of writing a JSON parser and a small utility that uses it.
16:55
<&McMartin>
Go ended up getting a fair amount for the dithering program.
16:56
<&McMartin>
I've already gotten in deep enough to notice that Rust's notion of mutability is not quite the same as ML's, and is a strict superset thereof.
16:56
<&McMartin>
Also, traits? Yep, those are typeclasses
16:56
<&McMartin>
That's a *strong* motivator to work through the bumpy bits.
16:57
<&McMartin>
But it's gonna be bumpy, and I have no idea how much of a barrier to adoption the ownership/borrowing semantics are going to be.
16:57
<&McMartin>
Given that I distinctly recall in the early days of Java, statically enforcing definite assignment was an actual barrier to entry
17:00
<&McMartin>
Thinking about it a bit more, it occurs to me that the stack frame abuse has been added in a limited way to C++11 for the specific case of returning an object by value
17:02
<&McMartin>
(If you have an object on your stack and are returning it as a value, the usual sequence is to allocate space for it twice - once for you, once in the caller - and the return copy-constructs it from you to the caller, than your copy is destructed on the way out. C++11 adds a "move constructor" that lets you transfer the object without a full copy, and skips the destruction step. AIUI, Rust just flat-out has the callee stick that variabl
17:03
<&McMartin>
(But I may have some details wrong and I am in particular unclear as to how this interacts with algebraic types. Thus, JSON parser as the learning project.)
17:38
<&ToxicFrog>
"definite assignment"?
17:51
<&McMartin>
It is an compile-time error in Java to to write the following:
17:52
<&McMartin>
int a, x; x=3; if (x == 3) { a = 2; } if (x == 3) { x = a; }
17:53
<&McMartin>
It is however legal to replace the two if statements with a single if (x == 3) { a = 2; x = a; }
17:54
<&McMartin>
Formally, if you are reading a variable in java, every path through any branches - even "impossible" branch pairs like my example, because fuck resolving that statically - must assign the variable.
17:55
<&McMartin>
The analysis for proving that - use-before-def analysis - is of roughly the same complexity as type inference within a function.
17:55
<&McMartin>
Maybe a smaller asymptote
17:57
<&McMartin>
But yeah, Java has in the language spec "your code must pass an intraprocedural, flow-sensitive, path-insensitive use-before-def analysis" specifically as a requirement, which is more restrictive than "don't read stuff you haven't written" (as per C and C++).
17:58
<&McMartin>
And there was serious pushback against that in the 1990s because how dare this mere compiler assume I don't know what I'm doing when this code is *clearly* always correct etc
17:58
<&McMartin>
And then somebody in another thread rewrites the value of x for lulz and all die
18:00 * ToxicFrog nods
18:01
<&McMartin>
Rust's static checks include tests I have literally never seen before, so getting a new developer to figure out why their code does not compile seems like a significant hurdle
18:02
<&McMartin>
However, my initial concern - that any serious code *cannot* be written in the language, becuase seriously, fuck auto_ptr<> with every rusty saw - have been allayed by experimenting with it.
18:02
<&McMartin>
I suspect but have not demonstrated that this is because Rust's "borrow" and "mutable borrow" semantics both do things auto_ptr cannot.
18:20 Kindamoody|afk is now known as Kindamoody
18:33 celticminstrel [celticminst@Nightstar-de4ll6.dsl.bell.ca] has joined #code
18:33 mode/#code [+o celticminstrel] by ChanServ
19:12 Turaiel[Offline] is now known as Turaiel
19:13 Turaiel is now known as Turaiel[Offline]
20:57 Kindamoody is now known as Kindamoody[zZz]
21:32 froztbyt1 is now known as froztbyte
21:58 himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds]
21:59 Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds]
23:03 Alek [omegaboot@Nightstar-c8t.a00.36.73.IP] has quit [Ping timeout: 121 seconds]
23:07 Alek [omegaboot@Nightstar-c8t.a00.36.73.IP] has joined #code
23:07 mode/#code [+o Alek] by ChanServ
23:21 Vornicus [vorn@ServerAdministrator.Nightstar.Net] has joined #code
23:21 mode/#code [+qo Vornicus Vornicus] by ChanServ
23:36 himi [fow035@Nightstar-dm0.2ni.203.150.IP] has joined #code
23:36 mode/#code [+o himi] by ChanServ
--- Log closed Fri Jan 16 00:00:25 2015
code logs -> 2015 -> Thu, 15 Jan 2015< code.20150114.log - code.20150116.log >

[ Latest log file ]