<?xml version='1.0' encoding='UTF-8'?><rss xmlns:atom='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:thr='http://purl.org/syndication/thread/1.0' version='2.0'><channel><atom:id>tag:blogger.com,1999:blog-5542840264156477606</atom:id><lastBuildDate>Fri, 27 Aug 2010 11:38:26 +0000</lastBuildDate><title>PHP Guy</title><description>Adventures in Programming</description><link>http://blog.donaldorgan.com/</link><managingEditor>noreply@blogger.com (Donald J Organ IV)</managingEditor><generator>Blogger</generator><openSearch:totalResults>18</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-2184004347861172407</guid><pubDate>Mon, 19 Jul 2010 22:25:00 +0000</pubDate><atom:updated>2010-07-21T14:52:08.612-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Road Runner</category><category domain='http://www.blogger.com/atom/ns#'>FAIL</category><category domain='http://www.blogger.com/atom/ns#'>RR</category><category domain='http://www.blogger.com/atom/ns#'>Bright House</category><category domain='http://www.blogger.com/atom/ns#'>internet</category><title>Brighthouse, yeah no....</title><description>Well after my last blog post you'll notice that I had a comment from someone at BrightHouse asking for information to see if they could be of help. &amp;nbsp;I sent them my information and within a couple of days received a phone call form a customer service supervisor. &amp;nbsp;She followed up with me a couple times to let me know what was going on but I only spoke with her once on the phone, &amp;nbsp;and the other times she left a voicemail.&lt;br /&gt;&lt;br /&gt;Now the last voicemail I received from her said that they they found the issue and were replacing a hub in the area to fix said issue. &amp;nbsp;She stated that the replacement would be done by the end of the week and that I would receive a phone call form the area supervisor Bill Harris by sunday when the hub was supposed to be replaced. &amp;nbsp;I was also told that I would receive a phone call from Bill Harris early on last week but never received a phone call from him. &amp;nbsp;I was also told that the woman who I was speaking with was going on vacation until this past Sunday and would follow up with me on Sunday. &amp;nbsp;It is no 6:15 Eastern Time and I have yet top receive a phone call from anyone, and guess what my internet speeds are still not what they should be.&lt;br /&gt;&lt;br /&gt;Being that I was told things would be fixed by the end of the week and come saturday they weren't I called BrightHouse and was told there was work done in the area so they cannot confirm that this is an ongoing issue, so they would have to send a service tech out yet AGAIN to check the signal levels. &amp;nbsp;While on the phone I mentioned I was supposed to get a phone call from Bill Harris to let me know where things were at..they looked at the account and told me that Bill Harris had called me on tuesday and told me he would follow up with me on Sunday......The only person from brighthouse I received a phone call from on tuesday was the customer service supervisor. &amp;nbsp;So I asked the support person on the phone are they sure it says Bill Harris &amp;amp; they confirmed thats what it said. So not sure whats going on there.&lt;br /&gt;&lt;br /&gt;So the service tech comes out &amp;nbsp;Saturday afternoon and checks the levels and of course they are fine. &amp;nbsp;While he is here I was commenting how this was an on going issue now for almost 4 months and that every time I call they want to classify it as a separate and new problem, the service tech states "Yeah we;ve been getting alot of calls for this area, and some of them we just ignore". &amp;nbsp;WOW! &amp;nbsp;I didnt say anything to him about that because I wasnt about to start any other trouble than I already have.&lt;br /&gt;&lt;br /&gt;So once the signal level check was complete and no problems were found the service tech went out to the tab and checked the connections there, which were fine. &amp;nbsp;Well since he couldnt find any issues and had his next service call one block over in my subdivision he calls someone and they told him it was an ongoing issue in the neighborhood. &amp;nbsp;So the service tech gets told after and&amp;nbsp;unnecessary documented issue in the area that he really shouldnt have been dispatched out here......WOW&amp;nbsp;&lt;br /&gt;&lt;br /&gt;I AM STILL NOT GETTING WHAT I PAYED FOR AND BRIGHTHOUSE IS NOTHING BUT A HOUSE WITH ITS LIGHTS OUT AT THIS POINT EVERYONE IS WALKING AROUND IN THE DARK AND HAS NO CLUE WHAT ANYONE ELSE IS DOING. &amp;nbsp;SO NOW I AM GOING TO TRY AND GO UP THE CORPORATE LADDER.&lt;br /&gt;&lt;br /&gt;If anyone reading this has a phone number or an email address of someone other than a customer service supervisor or call center please send it my way. &amp;nbsp;Myself as well as the other in my subdivision would really appreciate it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-2184004347861172407?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2010/07/brighthouse-name-says-nothing-no-lights.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-714983383761424325</guid><pubDate>Sun, 11 Jul 2010 18:04:00 +0000</pubDate><atom:updated>2010-07-11T14:04:12.762-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>Road Runner</category><category domain='http://www.blogger.com/atom/ns#'>FAIL</category><category domain='http://www.blogger.com/atom/ns#'>RR</category><category domain='http://www.blogger.com/atom/ns#'>Bright House</category><category domain='http://www.blogger.com/atom/ns#'>internet</category><title>Bright House FAIL!!</title><description>So I am going into month 4 of slow internet speeds. &amp;nbsp;He is my most recent test. &amp;nbsp;Granted its not a bright house speed test but they dont allow for a direct image output of the results....I wonder why. &amp;nbsp;But the speedtest on http://speedtest.cfl.rr.com &amp;nbsp; show pretty much the same thing.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://bit.ly/c9lASI" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://bit.ly/c9lASI" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So yeah month 4 of my neighborhood having slow speeds, numerous tech's &amp;nbsp;have been made, and they come to the houses in the neighborhood and say none of the tests they run show any issues, so they put in what they are referring to as a "maintenance call" &amp;nbsp;basically this is a way for them to leave without fixing the problem. &amp;nbsp;Supposedly a part has been on order now for over 3 weeks. &amp;nbsp;Yet most of the tech guys that have come out say any part that needs to be replaced should &amp;nbsp;already be in stock. &amp;nbsp;so who knows what is going on.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-714983383761424325?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2010/07/bright-house-fail.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-1515145432576979272</guid><pubDate>Thu, 18 Feb 2010 02:07:00 +0000</pubDate><atom:updated>2010-02-17T21:07:35.707-05:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>ext</category><category domain='http://www.blogger.com/atom/ns#'>php</category><title>Been doing some heavy ExtJS development</title><description>So for the past couple of months I have been doing some heavy ExtJS work. Nothing too fancy, no extension development....but some real heavy use of Ext and some 3rd party extensions.&lt;br /&gt;&lt;br /&gt;The backend of the application I am working on is PHP, and I have come up with a psuedo framework for the application itself. By using the __autoload() functions in PHP and passing a couple of standardized arguments for every ajax call whether it be a submitting of a form or loading a data store for a grid/combo Ext component. Through Ext lovely use of the xtype property I am able to create arrays in my PHP Objects json_encode() them and pass them back to the front end where they become full fledged objects....this is not a standard practice for the interface but it is used in a specific element of the application that is very dynamic and very custom. Now I am sure if I found some Ext developers in my area and could sit down with them and show them the application they could do away with PHP generating the code and come up with a couple of extensions to do exactly what I want, but for now PHP is filling in the gaps and doing exactly what I want.&lt;br /&gt;&lt;br /&gt;I originally started looking at ExtJS when version 1 was released, then version 2 came out and I started on a project at my former location, but never really was given the time to actually fully develop an application using Ext...then a couple of months ago I started on the current project I am working on and presented the idea of using Ext to my boss, he said I could proceed and I think overall everyone has been very happy with it.&lt;br /&gt;&lt;br /&gt;Somethings I have seen improve for each release of Ext. I am going to start with the items that I have seen the biggest change in and work down to those that have changed but maybe not that much. Of course these are just my opinions&lt;br /&gt;&lt;br /&gt;* Documentation&lt;br /&gt;* Speed&lt;br /&gt;* Overall Community Support&lt;br /&gt;* UI Reliability&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Documentation- The documentation has GREATLY improved and since the release of 3.0 I have started to see more and more examples of code in documentation itself. One thing that is still lacking just a little is an overall explanation of the properties/config options/methods/etc... for an object....some of these have a great amount of explanation and others not so much. Of course you can likely find someone to give a little bit more information on #extjs on irc.freenode.net but I think such details should be in the documentation. One thing I would love to see in the documentation along with the curret code example, is an actual working element produced from the code example, I know there are examples, but having everything in one place is a great thing to have and not all classes that have code in the documentation have samples...although most of them do.&lt;br /&gt;&lt;br /&gt;Speed- The speed of Ext overall has increased SIGNIFICANTLY and I dont think there is anyone out there that is using Ext that could ask for more speed improvements although I am sure the team is working on them. &lt;br /&gt;&lt;br /&gt;Overall Community Support- I have see the community grow in leaps and bounds for Ext, this past year was the first Ext Conference, and although I moved to Florida just in time for it, unfortunately I was getting married later that month and with starting the new job and having to take time off for the wedding/honeymoon I as unable to attend. I believe this years conference, if there is going to be one, will be in California as that is where the new Ext office is located (figures I come to town and everyone leaves!) Going with community tow books have come out recently The "&lt;a href="http://www.amazon.com/Ext-3-0-Cookbook-Jorge-Ramon/dp/1847198708/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1266458307&amp;amp;sr=8-1"&gt;Ext JS 3.0 Cookbook&lt;/a&gt;"&amp;nbsp;and a not yet released in paper back form but available but available through Manning Publishing's MEAP program "&lt;a href="http://www.manning.com/garcia/"&gt;Ext JS in Action&lt;/a&gt;" these has both bean great reads so far and I would highly suggest for anyone involved in Ext development to purchase them.&lt;br /&gt;&lt;br /&gt;UI Reliability-&amp;nbsp; This one really isnt an improvement but something negative that I am starting to see I have noticed a couple of UI bugs creaping in and out of the 3.x releases such as, tabs not having the site images, a form having trouble placing buttons correctly and having them cut off on the left hand side.&amp;nbsp; Now&amp;nbsp; the tabs issue was corrected with the release of 3.2 but the 3.2 release introduced the buttons issue, which I believe is my fault in that I have not set the proper config options for my objects but it was working correctly in 3.1 and now is showing up in 3.2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But overall Ext is great and the changes they have been/are making to the release cycle are going to help the overall package shine like no other.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-1515145432576979272?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2010/02/been-doing-some-heavy-extjs-development.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>5</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-1093847101087709851</guid><pubDate>Wed, 28 Oct 2009 15:42:00 +0000</pubDate><atom:updated>2009-10-28T11:42:30.426-04:00</atom:updated><title>Ares I-X Rocket Launch</title><description>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/f6ngEkEvc-k&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/f6ngEkEvc-k&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-1093847101087709851?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2009/10/ares-i-x-rocket-launch.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-1203199702045776483</guid><pubDate>Mon, 20 Apr 2009 23:54:00 +0000</pubDate><atom:updated>2009-04-20T19:54:55.633-04:00</atom:updated><title>Andromeda Presenation from BarCamp Orlando</title><description>&lt;div style="width: 425px; text-align: left;" id="__ss_1318258"&gt;&lt;a style="margin: 12px 0pt 3px; font-family: Helvetica,Arial,Sans-serif; font-style: normal; font-variant: normal; font-weight: normal; font-size: 14px; line-height: normal; font-size-adjust: none; font-stretch: normal; display: block; text-decoration: underline;" href="http://www.slideshare.net/dorgan/andromeda-1318258?type=powerpoint" title="Andromeda"&gt;Andromeda&lt;/a&gt;&lt;object style="margin: 0px;" width="425" height="355"&gt;&lt;param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=andromeda-090420174856-phpapp01&amp;amp;stripped_title=andromeda-1318258"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowScriptAccess" value="always"&gt;&lt;embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=andromeda-090420174856-phpapp01&amp;amp;stripped_title=andromeda-1318258" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div style="font-size: 11px; font-family: tahoma,arial; height: 26px; padding-top: 2px;"&gt;View more &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/"&gt;presentations&lt;/a&gt; from &lt;a style="text-decoration: underline;" href="http://www.slideshare.net/dorgan"&gt;dorgan&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-1203199702045776483?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2009/04/andromeda-presenation-from-barcamp.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-2259130550652114631</guid><pubDate>Mon, 06 Apr 2009 19:20:00 +0000</pubDate><atom:updated>2009-04-06T15:22:28.536-04:00</atom:updated><title>Cable Monopolies</title><description>&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Part1&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;It really seems like Brighthouse is not will to work with the customer AT ALL.&lt;br /&gt;&lt;br /&gt;I recently moved down to Cocoa, FL from New York and prices are generally higher up there and I was paying around $140.00 a month for the following:&lt;br /&gt;&lt;br /&gt;1 HD Multi Room DVR&lt;br /&gt;1 SD Cable Box&lt;br /&gt;HBO Package&lt;br /&gt;&lt;br /&gt;10 MB Down / 2MB Up&lt;br /&gt;&lt;br /&gt;Unlimited Nation Wide...&lt;br /&gt;&lt;br /&gt;and paid a total of around $150 a month including taxes and the occasional on-demand rental.&lt;br /&gt;&lt;br /&gt;Now Brighthouse wants to charge me $119 a month for the following:&lt;br /&gt;&lt;br /&gt;1 HD DVR (Not Multiroom)&lt;br /&gt;1 SD Box&lt;br /&gt;10 MB Down / ??? Up&lt;br /&gt;No HBO&lt;br /&gt;&lt;br /&gt;$161.73 a month!!!!&lt;br /&gt;&lt;br /&gt;Then I asked if there was anything they could do and possible provide the DVR box free of charge and try to work with the customer or if there was anything else they could do and they told me absolutely not.&lt;br /&gt;&lt;br /&gt;Something is wrong here.&lt;br /&gt;&lt;br /&gt;When I was switching from Cablevision to Fios up in New York Cable vision was willing to make each service 29.95 a month.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Part2&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;WOW BrightHouse Networks Customer Service is horrible.&lt;br /&gt;&lt;br /&gt;So I finally decided to go online last night after all the phone call fun, and signed up for the double pack...For Internet Service and TV Service, including the extras I wanted.&lt;br /&gt;&lt;br /&gt;I never got a confirmation email and no one called me this morning, so I called them and the lady told me there was nothing in the system so I went ahead and put the order in and got an install appointment for wednesday(good). Cable/Internet is the only thing holding me back from moving into my house right now.&lt;br /&gt;&lt;br /&gt;Not 10 minutes after I get off the phone does the BrightHouse Promotions department call me and start to go into a speech about brighthouse and then i guess he looks at his screen and says "oooo, I was calling to offer $50 off your first month, for setting up your order online. but I see that you went ahead and called prematurely." So I responded with well cant you give me the $50 off I just signed up today. He said "Well, you would have to cancel the order..." so I said OK cancel the order. His response was..."Well I cant cancel the order you would have to call back and cancel the order"...I said oh ok well this is strike 2 for customer service, and then he started to tell me how he disagrees...thats when i hung up...unfortunately this is the only cable broadband provider in the this area and I guess they could give a rats ass about making any of their customers happy.&lt;br /&gt;&lt;br /&gt;So 2 strikes for BrightHouse Cable before they even get into my house.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-2259130550652114631?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2009/04/cable-monopolies.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-2056911912570560261</guid><pubDate>Wed, 11 Feb 2009 16:16:00 +0000</pubDate><atom:updated>2009-04-06T11:08:35.116-04:00</atom:updated><title>Thunderbird Extension Development</title><description>I've spent the last two weeks developing a thunderbird(tb) extension and I must say trying to find information specific to tb development is very hard to come by.  Firefox plugin development information is all over the place.  But tb resources are hard to come by.  I have put together a quick reference that will hopefull get crawled by google and maybe give some help to others that are trying to do the same thing.  Please not that this is just a qucik reference, of things I foudn to get the job done...they might not be the best method of doing things but it gets the job done.&lt;br /&gt;&lt;br /&gt;&lt;style type="text/css"&gt;  &lt;!--   @page { margin: 0.79in }   P { margin-bottom: 0.08in }   A:link { so-language: zxx }  --&gt;  &lt;/style&gt; &lt;p style="margin-bottom: 0in;" align="center"&gt;&lt;span style="font-size:130%;"&gt;&lt;b&gt;Thunderbird Extension Development&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style="margin-bottom: 0in;" align="center"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;b&gt;Overlay Reference:&lt;/b&gt;&lt;/p&gt; &lt;ul&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;b&gt;chrome://messenger/content/messenger.xul- &lt;/b&gt;statusbar&lt;br /&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;b&gt;chrome://messenger/content/mailWindowOverlay.xul-  &lt;/b&gt;Toolbar  Menu (taskPopup),  Message  Context Menu (threadPaneContext)&lt;br /&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;b&gt;chrome://messenger/content/msgHdrViewOverlay.xul- &lt;/b&gt;Attachment  Context Menu (attachmentListContext)&lt;/p&gt;  &lt;/li&gt;&lt;/ul&gt; &lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;b&gt;Accessing Attachments&lt;/b&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  attachmentList = document.getElementById( 'attachmentList' )   //  returns attachment list&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  selectedAttachments = attachmentList.selectedItems;  //Get selected  attachments&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-left: 0.25in; margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;b&gt;Getting Message Information&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt; var MessageUri = GetFirstSelectedMessage();  // Get Message URI&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt; /* Get message body as it appears in preview window */&lt;/p&gt; &lt;p style="margin-left: 0.49in; text-indent: -0.25in; margin-bottom: 0in; font-weight: normal;" align="left"&gt;  body = document.getElementById("messagepane").contentDocument.body.innerHTML;&lt;/p&gt; &lt;p style="margin-left: 0.49in; text-indent: -0.25in; margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;b&gt;Accessing Limited Message Header information&lt;/b&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  msg = messenger.messageServiceFromURI(uri);   // get message object&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  hdr = msg.messageURIToMsgHdr(uri);     // get header object&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  subject = hdr.mime2DecodedSubject;    // get Subject&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  from = hdr.mime2DecodedAuthor;   // get From&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  to =  hdr.mime2DecodedRecipients;   // get To&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  msgdate = new Date( hdr.date/1000);   // turn epoch into date&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;var  messageid = hdr.messageId;    // get message ID&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;" align="left"&gt;&lt;b&gt;Downloading Attachments&lt;/b&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt; This piece of code will take all selected attachments and download them to &lt;a href="file:///C:/"&gt;C:\&lt;/a&gt; with their original filenames.&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-weight: normal;" align="left"&gt;&lt;br /&gt;&lt;/p&gt; &lt;ol&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;  &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;attachments =  this.getSelectedAttachments();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;  &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;for(  i=0;i&lt;attachments.length;i++&gt;&lt;/attachments.length;i++&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;var  attachment = attachments[i];&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;  &lt;/p&gt; &lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;/* Create a  file interface object */&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;var file =  Components.classes["@mozilla.org/file/local;1"].&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;              &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;createInstance(Components.interfaces.nsILocalFile);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;var  fullfilepath = '&lt;a href="file:///C:/test/"&gt;C:/test/&lt;/a&gt;' +  attachment.displayName;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;file.initWithPath(fullfilepath);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;if(!file.exists())  {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;                  &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;file.create(0x00,0644);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;          &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;messenger.saveAttachmentToFile(  file, attachment.url, attachment.uri, attachment.contentType, null  );&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;  &lt;/li&gt;&lt;li&gt;&lt;p style="background: rgb(204, 204, 204) none repeat scroll 0% 0%; margin-bottom: 0in; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; font-weight: normal;" align="left"&gt;  &lt;span style="font-family:Lucida Console,monospace;"&gt;&lt;span style="font-size:85%;"&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;/li&gt;&lt;/ol&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-2056911912570560261?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2009/02/thunderbird-extension-development.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>6</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-8137544234187760875</guid><pubDate>Mon, 02 Feb 2009 03:48:00 +0000</pubDate><atom:updated>2009-02-01T22:49:36.393-05:00</atom:updated><title>Upgrading My Desktop</title><description>So I am going to upgrade my computer....here is what i am going with:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16813121314"&gt;Intel BOXDP35DPM LGA 775 Intel P35 ATX Intel Motherboard&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16814121268" target="_blank"&gt;ASUS EN9800GT HB/HTDI/512M GeForce 9800 GT 512MB 256-bit GDDR3 PCI Express 2.0 x16 HDCP Ready SLI Supported&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.newegg.com/Product/Product.aspx?Item=N82E16817339025" target="_blank"&gt;hec X-Power Pro 600 600W Continuous @ 40°C ATX12V V2.2 SLI Ready CrossFire Ready  Power Supply&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a target="_blank" href="http://www.newegg.com/Product/Product.aspx?Item=N82E16819115055"&gt;Intel Core 2 Quad Q8200 2.33GHz LGA 775 95W Quad-Core Processor Model BX80580Q8200&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I am also going with 8GB of ram.&lt;br /&gt;&lt;br /&gt;Only thing let to decide on it CPU cooling.&lt;br /&gt;&lt;br /&gt;Linux will rock and I will be dual booting XP(maybe Vista) so that I can play StarCraft 2 when it comes out.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Comments/ Suggestions??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-8137544234187760875?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2009/02/upgrading-my-desktop.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-1577321159459448496</guid><pubDate>Thu, 15 Jan 2009 21:49:00 +0000</pubDate><atom:updated>2009-01-15T16:52:41.075-05:00</atom:updated><title>PETA Wow I want some of what your all taking</title><description>So PETA has decided that fish should now be called sea kittens. and they let you create a "sea kitten" on their site.  Well you let me know when you see something in the ocean that looks like this.&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://www.peta.org/sea_kittens/_swf/sea_kitten.swf?c=fl&amp;amp;c0=2&amp;amp;c1=1&amp;amp;c2=1&amp;amp;c3=2&amp;amp;c4=2&amp;amp;c5=2&amp;amp;c8=1&amp;amp;c10=1&amp;amp;n=Scooby%20Wooby&amp;amp;d=peta.org&amp;amp;tc=skembed" allowscriptaccess="always" pluginspage="http://www.macromedia.com/go/getflashplayer" wmode="transparent" type="application/x-shockwave-flash" width="300" height="354"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;a href="http://www.peta.org/sea_kittens/index.asp?c=skembed"&gt;Create Your Own Sea Kitten at peta.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-1577321159459448496?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2009/01/peta-wow-i-want-some-of-what-your-all.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>1</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-7605248843356945257</guid><pubDate>Sun, 12 Oct 2008 19:07:00 +0000</pubDate><atom:updated>2008-10-13T10:04:47.023-04:00</atom:updated><title>Andromeda: Give it a chance</title><description>I have been working with &lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt; for well over a year now and I can honestly say that I love this framework!  I have tried many other frameworks including the following:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;a href="http://www.mach-ii.com/"&gt;Mach II&lt;/a&gt; (ColdFusion)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.fusebox.org/"&gt;FuseBox&lt;/a&gt; (ColdFusion &amp;amp; PHP)&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.joomla.org/"&gt;Joolma&lt;/a&gt; (Not necessarily a framework)&lt;/li&gt;&lt;li&gt;MyCMS (PHP) &lt;span style="font-style: italic;"&gt;developed by jeff@madtasty.com&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;And I have &lt;span style="font-weight: bold; text-decoration: underline;"&gt;always&lt;/span&gt; found a reason that I could not use the framework in the fashion it was intended.  I guess this is because alot of framework take the MVC approach and try to separate the business logic from the display logic.  The MVC approach can cause a very large headache when you are picking up somebody elses' project and they are no longer around to answer questions.  It also can cause a little bit of a headache  because in my option it tries to be too organized.  So I have never really used a framework for any given project because once I have started on these projects I have found the need to modify the framework in such a way that now what I have made exists outside the framework.&lt;br /&gt;&lt;br /&gt;Now going back to the MVC approach, its definetly a good idea on paper however in the site/application is still just file based. So in the end instead of looking in say one object file you are looking in about 2,3,4 or even more places just to add a field to the page.&lt;br /&gt;&lt;br /&gt;In my opinion &lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt; takes an MVC type approach and separates the business logic from the code completely, and puts it in the database.  All your business rules go into the database and now the database does the validation, so you can never have invalid data.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt; uses YAML to define the database and the rules.  An example of this would be:&lt;br /&gt;&lt;div stlye="margin-left:auto;margin-right:auto;width:300px;background-color: #EEEEEE;border:1px solid #CCCCCC;"&gt;&lt;pre&gt;&lt;br /&gt;table contacts:&lt;br /&gt; module: addressbook&lt;br /&gt; column name:&lt;br /&gt;     primary_key:"Y"&lt;br /&gt;     description: Name&lt;br /&gt;     tooltip: Persons Name&lt;br /&gt;     uisearch: "Y"&lt;br /&gt; column add1:&lt;br /&gt;     primary_key: "Y"&lt;br /&gt; column add2:&lt;br /&gt; column city:&lt;br /&gt; column state:&lt;br /&gt; column zip9:&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;The above creates a table called contacts with 6 column: name, add1, add2, city, state, zip.&lt;br /&gt;Andromeda has predefined columns.  I have used only predefined columns in the table above, but sya you wanted to create another field to store the contacts favorite food, you could achieve this in the following way:&lt;br /&gt;&lt;div stlye="margin-left:auto;margin-right:auto;width:300px;background-color: #EEEEEE;border:1px solid #CCCCCC;"&gt;&lt;pre&gt;&lt;br /&gt;column favorite_food:&lt;br /&gt; type_id: vchar&lt;br /&gt; description: Favorite Food&lt;br /&gt;table contacts:&lt;br /&gt; module: addressbook&lt;br /&gt; column name:&lt;br /&gt;     primary_key:"Y"&lt;br /&gt;     description: Name&lt;br /&gt;     tooltip: Persons Name&lt;br /&gt;     uisearch: "Y"&lt;br /&gt; column add1:&lt;br /&gt;     primary_key: "Y"&lt;br /&gt; column add2:&lt;br /&gt; column city:&lt;br /&gt; column state:&lt;br /&gt; column zip9:&lt;br /&gt; column favorite_food:&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;You now have defined a column "favorite_food" that can be used in any other table in your application.  Now once we build our application this table will exist in our application and can be edited &lt;span style="font-weight: bold;"&gt;right away&lt;/span&gt; with 0 code.  One of the things I love the most about &lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt; is that it created the CRUD (CReate, Update, Delete) screens for you, with 0 code so any time you might have spent creating these screens is no longer needed and if you go back and look at my table definition you'll see there is a property called "module".  This allows us to assign permissions groups for each of these modules.  This is done in the following way:&lt;br /&gt;&lt;br /&gt;&lt;div stlye="margin-left:auto;margin-right:auto;width:300px;background-color: #EEEEEE;border:1px solid #CCCCCC;"&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;group editors:&lt;br /&gt;   description: Address Book Editors&lt;br /&gt;   module addressbook:&lt;br /&gt;       permsel: "Y"&lt;br /&gt;       permdel: "Y"&lt;br /&gt;       permins: "Y"&lt;br /&gt;       permupd: "Y"&lt;br /&gt;&lt;/pre&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This defines a group called "editors" and gives it SELECT(permsel), DELETE(permdel),INSERT(permins), and UPDATE(permupd) permissions to any table in the module address booke.  OK I am sure by now you are asking "but how does this put the business logic in the database?"  OK lets say we now want to be able to assign phone number to these contacts we can now add a couple more tables to allow for this.&lt;br /&gt;&lt;br /&gt;&lt;div stlye="margin-left:auto;margin-right:auto;width:300px;background-color: #EEEEEE;border:1px solid #CCCCCC;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;group editors:&lt;br /&gt;    description: Address Book Editors&lt;br /&gt;    module addressbook:&lt;br /&gt;        permsel: "Y"&lt;br /&gt;        permdel: "Y"&lt;br /&gt;        permins: "Y"&lt;br /&gt;        permupd: "Y"&lt;br /&gt;column favorite_food:&lt;br /&gt;    type_id: vchar&lt;br /&gt;    description: Favorite Food&lt;br /&gt;table contacts:&lt;br /&gt;   module: addressbook&lt;br /&gt;   column name:&lt;br /&gt;       primary_key:"Y"&lt;br /&gt;       description: Name&lt;br /&gt;       tooltip: Persons Name&lt;br /&gt;       uisearch: "Y"&lt;br /&gt;   column add1:&lt;br /&gt;       primary_key: "Y"&lt;br /&gt;   column add2:&lt;br /&gt;   column city:&lt;br /&gt;   column state:&lt;br /&gt;   column zip9:&lt;br /&gt;   column favorite_food:&lt;br /&gt;&lt;br /&gt;table phonetypes:&lt;br /&gt;    module: addressbook&lt;br /&gt;    column name:&lt;br /&gt;        primary_key: "Y"&lt;br /&gt;        uisearch: "Y"&lt;br /&gt;        description: Phone Type&lt;br /&gt;        tooltip: Phone type eg. Cell, Home, Work&lt;br /&gt;&lt;br /&gt;table contactnumbers:&lt;br /&gt;    description: Contacts Phone Numbers&lt;br /&gt;    foreign_key contacts:&lt;br /&gt;        uisearch: "Y"&lt;br /&gt;        primary_key: "Y"&lt;br /&gt;    foreign_key phonetypes:&lt;br /&gt;        primary_key: "Y"&lt;br /&gt;        uisearch: "Y"&lt;br /&gt;    column phone:&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;We've now added two tables(phonetypes &amp;amp; contactnumbers).  The phonetypes table is extremely simple and allows us to add phone types such as Cell, Work, Home, etc...&lt;br /&gt;&lt;br /&gt;The contactnumbers table has foreign_keys to the two previous tables contacts &amp;amp; phonetypes and that will tell the system that the primary_key fields from those tables need to be included in this table and to also make the primary_keys for this table.  Our CRUD screens we will also have a drop down list for the foreign_key entries and this is done again with 0 code. What these primary_keys do is restrict each contact to having one phone type for each contact. If you try to insert more than one phone number for each phone type for a given contact, whether it be through the CRUD screens or even the SQL command line you will get an error telling you that the record already exists.  So you don't have to make sure the record exists before you try inserting it, its done for you...yes of course you can still do this just so that your application wont have a DB error thrown back but the benefit of this is you can &lt;span style="font-weight: bold;"&gt;never&lt;/span&gt; get more than one phone type for a given contact into the system.&lt;br /&gt;&lt;br /&gt;Now say for instance you wanted to have the number of phone number for each contact included in the contact record, you can have this done in the database for free with what &lt;a href="http://www.andromeda-project.org"&gt;Andromeda&lt;/a&gt; calls AUTOMATIONS.  Here is how this is achieved:&lt;br /&gt;&lt;br /&gt;&lt;div stlye="margin-left:auto;margin-right:auto;width:300px;background-color: #EEEEEE;border:1px solid #CCCCCC;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;column num_phones:&lt;br /&gt;    type_id: int&lt;br /&gt;    description: Number of Phone Numbers&lt;br /&gt;table contacts:&lt;br /&gt;    module: addressbook&lt;br /&gt;    column name:&lt;br /&gt;        primary_key:"Y"&lt;br /&gt;        description: Name&lt;br /&gt;        tooltip: Persons Name&lt;br /&gt;        uisearch: "Y"&lt;br /&gt;        column add1:&lt;br /&gt;        primary_key: "Y"&lt;br /&gt;    column add2:&lt;br /&gt;    column city:&lt;br /&gt;    column state:&lt;br /&gt;    column zip9:&lt;br /&gt;    column favorite_food:&lt;br /&gt;    column num_phones:&lt;br /&gt;        automation_id: COUNT&lt;br /&gt;        auto_formula: contactnumbers.phone&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Once again we've added another column definition(num_phones) and now you'll notice the automation_id property of COUNT and the auto_formula of contactnumbers.phone  this tells &lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt; to do a count of records in the contactnumbers table that reference this table as a parent table(foreign_key).  This is only a tip of the iceberg when it comes to Andromeda.  There are many other useful automations and features such as ranged primary keys and dominant records.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This entire article is my opinion and probably not that well organized but I highly suggest taking a look at this "Database Development System/Framework".  My basic examples above do not even compare to what is possible with &lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt;.  It does sometimes take changing the way you approach certain things but in the end you will have &lt;span style="text-decoration: line-through;"&gt;drank the coolaid&lt;/span&gt; realized why you will never use another framework again.&lt;br /&gt;&lt;br /&gt;I would highly suggest &lt;a href="http://sourceforge.net/mail/?group_id=188856"&gt;joining the mailing list&lt;/a&gt; and sending an email if you think something cannot be approached in the way you like.  I have found more than once that the way that I like isn't the best way.&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;**Comments are welcomed and appreciated, even if you don't agree**&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-7605248843356945257?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/10/andromeda-give-it-chance.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-1625290674323432849</guid><pubDate>Mon, 30 Jun 2008 14:09:00 +0000</pubDate><atom:updated>2008-07-01T09:54:54.259-04:00</atom:updated><category domain='http://www.blogger.com/atom/ns#'>javascript</category><category domain='http://www.blogger.com/atom/ns#'>web 2.0</category><category domain='http://www.blogger.com/atom/ns#'>ext</category><category domain='http://www.blogger.com/atom/ns#'>documentation</category><category domain='http://www.blogger.com/atom/ns#'>ajax</category><title>ExtJS</title><description>I've been working with &lt;a href="http://www.extjs.com/"&gt;ExtJS&lt;/a&gt; lately, and I must say I am highly impressed.  For those of you not familiar with ExtJS (Ext), Ext is a crossbrowser javascript framework that allows for the creation of RIA (Rich Internet Applications).&lt;br /&gt;&lt;br /&gt;Ext uses the latest and greatest web 2.0 methods, such as ajax, which has built in parsers for JSON, XML, text and possibly some other formats.  Ext allows for the creation of desktop looking interfaces with just som simple notation(Ext is probably not the first project to do this)...this in my opinion is one of the greatest things Ext has to offer.  The simple notation way of creating these interfaces allows for rapid deployment of interfaces, and takes the GUI creation out of the hands of the developer, and allows the developer to focus on getting the data to the front end.&lt;br /&gt;&lt;br /&gt;Alot of chatter has been generated in the past couple of months on the decision to change the licensing model.  The most current version of Ext uses the GPL 3.0 model in my opinion it may have not been the greatest of choices for a license however it still allows you to create open source applications.  And if you want to build an application that you will be selling for $ you can purchase a license which will ultimately help support the project and only make it better.&lt;br /&gt;&lt;br /&gt;There is one negative aspect to Ext, the documentation....yes all the information you need is there and they even give some basic code in the documentation however in &lt;span style="font-style: italic;"&gt;my opinion&lt;/span&gt; the examples of interfaces/widgets are all given in the notation format of creating objects however the examples in the docs all give examples of referencing things or adding eventlisteners via old sytle javascript.  This i think determs alot of people, they do have a community support forums but that can also at times be discouraging, as it may take a couple of bumps to get a question answered.&lt;br /&gt;&lt;br /&gt;In my opinion the &lt;a href="http://extjs.com/deploy/dev/docs/"&gt;Ext documentation&lt;/a&gt; could take a lesson from the &lt;a href="http://docs.php.net/manual/en/"&gt;PHP documentation&lt;/a&gt; and add common examples in this notation style format, for the various things you may want to do with an object/widget/datastore.&lt;br /&gt;&lt;br /&gt;In the end Ext is a great product with a bright future and just needs to polish its documentation as well as it has its interface objects.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-1625290674323432849?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/06/extjs.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>11</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-1288422424780864901</guid><pubDate>Thu, 01 May 2008 01:56:00 +0000</pubDate><atom:updated>2008-05-02T14:11:37.032-04:00</atom:updated><title>jQuery</title><description>Well I've been using&lt;a href="http://www.jquery.com"&gt; jQuery&lt;/a&gt; from quite some time now, and I must say they have a &lt;u&gt;great&lt;/u&gt; product.  It is a extremely easy to use as well as makes things such as alternating row colors in a table so easy, with two lines of code you can have alternating row colors on a table.  The plugin support is great and pretty much anything you can think of you can find a plugin for.&lt;br /&gt;&lt;br /&gt;Andromeda is rocking along and from what I here from Ken there may be some news coming in the next couple of weeks or so.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-1288422424780864901?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/04/jquery.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-4973189552094832077</guid><pubDate>Fri, 22 Feb 2008 01:52:00 +0000</pubDate><atom:updated>2008-02-21T20:58:12.255-05:00</atom:updated><title>Andromeda SVN</title><description>Well now that Andromeda has had SVN support built in for about two weeks I must say it makes pushing updates from dev to staging &lt;span style="font-weight:bold;text-decoration:underline;"&gt;ALOT&lt;/span&gt; easier also has allowed for cooperative development of Andromeda even more possible.&lt;br /&gt;&lt;br /&gt;I would say keep your eye on the &lt;a href="http://www.andromeda-project.org"&gt;Andromeda site&lt;/a&gt; in the coming weeks for more exciting news.&lt;br /&gt;&lt;br /&gt;And for those of you who have yet to try it...just do it already!! It will change your world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-4973189552094832077?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/02/andromeda-svn.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-3008209115537690121</guid><pubDate>Mon, 11 Feb 2008 03:49:00 +0000</pubDate><atom:updated>2008-08-08T17:02:34.944-04:00</atom:updated><title>Busy Week</title><description>Well this past week has been extremely busy both @ work and after work with Andromeda.  Which is funny because both are connected.  The e-commerce project I have been working on for the past ~5 months now uses Andromeda, so a lot of the bugs, most in my custom code not so much Andromeda lately, that I find keep Ken a little busy.&lt;br /&gt;&lt;br /&gt;But besides that Ken has been busy this week getting SVN(subversion) working for upgrades of Andromeda, and also deploying Andromeda applications.  We will hopefully be announcing the AndroPage feature this week, it is currently available in the most recent releases of this week we just haven't announced it.  I am working on getting the LIPHP site wrapped up so we can get that out there.&lt;br /&gt;&lt;br /&gt;I have a couple of extra that I am going to work on this coming week for Andromeda which include report back features this way we can start to see how people are using Andromeda as well as where in the world people are using it.&lt;br /&gt;&lt;br /&gt;I can actually say that I finally have used a framework that I would use for anything.  And it does try to separate the code into all sort of sections and folders, my worst experience with something like that was fusebox(Coldfusion) or Mach-II also coldfusion.  Drupal and Joomla both have way too much stuff to sort through to find anything, and then when you have found it, you havent it's something that just has the title that you were looking for.&lt;br /&gt;&lt;br /&gt;Andromeda makes creating an application with logic easy, and even just a website is easy to throw together with Andromeda and is even easier since the introduction of AndroPages.  I am going to also start working out my idea of creating a google chart plugin for AndroPage which will bring reports to the next level.&lt;br /&gt;&lt;br /&gt;Well that also for now, happy programming everyone.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-3008209115537690121?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/02/busy-week.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-8729081644948645726</guid><pubDate>Wed, 30 Jan 2008 17:15:00 +0000</pubDate><atom:updated>2008-02-01T17:20:05.156-05:00</atom:updated><title>Upcoming Andromeda Feature</title><description>About three weeks ago I was working on a project for work, that is using &lt;a href="http://www.andromeda-project.org/"&gt;Andromeda&lt;/a&gt; and for some reason got to thinking about reports. And I thought to myself why couldn't we use &lt;a href="http://www.yaml.org/"&gt;YAML&lt;/a&gt; to define reports.  So I sent an email to &lt;a href="http://database-programmer.blogspot.com/"&gt;Ken Downs&lt;/a&gt; and suggested that we should get together and hash this idea out.  So we got together about two weekends ago, and I presented this idea to him, and then showed him &lt;a href="http://www.smarty.net/"&gt;Smarty&lt;/a&gt; and showed him a couple of things that could be done with it.&lt;br /&gt;&lt;br /&gt;Basically the whole "concept" comes down to the following&lt;br /&gt;&lt;ul&gt;&lt;li&gt;We already have our tables defined in the application YAML file&lt;/li&gt;&lt;li&gt;A report is just how to display the data&lt;/li&gt;&lt;li&gt;Smarty Gives us a way to have some logic (Looping, Alternating Row Color)&lt;/li&gt;&lt;li&gt;WE just need a filter for the data to display (WHERE CLAUSE)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;So over the course of the rest of the weekend Ken coded up the concept of an AndroPage, which literally passes off the data to a another class that handles either turning the data into a Report(PDF) or a page(Smarty). After he was done with that I put into place the code that loops through the sections, and assigned the row(s) to the appropriate Smarty Variables named after the section they are in.&lt;br /&gt;&lt;br /&gt;The definition of  page looks like this:&lt;br /&gt;&lt;blockquote&gt;&lt;pre&gt;options:&lt;br /&gt;  title: Reviews&lt;br /&gt;&lt;br /&gt;section review:&lt;br /&gt;    onerow: "Y"&lt;br /&gt;    table reviews:&lt;br /&gt;        column name_book:&lt;br /&gt;            compare: = @book&lt;br /&gt;        column review:&lt;br /&gt;        column ts_ins:&lt;br /&gt;        column ts_upd:&lt;br /&gt;        column uid_ins:&lt;br /&gt;        column uid_upd:&lt;br /&gt;&lt;br /&gt;uifilter book:&lt;br /&gt;    description: Book Title&lt;br /&gt;    type_id: vchar&lt;br /&gt;    colprec: 50&lt;br /&gt;&lt;br /&gt;template: p_review.tpl&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;options:&lt;/span&gt; Allows us to set things such as page title.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;section:&lt;/span&gt; Allows us to litterally pull as much data as we want and place it in different sections around the page, such as maybe client information in one area and then ads pertaining to this clients industry in another area.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;onerow:&lt;/span&gt; Specified that we only expect one row back for this page(This is done so that we do not need a foreach loop in the smarty template)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;table:&lt;/span&gt; Refer to tables that are specified in the application YAML file. Multiple tables can be specified and Andromeda will attempt to join the tables based on primary_keys&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;column:&lt;/span&gt; The columns to be used for display from the tables.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;uifilter:  &lt;/span&gt;Tells Andromeda that we need to filter on something, and if its not specified display a page so the user can enter it.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;template: &lt;/span&gt;Tells Andromeda that this is a Smarty Page and to use the specified template.&lt;br /&gt;&lt;br /&gt;Each section get assigned to a Smarty variable with the same name, then you just have to create the Smarty template.&lt;br /&gt;&lt;br /&gt;An example of a Smarty template is this:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;pre&gt;{* Smarty *}&lt;br /&gt;&amp;lt;table border="0" cellpadding="0" cellspacing="0"&amp;gt;&lt;br /&gt;&amp;lt;tbody&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;         &amp;lt;td&amp;gt;&amp;lt;h3&amp;gt;{$review.name_book}&amp;lt;/h3&amp;gt;&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;          &amp;lt;td&amp;gt;Review:&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;          &amp;lt;td&amp;gt;{$review.review}&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;  &amp;lt;tr&amp;gt;&lt;br /&gt;          &amp;lt;td&amp;gt;Reviewed by: {$review.uid_ins} on {$review.ts_ins}&amp;lt;/td&amp;gt;&lt;br /&gt;  &amp;lt;/tr&amp;gt;&lt;br /&gt;&amp;lt;/tbody&amp;gt;&lt;br /&gt;&amp;lt;/table&amp;gt;&lt;br /&gt;&lt;/pre&gt;&lt;/blockquote&gt;There as still a couple of minor bugs which should be fixed shortly and then there will be a release.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-8729081644948645726?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/01/upcoming-andromeda-feature.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>2</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-4347135222756731179</guid><pubDate>Fri, 25 Jan 2008 02:03:00 +0000</pubDate><atom:updated>2008-01-24T21:22:34.841-05:00</atom:updated><title>Blog Change</title><description>I have decided to go with Blogger instead of Drupal as there were too many options in Druapl and changing something took some digging.  So now I am using blogger.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-4347135222756731179?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2008/01/blog-change.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-637441652298646516</guid><pubDate>Tue, 23 Oct 2007 17:16:00 +0000</pubDate><atom:updated>2008-01-24T21:01:08.620-05:00</atom:updated><title>Engaged</title><description>Well after three years of dating, Melissa and I are engaged. We left for a cruise on October 11th so I figured before the cruise I would give her a Carribean Pirate Treasure hunt. I made a map with two X's on it, one was the location of the treasure chest with the ring in it and the other was the location of the scroll with the combination to the small luggage lock i used to lock the chest.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-637441652298646516?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2007/10/engaged.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item><item><guid isPermaLink='false'>tag:blogger.com,1999:blog-5542840264156477606.post-5981194166363289958</guid><pubDate>Mon, 06 Aug 2007 22:55:00 +0000</pubDate><atom:updated>2008-01-24T20:59:46.978-05:00</atom:updated><title>First Post</title><description>Well this is the first post on my new developer blog. I am looking to get more involved in open source projects, and maybe even some C based projects, as I do not really know C (haven't used it since school, and its use then was extremely basic), but would love to learn more. So if you have a C based project that you are working on and are looking for some help, I would be more than willing.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5542840264156477606-5981194166363289958?l=blog.donaldorgan.com' alt='' /&gt;&lt;/div&gt;</description><link>http://blog.donaldorgan.com/2007/08/first-post.html</link><author>noreply@blogger.com (Donald J Organ IV)</author><thr:total>0</thr:total></item></channel></rss>