| [00:06:49] |
<nosklo> |
mitsuhiko, hm, this pottymouth seems nicer for what I want :) |
| [00:07:10] |
<mitsuhiko> |
but the implementation is hideous. i better not look at it too much :) |
| [00:08:16] |
* |
mitsuhiko mails the developer |
| [00:14:09] |
* |
leche has quit IRC |
| [00:16:22] |
* |
Kaelten has quit IRC |
| [00:24:25] |
* |
leche has joined #pocoo |
| [00:29:26] |
<nosklo> |
mitsuhiko, do you plan into adding it? |
| [00:29:39] |
<mitsuhiko> |
nosklo: adding what? :) |
| [00:29:58] |
<nosklo> |
mitsuhiko, :) this pottymouth stuff |
| [00:30:13] |
<mitsuhiko> |
into zine? yep |
| [00:30:21] |
<mitsuhiko> |
but once the implementation looks less hideous |
| [00:31:26] |
<ronny> |
pottymouth? |
| [00:35:38] |
<hads> |
It's in that google thing |
| [00:38:14] |
* |
leche has quit IRC |
| [00:45:52] |
* |
leche has joined #pocoo |
| [00:53:09] |
* |
leche has quit IRC |
| [00:59:47] |
* |
riltim has quit IRC |
| [01:54:15] |
* |
rawb has joined #pocoo |
| [01:56:59] |
* |
davidcramer has left #pocoo |
| [02:05:24] |
<prencher> |
grumpy - ping |
| [02:08:23] |
<prencher> |
fine, mail inc |
| [02:19:45] |
* |
alowry has quit IRC |
| [02:20:02] |
* |
mtrichardson has quit IRC |
| [02:54:17] |
* |
heikkit has quit IRC |
| [03:05:44] |
* |
KirkMcDonald has joined #pocoo |
| [03:12:35] |
* |
aconbere has joined #pocoo |
| [03:13:14] |
* |
kaelten has joined #pocoo |
| [03:31:15] |
* |
|[diecast]| has joined #pocoo |
| [03:32:35] |
* |
[diecast] has quit IRC |
| [03:36:46] |
* |
nosklo has quit IRC |
| [04:22:44] |
* |
davidcramer has joined #pocoo |
| [04:47:04] |
* |
Baumichel has quit IRC |
| [06:01:29] |
* |
alowry has joined #pocoo |
| [06:10:24] |
* |
Crast_ has joined #pocoo |
| [06:17:31] |
* |
kleinweby has joined #pocoo |
| [06:59:56] |
* |
heikkit has joined #pocoo |
| [07:12:39] |
* |
delroth has quit IRC |
| [07:12:48] |
* |
delroth has joined #pocoo |
| [07:18:21] |
* |
alowry has quit IRC |
| [07:53:47] |
* |
sashav has joined #pocoo |
| [08:07:22] |
* |
davidcramer has quit IRC |
| [08:07:57] |
* |
davidcramer has joined #pocoo |
| [08:16:52] |
* |
heikkit has quit IRC |
| [08:25:44] |
* |
bzed has quit IRC |
| [08:25:48] |
* |
bzed has joined #pocoo |
| [09:26:22] |
<asmodai> |
http://www.youtube.com/watch?v=5nuBZm0cXe8 |
| [09:43:00] |
<davidcramer> |
lol wtf |
| [09:43:54] |
<davidcramer> |
i like the reaction on the black guys face |
| [09:53:29] |
<asmodai> |
:) |
| [09:54:38] |
<davidcramer> |
there's a neat proposal in django for a simple denormalized field |
| [09:56:03] |
<davidcramer> |
author_username = DenormField('user', 'username') |
| [10:01:50] |
* |
aconbere has quit IRC |
| [10:08:10] |
* |
jpcw2002 has joined #pocoo |
| [10:11:38] |
* |
asmodai hasn't touched Django in a long time now |
| [10:17:33] |
<asmodai> |
*kicks firefox* |
| [10:17:40] |
<asmodai> |
I only pressed ctrl-w to close a tab damn you |
| [10:28:31] |
* |
davidcramer has quit IRC |
| [11:21:27] |
* |
damjan_ is now known as damjan |
| [11:38:02] |
* |
luks has quit IRC |
| [11:41:25] |
* |
luks has joined #pocoo |
| [11:57:08] |
<asmodai> |
ok |
| [11:57:13] |
<asmodai> |
nginx, 0.6.x or 0.7.x? |
| [12:10:07] |
* |
jpcw2002 has quit IRC |
| [12:43:03] |
* |
grumpy has joined #pocoo |
| [12:48:22] |
* |
maix has joined #pocoo |
| [12:55:17] |
* |
grumpy has joined #pocoo |
| [13:04:38] |
* |
grumpy has quit IRC |
| [13:24:51] |
* |
highwaychile has joined #pocoo |
| [13:32:19] |
* |
maix has quit IRC |
| [13:47:28] |
* |
dennda has quit IRC |
| [13:50:09] |
* |
dennda has joined #pocoo |
| [14:00:58] |
<aa_> |
woah zine.utils.forms is quite cool |
| [14:01:04] |
<aa_> |
it generates entire forms |
| [14:03:50] |
<aa_> |
but then it has downsides too |
| [14:03:57] |
<aa_> |
I think I should probably blog it |
| [14:04:05] |
<birkenfeld> |
oh noes |
| [14:04:33] |
<aa_> |
well, the downsides are thaat it is inextricably linked to the app/framework |
| [14:04:48] |
<birkenfeld> |
(which isn't one) |
| [14:04:52] |
<aa_> |
but that's just an upside for glashammer because it and zine share an architecture |
| [14:05:20] |
<aa_> |
man, I bet if people knew armin had written glashammer they would use it |
| [14:17:15] |
* |
kaelten has quit IRC |
| [14:23:01] |
<asmodai> |
birkenfeld! |
| [14:23:35] |
<birkenfeld> |
asmodai? |
| [14:23:46] |
<asmodai> |
birkenfeld: dude! |
| [14:24:13] |
<birkenfeld> |
:D |
| [14:24:31] |
* |
asmodai fixes High House War and Shadow a bit |
| [14:26:18] |
<asmodai> |
I love Fiddler's Deck of Dragons games |
| [14:26:48] |
* |
tux21b has quit IRC |
| [14:27:50] |
<birkenfeld> |
asmodai: I don't understand a thing about them :) |
| [14:28:07] |
<birkenfeld> |
btw, nice cliffhanger about Kalam |
| [14:28:14] |
* |
tux21b has joined #pocoo |
| [14:28:21] |
<asmodai> |
birkenfeld: Well, I am trying to piece it together |
| [14:28:29] |
<asmodai> |
Funny how High House Shadow now has a Knight |
| [14:28:40] |
<birkenfeld> |
it hadn't? |
| [14:29:04] |
<asmodai> |
No |
| [14:29:16] |
<asmodai> |
King, Queen, Assassin, Magi and Hound |
| [14:29:37] |
<asmodai> |
page 1028 |
| [14:30:07] |
<birkenfeld> |
btw, who is Queen? |
| [14:30:14] |
<asmodai> |
'Knight of Shadow. I have never heard of such a card. T'amber, who, what did you--' |
| [14:30:17] |
<asmodai> |
No idea actually. |
| [14:31:06] |
<birkenfeld> |
but I'm really shocked about the empress right now. I thought after all she had some sense left |
| [14:31:39] |
<asmodai> |
in 150 pages I will know what you mean ;) |
| [14:31:50] |
<asmodai> |
I'm at the point where Pearl becomes (temporary) clawmaster |
| [14:32:08] |
<asmodai> |
and Korbolo Dom and Mallick Rel are free in Laseen's surrounding |
| [14:32:18] |
<birkenfeld> |
well, there's not much more to it |
| [14:32:23] |
<asmodai> |
oh ok |
| [14:32:27] |
<asmodai> |
yeah, it's odd |
| [14:32:33] |
<asmodai> |
I love the part about Heboric |
| [14:32:39] |
<asmodai> |
he thought he was a Destriant |
| [14:32:44] |
<asmodai> |
but he's an Shield Anvil |
| [14:32:52] |
<birkenfeld> |
hope he's finally dead though... lots of people keep popping up |
| [14:33:01] |
<asmodai> |
And seemingly Hood released him after the bargain with Ganoes |
| [14:33:07] |
<asmodai> |
if I understand things correctly |
| [14:33:11] |
<birkenfeld> |
yes |
| [14:33:20] |
<birkenfeld> |
you're right |
| [14:33:46] |
<asmodai> |
Erikson will release some encyclopedia at one point, I sincerely hope it details a lot about the Holds and the Warrens |
| [14:33:54] |
<asmodai> |
next to the Deck of Dragons |
| [14:34:02] |
<birkenfeld> |
+INF to that |
| [14:34:17] |
<asmodai> |
Because the concept is very intriguing |
| [14:34:17] |
<aa_> |
hmm, except the zine.utils.forms.Form don't put submit buttons and things |
| [14:34:28] |
<aa_> |
mitsuhiko: in general do you render each form element? |
| [14:34:39] |
<asmodai> |
Got to love how Fiddler has a lot of raw power/talent seeing how Oponn complain. |
| [14:34:52] |
<asmodai> |
And have horror written on their faces after casting some knuckles on his fate :D |
| [14:35:37] |
<birkenfeld> |
asmodai: when you're finished, perhaps you can tell me who kellanved's child is |
| [14:36:40] |
<birkenfeld> |
and why Stormy is a shield anvil all at once |
| [14:36:58] |
<asmodai> |
Seems Reaper's Gale introduces some more |
| [14:38:05] |
<birkenfeld> |
some more of what? |
| [14:38:07] |
<asmodai> |
owww, RG will expand Light and Shadow a bit |
| [14:38:34] |
<birkenfeld> |
that's nice. we haven't seen much of Light so far |
| [14:39:30] |
<asmodai> |
*rechecks something* |
| [14:39:38] |
<asmodai> |
I thought Lifeslayer and Deathslayer were part of War |
| [14:42:04] |
<asmodai> |
I'd best make every card entry its own page to add snippets from the books in order to make sense out of it |
| [14:45:31] |
<asmodai> |
birkenfeld: hahah, guess that intrigues me the most |
| [14:46:13] |
<birkenfeld> |
what? |
| [14:46:28] |
<asmodai> |
the Deck of Dragons and the Holds/Warrens |
| [14:52:18] |
* |
rafael_ has joined #pocoo |
| [14:52:33] |
<rafael_> |
mitsuhiko: ping |
| [14:52:51] |
<aa_> |
mitsuhiko: ping |
| [14:53:10] |
<rafael_> |
^^ |
| [14:54:21] |
<asmodai> |
mitsuhiko: ping |
| [14:54:26] |
<asmodai> |
birkenfeld: ok, added some more |
| [14:55:32] |
<asmodai> |
birkenfeld: need to find those books by Ian Cameron Esslemont as well |
| [14:56:57] |
<birkenfeld> |
find? are they not available online? |
| [14:57:09] |
<asmodai> |
not that I know |
| [15:04:28] |
<asmodai> |
birkenfeld: actually, the child might be referring to the empire he created |
| [15:05:43] |
* |
jpcw2002 has joined #pocoo |
| [15:05:52] |
<birkenfeld> |
ah |
| [15:05:55] |
<birkenfeld> |
that's possible |
| [15:09:10] |
<asmodai> |
:) |
| [15:13:14] |
* |
highwaychile has quit IRC |
| [15:22:04] |
* |
CIA-49 has quit IRC |
| [15:22:16] |
* |
rafael_ has quit IRC |
| [15:22:43] |
* |
rafael_ has joined #pocoo |
| [15:23:02] |
* |
rafael_ is now known as rafeal |
| [15:23:22] |
* |
rafeal is now known as rafael |
| [15:39:59] |
* |
stifal has joined #pocoo |
| [15:55:37] |
* |
rafael has quit IRC |
| [16:04:17] |
* |
izibi has joined #pocoo |
| [16:10:05] |
* |
CIA-49 has joined #pocoo |
| [16:16:20] |
* |
stifal has quit IRC |
| [16:33:32] |
<asmodai> |
ouch |
| [16:33:34] |
<asmodai> |
Wikia is sadly having problems. Our backend servers are not responding. We are working to fix it as soon as possible. |
| [16:39:42] |
* |
Kaelten has joined #pocoo |
| [16:46:16] |
<Kaelten> |
g'morning |
| [16:50:58] |
* |
|[diecast]| is now known as [diecast] |
| [16:52:11] |
<asmodai> |
Kaeltje! |
| [16:55:45] |
<mitsuhiko> |
asmodai: what's "je" btw? |
| [16:56:14] |
<aa_> |
mitsuhiko: hi, have you got 180 seconds to talk about zine.utils.forms? |
| [16:56:27] |
<mitsuhiko> |
165 seconds left |
| [16:56:36] |
<aa_> |
mitsuhiko: I want to add buttons like submit buttons |
| [16:56:51] |
<aa_> |
mitsuhiko: I want them as fields, but also want to hook into the automatic rendering |
| [16:57:05] |
<aa_> |
mitsuhiko: in the similar way "hidden_fields" are rendered afterwards |
| [16:57:16] |
<kleinweby> |
uhhh |
| [16:57:19] |
<aa_> |
suggestions, or I just hack it up |
| [16:57:31] |
<mitsuhiko> |
aa_: hack it up, it's against my philosophy :) |
| [16:57:40] |
<aa_> |
mitsuhiko: ok :) |
| [16:58:03] |
<aa_> |
my only concern really was if you wanted the changes back into zine, but clearly not |
| [16:58:11] |
* |
mitsuhiko puts 145 bonus seconds on aa_'s support counter |
| [16:58:18] |
* |
alowry has joined #pocoo |
| [16:58:50] |
<kleinweby> |
in zine/application.py there is a use of Lock() in line 1237... anyone know which import there missed? |
| [16:58:56] |
<mitsuhiko> |
i'm not pulling for zine currently anyways. i have tons of "omg-i-break-everything" changes locally |
| [16:59:12] |
<mitsuhiko> |
kleinweby: change it to allocate_lock() |
| [16:59:25] |
<mitsuhiko> |
it's changed locally already, but i don't put because it breaks tons of stuff |
| [16:59:42] |
<kleinweby> |
ah... |
| [17:00:26] |
<kleinweby> |
but even the hg-version does not run out of the box ;) |
| [17:02:35] |
<aa_> |
mitsuhiko: not disagreeing with your philosophy, but ins't a submit input a valid form element that needs to be validated or read? |
| [17:04:57] |
* |
aconbere has joined #pocoo |
| [17:07:36] |
<mitsuhiko> |
aa_: nope |
| [17:07:53] |
<mitsuhiko> |
aa_: i don't care how the form is submitted, that's something the template can decide |
| [17:08:23] |
<aa_> |
mitsuhiko: right, just saying that it is a form item submitted in the form |
| [17:08:24] |
<ronny> |
mitsuhiko: that makes stuff like handling preview vs save more messy |
| [17:09:08] |
<kleinweby> |
oh... mysql-python needs a compiled c file :/ |
| [17:10:33] |
<mitsuhiko> |
ronny: why? |
| [17:10:52] |
<mitsuhiko> |
for that you can still switch with if 'preview' in request.form: ... |
| [17:11:02] |
<mitsuhiko> |
and the template can decide how to display that switch |
| [17:11:11] |
<mitsuhiko> |
(separate button, radio button etc.) |
| [17:20:38] |
<kleinweby> |
damn :/ |
| [17:32:48] |
<leifkb> |
I have an application I want to write using Werkzeug/Jinja/SQLAlchemy. What should I use for form generation/validation? I see Zine has something, but I don't want to depend on a blog engine... |
| [17:33:23] |
* |
alowry has quit IRC |
| [17:33:29] |
* |
rcscomp1 has joined #pocoo |
| [17:33:36] |
<prencher> |
glashammer!!11 |
| [17:34:26] |
* |
rcscomp2 has joined #pocoo |
| [17:36:10] |
<prencher> |
leifkb - might want to look at wtforms then, if you don't want to spend time decoupling zine forms; http://wtforms.simplecodes.com/ |
| [17:36:51] |
<prencher> |
there's also formencode and i believe diva forms, but i think diva forms is tightly coupled to diva itself |
| [17:37:20] |
<aa_> |
leifkb: glashammer is basically the reusable bits of zine taken out |
| [17:37:45] |
<aa_> |
leifkb: it also contains both wtforms support, and zine.utils.forms support |
| [17:38:16] |
<leifkb> |
I actually have my own form sort-of-library from another application that I semi-abandoned. I could also use that. :-/ It's kludgey, though, so I'm trying to decide if the alternatives are better. |
| [17:38:44] |
<aa_> |
there are never enough form libs in this world |
| [17:38:45] |
<prencher> |
well if you want something that's selfcontained, wtforms is probably your best bet right now |
| [17:38:56] |
<aa_> |
yes, wtforms |
| [17:39:37] |
<prencher> |
formencode is good too, but it doesn't deal with generation, and personally i find it a bit messy to work with |
| [17:40:09] |
<aa_> |
mitsuhiko: I added a default= paramter to Fields, that may or may not interest you for zine |
| [17:40:38] |
<aa_> |
prencher: formencode is nice in a "swimming through puke" kind of way |
| [17:41:31] |
<mitsuhiko> |
aa_: what's the point of that? |
| [17:41:43] |
<mitsuhiko> |
why not provide the default to the form? |
| [17:42:05] |
<mitsuhiko> |
(which is the reason why the constructor is so simple, to overload it ^^) |
| [17:42:14] |
<aa_> |
mitsuhiko: because SubmitField(default='Save') basically |
| [17:42:23] |
<mitsuhiko> |
aha |
| [17:42:42] |
<mitsuhiko> |
aa_: why does a submit field has a value? |
| [17:42:57] |
<mitsuhiko> |
you could implement wtforms like labels if you want something like that |
| [17:43:08] |
<aa_> |
yeah, that was the other option |
| [17:45:46] |
<prencher> |
or, just use wtforms |
| [17:48:54] |
* |
alowry has joined #pocoo |
| [17:50:35] |
* |
Crast_ is now known as Crast |
| [17:51:04] |
* |
rcscomp has quit IRC |
| [17:51:08] |
<Crast> |
prencher: getting pushy with the wtforms advertising, eh? :P |
| [17:52:59] |
* |
rcscomp1 has quit IRC |
| [17:54:06] |
* |
highwaychile has joined #pocoo |
| [17:55:00] |
<Crast> |
I predict form frameworks to be the next text editor holy war |
| [17:55:07] |
<steg> |
does wtforms support composing forms the same way that formencode does? |
| [17:55:20] |
<steg> |
because that is one of the cool things about formencode |
| [17:55:30] |
<Crast> |
what do you mean composing? |
| [17:55:57] |
<steg> |
class Address(Schema): ... class NewOrder(Schema): delivery_address = Address() |
| [17:56:30] |
<steg> |
schemas are composable |
| [17:56:43] |
<Crast> |
ahh |
| [17:56:43] |
<steg> |
or something like |
| [17:56:56] |
<Crast> |
so basically subforms or the like? |
| [17:57:01] |
<steg> |
class UserProfile(Schema): addresses = ForEach(Address()) |
| [17:57:13] |
<steg> |
Crast: yeah, basically Schemas have the same interface as all the other validators |
| [17:57:33] |
<steg> |
so you can compose them... so yes, basically sub-forms :) |
| [17:57:56] |
<steg> |
it's something i use a lot for more complex forms |
| [17:58:08] |
<steg> |
and it's the one reason i like formencode |
| [17:59:04] |
<Crast> |
currently wtforms doesn't allow you to do that, as the application we had originally designed wtforms for, we just instantiated the form multiple times with different prefix= arguments to show e.g. multiple page-entry forms on a single page. But, it is a ticket for the next version, to support sublists of forms and such |
| [18:00:03] |
<Crast> |
it'd probably be something strikingly obvious like class PageForm(Form): class(ArticleForm): pages = ListField(PageForm, max=10) |
| [18:00:20] |
<steg> |
Crast: yes, that would be very nice |
| [18:00:28] |
<steg> |
strikingly obvious is good |
| [18:01:01] |
<steg> |
certainly beats the formencode way of strikingly non-obvious :P |
| [18:01:51] |
<steg> |
Crast: there are potentially a couple of problems with composition though, if you're supporting things like generation |
| [18:01:52] |
<Crast> |
as a stopgap, you could currently just do for n in pages: form = PageForm(prefix="page_%d" % n) # do stuff |
| [18:02:17] |
<steg> |
Crast: true, but i think i'd wait until it's properly supported |
| [18:02:39] |
<Crast> |
proper may not necessarily be ideal, but it depends on how you use your data |
| [18:03:15] |
<Crast> |
me personally, I will probably continue having Article and Page as separate forms non-composed, because then I could just copy the fields right to the ORM. but then, some ORM's do support assigning lists.. |
| [18:03:16] |
<steg> |
Crast: i tend to ask models to apply it to themselves |
| [18:03:47] |
<steg> |
yeah... or nested models |
| [18:03:56] |
<steg> |
(dictionaries) |
| [18:04:07] |
<steg> |
Crast: it's kind of an elegant feature to have in any case, imo |
| [18:04:10] |
<Crast> |
yeah |
| [18:04:47] |
<Crast> |
we're a bit fuzzy on the details right now, prencher thought up some of it when he wrote the ticket, any input either on the ticket or mailing list would be cool |
| [18:05:00] |
<steg> |
ok, i will have a look at it |
| [18:05:10] |
<steg> |
see if i can add anything useful |
| [18:05:26] |
<steg> |
bbiab |
| [18:11:34] |
* |
mtrichardson has joined #pocoo |
| [18:11:51] |
<prencher> |
actually the stuff on the ticketi s horribly outdated |
| [18:12:49] |
<prencher> |
have a much cleaner solution planned, but we'll see once 0.3 comes around.. first is 0.2/LOLDOCS.. which is almost done |
| [18:15:27] |
<prencher> |
steg - start a thread on the mailing list if you would, we can go into details there then, instead of just releasing it when 0.3 rolls around.. feedback is always welcome |
| [18:15:57] |
<prencher> |
mitsuhiko - ping? |
| [18:16:29] |
<mitsuhiko> |
pong |
| [18:16:43] |
<prencher> |
mitsuhiko - how exactly do you make modindex work for sphinx? |
| [18:16:58] |
<mitsuhiko> |
modindex? |
| [18:17:02] |
<mitsuhiko> |
the module index? |
| [18:17:06] |
<mitsuhiko> |
it should work automatically :) |
| [18:17:15] |
<prencher> |
seems not to though |
| [18:17:21] |
<prencher> |
http://wtforms.simplecodes.com/docs/modindex.html |
| [18:17:26] |
<prencher> |
what exactly triggers it? |
| [18:17:51] |
<mitsuhiko> |
.. module:: |
| [18:17:56] |
<mitsuhiko> |
and .. automodule:: |
| [18:18:05] |
<mitsuhiko> |
.. module:: wtforms |
| [18:18:10] |
<mitsuhiko> |
on top of your rst |
| [18:18:11] |
<mitsuhiko> |
or |
| [18:18:14] |
<mitsuhiko> |
.. module:: wtforms.validators |
| [18:18:32] |
<prencher> |
will that not make it spit that into the rst? |
| [18:19:09] |
<mitsuhiko> |
automodule:: :members: will output something |
| [18:19:11] |
<mitsuhiko> |
.. module:: not |
| [18:19:13] |
<prencher> |
ah |
| [18:19:16] |
<prencher> |
gotcha |
| [18:20:37] |
<prencher> |
so can you put .. module:: before any header to make it link there or something? |
| [18:22:17] |
<prencher> |
below the header seems to work |
| [18:22:26] |
* |
rodfersou[away] has joined #pocoo |
| [18:23:17] |
* |
sashav has quit IRC |
| [18:24:05] |
<prencher> |
yep, there we go, cheers mitsuhiko |
| [18:27:02] |
<prencher> |
http://wtforms.simplecodes.com/docs/modindex.html much better |
| [18:38:38] |
<prencher> |
mitsuhiko - zine has a blogger importer right? we were thinking of setting up a dev blog, eventually moving it to zine, once zine gets a bit more stable |
| [18:38:53] |
* |
stifal has joined #pocoo |
| [18:43:52] |
<prencher> |
Crast - bork your aim again? |
| [19:20:34] |
<mitsuhiko> |
What the? |
| [19:20:35] |
<mitsuhiko> |
http://www.reddit.com/r/programming/comments/7323x/web2py_book_on_amazon/ |
| [19:21:12] |
<mitsuhiko> |
prencher: yep. there is a blogger importer |
| [19:21:14] |
<aa_> |
oh my lord |
| [19:21:18] |
<mitsuhiko> |
but i'm paralyzed right now |
| [19:21:43] |
<prencher> |
WEB2PY |
| [19:21:44] |
<prencher> |
Enterprise Web Framework |
| [19:21:46] |
<prencher> |
hahahaha |
| [19:22:46] |
<mitsuhiko> |
oh boy. apparently the publishing company doesn't have editors :) |
| [19:23:03] |
<mitsuhiko> |
"Unless you are using mod wsgi, you should setup the web2py server so that |
| [19:23:04] |
<mitsuhiko> |
it can be started/stopped/restarted as any other Linux daemon and so it can |
| [19:23:04] |
<mitsuhiko> |
start automatically at the computer boot-stage." |
| [19:23:15] |
<prencher> |
remember when we looked over his shit mitsuhiko? |
| [19:24:24] |
<prencher> |
it seems any publisher will just jump on any python thing they can get these days |
| [19:45:21] |
<plaes> |
hrm.. someone should finish contrib.smtp so I could start writing the book about werkzeug Ö= |
| [19:46:31] |
<plaes> |
the Anti-Enterprise Web Anti-Framework |
| [19:51:32] |
* |
jpcw2002 has quit IRC |
| [19:51:38] |
* |
jpcw2002 has joined #pocoo |
| [19:52:14] |
* |
jpcw2002 has joined #pocoo |
| [19:53:04] |
* |
luks has quit IRC |
| [19:53:06] |
* |
jpcw2002 has quit IRC |
| [19:53:07] |
* |
luks has joined #pocoo |
| [19:53:11] |
* |
toutancamion has joined #pocoo |
| [20:02:55] |
<birkenfeld> |
prencher: you only need to market yourself |
| [20:04:01] |
* |
maix has joined #pocoo |
| [20:04:15] |
<prencher> |
birkenfeld - what? |
| [20:04:37] |
<prencher> |
oh web2py? i guess so |
| [20:04:39] |
<birkenfeld> |
prencher: you wondered why the web2py guy got them to publish his book |
| [20:05:03] |
<birkenfeld> |
of course, overall it's a good thing having many python books out there |
| [20:05:10] |
<birkenfeld> |
if only to make people aware |
| [20:05:29] |
<mitsuhiko> |
birkenfeld: oh. you mean like basic? :D |
| [20:05:35] |
<mitsuhiko> |
or php |
| [20:05:51] |
<steg> |
php is everywhere though |
| [20:06:00] |
<birkenfeld> |
mitsuhiko: php already surpassed that level |
| [20:06:17] |
<birkenfeld> |
also, visibility is only loosely connected with quality |
| [20:06:34] |
<steg> |
if you're doing a new web language, maybe it's best to compile it to PHP ;) |
| [20:06:46] |
<steg> |
suddenly *everybody* can run it on their cheap crappy hosting |
| [20:07:00] |
<birkenfeld> |
hey, why not write phphp -- a PHP implementation in PHP? |
| [20:07:10] |
<steg> |
for obvious reasons :P |
| [20:07:25] |
<prencher> |
works for pypy, so why not |
| [20:07:33] |
<birkenfeld> |
seriously, I think more than one attempts have been made at converting Python to PHP |
| [20:07:39] |
<asmodai> |
phphp sounds like a bad fart or so |
| [20:07:48] |
<steg> |
restricted php :P |
| [20:07:49] |
<plaes> |
haha |
| [20:07:51] |
<mitsuhiko> |
birkenfeld: currently there are quite a few projects that try it the other way round |
| [20:07:57] |
<birkenfeld> |
mitsuhiko: yes. drupy |
| [20:08:05] |
<mitsuhiko> |
yep |
| [20:08:18] |
<birkenfeld> |
for obvious reasons, both are destined for Hood's gate |
| [20:08:22] |
<mitsuhiko> |
and ian bicking has wphp |
| [20:08:28] |
<prencher> |
we should just all get on mono and .net RIGHT mitsuhiko???? |
| [20:08:36] |
<prencher> |
or..parrot |
| [20:08:47] |
<mitsuhiko> |
prencher: yep. someone has to port django to mono |
| [20:08:48] |
<steg> |
.net or the jvm |
| [20:08:50] |
<steg> |
woot |
| [20:09:06] |
<steg> |
seriously i want my compiler to be dumb and my virtual machine to be smart :P |
| [20:09:12] |
<mitsuhiko> |
what's really crazy is that xsp is compiling and reloading faster than django starts up |
| [20:09:19] |
<birkenfeld> |
xsp? |
| [20:09:22] |
<mitsuhiko> |
c# on xsp2 feels more dynamic than python :-/ |
| [20:09:26] |
<mitsuhiko> |
birkenfeld: a standalone asp.net server |
| [20:09:28] |
<birkenfeld> |
ah |
| [20:09:34] |
<mitsuhiko> |
compiles modules on http request |
| [20:09:47] |
<mitsuhiko> |
which is... can't say how awesome that feels :) |
| [20:09:58] |
<asmodai> |
birkenfeld: hahaha, Hood's gate |
| [20:09:59] |
<mitsuhiko> |
and unlike all the broken python reloaders that one actually works |
| [20:10:01] |
<asmodai> |
\o/ |
| [20:10:10] |
<prencher> |
mitsuhiko - asp.net has always done that though |
| [20:10:14] |
<birkenfeld> |
mitsuhiko: do you perchance have a hole of, say, 1 week, in the memories of your vacations? |
| [20:10:29] |
<mitsuhiko> |
birkenfeld: why? |
| [20:10:39] |
<steg> |
most python reloaders don't bother checking for syntax errors before reloading |
| [20:10:42] |
<prencher> |
birkenfeld - he denies accusations of visiting ms bootcamp |
| [20:10:45] |
<mitsuhiko> |
prencher: well yes, but python always fails in doing that |
| [20:10:47] |
<birkenfeld> |
mitsuhiko: I'm beginning to suspect you were abducted to a secret Microsoft brainwashing camp |
| [20:10:49] |
<steg> |
which kind of annoyed me |
| [20:11:09] |
<prencher> |
mitsuhiko - werkzeugs reloader has yet to fail me |
| [20:11:12] |
<prencher> |
same for mod_wsgi's |
| [20:11:26] |
<steg> |
prencher: does it check for syntax errors? :P |
| [20:11:31] |
<birkenfeld> |
asmodai: in the style of some xkcd comic (don't ask me which) |
| [20:11:32] |
<mitsuhiko> |
birkenfeld: miguel de icaza put me into a mexicanian gullag :) |
| [20:11:32] |
* |
luks has quit IRC |
| [20:11:36] |
* |
luks has joined #pocoo |
| [20:11:42] |
<mitsuhiko> |
prencher: werkzeug totally reloads the whole process |
| [20:11:50] |
<mitsuhiko> |
xsp partially reloads what's necessary |
| [20:11:58] |
<steg> |
mitsuhiko: is it possible to do anything else in python ? |
| [20:11:59] |
<prencher> |
mitsuhiko - so? it works, and it's fast |
| [20:12:11] |
<mitsuhiko> |
prencher: slower than recompiling and replacing one part of the assembly apparently |
| [20:12:19] |
<mitsuhiko> |
steg: well yes. there are ways |
| [20:12:27] |
<mitsuhiko> |
guido wrote xreload |
| [20:12:41] |
<mitsuhiko> |
which tries to monkey patch modules and do crazy stuff :) |
| [20:12:58] |
<steg> |
sounds insane |
| [20:12:59] |
<prencher> |
mitsuhiko - eh.. i've never had speed problems with the reloader |
| [20:13:17] |
<prencher> |
just because your lovely xsp reloader is faster in theory doesn't mean it matters in practice |
| [20:13:32] |
<prencher> |
but then i guess xsp is enterprisy |
| [20:13:36] |
<mitsuhiko> |
prencher: well. it does happen to me that i hit f5 and get connection refused |
| [20:13:36] |
<prencher> |
so it's better right? |
| [20:13:47] |
<mitsuhiko> |
prencher: xsp fails the enterprisey test unfortunately |
| [20:14:06] |
<steg> |
mitsuhiko: and when you have a syntax error, the entire thing dies because you wanted to save something that you weren't quite finished with |
| [20:14:09] |
<steg> |
on pylons anywhere |
| [20:14:12] |
<steg> |
bleh, anyway |
| [20:14:14] |
<mitsuhiko> |
yep. fun |
| [20:14:21] |
<tux21b> |
btw, would it be possible to reload single modules, maybe even in different revisions in python using some c magic? |
| [20:14:49] |
<steg> |
tux21b: you'd have to find all the objects and automagically upgrade them somehow i guess |
| [20:15:17] |
<mitsuhiko> |
tux21b: no |
| [20:15:32] |
<tux21b> |
mitsuhiko, why are you so sure? |
| [20:15:48] |
<prencher> |
steg - pylons ey? aren't you supposed to be thoroughly anti-wtforms then? i remember aa_ saying he brought it up in there and got flamed to hell |
| [20:15:56] |
<mitsuhiko> |
tux21b: because i tried every single implementation technique i could come up |
| [20:16:03] |
<mitsuhiko> |
even monkey patching PyObjects to other pointers |
| [20:16:12] |
<tux21b> |
i would really like to have the erlang way of handling that in python too, but it seems nearly impossible, thats true ;) |
| [20:16:24] |
<tux21b> |
hmm :( |
| [20:16:39] |
<steg> |
prencher: i'm always open to new forms stuff ;) |
| [20:17:18] |
<tux21b> |
so python is only dynamic at the python level, but not at the c interpreter... |
| [20:17:33] |
<steg> |
i don't think it has to do with being dynamic |
| [20:18:21] |
<tux21b> |
lets say runtime resolving then |
| [20:20:46] |
<tux21b> |
but without it, it's still very problematic to develop really big python applications, because you have to reload and restart everything after a change, which could take some time... |
| [20:22:19] |
<steg> |
bleh, something is wrong with my macbook charger, i keep getting shocks when i touch radiators and my macbook at the same time |
| [20:22:31] |
<steg> |
and i like working with my back against a radiator |
| [20:22:56] |
<birkenfeld> |
tux21b: when your application gets so large that startup is ridiculously slow, you should begin using strategies like demandimport for testing |
| [20:24:52] |
<tux21b> |
yeah, that might be a workaround, but up to now, i haven't seen anything such big in python luckily, so it's not that urgent ;) |
| [20:24:56] |
<mitsuhiko> |
tux21b: i have no problem with the reloading. the broken import system is a major annoyance for me |
| [20:25:13] |
<mitsuhiko> |
cirtual imports ftw |
| [20:25:15] |
<mitsuhiko> |
*circular |
| [20:25:21] |
<birkenfeld> |
mitsuhiko: which of the breakages specifically? ;) |
| [20:25:30] |
<mitsuhiko> |
birkenfeld: circular imports |
| [20:25:50] |
<birkenfeld> |
don't use them -- that's all |
| [20:25:51] |
<mitsuhiko> |
birkenfeld: in every bigger python code base i worked so far there was at least one ugly workaround |
| [20:25:57] |
<mitsuhiko> |
you can't avoid that as it seems |
| [20:26:12] |
<birkenfeld> |
well -- is importing things in functions an ugly workaround? |
| [20:26:19] |
<mitsuhiko> |
not nice |
| [20:26:33] |
<mitsuhiko> |
but what's ugly is that "import foo.bar as bar" works in some cases where "from foo import bar" does not |
| [20:26:45] |
<mitsuhiko> |
because bar is not yet fully set up and no attribute of the foo package |
| [20:26:51] |
<birkenfeld> |
precise semantics of package import aren't specified unfortunately |
| [20:27:11] |
<birkenfeld> |
and it's hard anyway to get any circular import right when module loading consists of "execute it." |
| [20:27:17] |
<tux21b> |
birkenfeld, adding or removing an import in inyoka and you will nearly surely get one... (but we aren't using any services internally, and import everything everywhere *g*) |
| [20:27:58] |
<mitsuhiko> |
birkenfeld: i was at least happy to see that django and zope have the same problem |
| [20:28:02] |
<mitsuhiko> |
so it's not just us :) |
| [20:28:09] |
<birkenfeld> |
no, it is bound to occur |
| [20:28:32] |
<birkenfeld> |
if you don't want double the module count |
| [20:29:02] |
<tux21b> |
and btw, java has also problems with circ. imports. on the project i helped during the summer, you had to change the maximum-recursion-limit for compiling up to 10^6 to get it compile :) |
| [20:29:27] |
<birkenfeld> |
anyway, from-imports can never work in a circular fashion |
| [20:30:19] |
<mitsuhiko> |
tux21b: but in compiled languages > c you usually don't have any problems with circular references |
| [20:30:32] |
<mitsuhiko> |
in c# you can even create instances of subclasses in static constructors |
| [20:30:45] |
* |
luks has quit IRC |
| [20:30:48] |
* |
luks has joined #pocoo |
| [20:31:04] |
<mitsuhiko> |
eg. class Foo { public static Foo f; static Foo() { f = new FooSubclass(); }} |
| [20:31:06] |
<tux21b> |
during compile time you have them too, but there, the compiler can try to resolve it... |
| [20:31:17] |
<xorAxAx> |
tux21b: wow, how did you change it? |
| [20:31:21] |
<xorAxAx> |
that setting |
| [20:31:34] |
<birkenfeld> |
the difference between this and many other complaints is of course that there is no way to do this in Python |
| [20:31:46] |
<birkenfeld> |
not that it simply isn't implemented |
| [20:31:49] |
<tux21b> |
xorAxAx, it was some option anywhere in the prefereces menu of eclipse ;) |
| [20:32:03] |
<xorAxAx> |
ah |
| [ |