Camelia, the Perl 6 bug

IRC log for #padre, 2010-03-16

| Channels | #padre index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:02 Alias There's little bits of szabgab , miyagawa and friends
00:18 teejay joined #padre
01:09 jazzanova joined #padre
01:20 netman joined #padre
01:52 submersible Alias: how did the tuesday rush go?
01:55 garu hi folks
02:33 Alias submersible: Load survived, but we hit some rather critical bugs :(
02:33 Alias submersible: We dropped support for rollup pricing accidentally
02:33 Alias Both in AU and SAP
02:34 Alias And we forgot to implement support for rollup pricing at all in LivePrice
02:34 Alias Which means the cache logic is busted
02:35 Alias Working through solutions, but it's annoyingly late in the day for this kind of thing
02:44 CSJewell joined #padre
02:54 submersible Alias: rollup pricing should be there for orderitem objects
02:55 Alias MultiPrice doesn't handle it
02:56 Alias And neither does simulation
02:56 Alias So even if the rollup flags are set, they aren't obeyed
02:59 submersible they call quantity not quantity_rollup ?
02:59 Alias Yup
02:59 submersible arse
03:00 Alias So that's the rubidium bug
03:00 Alias It gets worse though
03:00 * submersible auto-headslaps
03:00 Alias Turns out the CRM pricing engine doesn't price multiple lines
03:00 Alias What it ACTUALLY prices are baskets
03:00 submersible I thought it might be the case
03:01 Alias And since rollup pricing is implemented in SAP, it does rollups too
03:01 submersible hehehe - with no way to tell it not to?
03:01 Alias But it caches on quantity
03:01 submersible yuk
03:01 submersible double yuk
03:01 Alias And thus the cache doesn't support rollup pricing, and caches wrong prices in a whole dimension of scenarios
03:02 Alias You can tell it not to
03:02 Alias In CRM config
03:02 Alias BUT that causes other problems
03:02 Alias Mostly due to tax rounding issues
03:02 Alias So I'm going to finesse the cache logic in LivePrice to handle rollups properly, and extend the list of factors in the cache key to add the rollup quantity
03:02 Alias So it becomes a cached price for "2 of 10"
03:03 submersible ikes
03:03 Alias It's doable
03:03 Alias You just have to make sure that if later you recieve pricing for BOTH "2 of 10" and "8 of 10" and you only have a price for "2 of 10" you skip the cache for both
03:03 submersible yeah - nice to find another nasty before the fact
03:03 Alias It's reasonable solvable
03:04 Alias We've got an impossible problem in our future though
03:04 submersible (another)
03:04 submersible go on
03:04 Alias If anyone ever does basket discounting that spans multiple prodcodes, the entire cache is invalid
03:04 Alias Since it can't tell WHEN it's got a false positive cache hit
03:04 submersible yup
03:04 submersible rotten
03:05 Alias Joern says he thinks that's tolerable, as we can keep quantity scaling in CRM, but exclude trans-prodcode discounts
03:29 dorkfish joined #padre
05:44 jazzanova joined #padre
05:45 danlucraft joined #padre
06:28 jazzanova joined #padre
06:40 Alias joined #padre
06:56 kaare joined #padre
06:57 Sewi gm
07:04 waxhead joined #padre
07:05 waxhead afternoon all
07:05 waxhead evening actually
07:09 dogma joined #padre
07:17 Sewi :-)
07:17 shadowpaste "garu" at 217.168.150.38 pasted "ORLite table class documentation" (127 lines) at http://paste.scsys.co.uk/40787
07:17 garu Alias, ping
07:19 garu Alias, I hope you find that helpful... it's something of a "what I wished was available and wasn't so I had to run through test files to figure out" :-)
07:24 azawawi joined #padre
07:24 Sewi pong azawawi
07:24 Sewi Hi aza
07:24 Sewi Hi azawawi
07:25 azawawi :)
07:25 azawawi Sewi: So that's why you told me not to fix it :)
07:25 Sewi Hmm?
07:26 azawawi Sewi: "As I keep saying: If anything is broken, blame it to adam or me :-)"
07:26 azawawi :)
07:27 Sewi Oh, I didn't tell you not to fix it...
07:27 Sewi You found two bugs or not_so_nice things yesterday and both of us were responsible for one of them :-)
07:31 azawawi Sewi: take a look at what i have sent you...
07:31 shadowpaste "garu" at 217.168.150.38 pasted "garu's "that would be amazing" wishlist for ORLite" (152 lines) at http://paste.scsys.co.uk/40788
07:32 garu Alias, also, there is that ^^  :)
07:32 pece joined #padre
07:35 garu Alias, oh, ->count( $pk ) is a copy-paste leftover, please scratch that
07:35 garu ok 5am, gotta wake up in a couple of hours, so I might as well get some sleep
07:35 garu g'night, folks!
07:36 Sewi gn8 garu
07:38 marcela joined #padre
07:43 reneeb joined #padre
07:43 aukjan joined #padre
07:44 azawawi interesting stuff http://nosql-database.org/
07:44 azawawi and http://en.wikipedia.org/wiki/NoSQL
07:46 Sewi I don't want to think about resource usage there :-)
08:01 Alias Typical pattern
08:01 Alias Do less work with less complexity and less dependencies, get more performance
08:02 Alias Also, pushing stuff via an intermediate language will always be slowed than doing things directly
08:19 szbalint yeah, ACID vs BASE :)
08:21 Sno|Laptop joined #padre
08:23 danlucraft joined #padre
08:50 Hyppolit svn: r11126 | adamk++ | http://padre.perlide.org/trac/changeset/11126
08:50 Hyppolit Updating to a version that comes up green on CPAN Testers, so our downstream numbers are reasonably accurate.
08:50 Hyppolit trunk/Padre/
08:51 Hyppolit svn: r11127 | adamk++ | http://padre.perlide.org/trac/changeset/11127
08:51 Hyppolit When I rewrote the windowlist code, I forgot to do the sorting :)
08:51 Hyppolit trunk/Padre/lib/Padre/Wx/Menu/
08:54 Hyppolit svn: r11128 | adamk++ | http://padre.perlide.org/trac/changeset/11128
08:54 Hyppolit When I rewrote the windowlist code, I forgot to do the sorting :)
08:54 Hyppolit trunk/Padre/
09:01 Alias garu: You know you can have commit directly, right?
09:52 pece joined #padre
09:56 Sewi Any big crashes which haven't been solved until now?
10:26 mj41 joined #padre
10:30 * teejay wonders how hard it would be to leverage the work done to make padre lightweight to produce a super-cool lightweight CMS using Dancer, Template::Tiny and ORLite
10:31 * teejay already has a nice, simple hyrbid catalyst/php CMS we use at $work
11:31 Alias Not hard
11:31 Alias Template::Tiny is possibly still a little bit too lightweight
11:31 Alias It's lacking some useful things
11:37 teejay shouldn't need a lot of complexity in a relatively simple CMS tho
11:37 teejay unsure whether to do the fullblown catalyst app first and the simplify
11:38 teejay wonder if I could get a grant
11:38 teejay Maypole was from a grant, and from that we got a decent MVC before ruby, and now have Catalyst and loads of cool new stuff
11:39 teejay the right groundbreaking app could deliver as much bang for the buck, *and* be more user-visible
11:48 * Alias shrugs
11:48 Alias It's an area with dozens of existing solutions
11:48 Alias And SQLite has certain limitations, which you'd really need to address
11:51 teejay most existing solutions are either massive overkill for the average site, or p*sspoor or abusing blogs
11:51 Alias Trouble with ORLite is that it STILL has dependencies
11:51 Alias Just less
11:52 teejay hmm
11:52 Alias And it still needs compiled modules
11:52 Alias Just less
11:53 Alias What it DOES do well is sacrifice complexity for specificity, and it wraps SQLite in a way that takes advantage of (and protects you against) SQLite's idiosyncracies
12:12 waxhead nite all
12:13 Alias garu: I've merged your docs
12:14 Alias garu: We can talk about your features later, there's some fairly good reasons I chose not to do most of them
12:14 Alias garu: We can talk about your features later, there's some fairly good reasons I chose not to do most of them
12:14 Alias eep
12:32 garu Alias, anytime :)
12:32 garu Alias, oh, and thanks!
12:35 Alias I didn't merge it directly, it's more "inspired" by your stuff
12:35 Alias So I also documented load, the difference between insert and create, etc
12:36 * Alias heads home, and will continue there
12:36 Alias garu: Mind if I answer your "nice to have" features in the form of a blog entry? :)
12:44 garu awesome
12:45 garu Alias, be my guest :)
12:47 Alias__ joined #padre
12:48 garu Alias__, looks like we're all having some connection issues, so: <garu> Alias, be my guest :)
12:50 daxim joined #padre
12:51 Alias__ great
12:52 garu Alias__, may I ask what "nice to have" features might make it to the code? I'm a little anxious :)
12:52 Alias__ Past that link again?
12:52 garu http://paste.scsys.co.uk/40788
12:53 Alias__ - select( $pk )
12:53 Alias__ That's what ->load is
12:53 garu cool
12:53 Alias__ You realise count( $pk ) will only ever be 1 right?
12:54 garu yup, I told you to disregard it earlier, it's a leftover from a bad copy-paste process
12:54 Alias__ ah
12:54 garu but I think it's the only one
12:55 Alias__ ->set exists, but I agree there's a certain lack of ->update
12:55 Alias__ That's mostly me trying to work out how exactly you'd make it not suck
12:55 garu yeah, I couldn't get it to work, even with that name... it kept saying set was an invalid method
12:55 Alias__ I'm refusing to add any code that sucks
12:56 Alias__ The API for it has to be clean before it goes in
12:56 garu yeah, well, I totally understand your point :)
12:56 garu oh, I figured ->update( %args ) would be nice enough
12:56 Alias__ Nope
12:57 Alias__ Certainly class-wise ->update doesn't work
12:57 Alias__ Since it needs to have key => param + where
12:57 Alias__ I'm not implementing select( { ... } )
12:58 garu ok :(
12:58 Alias__ Because in my experience you hit the limit really fast
12:58 Alias__ And the main reason it's useful is to do attribute => value and abstract away the different SQL in different databases
12:58 Alias__ ORLite only supports ONE database, and it's attributes ALWAYS match the table columns
12:58 Alias__ Compare...
12:58 Alias__ ->select( { key => 'value' } );
12:59 Alias__ ->select( 'key = ?', 'value' )
12:59 Alias__ Identical length
12:59 Alias__ In fact...
12:59 Alias__ ->select( "key = 'value'" )
12:59 Alias__ Shorter
12:59 Alias__ The benefits of that abstraction are so small that I can't find a way to justify it
13:00 Alias__ ORLite doesn't attempt to hide the fact you are working with a SQL database, it just smooths the process
13:00 Alias__ You also can't have prepare-in-advance resultset objects
13:00 Alias__ Because by default ORLite is connectionless
13:01 Alias__ Every statement is done on a fresh database connection, so you can mix lots of instances using the same database, and be SURE they won't collide or deadlock
13:01 Alias__ Automatically
13:01 Alias__ You have to be really paranoid with SQLite about holding onto connections or transactions for too long
13:02 Alias__ The extending schemas bit is interesting bit tricky
13:03 Alias__ It could be done, but I can't guarentee the order in which the tables are loaded
13:03 garu yeah, but that last syntax can't be used on regular (non-sanitized) variables... and for one key I agree with you, but what should be the syntax for more than one? select( 'foo = ?, bar = ?', $foo, $bar) ? or select( ' (foo, bar) = (?,?)', $foo, $bar)? to me, a select via key => value is much more readable
13:03 Alias__ Which means I can't be sure the order in which those extensions et loaded
13:03 garu but it's ok, we can just agree to disagree on that one :)
13:03 Alias__ garu: ORLite doesn't hide you from SQL
13:03 garu yeah, I got it
13:03 Alias__ You are expected to manage your schema yourself, and you are expected to know enough to do the where and order by stuff
13:04 Alias__ And it works because it's an API that's exclusive to one database
13:04 Alias__ It ONLY works...
13:04 Alias__ It's a luxury that most ORMs don't have, because they almost always notionally need to support the Big Four
13:04 Alias__ MySQL, Postgres, SQLite, Oracle
13:05 Alias__ It makes it hyperfast though
13:05 garu yup
13:05 Alias__ Have you seen ORLite code in the debugger?
13:05 garu not really, just via DBI_TRACE
13:05 Alias__ From the edge of the ORLite API to the actual DBI call is usually not more than 5-10 _statements_
13:05 Alias__ Even with "s"
13:05 garu nice
13:07 garu speaking of DBI_TRACE... how about the error handling thingies?
13:07 Alias__ Not needed
13:07 Alias__ I already do it
13:07 Alias__ Connections to DBI are done with RaiseError
13:07 garu really? must have missed it then
13:08 Alias__ You should see the exceptions straight out of DBI...
13:08 garu nope
13:08 Alias__ Really?
13:08 garu well, I see them, but they're like the one I mentioned there
13:08 garu that's an exact paste there, on "better error output"
13:09 garu it doesn't give me the sql statement, nor the caller line
13:09 Alias__ hrm
13:09 garu so it's basically useless, except to kill my app and let me know "something's off", fsvo 'something'
13:10 Alias__ I wonder if I can influence Carp
13:10 garu Carp::Always should have the answer :)
13:11 garu hmm... I wonder what happens if I try it with ORLite
13:11 Alias__ The code that ORLite makes is pretty conventional
13:12 Alias__ I'd very much like to avoid adding code for this
13:12 Alias__ Lately, I'm getting attracted to Aspect-Oriented Programming
13:12 garu s/croak/confess/ ?
13:12 Alias__ If the tracing you want could be an add-on install that knows where to hook in but isn't in the ORLite core, that could work well
13:12 garu there's also $Carp::CarpLevel
13:13 Alias__ I'll probably need to use level
13:13 Alias__ But that kinda sucks
13:14 Alias__ Since the DBI call comes two or three (or variable) sub levels deep
13:14 Alias__ And I don't want to double the statement count of each call just to do CarpLevel :)
13:14 garu how about confess instead of croak?
13:15 Alias__ I'm not the one issueing most of the errors
13:15 Alias__ There's almost no error code in ORLite, it just lets DBI throw it up
13:15 garu yeah, but the user didn't call DBI, it called ORLite
13:16 Alias__ That entire principle of exceptions is you don't have to catch and rethrow them in every method
13:16 Alias__ I shouldn't HAVE to double or triple my line count just to handle errors
13:16 garu right
13:17 garu what do you think is the best way for an ORLite user to handle such exceptions then?
13:18 Alias__ Depends
13:18 Alias__ If they REALLY are exception?
13:18 Alias__ As in errors that should basically never happen?
13:18 Alias__ Don't handle them except where you otherwise do blanket eval'ing
13:19 garu how about a create statement?
13:19 garu wrap it under a block eval or a try/catch thingie?
13:19 Alias__ Do you expect the create to fail?
13:21 garu Well, I'm trying to integrate ORLite to Mojolicious
13:21 garu and I most certainly need crud support
13:21 Alias__ If your objects have an auto-incremental primary key, you can do create and it shouldn't fail
13:22 Alias__ Because the id number gets filled in for you
13:22 garu well, that's a big if there :)
13:22 Alias__ If it's something with an inherent uniqueness as the primary key, like email address or URL, then you can either check for an existing record first, or catch exceptions
13:22 Alias__ my $existing = Foo::Bar::User->load( $email ); if ( $existing ) { The blah already exists }
13:23 garu I couldn't get the "u" to work so far, and I needed to make sure the "c" doesn't abort my entire action
13:23 garu sure, but I didn't know what load() did until a couple minutes ago :)
13:23 Alias__ Right :)
13:24 Alias__ So I've fixed your exception problem by documenting an entirely different method
13:24 Alias__ :)
13:24 garu hehe pretty much, yeah :)
13:24 garu this is why DBIC has update_or_create() btw, but I totally understand why you wouldn't have such a method
13:24 Alias__ I didn't want any ambiguity
13:24 garu I just mentioned it for completeness' sake
13:25 garu I did think ->create would just return false in case of failure, but oh well
13:25 Alias__ I guess the answer is that SQLite is for embedded work, so the number of corner cases and race conditions coming from multi-user databases is much lower :)
13:26 Alias__ garu: "Nobody checks return values" is another principle in ORLite :)
13:26 Alias__ Also, when you don't have to check return values, it turns out you can method chain and code gets way smaller :)
13:26 garu well, create *does* return true when it succeeds
13:26 Alias__ It returns the object
13:26 garu or that :)
13:26 Alias__ my $user = Foo::Bar->create( ... )
13:27 garu true true
13:27 garu well, load() solves several of my problems
13:27 Alias__ Yeah, sorry about that lack of docs
13:27 garu not all, but quite a few
13:28 garu but I really really need the ->update()  :)
13:28 Alias__ I agree
13:28 Alias__ But I can't think of a good API for it
13:28 garu how about at least the accessor for fow?
13:28 garu like $user->name('foo') ?
13:28 Alias__ Foo::Bar->do('update table set value = ? where id = ?')
13:28 Alias__ ->set( foo => $value )
13:29 Alias__ Accessors slow down code :)
13:29 garu yeah, like I said, ->set() looks a lot like what I wanted for ->update(), but I couldn't get it to work
13:30 garu it kept saying DB::TableName didn't have such method
13:30 Alias__ Well, ->set doesn't write back to the database
13:30 Alias__ ah
13:30 Alias__ ->set at the moment is ONLY added by default when array => 1
13:31 garu array => 1 meaning... ?
13:31 Alias__ For hash objects, the recommended method to change an attribute is $object->{name} = 'foo';
13:31 Alias__ Because we always generate it that way
13:31 garu k, now I know what you mean by array => 1 :)
13:31 Alias__ ->set( name => $value ) is required when ORLite is using array mode
13:32 Alias__ BTW, the SQL fetch speed doubles when array mode is on
13:32 garu sweet
13:32 garu even for updates?
13:32 Alias__ ->set doesn't do an update
13:32 garu oh, 'fetch speed'
13:32 Alias__ It just changes the object
13:32 garu hmm
13:32 Alias__ array objects are faster across the board
13:33 garu that's sad :/
13:33 Alias__ Although constructors might be slightly slower
13:33 garu so set is still not what I need
13:33 Alias__ accessor methods are faster, selects are way faster
13:33 Alias__ No, you want update
13:33 Alias__ Which doesn't exist
13:33 garu right
13:33 garu so, for now one can only update via ->do(), right?
13:34 Alias__ Unfortunately, yes
13:35 garu are there plans for a ->as_hashref method for elements (or ->select_raw, or whatever) to return a simple, unblessed hash reference? or am I confined to the selectrow_hashref dbi wrapper?
13:35 garu (it would be nice for Mojolicious's JSON integration)
13:37 Alias__ Why is it important that it's a plain hash ref?
13:42 garu because if it's a blessed object, I can't call a JSON's decode() on it. Well, I can, but it returns a single string with the object's name. So to render JSON from db-fetched data on a webservice, I need to create it manually, which sucks for large tables (e.g., render_JSON( { foo => $user->foo, bar => $user->bar, baz => $user->baz } ). This sucks specially since there I know it is a hashref deep inside :)
13:42 garu brb &
13:43 Alias__ { %{ $object} } ?
13:43 Alias__ You can do bless $object, 0 or something too
14:06 garu hey, nice trick there, I didn't know you could treat blessed hashrefs as hashrefs :)
14:06 garu Alias++
14:08 garu now add an ->update() method and I'll be happy for good :)
14:08 * garu hides
14:34 Haarg joined #padre
14:53 patspam joined #padre
14:56 * sjn wonders what the "project" concept in Padre is, and how to use it
14:56 jagd joined #padre
14:56 sjn aaaaand, the moment I ask, I read it's on the TODO list :-P
14:56 sjn oh well
15:00 dapatrick joined #padre
15:10 Alias__ sjn: Project is the implicit grouping of files based on stuff that looks like a cpan distro
15:10 Alias__ sjn: It's meant to be automatic
15:10 Alias__ sjn: It gets used in all kinds of invisible ways you don't know exist
15:10 sjn so it's like a "Session" but automatically set up in different ways?
15:15 zenog So sessions would be definitely an FAQ item ...
15:15 sjn Yay! Stupid questions ftw \o/
15:16 zenog sjn: Not a stupid question, the concept isn't that obvious ...
15:17 * sjn has a policy to ask anything that comes to mind now that I have good time to explore Padre
15:17 sjn I'll try to ask all kinds of questions, including the stupid ones :)
15:17 sjn One thing I'm wondering about...
15:18 sjn What does the "R/\" in the bottom right corner of the main Padre window mean? (it's the rightmost item in the status bar at the bottom)
15:20 cognominal joined #padre
15:35 zenog sjn: It should be "R/W", but there does not seem to be enough place for this string.
15:35 sjn ah, cool
15:35 sjn so we have a bug :)
15:35 zenog sjn: Ideally, there would be a tooltip for each entry in the status bar that explains the entry.
15:35 sjn zenog: agree
15:36 zenog sjn: Yes. If you have time to fix it or write a ticket ... ;-)
15:36 * sjn would love to have an IRC interface to the bug tracker :-)
15:39 Hyppolit #890: "Introduce Temporary Variable" need to be fixed (new defect) [ http://padre.perlide.org/trac/ticket/890 ]
15:39 zenog sjn: Hyppolit source code is in the repository ;-)
15:40 sjn Hm... Padre uses trac? Why not the CPAN RT bugtracker?
15:40 Sewi sjn: Guess we would blow up rt :-)
15:41 Sewi trac gives some other things cpan-rt can't, like web svn interface and wiki
15:41 reneeb joined #padre
15:42 sjn hm. fair enough
15:44 zenog sjn: If you have some more time, think about doing implementing fixing sth. instead of filing bug reports ;-)
15:46 zenog e.g. it would be nice to have by-language Perl IRC support (there are several channels on irc.perl.org for that)
15:47 Sewi zenog: Actually we have that.
15:47 Sewi If you put a question here, it's usually answered in the same language, but we don't have enough supporters and traffic for opening a channel per lang :-)
15:48 sjn zenog: We'll see. The time I have is only for solving stuff that's directly in my way, but when I see something weird I'll spend some time telling you about it. :)
15:49 zenog Sewi: I mean the general Perl support. There are already channels for German, Hungarian, Japanese; right now we jump to http://padre.perlide.org/irc.html?channel=general
15:49 Sewi oh, ok
15:51 Hyppolit #891: Bottom right status field too small (new defect) [ http://padre.perlide.org/trac/ticket/891 ]
15:51 sjn there.
15:52 zenog sjn: thanks!
15:56 sjn np
17:13 Hyppolit svn: r11129 | jagd++ | http://padre.perlide.org/trac/changeset/11129
17:13 Hyppolit update chinese translation (93%)
17:13 Hyppolit trunk/Padre/share/locale/
17:23 zenog jagd: Great! Keep up the good work!!
17:24 jagd zenog, thanks.
17:26 jagd zenog, i hope, there will be many chinese user.  before that, a complete translation is one of the preconditions
17:28 daxim I'm curious where you find the translation for terms like "lexical variable"
17:30 jagd daxim: do you have any good suggestion?
17:31 zenog Has anyone an idea why the syntax highlighting engine descriptions in the Preferences dialog don't get translated?
17:31 daxim where possible, re-use existing world-class translations, e.g. from O'Reilly books
17:32 jagd daxim: sorry, i did not read any Compiler book with chinese
17:32 Hyppolit svn: r11130 | zenogantner++ | http://padre.perlide.org/trac/changeset/11130
17:32 Hyppolit fixed English string: 'searchengine' => 'search engine'
17:32 Hyppolit trunk/Padre/lib/Padre/Wx/Dialog/
17:32 daxim 可惜……
17:33 Hyppolit svn: r11131 | zenogantner++ | http://padre.perlide.org/trac/changeset/11131
17:33 Hyppolit updated German translation
17:33 Hyppolit trunk/Padre/share/locale/
17:33 jagd daxim: 那应该如何称呼?
17:34 daxim I don't know :)  you're the translator
17:34 zenog jagd: Was the Camel book translated into Chinese?
17:37 jagd zenog: the two Camels ware translated into Chinese, but i've not read them :(
17:37 daxim llama book: http://oreilly.com.cn/book.php?bn=7-5083-1113-2
17:37 daxim camel book: http://oreilly.com.cn/book.php?bn=7-5083-0730-5
17:38 daxim should be available on verycd or something
17:38 jagd daxim: so, can you remember the translation of 'lexically variable' in compile book of chinese?  :)
17:39 daxim no, I don't
17:43 daxim zenog:   > ack 'Fast but m'
17:43 daxim Padre/lib/Padre/MimeTypes.pm
17:43 daxim 303:    __PACKAGE__->add_highlighter( 'stc', 'Scintilla', Wx::gettext('Fast but might be out of date') );
17:43 daxim is marked for translation
17:44 zenog daxim: It is also in de.po, with a translation
17:45 daxim strange
17:45 * daxim strokes his beard
17:45 zenog Will look into that more closely tomorrow ... gotta go.
17:47 jagd daxim:  are you living in german?  maybe i can visit you when we both have time.  you see, i am not good at translation, and this work is not so interesting , in compare to Coding.
17:48 daxim I live in austria
17:58 jagd daxim:  cool. Nice talking with you :D
17:58 daxim :)
18:25 Hyppolit svn: r11132 | jagd++ | http://padre.perlide.org/trac/changeset/11132
18:25 Hyppolit adjust chinese translation
18:25 Hyppolit trunk/Padre/share/locale/
19:02 jesusfriends joined #padre
19:58 Sno|Laptop joined #padre
20:07 LeK joined #padre
20:07 Sewi ping szabgab
20:12 user_1299 joined #padre
20:12 user_1299 joined #padre
20:14 Sewi Hi user_1299
20:15 user_1299 Hi
20:15 user_1299 I'm just tested the help link in padre :-)
20:16 Sewi Do you need help?
20:16 user_1299 No, actually not...
20:17 Sewi Where did you hear about Padre?
20:17 user_1299 I'm using it for quite some time for smaller projects.
20:18 user_1299 because eclipse is so HUGE and overfilled with functionality I never use
20:19 user_1299 only the debugging functionality in eclipse with EPIC is very nice
20:20 user_1299 Where should I start when I want to hack myself on padre?
20:26 Sewi svn?
20:26 Hyppolit svn is http://padre.perlide.org/trac/wiki/Download#​Moredetailedinstructionformanualinstallation
20:27 Sewi This page has information for checking out the current svn trunk version, the newest developer version (which might be unstable).
20:28 user_1299 thanks! I'll have a look
20:28 Sewi Next you'll need a trac account which is also available here.
20:28 Sewi When you changed something, come back and tell what you did and usually you'll get a commit bit which allows you to upload your changes.
20:29 user_1299 ok, but I think I have to learn first how padre works actually before I really can provide some changes :-)
20:30 user_1299 What do you need to create a trac user for me? (user_1299 was automatically given and not my choose)
20:31 Sewi You're welcome to stay here (you could use another IRC client and connect to irc.perl.org and enter #Padre if you want) and ask question if you got some about the source.
20:31 szabgab user_1299, you can change your nick type  /nick something
20:31 Sewi register?
20:31 Hyppolit register is http://padre.perlide.org/trac/register
20:31 Sewi Hi langmic :-)
20:32 langmic thats better :-)
20:32 Sewi Go to this URL (above) and you could create your account.
20:32 langmic will do
20:32 Sewi szabgab: Are you here or are you not really here? :-)
20:32 szabgab not really :-)   I just came home from the Rehovot.pm meeting
20:32 szabgab sawyerx was giving a talk about Moose
20:33 * Sewi 's still waiting for Hannover.pm setup on pm.org :-(
20:34 Sewi Did you get time to look at that feedback cgi script and decide if you want it in documentroot? Sorry for always asking about this :-)
20:34 szabgab sorry, no time
20:34 szabgab and have forgotten too
20:34 szabgab so good that you reminded me
20:35 Sewi Do you think you'll be able to look at it until the next release?
20:35 Sewi It's a very complicated 16 lines script :-))
20:36 Hyppolit svn: r11133 | Sewi++ | http://padre.perlide.org/trac/changeset/11133
20:36 Hyppolit Remove useless use
20:36 Hyppolit trunk/template.padre.perlide.org/
20:36 Sewi 15 lines
20:36 langmic1 joined #padre
20:36 szabgab use strict/warnings
20:37 szabgab hmm, I am not sure I understand it
20:38 szabgab where is HTTP_X_PADRE coming from?
20:39 langmic1 left #padre
20:39 langmic1 joined #padre
20:42 szabgab Sewi, ???
20:42 szabgab see above
20:43 Sewi sorry, was afk for a moment...
20:43 Sewi HTTP_X_PADRE is the X-PADRE: (version) HTTP-header, the ENV variable is set by Apache
20:44 Sewi registration closed again
20:45 mohsen szabgab: i can finish padre translation to persian
20:45 Sewi translation?
20:45 Hyppolit translation is http://padre.perlide.org/t​rac/wiki/TranslationIntro
20:45 szabgab mohsen, that would be great
20:46 szabgab also I'd be happy to see an GUI for PerlTidy
20:46 mohsen it's almost done, just need to make sure everything is fine
20:46 szabgab that is a fairly stand-alone project
20:46 mohsen Mmm, sounds good
20:46 szabgab the idea would be to have two panes
20:47 szabgab in one of them all the possible Tidy options as check boxes and other elements
20:47 szabgab in the other the code
20:47 szabgab as you make changes to the configuration it immediately updates the code in the other side
20:47 szabgab the, when you are satisfied you could save the tidy configuration file
20:48 mohsen nice
20:48 szabgab Sewi, I'll make some changes to that script and then add it to the server
20:48 mohsen i like the idea
20:49 szabgab mohsen, IMHO this should be part of the Tidy plugin we already have
20:49 Sewi szabgab: I didn't want to steal your evening time right now for looking at it.
20:49 Hyppolit svn: r11134 | Sewi++ | http://padre.perlide.org/trac/changeset/11134
20:49 Hyppolit use strict/warnings
20:49 Hyppolit trunk/template.padre.perlide.org/
20:49 szabgab I just got the Archos device so I'll now retire to play with it :-)
20:50 Sewi Have fun - and please report :-)
20:50 szabgab mohsen, you have your commit bit, right ?
20:50 Sewi he has
20:50 mohsen let me check
20:51 szabgab it would be awesome if you finished the Persian translation and could work on that plugin
20:51 mohsen yes, i want to finish persian translation first
20:51 szabgab and I'd be happy to see you added yourself to the web site as well
20:52 szabgab http://padre.perlide.org/translators.html
20:53 szabgab good night for now &
20:53 Sewi gn8 szab
20:53 mohsen gn8 szabgab
21:26 Alias joined #padre
21:34 langmic1 left #padre
21:38 dorkfish joined #padre
23:18 Alias zenog: If you happen to be using Padre in, say, French, then the "Live Support (French)" should appear in help
23:18 Alias We just don't show them by default
23:20 Sewi gn8

| Channels | #padre index | Today | | Search | Google Search | Plain-Text | summary