*** tpb has joined #melange | 00:00 | |
*** madrazr has joined #melange | 00:07 | |
*** madrazr has quit IRC | 00:09 | |
*** lh has quit IRC | 00:09 | |
*** lh has joined #melange | 00:09 | |
*** scorche|sh has quit IRC | 00:10 | |
*** scorche|sh has joined #melange | 00:10 | |
*** penyaskito has quit IRC | 00:11 | |
*** no_mind has quit IRC | 00:11 | |
*** veelck has quit IRC | 00:11 | |
*** veelck has joined #melange | 00:11 | |
*** no_mind has joined #melange | 00:11 | |
*** penyaskito has joined #melange | 00:11 | |
*** veelck has quit IRC | 00:12 | |
*** sandy|lurk has quit IRC | 00:12 | |
*** gloob has quit IRC | 00:12 | |
*** gloob has joined #melange | 00:12 | |
*** tpb has joined #melange | 00:16 | |
*** sandy|lurk has joined #melange | 00:17 | |
*** lisppaste9 has quit IRC | 00:17 | |
*** r0bby has quit IRC | 00:17 | |
*** lh has joined #melange | 00:17 | |
*** summatusmentis has joined #melange | 00:21 | |
*** summatusmentis has quit IRC | 00:23 | |
*** penyaskito has quit IRC | 00:27 | |
*** dmitrig01 has quit IRC | 00:27 | |
*** Landon has quit IRC | 00:27 | |
*** danderson has quit IRC | 00:27 | |
*** Landon_ has joined #melange | 00:27 | |
*** Landon_ is now known as Landon | 00:27 | |
*** penyaskito has joined #melange | 00:27 | |
*** scorche has joined #melange | 00:28 | |
*** Landon has quit IRC | 00:28 | |
*** scorche has quit IRC | 00:28 | |
*** penyaskito has quit IRC | 00:28 | |
*** sandy|lurk has quit IRC | 00:28 | |
*** lh has quit IRC | 00:28 | |
*** gloob has quit IRC | 00:28 | |
*** madrazr has quit IRC | 00:28 | |
*** no_mind has quit IRC | 00:28 | |
*** scorche|sh has quit IRC | 00:28 | |
*** durin42 has quit IRC | 00:28 | |
*** tpb has joined #melange | 00:40 | |
*** dmitrig01|afk has joined #melange | 00:41 | |
*** ChanServ sets mode: +v dmitrig01|afk | 00:41 | |
*** veelck has joined #melange | 00:41 | |
*** gloob has joined #melange | 00:44 | |
*** scorche has quit IRC | 00:54 | |
*** scorche has joined #melange | 00:55 | |
*** dmitrig01|afk is now known as dmitrig01|happy | 01:00 | |
*** madrazr1 has joined #melange | 01:14 | |
*** madrazr has quit IRC | 01:14 | |
*** madrazr1 is now known as madrazr | 01:17 | |
*** mithro has joined #melange | 01:32 | |
*** ChanServ sets mode: +v mithro | 01:32 | |
*** dmitrig01|happy is now known as dmitrig01 | 01:36 | |
*** madrazr has quit IRC | 01:56 | |
*** dmitrig01 has quit IRC | 02:31 | |
*** ahassany has joined #melange | 02:36 | |
*** ahassany has quit IRC | 02:36 | |
*** madrazr has joined #melange | 03:20 | |
*** madrazr has quit IRC | 03:25 | |
*** madrazr has joined #melange | 03:26 | |
*** Lennie has joined #melange | 03:52 | |
*** ChanServ sets mode: +v Lennie | 03:52 | |
*** mithro has quit IRC | 04:02 | |
*** solydzajs has joined #melange | 04:06 | |
*** ChanServ sets mode: +o solydzajs | 04:06 | |
*** mithro has joined #melange | 04:09 | |
*** ChanServ sets mode: +v mithro | 04:09 | |
*** solydzajs has quit IRC | 04:26 | |
*** madrazr has quit IRC | 05:15 | |
*** madrazr has joined #melange | 05:16 | |
*** madrazr has quit IRC | 05:30 | |
*** bhy has joined #melange | 05:41 | |
*** lisppaste9 has joined #melange | 05:49 | |
*** SRabbelier has joined #melange | 05:55 | |
*** ChanServ sets mode: +v SRabbelier | 05:55 | |
*** Lennie is now known as Lennie|Food | 06:40 | |
*** penyaskito has quit IRC | 06:40 | |
*** solydzajs has joined #melange | 06:57 | |
*** ChanServ sets mode: +o solydzajs | 06:57 | |
*** shiyee has joined #melange | 07:00 | |
*** Lennie|Food is now known as Lennie|Food|Gone | 07:54 | |
*** Lennie|Food|Gone is now known as Lennie|Gone | 07:54 | |
*** danderson has joined #melange | 08:07 | |
*** ChanServ sets mode: +o danderson | 08:07 | |
*** pwizard88 has joined #melange | 08:12 | |
pwizard88 | HI everyone, I am one of the gsocers from last year interested in contributing to Melange. Unfortunately, I missed the IRC meeting. Can I find the logs somewhere? | 08:13 |
---|---|---|
danderson | see topic | 08:13 |
pwizard88 | ah sorry :) | 08:14 |
solydzajs | pwizard88: the meeting summary with the irc logs link has been sent to both melange-soc and melange-soc-dev groups | 08:18 |
solydzajs | pwizard88: you are familiar with python ? django ? gae ? html ? js ? ajax ?;-) | 08:18 |
pwizard88 | solydzajs: Worked with python and django before | 08:19 |
solydzajs | pwizard88: ok that's great | 08:19 |
pwizard88 | solydzajs: and did some stuff with JS and ajax | 08:19 |
solydzajs | pwizard88: did you look at our source code already ? | 08:19 |
pwizard88 | solydzajs: no not yet, I checked out the code some time back but didn't get a time to look at it then, saw that contributors are required on the gsoc mailing list, so I am giving it another shot :) | 08:20 |
pwizard88 | solydzajs: really pissed at missing the meeting though :( | 08:21 |
solydzajs | pwizard88: happens ;-) where do you live ? | 08:22 |
pwizard88 | solydzajs: India | 08:22 |
solydzajs | ok | 08:24 |
pwizard88 | solydzajs: Oh, you are Pawel Solyga :) Nice to meet you :) | 08:27 |
solydzajs | pwizard88: nice to meet you too ;-) | 08:27 |
pwizard88 | solydzajs: This is Gautam Sewani, from IIT Guwahati, Junior student Computer Science | 08:28 |
solydzajs | pwizard88: who did you work for during GSoC ? | 08:38 |
pwizard88 | solydzajs: Boost C++ | 08:39 |
pwizard88 | solydzajs: under John Maddock | 08:39 |
solydzajs | pwizard88: good ;-) | 08:39 |
*** madrazr has joined #melange | 08:39 | |
pwizard88 | solydzajs: could you please give me developer rights too? :) | 08:40 |
solydzajs | pwizard88: done | 08:41 |
pwizard88 | solydzajs: awesome :D | 08:41 |
*** MatthewWilkes has joined #melange | 08:45 | |
solydzajs | MatthewWilkes: Hi :-) | 08:48 |
*** no_mind has left #melange | 09:01 | |
bhy | Lennie|Gone, hi | 09:13 |
durin42 | good morning everyone | 09:52 |
durin42 | or whatever time of day it is where you are | 09:52 |
durin42 | solydzajs: got a second for a question about linkable? | 09:52 |
*** penyaskito has joined #melange | 10:29 | |
*** penyaskito has joined #melange | 10:30 | |
*** Merio has joined #melange | 11:08 | |
*** tlarsen has joined #melange | 11:09 | |
*** ChanServ sets mode: +o tlarsen | 11:09 | |
*** shiyee has quit IRC | 11:22 | |
*** madrazr1 has joined #melange | 11:29 | |
*** shiyee has joined #melange | 11:30 | |
*** madrazr has quit IRC | 11:30 | |
*** shiyee has quit IRC | 11:33 | |
SRabbelier | durin42: I do | 11:50 |
SRabbelier | durin42: have time that is :P | 11:50 |
SRabbelier | durin42: if you pinged me earlier I'd have you sooner ;) | 11:50 |
durin42 | Ah, sorry | 11:51 |
durin42 | well, I'm not sure what I should be doing in my test for the user profile view | 11:51 |
tlarsen | durin42: Any progress on getting stuff running on that OSU OSL machine? | 11:53 |
SRabbelier | durin42: do another one | 11:54 |
SRabbelier | durin42: that one's hard :) | 11:54 |
SRabbelier | durin42: and Lennie is goign to refactor it soon anyway | 11:54 |
SRabbelier | durin42: (tonight that is) | 11:54 |
*** tlarsen is now known as tlarsen|afk | 11:57 | |
durin42 | tlarsen: a little. Looks like I'm going to tackle that next, since my test is bogus anyway. | 11:57 |
durin42 | tlarsen|afk: going to have to email dannyb | 12:08 |
*** MatthewWilkes has quit IRC | 12:29 | |
*** madrazr1 is now known as madrazr | 12:41 | |
durin42 | SRabbelier: I'm willing to take input for something to test | 12:45 |
durin42 | I'd like to improve test coverage (any is better than none...) | 12:46 |
durin42 | and I'd like to have some example tests out there for you all | 12:46 |
SRabbelier | durin42: I committed some tests yesterday | 13:03 |
SRabbelier | durin42: it would be nice to have some tests for the logic | 13:05 |
SRabbelier | durin42: (and that doesn't require much knowledge of the app) | 13:05 |
SRabbelier | durin42: especially base.Logic needs some good testing | 13:05 |
SRabbelier | durin42: especially the getForFields method, and it's ability to do an OR if the filter contains a list | 13:06 |
*** Lennie|Gone is now known as Lennie | 13:09 | |
Lennie | hi hi :) | 13:09 |
SRabbelier | Lennie: O HI | 13:09 |
Lennie | hi bhy | 13:09 |
bhy | hi Lennie | 13:11 |
SRabbelier | bhy: works for me on Fx 2.x | 13:23 |
SRabbelier | bhy: and makes things look better on IE | 13:23 |
SRabbelier | bhy: I'll apply your patch | 13:23 |
bhy | em, I tried on Wine IE6, the beauty tips lib totally can't work | 13:24 |
bhy | thanks :) | 13:24 |
SRabbelier | bhy: I see, is there a way around that, or are IE users stuck with no tab support? :) | 13:24 |
SRabbelier | bhy: one remark though | 13:25 |
SRabbelier | bhy: if you go to /user/edit/yourlinkid | 13:25 |
SRabbelier | bhy: the tooltip doesn't show up on the row of the checkbox | 13:26 |
SRabbelier | bhy: only if you actually hover over the checkbox itself | 13:26 |
SRabbelier | bhy: (which is rather small) | 13:26 |
Lennie | you want to expand it to the text? | 13:26 |
SRabbelier | Lennie: I want it to be in the middle of the <tr> like the rest is | 13:27 |
SRabbelier | Lennie: either that, or to the right, as the old one did | 13:27 |
SRabbelier | but I will apply | 13:29 |
bhy | let me see | 13:29 |
Lennie | SRabbelier 1 min | 13:29 |
Lennie | bhy, he'll need your name and email adress to add to Authors List | 13:29 |
SRabbelier | bhy: I think it looks better with alpha=0.8, instead of 0.9 | 13:30 |
Lennie | you two fight it out ^_ ^ | 13:30 |
Lennie | just make sure you get his name and email :D | 13:30 |
bhy | just put my name and mail here? | 13:30 |
Lennie | yeah everyone can see it anyway :P | 13:31 |
bhy | Haoyu Bai <[email protected]> | 13:32 |
SRabbelier | bhy: ok, got it :) | 13:34 |
SRabbelier | bhy: let me know if you come up with something for the check boxes | 13:34 |
bhy | okey :) | 13:34 |
*** tlarsen|afk is now known as tlarsen | 13:43 | |
bhy | bingo | 14:00 |
bhy | SRabbelier, I solved the check box | 14:00 |
SRabbelier | bhy: awesome! :) | 14:00 |
SRabbelier | bhy: mail me the updated patch please | 14:00 |
bhy | SRabbelier, em, mail address? | 14:02 |
SRabbelier | bhy: [email protected] is fine | 14:03 |
bhy | SRabbelier, sent | 14:05 |
bhy | I mailed you the .js file | 14:05 |
bhy | just override the original one and see | 14:06 |
SRabbelier | bhy: ok, will do | 14:06 |
bhy | I also changed the background color, seems better :) | 14:06 |
SRabbelier | bhy: ok | 14:06 |
*** Lennie is now known as Lennie|Gone | 14:07 | |
bhy | SRabbelier, oh, and please check it under IE, thanks :) | 14:08 |
solydzajs | hi all | 14:09 |
solydzajs | i'm back | 14:09 |
solydzajs | SRabbelier: ping :-) | 14:09 |
solydzajs | Lennie|Gone: I'm back. | 14:10 |
SRabbelier | solydzajs: heya | 14:10 |
SRabbelier | bhy: I can't | 14:10 |
SRabbelier | bhy: you'll have to mail it to Lennie|Gone for that | 14:10 |
* SRabbelier is on Debian :) | 14:11 | |
solydzajs | SRabbelier: reading backlog | 14:12 |
* bhy is on Archlinux :) | 14:12 | |
* durin42 hugs SRabbelier | 14:12 | |
durin42 | tests! | 14:12 |
durin42 | yay, 21 tests instead of 9 | 14:12 |
solydzajs | durin42: you were asking some question ? is that solved already ? | 14:12 |
SRabbelier | durin42: more will follow as soon as I got this working | 14:12 |
durin42 | solydzajs: yeah, what I was working on testing is a candidate for rewriting | 14:12 |
durin42 | so SRabbelier pointed me at other stuff to test | 14:13 |
durin42 | SRabbelier: what other stuff? | 14:13 |
SRabbelier | durin42: making sidebar construction not horribly slow | 14:15 |
durin42 | heh | 14:16 |
SRabbelier | I think I found the culprit | 14:16 |
durin42 | Maybe we can have a test that asserts it runs within so many seconds | 14:16 |
SRabbelier | it's not that we were doing slow fibbonaci | 14:16 |
durin42 | eg 0.1 seconds or something | 14:16 |
durin42 | that might be a good thing to add to nose anyway | 14:16 |
SRabbelier | just that we were calling 'get_current_user' and retrieving the user that goes with that account over and over and over again | 14:16 |
durin42 | oh, fun | 14:17 |
*** ahassany has joined #melange | 14:18 | |
*** ahassany has left #melange | 14:19 | |
solydzajs | SRabbelier: you there ? | 14:31 |
SRabbelier | solydzajs: ofc | 14:33 |
solydzajs | SRabbelier: what's the motivation behind the new access module ? | 14:34 |
solydzajs | SRabbelier: not that I don't like it ;-) I'm reviewing it right now, looks solid | 14:35 |
SRabbelier | solydzajs: to make it faster | 14:38 |
SRabbelier | solydzajs: can't cache single function calls very easily | 14:38 |
SRabbelier | solydzajs: can't mock it either | 14:38 |
SRabbelier | solydzajs: in other words, the design was crappy :P | 14:39 |
SRabbelier | solydzajs: (partially cos I suck, partially cos we weren't testing :P) | 14:39 |
solydzajs | SRabbelier: well that's what refactoring is for ;-) no worries | 14:39 |
solydzajs | SRabbelier: the commit LGTM | 14:39 |
SRabbelier | solydzajs: I managed to reduce the the time it takes to do the access checks to below 0.02s | 14:40 |
solydzajs | SRabbelier: how much was it before ? | 14:40 |
SRabbelier | solydzajs: good question | 14:42 |
SRabbelier | solydzajs: I'll find that out later :P | 14:42 |
SRabbelier | solydzajs: but most slowness was because we were doing get_current_user() and user_logic.getForCurrentAccount() every other call :P | 14:42 |
solydzajs | get_current_user was used a lot, I mean aaaaaa lot :-) | 14:44 |
solydzajs | way too many times | 14:44 |
SRabbelier | solydzajs: yup | 14:51 |
SRabbelier | solydzajs: we should probably just put it in memcache | 14:52 |
SRabbelier | solydzajs: together with getForCurrentAccount | 14:52 |
*** pwizard88 has quit IRC | 14:52 | |
SRabbelier | solydzajs: but I solved it for sidebar by passing it around | 14:52 |
SRabbelier | since even memcache isnt' free | 14:52 |
solydzajs | true | 14:56 |
solydzajs | ok good that it's solved | 14:56 |
solydzajs | SRabbelier: http://www.youtube.com/watch?v=M55287T_aes | 14:56 |
tpb | Title: YouTube - Студент(прикол) (абалденный прикол)СРОЧНО смотреть!!!!!!!!! (at www.youtube.com) | 14:56 |
SRabbelier | solydzajs: mhhh... solved.... | 14:56 |
SRabbelier | solydzajs: wtf is that movie? :P | 14:56 |
solydzajs | some funny movie ;-) | 14:58 |
SRabbelier | solydzajs: lol, hilarious | 15:00 |
*** bhy has quit IRC | 15:03 | |
*** madrazr has quit IRC | 15:15 | |
SRabbelier | I did it | 15:26 |
SRabbelier | solydzajs: I did it! :) | 15:26 |
SRabbelier | solydzajs: Victory! | 15:26 |
solydzajs | ? | 15:28 |
solydzajs | SRabbelier: what did you do ?;-) | 15:28 |
SRabbelier | solydzajs: generating the sidebar now only takes about 1s | 15:29 |
SRabbelier | (cpu time) | 15:29 |
SRabbelier | 0.8s of user time | 15:29 |
solydzajs | yay! :-) | 15:29 |
SRabbelier | I think, if we cache user rights for about... a minute | 15:30 |
SRabbelier | or half a minute | 15:30 |
SRabbelier | that would speed things up :) | 15:30 |
SRabbelier | and then we can cache the entire sidebar for about 10 minutes | 15:30 |
SRabbelier | solydzajs: how does that sound? | 15:30 |
solydzajs | well, what if I become a new Role in between ? | 15:30 |
Lennie|Gone | ? | 15:31 |
Lennie|Gone | what should I see here :P | 15:31 |
Lennie|Gone | it will be cleared by my flush in role? | 15:31 |
SRabbelier | solydzajs: it will take 30s for access changes to propagate | 15:31 |
SRabbelier | solydzajs: and the sidebar will update after 10m | 15:31 |
solydzajs | SRabbelier: not good | 15:31 |
SRabbelier | solydzajs: why not | 15:32 |
SRabbelier | solydzajs: 30s is not long at all | 15:32 |
Lennie|Gone | an access change is not gonna happen that often, so just use the flush? | 15:32 |
solydzajs | once you get new rights your sidebar should have all the new links, right after you become new Role | 15:32 |
SRabbelier | solydzajs: you were not listening to Lennard? | 15:32 |
SRabbelier | solydzajs: "(09:31:24 PM) Lennie|Gone: it will be cleared by my flush in role" | 15:33 |
solydzajs | oh missed that :-) | 15:33 |
SRabbelier | :P | 15:33 |
solydzajs | ok | 15:33 |
SRabbelier | it's just that if we forget to flush somewhere | 15:33 |
solydzajs | that's ok then | 15:33 |
Lennie|Gone | the sidebar will be flushed | 15:33 |
Lennie|Gone | bbl | 15:33 |
Lennie|Gone | busy | 15:33 |
solydzajs | if we forget to flush, we will have to wait 10mins for sidebar refresh | 15:33 |
solydzajs | :-) | 15:33 |
solydzajs | that means we can't forget ;-) | 15:34 |
SRabbelier | solydzajs: no | 15:34 |
SRabbelier | solydzajs: that's not what those are for | 15:34 |
SRabbelier | solydzajs: the timeout | 15:34 |
SRabbelier | solydzajs: it's for things like, when a new Program is available | 15:34 |
SRabbelier | solydzajs: it'll take at most 10m to show up | 15:34 |
SRabbelier | solydzajs: but if everybody is hitting f5 | 15:34 |
SRabbelier | solydzajs: the cache won't miss for all of them at the same time | 15:35 |
tlarsen | SRabbelier: can you cache per-User copies of the generated sidebar, and only generate the sidebar if: | 15:35 |
SRabbelier | tlarsen: we already do that | 15:35 |
tlarsen | SRabbelier: 1) there is no cache entry for that User? | 15:35 |
SRabbelier | tlarsen: that's what we're talking about currently | 15:35 |
tlarsen | SRabbelier: 2) the User's Role changes the access rights somehow? | 15:35 |
SRabbelier | tlarsen: that's what we've been talking about | 15:35 |
SRabbelier | tlarsen: flushing = clearing the cache in case the access rights changed | 15:36 |
SRabbelier | tlarsen: I have a question for you though | 15:36 |
tlarsen | SRabbelier: but only clearing the entry for that User, right? | 15:36 |
SRabbelier | tlarsen: right, ofcourse :) | 15:36 |
SRabbelier | tlarsen: that's why we don't want to clear the entire cache when a new program is added | 15:36 |
SRabbelier | tlarsen: as there would be a cache miss for everybody at the same time :-/ | 15:36 |
tlarsen | SRabbelier: when a new Program is added, how about having a random expiry interval, per User? | 15:37 |
*** Landon has quit IRC | 15:38 | |
*** Landon has joined #melange | 15:38 | |
SRabbelier | tlarsen: we already have that | 15:38 |
tlarsen | SRabbelier: 2 minutes + or - 60 * random() seconds | 15:38 |
tlarsen | (for example) | 15:38 |
SRabbelier | tlarsen: since not everybody created the cache at the same time | 15:38 |
SRabbelier | tlarsen: mhhhh, so cache indefnitly unless flushed | 15:38 |
tlarsen | SRabbelier: I am talking about a shorter limit when something major changes, like adding a new Program. | 15:38 |
SRabbelier | tlarsen: and update the expiration time in case we need a global flush | 15:39 |
tlarsen | SRabbelier: No, just record that something requiring a global flush happened, with an expiry time for that status of the maximum cache lifetime anyway. | 15:39 |
SRabbelier | tlarsen: anyway, my question for you is that zipimport takes _looooong_ | 15:39 |
SRabbelier | tlarsen: can you find out from the GAE team how we can make sure that the django module is only imported once, ever? | 15:40 |
SRabbelier | tlarsen: (unless a new version of the app is loaded) | 15:40 |
tlarsen | Any code that wants to display the sidebar can select a random number and see if it has been that random time since the global flush was requested, and flush the sidebar for *that* User. | 15:40 |
tlarsen | SRabbelier: No, I can't. | 15:40 |
tlarsen | SRabbelier: Your app process is not guaranteed to run *forever*. | 15:40 |
tlarsen | SRabbelier: It will persist as long as there is enough traffic to justify it being in memory. | 15:41 |
Lennie|Gone | no but it reloads every 10 seconds | 15:41 |
tlarsen | SRabbelier: If there is not enough traffic, your process gets discarded, and loads up again upon first access. | 15:41 |
tlarsen | SRabbelier: This is not a continuously running servlet. | 15:41 |
SRabbelier | tlarsen: crappy | 15:41 |
tlarsen | SRabbelier: It is a WSGI request handler. | 15:41 |
SRabbelier | tlarsen: so as long ast here is enough traffict | 15:41 |
tlarsen | SRabbelier: Welcome to shared resources. | 15:41 |
SRabbelier | tlarsen: it won't be reloaded? | 15:41 |
tlarsen | SRabbelier: Code things so that anything at the module "global" level of initialization will persist, then have code check to see if stuff is None, and initialize it if it is. | 15:42 |
tlarsen | Your main() will be called multiple times (each time there is a request), but the modules will not be reloaded (re-imported and re-parsed) if they are already in memory. | 15:43 |
SRabbelier | tlarsen: right | 15:43 |
SRabbelier | tlarsen: so what I'm seeing is that the module keeps getting reloaded | 15:43 |
SRabbelier | tlarsen: and as such the zipimport gets called all the time | 15:43 |
SRabbelier | tlarsen: but that won't happen if we get a lot of traffic yous ay? | 15:43 |
SRabbelier | **you say | 15:43 |
tlarsen | SRabbelier: probably not enough page loads to keep the process in memory. | 15:43 |
SRabbelier | tlarsen: ok, that's fine | 15:44 |
tlarsen | Your memory footprint of the app will not just sit there in an allocation waiting to be hit by a page view. :) | 15:45 |
solydzajs | we've learned something new today boys :-) | 15:45 |
solydzajs | hehe | 15:45 |
SRabbelier | tlarsen: how about the memcache | 15:45 |
SRabbelier | tlarsen: is it cleared on reload? | 15:45 |
tlarsen | SRabbelier: not sure about the memcache. I don't know that much about it. | 15:45 |
tlarsen | SRabbelier: That doesn't have to do with zipimport, though. | 15:45 |
SRabbelier | tlarsen: that's true, I'm just wanting to know :) | 15:45 |
tlarsen | All I can say is read the online docs. | 15:46 |
SRabbelier | tlarsen: hehe | 15:46 |
tlarsen | I haven't read, for example, the internal design docs or anything. | 15:46 |
SRabbelier | tlarsen: you were more helpful than the docs so far :) | 15:46 |
tlarsen | SRabbelier: Anyway, App Engine tries to balance thrashing with poor resource utilization. | 15:46 |
SRabbelier | tlarsen: any idea how to flush the memcache from the appengine.com management thing? | 15:46 |
tlarsen | SRabbelier: There is some sort of "timeout" (and I don't know what it is, without asking around or poking in the code) where your app gets kicked out if it is not getting requests. | 15:47 |
SRabbelier | tlarsen: right, that makes sense | 15:47 |
tlarsen | SRabbelier: Ugh. I don't know *anything* about memcache. | 15:47 |
tlarsen | SRabbelier: It is relatively new, and I haven't used it. | 15:47 |
SRabbelier | kk | 15:48 |
solydzajs | yep it's the newest GAE API I think | 15:48 |
SRabbelier | solydzajs: what is? | 15:49 |
SRabbelier | solydzajs: memcacher? | 15:49 |
solydzajs | SRabbelier: yes | 15:49 |
tlarsen | SRabbelier: are you putting the sidebar cache in memcahce? | 15:49 |
tlarsen | " The Memcache service provides your application with a high performance in-memory key-value cache that is accessible by multiple instances of your application.</span" | 15:49 |
solydzajs | SRabbelier: memcache API or Image API is the newest | 15:49 |
SRabbelier | tlarsen: yes :) | 15:49 |
SRabbelier | solydzajs: ah, ok | 15:49 |
tlarsen | SRabbelier: So it is available to multiple instances of the app? | 15:49 |
SRabbelier | tlarsen: as well as user ACL | 15:50 |
SRabbelier | tlarsen: explain "multiple instances"? | 15:50 |
tlarsen | SRabbelier: to handle multiple simultaneous requests, your app is likely to be running on more than one CPU at once. | 15:50 |
SRabbelier | tlarsen: aah, right | 15:50 |
SRabbelier | tlarsen: but yes, that's how we're caching | 15:50 |
tlarsen | SRabbelier: (when enough traffic is present) | 15:50 |
SRabbelier | tlarsen: by using the memcache | 15:50 |
tlarsen | SRabbelier: So, the memcache API provides an in-memory (i.e. not in the Datastore) shared key/value cache. | 15:51 |
tlarsen | SRabbelier: It is accessible to *all* of your web apps running processes. | 15:51 |
SRabbelier | tlarsen: yes, that much I knew | 15:52 |
SRabbelier | tlarsen: btw | 15:52 |
SRabbelier | tlarsen: you know why the sidebar stuff was so slow? | 15:52 |
tlarsen | SRabbelier: There does not appear to be a way in the Admin Console to manipulate the memcache. | 15:53 |
SRabbelier | tlarsen: ashame, there is one on the local one, which is very nice | 15:53 |
tlarsen | SRabbelier: repeated accesses to get_current_user() and looking up that User? | 15:53 |
SRabbelier | tlarsen: yeah | 15:55 |
SRabbelier | tlarsen: you read from earlier? | 15:55 |
tlarsen | Ummm, yeah. I was paying attention. :) | 15:55 |
SRabbelier | tlarsen: ehehe, ok :D | 15:55 |
SRabbelier | tlarsen: It would be nice if there was some sort of profiling tool in GAE | 15:56 |
SRabbelier | tlarsen: I mean, we couldof spotted this weeks ago if we had know how many times those methods were being called | 15:56 |
Lennie|Gone | someone op lh :P | 15:59 |
SRabbelier | Lennie|Gone: hehe | 16:00 |
solydzajs | SRabbelier: rietveld has some profiling code in it's source and also I have 2 links for you one sec | 16:00 |
SRabbelier | solydzajs: cool | 16:00 |
SRabbelier | solydzajs: only useful if the profiling happens when it's done on appengine.com though | 16:01 |
SRabbelier | solydzajs: since local it's blazing fast | 16:01 |
tlarsen | Lennie|Gone: lh should be auto-op'd by the channel bot. | 16:02 |
tlarsen | Lennie|Gone: She probably has not identified with NickServ. | 16:02 |
Lennie|Gone | yeah yeah ^_ ^ | 16:02 |
solydzajs | SRabbelier: ready for links ?;-) | 16:03 |
solydzajs | http://code.google.com/p/rietveld/source/browse/trunk/main.py | 16:03 |
tpb | <http://ln-s.net/2lvB> (at code.google.com) | 16:03 |
solydzajs | http://code.google.com/appengine/kb/commontasks.html#profiling | 16:03 |
tpb | <http://ln-s.net/2RJO> (at code.google.com) | 16:03 |
solydzajs | http://andialbrecht.blogspot.com/2008/12/profiling-datastore-access-on-app.html | 16:03 |
tpb | <http://ln-s.net/2lvC> (at andialbrecht.blogspot.com) | 16:03 |
solydzajs | http://www.youtube.com/watch?v=Zip1G6-NiMM | 16:03 |
tpb | Title: YouTube - Optimizing Your App: Profiling and Memcache (at www.youtube.com) | 16:03 |
SRabbelier | solydzajs: nice | 16:03 |
solydzajs | http://blog.appenginefan.com/2009/01/hacking-google-app-engine-follow-up.html | 16:03 |
tpb | <http://ln-s.net/2lvE> (at blog.appenginefan.com) | 16:03 |
solydzajs | http://blog.appenginefan.com/2009/01/hacking-google-app-engine-part-2.html | 16:03 |
tpb | <http://ln-s.net/2lvF> (at blog.appenginefan.com) | 16:03 |
SRabbelier | LOL | 16:04 |
SRabbelier | solydzajs: mail those to the list? | 16:04 |
tlarsen | solydzajs: Channel spammer! | 16:04 |
SRabbelier | solydzajs: or just to me, either is fine | 16:04 |
tlarsen | SRabbelier: cc: the list, please, for future reference. | 16:04 |
solydzajs | I will send them to the list | 16:04 |
solydzajs | one sec | 16:04 |
solydzajs | done | 16:07 |
SRabbelier | solydzajs: testing results: no caching at all: 7634ms 9798ms-cpu | 16:09 |
SRabbelier | solydzajs: caching only ACL's only for current request: 1584ms 2248ms-cpu | 16:09 |
SRabbelier | solydzajs: caching just the sidebar for current request: 2186ms 3757ms-cpu | 16:09 |
SRabbelier | solydzajs: caching both for current request: 974ms 1368ms-cpu | 16:09 |
SRabbelier | solydzajs: cache hit when sidebar is cached: 445ms 722ms | 16:11 |
SRabbelier | Lennie|Gone: ^^^^^^ | 16:11 |
SRabbelier | tlarsen: ^^^^^^ | 16:11 |
Lennie|Gone | ^_^ | 16:11 |
Lennie|Gone | your ignore timer expired :P? | 16:11 |
SRabbelier | Lennie|Gone: ignore timer? | 16:12 |
Lennie|Gone | yeah :P | 16:12 |
SRabbelier | Lennie|Gone: heh | 16:12 |
Lennie|Gone | you kept pm'ing me ^_ ^ | 16:12 |
SRabbelier | Lennie|Gone: your stupid auto-replyer wouldn't let me talk to you | 16:12 |
SRabbelier | Lennie|Gone: teach it good manners | 16:12 |
Lennie|Gone | not possible | 16:12 |
Lennie|Gone | it's automatic from pidgin | 16:13 |
Lennie|Gone | I think | 16:13 |
SRabbelier | Lennie|Gone: hehehe, it's open source | 16:13 |
Lennie|Gone | show me what it tells you :p | 16:13 |
SRabbelier | Lennie|Gone: UTSL | 16:13 |
solydzajs | SRabbelier: nice ;-) | 16:13 |
SRabbelier | Lennie|Gone: (10:01:39 PM) Lennie|Gone <AUTO-REPLY> : I'm currently away, please leave a message | 16:13 |
solydzajs | SRabbelier: tests you wrote tested that ? | 16:13 |
SRabbelier | solydzajs: so I suggest we cache ACL's only for the current request | 16:13 |
SRabbelier | solydzajs: and we cache sidebar for 10 minutes | 16:13 |
SRabbelier | solydzajs: flushing it when required | 16:13 |
SRabbelier | solydzajs: no, I tested that manually :P | 16:14 |
SRabbelier | solydzajs: no way to test when running on appengine.com ofc. :P | 16:14 |
solydzajs | SRabbelier: can you post the results to melange-dev ? | 16:14 |
SRabbelier | solydzajs: and requests take only a few ms when running locally | 16:14 |
SRabbelier | solydzajs: to what end? | 16:14 |
tlarsen | solydzajs: You could add logging statements and record this stuff in the log, viewable from the Admin Console. | 16:15 |
SRabbelier | tlarsen: that's how I got those times :P | 16:15 |
solydzajs | SRabbelier: just post it to melange-soc-dev for future reference ok ? | 16:16 |
SRabbelier | solydzajs: sure | 16:16 |
SRabbelier | solydzajs: done | 16:20 |
*** MatthewWilkes has joined #melange | 16:21 | |
solydzajs | MatthewWilkes: ping | 16:21 |
solydzajs | SRabbelier: thx | 16:21 |
MatthewWilkes | solydzajs: pong | 16:21 |
solydzajs | MatthewWilkes: did you started to work on comments support ? | 16:22 |
MatthewWilkes | solydzajs: Yep, I have some classes in place, been getting my head around the way that django handles forms - it's different to what I'm used to | 16:23 |
MatthewWilkes | The ACL stuff looks nice and simple, callables in logic/ is a nice way of doing it | 16:24 |
solydzajs | ok great | 16:24 |
solydzajs | let us know if you have any questions or problems | 16:24 |
SRabbelier | MatthewWilkes: mhhh, callables in logic/? what do you mean | 16:25 |
solydzajs | you are making it generic right ? | 16:25 |
SRabbelier | MatthewWilkes: did you see the most recent refactoring in access.py? | 16:25 |
MatthewWilkes | SRabbelier: Nope, I don't think so, been away for a while, was working on this last wednesday | 16:25 |
SRabbelier | MatthewWilkes: ah, then you've got some catching up to do ^__^ | 16:26 |
MatthewWilkes | solydzajs: Yup, Works are commentable | 16:27 |
solydzajs | SRabbelier: I will add profiling support in a minute | 16:28 |
SRabbelier | solydzajs: how? | 16:28 |
SRabbelier | solydzajs: can you wait till I committed this stuff | 16:28 |
solydzajs | SRabbelier: ok sure, let me know when it's committed | 16:28 |
MatthewWilkes | SRabbelier: Bloody hell, that's a lot of updates | 16:30 |
* MatthewWilkes is used to seeing a few "D" lines, not loads of "A"s :) | 16:30 | |
SRabbelier | MatthewWilkes: hehe, yeah, I know | 16:30 |
SRabbelier | MatthewWilkes: a biggy one is the switch to ugettext instead of ugettext_lazy | 16:30 |
SRabbelier | MatthewWilkes: that touched a lot of files | 16:31 |
*** Merio has quit IRC | 16:38 | |
*** Lennie|Gone is now known as Lennie | 16:49 | |
Lennie | finally | 16:49 |
Lennie | I'm back :P | 16:49 |
Lennie | solydzajs | 16:49 |
Lennie | veelck | 16:49 |
Lennie | wassup | 16:49 |
Lennie | ! | 16:49 |
Lennie | ^_ ^ | 16:49 |
SRabbelier | tlarsen: ping | 16:49 |
Lennie | MatthewWilkes, ftw | 16:49 |
veelck | hi Lennie | 16:49 |
veelck | :) | 16:49 |
Lennie | how is the manage view going? ^_^ | 16:50 |
veelck | well, I have new template, also added some stuff to host.py | 16:50 |
Lennie | cool | 16:51 |
solydzajs | SRabbelier: I'm committing the profiling, it's in main.py so no worries | 16:51 |
veelck | anyway I have two small things missing - accessing to the manage view for host and exact call to remove the host that is being managed ;-) | 16:51 |
SRabbelier | solydzajs: what does it do? :) | 16:52 |
Lennie | ok | 16:52 |
solydzajs | SRabbelier: one sec you will see :-) | 16:52 |
Lennie | what do you mean by the first point? | 16:52 |
SRabbelier | solydzajs: maybe I don't want to :P | 16:52 |
Lennie | and you are not actually removing the host but setting state to active | 16:52 |
Lennie | I can get you the call for that | 16:53 |
veelck | ok :) | 16:53 |
Lennie | can you get the host entity you need to manage? | 16:53 |
veelck | I was going to kick solydzajs for that ;-) | 16:53 |
veelck | hm.. didn't think about it yet... :/ | 16:54 |
Lennie | k | 16:54 |
Lennie | not that hard ^_ ^ | 16:54 |
Lennie | can you paste me the url regexp you made again? | 16:55 |
veelck | ah.. gimme 5 mins, I have to make one commit and will have plenty of time for melange ;-) | 16:55 |
Lennie | it should say something like %(key_fields)s | 16:55 |
Lennie | which basically means you will have all the info you need when your function is being called^_^ | 16:55 |
veelck | :) | 16:55 |
solydzajs | SRabbelier: committed, have a look at commit message | 16:56 |
SRabbelier | solydzajs: ok | 16:57 |
solydzajs | SRabbelier: let me know what you think | 16:58 |
SRabbelier | solydzajs: cute | 17:08 |
veelck | :) | 17:11 |
Lennie | ^%(url_name)s/(?P<access_type>manage)/%(key_fields)s$ | 17:11 |
Lennie | yosh | 17:11 |
Lennie | key_fields is replaced by all the fields we need to identify a specific host in this case | 17:12 |
Lennie | so you can just call the method I gave you in the PM ^_ ^ | 17:12 |
Lennie | host_logic.getFromFields(**kwargs) | 17:12 |
veelck | ok | 17:12 |
Lennie | it will always exist | 17:12 |
Lennie | the access check will pickup on the fact if it does not | 17:12 |
Lennie | and give a 404 | 17:12 |
veelck | aha | 17:13 |
veelck | ok | 17:13 |
veelck | currently my manage looks like | 17:13 |
veelck | def manage(self, request, access_type, page_name=None, | 17:13 |
veelck | params=None, filter=None, **kwargs): | 17:13 |
veelck | """Manage the Host | 17:13 |
veelck | 17:13 | |
veelck | Provides new view for managing host, uses manage_template | 17:13 |
veelck | instead of public_template. | 17:13 |
veelck | """ | 17:13 |
veelck | # http://localhost:8080/host/manage/potest/veelck | 17:14 |
veelck | params['public_template'] = params['manage_template'] | 17:14 |
veelck | 17:14 | |
veelck | get_dict = request.GET | 17:14 |
veelck | 17:14 | |
veelck | if 'delete' in get_dict: | 17:14 |
veelck | if get_dict['delete'] == 'true': | 17:14 |
solydzajs | veelck: pastie man :P | 17:14 |
veelck | pass | 17:14 |
veelck | 17:14 | |
veelck | return super(View, self).public(request, access_type, | 17:14 |
veelck | page_name=page_name, params=params, **kwargs) | 17:14 |
veelck | ah.. yep ;-) | 17:14 |
veelck | I knew I forget about something ;-) | 17:14 |
Lennie | hmm | 17:14 |
veelck | sorry | 17:14 |
Lennie | dont call public :D | 17:14 |
Lennie | lemme show you the line | 17:15 |
Lennie | return responses.respond(request, template, context=context) | 17:15 |
Lennie | template = params['manage_template'] | 17:15 |
Lennie | and context you should get by calling | 17:15 |
Lennie | context = responses.getUniversalContext(request) | 17:15 |
Lennie | and set the page name ^_^ | 17:16 |
Lennie | context['page_name'] = page_name | 17:16 |
solydzajs | Lennie: he can reuse public and just add additional buttons in the template | 17:16 |
Lennie | public does an access check again | 17:16 |
Lennie | so rather not :S | 17:16 |
solydzajs | ah forgot about that | 17:16 |
veelck | solydzajs: ;-) | 17:16 |
Lennie | just return a response when you can :D | 17:16 |
veelck | don't worry ;-) | 17:16 |
veelck | okey | 17:16 |
Lennie | public is a good first try but unfortuneatly it gives overhead :) | 17:17 |
*** matthewwilkes_ has joined #melange | 17:21 | |
Lennie | ohloh is slow | 17:21 |
Lennie | hasn't updated in 8 days :( | 17:21 |
*** MatthewWilkes has quit IRC | 17:22 | |
veelck | http://pastie.org/372625 | 17:22 |
tpb | Title: #372625 - Pastie (at pastie.org) | 17:22 |
*** matthewwilkes_ is now known as MatthewWilkes | 17:22 | |
veelck | Lennie: any idea? | 17:23 |
Lennie | do we have an issue for sidebar indentation solydzajs? | 17:23 |
Lennie | yosh | 17:24 |
Lennie | that code has changed veelck | 17:24 |
Lennie | update to latest version | 17:24 |
Lennie | and make it say | 17:24 |
veelck | ah.. so I shouldn't update... | 17:24 |
veelck | ;-) | 17:24 |
Lennie | rights['manage'] = [access.checkIsHost] | 17:24 |
veelck | ah ok | 17:24 |
Lennie | rights['manage'] = ['checkIsHost'] | 17:24 |
Lennie | the 2nd one | 17:24 |
Lennie | I hit enter too early on the first one :P | 17:24 |
veelck | ah ok :) | 17:25 |
Lennie | that's because we needed to change access.py so we can use the cache :) | 17:25 |
Lennie | to make the app run fast once more | 17:25 |
veelck | cool | 17:25 |
Lennie | ^_ ^ | 17:25 |
Lennie | right SRabbelier? ^_ ^ | 17:25 |
veelck | Lennie: workses :) | 17:26 |
Lennie | :) | 17:26 |
Lennie | great | 17:26 |
veelck | ah.. said too fast ;-) | 17:27 |
Lennie | fields = {'state':invalid} host_logic.updateEntityProperties(host_entity, fields) for the delete button functonality :p | 17:27 |
Lennie | :( | 17:27 |
Lennie | probably forgot to import a module? | 17:27 |
Lennie | since I told you to use responses :p | 17:27 |
veelck | but it's mine code this time | 17:27 |
veelck | ;-) | 17:27 |
veelck | yep | 17:27 |
Lennie | as expected | 17:27 |
Lennie | I too run into that all the time :D | 17:28 |
solydzajs | I use pylint and I don't run into that :P | 17:28 |
solydzajs | :-) | 17:28 |
Lennie | I'm a nuub and don't use pylint | 17:28 |
Lennie | gimmeh the right coding style file and I might use it ^_ ^ | 17:28 |
veelck | I didn't have time to set it properly at eclipse ;-) | 17:28 |
Lennie | if you can tell me how :P | 17:28 |
Lennie | brb | 17:29 |
Lennie | gonna get an apple | 17:29 |
Lennie | and then finish the user profile page | 17:29 |
Lennie | so that tlarsen can be happy once more :p | 17:29 |
Lennie | [23:23:53] [+Lennie] do we have an issue for sidebar indentation solydzajs? | 17:29 |
Lennie | if so please mark the appropriate issues as blockedOn that issue :P | 17:30 |
solydzajs | Lennie: I don't know | 17:31 |
solydzajs | Lennie: no we don't, it's just listed in the Bugs to fix on wiki page | 17:32 |
Lennie | k | 17:32 |
Lennie | SRabbelier | 17:35 |
Lennie | what happened to the tooltip patch ^_ ^? | 17:35 |
Lennie | was he going to improve it? | 17:35 |
*** tlarsen is now known as tlarsen|afk | 17:38 | |
SRabbelier | Lennie: oh, yeah | 17:38 |
SRabbelier | Lennie: it's in my inbox | 17:38 |
SRabbelier | Lennie: what is sidebar indentation? | 17:39 |
Lennie | more plusses | 17:39 |
Lennie | and minusses :p | 17:39 |
Lennie | you know | 17:39 |
Lennie | more levels of indendation | 17:39 |
SRabbelier | Lennie: oh, mhhh, I took that out because I thought it was overkill, and couldn't come up with a nice way to do it | 17:40 |
Lennie | hehe | 17:40 |
Lennie | overkill? | 17:40 |
Lennie | lol | 17:40 |
SRabbelier | Lennie: how about one level of indentation, e.g. "grouping" | 17:40 |
Lennie | so needed :P | 17:40 |
veelck | Lennie: my template extends public.html, and while I was calling public() there was no problem, but now, while using responses.respond, I can't get it working and have following problem http://pastie.org/372639 | 17:40 |
tpb | Title: #372639 - Pastie (at pastie.org) | 17:40 |
SRabbelier | Lennie: Or do you need more than that? | 17:40 |
Lennie | without looking | 17:40 |
Lennie | I'm going to guess | 17:40 |
Lennie | just for the fun of it | 17:40 |
Lennie | context['entity'] = host_entity :P | 17:41 |
Lennie | did you do that :D? | 17:41 |
veelck | this time I did ;-) | 17:41 |
Lennie | and | 17:42 |
Lennie | did it fix it :D | 17:42 |
veelck | and have the other exception ;-) | 17:42 |
Lennie | the exception you wanted :P? | 17:42 |
veelck | global name 'host_entity' is not defined | 17:42 |
Lennie | o | 17:42 |
Lennie | hmm | 17:42 |
Lennie | did you actually got the host entity like I told you :D? | 17:42 |
* veelck slaps his face and yields at himself | 17:43 | |
SRabbelier | s/yields/yells/g ? | 17:44 |
veelck | SRabbelier: thx :) | 17:44 |
SRabbelier | ok, time to commit ACL caching | 17:45 |
SRabbelier | solydzajs: PAWEL!! :P | 17:46 |
solydzajs | yes ? | 17:46 |
SRabbelier | solydzajs: what crappy commit msg is that | 17:46 |
solydzajs | SRabbelier: what ? | 17:46 |
SRabbelier | solydzajs: add newline! | 17:46 |
solydzajs | SRabbelier: where ? | 17:47 |
SRabbelier | solydzajs: http://pastebin.com/d3a081fe6 | 17:47 |
tpb | Title: pastebin - collaborative debugging tool (at pastebin.com) | 17:47 |
SRabbelier | solydzajs: your fault | 17:47 |
solydzajs | SRabbelier: heh :P | 17:47 |
Lennie | READY | 17:49 |
Lennie | FIGHT! | 17:49 |
* SRabbelier grins | 17:50 | |
Lennie | rewriting code that should have been done right in one go hurray :D | 17:50 |
SRabbelier | Lennie: sorry :( | 17:51 |
Lennie | you owe me a waffle! | 17:52 |
Lennie | ^_ ^ | 17:52 |
Lennie | either with whipped cream (not coolgggggggwhip) or chocolate sauce :D | 17:52 |
SRabbelier | Lennie: why? :P | 17:53 |
SRabbelier | Lennie: you didn't fixi t | 17:54 |
Lennie | because you are sorry :D | 17:54 |
SRabbelier | Lennie: I had to fix it myself :P | 17:54 |
Lennie | I was talking about my code :D | 17:54 |
SRabbelier | Lennie: oh, user_self? | 17:54 |
Lennie | yosh :P | 17:54 |
* SRabbelier points at tlarsen|afk | 17:54 | |
SRabbelier | Lennie: he owes you said waffle then! | 17:54 |
Lennie | :D | 17:54 |
Lennie | developer edit view is hammered shut now :P | 17:54 |
SRabbelier | Lennie: wait, your last commit is on user.py | 17:55 |
Lennie | you cannot overwrite an existing account ^_^ | 17:55 |
Lennie | yosh | 17:55 |
SRabbelier | Lennie: do you mean user.py or user_self? | 17:55 |
Lennie | I'm rewriting user_self now | 17:55 |
Lennie | slowly | 17:55 |
SRabbelier | Lennie: good luck, you'll need it | 17:55 |
Lennie | :D | 17:55 |
SRabbelier | Lennie: I tried myself, it was... uncomfortable | 17:55 |
Lennie | ? | 17:55 |
Lennie | oh man | 17:55 |
Lennie | its so easy D: | 17:55 |
Lennie | just dont overwrite edit | 17:56 |
Lennie | it sucks | 17:56 |
Lennie | keep the user out of functions only devs may call :P | 17:56 |
Lennie | anyhow you'll see | 17:56 |
SRabbelier | Lennie: ok :) | 17:56 |
Lennie | when I finish it eventually :p | 17:56 |
SRabbelier | Lennie: good luck | 17:56 |
SRabbelier | Lennie: again :P | 17:57 |
Lennie | mwah | 17:57 |
Lennie | ^_ ^ | 17:57 |
Lennie | I just need to stop distracting myself | 17:57 |
SRabbelier | Lennie: I know! | 17:57 |
SRabbelier | Lennie: that's what i kept doing | 17:57 |
SRabbelier | Lennie: cos it's not that much fun to do at all :P | 17:57 |
SRabbelier | Lennie: maybe you can split it up in create/editGet/editPost | 17:57 |
Lennie | hmm | 17:58 |
Lennie | that's almost what I'm doing | 17:58 |
SRabbelier | anyway | 17:58 |
solydzajs | Lennie: can developer change Users email ? | 17:58 |
Lennie | yosh | 17:58 |
SRabbelier | solydzajs: I'm done with caching | 17:58 |
Lennie | if the need arises | 17:58 |
Lennie | only devs can | 17:58 |
solydzajs | SRabbelier: but you didn't try profiling yet :-) | 17:58 |
Lennie | because its so rare | 17:58 |
SRabbelier | solydzajs: true | 17:58 |
Lennie | you agree? | 17:58 |
SRabbelier | solydzajs: will do that next :) | 17:58 |
solydzajs | Lennie: yep I know, but does that work after your changes | 17:58 |
Lennie | yes | 17:58 |
Lennie | ! | 17:58 |
Lennie | I tested it :p | 17:59 |
Lennie | I wrote new clean function for that | 17:59 |
Lennie | that uses the whole form | 17:59 |
Lennie | to check if it's a legal email adress | 17:59 |
solydzajs | ok | 17:59 |
Lennie | go look | 17:59 |
Lennie | ^_^ | 17:59 |
Lennie | I didnt make happy patch notes about look it's working because I didnt feel like it :P | 18:00 |
Lennie | happy 28th | 18:00 |
Lennie | ^_^ | 18:00 |
Lennie | [00:00:00] ::: Day changed to (Wednesday, January 28th 2009). | 18:00 |
Lennie | [00:00:01] [+Lennie] I didnt make happy patch notes about look it's working because I didnt feel like it :P | 18:00 |
Lennie | [00:00:03] [+Lennie] happy 28th | 18:00 |
Lennie | I'm so fast | 18:00 |
Lennie | ^_ ^ | 18:00 |
Lennie | stop distracting me! | 18:00 |
Lennie | ^_ ^ | 18:00 |
SRabbelier | solydzajs: please kick Lennie | 18:02 |
Lennie | :D | 18:02 |
SRabbelier | solydzajs: or he won't get to work :P | 18:02 |
Lennie | stop highlighting me | 18:02 |
Lennie | STOP TOUCHING ME (Jeff Dunham :P) | 18:02 |
MatthewWilkes | Lennie: 59 minutes early as far as I'm concerned | 18:02 |
Lennie | ^_ ^ | 18:02 |
SRabbelier | MatthewWilkes: heheh, where are you at? | 18:03 |
SRabbelier | MatthewWilkes: UK? | 18:03 |
MatthewWilkes | yup | 18:03 |
SRabbelier | MatthewWilkes: hehe :) | 18:03 |
Lennie | ah good, my diaf variable is being called ^_ ^ | 18:10 |
SRabbelier | Lennie: lol | 18:12 |
*** tlarsen|afk is now known as tlarsen | 18:13 | |
*** mithro has quit IRC | 18:20 | |
SRabbelier | solydzajs: ping | 18:27 |
*** tlarsen is now known as tlarsen|busy | 18:28 | |
solydzajs | SRabbelier: pong | 18:38 |
Lennie | i'm off | 19:22 |
Lennie | user profile page tomorrow | 19:22 |
SRabbelier | Lennie: ok | 19:22 |
Lennie | o | 19:25 |
Lennie | I accidently left a todo in my last patch | 19:25 |
Lennie | I'll get rid of it tomorrow | 19:25 |
Lennie | when I finish the profile | 19:25 |
Lennie | byebye | 19:25 |
*** Lennie has quit IRC | 19:26 | |
*** tlarsen|busy has quit IRC | 20:26 | |
*** MatthewWilkes has quit IRC | 20:55 | |
*** dmitrig01|afk has joined #melange | 21:22 | |
*** ChanServ sets mode: +v dmitrig01|afk | 21:22 | |
*** SRabbelier has quit IRC | 21:30 | |
*** tansell_ has joined #melange | 22:29 | |
*** tansell_ has quit IRC | 22:29 | |
*** tansell has joined #melange | 22:29 | |
*** madrazr has joined #melange | 23:58 |
Generated by irclog2html.py 2.17.2 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!