Camelia, the Perl 6 bug

IRC log for #padre, 2010-01-10

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

All times shown according to UTC.

Time Nick Message
00:17 teejay joined #padre
00:36 SvenDowideit_ joined #padre
00:52 szabgab joined #padre
01:51 SvenDowideit joined #padre
02:17 cognominal joined #padre
04:22 SvenDowideit_ joined #padre
05:11 Alias__ joined #padre
05:43 cognominal joined #padre
06:37 danlucraft joined #padre
07:15 danlucraft1 joined #padre
07:17 danlucraft joined #padre
08:13 danlucraft1 joined #padre
08:41 kaare joined #padre
08:45 cognominal joined #padre
09:01 Hyppolit svn: r10112 | azawawi++ | http://padre.perlide.org/trac/changeset/10112
09:01 Hyppolit [S:H:P6] Synchronized to STD.pm r29496
09:01 Hyppolit trunk/Syntax-Highlight-Perl6/lib/
09:04 Hyppolit svn: r10113 | azawawi++ | http://padre.perlide.org/trac/changeset/10113
09:04 Hyppolit [S:H:P6] Bumped version to 0.78 for a new CPAN release
09:04 Hyppolit trunk/Syntax-Highlight-Perl6/ trunk/Syntax-Highlight-Perl6/lib/Syntax/Highlight/ trunk/Syntax-Highlight-Perl6/script/
09:37 szabgab joined #padre
09:52 Hyppolit svn: r10114 | adamk++ | http://padre.perlide.org/trac/changeset/10114
09:52 Hyppolit When we save a file as a different name, detect the change and flush project state so that Padre notices the change in project.
09:52 Hyppolit trunk/Padre/ trunk/Padre/lib/Padre/ trunk/Padre/lib/Padre/Wx/
09:54 Hyppolit svn: r10115 | adamk++ | http://padre.perlide.org/trac/changeset/10115
09:54 Hyppolit Comment typo
09:54 Hyppolit trunk/Padre/lib/
09:58 Alias__ Right, that's my most annoying gui bug fixed
09:58 Alias__ Now to have another stab at fixing padre.exe (although I may need to do something strange)
10:12 Haarg joined #padre
10:12 waxhead joined #padre
10:13 waxhead hi everyone
10:13 Alias__ hi
10:13 Alias__ This padre.exe error is a bitch
10:14 Alias__ It fails because it fails to duplicate STDOUT
10:14 Alias__ Which is fair enough
10:14 Alias__ But that means we need to, somehow, compensate for the possibility there may be no STDOUT at all
10:16 Sewi joined #padre
10:16 Alias__ I really need azawawi
10:16 Alias__ Or someone that understands padre.exe
10:18 Sewi Hi Alias__
10:18 Alias__ \o
10:24 waxhead Alias__, did you fix the directory tree issue?
10:25 Alias__ Which one
10:25 Alias__ The refresh thing?
10:25 Alias__ Yes, I hope so
10:25 waxhead the double click or click one..
10:25 Alias__ I think it's fixed now, the refresh shortcut SHOULD solve about 3 different similar bugs
10:26 waxhead the one in the Changes file?
10:27 Alias__ uuuh, no
10:28 Alias__ That's a different dix
10:28 Alias__ fix
10:28 danlucraft1 hello Padreons
10:28 Alias__ Let me double check I actually made the change
10:28 Alias__ danlucraft1, hi there
10:28 danlucraft may I say what a well put together project it seems to be
10:28 waxhead danlucraft, hey
10:28 Alias__ You may :)
10:30 danlucraft I've been working on an editor written in Ruby
10:30 danlucraft at redcareditor.com
10:31 danlucraft I suspect we have similar problems, so I wanted to say hi
10:32 Alias__ It would appear we do, indeed
10:32 * Alias__ is also dissapointed
10:32 danlucraft why disappointed?
10:32 Alias__ Yet again, the inherently greater ability of the Ruby community to make a website that doesn't suck compared to Perl shows through
10:33 danlucraft heh
10:33 danlucraft it's wordpress. with a theme I downloaded somewhere
10:33 waxhead ha.. there's something about that..
10:33 danlucraft I know what you mean though, we must collectively waste a ton of time on making our websites pretty...
10:33 waxhead I wonder if ruby is an 'artists' language and perl is the workman language?
10:33 * Alias__ theorises it's because Perl is full of sysadmins and people that care about correctness ahead of looks
10:33 Alias__ or something
10:33 waxhead you know like the arty types get macs, the rest of use get a pc
10:34 Alias__ Padre's website is a direct result of the "STYLE AND CONTENT MUST BE SEPARATE AND THAT'S ALL I CARE ABOUT" types getting their way
10:34 waxhead Alias__, I'm with you on that thought...
10:35 Alias__ danlucraft, interesting set of constraints though...
10:35 danlucraft yes, but you DO have a really nice icon....
10:35 Alias__ danlucraft, you've chosen as your main target users of Textmate that are not on Macs?
10:35 danlucraft sort of.
10:35 Alias__ danlucraft, you have no idea how much time went into the logo :)
10:35 Alias__ Probably as much as the entire website
10:35 danlucraft I believe you
10:36 danlucraft Redcar mailing list comes alive for logo talk
10:36 * Alias__ nods
10:36 danlucraft bikeshedding
10:36 Alias__ Well, some of it was useful for us
10:36 danlucraft anyway it's very nice, though I don't get the connection
10:36 waxhead the butterfly?
10:36 danlucraft yep
10:36 Alias__ For example, since we picked "Padre" (which I'd only thought of as "father, but starting with P") there was a lot of talk about how it had dangerous religious overtones
10:37 waxhead http://www.perl6.org/
10:37 Alias__ Ideas for icon/logo were of priests, or daddy-hand holding baby-hand etc
10:37 waxhead that's camelia Larry's choice of logo..
10:37 danlucraft ah, you can tell Im not a Perlist
10:37 Alias__ And we really wanted to be careful not to go with something that was religious in tone
10:37 danlucraft sure
10:37 Alias__ If only accidentally religious in tone
10:38 Alias__ So in the end we decided to steal Strawberry Perl's approach
10:38 waxhead Alias__, and then there was the whole hand holding argue we had...
10:38 danlucraft unlike the authors of this project: http://github.com/dmathieu/jesus
10:38 Alias__ waxhead: right
10:38 Alias__ danlucraft, strawberryperl.com
10:38 Alias__ danlucraft, we decided it was more important that the logo was beautiful than that it had any relation to the word Padre itself
10:39 danlucraft it's a good philosophy
10:39 szabgab maybe we should just rename it to Pedro
10:39 waxhead ha!
10:39 danlucraft but I didn't come here to talk about logos :
10:39 danlucraft )
10:39 waxhead vote for pedro
10:39 Alias__ And the butterfly met that main criteria, plus helps convey the idea of freedom you get when you can hack your own editor in your own language
10:39 Alias__ danlucraft, anyways, any actual questions? Or just going to lurk?
10:39 danlucraft I have lots of questions, but two in particular
10:39 szabgab Pedro, the butterfly
10:39 Alias__ szabgab, so now we're the Mexican editor?
10:39 waxhead cool.. I wanted to say it represented freedom, but I wans't sure I was going look like I was talking crap
10:40 waxhead have you seen nepolian dynamite?
10:40 Alias__ waxhead: It does, but that was of secondary concern to it being pretty
10:40 danlucraft (1) how do you balance the need to avoid latency with the fact that you want lots of contextual information (eg for projects), especially when you are using a slowish dynamic language
10:40 waxhead Alias__, to me it's both..
10:41 waxhead pedro has this awesome mustache
10:41 waxhead and he runs for school president..
10:41 Alias__ danlucract: (1) Three ways. a) Don't avoid it when it's important b) We have a threading/task API so we can run code in the background c) Cheat and using faster hackier alternatives to more-correct but slower things
10:41 danlucraft furthermore, how do you stop plugin authors creating tons of background thread stuff and gumming up your whole app?
10:41 danlucraft right
10:41 danlucraft a. yes. b. I saw that, and I want to look more into it. c. ok!
10:42 Alias__ For the second, mainly we do it by encouraging plugins to be developed in the main repository
10:42 waxhead szabgab,  anyway, vote for pedro is a known quote from the movie http://www.google.com.au/search?hl=en&client=​firefox-a&rls=com.ubuntu:en-US:official&h​s=H6a&ei=6a5JS_XZF4GysgPb2JmlAw&sa=X&​oi=spell&resnum=0&ct=result&cd=1&​ved=0CAgQBSgA&q=vote+for+pedro&spell=1
10:42 Alias__ All the code and almost all the plugins are in one big repo, and everyone has commit
10:42 danlucraft so there are few 3rd party plugins available?
10:42 Alias__ Maybe one
10:42 danlucraft heh
10:42 Alias__ When one appears, we usually approach them and try to lure them into the main repo
10:42 szabgab waxhead, is that a good movie?
10:43 danlucraft ok, so you exercise pretty strong control over this stuff
10:43 Alias__ Not control
10:43 Alias__ Just visibility
10:43 waxhead szabgab, it's quirky... one of those movies you either love or hate.. I have the DCD
10:43 Alias__ Do you know what the tragedy of the commons, and tragedy of the anti-commons are?
10:43 waxhead DVD even
10:43 szabgab danlucraft, we try to make sure that plugin authors also start to contribute to the core
10:43 waxhead danlucraft, it works well...
10:43 waxhead I picked up the SVN plugin and did a little owrk on it..
10:44 waxhead then when I stopped, someone else did some work on it...
10:44 * Alias__ just hacked a bit on the perl critic plugin last week
10:44 waxhead I'm planning to look back at it some time soon...
10:44 szabgab PadreHub
10:44 Alias__ I guess you could say we use the wikipedia approach to the problem
10:44 * waxhead nods
10:44 Alias__ If you apply too much control, nobody wants to play with you
10:44 danlucraft yep
10:44 Alias__ If you apply too much freedom, they will eventually abuse you
10:45 danlucraft but it looks like people can write their own plugins and stick them in ~/.padre and stuff
10:45 Alias__ So what you do is you run things as free as possible, UNTIL the first time you see the effects of abuse
10:45 waxhead Alias__, hence our alpha commiters
10:45 danlucraft yep
10:45 Alias__ We provide recommended integration points for plugins
10:45 danlucraft the "My Plugin" stuff is superb btw
10:45 danlucraft really nice way to lure users into writing plugins
10:45 danlucraft I don't even know Perl but I still made a new menu!
10:45 Alias__ danlucraft, it's been handy
10:46 Alias__ We don't try to stop plugin authors from abusing the editor
10:46 waxhead I think abuse is a bit harsh.. I'm certainly guilty of not being 'optimal' or idiomatic', but I'm learning more all the time wiht Padre
10:46 Alias__ wxahead: It's abuse in the tragedy of the commons sense
10:46 waxhead and the people here being so willing to share.. makes a difference
10:46 Alias__ It's a facet of the free rider problem
10:46 waxhead sure..
10:47 danlucraft part of the problem is for end users it would be hard tell which plugin is causing slowdown, so they would just blame the application
10:47 waxhead one of the things we really lack is API documentation etc... doco is one of the main things that suffer in these projects IMHO
10:47 Alias__ danlucraft, I'm something of an amateur economics buff, so we've tried to apply fairly sound economic threory to most of the problems of project and plugin structure
10:47 danlucraft so stay open, provide a background thread API, and try to encourage responsible use of background tasks
10:47 waxhead danlucraft, part of the trouble shooting would be to remove plugins one by one..
10:47 danlucraft really?
10:48 Alias__ That's what a lot of this stuff is, things like the My Plugin and not restricting plugins until it's a problem
10:48 danlucraft do you have a set of 'blessed' apis for plugins to use?
10:48 Alias__ Yes
10:48 danlucraft I mean, in Ruby you can always access any object or method
10:49 waxhead danlucraft, same in perl
10:49 Alias__ And if you follow the blessed APIs, your plugin will get all the nice stuff like plugin reloading and so on
10:49 danlucraft so if someone wants to hack around on the internals of Redcar, I can't stop them
10:49 Alias__ Correct
10:49 danlucraft ah, now this is another thing I wanted to talk about!
10:49 Alias__ Another way of describing this situation
10:49 danlucraft code reloading is a pain in Ruby, do you have conventions or something to make it easier to accomplish for your plugins?
10:49 Alias__ A problem like "Huge numbers of users are annoyed by slowdowns with highly popular and valuable plugins" is a problem you desperately want to have
10:49 waxhead danlucraft, you do know that mats ( might not be spelt right ) said ruby is perl done right.. or something like that
10:49 danlucraft matz
10:50 Alias__ Because in order to have it, you are "too successful"
10:50 Alias__ danlucraft, python is the anti-perl, ruby is the anti-python :)
10:50 danlucraft waxhead: maybe. I was porting some Perl to Ruby last week, and I was surprised at how much of the syntax is the same
10:50 waxhead danlucraft, that's why... I think the main thing is EVERYTHING is an object in ruby, where as that's not the case in perl
10:50 Alias__ danlucraft, have you had any problems with bloaty slow plugins yet?
10:51 Alias__ In real userbase?
10:51 danlucraft not yet,
10:51 Alias__ Then I'd call those good problems
10:51 Alias__ Problems that require you be wildly successful are not problems you need to care about today
10:51 waxhead I can think of a few things about the plugins though... make sure your API has a way of allowing your plugins to register themselves for their own toolbar
10:51 danlucraft it's just something I think about
10:51 Alias__ right
10:51 danlucraft JVM editors/IDEs don't have great reputations when it comes to responsiveness
10:51 Alias__ But don't solve them by limiting freedone
10:51 Alias__ dom
10:51 Alias__ freedom
10:51 Alias__ sigh
10:51 danlucraft I don't want Redcar to go that way
10:52 waxhead accessing plugin actions through a deep nested menu structure is a bit cumbersome at times
10:52 danlucraft (Redcar runs on JRuby btw)
10:52 danlucraft waxhead: good point
10:52 danlucraft up to now we haven't had a toolbar
10:52 danlucraft but for menus yes
10:52 Alias__ Oh, and make sure the plugins don't have to do an active registration process
10:52 danlucraft why?
10:52 waxhead what GUI frame work are you using?
10:52 danlucraft SWT
10:52 Alias__ Because that means in order to load the plugin, but not run it, you need to execute arbitrary code
10:52 danlucraft same as Eclipse
10:53 Alias__ And the plugin manager can't do limited selective interogation
10:53 Alias__ So, for example, we require plugins to define a ->plugin_menu method if they want a menu
10:53 danlucraft you mean, plugin loading and running should be completely separate, and the former shouldn't run any code *at all*
10:53 Alias__ But we make no guarentees if or when the plugin manager will ever call it
10:53 Alias__ right
10:53 danlucraft that's an idea
10:54 danlucraft in Ruby you can run code *anywhere*
10:54 danlucraft and people do
10:54 Alias__ Theoretically, the same in Perl
10:54 Alias__ Of course
10:54 Alias__ BEGIN { ... }
10:54 Alias__ Compile time code
10:54 Alias__ However...
10:54 danlucraft in ruby you can do:
10:54 danlucraft class Foo
10:54 danlucraft puts "hi"
10:54 danlucraft end
10:54 Alias__ That kind of thing requires INTENTIONAL subversion of your application
10:54 Alias__ i.e. An active exploit
10:54 danlucraft in perl
10:54 Alias__ Same deal
10:55 Alias__ You can't protect against active exploits like that
10:55 Alias__ So just accept it, and protect against accidental evil
10:55 danlucraft in Ruby it's so incredbidly common that requiring authors not to do it is like saying, "stay away from addition"
10:55 szabgab joined #padre
10:55 Alias__ If plugins have to run registration code at startup then they can do it wrong, and you can't change the way plugins work later
10:55 danlucraft yeah
10:55 Alias__ So don't allow that
10:55 danlucraft so the way we do it is every plugin has two methods defined: load and start
10:56 Alias__ Keep the plugin manager in control at all times, and anything is just considered evil
10:56 danlucraft and in start they'll access the menu API and add stuff programmatically
10:56 danlucraft I can see the logic of the padre approach
10:56 Alias__ In essense, we do the same as you
10:56 Alias__ But we've broken it up into more granular pieces
10:57 danlucraft yep
10:57 Alias__ Plus there's some other little bits and pieces
10:57 Alias__ Like the interface definition stuff
10:57 waxhead but we don't have a way of plugins registering a toolbar and icons...
10:57 danlucraft I like this
10:58 Alias__ Instead of having a hard-death in the form of 'use Padre 0.54' the code has a padre_interfaces { Padre => 0.54 }
10:58 danlucraft and I'm beggining to see how this makes it easier to do code reloading
10:58 Alias__ The plugin defines what version of Padre the original autor wrote the plugin against
10:58 Sewi waxhead: Did you remove it?
10:58 Alias__ danlucraft, we also have a ->stop
10:58 danlucraft Alias__: and you can specify versions for particular api
10:58 Alias__ Or an equivalent
10:58 waxhead Sewi, did it get done?
10:58 danlucraft Alias__: yeah we have that too
10:58 Alias__ danlucraft, right
10:58 danlucraft haven't used it much
10:58 Alias__ danlucraft, So the plugin code might load just fine, but Padre will ask what ever of the APIs it expects
10:58 danlucraft the default padre install doesn't come with many plugins.
10:58 * waxhead wonders if there's a ticket for it
10:59 Alias__ danlucraft, and can check back-compatibility
10:59 Sewi It's not a clear way for them of doing it, but they're configurable and s/o could change that entry.
10:59 Alias__ danlucraft, so the plugin manager can treat "incompatible/out-of-date" separately from "crashed at load"
10:59 danlucraft Alias__: is it declared somewhere when APIs break compatibility?
10:59 waxhead danlucraft, oh.. and think about having a 'simple' way for plugins to save 'state' or config info too...
10:59 Alias__ danlucraft, not very well, but yes
10:59 Alias__ danlucraft, in some module
10:59 Alias__ $VERSION = '0.53';
10:59 Alias__ $BACKCOMPATIBLE = '0.43';
11:00 danlucraft I see
11:00 danlucraft waxhead: yeah we have an enormousl simple version of that
11:00 Alias__ And the plugin manager just goes looking through the internal code to make sure each API declaration falls inside that range
11:00 danlucraft does that work well?
11:00 Alias__ Well enough
11:00 danlucraft are the APIs pretty stable at this point?
11:00 Alias__ Nope :)
11:00 Alias__ Not at all
11:01 Alias__ But the formal back-compat check is what makes up for that
11:01 Alias__ You can prevent starting up a plugin that is going to explode
11:01 danlucraft so does the padre 'core' keep track of which menus were added by which plugin?
11:01 Alias__ ... by accident
11:01 Alias__ Nope
11:01 Alias__ It knows where the plugin menus are
11:01 danlucraft so how does it know to remove them when you disable a plugin?
11:01 Alias__ And if the plugin state changes, it just removes all of them
11:02 Alias__ And asks each of the plugins for a new top menu entry
11:02 szabgab for now we have single menu structure for the plugins
11:02 Alias__ And then adds them all back in
11:02 Sewi Some Plugin types (document handlers) can insert menus into the main menu bar and they're bound to their document type
11:02 danlucraft ah, so it removes the entire 'plugins' menu got it
11:02 Alias__ right
11:02 Alias__ We're adding new entry points shortly, and those will be similar
11:02 danlucraft problem with that for us is, everything is a plugin
11:02 Alias__ Plugins are constrained to very specific well known places in the menu tree
11:02 * Alias__ nods
11:02 szabgab BTW I've tried to add the Git plugin to right-click
11:02 Alias__ That could be a problem
11:03 szabgab but then got distracted
11:03 Alias__ So you may need to solve your menu problem somewhat differently
11:03 danlucraft you've given me some good ideas though.
11:03 Alias__ danlucraft, maybe you could have a privilege system
11:03 Alias__ A hard-coded set of plugins that get to do more "interesting" things
11:03 danlucraft maybe
11:04 danlucraft kind of defeats the whole, "everything is a plugin" thing :)
11:04 yakudzo joined #padre
11:04 Alias__ As open as possible, till it becomes a problem
11:04 Alias__ Wikipedia does something similar
11:04 Alias__ They can have different articles at different levels of trust/openness
11:04 Alias__ There's nothing that says all plugins have to be created equal
11:05 Alias__ Anyways
11:05 Alias__ If I had to add one and only one suggestion though, it would be this
11:05 Alias__ Recruit like hell
11:05 danlucraft hah
11:05 Alias__ Any IDE is a soul-crushingly large amount of work, that will go on forever
11:05 danlucraft yes
11:05 Alias__ And you are going to want 10 or 20 people committing per month regularly
11:06 danlucraft I read someones post about 2008 being a recriting year for padre
11:06 Alias__ The My Plugin thing is part of our recruitment strategy :)
11:06 danlucraft wait, that was you!
11:06 danlucraft the journal of alias
11:06 Alias__ yes
11:06 Alias__ The same with the "everyone gets commit to everything" rule
11:06 danlucraft the my plugin thing rules
11:06 Alias__ Same with the "Live Support" stuff in the Help menu
11:06 Alias__ It's all there to help support recruitment
11:07 waxhead it's a neat hook...
11:07 danlucraft I was thinking along simlar lines as my plugin, but you've really crystallized it
11:07 waxhead got me
11:07 danlucraft how would you feel if I did something smilar in Redcar?
11:07 Alias__ danlucraft, let me grab you the compelling graph
11:07 waxhead I'm not so much coding at the moment, I've been doing the releases recently...
11:07 danlucraft Live Support == IRC?
11:07 waxhead lets others get on with it...
11:07 waxhead danlucraft, yep
11:08 danlucraft are you both core committers then?
11:08 Alias__ danlucraft, mibbit.com gateway to this channel
11:08 Alias__ Everyone is core committers
11:08 danlucraft yep. met the mibbit guys, they're impressive.
11:08 waxhead danlucraft, it strokes my ego big time.. :)
11:08 danlucraft technically, I mean
11:08 danlucraft yeah?
11:08 Alias__ http://www.ohloh.net/p/compare?metric=Contribut​ors&project_0=Padre&project_1=GNU+Emacs
11:08 Alias__ danlucraft, that's the best summary of why Padre is successful
11:08 waxhead danlucraft, yep.. I've committed changes to "core" padre against trunk...
11:09 danlucraft thats cool. I should get on ohloh
11:09 Alias__ We're a long way from Eclipse still though
11:09 waxhead it's quite inclusive... and people are fairly gentle with you.. makes a difference
11:09 Alias__ We believe the committer volume for Eclipse is somewhere around 400
11:09 waxhead Alias__, but we're getting there one commit at a time.. :)
11:09 Alias__ We're at about 20-30, emacs is 30-40
11:09 danlucraft have you ever been in the eclipse irc channel?
11:09 Alias__ Nope
11:09 danlucraft it's not like this
11:09 danlucraft :D
11:10 Alias__ Oh wait, 10-20 vs 20-30
11:10 Alias__ Well, eclipse is bigger
11:10 Alias__ Their codebase is the size of the entire CPAN
11:10 Alias__ So they are bound to have scaling issues we haven't hit yet :)
11:10 danlucraft I'm using SWT so I'm interacting with eclipse code a lot
11:10 Alias__ Plus, they are VERY commercial savy
11:11 Alias__ Their platinum membership is awesome
11:11 * waxhead prefers netbeans over eclipse
11:11 danlucraft yeah, a couple of months ago they slapped ads all over their javadocs
11:11 Alias__ To get the top level of commercial sponsorship for Eclipse, you are required to have at least 8 full time Eclipse developers on staff, in addition to 250k dollars
11:11 danlucraft that was annoying
11:12 Alias__ That's a ballsy sponsorship requirement :)
11:12 danlucraft there's a weird thing about open commit access, which is that when you develop on github, it sort of doesn't make sense
11:12 danlucraft even if you would *like* to do it
11:12 szabgab danlucraft, where were those ads in Eclipse or on the website?
11:13 Alias__ Yeah, there's an ongoing debate about if and when we should move to git(hub)
11:13 danlucraft http://help.eclipse.org/galileo/index.​jsp?topic=/org.eclipse.platform.doc.is​v/reference/api/overview-summary.html
11:13 danlucraft that used to just be the bottom right pane
11:13 Alias__ Although on github, there should be some equivalent to open commit
11:13 danlucraft there is
11:13 Alias__ "open push to trunk" or something
11:14 danlucraft but what's the point? everyone can fork instantly and commit to that, then we can just pull from there
11:14 Alias__ danlucraft, who can?
11:14 danlucraft the only reason mine is the central repo is because the website says it is
11:14 danlucraft anyone can
11:14 Alias__ danlucraft, replace can with "must"
11:14 Alias__ So everyone MUST know who everyone else is on the project, to pull
11:14 waxhead uh oh..
11:15 Alias__ danlucraft, imagine there's 50 people committing, which is a good problem to have
11:15 danlucraft Alias__: I dont' follow
11:15 Alias__ danlucraft, are you really going to require 50 people to track and pull from each other?
11:15 waxhead I thought the pull request was sent to the "owner"
11:16 danlucraft Alias__: no, they all trck and pull from the central repo
11:16 danlucraft except occasionally
11:16 danlucraft when 2 of them have been working on something closely
11:16 Alias__ How do changes get into the central repo?
11:16 Alias__ That's the real issue here
11:16 danlucraft well, they get into my repo when I pull them
11:16 Alias__ SOMEWHERE is the root canonical tree
11:17 Alias__ And what happens if you go on holiday for a weekend
11:17 Alias__ Everything stops?
11:17 Alias__ All code starts to drift apart?
11:17 danlucraft ok
11:17 Alias__ Or alternatively...
11:17 danlucraft so I should probably create a "redcar" account and put the projects in there.
11:17 Alias__ If someone has an hour to hack on the ide, and they make some change
11:17 danlucraft then add multiple committers to that
11:17 Alias__ And then they push the change
11:18 Alias__ But it has some small problems, something breaks a test etc
11:18 Alias__ In the central pull model, you'd reject the patch
11:18 danlucraft how do you add a project to ohloh?
11:18 Alias__ But they only had that hour, and don't necesarily have time to change it
11:18 Alias__ If their patch had gone straight onto trunk, it may have caused some problems
11:19 Alias__ But anyone else awake in that timezone could have immediately fixed it
11:19 Alias__ There are risks to that approach of course
11:19 Alias__ Padre gets messy at times
11:19 Alias__ And buggy
11:19 danlucraft yeah.
11:19 danlucraft you may have convinced me though
11:19 Alias__ But we decided we prefered to have activity and progress in exchange for the increased risk
11:20 danlucraft I knwo the open commit bit thing worked amazingly well for Rubinius
11:20 Alias__ At least until we become the most dominant editor in the world
11:20 Alias__ And then we'll look at stability a bit more :)
11:20 Alias__ yeah
11:20 Alias__ Most of the problems with openness only apply once you are wildly successful
11:20 Alias__ And that's a GOOD problem to have
11:21 danlucraft yeah :)
11:21 Alias__ You just have to be clear in your communications that people are aware of this policy
11:21 Alias__ That progress is more important than letting a bug slip in
11:21 Alias__ Also, we releast on average every 2 weeks
11:21 Alias__ So bugs don't hang around for long
11:21 Alias__ release
11:22 Alias__ I think our entire-project bus sensitivity is above 10 at this point
11:22 danlucraft that's really good
11:22 Alias__ You could kill any random 10 people and nothing would break
11:22 Alias__ But as I said, it's a choice
11:22 Alias__ If we were writing something that should never break, like Nagios or an operating system, this would be a terrible way to run it
11:23 Alias__ But it works perfectly for an IDE, because if you have a bad release people just don't upgrade till the next one
11:23 danlucraft where can I download all the plugins from?
11:23 Alias__ CPAN
11:23 waxhead for those released on cpan
11:24 Alias__ Or checkout svn trunk if you want to see the entire set, even the ones that are dead or stillborn
11:24 waxhead or svn checkout trunk
11:24 Alias__ For great fun, in the Padre directory, run "perl dev.pl -a"
11:24 Alias__ Makes it try to load absolutely every plugin at the same time
11:24 waxhead some things got started but didn't get much further.. but they leave a base to take on
11:24 Alias__ Yp
11:25 Alias__ Yup
11:25 danlucraft ok, checking out
11:25 waxhead ./dev.pl -a is my favourite way to run Padre.. :)
11:25 Alias__ waxhead: Really? :)
11:25 * Alias__ worries about bloat from that :)
11:26 danlucraft are you two on the developers list?
11:26 danlucraft on the website?
11:26 waxhead yeah.. I run trunk all the time.. dev.pl -a isn't too slow for me..
11:26 * Alias__ is Adam Kennedy
11:26 waxhead danlucraft, yep, Adam is alias, I'm peter lavender, szabgab is Gabort
11:26 waxhead Gabor not Gabort
11:26 Alias__ Gabor Szabo
11:26 yakudzo is there any night builds of padre. My proxy admin don't want me to download by svn from internet (:
11:26 danlucraft nice to meet you all
11:26 Alias__ yakudzo, no nightly, but the regular release cycle of Padre is about 2 weeks
11:26 waxhead thanks.. same...
11:27 Alias__ yakudzo, so the latest CPAN is only maybe 2 days old
11:27 yakudzo oh cool
11:27 waxhead yakudzo, and now that my mythtv is working correctly, I'll keep to the schedule.. ;)
11:27 yakudzo Alias__: but if i want dev version ?
11:27 Alias__ yakudzo, https:: ? :)
11:27 waxhead yakudzo, svn check out...
11:27 Alias__ I'm afraid that's about all there is
11:28 Alias__ If you use https, the proxy shouldn't get in the way
11:28 yakudzo thanks
11:28 szabgab Alias__, yakudzo there is nitghtly
11:28 yakudzo https works
11:28 Alias__ There is?
11:28 yakudzo (:
11:28 szabgab one sec
11:28 Alias__ danlucraft, one note on the whole IRC thing. We chose NOT to split the devs from support
11:28 szabgab http://perlide.org/download/source/nightly/
11:28 waxhead yakudzo, once checked out, it's really just a matter of perl Makefile.PL make, make test and then perl dev.pl
11:28 Alias__ danlucraft, to keep the volume of "chatter" up as high as possible, and make people like you impressed at how active we are :)
11:29 waxhead hahaha
11:29 waxhead szabgab, oh.. nice...
11:29 szabgab Hyppolit, nighly is http://perlide.org/download/source/nightly/
11:29 danlucraft hah, yes
11:29 Hyppolit nighly was unknown
11:29 Hyppolit nighly is now http://perlide.org/download/source/nightly/
11:29 waxhead szabgab, now you'll need to update the wiki.
11:29 szabgab or learn how to spell
11:30 szabgab Hyppolit, nightly is http://perlide.org/download/source/nightly/
11:30 Hyppolit nightly was unknown
11:30 Hyppolit nightly is now http://perlide.org/download/source/nightly/
11:30 waxhead I believe that the devs should be close to the users and the code...
11:30 Alias__ It's not ALWAYS a good thing
11:30 waxhead no?
11:30 waxhead when?
11:30 Alias__ Having the core p5p people answering "How do I make an array" all the time isn't necesarily a good thing
11:31 Alias__ But for user-facing things like GUI programs, it probably makes a lot more sense
11:31 szabgab oh and I have to fix the nightly
11:31 waxhead I like it.. you tend to be coding to solve the problems other are having
11:31 danlucraft ok I got all the plugins, going to review them
11:31 Alias__ waxhead: If their problem is ignorance, that's tricky :)
11:31 waxhead Alias__, that's an extreme though it's it?
11:31 Alias__ I suspect it's an issue of success
11:31 Alias__ With 1,000 or 10,000 users it's reasonable for the devs to be mixed in there
11:32 Alias__ Should the Windows kernel hackers be in freenode #windows
11:32 Alias__ At some point the chatter starts to drown out useful discussion entirely
11:33 waxhead Alias__, granted..
11:33 Alias__ It's better that those people making improvements in the lives of 1,000,000,000 people not be distracted by the noise of those billion people
11:33 Alias__ At some point...
11:33 waxhead it's a pyramid then...
11:33 Alias__ We're several orders of magnitude away from that problem though :)
11:33 waxhead but that time, you usually have a tiered level of 'users'..
11:33 Alias__ Once we get to more like 10-20% market share we might see something of that problem
11:34 Alias__ Also, we're an IDE
11:34 Alias__ So it's a special case of our users being able to actually speak the same language as the developers
11:34 Alias__ It's hard for the typical user of a mobile phone to have a useful conversation with the programmers of that phone
11:35 waxhead true...
11:35 Alias__ I would imagine we can mantain this whole merged channel thing for a very long time
11:35 szabgab full cpan mirror too me 6 hours
11:35 szabgab too/took
11:35 waxhead likely.. :)
11:36 waxhead ok.. it's a school night.. time for sleep..
11:36 waxhead night all
11:36 Alias__ night
11:40 * Alias__ is just about ready to test his second stab at the padre.exe bug
11:43 Alias__ I wonder if there's a way to actually write a test for this
11:44 szabgab its a PITA ;-)
11:44 danlucraft Alias__: next week I'm giving a talk at the London Ruby user group, and one thing I'll do is ask for contributors.
11:44 Alias__ danlucraft, see if you can find szabgab's talk to YAPC::EU
11:44 danlucraft what do you think most attracts people to becoming padre devs?
11:45 Alias__ It's awesome
11:45 danlucraft oo yeah
11:45 danlucraft ok
11:45 Alias__ The thing that attracts people the most is that they can scratch their own itch
11:45 Alias__ Coders care a lot about their editors
11:45 Alias__ And it's amazingly freeing to be able to hack on a Perl editor in Perl itself
11:46 Alias__ That language-in-language thing is the key
11:46 Alias__ And you already hit that nail
11:46 danlucraft yep
11:46 Alias__ "If you don't like something, you can just fix it"
11:46 danlucraft I think I need to show them how easy it is to add your own thing
11:46 Alias__ We've also focused in writing Perl specific features that nobody else who does editors bothers to implement
11:46 * danlucraft wonders if he could get my plugin working by wednesday
11:46 Alias__ Save Intuition being the most recent
11:46 danlucraft read about that
11:47 danlucraft cool stuff
11:47 Alias__ It just magically works, because it knows Perl "properly"
11:47 Alias__ Nobody doing a general purpose editor would ever bother
11:47 Alias__ Longer term, it's going to be that kind of feature that keeps us ahead
11:48 Alias__ I would imagine the same is true for any language that doesn't have desktop apps as a traditional strong area
11:48 danlucraft having a niche
11:48 Alias__ You'd end up with most desktop apps being fairly weak in terms of language-intelligence
11:48 Alias__ Because nobody ever bothered much
11:48 Alias__ And now along comes an editor/ide that actually Knows What You Mean, properly
11:49 Alias__ As someone once said, it's like the joy of finally NOT beating your head against a wall
11:49 Alias__ An IDE project is ideal for this kind of itch-scratching wonderland
11:50 Alias__ And I think people respond to it, not just at the immediate level, but at the strategic investment level
11:50 Alias__ Here's an IDE you can switch to not because it's perfect NOW, but you trust it will just keep getting better and be awesome in the future
11:51 Alias__ And it's not just a single guy in a bedroom who could be hit by a bus :)
11:52 danlucraft well, lounge
11:52 danlucraft but i take your point :)
11:52 Alias__ $whatever :)
11:52 Alias__ Freedom, Continuity, Control, Intelligence
11:52 danlucraft and that's official
11:53 Alias__ right
11:53 danlucraft you  might be interested, we wrote our own syntax highlighter
11:53 Alias__ oh?
11:53 danlucraft to handle the textmate grammars
11:53 Alias__ Is it fast enough?
11:54 danlucraft yeeeeessss
11:54 Alias__ PPI is, alas, horridly slow, because of the complexity of Perl's syntax
11:54 danlucraft enough to use
11:54 danlucraft you want a AST as well though right? for refactoring and stuffs
11:54 Alias__ PPI has one
11:54 Alias__ It's just too slow to use for real-time syntax highlighting
11:54 Alias__ So we use two parsers
11:55 danlucraft I saw there was an option of 3
11:55 Alias__ Scintillla native for the real-time highlighting, PPI in a background thread for the AST stuff
11:55 Alias__ The option is to just the horribly slow one all the time
11:55 danlucraft yep
11:55 Alias__ Which isn't really a valid option :)
11:55 Alias__ It's just there for control and debugging
11:55 danlucraft ours started in Ruby, then Ruby+C, then Vala, and now it's written in Java
11:55 Alias__ weird :)
11:56 danlucraft Redcar used to be a gnome specific thing
11:56 Alias__ It still says it is
11:56 danlucraft where?
11:56 Alias__ About
11:56 danlucraft ah fuck
11:56 Alias__ "Redcar is a programmer�s editor for Gnome, written in Ruby and Vala."
11:56 danlucraft pretty, but useless ;)
11:56 Alias__ heh
11:59 danlucraft anyways....
11:59 danlucraft it used to be gnome specific, and Vala was a better low level language than C
12:00 Alias__ Never head of it
12:00 Alias__ heard
12:00 Alias__ So, do you have to know Java to hack on redcar?
12:00 danlucraft actually, one of the guys who started Ohloh is doing it
12:00 danlucraft it's a C# clone for the GObject system
12:00 danlucraft Alias__: no java necessary
12:00 Alias__ goodo
12:00 danlucraft unless you want to hack on the highlighter widget
12:00 Alias__ You just need it for some of the extreme coding?
12:00 Alias__ ah, ok
12:01 danlucraft yeah
12:01 Alias__ That's fine
12:01 danlucraft Ruby's far too slow for that
12:01 Alias__ The need to know 2 languages well is what kills most editor projects, in my opinion
12:01 danlucraft "elisp"
12:02 danlucraft well, I have a hazy idea that it should be possible to write Redcar commands in any JVM languaeg
12:02 danlucraft so people can use their favourite
12:02 * Alias__ shrugs
12:02 danlucraft ruby, python, groovy, scala, clojure etc
12:02 Alias__ I wouldn't tie yourself to a JVM if you can avoid it
12:03 Alias__ At some point you end up in the same developer ballpark as Eclipse
12:03 Alias__ At which point, you get slaughtered
12:03 danlucraft you mean, java devs?
12:03 Alias__ right
12:03 danlucraft interesting perspective
12:04 Alias__ Padre is interesting at least in part because you need nothing other than a normal CPAN toolchain to run it
12:04 danlucraft yep, that's good
12:04 Alias__ You've chosen to go with a JRuby approach, which is valid
12:04 Alias__ I'm just curious if it's going to hurt you later
12:04 Alias__ But I don't know enough to say
12:04 danlucraft we started on Ruby-GNOME2, which was a bit of a nightmare
12:05 danlucraft JRuby/SWT has been very smooth by comparison
12:05 Alias__ And you get cross-platform'ness, which is extremely important
12:05 danlucraft yes
12:05 danlucraft we didn't have that before
12:05 Alias__ Critical feature, IMO
12:05 Alias__ Otherwise you lose all the developers that work on more than one, because they hate switching editors
12:06 danlucraft this talk I've downloaded, from YAPC, appears to be 5 mins long
12:06 danlucraft is that the right one?
12:06 Alias__ Yup
12:06 danlucraft awesome
12:07 Alias__ To put it in perspective, that talk was only about 16 months ago
12:07 Alias__ The first time Padre was ever demo'ed
12:07 Alias__ And it had I think, at the time, 2 developers total
12:07 danlucraft nice
12:07 danlucraft I probably have to go.
12:08 danlucraft thanks for chatting
12:08 Alias__ no problem
12:08 danlucraft you've given me a lot to think about
12:08 Alias__ Good luck
12:08 danlucraft thanks
12:08 danlucraft and I'll be back :)
12:08 Alias__ Please do, and let us know how you experience with your IDE goes
12:08 danlucraft I will
12:11 danlucraft1 joined #padre
12:28 Alias__ OK, I have fixed padre.exe.... kind of
12:28 szabgab renamed to com?
12:29 Alias__ No
12:29 Alias__ I don't run anything that could involve a duplication of STDOUT
12:29 Alias__ In padre.exe, there IS no STDOUT
12:29 Alias__ So open('>&STDOUT') which everything in the CPAN uses to "save" STDOUT temporarily, fails
12:29 Alias__ So now instead I'm doing a straight system call
12:30 Alias__ Downside, it flickers a bajillion dos boxes...
12:30 Alias__ I'm working on that :)
12:30 szabgab I am glad if it gets solved
12:33 danlucraft joined #padre
12:34 Alias__ Dammit
12:34 * Alias__ ponders what to try next
12:34 Alias__ My bag of tricks is close to being empty :(
12:34 Alias__ Aha!
12:34 Alias__ Gotcha fucker
12:35 Alias__ Works on Windows
12:35 Alias__ I forgot to dmake install the last fix before testing :)
12:35 Alias__ oh wait...
12:35 Alias__ hrm
12:35 * Alias__ has an even better idea
12:36 Alias__ As long as we have a private clone of ORLite::Migrate anyways, I don't need to worry about process separation
12:36 Alias__ Because there's no trust boundary any more
12:39 Alias__ oh wait, no, I can't cheat like that
12:39 Alias__ This will do then
12:39 Alias__ The fix needs SERIOUS testing on Mac
12:39 Alias__ I'm not entirely sure it will work there
12:41 yakudzo left #padre
12:42 Alias__ OK, committed
12:42 Hyppolit svn: r10116 | adamk++ | http://padre.perlide.org/trac/changeset/10116
12:42 Hyppolit Tentative fix for bug #796.
12:42 Hyppolit Needs testing on Mac, and isn't really a permanent solution, just a workaround to the major underlying problem of padre.exe not having a STDOUT :(
12:42 Hyppolit trunk/Padre/ trunk/Padre/lib/Padre/ trunk/Padre/lib/Padre/DB/ trunk/Padre/lib/Padre/DB/Migrate/ trunk/Padre/privinc/Module/Install/PRIVATE/ trunk/Padre/share/timeline/ trunk/Padre/xt/
12:42 Alias__ It's big...
12:45 Hyppolit svn: r10117 | adamk++ | http://padre.perlide.org/trac/changeset/10117
12:45 Hyppolit Enable the single instance server by default, but only on Windows so the debian people don't yell at us :)
12:45 Hyppolit trunk/Padre/lib/Padre/
12:46 Alias__ Righto, that's really all I can afford to spend on Padre this weekend
12:46 Alias__ More than I should of already
12:47 Alias__ The most important bug is hopefully fixed, so that's something
12:48 Hyppolit #796: Padre Stand alone does not start on Windows after installation (closed defect) [ http://padre.perlide.org/trac/ticket/796#comment:3 ]
13:13 azawawi joined #padre
13:13 azawawi hi
13:13 azawawi Alias__: padre.exe is a launcher for wperl .../script/padre
13:14 azawawi Alias: so STDOUT/STDIN can be closed... (i think)
13:14 Alias__ It would seem so
13:14 Alias__ But half the entire run/system/etc modules depend on it existing
13:15 Alias__ Maybe we need to detect padre.exe is in effect, and hijack STDOUT/STDERR to temp files
13:15 azawawi yeah that would be best...
13:15 azawawi that's how i did it for Perl 6 support
13:15 azawawi under padre.exe
13:16 Alias__ We need a kind of module to automate it
13:17 azawawi Alias__: http://www.perlmonks.org/?node_id=383211
13:23 Alias__ There must be an existing module to hijack STDOUT/STDERR
13:33 Alias__ So should we just ALWAYS suppress output
13:33 Alias__ It would certainly simplify things
13:33 Alias__ Where's the code you used for Perl 6 support
13:34 azawawi i simply re-directed everything to temp files
13:34 Alias__ Ya
13:35 Alias__ I guess we could just do that right at the of padre.pl until someone comes up with a better way of trapping any warnings and output
13:35 azawawi Perl6StdColorizerTask
13:36 azawawi im off to some boring task now :)
13:36 azawawi anything else? :)
13:37 * azawawi &
13:40 Alias__ http://search.cpan.org/~reynolds/IO-Capture-0.05/
13:40 Alias__ Perhaps?
13:44 kthakore joined #padre
13:45 kthakore hi
13:45 kthakore can you guys make shortcuts to padre.bat and padre.exe on the desktop for windows?
13:46 kthakore this stupid .bat this is retarded everytime my coworkers update Padre on windows
13:46 kthakore like wth
13:50 Alias__ I've been pondering adding support for creating shortcuts to Padre itself
13:50 Alias__ I wanted to wait till the padre.exe bug was fixed
13:50 Alias__ But I finally just got that resolved
13:57 azawawi joined #padre
13:57 azawawi kthakore: padre --desktop :)
14:13 kthakore well that was ninja
14:13 kthakore azawawi thanks man
14:13 szabgab Alias__, this fix, does that mean we cannot run scripts from Padre that have STDOUT ?
14:13 kthakore Alias__: and WxWidgets scripts in window?
15:11 cognominal joined #padre
15:15 Alias__ szabgab, It's not BECAUSE of my fix
15:15 Alias__ szabgab, but the implication of the bug is that when we run with padre.exe there is not STDOUT to duplicate
15:16 Alias__ szabgab, which is going to freak out a hell of a lot of things
15:16 Alias__ Because open '>&STDOUT' is practically an idiom
15:17 Alias__ We need to hijack/reset STDOUT/STDERR and probably STDIN every time we start the padre script
15:17 * Alias__ bed now
15:59 asphere joined #padre
16:06 SvenDowideit_ joined #padre
16:16 dfhoughton joined #padre
17:06 cognominal joined #padre
17:51 rindolf joined #padre
18:09 awnstudio joined #padre
19:20 Haarg joined #padre
19:25 Sewi joined #padre
19:37 mj41 joined #padre
20:54 asphere joined #padre
21:04 cognominal joined #padre
21:05 danlucraft joined #padre
22:08 Alias joined #padre
22:11 asphere joined #padre
22:18 asphere joined #padre
22:23 user_9990 joined #padre
22:34 patspam joined #padre
23:58 SvenDowideit joined #padre

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