Posts tagged ‘PEAR’

February 16, 2008

Komodo 4.3 – First look

I decided to give Komodo 4.3 alpha1 a spin and I’ve been running it for a better part of a week now I reckon (since 9th feb) and I must say I like it, a good improvement over 4.2 by far but still has some kinks, mostly in the newly added features I guess.

1st run – Code Intelligence tried to run and do some weird stuff but it hangs, so I had to kill Komodo, startup after that is snappy, faster than 4.2 IMHO

Search in all files = Slow as heck, installing grep and running it is faster (including the installation step), wonder if it’s like a first time cache it’s building up (debunked that theory, strike through isn’t working on this theme so meh.)

The slowness persists and is in Phase 1, gathering list of files and seems to also look in my PEAR dir for some reason; look in current project suddenly became current projects + include_path I think, could be the slow down, grep (like I use it) only searches in the dir I’m in (usually the root of the project) and down. So what I’d want is a new option “search only in current project” on top of the already existing feature :)

Would be better if it displayed results as it found them, seems to hold of for too long

The Asynchronous SCC part is going beautifully, I like it, was getting a wee bit tired of the UI hangups that 4.2 had

Haven’t given the new Unit Test runner a go since none of the projects I’m actively working on at this moment use PHPUnit but I did try to make a Test Plan and it’s not showing up anywhere and a closing Komodo and opening again doesn’t find it in the Project Unit Test Result tab but picking Project -> Select Test Plan does find it and picking the test plan updates the tab I mentioned earlier.

For the fun of it I tried to pick PHP as the language I wanted to run in and in the test command line I did pear run-tests -r just so see if I could cheat past the PHPUnit part but apparently it does not work, but gives me no error or any output what so ever, quite confusing, would have expected “Can’t run” or “No ouput”, “nothing ran” or whatever, but a alpha release is a alpha release.

Now if I just could find out how I edit or delete test plans, that would be swell.

When I have a folder open in the project view which has say, tests I’m running and they fail (phpt) they generate these .diff, .out .exp and whatever, seems to hang up the UI to update the view, same goes if I have one of those files open when I’m running the tests and the contents of the file I have open changes, then Komodo becomes a bit sluggish for a while, sometimes it’s just a second but sometimes longer, I guess it depends on how many tests I’m touching and how many of them are failing or succeeding after having failed (thus cleaning up all the extra files that were added)

Sorry about the hectic sounding post, I wrote this on the fly when I first tried out Komodo 4.3 :-P I’m going to hold of reporting bugs until alpha2 or beta1 is out and if these issues still persist then I’ll try to allocate time to report any of these bugs / feature requests and hopefully other people will enjoy the fixes that will come out of it ;-)

Tags: , ,
February 9, 2008

Komodo – The first 3 months

Update: Sean and Shane gave me some tips on some hidden goodies, post updated to reflect that

Update: Sean C came to the rescue on how I should decrease indenting, shift + tab, works like a charm! thanks mate :) Still think it should be listed in the menu like all the other shortcuts

Shane told me how to do the panel hiding, apparently you can do Help – List Keybindings, now who on this earth ever looks in there ;-)

For showing/hiding the 3 panes:

  • Project pane, project tab (left) ctrl+shift+p
  • Project pane, code tab (left) ctrl+shift+c
  • Toolbox pane (right) ctrl+shift+t
  • Output pane (bottom) ctrl+shift+o
  • Focus to edit pane ctrl+shift+e

Even cooler is, I can do custom keybindings

Managed to fix this somehow, managed to fix the dir in another dir but not really (a mouthful) issue, not sure how tho :)

About the folder add problem, filed a bug Hopefully Todd will resolve this before 4.3.0 is out

After I got my new laptop in last November I decided to get a new editor that could work in Windows & Linux and Sean C. told me to give Komodo a go; Having tried it couple of years back and having what I’d describe as blend feelings then I wasn’t really convinced but thought I had nothing better to do (was at a conference) and installed the trial for Komodo IDE and wow it had improved a TON, I must say I fell instantly in love with it.

After having used it I found a couple of flaws or well things that made the usage not perfect for me but well perfection is a rare thing ;-)

First problem I saw was it a bitch when I had HUGE projects with bazillion files and all in a SCM of one or another sort, it would basically just hang when trying to fetch all the status info for each file (Komodo does this nifty thing to show you in your file manager if the file has been edited or is not in sync with the SCM) so handling projects like the pear installer was not so … optimal but after a quick email exchange with Shane C. then he told me that Komodo 4.3 will fix that, he actually finally blogged about it today:

And it looks like 4.3 will fix another pet peeve of mine, searching for things per project, on linux it’s a breeze from the command line, grep -ri “foobar” . in the root of the project and voila, supports some regex and what not, perhaps not the most slick solution but it does work and having it straight in Komodo will be nice even tho it will be hard to break of using the cli but perhaps a good thing, can’t setup gnuwin32 on all the machines I might have to code on if they should contain a Windoze.

The Unit Test feature in 4.3 also sounds quite interesting but I’m very disappointed that they don’t seem to support .phpt tests or at least they don’t say they do, PHPUnit is all well and good but most of my tests are phpt so what I’m saying, Shane I demand you add phpt support! I mean it’s the default PHP test suite ;-) Oh and it would be nice if I could make it run the php run tests and the pear one, basically the same but different test runners it calls.

Now back to my problems and what I like with 4.2 :)

For some reason a directory in my project file listing was moved INTO another directory and I can’t for my little life move it back, even if it didn’t happen on the FS it self, it just baffles me, bugging having to remember that one bloody folder is in a different place JUST in komdo for one project :P

As Peter Griffin would put it, this really grinds my gears.

Adding a new file to a SCM via Komodo is also just a pain in the butt, for some reason I can’t add a folder unless I issue a full add on the root folder of the folder I’m trying to add … or something like that, usually end up doing it via cli.

Komodo is lacking some usability shortcuts … decrease ident doesn’t have a short cut, hiding the left / right panes don’t have shortcuts (to my knowledge) perhaps even adding something like Dynamics AX has (just started using it at work, one of the features I liked) which basically is I can hide it but I see a small bar on the left side and when I hover it it pops out and when I leave it for X time it goes away again or like Opera does it, a very thin bar which I have to click or some shortcut and it pops out, click it again it goes away, anyway just a nice feature to have because I tend to work on a 13,3″ screen in 1280×800 which is not a lot of screen space.

Ohh and I also want a way to checkout a repo; Bugging to use the run command or plain cli to do that, best would be if I could do a checkout and auto create a project for it :P

But other than that it has been rocking hard for my use cases, almost perfect ;-) Still having tried the whole debug feature, using xdebug via Komodo and all that but I will soonish, I’m told it’s a very useful and fun feature and perhaps some addons, having seen many thus far, might have been looking in the wrong place.

So all in all, big thumbs up to Komodo, and thanks to ActiveState and Shane for plugging a free license for me since I only do coding in my spare time and don’t have a company to buy it for me and so basically ActiveState has been sponsoring my last 3 months of open source work! Very cool! Would be even cooler if Greg Beaver would get a license, he’s another great OS coder that doesn’t make a living of doing programming, he told me he tried to contact someone in ActiveState with no luck, hopefully someone will see this post and fix that up :-)

Can’t wait for 4.3 /me counts the days

January 4, 2008

New features and changes in

I just did a new release of which has a bunch of new features and bug fixes, most of which you can see here.

read more »

January 2, 2008

MS WebDev Summit 07 and my first trip to the US of A

I’ve been putting of writing this entry for way too long, mostly because I’m lazy but also because at work the weeks and months after the trip were crazzzzy but I figured since I’m on my Christmas vacation and have nothing better to do then why not jot my adventure down.

Btw. Happy Holidays and a new year! :-)

So I was one of the people invited to the WebDev summit in Redmond, which was exciting for three reasons, I love going to conferences, meeting up with people I’ve been babbling to via emails, irc and all the other geeky communication ways, the second reason was that I had never gone to the States, ever. Now the third reason was the whole MS thing, seeing the MS campus, meeting MS employees, developers, marketing people, hearing about new products, how they intend to get more involved in the PHP community, etc.

read more »

December 9, 2007

Got my GSoC 2007 T-Shirt Part II

OKey so I talked about getting some pictures online of the t-shirt and also of the envelope since they managed to get my name right :) Amazing I tells you

Anyway here’s the envelope with my proper name! Envelope

And now the t-shirt: Front Back

The white balance is way off but hey, I had a shitty camera and I’m no Derick when it comes to cameras :)

Anyway just wanted to post these pics in case someone wanted to see what the t’s looked this year.

Tags: , ,
November 20, 2007

Got my GSoC 2007 T-Shirt

So I finally got my GSoC 2007 t-shirt delivered at home, by finally I mean it has taken more than the usual shipping time from the USA and it’s a beauty, extra price on top of all the enjoyment working with Igor this summer.

Unfortunately I couldn’t find my digital camera to show case this nifty design they produced, I especially liked the design on the back … I shall try to snap of some pictures very soon and post for those that haven’t seen those beauties ;)

One interesting thing, Google managed to print my name correctly on the delivery envelope, which is kinda of a huge thing, even the Thorn and the funky O thing in my name … I still haven’t seen ANY company outside of Iceland do that, I had heck of a fun experience when I when to the states for the MS Web Summit ’07 but more on that in another blog post.

Update: Sara summed it up quite well here about both her naming problems with companies as well as mine :P

Spelling nonsense

Tags: , ,
September 14, 2007

Planet PHP and blog submissions

So it seems all the Planet PHP admins have been quite busy lately, when I logged in the admin interface for the planet I was greated with buttload of submissions, the queue was literally full :-o

So I set aside sometime to finally work through the queue, weed out all the spam links and bullshit blogs and making sure all the entries I accept are valid and won’t break the planet or any feed readers (well hopefully I managed to do so ;P), additionally I tried to make sure that the entires on each blog were worthwhile so I read an entry or two on every blog but I soon ran out of coke and only skimmed over most of them, bad Helgi! I know :-/ This process took me nearly 2 and a half hour, including lunch and now we only have 4 blogs in the queue, all due to the fact I couldn’t find a feed that worked on their site (yes I did have to look at some of the sites to find a valid feed, not fun!)

So, we finally have people like Chuck H, Steph and her weeklies on planet-php (again actually), seems her submission got lost in the huge queue else I would have accepted her weeks ago, we can’t be without her weeklies now can we!

Anyway now we have a lot of new faces (and some old ones that finally decided to blog) and hopefully we’ll see great posts from them in the future but well if any of these newcomers starts to spam the planet with posts that you guys feel shouldn’t be here then ping me in the usual places and I’ll do something about it, all to keep you peeps happy I guess :-)

Tags: , ,
August 12, 2007

GSoC 2007 Mentor

For those that don’t know already, I’m a Google Summer of Code 2007 mentor for one Igor Feghali on this project.

I must say I just totally forgot to blog about it so bare with me ;-)

Anyway this project is a pretty exciting one for couple of reasons, one thing being that I use MDB2_Schema in just about everything I do at the moment and I was a little involved in the whole thing when Lukas Smith was heading it or so I like to believe *crosses fingers*, another is that I’ve always enjoyed working with Igor, a feisty young fellow he is and constantly has some new ideas and another major factor is that the DBAL in ezc uses the XML format MDB2_Schema has as well as a project called Doctrine (well at least it did use the MDB2 code as base so I’m hoping they also used MDB2_Schema) and I do hope at least ezc will sync with these Forgein Key additions :-)

Since I’m blogging about this so late in the game then I think it would take me all night to jot down everything Igor has done so instead I encourage everyone to just head over to his blog and read about it there even tho recently he was added to planet-php, Igor has done a terrific job of keeping me up to date via his blog as well via emails/IM but the gist of it and the important things are on the blog anyway.

Looks like we made a good decision about picking Igor and it seems that he will manage to finish his project second year in a row! :-) Hopefully he’s up for a hat trick next year ;-)

June 8, 2007

PEAR Installer 1.6.0 and XDebug code coverage

One thing I’ve always missed in phpt is code coverage reports, not lcov since I’m talking about testing userland code, kinda like we have in PHPUnit so I decided to implement it in pear run-tests so that I could check out how much code I’ve made tests for in PEAR and other projects where I utilize the phpt format.

So the first thing I had to figure out was the RunTest code in PEAR, it’s a old port of php run-tests and hadn’t really been updated to any real extent, mostly just adding features here and there, so what I did was to split it up into multiple functions so that it would be easier to understand the beast, run() was 700+ lines IIRC and in this process I managed to find a good amount of redundant code that we could throw out, yay! :) So the next step was to figure out how to make XDebug only provide coverage reports for only the tests and the code they run and not to include the RunTest code in the equation with out me having to filter it out, and then a very ugly solution dawned on me, I’d have to inject the XDebug start / stop / get coverage code into RunTest, OH MY GOD! :-/

But for those that understand how we execute tests this will make a lot of sense, because each test gets it’s own php process, we use proc_* for that, and why might one ask and the answer is simple, mainly to test PHP fatal errors and code that uses exit/die as well as being able to define our own ini options that the process will use (enable safe mode, disable magic quote and things like that) … There might be some other reasons but these are the most important IMHO.

Tho the first two reasons caused me some headache, since of course fetching the coverage info and throwing it into a file won’t work if a PHP Fatal error occurs or if a die/exit get processed in the test since it’s done at the end of each test, so I had a little chat with Derick to see if we could find some proper solution for that challenge and he said he was going to look into it for XDebug 2.1, yay for Derick :-D So to sum up a little I take the FILE part, detect the first and inject the start / get coverage / stop XDebug code as well as var_export($xdebug, true); and write that to a file in the same dir as the test with the file ending .xdebug (name can change, just seemed the most straight forward at the time :P) and hurray we have a file that contains a valid PHP array with the coverage info! :D

This isn’t a silver bullet, it needs some more work and a renderer package to make those pretty graphs and progress bars, like we have at or similar but at least it’s progressing into the right direction and I’m pretty happy if it becomes useful to only handful of people, if more use it then I’ll be thrilled.

So anyone up to helping with the renderer package ? :-)

Tags: , , ,
November 29, 2005

Clash of the titans

As many have noticed 5.1.0 had some issue when it was released, like for starters it introduced a empty date class by default which effectively killed scripts that used PEAR::Date (I admit, it’s rather silly to give a pear package such generic name) or any other scripts that uses a class called Date, which I imagine are quite a lot since it’s seems rather convenient to pick the shortest name possible and many people look passed the fact that they need to prefix their classes.

read more »

Tags: , ,