#silverstripe IRC Log

IRC log for 4 November 2013

All timestamps are in UTC.

1: [00:00:17] * spronk quit (Read error: Connection reset by peer)
2: [00:00:37] * spronk has joined #silverstripe
3: [00:00:50] * Fernandos has joined #silverstripe
4: [00:01:04] <Fernandos> ss23: hah! gotcha!
5: [00:01:10] <ss23> fuuuck
6: [00:01:49] <Fernandos> you're from germany?
7: [00:02:09] <ss23> Nope o.o
8: [00:02:16] <ss23> New Zzealand! :D
9: [00:02:26] <Fernandos> ah, then the moin moin is popular over there too?
10: [00:02:43] <Fernandos> NZ rocks
11: [00:02:57] <ss23> :D
12: [00:03:11] <ss23> It's not popular I think, most people wouldn't know what moin means, but I think IRC does
13: [00:03:34] <Fernandos> ic. but there are many germans in nz afaik
14: [00:03:42] <ss23> Hmm
15: [00:03:47] <ss23> Not a massive amount, but there are here
16: [00:03:54] <Fernandos> yeah
17: [00:08:49] * mobiusnz`home has joined #silverstripe
18: [00:09:53] <Colin[pi]> rofl: http://i.imgur.com/GBIm9ny.gif
19: [00:10:44] <Pyromanik> dafuq is this all about?
20: [00:10:45] <Pyromanik> http://imgur.com/gallery/2MI4R
21: [00:11:28] <Pyromanik> haha Colin[pi]
22: [00:12:07] <ss23> just wait till they grow up, Pyromanik
23: [00:12:09] <ss23> and he's like
24: [00:12:25] <ss23> "I FUCKING LIED YOU'RE SHIT AT COOKING YOUR SHIT THIS IS FUCKING RAW I COULD FUCKING HAVE THIS CHICKEN WALK OFF MY FUCKING PLATE YOU IDIOT"
25: [00:12:51] <Pyromanik> ss23: fix my problem :<
26: [00:13:05] * guci0 quit (Ping timeout: 250 seconds)
27: [00:13:36] <ss23> Pyromanik: Put on some cream and go see a doctor -- a rash there isn't normal.
28: [00:13:57] <Pyromanik> what will the doctor do with a rash on my gridfield?
29: [00:14:13] <ss23> Comfort you and tell you to stop sleeping with unstable modules
30: [00:14:34] <Colin[pi]> never stick your dick in unstable modules
31: [00:14:36] <Pyromanik> itl, 3.1.1 core is an unstable module.
32: [00:14:42] <Pyromanik> til*
33: [00:16:04] <Fernandos> ಠ益ಠ what's happening here?
34: [00:16:12] <spronkey> lol
35: [00:16:22] <Pyromanik> unicode
36: [00:17:10] <Fernandos> last time I did that 20 macsters quit the channel, I was sorry, because their chat history made them quit when they tried again..
37: [00:17:14] <Pyromanik> spronkey: ss23, irogue23: Guess what today is?
38: [00:17:24] <Fernandos> well you know what character
39: [00:17:27] <ss23> Pyromanik: MONDAY!
40: [00:17:33] <Pyromanik> ss23: Notice day!
41: [00:17:34] <ss23> Less than a week till kiwicon!
42: [00:17:38] <Pyromanik> ooh
43: [00:17:39] <ss23> Ohhhhhh
44: [00:17:42] <Pyromanik> I can't afford that :<
45: [00:17:50] <ss23> :(
46: [00:17:50] <Pyromanik> I quit my job today :D
47: [00:17:55] <ss23> Pyromanik: When are you leaving?
48: [00:17:56] <ss23> Like
49: [00:17:57] <Colin[pi]> :o
50: [00:17:57] <ss23> To england
51: [00:18:01] <ss23> It's England, right?
52: [00:18:03] <spronkey> RUHROH
53: [00:18:04] <Pyromanik> yup
54: [00:18:09] <spronkey> JP disappointed, Pyro?
55: [00:18:10] <Pyromanik> December
56: [00:18:34] <Pyromanik> spronkey: he knew it was coming. I just put official notice in today. Last work day of November my last day at Plato Design.
57: [00:18:39] <spronkey> mm
58: [00:18:40] <EasyCo> Pyromanik: Poor dude. I just got back from there. What a shitty place.
59: [00:18:49] <antmas> Pyromanik: what's the plan for Engrind?
60: [00:18:56] <Pyromanik> antmas: nfi.
61: [00:18:59] <Pyromanik> work, travel.
62: [00:19:05] <ss23> live off gf's wages!
63: [00:19:05] <ss23> :D
64: [00:19:09] <Pyromanik> ss23: ha, sif.
65: [00:19:13] <Pyromanik> that'd be shit.
66: [00:19:36] <EasyCo> The castles and cool though.
67: [00:19:38] <ss23> lol
68: [00:19:42] <Pyromanik> EasyCo: yeh.
69: [00:19:53] <Pyromanik> it's a 2 year 'mobility visa'
70: [00:20:08] <Pyromanik> so I can live and work there while I travel to cooler places in the weekend.
71: [00:20:17] <ss23> cool idea for a visa, tbh
72: [00:20:18] <EasyCo> That's cool
73: [00:20:36] <antmas> jesus, that is one huge image slider :P
74: [00:20:37] <Pyromanik> the only trouble is I'm not based in London, where all the money and freedom of lifestyle seems to be :<
75: [00:20:41] <Pyromanik> antmas: ?
76: [00:20:44] <Pyromanik> on
77: [00:20:47] <Pyromanik> our website eh
78: [00:20:47] <antmas> Pyromanik: Plato :P
79: [00:20:47] <EasyCo> It's a good launching pad to the rest of europe
80: [00:20:48] <Pyromanik> :P
81: [00:20:53] <Pyromanik> EasyCo: that's the plan :D
82: [00:21:01] <Pyromanik> just need to find job so I can afford it :<
83: [00:21:12] <EasyCo> Where you going to be based?
84: [00:21:16] <Pyromanik> Durham
85: [00:21:33] <Pyromanik> up wif da jeordies! xD
86: [00:22:15] <Pyromanik> spronkey: so what do you think of the big conversation before I went to lunch?
87: [00:22:26] * antmas dreams of having a pint or 2 at lunch while working across the road
88: [00:22:26] <EasyCo> Not far from where I was!
89: [00:22:35] <spronk> hrm
90: [00:22:36] <spronk> i have to read it now
91: [00:22:51] <EasyCo> Yah, you're not exactly close to London
92: [00:23:52] <EasyCo> Atleast you're pretty much in newcastle.
93: [00:24:16] <Pyromanik> EasyCo: where were you, newcastle?
94: [00:24:22] <EasyCo> I wasn't
95: [00:24:25] <Pyromanik> Manchester?
96: [00:24:28] <EasyCo> I was just south of there about an 1:30
97: [00:24:30] <EasyCo> away
98: [00:24:32] <EasyCo> Rippon
99: [00:25:00] <Pyromanik> Ripon, North Yorkshire?
100: [00:25:05] <EasyCo> They're all cool little towns, I just got bored quickly after I'd done enough liver damage
101: [00:25:09] <EasyCo> Yep
102: [00:25:15] <Pyromanik> haha, yeh.
103: [00:25:23] <Pyromanik> I intend to do more travel than liver damage :p
104: [00:25:36] <EasyCo> Hand in hand really :)
105: [00:25:44] <Pyromanik> haha
106: [00:26:15] * UncleCheese quit (Quit: UncleCheese)
107: [00:28:20] <zippy__> wow mondays can be hard!
108: [00:28:26] <zippy__> hard to play some BF4 at lunch...! ;-)
109: [00:28:45] <Pyromanik> wait, bf4 is already out?
110: [00:28:51] <zippy__> yea friday
111: [00:28:54] <Pyromanik> ha
112: [00:29:02] <Pyromanik> just as shit as 3? or worse?
113: [00:29:16] <zippy__> Just did some multiplayer, havn't done the single yet
114: [00:29:25] <Pyromanik> BF IS MP.
115: [00:29:28] <zippy__> I think the multiplayer if 4 is better then 3
116: [00:29:33] <zippy__> no, it has singleplayer as well
117: [00:29:45] <zippy__> *campaign
118: [00:29:50] <Pyromanik> yeah, acronyms really fucked up that emphasis.
119: [00:29:54] <Pyromanik> bf IS mp.
120: [00:30:24] <zippy__> 91$ from the red shed, not to bad
121: [00:30:25] <spronk> Pyromanik: so, SRP on activerecord doesn't really have anything to with the persistence method coupling
122: [00:30:25] * pippy_ has joined #silverstripe
123: [00:30:26] <spronk> that's just coupling
124: [00:30:52] <Pyromanik> zippy__: I entirely regret the $100 I spent on 3.
125: [00:30:53] <spronk> it's all about the fact that merely having behaviour of save/load associated directly with a model object is multiple responsibility
126: [00:31:00] <Pyromanik> like, 120% regret.
127: [00:31:06] <spronk> it makes sense if your model *is* a repository
128: [00:31:25] <Pyromanik> spronk: when is it not?
129: [00:31:39] <spronk> Person is not a repository
130: [00:31:57] <spronk> Person, as a pure model, should be the collection of behaviour and contracts associated with persons
131: [00:31:58] <Pyromanik> and if it is, why is save/load a dual responsibility?
132: [00:32:01] <spronk> you can't store a person
133: [00:32:09] <spronk> but you can ask for their name
134: [00:32:10] <zippy__> spronk: interesting... I've been reading the creator of Laravels book and he suggests creating a repository type class to deal with the DB / loading saving etc
135: [00:32:15] <Pyromanik> yeah, I'
136: [00:32:21] <Pyromanik> m not totally following
137: [00:32:38] <Pyromanik> you can't store a person?
138: [00:32:39] <spronk> person->save() is not something that you do to a person
139: [00:32:43] <spronk> in the real world
140: [00:32:50] <Pyromanik> member->save() is
141: [00:32:55] * pippy quit (Ping timeout: 272 seconds)
142: [00:33:01] <spronk> eh?
143: [00:33:15] <Pyromanik> every singe place in the entire world keeps records on people
144: [00:33:21] <spronk> yes
145: [00:33:23] <spronk> but that's not the person
146: [00:33:26] <spronk> that's the place keeping records
147: [00:33:27] <spronk> i.e.
148: [00:33:29] <Pyromanik> it's a membership?
149: [00:33:30] <spronk> place->save(Person)
150: [00:33:38] <Pyromanik> right
151: [00:33:40] <Pyromanik> ok
152: [00:33:41] <spronk> it's not person->saveAt(Place)
153: [00:33:48] <Pyromanik> how do you define that person?
154: [00:33:58] <Pyromanik> in the real world they're eternally persistent in memory
155: [00:34:03] <Pyromanik> as opposed to being stateless.
156: [00:34:07] <spronk> that's the point
157: [00:34:09] <spronk> model the real worl
158: [00:34:10] <spronk> d
159: [00:34:17] <spronk> the Person object should just assume it's eternally persistent
160: [00:34:20] <Pyromanik> but web is not the real world.
161: [00:34:23] <spronk> if it isn't, something *else* should handle that
162: [00:34:40] <Pyromanik> wow that sounds fucked up
163: [00:34:47] <spronk> otherwise the person object has two responsibilities - 1) doing the person stuff, and 2) figuring out how to persist itself
164: [00:34:49] <antmas> http://www.kotaku.com.au/2013/11/app-deals-of-the-day-android-iphone-ipad-windows-phone-207/
165: [00:35:11] <Pyromanik> spronk: so bascially it is to do with persistence method coupling.
166: [00:35:16] <spronk> you can do activerecord quite nicely, but it's always a violation of SRP
167: [00:35:39] <spronk> it's all about the ownership of behaviour
168: [00:35:56] <Pyromanik> how would one generate a person if their data isn't kept somewhere?
169: [00:36:11] <spronk> well that's besides the point
170: [00:36:12] <unsignedint> new Person()
171: [00:36:17] <unsignedint> who cares if its persisted or not
172: [00:36:22] <Pyromanik> unsignedint: yes, but it's name, etc.
173: [00:36:33] <unsignedint> new Person()->setName("Pyromanik")
174: [00:36:35] <Pyromanik> how do you set it if you don't have a stored record for that person?
175: [00:36:35] <spronk> ok
176: [00:36:42] <spronk> here's a way to think about this
177: [00:36:45] <Pyromanik> unsignedint: yes, but where did "Pyromanik" come from?
178: [00:36:58] <spronk> what would you do if your program just ran in memory, all the time, with no storage?
179: [00:37:07] <unsignedint> new Person()->setName(Input::get("name")); - it came from the form data :P
180: [00:37:09] <Pyromanik> factory? that's bascially what ActiveRecord is
181: [00:37:40] <Pyromanik> spronk: well you'd have a fucking great cache of objects
182: [00:37:51] <spronk> no you wouldn't
183: [00:37:54] <Pyromanik> collections?
184: [00:38:04] <spronk> you'd have $joe = new Person() either as $joe, or as a popinter in some collection
185: [00:38:16] <Pyromanik> collection/cache
186: [00:38:19] <spronk> in neither case does joe need to know anything about the collection, or $joe
187: [00:38:36] * pippy_ quit (Ping timeout: 240 seconds)
188: [00:38:38] <spronk> so why, when we need to introduce persistent storage, should joe know anything about persistence?
189: [00:38:51] <spronk> that should be some other thing's responsibility
190: [00:38:58] <spronk> like a PersistenceRepository
191: [00:39:08] <spronk> or a DataAccessObject
192: [00:39:09] <Pyromanik> spronk: so what's the difference say, if the persistence was a decorator pattern?
193: [00:39:20] <spronk> well, the lines blur a bit
194: [00:39:21] <Pyromanik> where joe was wrapped in a decorator that knows about save, and such?
195: [00:39:42] <spronk> you need to knida think about the smalltalk definition of an object to understand this case
196: [00:39:50] <unsignedint> as soon as joe is wrapped, SRP is violated? now joe is a new object that is a Joe and also knows about persistence?
197: [00:39:55] <Pyromanik> which effectively creates an active record, without joe knowing jack shit about persistence?
198: [00:40:03] <spronk> where an "object" is effectively the sum total of everything encompassed within
199: [00:40:08] <spronk> subclasses, decorators, etc
200: [00:40:12] <Pyromanik> unsignedint: ah, but it's not. Because it's 2 objects.
201: [00:40:24] <spronk> Pyromanik: but Joe still has to have a reference to the decorator somehow
202: [00:40:33] <unsignedint> indeed
203: [00:40:38] <Pyromanik> spronk: nah, the decorator has a reference to Joe
204: [00:40:45] * pippy has joined #silverstripe
205: [00:41:01] <Pyromanik> it's a proper decorator, not a mixin.
206: [00:41:02] <spronk> well, yeah, bgut then it's no longer activerecord
207: [00:41:03] <unsignedint> I always hated Silverstripes decorator pattern, seemed like a poor attempt at multiple inheritance
208: [00:41:12] <Pyromanik> spronk: but you could use it like one.
209: [00:41:23] <Pyromanik> unsignedint: it's not actually a decorator pattern, is why.
210: [00:41:27] <Pyromanik> it's a mixin.
211: [00:41:35] <spronk> yeah you could
212: [00:41:47] <Pyromanik> and it wouldn't violate srp?
213: [00:41:52] <spronk> the other aspect of this is thinking about how you define the persistence
214: [00:42:07] * Fernandos has left #silverstripe
215: [00:42:09] <spronk> if there are specific aspects of Joe that are uniquely persisted, what is responsible for definnig how that works?
216: [00:42:15] <spronk> is it Joe? or is it a special case decorator?
217: [00:43:03] <Pyromanik> special case?
218: [00:43:54] <Pyromanik> eg?
219: [00:44:48] <spronk> let's say joe is unlike other objects in that part of his data is stored via a rest API
220: [00:45:43] * pippy_ has joined #silverstripe
221: [00:46:00] <Pyromanik> ah yeh
222: [00:46:05] <spronk> either way
223: [00:46:05] <Ryan-Toast> My $db array is causing a [Notice] Array to string conversion error.
224: [00:46:14] <Ryan-Toast> Getting on my tits
225: [00:46:19] <spronk> it becomes a Data Mapper if you decorate and have *all* the persistence functionality outside the Person object
226: [00:46:21] <Pyromanik> Ryan-Toast: doubt it's your $db
227: [00:46:36] <Ryan-Toast> I dislike 2.4
228: [00:46:42] <spronk> activerecord is the pattern that defines explicitly that the data and behaviour couple
229: [00:46:56] <Ryan-Toast> Pyromanik: when I remove it, the site builds.
230: [00:47:03] <Pyromanik> spronk: hmm, seems like a shit pattern when you lay it out like that though.
231: [00:47:06] <spronk> Ryan-Toast: this isn't 2.4.10 or something on php5.4?
232: [00:47:10] <spronk> Pyromanik: it's a compromise pattern
233: [00:47:13] <Pyromanik> Ryan-Toast: paste then.
234: [00:47:17] <spronk> as is the other way around
235: [00:47:23] <spronk> in simple implementations, activerecord is a whole lot less code
236: [00:47:30] <Pyromanik> tis true.
237: [00:47:38] <Pyromanik> but seems to limit expansion.
238: [00:47:38] <Ryan-Toast> <?php
239: [00:47:39] <Ryan-Toast> class VideoTourPage extends Page {
240: [00:47:41] <Ryan-Toast> static $db = array(
241: [00:47:42] <Ryan-Toast> 'TopVideoLeft' => 'Varchar',
242: [00:47:44] <Ryan-Toast> 'TopVideoRight' => 'Varchar',
243: [00:47:45] <Ryan-Toast> 'Video1' => 'Varchar',
244: [00:47:47] <Ryan-Toast> 'Video2' => 'Varchar',
245: [00:47:48] <Ryan-Toast> 'Video3' => 'Varchar',
246: [00:47:50] <Ryan-Toast> 'Video4' => 'Varchar',
247: [00:47:51] <Ryan-Toast> 'Video5' => 'Varchar',
248: [00:47:53] <Ryan-Toast> 'Video6' => 'Varchar',
249: [00:47:53] <Pyromanik> dafuq.
250: [00:47:54] <Pyromanik> dudue.
251: [00:47:55] <Ryan-Toast> 'Video7' => 'Varchar',
252: [00:47:56] <Ryan-Toast> );
253: [00:47:57] <Pyromanik> duuuuuude.
254: [00:47:57] <Ryan-Toast> static $has_one = array(
255: [00:47:58] <spronk> use a pastebihn
256: [00:47:59] <Ryan-Toast> 'VideoMapImage' => 'Image'
257: [00:48:00] <Ryan-Toast> );
258: [00:48:02] <Ryan-Toast> public function getCMSFields() {
259: [00:48:03] * pippy quit (Ping timeout: 246 seconds)
260: [00:48:03] <Ryan-Toast> $fields = parent::getCMSFields();
261: [00:48:05] <Ryan-Toast> /* =============================================
262: [00:48:06] <Ryan-Toast> * Top Videos
263: [00:48:08] <Ryan-Toast> ==============================================*/
264: [00:48:09] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('TopVideoLeft', 'Top Video Left'));
265: [00:48:11] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('TopVideoRight', 'Top Video Right'));
266: [00:48:12] <Ryan-Toast> /* =============================================
267: [00:48:13] * spronk waits.
268: [00:48:13] <Colin[pi]> :(
269: [00:48:14] <Ryan-Toast> * Videos
270: [00:48:15] <Ryan-Toast> ==============================================*/
271: [00:48:17] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video1', 'Video 1'));
272: [00:48:18] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video2', 'Video 2'));
273: [00:48:19] <Colin[pi]> make it stop
274: [00:48:20] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video3', 'Video 3'));
275: [00:48:21] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video4', 'Video 4'));
276: [00:48:22] <ss23> .op
277: [00:48:23] * ss23 has left #silverstripe
278: [00:48:23] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video5', 'Video 5'));
279: [00:48:23] * ss23 has joined #silverstripe
280: [00:48:24] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video6', 'Video 6'));
281: [00:48:25] <Pyromanik> oh wow
282: [00:48:26] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new TextField('Video7', 'Video 7'));
283: [00:48:27] <Ryan-Toast> /* =============================================
284: [00:48:29] <Ryan-Toast> * Map Image
285: [00:48:29] <ss23> fuck
286: [00:48:30] <Ryan-Toast> ==============================================*/
287: [00:48:32] <Ryan-Toast> $fields->addFieldToTab('Root.Content.Main', new ImageField('VideoMapImage', 'Map Image'));
288: [00:48:33] <Ryan-Toast> return $fields;
289: [00:48:34] <ss23> WHERE THE FUCK IS MY OP
290: [00:48:35] <Ryan-Toast> }
291: [00:48:36] <Ryan-Toast> }
292: [00:48:41] * Colin[pi] cheers
293: [00:48:44] <ss23> Don't worry guys, I got this.
294: [00:48:45] * spronk cheeeers
295: [00:48:46] <Pyromanik> whep
296: [00:48:54] <Pyromanik> ss23: you should haev supplied a reason
297: [00:49:00] <spronk> he did
298: [00:49:01] * Ryan-Toast has joined #silverstripe
299: [00:49:03] <spronk> Ryan-Toast.
300: [00:49:03] <ss23> lol
301: [00:49:05] <micmania1> oh man, I was waiting to see what happened to Joe? :(
302: [00:49:08] <ss23> Ryan-Toast: Sorry, you were spamming :(
303: [00:49:12] <Ryan-Toast> My bad, guys :)
304: [00:49:19] <Pyromanik> yes, yes it was.
305: [00:49:24] <Colin[pi]> Ryan-Toast: post the code to sspaste.com for the love of dog
306: [00:49:24] <Ryan-Toast> http://pastebin.com/rx5KmPiP
307: [00:49:26] <Pyromanik> sspaste.com
308: [00:49:27] <Colin[pi]> or there
309: [00:49:55] <Pyromanik> see now I don't know what the error is anymore :<
310: [00:50:00] <spronk> yeah..
311: [00:50:07] <spronk> Ryan-Toast: is this 2.4.10 or lower on php5.4?
312: [00:50:21] <Ryan-Toast> 5.5 I believe
313: [00:50:21] <ss23> Ha ha, I have op now
314: [00:50:23] * ss23 looks around
315: [00:50:26] <spronk> yeah
316: [00:50:27] <ss23> Who to pick on, who to pick on...
317: [00:50:34] <ss23> ss23 giveth
318: [00:50:35] <spronk> 2.4 doesn't officially support 5.4 or higher
319: [00:50:35] * pippy_ quit (Ping timeout: 260 seconds)
320: [00:50:40] <Colin[pi]> ss23: with great power comes great responsibility :D
321: [00:50:41] <spronk> 2.4 doesn't officially support 5.4 or higher
322: [00:50:41] <ss23> SS23 TAKETH AWAY.
323: [00:50:46] * pippy has joined #silverstripe
324: [00:50:48] <ss23> Colin[pi]: The responsibility to bully you all, right?
325: [00:50:50] <ss23> Right?! :D
326: [00:50:53] <spronk> lol ss23
327: [00:50:58] <ss23> Anyway, lunch time!
328: [00:50:58] <Ryan-Toast> Sooo, I'm just fucked then?
329: [00:51:02] <spronk> Ryan-Toast: i suggest upgrading to latest 2.4.x
330: [00:51:06] <spronk> .11 seems to work ok on 5.4 or 5.5
331: [00:51:17] <Ryan-Toast> I hate legacy sites so much.
332: [00:51:27] <Pyromanik> spronk: wrong, supports 5.4 with 2.4.10+ iirc
333: [00:51:36] <ss23> I thought 2.4 worked with 5.3?
334: [00:51:40] <Ryan-Toast> Whomever made this must have been on crack, seriously.
335: [00:51:42] <Pyromanik> it does
336: [00:51:45] <ss23> oic
337: [00:51:46] <ss23> we're oging *up*
338: [00:51:58] <Pyromanik> Ryan-Toast: remove trailing , from array maybe? dunno
339: [00:52:51] <Ryan-Toast> I can build other classes, just not this one. Oddly enough.
340: [00:54:22] <Ryan-Toast> Pyromanik: No dice :(
341: [00:54:54] <Pyromanik> Ryan-Toast: you'll probably find somewhere ex dev was trying to plonk stat('db') into something that expects a string.
342: [00:54:57] <Pyromanik> also
343: [00:55:12] <Pyromanik> if it's giving you an error it'll be giving you a stack trace, which will point you to exactly where the issue is.
344: [00:55:17] <Pyromanik> pastie that if you want a hint.
345: [00:55:33] * pippy quit (Ping timeout: 245 seconds)
346: [00:55:34] <Ryan-Toast> Notice: Array to string conversion in /home/spaceships/sapphire/dev/Backtrace.php on line 134
347: [00:55:42] <unsignedint> YAY SPACESHIPS
348: [00:55:43] <Pyromanik> no, the rest of it.
349: [00:55:45] * pippy has joined #silverstripe
350: [00:56:13] <Ryan-Toast> http://pastebin.com/8qezeB0M
351: [00:57:10] <unsignedint> I found upgrading SS 2.4 to latest version of SS 2.4 fixed heaps of crap like that
352: [00:57:58] <Ryan-Toast> Do I just replace the framework folder?
353: [00:58:31] <unsignedint> sapphire/ and cms/ iirc
354: [00:58:37] <Pyromanik> SS_Database->requireIndex(VideoTourPage_versions,RecordID_Version,Array)
355: [00:58:38] <Pyromanik> Line 327 of Database.php
356: [00:59:15] <Pyromanik> careful Ryan-Toast, if previous dev was as clueless as you say, could be some core edits.
357: [00:59:29] <Pyromanik> dev build might start working, but other parts of the site might break
358: [00:59:51] <Ryan-Toast> ...great.
359: [01:00:30] <spronk> eh?
360: [01:00:33] <antmas> Ryan-Toast: do you have many modules or much customisation going on?
361: [01:00:35] <Pyromanik> public
362: [01:00:37] <Pyromanik> # requireIndex( string $table, string $index, string|boolean $spec )
363: [01:00:44] <spronk> just update to 2.4.11
364: [01:00:45] <unsignedint> tell client that they can pay you to upgrade the site to SS 3.1
365: [01:00:46] <spronk> or whatever is latest
366: [01:00:57] <Pyromanik> see, last param is string, you're passing array according to dump.
367: [01:01:22] <Ryan-Toast> It's module soup up in this bitch.
368: [01:02:00] <Pyromanik> var dump here: http://api.silverstripe.org/2.4/source-class-SS_Database.html#362
369: [01:02:04] <Pyromanik> see what the array is
370: [01:02:25] <Pyromanik> if(is_array($spec))die(var_dump($spec));
371: [01:02:30] <spronk> i'm pretty sure this is just a result of php>5.3 explicitly disallowing array to string conversion
372: [01:02:35] <spronk> and is fixed in .11
373: [01:02:48] <Pyromanik> what does an array convert to?
374: [01:02:56] <spronkey> ?
375: [01:02:57] <Ryan-Toast> So I should upgrade to .11?
376: [01:03:01] <Pyromanik> implode(', ', $arr) ?
377: [01:03:05] <spronkey> upgrade to whatever the latest 2.4.x is
378: [01:03:12] <Ryan-Toast> Just the sapphire folder?
379: [01:03:13] <spronkey> there are security fixes too, so its worth doing regardless
380: [01:03:15] <spronkey> sapphire and cms
381: [01:03:18] <spronkey> should be a drop in replacement
382: [01:03:19] <Ryan-Toast> kk
383: [01:03:23] <Ryan-Toast> Hopefully.
384: [01:03:29] <Ryan-Toast> thanks, you two.
385: [01:03:32] <Ryan-Toast> Will report back.
386: [01:03:33] <spronkey> you *may* have issues with modules, but... there weren't many api changes
387: [01:03:36] <antmas> Pyromanik: one, you won't be able to flush any cache
388: [01:03:39] <Ryan-Toast> With either tears or smiles.
389: [01:03:56] <Ryan-Toast> ugh.
390: [01:04:03] <Ryan-Toast> We shall see.
391: [01:04:12] <Ryan-Toast> Otherwise I'm just rebuilding this mother fucker.
392: [01:04:48] <spronk> famous last words
393: [01:04:53] <Pyromanik> antmas: what?
394: [01:05:07] <antmas> Pyromanik: just thinking of the array to string conversion
395: [01:05:11] <antmas> from b4
396: [01:05:23] <Pyromanik> Ryan-Toast: don't forget to back up first
397: [01:05:33] <Ryan-Toast> Pyromanik: Doing that atm.
398: [01:05:41] <Ryan-Toast> -tar that shiot
399: [01:05:57] * pippy quit (Ping timeout: 240 seconds)
400: [01:06:01] <antmas> rebuild the old site, reapply the theme, throw modules in, done. EASY AS THAT
401: [01:06:04] <antmas> NO PROBLEMS
402: [01:06:17] <Ryan-Toast> It has...subsites
403: [01:06:18] <antmas> :D
404: [01:06:27] <antmas> Ryan-Toast: ask spronk
405: [01:07:07] <Ryan-Toast> What's the best way to handle different domains using the same cmd for different countries out of curiosity.
406: [01:07:12] <Ryan-Toast> Is it still subsites?
407: [01:07:15] * UncleCheese has joined #silverstripe
408: [01:07:16] <spronk> ohhh fuck
409: [01:07:25] <spronk> it's
410: [01:07:26] <antmas> XD
411: [01:07:29] <spronk> find another waty.
412: [01:07:30] <spronk> way*
413: [01:07:38] <Ryan-Toast> Any suggestions?
414: [01:07:45] <spronk> convince client to separate sites
415: [01:07:49] <Pyromanik> guys
416: [01:07:49] <spronk> nah
417: [01:07:51] <spronk> subsites is ok
418: [01:07:54] <spronk> as long as the sites share NO content
419: [01:07:54] <Pyromanik> give me your best programming joke!
420: [01:07:58] <Pyromanik> kgo!
421: [01:08:05] * pippy has joined #silverstripe
422: [01:08:20] <ss23> Pyromanik: A programmer sees a problem and decides to solve it he'SEGMENTATION FAULT
423: [01:08:34] <peter_ss> guys in my custom GridFieldComponent I have a template i can't find the template file it is still looking to the template folder
424: [01:08:53] <Pyromanik> ss23: :< pretty lame.
425: [01:08:54] <Ryan-Toast> They would share 8-% of the same content, but have slight differences.
426: [01:08:58] <Ryan-Toast> 80% **
427: [01:09:25] <ss23> lol
428: [01:09:26] <Ryan-Toast> A wife asked her husband to get milk while he was out, he never returned.
429: [01:09:36] <spronk> pyro:
430: [01:09:38] <spronk> Knock knock
431: [01:09:38] <ss23> Pyromanik: The better version is better
432: [01:10:05] <Pyromanik> spronk: who's there?
433: [01:10:05] <ss23> Pyromanik: A programmer saw a problem and decided to solve it he would use threads. problems. Now has two he
434: [01:10:11] <ss23> JAVA
435: [01:10:23] <Pyromanik> Java da hutt?
436: [01:10:33] <spronk> ss23 ruined it.
437: [01:10:38] * spronk was gonig to answer Java in about 5 minute's time
438: [01:10:46] <Pyromanik> hahah
439: [01:11:03] * wilr_ quit (Quit: wilr_)
440: [01:11:08] <spronk> substitute with your fav uber slow tech
441: [01:11:08] <ss23> lol
442: [01:11:17] <Pyromanik> switch($time){case '10am': case '3pm': break;
443: [01:11:24] <spronk> there's also that
444: [01:11:36] <Pyromanik> give me more code based jokes
445: [01:11:58] <ss23> Pyromanik: ohhh
446: [01:12:00] <ss23> I have a good one
447: [01:12:41] <Pyromanik> kgo
448: [01:12:46] <ss23> finding it!
449: [01:12:54] <spronk> there are only two hard things in programming: cache invalidation, naming things, and off by one errors
450: [01:13:17] <ss23> fuck
451: [01:13:19] <ss23> I can't find a good link!
452: [01:13:42] <antmas> code based jokes -_-
453: [01:13:47] <antmas> only on Monday
454: [01:14:09] <ss23> antmas: http://instacod.es/file/77164
455: [01:14:11] <ss23> fuck
456: [01:14:11] <ss23> Pyromanik: http://instacod.es/file/77164
457: [01:14:20] <Pyromanik> 14:12 < spronk> there are only two hard things in programming: cache invalidation, naming things, and off by one errors
458: [01:14:25] <Pyromanik> I gave that one out the other day.
459: [01:14:31] <Pyromanik> in this very channel!
460: [01:14:45] <spronk> haha
461: [01:15:10] <antmas> ok that wasn't bad :P
462: [01:15:22] <Pyromanik> haha
463: [01:15:22] <ss23> Pyromanik: funny code joke desu?
464: [01:15:29] * mirrors has joined #silverstripe
465: [01:15:41] <Pyromanik> tokidoki desu.
466: [01:15:47] <Pyromanik> desuka!
467: [01:15:49] <Pyromanik> fool
468: [01:16:08] <mirrors> Hey in an extension of a DataObject how can I get access to $iteratorPos
469: [01:16:27] <ss23> Pyromanik: u make me dokidoki~
470: [01:16:40] <mirrors> i want to override the MultipleOf function or similar
471: [01:16:56] <spronkey> that's a list function no?
472: [01:17:10] <mirrors> its a function in SSViewer.php
473: [01:17:20] <Pyromanik> lol, teh googles
474: [01:17:21] <Pyromanik> http://www.devtopics.com/wp-content/uploads/2008/05/comic.jpg
475: [01:17:40] <Pyromanik> ss23: tokidoki is sometimes.
476: [01:18:23] <mirrors> spronkey: in SS 2.4 I was able to Debug::show($this->iteratorPos) in a dataobject...not anymore
477: [01:19:03] <ss23> mirrors: Does that property still exist? Can you do $this->owner->iteratorPos?
478: [01:19:09] <ss23> Pyromanik: I actually know a bit of japaneses
479: [01:19:10] <ss23> like
480: [01:19:14] <ss23> "itaii" is "it feels good"
481: [01:19:17] <ss23> and "oniichan" means lover
482: [01:19:24] <ss23> yamette == keep doing it
483: [01:19:55] <guzzlefry> I see you learned just enough.
484: [01:20:03] <peter_ss> is there anyreason my custom module can't find the template even if have tempaltes folder and the template file?
485: [01:20:14] <Ryan-Toast> IT LIVES!
486: [01:20:24] <UncleCheese> has anyone ever experienced /Security/login showing a lost password form instead of login form?
487: [01:20:35] <ss23> UncleCheese: hmmmm, nope ever!
488: [01:20:45] <ss23> Did you flush, Pyromanik?
489: [01:20:46] <ss23> peter_ss*
490: [01:20:54] <UncleCheese> it's very odd.. not cookie related.. happens on every computer/browser
491: [01:21:01] <ss23> UncleCheese: Public site we can look at?
492: [01:21:06] <mirrors> ss23: adding ->owner does not help....iteratorPos is defined in SSViewer...i dont know how I was able to access it in a DataObject in SS2.4 before
493: [01:21:12] <peter_ss> ss23 yes serveral times already
494: [01:21:12] <peter_ss> :D
495: [01:21:16] <spronk> totemo itaii desu
496: [01:21:17] <UncleCheese> https://z.co.nz/Security/login
497: [01:21:24] <ss23> totemo I don't know
498: [01:21:40] <ss23> UncleCheese: I don't know, but that seems like a handy client to have -- I'MA POACH THE SHIT OUT OF THEM
499: [01:22:00] <UncleCheese> yeah, it's a pretty fun site.. we just released a mobile version
500: [01:22:02] <Pyromanik> Q: How do you tell an introverted computer scientist from an extroverted computer scientist?
501: [01:22:03] <UncleCheese> pretty cool client
502: [01:22:05] <Pyromanik> A: An extroverted computer scientist looks at your shoes when he talks to you.
503: [01:22:06] <ss23> UncleCheese: Looks like it's using static cache
504: [01:22:12] <UncleCheese> oooh!
505: [01:22:16] <ss23> UncleCheese: Looks like it's using static cache, check something there
506: [01:22:27] <ss23> hmm
507: [01:22:29] <ss23> looks unrelated to static cache
508: [01:22:47] <spronk> totemo = very
509: [01:22:49] <ss23> UncleCheese: Though... it's responding with a cookie of "bypassStaticCache=delete" for some reason
510: [01:23:14] <ss23> goddam it UncleCheese
511: [01:23:15] <ss23> I fixed it for you
512: [01:23:16] <ss23> :/
513: [01:23:22] <UncleCheese> WHAAAA??
514: [01:23:25] <ss23> UncleCheese: DID YOU FLUSH, HUH?!
515: [01:23:33] <UncleCheese> i did, i did i did
516: [01:23:34] <UncleCheese> so many times
517: [01:23:44] <ss23> UncleCheese: It works now, right?
518: [01:23:45] <Ryan-Toast> Pyro: Spaceships is working :)_
519: [01:23:48] <Ryan-Toast> :) **
520: [01:24:12] <UncleCheese> now /lostpassword doesn't work :)
521: [01:24:14] <ss23> lol
522: [01:24:30] <ss23> UncleCheese: Well, going from this, it does seem like a caching issue of some kind
523: [01:25:30] <ss23> UncleCheese: I would start by removing the static cache layer, then upgrade to a newer version of SS if you can (looks like it's not running latest for sure)
524: [01:25:32] <UncleCheese> yeah, i bet it's some heyday caching handiwork
525: [01:25:46] <UncleCheese> damn it. now i have to buy ss23 a beer
526: [01:26:06] <ss23> Oh REALLY UncleCheese?!
527: [01:26:09] <ss23> I'll PM you
528: [01:26:42] <ss23> but yes, beer sounds good (and/or lunch, I'm not fussy!)
529: [01:27:40] <Pyromanik> my favourite part is how it highlights all the spoken phrase: http://sspaste.com/paste/show/5276f61565c1c
530: [01:28:49] <EasyCo> Haha, awesome
531: [01:30:11] * wilr_ has joined #silverstripe
532: [01:30:27] <mirrors> ss23: iteratorPos was taken out of ViewableData..php and added to SSViewer.php...that is why I cannot access it anymore
533: [01:30:29] <spronk> zomg
534: [01:30:32] * ss23 clicks
535: [01:30:34] <spronk> unclecheese bork a live site!
536: [01:30:34] <ss23> DEPLOY TO LIVE!
537: [01:30:41] <ss23> mirrors: Yay! That was fun, I was right, I was right! :D
538: [01:33:54] <mirrors> i wonder if there is still a way i can get that information
539: [01:35:45] <mirrors> UncleCheese: did you ever get around this problem
540: [01:35:45] <mirrors> https://groups.google.com/forum/#!topic/silverstripe-dev/DVBtzkblZqA
541: [01:38:19] <UncleCheese> yeah
542: [01:38:27] <UncleCheese> not specifically that, but i can send you an example
543: [01:38:45] <mirrors> that would be amazing...i am so stuck
544: [01:41:30] <UncleCheese> here's an example of a custom iterator function that gets the inverse position of an item
545: [01:41:46] <UncleCheese> so that <% loop %>$ReversePos<% end_loop %> returns 10, 9, 8, 7...
546: [01:41:51] <UncleCheese> http://sspaste.com/paste/show/5276f94bbfd1f
547: [01:42:07] <UncleCheese> the mere existence of a class that implements TemplateIteratorProvider is all that needs to happen IIRC
548: [01:43:44] * kerosene quit (Quit: bbl)
549: [01:44:08] <mirrors> oh right i was about to ask how does that get added ...but you say it just existing adds it?
550: [01:44:17] <mirrors> awesome thanks so much
551: [01:48:16] * wilr_ quit (Quit: wilr_)
552: [01:48:43] * DigNZ has joined #silverstripe
553: [01:48:58] <UncleCheese> yeah, just flush your manifest and i believe you're granted those methods automagically
554: [01:49:18] * wilr_ has joined #silverstripe
555: [01:56:52] * howardgrigg has joined #silverstripe
556: [02:01:37] <guzzlefry> fuuuu css
557: [02:02:02] <Colin[pi]> http://bethesignal.org/wp-content/uploads/2009/06/css-is-awesome-700x375.jpg
558: [02:02:16] <UncleCheese> nice one https://github.com/silverstripe/silverstripe-framework/pull/2637/files
559: [02:02:33] <guzzlefry> Applied padding to a <tr>, nothing seems to happen.
560: [02:06:51] <guzzlefry> hm
561: [02:07:04] <guzzlefry> $casting should cast custom getters to that type, correct?
562: [02:07:48] <guzzlefry> oh
563: [02:08:10] <guzzlefry> I hit some weird quirk.
564: [02:09:07] <guzzlefry> method is getTotalPrice(), cast was "TotalPrice" => "Currency", but the variable in the template was $totalPrice, which pulled the currect value, but wasn't casting due to being lowercase.
565: [02:09:30] <Ryan-Toast> you can't give <tr>'s padding.
566: [02:09:49] <Ryan-Toast> you have to give it to the td's
567: [02:10:05] <unsignedint> hey does anyone know how I can get an instance of the LoginForm in the template? I have a menu with a dropdown for logging in (ie, the login form is on every page) and I want the form to render but creating a method called getLoginForm() { return new Security()->LoginForm(); } and calling $LoginForm in the template does nothing
568: [02:10:44] <guzzlefry> unsignedint: I don't think you need that method.
569: [02:10:51] <guzzlefry> Just called $LoginForm in the template.
570: [02:10:56] <guzzlefry> And maybe add it to allowed actions.
571: [02:10:57] <unsignedint> really?
572: [02:11:01] <guzzlefry> 80% sure
573: [02:11:20] <ss23> "The deciding of which pages have their cache cleared when is a non-deterministic process."
574: [02:11:23] <ss23> does this sound wrong?
575: [02:11:33] <Ryan-Toast> guzzlefry: did you end up styling the td instead?
576: [02:11:36] <ss23> In my mind it sounds right, but I feel like most people will interpret the "where" not how I want it
577: [02:11:48] <guzzlefry> Ryan-Toast: No, but it looks like I should be.
578: [02:11:51] <unsignedint> guzzlefry: it outputs nothing
579: [02:11:51] <guzzlefry> According to stackexchange.
580: [02:12:10] <Ryan-Toast> guzzlefry: Yeah, you can't add margins or padding to TR's they're generated by the browser.
581: [02:12:11] <guzzlefry> unsignedint: I'm sure it's in the logs, look for $LoginForm.
582: [02:12:37] <Ryan-Toast> guzzlefry: well the width/height is, you need to add padding to your table rows.
583: [02:13:24] <guzzlefry> ss23: "Cache invalidation of pages is non-deterministic"?
584: [02:13:50] <ss23> that says it, but for non technical user, I wanted to be like "which means you don't know when it'l happen"
585: [02:14:05] <guzzlefry> oh
586: [02:14:06] <guzzlefry> hm
587: [02:15:15] <guzzlefry> "When a page has it's cache cleared is unpredictable"? :P
588: [02:15:16] <guzzlefry> maybe
589: [02:15:21] <guzzlefry> I'm terrible at teh engrish
590: [02:15:37] <guzzlefry> Well, translating stuff from brain to words. :P
591: [02:15:56] <unsignedint> guzzlefry: ahh turns out im just a dumbass, I forgot that I was inside a loop when trying to $LoginForm. $Top.LoginForm works
592: [02:16:23] <guzzlefry> ah :P
593: [02:18:50] * SightUnseen has joined #silverstripe
594: [02:19:32] * SightUnseen has left #silverstripe
595: [02:20:53] <guzzlefry> How is SS's ORM with aggregate stuff?
596: [02:22:06] <guzzlefry> I basically need to calculate a subtotal by going over every item in the cart, multiplying quantity by price (or calling the SubTotal function of each), then adding to total.
597: [02:22:19] <guzzlefry> Which..might be easier to do in code.
598: [02:26:10] <guzzlefry> hm
599: [02:26:30] <guzzlefry> There'd DataList::sum(), but is it smart enough to call my custom getter?
600: [02:27:42] <guzzlefry> There's*
601: [02:28:23] <Pyromanik> lololol radio got set back to ZM, now it's fuzzy as shit.
602: [02:28:35] <Pyromanik> PUNISHMENT FOR SUBJECTING US TO SHIT MUSIC, HAHAHA
603: [02:30:27] * howardgrigg quit (Read error: No route to host)
604: [02:31:39] <guzzlefry> okay, ORM isn't that smart. :/
605: [02:34:10] <guzzlefry> Any suggestions on this?
606: [02:34:54] <EasyCo> How often are you calling the total?
607: [02:35:13] <EasyCo> Or should I say, when are you displaying the total?
608: [02:35:32] <EasyCo> Is it out of the question to just create a method that loops through and performs the operations you need?
609: [02:35:34] <guzzlefry> Whenever the user looks at their cart.
610: [02:35:58] <guzzlefry> That should be fine.
611: [02:36:01] <spronk> fuck email is a bag of hurt
612: [02:36:04] <spronk> 421 4.7.0 Not Allows.
613: [02:36:07] <spronk> WHAT THE FUCK THIS MEAN
614: [02:36:22] <guzzlefry> spronk: Exchange?
615: [02:36:32] <EasyCo> Or else you can still use raw SQL commands
616: [02:36:48] <EasyCo> sand perform your aggregation there
617: [02:37:08] <spronk> nope
618: [02:38:07] <guzzlefry> EasyCo: each() looks promising.
619: [02:38:25] <guzzlefry> well maybe...
620: [02:38:52] <guzzlefry> oh, I'm dumb.
621: [02:39:02] <guzzlefry> I can just foreach ($Items as $item) :P
622: [02:39:15] <EasyCo> Yah...
623: [02:39:22] <EasyCo> I thought you were trying to not do that :)
624: [02:39:45] <EasyCo> Everybody gets hit with a case of the dumbs sometimes.
625: [02:39:51] <ss23> guis
626: [02:39:59] <ss23> I'm thinking about buying some M&Ms and Skittles
627: [02:40:06] <ss23> and mixing them up and putting them in the break room at SilverStripe
628: [02:40:10] <ss23> good idea y/n?
629: [02:40:17] <EasyCo> That's fucking crazy
630: [02:40:22] <EasyCo> Jesus man
631: [02:40:22] <ss23> lol
632: [02:40:26] <ss23> FUCKING I KNOW
633: [02:40:29] <ss23> God, I'm Evil.
634: [02:40:34] <EasyCo> Haha
635: [02:40:50] <ss23> like
636: [02:40:56] <ss23> I just wanna do it and set up a camera
637: [02:40:58] <ss23> cause like
638: [02:41:02] <ss23> will be so good to watch reactions
639: [02:41:23] <guzzlefry> ss23: Throw in some Reeses Pieces for good measure.
640: [02:42:33] <EasyCo> Mmm resses pieces
641: [02:42:38] <EasyCo> Do you guys have those in NZ?
642: [02:42:45] <ss23> yeah, if you buy them specially
643: [02:42:47] <ss23> like
644: [02:42:53] <ss23> from a candy store that has random other cnadies
645: [02:42:55] <ss23> they're not common
646: [02:43:45] <EasyCo> Right, yah we don't get them really either
647: [02:45:21] <EasyCo> ss23: from a candy store that has random other cnadies
648: [02:45:26] <EasyCo> Nice description of a candy store
649: [02:46:43] <ss23> lol
650: [02:47:15] <Colin[pi]> <@ss23> I'm thinking about buying some M&Ms and Skittles
651: [02:47:20] <Colin[pi]> you sick crazy fuck
652: [02:47:34] <guzzlefry> Now the deathmetal makes sense.
653: [02:47:38] <guzzlefry> :P
654: [02:47:46] <Pyromanik> 15:47 < Colin[pi]> you sick crazy fuck
655: [02:47:48] <Pyromanik> woah
656: [02:47:59] <EasyCo> "Friendly URLs set up successfully; I am now redirecting you to your SilverStripe site…" Success!!!
657: [02:48:23] <EasyCo> Gotta love a fresh SS install.
658: [02:48:32] <Colin[pi]> dat new install smell
659: [02:48:48] <Pyromanik> EasyCo: lol, installer?
660: [02:48:51] <Pyromanik> :<
661: [02:49:00] <EasyCo> What's wrong with installer
662: [02:49:05] <EasyCo> It's nice
663: [02:49:05] <Pyromanik> ... installing.
664: [02:49:08] <Pyromanik> is it?
665: [02:49:15] <EasyCo> configuring then
666: [02:49:18] <guzzlefry> I haven't used the installer in a while.
667: [02:49:21] <Pyromanik> last I saw it was quite broken & not that nice :P
668: [02:49:33] <EasyCo> How long ago was that?
669: [02:49:37] <Pyromanik> umm
670: [02:49:46] <Pyromanik> probably when I edited it at the last hackfest.
671: [02:49:56] <Pyromanik> so... November last year?
672: [02:50:01] <Pyromanik> or was it earlier this year
673: [02:50:01] <Pyromanik> yeh
674: [02:50:04] <Pyromanik> June or something.
675: [02:50:10] <Pyromanik> yeh
676: [02:50:18] <Pyromanik> end of May.
677: [02:51:05] <EasyCo> It worked nicely enough for me
678: [02:51:13] <EasyCo> It even reminded me that I didn't have Tidy installed
679: [02:51:28] <Pyromanik> tidy?
680: [02:51:46] * Ryan-Toast quit (Quit: Ryan-Toast)
681: [02:51:48] <guzzlefry> the HTML Tidy thing.
682: [02:51:48] <EasyCo> http://www.php.net/manual/en/intro.tidy.php
683: [02:51:53] <guzzlefry> oh
684: [02:51:55] <EasyCo> Tidy is a binding for the Tidy HTML clean and repair utility which allows you to not only clean and otherwise manipulate HTML documents, but also traverse the document tree.
685: [02:51:57] <guzzlefry> didn't know about the PHP module.
686: [02:52:21] <Pyromanik> I was almost honest.
687: [02:52:24] <Pyromanik> Almost.
688: [02:54:03] * Ryan-Toast has joined #silverstripe
689: [03:00:46] * SightUnseen has joined #silverstripe
690: [03:00:50] <EasyCo> You must of forgotten to use that sacaastica font
691: [03:01:41] * SightUnseen has left #silverstripe
692: [03:07:39] <Pyromanik> 1) must have.
693: [03:07:51] <Pyromanik> 2) sarcastica?
694: [03:08:03] <Pyromanik> 3) song, not jest :P
695: [03:08:29] <Pyromanik> 4) opeth, demon of the fall - SO GOOD
696: [03:08:45] <Pyromanik> 5) (earlier lyric from Megadeth - Almost Honest)
697: [03:15:38] * pippy_ has joined #silverstripe
698: [03:17:16] * pippy quit (Ping timeout: 245 seconds)
699: [03:20:02] <EasyCo> 1) Noted.
700: [03:20:05] <EasyCo> 2) http://thenextweb.com/dd/2011/12/12/finally-sarcasm-has-a-voice-in-print-with-its-own-font/
701: [03:20:20] <EasyCo> 3) Insufficient context
702: [03:20:24] <EasyCo> 4) Gotcha
703: [03:28:35] <unsignedint> hey does anyone know how to get a handle on the Security page so a logout link can be generated? Or how to generate a logout link?
704: [03:29:25] <Avroceptyr> hmm, javascript to clear the cookie...yum!
705: [03:29:37] <ss23> No deploys after 3pm? Client don't give a *fuck*
706: [03:29:39] * mirrors quit (Quit: Page closed)
707: [03:30:24] <Colin[pi]> ss23: oh no dey dee-ent
708: [03:30:36] <guzzlefry> ss23: Is that so you'll be around if something breaks? :P
709: [03:30:42] <ss23> yeah, guzzlefry
710: [03:30:50] <ss23> This morning, client was like "Can we give this more priority?"
711: [03:31:02] <ss23> then 4pm, "WE NEED THIS DONE ASAP RIGHT NOW WE WILL PAY MORE DO IT FUCKING DO IT"
712: [03:31:05] <ss23> like, why not just say that this morning
713: [03:31:11] <guzzlefry> because
714: [03:31:18] <guzzlefry> they didn't give their business plan more priority?
715: [03:31:41] <unsignedint> because they dont want to part with money unless they absolutely have to, and if you had done it in teh morning then they wouldnt have had to pay extra
716: [03:32:00] <antmas> lo
717: [03:32:04] <antmas> worst clients ever
718: [03:32:10] <EasyCo> unsignedint wins
719: [03:32:32] <unsignedint> ss23: youre a core dev. how do I generate a logout link?
720: [03:33:31] <guzzlefry> /Security/logout
721: [03:33:52] <antmas> phwore, they're lowering the drink drive limit?
722: [03:34:45] <ss23> unsignedint: I'm not a core dev, btw
723: [03:34:46] <ss23> :P
724: [03:35:55] <EasyCo> Can you overwrite a modules template by creating another module and chucking in the same named template?
725: [03:36:10] <EasyCo> But high up alphabetically?
726: [03:36:15] <unsignedint> 16:34 guzzlefry: /Security/logout <-- no, because I dont want it to break if the site is hosted from a subfolder
727: [03:36:16] <EasyCo> *higher up
728: [03:36:29] <Avroceptyr> unsignedint: for your edumacation, ss23 is the documentation lead dev
729: [03:36:33] <unsignedint> ss23: oh I thought you were since you worked for Silverstripe
730: [03:36:49] <unsignedint> oh really? ss23 the docs need improving
731: [03:36:56] * Avroceptyr snickers
732: [03:37:12] <unsignedint> oh, you got me
733: [03:37:21] <EasyCo> Director::absoluteBaseURL().'Security/logout'
734: [03:37:27] <Avroceptyr> :D
735: [03:39:07] * antmas quit (Quit: Page closed)
736: [03:39:13] <guzzlefry> oh
737: [03:39:38] <guzzlefry> ss23: Question! If I add a bunch of fancy type-hint helper PHPDoc stuff in the code, will it actually be accepted?
738: [03:39:54] <ss23> What does type hinting have to do with phpdoc, sorry
739: [03:39:56] <ss23> ?
740: [03:40:07] <ss23> 16:37:24 < Avroceptyr> unsignedint: for your edumacation, ss23 is the documentation lead dev
741: [03:40:10] <ss23> MY GOD I SWEAR
742: [03:40:11] <ss23> >>
743: [03:40:19] <ss23> unsignedint: Hardly anyone who works here is a core dev
744: [03:40:35] <unsignedint> thanks EasyCo
745: [03:40:43] <unsignedint> do you guys just build sites for clients?
746: [03:40:47] <unsignedint> (@ss23)
747: [03:40:48] <guzzlefry> ss23: Letting the IDE know about magic methods. There's also a bunch of @return things that seem to be off.
748: [03:40:48] <EasyCo> np
749: [03:41:09] <ss23> unsignedint: Lots of people do opensource stuff too, e.g. ingo
750: [03:41:22] <guzzlefry> err, magic properties rather
751: [03:41:24] <ss23> unsignedint: Most of us do work on opensource too, but we're not core devs for the project, no commit access, etc
752: [03:41:27] <ss23> guzzlefry: idk
753: [03:41:38] <unsignedint> ss23: sounds like a pretty cool job
754: [03:41:46] * unsignedint wishes he was paid to work on opensource
755: [03:42:18] <guzzlefry> Well, when your core business depends solely on an open source project... :P
756: [03:42:28] <ss23> what the fuck
757: [03:42:29] <ss23> a {
758: [03:42:29] <ss23> text-decoration: none;
759: [03:42:29] <ss23> }
760: [03:42:32] <ss23> what sick person would do this
761: [03:42:37] <guzzlefry> me >_>
762: [03:42:40] <spronk> me
763: [03:42:42] <guzzlefry> What's wrong with that?
764: [03:42:44] <ss23> FREAKS.
765: [03:42:47] <spronk> underlines are hideous
766: [03:42:48] <ss23> guzzlefry: It doesn't depend on opensource
767: [03:42:59] <ss23> e.g. you think the westpac internet banking site is done with SilverStripe the CMS?
768: [03:43:03] <ss23> :P
769: [03:43:03] <spronk> border-bottom ftw
770: [03:43:18] <Colin[pi]> ss23: YES, YES I DO
771: [03:43:23] <ss23> lol
772: [03:43:24] <Avroceptyr> ss23: :)
773: [03:43:43] <guzzlefry> Links can also be formatted to look like buttons.
774: [03:43:43] <Colin[pi]> YOU MEAN.. PEOPLE DONT DO THEIR BANKING WITH A MODELADMIN SUBCLASS?
775: [03:43:46] <guzzlefry> with :hover magic
776: [03:44:00] <ss23> XD
777: [03:44:43] <Avroceptyr> also, normal divs can be formatted with a jquery .click() handler, meaning you won't have any problems with web spiders draining your bandwidth and crippling your website! WIN! :D
778: [03:44:58] <guzzlefry> ...
779: [03:45:00] <guzzlefry> now that's just messed up
780: [03:45:10] <Avroceptyr> I am to serve :)
781: [03:45:12] <guzzlefry> What about the paranoids who have javascript disabled? :P
782: [03:45:30] <Avroceptyr> They will experience 'graceful degradation'
783: [03:45:32] <ss23> If your site doesnt' work without JS, you suck
784: [03:45:46] <guzzlefry> Avroceptyr: As will the web spiders? :P
785: [03:45:56] <Colin[pi]> ss23: hard to find a single site today that will work without it :o
786: [03:46:23] <guzzlefry> google might
787: [03:46:27] <guzzlefry> and Gmail
788: [03:46:28] <Avroceptyr> I'm sorry, are we all functioning in here on the assumption that we are building usable and 'standards-compliant' websites? Pffft. 2003 called. They want their ajax back.
789: [03:46:48] <Colin[pi]> people who dont use JS today I feel the same as people who use IE6
790: [03:46:49] <ss23> Colin[pi]: bullshit it's hard
791: [03:46:55] <unsignedint> haha fuck all the bastards that dont have JS enabled, they deserve a shit experience
792: [03:46:59] <ss23> Colin[pi]: I mean, it's hard if you only look at websites made by idiots (aka 99% of people)
793: [03:47:05] <unsignedint> its like the people who use IE
794: [03:47:21] <guzzlefry> IE is fine...
795: [03:47:24] <guzzlefry> after 8
796: [03:47:26] <guzzlefry> usually
797: [03:47:40] <Colin[pi]> yeah but it's so random
798: [03:47:58] <Colin[pi]> I've had people on exactly the same version of IE, and the site will fuck up in one and not the other
799: [03:48:00] <guzzlefry> IE9 and greater auto-update afaik.
800: [03:48:04] * DigNZ quit (Quit: DigNZ)
801: [03:48:28] <unsignedint> no they dont, MS updates them via windows updates
802: [03:49:27] <Avroceptyr> there's an update you can apply that will prevent IE auto update
803: [03:49:50] <Avroceptyr> it's aimed at companies who need to standardise on an older IE due to internal apps/etc
804: [03:49:58] <guzzlefry> unsignedint: "Rather than seek user approval before upgrading IE -- the previous practice -- Microsoft adopted a Google Chrome-like "silent" scheme that automatically installs the newest browser suitable for that version of Windows."
805: [03:50:23] <spronk> fuck slingshot
806: [03:50:29] <spronk> stopped delivering our mail :@
807: [03:50:40] <unsignedint> "suitable for that version of windows" - so, people will still be using old IE versions unless they are on the latest windows
808: [03:51:01] <guzzlefry> ah
809: [03:51:16] * guzzlefry doesn't care to support anything less than IE9.
810: [03:51:47] <Avroceptyr> well, stuff like ASLR/DEP that IE10/11 rely on that is in Win7/8 but isn't implemented to the same degree in Win XP
811: [03:51:54] <Colin[pi]> guzzlefry: same here, we have a policy about it now
812: [03:52:11] <Colin[pi]> the lost productivity involved in fixing stuff for <IE9 is just not worth it
813: [03:52:32] <Avroceptyr> There was an article a year or two back that found if you used *all* the Microsoft protections together, you'd get equivalent, if not better, than Firefox / Chrome / etc
814: [03:52:46] <Avroceptyr> So ASLR, DEP, MSE, Windows Firewall, Windows Defender, etc
815: [03:52:55] <Avroceptyr> Just that people don't usually run all of them together
816: [03:53:10] <unsignedint> just use linux?
817: [03:53:48] <unsignedint> firefox or chrome on linux, properly configured iptables, no need for 8gb of ram to be sucked up on random shit
818: [03:53:56] <Avroceptyr> that's not a useful answer if you're running other applications
819: [03:53:59] <guzzlefry> average user can't handle Linux.
820: [03:54:00] <Avroceptyr> for just web, sure
821: [03:54:30] <Avroceptyr> I can't handle Linux :O
822: [03:54:32] <Avroceptyr> haha
823: [03:54:36] <unsignedint> I cant handle windows
824: [03:54:51] <unsignedint> I can handle OSX but only because it has a POSIX-compliant userspace and a Terminal app
825: [03:55:00] <Avroceptyr> I run multiple Linux servers and they're great and well oiled. Have tried to run linux personally, but it's just way too much effort to run it locally for all the stuff that I want to do
826: [03:55:19] <guzzlefry> I develop in Linux, but that's a VM on my Win7 host. :P
827: [03:55:35] <unsignedint> whaaat?
828: [03:55:37] <Avroceptyr> yeah, I've resorted to linux VMs on a desktop too
829: [03:55:43] <guzzlefry> wat
830: [03:55:44] <unsignedint> should be the other way around haha
831: [03:55:48] <guzzlefry> not really
832: [03:55:53] <unsignedint> host a windows7 vm on linux for IE testing
833: [03:56:04] <guzzlefry> Gaming support for Linux is rather bad.
834: [03:56:10] * unsignedint doesnt play games anyway
835: [03:56:17] <Avroceptyr> The overhead of a linux VM is much less than the overhead of windows VMs
836: [03:56:29] <unsignedint> although, counter strike source now has a native linux version and it ran pretty well on the open source amd drivers
837: [03:56:59] <irogue23> amd hired the guy who was making the open source linux drivers
838: [03:57:05] <Ryan-Toast> Is it really worth using JPEG's to increase page speed?
839: [03:57:09] <irogue23> so their linux support is getting better very fast
840: [03:57:11] * Colin[pi] used to play a lot of CS:S
841: [03:57:13] <Pyromanik> Over the hills and far awaaaaaaaaaaayyy
842: [03:57:22] * Pyromanik also played a dickload of CS:S
843: [03:57:28] * UncleCheese quit (Quit: UncleCheese)
844: [03:57:36] <Pyromanik> 16:56 < guzzlefry> Gaming support for Linux is rather bad.
845: [03:57:41] <Pyromanik> Set to change in the near future.
846: [03:57:44] <unsignedint> irogue23: oh really? didnt know that. awesome! i stopped buying nvidia cards because they arent helping the people developing nouveau
847: [03:57:49] <Pyromanik> Already rapidly changing.
848: [03:57:51] <guzzlefry> Pyromanik: We'll see. :P
849: [03:57:59] <Colin[pi]> wait, what is the steam box running?
850: [03:57:59] <guzzlefry> I'm skeptical.
851: [03:58:03] <guzzlefry> Android
852: [03:58:06] <Pyromanik> just about every indy game gets a triple system release
853: [03:58:07] <guzzlefry> afaik
854: [03:58:14] <Colin[pi]> steam box is android?
855: [03:58:18] <Pyromanik> Colin[pi]: Linux.
856: [03:58:22] <guzzlefry> some Linux-flavor.
857: [03:58:23] <Pyromanik> like, proper linux.
858: [03:58:23] <Colin[pi]> oh phew
859: [03:58:25] <guzzlefry> oh
860: [03:58:38] <Pyromanik> sif android.
861: [03:58:40] <Colin[pi]> ok dumb question time
862: [03:58:42] <guzzlefry> Maybe I'm confusing it with the other 80 dedicated gaming boxes.
863: [03:58:43] <Colin[pi]> if it's linux
864: [03:58:48] <Colin[pi]> how do they handle DirectX?
865: [03:58:51] <Pyromanik> HEY GAIS, PORT ALL Y'ALL GAMES TO JAVA!
866: [03:58:53] <Colin[pi]> or they don't
867: [03:58:55] <Colin[pi]> OpenGL?
868: [03:58:58] <Pyromanik> Colin[pi]: dafuq directx?
869: [03:59:09] <Pyromanik> and secondly: dafuq directx.
870: [03:59:14] <Pyromanik> and third: wine.
871: [03:59:19] <Colin[pi]> directx as in like 90% of games on their store would use, no?
872: [03:59:28] <Pyromanik> crossover gaming, if you'd like to pay for support.
873: [03:59:33] <Pyromanik> Colin[pi]: nope.
874: [03:59:34] <guzzlefry> Colin[pi]: Last I heard Steam was doing something about that...
875: [03:59:54] <Pyromanik> 90% of games in the store are primarily developed for windows, for sure.
876: [03:59:54] <Pyromanik> but
877: [04:00:22] * wilr_ quit (Quit: wilr_)
878: [04:00:34] * Ryan-Toast has left #silverstripe
879: [04:00:41] <Pyromanik> many use the likes of Unity, which runs in linux, and UT Engine, which runs in linux, And ID's Tech series, which runs in linux, and Open GL based renderers, which run in linux, or SDL, which is based primarily in linux.
880: [04:00:51] <Colin[pi]> mm
881: [04:00:57] <Pyromanik> Halflife has an openGL renderer.
882: [04:01:03] <Pyromanik> Half-life 2 does not :(
883: [04:01:05] <Pyromanik> BUT DOES NOW
884: [04:01:08] <guzzlefry> yay
885: [04:01:10] <Pyromanik> source games all work.
886: [04:01:22] <Colin[pi]> but afaik most gpus are optimised for accelerating DirectX nowadays, no?
887: [04:01:33] <Pyromanik> The more they pioneer a viable platform, the more devs will move to it.
888: [04:01:46] <Pyromanik> Battlefield 4 lead dev already wishes it would run in linux.
889: [04:01:56] <guzzlefry> Pyromanik: It should?
890: [04:02:09] <guzzlefry> It has a PS4 version, which is OpenGL ES I think.
891: [04:02:15] <Pyromanik> they FINALLY fucking ditched that horrible server OS for linux based servers, becasue it's far better for it.
892: [04:02:21] <Pyromanik> but the game itself doesn't run in linux, no.
893: [04:02:26] <Pyromanik> guzzlefry: well
894: [04:02:39] <Pyromanik> it's a bit more complex than that to port a game, but yeh that's a step in the right direction
895: [04:02:42] <irogue23> < Colin[pi]> how do they handle DirectX?
896: [04:02:52] <irogue23> PS3/4 also has no DirectX
897: [04:02:57] <Pyromanik> they don't or emulation layers like wine and wine based stuff.
898: [04:03:00] <irogue23> so games are all already written for both DX and OpenGL
899: [04:03:19] <Pyromanik> but it's more system level stuff that stops it being released on linux.
900: [04:03:30] <Colin[pi]> yeah I mean ideally a particular title wouldn't be coupled to a particular renderer, right?
901: [04:03:49] <Pyromanik> usually they hand porting off to a third party, eg Ryan C Gordon does a dickload of porting stuff for Humble Bundle wannabies.
902: [04:04:02] * Colin[pi] is mostly talking out of his arse because he has no idea about games development
903: [04:04:04] <Pyromanik> (of which linux is a req. iirc)
904: [04:04:12] <guzzlefry> Pyromanik: What difficulties arise from porting it from something like PS4 to Linux?
905: [04:04:39] <Pyromanik> Colin[pi]: simple fact: openGL has been around for years and was far more dominant in the earlier days as the leading rendering API
906: [04:04:42] <guzzlefry> well wait
907: [04:04:50] <guzzlefry> input stuff would probably be different.
908: [04:04:57] <irogue23> eh, both USB based
909: [04:04:59] <Pyromanik> guzzlefry: yeah, and about every OS call ever.
910: [04:05:04] <guzzlefry> oh :P
911: [04:05:07] <Colin[pi]> Pyromanik: yeah I know, I remember UT back in the day asking for which renderer you wanted to use as it loaded
912: [04:05:15] <Pyromanik> Colin[pi]: yeh.
913: [04:05:15] * nickmolhoek quit (Quit: nickmolhoek)
914: [04:05:48] <Pyromanik> they stopped doing that as MS started hammering the shit out of DX promotions, and struck deals with hardware vendors to get support native on the card itself.
915: [04:05:53] <Colin[pi]> I was a huge fan of Deus Ex too, which used the Unreal engine... I remember one of the renderers was far better than the other
916: [04:06:12] <Pyromanik> it's still a terrible API, but OpenGL sat stagnant for quite some time too
917: [04:06:25] <irogue23> seen the Mantle API?
918: [04:06:40] <Pyromanik> Colin[pi]: it's not so much the API, but how they implement the renderer with it.
919: [04:06:54] <Colin[pi]> christ I remember Glide was an option back then
920: [04:07:05] * Colin[pi] is showing his age :(
921: [04:07:12] * UncleCheese has joined #silverstripe
922: [04:07:13] <guzzlefry> You can't be that old if I remember it. :P
923: [04:07:19] <irogue23> http://en.wikipedia.org/wiki/Mantle_(API)
924: [04:07:22] <Colin[pi]> that was 3dfx, right?
925: [04:07:25] <guzzlefry> unless...I'm old too :(
926: [04:07:26] <EasyCo> Do templates I'm themes/mytheme/templates/ take precedence over module templates? Cause I can't seem to overwrite the module templates.
927: [04:07:31] <Pyromanik> when DX11 came out and they were making all this fucking noise some linux geeks were already busy doing ALL of the DX11 things with OpenGL 2.1 (where OpenGL 2.1 is more comparible to DX9)
928: [04:07:31] <guzzlefry> Colin[pi]: I think so
929: [04:07:40] <UncleCheese> can you call constants from within the config yaml?
930: [04:07:42] <Pyromanik> err, DX10, not DX 11
931: [04:07:51] <Pyromanik> UncleCheese: no.
932: [04:07:53] <UncleCheese> extra_javascript_requirements: MY_MODULE_DIR.'/js
933: [04:07:56] <Pyromanik> it's declarative.
934: [04:08:01] <UncleCheese> wow
935: [04:08:07] <UncleCheese> that's a lame enforcement, then
936: [04:08:07] <Pyromanik> there is no processing besides parsing.
937: [04:08:20] <Pyromanik> UncleCheese: well no, more a limitation of the fact that it's yaml not php.
938: [04:08:22] <UncleCheese> because LeftAndMain::require_javascript() still has utility
939: [04:08:37] <UncleCheese> right, but they shouldn't have deprecated LeftAndMain::require_javascript()
940: [04:08:38] <Pyromanik> it does, eg I use it for $project./blah/.etc
941: [04:08:48] <Pyromanik> well it's not... yet
942: [04:08:49] <UncleCheese> but it's deprecated now
943: [04:08:50] <Pyromanik> 3.2 iirc
944: [04:08:54] <Pyromanik> nah.
945: [04:08:54] <UncleCheese> right
946: [04:08:56] <UncleCheese> i'm on master
947: [04:08:58] <UncleCheese> ok
948: [04:09:02] <Pyromanik> current release is 3.1
949: [04:09:24] <Pyromanik> I agree it'd be neat if config options had definition constants in it.
950: [04:09:36] <Pyromanik> you should raise it on the dev list
951: [04:09:52] <Pyromanik> as I think it'd have some quite heavy design implications.
952: [04:10:12] <Pyromanik> ie, best to discuss it at this point.
953: [04:10:45] <irogue23> Cabinet has approved lowering the blood alcohol limit from 80mg per 100ml of blood to 50mg for drivers over 20.
954: [04:10:56] <Pyromanik> Colin[pi]: nah 3dfx was glide.
955: [04:11:16] <Colin[pi]> yeah that's what I meant, but you posted about mantle just before I said it ;P
956: [04:11:45] <Pyromanik> ah
957: [04:11:49] <Pyromanik> so you did
958: [04:12:08] <Pyromanik> and also nah, glide wasn't an option when OpenGL 2.1 was around.
959: [04:12:19] <Pyromanik> OpenGL is what took over from the likes of glide.
960: [04:12:30] <Pyromanik> but there were quite a few glide wrappers, as it did some cool shit.
961: [04:12:44] <Pyromanik> the old voodoos
962: [04:13:10] <Colin[pi]> Pyromanik: here's the window I remember seeing often: http://kentie.net/article/d3d10drv/renderpick.png
963: [04:13:12] <Pyromanik> hmm, BF4 handles Mantle
964: [04:13:27] <Colin[pi]> S3 MeTaL lol
965: [04:13:58] <Pyromanik> you'll notice that even HL2 has an option for 'renderer' - but it was disabled and only ever had a Direct3D one.
966: [04:14:17] <irogue23> Pyromanik: ya, Mantle is joint venture ish between AMD and DICE
967: [04:14:50] <irogue23> since both Xbox One and PS4 are using AMD, Mantle might actually get some use
968: [04:15:32] <irogue23> and if it does, could really help AMD in the PC space
969: [04:15:43] <Pyromanik> http://i.stack.imgur.com/IPsPx.jpg
970: [04:15:45] <irogue23> interesting tactic
971: [04:16:00] <Pyromanik> irogue23: heh, yeah.
972: [04:16:27] <Pyromanik> Colin[pi]: http://gamerant.com/dice-linux-steam-machines-half-life-3/
973: [04:16:42] <Pyromanik> DICE want to get into Linux, big time.
974: [04:16:59] <Pyromanik> guzzlefry: ^^
975: [04:17:28] <Colin[pi]> if they put HL3 on it as an exclusive then, yeah, I'll prolly get one :D
976: [04:23:55] <Pyromanik> haha ep 3
977: [04:24:15] <Pyromanik> at this point, it's almost rivalling Duke Nukem Forever.
978: [04:24:28] <Pyromanik> hmm, I might have a blast at that when I get home :P
979: [04:24:31] * Pyromanik quit (Quit: leaving)
980: [04:26:05] * mobiusnz`home quit (Quit: Leaving.)
981: [04:51:09] <EasyCo> Interesting: http://www.techempower.com/benchmarks/
982: [04:51:43] * UncleCheese quit (Quit: UncleCheese)
983: [04:52:09] * pippy has joined #silverstripe
984: [04:52:39] * Nightjar has joined #silverstripe
985: [04:52:44] * cloph has joined #silverstripe
986: [04:52:48] * cloph_away quit (Ping timeout: 240 seconds)
987: [04:54:51] * pippy_ quit (Ping timeout: 272 seconds)
988: [04:55:45] <spronk> ah, php
989: [04:55:46] <spronk> you so slow
990: [04:57:06] * pippy quit (Ping timeout: 245 seconds)
991: [04:57:12] * pippy has joined #silverstripe
992: [04:57:31] <EasyCo> t's actually not that bad
993: [04:57:39] <EasyCo> Relatively
994: [04:57:57] <spronk> lol
995: [04:57:58] <spronk> yes it is
996: [04:58:12] <EasyCo> It's in the top half :)
997: [04:58:21] <EasyCo> In some schools you'd get a medal for that
998: [04:58:22] <spronk> is it?
999: [04:58:27] <spronk> json serialisation is a compiled part of php, too
1000: [04:58:31] <spronk> so it's using c library
1001: [04:58:37] <spronk> on the other tests, it gets slaughtered
1002: [04:59:03] <EasyCo> Yah true
1003: [04:59:09] <EasyCo> Go is looking sexy in those tests
1004: [04:59:42] <spronk> java is where it's at
1005: [04:59:51] <EasyCo> Yah but… java...
1006: [04:59:53] <spronk> yeah
1007: [05:00:01] <spronk> play+scala is surprisingly slow
1008: [05:01:11] <spronk> also, lolrails
1009: [05:01:51] <EasyCo> Haha yah
1010: [05:01:57] <EasyCo> Rails isn't looking to hot
1011: [05:02:38] * chillu quit (Quit: chillu)
1012: [05:05:46] <spronk> mm
1013: [05:05:53] <spronk> tbh, stuff like this makes me annoyed
1014: [05:05:55] <spronk> because..
1015: [05:06:10] <spronk> very few of the really performant frameworks are all that nice to dev in
1016: [05:07:22] <EasyCo> spronk: Exactly. They're usually very boilerplate'ish
1017: [05:07:26] <spronk> annoyingly a lot of the java app frameworks aren't very well architected for scaling horizontally, too
1018: [05:07:49] <spronk> proponents of these frameworks will say "OH BUT ONLY A FEW NEED THAT SCALE"
1019: [05:08:02] <spronk> which, while true, is not the only benefit of horizontal scalability
1020: [05:08:07] <spronk> fault tolerance, being the other big one
1021: [05:09:03] <Nightjar> Have sex with all the flowers
1022: [05:09:28] <spronk> o_O
1023: [05:10:56] <guzzlefry> 0.o
1024: [05:12:46] <EasyCo> Bees
1025: [05:13:16] <Nightjar> You solve the riddle, 10 points for you.
1026: [05:14:32] <guzzlefry> just had flashbacks to Austin Powers
1027: [05:21:36] <guzzlefry> hm
1028: [05:31:22] <EasyCo> Woohoo
1029: [05:35:24] <Colin[pi]> clients
1030: [05:35:47] <Colin[pi]> nuff said right?
1031: [05:45:16] <EasyCo> hate to luv, luv to hate?
1032: [05:46:10] <Colin[pi]> I get a call from a potential last week, they're like "we want to work quick, dont want a graphic designer, will use a template"
1033: [05:46:16] <Colin[pi]> "Ok sure"
1034: [05:46:25] <Colin[pi]> then they look at some of our stuff from templates and say
1035: [05:46:41] <Colin[pi]> "Ehhhhh this all looks very templated, I need something with more of a graphic design"
1036: [05:46:43] <Colin[pi]> FFFFUUUUUUU
1037: [05:53:54] <EasyCo> Translation: We want something designer'y but don't want to pay for it.
1038: [05:56:43] <guzzlefry> Is that code for 'drop client because you'll probably have payment issues in the future?"
1039: [05:57:01] <Colin[pi]> yeah my spidey sense is tingling
1040: [05:57:38] <guzzlefry> reminds me
1041: [05:57:45] <guzzlefry> need to finish this ecommerce thing
1042: [05:58:02] * guzzlefry wonders how long it takes to implement a checkout system.
1043: [05:58:03] <EasyCo> Weren't you supposed to finish that like 2 weeks ago :)
1044: [05:59:07] <Colin[pi]> yeah but he had a thing
1045: [06:00:42] <guzzlefry> I had other emergencies :P
1046: [06:01:01] <guzzlefry> We have around 3 overdue projects
1047: [06:01:27] <guzzlefry> And I think I keep getting flipped over to whichever one has most pissed off client.
1048: [06:01:40] <Colin[pi]> that's called damage control :D
1049: [06:02:01] <guzzlefry> oh
1050: [06:02:05] <guzzlefry> figured we'd like
1051: [06:02:14] <guzzlefry> redo time table things
1052: [06:04:47] <Colin[pi]> I have an ecomm site just itching to be finished
1053: [06:04:52] <Colin[pi]> but now I'm waiting on the client
1054: [06:05:10] <guzzlefry> I'm implementing my own in SilverStripe >_>
1055: [06:05:28] <Colin[pi]> oh god why
1056: [06:05:31] <Colin[pi]> ;D
1057: [06:05:39] <guzzlefry> Because the client already has a site with it.
1058: [06:05:50] <guzzlefry> And reimplementing the video system they have would be 3x as much work.
1059: [06:05:55] <Colin[pi]> ;(
1060: [06:06:38] <Colin[pi]> I did mine in ss-shop
1061: [06:06:41] <Colin[pi]> it went *ok*
1062: [06:07:38] <guzzlefry> I haven't hit anything major yet..besides breaking the current video database stuff. :P
1063: [06:07:52] <Colin[pi]> haha
1064: [06:08:29] <guzzlefry> I had to subclass the existing dataobject for those from the new Product dataobject.
1065: [06:08:37] <guzzlefry> and for some reason things exploded.
1066: [06:09:25] <Colin[pi]> that sounds painful
1067: [06:10:37] <guzzlefry> It might be.
1068: [06:11:30] <guzzlefry> Also, when someone says "It'll be done by Tuesday", does that mean end of day? >_>
1069: [06:11:44] <Colin[pi]> I would say yes
1070: [06:12:01] <Colin[pi]> tuesday finishes at midnight :D
1071: [06:12:13] <guzzlefry> oh hell
1072: [06:12:17] <guzzlefry> I have class on Tuesday.
1073: [06:12:25] <guzzlefry> I keep forgetting about that.
1074: [06:33:43] * EasyCo quit (Quit: We can't stop here, this is bat country)
1075: [06:41:05] <Nightjar> what class guzzlefry?
1076: [06:41:55] * UncleCheese has joined #silverstripe
1077: [06:43:09] <guzzlefry> Nightjar: intro to game programming
1078: [06:43:34] <guzzlefry> learning Unity 3D along with 3D modeling fun. :P
1079: [06:46:37] <Nightjar> fun!
1080: [06:46:53] <Nightjar> guzzlefry: are you at University, or just a night class kinda thing?
1081: [06:47:56] <guzzlefry> state college
1082: [06:48:10] <guzzlefry> Not sure what it's called outside of the states.
1083: [06:48:32] <guzzlefry> It's kind of like a tech college, but it has some 4-year degrees.
1084: [06:50:04] <guzzlefry> Need to figure out if that 4 year degree has any pull in the job market before i go for that. >_>
1085: [06:56:12] <Nightjar> we would probably call that a Polytechnic here.
1086: [06:56:45] <Nightjar> some polytechs offer 4 year degrees, sometimes in coordination with a sponsoring university
1087: [06:59:56] * iamss has joined #silverstripe
1088: [07:00:40] <iamss> hi guys! I am getting lots of error when I upgraded my PHP version to 5.4, I am using 2.4.x SS
1089: [07:02:09] <Nightjar> iamss: upgrade to the latest 2.4
1090: [07:02:15] <Nightjar> 2.4.12 or whatever it is
1091: [07:03:02] * UncleCheese quit (Quit: UncleCheese)
1092: [07:03:12] <iamss> the latest I found is 2.4.13 .. thanks Nighjar
1093: [07:04:17] * spronk2 quit (Quit: spronk2)
1094: [07:13:35] * Zauberfisch quit (Read error: Connection reset by peer)
1095: [07:14:51] <guzzlefry> time to sleep, night
1096: [07:18:13] <Colin[pi]> nn dude
1097: [07:18:59] * Zauberfisch23 quit (Ping timeout: 272 seconds)
1098: [07:19:06] * Zauberfisch23 has joined #silverstripe
1099: [07:23:28] * DigNZ has joined #silverstripe
1100: [07:23:35] * DigNZ quit (Client Quit)
1101: [07:24:43] * DigNZ has joined #silverstripe
1102: [07:33:47] * iamss quit (Ping timeout: 250 seconds)
1103: [07:34:56] * DigNZ quit (Quit: DigNZ)
1104: [07:46:50] * Shrike_Finland has joined #silverstripe
1105: [07:49:17] * Shrike_Finland quit (Read error: Connection reset by peer)
1106: [07:49:19] * Shrike_Finland1 has joined #silverstripe
1107: [07:58:32] * zfmf has joined #silverstripe
1108: [08:06:17] * lerni has joined #silverstripe
1109: [08:20:08] * peter_ss quit (Quit: Leaving.)
1110: [08:22:53] * gordon has joined #silverstripe
1111: [08:23:17] * gordon is now known as Guest71613
1112: [08:23:45] * Guest71613 is now known as elgrodo
1113: [08:24:48] * elgrodo run into issue with secure files not working with SS3.1
1114: [08:25:19] <elgrodo> it's due to routing, anything of the form /assets/Uploads/somefolder/wibble.png gets mapped to the routes for action and id
1115: [08:25:36] <elgrodo> https://github.com/hamishcampbell/silverstripe-securefiles/pull/8
1116: [08:25:48] <elgrodo> http://www.silverstripe.org/upgrading-silverstripe/show/23966
1117: [08:27:38] <elgrodo> I want /assets/* to go through the handleAction method of secure controller
1118: [08:27:52] <elgrodo> the files are currently very secure, can't view any!
1119: [08:29:43] * Stomach quit (Ping timeout: 245 seconds)
1120: [08:37:05] * peter_ss has joined #silverstripe
1121: [08:40:55] * peter_ss has left #silverstripe
1122: [08:41:47] * chillu has joined #silverstripe
1123: [08:41:51] * chillu quit (Client Quit)
1124: [08:51:23] * svandragt has joined #silverstripe
1125: [08:54:17] * Mayzie has left #silverstripe
1126: [09:07:26] * kinglozzer has joined #silverstripe
1127: [09:14:45] * Zauberfisch has joined #silverstripe
1128: [09:23:23] * Guits has joined #silverstripe
1129: [09:25:28] <Guits> How is AjaxUniqueTextField supposed to work? anyone seen an example?
1130: [09:27:28] * etete has joined #silverstripe
1131: [09:27:35] * etete has left #silverstripe
1132: [09:28:38] <Nightjar> It doesn't.
1133: [09:28:55] <Nightjar> It's old deprecated code I'm pretty sure.
1134: [09:31:44] <Nightjar> elgrodo: to answer your question, you'll have to clear the director rules from the yaml, any static calls to director in the module and any private static $url_handlers
1135: [09:32:13] <Nightjar> elgrodo: the best way to test is to ask SS which rule it's matched by adding ?debug_request to the url when in Dev mode.
1136: [09:33:31] <Guits> You sure about that Nightjar..the documentation seems to have been updated in newer releases
1137: [09:34:04] <Nightjar> Guits: no, not sure.
1138: [09:36:20] <Nightjar> elgrodo: at a guess, you need a double slash in the rule
1139: [09:36:25] <Nightjar> assets//$Action
1140: [09:42:22] * spronk2 has joined #silverstripe
1141: [09:45:53] <elgrodo> Nightjar: This is the one being matched, $URLSegment//$Action/$ID/$OtherID
1142: [09:47:10] <Nightjar> elgrodo: in that case it's not being included in the right order.
1143: [09:47:55] <Nightjar> elgrodo: https://github.com/timsnadden/silverstripe-securefiles/blob/3.1/_config/routes.yml#L3
1144: [09:48:14] <Nightjar> it's only including after Framework, CMS is being included afterwards giving the "find me a page" a higher priority.
1145: [09:48:33] <Nightjar> 'assets' matches $URLSegment, so that gets picked.
1146: [09:48:44] <elgrodo> I tried changing that to Before but got conflict errors on dev/build
1147: [09:48:57] <Nightjar> After: framework/routes#coreroutes, cms/*
1148: [09:49:15] <Nightjar> just make it the same as mysite/_config/config.yml
1149: [09:49:24] <Nightjar> well, the before/after part at least
1150: [09:49:25] <elgrodo> oh....
1151: [09:50:31] <Nightjar> chappy who edited the module for 3.1 probably didn't use the cms module.
1152: [09:50:58] <Nightjar> but it doesn't matter if a config fragment isn't found, it will just be ignored. no error is thrown.
1153: [09:51:25] <Nightjar> the config inclusion order builds a DAG.
1154: [09:53:58] <elgrodo> DAG?
1155: [09:53:58] * guci0 has joined #silverstripe
1156: [09:54:04] <guci0> Morning!
1157: [09:54:24] <Nightjar> elgrodo: Directed Acyclic Graph
1158: [09:54:33] <Nightjar> good morning guci0!
1159: [09:54:49] <guci0> ;)
1160: [09:56:59] <Nightjar> elgrodo: not the shitty end of a sheep ;)
1161: [09:57:54] <elgrodo> Nightjar: still not winning
1162: [09:58:29] <elgrodo> Nightjar: Firstly do rules at the start or the end take priority - that might be an important misunderstanding :)
1163: [09:58:49] <elgrodo> oh wait, that's the before after thing,duh
1164: [09:58:50] <Nightjar> elgrodo: think of them as overriding.
1165: [09:58:58] <elgrodo> oh ok
1166: [09:59:23] <elgrodo> so a matching rule after will override one before?
1167: [09:59:50] <Nightjar> eg cms's $URLSegment//$Action/$ID/$OtherID overrides framework's $Controller//$Action/$ID/OtherID because it's included afterwards.
1168: [10:00:08] <Nightjar> elgrodo: if they both match, yeh. Otherwise it'll cascade down.
1169: [10:00:11] <Nightjar> Just like css!
1170: [10:01:28] * elgrodo expects it not to work in Internet Explorer then :-P
1171: [10:01:40] <Nightjar> hhahaha
1172: [10:01:57] <Nightjar> well it happens serverside - I hope you're not running IE as a webserver!
1173: [10:10:44] * kinglozzer quit (Read error: Connection timed out)
1174: [10:12:02] * kinglozzer has joined #silverstripe
1175: [10:17:43] * dangerdan has joined #silverstripe
1176: [10:19:02] * micmania1 has joined #silverstripe
1177: [10:22:51] <kinglozzer> Hey all
1178: [10:26:37] <Nightjar> heya loz
1179: [10:30:18] <kinglozzer> Struggling today :( I'm always worse after a few days off than weeks off
1180: [10:38:06] <Nightjar> Man I totally should have been an engineer :<
1181: [10:38:19] <Nightjar> pumps are awesome.
1182: [10:46:42] <kinglozzer> Any specific type of pump? :P
1183: [10:52:40] * dangerdan_ has joined #silverstripe
1184: [10:55:41] <Nightjar> ram pump seems pretty boss
1185: [11:01:22] * Marvanni_ has joined #silverstripe
1186: [11:05:26] * Marvanni_ quit (Ping timeout: 240 seconds)
1187: [11:07:15] <kinglozzer> Hrmm, wanna override File::$app_categories with yaml, I want 'ppt' and 'pptx' to be in their own category. Any ideas how? Setting them in config.yml doesn't seem to work :(
1188: [11:07:48] * Marvanni_ has joined #silverstripe
1189: [11:08:14] * lerni quit (Ping timeout: 240 seconds)
1190: [11:08:26] * Marvanni_ quit (Client Quit)
1191: [11:12:24] * robert_ quit (Ping timeout: 252 seconds)
1192: [11:12:48] * spronk2 quit (Quit: spronk2)
1193: [11:19:53] * dangerdan_ quit (Quit: Page closed)
1194: [11:20:23] * dangerdan_ has joined #silverstripe
1195: [11:21:20] <Nightjar> I have no idea what is
1196: [11:21:37] <Nightjar> but check accessability (public, protected are not yaml config things)
1197: [11:21:51] * Colin[pi] quit (Ping timeout: 245 seconds)
1198: [11:22:06] <Nightjar> Wholey shit this rocks my socks.
1199: [11:22:07] <Nightjar> http://www.youtube.com/watch?v=v664hyGlItk
1200: [11:22:08] * kerosene has joined #silverstripe
1201: [11:26:33] <kinglozzer> Nightjar: managed it, can do it in YAML, just need to ensure it's read as early as possible
1202: [11:26:37] <kinglozzer> P.s. that's awesome
1203: [11:31:16] <Nightjar> shit, suddenly the morning :(
1204: [11:31:32] * Nightjar has left #silverstripe
1205: [11:35:15] * UncleCheese has joined #silverstripe
1206: [11:38:41] * origincube has joined #silverstripe
1207: [11:39:58] <origincube> hey guys, hope you all had an awesome weekend!
1208: [11:40:33] <origincube> so i have a question around navigation
1209: [11:41:00] <origincube> so i have a site that has three levels of navigation in the one section (its horrible, but its what the client wants. ugh).
1210: [11:41:16] <origincube> so i have a secondary nav setup to show me the second level in a side column
1211: [11:42:00] <origincube> now i'm using if children to determine if i need a third level menu below that, but i'm thinking that will spit out ALL the third level links regardless of where i am in the nav structure
1212: [11:42:41] <origincube> now preferably i'd like to only see the children for the current node in that menu.
1213: [11:43:22] <origincube> i presume i can do this by doing a check for if $LinkingMode=="current" ?
1214: [11:43:37] <marvanni> <% if LinkOrSection = section %>
1215: [11:43:51] <marvanni> see how its done in the simple theme SidebarMenu.ss
1216: [11:44:03] <origincube> hmm good plan
1217: [11:44:29] <marvanni> and Children should only return the Children of the current MenuItem your looping in
1218: [11:44:51] <origincube> yeah, but what i meant was the loop will loop for all menu items at level 2
1219: [11:45:05] <origincube> so it will then spit out each nodes children at each loop iteration if they exist
1220: [11:45:16] <origincube> so i want to prevent that for non current items
1221: [11:45:45] <marvanni> then your using loop Level(2) instead of Children ?
1222: [11:46:29] <origincube> yeah busy checking their sidebar menu structure now. its recursive.. how ingenious :)
1223: [11:46:47] <origincube> i may as well just borrow this code of theirs :)
1224: [11:47:04] <marvanni> I would steal it...
1225: [11:47:15] <origincube> hahah
1226: [11:52:15] * dangerdan_ quit (Quit: Page closed)
1227: [11:59:25] * dangerdan quit (Ping timeout: 250 seconds)
1228: [12:02:00] <origincube> awesome. works like a charm with a bit of tweaking visually
1229: [12:02:01] <origincube> thanks! :)
1230: [12:22:54] * origincube has left #silverstripe
1231: [12:29:21] * UncleCheese quit (Quit: UncleCheese)
1232: [12:34:09] * lerni has joined #silverstripe
1233: [12:39:38] * robert_ has joined #silverstripe
1234: [12:41:37] * svandragt quit (Ping timeout: 272 seconds)
1235: [12:41:42] * origincube has joined #silverstripe
1236: [12:41:53] <origincube> ok, so i'm back again with more probably dumb questions. hehe
1237: [12:48:08] * lerni quit (Quit: lerni)
1238: [12:52:14] * svandragt has joined #silverstripe
1239: [13:05:02] * Zauberfisch_ has joined #silverstripe
1240: [13:07:50] * Zauberfisch quit (Ping timeout: 240 seconds)
1241: [13:17:10] * origincube quit (Read error: Connection reset by peer)
1242: [13:17:55] * origincube has joined #silverstripe
1243: [13:26:34] * PanPipes has joined #silverstripe
1244: [13:37:24] * catcher has joined #silverstripe
1245: [13:39:35] * UndefinedOffset has joined #silverstripe
1246: [13:43:08] * jrthomer has joined #silverstripe
1247: [13:47:24] * bob__ has joined #silverstripe
1248: [13:50:40] * toebu has joined #silverstripe
1249: [13:57:14] <bob__> hey guys :)
1250: [13:57:21] <bob__> im currently building a site and want to have the possibility to create image galleries
1251: [13:57:30] <bob__> these galleries shall not be rendered by themselves, but just be linked from other pages
1252: [13:57:41] <bob__> how is the best way to do this? shall i create a Gallery class which extends Page? or is there a cleaner way?
1253: [13:58:09] <bob__> if i extend page, these galleries show up in the menu and can be reached via there url slug
1254: [13:58:22] <bob__> probably there'S a way to disable it but it looks quite hackish to me?
1255: [14:04:55] * ARNHOE has joined #silverstripe
1256: [14:06:12] * zippy__ quit (Ping timeout: 260 seconds)
1257: [14:19:10] * zippy__ has joined #silverstripe
1258: [14:19:25] * kerosene quit (Quit: bubye)
1259: [14:29:57] <PanPipes> anyone had an issue with the admin login, whereby you go to /admin which redirects to Security/login?BackURL=%2Fadmin%2Fpages and then on form submit you get sent to Security/Security/LoginForm
1260: [14:36:28] <svandragt> Guys I'm customising a controller with information (http://sspaste.com/paste/show/5277ae4e4684f) from a webservice and rendering it with a custom template. I can display the first level key/values but can't loop any values that are arrays.. <% loop CousreMOAs%> values are empty. when I display $CourseMOAs directly I get output 'Array'
1261: [14:36:42] <svandragt> what am I doing wrong?
1262: [14:41:19] * Shrike_Finland1 quit (Quit: Leaving.)
1263: [14:42:08] * Alexwijn has joined #silverstripe
1264: [14:43:11] <marvanni> svandragt, I think you need to convert the data to ViewableData or ArrayLists/Data
1265: [14:44:50] <PanPipes> any ideas/
1266: [14:51:01] * origincube has left #silverstripe
1267: [14:51:55] <marvanni> panpipes, is there a base_tag in your template?
1268: [14:53:19] <marvanni> hm, nvm, that should not matter...
1269: [14:53:54] <marvanni> http://www.silverstripe.org/general-questions/show/14375
1270: [14:53:59] <marvanni> maybe it does...
1271: [15:22:58] * Alexwijn quit ()
1272: [15:23:20] * toebu quit (Ping timeout: 245 seconds)
1273: [15:35:59] * Shrike_Finland has joined #silverstripe
1274: [15:37:28] * toebu has joined #silverstripe
1275: [15:47:58] * kinglozzer quit ()
1276: [16:00:05] * Colin[pi] has joined #silverstripe
1277: [16:01:15] * toebu quit (Ping timeout: 245 seconds)
1278: [16:04:21] * toebu has joined #silverstripe
1279: [16:08:51] <PanPipes> marvanni: thanks that worked
1280: [16:12:57] * zfmf has left #silverstripe
1281: [16:24:25] * DesignerX has joined #silverstripe
1282: [16:28:32] * kinglozzer has joined #silverstripe
1283: [16:29:12] * ARNHOE quit ()
1284: [16:46:37] * PanPipes quit (Quit: Computer went to sleep)
1285: [16:49:15] * kinglozzer quit ()
1286: [17:23:49] * violetina has joined #silverstripe
1287: [17:24:35] * violet- quit (Ping timeout: 260 seconds)
1288: [17:25:33] * DesignerX quit (Ping timeout: 245 seconds)
1289: [17:35:15] * guci0 quit (Ping timeout: 250 seconds)
1290: [17:39:25] * jrthomer quit (Remote host closed the connection)
1291: [17:39:58] * jrthomer has joined #silverstripe
1292: [17:40:43] * jrthomer quit (Read error: Connection reset by peer)
1293: [17:41:02] * jrthomer has joined #silverstripe
1294: [17:54:42] * AlphaCactus has joined #silverstripe
1295: [18:13:03] * SightUnseen has joined #silverstripe
1296: [18:13:05] * SightUnseen has left #silverstripe
1297: [18:21:11] * zfmf has joined #silverstripe
1298: [18:27:21] * joelpittet has joined #silverstripe
1299: [18:47:49] * joelpittet quit ()
1300: [18:55:06] * Stomach has joined #silverstripe
1301: [18:59:51] <AlphaCactus> lol php: Catchable fatal error: Argument 1 passed to Order::RetrieveModifier() must be an instance of string, string given
1302: [19:04:11] <catcher> AlphaCactus, you should be passing a string, not a string.
1303: [19:04:38] <catcher> I know php is weakly-typed, but come on!
1304: [19:14:05] <AlphaCactus> srsly
1305: [19:19:19] <unsignedint> your probably passing a <currentnamespace>\string instead of a \string
1306: [19:21:37] <unsignedint> or trying to typehint string which doesnt work sadly
1307: [19:23:02] * micmania1 has joined #silverstripe
1308: [19:23:27] <AlphaCactus> i just took out the type hint
1309: [19:24:07] * zfmf has left #silverstripe
1310: [19:26:06] <unsignedint> yep that'd do it, you cant typehint strings, ints, floats etc
1311: [19:27:40] * mobiusnz`home has joined #silverstripe
1312: [19:30:00] * toebu quit (Ping timeout: 245 seconds)
1313: [19:31:23] * svandragt quit (Ping timeout: 272 seconds)
1314: [19:32:50] <micmania1> Is it possible to create dynamic url routes for the root of the url?
1315: [19:33:01] <micmania1> For example /shop
1316: [19:33:23] <micmania1> But i'd like the user to be able to change that URLSegment (without creating it as a page)
1317: [19:34:14] <micmania1> Or maybe page is the best way to go...
1318: [19:34:41] * joelpittet has joined #silverstripe
1319: [19:37:43] * DigNZ has joined #silverstripe
1320: [19:40:06] <guzzlefry> Tricky situation.
1321: [19:40:35] <guzzlefry> I need to find out if at least one of the items in an order is shippable.
1322: [19:41:04] <guzzlefry> $Order->Items()->Products()->find out if shippable by checking type.
1323: [19:41:19] * Ryan-Toast has joined #silverstripe
1324: [19:41:41] <guzzlefry> I might be looking at a join...
1325: [19:41:49] <guzzlefry> or just using an SQL query. :P
1326: [19:45:10] <micmania1> foreach($products ... ?
1327: [19:45:28] <micmania1> or if its just a field in the db why not filter by shippable?
1328: [19:45:47] <micmania1> $Order->Items()->Products()->filter("Shippable", true)->count()
1329: [19:46:32] <guzzlefry> Well, my current issue is that $Order->Items()-Product(); doesn't work.
1330: [19:47:09] <micmania1> what does Items return?
1331: [19:47:34] <zippy__> relatnioship setup right? Checked the database, and the ids of the items in the database to make sure it checks out?
1332: [19:48:24] <guzzlefry> Items() returns a HasManyList.
1333: [19:48:44] <guzzlefry> Which are a bunch of line items.
1334: [19:48:51] <guzzlefry> Those each have a ProductID field.
1335: [19:49:04] <zippy__> I think yoo'd have to iterate that items()s to get to Product()
1336: [19:49:43] <guzzlefry> ah
1337: [19:49:47] * guzzlefry hates doing that. :P
1338: [19:50:14] <micmania1> $Order->Items()->innerJoin("Product", "Product.ID = Item.ID") >> Disclaimer: Thinking out loud.
1339: [19:51:42] <micmania1> You could also just do Product::get()->filter("ID", Order->Items()->idList()) but that's two queries.
1340: [19:52:37] * joelpittet quit ()
1341: [19:53:18] * UncleCheese has joined #silverstripe
1342: [19:56:41] * Pyromanik has joined #silverstripe
1343: [19:57:19] <Pyromanik> I CAME IN LIKE A WREEEECKING BAAAAAAAALL
1344: [19:57:50] <guzzlefry> 0.o
1345: [19:58:01] <guzzlefry> micmania1: thanks, the join works.
1346: [19:58:31] <guzzlefry> $this->Items()->innerJoin("Product", "\"OrderLine\".\"ProductID\" = \"Product\".\"ID\"")->filter("PurchaseType:not", "Stream")->Count();
1347: [19:58:38] <guzzlefry> Hard to read on one line. :P
1348: [19:58:53] <guzzlefry> Also, should have used single quotes for that ON clause.
1349: [20:19:48] * violetina quit (Remote host closed the connection)
1350: [20:23:50] * nickmolhoek has joined #silverstripe
1351: [20:25:30] <zippy__> Looks like the Eminem album is up on spotify... for those interested :)
1352: [20:27:08] <micmania1> zippy__ where you based? Its not on mine :(
1353: [20:28:34] <guzzlefry> zippy__: Which album?
1354: [20:29:15] <guzzlefry> Rap is oddly one of the few genres I can actually code to. :P
1355: [20:29:17] * Alexwijn has joined #silverstripe
1356: [20:29:38] <zippy__> NZ - The Marshall Mathers LP2
1357: [20:42:58] <Pyromanik> The Marshall Mathers LP - oh the memories.
1358: [20:43:21] <Pyromanik> new one more like the old one, or more like more recent stuff?
1359: [20:44:29] <guzzlefry> hrm
1360: [20:44:42] <guzzlefry> Config::inst()->get("SiteConfig", "ShippingPrice");
1361: [20:44:45] <guzzlefry> what am doing wrong?
1362: [20:45:00] <guzzlefry> Or do I have to address the specific SiteConfigExtension?
1363: [20:45:38] <guzzlefry> oh derp
1364: [20:45:47] <guzzlefry> It's actually in the docs. :P
1365: [20:46:33] <Colin[pi]> fffuuuuuu javascript
1366: [20:47:27] * guzzlefry sends Colin[pi] some Perl.
1367: [20:50:08] <catcher> has anyone been successful using symlinked copies of framework/cms?
1368: [20:53:52] <guzzlefry> catcher: Why would you want to?
1369: [20:54:00] <guzzlefry> oh wait, nevermind
1370: [20:54:41] <guzzlefry> What about hard links?
1371: [20:55:23] <catcher> guzzlefry, not sure that'd help, there are some relative path issues.
1372: [20:55:39] <guzzlefry> ah
1373: [20:56:04] <guzzlefry> hm so
1374: [20:56:21] <catcher> Trying this without much luck so far: http://www.silverstripe.org/installing-silverstripe/show/20579
1375: [20:56:52] <guzzlefry> Each item in my cart needs a form to update quantity. Should I put that form on the Line Item?
1376: [21:00:21] <micmania1> quzzlefry, you writing an ecommerce module?
1377: [21:00:36] <guzzlefry> yes...yes I am. :(
1378: [21:00:44] <micmania1> ME TOOOO!
1379: [21:00:48] <guzzlefry> I'm sorry. :P
1380: [21:00:53] <micmania1> haha
1381: [21:01:01] <micmania1> Are you going to open-source it?
1382: [21:01:05] <Pyromanik> catcher: depends on apache
1383: [21:01:24] <Pyromanik> follow sym links and all that
1384: [21:02:10] <guzzlefry> micmania1: doubtful
1385: [21:02:31] <guzzlefry> client probably wants to keep it in-house.
1386: [21:02:35] <catcher> solved, I had overlooked giving apache permissions to the tmp folder I had to create at the site root.
1387: [21:03:19] <catcher> Pyromanik, my apache stuff must have been set up correctly by the good apache people
1388: [21:04:51] <micmania1> guzzlefry, i'm just messing about :)
1389: [21:05:05] <guzzlefry> Wondering where I should put the code to get a "remove item" link for the cart page.
1390: [21:05:47] <guzzlefry> hurting brain :P
1391: [21:06:29] <micmania1> in the cart page controlle?
1392: [21:06:31] <micmania1> r
1393: [21:06:44] <guzzlefry> probably makes the most sense
1394: [21:07:10] <guzzlefry> I was thinking about throwing it on the Line Order, but that would couple it to the CartPage class. :/
1395: [21:07:55] * UndefinedOffset quit (Quit: Leaving.)
1396: [21:19:20] <guzzlefry> help!
1397: [21:19:22] <guzzlefry> $Top.Debug
1398: [21:19:35] <guzzlefry> That should spit out the current page, right?
1399: [21:20:13] <guzzlefry> It's showing the class type it's looping over instead.
1400: [21:24:50] <guzzlefry> [User Error] Up called when we're already at the top of the scope
1401: [21:25:23] <guzzlefry> I'm inside a loop, how the hell is that possible?
1402: [21:26:09] <zippy__> Inception..... how deep are you
1403: [21:27:20] <guzzlefry> Where is Simon? He's like the Leonardo Decaprio of SilverStripe.
1404: [21:27:31] <guzzlefry> or whoever the hero was in Inception, since I haven't watched it. >_>
1405: [21:29:03] <guzzlefry> Is $Top relative to the template include I'm in?
1406: [21:29:47] <guzzlefry> meh
1407: [21:29:49] <guzzlefry> it must be
1408: [21:30:42] <UncleCheese> guzzlefry: includes are just stitched into their parent templates before processing
1409: [21:30:54] <UncleCheese> so there's no scope or anything
1410: [21:30:55] <guzzlefry> oh
1411: [21:30:57] <guzzlefry> Typically the outer scope of a page type's layout template is the page that is currently being rendered. The outer scope of an included template is the scope that it was included into.
1412: [21:31:03] <UncleCheese> until you pass in custom key/val pairs
1413: [21:31:09] <UncleCheese> <% include MyTemplate foo=Bar %>
1414: [21:31:12] <guzzlefry> UncleCheese: ^ Doesn't that say otherwise?
1415: [21:31:26] <guzzlefry> oh wait
1416: [21:31:28] <UncleCheese> right, they don't have their own scope
1417: [21:31:32] <guzzlefry> so...
1418: [21:31:35] <UncleCheese> it's exactly like a PHP include
1419: [21:31:36] <guzzlefry> wtf :P
1420: [21:31:46] <UncleCheese> you get whatever whatever scope you had before you called the include
1421: [21:31:59] <UncleCheese> so
1422: [21:32:00] <guzzlefry> I should, but I don't.
1423: [21:32:11] <UncleCheese> <% loop $SomeList %> <% include ListItem %>
1424: [21:32:24] <UncleCheese> in ListItem.ss, you can call all the properties of the objects returned in the loop
1425: [21:32:44] <guzzlefry> <% loop $Cart.Items %>$Top.Debug <% include CartItem %><% end_loop %>
1426: [21:32:45] <UncleCheese> and you can't call all the properties of the parent of the loop
1427: [21:33:05] <guzzlefry> Top.Debug spits out Controller info in that.
1428: [21:33:11] <UncleCheese> as it should od
1429: [21:33:12] <UncleCheese> do
1430: [21:33:25] <guzzlefry> If I call $Top.Debug inside that include, it says $Top is a Cartitem
1431: [21:33:37] <UncleCheese> ummm
1432: [21:33:42] <UncleCheese> ok, you might have something there
1433: [21:33:47] <UncleCheese> i did not know that
1434: [21:33:48] <guzzlefry> yeah...
1435: [21:33:51] <UncleCheese> so
1436: [21:33:53] <UncleCheese> here's what you do
1437: [21:34:00] <UncleCheese> <% include CartItem Scope=$Top %>
1438: [21:34:06] <UncleCheese> and call $Scope.Debug
1439: [21:36:04] <guzzlefry> thanks, I can do stuff now.
1440: [21:36:08] <guzzlefry> So, is that some bug?
1441: [21:36:19] * zfmf has joined #silverstripe
1442: [21:37:21] <UncleCheese> no
1443: [21:37:25] <UncleCheese> that must be by design
1444: [21:37:41] <guzzlefry> Should probably be documented. >_>
1445: [21:37:42] <UncleCheese> i can see why you would want $Top to return the highest level in the current template
1446: [21:37:56] <UncleCheese> one of the efforts in 3.0 was to make includes more reusable and modular
1447: [21:38:11] <UncleCheese> so it makes sense to me that you wouldn't want $Top to know anything about its context
1448: [21:38:47] <UncleCheese> the reason they allow you to pass in custom variables is to serve this purpose
1449: [21:38:58] <UncleCheese> so Scope=$Top is not a workaround.. that's the intended design pattern
1450: [21:39:35] <guzzlefry> ah
1451: [21:39:50] <guzzlefry> I need to start a list of documentation stuff to write.
1452: [21:39:57] <catcher> guzzlefry> Where is Simon? He's like the Leonardo Decaprio of SilverStripe.
1453: [21:39:59] <catcher> lol
1454: [21:43:00] <unsignedint> hey does anyone know how to query relations? eg I have a VehicleImage that $has_one a VehicleItem which $has_one a VehicleMake. I want to select all the VehicleImages where VehicleMakeID=1
1455: [21:43:53] <unsignedint> doing VehicleImage::get()->filter(array("VehicleItem.VehicleMakeID" => "1")) doesnt work
1456: [21:44:25] * antmas has joined #silverstripe
1457: [21:46:56] <antmas> mornin
1458: [21:47:08] <unsignedint> mornin antmas
1459: [21:47:17] <unsignedint> know much about querying relations in SS?
1460: [21:48:04] <antmas> unsignedint: not really sorry :(
1461: [21:48:12] <unsignedint> no worries :)
1462: [21:48:29] <antmas> I'm mostly a .net guy who pesters ss23 and Pyromanik
1463: [21:48:30] <antmas> :P
1464: [21:48:54] <ss23> lol
1465: [21:48:58] <ss23> LOL .NET
1466: [21:49:05] <antmas> You love it
1467: [21:49:12] <guzzlefry> ss23: you play League bro?!
1468: [21:49:13] <antmas> master race lang
1469: [21:49:19] <ss23> guzzlefry: FUCKING WHO DOESN'T BRA?
1470: [21:49:24] <AlphaCactus> League!
1471: [21:49:25] <unsignedint> .NET is leagues ahead of PHP
1472: [21:49:38] <ss23> fucking
1473: [21:49:39] <guzzlefry> ss23: ONLY THE PROLETARIATE BRO
1474: [21:49:39] <antmas> ikr?!
1475: [21:49:43] <ss23> lolking is down?
1476: [21:49:53] <ss23> guzzlefry: You on OCE? Ranked?
1477: [21:49:59] <guzzlefry> oh
1478: [21:50:02] <guzzlefry> I don't really play it.
1479: [21:50:02] <ss23> FUCKING BRONZE #1 HERE U JELLY OF MY BRONZE?!
1480: [21:50:04] <ss23> oh
1481: [21:50:04] <ss23> wtf
1482: [21:50:06] <ss23> wtffffff
1483: [21:50:07] <guzzlefry> I found it kind of boring.
1484: [21:50:08] <ss23> wow.
1485: [21:50:09] <guzzlefry> i sorry
1486: [21:50:12] <ss23> haha
1487: [21:50:15] <ss23> Yeah, not for everyone
1488: [21:50:18] <guzzlefry> also
1489: [21:50:22] <guzzlefry> OH SHIT HE HAS OPS
1490: [21:50:26] <antmas> talking about LoL right?
1491: [21:50:28] <ss23> YEAH
1492: [21:50:30] <ss23> WHATCHU GUNNA DO?
1493: [21:50:30] <AlphaCactus> I hate being on top. how come they can't flip the map.
1494: [21:50:34] <guzzlefry> hide
1495: [21:50:47] * chrisrio has joined #silverstripe
1496: [21:50:59] <chrisrio> http://doc.silverstripe.org/framework/en/3.0/reference/image
1497: [21:51:04] <chrisrio> documentation is totally wrong
1498: [21:51:08] <chrisrio> who do I cry at?
1499: [21:51:19] <antmas> fix it fix it fix it fix it fix it
1500: [21:51:37] <guzzlefry> Pull request!
1501: [21:51:58] <chrisrio> clicked edit this page and its spinning its wheels hardcore.
1502: [21:52:01] <guzzlefry> Or do what I do and cry to everyone who's paying attention.
1503: [21:52:08] <chrisrio> but yeah
1504: [21:52:19] <chrisrio> the PHP based image resize examples are wrong
1505: [21:52:22] <chrisrio> even the first one is wrong
1506: [21:53:05] <chrisrio> it's "SetSize" not "resize"
1507: [21:54:02] <antmas> Jean- Fabiaaaaaaaaaaan!
1508: [21:54:28] <antmas> y u no irc
1509: [21:54:35] * catcher quit (Quit: Leaving)
1510: [21:55:06] <guzzlefry> [Warning] Missing argument 1 for CartPage_Controller::getRemoveItemLink()
1511: [21:55:12] <guzzlefry> public function getRemoveItemLink($item)
1512: [21:55:29] <guzzlefry> $CartController.RemoveItemLink($ProductID)
1513: [21:55:38] <guzzlefry> I don't understand.
1514: [21:55:50] <unsignedint> chrisrio: tell ss23, he is docs maintainer
1515: [21:55:56] <micmania1> anybody done anything with chartjs and ss?
1516: [21:56:02] <chrisrio> whats his email addy yo
1517: [21:56:06] <chrisrio> he needs more random porn signups in his life
1518: [21:56:20] <Alexwijn> Why did " sake dev/build "flush=1"" not install my new admin controller at the production site
1519: [21:56:41] <ss23> I
1520: [21:56:42] <ss23> I SWEAR
1521: [21:56:43] <micmania1> try flush=1 without the quotations
1522: [21:56:56] <ss23> Okay fine, I'm the docs maintainer -- I'm updating the docs to point out that spronk is the subsites master
1523: [21:57:03] <Alexwijn> Same
1524: [21:57:29] <Alexwijn> I can try to use the url, but I want to get this fixed too
1525: [21:58:01] <guzzlefry> ss23: Are you really the docs maintainer?
1526: [22:00:10] <Alexwijn> Any other suggestion?
1527: [22:00:18] <antmas> the docs are borked in IE
1528: [22:00:24] <antmas> :D
1529: [22:00:33] <Alexwijn> Alright, I used it by url...and that fixed it
1530: [22:00:43] <Alexwijn> still I want it to work by the command aswell
1531: [22:00:49] <Alexwijn> I want it reliable
1532: [22:01:14] <ss23> guzzlefry: No
1533: [22:01:15] <ss23> ;_;
1534: [22:01:19] <ss23> There are no docs maintainers
1535: [22:01:41] <guzzlefry> oh
1536: [22:01:53] <guzzlefry> that makes more sense actually :P
1537: [22:02:04] <Alexwijn> Has anyone had this issue?
1538: [22:02:51] <guzzlefry> So, $CartController.RemoveItemLink("121") in the template, also throws the missing argument warning.
1539: [22:03:17] <Colin[pi]> mornin ss23
1540: [22:06:20] <guzzlefry> rawr
1541: [22:06:29] <ss23> moin moin
1542: [22:06:45] <guzzlefry> I seriously have nfi what's going on.
1543: [22:07:06] <antmas> Colin[pi]: COLIN!
1544: [22:07:08] * Alexwijn quit ()
1545: [22:07:09] <antmas> :O
1546: [22:07:11] <antmas> HI
1547: [22:07:15] <Colin[pi]> hi antmas! :D
1548: [22:11:05] <guzzlefry> UncleCheese: http://sspaste.com/paste/show/5278198895a7f Possibly related to using that scope hack?
1549: [22:12:31] <UncleCheese> i doubt it
1550: [22:12:42] <UncleCheese> it's calling the function on the correct object so there's no scoping issue
1551: [22:12:46] <UncleCheese> try passing the 121 as a literal
1552: [22:12:54] <guzzlefry> UncleCheese: I did that as well.
1553: [22:12:56] * EasyCo has joined #silverstripe
1554: [22:12:58] <guzzlefry> stumped.
1555: [22:15:19] <guzzlefry> Going to attempt an update to stable.
1556: [22:19:01] <guzzlefry> didn't help
1557: [22:29:59] <Ryan-Toast> How can I get a HasManyComplexTableField to open in a new page, instead of a popup?
1558: [22:33:10] <guzzlefry> meh, screw it
1559: [22:33:16] <guzzlefry> I'll just hardcode the links
1560: [22:33:44] <antmas> guzzlefry: hack le core
1561: [22:34:06] <guzzlefry> no
1562: [22:34:10] <spronk> ss23 WHAT HAVE YOU DONE
1563: [22:34:20] <guzzlefry> because then I start throwing stuff when composer overwrites my changes. :P
1564: [22:39:38] <ss23> ;_;
1565: [22:40:00] <guzzlefry> what do that face mean?
1566: [22:40:31] <ss23> Crying/sad
1567: [22:40:37] <guzzlefry> oh
1568: [22:40:49] <guzzlefry> ss23: are you making fu nof me, or did I upset you? >_>
1569: [22:40:52] <guzzlefry> fun of*
1570: [22:40:57] <ss23> lol
1571: [22:40:59] <ss23> Neither
1572: [22:41:06] <ss23> I was like "OH GOD SPRONK HIGHLIGHTED Me ;_;"
1573: [22:41:32] <guzzlefry> oh right, you're in trouble or something.
1574: [22:41:49] <spronk> that's right bitch
1575: [22:42:46] <ss23> lol
1576: [22:43:38] <Ryan-Toast> ever since I upgraded my SS version flush=all doesn't do anything.
1577: [22:43:52] <Ryan-Toast> Anyone come across this before?
1578: [22:44:04] <zippy__> Ryan-Toast: need to be logged in now
1579: [22:44:13] <Ryan-Toast> zippy__: I am logged in.
1580: [22:44:27] <Ryan-Toast> And it was an upgrade to the last 2.4.x version
1581: [22:44:29] <zippy__> Not doing it on the /dev/build page?
1582: [22:44:33] <zippy__> ah ok
1583: [22:45:07] <antmas> Ryan-Toast: what about flush=1?
1584: [22:45:37] <Ryan-Toast> It will run, and generate a token, but it won't actually update the layout file.
1585: [22:45:56] <Ryan-Toast> Is there a cache file that I can manually delete?
1586: [22:46:41] <zippy__> the silverstripe-cache folder in either your tmp folder, or document root
1587: [22:48:54] <Ryan-Toast> I don't see it in the root, and there's no tmp folder.
1588: [22:49:28] <antmas> Ryan-Toast: are you command or explorer?
1589: [22:49:31] <antmas> in*
1590: [22:49:35] <Ryan-Toast> Both.
1591: [22:49:39] <antmas> hmm
1592: [22:50:40] <zippy__> tmp folder on your computer I mean
1593: [22:50:47] <zippy__> ie /tmp/ or whatever windows is
1594: [22:51:17] <zippy__> shudder
1595: [22:51:45] <antmas> should it not be just "rm silverstripe-cache-var-www-sitename/ -R?
1596: [22:51:54] <antmas> cd /tmp first
1597: [22:52:09] <antmas> :p
1598: [22:52:47] <Ryan-Toast> nothing in the tmp folder for silverstripe :/
1599: [22:52:58] <Ryan-Toast> Fuck I hate this website.
1600: [22:53:14] <antmas> lol
1601: [22:53:35] <antmas> welcome to the upgrade path
1602: [22:53:53] <Ryan-Toast> FUCK IT, I'M REBUILDING IT IN 3.1
1603: [22:55:41] <antmas> Ryan-Toast: is the site live?
1604: [23:04:43] * antmas quit ()
1605: [23:05:17] * antmas has joined #silverstripe
1606: [23:09:47] * chrisrio quit (Ping timeout: 250 seconds)
1607: [23:11:38] <Ryan-Toast> no
1608: [23:11:59] <Ryan-Toast> antmas: no, it's local at the moment.
1609: [23:13:04] <Ryan-Toast> Rebuilding it should be fine. I just need to know the best way to handle having one installation handle different countries. They will share about 80% of the same content, but certain ones will have different pages etc.
1610: [23:13:34] <Ryan-Toast> The current one uses sub sites. Is this the best way to do it?
1611: [23:18:01] * mobiusnz`home quit (Quit: Leaving.)
1612: [23:19:59] * mobiusnz`home has joined #silverstripe
1613: [23:31:06] * UncleCheese quit (Quit: UncleCheese)
1614: [23:31:27] * antmas quit (Ping timeout: 250 seconds)
1615: [23:43:16] <marvanni> there is only a session_id() when a Session::set() occured?
1616: [23:49:58] * zfmf has left #silverstripe
1617: [23:54:05] * DesignerX has joined #silverstripe
1618: [23:54:57] * DigNZ quit (Quit: DigNZ)

These logs were automatically created by ss-log on irc.freenode.net.