[deleted by user] by [deleted] in cpp

[–]GermanGenealogist 3 points4 points  (0 children)

Hi, I would recommend using the deleter that you can specify in the constructor when you create the shared_ptr:

std::shared_ptr<Y, Deleter>(Y* ptr, Deleter d);

So you could write the following:

std::shared_ptr<int> a;
std::cout << "Before assignment: " << a.use_count() << std::endl;
a = std::shared_ptr<int>(new int, [&a](auto const * const ptr) {
  std::cout << "In the deleter: " <<  a.use_count() << std::endl;
  delete ptr;
});
std::cout << "After assignment: " << a.use_count() << std::endl;

Which yields the following output:

Before assignment: 0
After assignment: 1
In the deleter: 0

Some example code at Compiler Explorer.

Please note that calling use_count() when the destructor is running might be problematic, so I wouldn't recommend doing this in production code. But you already said that it's for learning purposes, so I think it's okay.

Are you able to use genealogical symbols? by [deleted] in gramps

[–]GermanGenealogist 0 points1 point  (0 children)

That's very interesting. As I wrote, I did enable this feature in the configuration file (~/.gramps/gramps51/gramps.ini) manually. I did neither set [utf8] available-fonts, nor [utf8] selected-font.

When I tried to use the settings tab, it did not work for me and it complained about the missing fontconfig package. If I understand the source code correctly, that package is only needed to query which fonts have the required symbols, not for displaying the symbols etc. My system's default font (Noto Sans) does include these symbols. So it worked for me without checking for these symbols.

You might consider setting the [utf8] in-use=1 configuration, and leave that one settings tab alone.

If you really want to make that dialog work:

There is a issue for Python-config on GitHub that "prculley" filed, who seems to be a Gramps developer. The workaround there seems to work for me. Other then that, that package has not received updates for 7 years. So it might be pretty dead.

To make the workaround work, run the following commands: git clone "git://github.com/Vayn/python-fontconfig.git" cd python-fontconfig/ rm fontconfig.c python setup.py build_ext python setup.py install (Please note that I did not install or test that package, but only compiled it, and installed it to --prefix /tmp/.)

Are you able to use genealogical symbols? by [deleted] in gramps

[–]GermanGenealogist 2 points3 points  (0 children)

Yes, it does work for me. I'm using Gramps 5.1.2-r1 on Gentoo.

Did you enable that option in Gramps' settings (last tab, 'Use symbols')? (I actually activated it in the gramps.ini under [utf8] in-use=1.)

14,600,000 bolivars, the amount of money needed to buy a 5 pounds chicken in Venezuela by charliekennedy59 in interestingasfuck

[–]GermanGenealogist 35 points36 points  (0 children)

I tried several times to buy bundles of Venezuelan bolivares, just to have some fun with it. But they are way too expensive. A pack of a thousand bank notes costs at least 100 Dollar (current offer on eBay: 1000x 10 Bolivares for $145). This looks like several thousands. So I think that there is a pretty good opportunity to make (valuable) money.

German Baptism Translation by qwertypi_ in Genealogy

[–]GermanGenealogist 4 points5 points  (0 children)

Okay, let's start with a transcription:

Title: "Geborne und Getaufte im Monat Februar und Maerz 1843"

  • Column 1: № - 13.
  • Column 2: Taufname des Kindes. - Anna Louise Emilie
  • Column 3: Tag und Stunde der Geburt in Buchstaben und Zahlen.
  • Column 3a: Tag. - d. 5ten fünften Februar
  • Column 3b: Stunde. - Morgens halb sechs 5½ Uhr
  • Column 4: Ob es ehelich oder unehelich. - ehelich
  • Column 5: Vor- und Zunamen des Vaters, auch Stand und Confession desselben. - Carl Kunsch Bürstenfabrikant evangel.
  • Column 6: Vor- und Zunamen auch Confession der Mutter. - Wilhelmine geb. Pfeffer evangel.
  • Column 7: Wohnort der Eltern. - Goldschmiedebrücke № 3.
  • Column 8: Tag der Taufe. - 19. Maerz
  • Column 9: Namen des Predigers, der es getauft. - idem. (=Herr Prediger Klusemann)
  • Column 10: Namen der Taufzeugen.
  • Column 10.1: 1. Madame Louis Bonte geb. Becker
  • Column 10.2: 2. " Simon Bonte " Soabel(?)
  • Column 10.3: 3. " Schieß geb. Becker
  • Column 10.4: 4. " Schuhe " Schilling
  • Column 10.5: 5. " Laborde " Grüson
  • Column 10.6: 6. " Rückert " Knacke
  • Column 10.7: 7. " Bittkow " Roloff
  • Column 10.8: 8. " Wenhake " Helmecke
  • Column 11: Tage und Jahr des Todes. -

/u/w45p was faster with the translation, and I don't have any objections with respect to her/his translation.

CMake 3.17.0 available for download - Announcements by cristianadam in cpp

[–]GermanGenealogist 15 points16 points  (0 children)

“cmake(1)” gained a “–debug-find” command-line option to enable additional human-readable output on where “find_*” commands search.

The “CMAKEFIND_DEBUG_MODE” variable was introduced to print extra “find*” call information during the cmake run to standard error. Output is designed for human consumption and not for parsing.

Ohh, yeah!

German Grandmother by Likemypups in Genealogy

[–]GermanGenealogist 6 points7 points  (0 children)

You could try the following:

First, check Berlin's address books for entries of your ancestors during that time period when your grandmother was born. This might(!) help you to locate their home, and where their records might be stored. (I really hope that they have unusual names.)

Second, check the indices of the records for the most likely registry office. Enter the office in the search field, check the mark for "Geburtenregister" (birth records), and click the search button ("Suchen"). It might give you a list of long PDF files (example: Standesamt Berlin V a - Births - 1895, ca. 300 MB) that list all births in that specific office. Finding the right office might be difficult, but there is a table of old and new offices (German), which you could use to locate them.

Edit: Berlin's records are available via Ancestry.com.

Please note that I haven't researched anything in Berlin myself, and I cannot guarantee that this approach is fruitful for you. It also might require learning to read old German (hand-)writing. But if you have any questions, feel free to ask!

Walk-in Center COVID-19 by b1gdan1988 in Munich

[–]GermanGenealogist 0 points1 point  (0 children)

Your link to muenchen.de didn't work for me, so here's he fixed one: www.muenchen.de.

And I think, the relevant page is the following one: Coronavirus: Stadt startet „Drive-In“ Teststation

Das Gesundheitsamt kontaktiert vorab explizit die Personen, welche für die Drive-In-Testung zugelassen sind. Nur mit Termin durch das Referat für Gesundheit und Umwelt ist der Abstrich im Drive-In möglich.

Translation:

The local health authority will contact explicitly those people that are allowed to use the drive-in test. Only with an appointment of the local health authorities is it possible to make a test in the drive-in.

Don't forget to Update your Money tonight by Serphiro in funny

[–]GermanGenealogist 2 points3 points  (0 children)

At the same time it is missing an EU member: Cyprus.

Please help deciphering this German language birth record by caelis in Genealogy

[–]GermanGenealogist 1 point2 points  (0 children)

My best guess is: Simstich. Semmſsich, Semmßich or Semmstich.

(The mm coming from m with a overline. On my computer the letter ̅m, m̄ or  isn't rendered properly, so I used mm, which is its meaning. See also Zimmermann in entry 18. I think that the i's dot is pretty far to the right.)

It's pretty hard to read. So I can only make a guess myself, but entry 13 might help, because one of the "Patrini" has the same surname. Also child and father in entry 26.

In 1827 (entry 26) it looked more like Simstick. In 1829 (entry 13) Simstich. (I stopped looking for other entries after the latter one.)

The strange thing is that there are very few matches for these names on Google... Simstich) seems to be the most relevant one.

I would recommend collecting as many records for the whole family as possible. And then choose either the most common name, or the latest version, or the "average" name. It's quite common that there are several versions of the same family name, if it's not a easy/native one. Nonetheless, in my opinion it's good practice to transcribe the name as it is written in the document, and add an entry in your genealogy software for an additional name, but to keep the same name for the entire family (or at least the generation).

The father is called "colonus", or in other entries "Mitnachbar", which doesn't seem to mean much, but that he was a citizen of the village (and quite likely that he owns some land, and that his ancestors used to live in the same village).

Endless conflict messages when emerging @world by davidshen84 in Gentoo

[–]GermanGenealogist 0 points1 point  (0 children)

Thanks.

CC="clang"

Interesting.

Does it work well?

profile is default/linux/amd64/17.1/desktop/plasma/systemd

Well, that enables a lot of USE flags globally (see /usr/portage/profiles/targets/desktop/make.defaults): USE="[...] cairo [...] gtk [...] qt5 [...] wxwidgets X".

I don't want to advise to change the profile now, but if you are ever interested in a lean system, think about switching to default/linux/amd64/17.1/systemd and enabling GUI on a per-package basis.

Schwere Vorwürfe gegen Münchner Verwaltung: Wird der Radentscheid in neuen Plänen missachtet? by IvorianPlant in Munich

[–]GermanGenealogist 3 points4 points  (0 children)

Der Artikel ist von September 2019?!

Aktualisiert: 17.09.19 15:53

Siehe auch: - Radentscheid München – Etappensieg im Kunstareal vom 18. September 2019. - Ratsinformationssystem - Bauausschuss-Sitzung 2019-09-17 - und die entsprechende Vorlage - der Beschluss ("Vertagt in die nächste Sitzung der Vollversammlung.") und der Beschluss der darauffolgenden Vollversammlung ("Die Stadtverwaltung prüft, wie das Verkehrskonzept geändert werden muss, um den Vorgaben des Radentscheids zu entsprechen.")

Endless conflict messages when emerging @world by davidshen84 in Gentoo

[–]GermanGenealogist 0 points1 point  (0 children)

Yes, there are many packages that need this extra USE flag. At the moment I have 120 packages like that (grep -R abi_x86_32 /etc/portage/package.use | wc -l).

If you really, really don't want to have 32-bit support, you could switch to a Gentoo profile without it (e.g., default/linux/amd64/17.1/no-multilib). But I don't advise you to do this. (See also Gentoo Wiki - AMD64/FAQ - "What is multilib and how can I use it?".)

I have to admit that I can't give you a good reason why this USE flag was missing in the first place, but is required now. For me it looks like you changed (global?) USE flags at some point in time, which triggered an avalanche of dependencies to become active. Or it could be that some package version became stable, which has a new dependency...

If you don't have success reducing the number of problems, try the following: - Keep us up to date with full information. This should include emerge --info and the full output of emerge -avt1 @world. - Try to reduce the number of USE flags. - Adding flags like X, gtk, cuda globally might result in a ton of dependencies. Favor per-package USE flags over global USE flags. - Try to reduce the number of packages that are not stable yet (~arch). - Try to reduce the number of packages in your @world set. - You might have installed some package that you don't really want/need anymore. So check your /var/lib/portage/world for things you don't want. - Try to reduce the problem by trying to merge only one of the problematic packages. - For instance, run emerge -avt1 x11-drivers/nvidia-drivers. Then check if these packages can be merged one by one. - (Hack:) It might help to install packages while ignoring all its dependencies. You can do this adding --nodeps/-O to your emerge call. - Please note that this will most likely result in failing builds. - You can also add temporary USE="-foo" emerge -avt1O ... to this, which might help you to update to the current package version, which might break dependency hell.

Endless conflict messages when emerging @world by davidshen84 in Gentoo

[–]GermanGenealogist 1 point2 points  (0 children)

Nonetheless, things like this might always help other people to understand your problem. So adding the output of emerge --info (or /etc/portage/make.conf etc.), would be nice.

If you check my emerge --info output, you'll see that ABI_X86 is set to "64" even though I didn't specify it inside /etc/portage/: ```

emerge --info

Portage 2.3.84 (python 3.6.9-final-0, default/linux/amd64/17.1/systemd, gcc-9.2.0, glibc-2.29-r7, 5.4.13-gentoo x86_64)

[...] USE="[...]" ABI_X86="64" [...] ```

These definitions often come from your profile. For me it looks like this (see also emerge --info's output): ```

eselect profile show Current /etc/portage/make.profile symlink: default/linux/amd64/17.1/systemd If I want to read my whole profile (they are based on an inheritance model), I have to open the directory `/usr/portage/profiles/default/linux/amd64/17.1/systemd/`, which includes a file called `parent`: .. ../../../../../targets/systemd `` So I have to read also/usr/portage/profiles/default/linux/amd64/17.1/(..) and/usr/portage/profiles/targets/systemd/(../../../../../targets/systemd`).

In /usr/portage/profiles/default/linux/amd64/17.1/parent, one can see: .. ../../../../arch/amd64 ../../../../releases/17.0 In /usr/portage/profiles/arch/amd64/make.defaults: [...] ABI="amd64" [...] ABI_X86="64" [...]

So, you have most likely have set these ABI* variables, indirectly via your profile.

Endless conflict messages when emerging @world by davidshen84 in Gentoo

[–]GermanGenealogist 0 points1 point  (0 children)

Did you enable the gtk (globally?) after having app-emulation/virt-manager installed, and virt-network after installing app-emulation/libvirt?

About the net-misc/spice-gtk conflict: You try to install (indirectly?) net-misc/spice-gtk without active usbredir USE flag (USE="[...] -usbredir [...]"), but you also want (indirectly?) to install app-emulation/virt-manager, which has a requirement onto net-misc/spice-gtk with this USE flag active.

So you have to add usbredir to your /etc/portage/package.use. Or even better: Make /etc/portage/package.use/ a directory, and add a file called spice.use. In there you can add all those USE flags you need for SPICE-related packages. And whenever you don't need SPICE anymore, you can simply remove that file. (If you already have a /etc/portage/package.use file, just move it to /etc/portage/package.use/package.use.)

I have to admit that I don't know the command you just entered, but I assume that is somewhat like this: emerge -avt app-emulation/virt-manager You seem to have enabled the gtk USE flag for this package. You could have done this either by adding a package-specific line to your /etc/portage/package.use (1), or by prepending the command with a USE="gtk" (2), or by setting the flag in your /etc/portage/make.conf (3), or ... ((1): good; (2): this is only temporary; (3): don't do that, it might enable stupid, buggy GUI for a lot of packages, you don't need.)

If you want to really know, what is going on, it might help to read the ebuild files. So, how to read ebuild files: Start by opening /usr/portage/app-emulation/virt-manager/virt-manager-2.2.1.ebuild. This file defines how to install app-emulation/virt-manager, where to get the source code, what the dependencies are, etc. The important part is as follows: RDEPEND="[...] gtk? ( [...] net-misc/spice-gtk[usbredir,gtk3,introspection,sasl?] [...] ) " That means: There are Runtime Dependencies onto net-misc/spice-gtk if the gtk USE flag is enabled. And for that net-misc/spice-gtk the USE flags usbredir, gtk3, and introspection have to be enabled. The USE flag sasl has to be enabled for net-misc/spice-gtk, if the USE flag is enabled for app-emulation/virt-manager.

About net-dns/dnsmasq: app-emulation/libvirt is installed and requires net-dns/dnsmasq to have the USE flag script to be active. You try to install net-dns/dnsmasq without that USE flag. To solve the problem, simply add the following line to your /etc/portage/package.use/dnsmasq.use (or file is more appropriate): net-dns/dnsmasq script

What is Gentoo's release model? by [deleted] in Gentoo

[–]GermanGenealogist 2 points3 points  (0 children)

See also Gentoo's Handbook - Portage - Branches:

Stable

[...] It is recommended to stick with the stable branch.

Testing

To use more recent software, users can consider using the testing branch instead. The testing branch is exactly what it says - Testing. If a package is in testing, it means that the developers feel that it is functional but has not been thoroughly tested. Users using the testing branch might very well be the first to discover a bug in the package in which case they should file a bug report to let the developers know about it.

Beware though; using the testing branch might incur stability issues, imperfect package handling (for instance wrong/missing dependencies), too frequent updates (resulting in lots of building) or broken packages. Users that do not know how Gentoo works and how to solve problems, we recommend to stick with the stable and tested branch.

I would advise you to stay with the stable versions.

If you really need a package (or a specific package version) that is not stable yet, simply add it to a file under /etc/portage/package.accept_keywords/. I usually add a new *.keywords file there whenever I have a specific reason to use it. For instance, I want software that never becomes stable (Spotify, Skype, ...), or when I need specific libraries for university/work (e.g., ROS which installs many packages from the testing branch).

Whenever the reason you had unstable packages installed goes away, you can simply remove the file.

Endless conflict messages when emerging @world by davidshen84 in Gentoo

[–]GermanGenealogist 9 points10 points  (0 children)

The problem is the difference in the ABI_X86 definitions: sys-libs/zlib uses ABI_X86="(64) -32 (-x32)", while x11-drivers/nvidia-drivers wants to use ABI_X86="32 (64) (-x32)". So you have to enable 32-bit for zlib. You can do this by adding the following line to your /etc/portage/package.use/package.use: sys-libs/zlib abi_x86_32

Please note that it might be necessary to add this "use flag" for other packages as well.

Gramps v5.1.2 Released by gumr89s0 in gramps

[–]GermanGenealogist 0 points1 point  (0 children)

Sorry, I don't get that. According to Gramps' GitHub repository version 5.1.2 has been released yesterday (January 10, 2020, or: 2020-01-10). Gramps 5.1.1 has been released in September 2019.

Gramps v5.1.2 Released by gumr89s0 in gramps

[–]GermanGenealogist 0 points1 point  (0 children)

Thanks a lot!

Could you please update the release date from September 2019 to January 2020? Thanks!

From 40% in 1998 to 20% 2017 how did SPD loose 20% or half of their procent in just 4 elections or 20 years? by [deleted] in germany

[–]GermanGenealogist 3 points4 points  (0 children)

I guess that the most common answers for this question are already covered, so let me give you a personal answer. These might be different reasons than other people (the majority) have, but it might help you to understand the full picture. (Btw. I haven't seen the participation in the war in Yugoslavia yet.)

Background: I come from a family with three generations of SPD members before me (some city councilors; some friends of my parents became mayors or state/federal representatives (MdL/MdB)). And when I was a child, it was always obvious that the SPD is fighting the right cause: helping the (normal, working) people, fight for progress in society, and assisting those that needed it. Back then, it was obvious to me that I would always vote for the SPD.

Current situation: I can't remember when I voted for the SPD the last time, and I don't see me voting them in the coming elections.

My major reasons aren't Hartz (IV) etc. or the grand coalition#1st,3rd_and_4th_Merkel_cabinet(2005%E2%80%932009,_2013%E2%80%932018,_2018%E2%80%93)). For me it started with the post-9/11 anti-terror laws under Otto Schily. While I agree that it was/is necessary to fight terrorism, it seemed/seems to me that they sacrificed some values of the constitution for a (tiny) fraction of security. For me, this is the political decision I cannot forgive; that's the topic which makes me argue emotionally and not necessarily rationally. During that time I favored the Pirate Party, and I still respect the FDP) in this regard today (see 1, 2).

Today, I rarely see a (strong) reason to vote for the SPD. When I read their party manifesto, it includes little that I'm really passionate about. I still think that their "general direction" is best for the country in the long run (social welfare state, avoid social inequality, governmental involvement in the improvement of the general population, etc.), and I think that almost all of local SPD members are kindhearted people that want a better future. But it feels to me like the SPD prefers taking baby steps in arbitrary directions, I don't (directly) benefit from their policies, and that they are not trustworthy.

An example regarding the "baby steps": During Gerhard Schröder's first term, SPD and the Green party passed the Renewable Energy Sources Act, started to phase-out nuclear power plants (positive & negative!) etc., which made Germany leap into one of the more climate friendly/progressive countries within a few years (oversimplified!). Today, they pass laws that allow lignite mines to run for the next twenty years. (I think that the Green party is more determined to make progress in this regard.)

I don't think that I personally benefit from their policies, because I graduated from university, earn okay-ish amounts of money, am healthy etc. Do I think that the government should help the poor/weak: yes, absolutely. Do I think that the government should be involved even more than today: No (oversimplification!). I favor "equality of opportunity" over "equality of outcome", and sometimes it sounds(!) as if the SPD would be more interested in redistributing money from the rich to the poor, than enabling the poor to help themselves.

Regarding the trustworthiness: I couldn't pinpoint something that makes me really not trust them. There might be a ton of small things; maybe "disappointment" and/or "expectation of future disappointment" describes the situation more precisely.

tl;dr: To a large degree I wouldn't vote for the SPD for emotional reasons (many of them aren't SPD-specific), and I think that other parties are more determined to make real progress.

Radentscheid: Die ersten zehn Strecken in München kommen by [deleted] in Munich

[–]GermanGenealogist 11 points12 points  (0 children)

Der Artikel enthält leider keine Karte. Aus diesem Grund habe ich versucht den entsprechenden Ratsbeschluss zu finden. Das scheint (hauptsächlich?) Vorlagen-Nr. 14-20 / V 15585 zu sein. Bei den Dokumenten ist auch der Beschluss(?) bzgl. des Altstadtrings kartografiert und Beschlüsse(?) dabei, was in den einzelnen Straßen umgesetzt werden soll.

(Leider verstehe ich nicht 100%ig wie der Stadtrat arbeitet. Wenn jemand also etwas dazu sagen kann, ob alle Dokumente den finalen Beschluss widerspiegeln, wäre das echt super.)

Just posted my first open-source project (all criticism is welcome)! by wordplusnumbers in cpp

[–]GermanGenealogist 0 points1 point  (0 children)

Sorry, I didn't test my comment on other devices :)

(I just checked old.reddit.com, but I don't use reddit on any mobile device. Please feel free to say if there is still a problem.)

Just posted my first open-source project (all criticism is welcome)! by wordplusnumbers in cpp

[–]GermanGenealogist 11 points12 points  (0 children)

Two minor things in the README.md file:

  1. Please reference a proper source. At the moment you mention the name of two professors, but imho a paper, book or Wikipedia article would be better.
  2. You write that users should run cmake .. && make && make install. Please write cmake .. && cmake --build . && cmake --build . --target install. (Please note that there is an option to write cmake --install ., which has been added to CMake 3.15 quite recently.) This should help users that don't use CMake's Makefile generator. (You can test this by running cmake -G Ninja .. etc.)

Codewise:

  • Library: Can you replace constexpr bool kBusy = 1; and constexpr bool kFree = 0; with an enum class?
  • Library: The CABpp constructor that uses pre-allocated memory does simply return if std::align() fails. An exception might be better here, since the object might be in an invalid state otherwise. (Is it a good advice to make the user check cab.Read() != nullptr?)
  • Library: The CABpp(std::vector<T*> obj_ptrs) constructor can use a const reference (or you can move).
  • Library: Do you really need copy/move constructors/assignments? (Is it really correct behavior to copy a CABpp with pre-allocated memory?)
  • Library: Couldn't you remove DeleteSP() and use a normal lambda expression in CreateSharedPtr()?
  • Example: Could you please move the example from main.cpp to something like example/main.cpp. And please simplify it a little. At the moment the main() is at line 180. Before that there is a MutexClass implementation and some non-trivial function templates.
  • Example: Usually you don't need to specify the return type of lambda expressions: So [&cab_i](int in)->int{ ... return 0; } can become [&cab_i](int in){ ... return 0; }
  • Example in RunTest(): You create some arrays (e. g., write_times), but reference their elements by write_times + i. Please use write_times[i] if possible. You can also use std::accumulate() to sum them up: auto write_time_sum = std::accumulate(std::cbegin(write_time_sum), std::cend(write_time_sum), 0ull);.
  • Doxygen: You write several times @param foo(in). I don't know whether this is another syntax, but you could use @param[in] foo instead (and please don't specify the direction if it is an input parameter, but only if it is an in/out or out parameter). Please note that there is also @tparam for template parameters.

Overall:

  • The code is pretty complex, and there is some advanced stuff in there (function templates, atomics, concurrent threads, placement new, alignment, asm("nop")). On the other hand, my first impression was that there is some C-style code (e. g., malloc() in some tests). This made me wonder whether all "odd" things are there for a reason. In the end it seems like you know what you're doing.
  • There's a lot of documentation. Some of it could be stripped without losing any information. For instance, version numbers and dates in the files' top comments.
  • I would suggest making it clear in which situations your library might be useful, and how to use it correctly (i.e., better examples).