Showing posts with label open source. Show all posts
Showing posts with label open source. Show all posts

Monday, September 30, 2013

Dog of a week... and it's only monday?


Feeling a bit overwhelmed already
  1. I don't know why I have to argue about DI, but I find I do. This neatly gets away from fat controllers, fat models and finally the the stuff that matters.
  2. I pulled together a quick ABN input on the weekend. I figured I've built the thing enough times to do it right, and other Australian web devs might have the same underlying issue.
  3. Many, many pull requests this week, contributing to Fat Free CRM, Chef recipes and even my much unloved fork of tipsy.
  4. All of Adelaide, most of Melbourne, Tasmania, Brisbane and Sydney have had a lot of attention from keepright.ipax.at - Adelaide has the cleanest map data of the lot, but Melbourne isn't far behind.
    My main focus: unclosed ways, redaction errors, sport tags without a physical associated tag - mostly things that won't show up in the rendering.
  5. Took the opportunity to work from home today, so spent my lunch break constructing gravel path.

Saturday, September 08, 2012

Improvements to rabbitvcs

RabbitVCS is handy for those making the jump from TortoiseSVN in windows. I usually make do with svn log / git log and the command line, but as part of my new work there's often horrible user names (think completely numeric) and commit messages that are just a pain to trawl through.

So, I've turned to RabbitVCS to fill in a gap. I managed to heckle the maintainers, and a release was put out not long after. Neat, I thought - but I saw their issue tracker, and saw patches languishing without love.

I started out with triage, and highlighting patches that could be implemented. Even then, it still wasn't working for me. I added a few bug fix patches; posted to the mailing lists, etc - a few got accepted, but overwhelmingly there was silence.

Unfortunately when I get interested in hacking away at something, I'll put in a few hours - uploading static .diff files and abandoning them in my local working copy was getting a bit annoying, and I suspect the folks on the devel lists were unprepared for a patch flood.

So... I've mirrored it, and then forked it onto my github account. I've put it back to the developers that I'll keep mirroring, and help them migrate if they so choose.


I give you 6 distinct bug or feature requests.

  • Filter log dialogs by typing in text
  • Copy log messages to clipboard using a context menu or ctrl + c
  • Refresh commit dialogs
  • Hit escape / ctrl + w / ctrl + q to close dialogs (well, most of them, there's a lot and it's boring to implement).
and there are less bugs overall.

I learnt a fair amount about python's GTK libraries, which turned out to be all pretty straight forward if a little tedious to work with at times - text buffer wants to force me to use an iterator, rrrr.


That aside, to get your hands on the latest:
$ git clone git://github.com/CloCkWeRX/rabbitvcs.git
$ sudo python setup.py install

And the first time you do this, you'll need to fix permissions on the config
$ sudo chown -R you:you ~/.config/rabbitvcs/

To test, it's pretty simple - go find a Git or SVN repository, and type:
$ rabbitvcs

If you spot errors, check the latest bugs and report. Hopefully either folks will swap over to the new github home without much angst (I'll transfer it to a github org of theirs if needed), or the patches will get applied against SVN.



Friday, July 06, 2012

My Kingdom for a Bug Fix

At my new work, the wireless keeps flaking out.

This wouldn't matter much if it wasn't for https://bugs.launchpad.net/ubuntu/+source/network-manager-applet/+bug/912702 - every day I'm closing ~50+ network authentication prompts.


Sunday, November 13, 2011

Why is Gwibber so slow?

Gwibber seems horribly slow and CPU intensive. From what I've read, there is much finger pointing and little actual solution - just vague hand waving about desktopcouch being a terrible backend.

Development seems dead in the water. How have we ended up at this point? Why don't I have ways to integrate TweetDeck or any other client as well? Why does gwibber-service need to run all of the time?


Friday, March 18, 2011

Rabbit VCS

James points me to Rabbit VCS.

"total clone of tortoise... I'm so happy right now."

Tuesday, February 10, 2009

PEAR bug day roundup - Feb 7th 2009

Here's a quick list of things done at/around the last bug triage day.

Accomplishments:
* Triaged the latest 50 bugs - doconnor
* Knocked off parse error related bugs - doconnor
* Updated unit tests to PHPUnit 3 for I18Nv2 - doconnor
* More unit tests fixed in PEAR 1.8 - dufuz
* Added Image_JpegXmpReader into CVS - doconnor
* Added Validate_HU into CVS, marked as unmaintained, removed 2x releases - doconnor
* Math_Finance got added to CVS - doconnor
* Validate got a new release - amir, davidc
* HTML_Page2 got a new release - doconnor
* Crypt_Rc4 bug fixes - kguest
* pearweb password bug - cweiske
* pearweb deployment and regression - cweiske / dufuz / doconnor

Reblog this post [with Zemanta]

Saturday, January 31, 2009

GEdit usability nitpicks

I like ubuntu/gnome's gedit for simple jobs when I'm not in the mood to wrestle vim.

Here's my pet peeves from a usability point of view

gedit 2.24.2 annoys me with:
1. Find and Replace across multiple documents should exist. Editplus does this with an 'all open documents' tickbox
2. If I open a filename which doesn't exist; don't show me an error. Create a new document, and when I save, create the file.
3. Give me a 'always reload when changed on disk' preference. I'm sick of clicking the buttons.



Reblog this post [with Zemanta]

Tuesday, January 20, 2009

PEAR Bug Triage Day Results (December 17-18th)

Here's the results of Bug Triage, Dec 17-18th and a few days surrounding it.

Accomplishments


  • Triage the latest 50 bugs
  • Crypt_GPG - gauthierm fixed broken unit tests
  • Services_Amazon_SQS - gauthierm is making progress on mocking out all HTTP
  • Validate_BE unit tests fail - doconnor fixed
  • HTTP_Session - doconnor made it skip if it can't possibly pass due to the unit test environment
  • XML_Feed_Parser - doconnor excluded from unit test results (too much noise for too little benefit)
  • PEAR 1.8 - fixing up unit tests - dufuz
  • Text_Wiki_Creole saw a release
  • Services_ExchangeRates 0.6 - doconnor did a release; mocked out all unit tests, tweaked API
  • MDB2 / MDB2_Driver_mysql - a new beta was put out! Lots of bugs fixed since the last release
  • New pear server was tested, lots of little patches, not quite ready yet! - doconnor, dufuz, cweiske, farell


If you missed it, the next one will be Feb 7-8th.

Reblog this post [with Zemanta]

Thursday, January 15, 2009

Bug Triage, 17th/18th Jan

Hey all, get your bug triage gloves on!

This weekend in #pear and #pear-bugs

Overall goals:
* Triage latest 50 bugs
* Break the new pearweb server as much as possible so we can have shiny new pearweb releases
* If you have a package which is package 1.0; upgrade it
* New releases which would be handy (look at, talk to maintainers, etc)
* Services_ExchangeRates 0.6 - doconnor
* Numbers_Words
* Image_Graph - doconnor emailed on 27th
* DB_DataObject - troehr emailed on 27th
* Validate - troehr emailed on 27th
* Image_Transform - troehr emailed on 27th, waiting for feedback from Philippe Jausions (appx Jan 1)
* Image_Canvas - doconnor emailed on 27th
* HTML_Page2 - troehr emailed on 27th
* HTTP_WebDAV_Client - doconnor emailed on 27th
* HTTP_WebDAV_Server - doconnor emailed on 27th
* Net_SmartIRC - doconnor emailed on 27th
* SQL_Parser - doconnor emailed on 27th
* Spreadsheet_Excel_Writer - troehr emailed on 27th, doconnor suitably scared
* Mail_Mime - avb and lifeforms (walter) are on it
+ http://pear.php.net/bugs/bug.php?id=11238 - reasonably high impact - needs much refactoring, probably a Mail release too.
* Math_Finance - get it into cvs - doconnor
+ Usage examples would be neat
* Contact_Vcard_Build
* Contact_Vcard_Parse

I'll be around most of Saturday and Sunday during Australian daylight hours (GMT+0930); so if anyone wants to jump in and hassle people during the US/European daylight hours, feel free!

Friday, January 02, 2009

The quickest way to create a PEAR package

Is called PEAR_PackageFileManager_Cli, or pfm.

More documentation lives here.


(02:56:15) stunami: hi is there an easy way to generate the contents tag for a package.xml?
(02:58:41) CloCkWeRX: stunami: you might be interested in pfm (pear_packagefilemanager_cli)
(02:59:38) CloCkWeRX: pear install it, hop into your directory, and type 'pfm' -> follow prompts
(03:01:13) stunami: oh excellent that sounds very helpful thanks, i was sure there must been something but google wasn't being very helpful today :)
(03:10:10) CloCkWeRX: what did you google for?
(03:13:34) stunami: stuff like generate package.xml pear
(03:15:01) stunami: I reckon a blog entry on pfm would be very handy indeed. Creating a package.xml while not hard is a bit tedious especially when updating all the files


Reblog this post [with Zemanta]

Thursday, January 01, 2009

Songbird, Hype Machine, Music Blogs

The Dude, Who Lent Me A Smoke
I am still in utter awe of Songbird + Last.fm + Hype Machine.

Right now I'm browsing around trying to find new sounds with hype machine. Hype machine points me to Superpose. Songbird makes it trivial for me to add it to my collection.

If I favorite it on hype machine, it'll twitter it for me; I can preview it right in songbird, add it to my library, and I can purchase tracks / albums from Amazon. As soon as I listen to it, it's right there in last.fm.

This isn't a music player, this is a distributed networked music experience.

Also, if someone could please buy me a whitefolksgetcrunk tshirt, or make superpose appear in Adelaide; I would be pretty happy

Reblog this post [with Zemanta]

Monday, December 29, 2008

PEAR bug triage roundup - Dec 27th/28th

We had PEAR bug triage on the 27th/28th.

I'd expected this to be a quiet one, but CVS activity was actually pretty heavy!

We accomplished:
* XML_Feed_Parser tests got added (1500 unit tests)! - doconnor
* HTTP_Upload parse errors fixed - doconnor
* Net_SMPP parse errors fixed - doconnor
* Net_Whois bugfix release - doconnor
* Massive improvements to PEAR_PackageFileManager tests - dufuz
* Auth_Prefmanager tests now skip if not configured - doconnor
* HTML_Template_IT 1.3.0a1 released - doconnor
* Image_Color 1.0.3 released - doconnor
* MP3_Playlist - phpcs - doconnor
* Net_IPv6 got into the pear test suite - doconnor
* Started Services_Akismet2 - gauthierm
* Started the process for new releases of DB_DataObject, HTML_Page2, HTTP_Upload, HTTP_WebDAV_Client, HTTP_WebDAV_Server, Image_Canvas, Image_Graph, Image_Transform, MDB2, MDB2_Driver_mysql, Mail_Mime, Net_SmartIRC, SQL_Parser, Spreadsheet_Excel_Writer, Validate - doconnor, troehr

The most important one here would be PEAR_PackageFileManager improvements - this is part of getting PEAR 1.8 out of the door.

Coming in second was the addition of 1500 or so tests with XML_Feed_Parser - unfortunately, we went from 145 failures to over 1000. The benefit of this: You can really see where PHP / libxml have a few holes, so over time, more bugs will be filed and this will improve.

Unfortunately, overall, it felt like we just ended up with more work on our plates as we unravelled bug after bug - so we'll power on through at the next bug triage day!

Reblog this post [with Zemanta]

Wednesday, December 10, 2008

PEAR Bug Triage Day Results (December 6th)

PEAR's December Bug Triage Day was alright, if somewhat quiet. It was actually more spread out over the preceding weeks rather than much on the day itself.

Christian got a new version of Services_Blogging out earlier in the month, while Console_GetArgs and Numbers_Words got updated and increased unit test coverage - just about everyone under the sun chipped in and wrote translated unit tests for Numbers_Words - Igor, Christian, Lorenzo, Kouber, David and anyone else I missed.

Payment_DTA got a new owner in Martin Schutte, which saw a good few bug fixes applied.

I fixed up Text_Figlet, which broke PHP 4 compatibility, and got out a release of it and Services_Yadis.

Finally, Validate got back in the unit test good books, with almost all unit test failures resolved.

The next one is calendared for December 28th, so we'll see how that goes :)



Reblog this post [with Zemanta]

Saturday, November 29, 2008

Bug Triage Day - December 6th

Hello all!

It's almost Bug Triage Day again, which will be taking place on December 6th/7th

If you are a user of PEAR and have wanted to contribute to an open source project, here's a great opportunity.

We run a bug day every 3 weeks or so, on irc.efnet.org #pear & #pear-bugs across two days. We basically try to improve the quality of incoming bugs reports and write test cases, make sure they are reproducible problems.

We also try to boost overall code quality - unit tests, documentation and other improvements.

If you've got a package you use commonly, or bugs you filed some time ago that haven't been fixed; this is a good time to get involved.

Join us on Dec 6th/7th; or pop into irc.efnet.org #pear to say hello and ask questions; or respond here!




My main focus:
Text_Wiki is a heavily used package which could use a little love!

There are numerous feature requests and bugs open for it which could no doubt use some attention:
http://pear.php.net/bugs/search.php?cmd=display&package_name[]=Text_Wiki&status=Open

Other pear developers, if you've got a specific target in mind, chime on in!

Here's what happened at the last one.

Monday, November 17, 2008

PEAR Bug Triage Day, November 15th/16th

A quieter bug triage this time around, spread a bit over the preceding days and a brief sprint on the weekend itself.

PEAR's wiki is moving, so the results live in a new place.

Probably the biggest efforts of the day came from from Igor (ifeghali, MDB2_Schema), Lorenzo (quipo, MDB2 & friends) and Michael (gauthierm, Crypt_GPG / unit tests).

Igor got out a new release of MDB2_Schema, driving it from having a high number of open bugs to somewhere way down in the depths of obscurity on the bug statistics wall.

Michael refused to sleep until Crypt_GPG's unit test coverage was much improved, and Lorenzo was more or less on the prowl for anything that could be fixed.



In other news


cweiske got his new server almost built (so it can run unit tests lots). That was until ...


cweiske: we got stuck while installing php on it from debian testing
cweiske: it crashes on cli when you load the mysql extension


Oh dear.

Additionally, Greg (gsherwood) started adding new coding standards improvements to PHP_CodeSniffer - it'll be interesting to see what happens to the stats.

There were also some sensible discussions around Coding Standards driven by Alexey.

Finally; there was also a Mock Driver added to HTTP_Request2 by Alexey as well - it'll be a great help to overall code covereage within PEAR over the coming years.

Next bug triage day is for 6th-7th December.

Thursday, November 13, 2008

PEAR and Unit tests - HTTP_Request2

Alexey is chugging away putting together HTTP_Request2, a PHP5 friendly next version of HTTP_Request.

When you look the previous package, HTTP_Request, it's pretty widely used. Within PEAR, these packages make use of it:
* Cache
* File_Sitemap
* HTTP_Client
* HTTP_WebDAV_Client
* Net_CDDB
* Net_DNSBL
* Net_Monitor
* Net_SMS
* pearweb
* Services_Amazon
* Services_Amazon_S3
* Services_Compete
* Services_Delicious
* Services_DynDNS
* Services_ExchangeRates
* Services_Hatena
* Services_OpenSearch
* Services_Pingback
* Services_Technorati
* Services_Trackback (versions <= 0.4.0)
* Services_TwitPic
* Services_W3C_CSSValidator
* Services_W3C_HTMLValidator
* Services_Weather
* Services_Yadis
* Services_Yahoo
* SOAP
* Testing_Selenium (versions <= 0.2.1)
* XML_GRDDL

Outside of PEAR; I'm sure there are lots more direct uses of HTTP_Request.

I know it's a valuable part of my code kung-fu kit and I love its API simplicity. It just works. Works well, too.


So HTTP_Request2 is the next iteration of the package - it features the notion of Adapters, so you can use the HTTP library of your choice - be it CURL, be it raw sockets, or for the more esoteric, TCP/Pidgeon.

The other great bit to this is the Mock Adapter. That's right ladies and gents; unit testing just got a whole lot better - just inject an instance of HTTP_Request2 with the Mock Adapter in, and have your tests run in mere moments!

A Quick Example


Observe how you might choose to execute all possible paths in this googlez() function.

<?php
require_once 'HTTP/Request2.php';
require_once 'HTTP/Request2/Adapter/Mock.php';

function googlez(HTTP_Request2 $client) {
$response = $client->send();

switch ($response->getStatus()) {
case '400':
print "YAY; we gots a response, we can haz googlez\n";
return true;
break;
case '403':
print "NAOOOOOO googlez forbidden\n";
return false;
break;
}
}


$mock = new HTTP_Request2_Adapter_Mock();
$mock->addResponse(new HTTP_Request2_Response('HTTP/1.1 400 Success'));
$mock->addResponse(new HTTP_Request2_Response('HTTP/1.1 403 Forbidden'));

$client = new HTTP_Request2('http://google.com/');
$client->setAdapter($mock);


// I can has googlez?
assert(googlez($client) === true);

// LOLWUT; I shouldz find out wha happenz if google explodez
// I fink it willz give me false.
assert(googlez($client) === false);


If you are doing it right, you will get:

YAY; we gots a response, we can haz googlez
NAOOOOOO googlez forbidden

Swapping this over to PHPUnit would be trivial.

Keep your ears open for the upcoming HTTP_Request2 release, and I would strongly encourage people to adopt it for their existing packages :)

Wednesday, November 05, 2008

PEAR Unit test results via Twitter

I just set up a few cron jobs to publish PEAR Unit test results, on the web, and via Twitter / Identi.ca / Atom feed, each and every night.

Go take a look!

Monday, October 27, 2008

PEAR Bug Triage Day Results (October 25th/26th)

This was a productive one! There was a general aim of getting unit tests just plain working, as well as responding to other QA metrics, like PHP_CodeSniffer.

The people involved this time around were:
cweiske, doconnor, kguest, amir, justinpatrin, till, avb, Tatsuya Tsuruoka, brettbieber, and I'm sure there are one or two I missed. Regardless, a huge thanks to all who participated.

Achievements


Commits galore, as well as on the wiki

PHPCS patches


There's a lot of code in PEAR, and we just keep getting more of it. We make use of tools like PHP_CodeSniffer to help us control it, but it's a big job keeping everything consistent.

We spruced up:
* Validate (amir)
* HTTP_Session2 (till)
* Gtk2_PHPConfig (kguest)
* Net_Wifi (cweiske)
* File_XSPF (doconnor)
* Net_Whois (doconnor)

And have seen a general fall in errors and warnings all week:
Date Errors Warnings
2008-10-20 204611 59329
2008-10-21 204527 59302
2008-10-22 204476 59288
2008-10-23 204480 59291
2008-10-24 204480 59292
2008-10-25 204482 59291
2008-10-26 204450 59166

There are also more detailed statistics available.

PHPUnit and Unit Tests


We started off at around 518 broken tests (16.21%), and got that down to 321 broken tests (10%).
* Text_Wiki (justinpatrin)
* DB_DataObject_FormBuilder (justinpatrin)
* Image_Color (doconnor)
* Services_Amazon (Tatsuya Tsuruoka)
* File_Find (doconnor)
... and more.

There's a number of patches that have been written but not applied, so it's only a matter of time..


Other


* Triage the latest bugs (doconnor: done-ish)
* HTTP_Client 1.2.1 released (avb)
* File_XSPF missing package.xml (kguest)
* MDB2_Schema test coverage (Igor Feghali)
* I18N_UnicodeString (in CVS and fixed by kguest)
* PHP_Fork into CVS (cweiske)
* Fix Validate_AU unit tests (doconnor released Validate_AU-0.1.2)
* Some talk of getting a working CI box back up and running

Next triage is looking like the 15th/16th of November

Saturday, October 25, 2008

PEAR Bug Triage Day, October 25th/26th

Come and join us, irc.efnet.org #pear-bugs

See the wiki for more details on what we are doing.

Thursday, October 02, 2008

Asterisk and Sneaky Plans

I want to make a small company which does customised installations of Jabber servers, and possibly Asterisk for small business - say, 30 or more people in the company.

Step one: Make me an RSS feed jabber bot, and viola: you have a recipe for a really slick communication tool integrated with existing other tools.

Some example scenarios:
Asterisk and a jabber bot watch people's status: if you are out to lunch according to pidgin (or your jabber client), route the calls intelligently to the next available person.

You could build service specific jabber bots / agents to do tasks coupled with another system - for instance, you could use it to ask "what price is a (barcode)" or "call Steve mobile" (asterisk locates the Steve you want and starts dialling, or perhaps finds the number from your CRM system).

More neatly, if you had, say, a stock level monitoring system or something else which could put out RSS, the Jabber bot could inform you "We are low on X".

Applications to target first:
* A Jabber bot that provides a neat interface to the assorted Google Data feeds (email, calendar)
* A Jabber bot that deals with RSS

... and then, you can start doing all sorts of neat things with inhouse systems - ie, SugarCRM or others.

Update
That was stupidly easy. See Interacting with Google Calender via Google Talk

1) Get XMPPHP
2) Do this:

<?php
require_once dirname(__FILE__) . '/external/xmpphp/XMPPHP/XMPP.php';
require_once dirname(__FILE__) . '/external/xmpphp/XMPPHP/Log.php';


$user = 'you@gmail.com';
$pass = 'password';
$url = dirname(__FILE__) . '/atom.xml';

// Or load from config
include 'config.php';


// And now the start

$feed = simplexml_load_file($url);
$feed->registerXPathNamespace('atom', 'http://www.w3.org/2005/Atom');

$entries = $feed->xpath('//atom:entry');

if (empty($entries)) {
die();
}

$conn = new XMPPHP_XMPP('talk.google.com', 5222, $user, $pass, 'xmpphp', 'gmail.com', $printlog=true, $loglevel=LOGGING_INFO);
$conn->connect();
$conn->processUntil('session_start');
$conn->message($user, "New entries: " . count($entries));

$entries = $feed->xpath('//atom:entry');
foreach ($entries as $entry) {
$conn->message($user, (string)$entry->title . " by " . (string)$entry->author->name);
}
$conn->disconnect();

3) Set up a cron job or similar to message you every few hours. Viola.