OmniThreadLibrary Overview - delphi

Is there a place where there is an introductory overview of the OmniThreadLibray for Delphi?
I have the current code installed in Delphi XE. The examples work. I've been looking over the associated The Delphi Geek blog with usage examples. Gabr admits the documentation does not exist. I would like to get a handle of the structure of the framework before diving into specific examples. I do have an understanding of the usage of TThread so I don't need go to a Threading 101 site.
The framework has shown to have a loyal following and I'd like to think I just haven't looked in the right place.

The author of the OmniThreadLibrary, Primož Gabrijelčič, is working on a book to document the library. It started off as a wiki and has been growing.
OmniThreadLibrary Book Wiki
The ebook: Parallel Programming with the OmniThreadLibrary
As sections are completed in the Wiki they are added to the eBook. From Primož's blog:
In accordance with the Lean Publishing Manifesto, Parallel Programming
with OmniThreadLibrary is published as it is written. When I’m happy
with a chapter (or even with a section, if it is important enough), I
click the Publish button on the LeanPub site and new, updated book is
available to all the readers

As far as I know, there's no overview of the type you're talking about. The closest there really is is the examples. They provide demonstrations of the things you can do with OTL, and you can study the code to see what they're doing and how it's implemented. I don't think you'll find anything better than that, for the moment at least.

Related

Primary source for WoW lua API?

I've been looking for first-hand information on the World of Warcraft addon API. There are a couple wikis that are pretty good, but their reference links only point internally. Surely there is some information published by Blizzard on the topic.
Can all of their information really be gleaned from reverse-engineering and forums? That would be hard for me to believe.
Its not all necessarily gleaned from inspection or trial and error. Some is provided, but randomly, from "heads up" posts in the forums from "the source", as in Blizzard employees. They are usually pretty good about it, though is almost always provided in a "just the essentials to save you some pain" sort of way.
Here's an example:
http://blue.mmo-champion.com/topic/233590-mop-changes/
Watching for the "Blue" posts goes a long way, and its been this way for a long time. If you look at someting like this (old 3.1.0 end user patch notes) http://us.battle.net/wow/en/game/patch-notes/3-1-0 , and then scan to near the bottom there will be a note and link for API changes, so its easy to glean their intent on this, and that they intend to provide some "unofficial" support about API changes there whilenot burdening the actual product readme with them.
In general, I'd say that due to the very open nature of the materials, the source for the UI, very little is hidden and most is pretty self-evident, so it sort of barely qualifies as reverse engineering. Once you understand the Lua relationship to the general design of the WoW UI and supporting API, it's much easier.
As for the implied question about "why", the "hard to believe" part. They are doing, in my estimation, what they believe is the best balance between fully supporting without "officially" suporting, and not wasting cycles trying to document a huge amount of available facilites thats ever changing. I think they belive it makes a better product, having the ability to customize, so its intheir interest, however is frought with problems and even legal issues from many angles to be expressly "official" about it or to try to maintain coherent docs.
----
Toward the question "git hub" below, here is the "blue" post in context, which can be found by clicking the "blizz" link icon on the mmo-champion link provided before: http://us.battle.net/wow/en/forum/topic/6413172918#1 I was trying to give an example of a Blue post that had detail, but I accidentally gave one for the Web API not the Game API. However the principle is the same, and provides more Blizzard to Community context for dev support.
So basically that particular post was in reference to changes in the Web API, and the Git remark has no relevance to the game UI Customization and Macro thing. There is no hidden or official doc source for game UI Customization and Macro. Mostly its because it simply doesnt exist for anyone. :)
Yes, all the information is gleaned from the source.
Blizzard doesn't post the API information at this time, AFAIK.
http://www.wowpedia.org/Portal:Interface_customization is likely to be your best resource.
There are multiple ways to discover the names of callable C functions exported into the Lua environment.
But yes. One quite simple one would be to enumerate all the globals in the source that are written to, then enumerate the globals that are exposed while WoW is running - and take the difference, perhaps limiting the result to globals of type 'function'
Blizzard used to informally document its API for a while, but it has always been 'unsupported'
There are other ways to discover the API - but they involve doing things which may violate the TOS.
There is a website now that contains the API for wow addons. This has been helping me a lot.

Wiki based website - Choice of technology

I am willing to build a wiki-based website that would have some other features, namely comments, social sharing, video insertion, article rating and gamification. In a nutshell, something very close to the StackExchange's websites, but the pages would consist of a single piece article instead of a thread of questions implementing the footnote feature.
I have not coded a single line yet.
I am rather experienced with Grails, so I know Groovy and Java. I also know JQuery and a bit of PHP, but I can learn basically everything required. I will be the only one programming on the project.
My questions are:
Which technology should I use according to YOU ?
Should I use Grails as this is what I know best, and try to integrate a wiki technology within my app (if yes, which one) ?
Should I start from an already existing wiki technology (WikiMedia, XWiki, TWiki, Moinmoin, ...) and modify it to integrate the features I need (gamification, comments, video insertion, article rating and social sharing) ? Once again, if you think that is the best solution, please quote a technology, and if possible, tell me why is this THE one.
Thank you very much for your help. I find it rather hard to choose, and ever harder to know which path is the right one to go.
Any suggestion is most welcome.
I would suggest using MediaWiki for the following reasons
You mentioned a wiki-based website
It has lots of extensions built already for your needs (comments, article rating, sharing, comments)
Since you mentioned you know little PHP, you can also modify some of the extensions for your use.
MediaWiki has (via extensions) support for social sharing, video insertion and article rating, and not-great-but-okay support for comments. (Probably most other wiki platforms too - these are common enough features.) Wikia (a MediaWiki-based wiki farm who opensourced most of their custom code) has some gamification features, though I am not familiar with them. Also, MediaWiki has the advantage of having the most widely known wiki dialect (due to the popularity of Wikipedia).
That said, if you are going for minimal developement effort, I would look into adding wiki features to an existing StackOverflow clone before trying to add gamification, comment etc. features to a wiki.

Great Delphi source code to read and learn from

This question relates to
https://stackoverflow.com/questions/9603/what-is-some-great-source-code-to-read
which compiles a list of great (in the sense of readable, elegant, ...) source code.
Part of the learning experience when reading source code is certainly independent of the language but every language has its own ways to do certain things. So in this question, I'm looking for great Delphi code.
What is some great Delphi source code to read and learn from? Any suggestions?
The VCL/RTL itself is a very good example of great delphi code. It is available at your delphi installation folder ($delphi)\source, except for the new Starter edition, which I heard does not include the source code.
My suggestions
All the Jedi projects are very well written JCL (Jedi code library), JVCL, JEDI Windows API Library (Great to learn abot windows api and header conversions).
VCL and RTL Source code.
Virtual Tree View
Well for once, if you ask me, the VCL is fairly well written, and you can learn quite a bit about the Windows API from it.
Then there is the much hyped Delphi Web Script, which sounds rather interesting.
I would also recommend DEHL, which is quite a nice library, and the VirtualStringGrid, as a hugely popular and quite well written, though complex, component.
Then there is the JCL and JVCL, that I would also recommend.
The GExperts sourcecode on sourceforge.
Obvious answer: My sources
http://svn.berlios.de/viewvc/dzchart/utilities/Delphi7Help4Bds/trunk/
http://svn.berlios.de/viewvc/dzchart/utilities/dzAutoSave/trunk/
http://svn.berlios.de/viewvc/dzchart/utilities/dzCmdLineParser/trunk/
http://svn.berlios.de/viewvc/dzchart/utilities/dzLib/trunk/
http://svn.berlios.de/viewvc/dzchart/utilities/dzPrepBuild/trunk/
You saw that coming, didn't you?
Bold for Delphi - Framework, a masterpiece, huge and immaculately designed
StarUML - An UML Editor, wonderful clean design and code
Clever Internet Suite - Communication component set - clean architecture and code, commercial
"Good code" is a rather subjective topic ... everyone has an opinion on what can be considered good/bad code. Readable code might not necessarily be considered effective code, and vice-versa.
If your interest is learning how to create well-written code, you should instead study any code and find out how to improve or fix it. When I was in the Air Force, part of the training I would give my new troops would include them visiting sites like Koders or Sourceforge, where they would download source and analyze for functionality, effective results, coding standards, proper software engineering principles, etc. They would look at the code and answer "how would I do this differently?" This exercise gave them a much better understanding of what well-written code should look like.
My point is, you can't learn how to write "good code" if you don't know what "bad code" looks like.

Need help on Beginning HL7

hI
Can anyone please guide me to Creating HL7 Version 3 messages for the first time. I need to understand the design of XML based HL7v 3 message. I want to design an interface engine in Java. Have tried to find.. but cannot see anything for beginners.
Please help
HL-7 documentation has to be purchased from hl7.org. They control copyright and so legal free copies aren't available AFAIK.
If you feel thrifty and are willing to work out some of the information yourself, the HAPI project might be a good place to start. If you look at the code you can see how some of the different segments are represented.
There's a tool I've been using lately that helped me on that. It's called HL7 Soup which is a HL7 Viewer.
It's advantage over other products I used is it's easier to understand messages and its structure, which helped me learning lots about HL7.

Tutorial for Pascal/Delphi for C++-Coders

I'm a C++-Programmer. But now i have to learn Pascal/Pascal. Are there any websites, documents around that can teach someone with my knowledge the difference?
It shouldn't be too difficult to pick up. C's design was influenced by ALGOL and Pascal, so the semantics and logical flow are going to be pretty familiar. You can get an overview of the differences between basic Pascal and basic C here.
But you tagged this as Delphi and you mentioned C++, which implies that you'll need information on OOP techniques. Try this article or this one, which compare object-oriented programming in Delphi with C++ and other languages. Both are a bit dated, but most of the basic information in them still applies today.
If you have any specific questions about language features, feel free to ask them here, and welcome to Stack Overflow!
You can check Essential Pascal written by Marco Cantù, is a introduction to the Pascal programming language. you can download a free copy from here.
Another excellent site for beginners, is Delphi Basics, this web site provides help and reference for the fundamentals of the Delphi language. It gives an introduction to the Delphi Object Oriented Language for newcomers.
A website that helped me a lot when I learned Delphi was http://www.delphibasics.co.uk/. I still use it. It presents common methods in a nice way.
You might consider this post on beginner guides to Delphi. It has some good links included that may be rather simplistic for you, but can still take you a long way.
Marco Cantu (mentioned in several answers) also has a book series called "Mastering Delphi." It is a great (maybe only) top to bottom resource. Everything Delphi is in it. But the last edition is for 2005. Four versions of Delphi have been released since. There are a couple of update sheets available from Marco's website (D2006 was mostly a bug fix of 2005). And Marco also has the Handbook series, but that is aimed at people who already know Delphi and are looking for help on the newest improvements.
Personally, Delphi is my favorite language. I hope you enjoy it!
your name sounds german so you might wanne check these pages out
delphipraxis
it's not really a comparison for cpp and delphi/pascal but you'll find a lot of information
due to me being a new user i'm not able to post a second link. but search google for delphi forum..
The Free Pascal documentation is another great resource:
http://www.freepascal.org/docs.var

Resources