• (cs) in reply to mister r

    mister r:

    A* is the -fastest- heuristic search algorithm and knowledge about it is mandatory for every one. But since no one got the question about this one right: You can use any heuristic function as long as it never under-estimatest the value. As far as I know, A* is the only place and way to use heuristic functions. They were dealed with just after depth-first-search and breadth-first search.

    So ehm, its mandatory: it did cover every ones curriculum and it did in the very first year in the same class where they also explain hash-tables, arrays, binary search trees, etc. Very common knowledge. The subject was called 'data-structures' and you're not even allowed to continue if you failed that subject.



    I realize that trash-talking about the quality of one's education is a rich engineering tradition;  however, I find it hard to believe that your fine academic institution taught A* search (an algorithm) in a "mandatory data structures" course.  Given that A* isn't a data structure, or an algorithm for search any common data structure I can think of, your assertion that "every ones" cirriculum would include A* because of a data structures course seems totally unfounded.

     

  • (cs) in reply to mister r
    Anonymous:
    For all those 'experienced' but without college degree, claiming it makes no difference. A few simple, easy questions, any properly educated person in computer science should be able to answer:


    Alright. Just for fun, I will do this aswell. I don't have a college degree. I have a kinda basic degree in industrial computer science. There was not much in the way of theorical knowledge and algorithmics.

    1. The fastest heuristic searching algorithm is A*, what are the constraints on possible evaluation functions you can use?

    It must not over estimate the cost. I actually had to spend 2 minutes finding that on Google because I didn't remember, but since I had to use the A* algorithm to implement path finding in the past, I knew this at the time.

    2. Whats the minimum algorithmic complexity for parsing a context-free-language? (like for example XML)

    O(n)

    3. Whats the difference between parrelism and concurrency?

    I would say that parallelism is the simultaneous execution of algorithms completing each other to produce a result, whereas concurrency would be several instances of an algorithm accessing a shared piece of data.

    5. Which dessign pattern would you choose to solve a sudoku puzzle?

    I don't know sudoku, actually. I must have been living under a rock or something.

    4. Imagine that you need a function that given a machine-integer, computes the faculty of that machine-integer. What would the minimum algorithmic complexity be? (warning: this might be a trick question!)

    Too many words I'm lacking a definition of there. I can't even tell if it refers to a concept I could be familiar with.

    5. For which kind of keys, is a hash-table faster than a binary-search tree?

    I would say numeric keys because a hashing function would be probably easier and faster to calculate than for more complex data types.
    However, it depends on the repartition of the keys, the amount of data, how large the hash table is allowed to be...

    6. Why do all 3D engines represent a vector (of 3 coordinates: x,y,z) as a matrix of 4 by 4? Whats the benefit?

    I will try to extract the meaning of this question: why do 3d engines use homogenous coordinate systems ? (a vector represented as a matrix ? heh)
    The benefit over using 3*3 matrices and vectors is that you can represent translations, and not only rotation/scale with a 4*4 matrix.
    You can also represent a transformation from the 3d space to what is called the homogenous space with a 4*4 matrix, which means that you can ultimately combine all the required transformations to go from a local 3d space to the camera's homogenous space in a single matrix. And you can then transform from the homogenous space to the 2d space with a division.

    7. What is the difference between normal order evaluation and in order evaluation? (that is: strict and lazy evaluation?). Which programming languages are strict? Which are lazy?

    Lazy evaluation consist in actually performing the computation at the time you need the result, if you ever need it. Lazy programming languages are the functional ones.


    8. What is the most common learning algorithm used for a spam filter?

    A statistic algorithm based on a Bayesian formula. I actually don't know how that works, I'm merely parroting in this case. However, if I had to implement it, I could just get the necessary informations from google, see below.


    Now, I know you don't need this kind of knowledge everyday. Most programming is very simpele, some gui-mock-up, some data-base, a little bit of state-transition. Anyone can do _that_ and 80% of the work out there is just _that_. But when you need to write a chat-bot, a web-page crawler, a resource-planner, a 3d engine, a spam filter, a speech-recognition filter, a distributed raytracer, a compiler, etc.  you gonna need _formal_ training.  


    I disagree. Most (probably almost all) of the theory and algorithms behind these things can be found with google. My answers above were probably approximative, incomplete or even way off (like probably 7), but if I need to know about something in more details, I can google it.

    Being able to succesfully translate an algorithm into a working implementation is often not that hard.
    Translating an algorithm into a good implementation that will let you build on it easily and nicely is where the difficulty lie. And this is something you get with experience, not with formal training.
  • KeithSpook (unregistered) in reply to mister r

    Anonymous:

    Anonymous:


    > But when you need to write a chat-bot, a web-page crawler, a resource-planner, a 3d engine, a spam filter, a speech-recognition filter, a distributed raytracer, a compiler, etc.  you gonna need _formal_ training.     

    Fair enough :)


    I thought so. But it seems here on WTF education itself is considered a WTF by some, which kind of got me started on these little questions.

    I think that the general "You must have gone to college to be educated" is false.  There are some damn good programmers that are self educated, and we piss people off for some reason.  There are damn good programmers that I work with that went to college, too.

    There are also idiots on both sides; ones that went to college and ones that didn't.  Generally, the ones that didn't go to college and aren't educated don't last very long.  For that we can all be thankful; so long as the dogmatism of the educated types doesn't interfere with their learning.

  • mister r (unregistered) in reply to doug
    Anonymous:
    >>>> 5. For which kind of keys, is a hash-table faster than a binary-search tree?

    >>>According to our teacher, and big-O theory, hash tables are always faster.

    >>Consider for a moment the set of keys for which the hash collides on every key.  Store this set of keys in the hash table, and in the >binary-search tree.  Which data structure is faster for the lookup?

    >Did I really have to specify that it required a good hash-function?  Isn't that always implicit when discussing hash-tables?  Since we're being jackasses here, I'll just assume that the binary search tree is extemely unbalanced and both the hash table and the binary search tree have linear performance.  Happy now?


    The original question essentially asked about what keys violate the expected performance guarantee.  Those are the keys.  And the result for those keys is that even if in fact the binary search tree is maximally unbalanced and the search is also linear, so is the hash table, and so it is not faster.

    This is a practical flaw you can actually hit in the real world.  You think you have a good hash, but later discover that you have some interesting subset of the keyspace with a high collision rate.

    I guess potentially there's another answer involving small sets of keys where the linear cost of computing the hash is larger than log(n).



    Entirely correct. Can you imagine some of the self-acclaimed programmers here, actually claim these questions to be 'acadamic crap' ? Or worse, classify it as game-programming or AI ?

    Lol. I love WTF: crappy programmers complaining about even crappier programmers ... the funny thing really is they look down and think they're there. No one is ever there. There is always more to learn, more to explore. Look up, don't look down.
  • (cs) in reply to mister r
    mister r:
    Lol. I love WTF: crappy programmers complaining about even crappier programmers ... the funny thing really is they look down and think they're there. No one is ever there. There is always more to learn, more to explore. Look up, don't look down.

    Uhh.  Might I suggest that you take your own advice?
  • Gabriel (unregistered) in reply to mister r
    Anonymous:
    5. Which dessign pattern would you choose to solve a sudoku puzzle?
    1. publish problem in books
    2. employ massive parallelism of carbon-based life forms
    3. include a postcard with a "what's the solution?"
    4. profit! ;)

    I don't know much about sodoku ... isn't it one of those computationally HARD problems? I think I remember seeing that once.

    As for your other stuff (A*, etc) - the big difference between me (BS degree) and many un-degreed people (maybe not most, I don't know) is that i have at least HEARD of it, and would know where to look for it. I don't remember the algorithm right now, but know it's in about 3 of my textbooks. ;)

    Of course, now there's Google and Wikipedia, so that difference is shrinking, now that we can look stuff up more easily.

    Good points, though. :-)

  • Anonymous (unregistered) in reply to mister r

    But when you need to write a chat-bot, a web-page crawler, a resource-planner, a 3d engine, a spam filter, a speech-recognition filter, a distributed raytracer, a compiler, etc.  you gonna need formal training.   

    The flaw here is that you assume that there are some concepts or ideas that can only be accessed through formal study or university training.  Some of the material that makes up the CS field may be couched in difficult-to-penetrate 'insider' jargon, of course, but the ideas themselves are just as accessible to someone learning on their own, and in the field, as they are to someone who is listening to lectures at a college course.  For example, 3d engines and raytracers are often written by hobbyists.

    Though many of the WTF victims we see on this board are people who taught themselves a little bit, and then failed to see the larger issues behind programming, many more of the self-taught went on to learn functional, then object-oriented programming; good debugging and refactoring conventions; optimization and preprocessing; design patterns.  If more complex issues raise their head at work or in their personal projects, they will rise to the challenge like they have up until now.

    There's been a lot of jockeying around with the exact concepts and lessons that made up Mister r's challenge, but they're not as important as this point is.

    I thought so. But it seems here on WTF education itself is considered a WTF by some, which kind of got me started on these little questions.


    The issue is whether or not people consider learning through formal training inherently superior to learning through other methods.  WTF has seen plenty of people who thought they learned more than they actually did, merely because they attended university.

    On another note, Mister r, you have bad habits of trying to argue points through intimidation, and throwing around CS factoids in irrelevant places in your posts. (I'd phrase it more strongly, but anonymous posters shouldn't be so rude.)

  • mister r (unregistered) in reply to hank miller
    hank miller:
    Anonymous:
    On the other side of that coin, how useful is knowledge like this to most people in computers? These sound like exam questions for a graduate-level game programming course.

    I'd say undergraduate courses, but with a focus on AI.

    I too would not have gotten most of those questions, because I too am ~10 years after my schoolling. I do know that some of those I never would have got, even when I was in school. My focus was not on AI, so I did not get an introduction to A*.

    I suspect that if I had made such a list when I was in school, I would have found questions that seem basic and obvious that he would not have got - because I studied a different track than he is. (Don't ask me now, I've forgotten a lot)



    Well, it seems that the curriculum for CS is changing very rapidly these days.  Esspecially because the tools keep changing: it makes no sense to train some one with a particular api or programming languages, so it ends up  being more about the formal (and provable) properties. They assume we can self-study the actual programming languages and api's as long as we've been introduced to the whole set of programming paradigma's (logic, functional, imperative) and core lego blocks: (functions, objects, classes, types, constraints, relations, abstract data structures, algebra's)

    Secondly I think if you heard the answers you would be .. oh yeah off course. Except maybe for A*. But the vector thingie is just linear algebra, hash-tables are the next to most used data structure everywhere and we've all had to write some hash-function one day or another.

    Still many people claim these questions are only acadamic: of no interest in the real-worlds. Sure, they don't make any large-scale programming endavour suceed, but if you sucked at all the questions, it will most definately make it fail: formal education does not make you a good experienced programmer, but you're not gonna be one without it.

  • (cs) in reply to mister r

    mister r:

    formal education does not make you a good experienced programmer, but you're not gonna be one without it.

    You said earlier that you are in your 2nd year at school;  have you worked in the industry?  If not, do you see why it's a bit odd for you to say "all these people working in the software industry are telling me that my education in cs theory is not as useful or important as I claim it is, but they're wrong!"

  • mister r (unregistered) in reply to Zlodo
    Zlodo:
    Anonymous:
    For all those 'experienced' but without college degree, claiming it makes no difference. A few simple, easy questions, any properly educated person in computer science should be able to answer:


    Alright. Just for fun, I will do this aswell. I don't have a college degree. I have a kinda basic degree in industrial computer science. There was not much in the way of theorical knowledge and algorithmics.


    Well, you've done fine.

    Zlodo:

    1. The fastest heuristic searching algorithm is A*, what are the constraints on possible evaluation functions you can use?

    It must not over estimate the cost. I actually had to spend 2 minutes finding that on Google because I didn't remember, but since I had to use the A* algorithm to implement path finding in the past, I knew this at the time.



    Correct. So you have no formal education, yet you know this ? Can you imagine many of the un-educated programmers claiming this is knowledge you never need in real life ? You are a real-life programmer, and you needed it.

    Zlodo:

    2. Whats the minimum algorithmic complexity for parsing a context-free-language? (like for example XML)

    O(n)


    Wrong. O(n^c). O(n) would be for LL(1) parsers (that only look ahead at at most 1 character, whereas with context-free-languages, in the worst case you have to backtrack all the way back to the top to try another derivation)

    Zlodo:

    3. Whats the difference between parrelism and concurrency?

    I would say that parallelism is the simultaneous execution of algorithms completing each other to produce a result, whereas concurrency would be several instances of an algorithm accessing a shared piece of data.


    Correct. Nothing acadamic about this one, he? Again, you need to know this IRL.

    Zlodo:

    5. Which dessign pattern would you choose to solve a sudoku puzzle?

    I don't know sudoku, actually. I must have been living under a rock or something.


    Its a hype here in Holland, google and have some fun I would say. Anyways its just a combinatory logic problem, so the answer would be: model it as a CSP (constraint satisfaction problem).

    Zlodo:

    4. Imagine that you need a function that given a machine-integer, computes the faculty of that machine-integer. What would the minimum algorithmic complexity be? (warning: this might be a trick question!)

    Too many words I'm lacking a definition of there. I can't even tell if it refers to a concept I could be familiar with.


    You have a function that given a machine-integer (say 4 bytes) calculated the faculty of that value. The algorithm with the minimum complexity would be a LOOKUP table. It will take O(1) to look the value up. If you calculate it on demand it would have been O(n) where n is the actual value of the input, rather than its size.

    Zlodo:

    5. For which kind of keys, is a hash-table faster than a binary-search tree?

    I would say numeric keys because a hashing function would be probably easier and faster to calculate than for more complex data types.
    However, it depends on the repartition of the keys, the amount of data, how large the hash table is allowed to be...


    It has to do with how well/bad the keys distribute. You can in theory have a hash-table and have all your values in the same bag.

    Zlodo:

    6. Why do all 3D engines represent a vector (of 3 coordinates: x,y,z) as a matrix of 4 by 4? Whats the benefit?

    I will try to extract the meaning of this question: why do 3d engines use homogenous coordinate systems ? (a vector represented as a matrix ? heh)
    The benefit over using 3*3 matrices and vectors is that you can represent translations, and not only rotation/scale with a 4*4 matrix.
    You can also represent a transformation from the 3d space to what is called the homogenous space with a 4*4 matrix, which means that you can ultimately combine all the required transformations to go from a local 3d space to the camera's homogenous space in a single matrix. And you can then transform from the homogenous space to the 2d space with a division.


    Much more to point that I could have written down here. You might lack formal knowledge, but you know your math.

    Zlodo:

    7. What is the difference between normal order evaluation and in order evaluation? (that is: strict and lazy evaluation?). Which programming languages are strict? Which are lazy?

    Lazy evaluation consist in actually performing the computation at the time you need the result, if you ever need it. Lazy programming languages are the functional ones.


    Correct. And in like in real life, lazy people end up doing more work.
    Imagine this function-call with lazy evaluation:

         twice (2 + 3) where twice x = x + x

    Would be evaluated lazily as:

       (2 + 3) + (2 + 3)

    Afterwhich it would calculate (2 + 3) twice

      5 + 5

    And then add the values.
    Strict evaluation would not have this sharing problem, but can't handle infinite domains.

    Zlodo:

    8. What is the most common learning algorithm used for a spam filter?

    A statistic algorithm based on a Bayesian formula. I actually don't know how that works, I'm merely parroting in this case. However, if I had to implement it, I could just get the necessary informations from google, see below.


    Correct. The algorithm is very simple and you can look it up indeed as long if your educated (ehm, smart?) enough to know you need it for these types of problems.

    Zlodo:

    Now, I know you don't need this kind of knowledge everyday. Most programming is very simpele, some gui-mock-up, some data-base, a little bit of state-transition. Anyone can do _that_ and 80% of the work out there is just _that_. But when you need to write a chat-bot, a web-page crawler, a resource-planner, a 3d engine, a spam filter, a speech-recognition filter, a distributed raytracer, a compiler, etc.  you gonna need _formal_ training.  


    I disagree. Most (probably almost all) of the theory and algorithms behind these things can be found with google. My answers above were probably approximative, incomplete or even way off (like probably 7), but if I need to know about something in more details, I can google it.


    Well, i'm getting milder now i've got the first set of pretty ok answers from a non-educated person. (You are the first)

    Still, you're problely good at math, and had some training with that. Being able to deal with the theory and algorithms on Wikipedia is not something you can easily self-study. if you only for all the fucked up greek letters that are just variable names, but which page explains that? ;-)

    Zlodo:

    Being able to succesfully translate an algorithm into a working implementation is often not that hard.
    Translating an algorithm into a good implementation that will let you build on it easily and nicely is where the difficulty lie. And this is something you get with experience, not with formal training.


    True. I too claimed that about 80% of all the programming is difficult due to obfuscation rather than how complex the theory behind it is. Nevertheless there are many types of problems most can't deal with without formal training.

    I've been called a bullshitter, an acadamic quoter, etc. But you are the first person to answer most questions correctly without formal training. Most seem pretty upset they can't answer these simple questions and blame me.

  • mister r (unregistered) in reply to John YaYa
    John YaYa:
    mister r:
    Lol. I love WTF: crappy programmers complaining about even crappier programmers ... the funny thing really is they look down and think they're there. No one is ever there. There is always more to learn, more to explore. Look up, don't look down.

    Uhh.  Might I suggest that you take your own advice?


    I do :-) I'm a crappy programmer and I don't know jack shit. I normally don't comment on WTF. Ive started these pop-quizz questions because education was considered a WTF, which ehm went a little bit too far for me. Then the name-calling began. I should have known it was a touchy issue....
  • mister r (unregistered) in reply to zip
    zip:

    mister r:

    A* is the -fastest- heuristic search algorithm and knowledge about it is mandatory for every one. But since no one got the question about this one right: You can use any heuristic function as long as it never under-estimatest the value. As far as I know, A* is the only place and way to use heuristic functions. They were dealed with just after depth-first-search and breadth-first search.

    So ehm, its mandatory: it did cover every ones curriculum and it did in the very first year in the same class where they also explain hash-tables, arrays, binary search trees, etc. Very common knowledge. The subject was called 'data-structures' and you're not even allowed to continue if you failed that subject.



    I realize that trash-talking about the quality of one's education is a rich engineering tradition;  however, I find it hard to believe that your fine academic institution taught A* search (an algorithm) in a "mandatory data structures" course.  Given that A* isn't a data structure, or an algorithm for search any common data structure I can think of, your assertion that "every ones" cirriculum would include A* because of a data structures course seems totally unfounded. 



    Well, eventhough it seems a bit unrelated ( I agree with you ) it was handled right there. Perhaps they should do a seperate course for searching-algorithms. But the claims that this is so very very tough acadamic stuff are just silly, and I was arguing about that. Its beginners stuff... whichever title the class was.

    PS. The focus of the class in general was towards how complex a certain algorithm is and how to prove certain properties about such algorithms. There is fine relation between a datastructure and the complexity of the operations to perform on it. (Take priority-quees for example)

    But A* Star is not something that AI like or anything, its just breadth-first-search with a heuristic function. Jeezz. I stand by my statement that it is common knowledge.
  • mister r (unregistered) in reply to Anonymous
    Anonymous:

    On another note, Mister r, you have bad habits of trying to argue points through intimidation, and throwing around CS factoids in irrelevant places in your posts. (I'd phrase it more strongly, but anonymous posters shouldn't be so rude.)


    My apologies. I didn't try to intimidate anyone and rather felt a little intimidated myself. The irrelevant CS factoids are more me-being-enthousiastic than arguing though. I like to explain things. I suppress that urge enough in daily-life. (its not a very socially excepted thing, since some indeed experience it as intimidation)

  • (cs) in reply to mister r

    mister r:
    Can you imagine many of the un-educated programmers claiming this is knowledge you never need in real life ? You are a real-life programmer, and you needed it.

    I would wager that 80-90% of programmers will never need to use A* search.  I am sure a lot of the database/web development world could say with a very high confidence that they will never need to implement or understand A*.

    I personally have used it; but I do not presume (unlike you, it seems) that most programmers are on a similar career path as myself.

  • (cs) in reply to mister r

    I'll share my experience, since it is fairly uniquely relevant.  I went to college right out of high school, but ended up not getting into the computer science program because I didn't grok the electrical engineering prerequisites (this probably dates me, most schools dont require extensive EE in the CS program any more).  Short version of the story is I dropped out without getting to take the CS I wanted, and taught myself.  I worked for years in the industry quite successfully, but then moved to a different area of the country where I didn't have connections, and couldn't get an interview because I didn't have the degree.  So I went and got the degree (BS/CS).  So now I can get the interviews, and do the same work as before.

    My conclusions:

    The quality of the CS degree varies extremely from school to school.
    The quality of the students varies more greatly than the quality of the degree.
    You can learn everything without college (in getting my degree, I learned nothing in my courses that I had not already self-taught).
    All the books and even the course materials of a top notch degree are available online or in bookstores (see the MIT online courseware).
    Two of the five great programmers that I've met were self taught.  The others had degrees.
    Two of the ten most incompetent programmers I've met had PhD degrees in CS from MIT.  I've also met incompetent self taught developers.

    Having done a lot of hiring in Software Engineering, my experience says:

    Read the work section of the resume first.  See what they've done.  Prepare meaningful questions in advance that will tell you if they've really done what they claim.
    Read the education section of the resume only if the work section is insufficient to tell you if the person is likely to be able to do the job.
    Don't hire fresh MSs/PhDs unless you plan to treat them like fresh BSs.  Learning to do research is not the same as learning to do software development.




  • mister r (unregistered) in reply to zip
    zip:

    mister r:

    formal education does not make you a good experienced programmer, but you're not gonna be one without it.

    You said earlier that you are in your 2nd year at school;  have you worked in the industry?  If not, do you see why it's a bit odd for you to say "all these people working in the software industry are telling me that my education in cs theory is not as useful or important as I claim it is, but they're wrong!"



    I have little experience. I worked in the industry, but almost always solo. I have no experience with team-work in that area. (to be more specific)

    Secondly, you seem to quote me above, but you are not. Those are not my words. I mean this quote: "all these people working in the software industry are telling me that my education in cs theory is not as useful or important as I claim it is, but they're wrong!"

    I never said that. The point where I entered the discussion is when acadamic training was considered a WTF: a first hint you need not to hire some one.

    As to whether or not its important. It depends how you look at it. Are you developping end-user-applications that maybe its not that important. If you are creating and selling programming languages it _is_ important. And many people in the industry actually have some formal training (one way or the other).
  • (cs) in reply to mister r
    Anonymous:
    zip:

    mister r:

    A* is the -fastest- heuristic search algorithm and knowledge about it is mandatory for every one. But since no one got the question about this one right: You can use any heuristic function as long as it never under-estimatest the value. As far as I know, A* is the only place and way to use heuristic functions. They were dealed with just after depth-first-search and breadth-first search.

    So ehm, its mandatory: it did cover every ones curriculum and it did in the very first year in the same class where they also explain hash-tables, arrays, binary search trees, etc. Very common knowledge. The subject was called 'data-structures' and you're not even allowed to continue if you failed that subject.



    I realize that trash-talking about the quality of one's education is a rich engineering tradition;  however, I find it hard to believe that your fine academic institution taught A* search (an algorithm) in a "mandatory data structures" course.  Given that A* isn't a data structure, or an algorithm for search any common data structure I can think of, your assertion that "every ones" cirriculum would include A* because of a data structures course seems totally unfounded. 



    Well, eventhough it seems a bit unrelated ( I agree with you ) it was handled right there. Perhaps they should do a seperate course for searching-algorithms. But the claims that this is so very very tough acadamic stuff are just silly, and I was arguing about that. Its beginners stuff... whichever title the class was.

    PS. The focus of the class in general was towards how complex a certain algorithm is and how to prove certain properties about such algorithms. There is fine relation between a datastructure and the complexity of the operations to perform on it. (Take priority-quees for example)

    But A* Star is not something that AI like or anything, its just breadth-first-search with a heuristic function. Jeezz. I stand by my statement that it is common knowledge.

    Much like you I have only been to college once.  In my experience it was taught in the realm of AI/machine learning elective courses and thus not required.  I would agree that it is a fundamentally simple algorithm, and easy to understand, but not necessarily common knowledge.  As you have seen here either most people don't know it, or at least were unwilling to take your bait. 

    If I was evaluatiing a programmer, I would not be concerned if he didn't know A*.  I would be concerned if he claimed to know it and then was unable to explain how it worked.

    In regards to your original point, I learned a ton of crap about CS when I was in school that makes me a reasonably well-rounded computer scientist.  It was certainly useful.  On the other hand, I have met people since then who are self-taught and extremely skilled at many facets of programming, and I also know many people who got through college doing the minimum and are not especially competent despite their rich schooling.

    What matters, in my opinion, is one's thirst for knowledge.  This is correlated somewhat with going to college, but not always.

  • (cs) in reply to zip

    Triangular manhole covers...

    http://www.drainspotting.com/mirror/nhtelegraph-2003-11-26/

  • (cs) in reply to mister r

    mister r:




    Secondly, you seem to quote me above, but you are not. Those are not my words. I mean this quote: "all these people working in the software industry are telling me that my education in cs theory is not as useful or important as I claim it is, but they're wrong!"

    Correct.  I was making a parody of your argument.  My point was that, if people with academic and professional experience think formal academic training is not required to be a software engineer, they are more likely to be right about that than you.

    A lot more programmers are out there making end-user applications than creating and selling programming languages.  Making a webapp may not be as "pure" as designing a programming language, but I would urge you not to look down on your less theoretical programming brethren.

     

  • Anonymous Coward (unregistered) in reply to emurphy
    emurphy:
    Furrfu!  Intuitively, wouldn't you just connect a cable from the 1 end of one 24-to-1 hub to one of the 24 ends of the other 24-to-1 hub, effectively turning them into a single 47-to-1 unit?  (Not a troll; I'm a software guy, not a network guy, so this is an honest educated guess.)
    I thought software guys could do math!
  • mister r (unregistered) in reply to zip
    zip:
    Anonymous:
    zip:

    mister r:

    Depth-first-search is an _algorithm_ not a design pattern. The design pattern in the case of the sudoku puzzle would _obviously_ be modelling it as a constraint-satisfaction-problem. Any sudoku puzzle can be translated into a set of equality constraints. Just like SEND+MORE=MONEY puzzles, or the 8-queens-problems.

    Design Pattern...You keep using that word. I do not think it means what you think it means.



    When I use the word, I refer to how to abstract away the underlying problems. In other words, the preffered method of slicing a problem into a more general one, and its constants. Like a fold is a generalization of a map. But thats my definition, whats yours' ?

    Design patterns refer to (generally, object-oriented) ways of solving problems, not ways of representing them, which was my complaint with your original post.   Constraint satisfaction is a representation of the problem you are solving, but it does not say anything about how you should minimize the number of unsatisfied constraints.

    Don't you mean: specifically, object-oriented, since its just one programming paradigma where you can use design-patterns?

    Secondly: constraint satisfaction is a representation of the solution. The problem is not that we want to solve some sudoku puzzle, the problem is we need to develop a program that solve any one which you give. Thats the problems, and the idea 'using constraint-satisfaction' is actually the solution. Even though it does not solve any sudoku puzzle specifically.

    As if a MVC (model,viewer,controller) design pattern  actually implements the the modeller, viewer and controller. The MVS design pattern just suggests to seperate and the model from the viewer and the controler, so the code becomes more maintainable and the changes for code-reuse increase.

    THE CSP design pattern is like that: seperate the constraints from the searching. So you have two components: one that generates the constraints for a given puzzle and one that solves them. Like with the MVC, you can re-use the solver for Sudoku for other problems.

    zip:

     Traditionally design patterns are ways to genericize software engineering problems, not math problems like you are describing here, which is probably why I objected to your usage of the term.  I would have used "problem representation," as you are not "designing" anything by saying "this is a SAT problem!"



    No, I think we got the terminology wrong. A CSP is just a way to solve a problem. Which problems are good for solving with the CSP pattern? SAT problems in general. Although I would prefer to call it combinatory logic. Its really not tied to any specific logic.
  • mister r (unregistered) in reply to zip
    zip:
    Anonymous:
    zip:

    mister r:

    Depth-first-search is an _algorithm_ not a design pattern. The design pattern in the case of the sudoku puzzle would _obviously_ be modelling it as a constraint-satisfaction-problem. Any sudoku puzzle can be translated into a set of equality constraints. Just like SEND+MORE=MONEY puzzles, or the 8-queens-problems.

    Design Pattern...You keep using that word. I do not think it means what you think it means.



    When I use the word, I refer to how to abstract away the underlying problems. In other words, the preffered method of slicing a problem into a more general one, and its constants. Like a fold is a generalization of a map. But thats my definition, whats yours' ?

    Design patterns refer to (generally, object-oriented) ways of solving problems, not ways of representing them, which was my complaint with your original post.   Constraint satisfaction is a representation of the problem you are solving, but it does not say anything about how you should minimize the number of unsatisfied constraints.

    Don't you mean: specifically, object-oriented, since its just one programming paradigma where you can use design-patterns?

    Secondly: constraint satisfaction is a representation of the solution. The problem is not that we want to solve some sudoku puzzle, the problem is we need to develop a program that solve any one which you give. Thats the problems, and the idea 'using constraint-satisfaction' is actually the solution. Even though it does not solve any sudoku puzzle specifically.

    As if a MVC (model,viewer,controller) design pattern  actually implements the the modeller, viewer and controller. The MVS design pattern just suggests to seperate and the model from the viewer and the controler, so the code becomes more maintainable and the changes for code-reuse increase.

    THE CSP design pattern is like that: seperate the constraints from the searching. So you have two components: one that generates the constraints for a given puzzle and one that solves them. Like with the MVC, you can re-use the solver for Sudoku for other problems.

    zip:

     Traditionally design patterns are ways to genericize software engineering problems, not math problems like you are describing here, which is probably why I objected to your usage of the term.  I would have used "problem representation," as you are not "designing" anything by saying "this is a SAT problem!"



    No, I think we got the terminology wrong. A CSP is just a way to solve a problem. Which problems are good for solving with the CSP pattern? SAT problems in general. Although I would prefer to call it combinatory logic. Its really not tied to any specific logic.
  • mister r (unregistered) in reply to zip
    zip:

    mister r:




    Secondly, you seem to quote me above, but you are not. Those are not my words. I mean this quote: "all these people working in the software industry are telling me that my education in cs theory is not as useful or important as I claim it is, but they're wrong!"

    Correct.  I was making a parody of your argument.  My point was that, if people with academic and professional experience think formal academic training is not required to be a software engineer, they are more likely to be right about that than you.

    A lot more programmers are out there making end-user applications than creating and selling programming languages.  Making a webapp may not be as "pure" as designing a programming language, but I would urge you not to look down on your less theoretical programming brethren.



    Point taken.
  • Pistol Pete (unregistered) in reply to Keith Spook
    Anonymous:
    Someone said:
    "Honestly, I doubt all of this. First of all, the level of math involved with most CS programs precludes such a statement."

    Oh, you mean the fact that I read Knuth's TAOCP means that I'm too dumb to handle the math?  Dude, the math in CS is *easy*.

    He continued...
    "
    Secondly, one wouldn't bother to study the subjects that are part of  a CS program because most of it is not used in a day to day job"

    Oh really?  So that means that I shouldn't read anything, either.  Because damned if the Decameron is used day to day.  And I should study any more languages, because all I use is English, I never use French, Spanish or Japanese at work.  Pity I can't use that time to brush up on field/group theory because I can't handle the math.

    I've never been to college.  Hell, I almost didn't make it out of highscool.  But I know more about CS then all of the recent ('04) graduates that I work with.  Plus I know where the practical and theory mix and don't mix.  24, no degree, and a "senior engineer" -- with compensating salary and respect.

    Please, keep in mind that there are some people out there with the mental motivation to learn stuff without college, and generally we can fend for ourselves.  We just can't work at Google.


    I said it, and I stand by it. The original poster, Aprenot, said he/she had learned all that went on in a CS degree by the time they were 16. Given that information, unless Aprenot was/is a prodigy of some sort, I think my statement is pretty valid.

    And secondly, yeah, I don't think most people study every aspect of a CS degree if they are not in school. How many people get well into compiler design, AI, parallel processing, DB stuff (design, optimization and implementation), OS design, networks, software design, statistics, research methods, math, EE aspects.....

    The point is that most people won't bother. If you did, great for you. But most won't bother.

    Me for instance....though I do this for my day job, I also like some other stuff. Lets say I am pretty interested with physics. Just because I have a passing interest in physics does not mean that I would claim to know as much about it as a true physicist. And even though I do read alot about physics and things like it, I don't read everything or study everythign that woudl go into a physics degree. I plainly don't care about some of the subject material. That is just human nature.

    Man...people are so easily offended on this board....lack of common sense abounds.
  • (cs) in reply to Anonymous Coward
    Anonymous:
    emurphy:
    Furrfu!  Intuitively, wouldn't you just connect a cable from the 1 end of one 24-to-1 hub to one of the 24 ends of the other 24-to-1 hub, effectively turning them into a single 47-to-1 unit?  (Not a troll; I'm a software guy, not a network guy, so this is an honest educated guess.)
    I thought software guys could do math!
    Actually, software guys can write a calculator application.  Actually doing math is what the calculator is good for.  (Now back to the other discussion.)

    There was a time (a short time, if my exam results are anything to go by) when I could solve partial differential equations.  That time has long since passed.  But that doesn't mean that someone who can solve them today is a better programmer than I am, or that I'm a better programmer than they are.

    There are some great database experts who know nothing about embedded systems.  There are some great OAM (Operations, Administration, and Maintenance) designers who couldn't write a decent GUI to save their lives.  Some great graph theorists who don't know a line of Java.

    Some understand business management.  Some understand "web apps".  Some who know what the Internet is, or how telecommunications works.  Some who understand that there are many, many disciplines in Computer Science and that Programming is not one of them.  (Before the flames start again let me get this out of the way: Programming is a skill.  Programming Languages are tools.  Compiler design would be an example of a discipline.  Telecom would be a field.)
  • (cs) in reply to doug
    doug:

    Don't hire fresh MSs/PhDs unless you plan to treat them like fresh BSs.  Learning to do research is not the same as learning to do software development.



    That's just about the dumbest statement I've ever had the misfortune of reading. Even assuming that you're correct and in no way does a CS MS or PhD ever even touch upon software development (big assumption right there but you're a moron so I'll grant you it) it's rather stupid to believe that someone who had the dedication and ability to receive a graduate degree is on the exact same footing as someone who attained a Bachelor's degree.

    Guess what dougie, the fact that you dropped out of college tells me everything I need to know about you. You are NOT hired. Now, if you'd be so kind as to include ketchup packets in my order, I'd appreciate it. Moron.

    sincerely,
    Richard Nixon
  • iPooOnYou (unregistered) in reply to mister r

    mister r...

    Education and professional experience are both important, so I'm glad you're in school.  Usually, education never hurts.

    However, there's a lot more to being a successful employee.  One also has to be able to control their ego.  I recommend having an "expiring ego" while you're writing code and designing software instead of when touting what you know and what others don't know.  It is part the "professional education" that they don't teach in school.  If nobody wants to work with you then you're screwed!  Instead of making you look smart, I think your responses and your list of questions makes you look like you have a huge ego or even that you're incredibly naive about the world.  Technical interview questions that are important are the ones that apply to the position.

    Now, the job could be teaching CS or game AI in which case your questions might be valid.  But those are both inherently egotistical so maybe you're on the right track.

  • (cs) in reply to zip
    zip:

    A lot more programmers are out there making end-user applications than creating and selling programming languages.  Making a webapp may not be as "pure" as designing a programming language, but I would urge you not to look down on your less theoretical programming brethren.


    Those without degrees look down on those with degrees just as much as those with degrees look down on those without degrees.

    I suppose you're right though - those of us with degrees are superior and should take the high road. It is our duty.

    I would urge you not to tell one side in a war to call a truce while the other continues to make bombing runs. Oh, I also urge you to smash your keyboard into small pieces and never post here again, swine.

    sincerely,
    Richard Nixon

  • (cs) in reply to John Smallberries
    John Smallberries:

    In the interview, I'll ask some tough questions, but they would be more focused on the application of a theory, rather than a discourse on the theory itself. I expect the candidate to not know the answer, but I need to see how they react when faced with a problem they can't solve. Kind of like a Kobayashi Maru* for software engineers.

    <font size="1">*ugh, I'm such a geek.</font>


    Insert diatribe on the value of "I don't know, but I think X and Y would be the right starting points for looking it up".

    Anonymous:

    Well, its like an architect. The first one to build a bridge using half an ellipse shape for stability was very smart. The 10,000 architects that just do that because the book said it would work are just good at their job. But I wouldn't call it complex when they are just utilizing the framework. But like you said, its all just terminilogy.


    On the other hand, there's a difference between reading a book and internalizing what it says, turning it into an instinct.  And on the gripping hand (my turn to be a geek), there's a difference between getting an instinct out of a book and forming one on your own; I developed the instinct of "if X contains Y's key, then put X on the left side of the join" long before I put it into words.

    Anonymous:

    4. Elaborate on why Knuth is able to give away money for bugs found in TeX?


    Because (1) there are damn few bugs, and (2) because of this, people tend to frame the checks rather than cash them.

    Anonymous:
    emurphy:
    Furrfu!  Intuitively, wouldn't you just connect a cable from the 1 end of one 24-to-1 hub to one of the 24 ends of the other 24-to-1 hub, effectively turning them into a single 47-to-1 unit?  (Not a troll; I'm a software guy, not a network guy, so this is an honest educated guess.)
    I thought software guys could do math!


    Oh, ha fuckin' ha.  If you would think for five seconds about the implications of "24-to-1" etc., you would realize that I was envisioning 24-port hubs with one uplink port apiece.  (See previous discussion of uplink ports.  Then pause to weep gently.)  The model may be wrong (I'm still not a network guy) but the math is consistent with the model.

  • (cs) in reply to Richard Nixon
    Richard Nixon:
    doug:

    Don't hire fresh MSs/PhDs unless you plan to treat them like fresh BSs.  Learning to do research is not the same as learning to do software development.



    That's just about the dumbest statement I've ever had the misfortune of reading. Even assuming that you're correct and in no way does a CS MS or PhD ever even touch upon software development (big assumption right there but you're a moron so I'll grant you it) it's rather stupid to believe that someone who had the dedication and ability to receive a graduate degree is on the exact same footing as someone who attained a Bachelor's degree.

    Guess what dougie, the fact that you dropped out of college tells me everything I need to know about you. You are NOT hired. Now, if you'd be so kind as to include ketchup packets in my order, I'd appreciate it. Moron.

    sincerely,
    Richard Nixon


    Well, I'll hope not to have to work with someone who nicks themself Richard Nixon.  I'll also hope, as always, that I won't have to work with someone so dense that they misread such a simple post in multiple ways, but that wish never comes true (actually my current coworkers are all pretty good, but that varies).

    Obviously, CS BS/MS/PHD degrees nearly always include a software development component, my point is that does not equate with experience.  Anyone who hasn't worked with a software development team will need that training and will take time to get up to speed.  Someone with a MS/PHD may or may not be able to come up to speed faster.  Just don't hire a fresh phd and count on their being a dynamo right out of the starting blocks.

    I'm glad you're able to make a snap conclusion not to hire me, I hope that if I wind up interviewing you I'll take the time to find out just how poor a candidate you would be.

    So far I've made the companies I've worked for a little over 200 million dollars directly attributable to my ideas and the work I've done to develop them, and i've had a return on investment comfortably over 10x at every company i've worked for.  How are you doing, idiot?

  • (cs) in reply to doug
    doug:
    So far I've made the companies I've worked for a little over 200 million dollars directly attributable to my ideas and the work I've done to develop them, and i've had a return on investment comfortably over 10x at every company i've worked for.  How are you doing, idiot?


    Sure you have dougie, sure you have.

    And you missed the point probably because your degree came from a cereal box. I won't point out the obvious fact that you shifted away from your initial statement when I noted just how dumb it was.

    It really speaks to your ignorance that you believe that someone with a BS and someone with an MS or PhD are likely to have the exact same level of software development experience. I'm sorry that you couldn't hack it at college, had to drop out, do those unspeakable things, send away for a degree in "Computering", and then make up some completely bogus dollar amount to try to impress me. It would appear our life pretty much went downhill the moment you left the womb. GO BACK DOUGIE! GO BACK!

    sincerely,
    Richard Nixon
  • (cs) in reply to mister r
    Anonymous:

    As if a MVC (model,viewer,controller) design pattern  actually implements the the modeller, viewer and controller. The MVS design pattern just suggests to seperate and the model from the viewer and the controler, so the code becomes more maintainable and the changes for code-reuse increase.

    THE CSP design pattern is like that: seperate the constraints from the searching. So you have two components: one that generates the constraints for a given puzzle and one that solves them. Like with the MVC, you can re-use the solver for Sudoku for other problems.


    Ah, now we have something worth calling a "design pattern" - sudoku could be replaced with kakuro, or with traditional "who owns the zebra?" match-N-with-N logic puzzles.  (Uh oh, now we've come back to the 24-port hubs...)

  • (cs) in reply to Richard Nixon

    Richard Nixon,

    You really need to stop insulting other users. Occasionally you have some good points, but it's largely overshadowed by your abusive drama-queen mentality.

  • mister r (unregistered) in reply to iPooOnYou
    Anonymous:

    mister r...

    Education and professional experience are both important, so I'm glad you're in school.  Usually, education never hurts.

    However, there's a lot more to being a successful employee.  One also has to be able to control their ego.  I recommend having an "expiring ego" while you're writing code and designing software instead of when touting what you know and what others don't know.  It is part the "professional education" that they don't teach in school.  If nobody wants to work with you then you're screwed!  Instead of making you look smart, I think your responses and your list of questions makes you look like you have a huge ego or even that you're incredibly naive about the world.  Technical interview questions that are important are the ones that apply to the position.

    Now, the job could be teaching CS or game AI in which case your questions might be valid.  But those are both inherently egotistical so maybe you're on the right track.



    My questions were a reaction to some of the people here claiming education itself is somewhat a WTF. I disagreed and tried to prove that there are subjects that do matter, that are more easily learned through formal education. I'm not the worlds' best programmer, and I'm not the worlds' best student. I choose the questions to be trivial. I'm suprised at how many respond as if i tried to show off my knowledge. I actually considered making the questions harder because otherwise some of you might make fun of it being such simple little pop questions. So perhaps I am naive.

    The general response was pure hate. Comments on how useless acadamic knowledge is, how "its not in real world" .. and about a half a dozen authority arguments .. ("..but i accomplished this and i accomplished that .. " ) .. zero insightfully technically relevant remarks. My interaction on this forum has not been what I expected and I actually regret that I posted those questions, but I dont think all the negative tone has a lot to do with _my_ ego.

    On another note, this forum is called What-The-Fuck .. as in look at us making fun of others .. guess i'm not allowed to thrash the trashers :-)


  • John Hensley (unregistered) in reply to emurphy
    emurphy:

    Anonymous:

    4. Elaborate on why Knuth is able to give away money for bugs found in TeX?


    Because (1) there are damn few bugs, and (2) because of this, people tend to frame the checks rather than cash them.

    hmm, I think he might be looking for why there are damn few bugs.

    The answer has as much to do with personality as with methodology. Yes, Knuth is a stellar mathematician who knows the theory of how to prove a program correct. But more than that, he's the kind of insanely detail-obsessed person who would take the time to do it, just like he spent twenty years making the letters in his books look exactly the way he wanted them.

  • Hannah Nixon (unregistered) in reply to Richard Nixon
    Richard Nixon:
    doug:
    So far I've made the companies I've worked for a little over 200 million dollars directly attributable to my ideas and the work I've done to develop them, and i've had a return on investment comfortably over 10x at every company i've worked for.  How are you doing, idiot?


    Sure you have dougie, sure you have.

    And you missed the point probably because your degree came from a cereal box. I won't point out the obvious fact that you shifted away from your initial statement when I noted just how dumb it was.

    It really speaks to your ignorance that you believe that someone with a BS and someone with an MS or PhD are likely to have the exact same level of software development experience. I'm sorry that you couldn't hack it at college, had to drop out, do those unspeakable things, send away for a degree in "Computering", and then make up some completely bogus dollar amount to try to impress me. It would appear our life pretty much went downhill the moment you left the womb. GO BACK DOUGIE! GO BACK!

    sincerely,
    Richard Nixon

    Now Dick,

    Come in and eat your vegetables. You know how you don't like them when they're cold!

    Dick?

    Mommy has some pie for you, if you be a good boy! I know you have fun with your internet friends all day, but it's dinner time now, sweetie.

    Dick?

    I'm starting to get angry now, sweetie. Come in before I have to cut another switch...

    Sincerely, Hannah Nixon

  • michael (unregistered) in reply to Richard Nixon
    Richard Nixon:
    doug:
    So far I've made the companies I've worked for a little over 200 million dollars directly attributable to my ideas and the work I've done to develop them, and i've had a return on investment comfortably over 10x at every company i've worked for.  How are you doing, idiot?


    Sure you have dougie, sure you have.

    And you missed the point probably because your degree came from a cereal box. I won't point out the obvious fact that you shifted away from your initial statement when I noted just how dumb it was.

    It really speaks to your ignorance that you believe that someone with a BS and someone with an MS or PhD are likely to have the exact same level of software development experience. I'm sorry that you couldn't hack it at college, had to drop out, do those unspeakable things, send away for a degree in "Computering", and then make up some completely bogus dollar amount to try to impress me. It would appear our life pretty much went downhill the moment you left the womb. GO BACK DOUGIE! GO BACK!

    sincerely,
    Richard Nixon


    Ha, nice Freudian slip. Did you let little "dougie" get under your skin?
  • tim (unregistered)

    seriously this is a 1 second job? even someone with really medicore skills could do this. hell instructions would have come with the hub how to do it.
    i wouldn't even consider this a "job" just a mere tiny task to complete on my way to an actual job.

    mind you who the fuck would PAY someone to do it in the first place?!?!?

  • (cs) in reply to John Smallberries
    John Smallberries:
    JohnO:

    Anonymous:
    I don't know about you, but when I connect two hubs together I prefer to have open ports so I can, you know, plug computers into it.  So a simple one port on A to one port on B is sufficient.  In that case it's 24*24 since there's 24 ports on A, choose 1, and 24 ports on B, choose 1.

    And, no, if you fully connected them then you'd have more than 24! since you can pick the port on A as well.  It would be 24!^2 since it's 24! ways to plug in 24 wires into B and then 24! ways to plug the other ends into A.

    If you wanted to count the ways to parallel plug in cables (port 1 on A to port 1 on B) then that's 24! ways since you are only picking one port with 24 wires.

    You have the common sense part down but your combinatorial mathematics are lacking.  It is indeed 24 factorial, assuming you would not go to and from a port on the same hub and you aren't distinguishing one cable from another.  Port 1 on A can go to 24 ports on B.  Port 2 on A can then go to 23 ports on B...Port 24 on A can go to 1 port on B.  That is 24!.


    It's 24! if you use all 24 cables. How many more combinations are there when using only 23, 22, 21...

    When using only 1 cable it's 242, right? When using 2 cables it's...ow, my brain.
    According to the description, these are hubs.  Common collision domains.  Using two cables (connecting them twice) won't give you more (or the same) functionality: it'll give you less.

    How many ways are there to interconnect two (trivial) one-port hubs?  One.  (Port A to Port A, assuming correct cable selection)  Two-port hubs?  Four (AA, AB, BA, BB).  Three-port hubs?  Eight. (AA, AB, AC, BA, BB, BC, CA, CB, or CC).  Generally, choose one of N ports on the first hub, then one of N ports on the second hub.  (N choose 1) * (N choose 1) = N^2.  We also note that connecting port A on the first hub to port B on the second is not the same as connecting port B on the first with port A on the second (i.e. AB is not the same as BA).

    If the hubs have "interconnect" ports (possibly switched), the numbers may change with different definitions of terms. 

    But more likely, the problem from the example is not with the combinatorics but with the choice of terminal versus crossover cables.  (If we want to include non-functional configurations, then we're into more possibilities, and cable selection (straight, crossover, miswired) adds to the combinatorics.)
  • Joshua (unregistered) in reply to zip

    While that certainly is a valid point, I think the best part of his argument is that he has his definition of an admissable heursitic function backwards: a heuristic is valid for A* --- thus itself admissable and allowing A* to be admissable and optimal --- iff it never overestimates.

  • (cs) in reply to michael
    Anonymous:

    Ha, nice Freudian slip. Did you let little "dougie" get under your skin?


    Ha! Nice catch. Good eye.

    sincerely,
    Richard Nixon
  • (cs) in reply to rbriem
    rbriem:
    Mikademus:
    As for the "value education enough not to make it free", you might be interested to know that (among other countries) Sweden, along with Norway, Denmark, Finland, Germany and Japan --all countries with free higher education-- in international academic comparative tests all beat America. I'm not some disgruntled European taking a shot at the US here, I'm just reacting against that old-but-still-prevalent myth that charging for education imrpves its quality, when it's all about the culture in which the education is provided.
     

    Mikademus -

    In my original post, I also said, "... this is part of our capitalist culture - the value we give to something is bound up in what we pay for it (or invest in it)."

    My point there is that this is the system that works best for us (as a society) in our capitalist culture. When things are free, we (as individuals) take them too much for granted. (And yes, that's America).

    And I'm not saying that simply charging for education improves its quality; again, in my original post, I mentioned that the people who had learned the least had gotten a free education (mainly via Parental Bank and Trust), even though they went to schools that weren't free. By not having to work out a way to pay for it (loans, grants, scholarships, sweat), they lacked the incentive to value the educational process, so they learned less. And that's a cultural issue that many of us don't (or refuse to) understand - I know I sure as hell didn't understand it when I was younger.

    As for culture, I personally value education enough to send my 2 youngest to private school, even though I already pay for public school through my taxes (long story short, changing the public system from within takes too long - been there, done that). They get a better education; not because it's paid for, but because a private school, being agile and non- (or at least less-) beholden to federal funds, provides a better culture for learning. Again, the administration and staff have the incentive to make it a better place because they have to work to make it (the school and their jobs) happen, rather than having it provided for them.


    Ok, fair enough. It is interesting to me that even though we generally consider us quite similar all over the West, every so often one is still confronted with evidence of that we in fact have very different mentalities and cultures. It sometimes makes me astonished that we manage to communicate as well as we do, when we really have quite different ideas about some of the to modern societies most fundamental things: welfare, unionisation, social intervention, criminality, education, workers' rights, health care, social distribution, political elections, you name it. So close, but also so far away... However, of course being aware of my self-selection bias, I hold that the systems we have over here (meaning Scandinavia) are more just in that they provides more equal opportunities for all.
  • (cs) in reply to mister r
    Anonymous:
    Don't you mean: specifically, object-oriented, since its just one programming paradigma where you can use design-patterns?

    No he doesn't, the "Design Pattern" expression is commonly used in an OO context but not limited to it, which is exactly what he said.

  • (cs) in reply to Richard Nixon

    Richard Nixon:


    I would urge you not to tell one side in a war to call a truce while the other continues to make bombing runs. Oh, I also urge you to smash your keyboard into small pieces and never post here again, swine.

    sincerely,
    Richard Nixon

    Neener neener!  I posted again!

  • (cs) in reply to Mikademus
    Mikademus:
    rbriem:
    Mikademus:
    As for the "value education enough not to make it free", you might be interested to know that (among other countries) Sweden, along with Norway, Denmark, Finland, Germany and Japan --all countries with free higher education-- in international academic comparative tests all beat America. I'm not some disgruntled European taking a shot at the US here, I'm just reacting against that old-but-still-prevalent myth that charging for education imrpves its quality, when it's all about the culture in which the education is provided.
     

    Mikademus -

    In my original post, I also said, "... this is part of our capitalist culture - the value we give to something is bound up in what we pay for it (or invest in it)."

    My point there is that this is the system that works best for us (as a society) in our capitalist culture. When things are free, we (as individuals) take them too much for granted. (And yes, that's America).

    And I'm not saying that simply charging for education improves its quality; again, in my original post, I mentioned that the people who had learned the least had gotten a free education (mainly via Parental Bank and Trust), even though they went to schools that weren't free. By not having to work out a way to pay for it (loans, grants, scholarships, sweat), they lacked the incentive to value the educational process, so they learned less. And that's a cultural issue that many of us don't (or refuse to) understand - I know I sure as hell didn't understand it when I was younger.

    As for culture, I personally value education enough to send my 2 youngest to private school, even though I already pay for public school through my taxes (long story short, changing the public system from within takes too long - been there, done that). They get a better education; not because it's paid for, but because a private school, being agile and non- (or at least less-) beholden to federal funds, provides a better culture for learning. Again, the administration and staff have the incentive to make it a better place because they have to work to make it (the school and their jobs) happen, rather than having it provided for them.


    Ok, fair enough. It is interesting to me that even though we generally consider us quite similar all over the West, every so often one is still confronted with evidence of that we in fact have very different mentalities and cultures. It sometimes makes me astonished that we manage to communicate as well as we do, when we really have quite different ideas about some of the to modern societies most fundamental things: welfare, unionisation, social intervention, criminality, education, workers' rights, health care, social distribution, political elections, you name it. So close, but also so far away... However, of course being aware of my self-selection bias, I hold that the systems we have over here (meaning Scandinavia) are more just in that they provides more equal opportunities for all.

    It's much easier to be "just" in a small, homogenous society.  That's why these comparisons get a little old sometimes.  Make Sweden 30 times it's current size and mix in people from all over the world and see how easy it is to be "just."

  • (cs) in reply to JohnO

    Oh, throw in millions of poor, uneducated, illegal immigrants flooding in, too.

    I do like Sweden though.  Especially the bikini team :)

  • Aaron K (unregistered)

    Just thought I'd show up late to the party to say:

    (from the top of the page) "Cisco Certification: Update your credentials and pave the way to job opportunities! See more! Ads by Goo...oogle."

    I thought it appropriate.

  • (cs) in reply to JohnO
    JohnO:
    It's much easier to be "just" in a small, homogenous society.  That's why these comparisons get a little old sometimes.  Make Sweden 30 times it's current size and mix in people from all over the world and see how easy it is to be "just." ... Oh, throw in millions of poor, uneducated, illegal immigrants flooding in, too.

    Well, we could look at Germany, which in much is quite similar to Sweden. Given, though, they're having some severe financial issues atm, but it is an example of a working large-scale welfare-based society comparable to the Scandinavian model.

    I do like Sweden though.  Especially the bikini team :)

    As do we all... Come join us, it IS better here! ;)


  • (cs) in reply to Anaerin
    Anaerin:
    You know, there's something important to this that everyone's missed with all this talk of "24 ports"...

    Most (if not all) 24-port hubs ALSO have an "Uplink" port, designed for (That's right) linking hubs together.

    So it's not 242 ways, it's 252 ways. So there. :D


    I don't understand why you all want to make this so much more complicated than it really is.  There is just one simple answer to the question of the best way to connect two hubs together:

    Krazy Glue.
  • (cs) in reply to Ferris
    Anonymous:
    3. Whats the difference between parrelism and concurrency?


    "Concurrency" is a word, whereas "parrelism", like "whats", is not.

    Anonymous:

    > 5. Which dessign pattern would you choose to solve a sudoku puzzle?

    I'd use ML or Scheme, no design patterns needed.


    Design patterns are not necessarily limited to any particular programming language, although some would be simpler (or more complex) in one language vs. another.  "Dessign" patterns, though, I'm not so sure about.

Leave a comment on “Certified Bumblehead”

Log In or post as a guest

Replying to comment #:

« Return to Article