As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
Is there an easy markup language for math equations?
I am developing an application for undergrads and I was looking for something less complex than LaTex and easier to write than MathML.
For the actual equations themselves, I think tex is simple and clear. Tex gets complicated only when you worry about everything except the equations, such as documents and packages etc. And the quality of tex equations is far better than everything else. So I'd recommend looking at some kind of hybrid approach - use tex markup for the actual equations, but embed them in a simpler environment. You might look at some of the questions relating to converting tex equations directly to pngs.
Have you looked at ASCIIMathML? It converts the markup to MathML, but seems to be easier on the brain...
Look at eqn at http://www.kohala.com/start/troff/troff.html for instance.
The answer will depend critically on what you want. Note that if you roll your own you will have to develop a complete toolkit for authoring, validating, transforming and rendering. You will either have to have a very small language or put in a lot of effort.
If you want typesetting, then use either TeX or presentational MathML as they have well-developed toolkits. If you want semantic math then content MathML is your best bet.
One of the main groups involved with math markup is the Mathematical Knowledge Management community (MKM) and their choice is MathML. I have interacted with them over the years as chemistry and math often are found together.
I'm afraid that the answer is that Math is a complex subject and there are no ultra simple solutions. I believe that MathML is fairly free of unnecessary complexity and represents the best way forward. Moreover it is an excellent indication of the difference beteween presentation and content/semantics.
Related
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 9 years ago.
I apologize that this isn't a technical question, but as a programming student, I find it difficult at times to remember various arguments (especially in BASH scripting), so my question to the pros is, do you use references and "cheat sheets" or is it all from memory?
We don't memorise as in memorising the multiplication table. We memorise as in playing a musical instrument: kept using it.
We memorize only one command, man and bookmark only one URL, The Portable Operating System Interface (POSIX) which provides the cheat sheets for shell and kernel programming alike. We learn C only from one book, Kernighan, Ritchie: The C Programming Language and Unix/Network programming only with W.Richard Stevens' books.
Everything else is expendable :-)
Well I guess there is no real way to memorize things, you need to really have an understanding of the commands. To be honest a lot of people still may need to look in the "man" for particular commands to find all their options. The first step is feeling comfortable with bash and the commands and having a general appreciation of how bash commands generally work.
Then there is good old fashioned repeated use which will get you more familiar with the commands and then it will become second nature. So I guess the answer is to get a general appreciation and keep learning and applying what you learn on a regular basis.
I personally have a cheat sheet of commands that i use on my setup.
The more you code the less you will need to look something up. Google is your friend.
Firstly, try focus on remembering concepts and not variables or function names.
Secondly, using cheatsheets and references is a good choice for beginner, you can even print it and put nearby.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 11 years ago.
More of a side thing I want to learn since they never really went much over it in college, and yes im sure this has been asked plenty of times but Books/Algorithms get updated. So I wanted to most updated opinions/reviews of it.
I am less concerned about the history of it, but more concerned about actual implementation. And maybe by the end of the book implementing my own pseudo encryption algorithm.
I recall hearing something about Crpytool being a good learning program. I don't know if that is still true or not.
I am guessing typical encryption algorithms can be pretty much implemented in most languages right? Like MD5 in php and c?
http://www.schneier.com/book-practical.html
And please don't use your pseudo-encryption algorithm for anything more important than your own love letters. It's probably best not to use your own implementations of standard algorithms either.
Here is Cryptography for Developers and Cryptography in C and C++ books which I advise you much
The handbook of applied cryptography is worth to read, especially chapter 14.
http://www.cacr.math.uwaterloo.ca/hac/
Wikipedia has a good bibliography page on the subject which history page shows frequent updates.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
Not a book that talks about how to code but more high level organization of software.
General Responsibility Assignment Software Principles and Domain Driven Design are in my opinion are the next must have things you should get familiar with after learning to code. API Design is also a good read, especially when you are developing the software that will be used/extended by multiple people.
I am not in favor of learning patterns as it is EASIER to misuse them if the intention is not understood correctly. (Everything seems like a nail if you have a hammer kind of thing). I have nothing against patterns but I have seen it mostly misused by the junior developers thus creating hard to maintain products.
My Professor at RWTH recommended these:
Jacobson, I., et al (1992): Object Oriented Software Engineering
Meyer, B. (1997) : Object Oriented Software Construction,2nd edition, Prentice Hall, ISBN 0-136-29155-4
Though perhaps it is not strictly architecture-related (although I believe you'll find that most prescriptions of architecture patterns are mere guidelines at best, and far from comprehensive), Steve McConnell's Code Complete is truly required reading. More importantly than teaching you design patterns, it will teach you to be a better programmer so that you can make these kinds of decisions for yourself.
I really like Fowler's Design Patterns. Deep stuff, some of it's hard to get through, but yum.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 12 years ago.
In the past LISP was the only powerful functional programming language, as far as I understand. Now there are lots, why do people still use LISP with its weird syntax? Is there a unique killer-feature of a kind?
First, Lisp in general and Common Lisp in particular is more "multi-paradigm" than "functional". From here on, I will mostly discuss Common Lisp (CL).
There isn't "one killer feature", though. CL is a programmable programming language, making it easy to do meta-programming. That is, you can usually do "meta-level" things directly in the language instead of having to reach for a pre-processor that does textual transformation into your base language.
CL also has a very powerful object subsystem (CLOS), that has, so far, supported anything I've wanted to do with class hierarchies and/or methods.
As far as the syntax goes, I guess it's a bit different from the more classic syntax of the "Algol family" languages, but it's no more and possibly less weird than APL.
There is a unique killer-feature. It's called a macro-system. With macros you can expand your language and it makes it really easy to make great DSLs. This kind of thing would be hard (and not that nice) to implement with Scala, Erlang or Haskell.
The syntax or the lack of it is what lot of lispers really like because it brings a great uniformity which is something that is lacking in a lot of languages. For a standard C or Java programmer the Erlang or Haskell syntax is weird too so what's worse about syntax other that it looks weird.
Another question you should answer is why are the other languages better then Lisp, what feature is Lisp missing?
But it's of course the case that many modern languages learn a lot from Lisp and there are many more languages that can be used for the same problem.
Don't forget that Lisp is not one language there are diffrent kind of Lisp dialects. Scheme, Common Lisp or Clojure and all have diffrent focuses.
So the question what language to use can only be answered by trying them every has something pretty special about them. Erlang with the Actors, Haskell and Scala have these crazy typesystems, Lisps have awesome macro-systems .....
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
i got really confused every time when i encounterd bit operations,especially those shifts,rotates,overflow things etc.I wonder if there's any book/article on the web introducing boolean algebra,which could give me a solid background of boolean algebra,thanks!
Two really great books come to mind.
Code: The Hidden Language of Computer Hardware and Software
Hacker's Delight
Also, online you can read Bit Twiddling Hacks.
Wiki articles:
Boolean algebra (introduction)
Boolean algebra (logic)
Boolean logic
I don't know of any books on this subject, but here are some online resources... It sounds to me like what you want is to understand binary better to start with. Here is a little treatment of Binary from MathWorld, which is the web's best mathematics reference. Here is an applet on binary shift. There is a wikipedia article on Bitwise Operation. Ben Fry has created a good calculator that includes Bit Roll (Rotation) in it - be sure to look at the help on the calculator as it does much more than is obvious at first - try changing the Mode to Bin, for example.
If you are using C like languages you can also read this: bitwise operations in C
At university we used a book called Introduction to Logic Design. Covered everything from boolean algebra up to FPGA stuff. Pretty comprehensive and it has a fair amount of exercises.
When I took my first digital logic class, I actually did every single lab in Minecraft. This might not help alot of people, who have built many different things here.
I recommend minecraft for some fun hands on experience in this stuff, even though, it may not be the most 'efficient' way to learn :)