Re: OT: Collection Agency

Top Page
Attachments:
Message as email
+ (text/plain)
Delete this message
Reply to this message
Author: mike enriquez
Date:  
To: plug-discuss@lists.plug.phoenix.az.us
Subject: Re: OT: Collection Agency
All of us have "learning Experiences". At this point I would stop the
project and wait for payment. If your client wants the project he will
pay. If he does not want the project there is no need to continue
because he is not going to pay anyway. Sounds like you had a verbal
understanding, so I would try that out on him. Send him a note reminding
him of payment due and that you will continue working once the check has
cleared.
Good Luck
Mike the newbie



On Thu, 2005-04-14 at 11:29, JD Austin wrote:
> Thank you everyone for some great responses!
>
> While I've been the lead developer in many projects I've only been in
> business a little over a year. Im still learning a lot of things the
> hard way. I learned a few things from this project; so even if I have
> to send this guy to collections or am forced to sue him,
> It was a valuable experience.
>
> I made a few mistakes with this guy.. 
>       * I discounted my rate to get the job.
>       * I let the project start without a hard specification.
>       * I didn't get a firm contract since there wasn't a firm
>         definition of the deliverable.
> For those reasons I said I'd do it on an hourly basis and bill him
> periodically.  Later in the game he wants to shift to a milestone
> based billing, essentially one HUGE milestone that includes half of
> his project.  He already owes me for 56 hours of work, the rest of the
> project if all goes well should take another 20 hours.  It's a lot of
> money to my small company to be at risk.  What really makes me nervous
> is that he doesn't even want to pay half of what he currently owes
> me.  This project has made me realize that I can't take on another
> project before I get some contracts created that spell out my terms.  

>
> The project in question is an Internet application modification
> project. The $99 software he wanted it based on was junk. Despite my
> recommendations to pick something else due to scalability and design
> issues, he wanted to stick with it. It's a Perl CGI web application
> with ton's of SQL calls per page, REALLY screwy template and variable
> 'mazes' in the code, and zero documentation related to the code
> itself. Making modifications to it is very time consuming compaired
> to a project you'd download on sourceforge. Having the source code
> and being 'open source' are two different things. With an open source
> project you have people to turn to when you find code that doesn't
> follow typical design methodologies.
>
> Heres a breakdown of a typical line of code from this code, I sent
> this to the client to explain the issues I was having : 
>         Heres one line from bidding.pm in AccountMgr.pm:
>             $Template =&Translate_File($Global{BiddingList_Template});
>         The above line looks innocent enough until you try to figure
>         out what it's loading:

>
>         Searching through the code I eventually find this line
>         inConfiguration.pm:
>         $Global{BiddingList_Template} =
>         "$Global{Template_Dir}/BiddingList.html";

>
>         Looking up $Global{Template_Dir}I eventually find this line:
>         $Global{Template_Dir} =
>         "$Global{Templates_Dir}/$Global{Theme}";

>
>         Now there are two variables to decode ($Global{Templates_Dir}
>         and $Global{Theme}
>         $Global{Templates_Dir} = "$Global{Data_Dir}/templates

>
>         Ok.. now I have to look up $Global{Data_Dir}
>         $Global{Data_Dir} = "$Global{CGI_Dir}/data
>         This isn't defined specifically anywhere I can find with
>         grep.. but must be /cgi-bin/auction/

>
>         Now theres $Global{Theme}
>         $Global{Theme} = $Themes{$Global{Language}};

>
>         Now theres $Global{Language}
>         $Global{Language} = $Cookies{User_Language}
>         Cant find this anywhere.. but it must be English.
>         That leaves $Themes{English}

>
>         I finally find this line:
>         $Themes{$Lang} = $Theme;
>         Another line in Configuration.pm: ($Lang, $Theme) =
>         split(/\:/, $Line);
>         and $Line comes from $Global{Themes}
>         And finally in Defaults.pm I find that line:
>         Defaults.pm:    $Global{Themes} = "English:Default";
>         The above line is splitting $Global{Themes} on ':' into $Lang
>         and $Theme.

>
>         So what file is it loading?? :)
>         It's loading:
>         /cgi-bin/auction/data/tempates/Default/BiddingList.html
>         Then theres the function that's processing the file:
>         Translate_File
>         DisplayMgr.pm: Translate_File  
>         All that does is load the whole file into a string, simple
>         enough once you figure out all the layers of BS to get there.
>         .
>         Thats just one line.
> I hate when people write code like this; it's almost like the author
> purposefully made it obscure though perl makes that an easy task 
> (grin)

>
>
> On that note.. did that person that was looking for the Perl list
> like this one find one?
>
> JD
>
> --
> JD Austin
> Twin Geckos Technology Services LLC
> email:
> http://www.twingeckos.com
> phone/fax: 480.344.2640


---------------------------------------------------
PLUG-discuss mailing list -
To subscribe, unsubscribe, or to change you mail settings:
http://lists.PLUG.phoenix.az.us/mailman/listinfo/plug-discuss