MongoDB: Which C Driver? - c

I'm new to MongoDB and just found out that the MongoDB driver from the Ubuntu repositories I've been checking out is not the same as the official driver. My question is, what are their differences? I usually go with the official version of things unless there is a good reason not to, but I thought perhaps there is a reason that the alternate driver is included in the Ubuntu repositories and not the official one.

The official MongoDB drivers are all to be found here:
http://www.mongodb.org/display/DOCS/Drivers
In addition, the official drivers all get moved under this root in Github:
https://github.com/mongodb/
That's the best way to get an up to date version of the driver. In terms of MongoDB and Ubuntu/Debian in general - the official packages are available as described here (Ubuntu repos have very old versions):
http://www.mongodb.org/display/DOCS/Ubuntu+and+Debian+packages
EDIT:
The driver you mentioned is this one:
https://github.com/algernon/libmongo-client
The driver maintainer mentions that it has "slightly different" goals from the main driver, but not what those are specifically. I think the main difference to look at is the level of maintenance and the frequency of updates:
https://github.com/algernon/libmongo-client/graphs/impact
https://github.com/mongodb/mongo-c-driver/graphs/impact
The official C driver is the basis for several of the other drivers, it is going to get a lot of developer time, quick bug fixes, immediate new feature support etc. The libmongo-client driver has not seen any activity in several months - I am not criticising here, just making the observation. For me, that alone would be a compelling reason why to use the official driver.

Related

How to install Berkeley DB for SICstus on Windows?

This maybe a dumb question but can someone explain how to install Berkeley for SICstus on Windows? This is my last resort
The entire Oracle site for Berkeley DB seems broken, with many broken links. Also, there are no longer any installers, and only the latest version of the source code. Their site has been that way for over a year. I do not know what happened.
In the mean time, I was able to download the Windows installers by first creating a free Oracle Account, logging in, and then using the links https://download.oracle.com/otn/berkeley-db/db-6.2.38_64.msi and https://download.oracle.com/otn/berkeley-db/db-6.2.38_86.msi (found via the Wayback Machine). These versions should be compatible with SICStus Prolog 4.6 on Windows.

What does the R means in software versions?

Many software I have seen in open source projects, have just some versions with a r1 or r2 suffix, but it looks like Google is unable to find an answer.
It depends on how companies name the versions. Usually R could mean Release. Spring follows RC naming which means Release Candidate(RC).
I found this old SO thread - What is the difference between GA, RC and M2 release?
I found it is also often used as revision number.
E.G. Gentoo packages use rX to indicate a revision applying Gentoo specific patches to the package.
The answer #RolsonQuadras provided is nonetheless correct, too.

What does "binary identical" mean?

In the context of SQL Server for embedded systems.
I read the following blog:
http://blogs.msdn.com/b/windows-embedded/archive/2014/04/01/microsoft-sql-server-2014-for-embedded-systems-build-your-foundation-for-better-data-analytics-and-operational-intelligence-in-next-generation-intelligent-systems.aspx
In my opinion, there have to be some differences - because otherwise there wouldn't be a version especially for embedded systems...?
Thank you ;)
It's an April Fools joke. To me the joke is the hollow and enterprisey language. They are not really saying anything in the entire post.
The post says the truth: SQL Server Enterprise is available for embedded devices. Just use the normal binaries and pay 7000$ per embedded CPU core :)

libipq not supported in Ubuntu 12.04

I have the requirement of altering packets as a part of my University's research project and came across two libraries. which are libnetfilter_queue and libipq which is the deprecated version. libnetfilter_queue documentation is next to zero on packet alteration and the only good documentation I came across is done via libipq.
Thus, when I run my code I get the error passer: Unable to create netlink socket: Protocol not supported which I found out that is due to the fact that libipq is not supported in the new linux kernels.
My query is, is there a work around to make libipq work with Ubuntu 12.04 LTS or any reference to documentation or tutorials that would help implement packet alteration via libnetfilter_queue.
I was at this for some days and could not find solution. you help will be very much appreciated. :)
Thank you very much :)
P.S: the question is also posted over here ( https://askubuntu.com/questions/430234/libipq-not-supported-in-ubuntu-12-04-lts )
Once the ip_queue module is gone, then you can't use libipq, as it leverages that module directly; so no, there's no workaround unless you install an older kernel that still has the ip_queue module.
That said, you've mentioned absolutely nothing about what you've actually tried. If you start from a basic libnetfilter_queue example, when you're setting the verdict, you should be using nfq_set_verdict, passing in the data_len and buf parameters containing the swizzled packet data.

LDAP C SDK

I need to write a simple LDAP client in C. The only binary distributions I found are old and also lack SSL tools needed to implement an SLDAP connection. A complete and up to date distribution that I found is that of Mozilla however it is in source code format and I have not been able to compile it into binary form for windows.
I used the instructions described here: https://wiki.mozilla.org/LDAP_C_SDK. I got up to the step where apparently I now need to use nsinstall but I don't know how this is done. Does anyone know how nsinstall is to be used.? Alternatively, does anyone know of an existing binary distribution of the LDAP C sdk for windows? I also need the ssl libraries and associated tool for configuring the keystore.
thanks,
Mike
I used The Google a bit and ended up with this site that has Windows distributions of OpenLDAP: http://www.symas.net/portal/
OpenLDAP is heavily used on *NIX platforms, less commonly on Win32, but these folks seem to have done the heavy lifting for you. Good luck!
Oh, and for docs and API reference, hit http://www.openldap.org

Resources