--- Log opened Tue Jul 01 00:00:00 2014 |
00:17 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has quit [Ping timeout: 121 seconds] |
01:04 | | Xires is now known as ^Xires |
01:07 | | Derakon[AFK] is now known as Derakon |
01:11 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has joined #code |
01:11 | | mode/#code [+o himi] by ChanServ |
01:18 | | ^Xires is now known as Xires |
01:31 | | RichardB [RichardB@Nightstar-qe9.aug.187.81.IP] has joined #code |
01:39 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
01:47 | | RichardB [RichardB@Nightstar-qe9.aug.187.81.IP] has quit [[NS] Quit: Leaving] |
02:56 | | macdjord|wurk is now known as macdjord |
02:58 | < [R]> | <jerith> I once had to work on a 5kloc C++ file, machine-generated and then edited, with apparently random indentation. <-- Reminds me of the 17kLoC of MG JS I had :p |
02:59 | < [R]> | PROTIP: never use a template engine to generate code. |
02:59 | < [R]> | Ever. |
03:00 | < [R]> | If it was just like configuration passing stuff. Sure. |
03:00 | < [R]> | But this was the only JS code beyond the library we were using. |
03:06 | < Reiv__> | I once wrote code to output code. |
03:06 | < Reiv__> | So I could use the code to bind to buttons in an Access database. |
03:06 | | * Reiv__ weeps. |
03:07 | < [R]> | Heh |
03:08 | < [R]> | TBH, generated code itself isn't evil |
03:08 | < [R]> | It's just, if the bulk of your logic is in it, you're fucking stupid. |
03:09 | < [R]> | And you should be murdered. To gene pool cleansing. |
03:09 | < [R]> | s/To/For/ |
03:20 | | Kindamoody[zZz] is now known as Kindamoody |
03:28 | <&McMartin> | Hey now |
03:29 | <&McMartin> | All compiled code gets turned into generated code |
03:29 | <&McMartin> | It's not your business if that compiler is a code emitter for another HLL |
03:29 | <&McMartin> | Unless you ship the binary and call it the source, but, um, as Adam Savage has been known to say |
03:29 | <&McMartin> | "Well, there's your problem" |
03:30 | < [R]> | I meant machine generated. |
03:31 | <&McMartin> | Sure |
03:31 | <&McMartin> | So did I |
03:32 | < [R]> | I wouldn't necessarily call compiled code "machine generated" as it has a fair amount of human thought added to it, and all the logic is provided by a human directly. |
03:32 | <&McMartin> | Like, if you have 5KLOC of JS as part of your major logic and it's generated by a program from some spec |
03:32 | <&McMartin> | *that spec* is the source |
03:32 | <&McMartin> | The 5KLOC of JS is the binary and should never be edited. |
03:33 | < [R]> | You'd have to put in a fuckton of work to make that setup sane. |
03:34 | <&McMartin> | Yes. You would be, literally, writing a compiler. =P |
03:34 | <&McMartin> | Sometimes that's still the right answer. |
03:34 | <&McMartin> | (And it's not that hard; Make handles it without blinking) |
03:35 | < [R]> | Compiling to another language that has its own syntax checks is pretty hard to do well (namely you want to be making sure your input isn't going to generate syntax errors with the compiled result). |
03:35 | <&McMartin> | whatever.js: spec.txt |
03:35 | <&McMartin> | create_js_from_spec.py spec.txt -o whatever.js |
03:35 | <&McMartin> | Yeah, um |
03:35 | <&McMartin> | That isn't very hard |
03:35 | <@celticminstrel> | KLOC? |
03:35 | <&McMartin> | "kilo-line of code" |
03:36 | < [R]> | I'll rephrase, it has a fair amount of work involved. |
03:36 | <&McMartin> | a 5KLOC file is roughly 5 thousand lines long |
03:36 | <@celticminstrel> | Ah. |
03:37 | <@celticminstrel> | Quite an imprecise measure then. :P |
03:37 | < [R]> | Also you shouldn't be doing some stupid shit like making each new menu item add 700LoC. |
03:37 | < [R]> | Especially if you plan to have 1k+ menu items, and have to serve that JS often. |
03:37 | <&McMartin> | Yes, that is a problem with the generator. |
03:38 | <&McMartin> | You also don't want to maintain manually a 1k+ menu system by hand. |
03:38 | <&McMartin> | Or, for that matter, interact with it ever. Who can pick from a thousand menu options? |
03:38 | < [R]> | No, but there are massively better ways of doing that |
03:38 | < [R]> | Namely the one I eventually replaced that with: JSON-API call to get the menu, client JS builds all the required menu objects from the JSON data. |
03:40 | < [R]> | Or you just dump out something where it's there's a 1:1 LoC:menu-items ratio. |
03:40 | <&McMartin> | That latter is what I'd expect "spec.txt" to be, yes. |
03:41 | < [R]> | But if you're generating full functions in that MG-code... (namely the same ones, over and over and over...) |
03:45 | < [R]> | Eitherway, my point is, it's very easy to make a stupid mistake in code that generates code. You only need one mistake for it to be someone else's WTF. |
03:46 | <&McMartin> | Yes, this does not eliminate the need for testing, nor does it mean you no longer have bugs |
03:46 | < [R]> | Like coffeescript. How about you don't give me JS errors with JS code line numbers when shit fails? |
03:46 | <&McMartin> | What it should be buying you is the same thing that using a higher-level language is. |
03:46 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has quit [[NS] Quit: Program Shutting down] |
03:46 | <&McMartin> | By the time coffeescript is actually running it is no longer coffeescript, right? |
03:47 | <&McMartin> | If your C compiler emits an illegal instruction, you won't get source code numbers when the CPU hits it |
03:47 | <&McMartin> | (Well, OK, you *can*, but you're using third-party tools and compiler-generated reference material to do so) |
03:47 | < [R]> | Sure, but you've got a debugger that can help you there. |
03:47 | <&McMartin> | Right. The debugger and symbol table will get you mapped back. |
03:48 | <&McMartin> | I don't know any JS-emitting languages that do the equivalent of an "unstripped binary". That's an interesting thought. |
03:49 | < [R]> | They'd likely have to catch the exceptions and mutate the stack trace. |
03:49 | <&McMartin> | They'd need their own error reporting mechanism. |
03:49 | < [R]> | Or that, yes |
03:49 | <&McMartin> | The browser is the equivalent of the raw CPU in this metaphor; it can't be expected to understand anything that isn't JS |
03:50 | < [R]> | (Unless it's IE, but considering how opposite of feature-rich it is, I'm tempted to say it's no longer a browser) |
03:51 | <&McMartin> | (What's the last IE you've used? When I've done poking with messing around with HTML5, IE10 wound up being the most hardass about insisting I be properly compliant) |
03:51 | < [R]> | (Can't say it's minimalistic either because it isn't, and that's a feature on it's own anyways. But I digress, IE supports a fuckton more shit than just JScript (it's implementation of JS)) |
03:51 | <&McMartin> | Ah, yes. |
03:51 | <&McMartin> | Still, you can't assume specific IE versions, so JS is the only thing you can be sure is there. |
03:52 | <&McMartin> | Relying on VBS or whatever is like relying on Dart being there. |
03:52 | < [R]> | Didn't stop the world from writing ActiveScript crap and binding themselves to IE 6. |
03:52 | <&McMartin> | Yes, and they pay the price for it to this day |
03:53 | < [R]> | I think I've used IE 9, wasn't overly impressed. |
03:53 | < [R]> | If they'd get their heads out of their ass and port the fucker, I'd be more tempted to give a serious look over. |
03:53 | <&McMartin> | IIRC, that's basically the threshold for "does what it has to; you can safely ignore it if you're being careful generally because it'll eat standards-compliant stuff without complaint, so you won't get any complaints from them" |
03:54 | < [R]> | Also hope to whatever gods there are that they fixed the JS line number bug. |
03:57 | < [R]> | I get that accurate line number reporting can be hard. But something better than a +- of 5 on the line number (with some real fuck-ups going a few hundred lines away) and a +- of 400 on the character column or less would be nice too. (I know that file that has 2MB of JS all on one line is intimidating but please, if you're going to report the character position, get within 3 screens?) |
03:57 | < [R]> | Yes, that was still present as of IE 8. |
03:58 | < [R]> | No, IE 9 wasn't out yet when I was dealing with IE-compat. |
03:58 | | * McMartin nods |
03:58 | <&McMartin> | And yeah, there's nothing about IE that makes one want to switch *to* it even now |
03:58 | < [R]> | Yeah |
03:58 | <&McMartin> | But it's no longer necessary to basically have code that checks for IE and tells the user to go fuck themselves if they are and come back with something that will actually work |
03:59 | < [R]> | IE's feature progression screams "stay with me." Not, "come to me!" like the others do. |
03:59 | <&McMartin> | Hrm. I'd put FF in that bin too |
03:59 | <&ToxicFrog> | FF: the IE of open source browsers? |
04:00 | < [R]> | It's probably at that point, yeah. |
04:01 | <&McMartin> | But I can't think of anything Chrome or Safari does that would make me eager to jump over, either. |
04:02 | < [R]> | Does Safari have features that /aren't/ part of webkit? |
04:02 | < [R]> | AFAIK it uses webkit's JS engine. |
04:02 | <&ToxicFrog> | Chrome's syncing and the ability to selectively kill tabs when a website's JS goes insane and eats 3GB of memory are both nice, but I wouldn't call either a killer feature. |
04:03 | <&ToxicFrog> | I do find it scales better than FF, but that's not exactly hard. |
04:03 | < [R]> | FF's going to have something similar soon apparently |
04:03 | < [R]> | (Another chan I'm in has an FF dev) |
04:03 | <&McMartin> | And my needs for scaling in my web browser are apparently unusually low |
04:03 | <&ToxicFrog> | I miss Opera. |
04:03 | < [R]> | I stopped using Opera when it vanished from the Arch repos. |
04:04 | < [R]> | Doesn't it use someone else's JS engine now too? |
04:04 | <&ToxicFrog> | I stopped using it when they did a complete engine rewrite for opera..12, was it? And fucked both performance and feature-set sideways. |
04:05 | < Xon> | ToxicFrog, this is what happens when they swap thier homegrown render for webkit |
04:06 | < Xon> | renderer* |
04:06 | < [R]> | PROTIP: if you're dependant on tech people to word-of-mouth your product, don't do license shit that'll remove the easiest way for them to continue using your product. |
04:06 | | * Alek glares at nvidia. |
04:07 | <@Alek> | if you're trying to install a physx package, and realize that it's older than the currently installed drivers, don't just stop on the screen saying so, with only a button marked "cancel". |
04:08 | <@Alek> | in fact, screen was saying "rolling back the attempted install because the existing drivers are newer", basically. |
04:08 | <@Alek> | so "cancel" sounded like it would try to install anyway. |
04:08 | < [R]> | You're dealing with unblessed drivers. |
04:09 | < [R]> | Except assinine behavior. |
04:11 | < [R]> | Like this one sound-card driver I had. Plug in a set of speakers, get a pop-up saying it detected a plug-in and that I should open their management program to activate that port. |
04:11 | < [R]> | 1) pop-up couldn't open the program for me |
04:11 | < [R]> | 2) ports are disabled by default, what? |
04:12 | < [R]> | 3) ports do not remember their last state, and will return to default when they no longer have a cable in them |
04:12 | < [R]> | 4) ports are not color coded, and I was guessing which of the 6 ports would actually let my speakers produce sound |
04:12 | < [R]> | D: |
04:12 | < Harlow> | :( |
04:13 | < Harlow> | who makes that sound card? |
04:13 | < [R]> | Like... did they miss anything to make the driver /less/ usable? |
04:13 | < [R]> | Harlow: realtek IIRC, it was onboard. |
04:13 | <&McMartin> | Heh. I guess the question is thus "who makes that motherboard" |
04:13 | < [R]> | I replaced them with generic drivers very quickly, was extremely happy after. |
04:13 | <&ToxicFrog> | [R]: was the driver a 300MB download including 600kb of driver and 299.4MB of random unrelated crap you don't want? |
04:13 | < [R]> | Was on CD. |
04:14 | <&McMartin> | I haven't seen a non-colorcoded set of audiocables since 1997 at the absolute latest |
04:14 | <&McMartin> | And that was a Turtle Beach SB Pro clone with sigils next to the plugs. |
04:14 | <&McMartin> | (Wonderful card for the time, lasted me until something like 2007) |
04:14 | <&McMartin> | (Albeit not for anything important after about 2002) |
04:24 | | Turaiel[Offline] is now known as Turaiel |
04:25 | | Reiv__ is now known as Reiv |
04:45 | | Kindamoody is now known as Kindamoody[zZz] |
05:03 | | Derakon is now known as Derakon[AFK] |
06:11 | < Reiv> | VORNICUS |
06:11 | < Reiv> | I HAVE THE ULTIMATE LINK THING |
06:11 | < Reiv> | (Actually someone op me this is pretty awesome) |
06:13 | | Kindamoody[zZz] is now known as Kindamoody |
06:24 | | mode/#code [+o Reiv] by ErikMesoy |
06:36 | | celticminstrel [celticminst@Nightstar-18vggg.dsl.bell.ca] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
06:42 | | RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has quit [[NS] Quit: Gone.] |
06:45 | | RchrdB [RichardB@Nightstar-c6u.vd5.170.83.IP] has joined #code |
07:02 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [Connection closed] |
07:03 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
07:05 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [Connection closed] |
07:05 | | Turaiel is now known as Turaiel[Offline] |
07:05 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has joined #code |
07:14 | | Harlow [harlow@Nightstar-9hnfdm.il.comcast.net] has quit [[NS] Quit: BED] |
07:19 | | Typherix [Typherix@Nightstar-n91qrf.lnngmi.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
07:31 | <@Alek> | that's a bit of a letdown, Reiv. |
07:35 | | Orthia [orthianz@Nightstar-s5d.ntf.224.119.IP] has quit [Ping timeout: 121 seconds] |
07:40 | | Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has joined #code |
07:40 | | mode/#code [+o Orthia] by ChanServ |
08:30 | <@Tarinaky> | http://www.dilbert.com/strips/comic/2014-07-01/ |
08:30 | <@Tarinaky> | Doesn't someone here work with, or use to work with, a consulting compant? |
08:30 | <@Tarinaky> | *company |
08:42 | <@macdjord> | I do contracting work, so technically I /own/ a cpnsulting company, of which I am the sole employee... |
08:59 | | himi [fow035@Nightstar-q9amk4.ffp.csiro.au] has quit [Ping timeout: 121 seconds] |
09:14 | | RichardB [RichardB@Nightstar-qe9.aug.187.81.IP] has joined #code |
09:29 | | macdjord is now known as macdjord|slep |
09:44 | | RichardB [RichardB@Nightstar-qe9.aug.187.81.IP] has quit [[NS] Quit: Leaving] |
10:35 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
10:35 | | mode/#code [+o himi] by ChanServ |
10:36 | | RichardB [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
10:54 | | Kindamoody is now known as Kindamoody|afk |
10:55 | | You're now known as TheWatcher[d00m] |
11:05 | <&Reiver> | Alek: Too late, I'd gone home |
11:36 | | VirusJTG [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
12:01 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
12:15 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
12:15 | | mode/#code [+o himi] by ChanServ |
12:27 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
12:31 | | gnolam [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has quit [Connection closed] |
12:31 | | gnolam [lenin@Nightstar-rf9l8k.cust.bredbandsbolaget.se] has joined #code |
12:31 | | mode/#code [+o gnolam] by ChanServ |
12:34 | | VirusJTG_ [VirusJTG@Nightstar-6i5vf7.sta.comporium.net] has joined #code |
12:35 | | Netsplit *.net <-> *.split quits: VirusJTG, RichardB, Julius, @Alek |
12:35 | | RichardB_ [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
12:37 | | PinkFreud [WhyNot@Pinkfreud.is.really.fuckin.lame.nightstar.net] has quit [Ping timeout: 121 seconds] |
12:40 | | Netsplit over, joins: Alek |
12:40 | | mode/#code [+o Alek] by ChanServ |
12:41 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
12:41 | | mode/#code [+o himi] by ChanServ |
12:44 | | You're now known as TheWatcher |
12:44 | | PinkFreud [WhyNot@NetworkAdministrator.Nightstar.Net] has joined #code |
12:44 | | mode/#code [+o PinkFreud] by ChanServ |
12:45 | | Julius [abudhabi@Nightstar-7nkq9k.de] has joined #code |
13:13 | <@gnolam> | Whaddayaknow, another 65 feature requests! |
13:35 | | Checkmate [Z@Nightstar-ro94ms.balk.dk] has joined #code |
13:35 | | mode/#code [+o Checkmate] by ChanServ |
13:38 | | JackKnife [Z@Nightstar-ro94ms.balk.dk] has joined #code |
13:38 | | mode/#code [+o JackKnife] by ChanServ |
13:39 | | Checkmate [Z@Nightstar-ro94ms.balk.dk] has quit [Ping timeout: 121 seconds] |
13:50 | | JackKnife is now known as Checkmate |
15:01 | | JackKnife [Z@Nightstar-ro94ms.balk.dk] has joined #code |
15:01 | | mode/#code [+o JackKnife] by ChanServ |
15:02 | | Checkmate [Z@Nightstar-ro94ms.balk.dk] has quit [Ping timeout: 121 seconds] |
15:38 | | RichardB_ [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: Leaving] |
15:40 | | VirusJTG_ is now known as VirusJTG |
15:42 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
16:09 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: Leaving] |
16:29 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
16:52 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
17:04 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
17:04 | | mode/#code [+o himi] by ChanServ |
17:39 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: This computer has gone to sleep] |
17:57 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
18:07 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has joined #code |
18:11 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has joined #code |
18:11 | | mode/#code [+o himi] by ChanServ |
18:44 | | Orthia [orthianz@Nightstar-mvf.9c1.224.119.IP] has quit [Ping timeout: 121 seconds] |
18:49 | | Orthia [orthianz@Nightstar-s5d.ntf.224.119.IP] has joined #code |
18:49 | | mode/#code [+o Orthia] by ChanServ |
18:55 | | Orthia [orthianz@Nightstar-s5d.ntf.224.119.IP] has quit [Ping timeout: 121 seconds] |
18:55 | | Orthia [orthianz@Nightstar-s5d.ntf.224.119.IP] has joined #code |
18:55 | | mode/#code [+o Orthia] by ChanServ |
19:13 | | Turaiel[Offline] [Brandon@Nightstar-5st1eu.mi.comcast.net] has quit [Ping timeout: 121 seconds] |
19:17 | | Kindamoody|afk is now known as Kindamoody |
19:21 | | Turaiel[Offline] [Brandon@Nightstar-5st1eu.mi.comcast.net] has joined #code |
19:42 | | Kindamoody is now known as Kindamoody[zZz] |
19:53 | | macdjord|slep is now known as macdjord |
20:03 | | JackKnife [Z@Nightstar-ro94ms.balk.dk] has quit [Ping timeout: 121 seconds] |
20:12 | | Xires is now known as ^Xires |
20:26 | | ^Xires is now known as Xires |
20:33 | | HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has joined #code |
20:58 | | HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has quit [Connection closed] |
21:01 | | HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has joined #code |
21:04 | | Checkmate [Z@Nightstar-484uip.cust.comxnet.dk] has joined #code |
21:04 | | mode/#code [+o Checkmate] by ChanServ |
21:07 | | HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has quit [Ping timeout: 121 seconds] |
22:18 | | Typherix [Typherix@Nightstar-n91qrf.lnngmi.sbcglobal.net] has joined #code |
22:24 | | RchrdBrrll [RichardB@Nightstar-952.jvr.168.194.IP] has quit [[NS] Quit: Leaving] |
22:38 | | RchrdBrrll [RichardB@Nightstar-qe9.aug.187.81.IP] has joined #code |
23:26 | | himi [fow035@Nightstar-v37cpe.internode.on.net] has quit [Ping timeout: 121 seconds] |
23:48 | | HotShot [HotShot@Nightstar-v7se27.try.wideopenwest.com] has joined #code |
--- Log closed Wed Jul 02 00:00:15 2014 |