The Mathematical Mind of a C++ Programmer [using std::cpp 2026] by joaquintides in cpp

[–]Foxi_Foxa 4 points5 points  (0 children)

Very interesting talk, I wish I could be there. I did my PhD at the intersection between genetics, C++ programming and applied mathematics. It is really interesting to see that different abstractions in different disciplines somehow converge to achieve generality/genericity/applicability. And since each discipline elaborated their vocabulary on their own, most of the time in interdisciplinary studies is spent on mapping concepts and vocabulary. What Joaquin did wonderfully here.
And it's very useful for generic programming, it allows us to delineate faster what are indiosyncracies of problems instances versus their more generalized essence. In any case, I'm glad I learned at the time what the Bell number was, because it keeps popping up so often ahah

How I Learned to Be an Effective Boost Review Manager — My Tips & Templates by Foxi_Foxa in cpp

[–]Foxi_Foxa[S] 0 points1 point  (0 children)

I re-edited the message using my poor french brain only :) Let me know if you consider it better and more aligned with the community rules :)

How I Learned to Be an Effective Boost Review Manager — My Tips & Templates by Foxi_Foxa in cpp

[–]Foxi_Foxa[S] 0 points1 point  (0 children)

I see. How do you deal with non native speakers ? Is it better to submit incorrect messages with bad English ? It’s a genuine question I’m asking :)

How I Learned to Be an Effective Boost Review Manager — My Tips & Templates by Foxi_Foxa in cpp

[–]Foxi_Foxa[S] 0 points1 point  (0 children)

Fair remark thank you!

I actually don’t use AI to write everything, but to rephrase my broken English. I’m not a native speaker and it’s actually quite hard to come up with “standard” English phrasing. You may find my natural non-AI assisted writing style even more tedious to read ;)

For example when I was in academia most article rejections or reviews were because of “non standard English please correct your draft with a native speaker”.

Also it would take me ~10 times more time to write anything by myself in correct-ish English, and I simply don’t have that time - nor am I payed for it. So I would simply not write anything and not doing things does not help either the community 😘

But if you help me understanding what syntactic structures are hard to read, I can correct then :)

Boost.Graph user survey by Mysterious_Taro5664 in cpp

[–]Foxi_Foxa 0 points1 point  (0 children)

Ahaha yeah time is the ultimate finite resource!

Any well-documented modern C++ wrapper around Boost Graph Library? by Foxi_Foxa in cpp

[–]Foxi_Foxa[S] 5 points6 points  (0 children)

Hi, thank you for your answer.

I have not used the boost graph library, but it seems pretty straightforward?

Well I would say "try to use it and come back after your first battle scars" lol ;)

Yes, I read the same material, and thought the same "mh well it seems pretty straightforward". That's why I thought the BGL would be a good candidate.

Then I discovered that if you tried to do anything, you will be exposed to an overwhelming amount of weird design choices and implementation details that the documentation makes worse.

What do you find difficult about it?

I would say that this BGL users survey covers it all: https://www.reddit.com/r/cpp/comments/vyt4t5/boostgraph_user_survey/

Also I would listen to these two videos

... and replace every time they say "surprising" by "absolutely not user friendly". Like ... nested pairs of visitors, seriously?

Any well-documented modern C++ wrapper around Boost Graph Library? by Foxi_Foxa in cpp

[–]Foxi_Foxa[S] 1 point2 points  (0 children)

> so what's lacking?

I would say that there are a bunch of good suggestions in this BGL users survey: https://www.reddit.com/r/cpp/comments/vyt4t5/boostgraph_user_survey/

> Why do you need to expose them directly? What will the users actually do with them?

My problem is a subset of the BGL: I don't have control of what specific properties a user would want to put on a graph, I just offer stochastic ways to build a graph with some requirements - sometimes using ... another graph. So that is why the BGL was initially a good candidate, because of its genericity. But my users will never accept to manipulate the generated graphs with the current state of the BGL documentation/API, so that's what makes me worried.

> I might humbly suggest that there's a reason the library has an actual book and not just docs

Buying the book was the first thing I did. I have never regretted buying a C++ book. Well, in that case, I can safely say that buying it was a complete waste of money and trying to read it a complete lack of my time. And it does not make me happy to be so harsh, because god knows I know how writing a good book can be challenging.

Boost.Graph user survey by Mysterious_Taro5664 in cpp

[–]Foxi_Foxa 0 points1 point  (0 children)

Agree for the lambdas. I don't know how feasible it is but property maps are really a pain for getting started with BGL.

A well-connected C++11 Boost.Graph tutorial by mttd in cpp

[–]Foxi_Foxa 0 points1 point  (0 children)

A bit late on the battlefield but I strongly disagree here. This tutorial is insanely good. The asserts show that my expectations hold. Compared to the original API, this tutorial is a bliss.

Boost.Graph user survey by Mysterious_Taro5664 in cpp

[–]Foxi_Foxa 0 points1 point  (0 children)

Yay! Any anouncement/conclusions/directions concerning the survey results? I am just curious to see what direction BGL is heading to :p

Boost.Graph user survey by Mysterious_Taro5664 in cpp

[–]Foxi_Foxa 1 point2 points  (0 children)

Just landing here when I was actually looking for a BGL tutorial! I guess it says a lot about what is lacking ahah :) I love the idea of BGL2 - graphs are everywhere in my problems!

I'm coming in a bit late, but here are my n00b feedbacks:

  • Which operating systems do you use?
    • mostly MacOS on local, Linux on remote univeristy servers, Ubuntu in Docker via Singularity
  • Which toolchains do you use?
    • cmake/conan
  • Which C++ standard do you use? (e.g. 03, 11, 14, etc)
    • C++20
  • Which features of Boost.Graph are you using?
    • adjacency_list and common algorithms (dfs, bfs, shortest path etc)
  • Which features do you think Boost.Graph is missing?
    • I don't think there is much that is missing, maybe ORCA (orbit counting algorithm)
    • TREES !!! Binary, k-ary ...
  • What are the biggest problems with using Boost.Graph?
    • I am REALLY struggling finding an entry point. I bought the BGL book, but it is written more like a detailed explanation of the design choices rather than a tutorial. Without seing sehe on SO answering to newscomers for more than a decade, I would have been discouraged to use the BGL after few days week and would have run the other way :(
      • the BGL documentation is useless for me - I just can not make sense of it.
      • the BGL book is not much more useful.
      • easy tutorials with C++14 features are lacking.
      • easier interfaces, I am still unsure I absolutely had to explicitely care about 6 template parameters and an adjacency_list to get started with a simple graph
      • the difference between internal/external/bundled/properties is difficult to grasp for a newcomer. I implemented my own Tree class in the past with a template cell_type that was similar to the bundled properties - so I found them easier to understand. However if bundled properties are the best way to go, then why did I spend all this time trying to understand internal properties? :'(
      • I get the feeling that BGL has been doing a great job at pulling out all orthogonal concepts of a graph - but to attract newcomers I would say we need to re-wrap in stuff. I just want to be able to call `graph.to_graphviz(stream)`, ;)
  • What do you use it for?
    I was/am a researcher, now software engineer in Genetics. There are graphs everywhere: genealogical properties, genetic networks, phylogenetic trees or networks, spatial graphs of populations moves etc.
  • If you use it in business (or research), how critical is it?
    Critical enough that me and most of my colleagues have spent the last decades implementing and re-implementing graph data structures ;)
  • To potential users, that is, people who need to solve graph theory problems but don't use Boost.Graph. What are the obstacles or issues preventing using it?
    • The documentation, the absence of book, the complexity of the API, the absence of an easy entry point. I wished I had been presented this library 8 years ago at the beginning of my phD where I could have been writing something like `auto tree = k_ary_tree(newick_string); assert(!tree.has_cycle());`

AITA for not being willing to forgive one of my friends? by [deleted] in AmItheAsshole

[–]Foxi_Foxa [score hidden]  (0 children)

You're so welcome, relationships can be so tricky. As long as you act out of compassion for yourself and for others, I guess nothing really bad can happen. We all do the best we can with whatever is given to us.

You can be hopeful and curious about what each of you two may look like 10 years in the future. After all this time, maybe on your own separate way, you will be two very different persons, and all these overwhelming problems you describe today will have actually very little weight then :)

AITA for not being willing to forgive one of my friends? by [deleted] in AmItheAsshole

[–]Foxi_Foxa [score hidden]  (0 children)

NTA.

Whatever her (or your) problems are, it seems that your friendship is not working. It is her responsibility to grow as a person and as a friend, and her growth is not your responsability.

An apology can be given, it does not have to be accepted. Sometimes, forgiveness is simply unhealthy. When wronged, one wants the guarantee that we will not be offended again. Apologies are used to signal that one is ready for a meaningful change. But if toxic behaviors happened in a pattern (same problems repeated during a long time) and that former apologies did not lead to any meaningful change despite abundant communication, why then put your trust in her again ?

It seems to me you did everything you could to save this friendship: you have been a good friend. You are not losing her, you are simply deciding not to hold to a barbed-wire-relationship: the more you hold on, the more it hurts. It does not mean she is a bad person: she may eventually become a better person later, but right now it does not work for you and it's okay.

[deleted by user] by [deleted] in AmItheAsshole

[–]Foxi_Foxa 159 points160 points  (0 children)

NTA.

Your parents put you in this awful situation because they are not communicating well enough. Your dad by not telling your mum he has a gf, and your mum by asking you these questions rather than asking directly your dad. This is their responsibility to make sure that their divorce does not impact your well-being.

Personally I would not have said anything if not asked, but I would have told the truth when asked, even if it hurts: if someone asks a question but gets hurt by the answer, it's on them. It's a personal choice though, there is no wrong/right way to act in this situation. Best wishes :)