www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Symmetry Autumn of Code

reply Mike Parker <aldacron gmail.com> writes:
Thanks to the sponsorship of Symmetry Investments, the D Language 
Foundation is happy to announce the Symmetry Autumn of Code!

We're looking for three university students to hack on D this 
autumn, from September - January. We're also in search of 
potential mentors and ideas for student projects. Head to the 
Symmetry Autumn of Code page for the details.

Spread the word!

https://dlang.org/blog/symmetry-autumn-of-code/
Jul 13
next sibling parent Seb <seb wilzba.ch> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Reddit: https://www.reddit.com/r/programming/comments/8yram3/symmetry_autumn_of_code/
Jul 13
prev sibling next sibling parent reply Timoses <timosesu gmail.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Great! Wish I was a student still : D. Typos "D programming lagnauge" (looks a bit french) : D "accept yor offer."
Jul 14
parent Laeeth Isharc <laeeth laeeth.com> writes:
On Saturday, 14 July 2018 at 07:09:21 UTC, Timoses wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn 
 of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Typos "D programming lagnauge" (looks a bit french) : D "accept yor offer."
Thanks for corrections.
 Great! Wish I was a student still : D.
Me too ! Kidding aside, if you would be interested in a job programming mostly or partly in D please see our website. Lots of roles we haven't yet had time to post.
Jul 14
prev sibling next sibling parent reply Joakim <dlang joakim.fea.st> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
"join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. Why limit it to students? If the goal is to have a youth injection, just use an age limit- say 18-25- I see no reason for the stupid college bias.
Jul 14
next sibling parent reply Laeeth Isharc <Laeeth laeeth.com> writes:
On Saturday, 14 July 2018 at 07:30:26 UTC, Joakim wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn 
 of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
"join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. Why limit it to students? If the goal is to have a youth injection, just use an age limit- say 18-25- I see no reason for the stupid college bias.
Hi Joakim. Thanks for suggestions. I don't know what legal aspects there are relating to targeting age in different countries. We are definitely targeting people earlier in their careers. I agree with you that talent isn't only found amongst students, and I've in the past hired someone that didn't even finish high school and has gone on to do good work for the D community. So as far as Symmetry goes we are very open to unusual talent. A degree is just one piece of interesting information. https://symmetryinvestments.com/careers/ There's quite a lot of work involved in organising something like this, and I'm very grateful to the D Foundation for doing such an excellent job. We can refine this for next year, but I wanted to make a start. Laeeth
Jul 14
parent Joakim <dlang joakim.fea.st> writes:
On Saturday, 14 July 2018 at 13:57:12 UTC, Laeeth Isharc wrote:
 On Saturday, 14 July 2018 at 07:30:26 UTC, Joakim wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn 
 of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
"join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k. Why limit it to students? If the goal is to have a youth injection, just use an age limit- say 18-25- I see no reason for the stupid college bias.
Hi Joakim. Thanks for suggestions.
Sure, thanks for funding this worthwhile initiative.
 I don't know what legal aspects there are relating to targeting 
 age in different countries.  We are definitely targeting people 
 earlier in their careers.  I agree with you that talent isn't 
 only found amongst students, and I've in the past hired someone 
 that didn't even finish high school and has gone on to do good 
 work for the D community.  So as far as Symmetry goes we are 
 very open to unusual talent.  A degree is just one piece of 
 interesting information.
Yes, but the current requirements exclude, for example, recent college grads who may not be employed yet and might do much better work than a harried college student. I don't know the legal risks in detail, but I can't imagine the risk/reward to opening it up would favor the current limitation.
Jul 14
prev sibling parent Joakim <dlang joakim.fea.st> writes:
On Saturday, 14 July 2018 at 07:30:26 UTC, Joakim wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn 
 of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
"join us" for "submit an application" -> apply (confusing otherwise) Maybe sum up and make clear that each student can earn between $3000-4000, instead of capped at $1k.
This is why I suggested stating the total sum clearly: "20 hours/week for four months for a salary of $1000 seems kind of crappy. Am I reading this wrong?" https://www.reddit.com/r/programming/comments/8yram3/comment/e2gttg2 You're currently requiring people to read carefully and do the math to understand this: most people do neither.
Jul 20
prev sibling next sibling parent Anton Fediushin <fediushin.anton yandex.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
I wish I could participate but even though I am 18 years old, I am studying at the secondary school. I hope something similar gets arranged next year. Good luck to all of the participants!
Jul 15
prev sibling next sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
I'd suggest adding the following to SAOC 2018 project proposals : 1/ adding a Go-like http module to the standard library 2/ adding Go-like async IO management to the standard library, i.e. fibers communicating through blocking channels 3/ possibility to use automatic reference counting (with weak references) instead of garbage collection for automatic unused memory deallocation 4/ adding automatic cycle detection and collection to the automatic reference counting system (https://wiki.dlang.org/SAOC_2018_ideas) Thanks :)
Jul 17
next sibling parent jmh530 <john.michael.hall gmail.com> writes:
On Tuesday, 17 July 2018 at 17:36:12 UTC, Ecstatic Coder wrote:
 I'd suggest adding the following to SAOC 2018 project proposals 
 :
 [snip]
Things on my wishlist: Improved REPL support (esp Windows) Jupyter kernel for D (someone might be working on this) Very smooth integration between mir-ndslice and the most common data science languages: Julia, Numpy, R, Matlab/Octave (might need way to call Matlab/Octave?). Some already exists, but clear/good documentation or tutorials would be good contribution in those cases. mir project for pandas-like dataframes mir project for regression, built on mir-lapack/lubeck
Jul 17
prev sibling parent reply rikki cattermole <rikki cattermole.co.nz> writes:
On 18/07/2018 5:36 AM, Ecstatic Coder wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D Language 
 Foundation is happy to announce the Symmetry Autumn of Code!

 We're looking for three university students to hack on D this autumn, 
 from September - January. We're also in search of potential mentors 
 and ideas for student projects. Head to the Symmetry Autumn of Code 
 page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
I'd suggest adding the following to SAOC 2018 project proposals : 1/ adding a Go-like http module to the standard library 2/ adding Go-like async IO management to the standard library, i.e. fibers communicating through blocking channels
Until we get an event loop in druntime, both of these options are off the table.
Jul 17
parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Wednesday, 18 July 2018 at 03:19:53 UTC, rikki cattermole 
wrote:
 On 18/07/2018 5:36 AM, Ecstatic Coder wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn 
 of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
I'd suggest adding the following to SAOC 2018 project proposals : 1/ adding a Go-like http module to the standard library 2/ adding Go-like async IO management to the standard library, i.e. fibers communicating through blocking channels
Until we get an event loop in druntime, both of these options are off the table.
Sad. Then I'd suggest to add the event loop implementation to SAOC 2018 too, because the absence of a default http module in D's standard library may have very good justifications, but I'm still convinced that it doesn't help when trying to "sell" it to modern developers, considering that nowadays MANY of the applications they will develop in a professional facility will have to integrate http code to access or update the company's data.
Jul 18
parent reply rikki cattermole <rikki cattermole.co.nz> writes:
On 18/07/2018 10:53 PM, Ecstatic Coder wrote:
 On Wednesday, 18 July 2018 at 03:19:53 UTC, rikki cattermole wrote:
 On 18/07/2018 5:36 AM, Ecstatic Coder wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D Language 
 Foundation is happy to announce the Symmetry Autumn of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of potential 
 mentors and ideas for student projects. Head to the Symmetry Autumn 
 of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
I'd suggest adding the following to SAOC 2018 project proposals : 1/ adding a Go-like http module to the standard library 2/ adding Go-like async IO management to the standard library, i.e. fibers communicating through blocking channels
Until we get an event loop in druntime, both of these options are off the table.
Sad. Then I'd suggest to add the event loop implementation to SAOC 2018 too, because the absence of a default http module in D's standard library may have very good justifications, but I'm still convinced that it doesn't help when trying to "sell" it to modern developers, considering that nowadays MANY of the applications they will develop in a professional facility will have to integrate http code to access or update the company's data.
I've said, that if we get signatures, I'll build the damn thing myself. Signatures give a very lightweight vtable implementation while also giving conceptual representation of structs+classes. Which for an event loop, is a very desirable thing to have. But alas, I'm waiting on my named parameter DIP and seeing where that goes, before continuing work on signatures.
Jul 18
parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
 I've said, that if we get signatures, I'll build the damn thing 
 myself.
 Signatures give a very lightweight vtable implementation while 
 also giving conceptual representation of structs+classes.

 Which for an event loop, is a very desirable thing to have. But 
 alas, I'm waiting on my named parameter DIP and seeing where 
 that goes, before continuing work on signatures.
Thanks for the clear explanations. Glad to know that you're on this. I hope the importance of your work for D's "competivity" will be truly recognized.
Jul 18
prev sibling next sibling parent reply Andre Pany <andre s-e-a-p.de> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Proposal: Multi IDE debugger support (for windows) Mago, the debug engine used in VisualD, has also a tool called Mago-MI which has a GDB compatible interface. Therefore you can use on Windows Mago-MI as replacement for GDB. Several IDEs uses this feature to enable debugging with 1 code line for Windows/Linux/MacOS. It is used in experimental state in IntelliJ, also there is support in Visual Studio Code and of course DLangIDE for which it was originally built. There are several issues which could be addressed in Symmetry Autumn of Code: - Mago-MI is written in C++. This makes bug solving hard. Rewriting of Mago-MI to D might make sense. - While the installation of Mago-MI is easy if you want to debug OMF executables it is very hard if you want to debug COFF executables. You need another executable from Mago, you have to register DLLs via regserv and you manually have to create a registry entry. An installation procedure for installing Mago-MI would be great. - There are some bugs in Mago-MI / and DMD (wrong debug information) which makes debugging hard. (https://github.com/rainers/mago/issues/21, https://github.com/rainers/mago/issues/23). Also Mago-Mi misses features (https://github.com/rainers/mago/issues/14). There are more bugs but not investigated so far. - As Visual Studio Code is already is already a topic for DLang Foundation, using this as reference user of Mago-MI would make sense. While this proposal seems only windows related, the nature of Mago-Mi is to enable IDEs having 1 code line for debugging on Windows/Linux/MacOS. Therefore overall investing into this topic is good for all platforms. Kind regards André
Jul 18
parent jmh530 <john.michael.hall gmail.com> writes:
On Wednesday, 18 July 2018 at 10:35:04 UTC, Andre Pany wrote:
 Proposal: Multi IDE debugger support (for windows)
 [snip]
This is a good idea too.
Jul 18
prev sibling next sibling parent reply Andre Pany <andre s-e-a-p.de> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Another proposal: Adding D support to gRPC I started to add D support to gRPC but paused it due to lack of knowledge and time. One solution would be to add a D wrapper to https://github.com/grpc/grpc/tree/master/src by making use of the C interface of gRPC (https://github.com/grpc/grpc/tree/master/include/grpc). As template e.g. C++ or python could be used (https://github.com/grpc/grpc/tree/master/src). Kind regards André
Jul 18
parent reply Laeeth Isharc <laeeth laeeth.com> writes:
On Wednesday, 18 July 2018 at 10:42:04 UTC, Andre Pany wrote:
 On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn 
 of Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Another proposal: Adding D support to gRPC I started to add D support to gRPC but paused it due to lack of knowledge and time. One solution would be to add a D wrapper to https://github.com/grpc/grpc/tree/master/src by making use of the C interface of gRPC (https://github.com/grpc/grpc/tree/master/include/grpc). As template e.g. C++ or python could be used (https://github.com/grpc/grpc/tree/master/src). Kind regards André
Juniper have an alpha C higher interface on top of the low level C core grpc API. It didn't look too bad, but I didn't have time to finish what I started (making a crude D grpc API). https://github.com/Juniper/grpc-c
Jul 23
parent Andre Pany <andre s-e-a-p.de> writes:
On Monday, 23 July 2018 at 23:45:13 UTC, Laeeth Isharc wrote:
 On Wednesday, 18 July 2018 at 10:42:04 UTC, Andre Pany wrote:
 [...]
Juniper have an alpha C higher interface on top of the low level C core grpc API. It didn't look too bad, but I didn't have time to finish what I started (making a crude D grpc API). https://github.com/Juniper/grpc-c
Thanks, I enhanced the wiki page with gRPC and included grpc-d. https://wiki.dlang.org/SAOC_2018_ideas#Adding_D_support_to_gRPC Kind regards André
Jul 24
prev sibling next sibling parent reply Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
I'm interested in the "Graphics library for resource constrained embedded systems" project and have some spare time this autumn, but I have some questions: - Does this project aim at creating a hardware-agnostic rasterizer supporting a few primitives like https://skia.org/ or implementing a full GUI library like emWin rendering widget and handling I/O events such as mouse? The latter one sounds a little bit challenging to finish in four months - In the past year I primarily wrote C++ and don't have much experiences with production-level D programming, can I get involved into this program? Thanks
Jul 22
next sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
 I'm interested in the "Graphics library for resource 
 constrained embedded systems" project and have some spare time 
 this autumn, but I have some questions:
 - Does this project aim at creating a hardware-agnostic 
 rasterizer supporting a few primitives like https://skia.org/ 
 or implementing a full GUI library like emWin rendering widget 
 and handling I/O events such as mouse? The latter one sounds a 
 little bit challenging to finish in four months
 - In the past year I primarily wrote C++ and don't have much 
 experiences with production-level D programming, can I get 
 involved into this program?

 Thanks
IMHO no need to reinvent the wheel for that. You can probably do both in four months, if you just "port" (separately) and bind the code of the two following libraries : 1/ swGL (https://github.com/h0MER247/swGL) 2/ Nuklear (https://github.com/vurtun/nuklear) They have a very open design, and are already quite well optimized for speed and memory consumption. Moreover this would allow the D port of the Nuklear library to also use a hardware accelerated renderer on desktop platforms. Nice isn't it ? And I'd be glad to mentor you on this :)
Jul 22
next sibling parent reply Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Sunday, 22 July 2018 at 17:12:31 UTC, Ecstatic Coder wrote:
 I'm interested in the "Graphics library for resource 
 constrained embedded systems" project and have some spare time 
 this autumn, but I have some questions:
 - Does this project aim at creating a hardware-agnostic 
 rasterizer supporting a few primitives like https://skia.org/ 
 or implementing a full GUI library like emWin rendering widget 
 and handling I/O events such as mouse? The latter one sounds a 
 little bit challenging to finish in four months
 - In the past year I primarily wrote C++ and don't have much 
 experiences with production-level D programming, can I get 
 involved into this program?

 Thanks
IMHO no need to reinvent the wheel for that. You can probably do both in four months, if you just "port" (separately) and bind the code of the two following libraries : 1/ swGL (https://github.com/h0MER247/swGL) 2/ Nuklear (https://github.com/vurtun/nuklear) They have a very open design, and are already quite well optimized for speed and memory consumption. Moreover this would allow the D port of the Nuklear library to also use a hardware accelerated renderer on desktop platforms. Nice isn't it ? And I'd be glad to mentor you on this :)
Thanks! Porting seems to be easier than creating a library from scratch. The Nuklear library looks like a great candidate for porting since it only has a few external dependencies. swGL, however, depends on a large set of C++ standard library and threading model, which makes it difficult to create a dependency-free port. Moreover, The term "dependency-free" in the project description often confuses me, because as a hardware-agnostic library the project does have to depend on external implementations like "sin"/"memset" or even "thread_start", and I'm not sure which kind of dependency is proper for this project: Should we assume a multi-threading model? Should this library rely on "malloc"/"free"? Correct me if my understanding is wrong since I had few experience on embedded programming.
Jul 22
next sibling parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Monday, 23 July 2018 at 06:24:04 UTC, Zheng (Vic) Luo wrote:

 Moreover, The term "dependency-free" in the project description 
 often confuses me, because as a hardware-agnostic library the 
 project does have to depend on external implementations like 
 "sin"/"memset" or even "thread_start", and I'm not sure which 
 kind of dependency is proper for this project: Should we assume 
 a multi-threading model? Should this library rely on 
 "malloc"/"free"? Correct me if my understanding is wrong since 
 I had few experience on embedded programming.
There is more to this project than just getting a software rasterizer in D. Part of the goal is to demonstrate D as a formidable alternative to C in micrcontroller firmware programming. D will never achieve that notoriety if it's always depending on C, the C runtime, the C standard library, or some library implemented in C. So, IMO, if you need to link in a library or object file that was not compiled from D code, then you're cheating. This is also one of the reasons why I suggested re-implementing software building blocks such as `memcpy`, `memset`, `malloc`, `free`, etc. in D as another potential project for the Autumn of Code. So, to keep this software rasterizer project within scope, I suggest creating naive implementations of those functions in D for now to stay true to spirit of the project (no dependencies, everything in D), and "make the point". You can those software building blocks in their own module, and let the user of the software rasterizer library link it their own implementation if they wish to deviate from the spirit of the proposal. Mike
Jul 23
next sibling parent Mike Franklin <slavo5150 yahoo.com> writes:
On Monday, 23 July 2018 at 08:08:03 UTC, Mike Franklin wrote:

 You can those software building blocks in their own module, and 
 let the user of the software rasterizer library link it their 
 own implementation if they wish to deviate from the spirit of 
 the proposal.
Yikes! too many typos there. It should say... You can put those software building blocks in their own module, and let the user of the software rasterizer library link in their own implementation if they wish to deviate from the spirit of the proposal. Mike
Jul 23
prev sibling next sibling parent reply Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Monday, 23 July 2018 at 08:08:03 UTC, Mike Franklin wrote:
 So, IMO, if you need to link in a library or object file that 
 was not compiled from D code, then you're cheating.  This is 
 also one of the reasons why I suggested re-implementing 
 software building blocks such as `memcpy`, `memset`, `malloc`, 
 `free`, etc. in D as another potential project for the Autumn 
 of Code.

 So, to keep this software rasterizer project within scope, I 
 suggest creating naive implementations of those functions in D 
 for now to stay true to spirit of the project (no dependencies, 
 everything in D), and "make the point".  You can those software 
 building blocks in their own module, and let the user of the 
 software rasterizer library link it their own implementation if 
 they wish to deviate from the spirit of the proposal.
That's actually what I am doing now. Currently I wrote a short script to ensure the symbols in the main project within a subset (https://github.com/htfy96/rasterizer-d-embed/blob/master/check no-und-symbols.sh). I also plan to create some basic dependency-free building blocks like memcpy/memset/memcmp (already implemented in https://github.com/htfy96/d-rlib) and malloc/free (maybe reusing some building blocks from std.experimental.allocator?) in separate projects. Regarding floating point operations, I plan to use dmd.builtins/ldc.builtins instead of linking with libm. Above this well-defined set of primitives, the core rasterizer will be built, so that users can plug in their own implementations or use the default implementation when libc/libm is linked.
Jul 23
parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Monday, 23 July 2018 at 09:52:54 UTC, Zheng (Vic) Luo wrote:

 Regarding floating point operations, I plan to use 
 dmd.builtins/ldc.builtins instead of linking with libm.
That reminds me. Something else to consider is that some of these microcontrollers don't have FPUs. Graphics libraries designed for microcontrollers often use fixed-point math as a lowest common denominator. I think, given the features of D, fixed-point or floating point could be selected at compile-time. But, I don't wish to expand the scope of the project. An all-floating point library would be fine, IMO, and fixed-poing math could be added to the library in a future iteration. Mike
Jul 23
parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Monday, 23 July 2018 at 10:33:28 UTC, Mike Franklin wrote:
 On Monday, 23 July 2018 at 09:52:54 UTC, Zheng (Vic) Luo wrote:

 Regarding floating point operations, I plan to use 
 dmd.builtins/ldc.builtins instead of linking with libm.
That reminds me. Something else to consider is that some of these microcontrollers don't have FPUs. Graphics libraries designed for microcontrollers often use fixed-point math as a lowest common denominator. I think, given the features of D, fixed-point or floating point could be selected at compile-time. But, I don't wish to expand the scope of the project. An all-floating point library would be fine, IMO, and fixed-poing math could be added to the library in a future iteration. Mike
Having already implemented a video game engine using exclusively fixed point math for a nintendo handheld, I can tell you that the rasterizer code will have to be implemented with that in mind. Using several precisions (16.16/20.12/40.24 formats) and 64 bits products, avoid divisions, etc. A very different beast IMHO, even with fixed point structs overloading the different math operators...
Jul 23
prev sibling parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Monday, 23 July 2018 at 08:08:03 UTC, Mike Franklin wrote:
 On Monday, 23 July 2018 at 06:24:04 UTC, Zheng (Vic) Luo wrote:

 Moreover, The term "dependency-free" in the project 
 description often confuses me, because as a hardware-agnostic 
 library the project does have to depend on external 
 implementations like "sin"/"memset" or even "thread_start", 
 and I'm not sure which kind of dependency is proper for this 
 project: Should we assume a multi-threading model? Should this 
 library rely on "malloc"/"free"? Correct me if my 
 understanding is wrong since I had few experience on embedded 
 programming.
There is more to this project than just getting a software rasterizer in D. Part of the goal is to demonstrate D as a formidable alternative to C in micrcontroller firmware programming. D will never achieve that notoriety if it's always depending on C, the C runtime, the C standard library, or some library implemented in C. So, IMO, if you need to link in a library or object file that was not compiled from D code, then you're cheating. This is also one of the reasons why I suggested re-implementing software building blocks such as `memcpy`, `memset`, `malloc`, `free`, etc. in D as another potential project for the Autumn of Code. So, to keep this software rasterizer project within scope, I suggest creating naive implementations of those functions in D for now to stay true to spirit of the project (no dependencies, everything in D), and "make the point". You can those software building blocks in their own module, and let the user of the software rasterizer library link it their own implementation if they wish to deviate from the spirit of the proposal. Mike
I agree But this BetterC minimalistic standard library (allocations, arrays, strings, slices, maps) is something which can be reused by many similar hardware-level projects. This is a project on its own, and as I said, I think it should better be provided to the candidate so he can use his development time on developing the rasterizer, and, if there is enough time, a minimalistic nuklear-like gui system over it to demonstrate its performance and usefulness.
Jul 23
parent Mike Franklin <slavo5150 yahoo.com> writes:
On Monday, 23 July 2018 at 10:24:14 UTC, Ecstatic Coder wrote:

 But this BetterC minimalistic standard library (allocations, 
 arrays, strings, slices, maps) is something which can be reused 
 by many similar hardware-level projects.

 This is a project on its own, and as I said, I think it should 
 better be provided to the candidate so he can use his 
 development time on developing the rasterizer, and, if there is 
 enough time, a minimalistic nuklear-like gui system over it to 
 demonstrate its performance and usefulness.
Indeed, having to port the druntime to new hardware is definitely not in scope. I can't anticipate what features of the language the developer will employ, but as long as they stay within the -betterC subset of the language, I think it will be portable to something like that used in https://github.com/JinShil/stm32f42_discovery_demo Even if it isn't portable, if it compiles and runs in -betterC on a PC, it will still be an excellent foundation to build on, and I'd still call it a success. Mike
Jul 23
prev sibling parent Mike Franklin <slavo5150 yahoo.com> writes:
On Monday, 23 July 2018 at 06:24:04 UTC, Zheng (Vic) Luo wrote:

 Should we assume a multi-threading model?
I say, no. To get threads on microcontrollers, you typically first need to implement a Real-time Operating System (RTOS). If you want to implement an RTOS in D, and then build the rasterizer on that, that would be very cool!....but also very challenging ;-) Mike
Jul 23
prev sibling parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Sunday, 22 July 2018 at 17:12:31 UTC, Ecstatic Coder wrote:

 2/ Nuklear (https://github.com/vurtun/nuklear)
Reading the documentation for Nuklear, I found this: https://rawgit.com/vurtun/nuklear/master/doc/nuklear.html#drawing
 To draw all draw commands accumulated over a frame you need 
 your own render backend able to draw a number of 2D primitives. 
 This includes at least filled and stroked rectangles, circles, 
 text, lines, triangles and scissors
That's basically what the Autumn of Code proposal would like to have built in D: A rasterizer with fundamental drawing primitives. So, it seems Nuklear is a library intended to be built on top of the proposed rasterizer. Mike
Jul 23
parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Monday, 23 July 2018 at 09:09:40 UTC, Mike Franklin wrote:
 On Sunday, 22 July 2018 at 17:12:31 UTC, Ecstatic Coder wrote:

 2/ Nuklear (https://github.com/vurtun/nuklear)
Reading the documentation for Nuklear, I found this: https://rawgit.com/vurtun/nuklear/master/doc/nuklear.html#drawing
 To draw all draw commands accumulated over a frame you need 
 your own render backend able to draw a number of 2D 
 primitives. This includes at least filled and stroked 
 rectangles, circles, text, lines, triangles and scissors
That's basically what the Autumn of Code proposal would like to have built in D: A rasterizer with fundamental drawing primitives. So, it seems Nuklear is a library intended to be built on top of the proposed rasterizer. Mike
+1 Then I agree that Antigrain is probably the best reference code for the antialiased renderer, as its code is small, very complete (ttf/gsv/raster fonts, top quality antialiasing, etc) and reasonably fast. IMO the better-C standard library runtime should be provided to the developer in charge of developing that rasterizer.
Jul 23
prev sibling next sibling parent Seb <seb wilzba.ch> writes:
On Sunday, 22 July 2018 at 16:33:10 UTC, Zheng (Vic) Luo wrote:
 I'm interested in the "Graphics library for resource 
 constrained embedded systems" project and have some spare time 
 this autumn, but I have some questions:
 - Does this project aim at creating a hardware-agnostic 
 rasterizer supporting a few primitives like https://skia.org/ 
 or implementing a full GUI library like emWin rendering widget 
 and handling I/O events such as mouse? The latter one sounds a 
 little bit challenging to finish in four months
I can't say too much about this as I'm not that familiar with the proposed project, but here's what I can say: it's just a suggestion. It's definition isn't set in stone and is just a pointer to a problem to get you started. For more pointers and discussion, I recommend to ping Mike (https://github.com/JinShil) as IIRC he was the one who proposed this project and could also be a potential mentor. (and I think the aim is sth. to sth. akin to Skia)
 - In the past year I primarily wrote C++ and don't have much 
 experiences with production-level D programming, can I get 
 involved into this program?
Yes. Applicants aren't expected to be D experts. Also sound experience in C++ will definitely help you (especially for such a low-level project). AFAICT a sound proposal and showing that you are serious about the project/commitment is more important than your D history. There are a few posts in the D blog about the GSoC in 2016 (https://dlang.org/blog/category/gsoc) which provide a few more insights, but in short none of the students from GSoC 2016 were well-known member of the D community before the GSoC.
Jul 22
prev sibling parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Sunday, 22 July 2018 at 16:33:10 UTC, Zheng (Vic) Luo wrote:

 I'm interested in the "Graphics library for resource 
 constrained embedded systems" project and have some spare time 
 this autumn, but I have some questions:
 - Does this project aim at creating a hardware-agnostic 
 rasterizer supporting a few primitives like https://skia.org/ 
 or implementing a full GUI library like emWin rendering widget 
 and handling I/O events such as mouse? The latter one sounds a 
 little bit challenging to finish in four months
I'm JinShil, the one who proposed the idea. As far as I'm concerned, if you're doing the work, you can make it into whatever you'd like, but I would consider a basic 2D, anti-aliasing rasterizer to be a success. I have in mind something like http://www.antigrain.com or Skia. A bonus would be a font renderer that leverages the aforementioned rasterizer (See also https://medium.com/ raphlinus/inside-the-fastest-font-renderer-in-the-world-75ae5270c445). The software should be efficient enough to use on embedded systems like https://github.com/JinShil/stm32f42_discovery_demo Under that constraint, you'd probably want to try to accomplish the task with the -betterC-like subset of the language (https://dlang.org/spec/betterc.html). That being said, there's no reason the software couldn't be used on a PC with resources to spare, and it would probably be easier to do the development on a PC and just verify the implementation on an microcontroller periodically. I, myself, don't have much experience in graphics, so I don't know if I'd be a very good mentor, but if you have any questions about the goal or use case for the project, let me know.
 - In the past year I primarily wrote C++ and don't have much 
 experiences with production-level D programming, can I get 
 involved into this program?
I think much of your experience with C++ will carry forward to D, but there will still be a learning curve. Mike
Jul 22
next sibling parent reply Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Sunday, 22 July 2018 at 22:07:00 UTC, Mike Franklin wrote:
 The software should be efficient enough to use on embedded 
 systems like https://github.com/JinShil/stm32f42_discovery_demo
  Under that constraint, you'd probably want to try to 
 accomplish the task with the -betterC-like subset of the 
 language (https://dlang.org/spec/betterc.html).  That being 
 said, there's no reason the software couldn't be used on a PC 
 with resources to spare, and it would probably be easier to do 
 the development on a PC and just verify the implementation on 
 an microcontroller periodically.

 I, myself, don't have much experience in graphics, so I don't 
 know if I'd be a very good mentor, but if you have any 
 questions about the goal or use case for the project, let me 
 know.
Thank you for the suggestion. Previously I interned at a VR company and had some experiences writing code related to graphics, but I don't have any experience on embedded system programming, so I was wondering that do I need to buy a microcontroller or just testing it on PC would be enough? If it's the former one, could you give some suggestions on the starter kit?
Jul 22
next sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
On 23/07/2018 6:00 PM, Zheng (Vic) Luo wrote:
 On Sunday, 22 July 2018 at 22:07:00 UTC, Mike Franklin wrote:
 The software should be efficient enough to use on embedded systems 
 like https://github.com/JinShil/stm32f42_discovery_demo
  Under that constraint, you'd probably want to try to accomplish the 
 task with the -betterC-like subset of the language 
 (https://dlang.org/spec/betterc.html).  That being said, there's no 
 reason the software couldn't be used on a PC with resources to spare, 
 and it would probably be easier to do the development on a PC and just 
 verify the implementation on an microcontroller periodically.

 I, myself, don't have much experience in graphics, so I don't know if 
 I'd be a very good mentor, but if you have any questions about the 
 goal or use case for the project, let me know.
Thank you for the suggestion. Previously I interned at a VR company and had some experiences writing code related to graphics, but I don't have any experience on embedded system programming, so I was wondering that do I need to buy a microcontroller or just testing it on PC would be enough? If it's the former one, could you give some suggestions on the starter kit?
Based upon the repository linked: https://www.aliexpress.com/item/STM32F429I-DISCO-Embeded-ST-LINK-V2-STM32-Touch-Screen-Evaluation-Development-Board-STM32F4-Discovery-Kit-STM32F429/32754485004.html?spm=2114.search0104.3.254.4f1137329ITDKU&ws_ab_test=searchweb0_0,searchweb201602_4_10152_10065_10151_10344_10068_10342_10547_10343_10340_10059_10341_10548_10696_100031_10084_10083_10103_10618_10307_10624_10623_10622_10621_10620,searchweb201603_1,ppcSwitch_2&algo_expid=bee79865-7735-4b46-8010-a905be82e0e4-40&algo_pvid=bee79865-7735-4b46-8010-a905be82e0e4&priceBeautifyAB=0 As long as it has a touch screen, programmer (ST-LINK) and STM32F429I chip on board, you should be good to go for those instructions. Of course that isn't a cheap board, and you may want to put some work into instead of paying for it ready to go, and get one of the blue pill (stm32f104) boards ($10 will cover programmer + board, another $10 for touch screen).
Jul 22
prev sibling parent Mike Franklin <slavo5150 yahoo.com> writes:
On Monday, 23 July 2018 at 06:00:14 UTC, Zheng (Vic) Luo wrote:

 Thank you for the suggestion. Previously I interned at a VR 
 company and had some experiences writing code related to 
 graphics, but I don't have any experience on embedded system 
 programming, so I was wondering that do I need to buy a 
 microcontroller or just testing it on PC would be enough? If 
 it's the former one, could you give some suggestions on the 
 starter kit?
Well, I won't be the one paying you, and I don't think I'll be the one evaluating your work, so I don't think my opinion matters, but as the one who proposed the idea, I'll just explain my point of view. Microcontrollers have limited CPU and memory resources. Generally, they operate by filling a dedicated buffer in RAM (width * height * pixel_format_size) with pixel data. The size and format of the pixel data is generally decided at compile-time based on the needs of the application. Some microcontrollers have a dedicated hardware peripheral to aid in the blitting and blending of pixel data, but most don't. So, for all intents and purposes, this project is a software rasterizer in D; you definitely won't find any CUDA cores here. Understanding the capabilities and limitations of the microcontrollers will give you some perspective and understanding about the design tradeoffs you will most certainly need to make, but, once you have that perspective, in the end, you're just filling a buffer with pixel data, and I don't see why one couldn't do the vast majority (if not all) of development for that on their PC. That being said, getting a low-speed MCU with as little memory as 256KB animating an LCD display can be a thrilling experience. If you're interested, I suggest obtaining one of the STM32 Discovery Kits with a built-in LCD screen. See https://www.st.com/en/evaluation-tools/stm32-mcu-discovery-kits.html?querycrite ia=productId=LN1848 (Typically one ofSTM32F4 or STM32F7 models) This is the one that I have, and it only costs about $30: https://www.st.com/content/st_com/en/products/evaluation-tools/product-evaluation-tools/mcu-eval-tools/stm32-mcu-eval-tools/stm32-mcu-discovery-kits/32f429idiscovery.h ml#samplebuy-scroll Furthermore, I've already created the platform code for you at https://github.com/JinShil/stm32f42_discovery_demo, so you should just need to import your library to main.d and try it out. Mike
Jul 23
prev sibling parent reply tanner00 <gasquakestudios gmail.com> writes:
On Sunday, 22 July 2018 at 22:07:00 UTC, Mike Franklin wrote:
 On Sunday, 22 July 2018 at 16:33:10 UTC, Zheng (Vic) Luo wrote:

 [...]
I'm JinShil, the one who proposed the idea. As far as I'm concerned, if you're doing the work, you can make it into whatever you'd like, but I would consider a basic 2D, anti-aliasing rasterizer to be a success. I have in mind something like http://www.antigrain.com or Skia. A bonus would be a font renderer that leverages the aforementioned rasterizer (See also https://medium.com/ raphlinus/inside-the-fastest-font-renderer-in-the-world-75ae5270c445). [...]
Hi, I’m interested in working on this project and just wanted to touch base. Is there any word on who will be mentoring this project? I’m entering college this fall but I’ve been programming since a very young age and enjoy systems programming.
Aug 04
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Sunday, 5 August 2018 at 04:47:42 UTC, tanner00 wrote:

 [...]
Hi, I’m interested in working on this project and just wanted to touch base. Is there any word on who will be mentoring this project? I’m entering college this fall but I’ve been programming since a very young age and enjoy systems programming.
No one has volunteered to mentor this project yet, but if you'd like to write a proposal for it we can find a mentor if you are selected.
Aug 04
parent reply Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Sunday, 5 August 2018 at 05:16:50 UTC, Mike Parker wrote:
 On Sunday, 5 August 2018 at 04:47:42 UTC, tanner00 wrote:

 [...]
Hi, I’m interested in working on this project and just wanted to touch base. Is there any word on who will be mentoring this project? I’m entering college this fall but I’ve been programming since a very young age and enjoy systems programming.
No one has volunteered to mentor this project yet, but if you'd like to write a proposal for it we can find a mentor if you are selected.
Btw I *had* ("And I'd be glad to mentor you on this :)", here on July 24th). Thanks for remembering me why I now better enjoy the Crystal community...
Aug 05
parent Mike Parker <aldacron gmail.com> writes:
On Sunday, 5 August 2018 at 08:01:47 UTC, Ecstatic Coder wrote:

 Btw I *had* ("And I'd be glad to mentor you on this :)", here 
 on July 24th).

 Thanks for remembering me why I now better enjoy the Crystal 
 community...
Sorry, I seem to have missed that. But to quote from the SAoC page [1]: "If you are interested in becoming a mentor, please submit an email to social dlang.org and let us know which project, or what kinds of projects, you would be willing to mentor, as well as the number of hours per week you can make yourself available to your code during the event. The event organizers may ask for more information, such as examples of your level of experience with D, before deciding to accept your offer." I appreciate anyone volunteering as a mentor, but if it isn't sent to me at that address (or my personal one), I can't guarantee I'll see it. [1] https://dlang.org/blog/symmetry-autumn-of-code/
Aug 05
prev sibling parent reply Mike Franklin <slavo5150 yahoo.com> writes:
On Sunday, 5 August 2018 at 04:47:42 UTC, tanner00 wrote:

 Hi, I’m interested in working on this project and just wanted 
 to touch base. Is there any word on who will be mentoring this 
 project? I’m entering college this fall but I’ve been 
 programming since a very young age and enjoy systems 
 programming.
The project is mostly about creating high-performance, resource-efficient 2D software rasterizer, something like this (http://nothings.org/gamedev/rasterize/) or (https://medium.com/ raphlinus/inside-the-fastest-font-renderer-in-the world-75ae5270c445) If that isn't enough work for the event you can build on it by creating path objects with clipping and offsetting (http://angusj.com/delphi/clipper.php), rasterizing TrueType or OpenType fonts, creating drawing primitives, and even potentially creating 2D widgets (buttons, text labels, etc.) I think it's up to you how much of it you want to take on. I proposed the idea, but I don't think I'd be a very good mentor for the project because I've never created a 2D rasterizer myself. However, I'd be happy to help anyone working on the project in an unofficial capacity, and can probably articulate the intended use case for it. Mike
Aug 04
next sibling parent rikki cattermole <rikki cattermole.co.nz> writes:
On 05/08/2018 5:22 PM, Mike Franklin wrote:
 The project is mostly about creating high-performance, 
 resource-efficient 2D software rasterizer, something like this 
 (http://nothings.org/gamedev/rasterize/) or 
 (https://medium.com/ raphlinus/inside-the-fastest-font-renderer-in-the
world-75ae5270c445)  
 If that isn't enough work for the event you can build on it by creating 
 path objects with clipping and offsetting 
 (http://angusj.com/delphi/clipper.php), rasterizing TrueType or OpenType 
 fonts, creating drawing primitives, and even potentially creating 2D 
 widgets (buttons, text labels, etc.)  I think it's up to you how much of 
 it you want to take on.
Be careful here. ASCII is easy to render, but Unicode isn't. Unicode requires BIDI support and a bunch of other stuff which are projects in of themselves.
Aug 04
prev sibling parent Ecstatic Coder <ecstatic.coder gmail.com> writes:
On Sunday, 5 August 2018 at 05:22:44 UTC, Mike Franklin wrote:
 On Sunday, 5 August 2018 at 04:47:42 UTC, tanner00 wrote:

 Hi, I’m interested in working on this project and just wanted 
 to touch base. Is there any word on who will be mentoring this 
 project? I’m entering college this fall but I’ve been 
 programming since a very young age and enjoy systems 
 programming.
The project is mostly about creating high-performance, resource-efficient 2D software rasterizer, something like this (http://nothings.org/gamedev/rasterize/) or (https://medium.com/ raphlinus/inside-the-fastest-font-renderer-in-the world-75ae5270c445) If that isn't enough work for the event you can build on it by creating path objects with clipping and offsetting (http://angusj.com/delphi/clipper.php), rasterizing TrueType or OpenType fonts, creating drawing primitives, and even potentially creating 2D widgets (buttons, text labels, etc.) I think it's up to you how much of it you want to take on. I proposed the idea, but I don't think I'd be a very good mentor for the project because I've never created a 2D rasterizer myself. However, I'd be happy to help anyone working on the project in an unofficial capacity, and can probably articulate the intended use case for it. Mike
I was 14 and a half when I implemented my first depth buffer based rasterizer, in 6502 assembly on a C64, for a hi-res mode 3D renderer. The algorithm, despite being "naive", is actually still an efficient one even now. I stored an array of x/depth ranges (one per raster line), and updated them while drawing the wireframe points of the 3 clipped edges, while updating the y range of the triangle. Then I simply iterated on the triangle y range and drew the inner points (between minimum_x+1 and maximum_x-1), using the filling color and interpolating depth. Clearly not realtime as my character-based wireframe renderer, I admit it. But this more than fast enough to quickly render a hi-res 3d scene in memory in *filled* mode. So this "dumb" algorithm may still be worth being investigated in your case, as this C64 implementation was meant to run on a rather similar hardware (very limited memory and CPU, only fixed point operations, etc). Just add antialiasing on the wireframe edges and you're done...
Aug 05
prev sibling next sibling parent Mike Franklin <slavo5150 yahoo.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:

 We're also in search of potential mentors and ideas for student 
 projects
I posted a number of different ideas for ROSEdu Summer of Code at https://forum.dlang.org/post/aqlzjjfrwwxswptilgnb forum.dlang.org. I believe those ideas could also be considered for Symmetry Autumn of Code. Mike
Jul 22
prev sibling next sibling parent reply Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Another issue of this program is that me, as an incoming graduate in the U.S., are prohibited to "work" in my first school year. (that law doesn't affect GSoC since summer is considered as the second school year). I'm not sure whether contributing to open-source projects is considered as "work" here. There are some legal issues related. I'm looking forward to some clarifications like (https://developers.google.com/open-source/gsoc/faq#is_gsoc_considered_an_internship_a_job_or_any form_of_employment) stating that this program is an "employment" or not.
Jul 23
next sibling parent reply Mike Parker <aldacron gmail.com> writes:
On Monday, 23 July 2018 at 13:02:33 UTC, Zheng (Vic) Luo wrote:

 Another issue of this program is that me, as an incoming 
 graduate in the U.S., are prohibited to "work" in my first 
 school year. (that law doesn't affect GSoC since summer is 
 considered as the second school year). I'm not sure whether 
 contributing to open-source projects is considered as "work" 
 here. There are some legal issues related. I'm looking forward 
 to some clarifications like 
 (https://developers.google.com/open-source/gsoc/faq#is_gsoc_considered_an_internship_a_job_or_any
form_of_employment) stating that this program is an "employment" or not.
I can't definitively answer whether not the U.S. government would consider it work, but I can tell you that neither Symmetry nor the D Language Foundation consider it employment; they view it just as Google does. I'll add that to the FAQ.
Jul 23
parent reply Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Monday, 23 July 2018 at 13:41:41 UTC, Mike Parker wrote:
 I can't definitively answer whether not the U.S. government 
 would consider it work, but I can tell you that neither 
 Symmetry nor the D Language Foundation consider it employment; 
 they view it just as Google does. I'll add that to the FAQ.
Unfortunately, after checking this issue with a US visa attorney, I found that if I want to participate into this project, I have to work as a volunteer and receive no compensation in any form now or in the future. I'm really willing to join this program, so I was wondering that can I work as a non-paid volunteer in this program just for accumulating experiences? If so, may I work for less than 20 hr/w with some easier goals? Thanks
Jul 24
parent reply realDUser <down2now yahoo.com> writes:
On Tuesday, 24 July 2018 at 15:53:37 UTC, Zheng (Vic) Luo wrote:
 On Monday, 23 July 2018 at 13:41:41 UTC, Mike Parker wrote:
 I can't definitively answer whether not the U.S. government 
 would consider it work, but I can tell you that neither 
 Symmetry nor the D Language Foundation consider it employment; 
 they view it just as Google does. I'll add that to the FAQ.
Unfortunately, after checking this issue with a US visa attorney, I found that if I want to participate into this project, I have to work as a volunteer and receive no compensation in any form now or in the future. I'm really willing to join this program, so I was wondering that can I work as a non-paid volunteer in this program just for accumulating experiences? If so, may I work for less than 20 hr/w with some easier goals? Thanks
What about being paid for the work via your home country?
Jul 24
parent Zheng (Vic) Luo <vicluo96 gmail.com> writes:
On Tuesday, 24 July 2018 at 17:03:27 UTC, realDUser wrote:
 What about being paid for the work via your home country?
Strictly speaking, F-1 visa prohibits getting paid without CPT/OPT as long as I am physically in the US. In practice, working remotely and getting paid via another country while staying in the US is a gray zone, but due to the fact that the immigration policy is getting stricter these days, I don't think it's a good idea to risk a visa revoke :(
Jul 24
prev sibling parent bachmeier <no spam.net> writes:
On Monday, 23 July 2018 at 13:02:33 UTC, Zheng (Vic) Luo wrote:

 Another issue of this program is that me, as an incoming 
 graduate in the U.S., are prohibited to "work" in my first 
 school year. (that law doesn't affect GSoC since summer is 
 considered as the second school year). I'm not sure whether 
 contributing to open-source projects is considered as "work" 
 here. There are some legal issues related. I'm looking forward 
 to some clarifications like 
 (https://developers.google.com/open-source/gsoc/faq#is_gsoc_considered_an_internship_a_job_or_any
form_of_employment) stating that this program is an "employment" or not.
I'm not an attorney working on immigration law, but Symmetry is not a US company AFAIK, so I don't see how that is relevant. Of course you should check with someone with appropriate expertise first.
Jul 23
prev sibling next sibling parent Mike Parker <aldacron gmail.com> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Thanks to everyone for the project ideas, but I put the list on the Wiki for a reason. I'm always pressed for time, so if you have an idea for a project suggestion, it would help me tremendously if you can just summarize it on the Wiki rather than here. Thanks!
Jul 23
prev sibling parent bioinfornatics <bioinfornatics fedoraproject.org> writes:
On Saturday, 14 July 2018 at 06:02:37 UTC, Mike Parker wrote:
 Thanks to the sponsorship of Symmetry Investments, the D 
 Language Foundation is happy to announce the Symmetry Autumn of 
 Code!

 We're looking for three university students to hack on D this 
 autumn, from September - January. We're also in search of 
 potential mentors and ideas for student projects. Head to the 
 Symmetry Autumn of Code page for the details.

 Spread the word!

 https://dlang.org/blog/symmetry-autumn-of-code/
Example of idea for student: A deep learning framework using together a LLVM SPIR-V enable and https://github.com/libmir/dcompute would be awesome
Aug 06