Subpacket.com

Eclipse and Large Projects

by on Mar.24, 2009, under General

So I had some problems with Eclipse moving crappy slow, and on top of that, I lost my auto-complete abilities for my project. The problem? I was working with a rather large PHP project and it appears that java heap size was the problem.

Solution: Increase the Java heap size used by the VM that runs eclipse like so:

./eclipse -vmargs -Xmx512M -XX:MaxPermSize=128M

And that’s it! By default eclipse uses 256MB heap size which, for my project, seemed to be too small.. but this fixed it. Now eclipse auto-complete works, and it runs smoooth as butta. :)

Hope it helps others that are having problems with large projects in eclipse.

Leave a Comment more...

It’s Flash! Weeeee!

by on Feb.14, 2009, under General

So I went for some training on Flash this week. Specifically, 2 days for an intro course for Flash. Now, I started with not knowing shit-all on working with flash movies.. Yeah, I’ve messed with the end result in web sites, ie placing the SWFs in documents, and even have some understanding of ActionScript thanks to some experience with Adobe Flex.. But other than that, creating animations and working with the Flash environment totally mystified me..

Until now…

Now that I have a better understanding of how Flash works, I’m… intrigued. As such, I am posting my most absolutely stellar n00b animation here. I hope you enjoy it. :)

Scotty

1 Comment more...

Bugzilla: You annoy me.

by on Feb.11, 2009, under General

So I’ve been working on a little web app that talks to Bugzilla via PHP that, when finished, will be a custom interface to Bugzilla that’s more simplistic and easier to use than the generic Bugzilla install.

HOWEVER…

After building a nice generic class that handles communication between PHP and Bugzilla, I’ve learned all about Bugzilla’s LACK of decent server-to-server communication mechanisms. Yes, they have an XMLRPC interface that would be well-suited for this type of thing, but it’s largely incomplete and lacking some significant features such as search. I’ve discovered that many devs that have written apps to talk to Bugzilla use some interesting (and possibly problematic) work-arounds that post information to the same places that Bugzilla’s own HTML forms goto. The problem with this? Decent error handling. In order to get error handling from this thing, you gotta dig up the relevant tags of HTML, pull out the message and hope that this setup NEVER changes between various versions (which it may very well do).. In my opinion, this is totally gross and sheizer-like.

And the fact that I have no method of retrieving a list of classifications without actually physically querying the database is a bit of a deal-breaker for me.

So, I’m pondering writing my own back-end for this app.. Will it take a while? Probably… but as is with anything custom, it may take a while, but you’ll end up with something that fits your needs MUCH better than trying to shoe-horn an existing package into your current processes.

Bugzilla, I like you.. For bug tracking amongst devs, you’re excellent… But alas, you do not serve my needs in this case.

2 Comments more...

BugzillaPHP on Google Code

by on Jan.14, 2009, under General

I’ve setup a project on Google Code for BugzillaPHP.  Everything is now available there, including the release, a subversion repository, and the usual Google Code stuff like issue tracking, wiki pages, etc.

Enjoy!

http://code.google.com/p/bugzillaphp/

Scotty

1 Comment more...

BugzillaPHP 0.1 Released!

by on Jan.13, 2009, under General

Woooooot!  Look out, it’s the initial release of BugzillaPHP!

Download here: BugzillaPHP 0.1 Release

WTF?

BugzillaPHP is a set of PHP classes that allow communication with a Bugzilla installation.  Capabilities include login/logout, search bugs, retrieve bug info, create and update bugs.  Retrieving lists of classifications and products is also supported.  Please note that this is in a working state, but is far from feature complete.  Need a feature? Feel free to add it and send me the updates! The code is covered under the LGPL. (I’ll have a public subversion repo up at some point)

Requirements: PHP5, Bugzilla 3.2+ (may work with older 3.x series, but untested)

Documentation is non-existent right now but that’ll change soon enough.  For the time being, here’s a couple examples as to how it works.

To connect to bugzilla and retrieve a specific bug’s information:

<?php
require_once('BugzillaConnector.php');
$bugzilla = new BugzillaConnector('http://your.bugzilla.installation');
$bug = $bugzilla->getBug(123); // Returns an instance of BugzillaBug.
print_r($bug);

To perform a search, the boolean charts feature of bugzilla is used.  Generally straight-forward, check BugzillaSearchParameters::$fields for a list of all possible fields, and Bugzilla::$operators for possible operators.

<?php
require_once('BugzillaConnector.php');
$bugzilla = new BugzillaConnector('http://your.bugzilla.installation');
$params = new BugzillaSearchParameters();
$params->addItem('bug_status','equals','NEW');
$params->addItem('bug_status','equals','UNCOMFIRMED');
$params->addItem('bug_status','equals','ASSIGNED');
$params->addItem('assigned_to','equals','steglasi@subpacket.com','AND');
$bugs = $bugzilla->search($params); // Returns an array of BugzillaBug objects.

foreach ($bugs as $bug) { // Spit out each bug number and summary.
    echo "Bug # " . $bug->bug_id . ': <b>' . $bug->short_desc . '</b><br />';
}

Logins are a bit trickier, but not hard.  To perform a login, use something like this:

$bugzilla = new BugzillaConnector('http://your.bugzilla.installation',$_SESSION['bugzillaCookies']);
$userId = $bugzilla->login('username@domain.com','password');

$_SESSION['bugzillaCookies'] = $bugzilla->getCookies();

Here’s the trick: Bugzilla uses cookies to maintain a logged in session, but those cookies aren’t stored in the current PHP session by default.  I didn’t implement session handling inside this class on purpose so that other session-handling methods can be used. (database-based sessions, etc)  To get around it, you’ll need to store the cookies in your own session, and pass them into the constructor each time you instantiate the BugzillaConnector class.  Also note that cookies will not be populated initially until you call a function that contacts bugzilla. (search, getbug, etc)

To create a bug or update a bug, you need only create an instance of BugzillaBug, fill in the info you need for it, and call createBug($bug) or updateBug($bug). Please note that there is NO error checking whatsoever right now, so if it fails, you won’t know it.  That’s on the list of things to do. :)

That’s the crash course!  Any feedback is appreciated, but please note that this is totally an Alpha-quality release. So if it blows up, well..  It’s alpha. :)

To download the library, go here:

BugzillaPHP 0.1 Release

Enjoy!

Scotty

1 Comment more...

It’s Bugzilllaaaaa!!! And PHP.

by on Dec.09, 2008, under General

So here’s my latest pet project that’ll become my first open-source GPL’d project: BugzillaPHP.

WTF is it?  It will be a class (or classes) that are used to communicate with a Bugzilla installation from PHP.  For the first implementation, I’m writing what’s needed to retrieve bugs, search bugs, create and update bugs.  As soon as I have a working version (which will hopefully be in a couple weeks or so), I’ll make it available here for anyone that may find it useful.

It’s going to be used for a larger project that I’m implementing in GWT (Google Web Toolkit).  Essentially, it’ll be an ‘enhanced’ front-end to bugzilla that will have various additional features that are more useful for the company that I’m working for.  And the fact that it’s using GWT’s powers of Ajax is a perk :) And it’s an excuse to learn some new technology.

Updates to follow!

Leave a Comment more...

Game Development 101

by on Jul.30, 2007, under General

So I’ve decided that I’d like to get into developing games… It’s something that I’ve always pondered over the course of many years, and I’ve tinkered here and there, but nothing of consequence has really emerged. Recently, however, I’ve decided that I’d like to try my hand at it once again.

About 6 months back, I bought a book “Beginning Game Programming” which teaches you the basics behind programming games. It concentrates on 2D game development for the most part, although it does touch on 3D in the last part of the book. I didn’t make it to the 3D portion, but I found the book to be well written. If you’re interested, you can find the book here.

The only problem I had with the book was that it was centred around DirectX and windows-specific programming. Now, me being a linux geek and all, that didn’t sit entirely well with me. :) But I suppose if you’re serious about gaming, and want to make some cash, windows is the way to go since most games are on that platform.

Anyway, I stopped messing with games for a while.. Then got back into it again in the past couple weeks. I did some hunting around for books that taught a more cross-platform approach to game programming. The books I found were few and expensive. However, the internet being the wealth of information that it is, especially when it comes to open source software, I came across a set of tutorials that a dude wrote to introduce programming with the SDL library. Good tutorials so far, and all his lessons include the finished code and resources (images, etc). I haven’t finished off the tutorials yet but from what I’ve seen so far, they’re quite good. You can find the tutorials here: http://lazyfoo.net/SDL_tutorials/index.php

As I make some progress (and possibly some original code :D ), I’ll post it.

Scotty

4 Comments more...

Mmm.. Fresh install..

by on Mar.27, 2007, under General

And here we are with a nice fresh installation of my blogging software.  It’s the same one as before, and you geeks will probably recognize WordPress.  It’s the newest version.  So clean, so fresh.. Even has that new car smell :D

Moving right along…

Expect some more stuff to popup here in the coming weeks.

Scotty

7 Comments more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...

Archives

All entries, chronologically...