|
I think that is the key, attitude. I don't think it really matters if a programmer is a contractor or not. I've worked with programmers, both contractors and permanent hires, who really didn't care if their work met standards as long as it worked.
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
That's young?
By 15 I was aligning heads on disk drives and terminating RS232 cables.
My first desk was literally a cable spool on it's side.
Great times.
|
|
|
|
|
With 12 I built my first computer.
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
I started tinkering with computers a while ago - maybe around '95 or '96. I've only been in professional developer roles for about 5 years though.
djj55: Nice but may have a permission problem
Pete O'Hanlon: He has my permission to run it.
|
|
|
|
|
I've found the chances of getting a good contractor for you, is about 50%.
As far as I can tell, being a contractor can make you a very good developer but perhaps the experience earned is shallow.
|
|
|
|
|
I can understand your position, but in my case, I have found that contracting made me more versatile, both in technology and business. Every contract that I had the pleasure of working was different from the others. I've worked in banking, insurance, publishing, medical, and scientific. I've worked for NASA, DoD, Juniper Financial, Cigna Insurance, Boeing and alike. The technologies I have learned over the years span from assembler to C#.NET, from standard HTML (from the 90's) to ASP.NET. I have also had permanent jobs that lasted up to 7 years, so I've had the best of both worlds. I've also had the pleasure of traveling to many cities in the U.S. and Europe.
It really boils down to what you make out of it. Contractors can be shallow if they are lazy and don't put any effort into their career. Those are the ones that can be and usually are shallow.
When you are dead, you won't even know that you are dead. It's a pain only felt by others.
Same thing when you are stupid.
modified 19-Nov-21 21:01pm.
|
|
|
|
|
Another question is why would you want a query to be executed like that.
Assuming that "field1" and "field2" are fields coming from the UI (user), they could easily be manipulated to allow SQL Injection.
|
|
|
|
|
Not with Entity Framework. The placeholders in the query are replaced with parameter names, not the values passed in to the method.
Tracing through the code, you eventually come to the System.Data.Entity.Core.Objects.ObjectContext.CreateStoreCommand method. The relevant part of the code looks something like this:
if (parameters != null && parameters.Length > 0)
{
DbParameter[] values = new DbParameter[parameters.Length];
if (parameters.All(p => p is DbParameter))
{
for (int i = 0; i < parameters.Length; i++)
{
values[i] = (DbParameter) parameters[i];
}
}
else
{
if (parameters.Any(p => p is DbParameter))
{
throw new InvalidOperationException(...);
}
string[] parameterNames = new string[parameters.Length];
string[] parameterNamesWithPrefix = new string[parameters.Length];
for (int i = 0; i < parameters.Length; i++)
{
parameterNames[i] = string.Format(CultureInfo.InvariantCulture, "p{0}", i);
parameterNamesWithPrefix[i] = "@" + parameterNames[i];
values[i] = command.CreateParameter();
values[i].ParameterName = parameterNames[i];
values[i].Value = parameters[i] ?? DBNull.Value;
}
command.CommandText = string.Format(CultureInfo.InvariantCulture, command.CommandText, parameterNamesWithPrefix);
}
command.Parameters.AddRange(values);
}
So if you pass in the parameter values, rather than DbParameter s, the code will automatically create parameters called p0 , p1 , etc., and insert the parameter names into the query.
"These people looked deep within my soul and assigned me a number based on the order in which I joined."
- Homer
|
|
|
|
|
|
Actually looks like a pretty standard approach for SQL databases.
The SQLSTATE stuff is supported by Postgress, MySQL, MariaDB, SQL Server, surfaced by ODBC, DB2, etc.
It allows a query or procedure to return errors and/or informational messages. An error indicates processing could not complete, and informational message may, for example, warn of data truncation but allow the task to finish.
"If you don't fail at least 90 percent of the time, you're not aiming high enough."
Alan Kay.
|
|
|
|
|
It seems all the code I've been given to look at recently has not a care at all about scoping - every field, property, function and constructor is public and it is up to the user of that code to decide if they can, in fact, use it or not....
|
|
|
|
|
Back to COBOL?
Skipper: We'll fix it.
Alex: Fix it? How you gonna fix this?
Skipper: Grit, spit and a whole lotta duct tape.
|
|
|
|
|
Yes - except now with race conditions...
|
|
|
|
|
I used to work for someone who liked all the variables to be public so that he would have easy access to anything he wanted. There is a reason I don't work there anymore.
Just because the code works, it doesn't mean that it is good code.
|
|
|
|
|
Yes, that's a great programming paradigm. Whenever you might need access to some property or function, you can do it. Well, better yet when everything is static or only one big class. YAGNI , SRP and Co. are for script kiddies only!
|
|
|
|
|
I can top that.
One of my classmates from Purdue wrote an application where EVERYTHING was private and had to be used through reflection. Everything. Constructors, properties, methods, events, etc.
All this in Java.
The assignment was to write a simple timer with a Gui (extra credit project). It was graded on functionality, code quality (with some pretty strict rules), and accuracy.
His didn't even work. It would go 1... 2... 9... 23... 99... etc.
He failed for obvious reasons.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Why did he fail? His idea is as revolutionary as long ago the WOM (write only memory).
The language is JavaScript. that of Mordor, which I will not utter here
This is Javascript. If you put big wheels and a racing stripe on a golf cart, it's still a f***ing golf cart.
"I don't know, extraterrestrial?"
"You mean like from space?"
"No, from Canada."
If software development were a circus, we would all be the clowns.
|
|
|
|
|
He failed every assignment, as that was how he did EVERYTHING. He actually caused the grading server to crash and corrupt the system drive with a bug in the JVM in a class he wasn't supposed to use for that assignment.
He didn't seem to get why it was a bad idea, either.
He ended up dropping out of the CIS program and going for a anthropology major instead.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Brisingr Aerowing wrote: He actually caused the grading server to crash and corrupt the system drive with a bug in the JVM in a class he wasn't supposed to use for that assignment. So he knew exactly what he was doing?
|
|
|
|
|
Well, it took a week for the grading server to be brought back online (someone had turned backups off), so we didn't know how we did on two assignments for that week. That was majorly stressful.
The student was given an warning that if that happened again, he would be indefinitely suspended for violation of a rule about damaging university property.
After he failed the class, he was forced to drop out of the program and go into a probationary period in another department.
I don't know what happened to him after that.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
So a bug in the JVM caused the server to crash?
So Sun/Oracle messes up (for making such a severe bug!), your school messes up (for not having backups!), and the "dumb" student gets a warning?
Unless this student did indeed know exactly what he was doing he sounds like the only one who didn't do anything wrong, except mess up an assignment. Which would be even more worrying as a dumb student can apparently crash complete servers
I'm not sure what to think of this, except that I'm glad I'm not in school and I'm not working with Java or the JVM
|
|
|
|
|
Sander Rossel wrote: and the "dumb" student gets a warning?
That's been the first answer there for a long time.. like back when the Morris worm came through and a friend of mine almost got expelled because someone else guessed the engineering computing network's root password.. dietcoke.. how lame of a root password can you get
We can program with only 1's, but if all you've got are zeros, you've got nothing.
|
|
|
|
|
It was an older Linux system that wasn't all that stable (where the true bug was, a faulty system call that the JVM used), and JDK 1.3 (yes, 1.3).
I think it was an intern working the server that turned off backups (just didn't know what he was doing).
As for the warning, Purdue has a rule about those kind of things that goes in the progression of Warning, Failed Class, Expulsion (apparently a legal requirement of some sort).
The fact that the system was so old and the other failures by the CS department were also taken into account, and lead to reprecussions for some professors for putting such a security hole in the university network. (The system was from 2004, and this incident was in 2011)
This was the students' first offense, so it was only a warning.
Most people got bad grades as the professor was using JDK 1.6 at the time. There was a major regrading and reevaluation of people who failed the class due to this, and some people were fired in the process (the professor who had set up the server that way, some IT personnel for not vetting the server as they should have, and some other people for various things).
It was kind of crazy.
What do you get when you cross a joke with a rhetorical question?
The metaphorical solid rear-end expulsions have impacted the metaphorical motorized bladed rotating air movement mechanism.
Do questions with multiple question marks annoy you???
|
|
|
|
|
Duncan Edwards Jones wrote: every field, property, function and constructor is public
Well, is it? Is everything you are working on, available outside the "black box"? If not, then are you allowed to change it?
|
|
|
|
|
No - from a business point of view some of these properties cannot be changed after the class was created (for one example there are running balance properties that get updated when a trade record is added - if these are also public and can be monkeyed around with outside the class it causes all sorts of problems when the trade history doesn't match the running balance)
|
|
|
|