 |
Account Login
|
 |
 |
Latest Articles
|
 |
 |
IRC Channel
|
 |
 |
Associates
|
 |
 |
Associates
|
 |
|
 |
|
 |
|
 |
12-17-2007, 08:10 PM
|
#21 (permalink)
|
|
The Prestige
Join Date: Oct 2007
Location: Manchester, UK
Posts: 836
Thanks: 31
|
I'm sorry i need to say that i think the idea of developing something and then getting paid really i'snt a good one, whilst luckily for you, you haven't been screwed it it may happen to you and others in the future, just imagine spending weeks coding your ass off just for the client to turn around and say 'well actually mate, we have changed our mind we don't want it in PHP we want in Ruby and got a new dev working on it' just imagine the frustration and as Village Idiot said, more often then not you are left with a completely useless script thats half finished and has no market worth, although i do understand what your saying that a client needs to see it before he/she pays, it works great for cars but not programming unfortunately, i suppose thats why keeping the client informed throughout the build might be a good substitute.
Quote:
|
Any client who is not willing to pay an upfront isn't worth working with.
|
couldn't agree more mate.
Anyway i'm not having a go, do business how you wish its not my place to tell you otherwise, i'm just saying that i don't really agree.
__________________
mysql> SELECT * FROM `users` WHERE `users`.`clue` > 0;
Empty set (0.00 sec)
|
|
|
|
12-18-2007, 02:39 AM
|
#22 (permalink)
|
|
Wizard
Join Date: Sep 2007
Posts: 1,216
Thanks: 17
|
|
|
|
|
01-17-2008, 07:37 AM
|
#23 (permalink)
|
|
Super Moderator
Join Date: Sep 2007
Location: Near you.
Posts: 687
Thanks: 240
|
this was great read, thank you..
__________________
I will be Offline for a while, (Working)..
|
|
|
|
02-24-2008, 02:35 PM
|
#24 (permalink)
|
|
The Contributor
Join Date: Nov 2007
Posts: 32
Thanks: 5
|
Great tips. thanks.
__________________
מטבחים (hebrew)
|
|
|
03-09-2008, 08:33 PM
|
#25 (permalink)
|
|
The Acquainted
Join Date: Jan 2008
Posts: 136
Thanks: 3
|
I have recently got into the habit of using prefixes to my variables. Such as:
a mysql query = $qQueryName
a result = $rQueryName
a message = $mMessageName
a variable = $vVariableName
They really do help me, at least, structure my code and makes them easy to see what they are.
Thanks for the great read, VI.
|
|
|
|
|
The Following User Says Thank You to Gareth For This Useful Post:
|
|
03-09-2008, 09:09 PM
|
#26 (permalink)
|
|
The Frequenter
Join Date: Nov 2007
Location: Netherlands
Posts: 460
Thanks: 49
|
It's a great way to oversee your code Gareth. A lot of my friends make queries like "$memberprofile = 'SELECT * ...';" which may seem bloody obvious to them, but you will have to CHECK the query if it is a string, query, fetch or even a free_result. What ever. Non the less, it looks messy.
Anyhow, thanks for sharing Gareth. I'll even come in handy for me, as a reminder not to mess up my codes.
__________________
"Life is a bitch, take that bitch on a ride"
|
|
|
05-13-2008, 01:04 AM
|
#27 (permalink)
|
|
The Acquainted
Join Date: May 2008
Posts: 175
Thanks: 9
|
I always require a 25% upfront cost of the total quote, then the 75% upon delivering the final application. There have been special cases where I have setup payment plans for my clients; however, I hide fail-safe bits of of code in the application to which will cause the application to fail after a certain date if payments are not made. Should the full amount be paid, before turning over the code, I remove all bits of this code. This rule is simple for me, if everything is paid in full, nothing is left behind. Don't pay and you just earned yourself a dead program.
Some things I always do:
1) Requirements document is a must. User must sign off on the documents before I even begin so that he/she knows what to expect as delivered for xxxx price.
2) Bug fixes are always handled and corrected through user acceptance testing. All found bugs are fixed as part of the original quote price (obviously if its buggy, I didn't deliver my end of the contract).
3) Upon signoff by the user of user acceptance testing, absolutely no more work or bug fixes will be handled. However, if changes are required or if something needs a few more additions, I have no problem creating a new requirements document focusing on changes (or addendum to the old requirements; either or)
|
|
|
05-13-2008, 01:14 AM
|
#28 (permalink)
|
|
Wizard
Join Date: Sep 2007
Posts: 1,216
Thanks: 17
|
When I do things in payment plans, I give them the code I made for the price. The code is theirs, they can do whatever they want with it should they leave. But they don't get away with code they didn't pay for. Think about it, how would you feel if the code you paid for didn't work anymore? You didnt pay full price, but the application is not full. Or do you mean by payment plan that you give them everything and they slowly pay for it? Also, how do you hide these fail-safe bits? Any competent programmer could remove them unless it is encrypted.
3) I indefinitely support my code so long as it hasn't been modified. Sometimes bugs come quite some time later. But once again, I dont support modified code for free. I don't even download their file, I place the final project code on my server and emulate the error (I never delete files). If I am unable to do it, the bug is either a code difference or a server difference -neither are covered by me.
|
|
|
|
05-13-2008, 01:57 PM
|
#29 (permalink)
|
|
The Acquainted
Join Date: May 2008
Posts: 175
Thanks: 9
|
I give them everything then slowly pay for it (Say over 3 months); Yes, I know any competant programmer could remove these. But then again, if the programmer is competant, their is a good chance that they wont be looking for others to do their work in the first place, though there are still a handfull of reasons that this could potentially happen.
For number 3, I guess I stated it a little harsher then what I actually do. However in most cases, almost all problems should be taken care of during UAT. The user has agreed that what is delivered has met the requirements including any bugs that may have came up. However alot of times I will play this by feel.
For instance, if you have a registration script and the user decides that the username can consist of any characters, but then later comes back and describes a 'bug' in the registration process that allows special characters in the username, this will obviously be a cost fix. Should they have only wanted alphanumeric and maybe a few symbols, that should have been defined in the original requirements.
|
|
|
06-13-2008, 10:20 PM
|
#30 (permalink)
|
|
The Wanderer
Join Date: May 2008
Location: Oporto-Portugal
Posts: 24
Thanks: 11
|
Quote:
Originally Posted by drewbee
I always require a 25% upfront cost of the total quote, then the 75% upon delivering the final application. There have been special cases where I have setup payment plans for my clients; however, I hide fail-safe bits of of code in the application to which will cause the application to fail after a certain date if payments are not made. Should the full amount be paid, before turning over the code, I remove all bits of this code. This rule is simple for me, if everything is paid in full, nothing is left behind. Don't pay and you just earned yourself a dead program.
|
php is an open software platform programming language.
Can You help us colleagues by explaining a little bit how You do this protection to Your php programs ?
It's easy to do it on a compiled "closed source" program, but open source....?
Help us all, please.
pipesportugal
|
|
|
|
06-18-2008, 03:39 PM
|
#31 (permalink)
|
|
Wizard
Join Date: Sep 2007
Posts: 1,216
Thanks: 17
|
Unlike languages like asp.net, php compiles on the fly. Meaning the source files have to be uploaded to the server for it to work. Unfortunately, there is no way to compile PHP then put it on a server, but there are programs that encrypt the code. The code is still being compiled on the fly, but it has to pass though a decrypter before it does so.
Another way would be to write most of it in C++ then call it as a custom extension in PHP. That way the source you dotn really want revealed is in a binary file.
|
|
|
|
06-21-2008, 04:24 AM
|
#32 (permalink)
|
|
The Frequenter
Join Date: Dec 2007
Location: In my basement
Posts: 385
Thanks: 47
|
Quote:
Originally Posted by Village Idiot
Another way would be to write most of it in C++ then call it as a custom extension in PHP. That way the source you dotn really want revealed is in a binary file.
|
Any programmer that takes the time to learn C++ will quickly learn that OllyDbg and a hex editor can make those efforts to protect your code futile.
__________________
Signatures are nothing but incriminating.
|
|
|
06-21-2008, 03:13 PM
|
#33 (permalink)
|
|
Wizard
Join Date: Sep 2007
Posts: 1,216
Thanks: 17
|
Quote:
Originally Posted by Aaron
Any programmer that takes the time to learn C++ will quickly learn that OllyDbg and a hex editor can make those efforts to protect your code futile.
|
Not really, reverse engineering hasn't stopped hiding the source of any other softwares.
Last edited by Village Idiot : 06-22-2008 at 09:08 PM.
|
|
|
|
06-23-2008, 02:00 AM
|
#34 (permalink)
|
|
The Frequenter
Join Date: Dec 2007
Location: In my basement
Posts: 385
Thanks: 47
|
It's fine to hide source code, but protecting your code functionality via that is useless, because it can be reverse engineered.
__________________
Signatures are nothing but incriminating.
|
|
|
11-17-2008, 12:33 AM
|
#35 (permalink)
|
|
The Addict
Join Date: Apr 2008
Posts: 206
Thanks: 18
|
very nice reading, and it is really for real :)
|
|
|
|
12-09-2008, 03:12 PM
|
#36 (permalink)
|
|
The Visitor
Join Date: Dec 2008
Posts: 1
Thanks: 0
|
Thanks
Thank a lot.
|
|
|
|
12-09-2008, 09:47 PM
|
#37 (permalink)
|
|
The Prestige
Join Date: Sep 2007
Location: Sweden, Stockholm
Posts: 1,053
Thanks: 115
|
Can I ask you something?
How many % of the "final price" are you taking out "upfront"?
I mean, how much should I take out upfront?
And is it a specific % of the final price, or is it like a.. standard amount?
Thanks, great article!
__________________
|
|
|
|
12-10-2008, 12:51 PM
|
#38 (permalink)
|
|
Wizard
Join Date: Sep 2007
Posts: 1,216
Thanks: 17
|
I generally go around 50% if the structure is before and after (no intermediate payments).
|
|
|
|
01-26-2009, 01:29 AM
|
#39 (permalink)
|
|
The Wanderer
Join Date: Jan 2009
Posts: 7
Thanks: 0
|
Great work
Thanks for the tips
|
|
|
|
08-09-2009, 06:56 PM
|
#40 (permalink)
|
|
The Wanderer
Join Date: Aug 2009
Posts: 18
Thanks: 1
|
Hey thanks, i like this I really needed this here. Will help me out in the future with my clients :).
|
|
|
|
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
|
|
|
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|