<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-12997951</id><updated>2011-04-21T14:10:38.054-05:00</updated><title type='text'>&lt;?=PhpGirl ?&gt;</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>56</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-12997951.post-115829068149694472</id><published>2006-09-14T22:22:00.000-05:00</published><updated>2006-09-14T22:24:41.510-05:00</updated><title type='text'>So long, blogger</title><content type='html'>I've setup Wordpress on my own domain:&lt;br /&gt;&lt;br /&gt;rubygeek.com&lt;br /&gt;&lt;br /&gt;will feature not only ruby rablings but also PHP and Perl.&lt;br /&gt;&lt;br /&gt;I couldn't find a  language agnostic domain and I gone one of the coolest ruby names there is :)&lt;br /&gt;&lt;br /&gt;Most of my stuff is imported to the new blog, I deleted some of the stupid stuff.&lt;br /&gt;&lt;br /&gt;This will no longer be updated&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-115829068149694472?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/115829068149694472/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=115829068149694472' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115829068149694472'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115829068149694472'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/09/so-long-blogger.html' title='So long, blogger'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-115776401321074918</id><published>2006-09-08T19:52:00.000-05:00</published><updated>2006-09-08T20:06:53.223-05:00</updated><title type='text'>Employed - 2 weeks!</title><content type='html'>I accepted a job at www.info.com .... a pretty nifty search engine company in downtown chicago. Its quite interesting work!&lt;br /&gt;&lt;a href="http://codesnipers.com/?q=blog/7"&gt;&lt;br /&gt;I finally WROTE again.&lt;/a&gt;. for a contest over at CodeSnipers. &lt;a href="http://codesnipers.com/?q=node/484"&gt;Vote if you want&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://codesnipers.com/?q=node/484"&gt;&lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;I have some plans to write some more after my past three months of hermit mode. I guess, I was just soooooooo busy hitting the perl that I didn't keep up with much anything. I even missed the July Issue of Linux Journal, with sexy ruby man (not my words, a friend calls him that!) DHH .. Maybe I can find someone to loan me a copy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-115776401321074918?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/115776401321074918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=115776401321074918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115776401321074918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115776401321074918'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/09/employed-2-weeks.html' title='Employed - 2 weeks!'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-115629975616281125</id><published>2006-08-22T20:37:00.000-05:00</published><updated>2006-09-11T03:37:32.783-05:00</updated><title type='text'>Day 0: Unemployed</title><content type='html'>Well ...  I had to leave my Perl/Ruby job because of financial difficulties of the company on Monday. But I still learned a ton of stuff and worked with some great people. When I left I had a job offer and another possible one, so it wasn't too upsetting to leave.  SO - only one day of unemployment. I would have been very worried leaving and not having any options for employment.&lt;br /&gt;&lt;br /&gt;So it seems that my fate is PHP but its all good. I guess I'm just a language freak .. I like perl, ruby too! Next is Python or maybe... smalltalk..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-115629975616281125?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/115629975616281125/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=115629975616281125' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115629975616281125'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115629975616281125'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/08/day-0-unemployed.html' title='Day 0: Unemployed'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-115538243451692971</id><published>2006-08-12T06:18:00.000-05:00</published><updated>2006-09-11T03:33:49.606-05:00</updated><title type='text'>Dear PHP,</title><content type='html'>The past few months I've been doing perl for my day job, hacking around with ruby in my free time. I've been to YAPC::NA (perl conference) and sat in a two day intermediate perl training class. I've worked for about two months with mod_perl and mason.&lt;br /&gt;&lt;br /&gt;I miss you!&lt;br /&gt;&lt;br /&gt;After getting a migrane trying to do AJAX with mod_perl and mason, I said.. hey.. php is not so bad, at least I can do AJAX with it.&lt;br /&gt;&lt;br /&gt;Last week in perl, I tried passing any array in a form with this:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;form&amp;gt;&lt;br /&gt;&amp;lt;input name="data[first]" type="text"&amp;gt;&lt;br /&gt;&amp;lt;input name="data[last]" type="text"&amp;gt;&lt;br /&gt;&amp;lt;/form&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Then I was like -- wait, thats not array in perl...that would be considered a hash. So I changed the [ ] to { } ... it didn't work. So I ask my boss, I can do such and such a form in PHP and get my data in as an array, how do you do that in perl? ... He said, well I never saw such a thing. I ask a few other perl people and they thought I was crazy. So I ask some php people and they were like "uhh I never did such a thing?" .. so am I crazy? ... &lt;a href="http://anythingbutphp.blogspot.com/2006/08/im-still-alive.html"&gt;I wrote a parser in perl&lt;/a&gt; so I could still do this and it turned out to be pretty handy. I'm told there exists a way to do with CGI perl module but I couldn't figure it out.&lt;br /&gt;&lt;br /&gt;So I have become a bit disenchanted with perl as a web development language, at least for the front end. I still like it and will continue to do Perl. I love Devel::Cover for checking test coverage. I think CPAN is neat and will probably submit some modules soon. I've learned a ton doing perl and it has expanded my thinking. I've often said that learning other languages will do that -- say I'm stuck on how to do something in php, so I think.. how to do this in X language? and often I'll come up with an elegant solution.&lt;br /&gt;&lt;br /&gt;I will maintain this blog of my php stuff again and &lt;a href="http://anythingbytphp.blogspot.com"&gt;my other&lt;/a&gt; for Perl/Ruby stuff.&lt;br /&gt;&lt;br /&gt;I DID miss you PHP!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-115538243451692971?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/115538243451692971/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=115538243451692971' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115538243451692971'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/115538243451692971'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/08/dear-php.html' title='Dear PHP,'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114921360738319591</id><published>2006-06-01T20:50:00.000-05:00</published><updated>2006-06-20T19:06:09.836-05:00</updated><title type='text'>Farewell PHP</title><content type='html'>I keep a Ruby and Perl book next to my bed.&lt;br /&gt;&lt;br /&gt;This morning I woke up and they were in my arms. Apparently, I grabbed them up in my sleep and held them. I didn't read before bed last night, so I don't know why I did that. I did read a little of Intermedia Perl while on treadmill and a bit afterwards.&lt;br /&gt;&lt;br /&gt;Is it a sign? &lt;br /&gt;&lt;br /&gt;Well, apparently so.&lt;br /&gt;&lt;br /&gt;I got a call today for a perl job.&lt;br /&gt;&lt;br /&gt;Did I take it?&lt;br /&gt;&lt;br /&gt;Yes, Hell Yes.&lt;br /&gt;&lt;br /&gt;Over the past 8 monthss or so... making friends first with Liz, then &lt;a href="http://petdance.com"&gt;Andy Lester&lt;/a&gt;, then &lt;a href="http://perlcast.com"&gt;Josh McAdams&lt;/a&gt; and &lt;a href="http://www252.pair.com/comdog/"&gt;brian d foy&lt;/a&gt; I can't help it. I was saying I'd like a job in PHP5, Perl or Ruby. ... then after working with both Perl and Ruby, I said, only Perl or Ruby. And thats what I got. Perl. Perl is nifty and I love all the libraries and tools for it.&lt;br /&gt;&lt;br /&gt;Will I miss php?&lt;br /&gt;&lt;br /&gt;I don't honsestly know.&lt;br /&gt;&lt;br /&gt;But I don't really think so..&lt;br /&gt;&lt;br /&gt;So... so long PHP. You have been a good friend that has paid the bills the last 6 years. But its time to move on. Brief concise code awaits.. &lt;br /&gt;&lt;br /&gt;Farewell.&lt;br /&gt;&lt;br /&gt;Join my new blog at &lt;a href="http://anythingbutphp.blogspot.com"&gt;anythingbutphp.blogspot.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114921360738319591?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114921360738319591/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114921360738319591' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114921360738319591'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114921360738319591'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/06/farewell-php.html' title='Farewell PHP'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114842972662548982</id><published>2006-05-23T19:13:00.000-05:00</published><updated>2006-05-23T19:15:26.986-05:00</updated><title type='text'>Towel Day</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.towelday.kojv.net/towelday.gif"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px;" src="http://www.towelday.kojv.net/towelday.gif" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;What do I do?&lt;br /&gt;&lt;br /&gt;Carry your towel with you throughout the day to show your participation and mourning.&lt;br /&gt;&lt;br /&gt;When do I do it?&lt;br /&gt;&lt;br /&gt;May 25th.&lt;br /&gt;&lt;br /&gt;Where do I do it?&lt;br /&gt;&lt;br /&gt;Everywhere.&lt;br /&gt;&lt;br /&gt;Why a towel?&lt;br /&gt;&lt;br /&gt; A towel, it says, is about the most massively useful thing an interstellar hitch hiker can have. Partly it has great practical&lt;br /&gt;value - you can wrap it around you for warmth as you bound across the cold moons of Jaglan Beta; you can lie on it on the brilliant marble-sanded beaches of Santraginus V, inhaling the heady sea vapours; you can sleep under it beneath the stars which shine so redly on the desert world of Kakrafoon; use it to sail a mini raft down the slow heavy river Moth; wet it for use in hand-to-hand-combat; wrap it round your head to ward off noxious fumes or to avoid the gaze of the Ravenous Bugblatter Beast of Traal (a mindboggingly stupid animal, it assumes that if you can't see it, it can't see you - daft as a bush, but very ravenous); you can wave your towel in emergencies as a distress signal, and of course dry yourself off with it if it still seems to be clean enough.&lt;br /&gt;&lt;br /&gt;More importantly, a towel has immense psychological value. For some reason, if a strag (strag: non-hitch hiker) discovers that a hitch hiker has his towel with him, he will automatically assume that he is also in possession of a toothbrush, face flannel, soap, tin of biscuits, flask, compass, map, ball of string, gnat spray, wet weather gear, space suit etc., etc. Furthermore, the strag will then happily lend the hitch hiker any of these or a dozen other items that the hitch hiker might accidentally have "lost". What the strag will think is that any man who can hitch the length and breadth of the galaxy, rough it, slum it, struggle against terrible odds, win through, and still knows where his towel is is clearly a man to be reckoned with.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114842972662548982?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114842972662548982/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114842972662548982' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114842972662548982'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114842972662548982'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/05/towel-day.html' title='Towel Day'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114795281197430739</id><published>2006-05-18T06:23:00.000-05:00</published><updated>2006-05-18T15:49:48.830-05:00</updated><title type='text'>Chicago PHP User Group Report</title><content type='html'>Well last night a another good turn out at the &lt;a href="http://chiphpug.php.net"&gt;Chicago PHP User's Group meeting&lt;/a&gt; (We don't yet have a short, cute name like &lt;a href="http://chirb.org/"&gt;chirb&lt;/a&gt; or &lt;a href="http://www.chipy.org/"&gt;chipy&lt;/a&gt;, besides.. how would one pronouce "chiphp" ... ch-PUH-ph or just ch-PUH ?)  ... we had about 17 people show up.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Jason Rexilius&lt;/strong&gt; gave a &lt;a href="http://barcampchicago.com/index.php?wiki=WebTransactionModel"&gt;presentation&lt;/a&gt; on "Elements of a globally distributed HA cluster" .. Although I hope to never have the responsiblity of such a system, it was interesting to me as a developer to see some ideas on how such a system could work.&lt;br /&gt;&lt;br /&gt;I asked about this...&lt;br /&gt;&lt;br /&gt;Say a company has 9 smaller offices and 1 main office. You have a database web application. You want to make sure that if the main office goes down, the individual offices can still access this application. One theory is to have all databased reads come from the local copy of the database and all writes go to the main office database. Then perodically the main office database will update all the smaller office databases. &lt;br /&gt;&lt;br /&gt;Jason suggested that the local office could write to its own database and also write to the main database if connection is available. &lt;br /&gt;&lt;br /&gt;But for database keys... I'd have to have one master way to make sure each record created some where has a unique key. I guess one way is to have a master sequence table on the master server, and to save .. the office database would have to get the ID. If no connection was available...then.. I suppose it would have to go into a log until such a time the master database was available. Interesting discussion .... &lt;br /&gt;&lt;br /&gt;Anyways...after the presentation Larry attempted to fix my borked install of Kubutu, but I guess a reinstall is in order. Since I missed my 9:20 train by about 20 mins, Rich, the group leader drove me back to the loop and we got coffee/ice cream at Dunkin Donuts and talked for a bit till I could catch my train. &lt;br /&gt;&lt;br /&gt;Fun times ..&lt;br /&gt;&lt;br /&gt;Checkout &lt;a href="http://barcampchicago.com/"&gt;BarcampChicago&lt;/a&gt; that Jason is organizing!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114795281197430739?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114795281197430739/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114795281197430739' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114795281197430739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114795281197430739'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/05/chicago-php-user-group-report.html' title='Chicago PHP User Group Report'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114743610345262748</id><published>2006-05-12T07:12:00.000-05:00</published><updated>2006-05-12T07:15:03.453-05:00</updated><title type='text'>Always Preview!</title><content type='html'>Instead of using Preview Template when I was creating a new template, I went ahead and saved.. I pasted in the wrong template and major borkage occured. So.. what the heck, I just picked a new  design. Not done yet...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114743610345262748?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114743610345262748/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114743610345262748' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114743610345262748'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114743610345262748'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/05/always-preview.html' title='Always Preview!'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114735314198248641</id><published>2006-05-11T08:02:00.000-05:00</published><updated>2006-05-11T10:18:18.866-05:00</updated><title type='text'>I'm rolling</title><content type='html'>Rolling with Ruby on Rails ... got the green light on converting an existing PHP project to Ruby On Rails. I wrote a bit about it on &lt;a href="http://codesnipers.com/?q=node/297"&gt;CodeSnipers.com&lt;/a&gt; ... I'm not actually rolling yetl...waiting on getting the server configured. Hmm, guess I'll need to get a new blog soon if I have no more php to do? ... I think, will I miss PHP? .. course I'm also learning Perl and Python.&lt;br /&gt;&lt;br /&gt;Speaking of Python, I'm going to go crash the Python meeting tonight -- they are talking about testing Django with Selenium ... and I dig testing so it should be fun. I've found that of all the mailing lists for the groups in Chicago, the &lt;a href="http://www.chipy.org/"&gt;Python guys&lt;/a&gt; have the most fun.&lt;br /&gt;&lt;br /&gt;I've been reading &lt;a href="http://www.oreilly.com/catalog/intermediateperl/index.html"&gt;Intermediate Perl&lt;/a&gt; which brian d foy gave to me (he's a nice guy). It's really good, I can't seem to get into a book unless its an O'Reilly Book. So I've been doing a few little perl scripts.&lt;br /&gt;&lt;br /&gt;I need a new template for the blog.. this green thing kinda sucks...for me anyways.&lt;br /&gt;&lt;br /&gt;I seem to have borked my kubuntu install, in deperate attempts to get my cingular broadband cell card working in my laptop, i did some install/uninstall of some pcmcia things and now it won't boot properly. Grrrrrrrrrrrrrrr. I did finally get it to recognize the card though.. sigh.. I keep remembering the words my dad says "Never give up! Never Surrender!!"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114735314198248641?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114735314198248641/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114735314198248641' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114735314198248641'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114735314198248641'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/05/im-rolling.html' title='I&apos;m rolling'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114609760808846726</id><published>2006-04-26T19:24:00.000-05:00</published><updated>2006-04-26T19:27:24.000-05:00</updated><title type='text'>To Generate or To Template</title><content type='html'>that is the question ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;read some of my ramblings on the subject &lt;a href="http://codesnipers.com/?q=node/287"&gt;here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and vote &lt;a href="http://codesnipers.com/?q=node/286"&gt;here&lt;/a&gt;!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114609760808846726?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114609760808846726/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114609760808846726' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114609760808846726'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114609760808846726'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/04/to-generate-or-to-template.html' title='To Generate or To Template'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114550563710653595</id><published>2006-04-19T22:45:00.000-05:00</published><updated>2006-11-09T17:37:27.550-06:00</updated><title type='text'>Talkin' AJAX at CHI PUG</title><content type='html'>I think this is the biggest &lt;a href="http://chiphpug.php.net/"&gt;Chicago PHP Users Group meeting&lt;/a&gt; I've been a part of, I believe I counted 15 people in attendance. Attendees were left to entertain themselves with pizza, beer and conversation while Rich, few others and I dealt with the technical difficulties so common at these things. Which would of probably been minimal if I had remembered that on my Uber Cool Laptop, I have no archaic VGA port – but only a DVI port and my The full dongle was sitting at home! DOH. So, we tried to load my files to my thumb drive which when plugged into Rich's cute little laptop...didn't like to read. DOH. So I tar-gz my files and ftp to my server.. then attempt to download to Rich's laptop. His laptop wouldn't untar the files. DOH.    &lt;p style="margin-bottom: 0in;"&gt;So I put my font size real big on my laptop and set up on a stack of books and said lets go with a 17 inch widescreen display and offered my glasses to anyone sitting on the back. I have a sweet screen thats easily viewed from all angles.. so I guess it was not too bad. Better than nothing or using mime to present AJAX. Which I did in college. For all of 3 weeks.  &lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;Although I don't think anyone present was unfamiliar with AJAX, I showed &lt;a href="http://maps.google.com/"&gt;Google Maps&lt;/a&gt;, a &lt;a href="http://www.bytecode.com.au/sudoku/solver/view.html"&gt;Sudoku creator/solver&lt;/a&gt; and &lt;a href="http://www.turboajax.com/turbodbadmin.html"&gt;TurboDB&lt;/a&gt;. Someone mentioned Weboggle and explained how that worked and I went to the site so folks could see.  &lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;I started with the method I use when I learn something new. I start with the most simple example, then build on it. The first example was just loading a plain text file via AJAX and displaying in a div. From there, I did an example calling a PHP file that created a list of files.  Then I introduced Prototype, a Javascript AJAX library that makes the code so much cleaner and easier to use. Its include with Ruby on Rails, but you can download and use it totally seperate. The Ruby Kids can't have all the fun!  Some of them had not seen the uber cool $() function that Prototype gives Javascript. Its essentially this;&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;function $() {&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;    var elements = new Array();&lt;/p&gt;    for (var i = 0; i &lt; style="margin-bottom: 0in; font-family: courier new;"&gt;        var element = arguments[i];&lt;p&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;        if (typeof element == 'string')&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;            element = document.getElementById(element);&lt;/p&gt;  &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;           if (arguments.length == 1)&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;        return element;&lt;/p&gt;  &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;       elements.push(element);&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;   }&lt;/p&gt;  &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;  return elements;&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;}&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;(cut and pasted from prototype 1.5)&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;so instead of  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;document.getElementById('messageID').innerHTML = 'foo';&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;you can simply use&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;$('messageID').innerHTML = “foo”;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;It takes either a string of an id, or an array of ids and returns the object reference to them (or array of references). Now why didn't I think of that. Nifty.&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;Folks pointed out that the property “innerHTML” might not be 100% cross browser (Heck with that, if it doesn't work in Firefox, eat my shorts!) and that you should use appendChild. You have been advised.&lt;/p&gt;  &lt;p style="margin-bottom: 0in;"&gt;I illustrated the Ajax.Request object, that allowed you to set a function to call when the data is loaded, and a function to call if there is an error. The Ajax.Update object takes the name of the id to display the results in, and a function to call if there is an error. Most of the time, all I want to do is display some result in a div, so I use this one. Someone in the group said that Ajax.Request was all they used.   &lt;/p&gt;  &lt;p style="margin-bottom: 0in; font-weight: bold; font-style: italic;"&gt;NOTE: Remember to use keyword "new". So you won't be like me, in a near panic 3 hours before presenting trying to figure out why I'm so dumb that my simple AJAX thing doesn't work. Error message in Javascript console: “this.initialize has no properties” Line 20 in prototype.js. HUH?! I should of remembered to search Google with my error message first thing.&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Like this:&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;    var result   = new Ajax.Updater(&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;       'messageID',&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;                             url,&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;                            {  &lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;                                 method: 'post',&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;         parameters: "color="+text_color,&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;                                onFailure: reportError,&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;                            });&lt;/p&gt; &lt;p style="margin-bottom: 0in; font-family: courier new;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;NEW NEW NEW NEW ... maybe now I'll remember.  Or in 2 weeks google for my error and find this post.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Then I showed what would happen if there was an error. My error reporting consisted of dumping the ugly http error in an alert box. Not recommended for production.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Finally, I showed a simple example of sending a value with ajax to a php file which returned a result. Which Larry  was quick to point out was not checking the variable from the user.  &lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Well of course. I am smart enough not to XSS myself in front of a room full of geeks. :P&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0in;"&gt;Oh and thanks for the swag “Harper The Amazing” brought from his company &lt;a href="http://ExtraTasty.com"&gt;ExtraTasty.com&lt;/a&gt; .. shot glasses and tshirts ... awesome!  &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Sample Files from Presentation:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://devasap.com/blog/ajax.tgz"&gt;ajax.tgz &lt;/a&gt;&lt;br /&gt;&lt;a href="http://devasap.com/blog/ajax.zip"&gt;ajax.zip &lt;/a&gt; (for you windows peeps)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Links&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://prototype.conio.net/"&gt;Prototype&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sergiopereira.com/articles/prototype.js.html"&gt;Prototype Documentation&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;edit: fixed link to &lt;a href="http://ExtraTasty.com"&gt;ExtraTasty.com&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114550563710653595?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114550563710653595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114550563710653595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114550563710653595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114550563710653595'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/04/talkin-ajax-at-chi-pug.html' title='Talkin&apos; AJAX at CHI PUG'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114544543761976259</id><published>2006-04-19T06:15:00.000-05:00</published><updated>2006-04-19T06:17:17.633-05:00</updated><title type='text'>DC PHP Conference - Announcement and Call for Papers</title><content type='html'>&lt;p&gt;&lt;i&gt;&lt;b&gt;PHP in the Federal  Enterprise and the World: &lt;/b&gt; Secure Solutions for Federal Agencies, IT  Companies and Non-Profit Organizations&lt;/i&gt;&lt;/p&gt; &lt;p&gt;We are hosting the first DC Metropolitan area PHP Conference this October.  Not only that, but since we're in a unique location with opportunities and potential impact like nowhere else in the world, we're taking a slightly different look at PHP. Our mission is to demonstrate and teach how PHP is a solid, sensible, cost-effective, and low risk development language to use for government and non profits.&lt;/p&gt; &lt;p&gt;  Therefore, our Presentation Tracks fall into four areas: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;Integrating PHP with Federal Operations and the Enterprise&lt;/li&gt;&lt;li&gt;Security &amp; Accountability&lt;/li&gt;&lt;li&gt;The Art of PHP&lt;/li&gt;&lt;li&gt;The Business Case for PHP&lt;/li&gt;&lt;/ul&gt; The &lt;a href="http://www.dcphpconference.com/cfp.doc"&gt;Call for Papers&lt;/a&gt; ends on July 7th and gives suggested topics in each of these areas.  Your presentation will be up to 400 people including decision makers for some of the largest and most influential organizations in the world. &lt;p&gt;Additional Information available: &lt;/p&gt;&lt;ul&gt;&lt;li&gt;As of last week, the &lt;a href="http://www.dcphpconference.com/prospectus.pdf"&gt;Sponsor/Exhibitor Prospectus&lt;/a&gt; is available.  We are already in discussions with a handful of major players in the Open Source/Government areas, so if you're considering, don't wait too long.&lt;/li&gt;&lt;li&gt;Also as of last week, the &lt;a href="http://www.dcphpconference.com/cfp.doc"&gt;Call for Papers&lt;/a&gt; is open. As noted on the first page &lt;i&gt;"Overall, strong preference will be given to sessions where real projects, actually deployed in business settings, are used to illustrate the topics being discussed"&lt;/i&gt;.  Translation:  If you are successfully using PHP in a production environment in a government agency, you will be given special attention.&lt;/li&gt;&lt;li&gt;For those interested, we will have banner available which you are welcome to share, post, etc:  &lt;a href="http://www.dcphpconference.com/"&gt;&lt;img src="http://www.dcphpconference.com/banner.jpg" /&gt;&lt;/a&gt;  &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;If you have any questions or comments, don't hesitate to drop a note to (keith at CaseySoftware.com).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114544543761976259?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114544543761976259/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114544543761976259' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114544543761976259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114544543761976259'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/04/dc-php-conference-announcement-and.html' title='DC PHP Conference - Announcement and Call for Papers'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114511182708799665</id><published>2006-04-15T09:11:00.000-05:00</published><updated>2006-04-15T09:39:06.686-05:00</updated><title type='text'>Never a dull moment</title><content type='html'>First of all, thanks to some howtos at http://wiki.ubuntu.com I was able to get my video drivers setup. Now I'm basking in 1680x1050 glory. I can have windows side by side -- almost... i usually shrink the window a bit. Very nice. People have asked me about my laptop, I got it from PowerNotebooks, this &lt;a href="http://www.powernotebooks.com/specs/Sager/5720specs.php"&gt;model.&lt;/a&gt;  At the recent group meetings I've been at, people go "Wow .. thats some laptop!". In fact on the train ride to the perl meeting, &lt;a href="http://perlcast.com/"&gt;Josh McAdams&lt;/a&gt; whips out his cute little 12 inch mac, &lt;a href="http://www252.pair.com/comdog/"&gt;brian d foy&lt;/a&gt; his mid sized mac.. and here I am with my honking thing! I said look: daddy bear, momma bear and baby bear! hehe.. it was funny.&lt;br /&gt;&lt;br /&gt;Last friday night and saturday I was at the &lt;a href="http://citconf.com/"&gt;Cit-Con&lt;/a&gt; testing conference. It was great, they had a variety of topics and although some weren't reall&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;y in my line of work I found them interesting. I got to talk to &lt;a href="http://www.jrandolph.com/blog/"&gt;Jason Huggings&lt;/a&gt;, author of &lt;a href="http://www.openqa.org/selenium/"&gt;Selenium&lt;/a&gt; and &lt;a href="http://petdance.com"&gt;Andy Lester&lt;/a&gt;, owner of the perl package &lt;a href="http://search.cpan.org/%7Epetdance/WWW-Mechanize-1.18/lib/WWW/Mechanize.pm"&gt;WWW::Mechanize&lt;/a&gt;. They did a "Battle of the web testing packages" of some sort. Andy talked about Mech, and the advantages over Selenium...then Josh defended himself and talked about the pros of Selenium.&lt;br /&gt;&lt;br /&gt;While I was there, Pete helped me with my laptop. I couldn't install Perl modules and I wasn't sure why. He looked at it and said I needed cc or gcc. So along with more help from Andy (I'm sure they were tired of me by end of day) I was able to get it installed..and off I go. I've installed Mechanize and tried it out, pretty nifty.&lt;br /&gt;&lt;br /&gt;The following Tuesday, I went to the &lt;a href="http://www.uniforum.chi.il.us/"&gt;UniForm Chicago SIG Perl Meeting&lt;/a&gt; where  Josh McAdams gave an extremely interesting talk on &lt;a href="http://search.cpan.org/%7Ethaljef/Perl-Critic-0.15/lib/Perl/Critic.pm"&gt;Perl::Critic&lt;/a&gt;, which  will check your code for standards suggested in the Perl Best Practices book (very good read, even for PHP programmers). Very handy, I'm sure I will be using it alot. We had some fun and ran it on brian d foy and Andy Lesters code. heehehe.. they did ok :)&lt;br /&gt;&lt;br /&gt;Now that I've been able to install Perl modules, I've been playing around with Andy Lesters &lt;a href="http://search.cpan.org/%7Epetdance/hwd-0.20/bin/hwd"&gt;How We Doin'&lt;/a&gt; module. Kinda nice.. can't get GNU Plot thing to work, I'll keep trying :) &lt;span class="" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="down" style="display: block;" id="formatbar_CreateLink" title="Link" onmouseover="ButtonHoverOn(this);" onmouseout="ButtonHoverOff(this);" onmouseup="" onmousedown="CheckFormatting(event);FormatbarButton('richeditorframe', this, 8);ButtonMouseDown(this);"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114511182708799665?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114511182708799665/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114511182708799665' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114511182708799665'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114511182708799665'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/04/never-dull-moment.html' title='Never a dull moment'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114308913806719143</id><published>2006-03-22T22:33:00.000-06:00</published><updated>2006-03-22T22:45:38.086-06:00</updated><title type='text'>Baaack in the saddle again...</title><content type='html'>About dang time! ... geez, didn't know it would take so long to get all my crap installed and life in order again with a new computer. Loving the &lt;a href="http://powernotebooks.com/specs/images/5720/"&gt;new computer&lt;/a&gt;, its very fast. 2ghz centrino processor, 1 gig of ram .. wide screen. Built in bluetooth (phone and PDA are also blue)  and network card.&lt;br /&gt;&lt;br /&gt;I dual booted Windoze XP Pro and Ubuntu Dapper Drake. Have problems with getting X Windows to run, I &lt;a href="http://www.ubuntuforums.org/showthread.php?t=148583&amp;highlight=sager"&gt;posted at Ubuntu Forums &lt;/a&gt;-- got any ideas?  I tried installing linux drivers for my card ATI X700 ... I had to convert from rpm to deb... still doesn't work... very sad about that.&lt;br /&gt;&lt;br /&gt;Wrote an article about &lt;a href="http://codesnipers.com/?q=node/264"&gt;VIM&lt;/a&gt; over at CodeSnipers, still loving it.&lt;br /&gt;&lt;br /&gt;Working with &lt;a href="http://drupal.org"&gt;Drupal&lt;/a&gt; ... love that also. Took me awhile to get the hang of it, but its coming. It makes me happy. Anything to make my life easier. Its Nifty. I also found some &lt;a href="http://www.lullabot.com/podcast"&gt;Drupal Podcasts&lt;/a&gt; which are very cool.&lt;br /&gt;&lt;br /&gt;Also been having a little stress in the family side of life. My dad had prostate cancer sugery, all is well and they were able to remove all the cancer. Praise God.. then less than a week later, my youngest sister, 17, got into a car accident, rolled the car the long ways and landing on 4 wheels was able to get out unharmed except for some bruses. Poor thing was scared to death. Needless to say, the car is totalled. It used to be my car. I went to go see the old Loyal Blue 93 Saturn and paid my respects last night. If she hadn't of been wearing her seatbelt, she would of been killed. Hopefully thats all the action going on in my family for awhile...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114308913806719143?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114308913806719143/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114308913806719143' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114308913806719143'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114308913806719143'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/03/baaack-in-saddle-again.html' title='Baaack in the saddle again...'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114205500621273534</id><published>2006-03-10T23:17:00.000-06:00</published><updated>2006-04-20T08:08:07.520-05:00</updated><title type='text'>Not that anybody cares...</title><content type='html'>I'm getting a new laptop on tuesday.. selling my old one on Sunday and handing over possession of it at noon.&lt;br /&gt;&lt;br /&gt;That leaves me practically 3 days with no computer. Sunday afternoon/evening.. monday... tuesday.. since I won't actually have my computer till I get home tuesday, and thats assuming it ships on schedule.&lt;br /&gt;&lt;br /&gt;Boo hoo.&lt;br /&gt;&lt;br /&gt;SO I have these two old crap machines. I thought they had Windows NT on them. BUt noooooo.. boot them up "unable to find operating system" ... and I sure as heck don't want to install Win98 .. gosh... no.. I had enough of the every 6 month install back in the day.&lt;br /&gt;&lt;br /&gt;So I'm trying to make a copy of Ubuntu LIVE and Install. I wanted the Live to try it out.. and install for when I decided I liked it. Coudn't get the LIVE to copy properly to the CD for nothing and I verified the MD5 and it was ok! ... was about ready to give up in dispair.. so I tried the Install. It seemed to work. I put it in my crap machine, told it to boot from CD and now its working. So far...&lt;br /&gt;&lt;br /&gt;My husband is being an ASS and won't let me run a cable accross the hallway to the router. Like he only crosses it when he goes to the bathroom. He said I could use his USB network thing. Well the piece of crap is so fat it won't fit in the USB with the monitor plug and PS2 (yes its an old pc).&lt;br /&gt;&lt;br /&gt;Oh well.. guess you won't see me online or posting the next few days. I saw python flash by on the install. Guess I could tinker around with Python if nothing else.&lt;br /&gt;&lt;br /&gt;My last post with this laptop, so long old friend. I must type my name alot, the N on the keyboard is half worn off!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114205500621273534?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114205500621273534/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114205500621273534' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114205500621273534'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114205500621273534'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/03/not-that-anybody-cares.html' title='Not that anybody cares...'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114145733743754053</id><published>2006-03-04T01:21:00.000-06:00</published><updated>2006-06-22T08:21:14.000-05:00</updated><title type='text'>Ruby can do that . . .</title><content type='html'>Peter Harkins at &lt;a href="http://push.cx"&gt;Push.cx&lt;/a&gt; wrote a bit of code in python. I've noticed Python and Ruby being very similar, so I wanted to rewrite his example code in Ruby and see how it compares. His motivation was to basically find a way to compare two objects for equality (containing the same values for its members) since the == operator doesn't function as expected.&lt;br /&gt;&lt;br /&gt;Here's my code:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;values = ['2', '3', '4', '5', '6', '7', '8', '9', '10', 'J', 'Q', 'K', 'A']&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;suits = ['h', 'c', 'd', 's']&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;class Card&lt;/span&gt;&lt;br /&gt;  &lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    attr_reader :value, :suit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    protected :value, :suit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    def initialize(value, suit)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;          @value, @suit = value, suit&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    def to_str&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;         sprintf "&lt;/span&gt;&amp;lt;&lt;span style="font-family:courier new;"&gt;card: %s, %s&amp;gt;&lt;/span&gt;&lt;card: s=""&gt;&lt;span style="font-family:courier new;"&gt;", @value, @suit &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    def equal( other ) &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;  (@value == other.value) &amp;&amp;amp; (@suit == other.suit)&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;    end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This may not be the best implementation, I'm new to Ruby so there is probably a better way to do it! I created attribute readers and then set them as protected so only other instances of class "Card" can call it (don't need public access right now, so why open that door?). Constructor takes the two parameters and sets the class variables. The method to_str . . . It was my impression that if I defined a to_str method and did "puts card" it would automagically call the to_str object.. but no, it didn't work. Ok then what is the advantage over defining to_s?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When I run it&lt;br /&gt;&lt;br /&gt;card1 = Card.new("3", "s")&lt;br /&gt;puts card1.to_str&lt;br /&gt;# prints &lt;/card:&gt;&amp;lt;&lt;card: s=""&gt;card: 3,s&lt;/card:&gt;&amp;gt;&lt;br /&gt;&lt;card: s=""&gt;&lt;br /&gt;card2 = Card.new("3", "s")&lt;br /&gt;puts card2.to_str&lt;br /&gt;# prints &lt;/card:&gt;&amp;lt;&lt;card: s=""&gt;card: 3,s&lt;/card:&gt;&amp;gt;&lt;br /&gt;&lt;card: s=""&gt;puts "is card 1 the same as card 2?"&lt;br /&gt;puts card1 == card2&lt;br /&gt;&lt;br /&gt;# result would be:&lt;br /&gt;# is card 1 the same as card 2?&lt;br /&gt;# false&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;puts "now using equal method"&lt;br /&gt;puts card1.equal(card2)&lt;br /&gt;&lt;br /&gt;# result would be:&lt;br /&gt;# now using equal method&lt;br /&gt;# true&lt;br /&gt;&lt;br /&gt;BTW - printing the instance var itself renders something goofy like:&lt;br /&gt;#&amp;lt;card:0x2815b38&amp;gt;&lt;br /&gt;&lt;br /&gt;It's the object id, which is why you can't use the == operator, since each id is different&lt;br /&gt;&lt;/card:&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114145733743754053?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114145733743754053/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114145733743754053' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114145733743754053'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114145733743754053'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/03/ruby-can-do-that.html' title='Ruby can do that . . .'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114140933776483595</id><published>2006-03-03T12:04:00.000-06:00</published><updated>2006-03-03T12:08:57.783-06:00</updated><title type='text'>View Rendered Source -- for IE</title><content type='html'>IE was being a bad boy and I wasn't sure it was rendering my ajax correctly. I was wishing for a View Rendered Source like I have for FF. I searched, found but it didn't install right..and found 2 commercial ones. Ugh. I don't know if work would go for that. &lt;br /&gt;&lt;br /&gt;The I thought.. hmm I could make a link "view source" (for when I need to debug) and have it grab the text of html, format... and make it display? hmm.. I was working on that then left for lunch.&lt;br /&gt;&lt;br /&gt;Then I get to Panera bread for lunch and realize.. hmm wonder if I can make this a bookmarklet so I don't need to put tag in my page... then I thought.. hmm maybe there already exists one... so I search.. and found one! and it works... its not color coded like FF but it works:&lt;br /&gt;&lt;br /&gt;http://javascript.about.com/library/blsource.htm&lt;br /&gt;&lt;br /&gt;Yeah.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114140933776483595?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114140933776483595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114140933776483595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114140933776483595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114140933776483595'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/03/view-rendered-source-for-ie.html' title='View Rendered Source -- for IE'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114130975933699392</id><published>2006-03-02T08:20:00.000-06:00</published><updated>2006-03-02T08:29:19.356-06:00</updated><title type='text'>Javascript Debugger extension out.. for FF 1.5</title><content type='html'>Found out last night from the &lt;a href="http://dotproject.net"&gt;DotProject&lt;/a&gt; IRC room that the newest &lt;a href="http://getahead.ltd.uk/ajax/venkman/"&gt;Venkman, the Javascript debugger&lt;/a&gt; is out. I had to uninstall the old version manually then install this new one. Sweet. I was missing this... &lt;br /&gt;&lt;br /&gt;In case you don't haven't used it, its an excellent tool for stepping through your Javascript and watching variables. Even tests ajax type things too! Another of my favorite extentions is &lt;a href="https://addons.mozilla.org/extensions/moreinfo.php?application=firefox&amp;id=1843"&gt;FireBug&lt;/a&gt; which I use when I just want to see what XML requests are being called (ie. is this DERNED THING WORKING?!?!). &lt;br /&gt;&lt;br /&gt;If you are really hard up for entertainment ... check out &lt;a href="http://splasho.com/blog/2006/02/26/the-superbrowser/"&gt;this person&lt;/a&gt; who installed 100 firefox extentions..&lt;br /&gt;&lt;br /&gt;Am I missing out on any cool FF developer extentions??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114130975933699392?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114130975933699392/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114130975933699392' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114130975933699392'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114130975933699392'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/03/javascript-debugger-extension-out-for.html' title='Javascript Debugger extension out.. for FF 1.5'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114126414099912233</id><published>2006-03-01T19:25:00.000-06:00</published><updated>2006-03-01T20:01:01.816-06:00</updated><title type='text'>Feeling l33t today</title><content type='html'>I had lunch the other day with &lt;a href="http://push.cx/"&gt;Peter Harkins&lt;/a&gt;, a fellow PHP and Python programmer. I showed him my ruby app and I mad the comment that on my new host &lt;a href="http://www.railsplayground.com"&gt;Rails Playround&lt;/a&gt; the code in vi is syntax highlighted and it wasn't on my OLD host. I don't understand this terminal stuff. He said oh, just do ":syn on" and whoa, I was in color! Sweet. I don't know how all that works, but it did. I use putty for my ssh client. Then later in email, I don't remember how this came up, but I said I really get mad when I'm in vi and I (out of habbit) hit ctrl-s and my terminal seems to "lock up" and I have to shut down and go back in. It REALLY makes me mad when I do that!! He said this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;It's a relic from the "terminals are a printer or dumb hunk of glass" days. CTRL-s stops flow-control (so you can read stuff before it scrolls away), CTRL-q restarts it. If you never ever want this (most don't), do 'stty -ixon -xioff' to kill those keys (you can put this in your .bashrc). &lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Ahhhh... so I turned it off and then set about to figure out how to remap my ^S to :w  .. here's what I did&lt;br /&gt;&lt;br /&gt;map! ^S ^[:w^M&lt;br /&gt;&lt;br /&gt;in your .exrc file:&lt;br /&gt;&lt;br /&gt;here's how, type&lt;br /&gt;map!&lt;br /&gt;space&lt;br /&gt;ctrl-v&lt;br /&gt;ctrl-s&lt;br /&gt;space&lt;br /&gt;ctrl-v&lt;br /&gt;press esc&lt;br /&gt;:w&lt;br /&gt;ctrl-v&lt;br /&gt;ctrl-m&lt;br /&gt;&lt;br /&gt;you have to use map! so it will work when you are in insert mode.&lt;br /&gt;&lt;br /&gt;It works. &lt;br /&gt;&lt;br /&gt;I'm l33t today :)&lt;br /&gt;&lt;br /&gt;BTW, Peter started a new blog on a wickedly cool domain name &lt;a href="http://push.cx/"&gt;push.cx&lt;/a&gt; ... if the name is not familiar to you, read his first blog post!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114126414099912233?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114126414099912233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114126414099912233' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114126414099912233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114126414099912233'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/03/feeling-l33t-today.html' title='Feeling l33t today'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114099336936816844</id><published>2006-02-26T16:14:00.000-06:00</published><updated>2006-02-26T16:36:09.386-06:00</updated><title type='text'>Noobs helping Noobs</title><content type='html'>I have recently got on IRC. I've been on the #rubyonrails for a few days. I, a rails noob, has even managed to help a few other noobs. One problem I helped with, seems to have something to do with strange characters in your file, you get some strange error about \\034 character (or something really weird) -- I found it by pasting my code into windows notepad and finding some strange unprintable character. I had copy/pasted I think some content from word (smacks head). &lt;br /&gt;&lt;br /&gt;I'm starting to learn enough RoR to no longer feel like a poser at the next ruby meeting...which by the way, Jim Weirich, creator of Rake is going to speak... and... I also found a podcast yesterday with him.... AND one about Selenium (whoo hoo!): &lt;br /&gt;&lt;br /&gt;&lt;a href="http://paranode.com/~topfunky/audio/2006/Jim-Weirich.mp3"&gt;Jim Weircih, Ruby on Rails Podcast (mp3)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.qapodcast.com/news/2005/11/02/qa-podcast-7-talking-selenium-with-luke-closs"&gt;QA Podcast - Selenium&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I also got the pleasure of meeting (over IM) &lt;a href="http://langworth.com/"&gt;Ian Langworth&lt;/a&gt;, author of Perl Testing - A Developers Notebook. &lt;a href="http://petdance.com"&gt;Andy Lester&lt;/a&gt; hooked us up in group IM chat. Very cool. :)  &lt;br /&gt;&lt;br /&gt;Pretty cool...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114099336936816844?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114099336936816844/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114099336936816844' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114099336936816844'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114099336936816844'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/noobs-helping-noobs.html' title='Noobs helping Noobs'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114041087390636897</id><published>2006-02-19T22:45:00.000-06:00</published><updated>2006-02-19T22:47:53.920-06:00</updated><title type='text'>Don't QUOTE rails...</title><content type='html'>Apparently, "quote" is a reserved word. I had a database field with that name. I was getting a strange error ... &lt;br /&gt;&lt;br /&gt;wrong number of arguments(2 for 0)&lt;br /&gt;&lt;br /&gt;HUH? RoR is keeping score on me? who's winning??&lt;br /&gt;&lt;br /&gt;Upon searching google, I found this post..&lt;br /&gt;http://www.beyondthetype.com/rails/2005/11/27/rails-gotcha-wrong-number-of-arguments2-for-0&lt;br /&gt;&lt;br /&gt;hmm.. so I checked the lis of reserved words... &lt;br /&gt;&lt;br /&gt;Rails Doc on this: http://dev.rubyonrails.org/ticket/3628&lt;br /&gt;&lt;br /&gt;SO let that be a lesson kids..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114041087390636897?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114041087390636897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114041087390636897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114041087390636897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114041087390636897'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/dont-quote-rails.html' title='Don&apos;t QUOTE rails...'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114018733433432006</id><published>2006-02-17T08:26:00.000-06:00</published><updated>2006-02-17T09:03:00.776-06:00</updated><title type='text'>Rails Security or Why Can't all Code be Perfect?</title><content type='html'>I was a bit alarmed (thats what happens before Cup of Coffee #2 to read this post:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://desperatepundit.com/blog/cremes/technology/2006/02/15/WebObjects-versus-Ruby-On-Rails.html"&gt;WebObjects VS. Ruby&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I hadn't thought of some of those things before. I have wondered though, what things would a paranoid security person have to say about Rails. So I posted to a RoR mailing list to see what they thought (forgive the ill named initial post, another side affect of doing something before Cup of Coffee #2)&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ruby-forum.com/topic/54867#new"&gt;http://www.ruby-forum.com/topic/54867#new&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I've come to the conclusion that RoR would be no more insecure than using PHP and blindly using the _GET and _POST variables without validating them first.  &lt;br /&gt;&lt;br /&gt;I do not know anything about Ruby's taint mode and why its not turned on in Rails (not that I'm blaming Rails authors for anything) and the Rails developers may have made the decision to leave it up to the programmers.&lt;br /&gt;&lt;br /&gt;[ RANT ]&lt;br /&gt;Programmers need to take responsibility and not blame frameworks for insecure code, especially if the programmer can go look at the code for themselves. I've heard people bellyache about PEAR classes not checking input. Well, thats the programmers job and PEAR doesn't claim to do stuff like that either! What moron would pass code to code she or he didn't write without first checking the variables? Unfortunately, probably alot. But I'm not one of them and I'm not goint to sit around a gripe about it either. &lt;br /&gt;[ /RANT ]&lt;br /&gt;&lt;br /&gt;&lt;b&gt;UPDATE!&lt;/b&gt; &lt;br /&gt;Found some docs:&lt;br /&gt;&lt;a href="http://manuals.rubyonrails.com/read/book/8"&gt;Securing your Rails application&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114018733433432006?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114018733433432006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114018733433432006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114018733433432006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114018733433432006'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/rails-security-or-why-cant-all-code-be.html' title='Rails Security or Why Can&apos;t all Code be Perfect?'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-114018639995471049</id><published>2006-02-17T08:24:00.000-06:00</published><updated>2006-02-17T08:26:39.966-06:00</updated><title type='text'>Choo Choo at last</title><content type='html'>Finally got RoR working on my laptop, I don't know how it worked before then stopped, but if I put use a user with no password it works fine. Something with the drivers I think for MySQL. But no matter, it works. I got subversion to work on my new webhost &lt;a href="http://railsplayground.com"&gt;RailsPlayground.com&lt;/a&gt; and everythins is awesome! I can work on my laptop.. get home.. check in... check out on site. Awesome. I'm very happy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-114018639995471049?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/114018639995471049/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=114018639995471049' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114018639995471049'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/114018639995471049'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/choo-choo-at-last.html' title='Choo Choo at last'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113992683404553586</id><published>2006-02-14T08:10:00.000-06:00</published><updated>2007-02-14T11:37:27.053-06:00</updated><title type='text'>Rails and Instant De-Rails</title><content type='html'>Thanks for the input on the Rails hosting and my Ruby question. I also got a response from the Chicago group which you can see in the &lt;a href="http://rubyforge.org/pipermail/chicagogroup-members-list/2006-February/000247.html"&gt;archives here if you are interested.&lt;/a&gt;. I decided to go with different controllers since I will probably add more funtionality to the products section later.&lt;br /&gt;&lt;br /&gt;I got an account at &lt;a href="http://railsplayground.com"&gt;RailsPlayground.com&lt;/a&gt;. Joe was very nice in getting me setup and answering a few questions. I can't host my husbands "TeamSpeak" linux app on there since its just for web hosting.. but thats ok for now.&lt;br /&gt;&lt;br /&gt;I installed InstantRails for my windows machine to work on..since I have 3 hour commute  a day where I can work on my laptop. I got it working fine, the I was getting this error when I did scaffolding:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;D:\server\InstantRails\rails_apps\iap&gt;ruby&lt;br /&gt;           script/generate scaffold photo&lt;br /&gt;  exists  app/controllers/&lt;br /&gt;  exists  app/helpers/&lt;br /&gt;  exists  app/views/photos&lt;br /&gt;  exists  test/functional/&lt;br /&gt;dependency  model&lt;br /&gt;  exists    app/models/&lt;br /&gt;  exists    test/unit/&lt;br /&gt;  exists    test/fixtures/&lt;br /&gt;identical    app/models/photo.rb&lt;br /&gt;identical    test/unit/photo_test.rb&lt;br /&gt;identical    test/fixtures/photos.yml&lt;br /&gt;   error  Before updating scaffolding from new DB schema, try creating a tab&lt;br /&gt;le for your model (Photo)&lt;br /&gt;&lt;/pre&gt;Grrrrrrrrrr...... so I updated to the latest Instant Rails. Same thing. I googled, only thing I could find is it can't connect to the DB (is it so hard to check that first and just say cannot connect?) so I double checked the password, use OLD_PASSWORD to set the password, tried NO password. Same thing.&lt;br /&gt;&lt;br /&gt;I went to script/console and tried to create a new Photo and it say something about show fields * from photos error. Ok, well thats what I had before I even used InstantRails.&lt;br /&gt;&lt;br /&gt;On the bright side today... the mangement company for the building I work gave all the female employees a rose  for Valentines Day. Its nice.&lt;br /&gt;&lt;br /&gt;Anybody have any ideas?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Edit: Updated the link for RailsPlayground.com ... sorry! I don't know why I put RailsHosting! doh!&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113992683404553586?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113992683404553586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113992683404553586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113992683404553586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113992683404553586'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/rails-and-instant-de-rails.html' title='Rails and Instant De-Rails'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113963536931140576</id><published>2006-02-10T23:21:00.000-06:00</published><updated>2006-02-11T00:21:27.846-06:00</updated><title type='text'>Rails Question</title><content type='html'>I posted this to the Chicago Ruby Users Group, but no response yet. Maybe one of the two readers of thie blog have some advice:&lt;br /&gt;&lt;br /&gt;------&lt;br /&gt;I'm working on a small project (5 major pages, 1 with 4 linked off, 1 with 3&lt;br /&gt;linked off) and I was going to just do it all in flat html files with&lt;br /&gt;dreamweaver templates (yeah, I was being kinda lazy). I got the sigle page&lt;br /&gt;sections done and find out, it would really be nice to do this page in with&lt;br /&gt;a database (list of new products). So I thought, hey maybe this is a good&lt;br /&gt;use for rails (don't laugh! I'm desperate for an excuse).&lt;br /&gt;&lt;br /&gt;About 1 hour I had my dreamweaver pages put into a rails project with the&lt;br /&gt;layout.rhtml and the contents broken out into template files. I was nearly&lt;br /&gt;giggling with joy. &lt;br /&gt;&lt;br /&gt;I made a Page controller with these actions: index, about, contact, products&lt;br /&gt;and information. &lt;br /&gt;&lt;br /&gt;products and information needs a sidebar menu, so in those methods I&lt;br /&gt;specified the name of the template to render :partial=&gt;@submenu   &lt;br /&gt;&lt;br /&gt;I used that method for the information section which contained 3 pages.&lt;br /&gt;&lt;br /&gt;Then I come to the product section, which has 4 sections and I did the same&lt;br /&gt;thing. It worked. &lt;br /&gt;&lt;br /&gt;(so far no database interation)&lt;br /&gt;&lt;br /&gt;Then I thought, maybe the better design was to create a Product controller.&lt;br /&gt;So I did. I set the submenu template name in the initialize method, and told&lt;br /&gt;it to use layout "Page" I tweaked the link in the layout/page.rhtml to call&lt;br /&gt;the Product controller. It worked. &lt;br /&gt;&lt;br /&gt;Which is the better way or are both ways stupid and you have a better one?&lt;br /&gt;:)&lt;br /&gt;&lt;br /&gt;------&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113963536931140576?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113963536931140576/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113963536931140576' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113963536931140576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113963536931140576'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/rails-question.html' title='Rails Question'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113960065950147898</id><published>2006-02-10T13:39:00.000-06:00</published><updated>2006-02-13T07:10:02.563-06:00</updated><title type='text'>New Webhost</title><content type='html'>I'm looking for a new web host &lt;a href="http://hivelocity.net"&gt;HiVelocity&lt;/a&gt; won't fix the &lt;br /&gt;problem with me emailing AOL. I want to have access as root(or a tech support that will&lt;br /&gt;assist me when I want to make changes), at least 20 some domains (none very high traffic).&lt;br /&gt;I need PHP, MySQL, Ruby, Rails, Python and Perl. &lt;br /&gt;&lt;br /&gt;I want to spend around 40-70 a month.&lt;br /&gt;&lt;br /&gt;I've been recommened to &lt;a href='http://dreamhost.com/'&gt;Dreamhost&lt;/a&gt; and I've been&lt;br /&gt;looking at &lt;a href='http://railsplayground.com'&gt;RailsPlayGround&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Any suggestions?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113960065950147898?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113960065950147898/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113960065950147898' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113960065950147898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113960065950147898'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/new-webhost.html' title='New Webhost'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113940937707924464</id><published>2006-02-08T08:34:00.000-06:00</published><updated>2006-02-08T08:36:17.090-06:00</updated><title type='text'>I love it</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.dilbert.com/comics/dilbert/archive/images/dilbert20012211960208.gif"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px;" src="http://www.dilbert.com/comics/dilbert/archive/images/dilbert20012211960208.gif" alt="" border="0" /&gt;&lt;/a&gt;I love it.&lt;br /&gt;&lt;br /&gt;Thats all I can say.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113940937707924464?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113940937707924464/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113940937707924464' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113940937707924464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113940937707924464'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/i-love-it.html' title='I love it'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113901577884615806</id><published>2006-02-03T19:15:00.000-06:00</published><updated>2006-02-09T03:19:55.923-06:00</updated><title type='text'>MakinDo 0.1</title><content type='html'>I had a brilliant idea today. I tried to get a client to consider RoR and got the expected response. Hey, I'll make a Framework called "Makin' Do" here's a list of features I've come up with so far:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;PHP 4.0&lt;br /&gt;&lt;/li&gt;&lt;li&gt;MySQL 3.17&lt;br /&gt;&lt;/li&gt;&lt;li&gt;No Pear&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Does not include any ridiculous testing apparatus  (who needs it anyways?)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;No template system needed&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Database migration tools? that’s a self-service feature, best way is to just keep it in your brain, then you don’t need to worry about backing it up.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Mixes PHP and HTML saves on the number of files you need. Less files you have the better.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Uses extremely long file names, that way you can tell what's in the file without even opening it example ("/department/officemanagement/administration/catalog/springCatalogUpdatePage.class.php")&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Design patterns make it hard for mere mortals to understand, therefore you will not find any in this framework.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Uses PHP Globals. Less typing then instead of hammering out $_POST, $_REQUEST, and $_GET&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;So how bout it??  did I miss anything??&lt;br /&gt;&lt;br /&gt;And I think I will even make it a commercial product, since this is just the sort of things corporations dig!&lt;br /&gt;&lt;br /&gt;There. I feel better &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113901577884615806?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113901577884615806/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113901577884615806' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113901577884615806'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113901577884615806'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/02/makindo-01.html' title='MakinDo 0.1'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113829880439584813</id><published>2006-01-26T12:05:00.000-06:00</published><updated>2006-01-26T12:07:27.860-06:00</updated><title type='text'>Chicago Ruby Meeting - Marcel Molina and Testing</title><content type='html'>I'm really excited about this Ruby meeting ...&lt;br /&gt;--&lt;br /&gt;Great news! Spread the word!&lt;br /&gt;&lt;br /&gt;Our February meeting will be quite a treat. Marcel Molina, one of the esteemed Rails committers and member of the 37signals crew, will be speaking about Ruby's test/unit library and its use in testing Rails applications.&lt;br /&gt;&lt;br /&gt;Marcel has some excellent insights and recently taught a course at the Big Nerd Ranch, so come with your learning hat on.&lt;br /&gt;&lt;br /&gt;ThoughtWorks is graciously providing pizza and pop, so please RSVP so they can get a good headcount:&lt;br /&gt;&lt;br /&gt;http://ruby.meetup.com/55/events/4824278/&lt;br /&gt;&lt;br /&gt;We'll be working through a coding exercise or two, so bring your laptop if you can.&lt;br /&gt;&lt;br /&gt;February 6, 6:30 pm&lt;br /&gt;ThoughtWorks, Desplaines and Washington in Chicago&lt;br /&gt;&lt;a href="http://maps.google.com/maps?hl=en&amp;q=N+Desplaines+St+%26+W+Washington+Blvd,+Chicago,+IL+60661&amp;amp;btnG=Search&amp;ll=41.883429,-87.644162&amp;amp;spn=0.014538,0.036736"&gt;Map&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Directions:&lt;br /&gt;Take the Washington exit off of 94/90. We are at the corner of Desplaines and Washington.&lt;br /&gt;&lt;br /&gt;The building entrance on Desplaines will be open until 7. The elevators will be on until 7 as well so that people can get to the 6th floor. After that, please feel free to call Joe at 614/906-1394 and he'll have someone get you.&lt;br /&gt;&lt;br /&gt;If you have any questions or concerns, feel free to shout out to the list. We're on it and certainly you aren't the only one with the question.&lt;br /&gt;&lt;br /&gt;Hope to see you there! Bring a friend!&lt;br /&gt;&lt;br /&gt;Everyone, please post this announcement anywhere where people might like to hear about this event.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113829880439584813?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113829880439584813/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113829880439584813' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113829880439584813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113829880439584813'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/chicago-ruby-meeting-marcel-molina-and.html' title='Chicago Ruby Meeting - Marcel Molina and Testing'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113828637501486859</id><published>2006-01-26T08:24:00.000-06:00</published><updated>2006-01-26T13:59:37.883-06:00</updated><title type='text'>Response to Test Freak.</title><content type='html'>&lt;span style="font-weight: bold; font-style: italic;"&gt;Update: Chris Shiflett &lt;/span&gt;&lt;a style="font-weight: bold; font-style: italic;" href="http://shiflett.org/archive/187"&gt;posted an informative reponse&lt;/a&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt; on Test-More for PHP and testing in general&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I started responding to the comment to my last post, then realized it was going to be long. So I put it in a post.&lt;br /&gt;&lt;br /&gt;Thanks Damien Gilles, I have looked at that. Problem is, I have some resistance at work to using outside code. So I would need to work up a case for it beforehand and analyize it.&lt;br /&gt;&lt;br /&gt;For really simple tests, this sort of testing (my friend Keith calls it Sanity testing) works fine. I don't really see the need to use a Unit Test framework. I have used PHPUnit before and it works fine, but ends up being just more typing (I think, but I'll try it and compare my results).&lt;br /&gt;&lt;br /&gt;Here's an example of how I used it..&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;include_once("config.php");&lt;br /&gt;include_once("User_Model.class.php");&lt;br /&gt;&lt;br /&gt;$t = new Test_Simple(array("tests" =&gt; 20, "eol"=&gt;"\ n"));&lt;br /&gt;&lt;br /&gt;connect_db();&lt;br /&gt;test_setup();&lt;br /&gt;&lt;br /&gt;// Test object get/set methods&lt;br /&gt;$user = new User_Model();&lt;br /&gt;$user-&gt;setUserName("jdoe");&lt;br /&gt;$user-&gt;setRealName("John Doe Test");&lt;br /&gt;$user-&gt;setEmail("john@doe.com");&lt;br /&gt;$user-&gt;setPermission("1");&lt;br /&gt;&lt;br /&gt;// test true values&lt;br /&gt;$t-&gt;ok( $user-&gt;getRealName()   == "John Doe Test", "get RealName" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getUserName()   == "jdoe", "get UserName" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getEmail()      == "john@doe.com", "get Email" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getPermission() == 1, "get Permission");&lt;br /&gt;&lt;br /&gt;// test false values&lt;br /&gt;$t-&gt;ok( $user-&gt;getRealName()   != "Susie Doe", "Not Realname Suzie Doe" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getUserName()   != "sdoe", "Not Username sdoe" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getEmail()      != "suz@doe.com", "Not email suz@doe.com" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getPermission() != 0, "Not Permission 0" );&lt;br /&gt;&lt;br /&gt;// Save user&lt;br /&gt;$saveResult = $user-&gt;save();&lt;br /&gt;$t-&gt;ok( $saveResult == true, "Save was successful");&lt;br /&gt;&lt;br /&gt;// Get ID of last user&lt;br /&gt;$id = $user-&gt;id;&lt;br /&gt;&lt;br /&gt;// clear object&lt;br /&gt;$user = null;&lt;br /&gt;&lt;br /&gt;// load user again and test again&lt;br /&gt;$user = new User_Model($id);&lt;br /&gt;&lt;br /&gt;// test true values&lt;br /&gt;$t-&gt;ok( $user-&gt;getRealName()   == "John Doe Test", "get RealName after load" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getUserName()   == "jdoe", "get UserName after load" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getEmail()      == "john@doe.com", "get Email after load" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getPermission() == 1, "get Permission after load");&lt;br /&gt;&lt;br /&gt;// change username&lt;br /&gt;$user-&gt;setRealName("Mary Jane Test");&lt;br /&gt;$user-&gt;setUserName("mjane");&lt;br /&gt;$user-&gt;setEmail("mary@jane.com");&lt;br /&gt;$user-&gt;setPermission("2");&lt;br /&gt;$updateResult = $user-&gt;save();&lt;br /&gt;&lt;br /&gt;// test true values&lt;br /&gt;$t-&gt;ok( $updateResult == true, "Update was successful");&lt;br /&gt;$t-&gt;ok( $user-&gt;id == $id, "ID stayed the same");&lt;br /&gt;$t-&gt;ok( $user-&gt;getRealName()   == "Mary Jane Test", "get RealName after update" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getUserName()   == "mjane", "get UserName after update" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getEmail()      == "mary@jane.com", "get Email after update" );&lt;br /&gt;$t-&gt;ok( $user-&gt;getPermission() == 2, "get Permission after update");&lt;br /&gt;&lt;br /&gt;$deleteResult = $user-&gt;delete();&lt;br /&gt;$t-&gt;ok( $deleteResult == true, "Delete was successful");&lt;br /&gt;&lt;br /&gt;test_teardown();&lt;br /&gt;$t-&gt;report();&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;// Clean up our mess before and after&lt;br /&gt;function test_setup() {&lt;br /&gt;  connect_db();&lt;br /&gt;  $result = mysql_query("DELETE FROM users WHERE real_name like '%test%'");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function test_teardown() {&lt;br /&gt;  connect_db();&lt;br /&gt;  $result = mysql_query("DELETE FROM users WHERE real_name like '%test%'");&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;I did do a test_setup and test_teardown, similar to what you would have in a unit test. I only need to do this at the start of my "suite" and the end.&lt;br /&gt;&lt;br /&gt;Of course, the main reason there's a test more (copied from Perl)  for php is so you can use Perl to run the test suites.  See this presentation by &lt;a href="http://www.modperlcookbook.org/%7Egeoff/"&gt;Geoffrey Young&lt;/a&gt; and &lt;a href="http://shiflett.org/" target="_blank"&gt;Chris Shiflett&lt;/a&gt; on &lt;a href="http://www.modperlcookbook.org/%7Egeoff/slides/ApacheCon/2005/power-php-testing-printable.pdf.gz"&gt;Power PHP Testing(tgz file)&lt;/a&gt; which, if you have a site with mixed PHP and Perl, would be a excellent way to test all your code with the same method.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113828637501486859?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113828637501486859/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113828637501486859' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113828637501486859'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113828637501486859'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/response-to-test-freak.html' title='Response to Test Freak.'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113825288961021248</id><published>2006-01-25T23:08:00.000-06:00</published><updated>2006-08-17T13:07:55.693-05:00</updated><title type='text'>Test Freak!</title><content type='html'>My two loyal readers know I like testing. Some say I'm sick.&lt;br /&gt;&lt;br /&gt;I'm writing a PHP class for a user, and then think.. oh gee, how do I know if this works?? oh I'll write a Test::Simple for PHP. Yes, I know there exists one already that uses the power of Perl to test PHP files, but I didn't have time to figure out how to set that up and probably won't be able to use perl anyways on the production system. I can't stand to have global variables, so I made a class. Uber simple. There's probably better ways to do it (I can imagine something much more elegant in PHP 5). But, what do you expect on a whim and 40 minutes...&lt;br /&gt;&lt;br /&gt;Code:&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;// Nola's Wanna Be PHP Test Framework&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;class Test_Simple {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    var $tests_to_run;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    var $success_count;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    var $failure_count;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    var $test_count;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    function Test_Simple($params) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        if (isset($_SERVER['HTTP_HOST'])) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            // we're on a server use a&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            $params['eol'] = "\ n "; //take out spaces, had to have them for this blog&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        $this-&gt;tests_to_run = $params["tests"];&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        $this-&gt;eol =  empty($params['eol']) ? "\n" : $params['eol'] ;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        $this-&gt;success_count = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        $this-&gt;failure_count = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        $this-&gt;test_count = 0;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        print "1..{$this-&gt;tests_to_run}{$this-&gt;eol}";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    function ok ($expression, $message) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        $this-&gt;test_count++;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        if ($expression == false) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            print "not ";&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            $this-&gt;failure_count++;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        } else {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            $this-&gt;success_count++;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        print "ok {$this-&gt;test_count} - $message" . $this-&gt;eol;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    function report() {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        print $this-&gt;eol;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        if ($this-&gt;test_count &lt;= $this-&gt;tests_to_run) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            print "You ran {$this-&gt;success_count} out of "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;                   . "{$this-&gt;tests_to_run} tests " . $this-&gt;eol;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        } else {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;            print "Opps, looks like you meant to run {$this-&gt;tests_to_run} "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;                      . "tests but ran {$this-&gt;test_count} instead" .$this-&gt;eol;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        }&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;        print "Success Rate: "&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;                     . (($this-&gt;success_count *100)/ $this-&gt;test_count)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;                     . "%".$this-&gt;eol;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;}&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;And.. I made some code to test itself..&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t = new Test_Simple(array("tests" =&gt; "4"));&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t-&gt;ok($t-&gt;test_count == 1, "one test run");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t-&gt;ok($t-&gt;tests_to_run == 4, "running 4 tests");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t-&gt;ok($t-&gt;eol == "\n", 'end of line is \n');&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t-&gt;ok(true, "its true!");&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t-&gt;ok(!false, "its not false");&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 255, 51); font-family: courier new;font-family:courier new;" &gt;    $t-&gt;report();&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I will probably make improvements upon this... suggestions? .. my test "report" is a bit more verbose than the standard Test::* in Perl.&lt;br /&gt;&lt;br /&gt;I made it so you can run it with the php executable ... or with the web browser.&lt;br /&gt;&lt;br /&gt;I tried to install Perl's class &lt;a href="http://search.cpan.org/%7Epgollucci/Apache-Test-1.27/lib/Apache/TestRunPHP.pm"&gt;Apache::TestRunPHP&lt;/a&gt; but had a few problems getting it setup on windows. I think I need mod_perl installed on my Apache. I did find out that it takes a different approach than my simple class, and starts apache, runs tests, prints report and shuts down apache. Interesting. My tests I only intended to run individually (actually didn't know how TestRunPHP worked till after I wrote my class).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113825288961021248?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113825288961021248/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113825288961021248' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113825288961021248'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113825288961021248'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/test-freak.html' title='Test Freak!'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113786127537937999</id><published>2006-01-21T10:31:00.000-06:00</published><updated>2006-01-21T10:35:20.156-06:00</updated><title type='text'>See what happens ...</title><content type='html'>when you don't keep your big mouth shut (and leave before meeting is over)?&lt;br /&gt;&lt;br /&gt;Email sent to PHP Group after meeting:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt; &lt;pre wrap=""&gt;&lt;blockquote&gt;At the end of our meeting Wednesday, several Topics / Speakers were planned out for coming months.&lt;br /&gt;&lt;br /&gt;WED FEB 15 Sara[h?] | Smarty&lt;br /&gt;WED MAR 15 Rich | PHP5 SOAP&lt;br /&gt;WED APR 19 Nola | We volunteered you to talk about, ummm, something you seemed to know a lot about at the meeting that I forgot already...&lt;br /&gt;&lt;br /&gt;Sara[h?] e back so I can spell your name right on the website.&lt;br /&gt;&lt;br /&gt;Anybody remember what we volunteered Nola to do?&lt;br /&gt;&lt;br /&gt;Is Nola willing?&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="font-family:georgia;"&gt;&lt;/span&gt;&lt;span style="font-family:georgia;"&gt;Yes.... Nola is willing. I was talking about XmlHTTPRequest, AJAX and the Prototype library.&lt;br /&gt;&lt;/span&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113786127537937999?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113786127537937999/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113786127537937999' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113786127537937999'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113786127537937999'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/see-what-happens.html' title='See what happens ...'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113648468490550197</id><published>2006-01-05T12:10:00.000-06:00</published><updated>2006-01-05T12:14:07.786-06:00</updated><title type='text'>One thing</title><content type='html'>Learned something today... if you ask a  question relating to programming and you are in a chat room where that particular thing is not the main topic of discussion to prepare to be made fun of. Good to know.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113648468490550197?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113648468490550197/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113648468490550197' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113648468490550197'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113648468490550197'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/one-thing.html' title='One thing'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113642326023689540</id><published>2006-01-04T18:55:00.000-06:00</published><updated>2006-01-30T13:14:09.330-06:00</updated><title type='text'>Get it? Set it? Good!!</title><content type='html'>I don't know where this idea settled into my little head, probably back in &lt;a href="http://www.olivet.edu"&gt;college&lt;/a&gt;. I sold practically every book from my college days, keeping only a few books (For anyone who had a blue book by &lt;a href="http://www.amazon.com/gp/product/019507159X/ref=wl_it_dp/002-5065777-8531200?%5Fencoding=UTF8&amp;colid=35ZTDRZ8JI898&amp;amp;coliid=I3KX4ENY99SI1G&amp;v=glance&amp;amp;n=283155"&gt;Blum with a picture of driftwood on it for Software Engineering&lt;/a&gt;, you have my sypathies. Can't believe its still $97 bucks) so I can't look back to see if any of my classes was the culprit (could it be java? it sure wasn't assembler!). I have always defined get/set methods for my classes with get/set in the name.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Card {&lt;br /&gt;var $name;&lt;br /&gt;&lt;br /&gt;function set_name($name = "") {&lt;br /&gt; $this-&gt;name = $name;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;function get_name() {&lt;br /&gt; return $this-&gt;name;&lt;br /&gt;}&lt;br /&gt;// etc&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;I've seen some people do this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;class Card {&lt;br /&gt;var $name;&lt;br /&gt;&lt;br /&gt;function name($name = "") {&lt;br /&gt; if (empty($name)) {&lt;br /&gt;  return $this-&gt;name = $name;&lt;br /&gt; } else {&lt;br /&gt;  $this-&gt;name = $name;&lt;br /&gt; }&lt;br /&gt;}&lt;br /&gt;// etc&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Using the same method for getting or setting, the deciding factor is if a parameter is passed.&lt;br /&gt;&lt;br /&gt;I mentioned this in a Codesnipers post about how &lt;a href="http://codesnipers.com/?q=node/75&amp;title=Attribute-Accessors---Ruby-VS.-PHP"&gt;Ruby does get/set for attributes&lt;/a&gt;. Caleb Tennis showed a way &lt;a href="http://codesnipers.com/?q=node/93&amp;amp;&amp;title=Ruby%27s-Attribute-Accessors"&gt;I could customize the get/set methods of Ruby&lt;/a&gt; so it DOES allow you to do getName or setName.&lt;br /&gt;&lt;br /&gt;My recent language crush is Perl, and I've seen many modules doing it the &lt;span style="font-style: italic;"&gt;second &lt;/span&gt;way.&lt;br /&gt;&lt;br /&gt;But "name" isn't a function so I don't really like doing it the second method. But is it an "okay" convention that I should wave a white flag and accept? I guess I could look at it this way, if a function name is just a noun, then it’s for an get/set method, if not then it’s a regular method.&lt;br /&gt;&lt;br /&gt;Should I change my mind on this? what do you do?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113642326023689540?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113642326023689540/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113642326023689540' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113642326023689540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113642326023689540'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/get-it-set-it-good.html' title='Get it? Set it? Good!!'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113638900404716482</id><published>2006-01-04T09:34:00.000-06:00</published><updated>2006-01-04T09:36:44.060-06:00</updated><title type='text'>Article about Selenium</title><content type='html'>I posted an article about Selenium over at &lt;a href="http://codesnipers.com/?q=node/207&amp;&amp;title=Testing-with-Selenium-TestRunner"&gt;CodeSnipers.com&lt;/a&gt;   .. check it out, its a very cool tool :)&lt;br /&gt;&lt;br /&gt;Oh and fortune cookie for yesterday was:&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;He who enjoys doing and enjoys what he has done is happy.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;I enjoy programming ... and looking back at some my of code I wrote -- I'm not happy. But I'm getting better everyday. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113638900404716482?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113638900404716482/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113638900404716482' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113638900404716482'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113638900404716482'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/article-about-selenium.html' title='Article about Selenium'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113626238900911733</id><published>2006-01-02T22:15:00.000-06:00</published><updated>2006-01-02T22:26:59.430-06:00</updated><title type='text'>Beware of the  violent psychopath</title><content type='html'>&lt;table border="0"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;Reading this right now at &lt;a href="http://www.safaribooksonline.com"&gt;Safari&lt;/a&gt; ...&lt;br /&gt;Talking about coding style, readablity etc.&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Hahah.. I love that.&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=spagswebdesig-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596001738&amp;fc1=000000&amp;IS2=1&amp;lt1=_blank&amp;lc1=0000ff&amp;bc1=000000&amp;bg1=ffffff&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113626238900911733?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113626238900911733/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113626238900911733' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113626238900911733'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113626238900911733'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/beware-of-violent-psychopath.html' title='Beware of the  violent psychopath'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113623516939875367</id><published>2006-01-02T14:50:00.000-06:00</published><updated>2006-01-02T14:54:50.456-06:00</updated><title type='text'>Fortune Cookie</title><content type='html'>To make up for going to the gym for 1.25 hours today (ever see anyone reading a perldoc print out on her lap while doing the chest press?), I went and got a container full of yummy food at the chinese buffet (and divided my booty in 3 contains, so now I have lunch the next two days as well, all for only $8). My fortune cookie for today said:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;If you don't program yourself, life will program you.&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;Funny I would get one relating to programming. hehe&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113623516939875367?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113623516939875367/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113623516939875367' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113623516939875367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113623516939875367'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/fortune-cookie.html' title='Fortune Cookie'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113621783539750323</id><published>2006-01-02T09:38:00.000-06:00</published><updated>2006-01-02T12:14:52.033-06:00</updated><title type='text'>Brand New Year</title><content type='html'>Happy 2006!!  I can't believe it’s a new year already! Here's how I spent the last few days of 2005 and first day of 2006.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Background&lt;/span&gt;&lt;br /&gt;When I was in college, around 1999 my co-worker did some Perl to process forms and email the data. I was more of their graphics person. He hated it, I'd say.. Oh Jayson! I have another form for you! I don't know if he disliked Perl so much or processing forms is just a boring task (I agree now). I dabbled a little in Perl but thought it was difficult and obsecure. I thought Perl geeks wrote it so they could boast about how clever they were because their code did X function in ONLY 25 characters! NYAH!  Then I happened to find PHP, learned it, did a site for my then boyfriend (now husband) and that got me a job as a PHP programmer and like a horse with blinders, pretty much just did PHP (and JavaScript) until this the second half of this year, err last year.&lt;br /&gt;&lt;br /&gt;I've been learning (re-learning? I don't know how much Perl I really knew at any one time) I've made some friends who are Perl programmers (&lt;a href="http://www.petdance.com"&gt;Andy Lester&lt;/a&gt; and &lt;a href="http://www.livejournal.com/users/zrusilla/"&gt;Liz&lt;/a&gt;) and they aren't like that at all, although they tell keep telling me that Perl is the "One True Language". Even the folks in the chatterbox at &lt;a href="http://www.perlmonks.org"&gt;PerlMonks.org&lt;/a&gt; have been very nice in answering my noob questions. &lt;br /&gt;&lt;br /&gt;I'm digging Perl. Once you get through "The Gory Details" in &lt;a href="http://www.amazon.com/exec/obidos/redirect?link_code=ur2&amp;tag=spagswebdesig-20&amp;camp=1789&amp;creative=9325&amp;path=http%3A%2F%2Fwww.amazon.com%2Fgp%2Fproduct%2F0596000278%2Fref%3Dpd_ecc_rvi_cart_3%3Fn%3D283155"&gt;Programming Perl&lt;/a&gt;&lt;img src="http://www.assoc-amazon.com/e/ir?t=spagswebdesig-20&amp;amp;l=ur2&amp;amp;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /&gt;&amp;nbsp;aka The Camel Book. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Goal&lt;/span&gt;&lt;br /&gt;Maybe I'm a strange person, but I like testing. I've been working with &lt;a href="http://www.openqa.org/selenium/"&gt;Selenium&lt;/a&gt; to write tests for &lt;a href="http://www.dotproject.net"&gt;DotProject&lt;/a&gt;. Watch for an upcoming article on it at &lt;a href="http://www.codesnipers.com"&gt;CodeSnipers.com&lt;/a&gt; this week. &lt;a href="http://www.petdance.com"&gt;Andy Lester&lt;/a&gt; has a project called &lt;a href="http://qa.perl.org/phalanx/"&gt;Phalanx&lt;/a&gt; which has the goal of getting 100 or so Perl modules with complete tests and documentation. Since I don't have any grand idea of a module that doesn't already exist in the 9283 modules in CPAN, I thought hey if I can help with testing a little bit than I can contribute in some tiny part. &lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Tools&lt;/span&gt;&lt;br /&gt;Test::More - a uber simple test mod which should work for test in most cases. I asked Andy Lester if I should be using Test::Unit for testing a module (in PHP I would use PHPUnit) but he said that Test::More is all I need.&lt;br /&gt;&lt;br /&gt;POD::Coverage - a mod that compares how much POD (plain old documentation) is in the module. Its good to have each subroutine documented (called "covered" as a opposed to "uncovered") and gives you a percentage, 100% is good. It will also list the subs that are uncovered. There is a way to set it to skip certain subs (private subs for example). You can run the POD::Coverage as part of the Test::More suites as well. Nifty.&lt;br /&gt;&lt;br /&gt;Devel::Cover - a mode that checks your code coverage. I couldn't get this to work, since this is not compiled for windows and my Perl version on my server is a few points behind. Looking at the docs, it can check the statements, branch, condition, path, subroutine, pod and time. Was not able to find out too much about how it works it since I can't get it to run. This module is in alpha stage at this point, so I'm sure more information will be available soon. &lt;br /&gt;&lt;br /&gt;I also made my first module, which was just a simple class I stole from an example. I couldn't get my module to run, so I went to &lt;a href="http://www.perlmonks.org"&gt;PerlMonks.org&lt;/a&gt; and asked them. The said OH, you have your code after the __END__   it should be before - doh - So once I did that, it was fine. &lt;br /&gt;&lt;br /&gt;Well, that’s about it for now.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113621783539750323?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113621783539750323/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113621783539750323' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113621783539750323'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113621783539750323'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2006/01/brand-new-year.html' title='Brand New Year'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113159789959160850</id><published>2005-11-09T22:42:00.000-06:00</published><updated>2006-01-30T12:59:29.336-06:00</updated><title type='text'>Its a SQL Thing</title><content type='html'>I want to do something like this:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 0, 204);"&gt;SELECT h.username AS user&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 0, 204);"&gt;FROM userdata AS h&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: courier new; color: rgb(102, 0, 204);"&gt;WHERE user="nstowe";&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am using the ALIAS of h.username, in my WHERE.&lt;br /&gt;&lt;br /&gt;I'm using MySQL.&lt;br /&gt;&lt;br /&gt;It doesn't work, although I would of thought it would. Any ideas? is this same for Oracle, PG?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113159789959160850?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113159789959160850/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113159789959160850' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113159789959160850'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113159789959160850'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/11/its-sql-thing.html' title='Its a SQL Thing'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113143019762263865</id><published>2005-11-08T00:08:00.000-06:00</published><updated>2005-11-08T00:12:07.946-06:00</updated><title type='text'>Feeling the Love</title><content type='html'>I just left the Chicago Ruby group, who met for the first time in downtown Chicago. Previously, they met in the burbs which made it hard for many of us to get to in the evenings. We had a whopping 32 some odd people there. Awesome! Many of the attendees were new and we had some advanced programmers like a couple of guys from &lt;a href="http://www.37signals.com/svn/"&gt;37 Signals&lt;/a&gt; (I feel like they are famous, I almost asked for their autographs!) There also seemed to be a lot of interest in this group and I'm excited. Its not actually too far of a walk from my office...if you know where you are going. One of the girls from the php group went with me… we uhh, went around the block a time since I didn't print out a map, just drew a zig zag line on paper with the address (doh) .. seemed simple at the time. Not so in the dark! &lt;br /&gt;&lt;br /&gt;I met another geeky girl! Desi who works for Thoughtworks. She was very nice. Seems like a nice company to work for, I saw posters on the wall about agile development. Man, I'd sure like to work somewhere where I wasn't the only programmer, and it would be awesome to work with another woman. Desi said she was trying to get more contact with other women in development. *grin* I'm not alone! &lt;br /&gt;&lt;br /&gt;They did something I've never seen before. There was a table in the center with 6 chairs, they started with 5 volunteers. The topic was why a company should develop with Ruby, pros and cons. When someone wanted to join in, they sat in the empty chair and then someone else left. It was fascinating. It was like watching programmers tv. I didn't have anything to say, so I didn't join in. Very cool. &lt;br /&gt;&lt;br /&gt;After the 10 minute break the group had shrinked to about half. They talked about possible topics for future meetings. Looks pretty exciting. &lt;br /&gt;&lt;br /&gt;Everytime I almost didn't go to a meeting I've really enjoyed it. I almost didn't go tonight, partly because I couldn't find anybody to go with (but I did after all, Jen came with me!), I wasn't familiar with the location, and I thought I should get some other stuff done.. but Nick said I should go and network. And MrNick is always right. &lt;br /&gt;&lt;br /&gt;BTW... going live Tuesday afternoon about 1PM CST is my "Stupidly easy MVC in php or We don't need no stinkin' framework!" article on &lt;a href="http://codesnipers.com"&gt;CodeSnipers.com&lt;/a&gt;. Check it out. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113143019762263865?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113143019762263865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113143019762263865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113143019762263865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113143019762263865'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/11/feeling-love.html' title='Feeling the Love'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113071909642975379</id><published>2005-10-30T18:38:00.000-06:00</published><updated>2005-10-30T20:09:31.080-06:00</updated><title type='text'>Art of Project Management</title><content type='html'>&lt;table border="0"&gt;&lt;br /&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;I won this book, Art of Project Management,  at the &lt;a href="http://chiphpug.php.net/"&gt;Chicago PHP User Group&lt;/a&gt; meeting, when &lt;a href="http://petdance.com/"&gt;Andy Lester&lt;/a&gt; spoke about Preventing Crisis: Project Estimation and Tracking that Works&lt;a href="http://petdance.com/perl/crisis.pdf"&gt; (PDF slides)&lt;/a&gt;. It was a great presentation. It really helped me learn how to break down and project into smaller pieces. One thing he said, you should break things down into tasks no longer than 4 hours. 4 hours, thats not so bad...I can spend 4 hours doing something, even if its boring. Looking at a big project in smaller pieces is a great way to do it. &lt;br /&gt;&lt;br /&gt;&lt;/td&gt;&lt;td&gt;&lt;br /&gt;&lt;iframe src="http://rcm.amazon.com/e/cm?t=spagswebdesig-20&amp;o=1&amp;p=8&amp;l=as1&amp;asins=0596007868&amp;fc1=000000&amp;=1&amp;lc1=0000ff&amp;bc1=000000&amp;lt1=_blank&amp;IS2=1&amp;bg1=ffffff&amp;f=ifr" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"&gt;&lt;/iframe&gt;&lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;br /&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;I've been reading and I think its pretty good. One thing Scott talks about is solving problems. How bad ideas lead to good ideas. Many times I have written code only to come back the next day and go HEY, I can do that function beter.&lt;br /&gt;&lt;br /&gt;He has a quote from Ernest Hemmingway:&lt;br /&gt;"I write 99 pieces of shit for every one page of masterpiece."&lt;br /&gt;&lt;br /&gt;I found that kinda funny..and true.&lt;br /&gt;&lt;br /&gt;Another point he made was about figuring out what problem are you trying to solve? He said he goes around talking to his employees, and occasionaly asks what problem they are trying to solve? In fact, he said he made it into a poster and hung it up above his desk.&lt;br /&gt;&lt;br /&gt;Sometimes when I am just plain stuck on something. I'll sit down and write out my problem on plain old paper, write out some possible solutions -- even when they seem kinda dumb, because although I haven't realized it before reading this book ... bad ideas lead to good ideas. Stepping away from the keyboard lets me think without emails popping up and the sudden urges to go read some blogs. &lt;br /&gt;&lt;br /&gt;Anyways, so far I recommend this book :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113071909642975379?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113071909642975379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113071909642975379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113071909642975379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113071909642975379'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/10/art-of-project-management.html' title='Art of Project Management'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-113056488418581615</id><published>2005-10-29T00:32:00.000-05:00</published><updated>2005-10-29T00:50:33.150-05:00</updated><title type='text'>Burning the midnight oil</title><content type='html'>Seems like when I post in my blog most often is when I'm up late and there is no poor sap online to whom I can bare my soul. Lucky for them! I've been busy as can be ...&lt;br /&gt;&lt;br /&gt;Working on:&lt;br /&gt;&lt;br /&gt;Something I'm calling Stupidly Easy MVC framework for PHP. Its the barest of frameworks. I had a fleeting though, OH FINALLY I might have something worthwhile to start a sourceforge.net account.. then I thought.. nahhh.. nobody wants this. But I am going to write up an article about it for CodeSnipers none the less. Perhaps it might help a few people.&lt;br /&gt;&lt;br /&gt;Made a new friend this week from the PHP User Group in Chicago. He has an interesting site at &lt;a href="http://malaprop.org"&gt;MalaProp.org&lt;/a&gt;. I met him very breifly at a PHP group lunch, but didn't get to chat till the last meeting. We talked about the book PeopleWare. Interesting. I correctly guessed after the meeting that he was not a regular coffee drinker...... he asked Why? I said you didn't have that crazed caffiene look in your eye.. which I know quite well. Heheh. Gotta have my coffee. &lt;br /&gt;&lt;br /&gt;Speaking of coffee... a few weeks ago for sunday school at church, they made decaf by accident. I was unware of this until noon. But I was wondering why I felt so weird and someone came up to me and said I didn't look so good..and I was all irritated with Nick for no real reason. Guess they'd beter let me have my coffee dang it! :)&lt;br /&gt;&lt;br /&gt;Been working a side job updating a OS project.. previous person did half the work, leaving me to figure out what was going. Fun fun.&lt;br /&gt;&lt;br /&gt;Peter got me interested in Python. I thought, Peter seems like a smart guy, I should check this out. He uses it at his company, so that also made me curious. I already had Python installed on my computer and had bought a $2 O'Reilly Python book -- BARGAIN! I bought it because I heard Ruby was sort of like Python so I thought, heck 2 bucks! I didn't really expect I would learn it, although I have some obsessive complusion to learn every language possible. &lt;br /&gt;&lt;br /&gt;This site is my friend: &lt;a href="http://pleac.sourceforge.net/"&gt;PLEAC&lt;/a&gt; ... This is a really neat idea. Simple standard recipies in all sorts of languages. They are missing in some areas, maybe you'd like to fill in the holes?&lt;br /&gt;&lt;br /&gt;So far in Python I've learned this:&lt;br /&gt;&lt;br /&gt;You can add documention to your code, the first line in your function you have a string&lt;br /&gt;""" this is the docs for the code """&lt;br /&gt;&lt;br /&gt;And then you can look up the docs for any function by going   functionName.__doc__  ... cool huh? Similar in concept to javadoc, but you don't need to run another app to  look at it, you can just bam look it up. I don't know if it has as many features as Javadoc-like systems or not. &lt;br /&gt;&lt;br /&gt;Blocks are indented. I've heard people moan and groan about this. But today I was thinking (yes, a rare moment) .. well if its a REQUIRED thing, then it gets done? I bet all phython code is very readable because they are all intented. From what I could tell, it didn't matter if it was 1 space, 2 or a tab. Just so long as there was a space. Interesting. &lt;br /&gt;&lt;br /&gt;Anyways, thats what I've been up to :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-113056488418581615?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/113056488418581615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=113056488418581615' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113056488418581615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/113056488418581615'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/10/burning-midnight-oil.html' title='Burning the midnight oil'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112921015102150273</id><published>2005-10-13T08:11:00.000-05:00</published><updated>2005-10-13T08:30:31.890-05:00</updated><title type='text'>Hey where you beeeen?</title><content type='html'>Been busy over at &lt;a href="http://codesnipers"&gt;CodeSnipers&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I wrote some posts about ruby, comparing it to PHP. Its pretty interesting to see how they compare, the readers and fellow bloggers have been really helpful in pointing out additional ways to do things as well. &lt;br /&gt;&lt;br /&gt;I've been "branching" out and going to user group meetings. Next week I have the &lt;a hef="http://www.mmugchicago.org/"&gt;Chicago Macromedia&lt;/a&gt; user group meeting on monday. The topic is interesting to me, I tried making components with Flash 5, it was pretty hard. Hopefully its easier now.&lt;br /&gt;&lt;br /&gt;Tuesday is the Perlmongers group, the &lt;a href="http://ruby.meetup.com/55/events/4780139/"&gt;Ruby Meetup&lt;/a&gt; group is crashing the Perlmongers group. I'm going with a few perl friends, one of them already in the group. She says she'll show me what the "one true language" is all about. Hehe.. I've done some perl, just haven't been really into it. I think its rather cryptic. The Ruby guys are going to present Rails to the group, and the Perlmongers is going to present Catalyist. It will be a BATTLE OF THE FRAMEWORKS. My friends and are I going to get a sandwich before the meeting. &lt;br /&gt;&lt;br /&gt;Wednesday is the PHP UG meeting.. but.. seeing as I won't get home till 10 or 11 each night from the other two meetings.. I think I might be too tired.&lt;br /&gt;&lt;br /&gt;I guess I'm just tired of being the lone developer at work and I want to meet and talk about programming. I like to discuss design patterns, security, frameworks..etc. Its fun. :)&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;OH yeah, to you comment spammers. You suck.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112921015102150273?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112921015102150273/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112921015102150273' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112921015102150273'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112921015102150273'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/10/hey-where-you-beeeen.html' title='Hey where you beeeen?'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112545827819496905</id><published>2005-08-30T22:14:00.000-05:00</published><updated>2005-09-01T07:31:57.103-05:00</updated><title type='text'>NO LA</title><content type='html'>I find it sort of spooky that the letters of my name  N O L A are also the abbreviations for an area that they say might become the next atlantis. The town is under water and more water expected.&lt;br /&gt;&lt;br /&gt;I remembered the company where I get my domain name from, &lt;a href="http://www.directnic.com"&gt;DirectNIC&lt;/a&gt; was in NO, LA. So I loaded up their webpage today and found a link to a blog of one of the employees who is hold up there in the office.&lt;br /&gt;&lt;br /&gt;His Blog:&lt;br /&gt;&lt;a href="http://mgno.com/"&gt;http://mgno.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I chatted with him on IM a few minutes. Its the real deal. &lt;br /&gt;&lt;br /&gt;I find myself feeling helpless like on 9-11. Sitting and watching TV and feeling numb.&lt;br /&gt;&lt;br /&gt;Updated: updated the link to his blog. I know *some* say he's stupid for staying, but  he is safe, he's smart and he's been able to help at least a few people. I think that takes more courage than running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112545827819496905?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112545827819496905/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112545827819496905' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112545827819496905'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112545827819496905'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/08/no-la.html' title='NO LA'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112542654931574475</id><published>2005-08-30T13:28:00.000-05:00</published><updated>2005-08-30T13:31:17.630-05:00</updated><title type='text'>Review of Ultra Edit and Ultra Edit Studio</title><content type='html'>I did a review for CodeSnipers.com .. see here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://codesnipers.com/?q=node/50&amp;&amp;title=Software-Review:-UltraEdit-11-and-UltraEdit-Studio-5" target="_blank"&gt;CodeSnipers.com - Software Review: UltraEdit 11 and Ultra Edit Studio 5&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112542654931574475?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112542654931574475/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112542654931574475' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112542654931574475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112542654931574475'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/08/review-of-ultra-edit-and-ultra-edit.html' title='Review of Ultra Edit and Ultra Edit Studio'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112527830141346946</id><published>2005-08-28T20:06:00.000-05:00</published><updated>2005-08-28T20:18:21.420-05:00</updated><title type='text'>Teaching someone to program</title><content type='html'>I've been after my husband to learn programming. He'd be so good at it, he's so smart. I tried teaching him HTML, which is actually pretty BORING. He was not too interested. SO I said, ok fine.. we'll learn HTML as needed (templates where possible, using Dreamweaver), I'll start with PHP instead. I thought, what is the first thing to teach? He told me he wanted to learn something and build on and keep building on from there.&lt;br /&gt;&lt;br /&gt;I'm learning Ruby too, so when I was thinking, ok how do I learn ruby? I fired it up and did some simple things to see how it worked. &lt;br /&gt;&lt;br /&gt;For a very first lesson ..  for him on PHP and me on Ruby, I made a simple list&lt;br /&gt;&lt;br /&gt;1. Define a string.&lt;br /&gt;2. Print a string.&lt;br /&gt;3. Learn how to write a function and call it.&lt;br /&gt;4. Use the function to print a string. &lt;br /&gt;5. Throw in the &lt; br / &gt; tag to display line endings in html.&lt;br /&gt;&lt;br /&gt;For Lesson Two, I have this planned.&lt;br /&gt;1. Define variables.&lt;br /&gt;2. Print a variable.&lt;br /&gt;3. Learn IF statement&lt;br /&gt;4. Conditionally display a variable based on another variables value.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;That’s it so far, I was going to look through my Deitel and Deitel Java 2 How to Program book to find some halfway decent and interesting programming exercises and programs to assign to "us" and see if we can do it in php. I think the first project will be a simple app to add two numbers, with input boxes. Then from there, I want to write a application to determine the winner/loser in an attack in his favorite card game, VS. That should prove to be a little more interesting and its something where he already understands the algorithm. :)&lt;br /&gt;&lt;br /&gt;Anybody else have any insight in teaching someone to program?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112527830141346946?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112527830141346946/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112527830141346946' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112527830141346946'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112527830141346946'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/08/teaching-someone-to-program.html' title='Teaching someone to program'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112433879977202968</id><published>2005-08-17T23:12:00.000-05:00</published><updated>2005-08-17T23:19:59.776-05:00</updated><title type='text'>PHP's echo</title><content type='html'>I found something out I didn't know the other day, while writing a blog entry for &lt;a href="http://codesnipers.com/?q=blog/7" target="_new"&gt;CodeSnipers.com&lt;/a&gt; a wealth of information for coders of all types! I so happen to be the only one writing about web development at the moment, but hey we can all learn from each other - right? Checkout the php echo stuff... anybody besides me didn't know you could do echo $var1, ' ' $var2;&lt;br /&gt;&lt;br /&gt;I am very interested in Ruby and "Rails". I am going to do a series of comparisons of php and ruby on CodeSnipers -- stay tuned! First entry was how to display output .. and Ruby has some nifty things like $\ and $, for formatting, read more &lt;a href="http://codesnipers.com/?q=node/16"&gt;Here!!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Frustrated at my "day job" ... I constantly have the need for DAO's and well I started a blog post about it. Basically, I am unable to use premade DAOs and find it most most extremely frustrating to have to write my own when already exists some. &lt;br /&gt;&lt;br /&gt;I am looking for a new job, PHP / MySQL developer. Let me know if you hear anything. Bah.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112433879977202968?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112433879977202968/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112433879977202968' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112433879977202968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112433879977202968'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/08/phps-echo.html' title='PHP&apos;s echo'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112264665390223849</id><published>2005-07-29T09:14:00.000-05:00</published><updated>2005-08-18T10:12:50.260-05:00</updated><title type='text'>Got Stress?</title><content type='html'>TEST!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://stickyminds.com/testing.asp?Function=edetail&amp;ObjectId=9343&amp;ObjectType=ART"&gt;Reduce Stress, Write a Test&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Good article. Right now at work, I've put off some coding because i know it will be a pain to test. I've considered how to write unit tests for this, but since the whole page is procedural, I can't break it up. If I re-write it as a class or at least functions, I might be able to write a unit test for it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I recently wrote a unit test for a simple logging class. I realized it didn't work the same on different versions of PHP, so I decided to make a unit test so I could see where it failed and where to fix. &lt;br /&gt;&lt;br /&gt;Test test test!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112264665390223849?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112264665390223849/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112264665390223849' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112264665390223849'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112264665390223849'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/07/got-stress.html' title='Got Stress?'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112095642895060524</id><published>2005-07-09T19:34:00.000-05:00</published><updated>2005-07-09T19:47:08.956-05:00</updated><title type='text'>Two is better than One</title><content type='html'>I don't like programming by myself. At my job, I am the lone programmer. My boss meddles around a bit, but as he is responsible for about 50 other things, he doesn't get to do too much. I had a co-worker for 1.5 years, and that make work more enjoyable and I was able to bounce ideas off him, when I got stuck he could see my problem etc. This also applies to other situations as well. Two candy bars are better than one. Two beers are better than one. Two dollars are better than one. I'm better married to &lt;a href="http://mrnick.com"&gt;Mr. Nick&lt;/a&gt;. :)&lt;br /&gt;&lt;br /&gt;Today Ivan asked if I'd like to work on some small projects together, something to the effect of "Extreme Programming" methodology. I said that would be great! We are both doing some work for &lt;a href="http://www.caseysoftware.com"&gt;Casey Software&lt;/a&gt; which is great as well. I want to perhaps work on a Order module for &lt;a href="http://www.dotproject.net"&gt;Dot Project&lt;/a&gt; or work to improve the existing Inventory Module. I just am nuts about the framework -- its not perfect, but the coding is very nice, well built (and I'm picky) so it makes it more fun to work with. :)&lt;br /&gt;&lt;br /&gt;Link of interest to me today: &lt;a href="http://www.phpmag.net/itr/news/psecom,id,22731,nodeid,113.html"&gt;Smarty as a sub language&lt;/a&gt; - I like Smarty. I can also see the side that php can itself be a templating engine. &lt;br /&gt;&lt;br /&gt;Check out the latest &lt;a href="http://pro-php.com/"&gt;Pro-PHP Podcast - PHP news&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Listening to: George Thorogood and the Destroyers (Get a Haircut and get real job! Clean your act up and don't be a slob. Get it to together like your big brother Bob! why don't you get a haircut and get a real job!)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112095642895060524?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112095642895060524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112095642895060524' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112095642895060524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112095642895060524'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/07/two-is-better-than-one.html' title='Two is better than One'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-112014115795577811</id><published>2005-06-30T08:58:00.000-05:00</published><updated>2005-06-30T09:19:17.963-05:00</updated><title type='text'>Lookout Microsoft!!</title><content type='html'>Here comes DotProject!&lt;br /&gt;&lt;br /&gt;No, the "Dot" has nothing to do with "dot net" I guess it just sounds cool. I've been working with the codebase and its really excellent. And believe me, I know BAD CODE. CaseySoftware has accounced soon the availablity of an &lt;span style="font-weight: bold;"&gt;import from MS Project module&lt;/span&gt;. Read about it &lt;a href="http://blogs.caseysoftware.com/?q=node/101"&gt;here&lt;/a&gt;. This is very exciting. I've been thinking of how to present this to my company. They have a few installs of MS Project, but since its expensive. If we had a version available to more people, I think we would use it more. And since DP is web based it eleminates installation headaches on users computers and they can access it from home or wherever they are!&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;   &lt;li&gt;Learn more about &lt;a href="http://dotproject.net/"&gt;DotProject&lt;/a&gt;&lt;/li&gt;   &lt;li&gt;&lt;a href="http://caseysoftware.com/"&gt;DotProject Hosting and Customizations&lt;/a&gt; - they will make DotProject fit your needs, host the software and maintain it for you, so you can work on your PROJECTS!&lt;/li&gt; &lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-112014115795577811?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/112014115795577811/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=112014115795577811' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112014115795577811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/112014115795577811'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/06/lookout-microsoft.html' title='Lookout Microsoft!!'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-111962238099819636</id><published>2005-06-24T09:12:00.000-05:00</published><updated>2005-08-18T10:11:11.933-05:00</updated><title type='text'>ahhhhhhhhhhhh</title><content type='html'>thats me screaming like the kid on home alone&lt;br /&gt;&lt;br /&gt;http://thedailywtf.com/forums/36898/ShowPost.aspx&lt;br /&gt;&lt;br /&gt;Ok, I have seen some bad stuff..even written some myself,  but this... is the worst.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-111962238099819636?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/111962238099819636/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=111962238099819636' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111962238099819636'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111962238099819636'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/06/ahhhhhhhhhhhh.html' title='ahhhhhhhhhhhh'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-111893115062983882</id><published>2005-06-15T22:30:00.000-05:00</published><updated>2005-06-16T09:12:30.633-05:00</updated><title type='text'>Report from PHP Chicago User Group</title><content type='html'>Well I finally quit being shy and went to the &lt;a href="http://chiphpug.php.net/"&gt;PHP Chicago User Group meeting &lt;/a&gt;last night. It was the first time I had been on the "L" train in Chicago, usually the Red Line subway takes me where I want to go. I will say that L is more fun than the subway. The things you see in office buildings at 8:00 at night...&lt;br /&gt;&lt;br /&gt;We had 9 people there I think, including me. The founder of the group, &lt;a href="http://phpbootcamp.com/instructor.htm"&gt;Rich&lt;/a&gt; seemed quite surprised at the number of people there! &lt;br /&gt;&lt;br /&gt;There was no topics really, we started with "are there any php questions?" and one guy talked about needing a framework to keep track of RPG characters. That lead to a disussion of "BOO" to the often hacked &lt;a href="http://phpnuke.org/"&gt;PHP-NUKE&lt;/a&gt;, POST-NUKE, and praise for &lt;a href="http://mamboserver.com/"&gt;MamboServer &lt;/a&gt;and Type 03 (or typeo 3 or type o3? I can't find it on google) Larry said that you had to increase PHP's memory limit just to install it...and Jordan said it was well worth looking at!&lt;br /&gt;&lt;br /&gt;After that, we did some informal introductions.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sbeattyconsulting.com/blog/"&gt;Scott&lt;/a&gt; has written an article at sitepoint about using &lt;a href="http://www.sitepoint.com/article/use-jedit-php"&gt;JEdit&lt;/a&gt; to edit PHP, I'm going to check that out tonight.  &lt;br /&gt;&lt;br /&gt;Anyways, kinda fun! I felt like I was back in college, sitting in the lab with the geeks talking about programming :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-111893115062983882?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/111893115062983882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=111893115062983882' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111893115062983882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111893115062983882'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/06/report-from-php-chicago-user-group.html' title='Report from PHP Chicago User Group'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-111785558885283480</id><published>2005-06-03T22:16:00.000-05:00</published><updated>2005-06-03T22:28:42.270-05:00</updated><title type='text'>Search For Spock</title><content type='html'>... is what I just put in the DVD drive. I love Star Trek. I only have ST the movies 1-3 on DVD though. Just the perfect way to wind down after a 4 day busy week of programming..........and I've learned 3 important things this week:&lt;br /&gt;&lt;br /&gt;1. I was using PEAR QuickForm wrong, kinda. Instead of utilizing the $form-&gt;getSumittedValues() I was using $_POST, and seting tons of state variables ("showAddForm" then "addData" etc).. all I had to do was remember which mode I was in, add edit or delete ... and then just check to see if the form was submitted. When it was, I did the database action. I get so tired of the mundane add/edit/delete/list all functions of maintaining data in a table. I wrote a pretty generic class to do this operation on a set of tables. Anyways, I must carry on..&lt;br /&gt;&lt;br /&gt;2. Using GET method for anything other than retreival is against specs.. which is why.. things like Google Web Accellerator can do some serious damage if you have links on your site like "&lt; a href = "maintain.php?task=del&amp;id=4" etc........ yikes....&lt;br /&gt;&lt;br /&gt;the evil google web accelerator here &lt;a href="http://37signals.com/svn/archives2/google_web_accelerator_hey_not_so_fast_an_alert_for_web_app_designers.php"&gt;http://37signals.com/svn/archives2/google_web_accelerator_hey_not_so_fast_an_alert_for_web_app_designers.php&lt;/a&gt;&lt;br /&gt;(dudes..could you have used a LONGER file name! geez!)&lt;br /&gt;&lt;br /&gt;3. Uhhh... never trust any VARIABLE .. not even server vars... &lt;br /&gt;Read about it here: &lt;a href="http://blog.phpdoc.info/archives/13-XSS-Woes.html"&gt;http://blog.phpdoc.info/archives/13-XSS-Woes.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I have found so mnay php bloggers, its amazing. I just love it. I'm addicted I think.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ok I have finished my adult beverage.... I think its time to go look for spock as a tired php programmer drifts off to sleep......... zzzzzzzzzzzzzzzzz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-111785558885283480?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/111785558885283480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=111785558885283480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111785558885283480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111785558885283480'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/06/search-for-spock.html' title='Search For Spock'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-111722002315477350</id><published>2005-05-27T13:50:00.000-05:00</published><updated>2005-05-27T13:53:43.160-05:00</updated><title type='text'>Design Patterns</title><content type='html'>I love this stuff&lt;br /&gt;&lt;br /&gt;http://blog.casey-sweat.us/index.php?p=48&lt;br /&gt;&lt;br /&gt;I can't wait for his book, &lt;a href="http://froogle.google.com/froogle?q=isbn+0973589825"&gt;PHP Design Patterns&lt;/a&gt; to come out. I will be getting that one for sure! Checkout the download with the presentation on design patterns. Good stuff!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-111722002315477350?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/111722002315477350/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=111722002315477350' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111722002315477350'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111722002315477350'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/05/design-patterns.html' title='Design Patterns'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-111711678554757222</id><published>2005-05-26T09:04:00.000-05:00</published><updated>2005-05-26T09:15:27.920-05:00</updated><title type='text'>There's SPACE in my CASE</title><content type='html'>My old way of formatting swtich/case:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);font-family:courier new;" &gt; switch ($somevar) { &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);font-family:courier new;" &gt;     case "abc"  : someFunc(); break; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);font-family:courier new;" &gt;     case "t"    : otherFunc(); break; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);font-family:courier new;" &gt;     case "z"    : yetAnotherFunc(); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);font-family:courier new;" &gt;                   onemoreFunc(); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);font-family:courier new;" &gt;                   break; &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color: rgb(102, 102, 0);"&gt; }&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;After some thoughts like:&lt;br /&gt;&lt;/span&gt; &lt;ul style="font-family: arial;"&gt;   &lt;li&gt;Hey, now every time I change the length of some "var" I have to reindent all the stuff. bah.&lt;/li&gt;   &lt;li&gt;I have to move my cursor alot to add anymore code to the thing&lt;/li&gt;   &lt;li&gt;My space bar is going to wear out before the rest of the keyboard if I keep this up.&lt;/li&gt;   &lt;li&gt;Hmm, wonder what the &lt;a href="http://pear.php.net/manual/en/standards.control.php"&gt;PEAR group&lt;/a&gt; does&lt;br /&gt; &lt;/li&gt; &lt;/ul&gt; &lt;span style="font-family:arial;"&gt;My new way of indenting switch blocks&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: rgb(102, 102, 0);"&gt; switch ($_POST["task"]) { &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;     case "lookup" : &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;          $data = lookup($_POST["lookupValue1"]), $_POST["lookupValue2"]); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;          displayForm($data); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;          break; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;     case "addCake" : &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;          displayForm($data); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;          displayCakeForm($data); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;     default: &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt;          displayLookup(); &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(102, 102, 0);"&gt; } &lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;Like pear group, but the contents are indented. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-111711678554757222?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/111711678554757222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=111711678554757222' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111711678554757222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111711678554757222'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/05/theres-space-in-my-case.html' title='There&apos;s SPACE in my CASE'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-12997951.post-111642697470610918</id><published>2005-05-18T09:30:00.000-05:00</published><updated>2005-05-18T09:47:50.230-05:00</updated><title type='text'>Streaming Media</title><content type='html'>I'm doing it at work and we have some weird problems. I think that is probably how we export and compress the presentation from PointPoint. It has audio wave files attached to each slide. PowerPoint on the Mac (I don't use it, my boss does) will export to a mov file, and he used Quicktime to compress it.&lt;br /&gt;&lt;br /&gt;The slides skip and jump, sometimes the movie stops and does nothing. The audio is off kilter with each slide and sometimes skips the first slide. Sometimes it seems to work flawlessly! Its 100 meg, so using HTTP streaming won't be a good idea in this case.&lt;br /&gt;&lt;br /&gt;I used a &lt;a href="http://phpclasses.spunge.org/browse/file/7719.html"&gt;php script&lt;/a&gt; to make a movie reference file.&lt;br /&gt;&lt;br /&gt;Ideas??&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/12997951-111642697470610918?l=phpgirl.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://phpgirl.blogspot.com/feeds/111642697470610918/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=12997951&amp;postID=111642697470610918' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111642697470610918'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/12997951/posts/default/111642697470610918'/><link rel='alternate' type='text/html' href='http://phpgirl.blogspot.com/2005/05/streaming-media.html' title='Streaming Media'/><author><name>Nola</name><uri>http://www.blogger.com/profile/16279548257520306386</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
