Jump to content

.josh

Staff Alumni
  • Posts

    14,780
  • Joined

  • Last visited

  • Days Won

    43

Everything posted by .josh

  1. I freelance exclusively. What I do is ask potential clients what they're looking for and what their budget is. I then explain the feasible options they have available to them. My #1 concern is educating potential clients about the process and what to expect. I find that the more interested and involved a client is in the development of their site, the more likely they'll grant me leeway and the more likely they'll keep me on or hire me again in the future. Even if they don't hire me, I'll give them advice on what to look for when interviewing/looking for other developers. The last thing I want is for anyone to be swindled or taken advantage of, regardless of whether or not that person is a client of mine or not. Freelancing is all about reputation. I can afford to deny, or be denied projects that don't fit a certain level of comfort or personal integrity now if it means developing a sterling reputation to build on down the line. You may or may not have that luxury, but I think it's something to strive for. Above all else, I am honest with my clients. No BS, no promising things I can't deliver on, and no going over budget unless I get approval from them. And if you are using resources like google, websites, books, etc.. as more than just a reference for a job, then you have no business making money off of that work in the first place. Yes I know lots of people do it and the world still turns. That doesn't make it right. p.s. - yes, I do have a lot of freelance experience. It eventually led to my current full time salaried position w/ a company.
  2. You do not need to cheat people to survive, is all I'm sayin'.
  3. But that's the point: you are profit focused, not code focused. Like watching your favorite band going from producing art to starting to suck because they sold out, started focusing on making a buck instead of art.
  4. You think the end-all-be-all is whether or not your code gets hacked? First and foremost, how do you think hacks happen? They happen because people make shitty code with no foresight to the future. And even then, preventing your code from being hacked is not the end-all-be-all. I can provide static sparsely marked up html and pawn it off as state-of-the-art hack-proof code, but that doesn't equate it to being the piece of shit that it is, hardly useful for anything, not scalable, not expandable. You are an amateur. What you are condoning is the same principle as going to someone still in dentist school to get your teeth worked on. He doesn't know what he's doing and he's learning. Would you go and pay to have your teeth fixed by him? Or how about someone still in school to be a heart surgeon. Would you pay, would you trust someone to do open heart surgery on you, going along reading from book as he's slicing you? Or how about offering to drive someone somewhere, be their taxi when you don't know how to drive, saying you'll figure it out as you go? You are an amateur, and I feel sorry for the clients you swindle. Would you tell that to your client? "Hey yeah, I have no idea how to do what you want, but I'm sure with some googling and begging for help off some free forums I can sort it out for you...now about my payment..." Would you tell that to your client? Didn't think so. You are worse than amateur. You're a cheat, a swindler, a used car salesman at a tote-the-note lot. I feel dirty just posting in this thread, must go watch copious amounts of gay sheep porn just to feel cleaner, you're that filthy.
  5. the regex is the same (the syntax is the same, though I can't vouch for the soundness of your pattern without knowing details...but if you know your current pattern works for you, then okay), but you would use the pattern in something like preg_match example: preg_match("/.../",$contentToMatch,$matches); echo "<pre>"; print_r($matches); first argument is the pattern, 2nd is the subject, 3rd are results of captured matches. Or if you are not caring about the captured groups and just wanting to know if the pattern matched overall: if (preg_match("/.../",$contentToMatch)) { // matched } else { // did not match }
  6. There is no such thing as learning everything and then going from there. Technology changes and grows. "Best Practices" in turn change. To expect anybody to come to the table 100% knowledgeable about a subject is both foolish and unrealistic. If you are not learning something new every day while working, then you are not growing, you are not leveling up. Every project is a potential learning experience. However, that doesn't mean that you can or should come to the table empty handed. As an example... part of my job is implementing tracking code for clients. Mostly we use Yahoo Web Analytics or Omniture Site Catalyst. However, we also have used others like Google Analytics and WebTrends. But there are countless other tracking tools out there. Nobody expects me to magically know all of the tools out there. But they do expect me to understand Web Analytics in general, and they do expect me to understand the core technologies behind implementing it (such as javascript - most have their own "frameworks" and namespaces and methods for doing stuff, but it mostly all boils down to javascript). So if we get a new project that involves some new tracking tool, nobody expects me to automatically know that tracking tool. But they do expect me to understand how tracking works in general (according to current industry standards and philosophies) and the core technologies (like the programming language(s)) behind it, so that I can quickly pick up a user/implementation manual and figure out how to implement it. I have countless stories of clients who have a hard time getting tracking code implemented according to specification, because they don't even understand basic javascript syntax. Or maybe they do, but they fail to understand the logic behind the code. Or the logic behind their own site's "flow". Starting a project without understanding these things practically guarantees at best, a lot of unnecessary extra work and headache, but many times, winds up in failure, with people more or less trying to just kinda shove the project under the rug and forget about it. This is just an example based on my own job, but applies to any web dev job you do - or any job at all, really. The point I'm trying to make is that it is okay to take on projects where you need to figure out the problem and figure out how to solve it. That's part of what you are being paid to do - solve a problem. It's like detective work. Detectives don't take on new murder cases automatically knowing who the murderer was, the motive, weapon, etc...they ask questions, look for clues, piece together the puzzle. This if FINE. But what is NOT fine is taking on a project where you don't even know the basic tools required. You would never ask an artist to paint you a picture if he's never had experience or has no knowledge of how to paint. He may be great at charcoal or pencils but that's not the same as painting. Or with the detective. If I were looking to hire a detective and I was talking to him and he didn't know anything about fingerprinting or forensics or even what a magnifying glass is (tribute to Sherlock Holmes ), I'd be running out the door as quick as possible to find someone else. Tibberous, that is the general attitude you are conveying, or at least, the general attitude that people are perceiving from you - that you are taking on projects even though you don't even know the basic tools and core technologies required. And you also seem to be giving the message of "I'm charging sports car prices for pintos." In general, I do agree with you about the idea of giving something to a client that just works. In my experience, most clients are clueless about what it takes to make something "work." All they care about is that it does what it is supposed to be doing as far as what they need it for. Example: Client needs a "contact us" form. They want a user to be able to enter in their email address and leave a message, have it sent to or integrated with their own email system or some other system like SalesForce. They don't know or don't care about the details, and that's why they hired you. So you have a choice: You can spend 10 minutes throwing up a form with no validation, crappy html that doesn't validate and styling looks fucked in some browsers, not even doing the finer things like spending time trying to figure out the client's target audience, the major browsers they use, the demographics, etc... (for instance, you probably do not want to be designing some new age flashy site if the client's target users are old people...), IOW, give them something cheap that gets the job done... ...Or you can take the extra time and effort and give them something of high quality. Take the time to adhere to current best practices. Take the time to integrate it with whatever system they use instead of saying "I can dump the info at some email address and that's it". Take the time to get to know their target audience before designing the form/page. Etc... There is nothing wrong with doing it the first way, as long as you are advertising and selling it as such, instead of trying to make out like it is the 2nd. Because trying to sell a pinto as if it were a sports car is not ethical. It hurts other web devs who have to maintain or touch the code later for whatever reason. It hurts yourself because you lying about a product and eventually it will catch up to you. It hurts the client because you are ripping them off. It doesn't matter that they don't know either way, doesn't matter that they don't know anything about html validation etc.... That doesn't make it right. They hired YOU because YOU are supposed to know and steer them in the right direction. They hired YOU because they trust you know what to do and you're going to do it. If you want to tell the customer "Look, you don't *need* xyz so if you want a 'base model' something quick and dirty that works, I'll bust it out, charge you this much..." and then offer the better model as an upsell...that's FINE. As long as you are very clear to the customer about what they are getting, this is FINE. But don't try to sell customers pintos with sports car labels on them and use "they don't know what's under the hood anyways" as an excuse. That's shady and a good way to have black balls thrown at you. If that is not what you do...then I suggest you try hard to re-explain yourself, because these are the impressions you are conveying in your posts.
  7. you need someone to explain to you how to google for a tutorial about beautifying urls with mod rewrite?
  8. if you don't even know html then I would suggest you start with learning html first. And maybe css and javascript too, depending on what your overall goal is.
  9. that only looks to see if the variable is set. At most php would just give a notice. The error posted here means that somewhere in his code he isn't using quotes properly. But the code posted in and of itself is fine. So he needs to look around it.
  10. php is a server-side language. When the script is requested (like when you go to http://www.yoursite.com/yourscript.php) the server parses and executes all php and then outputs the results (if any) as the response (which the browser/client does whatever with it). You can *technically achieve what you are doing using ob_flush but it is seriously not advisable. If you want to have a countdown timer like that, you should use javascript, which is a client-side language. Basically you would just use setTimeout() to countdown (lots of basic js tuts for timers, give it a go in google).
  11. post more of the code around those lines.
  12. google mod rewrite and beautifying urls. Lots of tuts out there for that.
  13. well if that's your full code, then your first problem is that you aren't connecting to your database. Your 2nd problem is you don't have session_start.
  14. 1 2 3 4 5 6 or 1 4 2 5 3 6 ?
  15. be more specific than "it doesn't work". post errors, what it is supposed to be doing, what it is (not) doing.
  16. you need help with the phps?
  17. umm..no. Maq is right. You make $stop false and then make the condition to your loop be to run as long as $stop is true. A for loop runs as long as the condition evaluates true. Since true != false, the loop is never executed. And in your example, if for instance the current iteration of $i is 1 and the condition is $i < 10, that evaluates true, because 1 < 10 is true. p.s. - even if you change it to initially be true, you never actually change the value of $stop in the loop, so you will next open yourself up to an infinite loop.
  18. Where is that condition in relation to those loops? each returns the current key/value of the array and moves the internal pointer forward. Your loops work by doing that over and over until each returns false (no more array elements). If that condition comes after your loops, all you are doing is comparing false/null variables to false/null variables. The only way your condition is really gonna work is if you were to combine those two loops and put the condition inside the loop.
  19. If your example date is m/d/y format (as in, January 5th, 2009) then you can do this: $newDate = date('Y-m-d',strtotime($oldDate));
  20. Most viewed doesn't necessarily mean most popular. In order to rank by popularity, you need to implement a rating system, a way for users to rate the pictures. You would have them rate a picture 1-5 stars (or 1-10 scale or however you want it, doesn't really matter). What your database structure will look like largely depends on the details of how your db is setup for current data, details of how you want the rating system to work, and how much data you expect to be getting. But as an example to illustrate the principle, you would have a table in your database that looks something like this: [pre] pic_ratings pic_id user_id rating 1 1 4 1 2 3 1 3 4 2 1 2 2 2 5 2 3 3 [/pre] So basically for example when user1 rates picture1 4 stars, a row is added to the table. If you want the users to only vote once per picture, you would first check this table to see if there is an entry where pic_id = current pic and user_id = current user. To get a top ten by rating, you would do a query like so: select round(avg(rating)) as rating,pic_id from pic_ratings group by pic_id order by rating desc limit 10 This will return a list of the picture ids and their average rating.
  21. .josh

    Fail

    no u fail...zorz. kkthxbai.
  22. you cannot mix php and javascript like that. php is a server-side language, it gets parsed on the server and after it is done, the results are output, sent to the browser. From there, your javascript will be executed, because javascript is a client-side language, parsed and executed on the client (in this case, the browser). As far as php (and your server) is concerned, javascript is just arbitrary text.
  23. All by itself it works...though if all you want is the href="..." and all the relevant anchor tags have the class="catTitle" in it, you don't really need all that extra pattern matching surrounding it. But anyways, as mentioned, all by itself it works. I took the example html and code you have and put it on a test page and I get Array ( [0] => Array ( [0] => ASP Tutorials ASP Tutorials [1] => http://www.domain.com/asp-tutorials ) ) so if it's not working for you then... I would check to make sure that your $file variable is getting the content to regex in the first place.
  24. expressions are read left to right. You are assigning the value of $test to your post var, you need to be doing it other way around
  25. read the sticky about header errors in this forum.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.