I think there's a bug in their web site - it told me I had 427 viruses on C:, but I can't find C: anywhere. I looked in/home,/usr,/var,/srv,/etc,/root,/lib,/sys,/mnt,/opt,/proc,/other,/sbin,/bin,/boot,/dev,/media... I can't find any C:...
Seriously, with 8 gig usb keys going for $30, and the ease of installing linux on one, 500 gig hard drives going for $70, or booting off a dvd if you're REALLY cheap, there's no excuse to surf the web using Windows. It's like having sex with a million strangers - you KNOW no amount of protection is going to be enough - you're gonna catch SOMETHING.
Turn off the $$$ - the credit card companies know that payments to certain entities are for scam crap just from the number of complaints, but they still do nothing because, let's face it, a million sales @ $30 a pop == $30,000,000. 3.5% of that is over a million bucks. It's not in their immediate financial interest to turn off the tap.
Higher-Order Perl, is now available for free download. This is a great book that goes way beyond your normal programming reference. This will change the way you look at programs, and make you a better programmer in any language. It sits on that special shelf reserved for books like Structure and Interpretation of Computer Programs, The C Programming Language, and The Practice of Programming."
Funny, I would have thought it sat on a hard drive or a usb key or something...
"You have downloads on my bookshelf!"
"You have bookshelves on my downloads!"
Nope, sorry -unlike peanut butter and chocolate, downloads don't mix with bookshelves.
Those that don't understand java are doomed to repeat it.
Worse - their example doesn't even make sense...
Today, you could provide this feature using a combination of JavaScript and server side processing. This approach, however, would cause huge amounts of image data to be transferred between browser and the server, leading to an experience that would probably be painfully slow for users who just want to make a few simple changes. With the ability to seamlessly run native code on the user's machine, you could instead perform the actual image processing on the desktop CPU, resulting in a much more responsive application by minimizing data transfer and latency.
So you still end up downloading code... and probably a lot more code, since you don't have libraries like javax.swing sitting on the users' machine to tap into, you have to download an entire UI...
What would be better would be to more tha apps out of the browser completely. There's no reason that a java app sitting on your local machine can't do the photo touch-ups w/o having to be embedded in a browser, just like there's no reason you can't open up a remote file in the GIMP and edit it directly if you have the url, username, and password, without having to go through the hassle of right-click in your browser, save to disk, open in GiMP, edit, save to disk, then ftp'ing it back.
Of course, if too many people start relying on apps that interact directly with the net rather than through a web browser, google's business is threatened.
I took a lot of flak as a Californian who went to college in Terre Haute, when I made an offhand remark that I was surprised to find "Hoosier" the official term for a resident of Indiana, as I had grown up thinking it was similar to "hick."
Nothing, if you want people to think you're some PFY still living in your mommas' basement. It's become as inflated a term as "sanitation engineer" for garbageman, or "petroleum distribution technologist" for gas pump jockey.
Go ahead and put "webmaster" on your business cards. It'll help potential clients pigeon-hole you really quickly.
But an account number is not the equivalent of a direct debit card. It's not that easy to withdraw money from an account when all you have is the account number.
Every time you write a check, you're giving the recipient your bank address, bank account number... AND a specimen of your signature. OMG! Quick - millions of people compromised their bank accounts today!
how to see fifty clients a week (which, by the way, good luck - that's ten clients a day, which is highly unlikely even if you can find them)
My personal best is ~`69 in one 60-hour week; one of the people I trained in my techniques hit almost 150, and was consistently around the 100 per week mark. It's not that hard, once you learn the essentials - which are:
Go in
Be easy to talk to, but remember, this is NOT a social call.
Get the name of the person you need to see
If they're available, see them.
If they're not, thank the person you've talked to, leave your business card, and have them tell that person to expect either an email or a phone call within the next day
Follow up that night
You don't "cherry pick." You see EVERY business in the building, every business on the block. You don't know in advance who knows someone in another business who's looking for just what you have to offer...
There is NO reason not to be able to see 50 businesses a week if you're out of work and actively looking. Start at 8AM, end at 6 PM, continue straight through lunch (contrary to popular belief, lunchtime is great - a lot of smaller businesses, the receptionist is out, and one of the owners is "watching the fort". Ditto for after regular hours. I've seen multi-millionaires who've answered the phone after hours while I'm talking with them, and they say "No, he's not here right now. I'm just the cleaner." Being physically present after hours makes a god impression - it shows you're as hard-working as they are. They respect that.)
most in this post) read as though they were taken straight out of a 'how to' book on business - and not the freelance Web work they're looking at
The original poster has been laid off. It's not like they're looking for some work on the side... and we're in a recession that's turning into a depression. If you're going to take the time to do it, at least try to get the odds on your side, right? After all, self-styled "web developers" are crawling out of the woodwork in most areas.
If the original post was about doing some work "on the side" while keeping their day job, I'd agree, but this is someone who is unemployed and eeds to make this bring in a living wage on a regular basis, not "casual labour."
If they don't plan, they could easily find themselves wasting months that, a year down the road, could spell the difference between eating at home or living on the streets. It's called a depression, and we're probably headed into one. 25% unemployment is ugly.
Better to know what you're getting into up-front, and what can increase your chances of success, than to be all wishful thinking and not have a plan.
We're heading into what will probably be the worst recession / depression in 80 years. The time to hunker down, put your nose to the grindstone, etc., is now, not a year from now when you realize that the "I'll just wing it" approach isn't bringing results.
No offense but you seem to be describing the brute-force approach to being self-employed. Surely there's a better way which doesn't rely on the 'meet 1000 contacts, get one job' approach?
If you meet 100 people, 1 of them might have work for you in the next year - but do you really want to wait 11 months to find out? Besides, if you're not working on stuff for a customer, WTF aren't you out there hustling for more customers?
When you're freelancing, you should be in continuous job-search mode. You never want to be in the position where your livelyhood depends on only one or two customers.
I've trained a few people in what you call the "brute force" approach. There's a lot more to it than just hitting your daily numbers - but that's an important part of it. It works.
For the default in a switch, why not make the code self-documenting by making the last case fall through to the default statement:
case NO_DATA:
default:
// the NO_DATA code goes here
... your NO_DATA situation is now clearly also your default situation, and nobody should "make the mistake" of forgetting to add a break if they want to insert a new case;
As for the debugging printfs, that's a good case for using the comma operator in a macro to avoid introducing errors if you define something...:
You're just doing a swap, what's the big deal? There are other languages (perl, assembler) that let you swap two variables with one instruction, and it' safer than using a macro. The use of the comma operator makes it obvious which variable you want returned, saving anyuone reviewing the code from any doubt.
The "one-line conditional all on one line", well, I've done it both ways. If there's no "else" clause, what's the big deal. If there IS an else clause, then no, I stick it on a separate line, unless it's short, in which case the whole if-else statement is easily transformed into a one-liner using the ternary (a ? b : c) operator.
Here, here, it's a travisdy that he didn't post his entire business plan on Ask Slashdot.
Seriously, he just asked a simple question, I don't think he was looking for a lecture on how to start and run a business.
Seriously? Freelancing IS being in business. The government treats it as such. So do clients. It's not like they're looking for work mowing lawns or painting porches, something that's easily measured, easily priced, and easily evaluated as to "what has to be done." If you're thinking of just making a couple of grand to "tide you over" till your next "real" job, why not just mow lawns, shovel sidewalks, or paint porches? It's honest work, and there's a lot less hassle involved.
Someone laid off, looking to freelance, doesn't know how long it will be before they get another full-time job, so that freelance work *becomes* their full-time job. It needs to bring in enough money, on a consistent basis, to live on, which, if you're not living in your mothers' basement, means running it like a business.
If you're going to deal with businesses as a supplier, you might as well do so in a professional manner. The way the economy is going, by this time next year it might spell the difference between living comfortably and living in a cardboard box.
This time we're heading into what is shaping up to be the most serious recession since the Great Depression. If you were around in '74 or '81, you have an idea of how bad its' going to get - people who lose their jobs won't be able to count on just walking into a new one in a few months.
There's going to be some serious competition, so if you're going to compete, might as well compete to win. "Fail to plan" == "Plan to fail" and all that. In a case like the one in the article, the best bet would be to first off try to find a few other people with complementary skills, and pool resources. (Note - complementary - you don't want everyone in the group to be a clone of each other). A graphics artist should hook up with a developer; the two could hook up with someone who's good at administration, etc. The three of them could hit the local business sector street by street, each taking a block of office complexes, or a floor in a larger building, and sharing notes when they meet up every few hours, and significantly improve their chances of success.
Not only that, but they'll be able to role-play their "pitch", and they can give each other feedback on what's working and what's not in the real world. And if one of them is having a good day, it'll bring the other two up. Nothing worse than the sense of slogging it alone in the world.
A group of 5 people, each meeting for 10 minutes with one new contact, 10 times a day, gives 1,000 new contacts in one 20-work-day month. Three months of that and you're going to have work, plus hopefully each person will have found their "voice" - what works for them.
The problem is finding 4 other people. the poster was laid off - the first thing I would do in a similar situation is email my former coworkers and find out how many others are now in the same boat, and if any of them are interested in doing something about it...
As for how to take on contracts - everyone who's going to be involved in a potential contract gets to decide whether the group takes it on and what a fair apportionment of revenue is, and who is responsible for what. For example, the group may have decided to put a 20% bounty up for the person who lands the contract - this motivates everyone to hustle for contracts, while also creating the idea that in the future, if things grow, they can bring in a full-time rep and pay them out of that same 20% allowance.
The biggest problems are going to be a reluctance to call on businesses - most geeks don't have much in the way of people skills - and ego, which is just another name for a lack of certain people skills.
Read the standard. Leading underscores have always been reserved for the implementation in ANSI C, so unless you're writing the compiler itself, your code is flat-out wrong.
From my library: C - A Reference Manual, Harbison, Samuel P., and Steele, Guy L., Jr
Section 2.5 Identifiers.
In addition to avoiding the spelling of reserved words, a C programmer must guard against inadvertently duplicating a name used in the standard libraries. ANSI C specifically reserves these identifiers for their indicated uses, and further reserves for implementations all names beginning with an underscore; programmers should avoid creating such identifiers
You all seem to be misunderstanding what Web *Developer* means.
Please stop referring to writing HTML and/or CSS as 'coding'. Thank you.
Web Developer: Knows how to code in several server-side programming languages, including at least one (and more likely all) of the "p" scripting languages (php, python, perl), how to interact with one or more database backends (mysql, postgresql, oracle, etc), client-side programming languages (javascript, including XHR, JSON, etc); Knows the quirks wrt css in most browsers, knows what a DTD is and uses "strict". Must be able to maintain a test/development server, with version control, as well as maintaining the production web site. Codes to standards-compliant browsers first, then ports to IE, using the magic incantation "Fucking Internet Exploder" as many times as necessary - or more. Probably also knows Java, may also know C, C++, C#, assembler; can ssh to the dev box as necessary, scp files, uses svn or git, has strong opinions about sml, the vi vs emacs wars, knows what a LART is, and isn't afraid to use it.
Web Monkey. "I know Photoshop and/or Dreamweaver and/or Frontpage, and I can drink just as much coffee as a real developer. HTML is too coding! I copied this javascript to do mouse rollovers - isn't it cool? Wait until you see what your site looks like when I do it ALL in Flash. Firefox? No, I use Windows." Sometimes targeted for LARTing by bored Web Developers.
This has been a public service announcement. Please resume your usual trolling^Wdiscussion
Contracts? From reading the article, contracts are really premature. The person asking the question is too vague about too many things. They should have at least gone into some detail about their skills, experience, and target market. "I want to freelance as a web developer" sounds more like an act of desperation than a person with a plan.
Just some of the basics that are missing:
What market you want to attack in terms of clients - size, type of projects, supported technology - you can't hit your target if you don't have one. Is there even a market for what you're trying to sell? If so, where? "Don't know?" means you've already earned an F.
What skills and experience you have, and what you've done to ensure that you have contacts with others who have complementary skills. The wold doesn't need YAFPWM (Yet Another FrontPage WebMonkey) or another "I know Dreamweaver so I'm a 1337 web developer and deserve big bux."
What corporate sales experience you have - you REALLY need people skills to survive in business, and make no mistake about it, if you're freelancing, you're running a business, competing with other businesses. Have you ever cold-called on businesses? You need to see at LEAST 50 a week for the next 3 months, and devote 1 day a week thereafter, or you'll get stale fast, and someone else will eat your lunch when you're not looking. If you can't learn how to call on business, and ENJOY it, then being in business even as a freelancer is not for you.
What sort of initial setup you have. Most web developers, even if they're not freelancing, already have a laptop (good for meeting with potential customers), a hosting provider already running a few sites, a server at home for putzing around with that could quickly be converted to a test box, a collection of tools and software you're familiar with, a decent camera and/or camcorder, and a laser printer. These are basic tools of the trade, and without them, you can't compete - it'll be poor presentation, poor preparation, and poor perception on the other side of the table.
Transportation - after all, you're going to have to go out there and SEE potential clients. Spamming them with "hey, I'm a web developer and I want to enlarge YOUR business" isn't going to work. You need to spend on gas and shoe leather. Sure, "the internet is my market" - but people are more likely to trust someone if they have met them in person. Trust is essential. Your market is local, unless you're competing solely on price with rent-a-coders.
You'll also find that you need to dress the part - and I don't mean casual Friday "webmonkey", but "entrepreneur."
Business cards, complete with both physical and email address (NO POST OFFICE BOX!!!), cell phone, and web site, are de rigeur. Buy a few thousand, not a few hundred, Remember, you need to see 50 potential clients a week, so 1,000 goes fast at 2 cards a pop. And don't be cheap. Cheap shows. Worst is if you print them up yourself. You might as well hang yourself first. And put your cell phone or blackberry number on them - you need to be reachable. You'll really be pissed off if the client who could have made your year couldn't reach you. If you're not getting a blackberry or an iFruit with a data plan, put your cell phone SMS number on it (the one that people can send email to from their pc and it goes through your providers' email gateway).
Staying power. You need to be able to last at least 6 months before you earn any money, or you don't have a prayer. Reduce your non-business expenses, get focused, and be ready to put in a lot of 18-hour days - daytimes prospecting, evenings preparing, planning, and polishing. If you can get unemployment, get it. If you can find part-time paid work as an employee, take it.
If, after looking at this list, you see you don't have the resources to pull it off, maybe it's because succeeding in business is more than just "doing a job." Perhaps it's because now is just not the right time for you. Perha
I don't know the password to select an external boot device, and staff is unwilling to help me out. Or the library may have deployed dumb terminals such as those made by NComputing, and I don't have physical access to the terminal server. Besides, when the USB ports on the front of the PC are filled with epoxy, fooling around with the ports on the back might look suspicious enough to get me kick-banned from the library
Sometimes freedom comes with a price - like buying your own hardware. If you want to use other people's hardware, you have to respect their terms and conditions, same as if you borrow a shovel or a drill from someone, you're expected to return it cleaned up and in good working order.
As for the console stuff, this is the same bitching and whining that people do over Tivo - sometimes, to be free means giving up something. In other words, don't buy a Tivo. Ditto for the consoles.
As for this:
You can get phones that were never locked (just not from your local phone company, who subsidizes your phone purchase by "locking you in")
I can, but my customers either don't know this or aren't willing to pay hundreds extra up front for the privilege of running unsigned apps. Therefore, I must write software in Java if I want to deploy it on customers' phones.
... freedom doesn't mean free. All freedom comes with a cost, just as giving up freedom also comes with a cost. As for the "I must write software in Java if I want to deploy it on customers' phones" - Java isn't that hard to learn. Heck, you can implement most java code using a bunch of c preprocessor macros and a perl script if you really want to - but that also would require you to learn the language, so why not just learn it?
syntactically, c isn't that complicated a language. Compare it to perl, which, as someone once said, looks like line noise.
We all make bone-headed mistakes, and hopefully, we all learn from them. For example, after getting bit by an else statement that is indented so that it looks like it belongs to an outer-level if, you learn to associate the else statement with the preceding/nearest if, and you'll quickly spot code that is indented "wrong".
Ditto for single-line statements that aren't blocked. When you want to add a statement, you automatically add the { }. What's the big deal? You forget one time, pay your dues, lesson learned, and move on. You shouldn't suddenly have this urge to "protect yourself" by blockifying every single piece of code... that's on a par with commenting every single line... a waste of time.
Paypal and iTunes - now that's a marriage made in hell.
I can't wait until the day when everyone can accept email payments.
Really? That's the new name for Vista?
I think there's a bug in their web site - it told me I had 427 viruses on C:, but I can't find C: anywhere. I looked in /home, /usr, /var, /srv, /etc, /root, /lib, /sys, /mnt, /opt, /proc, /other, /sbin, /bin, /boot, /dev, /media ... I can't find any C: ...
Seriously, with 8 gig usb keys going for $30, and the ease of installing linux on one, 500 gig hard drives going for $70, or booting off a dvd if you're REALLY cheap, there's no excuse to surf the web using Windows. It's like having sex with a million strangers - you KNOW no amount of protection is going to be enough - you're gonna catch SOMETHING.
Turn off the $$$ - the credit card companies know that payments to certain entities are for scam crap just from the number of complaints, but they still do nothing because, let's face it, a million sales @ $30 a pop == $30,000,000. 3.5% of that is over a million bucks. It's not in their immediate financial interest to turn off the tap.
Funny, I would have thought it sat on a hard drive or a usb key or something ...
"You have downloads on my bookshelf!"
"You have bookshelves on my downloads!"
Nope, sorry -unlike peanut butter and chocolate, downloads don't mix with bookshelves.
Worse - their example doesn't even make sense ...
So you still end up downloading code ... and probably a lot more code, since you don't have libraries like javax.swing sitting on the users' machine to tap into, you have to download an entire UI ...
What would be better would be to more tha apps out of the browser completely. There's no reason that a java app sitting on your local machine can't do the photo touch-ups w/o having to be embedded in a browser, just like there's no reason you can't open up a remote file in the GIMP and edit it directly if you have the url, username, and password, without having to go through the hassle of right-click in your browser, save to disk, open in GiMP, edit, save to disk, then ftp'ing it back.
Of course, if too many people start relying on apps that interact directly with the net rather than through a web browser, google's business is threatened.
Way to go, you hoser!
Nothing, if you want people to think you're some PFY still living in your mommas' basement. It's become as inflated a term as "sanitation engineer" for garbageman, or "petroleum distribution technologist" for gas pump jockey.
Go ahead and put "webmaster" on your business cards. It'll help potential clients pigeon-hole you really quickly.
Every time you write a check, you're giving the recipient your bank address, bank account number ... AND a specimen of your signature. OMG! Quick - millions of people compromised their bank accounts today!
Gee, I get the same Mode when I ping George W. Bush. Nice to know the Internet stopped him from doing anything crazy or illegal.
My personal best is ~`69 in one 60-hour week; one of the people I trained in my techniques hit almost 150, and was consistently around the 100 per week mark. It's not that hard, once you learn the essentials - which are:
You don't "cherry pick." You see EVERY business in the building, every business on the block. You don't know in advance who knows someone in another business who's looking for just what you have to offer ...
There is NO reason not to be able to see 50 businesses a week if you're out of work and actively looking. Start at 8AM, end at 6 PM, continue straight through lunch (contrary to popular belief, lunchtime is great - a lot of smaller businesses, the receptionist is out, and one of the owners is "watching the fort". Ditto for after regular hours. I've seen multi-millionaires who've answered the phone after hours while I'm talking with them, and they say "No, he's not here right now. I'm just the cleaner." Being physically present after hours makes a god impression - it shows you're as hard-working as they are. They respect that.)
The original poster has been laid off. It's not like they're looking for some work on the side ... and we're in a recession that's turning into a depression. If you're going to take the time to do it, at least try to get the odds on your side, right? After all, self-styled "web developers" are crawling out of the woodwork in most areas.
If the original post was about doing some work "on the side" while keeping their day job, I'd agree, but this is someone who is unemployed and eeds to make this bring in a living wage on a regular basis, not "casual labour."
If they don't plan, they could easily find themselves wasting months that, a year down the road, could spell the difference between eating at home or living on the streets. It's called a depression, and we're probably headed into one. 25% unemployment is ugly.
So stop drinking from them, already!
Now you know where the new CowGirlNeal option came from ...
Better to know what you're getting into up-front, and what can increase your chances of success, than to be all wishful thinking and not have a plan.
We're heading into what will probably be the worst recession / depression in 80 years. The time to hunker down, put your nose to the grindstone, etc., is now, not a year from now when you realize that the "I'll just wing it" approach isn't bringing results.
If you meet 100 people, 1 of them might have work for you in the next year - but do you really want to wait 11 months to find out? Besides, if you're not working on stuff for a customer, WTF aren't you out there hustling for more customers?
When you're freelancing, you should be in continuous job-search mode. You never want to be in the position where your livelyhood depends on only one or two customers.
I've trained a few people in what you call the "brute force" approach. There's a lot more to it than just hitting your daily numbers - but that's an important part of it. It works.
As for the debugging printfs, that's a good case for using the comma operator in a macro to avoid introducing errors if you define something ...:
The language has it, why not use it?
You're just doing a swap, what's the big deal? There are other languages (perl, assembler) that let you swap two variables with one instruction, and it' safer than using a macro. The use of the comma operator makes it obvious which variable you want returned, saving anyuone reviewing the code from any doubt.
The "one-line conditional all on one line", well, I've done it both ways. If there's no "else" clause, what's the big deal. If there IS an else clause, then no, I stick it on a separate line, unless it's short, in which case the whole if-else statement is easily transformed into a one-liner using the ternary (a ? b : c) operator.
Seriously? Freelancing IS being in business. The government treats it as such. So do clients. It's not like they're looking for work mowing lawns or painting porches, something that's easily measured, easily priced, and easily evaluated as to "what has to be done." If you're thinking of just making a couple of grand to "tide you over" till your next "real" job, why not just mow lawns, shovel sidewalks, or paint porches? It's honest work, and there's a lot less hassle involved.
Someone laid off, looking to freelance, doesn't know how long it will be before they get another full-time job, so that freelance work *becomes* their full-time job. It needs to bring in enough money, on a consistent basis, to live on, which, if you're not living in your mothers' basement, means running it like a business.
If you're going to deal with businesses as a supplier, you might as well do so in a professional manner. The way the economy is going, by this time next year it might spell the difference between living comfortably and living in a cardboard box.
This time we're heading into what is shaping up to be the most serious recession since the Great Depression. If you were around in '74 or '81, you have an idea of how bad its' going to get - people who lose their jobs won't be able to count on just walking into a new one in a few months.
There's going to be some serious competition, so if you're going to compete, might as well compete to win. "Fail to plan" == "Plan to fail" and all that. In a case like the one in the article, the best bet would be to first off try to find a few other people with complementary skills, and pool resources. (Note - complementary - you don't want everyone in the group to be a clone of each other). A graphics artist should hook up with a developer; the two could hook up with someone who's good at administration, etc. The three of them could hit the local business sector street by street, each taking a block of office complexes, or a floor in a larger building, and sharing notes when they meet up every few hours, and significantly improve their chances of success.
Not only that, but they'll be able to role-play their "pitch", and they can give each other feedback on what's working and what's not in the real world. And if one of them is having a good day, it'll bring the other two up. Nothing worse than the sense of slogging it alone in the world.
A group of 5 people, each meeting for 10 minutes with one new contact, 10 times a day, gives 1,000 new contacts in one 20-work-day month. Three months of that and you're going to have work, plus hopefully each person will have found their "voice" - what works for them.
The problem is finding 4 other people. the poster was laid off - the first thing I would do in a similar situation is email my former coworkers and find out how many others are now in the same boat, and if any of them are interested in doing something about it ...
As for how to take on contracts - everyone who's going to be involved in a potential contract gets to decide whether the group takes it on and what a fair apportionment of revenue is, and who is responsible for what. For example, the group may have decided to put a 20% bounty up for the person who lands the contract - this motivates everyone to hustle for contracts, while also creating the idea that in the future, if things grow, they can bring in a full-time rep and pay them out of that same 20% allowance.
The biggest problems are going to be a reluctance to call on businesses - most geeks don't have much in the way of people skills - and ego, which is just another name for a lack of certain people skills.
Read the standard. Leading underscores have always been reserved for the implementation in ANSI C, so unless you're writing the compiler itself, your code is flat-out wrong.
From my library: C - A Reference Manual, Harbison, Samuel P., and Steele, Guy L., Jr
Section 2.5 Identifiers.
In addition to avoiding the spelling of reserved words, a C programmer must guard against inadvertently duplicating a name used in the standard libraries. ANSI C specifically reserves these identifiers for their indicated uses, and further reserves for implementations all names beginning with an underscore; programmers should avoid creating such identifiers
Web Developer: Knows how to code in several server-side programming languages, including at least one (and more likely all) of the "p" scripting languages (php, python, perl), how to interact with one or more database backends (mysql, postgresql, oracle, etc), client-side programming languages (javascript, including XHR, JSON, etc); Knows the quirks wrt css in most browsers, knows what a DTD is and uses "strict". Must be able to maintain a test/development server, with version control, as well as maintaining the production web site. Codes to standards-compliant browsers first, then ports to IE, using the magic incantation "Fucking Internet Exploder" as many times as necessary - or more. Probably also knows Java, may also know C, C++, C#, assembler; can ssh to the dev box as necessary, scp files, uses svn or git, has strong opinions about sml, the vi vs emacs wars, knows what a LART is, and isn't afraid to use it.
Web Monkey. "I know Photoshop and/or Dreamweaver and/or Frontpage, and I can drink just as much coffee as a real developer. HTML is too coding! I copied this javascript to do mouse rollovers - isn't it cool? Wait until you see what your site looks like when I do it ALL in Flash. Firefox? No, I use Windows." Sometimes targeted for LARTing by bored Web Developers.
This has been a public service announcement. Please resume your usual trolling^Wdiscussion
Contracts? From reading the article, contracts are really premature. The person asking the question is too vague about too many things. They should have at least gone into some detail about their skills, experience, and target market. "I want to freelance as a web developer" sounds more like an act of desperation than a person with a plan.
Just some of the basics that are missing:
If, after looking at this list, you see you don't have the resources to pull it off, maybe it's because succeeding in business is more than just "doing a job." Perhaps it's because now is just not the right time for you. Perha
... or you can drop at least two of them ... for example, ActionScript and C#. java runs on pretty much everything you'd be running business logic on.
Sometimes freedom comes with a price - like buying your own hardware. If you want to use other people's hardware, you have to respect their terms and conditions, same as if you borrow a shovel or a drill from someone, you're expected to return it cleaned up and in good working order.
As for the console stuff, this is the same bitching and whining that people do over Tivo - sometimes, to be free means giving up something. In other words, don't buy a Tivo. Ditto for the consoles.
As for this:
syntactically, c isn't that complicated a language. Compare it to perl, which, as someone once said, looks like line noise.
We all make bone-headed mistakes, and hopefully, we all learn from them. For example, after getting bit by an else statement that is indented so that it looks like it belongs to an outer-level if, you learn to associate the else statement with the preceding/nearest if, and you'll quickly spot code that is indented "wrong".
Ditto for single-line statements that aren't blocked. When you want to add a statement, you automatically add the { }. What's the big deal? You forget one time, pay your dues, lesson learned, and move on. You shouldn't suddenly have this urge to "protect yourself" by blockifying every single piece of code ... that's on a par with commenting every single line ... a waste of time.