code logs -> 2013 -> Mon, 13 May 2013< code.20130512.log - code.20130514.log >
--- 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
code logs -> 2013 -> Mon, 13 May 2013< code.20130512.log - code.20130514.log >

[ Latest log file ]