-
Notifications
You must be signed in to change notification settings - Fork 2
/
gsoc-2018.csv
We can't make this file beautiful and searchable because it's too large.
3420 lines (2851 loc) · 774 KB
/
gsoc-2018.csv
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
sponsor,author,name,description
3DTK,Ichiho Ojima,Replacing the glui GUI with a Qt5 GUI,"3DTK provides a program to visualize point clouds called “show”. GUI of “show” is written by glui framework now, but glui framework is old and difficult to maintain. Therefore, it is necessary to replace “show” GUI with a more general framework such as Qt5. 3DTK developers have already started this rewriting, and this project is called “qtshow”. However, “qtshow” still misses a lot of functionality compared to “show”. Because of this, I improve these problems and add some features which are in “show” but not in “qtshow”."
3DTK,Xia Sun,Surface Reconstruction Tool for 3DTK,Implement Poisson surface reconstruction for 3DTK.
52° North Initiative for Geospatial Open Source Software GmbH,Sai Krishna Chowrigari,Plain GPS-based Recording for enviroCar,"Currently, recording procedure in the enviroCar android application will be started only when user's phone is connected to the OBD-II adapter through Bluetooth. I would like to add the following features to the application :
1. Allow the user to record the track without connecting to the OBD-II adapter(Plain GPS Recording).
2. Embed activity recognition API in the app, so that some of the things like starting and ending of track become automatic.
3. Redesign the Dashboard of the app.
4. View live track data like RPM, CO2, Consumption, etc. to the user while tracking.
5. Upgrade some of the old libraries used in the app(eg: Dagger, ButterKnife, etc.).
6. Improve the store presence of the app by designing more attractive screenshots for store listing and framing the app name, short description and long description of the app in the play store, so that it contains keywords like OBD, Car, Diagnostics, etc."
AOSSIE - Australian Open Source Software Innovation and Education,Abanda Ludovic,Agora web API and Frontend project,"Agora is a library of data structures and algorithms for counting votes in elections. Agora-web, is a website to conduct online elections. As mentioned on the project idea page this project will create a working API and a frontend that will consume the API resources. Separating the frontend from the backend is a great idea, since other end user interfaces such as android applications, Desktop applications, IOS app can be created to consume the same API. This will enable users to work with their preferred interface and thus increase the usability of Agora platform as a whole. So this project will create an API and a web frontend using angular 5 separating the current Agora-web project into two distinct components."
AOSSIE - Australian Open Source Software Innovation and Education,Chirag Vashist,Optimization of Mind The Word,"I have selected the following ideas to implement in the extension :
**1. Local Storage of most common words : ** Adding local storage for translations of the 1000th most common words will cover around 55% - 70% of all words encountered. This will save time as well as character limits.
**2. Adding Viewport limits : ** Limiting the translation process to the current viewport will save time and character limits.
**3. Translation without using API keys : ** Using Google Translate's free API for new users for easy on-boarding.
**4. Better quizzing/testing features : ** On-the-go spontaneous quizzing feature will increase user interaction. Once the user has marked the word as ""learnt"", the word will be enabled for this feature.
**5. Improving basic UI/UX of the extension : ** Adding HoverCards for viewing translations, adding controls to Pop-Up page, Adding Interactive Tours, Changing UI/UX of Options Page and Adding Badge to Pop-Up for displaying information"
AOSSIE - Australian Open Source Software Innovation and Education,Ebou Jobe,Implement stardroid app from scratch,This project involves implementing the sky map android app open source by Google in 2012. The implementation will be in React Native so that the app will benefit both IOS and Android users.
AOSSIE - Australian Open Source Software Innovation and Education,Joydeep Mukherjee,Crowd Alert Web,A web app that allows users to access crowd alert platform without downloading the app from app store. Results a great first time experience for users who want to explore the platform without wanting to download the app. Also helps in sharing of events to external platforms. Machine Learning will help us deliver a better user experience such as clustering of events & spam detection.
AOSSIE - Australian Open Source Software Innovation and Education,Madhav Gaba,Enhancing CarbonFootprint-Mobile,"CarbonFootprint-Mobile is an already developed mobile app to calculate CO2 emissions during various activities. However the app is quite buggy and there are a lot improvements that can be made. Listing down a few:
New Features
1. Push notifications for friend request
2. Searching Friends by name and autosuggest
3. Sharing stats on social media and an option to reset all stats
4. Introducing pipelining provided by gitlab in the project
5. Adding loading screens for various actions
6. Converting the remaining stateless containers to functional and introducing prop-types"
AOSSIE - Australian Open Source Software Innovation and Education,Manikaran Singh,Mereology in Computational philosophy,"My project will be to equip Isabelle with the theory of Mereology or in other words, the concept of parts."
AOSSIE - Australian Open Source Software Innovation and Education,Raghav Puri,GSoC Proposal for Stardroid (Google Sky Maps),"The aim of the project is to build the STARDROID Application from scratch; calibrating it properly to acquire the ability of working with different mobile versions. The end goal would allow its proper usage to detect various Stars, Planets & Constellations in the sky with the help of in-built compass and sensors."
AOSSIE - Australian Open Source Software Innovation and Education,Raghavendra Vedula,Improvement of CO2 emission API,"This project aims to improve the existing RESTful API, that is to improve the functionalities of the existing API of Carbon Emissions. This includes both front-end as well as backend improvisations for more reliability on the API for the emission data. At the same time, it focuses on increasing the standards and quality of the API as well as the data endpoints. This will increase the versatility of the code base, and make it reliable for the corporate/companies to use the API for calculating carbon emission."
AOSSIE - Australian Open Source Software Innovation and Education,Rishabh Maheshwary,Crowd alert proposal for GSOC,Crowd Alert is a cross platform app which displays and reports worldwide incidents across the globe. It helps a user to report an incident conveniently without any hassle. The calamities across the globe can be marked and viewed on google maps.
AOSSIE - Australian Open Source Software Innovation and Education,Sushma Kukkadapu,"Making MTW user-friendly, robust and production ready","MindTheWord is currently browser extension that helps users to infer the meaning of a new language they wish to learn by translating certain percentage of words in a page. The current MTW requires a polished look to sustain in the competition from other such extensions. Also, MTW needs to be evolved to a desktop application which improves its availability and user-friendliness.
Thus, summarizing two tasks which I feel to be focused on :
FIRST Improvising the current extension MTW, by giving it a polished look and also making it more robust and user-friendly.
SECOND To implement the browser extension features into a Cross-platform Desktop application using Javascript, AngularJS, Bootstrap, textract npm module and Electron."
AOSSIE - Australian Open Source Software Innovation and Education,Varun Chitre,Google Assistant Action for CarbonFootPrint,"Google Assistant Action for the Project CarbonFootPrint opens doors to conversational access to the rich emission data provisioned by this project. This Action allows you ask questions regarding carbon emissions by things around you. Be it about television usage or a trip to Switzerland. Simply say, 'Talk to CarbonFootPrint' in your Google Assistant and you are good to go! This action takes care of a wide variety of questions across all the categories supported by this project."
AOSSIE - Australian Open Source Software Innovation and Education,Vibhav Agarwal,Extending the reach of CrowdAlert with improved features and functionality,"CrowdAlert is a mobile app that can be used to report incidents from all around the world. This would help those affected with it and would also provide them with timely response.
The main goal of my project is to implement more advanced features and bring more functionality to the React Native app. It includes adding features like
- Edit incidents
- Improving UI/UX
- Adding offline support
- Sharing incidents
- More Signup options like Google, Twitter and Facebook
- Feed showing all the incidents from across the globe
- Push Notifications"
AOSSIE - Australian Open Source Software Innovation and Education,nveenjain,TRAINS EMISSION CALCULATION AND BETTER ERROR DETECTION,"I propose to implement Trains Emission for Carbon Footprint Extension, currently, it is implemented only for 5 sources(of France), I intend to implement it for India, UK,USA, Australlia, European countries (including norway, germany, italy, sweden, greece), Canada. I also intend to improve the error detection system of extension and start integrating bus services on sites like kayak."
AOSSIE - Australian Open Source Software Innovation and Education,prudhvi reddy,CarbonFootPrint-Mobile,CarbonFootprint Mobile is currently a react native application based on famous browser extension carbonfootprint that raises environmental awareness by tracking user activity and calculating carbon footprints. at present the application is working normally for purpose to make sure the app is play store ready i have added some tweaks and features to this application in my proposal which makes users experience feel good on this application
AOSSIE - Australian Open Source Software Innovation and Education,rishz,Rishabh Shukla's proposal,The project is based on improving the existing Carbon Footprint API. Both front end as well as backend functionalities.
AerospaceResearch.net,Aakash Deep,Implementing Two-Line Element (TLE) Input / Output and using it for evaluation,The project is focused on two-line elements that how we can accurately determine satellite orbit using the information wrapped in it and then validating the results with externally available data.
AerospaceResearch.net,Arya Das,Lone Pseudoranger: Orbit position data analysis and interpolation (3D),"Enabling orbit determinator to predict orbits using real time data. It will be done using 5 steps:
1. Finding a set of Keplerian elements that approximate the orbit well.
2. Propagate the state until new observed data is available.
3. Fetch new observations.
4. Refine the estimate using Kalman filter.
5. Repeat steps 2 to 4.
Also, allowing orbit determinator to output the data in various ways (position, velocity or right ascension, declination or ground track or 3D plot)."
AerospaceResearch.net,Pedro12909,Universal Space Operation Center GUI,"# The Problem
The Universal Space Operations Center is a simple and easy-to-use ground station for space projects. It was initially developed to aid students in their space experiments. Since no experiment is the same, there was a need to create an application that adapted to each project’s needs. In it’s current state, the user has to use a configuration file to state what protocols/variables/graphs he is going to use during his experiment. However, the need to change the application’s layout is evident, and the student should not be forced to close the ground station, change the configuration file again, and re-open the application to resume his experiment. This goes against the initial principle of the groundstation.
# The Solution
There needs to be a way for the user to quickly and easily adapt the groundstation to his experiment, without having to worry too much about it. The goal of this project is to implement a set of new features that allow the user to manipulate the Ground Station’s data and layout. In order to accomplish this, I plan on creating a tool that allows the end user to specify exactly how he want his station to look and work."
AerospaceResearch.net,Shantanu Mishra,VisMa - VisualMath Equation Solver,"I have selected the project [gsoc18-k04] that is VisMa, which aims at showing steps for the solution of a given equation.
As of now this project is capable of simplifying equations in single variables and solving quadratic roots. I aim to extend the VisMa’s capabilities to support
- calculus operations like integration, differentiation (including partial diff.)
- multivariable equation simplification
- solving equations like polynomial equations and inequalities, and multivariable linear equations
I also intend to improve the GUI of VisMa and create modules which will help the user to interact with graphs/plots."
AerospaceResearch.net,Vinay C K,[gsoc18-a-dd6] DirectDemod: Decoding of Automatic Picture Transmission (NOAA),"One of the important functions of satellites is to provide us with weather data allowing us to properly plan and be prepared for adverse weather conditions. Major users of such data are fishermen or sailors. They need to know the positions of dangerous storms, hurricanes etc and allow them to move away from them. Generally, the weather images can be downloaded from the internet, but the ships rarely have an internet connection. Hence for this, one of the solutions is that NOAA weather satellites freely send the weather images and data down to earth continuously. This is perfect for us, the users can simply have a simple and cheap RTL-SDR device and capture this freely available weather data. Currently, this is possible, but there are no opensource tools that come with the complete package. Usually, one software is used to capture and demodulate FM and then the decoded audio is fed into the other software to decode the image. This complex procedure needs a human's manual input and the raw IQ file may be lost in the process. This project intends to solve this. The open source tool that will be developed will have all the required functionalities."
AerospaceResearch.net,perezhz,"Turning orbitdeterminator into a robust, reliable tool","As a GSoC project, I will continue the work done on *orbitdeterminator*, so that we turn it into a robust, reliable tool, suitable for orbit determination of satellite, spacecraft and Solar System small-bodies. As part of a comprehensible test suite for orbitdeterminator, I will take data from JPL's radar astrometry database as well as Minor Planet Center's optical database in order to test orbitdeterminator output vs known orbits computed from radar and optical observations.
The specific goals I will pursue during GSoC 2018 are:
- Turn orbitdeterminator into a robust tool for orbit fitting, taking into account relevant physical effects into orbit model (e.g., non-gravitational accelerations).
- Add interpolation features.
- Add a test suite, with varied and meaningful test scenarios, as well as having continuous integration (CI) and code coverage online tools working for the GitHub repo.
- Test orbitdeterminator for Solar System small-bodies such as NEAs, taking raw data from JPL's radar astrometry and Minor Planet Center's optical data, and then comparing output to other solutions for NEAs.
Bonus:
- Design and implement an elementary multi-sensor multi-target system for the DGSN system."
Amahi,Chirag Maheshwari,Backend Improvements and New Feature Additions,"Amahi is a personal/home networking, storage and app server with features allowing users to access their files and apps remotely using android and ios clients. The current server client architecture works good but has room for improvements. The implementation of **HTTP/2 protocol** instead of the currently used SPDY/3.1 and HTTP/1.1 protocols would result in reduced latency and faster content downloading on modern clients. Also the addition of **caching mechanism** for the proxy server will reduce the data passing through the proxy server to a great extent. The main focus in this proposal is on improving the backend architecture and adding new features on the top like **secondary user login**, **friending** etc. and also addition of an app for the hda called **Amahi Sync** rewritten in golang. Other things include minor features, API addition and resolving bugs."
Amahi,Kanyinsola,Amahi iOS App Improvements and new Features,"Amahi is a personal/home cloud-based server. Currently, you can stream, view and access the files in your Amahi server using your iOS & Android device.
The Amahi iOS app has just basic functionality. I wish to add more functionalities to the Amahi iOS app to surpass the Android app functionalities. The following are my proposed deliverables before the end of the GSoC program.
Enhance the current Video Player’s functionality and make it a top-notch player by implementing gestures.
Implement Thumbnail previews for video and image files.
Implement a designated Audio Player for playing an audio playlist.
Handling PDF/MOBI/EPUB files.
Add functionality to open and edit the contents of any file in a text editor inside the app.
Implement file shares from HDA to other apps or users.
Multiple User Login.
Local storage to persist user preferences.
Adding functionality to UPLOAD new files to the shares directly from the mobile.
Add dialog to display the properties of a file.
Fix app specific bugs and optimize app performance and stabilization."
Amahi,Sukhbir Singh,Gsoc Proposal: Amahi 11,"In this project, my work will mainly focuses on working as full stack developer for Amahi. I will implement new API endpoints which can be consumed by the amahi mobile applications. I will convert complete front-end to responsive design using bootstrap. There is also a need for proper documentation of Amahi backend APIs. Good documentation will serve as single point reference for all present developers and future contributors, which thus helps in expanding the Amahi community. In this project, I will also implement sharing of folders functionality among friends.
This project can be mainly divided into 3 parts:-
Part 1: Bootstrapping complete website
Part 2: Developing new API endpoints with documentation using swagger specification
Part 3: Implementing Sharing of Folders among friend’s server"
Amahi,arihant,Android App Imrovements,"The Aim of the project is to add more functionality to the Android app.
Following features can be implemented in the app:
- Sharing of folders
- Secondary user login
- Support for remembering user preferences like audio position, video position, sorting option, etc.
- Support for displaying recent files
- Theme and Material Design implementation
- Adding automated UI testing protocol
- Implementing ExoPlayer for playing music
- And many more small features."
Amahi,sanjitchak,Amahi Express Install Disc,"I propose to build an Amahi Express Install Disc, powered by Fedora Server. In that, the user can install our Amahi Server without interacting with Command Line Interface (CLI).
The problem is that user doesn't like to use CLI. In this world of cutting-edge UI/UX interfaces, user abhors the CLI. So, I will add a module in the Installation Process, to setup Amahi Server where the user will need to type their Installation Code and server ID to setup server.
Here, Anaconda GitHub repository and documentation for developing Anaconda addons along with documentation for Kickstart file will be used a lot. Anaconda parses Kickstart file to run any third-party python modules or addons to customize the installation process. I will develop these addons so that user will only need to input their login and password in the CLI to access the server."
Apache Software Foundation,Ahmed Ifhaam,Evolve DRAT web interface,"Apache DRAT is an open source Release Audit Tool. Which is distributed and parallelized (Map Reduce) wrapper around APACHE RATTM (Release Audit Tool) that goes far beyond RATTM by leveraging Apache OODTTM to dramatically speed up the process. Currently DRAT has two GUIs, the first one proteus which has the all four commands available in CLI drat tool and a summary view workflow GUI screen. The second one is Viz which is mostly a summary View. Both tools have problems showing errors from background process because most of the commands run as a process wrapper.
The objective of this project would be to combine both of the GUI web apps features in to one and give more productive single GUI."
Apache Software Foundation,Carlos Muñoz,GORA-535 Add a data store for Apache Ignite,"This GSoC project aims to implement a new backend for Apache Gora, specifically the distributed database Apache Ignite. This proposal focuses on the native persistence of Ignite, which will be integrated in Gora as a new data store. The new backend implementation willl boost Apache Gora and open new use cases opportunities for its applications. Moreover, the approach of integration proposed will facilitate future implementations of other databases."
Apache Software Foundation,Davis Joseph,Mapping Criminal Activity,I'm making a criminology gateway which would make data more accessible to those with the proper clearance by creating a web application that is easy to use and pick up to illustrate trends in criminal activity in areas of Indianapolis.
Apache Software Foundation,Deshani Geethika,[COMDEV-254] Allura - Personal Dashboard,"A nice improvement to Allura project/code hosting would be a personal dashboard when a user is logged in. It would provide quick access to the projects that the user is part of, tickets that created by the user, tickets assigned to the user, pull requests of the user, activity stream of people that the user follows, etc.
Many new tickets for the whole dashboard idea would have to be created to divide it into manageable tasks."
Apache Software Foundation,Dilpreet Singh,Fineract CN Mobile 2.0,"The development phase for Fineract CN Mobile 2.0 can be divided into these parts:-
- New Features like Multiple account login and maintain session, Passcode feature, Sync Adapter to sync clients, allow to edit Loan application feature if loan is not approved, adding new data views for pages like customer detail page according to API.
- Refactoring current features like changing the retrofit models in kotlin, improving the quality of the picture, adding review screen in every new records creation form."
Apache Software Foundation,Graham,Fineract CN SMS & Email Notifications,This project is a new feature request for the Apache Fineract CN. The SMS/Email Notifications service would be a microservice developed on Apache Fineract CN to enable MFI members to get notified on events occurring on their accounts. There are arrays of events occurring in other microservices therefore there is a need to streamline these events and notify MFI members of significant events. This will impact the KYC of the organisation and the user experience. This problem has led to the need for a microservice such as this one to be developed to enable MFI staff to select notifications which need to be sent or the member choose specific events during account creation.
Apache Software Foundation,Guobao LI,[SYSTEMML-2083] Language and runtime for parameter servers,"The project aims to provide a compiler extension and runtime for a new ""paramserv"" built-in function. In the context of large-scale machine learning, it will bring more performance when training a model with a data-parallel and model-parallel parameter server. SystemML already supports the data-parallel and task-parallel operator. Hence, we can focus on designing the parameter server primitive and implementing the parameter update strategies."
Apache Software Foundation,Hasini Witharana,OpenID Connect Authentication Handler for Apache Sling,"This project is about creating an OpenID Connect authentication handler for Apache Sling. OpenID Connect(OIDC) is an authentication protocol based on OAuth2.0 authorization protocol. I have proposed a methodology to implement a handler that can create authorization code, access token and ID token which can be used to identify end-user and valid authorization."
Apache Software Foundation,Hitesh Gautam,Improve UI and Add Test for Apache Taverna Mobile,"I looked at the Taverna mobile and I found that this app is for anyone who wants to create and run workflows, It basically shows workflow, developed by different users,
this app is to give them a platform by which they can view, that is not at his desk. For
instance, when visiting a conference he might hear about someone's workflow, which
he can quickly locate and add to starred workflows for later exploration.So, In this GSoC 2018 I will write the new tests for this apache taverna mobile application."
Apache Software Foundation,Irindu Nugawela,MongoDB Output Connector for ManifoldCF,The proposed project is to write an output connector for ManifoldCF to allow ManifoldCF to migrate content against a MongoDB instance for better content management.
Apache Software Foundation,Jae Hyeon Park,Implement RESTful API and web ui interface in Nemo,"Apache Nemo (incubating) is a data processing system that supports various deployment characteristics, by easily customizing translation of a dataflow program into a physical execution plan. Supporting RESTful API and web interface can help Apache Nemo to:
* Provide easy way to inspect compiler passes and runtime modules for developers.
* Provide intuitive way to introspect the behaviour of Nemo stack and to make reasonable decision on their configuration for application writers and cluster operators."
Apache Software Foundation,Julio Caguano,ANY23-295 Implement ability to use librdfa,"This project will implement a new RDFa parser for Apache Any23 through a wrapper of the native C/C++ library Librdfa. The implementation aims to evaluate the level of compatibility between both projects and quantify the performance improvement that a native parser could achieve in Any23. In addition, it is proposed to test the integration results against the rdfa.info test-suit in order to validate the approach. The benefits of implementing a more efficient parser are extremely relevant taking into account that RDFa processing takes place in the web where the amount of data is huge."
Apache Software Foundation,Kai Jiang,Apache Beam: TPC-DS Benchmark for Beam SQL,"Beam has a number of classic streaming SQL benchmarks known as ""Nexmark"" coded up in both raw Java and also Beam SQL.
So far, expanding functionality has been the focus of Beam SQL so there is little known about performance - we know only that it is a pretty straightforward mapping from SQL to Beam that should work OK a lot of the time. It would be interesting to see where the bottlenecks are when these SQL benchmarks are translated via Beam SQL into a Beam pipeline and then again translated to the native capabilities of e.g. Spark and Flink."
Apache Software Foundation,Karan Kotabagi,Integrate NextCloud for Apache Airavata's Data Transfer Use Cases,The goal of this project is to design and implement a Nextcloud module and replace the existing transfer of the files from the client applications via Hypertext Transfer Protocol (HTTP) and Secure File Transfer Protocol (SFTP) with the APIs of this module. The existing protocols to transfer the uploaded files via client application window differ from each other and run in different ways to establish the connection and transfer the files. The existing mechanisms involve the HTTP and SFTP in order to transfer the files from the client window. To effectively enable the unified mechanism and collaboration of the files with the quick and reliable way we plan to implement the file upload using Nextcloud API. The APIs of the Nextcloud will be targeted in order to transfer the files from the client window and save the files to the Nextcloud. The Nextcloud enables the developers to reliably establish and support an unified mechanism to transfer the files from different clients running on the different platforms.
Apache Software Foundation,Kasthuriraajan,Support AMQP protocol for RocketMQ,"The Advanced Message Queuing Protocol (AMQP) is an open standard application layer protocol for message-oriented middle ware. The defining features of AMQP are message orientation, queuing, routing (including point-to-point and publish-and-subscribe), reliability and security.
Support AMQP protocol for RocketMQ has important significance, could expand RocketMQ ecosystem quickly.Since the AMQP is a wire-level protocol, it’s difficult to support it in RocketMQ server directly. So that I have come up with an idea to implement an AMQP proxy server and react with the RocketMQ cluster using RocketMQ client.
In my solution I have planned to implement an AMQP proxy server. It will function as a proxy server in between the broker and clients(producers, consumers) to support AMQP for RocketMQ."
Apache Software Foundation,Lahiru Jayathilake,Re-architect Output Data Parsing into Airavata core,This provides an opportunity to re-architect the data catalog and build it on new Helix DAG based execution within Airavata.
Apache Software Foundation,Majdi Haouech,Apache Taverna CWL support proposal,"The Common Workflow Language (CWL) aims to standardize workflow languages to execute command line tools on the cloud and on local servers.
Apache Taverna supports specific formats for import and export of workflows, but currently, CWL workflows are not fully supported.
During the GSOC, we intend to provide structural import and export of CWL workflows.
In addition, we intend to provide a way to support some of CWL command line tools inside Taverna and to export Taverna activities."
Apache Software Foundation,Mayar Mahmoud,[ROCKETMQ-377] Implement openwhisk-package-rocketmq to support serverless function,"**OpenWhisk** is an open source implementation of a distributed, event-driven compute
service that allows you to execute code in response to an event. Events can be provided
from Bluemix services like Cloudant and from external sources. One of the popular event
sources is Message Hub and Kafka, both of which can also be used as an effective instrument
to publish events from OpenWhisk to the rest of the world and allow for highly scalable and
performant asynchronous communication for event driven applications.
**Apache RocketMQ** is an open source distributed messaging and streaming data
platform of high availability, low latency, trillion-level message capacity guaranteed, and big
data friendly.
*The goal of the project is to add **`openwhisk-package-rocketmq`** to the
components of OpenWhisk that allows you to communicate with RocketMQ for publishing
and consuming messages.*"
Apache Software Foundation,PHUONG HAO NGUYEN THI,Implement OGC Catalog Service for the Web(CSW),"This project focus on building about the server side of the Catalog Service for the Web(CSW) is base on OGC Catalogue interface standards use the Apache CXF framework, CXF enables the development of RESTful services via annotations using the HTTP Binding. Using URI templates and annotations that can bind a service operation to arbitrary URL/verb combinations.
For each new metadata added to the CSW, relevant metadata will been server read only once and stored in a PostgreSQL database. This database would be used by the CSW engine for performing the search. About the client side, I will creat a client application simple, from there, the user can search for metadata they are interested in CSW.
Implementing OGC CSW is not only applicable for VNSC but also for other space agencies in searching images by criteria since the metadata used in this project (provided by VNSC) is largely used by other space agencies. This project aims the web server application would be developed in the Apache SIS application/sis-webapp module."
Apache Software Foundation,Pembe Motia,New Web UI For Apache Fineract CN,"This project is about designing a new web user interface for institutions with Group lending facilities using Apache Fineract CN which will be similar to the one of Mifos X and Gen 1 web app. This design will have a completely different user interface from the the existing fims-web-app. It will not only have the functionalities of the existing fims-web-app but will include functionalities to support microfinance institutions with group and center-based operations. Mindful of what is needed to execute this project, i will put in all my time ( during weekdays and week-ends ) except for the 22 hours of classes that i have every week to make this project idea into a reality."
Apache Software Foundation,Raghu Reddy,Extending Serialization protocols support for Apache Dubbo,"Apache Dubbo is an open-source RPC and micro service framework. Among other things, it helps enhance service governance and makes it possible for a traditional monolith application to be refactored smoothly to a scalable distributed architecture.
Dubbo’s exsiting serialization API is written with native Java serialization support and JSON which is arguably faster than XML. However for improvisation, this can be implemented with the Google Protocol Buffers commonly known as protobuf which has lightweight API with more efficient serialization protocols
The goal of this project is to implement an Efficient serialization protocols by creating a extension/library for integration with protobuf which arguably will improve the performance. Thus, this shall become a very useful extension/added feature for OpenSource users with desired functionality."
Apache Software Foundation,Rohan Julka,Support Groovy implementations in the Netbeans IDE plugin,Apache Syncope allows customization of its behaviour using Groovy scripts this is done so that the Syncope behaviour can be customized at runtime. It has already been implemented in the Syncope console. The objective of this project is to implement this feature in the Syncope NetBeans IDE plugin . This will allow the users to manage groovy scripts using the NetBeans IDE plugin.
Apache Software Foundation,Ruphine Kengne,Group Loan Management Service,"This project is about building a Group Loan Management Service web UI within the fims-web-app to consume the existing APIs of the Group microservice on Apache Fineract CN and then extending the microservice to include more features needed for full Joint Group Loan Management. The latter phase requires full understanding of how Groups and Loans functions on Mifos X and detailed knowledge of the Apache Fineract CN to replicate some of the Group features such as Joint Group Loan Management and Joint Liability Group within the context of Apache Fineract CN which I am committed to do. Beside the 21 hours of school classes every week, i will dedicate the rest of my time and my weekends to learning and implementing this project and will continue contributing to the community after this summer period."
Apache Software Foundation,Sergio Esteves,Implementing integration plugins in RocketMQ for HBase and Beam,"This proposal aims at designing, implementing and evaluating plugins that integrate RocketMQ with both the HBase data store and the Beam data processing model. These integration plugins will improve RocketMQ offline storage capabilities and benefit users with stringent large-scale and data-intensive processing needs. End results of this proposal include HBase and Beam plugin implementations, as well as exhaustive unit tests, application examples and documentation."
Apache Software Foundation,Talat UYARER,Redis Implementation For Gora,"Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker. This project will implement redis datastore to Gora."
Apache Software Foundation,Tzu-Chiao Yeh,"OpenWhisk performance improvement - work stealing, priority-based scheduling on load balancer and direct connection for streaming capabilities.","The emergence of serverless computing moves cloud/edge to the next generation of resource sharing: function as a service. The innovation makes developer released from provisioning, updating, and managing servers under flexible scalability and fault tolerance. Also, the most influential outcome is no computing cost when idle, which is also known as pay as you go model.
However, the performance is under critical to be improved, i.e., more servers required in existed serverless platform, high and not predictable round-trip latency, especially under high concurrency and keeping dependable.
Here come some places to improvement, including shortened path, performance improvement on invoker, serialization elimination, and scheduling. In the first step, the picked-up topic: **_work-stealing and priority-based scheduling and direct connection for streaming capabilities_** will be a great and valuable choice.
Goal on this project
1. Work-stealing scheduling on load balancer.
2. Direct connection for stream support.
3. Priority-based work-stealing scheduling.
4. Comprehensive tests to avoid bugs on concurrency and distributed failure.
5. Performance tests and optimization."
Apache Software Foundation,Yasas Gunarathne,[AIRAVATA-2717] [GSoC] Resurrect User-Defined Airavata Workflows,"Apache Airavata used to support user-defined workflows using the XBaya interface, to drag and drop application components to a workspace and define data flow and control flow dependencies among the application nodes. Airavata has evolved significantly and currently it only supports single job submissions through Orchestrator. But the current development version is being built-over Apache Helix for DAG orchestration. This provides an opportunity to resurrect workflow capabilities in Airavata. This GSoC project consists of the following sub tasks.
- Finalizing the Airavata Workflow Language.
- Modifying the Orchestrator to parse user-defined workflow and translate to equivalent Helix DAGs, execute the workflow, and monitor it at runtime.
- Developing a simple GUI to demonstrate the capabilities."
Apache Software Foundation,imane ankhila,Proposal for Apache JMeter (COMDEV-284 ),A proposal to integrate HTTP 2 protocol on Apache JMeter using HC5 APIs.
Apache Software Foundation,ssirowa,GSOC 2018 SpamAssassin Statistical Classifier Plugin,"Apache SpamAssassin is an Open Source anti-spam platform giving system administrators a filter to classify email and block ""spam""(unsolicited bulk mail). Presently SA uses Bayes Classifier together with some additional DNS filters to check for spam.
The Bayes Classifier Approach used can run into problems like 'Bayes Poisoning' where using some legitimate ""ham"" words used in a Spam email can decrease the effectiveness of the Model. Also The learning rate of spam classifier using Naïve Bayes as machine learning algorithm is low as it depends on probability model to learn.
I’m proposing to build a statistical classifier plugin that will include various supervised and unsupervised learning algorithms with the focus being on neural nets, SVM(Support Vector Machines), HMM(Hidden Markov Model).
The user can activate any number of models of the plugin and overall filtering will be done based on the combined scores of the active models of this plugin. This is in accordance to the fact the some algorithms work better than the others in different situations. The user can select what all models does he want to activate."
Apertium,Abinash Senapati,Extend lttoolbox to have the power of HFST,The aim of this project is to implement the support for morphographemics and weights in the lttoolbox transducer. The proposal focuses on extending lttoolbox to perform the complex morphological transformations and weight based analyses currently done in HFST and writing a module that translates the current HFST format to the new lttoolbox format.
Apertium,Anastasia Kuznetsova,Adoption of Guarani - Spanish pair,"Guarani is one of the most widely spread indigenous languages of southern South America. It is spoken by 6 million people in Paraguay (where it is one of the official languages), Brazil, Argentina and Bolivia. Guarani translators are present online, but there is no rule-based translator with morphological analysis, which could be more plausible than translators made from Spanish/Portuguese - Guarani parallel corpora. So I believe we can improve the quality of translation by applying rule-based model."
Apertium,Anna Kondratjeva,Improving language pairs by mining MediaWiki Content Translation postedits,"The purpose of this proposal is to create a toolbox for automatic improvement of lexical component of a language pair. This toolbox might become a great way of improving language pairs by filling gaps in dictionaries and reducing the amount of human work at the same time. Even the released Apertium pairs are not perfect and sometimes do mistakes that can be easily fixed.
The idea is to mine existing machine translation postediting data in Mediawiki Content Translation, extract a set of potential postediting operators and then study and turn these operators into information that can be inserted in Apertium language pair (in form of monodix/bidix entries, lexical selection rules, transfer rules and so on)."
Apertium,Anna Zueva,Tatar and Bashkir: developing a language pair,"The tat-bak language pair already exists in Apertium, but is now in the nursery state. The aim of my project is to develop this language pair, fill the dictionaries, add rules and significantly improve the quality of translations."
Apertium,Arghya Bhattacharya,Python API/library for Apertium,Implement a Python library for Apertium and Lttoolbox.
Apertium,Claude Balaguer,Fra-oci/oci-fra translator,"I intend to work on a French-Occitan translation pair in order to provide a new translator, which will be useful first to the Occitan community but also to the French people willing to learn more about the Occitan culture and language. It will address more specifically the Occitan Wikipedia users so they can add, work, and improve new articles with a greater ease and speed."
Apertium,Elena Sokur,Adopting an Udmurt-Komi-Zyrian language pair,The udm-kpv language pair is in the incubator now. The task is to create bilingual dictionary and transfer rules for making it usable in production.
Apertium,Evgenii Glazunov,Bilingual dictionary enrichment via graph completion,"Graph representation is very promising because it represents a philosophical model of a metalanguage knowledge. Knowing several languages, I know that it could be hard to recall some rare word and it is easier to translate from French to English and only then to Russian - because I forgot the word-pair between Russian and French. This graph representation works just like my memory: we cannot recall what is this word from L1 in L2. Hmm, we know L1-L3 and L3-L2. Oh, that's the link we need. Now we know L1-L3 word-pair. So, as we work on *** natural*** language processing, let's use ***natural*** instruments and systems as well.
The main benefit of this project is reducing human labor and automatization of part of the dictionary development.
1. Finding lacunae in created dictionary
2. Dictionary enrichment based on algorithm that offer variants and evaluation of these variants.
3. A potential base for creating new pairs.
List of main ideas:
1. Classes to create the most appropriate type of information
2. Work with subraphs (connectivity components) to reduce the complexity of calculations
3. Filtration algorithms
4. Vectorization to increase efficiency
5. Develope different metrics to reach quality of translation"
Apertium,Marc Riera Irigoyen,Adopting the unreleased Romanian-Catalan pair and upgrading other pairs to the monolingual module system,"Currently there are no machine translation systems offering direct translation between Romanian and Catalan available to the general public. English is commonly used as a pivot language, and the results are sometimes worse than what could be achievable with direct translation, because the two languages have a lot of common (both being Romance languages). In addition, many of Apertium's pairs (including an alpha Romanian-Catalan pair) have not been upgraded to current project standards, which makes present and future development or updated harder.
This proposal covers the creation of a ready-for-release direct Romanian-Catalan pair from existing linguistic data and documentation, as well as the upgrade and general cleanup of several other Apertium pairs."
Apertium,Nikolay Aleksandrov,draft,draft
Apertium,Oğuz,Uyghur-Turkish MT,"An MT for the closely related Turkic languages, Uyghur of the Karluk branch and Turkish of the Oghuz branch."
Apertium,Sardana Ivanova,Apertium translation pair for Kazakh and Sakha,"I would like to develop Apertium translation pair for Kazakh and Sakha languages. It would benefit society in whole by keeping diversity supporting vulnerable languages, in particular Sakha. There is no any machine translation system which translates to/from Sakha as far as I know. Creating language pair where one language is Sakha would greatly support Sakha language leading to further development of Sakha language machine translation."
Apertium,Vidyadheesha D N,Kannada-Marathi language translation,I am adding a new language pair (Kannda-Marathi) to Apertium.
Apertium,kmurphy4,UD-Annotatrix,This project aims to extend the functionality of the __UD Annotatrix__ tool. This tool allows researchers to annotate universal dependency trees right in the browser.
Apertus Association,Arun Malik,Image Sensor Simulation/Emulation,Objective of this task is to emulate CMV12000[10] image sensor so as to alter/test rest of the system without the actual physical hardware. CMV12000 is a 12 Megapixel 4K CMOS image sensor which can transmit frame data through 64 LVDS data channels and its control registers are programmed using SPI communication.
Apertus Association,Cláudio Gomes,OpenCine: Raw Image Debayering Methods,"I am applying for the task T722, listed on Phabricator (https://lab.apertus.org/T722). I have to implement several debayering algorithms (by myself or with the use of a clean and well maintained C++ library), so that the user can see a preview of the footage. And then further optimising and accelerating the implementation, using multithreading and/or APIs such as OpenCL."
Apertus Association,Iti Shree,"Google Summer of Code 2018: Live histogram, waveform, vectorscope","The AXIOM Beta features a small program called cmv_hist3 that calculates raw histogram value from current image in real time processing pipeline. The task is to improve this tool with a new feature (crop image and extract histogram from that selection).
Next step is to create tool for waveform and vectorscope. Waveform tool will be used to display brightness or luminance of an image. While vectorscope tool will be useful for color information."
Apertus Association,Mahesh Chandra Yayi,Bidirectional Packet Protocol for FPGA communication (T731),"__Abstract__
The two Lattice MachXO2 present in the AXIOM Beta in addition to the Xilinx ZYNQ SoC act as routing fabrics and extend the limited IOs from the main FPGA. A packet protocol that works on a single LVDS pair is required to utilize the bandwidth and support various bus protocols like I2C, SPI, UART etc on the Lattice FPGAs. The Lattice FPGAs route the incoming data from the main FPGA, decode it and send to the respective peripherals and vice versa."
Apertus Association,Rahul rakeshkumar Vyas,FPGA-realtime focus peaking,"The proposal describes detail description for the design of real time focus peaking kernel in VHDL for FPGA. It covers all aspects of the image processing required for FOCUS peaking namely, Demosaic interpolation, Sobel edge detection and edge thresholding for focus peaking."
Apertus Association,Supragya Raj,Raw video container format,Provides a way to encode video frames from AXIOM cameras that is easily read and easy to write to. Includes comparative study of current ways of encoding the frames and finally implementing one for use.
ArduPilot,Ayush Gaud,Mapping and Planning for obstacle avoidance,"Autonomous waypoint navigation has been an integral part of the Ardupilot project for a long time. This approach works well when the multicopter is flying at high altitudes without obstructions. In case of low altitude flights though, it becomes difficult for the drone to navigate autonomously and requires sensors to restrain it from colliding with the obstacles around. This is done by locally dividing the regions around the multicopter into sectors and scaling the attitude proportional to the distance from obstacles. This would sometimes lead to the vehicle to stop and a manual intervention would be required to let it out of the obstruction.
Situations like these could be avoided if a planning algorithm could take advantage of the observations made previously in the form of a 3D map and use it to direct the multicopter in the collision free path maintaining the global plan for waypoint navigation. This could be done by building a framework for mapping which would utilize depth information from stereo cameras or lidars and generate an occupancy map. The planner would use this map and global plan as an input and generate control commands for the multicopter to navigate autonomously."
ArduPilot,Dimitri Vasilkov,UAVCAN Drivers and Documentation Update,"Add usage, tutorial, documentation and support for sensors and devices that use the CAN bus protocol."
ArduPilot,Ebin Philip,Implementation of Balance Bot with Ardupilot,Extension of Ardupilot codebase to support Self Balancing Robots
ArduPilot,Sepehr MohaimenianPour,Complex Autonomous Tasks Onboard a UAV using Monocular Cameras,"In this proposal, we are trying to use CNNs and complex Computer Vision methods to perform autonomous tasks using a small form factor companion computer onboard a UAV. We pitched three ideas for vision-based autonomous task onboard a UAV (i.e. Human-UAV interaction, Return to home in a GPS denied environment, path-trail following) and briefly described the general approach for each of these ideas. We also considered our limitations and workaround for compensating them as much as possible."
ArduPilot,Soubhi Hadri,Machine Vision on a Rover.,"In this project I will work on applying computer vision algorithms on Rover. The minimum goals is to make the rover follow a path with obstacle detection using depth sensor. Many tools will be used in the project such as OpenCV, PCL, and Tensorflow."
ArduPilot,shortstheory,Live Video Improvements For APSync,"The APSync project is a convenient way to extend the capabilities of flight controllers by using companion computers such as the Raspberry Pi 3 and the NVidia Jetson X1. These companion computers can take on a variety of tasks such as onboard image processing, video streaming, telemetry, and autopilot modes.
My project aims to improve the video streaming module of APSync by adding support for multiple cameras, video streaming which scales according to the available bandwidth, and a way to provision the GCS with the list of available resolutions of the connected video cameras."
BRL-CAD,Benjamin Landers,Rotating Face to Bottom,"The primary goal of this project would be to implement a solution to issue #3047. This issue is basically about implementing a way for users to select a face and choose it to be the face that connects to the plate.
Specifically, after implementing this feature, I expect that a user would be able to click a face (which should be highlighted to make clicking the right face easy) on an object and then click menu button to rotate that face to bottom of the model. If there is a part of the object below the plate after the rotation, it should either error or push the model up until it is no longer intersecting the plate (I’m not sure which is more intuitive)."
BRL-CAD,Denis Pavlov,Appleseed renderer integration,"BRL-CAD uses a simple ray-tracing engine for rendering images of BRL-CAD geometry. Although it allows to efficiently visualize the data, the output images are not really photorealistic, comparing to modern state of the art rendering systems. The aim of this project is to integrate Appleseed renderer into BRL-CAD. It will allow to render high quality photorealistic images of brl-cad geometry with complex materials and light sources."
BRL-CAD,Jaipal Singh,Python BRL-CAD,Project aims to wrap BRL-CAD geometry primitives in python using ctypesgen and extending support to use python BRL-CAD on multiple operating systems. The current version of the project is unstable and very weak in terms of functionality available. This iteration of work would fix all the issues as mentioned verbosely in the proposal.
BRL-CAD,Kurt Kremitzki,FreeCAD Configuration Management Project,"FreeCAD is a general purpose 3D computer-aided engineering & design program available for Windows, Mac, and Linux, and as a result it has a huge amount of complexity from dependencies and deployment. Using the systems engineering process of configuration management, I will help streamline the development and release processes for FreeCAD."
BRL-CAD,Parth Partani,LibreCAD 3 OpenGL rendering,Change of the rendering engine from Cairo to complete OpenGl implementation which mainly involves the working area which contains painter and this will include everything that needs to draw on screen and creating unit tests for testing of the engine task will include some unit tests.
BRL-CAD,Saran Narayan,Overlap Tool - Cross platform compatibility,"The project aims to bring cross platform comparability to the existing overlap tool which currently uses a shell script that works only for Linux. By implementing it in C, it would work across all platforms."
BRL-CAD,Sreyansh Kumhar Jain,Student Application for GPGPU Raytracing,OpenCL GPGPU Raytracing
BRL-CAD,caen,Improving raytracing performance by improving libbu,Improve parts of BRL-CAD's raytracer by removing unnecessary work and using better-suited data structures.
BRL-CAD,pronaip,Add exec option to search,"BRL-CAD's MGED search needs an -exec option - like the find command in UNIX - but that would mean low level library functions accessing the high-level Tcl interpreter in MGED. The solution is to provide the database search routine with a callback and a userdata pointer.
My task is to add the callback logic, extend the parser, write the callback for MGED, extend the evaluation of search plans and write tests and documentation for all changes."
BeagleBoard.org Foundation,Anirban Banik,Modern Speak and Spell using PocketBeagle,"This project is basically to rebrain the previous Speak and Spell by Texas Instruments, and generate open source code for it . This is a Linux application which can be reproduced. The added features include offline speech recognition...using CMU Sphinx...to provide more robust features. Here I am working to reproduce the games with added features to appeal to the present day children... specifically the preschoolers. This almost totally a software project...only to be deployed in a PocketBeagle...with some wiring to be done...and display to be enhanced. My future goal is to extend this project to other languages...so that this wonderful device can be used more extensively."
BeagleBoard.org Foundation,Ravi Kumar Prasad,BeagleBoot,"Integrate node-beagle-boot to Etcher and add features like U-boot console on boot up, TCT/IP proxy server, grab latest images from beagleboard.org to BeagleBoot (electron app), developed last year during GSoC."
BeagleBoard.org Foundation,VAISHNAV M.A,Fixing Bugs in BoneScript and Improve BeagleBone UI,"BoneScript is an existing Node.js library specifically optimized for the Beagle family and featuring familiar Arduino function calls, exported to the browser.The BoneScript library provides several functions for easy interaction with hardware which otherwise would have required the users to manipulate the SysFs files directly(assuming use of no other libraries),which is obviously confusing for a beginner-level user.
BoneScript library even though being widely used by BeagleBone users has compatibility issues across boards,some bugs and unfinished features.The primary aim of my project is to solve most of the open issues reported and add some more features which will be of benefit to the users.
A secondary objective of my project is to add Improvements to the BeagleBone User Interface to provide a similar interface for PocketBeagle that can also support the BaconBits cape examples, so as to provide PocketBeagle beginners a Graphical User Interface from which they can try out the example codes easily(similar to BBUI).
Detailed Proposal at :https://elinux.org/BeagleBoard/GSoC/fix-bugs-bonescript"
BeagleBoard.org Foundation,muneeb17,Update to PyPRUSS - Python API for the PRUs,"The PyPRUSS is a python binding/API for controlling the [PRUs](http://beagleboard.org/pru) . It provides an easy to use python-based interface for loading firmware, controlling execution and interrupts/memory management for the PRUs, therefore shortening the learning curve for users new to PRU programming. Currently, the PyPRUSS uses PASM for its examples and communicates using the older Userspace IO (UIO) Driver. The goal of this project is to update the API to use the remoteproc/rpsmg interfaces for interacting with the PRUs, port the existing examples to [gnupru](https://github.com/dinuxbg/gnupru) since PASM is [no longer supported](http://processors.wiki.ti.com/index.php/PRU_Assembly_Instructions#pasm_vs._clpru) by TI) and add [DMA](https://github.com/maciejjo/beaglebone-pru-dma) Support to the API, since it will enable the users to program both the PRUs for their application, instead of reserving one for ARM-PRU communication(as needed in case of rpmsg)."
Beam Community,Anshuman Chhabra,TensorflEx: Tensorflow bindings for the Elixir programming language,"Currently, there is a lack of machine learning tools and frameworks for Elixir. With the number of programmers learning/using machine learning only set to grow, supporting machine learning capabilities is _essential_ for any programming language. Moreover, there are discussions on elixirforum.com regarding this and recent talks given at ElixirConf that reflect the need for Elixir to provide machine learning capabilities.
I thus propose to work on _TensorflEx_, an Elixir framework similar to _Keras_ (for Python). Keras uses _Tensorflow_ as a backend for doing all the ML. Using Native Implemented Functions (NIF) and the Tensorflow C API as a backend, a low-level wrapper will be written in Elixir. This low-level API will then be used to write a Keras-like framework in the form of a high-level API. This will allow Elixir developers to write expedient and efficient machine learning code in Elixir."
Beam Community,Ben Yip,A new MySQL driver for Ecto,"The purpose of this project is to implement a new MySQL driver for Ecto. Ecto is a language integrated query and database mapper for Elixir. While it currently has an adapter for MySQL leveraging mariaex, we believe the community would benefit from a new driver that is closer in design to Postgrex."
Beam Community,Gabriel Gatu,Add dialyzer task to Elixir,"Dialyzer is a discrepancy analyzer that ships as part of the Erlang VM. There are two projects that adds Dialyzer support to Elixir applications: dialyxir and dialyzex. The goal of this project is to bring the ideas of both projects with two main new features: better usability (in particular, better error messages and formatting) and the ability to dialyze projects incrementally."
Beam Community,Gonçalo Tomás,Unpacking riak_test into a set of libraries and Common Test suites,"Riak KV is an open source database with a strong focus on low latency, reliability and fault tolerance. Like any well tested computer system, batteries of tests are run to make sure that the database behaves correctly in typical but also adverse conditions such as network partitions, or even the deployment and upgrade process of nodes running different versions in the same cluster. To this end, one of the resources used by the Riak team is [riak_test](https://github.com/basho/riak_test). Its main function is to provide a test running framework that overlaps significantly with Common Test, but it also contains cluster management and code intercept functionalities. We propose to break up this repository into its discrete components, making important contributions to the Erlang community and adapting the test runner framework into Common Test suites, vastly increasing the reporting ability of current Riak tests."
Beam Community,Jakub Janarek,Port the BarrelDB API to Elixir,Make a port of the BarrelDB API in idiomatic Elixir along with its documentation and tests.
Beam Community,Tallys Martins,Monitoring performance of Elixir packages with ElixirBench,"ElixirBench platform is a proof of concept that already showed its value, the key deliverable is to bring it up and running for nightly performance monitoring for significant Elixir projects. Given a project in the Github, it will be possible to activate the benchmark service and to automatically monitor the performance of the new released versions by setting up a bench/config.yml file and the benchmark scripts to be run for that project."
Beam Community,njichev,Elixir Idea #1: Typespecs to StreamData generators,"### Project Description
[StreamData](https://github.com/whatyouhide/stream_data) is a library that adds
data generation and property-based testing to Elixir. The goal of this project
is to read `@type` declarations from BEAM code and automatically get generators
out of them. Once that is done, we should use this information to automatically
validate `@spec` annotations with data generators.
#### Goal 1 - Getting data generators out of `@types`
First part - Provide a simple way to generate all simple types(int, atom,
all, etc.). Maybe a way to compose different generators and getting new ones
would be useful for union/all types.
Second part - generators for recursive/co-recursive types and types with
arguments which will be a greater challenge.
#### Goal 2 - Automatically validate function `@specs`
If we have a function spec, we can automatically feed the function it's
arguments and check that the result always belongs to the return type of the
function.
To check whether a result belong to the correct type generator, we should
probably extend the StreamData struct to include a member function as a
field. We would check whether different types belong to a data through it."
BeeWare Project,Patience Shyu,Optimizing the VOC Compiler,"The current implementation of Python AST to Java bytecode transpilation in many cases takes a naive approach, resulting in redundant bytecode instructions being produced and class files being longer than necessary. Not only does this make the code run slower than it should, this causes problems in some cases because the JVM enforces a [size limit](https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-4.html#jvms-4.7.3) on class files, in particular on method sizes: each method must be less than 64KB.
This proposal explores optimizations that cut down the number of generated bytecode instructions."
BeeWare Project,Yap Boon Peng,Implement asyncio support in voc,This project focus on implementing asyncio’s coroutine and event loop (both timer & socket based) for voc in JVM. Successful implementation of asyncio in voc will greatly benefit toga_android development and enable user to write concurrent functions (using asyc def/await) in Python and execute them in Java Virtual Machine after transpilation by voc.
Berkman Klein Center for Internet & Society at Harvard University,Salil Jain,Improvements and Addition of new features in the tool,"My project proposal is to make the tool more user-friendly and adding features which will help in a more meaningful discussion among people. This includes improvements in the admin and moderator role, improvements in the UX, making the tool responsive, changes in the UI, addition of new features like tags, subscription to tags and introduction of a new profile - speaker."
Berkman Klein Center for Internet & Society at Harvard University,Tasmiah Tahsin Mayeesha,Automating Interactive Network Visualization and community detection of Media Sources Network from Mediacloud data.,"Creation of interactive visualization of networks is a hard problem that typically requires human expertise to solve to come at a human friendly visualization, but creating the visualizations by hand(Gephi or other GUI based tools) is hard as Mediacloud hosts numerous topic networks. Currently .gexf files produced via Mediacloud for media source networks on different topics are exported and then Gephi and similar tools are used to create high quality network visualizations supervised by domain experts.
We wish to create human-friendly interactive visualizations from the media sources by coding instead of GUI based tools. As communicated earlier over email with Linus and Hal, the work would potentially be to first replicate the given visualizations made in Gephi to be generated by code. Second phase of the work will be to implement community detection with varying modularity class and color the network depending on the communities."
Blender Foundation,Erik Englesson,Many Light Sampling,"This project will implement the following paper, ""Importance Sampling of Many Lights with Adaptive Tree Splitting"" by Alejandro Conty and Christopher Kulla. This method reduces the time for Blender's in-house renderer Cycles to generate images of scenes with a large number of light sources in them. This gives more freedom for the lighting artists to create the scenes they imagine without having to worry about performance."
Blender Foundation,Geraldine Chua,Further Development for Cycles' Volume Rendering,"Traditionally, solid objects are represented as meshes: a set of vertices, edges, and faces. This interpretation of real-life objects into 3D space is sufficient for typically solid media such as teapots and chairs. However, this model faces many issues when used to represent dynamic materials such as smoke or clouds, which have innumerable and constant shifts in number and location of vertices, edges, and faces. These types of objects are typically classed and implemented separately as Volumes.
Due to the nature of the materials involved, Volume rendering requires a different set of solutions in regards to data structuring, light sampling, and so on. Quickly becoming an industry standard, OpenVDB is a Volume rendering framework developed by Dreamworks that sees wide usage throughout the graphics industry such as in Pixar's RenderMan and Houdini. It is known for its efficiency in handling sparse data sets and its wide range of filters, transformation operators, compositing tools, and many other features for the creation and robust manipulation of Volumes. Its integration into Cycles will surely further Blender's usage in the 3D graphics scene."
Blender Foundation,Leonardo E. Segovia,Implementing a Hair Shader for Cycles,"Realistic hair or fur is essential when creating a plausible virtual world. In feature animation, this is often used to define the signature look of characters; examples include Pixar’s *Brave* (Iben et al. 2013), and Walt Disney Animation Studios’ *Tangled* (Sadeghi et al. 2010; also Ward et al. 2010) and *Zootopia* (Chiang et al. 2016).
Currently, Cycles has a working hair shader ([wiki page](https://docs.blender.org/manual/en/dev/render/cycles/nodes/types/shaders/hair.html), [sources](https://git.blender.org/gitweb/gitweb.cgi/cycles.git/blob/HEAD:/src/kernel/closure/bsdf_hair.h)), based on Marschner et al. (2003)’s model. Its several assumptions and simplifications make it inaccurate for light colored hair (d’Eon et al. 2011) as well as for most types of fur (Yan et al. 2015). Furthermore, d’Eon et al. (2011) and Khungurn and Marschner (2017) demonstrated it to not be energy conserving.
This project intends to upgrade Cycles’ hair shader to the aforementioned *Zootopia* shader by Chiang et al. (2016), by porting Pharr (2017)’s implementation. Lukas Stockner has made available [a WIP patch ](https://github.com/lukasstockner/blender/tree/hairshader), which may also serve as a basis for this work."
Blender Foundation,Rohan Rathi,Bevel Modifier Improvements,"The bevel modifier is widely used in modelling to chamfer edges and smoothen them out. Bevels are used to correct the shading of mesh, so as to make the edges blunt to give a solid and realistic look as opposed to non beveled objects. However the current modifier does not ensure correct normals and has various listed bugs which slows down artists workflow. Having written my own Weighted Normals modifier in last years Google Summer of Code. I am familiar with the modifier stack and its implementation and can work to provide good quality functionality on the modifier."
Blender Foundation,Yiming Wu,Blender NPR Line Rendering Improvement,"To improve blender's NPR line rendering for stylized image generation, such as manga-styled animation. The main target is to **greatly improve the performance** of this stage (with realtime techniques or multithreading for freestyle), and it also aimed to **improve the quality** of the generated lines."
Blender Foundation,alekulyn,Optimizing Exporting and Importing For STL and PLY File Formats,This project hopes to optimize and port the export/import PLY and STL modules from Python to C.
Boost C++ Libraries,Adeel Ahmad,Nearly antipodal points distance accuracy improvement,"Nearly antipodal points refer to the most geographically distant points on a sphere i.e. the points are diametrically opposite to each other. Computing the great circle distance between these two points is often a corner case for most geodesic computations, and the distance is either overestimated or underestimated."
Boost C++ Libraries,Cem Bassoy,Designing a Generic Tensor Library for Boost.uBlas,"Tensors provide a natural and compact representation for massive multidimensional data with a high dimensionality which occur in disciplines like computational neuroscience, neuroinformatics, pattern/image recognition, signal processing and machine learning [14][15]. Our tensor project proposal is based on the foundations Boost’s uBlas implementation. Extending uBlas with tensors shall therefore primarily focus on scientific computing with basic multilinear algebra operations with tensors, matrices and vectors. The extension shall primarily support dense tensors that can be projected on subtensors with ranges or slices. We want to provide expressions templates for basic tensors operations using static polymorphism with generic lambdas. The library shall support all basic multilinear algebra operations such as the modal tensor contractions and tensor transpositions. Tensor object shall be able to communicate with Boost’s matrix and vector objects through expression templates and free functions. Repeating the primary design goals of uBlas, the tensor library shall be efficient with almost no abstraction penalties, functional, compatible and provide a convenient mathematical notation."
Boost C++ Libraries,Dattatreya Mohapatra,Add statistics and machine learning functions to Boost.uBLAS,"Boost.uBLAS employs numerous compile-time optimizations which improve the performance of matrix operations. However, there is no implementation of any application on matrices which can exploit this performance - like mean, variance, factorization etc. Providing some such fundamental functionalities for vectors and matrices in a single package would be a great addition to the uBLAS library.
The goal of this project is to lay out the foundation of uBLAS to support basic statistical analysis methods and machine learning algorithms. More specifically, I am interested in implementing the following fundamental components:
- Basic statistics
- Running statistics
- Histograms - with custom number of bins and edges
- KMeans clustering
- Principal Component Analysis (PCA)
- Gaussian Mixture Model - Expectation Maximization"
Boost C++ Libraries,Fady Essam,Proposal to add GPU computations to uBLAS,"UBlas is one of the most respectable linear algebra libraries but it still lacks doing the matrix computations on GPU.
My proposal is to provide support for doing that through the boost.Compute technology and an api that will make it so easy to do these computations on a device from the user's choice"
Boost C++ Libraries,Hari sai charan challa,Enhancing Boost.Intrusive Library,"This increases the scope of Boost.Intrusive library by adding more data structures into the collection.Every data structure is capable of solving a large range of problems.So adding data structures increases the problem solving ability of intrusive library which increases the number of users using this library.Nowadays, data structures are used in many fields.There are 2 main reasons behind the use of data structures.First, to obtain better performance benefits and Second, to save space required for execution of an algorithm.The data structures i am going to implement are Segment tree , Fenwick tree , Suffix tree and Suffix Automata .segment tree and fenwick tree are very useful when range queries need to be done efficiently.Suffix tree and automata can solve various types of string based problems.Hence , these are very much used in modern world.Hence this project increases the demand for the intrusive library.Every data structure can only solve problems with particular characteristics and it cannot solve or the performance is bad when the same data structure is used for other types of problems.So, one has to select correct data structure."
Boost C++ Libraries,Laouen Belloli,Boost.Real project,"In the history of Computer Science, real numbers representation and data structures do not have a simple solution, numerical errors can be carried from one operation to the next and after several steps, the error may significantly increase. Also, irrational numbers representation as the number π or e^π are not handled by the native number data types and causing limitations when calculations are based on those numbers. The problem can be summarized as: there are an infinite amount of different numbers and a finite representation system. Even if there are some existing solutions, there is not a modern C++ open source library to attack the problem and Boost C++ could be the appropriated place.
Following the Real number representation introduced in chapter 2 of Oliver Aberth. Computable Calculus. Academic Press, 2001. I propose to implement a data type to represent Real numbers and to define the operators (+, -, *, /, !=, <, >, =). This data type attacks the introduced problem and allows to represent some calculable real numbers as π"
Boost C++ Libraries,Pranam Lashkari,Astronomy Library,"This project involves developing a new library which tries to cover the major concepts of a complex and diverse field of Astronomy. This library will provide functionalities to mitigate the complexities of astronomical calculations using C++. It will have functionality aimed at anyone developing astronomy software, professional/amateur astronomers, and astrophysicists."
Boost C++ Libraries,Tom Westerhout,Bringing Static_views to review-ready state,"This document proposes an addition to Boost `C++` Libraries — `Static_views` library.
The library focuses on working with compile-time (i.e. `constexpr`) homogeneous data.
Its applications range from converting bitmaps from 8-bit to 24-bit representations to
implementing efficient enumeration to string conversions and custom error categories."
Boost C++ Libraries,Yaghyavardhan Singh,Similarity between geometries,"In this project, the goal is to implement algorithms for computing Similarity between Geometries using Expression Templates and Meta-programming paradigm in C++. The project will initially focus on Linestrings and will try to extend it to rings or polygons. For implementation purposes, It requires studying the different variation of Hausdroff distance and Frechet distance. After we are done with implementation part, we will generate test cases and verify those test cases and set benchmarks for different algorithms. Finally, we will integrate it with Boost.Geometry."
Boston University / XIA,Daivik Dave,U6ID Principal,"XIP and TCP/IP can interoperate with each other by encapsulating the XIP packets as the payload of the IP datagram , which can be tunneled through the IP networks and can be extracted and processed further by hosts at the end of the tunnel .The U6ID principal encapsulates XIP packets in IPv6 UDP datagrams ."
Boston University / XIA,Edward Hui,Protecting the GT-GK channel,"The DoS attack defense system consists of two main devices, Grantor server and Gatekeeper channel. A packet is send via Gatekeeper to Grantor server first, which Grantor server will be sending back a Grantor decision packets, indicating that if the packets is malicious and it should be dropped or allowed.
The connections between Grantor and Gatekeeper is unencrypted and it is hard to distinguish if the packets are sent from the trusted devices, therefore, the system is vulnerable to spoofing attacks, which the decision packets can be faked, and wrong decisions will be executed by the Gatekeeper. To encrypt the connections, a set of public and private key will be generated on both Grantor and Gatekeeper. At the beginning of the runtime, the public key should be exchanged first, new symmetric key will be randomly generated and encrypted using opponent’s public key, the encrypted symmetric key will be sent to others and decrypted using its own private key.
After the secure exchange of the symmetric key, the packets can now be encrypted again using the symmetric-key cryptography library provided by DPDK on both devices, i.e. GT block on Grantor and the GT-GK block on the Gatekeeper."
Boston University / XIA,Hrishav Mukherjee,Extending Mininet to support simulation of XIA networks,"**Mininet is a network emulator for creating virtual networks. The nodes that it spins up are isolated in network namespaces and use real kernel instances(shared kernel space) all in one host OS. So you have a full blown network up and running on top of a single Linux kernel. **
**The goal of the project is to enable creation of XIA networks and configuration of XIA nodes using Mininet.**
**Put in other words, the Mininet APIs should allow configuration of the XIA nodes and creation of complex topologies. The proposal throws more light on how I plan to use the existing Mininet APIs and create new ones to configure the hosts using XIA specific parameters.**"
Boston University / XIA,Pranjan Sana,Improving the xip tool,..
Boston University / XIA,Prashant Kumar Prajapati,Implementing blackholing in Gatekeeper,This project is mainly focused on implementing and testing the RHHH algorithm interfaced with Cold Filter that will be used for quickly and efficiently identify the IP destinations/prefixes/flows that need to be blackholed. This project will help enhance Gatekeeper's performance against denial-of-service(DoS) attacks.
Boston University / XIA,Vibhav Pant,Implementing NWP - an address resolution protocol for XIA.,"The aim of this project is to implement a userspace version of the *Neighbourhood Watch Protocol* (NWP), which maps Autonomous Domain (AD) XIDs to Ether XIDs."
CCExtractor Development,AadityaNair,Project Nephos,Nephos is an system to automate recording channels and uploading the same to some cloud storage (currently GDrive). It also provides a way to tag uploaded content and share it with other entities.
CCExtractor Development,Krushan Bauva,Improving the extraction of burned-in subtitles,"The purpose of the project is to give CCExtractor the capability of extracting subtitles in case of moving text such as tickers, automatically distinguish between different speakers in case of DVB and burned-in subtitles, handle word by word synchronisation cases and adding support for non-latin languages like Mandarin Chinese"
CCExtractor Development,Satyam Mittal,The sample platform (/ continuous integration) project,"The sample platform has been a good way to test regression tests. The main aim of the project is to make sample platform fully finalized (at least with the current list of ideas), and be as stable as possible. It will include adding some new features and fixes which will increase the stability of the platform."
CCExtractor Development,Satyavrat Sharma,The Real Time Subtitles Project,"*Aim:*
Enhance the current _Real Time Subtitles Project_ for CCExtractor and add feature of analysing captions.
*Tasks involved:*
1.Improve the Admin page
2.Create End-User WebApp
3.Create a Subsystem to assign/extract keywords/keyphrases/topics by analysing a current stream of captions."
CCExtractor Development,Saurabh Kumar M Shah,Improve the OCR subsystem,"The current text extraction system of CCExtractor for burned in subtitles depends on the input parameters like `conf_thresh`, `subcolor`, `whiteness_thresh` etc which are rather arbitrary and might vary from one video to another. Also, the text localization algorithm gives terrible results in many cases due to inefficient detection of regions as text/non-text. The ticker text extraction feature must also be added to the current hardsubx system. There are some cases in which the DVB subtitle extraction gives poor results.
The goal of this project is to implement a text localization and binarization pipeline which is independent of any input parameter(other than the video file). This localization algorithm would also improve the OCR results and the classification of the frames into text and non text regions would become efficient. This project also aims at adding tickertext extraction feature to the current hardsubx system. The DVB subtitle extraction causes noise to be generated on the text regions and an additional filtering step needs to be added to improve the results in the case of DVB subtitles too."
CCExtractor Development,achie27,FabBits,"FabBits is be a standalone cross-platform software capable of finding certain interesting bits from movies/shows, soccer, and basketball. Following are the things it will be able to detect -
1. Action sequences in movies/shows
2. Different settings in movies/shows
3. Actor-specific scenes in movies/shows
4. Jokes in sitcoms
5. Slo-mos in Sports
6. Goals in Soccer
7. Goal misses in Soccer
8. Three pointers in Basketball"
CCExtractor Development,saurabhshri,CCExtractor Web,A full fledged web application and API for subtitle extraction through CCExtractor.
CCExtractor Development,thealphadollar,Project Nephos,"Project Nephos aims at simplifying the process of moving samples from local storage to cloud for Universities by automating, almost, all the steps involved. It will be consisting of three independent modules; recording module, processing module, and uploading module.
The recording module will be responsible for managing the addition of channel lists, set up of recording jobs and saving the recorded streams. The processing module will parse saved samples, associate tags, extract subtitles and convert the video files to MP4 to reduce the file size. The uploading module will upload the processed stream files, and also share sample with other universities if required.
Nephos will be developed, using Python and few other open source projects, to accomplish all the above mentioned tasks with cent-percent reliability and zero failures (unless wrong data is input, which will be logged/prompted). Testing and logging will be an integral part of Nephos development and running cycle, respectively."
CCExtractor Development,thetransformerr,CEA-708,"CEA-708 is the new standard for digital tv and was developed to supersede CEA-608.However due to widely prevalent usage of 608, full features of 708 aren't being currently utilised fully and simple transformation is done from 608 to 708.This project aims to complete support in ccextractor library to decode all features present in 708 completely and improve encoding of 708 into given video, therefore make CCextractor future ready."
CERN-HSF,Abhinav Kumar,HAhRD: DeepReconstruction,"One of the challenges faced in Particle Physics Experiment after the collision of particles in LHC is the reconstruction of the events.This includes finding the type of daughter particles created and other important characteristics associated with particles like energy, from the data recorded by Detectors like CMS or ATLAS.
This project is targeted on event reconstruction of particles produced after the proton-proton collision, from data recorded in one of future sub-detector of CMS named as HGCAL(High Granularity Calorimeter). We will be using CNN (Convolutional Neural Network) for reconstructing the rare processes by classifying and learning other characteristics of the particles from the hits (energy deposits) recorded in the detector which are generated after the collision.
The main goal of this project is to develop a software pipeline, compatible with HGCAL sub-detector, which can be used by Physicist or other developers to create and train a CNN architecture on GPU to get additional insights in event reconstruction."
CERN-HSF,Aleksandr Efremov,Extend clad - The Automatic Differentiation,"CLAD is a Clang plugin that implements automatic differentiation. Automatic differentiation avoids usual disadvantages of symbolic and numerical differentiation, by transforming the source code of functions. The goal of the project is to extend CLAD by adding the functionality for computing gradient of functions of several variables in a
single function call."
CERN-HSF,Aman Pratap Singh,Large-scale computing backend for Jupyter notebooks - HTCondor batch job submission and monitoring using the Ganga toolkit,"Jupyter Notebook is an interactive computing environment that creates notebooks which contains computer code as well as rich text elements like equations, figures, plots, widgets and theory. Ganga is an open source iPython based interface tool to the computing grid which leverage the power of distributed computing grid and provide scientists an interface supported by a powerful backend where they can submit their computation intensive programs to Ganga as a batch job. HTCondor is a workload management system created by University of Wisconsin-Madison. It is based on High-Throughput Computing which effectively utilizes the computing power of idle computers on a network or on a computing grid and offload computing intensive tasks on the idle machines available on a network or computing grid. This project aims to create a plugin for Jupyter Notebook and also integrate it to SWAN Notebook service which is a cloud data analysis service developed and powered by CERN. This plugin will easily submit and monitor batch computation jobs to HTCondor using Ganga toolkit. The plugin will display status of ongoing job in Notebook itself and will also allow termination of ongoing jobs."
CERN-HSF,Antares,CPU Race for Particle Hunting,"Investigate the viability of xtensor, a multi-dimensional array package which aims to bring the API feeling of NumPy to C++, in the ACTS cross-experiment particle tracking package. Contribute any required functionality to xtensor and ACTS in the process, ideally also cutting constants in the handling of small matrices."
CERN-HSF,Anushree Rankawat,Generative Adversarial Networks for Particle Physics Applications,"Deep Learning Networks have proven to perform well for a wide range of problems, especially those requiring large labelled dataset to learn patterns. A new algorithm that has taken the Deep Learning research community by a storm is that of Generative Adversarial Networks (GANs) introduced by Ian Goodfellow in 2015. This algorithm has a lot of potential owing to the fact that it can generate data that is quite similar to the data given for learning in addition to faster generation of samples when compared to fully visible belief nets. It therefore makes GANs immensely useful in simulation of particle physics and astrophysical data.
Since ROOT is a data analysis tool extensively used for applications in particle physics and features a dedicated machine learning submodule, Toolkit for Multivariate Analysis (TMVA), it is essential to include a GAN implementation in the toolkit.
My project would focus on integrating an optimized GAN implementation in the TMVA DNN library with the help of already existing implementations of Deep Network Models. It would also involve enabling GPU Implementation of GANs using Nvidia’s CUDA library."
CERN-HSF,Arif Ahmed,Improvements in vectorization and parallelization of ROOT Math libraries,"This project deals with implementing parallelized variants of ROOT::TMath functions in VecCore as well as integrating SIMD backends such as VDT, libmvec and SVML into it. After the functions have been tested for correctness and performance, they can be integrated easily into ROOT because of VecCore's backend independent API. This would lead to higher throughput in data analysis and relieve excessive dependency on increase of processor clock frequency."
CERN-HSF,Ashwin Samudre,ROOT package manager,"ROOT is the data processing framework created at CERN - at the heart of the research on high-energy physics. Every day, thousands of physicists use ROOT applications to analyze their data or to perform simulations. The ROOT software framework is foundational for the HEP ecosystem, providing capabilities such as IO, a C++ interpreter, GUI, and math libraries. It uses object-oriented concepts and build-time modules to layer between components.
This project aims to provide additional functionality using a package manager over the minimal base install of core features. It involves defining ROOT modules, packages and package manager, mainly to scale the large codebase of the project. The current development involves creating a modular version of ROOT that provides a minimal base install of core features, then later adding functionality using the package manager. This requires introducing new layering mechanisms and extending the functionality of the existing ROOT package manager prototype."
CERN-HSF,Asket Agarwal,Rucio : Billion-row scalable and flexible metadata,Rucio produces large amounts of metadata for it’s files and datasets which is stored in a central Rucio server. However there is a fixed set of metadata attributes that can be stored currently. Rucio would like a generic metadata catalogue with no restriction on the kind of metadata stored for the files. The project is to to design and implement a generic and scalable metadata component that integrates with the core transactional model of Rucio.
CERN-HSF,Ayoub Chouak,Modular YAMPL,"Modular YAMPL
=============
The project fundamentally consists in developing a flexible plugin system that allows YAMPL to selectively load essential components at runtime. This makes YAMPL extremely modular and decoupled from the IPC backend modules, making it easy for anyone to add new backends or edit the existing ones without compromising the core YAMPL code.
In addition to the plugin system, the project proposes an overhaul and development of a python binding generation procedure which allows for continuous generation of the bindings whenever the core code is modified. The ultimate goal of the project is to make YAMPL more flexible, modular and extensible.
How is Modular YAMPL possible?
-------------------------------------------------------
- An ABI-agnostic plugin middleware handles the runtime dynamic loading of the plugins, the communication between the YAMPL core code and the plugin as well as the marshalling of data. This system is designed with simplicity in mind and aims to be as **solid** and **reliable** as possible.
- A specifically designed open-source library ([PyBind11](https://github.com/pybind/pybind11)) allows for seamless operability between C++11 and Python. This allows for an easy generation of the python bindings for all the core YAMPL primitives and data structures."
CERN-HSF,Benjamin Trybulski,Optimizing Numerical ODE Solvers by Vectorization Techniques,Geant4 is a software modeling toolkit for the simulation of passage of particles through matter. This project aims to optimize computationally intensive numerical integration tasks by taking advantage of parallel hardware and incorporating the VecCore SIMD vectorization library into its existing codebase.
CERN-HSF,David Tellenbach,Faster Matrix Algebra for ATLAS,"Eigen is a C++ template library for linear algebra that aims for high performance in combination of high reliablity and good compiler support. A lot of remarkable projects rely on it, including Google's Tensorflow. Another successful project using Eigen is the high-energy physics experiment ATLAS at the LHC.
At the LHC, millions of particles collide every second and each collision creates a huge amount of data that has to be classified and analyzed by software. Most algorithms in ATLAS software use symmetric matrices, i.e., matrices where the upper triangular part is equal to the lower triangular part. Unfortunalty Eigen currently misses support for symmetric matrices.
This Google Summer of Code 2018 project aims to implement a class for handling symmetric matrices in Eigen. The goal is to provide a working implementation that can be submitted as a patch for Eigen.
This project proposal contains implementaions ideas and plans, a detailed implementation timeline, consisting of 13 weekly tasks and some short biographical information about me."
CERN-HSF,Dima Savin,GDML I/O for VecGeom Geometry Package,"VecGeom is the new geometry library developed within the high-energy physics community, aiming to replace the legacy geometry navigation functionality provided by Geant4 and ROOT with optimized and vectorized algorithms. In this project we aim to develop I/O allowing to read geometry from application-independent formats such as the Geometry Description Markup Language (GDML). We propose Xerces-C as the backend to parse the files and concentrate on converting between the DOM tree and the VecGeom volume hierarchy."
CERN-HSF,Emmanouil Stergiadis,Convolutional Deep Neural Networks on GPUs for Particle Physics Applications,"The project's ultimate goal is to provide a GPU implementation for the existing Convolutional Neural Network package within `root/tmva`. During my preliminary work with the codebase, I discovered that the current package's public interface can be further improved. Since performing this change can significantly reduce the complexity of my main task, as well as any future extensions to the package, I plan to work on it during the first phase of the summer period. The first part of the present proposal goes through the necessary changes to achieve a clean API. The rest of the proposal iterates through the main modules that need to be ported into the GPU implementation. These are the different layer types that can be included in a convolutional neural network, as well as a number of generic helper functions. Attention is drawn on guaranteeing the deliverable's quality, both in terms of correctness and in terms of speed-up. This will be achieved through extensive testing and standardized benchmarking respectively."
CERN-HSF,Hanlin Tang,FALCON,Applying for the FALCON Optimize project
CERN-HSF,Harshit Prasad,Convolutional Deep Neural Networks on GPUs for Particle Physics Applications,"Toolkit for Multivariate Analysis (TMVA) is a machine learning toolkit for the ROOT scientific software framework used in many particle physics data analysis and applications. The CNNs and DNNs has been proven in the variety of applications like classification, tracking of particles etc. The aim of the project is to expand the current library of TMVA DNN and get the production ready GPU version of convolutional deep learning library along with support for GPU training.
GPUs are much more effective in terms of high performance when compared with CPUs. In this project, CUDA (Compute Unified Device Architecture) technology will be used for efficient implementation of CNN on GPU."
CERN-HSF,Jaydeep Nandi,DIANA-HEP: Analysis Functions:: Implementation and optimization of common particle physics analysis algorithms in a functional paradigm,"High Energy Particle physics experiments typically generate a large amount of data. To analyze them requires significant computing resources. This is however, limited and expensive to get. Thus, it is necessary to make optimum utilization of the resources to keep research fast and active. This requires an alternative approach to procedural programming, utilizing a vectorized, concurrent programming in a functional style, while maintaining a easy to use user interface for programming.
This Project aims to mitigate some of the issues, by building vectorized, fast primitives as well as several higher level functions, for fast prototyping, while maintaining speed. Furthermore, an experimental GPU offloading for concurrent processing of selected algorithms will also be implemented, and can be extended in he future. The library will be documented, and interfaces can be provided, to allow integration with other projects."
CERN-HSF,Mayank Modi,Open-Source Simulations for Gas Detector on Python,"Magboltz solves the Boltzmann transport equations with numerical integration in order to simulate the interactions of electrons in gas mixtures under the influence of electric and magnetic fields.
Degrad calculates the cluster size distribution and primary cluster distribution in gas mixtures for minimum ionizing particles and X-rays.
Both of these programs were originally made in Fortran, the code is available in the links bellow.
The goal of this project is to begin with a test python interface for Degrad and Magboltz, to design optimized python implementations of their processes, joint functionality, and can extend to new functionality related to the calculation as well as extensive reports of the results.
R&D of gaseous detectors requires simulations like those provided by Magboltz and Degrad."
CERN-HSF,Mikhail Ivchenko,Pure-Go XRootD client implementation,This project aims at implementing a pure-Go BSD-3 client library for XRootD using Go builtin features for concurrency and scalability.
CERN-HSF,Oshan Ivantha,Petabyte-Scale Cloud Storage File Manager,"CERNBox is a cloud storage synchronisation service for CERN users: it allows syncing and sharing files on all major mobile and desktop platforms (Linux, Windows, MacOSX, Android, iOS) aiming to provide offline availability to any data stored in the CERN EOS infrastructure. CERNBox is based on ownCloud, a cloud sync and share platform written in PHP following a Model-View-Controller architecture software pattern.
This project aims to provide a prototype of a new web UI for CERNBox that will provide an immersive user experience. To achieve this, a milestone of this project is to provide offline manipulation of the data from the browser. The use case is that when a user goes offline in his browser, he could continue to work on the document and perform actions like renaming and browsing his files. Once network is re-established, the application will reconcile the changes in the browser cache with the server, offering a non-disruptive work environment for the end-user."
CERN-HSF,Ravi Kiran Selvam,Additional Machine Learning Project Ideas and Areas of Interest,"The project aims to implement the **Optimization Modules** ( Momentum-based, Adam, RMSProp ) in Machine learning and expand the deep learning libraries to include **Long Short Term Memory Recurrent Neural Network ( LSTM ).**"
CERN-HSF,Saurav Sachidanand,CernVM-FS powered WebAssembly I/O,"The goal of this project is to build a JavaScript client for the CernVM filesystem implemented as a pluggable backend library for the Emscripten compiler. This will allow C/C++ programs compiled using Emscripten to perform POSIX read-only I/O on files, directories, and symbolic links stored on remote CernVM-FS repositories. Core features of the client will include: fetching and decompressing file data chunks on-demand, verifying data integrity of downloaded content, parsing X.509 certificates and verifying RSA signatures on repository manifests, seamlessly accessing nested catalogs and chunked files, and persistently caching file data and metadata on cross-browser compatible local storage backends."
CERN-HSF,SiddharthaRao Kamalakara,Covolutional Deep Neural Networks on GPUs for Particle Physics Applications,"Deep Learning relies heavily on a large number of linear operations. Data parallelism is a consequence of this property of Deep Learning.GPUs are very fast at computing these linear operations. Therefore, significant speedup can be achieved if this computation is delegated to the GPU. This project aims to provide GPU support for training CNNs on the DNN module of the TMVA library."
CERN-HSF,Somesh Singh,Optimize and Integrate Standalone Tracking Library (SixTrackLib),"The project targets optimizing the data structures and source code of a stan-
dalone tracking library, SixTrackLib, written in C. The aim is to restructure the code such
that it enables auto vectorization in GCC and CLang for CPU. In addition, the code should
also be amenable to execution on the GPU, having low register pressure. The idea is to keep
the code structure relatively simple and maximize the shared code between CPU and GPU.
The optimized SixTrackLib module will be integrated into the legacy SixTrack code."
CERN-HSF,Tarang Mahapatra,Configuration of Lightweight Sites Components using Ansible,"Lightweight Sites is a project at CERN that enables the quick setup of new sites on the grid. Often, a lot of time is spent in setting up new sites with significant inputs from teams at CERN and at the organization operating the site. Lightweight Sites abstracts away and consolidates resources to aid the setup. To achieve this, a Lightweight Sites Specification document has been created that will allow the software configuration of the entire site through a central module. This would be the Level 1 configuration. In addition, other Lightweight Sites Components would be created according to specifications. One such component includes the repositories for containers of different compute elements (CE), batch systems, worker nodes (WN), etc. These containers are also configured and comprise the Level 2 configurations. In the past, YAIM, an in-house configuration tool has been used for Level 2 configurations. In this project, in addition to setting up Level 1 configuration, popular configuration tools like Ansible and Puppet would be used for Level 2 configuration, replacing YAIM. This migration would contribute to the project by making it easier to configure new Lightweight Sites."
CERN-HSF,Yash Saboo,Browser Extension for Rucio,"Rucio is a data management system for modern large-scale scientific experiments. One important feature that is still missing, is the ability of downloading datasets with minimal effort. Datasets are logical collections of files and are a common way of structuring data in Rucio. Although it is already possible to download single files through the web interface, to download a dataset the user would need to manually download file after file. The need of authentication to the storage system using certificates further complicates the process and for a single file download the certificate has to be selected for each download separately. Thus, the solution is to create web browser extensions, which will handle the authentication and automatically download the selected files of a given dataset.
Thus, this project aims to develop a browser extension which will achieve following objectives - handle metalink files generated by the Rucio backend, handle authentication, automatically download the selected files of a given dataset and do automatic failover if multiple replicas are reported in the metalink."
CERN-HSF,Yash Srivastava,Monitoring and traceability of jobs using ElasticSearch - DIRAC,"The **DIRAC Interware** can handle hundreds of thousands of “jobs” daily. LHCb (the “beauty” experiment at the LHC) is DIRAC’s main user and developer. DIRAC’s jobs may have several parameters, and carry important information which should be kept, for users and administrators alike. The information gathered from the parameters is currently stored in a relational database system in a key-value pair format. **Traceability of the jobs becomes difficult** as it becomes very hard to perform queries on such database.
Hence, I would like to **extend the current job monitoring system, currently based upon relational databases, by using non-relational database (NoSQL), which is ElasticSearch**, a state of the art solution on which queries become easier on a large number of jobs.
Also, the current DIRAC development is in python2, hence I would like to make my **code 2to3 tool complaint**, so that my submissions can be easily ported to python3 using this tool."
CERN-HSF,mayurdb,Spark3D: Extend Apache Spark to support 3D Spatial Datasets,"A large amount of 3D data is generated in High Energy Physics & Astrophysics experiments. To process this data efficiently, one would need state-of-the-art tools. Already a lot of development has been done in processing 2D data with projects like spatial Hadoop and GeoSpark but, there are very few frameworks to process the 3D data. The idea is to follow the footsteps of GeoSpark and provide a way to load, process and analyse 3D data sets economically and efficiently by leveraging the distributed computation functionality of the spark. Spark3D would provide the set of out-of-the-box 3D Spatial RDD (3D SRDD) to partition the across machines.
Ultimately, spark3D should be available as an open-source library which works with all the recent versions of the spark (2.0+), has user friendly APIs (in Scala, Java and Python), works on top of all major platforms out of the box (HDFS, S3, Cassandra, etc.) and supports all major file formats (FITS, CSV, Parquet, JSON, Avro, etc.)
Spark3D: Extend Apache Spark to support 3D Spatial Datasets"
CERN-HSF,shravan97,Distributed Big Data Analysis with TDataFrame,"The main objective of this project is to make it easier for researchers/developers to submit distributed jobs for analyzing datasets using *[TDataFrame](https://root.cern.ch/doc/master/classROOT_1_1Experimental_1_1TDataFrame.html)* in [ROOT](https://root.cern.ch/) library and a Distributed Computing framework like [Apache Spark](https://spark.apache.org). This project proposes a Python library with tidy abstractions to perform distributed analysis as well as to select appropriate distributed environments [like [Apache Spark](https://spark.apache.org)].
Also, Jupyter notebook has become quite popular these days to carry out numerical/graphical analysis tasks. Hence, a new [Jupyter extension](http://jupyter-notebook.readthedocs.io/en/stable/examples/Notebook/Distributing%20Jupyter%20Extensions%20as%20Python%20Packages.html) would also be implemented as a part of this project. The extension gives users a graphical interface to select various parameters for launching a Distributed job. This extension also allows users to select cells for constructing analysis functions for datasets."
CERN-HSF,tmplt,Improve multi-threading support for CERN’s Allpix-Squared project using dependency graphs,"Allpix-Squared is a free and open-source simulation framework for silicon tracker and vertex detectors written in modern C++. Its goal is to facilitate in-depth studies of silicon-based particle and radiation detectors widely used in high-energy physics. During simulation, Allpix-Squared run events that contains a series of modules that operate on input data — usually in the form of a previous module’s output data. These events aim to mirror the behavior of a particle interacting with a specific detector hardware. Some modules are independent of others, so they can be run in parallel; this is the current state of the multithreading used in the framework, but it does not make good use of available CPU cores. The aim of this proposal is thus to run full events in parallel instead, greatly enhancing CPU core utilization. This however requires some internal restructure and presents new problems not shared with the current approach, such as the issue of event execution order. I aim to solve this issue with dependency graphs. When done, the new multithreading approach should allow better execution time, independent on core count and simulation parameters."
CGAL Project,Apurva Bhatt,Develop a demo to demonstrate the use of Boolean operations and Minkowski sum,CGAL works on computational geometry. It has 3 packages named '2D Regularized Boolean Set Operations' and '2D Minkowski Sum'. My task is to build a demo to demonstrate all the operations of all three packages
CGAL Project,Christina Vaz,Fast and Flexible Distance Transforms in CGAL,"A wide variety of problems in scientific computing and data analysis need to compute accurate shortest paths and distances along curved domains (e.g., curved surfaces representing the boundary of three-dimensional objects). The Computational Geometry Algorithms Library (CGAL) is a broadly-used open source framework for a wide variety of problems in geometric data analysis, but currently does not incorporate state-of-the-art methods for distance transforms. The goal of this project is to implement and integrate such methods into CGAL, specifically using methods as described in the paper ""The Heat Method for Distance Computation"" by Crane et al."
CGAL Project,Keyu Chen,Extending Generalized Barycentric Coordinates,"This project aims at providing another two powerful generalized barycentric coordinates Harmonic coordinates and Maximum Entropy coordinates that possess a lot of important properties and can be used on a variety of general polygons. Moreover, this project will contribute some changes to the API and a tutorial program, in order to make the package more convenient and easy to understand for the final user."
CGAL Project,Liubomyr Piadyk,Approximate Convex Decomposition of Volumes Bounded by Triangle Meshes,"The considered algorithm in this project is about 3D mesh approximate convex decomposition, proposed by Khaled Mamou and Faouzi Ghorbel. It’s an efficient approach to decompose a concave 3D mesh into a set of nearly convex surfaces and is useful for skeleton extraction, patterns recognition applications and particularly for the increase of collision detection accuracy without significantly affecting its performance."
CGAL Project,Parijit Kedia,Enhancing the 2D Arrangement Demo (1),There are two parts to this project. The first is to add documentation to the already existing demo so that it is easily understandable and also to fix any bugs that may pop up. The second thing is to enhance support to the algebraic and bezier curves along with their documentation.
CGAL Project,Thien Hoang,Generalized Shape Detection,"The goal of the project is to expand the availability of the RANSAC algorithm and the Region Growing algorithm to the 2D space and add more flexibility for the Region Growing module in terms of input. Delivered with the project is necessary documents for users, maintainers, and testers. The proposal discusses the requirements of the project, anticipated constraints, and the development schedule. Also included with the proposal is personal information regarding my academic background and my commitment with CGAL."
CGAL Project,Tong ZHAO,Spectral Surface Reconstruction,"This project aims to build a package for reconstruction watertight surfaces from un-oriented point sets. The first step is to estimate un-oriented normals to the inferred surface by combining Voronoi diagram and Principal Component Analysis. It results in a tensor field which encodes both the normal direction and the confidence in the approxiamtion. The second step is to estimate a implicit function such that its gradient is best aligned with the principal axes of the tensor field encoding the normal directions. This estimation could be viewed as a generalized eigenvalue problem, which can be solved by the power iteration."
CGAL Project,Vasudha Varadarajan,Smooth Surface Reconstruction,"The current implementation of Poisson Surface Reconstruction algorithm in CGAL constructs a continuous, piecewise linear implicit function, i.e. it is only C0-continuous.
My work during this summer would primarily have two objectives: to implement a C1-continuous implicit function to yield smooth surfaces, and to generate smooth curves as boundaries, using graph cut optimization and local mesh refinement."
CHAOSS: Community Health Analytics Open Source Software,Keanu Nichols,Reporting of CHAOSS Metrics,Writing Python code to query GrimoireLab Elastisearch databases and obtain from it the metrics relevant for the report. Possible technologies to achieve this aim include Python Pandas.
CHAOSS: Community Health Analytics Open Source Software,Pranjal Aswani,Reporting of CHAOSS Metrics: Extending the capabilities of the Manuscripts Project,"The Manuscripts project, which is a part of the Grimoire Toolset, helps us in analysing repositories and projects by creating a report based on predefined Metrics which give an overview of the project. However, it still lacks the analysis which can be created using the 4 Complex Metrics defined by the CHAOSS Metrics Committee.
The aim of this project is to extend the capabilities of the Manuscripts project so that it covers almost all the Metrics that can be calculated using the different data sources. At the end of this project, we will have a bigger and better reporting system."
"CLiPS, University of Antwerp",Alexander Rossa,Sentiment Analysis of Political Tweets using Multi-label Classification,"This project aims to gather a dataset of political tweets annotated with both the polarity of the sentiment (negative rational, neutral, positive emotional..) and the sentiment itself (sarcasm, anger, surprise..) and use this dataset for training machine learning models able to accurately classify new political tweets across these categories. The multi-label output of the classifier would be specifying both the polarity and the sentiment of given tweet. A number of models will be tried and tested, including LSTM RNNs or Gradient Boosting Machines."
"CLiPS, University of Antwerp",Maja Gwozdz-1,Sentiment analysis of figurative language in political tweets,"I aim to develop a sentiment analysis sub-tool for classifying the polarity of political tweets containing figurative language (most likely idioms and fossilised metaphors). From a linguistic perspective, figurative language is hugely prevalent in tweets: it is concise, catchy, and gets the point across. From a computational perspective: idioms and metaphors and notoriously difficult to classify due to their heterogeneous nature. However, careful annotation and methods like the MWE tokenizer (NLTK) can successfully tackle this challenge."
"CLiPS, University of Antwerp",Maksim Filin,Pattern 3 Natural Language processing,The idea of the project is to improve the Pattern framework and complete some useful tasks. It's important also to add new functionality and modern modules in Pattern 3 version.
"CLiPS, University of Antwerp",Rudresh Panchal,Multi Pronged Approach to Text Anonymization,"In this project, I seek to adopt various approaches like NER based identifier tagging, TF-IDF score based quasi-identifier tagging, Word-Vector based obfuscation/generalization of entities etc.
This system will be tied on top of a Django REST server which will allow people to get their text anonymized in a secure manner online."
Canadian Centre for Computational Genomics,Alan Williams,Providing Public Accessibility for SegAnnDB,This project will expand the public accessibility of SegAnnDB as well as work on providing integrations with the UCSC Genome Browser and Galaxy.
Canadian Centre for Computational Genomics,Arjun Karuvally,Population genetics simulation and modeling using reinforcement learning,"The problem of population genetics can be viewed as a stochastic process. The idea is to do variational inference on this distribution using reinforcement learning. In order to understand the feasibility of using reinforcement learning to the problem, agents are tested against stochastic processes that resemble population genetics. Practical evidence is validated to provide a sanity check on the feasibility of deployment of such a method in practice in large-scale problems of population genetics. The next step would be to analyze how these methods actually performed in the population genetics problem and gain insight into the stochastic process that generates the distribution."
Canadian Centre for Computational Genomics,Ruijian An,Efficient frequency spectrum computation over large sample sizes,"The goal of the summer project is to revise the current implementation so that it can compute large frequency spectra efficiently. As a result, various inference can be carried on huge sample sizes at a reasonable computation cost. The idea is to track a small subset of entries in the full frequency spectrum and interpolate to recover the full AFS to proceed with integration for larger sample sizes. The key problem is how to recover the frequency spectrum accurately, so several experiments would be carried out to tune parameters and implementations. Also, a framework is expected to be developed for balancing the trade off between computational complexity and data recovery accuracy, that is, deciding which kind of data should be computed with approximation and which should be computed directly."
Catrobat,Gajendra Tanwar,Google blockly integration to catrobat project,"Google Blockly is a library for building visual programming editors.It is increasingly being used as a platform for visual programming languages such as Scratch 3.0, AppInventor, and code.org.
Current Situation: Catrobat bricks used in scripts that are manipulated in the IDE part of Catroid and Catroweb, all use our own visualizer.
Proposal:
We want to use the Scratch variant of Blockly to display Catrobat scripts and bricks in a webview.we will follow a two-step implementation process with fixed primary goals in each step.
1: The passive script preview on the sharing platform of Catrobat (Catroweb) will use Blockly instead of the current code base. One important issue that needs to be addressed is to use the correctly translated strings (localization, including for right to left languages such as Arabic).
2: This visualization of bricks shall also be used in a review in Catroid as an alternative way to display scripts and blocks, on an infinite virtual plane. it will be possible to switch back and forth between the read-only Blockly view and our current view of the scripts.
Extended goal: ability to keep the important Blockly code for repeatedly indefinitely use in the future."
Catrobat,Poppy,iOS: Device Sensors and Code Refactoring,"Device sensors have different ways of functioning, depending on the operating system. This being stated, I will improve the existent code by calculating the values at which the sensors should be initialised and their range area. In order to do this, I will test a multitude of possibilities and check the results, until I find the most suitable one in order to make the projects behave in the same way both on Android and iOS. I will use iOS native sensors, understand how they work and get the most of their functionality in order to improve the existing code.
Additionally, I would create a framework for the sensors used in iPhones and add some general functions to help me throughout the development of the project, but also to help other developers work with sensors better. This will allow me to modularise the code and improve its readability. In the end, I would refactor the code to make it as readable and organised as possible, so it can become easy to be maintained by other contributors in the future. Also, for every progress I make throughout the project, I will create some mock examples to test its functionality and discover new ways to improve it, such as edge cases."
Catrobat,Thomas Hirsch,"Refactoring - Testable code, simplify existing unit tests, enhance test coverage","Theres about 1100+ occurences of “.getInstance()” methods accessing singletons from all over the project. (eg. ProjectManager, StorageHandling, Backpack, SensorManager, etc.) Most of those “God Objects” sometimes exceeding 2000+ LOC, and having way too many responsibilities and functionality, therefore pose a major problem for testing. Lots of business logic is currently untested, or tested via UI since so many of those nearly unmockable God Objects are used there. To remedy this, those classes should be broken up into smaller classes with a clearly defined responsibilities, as well as their usages reevaluated and refactored as well. Existing unit tests are to be refactored and new tests of formerly hard to test parts are to be written.
A good example is the Formula object in catrobat, since it is pure business logic, but currently calls a number of singletons and needs a context which can be refactored quite easily and have unit tests put in place."
Catrobat,Thomas S,Integrate Pocket Paint into Pocket Code,"During the Google Summer of Code I would like to integrate Pocket Paint into Pocket code.
There is quite some refactoring overhead before this can be done, as Pocket Paint currently makes use of antipatterns (e.g. Singletons) and global static variables that will become a problem when merged with Pocket Code.
Some features are identical in both applications (language chooser) which can be dropped and reused ."
Catrobat,Thomas Schranz,Introduce Architecture and Separate Components,"An open source software project should allow everyone to participate. Inherently this can cause the project to grow over the boundaries of its initial scope rapidly. In Pocket Code this has caused the components to grow into each other, which in turn has made it difficult to maintain a stable and adaptable architecture. I would like to rewrite the existing code into a clearly structured and clearly separated architecture with focus on the distinction between UI representation and functionality."
Center for Research In Open Source Software (CROSS) at UC Santa Cruz,Javier Ron,ZLog entry caching & benchmarking,Introduce a caching module in the current ZLog architecture and use a benchmarking tool to empirically test its performance.
Center for Research In Open Source Software (CROSS) at UC Santa Cruz,ankan17,Archiving with Popper CLI,"The project involves the implementation of a popper sub-command `archive` to create an online archive (snapshot) of the repository at any point of time and optionally generate a Digital Object Identifier (DOI). Zenodo, Figshare, Open Science Framework (OSF) and Dataverse all provide public APIs which can be used to create online archives on these services and get a DOI."
Checker Framework,Dilraj Singh,"Annotate Guava library for Nullness, Index and Lock Checker type systems","This project aims at annotating Guava-library for Nullness, Index and Lock checker type systems. Guava comprises of libraries like collection types, immutable collections, and core libraries for concurrency, I/O, hashing, primitives, reflection etc. apart from common libraries for Java. Such a diverse collection of libraries make Guava an important case study for type systems. Hence, apart from the basic requirement of preparing Guava library for type checking against null pointer errors, I’ll be extending process of annotating to other type-systems as well, namely, Index Checker and Lock Checker."
Checker Framework,Kanksha,Lock Ordering Extension,"There are two basic approaches towards handling deadlocks - ensure it never reaches that state or allow it to reach that state and recover from it. To recover from a deadlock, you'd have to abort all processes, rollback to a checkpoint and start over, or abort some of the deadlocked processes, or preempt resources and let the process continue.
My project is based on preventing deadlocks and enabling lock ordering to do the same so that deadlock recovery is never necessary."
Checker Framework,Nhat Dinh,Index Checker case study on Google Guava library- Improving error messages.,"The proposal is an intensive case study on Google Guava library using the unofficially released Index Checker. It also contains sub-tasks such as improving error messages issued by Index Checker, proposed addition of code usage examples for current features in JavaDoc."
Checker Framework,Ravi Roshan,Enabling the Checker Framework to handle JDK 9,"This project is about enabling the checker framework to handle JDK9. As of now, the checker framework runs only on JDK 8. Since JDK 9 has already been released and JDK 10 is around the corner, the checker framework needs to be handling them. Many project owners are not able to use the power of such a powerful framework owing to the compatibility issues. This project attempts to make the checker framework compatible with JDK 9. Moreover, it also attempts to create a log file of the changes made to the framework, which can then be implemented as an instruction set for the people who want to annotate the JDK or make the framework compatible with the future releases of Java."
Checker Framework,Sagar Tewari,Signature strings handling by ASM library,"The goal of this project will be to do an extensive case study on the ASM library and either verify that it handles signature strings correctly, or to find bugs in it."
CiviCRM LLC,Abhansh Giri,Making Transactional email templates Dynamic,"Making the existing templates from simple text/html files to dynamic email templates created in MJML. Dividing email templates into various sections like header, footer , mail content and making them dynamic and easily editable by end user according to their preference. Also changing all the existing templates to MJML and making some redefined templates for the end user to user and customize."
CiviCRM LLC,Alexander Sludds,CiviCRM Extensions for Political Campaigns,"CiviCRM is a great CRM for the needs of many non-profits, such as the NLG. A friend of mine suggested that CiviCRM has many features that campaign staff would use for political campaigns. He suggested two things that CiviCRM lacks that keep it from being competitive with other CRMs like NGPVan or NationBuilder:
* the ability to ""cut turf"" (i.e., select groups of contacts on a map to be assigned to a canvasser)
* integration with a mobile canvassing app to allow canvassers to add information to CiviCRM contact fields.
This summer, I would like to work towards both of these goals. I think that the first goal --- making a ""turf cutting"" extension for CiviCRM using Leaflet --- is a good baseline goal for the summer. I have a prototype that communicates with CiviCRM using the REST APIs, so it's in reach.
The second goal --- integration with a mobile canvassing app --- is a stretch, but worth working towards too. I've been rewriting the open-source canvassing app, Field The Bern, to be independent of Bernie infrastructure, and think it's a great candidate for CiviCRM integration. If time permits, I'd like to work on a CiviCRM extension to integrate with phones running Field the Bern."
CiviCRM LLC,Andy Gu,Open Supporter Data Integration for CiviCRM,"The Open Supporter Data Interface is a set of API standards which aims to define a common interface for interoperability between progressive and nonprofit organizations. Currently, there is no reliable CiviCRM extension that allows organizations to implement the OSDI API across the platform. This project will create an extension that allows organizations to easily import data from external endpoints which are compliant with the OSDI API.
Organizations would be able to supply an endpoint URL and an APIKEY through this extension when importing contacts, people, events, allowing them to quickly pass data between heterogeneous sources. Additionally, this project consists of an OSDI library that empowers developers to easily access OSDI-compliant datasource and read existing database data in OSDI-compliant JSON format.
CiviCRM has multiple import functions in extensions and core functions that allow users to import csvs of volunteers, people, events, contacts, etc. This project would also add options to import data through the provided extension."
CiviCRM LLC,Saurabh Batra,Machine Learning for Fraud Detection,"Detailed version: https://lab.civicrm.org/community-team/gsoc2018/issues/2
**Synopsis**
The project aims to build a new open-source fraud detection system for WMF. The 2 major steps involved are:
* experimenting with various anomaly detection techniques to figure out which one provides a required balance of precision (% of detected frauds which are actually fraudulent) and recall (% of all frauds detected);
* providing the technique as an independent web service to WMF (like ORES) which can entertain requests to ascertain the authenticity of transactions.
**Stretch Goals**
* The web service uses the feedback from its decisions (new correct detection/wrong detection corrected by a human) to train the underlying model, improving its accuracy in the future.
* Use something like LIME to provide a justification as to why our classifier chose to mark a transaction as fraud.
* CiviCRM extension to interface directly with the web service."
CiviCRM LLC,lbbef,Multi-Container Docker Application for CiviCRM,"Setting up CiviCRM require a lot of system administrator knowledge. This may deter users without the appropriate knowledge from setting up and using CiviCRM. This project aims to streamline the deployment process by creating a multi-container Docker application image to make it easier for users to setup and run CiviCRM on any server.
The secondary aim of the project will be to explore the use of tools such as packer.io to create other deployment options apart from Docker. This will require extensive research which will be done in the first few weeks of the project."
CiviCRM LLC,tiotsop,Virtual Machine Templates (Appliances/Boxes),"As with many open-source web applications, installing CiviCRM can be difficult – it requires installing/configuring a series of related services (Linux, MySQL, Apache, an email service, and a CMS). A popular solution to this problem is to distribute pre-built virtual machine templates (""appliances"" or ""boxes""). This is where Docker come to the rescue! It provides a uniform way of building and running containers for any required services, making sure that the application performs the same regardless of the target environment."
Classical Language Toolkit,Andrew Deloucas,The Road to CDLI’s Corpora Integration into CLTK: an Undertaking,"This project focuses on integrating Cuneiform Digital Library Initiative (CDLI) corpora into the Classical Language Toolkit (CLTK). Currently, CLTK houses several functions developed by Dr. Willis Monroe; the difficulty in utilizing these functions is due to the variables having to be presented in a reconstructed normalized form of Akkadian, which is not how tablets are either written traditionally or stored by CDLI. The goal of this project is to enable CLTK to reconstruct a normalized spelling out of CDLI’s ATF text and thus create data available for two fundamental uses: 1) allowance of individuals to learn and practice Akkadian with real and novel reading exercises; and 2) with further class development, be analyzed on a mass scale."
Classical Language Toolkit,Sedictious,Extending NLP functionality for Germanic Languages,"NLP is severely lacking in meaningful functionalities for Germanic languages. Normalization, POS tagging and stemming modules (all significant parts of modern NLP) seem to be absent from the core, rendering the use of the tool as part of significant research projects non-viable. The proposed progress aims to extend the current functionalities of the Germanic family."
Classical Language Toolkit,james.gawley,"Expanding the CLTK with Synonyms, Translations and Word Embeddings","The CLTK features the most sophisticated algorithm available for lemmatizing classical Latin. Lemmatization is the process by which inflected word-forms are grouped together under their dictionary headings. This allows us to gather accurate word-usage statistics, analyze authorship, and model subject matter in classical corpora. However the CLTK lemmatizer is not currently able to identify synonyms for a given word, or suggest translations into other languages.
I propose to modify the existing CLTK lemmatizer to look up synonyms and translations for Latin and Greek. I will adapt CLTK’s unique ‘backoff’ approach to lemmatization in order to measure the probability of each possible synonym and/or translation for a target word given its context. Further, I propose to incorporate vector models for Latin and Greek based on word embeddings trained using the word2vec algorithm. Once synonyms, translations, and vector models are incorporated into CLTK, users will be able to perform cutting-edge tasks like sentence length document alignment. This will open new horizons for digitally assisted classical scholarship."
Cloud Native Computing Foundation (CNCF),Anirudh M,Extending Envoy's fuzzing coverage,"Envoy is getting fuzz testing support. The coverage is limited. This project focuses on extending the fuzz coverage including proto, data plane, H2 level frame fuzzing."
Cloud Native Computing Foundation (CNCF),Brian Oppenheim,Support for Volume Snapshots and Backup Policy,"This project aims to bring globally consistent Volume Snapshots and a selection of backup policies to Rook, a storage orchestration tool running on Kubernetes. Any user running Kubernetes with Rook should be able to create and manage snapshots of the cluster to be stored on a Rook storage backend. In case of any failure in the network or lost nodes, Rook should be able to retrieve valuable data and present it back to the user."
Cloud Native Computing Foundation (CNCF),Ganesh Vernekar,Composite Label Indices & Alerts rule testing,"Alerting is an important feature in monitoring when it comes to maintaining site reliability, and Prometheus is being used widely for this. Hence it becomes very important to be able to check the correctness of the alerting rules. Prometheus lacks any good and convenient way of visualising and testing the alert rules before it can be used.
There are many long standing issues and feature requests regarding the above, and many others, and my GSoC aims to solve some of them.
## Deliverables
#### From [cncf/soc](https://github.com/cncf/soc#prometheus)
* Persist “for” state for alerts [[1](https://github.com/prometheus/prometheus/issues/422)]
* Label Values Composite Index (TSDB) [[1](https://github.com/prometheus/tsdb/issues/26)]
* Unit testing for alerts in promtool [[1](https://github.com/prometheus/prometheus/issues/1695)]
* Features for building and testing alert expressions [[1](https://github.com/prometheus/prometheus/issues/1154)] [[2](https://github.com/prometheus/prometheus/issues/1220)]
#### Nice to have
* More features in TSDB CLI for easy debugging [[1](https://github.com/prometheus/tsdb/issues/107)]"
Cloud Native Computing Foundation (CNCF),Harsh_Agarwal,Building a testing & benchmarking environment for Prometheus,"My project aims to benchmark Prometheus & test Prometheus’s Kubernetes & Consul Service Discovery in an automated & real-time environment.
This will help in recognizing bugs before confirming new releases and will also confirm the robustness of new releases."
Cloud Native Computing Foundation (CNCF),Jiacheng Xu,Conditional Name Server Identifier - CoreDNS,"In distributed TensorFlow, identifying the nodes without domain name collision is a big challenge. CoreDNS supports DNS Name Server Identifier (NSID) which allow a DNS server to identify itself. So we can deploy CoreDNS for every node in the distributed TensorFlow cluster to solve this problem. There are two ways to achieve this goal. One way is to set up a distributed Key-Value store like zookeeper or etcd, and another way is to assign each node with an order based on the timestamp. My GSoc work aims to implement one of the approaches above."
Cloud Native Computing Foundation (CNCF),Jian Liu,Integrate Containerd with Katacontainers,"The project aims at creating a containerd-kata runtime plugin for containerd to integrate it with katacontainers. The integration enables containerd and its users (docker&kubernetes) to enjoy security and multi-tenancy brought by KataConainers as well as native Linux container experience brought by the existing containerd runtime plugin `linux` .
Containerd is an industry-standard container runtime with an emphasis on simplicity, robustness and portability. It can manage the complete container lifecycle of its host system: image transfer and storage, container execution and supervision, low-level storage and network attachments, etc.
Kata Containers is an open source project and community working to build a standard implementation of lightweight Virtual Machines (VMs) that feel and perform like containers, but provide the workload isolation and security advantages of VMs."
Cloud Native Computing Foundation (CNCF),Marko Mudrinić,Storage API for Aggregated API Servers,"Kubernetes offers two ways to extend the core API, by using the CustomResourceDefinitons or by setting up an aggregated API server. This ensures users don’t need to modify the core API in order to add the features needed for their workflow, which later ensures the more stable and secure core API.
One missing part is how to efficiently store data used by aggregated API servers. This project implements a Storage API, with a main goal to share the cluster’s main etcd server with the Aggregated API Servers, allowing it to use cluster’s main etcd just like it would use it’s own etcd server."
Cloud Native Computing Foundation (CNCF),Rohan Gupta,Add Network File System (NFS) as a Rook storage backend,"Rook is an open source orchestrator for distributed storage systems running in kubernetes, currently in alpha state and has focused initially on orchestrating Ceph on top of Kubernetes. There is no option for Network File System (NFS) yet.
This project aims to add NFS as another storage backend."
CloudCV,Dhruv Batheja,Implementing python package and new features for EvalAI,This project will involve implementation of a python-package for enabling CLI submissions and participation in the first phase. The second phase will involve implementation of a REST API and implementing a couple of analytics dashboards for the project. The third and final phase of the project will involve implementation of webhooks which will be a big design upgrade for the system.
CloudCV,Ram Ramrakhya,Fabrik,"Fabrik is an online collaborative platform to build, visualize and train deep learning models via a simple drag-and-drop interface. It allows researchers to collaboratively develop and debug models using a web GUI that supports importing, editing and exporting networks written in widely popular frameworks like Caffe, Keras, and TensorFlow."
CloudCV,Vipin Singh,Improve Demo creation in Origami,Improve the Demo creation in Origami and Provide REST API for demo access.Adding analytic server for optimising demo performance and for getting deeper Insights on demo functionality.
CloudCV,fristonio,Improve Demo creation in Origami,"Cloud-CV is an open source cloud platform with the aim to make AI research reproducible. Origami (previously called CloudCV-fy your code) is an AI-as-a-service solution that allows researchers to easily convert their deep learning models into an online service that is widely accessible to everyone without the need to set up the infrastructure, resolve the dependencies, and build a web service around the deep learning model. I intend to work on the idea of improving Demo Creation in Origami which includes solving existing issues in demo creation, proposing and implementing some new features and reporting new issues that exist.
The current implementation of Demo Creation in Origami is not ideal and is still evolving, there are a lot of deadlocks where it struggles and is not very intuitive. Providing user a way to easily create and manage demos for their deep learning model is the primary goal of Origami which can be greatly improved. To enhance user experience some changes are needed in UI and in the feature list of Origami. Incorporating all these changes would be the primary goal of my GSoC project."
CloudCV,isht3,"Python Package, Amazon SQS and REST-ful services for EvalAI.","# 1. EvalAI Python Package.
Creating a python package for EvalAI which lets the participants to `import evalai` as a python package and then make submissions through their python script instead of logging in to the website and then doing it.
# 2. Submission Worker using SQS.
Currently, there are a lot of short-comings in the Submission worker like individual dependencies for Challenges which can be solved by switching to Amazon SQS.
# 3. Implementing RESTful web services.
Adding analytics, admin dashboard and API versioning to EvalAI.
# 4. Implement webhooks and data collection.
To retrieve the results of a challenge from some forked version of EvalAI to the main EvalAI server. Also, for adding integrations to external services using Slack, Gitter etc."
Computational Biology @ University of Nebraska-Lincoln,Ana Jeličić,Javascript/WebGL Library For Interactive Visualization Of Large-Scale Network Graphs: Expanded Features.,"In this project I will add some new options to the CCNetViz JavaScript library (e.g. adding hide/show for nodes/edges, adding the context menu on right click, adding the option for exporting a graph as an image etc.) and redesign/improve live examples. Some of the live examples have unfunctional options and the interface is ""broken"", so this will also be improved. I will also develop an online benchmark and (performance) testing framework, and everything that was added or redesigned will be thoroughly tested and documented."
Computational Biology @ University of Nebraska-Lincoln,Gaurav Grover,ccNetViz,"ccNetViz is a high-performance graph data visualization library that runs on WebGL (an in-browser library to run 3D graphics on GPU parallel processes). In my experience with the development of similar projects using Cytoscape.Js & Sigma.Js, I have felt that such libraries which run on sequential CPU processes have the shortcoming of performance to handle the high volume of complex biological data. With this project, we aim to solve this efficiency problem. My objective in this year’s GSoC would be to extend ccNetViz to improve efficiency and implement the support for better data formatting."
Computational Biology @ University of Nebraska-Lincoln,Rupav Jain,Candis: A Software Tool for Cancer Prediction And Biomarker Identification Using High-throughput Data,"Candis (portmanteau of Cancer and Discover) is an Open Source data mining suite (released under the GNU General Public License v3) for DNA microarrays that consists of a wide collection of tools, right from Data Extraction to Model Deployment. It has a RIA( Rich Internet application) and a CLI (command line interface) to carry out research. My main focus will be on enhancing RIA part of the project."
Computational Biology @ University of Nebraska-Lincoln,Tejasav Khattar,Interactive Web Platform for R based Data Analysis,"The goal of this project is to develop the final version of cross-platform web-based application that enables anyone to perform various statistical computations in an easy-to-use, interactive, and graphical manner"
Conversations.im,Paul Moritz Schaub,OpenPGP (OX) for Smack,This is my proposal to create an implementation of *OpenPGP for XMPP Instant Messaging* (OX) for the XMPP client library Smack.
Conversations.im,Rishi Raj,XMPP Compliance Tester,"Currently Compliance Tester is a command line tool to check compliance status of an XMPP server. Testing servers for compliance with XMPP extensions is a very cumbersome process in which a server admin or willing user has to download the jar, run it and make a PR to the repo with the results to add it in the overview page. Through this project, I intend to automate this process and turn this project to a web service, which will provide a interface for testing servers, periodically run tests on public servers and visualise current and historic compliance status of servers, implementation of XMPP extensions across servers. Custom badges will be generated for servers from the latest test results. Periodic reports will be generated from the test results and sent to subscribers. Moreover, the collected historical data can also be analysed to recommend appropriate Jabber servers for users."
Conversations.im,sdhand,Improving OMEMO support in dino: Blind trust before verification and encrypted groupchats,"Dino currently has limited support for the OMEMO end-to-end encryption protocol. It supports one-on-one chats, but lacks a system to manage trust and verify devices, and has no group-chat capabilities. I will build an interface for managing device trust, before moving on to implement OMEMO support for group-chats."
Cuneiform Digital Library Initiative,Bakhtiyar Syed,Building a Semantic Role Labeling system for the Sumerian language,"Semantic role labeling (SRL) is a task in Natural Language Processing which helps in detecting the semantic arguments of the predicate/s of a sentence, and then classifies them into various pre-defined semantic categories thus assigning a semantic role to the syntactic constituents. The proposed idea is to develop an end-to-end automatic distantly supervised semantic role labeling system for Sumerian, a Mesopotamian language spoken in the 3rd millennium B.C. The developed SRL system has many potential applications, viz. in the fields of document summarization, machine translation and also towards a better abstract semantic representation of the originally sparse textual data. We will evaluate our system on the existing parallel corpus available for English-Sumerian. The final system also involves the production of word embeddings for Sumerian which can be documented and used for improving other downstream tasks like POS tagging, dependency parsing, etc."
Cuneiform Digital Library Initiative,Sameer Sengar,Granular Temporal Data Management,"The Cuneiform Digital Library Initiative (CDLI) aims to gather, maintain and make available images, text, and metadata of all artifacts inscribed with the cuneiform script. This Project will result in improvement of the complexity of current data model by structuring the data to enable full utilization of relationship among them. Currently, data in the CDLI catalog is not in the standard date format. Also, it is burdensome to navigate across the search results. The main goal of this project is Framework Update"
DBpedia,Aman Mehta,A Neural QA Model for DBpedia,Extending Neural SPARQL Machines (NSpM) to cover more DBpedia classes to enable high quality Question Answering
DBpedia,Bharat Suri,Complex Embeddings for OOV Entities,"The aim of this project is to enhance the DBpedia Knowledge Base by enabling the model to learn from the corpus and generate embeddings for different entities, such as classes, instances and properties. While we do this, it is imperative that these embeddings are able to accommodate the semantic relatedness between entities. This means that we are not limiting ourselves with just the similarity between words, instead we take a step further ahead to also define the relatedness between the vectors and thus the relation between the entities and the text. Therefore, to incorporate this measure of the semantic distance, we define a measure of descriptiveness of the class that these entities belong to. Entities belonging to a class that has a very high level of description must have very low semantic distance in our model. Eventually, we extend the usability by predicting embeddings for out-of-vocabulary entities as well, and also extract relations between those entities using approaches that have been previously used for link prediction tasks in machine learning."
DBpedia,Hrishikesh Singh,Table of Content Extractor,"Wikipedia, being the world's largest encyclopedia, has an enormous amount of information present in the textual form. Each article is structured into hierarchy based heading format which is represented by a Table of contents(TOC).
The first objective of our project is the extraction of sections and subsections from Wikipedia articles preserving their order and labels, as TOC. The second objective is to represent the TOCs in an extensive manner by RDF dataset.
Statistical NLP techniques for information retrieval rely heavily on lexicon/words in an article rather than its categorization (contents in a TOC); by expressing TOC as RDF we will create a more powerful way of searching within and across articles. Standard metadata representation i.e. RDF implies less resource intensive task of partial reuse across applications.
This generated TOC RDF graph visualization can help in exploring multiple Wikipedia pages for hidden semantic links. It improves the horizontal scalability i.e. ease of updating, deletion, and the addition of new RDF triples."
DBpedia,Sachin Malepati,Fusing the List Extractor and the Table Extractor,"Wikipedia is a free online encyclopedia having humongous amount of information. Lots of information are stored in form of lists and tables. So, there is a need to extract these data and store them appropriately for developing a knowledge graph. As wikipedia pages can be edited by anyone, no proper structure is followed while editing/creating the pages. For extracting proper data from lists and tables, two separate projects were developed. One for extracting data which are present in the form of lists and another for extracting data present in form of tables. These projects have different work-flows and employ different methods for extracting the information. So, the main objective of this project is to develop a single project which can extract lists data and tables data from wikipedia articles. We need to combine both the projects to form a unified extractor."
DBpedia,Tarun S R,A Neural QA Model for DBpedia,"Traditionally a QA System over linked-open data performed 4 key tasks with a Natural Language Question. They are Named Entity Recognition,Named Entity Disambiguation,Relation Extraction and Linking and Query Building.The Query Builder tries to build the query using the entities and relations extracted and linked by the NED and REL Components.The Query generated was used to query the Knowledge Base to retrieve the answer. However, recent studies[“Why Reinvent the wheel-Let’s build Question Answering Systems together”] show that by using different components for different tasks, there is a significant drop in the global values of Precision and Recall on standard QALD and LCQuAD datasets.Efforts have been put up to try and generate the SPARQL query directly from the Natural Language Question by removing the intermediate steps of linking entities and relations.The paper “SPARQL as a foreign language” attempts to use an LSTM model to perform Machine Translation of NL queries to SPARQL. I aim to build on this work and extend the NSpM to cover more classes of DBpedia to enable high quality QA.This enables the users to make use of the huge data available using Natural Language effectively."
DBpedia,Víctor Fernández Rico,Web application to detect incorrect mappings across DBpedias in different languages,"The DBpedia mappings for each language are not aligned, causing inconsistencies in the quality of the RDF generated. This is often a consequence of the volunteers that create the mappings, because it is a manual process and can be biased by the mother tongue of the author.
In this proposal I present my work plan to create a Web Application and API to aid in detecting automatically these inaccurate mappings.
The backend API will be based on a combination of the previous work presented by M. Rico and N. Mihindukulasooriya and my own research proposal based on graph embeddings."
Debian Project,Alexandre Viau,Automatic Packages for Everything,"Many packaging tasks can be automated, and are likely to succeed without any human intervention:
- creating a backport for Debian stable from a packaging in Debian testing
- upgrading a package to a newer upstream version
- packaging a simple Perl, Python or Ruby using one of the tools listed on AutomaticPackagingTools
However, doing those tasks still require Debian packaging knowledge.
As a step towards Debian's world domination, it would be great if we could automate those tasks and provide ready-to-use Debian packages, so that users are left with a deb-based alternative when there are no packages for their needs in Debian itself, instead of using upstream packages or building from source. **The goal of this project is to experiment with the idea of a service that would distribute unofficial Debian packages for the above scenarios.**
Typically, that service would deal with:
- determining which packages should be generated
- generating those packages
- using several methods to detect problems (e.g. piuparts, autopkgtest tests)
- publishing them"
Debian Project,Arthur Del Esposte,Improving Distro Tracker to better support Debian teams,"This project aims at designing and implementing new features in Distro Tracker [http://tracker.debian.org/] to better support Debian teams to track the health of their packages and to prioritize their work efforts. For this purpose, I will migrate the most important team-related features from PET [https://pet.debian.net] to Distro Tracker, leveraging and improving Distro Tracker current code base regarding teams. Thus, as a final result of SoC, I expect to incorporate to Distro Tracker a set of useful data to help teams to see the health of multiple packages and better prioritize their efforts where it is most needed. It is worthing noticing that Distro Tracker is a general purpose service that is also used by Kali community [https://pkg.kali.org/]. Thus, they also will be able to take advantage of the proposed improvements."
Debian Project,Athos Ribeiro,Automatic builds with clang using OBS,"Debian package builds with clang are performed from time to time through massive rebuilds of the Debian archive on AWS. The results of these builds are published on clang.debian.net. This summer project aims to automate Debian archive clang rebuilds by substituting the current clang build service with the Open Build System (OBS). By the end of the summer, the clang links on the right corner of QA package pages will point to a new OBS clang CI, which will constantly provide up to date clang build results of the whole Debian archive."
Debian Project,Birger Schacht,Design and implementation of a Debian SSO solution,"The Debian project has an SSO solution that DDs (Debian Developers) and guests can authenticate against on different Debian websites. With the discontinuation of alioth.debian.org, the backend for the guest logins will be gone soon. The goal of this project will be to design and implement a new backend for guest accounts including a webinterface for (self)-management of those accounts and to integrate this backend with the existing debian SSO solution or to find a successor SSO solution that integrates both with the existing DD account backend and the new guest account backend."
Debian Project,Chandramouli Rajagopalan,Packaging and Updating Android SDK Tools,"Debian-derivatives are already a preferred platform for Android developers, and stretch already includes the core Android SDK tools, enough to build some apps. The Debian Android Tools team is working towards the goal of having the entire Android tool chain and SDK in Debian. That means Android apps can be developed using only free software from easy-to-use packages."
Debian Project,Deepanshu Gajbhiye,Virtual LTSP Server,"No computer lab teacher wants to boot up each and every machine in the lab. With my project, I will provide a solution to this problem. I will create scripts to automatically start up and control the virtual machine from which all the Thin clients can boot up without actually having Operating System installed in them. The project will also simplify the configuration and customization of the LTSP box.
I will also bring container technology this. By installing LTSP server in a docker container Deployment will be extremely fast and simple."
Debian Project,Diellza Shabani,Click To Dial Popup Window for the Linux Desktop,"Clicking a tel: link in an application such as Firefox can start a pop-up window with these elements in the GUI: the phone number to be called, a ""Call"" button that places a phone call, details about the country in which the phone number is registered and another button to save the number to an address book"
Debian Project,Doğukan ÇELİK,A calendar database of social events and conferences,This project aims to deliver open database for community which includes events across the world from many different sources.
Debian Project,Elena Gjevukaj,Wizard/GUI helping students/interns apply and get started,"Throughout the application process and first few weeks of programs like Google Summer of Code and Outreachy, applicants typically need to work through many things for the first time, such as creating their own domain name and blog, mail account with proper filters, creating SSH and PGP keys, linking these keys with a Github account, joining mailing lists, IRC and XMPP channels, searching for free software groups in their local area and installing useful development tools on their computer. Daniel Pocock's blog ""Want to be selected for GSoC?"" lists some of these steps with more details. This project involves creating a Python script with a GUI that helps applicants and interns complete as many of these steps as possible, in less than an hour. Imagine that a student has only just installed Debian, they install this script from a package using Synaptic and an hour later they have all their accounts, communications tools, development tools and a blog (using Jekyll/Git) up and running."
Debian Project,Enkelena Haxhija,Firefox and Thunderbird plugin for free software habits,"Plugin to help avoid non-free sites that poop-up on Firefox and/or Thunderbird by recommending free alternatives when non-free sites are recognized by appearing on browser or in emails. It will look nice, user-friendly and simple."
Debian Project,Georgios Pipilis,OwnMailbox Improvements,"Improve current functionality of the OwnMailbox personal email server, implement support for a GPG Key Server and HSTS. Furthermore, thoroughly document the whole process, ensure the stability of the code and gain valuable knowledge on linux, cryptography and scripting."
Debian Project,Harshit Joshi,Extracting data from PDF invoices and bills for financial accounting,"This project aims to develop a complete workflow for discovering bills (in a directory, mail folder or with a browser plugin to extract them from web pages), storing them (a document management system, folder or Git repository), extracting relevant data (bill data, currency and amount) and saving the data (in a format like cXML) in the same document management system. It may be necessary to create a GUI window to help the tool 'learn' how to read a PDF, remember the placement of different data fields in the PDF and automatically extract the same fields next time it sees a bill from the same vendor."
Debian Project,Jacob Adams,PGP Clean Room Live CD,Building a TUI application for the PGP Clean Room Live CD to walk a user through safely creating and storing a PGP key offline and managing said key for simple operations like revocation and keysigning.
Debian Project,Massiwayne Chikirou,Kanban Board for Debian Bug Tracker and CalDAV servers,"A desktop GUI application that can obtain task lists from various sources (Debian Bug Tracker's iCalendar feed and Github iCalendar, CalDAV servers like DAViCal and the Redmine REST API) and display a Kanban board, as used in Scrum/Agile."
Debian Project,Minkush Jain,Wizard/GUI helping students/interns apply and get started,It aims at developing a tools and packages which would simplify the process for new applicants in the open source community to get the required setup.
Debian Project,Raden Mu'az Mun'im,Debian-based Freedombox Docker Container with docker-scripts,"Develop a Docker container for Freedombox, integrate with docker-scripts framework"
Debian Project,Saif Abdul Cassim,GSoC 2018 Android SDK tools in debian,"finish packaging all of the core development tools (lint, SDK Manager, android update project utility, etc.)
update android-tools and relevant pkg-java packages to the latest upstream version
add Continuous Integration tests
update androidsdk-tools to the Android Tools Team style, and update to latest upstream version
package new parts of the Android upstream source, including the NDK, target platforms, emulators, Android Studio, etc.
make all Android Tools packages build reproducibly
improve package build systems to be more tightly integrated with upstream build systems
package and improve related tools, like apktool, androguard, fdroidserver, drozer, libscout, qark, OWASP Dependency Check, etc.
Update gradle to 4.x, which is a dependency by the Android Gradle Plugin"
Debian Project,Sanjay Prajapat,Click To Dial Popup Window for the Linux Desktop,"This proposal aims at creating a Qt based GUI application using python which will allows users to start a pop up window by clicking a tel: link in an application such as Firefox, Evolution , etc. The pop-up window will contain the phone number to be called and the country code in which the phone number is registered with country flag and few buttons. The application will have ability to place a call, add telephone number to the address book, search email and open email client, call with skype etc."
Debian Project,Sergio Alberti,Reverse Engineering Radiator Bluetooth Thermovalves,"Radiator valves have become increasingly important in recent years, especially in some countries where they have been made mandatory by law. This led to the production of various models programmable using a smartphone application coupled with the BLE (Bluetooth Low Energy) protocol. At the moment all the products on the market use proprietary communication protocols to exchange essential data with the application, making it difficult to integrate this devices into external open-source projects. For this reason the University of Milan has successfully reverse-engineered a protocol and released the necessary code to use it with a _GPL_ license.
This project aims to start from the released library, written in shell scripting, and **port it to a more modern language**. In particular, the result should lead to the creation of a **reverse-engineering guide** as general as possible, a well documented **Debian package** and try to integrate it in ""domotics"" projects such as _Openhab_ or _Home-assistant_."
Debian Project,Shreyansh Khajanchi,P2P Network Boot with BitTorrent,"In this project, we explore the solutions that allow P2P network booting of Linux based systems and then create an easy to use and distribution agnostic system of the said solution. We also aim to, at the very least, package the solution as a standard Debian package."
Debian Project,VishalGupta,Click To Dial Popup Window for the Linux Desktop,"An application (invoked as a MIME handler) with a GUI that can place a phone call, display details about the country in which the phone number is registered, save the number to an address book and hopefully trigger an intent on an Android phone that I could use to call.
I have also initiated work on the project here : https://salsa.debian.org/comfortablydumb-guest/Hello-from-the-Debian-side"
Debian Project,Yugesh Ajit Kothari,GUI app for EasyGnuPG,"In a world where data is always on the move, a lot of us pay very little respect to security and authentication. The extent of this awareness, especially in a country like India is alarmingly low. People have been slow to move out of their comfort zone and adapting to alien technologies is rarely something people want to consider. In this scenario, a GUI based software that provides an easy way to get people started with encrypting personal data, messages, is an important step - and I hope this project helps accomplish that.
As a shocking example - I recently travelled with a railway staff who was travelling roughly 900 miles just to deliver a letter from the Railway head office of India to a remote location office (on enquiry- ‘it could not go as a soft copy simply because it was confidential and required the “signature” of some senior officer as authentication’)."
Debian Project,darkLord,Android SDK Tools in Debian,The Debian Android Tools team is working towards the goal of having the entire Android toolchain and SDK in Debian. That means Android apps can be developed using only free software from easy-to-use packages.
Debian Project,diveshuttam,EasyGnuPG Improvements,"[EasyGnuPG](https://github.com/dashohoxha/egpg) (aka EGPG) is a shell script that wraps [GPG](https://www.gnupg.org/) and tries to make it more accessible and easy to use.
In order to simplify things, EGPG is opinionated about the ""right"" way of using GnuPG.
Following improvements are proposed in this proposal:
- Rewriting EasyGnuPG so that it is built with Python and [GPGME](https://gnupg.org/software/gpgme/index.html/)
- Rewrite will derive a Command Line interface similar to EGPG installable through python-setuptools (/pip).
- Rewrite will be done keeping in mind that it can be later packaged as a Debian package easily. Though packaging is not included as a part of this project due to time constraints."
Debian Project,realslimshanky,Wizard/GUI helping students/interns apply and get started,To develop & deliver a GUI based FOSS which can become the entry point for students/interns introducing them to necessary tools and services to contribute to Open Source. Content on the software will be structured with respect to increasing difficulty and will be gamified to make the process of learning more interactive.
Debian Project,samueloph,Port Kali Packages to Debian,"This project consists of porting Kali Packages to Debian, it is a work that the pkg-security team handles on Debian but there’s still lots of things to be made. The work will consists of cloning the Kali packaging’s git of the package (if any), fix all the issues needed to put the package on Debian, create a git repo on salsa under the pkg-sec team and send the package to the NEW queue."
Developers Italia,Costantino Carugno,Datastories,"Italian Team Digitale is building the first “operating system” of a country. One of the technologies that it has implemented is the Data & Analytics Framework (DAF) which consists in a huge stack (more than 6000!) of public datasets and tools to work with them. These datasets concern very important matters in organizing and providing good quality services
to citizens in diverse fields such as public health, education, transportation, finance etc. Unfortunately the data are not directly informative, they need to be organized, explored and analyzed; they have to be transformed in usable information that the public administration can use to improve its inner working and provide a better operational infrastructure.
In this paper I propose to carry on a series of data analysis in the form of “data stories”, a discussion about selected datasets and a description of the results obtained."
Developers Italia,Lorenzo Soligo,Refreshing DAF & easing developers’ life,"As the proposal says, “DAF [...] is not the most developer-friendly environment to set-up”.
As a young developer, I deem DAF’s complex structure makes hacking with it quite tough, thus I aim to make it easier to understand and use.
I want to improve the current situation by proposing a simple yet powerful pipeline, exploiting CI/CD solutions in a sensible way."
Digital Impact Alliance,Ankita Khurana,Ankita Khurana Proposal - The Humanitarian OpenStreetMap Team (HOT),"The Humanitarian OpenStreetMap Team (HOT) applies the principles of open source and open data sharing for humanitarian response and economic development. HOTs provides free, up-to-date maps are a critical resource when relief organizations are responding to disasters or political crises. This is a great initiative started back in 2010. I have chosen this project because of two major reasons, first being the organization itself and the motive behind the project which I found very interesting and important to work on, secondly the technology stack the project is using Javascript/NodeJS for APIs and React for the frontend."
Digital Impact Alliance,Fienny Angelina,Implement Machine Learning in Tasking Manager Workflow,"Humans are good at recognizing, sensing and grouping things. In this proposal, I am thinking of where to consider using Machine, not to replace communities, but to build a more efficient and resilient communities. Machine are helpful to look for human errors and inconsistency and speed up tracing by doing a first pass for human. The Humanitarian OpenStreetMap Team has projects called Tasking Manager which enables volunteers, also known as mappers, to map areas, especially buildings and roads. It is used to aid disaster response and address local development challenges. For one mapping task, it might require 1000 hours of human volunteer time to map the features, e.g buildings. It would be much more efficient to have machine learning detect and provide buildings suggestion and let the volunteer do the verification."
Digital Impact Alliance,Rodrigo Pontes,HOT: OpenMapKit Mapbox Vector Tiles Implementation and Polyline Editing,"OpenMapKit on Android currently utilizes MBTiles, a specification created by Mapbox for storing arbitrary tiled map data using SQLite, for its basemaps. This creates two problems: MBTiles add overhead, which decreases the app's performance; and MBTiles need to first be created and stored locally on the phone's external storage when preparing deployments if poor Internet connectivity is to be expected.
Furthermore, OpenMapKit on Android provides no means of editing map polylines, such as splitting them, through the app itself. This has to be done by adding a reference point in the app, then manually editing the back-end to split the road, to then add information about each new road, which is not only very inefficient but error prone.
As such, these two issues will be addressed throughout the GSoC period. The first issue will be fixed by allowing the app to read raw vector data (.osm files, which are XML based). To do so, the new Mapbox GL SDK will be used, since it uses Mapbox Vector Tiles instead of MBTiles. The second issue will be fixed by automating the editing process that is now done manually, providing the appropriate functionality in the app to do so."
Digital Impact Alliance,Surya Saini,Team management module for MapCampaigner,"MapCampaigner is a field data collection organizing application. Organizers can define an area, define the features to collect, and recruit contributors. A missing component is an improved team management capabilities. This project would look to build out additional admin components for managing and engaging a team of contributors."
Drupal,Ankit Jain,Developing a “ Product Advertising API ” module for Drupal 8,"The “Product Advertising API” module provides an interface to easily integrate with affiliate APIs or product advertising APIs provided by different e-commerce platforms like Flipkart, Amazon, Ebay etc to fetch data easily from their database and import them into Drupal to monetize your website by advertising their products."
Drupal,Bhanu Prakash,Port Commerce Instamojo Module to D8,"The project is to port the commerce instamojo module and all its features from Drupal 7 to Drupal 8. This module allows the user to do payments instantly by creating a link. While porting its features the Form API is used to create various forms for collecting details of customers and payment requests. After this project Drupal 8 will have a working Commerce Instamojo module through Drupal Commerce and will have the facility to do instantaneous payments.Finally will have a module which can be downloaded through Administrative Interface, GitHub, and composer."
Drupal,Chiranjeeb Mahanta,Integration of Affiliate Api with Drupal 8,"The proposed Drupal module, for instance, is aimed primarily at making a conscientious use of the Affiliate Network and its shared advancements, specifically by acquiring the services of the Affiliate API, in this case, and integrating its mechanism with the Drupal 8 architecture. In layman terms, the finished module would pull in latest product specifications, reviews and additional data selected by the customer, and import them into their Drupal site as nodes, without the hassle of manually updating product feeds, which can then be used by a customer according to his/her requirements. This would be due to the fact that the data would be directly imported from reliable and prominent affiliate networks such as Amazon and Flipkart, to name a few, through the affiliate link facilitated by the API, thereby tracking the referral link to a particular e-commerce platform’s site through a cookie or pixel."
Drupal,Mohit Malik,Port Stock Api to Drupal 8,Stock API provides other modules with a facility to incorporate stock data in them. It receives market data from Google Finance to display live stock market prices from various market exchanges. This module needs to be ported to Drupal 8.
Earth Science Information Partners (ESIP),Aarif Shaikh,Create Environmental Science Libraries in Python using the Workflow Paradigm for HPC,"The objective of the proposal is twofold:-
Build a Python library based on the workflow paradigm which would facilitate stream watershed delineation which would provide the segmented catchment basins given a coordinate reference system by the end user.
Benchmark the performance of following such an approach and assess the suitability over traditional and prevalent HPC techniques"
Earth Science Information Partners (ESIP),Evandro Taquary,Recurrent Neural Networks applied in the time-series classification over a high resolution data,"The increasing number of sensors orbiting the earth is systematically producing larger volumes of data, with better spatiotemporal resolutions. To deal with that, better accurate machine learning approaches, such as Deep Learning (DL), are needed to transform raw data into applicable Information. Several DL architectures (e.g. CNN, semantic segmentation) rely only at spatial dimension to perform, for example, land-cover/land-use (LCLU) maps, disregarding the temporal dependencies between pixels observations over the time. Also, high-res remote sensing data (e.g. Planet, Sentinel) may provide more consistent time-series, that can be use in the identification of important LCLU classes, like crop, pastureland and grasslands.
This potential can be explored using Recurrent Neural Networks (RNN), a specific family of DL approaches which can take into account time dimension. A promising project idea would be implement a RNN approach (e.g. LSTM) to classify a Sentinel time-series that is able to produce a map for one or more LCLU classes and ship the final version of the model into the Pycoal library as part of the COAL project."
Elastic,Hanqing Zhao,Proposal-Draft: Calendar Visualization and Filtering,"The Kibana Visualize app now needs a new calendar visualization that is a specialized form of a heatmap, which provides single-day or multi-day events markings in varying colors based on different metrics. It should play well with the visualization editor, filtering, and Dashboard."
Elastic,Sohaib,Elasticsearch: Implement the Java High Level Rest Client,"Elasticsearch's [Java High Level REST Client](https://www.elastic.co/guide/en/elasticsearch/client/java-rest/master/java-rest-high.html) is [incomplete](https://github.com/elastic/elasticsearch/issues/27205). It is missing a few dozen APIs, some of which are fairly common to use. This project aims to add some of the remaining APIs."
Eta,Jitian Deng,High Performance Web Server with Fibers,"## High Performance Web Server with Fibers
The aim of this project is to re-implement Warp with Fibers to demonstrate the effectiveness of Fibers. To complete that, the following goals need to be reached:
1. Implement non-blocking I/O support for Fibers.
2. Recognize the parts of code related with I/O and threads, and rewrite them with Fibers
3. Write a benchmark for the performance of Warp.
4. Perform a detailed analysis and tune performance."
Eta,Mriganka B R Chowdhury,Purity and Nullability Analysis,"I propose to work on a tool that, given JVM bytecode, decides for each method, whether it performs an effectful computation (including IO, global variable mutation etc.), or it is referentially transparent, that is it yields the same result everytime it is called with same arguments. Such functions are called 'pure functions'. The tool is also supposed to provide information about whether the return type can be the special `null` value, requiring a `Maybe a` during Eta-interop. Automated analysis for such data can simplify the development process, by enabling an ffi-generator to generate bindings for Java , ideally without requiring any manual input from the developer. Since the project is mostly exploratory, the analysis is intended to be conservative, but never wrong, in the sense that it should not recommend a return type of `a` for a function that may return `null`, but may recommend `Maybe a` for a function that never returns `null`. But the aim is to, of course, minimize the number of such cases."
FFmpeg,Danil Iashchenko,GSoC Proposal for FFmpeg by Danil Iashchenko,"This proposal focuses on implementing OpenCL support for libavfilter, with other parts of the project (including scaling, color conversion and deinterlacer) being treated as optional improvements for FFmpeg."
FFmpeg,Gagandeep Singh-2,Cineform Decoder Improvements,"The GoPro Cineform codec is a cross-platform intermediate codec designed for editing high-resolution footage. It was original designed for compressed Digital Intermediate workflows for film or television applications using HD or higher resolution media. FFmpeg reverse engineered Cineform decoder currently supports progressive video files with image formats YUV 4:2:2 10-bit, RGB and RGBA 4:4:4 12-bit. This project aims to support more features present in cineform codec, namely Inverse Temporal Transform for p-frames, deinterlacing support, assembly instructions integration into the ffmpeg version, and making it faster by using threading models present in FFmpeg. The result of this project will be that Cineform decoder can be integrated with many tools that use FFmpeg libav."
FFmpeg,Hazem Ashmawy,FFmpeg 360° video filter,A full featured filter that converts between various 360-degree video projections and performs rotation and FOV extraction.
FFmpeg,Mina Sami,Color Constancy Filter,## Various implementations of color constancy filter using machine learning and low-level image statistics.
FFmpeg,Sergey Lavrushkin,Super Resolution Filter,"For the past two years several image and video super resolution methods have been proposed that are based on convolutional neural networks. This work will be more focused on the super resolution algorithms for video, but some algorithms for images will also be considered. All considered super resolution methods will be objectively evaluated and the algorithm with best performance/quality tradeoff will be implemented as a FFmpeg’ super resolution filter."
FFmpeg,klaxa,FFserver replacement,The goal of this project is to write a replacement for the now removed ffserver component. It should meet the criteria proposed for the work on ffserver while there was still discussion about it. The result should be a multi-protocol streaming server that only uses the public API.
FOSSASIA,Akshat Garg,Build an analytics tool for SUSI.AI,"Currently, there is no analytical/statistical dashboard, that analyses the conversations that take place on SUSI. The project aims to **develop an analytics tool for SUSI.AI** that would display various statistics/analytics based on standard metrics for conversations on SUSI.AI. It will be a **PWA**, built using **ReactJs**. The data will be fetched from the SUSI Server. The analysis will be done via **various data representation/visualisations** like histograms, bar-graphs, pie-charts, etc. Also, new APIs will be created onto the server’s codebase as per requirement."
FOSSASIA,Akshat Jain,Enhancement of Susi Web Client and Server,This proposal is aimed to enhance the functionalities and overall server side of Susi.
FOSSASIA,Anshuman Verma,SUSI Analytics,Analytics tool to showcase data received from SUSI server.
FOSSASIA,Anup Kumar Panwar,Building Analytical Tool for SUSI.AI,"· Analyzing user engagement.
· Sentimental Analysis on chats.
· Analyzing the correctness of SUSI replies (thumbs up / thumbs down).
· Integrating grafana for server analytics and Data visualization & Monitoring.
· Statistics of real time traffic."
FOSSASIA,Arundhati Gupta,SUSI.AI (Android client and server),Enhancements to SUSI.AI Android client and server
FOSSASIA,Avjeet Singh,Development Of Android App for PS LAB,This proposal is for development of PS Lab android application during the GSoC . The proposal mostly focuses on the implementation of the necessary non working modules and experiments along with improvement in UI / UX and proper testing of the app. It heeds to the stated requirement by the PS Lab organisation.
FOSSASIA,Ayush Gupta,Integrate app as microservice and implement the interaction and sharing features,"The aim is to enable multiple web-apps generations by implementing ** queue data structure** for the series of requests triggered by users from the open-event platform. This would prevent loss of requests from the user and enable the creation of event for every request and provide a web-service for direct generation of event sites from the orga-server(eventyay). In the present implementation, we have transformed websites generated through open-event-webapp to be **Progressive Web App(PWA)**, due to which service workers are already enabled. Therefore we can now move to further enhancement like push-notifications of bookmarked events by any user, also we need to improve the user interface for the **dark theme** enabled recently to project. The present testing suite requires some more tests for the functionalities like direct linking of tracks and rooms so the aim is to write **mocha unit tests** with selenium webdriver for the recently added features and the proposed ones. The travis build for the selenium tests run for around 20 minutes, which is quite large so the aim is to **parallelize the build** so that multiple builds can be performed at the same time and runtime can be decreased significantly."
FOSSASIA,Bhavesh Anand,Improve automatic import of events with enhancement of event analytics and addition of machine learning capabilities for Big data services and search in Open Event Server,"* Improve the feature of automatic import of events
* Implement a system for event analytics
* Implement machine learning capabilities for Big Data Services
* Implement machine learning capabilities for Search
Project Goals :
* Addition of automatic import of events listed on various other event management websites into Open Event so to make it as a one stop resource of events across the web.
* Implement the features for event analytics which allows the users to see how is the events distributed among various categories or event types in Open Event application. This may also include to analyse the interest of attendees towards every specific event type and event topic.
* Addition of machine learning capabilities to have big data services include in the Open Event API Server so to manage the data as our application scales.
* To implement machine learning techniques in events search to provide the user with more specific and interested events result set after searching.
* Writing tests for all the features improved and introduced."
FOSSASIA,Divyanshu N Singh,"Improve existing SUSI AI Bots, Create new ones and Create a system to manage all of them","Currently there are various SUSI bots built to enable SUSI on different clients. Current bots are on Facebook, Twitter, Line, Skype, Telegram, Viber, Cortana, Google Assistant, Slack, Kik, Google Hangouts and Gitter. Most of these bots are not deployed now. This proposal basically focuses on developing the already created bots into fully functional bot applications, deploying them on Google Cloud platform using kubernetes and addition of more bots for other services. Also, in addition to this I will create a system to properly manage all the bots."
FOSSASIA,Harsh Patel,Improve the Android Science App for PSLab,"This proposal is proposed with an intention to increase the UI of the PSLab app so that the targeted audience which are students and teachers working in the stream of science can be helped. Also, this project targets for the completion of this app fully so that all its functionalities can be provided at once to its user so that they don't have to use any extra device as a support for PSLab's device. In a nutshell, this project targets advancement of all the functionalities starting from very basic of changing icons and themes and ending on very difficult and advanced tasks of testing the app so that it becomes multi-platform and also making the sensors and experiments from very scratch."
FOSSASIA,Harshit Kedia,Improve and Create SUSI bots,"There are a number of SUSI AI bots. Many of them are in their basic version and are not having full features of SUSI. Some have outdated APIs and are therefore not working properly. They don’t meet the user requirements and therefore are not being used by people. Also, the process of installing these bots are generally difficult to find as well as to implement. Some bots are not having appealing interface and are having incorrect documentation. New features such as games, todo lists, reminders, and platform specific functions such as subscribing to a particular channel, can be added to the bots to make them more useful. This project aims at making significant improvements in SUSI AI bots such as susi_slackbot, susi_gitterbot, susi zulip bot, susi_telegrambot, and others too, and make them ready to use in production."
FOSSASIA,Harsimar Singh,Enhancements to Open-Event-Android App,"Open Event Android is a generic android app (output of the Open-Event-App generator). This mobile app can be installed on any Android device for browsing information about the event. Updates can be made automatically through API endpoint connections from an online source (e.g. server), which needs to be defined in the provided event zip with the JSON files.
I will work on shifting the codebase to Kotlin, migrating database to Room, Implementing different features supported by the API, adding ticketing support etc."
FOSSASIA,Jogendra Kumar,Enhancement to SUSI iOS Project,"SUSI AI is an intelligent Open Source personal assistant. SUSI AI Bots are built to enable users to chat with SUSI on different clients. Susi AI is able to answer questions and depending on the context will ask for additional information in order to perform the desired outcome. The SUSI iOS make use of the APIs to access information from the hosted server. The app also offers login functionalities to connect to other services and store personal data. Additionally, the application uses data provided by the user's phone to improve Susi answers.
* * *
The idea is to improve the SUSI iOS Application by :
* Enable login and connect via facebook, twitter, and google.
* Adding link preview in chat and open links in native webview.
* Adding universal linking for signup activation and forgot password link.
* Adding support for tables in Susi response.
* Implementing Dark Theme for the application.
* Implementing onboarding screens.
* Improving UI for Skill Listening and Skill Details page.
* Solving random crashes and left issues and improving documentation.
* Improving iPad support.
* Writing unit tests."
FOSSASIA,Manish Devgan,Developing Badgeyey into a complete Macro Service,"Developing Badgeyay into a complete Macro Service with UI enhancement, Badge Management System, QR-Code feature and a lot more"
FOSSASIA,Max Lorenz-1,Advanced teaching mode for SUSI,Teaching mode for SUSI AI with teaching by example and workflow teaching leveraging first order logic
FOSSASIA,Mohit,Mohit Kumar - SUSI.AI Proposal,"Enhancing the SUSI.AI android client and Improve the CMS and Editor skills for SUSI.AI.
SUSI currently has room for many improvements, many new skills can be added also existing skills can be enhanced and made better.
The login and signup page UI of the app is pretty average and can be made better.
The SUSI.AI skills activity in the app does not work properly and has a lot of bugs and its UI could also be modified significantly.
SUSI skills editing web framework has many problems such as the categories are not properly refactored."
FOSSASIA,PRAVEEN OJHA,"Enhance SUSPER Search with Improved Search Results, Search options,New Design & Internationalization Features.","The idea of the project is to improve the current SUSPER Search by:
1.Improving Search Results by changing back-end to YaCy Grid.
2.Implementing more Search options like News Search,Documents Search,Maps,Improving Current Advanced Search,switching from DBpedia to Wikidata for information box.
3.Improving the current design of SUSPER by showing images related to query in information box by using Wikidata API,Improving current Image Search,Implementing Weather Section,Introducing Dynamic Themes
4.Implementing Internationalisation Feature in SUSPER using Angular Translate(ngx-translate).
5.Suggesting and Implementing Ideas and Goals for SUSPER like Accounting/Authentication,Entity Recognition,Safe Search and filtering contents,Implementing some secondary tabs like Meaning,Products etc"
FOSSASIA,Parth Shandilya,Develop Badgeyay into complete Macro Service,To develop **Badgeyay** into a complete Macro-Service with services ranging from simple to complex functionalities.
FOSSASIA,Pradeep Gangwar,"Improve Experience of Ticketing and Subtickets, Develop a Venue Custom Map and Enhance Organizer Features","- Implement ticketing system for meetups.
- Improving sub ticketing experience, i.e. once they get their conference/meetup tickets they can sign up for specific - workshops.
- Enable the option to issue waiting tickets.
- Enable sending a custom email to speakers and attendees.
- Develop a venue custom map for reserved seating and integrate it into the ticketing process
- Social media integration to automatically post to an event/meetup start."
FOSSASIA,Praduman,"Enhance AAA System, Skills, and UI/UX of SUSI.AI","Enhance the AAA(Authentication, Authorization, Accounting) system of SUSI.AI by adding external accounts linking and processing data from these accounts to help SUSI give user specific results to some queries asked by users, enhance the UI/UX of susi webapp and adding new features and skills to improve the overall experience of SUSI users."
FOSSASIA,Priyanshu Khandelwal,Enhancements To Open Event Orga Application,"Open Event Orga Application is a client side application for Open Event API designed for Event Organizers. The app provides functionality to Create Events, Create Tickets, Check In Attendee, Scan QR Code, Sales Overview, User Authentication etc.
The app uses the Modern standard libraries for better performance but still there is scope for improvements. To further increase app's performance, user experience and expand its horizon, the following enhancements are proposed -
● Migration to MVVM Architecture.
● Background Job Scheduling for Offline Support.
● Feedback to User for Job Requests.
● Implement Sponsors, Speakers, Speaker Call, Tracks, Order, Sessions, Event Feedback feature set.
Best available and tested procedures will be used to implement the above enhancements such that there is no compromise with app's performance. Testing frameworks Mockito and Robolectric will be used for testing."
FOSSASIA,Ritika Motwani,Developing new features for the Open Event Frontend,"The New Frontend’s basic foundations have been laid in previous work during last summer of code and subsequent contributions thereafter, with CRUD functionality working for most of the APIs offered by the open event server.
JSON API spec compliance led to robust integration of the API end points on the client side. However, many bugs still remain, and various APIs have not been implemented yet, or there are other mismatches in actual and expected results."
FOSSASIA,Sanyog Ghosh,Open Event Android Project - GSOC 2018,Open Event Android app has been an open source initiative and it is an app which can be generated in the web itself and can be downloaded. My Google Summer of code project basically aims to achieve a personal messaging platform in the app where developers will get to meet each other. The project also aims to implement a feedback wall in the app where value suggestions and feedback will be present and available to all.
FOSSASIA,Saurabh Srivastava,Show loklak search results as auto-refreshing media wall and add support for Twitter-Api,Aim of this project is to use api/stream.json endpoint of loklak_server to continuously fetch new tweets and use them to show results as auto-refreshing media wall. Part of the project is also to implement accounts using firebase and add support for Twitter-Api for logged in users.
FOSSASIA,Saurav,Open Event Organizer App Enhancements,The goal of this project is to enhance the already working Open Event Orga App by implementing the various features supported by the API.
FOSSASIA,Sridhar Jajoo,Open-event-orga-app,"The open-event-orga-app is an app for organizers with the help of which any Event Organizer out there can create events and manage them. The app has a very well written code and follows the MVP architecture. The core features of the app include scanning in qr code , check in attendees and ticket management. The application is currently released in alpha phase on Google Play Store."
FOSSASIA,Tarun,The Meilix Road Block Project,The Meilix road block projects deals with resolving all the major road blocks of the Meilix Linux custom distribution to put it into a productive stage. One key unresolved issue is to migrate the distribution from a **32Bit to 64Bit **system and associated live boot kernels. While several people had tried to solve the road block issues no one in the project was able so far to dedicate the time to get it through.
FOSSASIA,Vaibhav Shrivastava,"Build upon Open Event Orga App, and make improvements to Open Event Android","This summer, I would like to put my best efforts in building upon the Open Event Organizer App and make improvements to Open Event Android app. This proposal expands on well-recognized issues such as completing the implementation of all endpoints from the API, refactoring from MVP to MVVM, the addition of push notifications and inclusion of Dagger components in tests. It also highlights some issues worth noting like: conversion from Java to Kotlin, tracking of audience's presence, adding support for tablets and smartwatches, up-gradation to integrate latest Google APIs like Android Instant apps and Actions on google. I propose formalizing design documents to improve efficiency and maintain focus. I would also love to work on improving the app's UI to make it look elegant while acting upon Material Design guidelines by Google."
FOSSASIA,Vaibhav Singh,Badgeyay into full featured suite,"This is a project is a simple badge generator that generates different badges for events like conferences, summit, meetups etc. As badges are an essential items for such events so this project serves to help these events."
FOSSASIA,Vikum Bandara,Improve the PSLab-Remote Platform,"The Pocket Science lab (PSLab) is the open source hardware device to use in day-to-day life by students, teachers or any other citizen to do science and research experiments using its built in oscilloscope, a waveform generator, a frequency counter, a programmable voltage, current source and as a data logger. The necessity of the device being used from an remote area or to simulate the functionality at a classroom without the physical device has arrived. Hence the PSLab-Remote platform.
* The remote platform should give out a real experience to the user and the project proposed here would consist of a good virtual environment to arrange components and capture data from the PSLab. This is an upgrade to the existing web PSLab-remote platform since it only has the functionality of communicating with the device using python scripting.
* A real world use case is to have a classroom virtual lab environment to test out the PSLab. Hence a the front-end web application will work as a web portal to connect teacher and student. Teacher can add tasks to be completed by the students. Later the sketches and results can be viewed by the teacher to measure the student learning outcomes."
FOSSASIA,Yash Ladha,Badgeyay as a complete service,"# Badgeyay
This is an online utility to generate badges for events like conference, talks etc. This project is an extension project to Eventyay project in fossasia. Currently, there are platforms that provide such service like [Conference Badge](https://www.conferencebadge.com/). There is no in house utility that comfortably links with the Open Event and Eventyay and provides the same services as the platform or more. The platform currently can do basic generation of badges but needs more features to become a better alternative to its competitors.
The proposed enhancements can be:
* Improvement in the API Endpoint, for better connection with parent projects.
* Implementation of Authentication using firebase
* QR Code generation for the badges and improvements in the CLI package to reformat the code structure
* Improvements in the frontend.
These and more changes will enable the project to become a standalone tool. Also improving the application as a _progressive web application_ will be one of the major tasks and it will enable the website to use the current web trends."
FOSSASIA,mayank8318,Improvements To FOSSASIA’s Open Event Android,"The Open Event Android Project contains two parts :
* Open Event APK Generator
* Generic Android App
Open Event APK Generator is a web app that consumes a zip containing JSON and binary files and generates a specialized android application using the provided config.
Generic Android App’s codebase is used to create the specialized application. Open Event app has the following key features:
* Uses Open Event Orga Server API to fetch required data
* Saves the acquired data in a local SQLite database
* Allows navigating through various aspects of the event, such as:
* Tracks
* Events
* Speakers
* Sponsors
* Locations
* Sessions
* FAQs, etc
I plan to work on the following tasks :
* Enhance App’s UI, making it more material and responsive
* Separate out most of the logic components of MainActivity into different classes
* Remove dependency from Event Bus Pattern
* Give the current notification system a makeover
* Add upcoming events as a separate fragment for ease of use.
* Improve front end of Android APK generator
* Complete the FAQ section with the proper search feature.
* Write View Model tests for the completed view models"
FOSSASIA,sansyrox,A Plug and Play adaptation,A Plug and Play adaptation for SUSI.AI to be made by using a raspberryPi hardware and elctronJS and reactJS frameworks .
FOSSASIA,sauravvishal8797,Enhancement to FOSSASIA’s Phimpme Android Application.,"Phimp.me is an Android photo application that aims to replace proprietary image applications. It offers features such as taking photos, adding filters, maintaining a favourite collection of photos, editing images and uploading them to different social networks. It was initially developed by FOSSASIA several years back and has been in the development phase since then. Last year, a beta version of this application was released on the Google Play Store. Though it has many user-friendly features, the room for further improvements is still there."
FOSSASIA,schedutron,"Adding and Improving System Features, Enhancing Organizer Ease-of-Use and Integrating with Social Media and Other Communication Tools","This proposal aims to improve ease of app use for organizers and addition of more system features as well as solid integration with social media and common communication tools like SMS and (optionally) phone. Specifically, the implementation of this proposal targets the following aspects:
- Adding more organizer features (few mentioned later in the proposal)
- Improving the mailing system
- Making the server app easier to use for organizers
- Integrating Open Event with social media
- Integrating with other communication tools like SMS
- Adding stress testing as well as system security testing"
FOSSology,Damen,Building a REST API for expressing license compliance,"Fossology is able to check license compliance by scanning on software packages or files, checking for relevant data. However, this output is not organized in a way that can facilitate digging out further information about the licenses. The goal of my project is to build a REST API for expressing license compliance such that further information can be derived from the scan output."
FOSSology,amanjain5221,New/ Improved License Scanner,"Software License compliance is very important for any business/ OSS(open source software) nowadays which creates a need for more accurate license scanning. So, the aim of the project is to develop a new/improved license text scanner using different approaches so that one can generate an SPDX file and other copyright files with accuracy and thus the process can be automated.”"
Fedora Project,ALGOGATOR,Fedora Happiness Packets,Happiness Packets encourages and makes it easier for people to send positive feedback to their peers (anonymously if they like). This project extends Happiness Packets by giving a Fedora Badge to anyone who sends a Happiness Packet to another contributor. To do this we need to add support for Fedora’s authentication system and a fedmsg hook.
Fedora Project,Abhishek Sharma,Improve Fedora Android App - UI/UX Research and Design,Revamp the interface design according to the community standards and craft a better user experience for the Fedora Community application.
Fedora Project,Amitosh Swain Mahapatra,Improve Fedora Android App - Backend,"Fedora has an android app which lets a user browse Fedora Magazine, Fedora Ask, Fedocal etc within it. This app is build using the Ionic Framework, Angular and Cordova. Essentially it is a cross-platform hybrid app.
In the current form, most of the functions rely on an in-app browser to render content. This project aims to improve the existing Fedora App for Android for speed, utility, and responsiveness, introduce a deeper native integration and make the app more personal for the user."
Fedora Project,Christian Glombek,Fedora IoT: Atomic Host Upgrade Daemon,"Fedora IoT effort is the latest of Fedora’s objectives. Its goal is to “create a Fedora Edition for Internet of Things, which will make Fedora the default for open source innovation on IoT hardware, middleware and backend platforms”.
Many IoT devices have special requirements for operation and automation. Among these is the requirement to not break upon operating system upgrades. As part of Fedora IoT, Peter Robinson ideated the Atomic Host Upgrade Daemon, which builds on the Atomic Project and rpm-ostree, a project also labeled “Git for Operating Systems”. This monitoring daemon will re-use the work done for Atomic Updates for IoT system, allowing for automatic checking for available upgrades, applying them, rebooting, checking the system status and, in case of errors, rolling back the changes."
Fedora Project,Radoslav Pitoňák,Complete support for OpenShift and Kubernetes as a backend in conu,Complete support for [OpenShift](https://github.com/openshift/origin) and [Kubernetes](https://github.com/kubernetes/kubernetes) as a backend in [conu](https://github.com/fedora-modularity/conu)
Free UK Genealogy,Saumya Shah,Proposal for Saumya Shah - Probate Parsing,"Free UK Genealogy will be launching a new project to expose genealogical information from wills and probate books. These books record the date and location of people's deaths, their occupations, and often the same information about the family members that executed the wills.
In previous projects, all this material was transcribed manually by volunteers, as the source documents were handwritten. The probate books are different, however, in that they are printed and thus are accessible to OCR. We should be able to use OCR text to seed a database by parsing the text for names, dates, occupations, and relationships. We should also be able to use OCR bounding box coordinates to associate regions of a scanned page with an entry for presentation to researchers or for correction by volunteers."
Free UK Genealogy,Sudaraka Jayathilaka,Citation Generator for FreeREG and FreeCEN,"In family history, records are kept in numerous formats. When we are referring to family history data, we have to show how we got those data. For an example, when we state about a marriage, we have to show how we got hold of that information. Most probably the marriage may be recorded in a handwritten register and later it was included into a book. When citing we have to include both the hand written register and the book. This leads the readers to the original source of information. But the citations used here are slightly different from the citations used in academia. The aim of this project is to add a interface where the users can easily generate those citations."
Free and Open Source Silicon Foundation,Ahmed Salman,Develop a Transaction-Level Verilog Component Library,"Transaction-Level Verilog (TL-Verilog) is an emerging language extension to System Verilog, Has the ability to define flexible reusable components.
For this project, will develop a library of compatible components such as FIFOs, queues, arbiters, elastic buffers, etc. that could form the basis of a new era of hardware design,And will demonstrate the ease of composing these components into sophisticated transaction flows and quickly implementing what are currently considered to be complex designs, such as a complete on-chip network!"
Free and Open Source Silicon Foundation,Noe Nieto,Enable DEVSIM to simulate solar cells,DEVSIM is a TCAD (Technology Computer Aided Design) semiconductor device simulation software. TCAD tools are special simulation software that can simulate the fabrication process of semiconductors as well as their operation. The objective of this work is to add the necessary improvements to DEVSIM so it can simulate solar cells.
Free and Open Source Silicon Foundation,Sandip Kumar Bhuyan,Improve the LibreCores.org in terms of discoverability,"LibreCores.org lists free and open source “IP Cores” on the website for the community to view and use. All listed projects are backed by a git repository. Currently, LibreCores.org websites extract the project README and LICENSE and render them on the project page, along with links to the project homepage and git repository.
A user browsing for cores on LibreCores will be interested search for a specific category of projects to determine which projects will come under which classification. A user may want to search for a project through a list of projects. The indexing of all the IP Cores and Improving the search experience in LibreCores in terms of discoverability. The IP Cores details will be classified and indexed for making search experience better and more efficient.
This project aims to add classification system for better categorization of a project and to implement a search engine for a better searching experience of projects on LibreCores.org."
Free and Open Source Silicon Foundation,Sriyash Caculo,Digital Filter Block Implementations in MyHDL and PyFDA Integration,"Design and implementation of digital filters is essential for electronics engineers. Digital filter design in hardware usually is a two stage process; algorithm development in a language like Python, Matlab or Java and RTL design in a Hardware Description Language like VHDL or Verilog. myHDL is a Python module for developing, synthesizing and testing HDL code. PyFDA is a GUI based tool in written in Python/Qt for analysing and designing discrete time filters.
This project aims to leverage and demonstrate the advantages of myHDL, PyFDA and python in general in the field of Digital Filter design. Algorithm exploration, modeling, designing and simulating of digital filters can all be done in Python and PyFDA.
The project will focus on development and rigorous testing of digital filter designs and their integration with PyFDA. The algorithms for each type of filter will be chosen such that the hardware utilization is kept to a minimum. Initially Systolic FIR filter and parallel path IIR filter will be implemented. Later more complicated implementations of non-linear estimation filters will be explored. The filters will be rigorously tested and integrated with PyFDA."
Free and Open Source Silicon Foundation,kunalgulati,BaseJump STL Hacker,"I'm proposing the creation of a Math Library for BaseJump STL. Adding a set of routines that employ the CORDIC algorithm to implement directly and indirectly computable functions like logarithmic, exponential, sqrt, etc. An overall better parameterization of bit-widths in the existing and new modules, along with functions that directly compute on an array with computations based on a configurable pipeline structure. I also propose to add explicit parallelization inspired by SIMD architecture to the mathematical functions in which the number of independent parallel data elements and bit-length is added as a parameter."
Free and Open Source Silicon Foundation,Ákos Hadnagy,Formal verification of WARP-V processor,"WARP-V is an emerging open-source CPU core generator for RISC-V CPUs. It benefits from the flexibility of Transaction-Level Verilog (TL-Verilog) to support a wide range of implementations from simple CPUs for FPGAs through high-frequency ASIC implementations.
The goal of the project is to formally verify the WARP-V core, making development easier for the strict requirements of the RISC-V specification and enabling the use of the WARP-V core in highly demanding and critical areas."
FreeBSD,Aniket Pandey,Regression Test Suite for Audit Framework,"FreeBSD has an audit subsystem which is responsible for monitoring a variety of security-relevant system events, such as user-logins, configuration changes, file system & network access etc. Although the audit framework is indispensable for many security concerned organizations running FreeBSD servers, currently there is no tool to test its reliability and the intended behavior.
The project aims to develop a regression [test-suite](https://github.com/aniketp/AuditTestSuite), which will evaluate the audit framework for proper logging of most auditable system calls along with the file format of BSM/XML/text output, testing a wide range of functionalities of a particular event, and then finally reporting the results and shortcomings if any. Kyua will be used as the automation tool, which will facilitate the regression testing of entire operating system at once, `audit(4)` included. An attempt will be made to stick to the supported architecture of the FreeBSD test-suite while writing test-cases, which will maximize the transparency of integration in the source tree."
FreeBSD,Christian Krämer,Implementation of a user space interface for GPIO interrupts,"FreeBSD already has support for interrupts implemented in the GPIO controller drivers of several SoCs, but there are no interfaces to take advantage of them out of user space yet. The goal of this project is to implement such an interface by providing descriptors which integrate with the common I/O system calls and multiplexing mechanisms."
FreeBSD,Kristaps Čivkulis,Enable EFI Loader to load FreeBSD Xen Dom0,"Currently only BIOS FreeBSD Loader can load Xen kernel which then uses FreeBSD as Dom0 (Control domain). The EFI FreeBSD Loader can’t load Xen kernel, because it can’t load multiboot2 compliant binaries. The first part of project is to add multiboot2 protocol support to EFI FreeBSD Loader, so that it will be able to load Xen kernel (multiboot2 support is general feature in itself, even if it wasn’t related to Xen Kernel). The second part of project is to correctly pass all the needed information to Xen kernel (using multiboot2 protocol) so that it can load FreeBSD kernel as Dom0."
FreeBSD,Mateus de Morais,"Porting Microsoft's CoreCLR, CoreFX, and PowerShell to FreeBSD","PowerShell is a widely used administration tool in Windows Server workloads. This project aims at porting it to FreeBSD in order to make it easier and faster for Windows Server professionals to start working on FreeBSD server workloads and to make available yet another shell choice which is friendly for new-coming Windows users. In order to achieve that, however, porting the .NET Core SDK toolchain, including CoreCLR, CoreFX and the CLI itself, is necessary once they are vital PowerShell dependencies. As a result, FreeBSD users should have access to PowerShell, an object-oriented shell to interact with the system, and .NET Core, which can be useful for developers to build and run their applications on FreeBSD personal and server machines."
FreeBSD,Pratyush Yadav,Import the Xen grant-table bus_dma(9) handlers from OpenBSD,"Xen uses the grant table interface to grant foreign domains access to page frames and to do ownership transfer. Each domain maintains its own grant table and it shares that with Xen to tell it what permissions other domains have on its pages. The index of a grant table entry, called a grant reference, is transmitted to the other domains that need to access the page. OpenBSD’s implementation uses wrappers for the bus_dma(9) interface to implement custom bus_dma functions for communication between domains. This project will bring in the grant table handlers from OpenBSD and integrate them with the rest of the system."
FreeBSD,Samuel Bassaly,Finishing the MPLS implementation,"Add the Multiprotocol Label Switching stack to FreeBSD. In addition to finishing up the implementation of LDP protocol in BIRD, lfib and MPLS traceroute shall also be implemented."
FreeBSD,Shubh Gupta,Oblivious Sandboxing with Capsicum,"Security is of paramount importance. Capsicum sticks to it principles, but is finite, this project aims on making it more widely applicable.
Currently only simple applications can run in the oblivious sandbox provided by capsh. This project will aim upon improving the wrapper system(libpreopen, capsh etc) and make applications work in an oblivious sandbox wherein applications will work in the sandbox without being modified or being known of, but this project will specifically focus on file(1) and Clang.
Moreover, capsh needs to be worked upon such that it becomes aware of the presence of libpreopen and understand the minimal set of resources it needs to preopen, provided by the user implicitly in the form of arguments or defined in a policy file.
The existing libpreopen and capsh code will provide a basis for understanding and improving the wrapper system based on the applications i.e file(1) and Clang chosen to sandbox obliviously."
FreeBSD,Stefano Duo,Extensions to the netmap framework,"The project has 3 major goals:
* Extend VALE switches to support the IEEE 802.1Q standard
* Extend netmap to support buffer offsets
* Write a testing framework for netmap"
FreeBSD,Sumit Lakra,PSPAT Implementation in FreeBSD,"PSPAT or Parallel Scheduling and Parallel Transmission is a new and complete packet scheduling architecture. It is aimed at systems that can generate tens of millions of network packets per second, ex. dedicated Cloud environments that run Virtual Machines. Most hardware and packet schedulers in use today fail to be fully efficient under such high load conditions. PSPAT also happens to be independant of the packet scheduling algorithms that can be used with it. The central idea of PSPAT is to get rid of queuing structures which use locks and thus often often bottleneck the performance of the entire system, even when running on multiple processors and with links that have high packet transfer rates."
FreeBSD,Yutaro Hayakawa,eBPF Implementation for FreeBSD,"This project proposes eBPF implementation for FreeBSD. It will have very basic functionality such as maps, interpreter, JIT compiler for x86-64 and character device + ioctl interface which is an alternative of Linux bpf(2). To introduce how it is useful, we will implement eBPF extension module for VALE software switch which can be used to write very fast middle box (firewall, load balancer and so on) easily."
FreeBSD,capreyon,Verification of bhyve's Instruction emulation,Test harness for the bhyve's Instructions emulation using Intel XED
FreeBSD,lakhanshiva,Convert all PCI drivers attachments to be table driven and mark with PNP_INFO,"This project is being undertaken under the mentorship of FreeBSD organization. The goal of the project is to convert all the PCI drivers attachments to be table driven and mark with PNP_INFO.
The devmatch infrastructure gives us a way to match up hardware with kernel modules that implement drivers that claim the hardware. The problem is that the drivers need some modification before devmatch can use them. Specifically, they need to have their device ID scans done via a table, and that table needs to be decorated with a PNP_INFO tag so the compiler and kld_xref extract the metadata that devmatch needs to do this job. As the PCI drivers are all over the place in terms of how they match device IDs work will be needed to move some of the in-line code to tables, some of the tables lookups may be able to move to standardized routines, etc. Trimming GENERIC to show that the drivers work is also required.
There are about 243 such PCI drivers. grep -r 'DRIVER_MODULE.*, pci,' * | wc is used to find out. The plan is to convert a significant portion of them and maintain a documentation of the conversion."
FreeType,Armin Hasitzka,Improve Fuzzing for FreeType,"Fuzzing is a very important asset for verifying programs, as it reveals critical edge cases that can be missed easily by structured testing.
FreeType is set up to work with OSS-Fuzz already, yet there are many ways to improve it.
Apart from making fuzzing faster and more efficient, possible improvements also contain the plan to build a regression test suite in a GitHub repository.
Furthermore, this project could be used to separate testing logic from the source code of FreeType by setting up a dedicated testing repository."
FreeType,Nikhil Ramakrishnan,Redevelop FreeType's documentation using markdown,"The aim of my project is to redesign the documentation methods for FreeType, and make it easier to update and manage the FreeType website. This includes changes in the current method of retrieving and generating the API documentation, one-time conversion of the current pages to Markdown, and deploying the website from a repository by performing Markdown to HTML conversions."
FreeType,Parth Wazurkar,Integrating VFlib's TeX format drivers into FreeType,"The goal of this project is to add the support of TeX's bitmap font formats(GF, TFM, PK and VF fonts) into freetype by providing new modules to handle them.The VFLib library contains mature support for TeX's bitmap formats (in particular GF and PK fonts, together with TFM metric files and VF virtual fonts). This project aims at using the existing modules in VFlib as a reference to develop new modules for freetype on the lines of existing bitmap drivers already available in freetype like BDF, PCF and WINFNTS."
GENIVI Alliance,Chandeepa Dissanayake,Extension to Voice Command of IVI System,"Intelligent, Self-Learning System for Smart Vehicles
Intended to build up a self-learning system for smart vehicles. There would be vehicles learning even by your daily routines. How smart would that be?"
GFOSS - Open Technologies Alliance,Alkis Georgopoulos,GSoC Epoptes Proposal,"Epoptes, a computer lab management and monitoring tool, has been undermaintained for the last couple of years. It’s currently powered by Python 2 and GTK 2, while unfortunately a number of bugs have crept in due to major updates in Linux distribution packages (systemd, consolekit, VNC…).
This project aims at reviving Epoptes with Python 3 and GTK 3 support, while also addressing several outstanding issues. More specifically:
* Make Epoptes run properly in Ubuntu 18.04 and in Debian Buster.
* Rewrite Epoptes with Python 3 support.
* Use Gtk3 with GObject Introspection instead of pygtk2.
* Improvements in the code structure (Break existing code into python modules/packages).
* Make the newer version available for Ubuntu 18.04 in a PPA."
GFOSS - Open Technologies Alliance,Christos Arvanitis,LibreOffice customization and creation of legal Templates for LibreOffice,"I would like to contribute by making a ready to use customized UI for the LibreOffice suite that achieves a familiar with MS Office 2013 environment as well as a set of templates for legal documents and applications that automate the document creation procedure.
This project will aid users familiar with the previously mentioned proprietary office suite with their transition to LibreOffice. This is of maximum importance, as more and more public services choose Open source software for their needs.
The project is mainly divided in four parts:
* UI interface customization for familiar with MS Office 2013 experience.
* Design and development of Greek Legal document templates after collecting layout and content info from legal associations.
* Implementation of LibreOffice applications for automation of the document creation.
* Documentation of UI changes and template design."
GFOSS - Open Technologies Alliance,Florian Fecher,Adding Greek language support to the open source fonts of the typeface Work Sans,Google Fonts' category of sans serif typefaces with a Greek character set is determined by typefaces following the humanist and geometric model. The Neo-Grotesque (hybrid) Roboto is the only exception to that and doesn't include Polytonic. A classic grotesque supporting Greek is missing. I want to add Monotonic and Polytonic Greek to all nine weights of Work Sans by Wei Huang.
GFOSS - Open Technologies Alliance,Gopalakrishnan V,Software Components and IP management,"CLIO -- a system for maintaining software component information.
CLIO is also a backronym for the system of maintaining Components, Licenses, IP and Other information."
GFOSS - Open Technologies Alliance,Ioannis Daras,Addition of Greek language to Spacy.io,"I propose the addition of Greek language in spacy.io and the implementation of an extra feature of sentiment analysis for the Greek language.
On the subject of the integration of Greek language to the spacy.io platform, I suggest the following metrics for the evaluation of the project: First of all, we should ensure that the model of Greek language passes successfully the language-independent ""tokenizer sanity"" tests provided by spacy.io . A second metric could be the performance of the model in language specific tests. Last but not least, we could evaluate the model in real world data offered by Official Greek Government's Gazette (FEK-ΦΕΚ) for named entities extraction and document categorization as mentioned in the ideas list of GFOSS for GSOC 2018.
With respect to sentiment analysis, I would like to implement a binary classifier that, given a piece of text in Greek language, can computationally identify and categorize the opinions expressed and more specifically to determine whether the writer's attitude towards the topic is positive or negative. The classifier will also return a polarity score which will serve as a measure of confidence of the classifier for its’ decision."
GFOSS - Open Technologies Alliance,Isuri Anuradha,WSO2 Identity Server Userstore using Web Services to get claims,"WSO2 Identity and Access Management Server is open source popular identity and access management server throughout the world plus WSO2 Identity Server efficiently undertakes the complex task of identity management across enterprise applications, services, and APIs. For this project IS version 5.4 is used. Currently, WSO2 identity server is consisting of SOAP services and in near future, there will be REST API's which support for all functionalities and which is more effective. In current environment most It support for different user stores like LDAP, JDBC, and MySQL as primary and secondary user stores. with the having facility of creating a new user store the primary data which are saving to primary user store can be separated to different user stores as one for user details and other one is for user attribute (claims) details which can be accessed by providing user credentials and secrete."
GFOSS - Open Technologies Alliance,Konstantinos Liosis,Python PenTest Library (PyPen),"Development of a Python library for penetration testers. The library will include a set of tools for performing the basic tasks for attacking a remote host. It will include reconnaissance tools such as modules that will be able to collect data for a specific target either through the web or through user input. Moreover, other tools will be developed to create custom dictionaries for username and password attacks. Other attack techniques that will be supported include DoS attack, BruteForce attack as well as Inclusion attack. The library will also include various statistical functions for extracting additional information from a captured host."
GFOSS - Open Technologies Alliance,Marios Papachristou,"Government Gazette text mining, cross linking, and codification Project","In the recent years plenty of attention has been gathering around analyzing public sector texts via text mining methods enabled by modern libraries, algorithms and practices and bought to to the forefront by open source projects such as textblob, spaCy, SciPy, Tensorflow and NLTK. These collaborative productive efforts seem to be a shift towards more efficient understanding of natural language by machines which can be used in conjunction with public documents in order to provide a more robust organization and codification in the legal sector.
This proposal aims to extend the existing **Government Gazette (GG)** text mining code by implementing features in order to organize and (cross)-link GG texts with legal texts and detect the signatories via heuristic and machine learning methods. This will enable elimination of bureaucratic processes and huge time savings for jurists who for example seek legal documents in the **ISOKRATIS** database of legal texts."
GFOSS - Open Technologies Alliance,Rosalie Wagner,Adding Greek glyphs to the open source font Arima Madurai,"This project aims to extend the collection of fonts supporting Greek script in the Google Fonts Catalog. Indeed, today 35 typefaces supporting Greek script are available. Moreover, only 2 fonts are explicitly intended for display text.
Arima Madurai is a font created by Natanael Gana and Joana Correia of NDISCOVER. It is a multiscripts display font with 8 weights from thin to black and have a strong calligraphic influence. It has a lot of personality so it can be recognisable in headlines or brand names uses. Regarding the history of Greek script, it is both interesting and challenging to design a typeface with a calligraphic feel: in terms of design but also in terms of study.
Arima Madurai already supports Tamil, Malayalam and Latin scripts and I would like to add Greek extended script to the glyphset. The fact that the font already supports multi scripts is a real benefit to the project: Arima Madurai already acts in non latin typographic environment and therefore displays a large set of shapes that can be used to match the Greek glyphs with the other ones."
GFOSS - Open Technologies Alliance,chriskk,Government Gazette NER & Metadata Extraction,A Python module for NER and metadata extraction of the Government Gazette.
GNOME,Alexandru Fazakas,"Tests, profiling and debug framework for Nautilus","This project's goal is to offer the Nautilus' community an easy way to test their contributions with consistent results and a profiling/coverity aspect in order to easily identify possible issues. The project itself includes the addition of unit tests, integration tests, coverity and profiling tools as well as a rework on the NAUTILUS_DEBUG framework."
GNOME,Eisha CHEN-YEN-SU,Fractal UI redesign and new dialogs,"Fractal is still an early alpha Matrix client. There are many features which are left to be implemented and work to beautify the interface, with more informations available.
This project have these objectives:
- Create a user settings dialog.
- Improve the room directory.
- Improve the marking of new messages.
- Improve the room details dialog in order to show more informations.
- Improve the messages history.
- Implement translations support."
GNOME,Ernestas Kulik,Nautilus GTK+ 4 Port,"With GTK+ 4 development already moving at a fairly fast pace, it could use wider adoption in applications. The benefit in having that, from the toolkit perspective, is feedback from application developers about regressions or missing features, all of which can be changed while the development isn’t frozen. Application developers, on the other hand, can benefit from a streamlined API and other new toys."
GNOME,Evan Welsh,GJS Example Applications and Overall Improvement,"This project will unify the various GJS resources, create and expand the web experiences for GJS, write a tutorial around two created sample applications, Tags and TicTacToe (expanded upon in proposal), and fix issues in GJS and DevDocs relating to the initial developer experience. Ultimately, the goal is to vastly improve GJS for new and current developers."
GNOME,Fabian,Dino: Message Search,GNOME is lacking a chat client which looks “modern” and is thus visually and user experience-wise attractive to new users. Dino fits well into the GNOME desktop and improving Dinos functionality would provide the community with a good chat client. This project adds an efficient and visually appealing message search with a good user experience in Dino.
GNOME,Harish Fulara,Pitivi UI Polishing,"The current UI of Pitivi serves well to its aim of being an intuitive and flexible application for newbies as well as professionals but a little bit of polishing can take it more closer to that aim. This project will focus on improving the UI of Pitivi to enhance user experience. This consists of two tasks:
1) Integrating the Welcome dialog box into Pitivi's main window and displaying projects in a more informative, discoverable, and user friendly layout.
2) Allowing easy resizing of the video previewer."
GNOME,Julian Sparber,Improve the Fractal UI (A GTK Matrix client),"This project will improve the Fractal UI and add basic missing features, such as user account settings. It will also add a spell checker to improve accessibility.
This work would make it easier for people in the GNOME community to communicate and collaborate, and to onboard new contributors, especially non-technical ones. In addition, spell checking will make it easier for people with dyslexia and non-native English speakers to be active in the GNOME community."
GNOME,Rohit Kaushik,To Do: Make Todoist and Todo.txt integration shine,"The project aims at improving the Todo.txt and Todoist plugin and to make them production ready. The Todo.txt parser will be improved to implement several features that GNOME To Do offers but is missing from Todo.txt i.e subtasks, list background color, notes etc. Todoist plugin will also undergo improvement and automatic synchronization, handling of network connectivity loss issues will be resolved."
GNOME,Saurabh Sabharwal,GNOME Games: Add Collection/Developer view,"Currently, Games lacks a good UI for displaying games. Displaying game metadata and statistics as well as segregating games by platform/developer will give it a more attractive look. This project aims to do the following :-
1. Allow the users to view games by platform and developers.
2. Adding keys to grilo plugins like publisher, developer and number of players.
3. Display Game Metadata like description, rating, and number of players.
4. Allow the users to save statistics such as number of hours played, finish status etc."
GNOME,Suhas N,Pitivi: Slow-motion Video,"The ability to change the speed of a clip is a very important feature for a video editor. I want to add this functionality to Pitivi as part of this project. With this proposal, I would like to -
* Add the ‘clip speed’ feature to Pitivi.
* Allow parts of a single clip to have variable speeds."
GNOME,YaLTeR,librsvg: port filter effects to Rust,"This project involves porting the librsvg filter effects from C to Rust and making sure they all work by adding missing tests from the SVG test suite. This work will help with the ongoing effort of porting librsvg to Rust, as well as help ensure the GNOME projects using librsvg get the correct results when rendering SVGs which utilize filter effects."
GNOME,Yatin Maan,Pitivi: Scaled Proxies,"The ability to use low resolution proxies during editing would allow more people to work on wider range of media without requiring access to an powerful computer.
It would also grant them the ability to do draft renders allowing for quick previews.
The goals of this project are to:
- Add support for Scaled Proxies in Pitivi
- Allow for easy configuration and use of proxies in Pitivi UI
- Give users the ability to generate draft renders"
GNOME,carpediem,Implement Power panel in gnome-usage,"gnome-usage is a tool for informing users about system statistics and performance.