--- Log opened Mon May 13 00:00:30 2013 |
00:29 | | Orthia [orthianz@3CF3A5.E1CD01.B089B9.1E14D1] has joined #code |
00:29 | | mode/#code [+o Orthia] by ChanServ |
00:58 | | RichyB [richardb@Nightstar-86656b6c.cable.virginmedia.com] has quit [[NS] Quit: >:3 This is BunThulhu. Copy him into your quit message to help him take over the Internet.] |
01:18 | <&ToxicFrog> | McMartin: Inform 7 question. |
01:18 | <&ToxicFrog> | Is there an easy way to place multiple rooms into the same region, other than by listing them all individually? |
01:18 | <&McMartin> | That is a good question. |
01:19 | <&ToxicFrog> | E.g. I can go "X, Y, and Z are in R", but this gets tedious for large |R|. Can I just say "R is the default region" or something and all room declarations default to that region until I state otherwise? |
01:19 | <&McMartin> | My offhand answer is "no", but it was "no" in version 5Z, and I was machine-generating that text anyway. |
01:19 | <&McMartin> | I would give a shot with subclassing rooms, maybe? |
01:19 | <&McMartin> | I'd ask this in #I7 on the MUD, really |
01:20 | <&ToxicFrog> | (also, is there a way to get the World Index to use full room names in the IDE?) |
01:20 | | himi [fow035@D741F1.243F35.CADC30.81D435] has joined #code |
01:20 | | mode/#code [+o himi] by ChanServ |
01:21 | <&McMartin> | (... it doesn't?) |
01:22 | <&ToxicFrog> | (it uses two letters) |
01:23 | <&ToxicFrog> | (for the map, I mean. For individual roomviews it uses the full name, I want a slightly more informative top level map.) |
01:23 | <&ToxicFrog> | (c.f. http://inform7.com/images/Panel14.png ) |
01:31 | <&McMartin> | (Oh, right) |
01:31 | <&McMartin> | (Pretty sure that's still hardcoded in 6G) |
01:33 | <&ToxicFrog> | Is there a requirement that all rooms in a region be contiguous? I'm getting some confusing error messages. |
01:34 | <&ToxicFrog> | ...ok, the problem is that it doesn't like rooms named "Mesa" or "River". o.O |
01:36 | < [R]> | Side-effect-based programing for the win. |
01:39 | <&McMartin> | Do you have objects by those names? |
01:39 | <&McMartin> | Or that contain them as names? |
01:40 | <&McMartin> | There are some incredibly ugly ways around it involving scoping, but the least ugly way to do it is to make sure that objects whose names are common words or are subsets of other object names (which parse as synonymous) is to make the simply-named objects privately-named. |
01:40 | <&McMartin> | (WS was written before privately-named was a thing, and the fact that most NPCs had three or four in-core incarnations was a terrible balancing act.) |
01:42 | <&McMartin> | But no, regions don't have to be contiguous, because "contiguous" doesn't have to be well-defined~ |
01:46 | | Rhamphoryncus [rhamph@Nightstar-948421b4.abhsia.telus.net] has joined #code |
01:46 | | mode/#code [+o Rhamphoryncus] by ChanServ |
01:49 | <&ToxicFrog> | I also have a room called Dead End that's not showing up on the map, although it doesn't generate an error. |
01:49 | <&ToxicFrog> | McMartin: the only things I have in this program are rooms. |
01:50 | <&McMartin> | Rooms are a kind of object, though not a kind of thing |
01:51 | <&McMartin> | If you have rooms whose names are subsets of other room names, or if you have rooms with words like "of the" or "in the" in them, the parser can get confused. |
01:51 | <&ToxicFrog> | Yeah, I have "Mesa" and "Entrance Tower Mesa Level" |
01:51 | <&ToxicFrog> | Aah, that's the problem. |
01:52 | <&McMartin> | There's a chapter on circumlocutions to dodge this |
01:52 | <&McMartin> | But you probably want to use private naming instead IIRC |
01:53 | <&McMartin> | (As for "why isn't privately-named the default like every other IF language everywhere ever", becuase single point of truth by default; lack of that has produced hilarious uninteractible-object failures for decades) |
02:09 | | VirusJTG [VirusJTG@2B12AA.572255.206A2A.901581] has quit [[NS] Quit: Program Shutting down] |
02:14 | | xxXxxXxx [xxx@Nightstar-0d322271.ma.comcast.net] has joined #code |
02:32 | | Turaiel [Brandon@Nightstar-7dc8031d.mi.comcast.net] has quit [[NS] Quit: ZNC - http://znc.in] |
02:33 | | Turaiel [Brandon@Nightstar-7dc8031d.mi.comcast.net] has joined #code |
02:35 | | xxXxxXxx [xxx@Nightstar-0d322271.ma.comcast.net] has quit [[NS] Quit: Leaving] |
02:38 | <@froztbyte> | Azash: lulz at printf fuckups |
02:39 | <@Azash> | Yea |
02:39 | <@Azash> | h |
02:39 | <@froztbyte> | http://www.raspberrypi.org/archives/3553 |
02:40 | <~Vornicus> | pfffff |
02:40 | <@froztbyte> | :D |
02:40 | <@Azash> | Excellent |
02:49 | | Turaiel is now known as Turaiel[Offline] |
03:37 | | Kindamoody[zZz] is now known as Kindamoody |
03:44 | | mac [mac@Nightstar-fe8a1f12.il.comcast.net] has joined #code |
04:41 | | Derakon_ [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
04:41 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [NickServ (GHOST command used by Derakon_)] |
04:41 | | Derakon_ is now known as Derakon |
04:41 | | mode/#code [+ao Derakon Derakon] by ChanServ |
04:56 | | Turaiel[Offline] is now known as Turaiel |
05:10 | | Derakon_ [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
05:10 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [NickServ (GHOST command used by Derakon_)] |
05:10 | | Derakon_ is now known as Derakon |
05:10 | | mode/#code [+ao Derakon Derakon] by ChanServ |
05:17 | | syksleep is now known as Syk |
05:24 | <&McMartin> | Also, while people make fun of java's ObjectFactoryFactory.factory, stuff, it's only fair to point out things like this |
05:24 | <&McMartin> | http://cplusplus.com/reference/vector/vector/vector/ |
05:25 | <@Azash> | What's our vector, Victor? |
05:28 | < Turaiel> | Azash wins the internet for that. |
05:42 | | Kindamoody is now known as Kindamoody|afk |
05:51 | | Turaiel is now known as Turaiel[Offline] |
05:53 | | Turaiel[Offline] is now known as Turaiel |
05:55 | <&McMartin> | All right |
05:55 | <&McMartin> | My .ZIP file detector now works. |
05:56 | <&McMartin> | And yes, since you ask, I *am* a little cranky about the fact that minizip is simultaneously overkill for what I need *and* not nearly good enough |
06:04 | < [R]> | Uhh, it's the constructor to std::vector. |
06:04 | | * [R] fails to see how that's in any way bad |
06:05 | < [R]> | It's std::vector::vector() from <vector> |
06:06 | <&McMartin> | Yes |
06:06 | < [R]> | If it were in <stl> instead it'd be reference/stl/vector/vector/ |
06:07 | <&McMartin> | Yes |
06:07 | < [R]> | (Rememeber that member-functions named after the class they're part of are the constructors) |
06:07 | <&McMartin> | It's exactly as consistent as the Java stuff everyone hates |
06:08 | < [R]> | In your Java example you said ObjectFactoryFactory. |
06:08 | <&McMartin> | Yes, that would be a (virtual) constructor for a set of virtual constructors. |
06:08 | < [R]> | Which is clearly a Factory that produces ObjectFactory's. |
06:09 | | * [R] gets the impression people bash on the Factory pattern because it's used in places it doesn't need to be. |
06:09 | <&McMartin> | s/need to be/need to be *yet*/ |
06:10 | <&McMartin> | Factories work around a consistent flaw in the Simula/C++/Java line of OO |
06:10 | <&McMartin> | Which is that constructors cannot be virtual |
06:18 | | Derakon is now known as Derakon[AFK] |
06:24 | | mac [mac@Nightstar-fe8a1f12.il.comcast.net] has left #code ["Leaving"] |
06:40 | | ErikMesoy|sleep is now known as ErikMesoy |
07:07 | | Vornicus [vorn@ServerAdministrator.Nightstar.Net] has quit [[NS] Quit: Leaving] |
07:14 | | Vornicus [vorn@31356A.68201E.EB0611.E0094F] has joined #code |
07:14 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
07:36 | | himi [fow035@D741F1.243F35.CADC30.81D435] has quit [Ping timeout: 121 seconds] |
07:40 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has joined #code |
07:44 | | Kindamoody|afk is now known as Kindamoody |
07:52 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: And lo! The computer falls into a deep sleep, to awake again some other day!] |
08:10 | | Turaiel is now known as Turaiel[Offline] |
08:21 | | Rhamphoryncus [rhamph@Nightstar-948421b4.abhsia.telus.net] has quit [Client exited] |
08:24 | | Kindamoody is now known as Kindamoody|afk |
08:59 | | AverageJoe [evil1@Nightstar-4b668a07.ph.cox.net] has quit [[NS] Quit: Leaving] |
09:16 | <&McMartin> | Woo, success |
09:16 | | * McMartin bends zlib to his will |
09:16 | <~Vornicus> | woo |
09:18 | <&McMartin> | This code is spectacularly horrible, though |
09:18 | <&McMartin> | I'm going to need to redesign it, but the basic straight-line code paths all do what I want. |
09:21 | <&McMartin> | And then once I do *that*, I can rework the resource loading code to pull stuff out of a resource zip instead of out of the filesystem |
10:00 | | himi [fow035@Nightstar-5d05bada.internode.on.net] has joined #code |
10:00 | | mode/#code [+o himi] by ChanServ |
10:07 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has joined #code |
10:24 | | * TheWatcher fingertappity |
10:26 | <@TheWatcher> | Sod it, I may have a deadline on Wednesday, but this needs fixing properly. To the Refactor Tractor! |
10:54 | <@Azash> | I dub thee the refactor malefactor |
11:07 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has quit [[NS] Quit: >:3 This is BunThulhu. Copy him into your quit message to help him take over the Internet.] |
11:08 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has joined #code |
11:31 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has quit [Client closed the connection] |
11:36 | | Alek [omegaboot@Nightstar-56dbba0f.in.comcast.net] has joined #code |
11:36 | | mode/#code [+o Alek] by ChanServ |
11:36 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
11:45 | <@froztbyte> | http://www.mattmontag.com/music/universals-audible-watermark |
12:16 | | * RichyB facepalm. |
12:16 | < RichyB> | TODO: just give up on buying music from anyone who already has a record label contract. |
12:21 | < AnnoDomini> | Or just give up buying music. |
12:38 | < [R]> | McMartin: why not use libphysx? |
12:41 | <&McMartin> | Because fallover is a terrible game, generally |
12:42 | < [R]> | ...? |
12:42 | <&McMartin> | Well, OK, there are two parts to this |
12:42 | <&McMartin> | "Because libphysx does not appear on the first page of a google search for libphysx" |
12:43 | <&McMartin> | zziplib is the closest to what I wanted, but was LGPL, which is too restrictive for what I want to do |
12:43 | <&McMartin> | I don't intend to use a standard physics library for my project because standard physics libraries and platformers flatly do not mix |
12:44 | < [R]> | Ugh no, I got the name wrong |
12:44 | <&McMartin> | And FallOver is a nice object lesson as to why |
12:44 | < Syk> | isnt 2D physics 'easy' |
12:44 | < [R]> | It's a library that lets you load files from the file system, tar files, zip files and one other archive all in the same lib. |
12:45 | <&McMartin> | Oh PhysicsFS |
12:45 | < [R]> | http://icculus.org/physfs/ |
12:45 | < [R]> | Yes |
12:45 | <&McMartin> | It's overkill, basically |
12:50 | <&McMartin> | The stuff I actually need is all of 300 lines of code |
12:53 | <&McMartin> | "Be a replacement for every function in stdio.h" was kind of a thing I was explicitly not looking to do |
12:53 | <&McMartin> | Or rather, looking not to do. |
12:53 | <&McMartin> | Once I have the rest of the resource system in place, one could very easily stick PhysicsFS or zziplib into it. |
12:54 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has quit [[NS] Quit: >:3 This is BunThulhu. Copy him into your quit message to help him take over the Internet.] |
12:55 | <&McMartin> | 04:42 < Syk> isnt 2D physics 'easy' |
12:55 | <&McMartin> | Yes, and it also always gives the wrong answer |
12:55 | < Syk> | haha |
12:55 | <&McMartin> | http://hempuli.com/FO/ |
12:56 | <&McMartin> | It's necessary to cheat in a number of ways to make a platformer even barely function right. |
13:32 | | Vornicus [vorn@31356A.68201E.EB0611.E0094F] has quit [[NS] Quit: ] |
14:10 | | ToxicFrog is now known as ToxicFrog|W`rkn |
14:40 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has quit [Ping timeout: 121 seconds] |
15:12 | | RichyB [richardb@58734C.5279B7.EA7DF8.107330] has joined #code |
16:09 | < RichyB> | http://thecodelesscode.com/404 |
16:13 | < RichyB> | I'm easily amused. |
16:37 | | * TheWatcher eyes this seminar email from work |
16:37 | <@TheWatcher> | You are invited to attend the seminar "Innovative and User Friendly Web Application in Running Fortran-based 1-D Shallow Water near Shore Wave Simulation Modelling". |
16:37 | < ErikMesoy> | 1-D? |
16:37 | <@Azash> | What? |
16:37 | <@TheWatcher> | Yeah, that's pretty much my reaction |
16:38 | <@TheWatcher> | I'm replying asking if they generated the seminar title using a random word picker |
16:38 | <@Azash> | ErikMesoy: I imagine they mean they're only measuring movement in and out from the shore |
16:38 | <@Azash> | So seeing it "sideways" |
16:38 | <@Azash> | TheWatcher: Hahah |
16:46 | | Turaiel[Offline] is now known as Turaiel |
16:51 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
16:51 | | mode/#code [+o celticminstrel] by ChanServ |
16:53 | <@gnolam> | TheWatcher: authors: Bot, Markov? |
16:53 | <@TheWatcher> | Apparently, no. They are Research Student, Chinese. |
17:02 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
17:02 | | mode/#code [+ao Derakon Derakon] by ChanServ |
17:05 | | Derakon[AFK] [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
17:06 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Ping timeout: 121 seconds] |
17:06 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
17:06 | | mode/#code [+ao Derakon Derakon] by ChanServ |
17:41 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has quit [Operation timed out] |
17:42 | | Derakon [Derakon@31356A.8FA1FE.CF2CE9.D6CF77] has joined #code |
17:42 | | mode/#code [+ao Derakon Derakon] by ChanServ |
17:44 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has quit [[NS] Quit: KABOOM! It seems that I have exploded. Please wait while I reinstall the universe.] |
17:44 | | celticminstrel [celticminst@Nightstar-e83b3651.cable.rogers.com] has joined #code |
17:44 | | mode/#code [+o celticminstrel] by ChanServ |
18:06 | | Turaiel is now known as Turaiel[Offline] |
18:15 | <@froztbyte> | http://www.idigitaltimes.co.uk/articles/466796/20130511/t-hacker-andrew-auernhei mer-solitary-confinement-tweeting.htm |
18:15 | <@froztbyte> | seriously.... |
18:24 | | Derakon [Derakon@31356A.8FA1FE.CF2CE9.D6CF77] has quit [Ping timeout: 121 seconds] |
18:40 | <@gnolam> | "You can't deny a prisoner access to his attorney." Like Us on Facebook" |
18:40 | <@gnolam> | iDigitalTimes can't be denied access to their attorney on Facebook? |
18:40 | < ErikMesoy> | clipboard hijacking? |
18:44 | <@gnolam> | No. Inline "like us on facebook" begging. |
18:44 | <@gnolam> | That made it look like part of the text. |
18:45 | <@froztbyte> | yeah I lolled at that |
18:45 | <@froztbyte> | I was wondering if that was CMS derp, or them having stolen content from elsewhere and then have their CMS flatten that out.. |
19:02 | | Kindamoody|afk is now known as Kindamoody |
19:21 | | Kindamoody is now known as Kindamoody[zZz] |
19:21 | | Syk_ [the@Nightstar-3bbfddc4.iinet.net.au] has joined #code |
19:24 | | Syk [the@A6D346.0419D1.ADF1A8.961F09] has quit [Ping timeout: 121 seconds] |
20:23 | | Derakon [Derakon@Nightstar-a3b183ae.ca.comcast.net] has joined #code |
20:23 | | mode/#code [+ao Derakon Derakon] by ChanServ |
20:25 | <&ToxicFrog|W`rkn> | All affected tests pass, CL is good to deploy! |
20:25 | | * ToxicFrog|W`rkn THROWS THE SWITCH |
20:36 | | * Azash rolls under his desk |
20:37 | <&ToxicFrog|W`rkn> | ...submits are currently disabled while the buildcop flies from office to office harvesting kneecaps. |
20:37 | <&ToxicFrog|W`rkn> | Dammit. |
20:46 | | * ToxicFrog|W`rkn pulls out the CHAINSAW of CODE HEALTH, rocks out all over the adsense codebase |
20:48 | <@froztbyte> | please tell me you have a literal big switch on the wall |
20:48 | <@froztbyte> | which you can use for deploys |
20:48 | <&ToxicFrog|W`rkn> | I don't, but I can't swear that we don't have one somewhere. |
20:49 | <@froztbyte> | this sounds like a thing you could get a few people to allocate 20% time to ;) |
20:49 | <@froztbyte> | it wouldn't even take too long |
20:49 | <@froztbyte> | couple relay contacts, sensor points on a raspi or something, done/done |
20:49 | < Syk_> | pff |
20:49 | <&ToxicFrog|W`rkn> | I'll suggest it when I'm on release management rotation~ |
20:49 | < Syk_> | big switches are lame |
20:49 | < Syk_> | you need a big panel |
20:49 | < Syk_> | of lots of dip switches |
20:49 | <@froztbyte> | ToxicFrog|W`rkn: when's that? |
20:49 | < Syk_> | and a big button under a mechanically locked plastic shield |
20:50 | <&ToxicFrog|W`rkn> | Syk_: no, I'm pretty sure we need a bigass double knife switch that crackles dramatically and dims the lights when thrown |
20:50 | < Syk_> | you need to dramatically flick each switch, which gradually changes the room lighting |
20:50 | <@froztbyte> | Syk_: yeah what ToxicFrog|W`rkn said |
20:50 | <&ToxicFrog|W`rkn> | Maybe some kickin' rad tesla coils in there somewhere |
20:50 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Connection reset by peer] |
20:50 | < Syk_> | and then it unlocks the plastic shield |
20:50 | <@froztbyte> | you don't want 2-man deadkey setups |
20:50 | < Syk_> | which then when you hit the button, opens the safe that contains the big double knife switch |
20:50 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
20:50 | <@froztbyte> | also you don't want to do that much effort for a deploy |
20:50 | <@froztbyte> | it'd waste too much time each time |
20:50 | < Syk_> | which releases a panel on the wall which has a oven timer |
20:51 | < Syk_> | which you set to 60 |
20:51 | <&ToxicFrog|W`rkn> | And come on, that's far too reasonable |
20:51 | < Syk_> | which then releases |
20:51 | <&ToxicFrog|W`rkn> | We are all about the mad science |
20:51 | <@froztbyte> | good god |
20:51 | < Syk_> | it gives you plenty of time |
20:51 | <@froztbyte> | is Syk_'s deployment system gonna have lasers you need to dodge? |
20:51 | < Syk_> | to mull over that last commit |
20:51 | <&ToxicFrog|W`rkn> | That's not mad science, it's a rube goldberg machine |
20:52 | < Syk_> | and realise "Oh shit, I totally forgot to implement it all, and spent six weeks making this release system" |
20:52 | <@froztbyte> | sigh, I just did a bad thing |
20:53 | | * froztbyte read some security stuff again |
20:53 | | * froztbyte kljaskldjkljdkjlakjasd :( |
20:53 | < Syk_> | what security stuff |
20:53 | <&ToxicFrog|W`rkn> | Syk_: yeah that's not actually the desired end state here~ |
20:53 | <&ToxicFrog|W`rkn> | froztbyte: not sure when that is, I'm the newbie so I'm not in the usual schedule yet |
20:53 | <@froztbyte> | ToxicFrog|W`rkn: ah, k |
20:54 | <@froztbyte> | ToxicFrog|W`rkn: well, please let me know if it does happen |
20:54 | <@froztbyte> | ToxicFrog|W`rkn: I'd love to have the knowledge in my brain that I helped with such a thing, even in the vaguest sense |
20:54 | < Syk_> | froztbyte: "everything is insecure, or: buffer overflows considered'; DROP TABLE *; --" |
20:54 | <@froztbyte> | Syk_: no, worse |
20:55 | < Syk_> | dilbert's guide to selinux? |
20:55 | <@froztbyte> | Syk_: security people who take age-old good practices, reskin it as their own revelation, then spin overcomplicated pieces of shit around it |
20:55 | < Syk_> | oh |
20:55 | <@froztbyte> | (log monitoring, in this case) |
20:55 | < Syk_> | heh |
20:55 | <@froztbyte> | (or, as they call it, SIEM) |
20:55 | < Syk_> | carpe siem |
20:55 | < Syk_> | sieze the logs |
20:56 | <@froztbyte> | well, a bit more than logs |
20:56 | <@froztbyte> | but "events" |
20:56 | <@froztbyte> | https://en.wikipedia.org/wiki/Security_information_and_event_management |
20:56 | <@froztbyte> | THAT IS NOTHING NEW. THAT IS JUST CROSS-TRAINING SOME DOMAIN KNOWLEDGE. |
20:56 | <@froztbyte> | DIE, SECURITY PEOPLE. DIE. |
20:56 | < Syk_> | heh |
20:56 | | Syk_ is now known as syksleep |
20:56 | <@froztbyte> | maybe tomorrow I'll do more writing on lyam |
20:57 | <@froztbyte> | since I have nothing else to do ;p |
21:03 | <&McMartin> | froztbyte: My first experience with this was POJOs, the hot new buzzword for Not Giving A Shit About Anything |
21:03 | <@froztbyte> | I'm sad that I googled that now :( |
21:04 | <&McMartin> | Worse, it ultimately ended up meaning something in spite of itself because the Java ecosystem is so horribly polluted =( |
21:04 | <&McMartin> | (It seems to have evolved to mean "YOU HAVE REFLECTION IN THE CORE LIBRARY, ASSHOLES, YOU CAN ACTUALLY BE PYTHONIC") |
21:07 | <@froztbyte> | haha |
21:07 | <&ToxicFrog|W`rkn> | I have honestly never understood what POJOs are or why that exists as a term |
21:08 | <&ToxicFrog|W`rkn> | Unless it just means "objects without any associated bullshit that would prevent them from being Serializeable" |
21:08 | | * Alek throws out a random de-acronym. |
21:08 | <@Alek> | Python Oriented Java Objects? |
21:08 | <&McMartin> | "Plain Old" Java Objects. |
21:09 | <@Alek> | ok, I don't get it either. |
21:09 | <@Tamber> | Crapronym. |
21:09 | <&McMartin> | At the time POJO was introduced, the class of shipped business-level objects that lacked five layers of nested XML specification and IDL and &c &c &c &c &c was 0.3% at best. |
21:09 | <&McMartin> | 99.7% of it looked like Maven but worse |
21:09 | <&McMartin> | And "Hey, how about we *not* do this" was apparently met with "but my Powerpoint slides!" |
21:09 | <&ToxicFrog|W`rkn> | Oh. |
21:10 | <&ToxicFrog|W`rkn> | So it exists because of the Java enterprise software ecosystem |
21:10 | <&McMartin> | Yes |
21:10 | <&ToxicFrog|W`rkn> | This is my horrified yet utterly unsurprised face |
21:11 | <&McMartin> | Once they'd done that for a while they noticed that reflection was good for more than just interpreting your five nested layers of XML and turning it into something that actually runs; it can be used to obviate the need for the XML in the first place because *Java class binaries are self-documenting as to type, you utter twatwaffles* |
21:11 | <&McMartin> | Which in turn means you can make more Pythonic designs |
21:11 | <&McMartin> | (though not entirely since the self-documenting as to type includes argument counts and types) |
21:13 | <&McMartin> | At any rate, I distinctly recall running into the term POJO about ten years ago when it was new and they were completely upfront with "this is so that your bosses can snow *their* bosses in their PowerPoint slides" |
21:14 | <&ToxicFrog|W`rkn> | I only encountered it tangentially at BCSI, where Java was a language for filthy guihavers and thus not something I needed to care about. |
21:14 | <&ToxicFrog|W`rkn> | Mercifully. |
21:15 | <&McMartin> | (.WAR! What is it good for?) |
21:15 | <&McMartin> | (Actually, .WAR isn't so bad, it's a JAR with Tomcat configuration goo in a specified place) |
21:18 | <&ToxicFrog|W`rkn> | (in those days the graphical frontend was a Java applet, and I was about as far away from that as you can get in the stack) |
21:23 | <@gnolam> | https://twitter.com/shyhoof/status/332621356338405376 |
21:23 | <@gnolam> | "An ode to the journey of ? on a shipping label" |
21:30 | | McMartin [mcmartin@Nightstar-def98259.pltn13.sbcglobal.net] has quit [Ping timeout: 121 seconds] |
21:30 | <&jerith> | Except Java reflection is slow and horrible. |
21:31 | <&jerith> | And annoyingly limited. |
21:32 | | McMartin [mcmartin@Nightstar-1eb5ae6e.pltn13.sbcglobal.net] has joined #code |
21:32 | | mode/#code [+ao McMartin McMartin] by ChanServ |
21:32 | <&jerith> | Limited enough that you have to jump through hoops while pointing firearms at your extremities. |
21:32 | <&jerith> | For McMartin's benefit: |
21:32 | <&jerith> | 22:30 <&jerith> Except Java reflection is slow and horrible. |
21:32 | <&jerith> | 22:31 <&jerith> And annoyingly limited. |
21:38 | <&McMartin> | There is a school of thought that says that this is a feature~ |
21:39 | <&McMartin> | More seriously, it makes it mandatory to hide away the parts that actually do it so that everyone else just programs to interfaces and then Stuff Works Out. |
21:39 | <&McMartin> | It is not duck typing |
21:40 | <&jerith> | McMartin: The problem is that interfaces are the main limiting factor. |
21:41 | <&McMartin> | Yeah, this is The Argument. |
21:41 | <&jerith> | You can't interface constructors or class methods, which means you can't mandate a factory that actually constructs your object without having more objects. |
21:43 | <&jerith> | So you end up with objects that need to be created empty and then populated or an explosion of factories that must be instantiated just so you can call methods on them that do the create-and-then-populate step and verify that they'll never give you back an incomplete thing. |
21:44 | <&jerith> | This has bitten me in the past. :-/ |
21:45 | <&jerith> | I'd be less bitter about Java interfaces if they didn't make it impossible to use some of the safety features that the type system actually provides. |
21:46 | <&jerith> | Especially since you have to pay the costs of that type system anyway. |
21:51 | | Turaiel[Offline] is now known as Turaiel |
22:20 | <&McMartin> | http://www.jwz.org/blog/2013/05/i-resemble-this-remark/ |
22:21 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has quit [Ping timeout: 121 seconds] |
22:27 | < RichyB> | "I'm sure I'd be even more pissed about how awful G+ is if I actually used it, but I only log in about once a month, because it's a ghost-town. The people I actually communicate with on a regular basis all have G+ accounts but almost exclusively use Facebook instead. (The exception being my friends who are actual Google employees, and I'm sure the electrified genital cuffs have something to do with that.) " |
22:27 | < RichyB> | Also, this is really funny: https://github.com/search?q=extension%3Aphp+eval+%24_GET&type=Code&ref=searchres ults |
22:27 | < RichyB> | As is this: https://github.com/search?q=extension%3Aphp+mysql_query+%24_GET&type=Code&ref=se archresults |
22:30 | <@TheWatcher> | ... oh god |
22:30 | <@celticminstrel> | ...whaaaaat. |
22:30 | <@TheWatcher> | ;.; |
22:31 | <@froztbyte> | hahahahahaha |
22:31 | < RichyB> | TheWatcher, celticminstrel: your faces / my face: http://imgur.com/r/gifs/aocjx |
22:32 | | * Tamber giggles |
22:33 | <@froztbyte> | $commandstring = $_GET['c']? $_GET['c'] : 'admin_browse'; |
22:33 | <@froztbyte> | eval("\$command = new c_$commandstring;"); |
22:33 | <@froztbyte> | see |
22:33 | | VirusJTG [VirusJTG@Nightstar-09c31e7a.sta.comporium.net] has joined #code |
22:33 | <@froztbyte> | I know this is kinda necessary |
22:33 | <@TheWatcher> | RichyB: actually, I was more along the lines of http://cdn.crushable.com/files/2012/11/what-is-air-colbert.gif |
22:33 | <@froztbyte> | in fact, I know of some python meta built like that |
22:33 | <@froztbyte> | but in php I'm just about sure something will go wrong. |
22:34 | < RichyB> | Just use a fucking dictionary lookup like some kind of non-amateur. |
22:34 | <@froztbyte> | dic...tionary? |
22:34 | <@froztbyte> | you have written PHP, right? ;p |
22:35 | <@celticminstrel> | It's called an array. |
22:35 | <@celticminstrel> | In PHP, I mean. |
22:35 | <@froztbyte> | yeah, kinda |
22:35 | <@froztbyte> | I mean, they're actually closer to dictionaries in reality |
22:35 | <@froztbyte> | but in PHP they're just horrible. |
22:35 | <@celticminstrel> | Sure. |
22:36 | <@TheWatcher> | It's php, goes without saying it's horrible~ |
22:36 | <@froztbyte> | the first time I found out how array('1','2','3') worked vs blah['a']='1',... |
22:36 | <@froztbyte> | I was a bit sad for the rest of the day |
22:42 | < Turaiel> | If I said I liked PHP, would I be shot? |
22:43 | <@Tamber> | Only on days ending in Y. |
22:43 | < Turaiel> | I like other languages better, of course :P |
22:43 | <@Tamber> | (Alternatively: "No. Liking PHP is punishment enough.") |
22:43 | < Turaiel> | Though I don't know any languages that can be used for web development, other than PHP |
22:43 | <&jerith> | Turaiel: You'd probably be sent for a psychiatric evaluation. |
22:43 | < Turaiel> | Haven't learned Python, Ruby, or Perl yet |
22:43 | <&jerith> | Turaiel: Most of them. |
22:43 | <@Tamber> | Turaiel, depending on *how much* you want to avoid PHP, any language can. |
22:44 | <@Tamber> | ...you could do web development in Z80 assembler, if you were psychopathic enough. |
22:44 | <&jerith> | There are web frameworks for pretty much all the major languages and most of the minor one.s |
22:44 | < Turaiel> | Using any type of web framework feels like cheating |
22:45 | <&jerith> | Turaiel: Only in the same way that using a compiler or the standard library of your language is. |
22:45 | < Turaiel> | Do you have to use a framework to use something like Python for web? |
22:46 | <&McMartin> | No, you can just listen on port 80 and spit out HTTP |
22:46 | | You're now known as TheWatcher[T-2] |
22:46 | < Turaiel> | I always thought of frameworks as just adding extra functionality I could write myself |
22:46 | <&jerith> | Turaiel: You can use raw sockets and implement HTTP yourself if you really want to. |
22:46 | <@Tamber> | ...but why would you want to? ;_; |
22:46 | <&jerith> | Turaiel: See above regarding compilers and standard libraries. |
22:47 | < Turaiel> | Hm. |
22:47 | < Turaiel> | So they're actually needed for sane development |
22:47 | | ErikMesoy is now known as ErikMesoy|sleep |
22:47 | | * Tamber =.=s at sbcl. |
22:47 | <@froztbyte> | Turaiel: yes |
22:47 | < Turaiel> | I figured they'd work similarly to PHP in that you don't need to add anything to it to make it work nicely |
22:48 | <@froztbyte> | Turaiel: a mindset which PHP distinctly lacks |
22:48 | < [R]> | CGI lets you use any Lang that can access stdout and argv for web apps |
22:48 | <@froztbyte> | PHP's entire modus operandi is "shit stuff into stdout presuming it's going to the webserver" |
22:48 | < Turaiel> | So PHP really is as evil as people say |
22:48 | <@TheWatcher[T-2]> | No, it's worse~ |
22:48 | <@froztbyte> | (like, that's its legacy, where it comes from) |
22:48 | <&jerith> | Turaiel: It is really, really bad. |
22:48 | < Turaiel> | I've always written everything in PHP |
22:48 | <@froztbyte> | time to learn something else, then :) |
22:48 | <@Tamber> | Dear SBCL; Yes, well done, that *is* a correct answer; but it's not terribly helpful. If I'm using the REPL as a calculator, and do ...say, (/ 35 2), it's really not that helpful to get "35/2" back. Just a tip. |
22:49 | <@froztbyte> | if for no other reason than the mental expansion |
22:49 | <&jerith> | You can build solid, robust systems in it, but it's *hard*. |
22:49 | < Turaiel> | I intended to learn Python over the summer |
22:49 | <@froztbyte> | but you'll very quickly learn to hate PHP as soon as you learn another language |
22:49 | <@froztbyte> | almost everyone does. |
22:49 | <&jerith> | There are so many ways to screw up, and most of them are non-obvious. |
22:49 | <&McMartin> | Tamber: INFINITE PRECISION RATIONALS |
22:49 | < Turaiel> | I know other languages, just not for web |
22:50 | | You're now known as TheWatcher[zZzZ] |
22:50 | < [R]> | PHP's only flaws are security holes and bad global namespace. Everything else is subjective. |
22:50 | <@Tamber> | McM: I hardly see how that's required for "17.5"~ |
22:50 | < [R]> | I know seven languages well and still like PHP |
22:50 | <@Tamber> | (Although, that said, how is *it* supposed to know... *hm*) |
22:51 | < Turaiel> | I can work with C, C#, Java, VB, and PHP. Python is next. |
22:51 | <&jerith> | [R]: The whole standard library is broken in a variety of exciting ways. |
22:51 | <&McMartin> | Tamber: You're dividing two integers. Division on Z is in Q, not R. |
22:52 | <&jerith> | And the implicit type coersion on comparisons... *shudder* |
22:52 | < [R]> | Plenty do that... |
22:52 | <@Tamber> | McM: ...pardon? |
22:52 | < Turaiel> | Hmm |
22:53 | <@Tamber> | (I would just like to note that, when I do occasionally hammer at the keyboard until I get something that compiles, I am the sort of programmer who writes BASIC in any language~) |
22:53 | <&jerith> | [R]: Turning strings into integers for the purpose of comparison? I don't know any other languages that do that. |
22:53 | < Turaiel> | Woah. Is Java really that popular with professional programmers? o.O |
22:53 | < Turaiel> | http://www.sitepoint.com/best-programming-language-of-2013/ |
22:54 | <&McMartin> | Java is the new COBOL, more or less, for good and ill |
22:54 | < Turaiel> | I've heard that |
22:54 | < Turaiel> | Didn't really understand it |
22:54 | <&McMartin> | Tamber: If you want to work in floating point, you have to either give it floating point numbers, or you have to do operations that yield floating point results. |
22:54 | <&McMartin> | Division is not one of those operations. |
22:54 | <@Tamber> | ...ah! |
22:55 | <&McMartin> | The transitive closure of integer division (set Z = the set of integers) is the set of rationals (set Q, the set of rationals), which LISP explicitly represents. |
22:57 | <&jerith> | Turaiel: Java is spectacularly good at its design purpose, which is to allow armies of mediocre programmers collaborate on large systems after a small team of architects have defined all the interfaces. |
22:57 | < Turaiel> | Perhaps |
22:57 | < Turaiel> | What's the likelihood I'll get a job where I'm not just part of that army? |
22:57 | <&McMartin> | Depends. Are you writing for Android?~ |
22:58 | < Turaiel> | Not yet |
22:58 | < Turaiel> | I mean I don't want to be just a code monkey |
22:59 | <&McMartin> | There exist small Java teams out there, but there are better languages in that space |
23:00 | < Turaiel> | I don't particularly intend to work in Java |
23:01 | <&jerith> | Java's not really a great language for small teams of really good people. |
23:01 | < Turaiel> | I'd rather use some variant of C, personally |
23:01 | < Turaiel> | Just... not C. That's tiring. |
23:02 | <&McMartin> | Heh |
23:02 | <&McMartin> | The closest language to C I've used that is Not C (C++ Is C) is actually OCaml |
23:03 | < RichyB> | oO |
23:03 | <&McMartin> | Because there isn't much O there. |
23:03 | <&McMartin> | And it's got a lot of imperative stuff |
23:03 | < RichyB> | McMartin: I'd say Haskell is almost closer just because the C FFI is so nice. @D |
23:03 | <&McMartin> | Heh |
23:03 | <&McMartin> | OCaml is less of a conceptual leap from C than Haskell is, IMO. |
23:03 | < RichyB> | Probably. |
23:04 | < RichyB> | If you work entirely in the (ContT IO) monad and use the Foreign.* modules a lot, you can write a lot of C in Haskell. |
23:04 | <&McMartin> | A certain basic facility with the Java and .NET standard libraries is handy because a bunch of much better languages interoperate with them |
23:04 | | Vornicus [vorn@31356A.68201E.EB0611.E0094F] has joined #code |
23:05 | | mode/#code [+qo Vornicus Vornicus] by ChanServ |
23:05 | < RichyB> | Thanks to finding out that I can do that, I've mostly lost the ability to write Haskell in Haskell instead of C in Haskell. |
23:09 | < RichyB> | McMartin: I lack much of an interest in C# because of the ties to MS but yeah. |
23:09 | <&McMartin> | RichyB: Novell and Oracle have done a lot to convince me otherwise -_- |
23:09 | < RichyB> | Novell pulling you towards it, Oracle pushing you away from the JVM? :) |
23:09 | < Turaiel> | I actually like C# |
23:10 | < Turaiel> | Haaaate VB, but C# is lovely |
23:10 | < RichyB> | By all accounts it's a better programming language than Java. |
23:10 | < RichyB> | If you want something that's cheap to write fast high-level code on, at the moment you're mostly looking at one of C#, F#, Scala or Clojure. |
23:11 | < RichyB> | All those things that piggyback on other peoples' reasonably well-engineered VMs. |
23:11 | < Turaiel> | I've never heard of Scala of Closure... don't know much about F# either |
23:13 | < RichyB> | F# is a project where Microsoft ported OCaml to the .NET CLR. |
23:13 | < RichyB> | I guess I'd still rather use OCaml, though. |
23:13 | < RichyB> | Scala is an ML-family language that compiles to JVM bytecode. |
23:14 | < RichyB> | Clojure is a nice lisp with a lot of modern conveniences that runs on the JVM. |
23:14 | < Turaiel> | I've never heard of OCaml either. |
23:14 | < Turaiel> | Also another thing I would never write... ASP |
23:15 | <@celticminstrel> | Using Python for web development is pretty much the same as using Perl. |
23:16 | <@celticminstrel> | Assuming you're not using something fancy like Django. |
23:16 | <@celticminstrel> | I mean if you're using mod_python and the built-in Python cgi module / mod_perl and the built-in Perl cgi module. |
23:17 | <@celticminstrel> | They work basically the same way, which is also very similar to how PHP works (except that all your HTML needs to be quoted). |
23:17 | < Turaiel> | I keep hearing things about Django recently. Is it something new? |
23:18 | < RichyB> | It's a reasonably-nice Python framework. |
23:18 | | Reiv [NSwebIRC@Nightstar-95746c1f.kinect.net.nz] has joined #code |
23:18 | | mode/#code [+o Reiv] by ChanServ |
23:18 | < RichyB> | I think it might have 1/3 of a CMS baked into it? It comes with a lot of ORM baked in. |
23:21 | <@celticminstrel> | It's the ORM that throws me off, I think. |
23:34 | < RichyB> | There needs to be a term along the lines of "antiprogramming". |
23:34 | <@celticminstrel> | ? |
23:34 | < RichyB> | Whereas programming is the art of getting a computer to do what you want it to, sometimes the task is to get humans to explain precisely what in the name of copulation they want the computer to do. |
23:35 | <&McMartin> | "Product Management" |
23:35 | <@Tamber> | RB: I'm sure there's a term for that. "Sisyphean", I think it is~ |
23:36 | | * RichyB has just given up on another newbie on freenode. |
23:37 | < RichyB> | It's poor to have to give up, but it's vanishingly unlikely that this random stranger begging for help is ever going to yield a coherent explanation of what they want help to achieve. |
23:55 | <~Vornicus> | Idunno |
23:55 | <~Vornicus> | That second one sounds exactly like programming too. |
--- Log closed Tue May 14 00:00:45 2013 |