--- 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 |