Rashakil Fol 978 Super Senior Demiposter Team Colleague

There is no restriction that the numbers must be integers for question 1.

Proof please.

That's the definition of "negative". FFS what did you think negative meant?

This is just wrong. If it were true then i would equal 1 or -1.

Instead of talking about stuff you don't have a clue about, you should try not talking about stuff you don't have a clue about. It's a good idea.

pyTony, on the other hand, manages to talk about mathematics without just making stuff up and then arguing with standard definitions.

And no it would simply mean that abs(i) equals 1.

Ssyxz commented: No need to be an ass. -1
Rashakil Fol 978 Super Senior Demiposter Team Colleague

Take some Ritalin and use C++, or just freaking use C#. You can use C++ (or objective-C++ with minimal touching of objective-c stuff) for iPhone apps.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Unless there's some atypical definition of dot product, you can't take the dot product of two matrices, or of a matrix and a vector.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

You need to get libgtk-dev or whatever the appropriate -dev package is called.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

I don't even know how to make a 'Hello World' app in java, and I make more money with a 2 year technologist diploma writing in C#, VB.Net and VB6 than a Mechanical Engineer with 7 years experience and a nearly complete masters degree that also works for my company.

Well of course you do. Computer scientists and programmers can easily be much more productive than most mechanical engineers.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Hook up some autonomous drone software with some facial recognition and build a flying killbot.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

If it's supposed to be impossible for a value to be null, don't check if it's null. But if it's possible and all you want to do is exit the function, either way is fine. Do what you want.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Obviously it's PHP.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

My suggested title is:

"Energy-Efficient Clouds of Mobile Computers With No Concern For Security Issues"

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Yeah, there's a way. Learn C++ and then use Webkit.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

PHP is obviously better because the security holes and developer incompetence make life more interesting.

jbennet commented: :) +0
Rashakil Fol 978 Super Senior Demiposter Team Colleague

1.) Are any of you Computer Software Engineers?

Yes. That is, I am one.

2.) What do you do in your everyday job? (If Employed)

Right now I work on a high performance database engine.

3.) What is your primary language? (VB.NET, C#, C++, etc.)

I don't have a primary language. None of my coworkers have primary languages. Our product is written in C++, though. Right now we deal with a lot of C++ and Python, at quantities within the same order of magnitude.

4.) Why do you need to take Calculus and Physics to be a Computer Software Engineer?

You don't need calculus if you want to be a developer.

But learning calculus does teach you all sorts of useful things that if you're smart will help you with things you're programming. For example if you want to generate N unique random integers from 1 to 1000000 by generating individual random numbers from 1 to 1000000 and throwing out duplicates, you might want to know how many it can take. That's kind of hard to treat as a discrete problem, but if you treat it as continuous you can treat the thing as differential equation which is easily solved and you'll see that you'll need approximately -1000000 * log(1 - N/1000000) individual random numbers chosen. That's can help you pick the right value of N at which to switch to a different random number generation method, but outside of generating distinct …

Rashakil Fol 978 Super Senior Demiposter Team Colleague

You're right but wouldn't an default uninitialized enum be assumed to be of int?I mean it wouldn't make much sense for a long long variable to hold a value of say .. 1

It could be a signed char, or a signed short, or... I guess it could be an unsigned type, but I don't really know.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

in which case you are creating an alias for each enumeration's type.You need an explicit cast (type conversion) as Kanoisa mentioned and since the two types are primitive and share the same size (4 bytes) this is ok.

They are not the same size. The only think you know about the enumeration type is that it's big enough to hold all the enumeration values. You don't know how many bytes it is, and different enumeration types can have different sizes.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Hi,

if Rashakil's explination is beyond you, you can use a typecast to treat your enum as say an integer.

This won't work. Your code won't compile, and even if it could compile, it would not work properly at runtime. (That's why it doesn't compile. Casting between references to different integral types, which is probably what you actually wanted, also wouldn't necessarily work properly at runtime, and I don't think why you'd think it would, unless you were severely confused. Making stuff up is a deprecated form of autodidacticism. In the future, you should try something that involves facts.)

Kanoisa commented: Thanks for the correction +5
Rashakil Fol 978 Super Senior Demiposter Team Colleague

Is it possible for the 'cin' to work directly with 'mycolor' here, or would you need to create an int as the only way to do that? It seems like that's not the only way, otherwise why does line 5 work in the above example? It's taking a value that's not an int there.

The way the expression cin >> foo works is that it calls a function with signature istream& operator>>(istream&, type_of_foo&) where type_of_foo is the type of the variable foo.

The expression cin >> foo is another way to write the expression operator>>(cin, foo) , which is a function call. It just calls the function, which does nothing magical, it reads a few characters off of the input stream and does some math on them to convert them to whatever value of type type_of_foo they were representing, and then writes that value to the variable.

It takes the value cin (which is just a global variable containing a value somewhere) as its first argument.

There are definitions of this function for a whole bunch of types. There's definitions of istream& operator>>(istream&, double&) , istream& operator>>(istream&, string&) , and so on. Different functions can have the same name (which in this case is "operator>>") as long as they have different argument types.

There is no definition of the function istream& operator>>(istream&, color_t) anywhere. C++ does not automatically define such functions just because you've created an enumeration type. You could write such a definition yourself though.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

I guess that means you should input to an int and then check the range of the int and then copy the int to the enum type variable.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

1. I'm not telling you my name. My job is "Systems Engineer" but "Software Engineer" or "Software Developer" or "Computer Programmer" would also fit.

2. Every day.

3. Not very important, because usually it's code comments and IRC messages, which is far less important than the actual code. Discussions are a more important form of communication at my company, but that's partly because it's small. As you grow you need more in writing.

4. Not really.

5. See #3.

6. This question makes no sense.

7. There are none. The only thing that matters is that the writing says what is needed to be said.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

It will soon be time for me to choose where to go to post secondary. I am wondering what schools people suggest preferrably in Ontario, Canada. I plan to go for Software/Video Game development/programming (because of my lack of artistic ability), Web Development, and Mobile development. I will accept any suggestions. Thanks for the info.

Get a list of top CS programs or top schools and work your way down the list. Waterloo and U of T come to mind.

Look at http://www.usnews.com/education/worlds-best-universities-rankings/best-universities-in-canada for starters. It doesn't rank by CS programs but they (the ones in Ontario) are the first to look at.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

No.

By the way, wtf is up with the advertisement in this thread?

"Trying to Encrypt Your DB with MD5? ******* already does it. Try now!"

WTF.

Edit: But you can surely find one.

Since you're talking about a hash that outputs 32 characters (in hexadecimal, which presumably is what you're talking about), each character has a 5/8 chance of being a decimal digit and a 3/8 chance of being a letter.

That means there's a (5/8)^32 chance of them all being decimal digits.

Which means it will take on average 1/(5/8)^32 guesses to get such a hash, which is easily small enough for a computer to brute force.

Finding a hash with just letters is about 8 million times harder than that.

JeffGrigg commented: Good explanation that hex contains both decimal digits and letters (A-F). +5
Rashakil Fol 978 Super Senior Demiposter Team Colleague

You didn't even print the warning message.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

??? is an invalid trigraph.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

I'd be willing to help you by email for $300/hr, 1 hour minimum. My email's in my profile.

jwenting commented: bit cheap, Rashakil :) +15
Rashakil Fol 978 Super Senior Demiposter Team Colleague

Let's not mention Clang or anything.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

[In case you're not up-to-speed with the threading thing: The number of CPU cores will probably double every 18 months for the foreseeable future, and yet nearly all of our most commonly used programming models are sequential -- IE: single threaded. That's a problem.]

Not really. Single-threaded programs still work perfectly fine. Also, the vast majority of "business programming" (*twitch*) is already multithreaded -- most web apps use multiple threads just fine. Multithreading is not the hard part.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Python, Ruby.

Now, these aren't "uber high-level" (I would put Haskell, Scala in that category, and they have a large learning curve), they're just normal useful languages.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

I only met two university graduates who could not program their way out of a paper bag (in this environment). The only programmer I met who was not certified was a complete failure as a programmer.

Let me get this straight. Not counting the set of programmers who have certifications but no degree, you have met exactly three bad programmers.

And you have only met one programmer who didn't have a certification in something.

I have an alternate theory to explain your experiences: You're incapable of discerning between good and bad programmers.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

I'd like to know your answer to this question:
If you take two otherwise identical hiring processes where one hires without giving any programming tests, while the other gives programming tests but doesn't know anything about a person's degrees or certs, who will hire better programmers?

Any institution that churns out unqualified graduates soon loses its accreditation.

That's funny because I see a lot of institutions that churn out unqualified graduates and haven't lost accreditation.

But your statement seems to say that formally untrained programmers on the whole are more capable than ones with certification.

No, I'm saying that running the Bayesian update function on X's programming ability when given information about degrees an certs is miniscule when there is so much better information.

I'm not saying that P(X is a good programmer | X has no degree or certs) > P(X is a good programmer).

I'm not even saying that P(X is a good programmer | X has no degree or certs) > P(X is a good programmer | X is a programmer).

I have said that P(X is a good programmer | X has listed a certification on his resume) < P(X is a good programmer). This isn't because getting the certification made him dumber, it's because probably he was dumb enough to need a certification, or to think he needed a certification, in the first place. Any good programmer can get a good job out of college, and continue getting good jobs, …

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Would you care to back up those sweeping generalizations with some actual facts?

Uh, they already are facts. You should try coming up with facts to support whatever beliefs you have. But I guess your beliefs are privileged, because they're yours, and they don't need to have any basis in reality.

Because in reality, the only meaningful predictor of a person's ability to code is examples of past code they've written and the ability to solve trivial problems (such as FizzBuzz or turning a binary search tree into a doubly linked list, in place) on a whiteboard. After all, there are MIT grads who can't grok recursion and there are people with associates degrees who are way better than most people here. There exist no institutions in the world that accurately label people with a "this is a good programmer" stamp, except for the institution of looking at their code on github and asking them to write code on the whiteboard.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Yes, zdep had posted badly formatted code to solve aomas98's problem. What grade do you think zdep should get for his effort? What about aomas98? Who should pass the class?

ztdep deserves the detah penalty, aomas98 deserves life in prison, with parole. What do I win?

iamthwee commented: You win th3 shobadobs b3st piano play3r award on Youtube. +15
Rashakil Fol 978 Super Senior Demiposter Team Colleague

But if you want my answer, I'd say that Jython is a pretty good suggestion. Note that Java, and thus Jython, can always call out to C++ code if the CPU ever becomes a bottleneck. It won't though -- L2 cache and total RAM will be your bottleneck.

Edit: I would recommend Scala more strongly than Jython as your choice of JVM language. If you gave my coworkers the choice, we would surely go with Scala. See http://blog.redfin.com/devblog/2010/05/how_and_why_twitter_uses_scala.html for more evangelism in that direction.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Ask your programming team and use whatever they tell you to use. You shouldn't take advice from random noobs on a forum with an axe to grind.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Uh, it looks like some people here don't realize that programming certifications and degrees are meaningless.

Edit: Well they have meaning, in that if you know somebody's certified, you know that somebody is much more likely to be a bad programmer.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Write an operating system in Ruby.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

What is the "intersection point" of two linked lists?

Edit: Oh, you have two linked lists that share a common node (and all the nodes after that). Then this algorithm makes perfect sense.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Maybe you don't understand it because the problem is poorly worded.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

I am an aspiring programmer/developer, and I was wondering which direction would lead to more job opportunities(Not just more money, although in this recession we could all use some extra cash) I am learning C# and have mostly done Winforms desktop applications, should I be looking more towads ASP.Net??

There are tons of job opportunities for programmers in every language and every field. There's no reason not to go for what you enjoy most (assuming you are actually capable of programming).

Am planning on doing some Microsoft Certifications soon, and some good advice would be nice.

Don't get a certification. They are a black mark on the resume.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Yes, Common Lisp is a general purpose programming language, and you can do pretty much anything with it (except things that really need to run without garbage collection).

Rashakil Fol 978 Super Senior Demiposter Team Colleague

No, there is no such triangle.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

For any N methodologies of software development, we can construct a methodology that is as good as the best of the N. Hire N teams to develop the product in parallel, each using a different methodology. When one of them finishes, stop. Your costs will differ from the best methodology's costs by a constant factor, N, which as computer scientists we know is not important.

kvprajapati commented: well said. +15
Rashakil Fol 978 Super Senior Demiposter Team Colleague

Study what you're interested in. If you're good at programming, i.e. actually capable of serious programming, you'll be in demand no matter what. And if you're not, well, I wouldn't care if my advice was bad for you.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Here's how I imagine such a conversation going.

Zani: Guess what, the company I worked for was headed by the guy who wrote Design Patterns.

Interviewer: What do you mean? That book had four authors.

Okay let's rewind.

Zani: Guess what, the company I worked for was headed by one of the guys who wrote Design Patterns.

Interviewer: That book is terrible, half the "design patterns" are reiterations of the same idea. Why would you tell me this?

Okay, suppose your employer was some guy who wrote an actual highly-respected book.

Zani: Guess what, I worked for one of the guys who wrote Highly-Respected CS Book.

Interviewer: So?

Now let's say you get a job offer and you accept, and you need to supply three references.

Well, you don't want one of them to be your father, because that seems weird and he'd be obviously biased, why couldn't you pick any other person you've worked with?

Now if I was hiring an intern and it was his first internship and his dad was like, Knuth, and we knew him and were like, "yo, is your son smart?" and he was like "yeah man," then we'd... not care at all. Because we'd already know his son was smart because we interviewed him, we asked him interview questions that had him showing us that he can actually code.

References are there so that your employer who's hiring you knows that …

Rashakil Fol 978 Super Senior Demiposter Team Colleague

You don't put references on your resume anyway.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

There is really no such notion of absolute utility of a position, there is only marginal utility. At some points on the (# developers, # designers) plane, adding a designer would give more benefit, while at others adding a developer would do so. For example, we might argue that at (0,0) it makes more sense to add a developer, since there'd be no hope of a project working with just a designer. However at some point like (10, 0) you really won't be helped by another developer but a designer would help a lot. Similarly, at (0, 1) it would certainly be better to add a developer instead of another designer, assuming making useful things brings value to the firm.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Look at the wikipedia articles, read them slowly and carefully, and tell us what you don't understand.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

1.) Describe your current job / job title.

Cyberpunk Analyst. Its initials are C.A. and it includes "Anal" as a substring.

2.) What do you like most about your job?

Daydreaming about the coming dystopian police state.

3.) What do you dislike most about your job?

LCD monitors. It really takes CRT's, filmed non-synchronously, to get that proper vibe. Also, cell phones. All the pay phones are disappearing and that ruins it.

4.) Overall, do you enjoy your job?

Yes, except when I have to make extra dough working as a bike messenger.

5.) What kind of education do you have? From what university?

The undergraduate kind.

6.) Any tips for people looking to enter your profession?

Don't buy a cell phone. They can track your location that way.

7.) (If you don't mind sharing) How much do you make per year?

One thousand.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

Depends on what YOU consider "awsome". Awsome software such as Microsoft Word or Paint, is written by a team of programmers, analysts and graphics designers.

ROFL it doesn't take a Team Of Programmers to create MS Paint.

And it usually takes years to design, code and test.

Maybe at Microsoft.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

That sounds correct (assuming you've defined a BST accordingly).

If you want to be really anal you should explicitly point out that S is a binary tree.

Rashakil Fol 978 Super Senior Demiposter Team Colleague

How about you review your code and prove it doesn't have any problems, or notice what the problems are? Seriously can't you double check things carefully? Has that idea ever cross your mind?

Rashakil Fol 978 Super Senior Demiposter Team Colleague

It's a complex number.

You're using the letter 'j' in some places, and in matlab that's hardcoded to have the value i.