Jump to content

AtomicMaster

Senior Members
  • Posts

    157
  • Joined

  • Last visited

Everything posted by AtomicMaster

  1. I don't understand what you are doing because the concepts are too advanced, therefore it is wrong
  2. The provided definition is concise and exact, if you wish to go deeper into some area of the subject, those would be fields of computer science, each a specific part of computer science, each with it's own definition, none affecting the definition of computer science because there could be a nearly infinite amount of fields or areas of computer science to study, but they are all, ultimately, combined together, the study of computing or computer science. In order to define physics ("the study of nature"), for example, we needn't delve into the fields of physics spanning from quantum to celestial (or astro), there are many fields, all of which have their specific definitions that are all encompassed inside the much broader definition of what physics is. None of the fields affect the definition of physics, none of the ways to study, or subjects of attention affect the definition of physics, and the definition of physics is already as exact as it needs to be. The question of "why" is not a question for the science to answer, because it implies that there is a purpose. This is an understandable question, as humans we look for purpose everywhere and so we naturally ask this question, but "why" is not the question that science solves, because honestly there is no evidence to show that there is purpose to everything that we didn't create; science answers "how". "Why" is the domain of philosophy and religion (also history and a hand-full of other fields).
  3. HTML5 + CSS3 allows you to encode Rule110 (demonstrated by Eli Fox-Epstein). Technically HTML5 + CSS3 is Turing complete... Now that is silly. Other silly things include: ELF metadata headers are turing complete x86 MOV instruction is turing complete The Intel MMU fault handling is turing complete List of silly things goes on and on
  4. Ed, if you have time and want to have fun (and by fun i mean make your head hurt), metaprogramming is a TON of fun in Python (and also very scary, i should mention that i got very scared of the concept some time through the video, and am yet to finish it, but it really is a great intro all the way through to advanced). Check this out:
  5. Well you already got into the Higgs field, how much more difficult can it be? To be honest, degrees really don't mean anything without your understanding of whatever part of comp-sci you want to pursue. This means that if you want to program, you should learn how to program, no not take a class and say "well i got an A in my C++ class", because that means diddly-squat; if you know C++, you must KNOW C++, and how to apply it to a problem. If i ask you how to solve the diamond problem, if i ask you how would you solve a problem where say i have a program that is a shell, and i want to keep command history, but i only want to keep 1000 entries, how would you approach this problem. You must know the language, you must know how to solve a problem you must know how the language works, and you must know how to benchmark and optimize code to be a good programmer. If you are a good programmer, degree or not, you will be able to find good work. If you know how to program C++, other languages are like new worlds, you have to discover them, spend time exploring them before you are worth anything in them. If you know how to program, any language is only a tool, all you need to do is figure out how to express your solution in that language's dialect, in a few hours you will be able to code in it, in a few days you will feel comfortable, in a couple of months you will be an expert. Following this same logic, if you want to do systems, then you need to know systems, how to design them, how to build them, how to manage them, how to find the weakest link, how to scale them, what technologies there are for different solutions, how to apply them. You must reason through problems, like how would you design a system that would be able to aggregate logs from say a 100 different web-based applications your company is running in a way that is easy for all the developers to implement and use. How would you scale that for say 20-30-60Gigabits worth of transactions every second. If you want to go into networking, you must live it, you must know protocols, you must know products, you must be able to quickly troubleshoot problems. Just knowing the names of the OSI layers don't help you, you must be able to, without thinking, answer questions like "what layer does MPLS use fit in?". Etc... The point i am trying to make is that the degree means that you went to classes and were able to answer questions, having been given those answers in a book. You must live what you want to do, and become an expert in something, or you must know a lot about a lot of things, and be able to constantly solve non-textbook questions and come up with new solutions to well-known problems. If you can go into a job interview and easily answer any difficult questions they throw at you, you will have a high chance of getting a job. If you can barely navigate your way out of a randomly sorted start menu, well, degree or not, you will not get a job.
  6. Computer Science has a very solid definition, it does not depend on how you classify the purpose of the definition, the purpose has nothing to do with the science of computing, that would be computer philosophy. Like all sciences, there is an exact, encompassing definition; it is the study of the principles and use of computers. Computer scientists use the scientific approach to computation and it's applications to create or design computational systems. $.02
  7. Question 1 is simple, as you iterate over LL1 (or determine its null), also iterate over LL2 and compare the the values. This can be done fairly simply iteratively, or even better recursively. The question i feel like you were asking is more like "how do you iterate over a linked list?", for which you just need to remember how linked lists work. LL maintains the current location pointer, and every node has at least either a previous or next list node pointer, or both a previous and next node pointer (which classifies what kind of an LL it is). The other thing you have to determine is if the list is circular (i.e. does it maintain its starting position, and point the last node's next pointer to the beginning of the list), or flat, in which case last next or last previous pointer will be null. -> LN -> LN -> LN -> - singly linked circular LN -> LN -> LN -> null - singly linked null <- LN <- LN <- LN - singly lined (essentially the same as above) null <-> LN <-> LN <-> null - doubly linked <-> LN <-> LN <-> - doubly linked circular There are no indexes in the lists, queues, trees, or most other similar structures, like there are in the array; they are totally different data-structures and have different purposes, strengths and weaknesses...
  8. I was reading this article, it was news some days ago, but basically there was a communication problem between the module and the ISS, which aborted the docking attempt. I followed the link to the source and read this: And then it sort of hit me; this is a typical protocol implementation error on the side of the module programmers, i.e. langsec vulnerability... Hilarious and sad at the same time! http://www.space.com/22895-private-cygnus-spacecraft-aborts-docking.html
  9. Rules are simple, post a sentence starting with "You know you are a geek when" For example: You know you are a geek when you can read a file format off a network capture looking at just hex. You know you are a geek when you can convert hex to binary to hex more easily than 24 hour time to 12 hour time. You know you are a geek when you throw a d20 on a skill check to see if you are ok to drive. Just a few examples for now, i want everyone to have a good go at it before posting more. (Yes i know this has been done before, i should know, i did it; but it's still a ton of fun, so...)
  10. As the name suggests C++ is just a superset of C, meaning that it does what C does (for the most part, compilers made C++ slightly easier in a few ways, but did take some control away), and also some more stuff. C is purely functional language, doesn't mean it's bad, there are problems where lower level control is required and there is no need for OO, like kernels for example. Non object oriented languages are typically easier to understand than object oriented, at least until you get the hang of OOP at which point some problems become easier to solve than trying to doing the same thing in a functional language. That said C++ can be used as both functional and object oriented, so as far as C being an easier way to do programming, the statement is incorrect. Learning to program is not about knowing a language, languages are just tools to be used to do what you need the computer to do. Learning to program is to learn how to get the computer to solve one or another problem, at which point language becomes merely syntax, grammar, and a few peculiar semantics, rather than say learning a completely different and new way to solve the problem every time, without using any structures you used in any other language. If you know that a loop is the most optimal solution to a particular problem on a particular architecture, regardless of a language, you know what you need to find to make this loop happen. It will look differently syntactically, but the solution is still the same, so writing it in any language becomes a matter of a syntax lookup...
  11. Edge cases, just like dynamic architectures in vms used in malware to make it really difficult to reverse or detect, just because it's interpreted assembly for a wonky architecture, doesn't mean that its a good introductory language to learn. A popular interpreted language (with some exceptions, like Perl, most functional languages, Lisp family) is generally much easier to learn than a popular compiled C-like language (Go, C, C++, Java, C#, Objective C)
  12. So what you are saying is that the neg instruction in x86 doesn't exist? or that it doesn't do anything? or that it's not implemented in microcode like every other instruction in the assembly language?
  13. Big O - f is asymptotically bounded above by g - f is no faster than g Big Omega - f is either not bounded or asymptotically bounded below by g - f is no slower than g Big Theta - f is asymptotically bounded above and below by g - f is as fast as g
  14. Yes all of that! Computers aren't built on 2-state systems because someone wanted to use binary, we use binary because it represents the two states that the computer systems understand. Also binary is not so difficult to understand, especially when used in conjunction with hexadecimal When we build a computer that uses 3-state tubes, we use tertiary system (that's base 3) to represent the states. If we built a 10-state quantum computer, we would use a 10-base system. That's as far as that goes Computer language more efficient than what? In what sense/way, as in what aspect of efficiency are you talking about? Or is it a general question, like is there an efficiency in which one computer language would be more efficient than another one. In which case, i would say that regardless of the languages in question, theoretically, since i know of no law that allows one to reach the limit of efficiency; yes, there is a language that is more efficient than any other language in some way.
  15. It differs from implementation to implementation how the clipboard is stored, the size can potentially differ from OS to OS, and Linux doesn't have a clipboard as it is a kernel and clipboards are a user-level program. You would have to look at the different implementations; various desktop environments could and most likely do implement clipboards differently, different OSes most certainly do.
  16. Not sure that a research should start with the thought of schooling for the purpose of good grades is wrong approach to do science, imho... That said DFS is a really hot topic right now. With the wide and ever-expanding adoption of Hadoop and HDFS, it is good way to solve a storage throughput problem without going the traditional ways of faster drives, crazier raids, with faster (and EXTREMELY EXPENSIVE) interconnects. For the same $250k/T SAN you get from EMC, you can have a sizable server farm capable of outperforming the SAN in every metric. There are plenty of problems that still need solving. File system indexes (for Hadoop for example indexes are still stored in memory on ONE node without a good way of replicating this node), efficient searching, moving, fs corruption, better algorithms for file distribution, copy maintenance, even reliability between physical locales. There are tons of interesting problems to solve.
  17. Yes interpreted languages are easier to understand and linguistically differ (in a good way) from a C-like language to be more understandable by people.
  18. I would say that yes C++ and Java are good languages to learn as far as language knowledge for career goes. However they are pretty not friendly to new programmers, linguistically they are difficult (think about everything you do to output simple characters on the screen), conceptually they get VERY advanced (Virtual Inheritance).
  19. Its not complicated or lengthy at all, and is implemented in microcode very very well and very fast. It is however a lot longer to have to do the operation than not have to do it at all...
  20. I would say that any compiled language is a bit too much for an intro to programming course, so it really depends on what you are up against. If it's Java and C/C++, then Go is a much better language. If it's basic, PHP or JavaScript or something , then i would say that there are better languages for teaching out there. For example Python, which was written to teach people to program, or Ruby if you want to introduce students to a truly modern language. Go of course is not a bad language, like a cleaned up version of C++, but not necessarily the best choice for an intro to programming class... Just my $.02
  21. Hmm, nobody really wants to nudge in any direction Maybe it's just the notation, or maybe i expressed it incorrectly? Let me expand/explain/fix: So, given E, over finite field K (which is an abelian group of integers (+,*) mod p as p ranges over primes), given P∈E(K), given Q∈G:=<P>, all i need to do find k∈Z such that Q=kP, well maybe first translate it from math to a language i speak Time to go read more
  22. Problem is to compute the ECDLP given: A finite integer field (Zp,+,*) as p ranges over primes y2=x3-5x+4 where P=(-1.65, 2.79) and Q=(-0.35, 2.39) I don't necessarily want the answer, i want to know where to start and how to get to it ...
×
×
  • Create New...

Important Information

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