Google Summer of Code 2023 - Coding! Up to July 10th

Not really. Gene’s interpretation is wrong, he must have missed the word ‘or’.

Yep, the purpose was for any of the three: ideas, mentors, or students.

Well, I still like my idea, but maybe I can say something more. There is a library called nimqt which is a wrapper for a lot of the qt stuff. It is an impressive library. https://github.com/jerous86/nimqt

Yes, this library can also read *.ui files. You can look at the documentation and at the examples to get an idea.


And if you really want to rewrite obsolete C++ code then maybe you can rewrite it in Nim if you want to instead of trying to modernize it but that is not the goal. The goal is to make another extension language next to Python.

For Qt Creator there are two official packages, one for which you can build your code: https://doc.qt.io/qtcreator/creator-project-nimble.html and also a plugin: https://codereview.qt-project.org/c/qt-creator/qt-creator/+/123629/

VS Code has multiple plugins for Nim.


Now about the language Nim:

You can compile the Nim code to C, C++, Objective-C and even JavaScript, but that is not really important in this case because here we are talking about compiling it to C++.

For conveniance you can use different GC options (ARC, ORC or even the Google Go GC) and even turn it off but I would not advise that. The current version is in the Nim 1.6 range but 2.0 compiles standard with ORC and ORC means optimized reference counting. ARC means automatic reference counting and it is being used inside Swift and Objective-C, so I think that it is good.

There are two points of debate inside Nim. Either you like them or not:

  1. The naming of variables and procedures. Nim doesn’t care about the case style and even underscores are allowed, which means that you can write your variable in CamelCase, camelCase and snake_case and it still compiles. But you can’t use two underscores next to each other. Then you get an error. Nim is no Python!
  2. Nim doesn’t care about using ( and ), which means that sometimes you can write stuff that is hard to understand, which is why I always try to use them.


    I am saying that using Nim for a new WB can make your code as fast as C++ without having the need for C++ and I think that is important.

Edit: I edited this quite a lot, so better read it again.

anything on Sandbox:Wishlist?

favorites are:

  • anything in mesh wb (on the wishlist page)
  • create a first implementation of dxf import based on ezdxf

if any of these topics, could be persuaded to mentor (although will be of little use regarding code details of c/compiling, but have a feeling that people with those skills are around anyways if a gsoc takes off).

not on the wishlist page, but it would be cool if fc had an internal (working) mesh “remesher”, not so much that it is core fc, more for how people potentially can see fc as a one-stop shop for the hobbyist 3d-printing world.

Back when it was released, Autoremesher seemed to be the best option out there, according to this Blenderartists thread. The main branch hasn’t seen development in 3 years, haven’t checked any of its forks.

Eventually, a NURBS based SubD implementation would be cool as well (but that’s further down the line, I suppose).

What do y’all think of migrating the GSoC project list to Github Issues and then creating a GSoC tag.

  • it would be easier to find new project ideas
  • it would give a student a place to communicate around the solution
  • eventual PR would resolve
  • Projects that don’t get selected might get solved by someone else
  • it would eliminate duplication of info between github, forum, and wiki.

of course the project ideas should be expressed in typical issue form. ie as a problem to be solved.

Kunda1 What do you think?

LGTM but I am not a member of the core team. Do you want me to do it?

Please! That would be helpful. Thank you.

sliptonic also the ideas that we mentioned here?

Edit: It was only the first five that needed to be done. The rest was already put into a GSoC issue.

Let’s create a GSoC of label and then remove the string from the title. That way issues can be added and removed from the list without changing names.

I don’t have the rights to do that. But I see that I need to add more text.

I added the GSoC label. Can you apply it and/or change the titles?
If not, I can do that too.

I changed the files but I don’t have the rights to add labels. If you want to look at the right labels, you can look into this https://github.com/opencax/GSoC/issues/17

For reference: GSoC in the Wiki:
https://wiki.freecad.org/Category:Google_Summer_of_Code

FreeCAD is accepted as a GSoC organization! https://blog.freecad.org/2023/02/23/google-summer-of-code/

Main wiki page: https://wiki.freecad.org/Google_Summer_of_Code_2023

Now we have one month, up to March 19 to spread the word as much as we can, attract and welcome potential interested students. If you can, please spread, tweet, repost the blog post above so we get the maximal exposure.

If any of you here is interested in becoming a mentor, please reach to me, kkremitzki or post here! We need (at least) two mentors for each student. As this is our first year, I imagine we can get one or two students approved.

Mentoring is not technically difficult, you don’t have to be any FreeCAD coding guru, you just need to be ready to dedicate some time (1 or 2 hours per week) during the coding period, to do meetings with your student, to help them to interact with the community here, and to help them find the help they need for technical questions beyond your knowledge (basically, call the right persons to the discussion :wink: ). At the end of each period, you are also required to fill a form with a short feedback over the student’s progresses.

what’s the process/requirements for student applications?

Hi all,

I’m Rahul, from Chennai, India. I’m looking forward to being a GSoC contributor, and a possible continued future contributor to this project. I hope this is the right forum/mode of communication for this.

A little about me: I’m 22 years old and a Mechanical engineering graduate. During my studies, I did various projects in CAD, SOM, FEM and so. My final project was in FEM (Fatigue life analysis using fe-safe and Abaqus). I know I’m not a student anymore but, I’m new to Open Source, so I decided to make use of GSoC’s change of rules this year. After graduation (peak-COVID) I explored my opportunities and landed a job at a tech firm, TCS (you might’ve heard about it)

My Programming skills: I do my hobby programming in Python (my first preference), and officially use JS (web development, 2nd preference), and Java. And a number of tools using these languages.

For GSoC, I’m particularly interested in GSoC FEM Solver Z88 owing to my background in FEM and Python. I know it’s been a while and I might be a little rusty but I believe I can brush it up. It’s been mentioned that I’m to contact bernd. Would love to know how

Motivation: I’ve always wanted to use my programming skills in Mechanical engineering from the moment I started to learn to program (2020), and I believe this to be a perfect opportunity for me to start my journey and build myself as an Open source contributor in the field that I always liked.

Looking forward to any suggestions or advice regarding this or my ability/eligibility to achieve this. Also, I’m sorry if this isn’t the proper medium for such long descriptive introductions. Also, info regarding further steps in the application is much appreciated.

Reach me @ rahulrauki@gmail.com

Utkarsh Kumar
I already work in free cad https://youtu.be/9pkoUEM093U this is my last project in freecad.

Ø I have good experience with FreeCad,Java, C, C++, Python and basic Golang and JavaScript and good with programming skills. I also have a basic knowledge of Android and web development.
Ø I also did an onsite internship at Rannlab Technology where I made project on Employee Management System using Python and SQl.
Ø I am also a sport programmer. I am a 4 star Hackerrank in Java. I am a consistent Leetcoders and solve 2 questions of Leetcode everyday.
Ø I have made 3-4 projects. Some of them are an Chabot, Web scrapping and sorting algorithm using python.
Ø Also have basic knowledge of open source contribution and earlier made few contribution on GitHub.
Ø I am also a RESEARCH GROUP OF OUR COLLEGE.

Project I am interested in :

FreeCAD-BRLCAD integration
I am available for full time work in this summer as I have no vacation plan other than this project. In the official GSoC period, I will devote the sufficient time per week which is required for this project. It’s my honour to be the part of this event. I will remain in contact in all time through the e-mail and on any other communication channel with the community

Other Commitments

Do you have any other commitments during the GSoC period?
No, I am full time available to work with Google Summer of Code.
Have you applied to any other organizations? If so, to whom and do you have a preferred project/org?
No. I am totally focused on this event.
How you will be able to complete the project?
I will devote the sufficient time per week which is required for this
Project and will complete the project within the given timeline.
How to approach you during Gsoc?
I will remain in contact in all time through the e-mail and on any
other communication channel with the community.
Contact Info
UNIVERSITY
UNIVERSITY NAME: IIT KHARAGPUR
CURRENT YEAR: 3rd year
EXPECTED GRADUATION YEAR: 2024
DEGREE: B.Tech

Hi rahulrauki , Utkarshkumar and anybody else interested in participating:

Great! I would suggest you to add some comment on the issue of your interest at https://github.com/FreeCAD/FreeCAD/issues?q=is%3Aissue+is%3Aopen+label%3AGSoC (or any other FreeCAD issue, really. Anything can make a good GSOC project).

A successful GSOC project is not about fulfilling an assignment. FreeCAD is a community-driven open-source project. The aim of the game is to interest you into participating in an open-source project, and that a great synergy happens between you and the rest of the community. So the idea here is that we want your opinion, your contribution to make FreeCAD better, your participation in the community. You should not try to fulfil what “we” want (there is no “we” really), rather propose something that YOU want to do and that you find interesting. Imagine how you could help FreeCAD to become better. Find examples of how your idea could be done. It’s your game.

Hope that will give you some starters, don’t hesitate to get back here and discuss ideas if needed (you can create a new topic once you have a more detailed idea in mind), and follow this topic closely. That’s where we’ll post interesting stuff.

Utkarshkumar since this forum is public, I have removed your private data from your post so you don’t get spammed :wink:

For info: we are now in this phase: February 22 - March 19: Potential GSoC contributors discuss application ideas with mentoring organizations

Full schedule at https://wiki.freecad.org/Google_Summer_of_Code_2023#Schedule