Autotools learning order [duplicate] - makefile

This question already has answers here:
How to learn the Joy of Autotools? [closed]
(2 answers)
Closed 7 years ago.
There are automake, autoconf, autoscan, autoheader and maybe others that I don't know about. If I want to understand and use these tools, which should be the learning order? Which should be learned first? I read the man and info page, but those pages don't give me any clear clue. I can't grab the big picture from those pages.
Can anyone give me a simple explanation (maybe with example) regarding the learning order (assuming I understand C code and a little of Makefile)?

If you understand autoconf/automake and have a basic idea about libtool you don't need to know the rest.
Apart from the sites Etan mentioned there is a book (https://www.sourceware.org/autobook/ ), it is quite dated but still a useful tutorial-like introduction.
I also suggest to look at existing projects that uses autotools.

Related

prerequisites to learn ruby [closed]

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.
Closed 10 years ago.
I have learnt java. I can write in C/C++. Recently i have been developing web applications in java. I was planning to learn ruby. Are there any prerequisites for ruby that i don't have.
In terms of knowledge? No, not really. You'll just need to be prepared for when Ruby does things differently to C-type languages. You'll probably find your workflow changes too – Ruby doesn't have a compile stepº
This slide deck looks pretty helpful.
APIDock is an invaluable resource for learning standard libraries…
Get yourself a decent book (or try a neat online tutorial), and dive right in.
What do you want to do?
If you want to build web apps, rails is the obvious and most popular choice, but there are other, lighter options (like Sinatra) available.
If you're interested in using it to build desktop apps, then Shoes is a good cross-platform option to explore.
If you're using Linux or OSX (and you probably should be), you should use RVM to keep things tidy, and using Bundler with your projects will protect you from gem versioning hell on any platform.
º Technically, it could, but none of the major distributions compile Ruby to anything…
I haven't learned any computer language before save Basic and similar vendorscript trash. I have been developing no web applications at all. I cannot write in C/C++. Yet it took me less than a year to learn Ruby, start using Emacs, Git, Heroku, Bundler, MongoDB and all those things developers are supposed to use. I'm doing it for my job (writing a simulator in Ruby). You have nothing to fear, as long as you are a mathematician.
Have a look at these sites:
ruby learning
Ruby docs
Unfortunately, you already missed the most important prerequisite to learn Ruby: not having learned Java ;-)
This may seem a bit inflammatory, but at least in my experience with learning Ruby myself as well as what I have observed from friends, it seems indeed to be harder to learn Ruby if you have learned Java beforehand than if you haven't learned to program at all. In my personal quest to learn Ruby, the hardest thing was unlearning everything I learned from Java.
Smalltalk (or even better Self and Newspeak) are much better languages to learn before learning Ruby, as are Scheme and Haskell.

Low level details of debuggers on windows, linux, OSX [duplicate]

This question already has answers here:
Closed 10 years ago.
Possible Duplicate:
How does a debugger work?
I'm trying to learn more about debuggers. I know the basics of debugging in general and some low level details on windows. But I would like to learn more about the details of how debugging is implemented. Like hardware and software interrupts on windows, linux, OSX and how can a debugger be attached to a running process, and so on.
I am not asking for an answer. All I'd like to get from you is some papers, books, links where I could learn more about this topic.
Thank you for your time.
Since nobody posted an answer I'll just post what I found in case someone else will need it.
I strongly suggest the book "How Debuggers Work: Algorithms, Data Structures, and Architecture" ( Jonathan B. Rosenberg, description ).
There is also a great paper on implementing a debugger "A Survey of Support For Implementing Debuggers" (paper).
There are also some blogs and more detailed papers, but these two really helped me out.

Documenting Visual Basic 6.0 code [closed]

Closed. This question does not meet Stack Overflow guidelines. It is not currently accepting answers.
We don’t allow questions seeking recommendations for books, tools, software libraries, and more. You can edit the question so it can be answered with facts and citations.
Closed 5 years ago.
Improve this question
I have just recently been asked to document 10 years worth of VB6 development done by one person. It's been some time since I looked at VB6 code myself, so I'm basically wondering if anyone has any tips for how best to go about it.
Is there any good software, free or not, which would do something similar to javadoc out there for VB6, that could be helpful?
Or just if anyone have any suggestion for tools / methods on how to do this. Any tip would be greatly appreciated.
You can try VBDox, which is a free VB6 source code documentation generator.
You may find my add-in, Atomineer Pro Documentation helpful. It can generate and update JavaDoc, Qt, Doxygen and Xml-Documentation comments in source code (Visual Basic, C#, C++/CLI, C++, C, Java, unrealscript), and you have a lot of control over the format it produces.
(edit: please note that this addin only works in Visual Studio versions from 2005 onwards, so you cannot use it in VB6, only to document old VB6 code using a newer version of Visual Studio. Once documented however, it can still of course be reloaded and compiled in VB6)
(You could say it generates the "boilerplate" documentation for you, but it generates a lot more than just a basic boilerplate skeleton - it fills in as much detail as possible to minimise the amount of additional documentation you need to write)
So it doesn't create external documentation from the comments (like JavaDoc), it creates the comments themselves - so you would still need another tool to generate the external documentation. However, AtomineerUtils would save a lot of time if you have to generate new documentation comments for existing (undocumented) code, or if you already have the code commented/documented in a Javadoc style, AtomineerUtils can process the documentation comments to convert them to Doxygen or XML Documentation formats, which may help you to gain compatibility with other tools (Sandcastle, etc) that can build external documentation for you.
To generate the external documentation from source-code comments, Doxygen is a leading (and free) external-documentation generation tool that can build documentation from JavaDoc, Qt, Doxygen or Dcoumentation-XML format documentation-comments, and is well worth trying out.
I used to code in VB6 a loooong time ago, and I never encountered any decent tools that helped with documentation in the Javadoc sense.
I would approach this from the angle of what needs to be documented: is it for developers to understand the API or is it for a user to work with the application? Assuming the former, then what is the bare minimum that you can get away with such that a developer can follow what is going on? You may be able to avoid documenting every method, and just provide a general hand waving use case based approach that could be separate from the code entirely and be based on your explorations. A few good diagrams goes a long way to transferring understanding.
If it is for the user to work the application, then you're into the realms of the help compiler. You might be lucky and find one of this lot is still available: http://help-compiler.qarchive.org/
Alternatively, if it must be the equivalent of Javadocs or you don't get paid, then you may want to consider writing a tool to scan over the source code and do a large portion of the boilerplate parameter filling for you. A tool like Unix AWK can really help here.
Our VBdocman does exactly what you need. It uses javaDoc comments and it can generate several output formats.

How to stay DRY? Do Not Repeat Yourself! [closed]

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 find that one of the most frustrating aspects to software development is finding a solution to a problem, forgetting it, then being faced with the same issue in the future only to forgot how you previously solved it. Or to write a useful bit of code, then on a later project not be able to find this code.
My general question is this: How do you keep track of all the new things you learn each day while programming? Does anyone have a systematic way to capture knowledge and easily and efficiently apply it in the future?
UPDATE: Thanks the for the responses, here's what you came up with:
Social
Stackoverflow
Tumblr
Twitter
Evernote
Blogs/Wikis
Code Repositories
Github
Unfuddle
LaunchPad
Google Code
Desktop
Dropbox
Yojimbo (mac)
VoodooPad (mac)
Wikidpad (win)
Surfulater
Stackoverflow is a good place to start :-)
Keeping a blog is another thing (here's mine).
Even Twitter can be useful for this.
There are also a number of "desktop wiki" applications that I find very useful: VoodooPad on the Mac and Wikidpad for Windows.
Finally, if you need to store snippets (or more) of code (that you have the rights to, of course), then there are plenty of source code repositories available now (GitHub, LaunchPad, Google Code or Unfuddle if you want complete control).
The brain has limits. Accept it.
The solution is to have tests for your code so you can merge repeated code without breaking a sweat as soon as you notice it.
I use TiddlyWiki to keep track of a lot of things. It's a one-page, self contained wiki that you can run off your desktop, or your server.
If you want a hosted solution, you can get one for free over at TiddlySpot
I'm having this problem myself too. I've just started couple months ago by adding good SO questions/answers into my favorites, even those I answered or posted. I guess that's a good start. :)
Write a blog. Publish your findings, code samples and everything else. The best way to save the knowledge for future.
I don't care too much when I forget how I solved some problem five years ago. Chances are that in the meantime, there is a better way to do it available. GIYF.
If it is for an organisation, having internal wiki page (or something similar) could help.
If it is only for you (and anyone that's interested), write a blog, favourite snippets on internet etc.
For code, a good approach (in both cases: organisation and yourself) is to keep something I call "Utilities Library". Each piece of code I like usually fits into one of the problem scopes / namespaces of the library. This way, over time, you have a neat code base that allows you to not to invent the weel again. Of course, after couple of months or years the library needs documentation to find anything in there :)
I think Evernote is one of the best resources for storing all kinds of notes. You can even upload photos of texts (say from your iphone, or just your computer), and the text will be OCR'd, so that you can free-text search for parts of the text later.
I use Yojimbo to keep track of just about every neat algorithm, code snippet, or handy idea.
A database of notes (I use an application called Surfulater) and a directory tree of source code (also kept in a Subversion repository).
If I were to start today, I'd probably use some Wiki framework to store my notes.
I always carry around all my interesting projects with me using dropbox. Then I usually know where to find the tricks I did before.
Everytime I see something good on SO I star it, everytime I see a good article on the web I bookmark it.
Keeping a blog or a tumblr is also nice.
I am used to carry my flash disk wherever I go. So, I have different folder there for C# notes, Asp.Net notes, Design Patterns etc.
And whenever I do something that I feel I can use it in the future, basically I open the relevant Word document in it, add the details and the code snippet with a header and save.
I do not know how the others do it but it really helps me.
Do not forget to add a reference index in the beginning of your document.
P.S : I also carry all the e-books in my disk. To have them all in my pocket gives me really good feeling.
I use google reader to store all the interesting blogs and I add notes on the issues it was about.For codes strangely I always forget after having solved the issue but now I either post on asp.net forum and stackoverflow. But only strange thing happened to me couple of years ago, I had an issue and I managed to research to solve it but when I reviewed some codes I had written 3 years before I saw that I had used the same function and identical code for a similar issue. I think even if I didn't remember the code, it must have been hidden somewhere in my mind :)

Algorithmic Trading API [duplicate]

This question already has answers here:
Closed 14 years ago.
Anyone have experience with algorithmic trading (like stocks)? Any good services to use to get quotes and to make trades?
I had a freelance project that used Interactive Brokers, which provided both a proprietary API as well as a FIX-based one. The proprietary API is somewhat painful to use (and they probably can't change it much, for compatibility), but you can easily code a "translation layer" to make it much more pleasant. I haven't tried the FIX-based API, so no comments there.
And yes, I reopened the question. I happen to think it's a fair question to ask.
I know TradeStation is pretty popular.

Resources