December 7th, 2008
I was trying to install a php extension when I read somewhere that said extension won’t work on Ubuntu Hard Heron PHP because it has Suhosin patch installed by default from that version up and that doesn’t play nice with some extensions. After some search I found how to recompile php without Suhosin and I’m going to consolidate the info here.
- Get the php5 source (this puts it in a folder work for cleanliness sake): mkdir work && cd work && apt-get source php5 && cd php5-5.2.4
- Make sure you can build it by doing: sudo apt-get build-dep php5
- Remove suhosin patch: rm debian/patches/suhosin.patch
- nano debian/patches/series
- Remove suhosin.patch line (it’s near the bottom of the file).
- If you never built a debian package before: sudo apt-get install devscripts
- Change version number (DO NOT PUT THE WORD suhosin in the version name): debchange -v 5.2.4-2ubuntu6~customName
- When you get presented with the nano text editor, just type something like “Hopefully removed Suhosin”, and press Ctrl+X and Enter to save.
- Build (this takes a while): debuild
- The .deb packages should be in the folder if done correctly: ls -l ../*.deb
- Quick install: sudo dpkg -i ../*.deb
This recompiled php for me and the extensions and setting that were already installed were untouched.
Posted in PHP, ubuntu | No Comments »
November 16th, 2008
I was in love with the idea behind open id and the possibilities. As the title suggests I think there are more cons to using open id than pros. This really came to light after a client requested it and we were looking into integrating it into the site.
Cons
- The implementation is not consistent between publishers. I have experienced problems utillizing yahoo ids with my early experiments which I have written about here
- Including open id support in existing login/registration workflows are less than ideal.
- Can be used for spamming, see t his post http://robrohan.com/2008/10/31/openid-maybe-not-as-cool-as-i-thought/
- The open id is not easier to remember that the usual username/email people are accustomed to.
Pros
- Open Id strives to allow users to maintain one set of authentication credentials that can be used across multiple sites.
- The open id spec accommodates retrieving useful data from an open id provider. This means that if I allow a user to create an account on my site using their open id i can retrieve some information from their id provider like first name, last name which I can use in my system (though no provider I have tested so far does this).
There are probably other pros on the site but I think these two are of particular interest. I don’t think we’ll be including open id in our work just yet because their isn’t much value in it just yet. There is only one site that I think has gotten openId implementation correct
Posted in Programming, Random Technology | 1 Comment »
October 9th, 2008
I’ve been out of the flash world for a little while and been working more in PHP and helping develop Rokkan’s product offerings. While I’ve been knee deep in working with the Zend Framework and cranking out community sites my co worker asked me why was I following the flash blogs. It’s been great to still look in from the outside at the cool progresses that have been made and I’m excited to see two parts of my world sort of collide (Zend Framework and Amfphp ). I recently found myself making a case against using Flex in the tool that we’ve been developing, as I was doing so I realized that being away from Flash for a bit has helped me think more maturely about technology solutions and finding the balance between new techonology and practical solutions. That said I’m waiting for an AIR applications on Android announcement to help get me back knee deep in AIR.
Posted in Random Technology | No Comments »
May 28th, 2008
So when google gears was first announced the spin seemed to be challenging AIR. I never really was interested in google gears because everything I read about it seemed to fall inline with what AIR had to offer (though Adobe collaborated with the gears team to implement sqlite). In the keynote at Google I/O gears piqued my interest when a representative from myspace described how he used Google gears to add full text search to MySpace (though that should be available on the site natively but that’s becides the point). There areas where the web browser simply falls short and going the desktop application route is just overkill. I think gears is a great middle ground and really could work to the benefit of AIR because with great power comes responsibility. As much as I like AIR i am night going to enjoy having 30 AIR apps installed for the different sites I use. I believe a big part of being a good developer is using the right tools for the job.
Posted in Apollo, Google, Tools of the Trade | No Comments »
April 16th, 2008
Its been a while since I updated the featured download (a year and 3 days actually)for the lib (the version in svn was always the most reliable). Thanks to everyone who sent in issues and patches.
Update:
So there have been a number of reports of an Illegal Override Error in the new version of the library. That seems to stem from some changes in Flex 3. Unfortunately I don’t have Flex 3 but on the wiki page of the project jamesyjhu has offered a solution for Flex 3 folk (as soon as I get a build of this Flex 3 fix I will put it on the downloads page):
Posted in Apollo, Flex Blog Development | 7 Comments »
March 8th, 2008
Basically at the most inconvenient time hit a snag on what should be one of the simplest things to do in flash programming perform what was in as2 a hitTest.
as2:
my_mc.hitTest(_root._xmouse,_root._ymouse,true);
Expected as3 equivalent:
my_mc.hitTestPoint(mouseX,mouseY,true);
or
my_mc.hitTestPoint(my_mc.mouseX,my_mc.mouseY);
As you would expect by now the expected version didn’t work for me and after spending time searching couldn’t figure out why what was visibly happening (my mouse over the object) was not registering by code.
My solution:
var tpoint:Point = localToGlobal(new Point(mouseX,mouseY));
my_mc.hitTestPoint(tpoint.x,tpoint.y,true);
My solution worked but I have no idea why the expected code didn’t. It should be noted that I was doing the test in a nested clip that belonged to a nested swf (realizing that’s the heart of the problem as I type this). Anyhue it was fixed and I was all about solutions that night so hope this helps others in a similar jam.
Posted in Flash | 3 Comments »
February 18th, 2008
So I must say I like Zend’s database layer the best so far. Good abstraction and I was able to build on it. One problem I ran into is when I changed the name of a primary key column (after some architecting). ZF caches the table’s metadata and that meta data is used to build row objects (I am using my custom dto). Because of the cached data things went wrong and I had to head over to the abstract class to see why things went wrong. I have done my fair share of data caching stuff and I am disappointed that as far as I can tell there is no easy way to invalidate the metadatacache (like setting a flag or something), but I am still hoping I just haven’t found it yet
Posted in PHP, Zend Framework | No Comments »
February 10th, 2008
So I am a proponent of OpenID. While I haven’t been able to influence its use in projects at work (will not happen anytime soon) I have been trying to implement it into a blog cms I am writing to replace the one I am using now (wordpress is popular but lacking imho). So I fire up my IDE and implement the Zend_OpenId component following these instructions. I head over to yahoo to try enable openid on my account so I can test out the Zend implementation. It’s easy enough to enable but I got this long url as an id and I begin to wonder “do they really expect me to remember this?” you can customize it but you are advised NOT to use your nickname in the customization becaues then your email address and yahoo id becomes obvious. Ok I tried to make up ANOTHER id to use in my custom yahoo open id implementation and it turns out it is already taken (I thought the idea of openId was to make things easier). I really want to get cracking on my testing so I just use the url that was generated. I head over to my test page and plug in the url and to my surprise it fails. I figure I did something wrong so I look over the example and it appears everything is in order. I head over to yahoo and check the url again and yep its correct. I then decide to read the instructions (yes I am a man) and low and behold you have to enter yahoo.com as the id (excuse me for making the logical leap that the url given to me is what should be used to authenticate like other openid producers). I try that in my example and it fails again. So I head over to another open id consumer and test out the yahoo method and it works. Now I am bummed because there seems to be a bug with the Zend component. Still determined I tried my example using the AOL openid and eureka my example works! This could be because of the protocol the consumers used, or totally something else but at the end of the day yahoo’s openid implementation is unintuitive and really didn’t enhance my login experience. With the recent announcement of more big names joining the party, I hope they don’t mangle what I thought was a really good idea.
Posted in Random Technology, Zend Framework | 3 Comments »
January 28th, 2008
I’ve been doing more back end than front the last 6 months, but I’m back in the flash game and looking to bring best things I liked about server side development with me. All this goodness will be incorporated in a MIT licensed library and I hope it will be useful to developers like myself. The first contribution to this lib is a class for inflection. The Inflector allows for pluralizing,singularizing,camel casing, underscoring, and humanizing words. I did search for and find an existing inflection class but I decided to port the CakePHP inflector which is more extensive and more accurate. Download Inflector.
Try it out here:
Posted in Flash | 4 Comments »
January 25th, 2008
CSS is getting closer and closer to being correctly implemented by all browsers (IE8 passed the acid test) but life as a web developer is not getting easier. If you thought Safari on Windows was “cool”, web developers around the world shed a tear. Just because a software is labeled cross platform doesn’t mean that it behaves the same on all platforms. I am not sure if my latest gripe lies with the Firefox browser or the flash player but there is a bug in Firefox for Mac where if html content is overlayed Flash content the html content flickers. The fix? get rid of any flash elements from under html content (by masking out the content when mac firefox is detected or hiding the layers)
Remember the browsers that you support is not determined solely by the site audience but also by whatever the hell your boss/client uses.
Posted in Flash, Web design | 3 Comments »
For people who are using Flex Builder 3, and have the “Illegal Override of XMLRPCObject” error, you need to:
1) import the project into flex builder 3
2) it’ll tell you that the project was made in previous version of flex builder. Select the “default” version (which is Flex 3)
3) Open up XMLObject.as, look for “setCredentials” and replace the function signature with: override public function setCredentials (username:String,password:String,charset:String = null):void
4) right below, find “setRemoteCredentials” and replace the function signature with: override public function setRemoteCredentials (username:String,password:String,charset:String = null):void
5) build it (automatically) and enjoy!