forked from 6th-ndn-hackathon/6th-ndn-hackathon.github.io
-
Notifications
You must be signed in to change notification settings - Fork 2
/
hacks.html
1033 lines (782 loc) · 41.9 KB
/
hacks.html
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
<!DOCTYPE html>
<!--[if lt IE 7]> <html class="lt-ie9 lt-ie8 lt-ie7" lang="en"> <![endif]-->
<!--[if IE 7]> <html class="lt-ie9 lt-ie8" lang="en"> <![endif]-->
<!--[if IE 8]> <html class="lt-ie9" lang="en"> <![endif]-->
<!--[if gt IE 8]><!--> <html lang="en"> <!--<![endif]-->
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>Accepted Hacks - 7th Named Data Networking (NDN) Hackathon</title>
<meta name="description" content="Oct 20 - 21, 2018">
<meta name="author" content="7th NDN Hackathon Organizing Committee">
<link rel="canonical" href="http://7th-ndn-hackathon.named-data.net/hacks">
<link rel="stylesheet" type="text/css" integrity="sha256-Np2lVLBG/ezhoqNvazMVdLAUl04grIeY9hcfSHnsmR0=" crossorigin="anonymous" href="/assets/site-369da554b046fdece1a2a36f6b331574b014974e20ac8798f6171f4879ec991d.css">
<!-- Le fav and touch icons -->
<link rel="shortcut icon" href="/assets/ico/favicon-38a0d815005ff0b3d71bae96e5736aaf474efe05b3288d12f6465c38b43aa315.ico">
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="/assets/ico/apple-touch-icon-144-precomposed-97e5eefed33136b6b7e63bdbdf4957b88045bd96bb9b2cc5a0a8525729ca221f.png">
<link rel="apple-touch-icon-precomposed" sizes="114x114" href="/assets/ico/apple-touch-icon-114-precomposed-8603082234efbd8fca0f58505f699a5854a13739f12b87b69143b06a4cccc0c7.png">
<link rel="apple-touch-icon-precomposed" sizes="72x72" href="/assets/ico/apple-touch-icon-72-precomposed-a22882427ca6e03081271325bf1294e8cd2ee4c447f635000e4f4a0f694bfe55.png">
<link rel="apple-touch-icon-precomposed" href="/assets/ico/apple-touch-icon-57-precomposed-933602014f87c50876665303015b7fed8f9dbe32ab7b7b62ebe888e5497dfd43.png">
</head>
<body>
<header id="header">
<hgroup>
<h1 id="site-title">
<a class="full" href="/">7th Named Data Networking (NDN) Hackathon</a>
</h1>
<h2 id="site-description">Oct 20 - 21, 2018</h2>
</hgroup>
</header>
<nav id="navbar">
<nav class="navbar navbar-default">
<div class="container-fluid">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse" id="bs-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="">
<a href="/">Home</a>
</li>
<li class="">
<a href="/committees.html">Committees</a>
</li>
<li class="">
<a href="/terms.html">Terms</a>
</li>
<li class="">
<a href="/program.html">Program</a>
</li>
<li class="">
<a href="/hacks.html"><b>HACKS</b></a>
</li>
<li class="">
<a href="/photos.html"><b>PHOTOS</b></a>
</li>
<li class="">
<a href="/judging.html">Judging</a>
</li>
</li>
</ul>
<form class="navbar-form navbar-right" role="search" action="http://google.com/search" method="get">
<div class="form-group">
<input type="hidden" name="q" value="site:http://7th-ndn-hackathon.named-data.net">
<input type="text" name="q" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</div>
</div>
</nav>
</nav>
<div class="container-fluid">
<div class="row-fluid">
<aside id="sidebar" class="col-xs-8 col-sm-5 col-md-4 col-lg-3 pull-right">
<section id="sidebar-deadlines" class="well">
<h3><i class="fa fa-calendar"></i> Important Dates</h3>
<ul id="deadlines" class="nav nav-list">
<li><p>Submission deadline:
<br/><b style="margin-left: 20px"><del> Oct 17, 2018 </del></b>
</p></li>
<li><p>Acceptance notification:
<br/><b style="margin-left: 20px"><del> Oct 18, 2018 </del></b>
</p></li>
</ul>
</section>
</aside><!--/span-->
<div id="main" class="col-xs-12 col-sm-7 col-md-8 col-lg-9">
<article>
<header>
<h1>Accepted Hacks</h1>
</header>
<section>
<ul id="markdown-toc">
<li><a href="#1-modernize-ndn-js" id="markdown-toc-1-modernize-ndn-js">1. Modernize ndn-js</a> <ul>
<li><a href="#slides" id="markdown-toc-slides"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#2-interest-buffering" id="markdown-toc-2-interest-buffering">2. Interest Buffering</a> <ul>
<li><a href="#slides-1" id="markdown-toc-slides-1"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#3-self-learning-forwarding-strategy-nfd-implementation-and-testing" id="markdown-toc-3-self-learning-forwarding-strategy-nfd-implementation-and-testing">3. Self-learning Forwarding Strategy: NFD Implementation and Testing</a> <ul>
<li><a href="#slides-2" id="markdown-toc-slides-2"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#4-fractalide---an-ndn-browser" id="markdown-toc-4-fractalide---an-ndn-browser">4. Fractalide - An NDN Browser</a> <ul>
<li><a href="#slides-3" id="markdown-toc-slides-3"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#5-mini-ndn-documentation" id="markdown-toc-5-mini-ndn-documentation">5. Mini-NDN documentation</a> <ul>
<li><a href="#slides-4" id="markdown-toc-slides-4"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#6-3d-visualization-of-ndn-traffic" id="markdown-toc-6-3d-visualization-of-ndn-traffic">6. 3D Visualization of NDN Traffic</a> <ul>
<li><a href="#slides-5" id="markdown-toc-slides-5"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#7-refactor-encoding-and-decoding-in-ndn-riot-and-make-it-more-usable-to-developers" id="markdown-toc-7-refactor-encoding-and-decoding-in-ndn-riot-and-make-it-more-usable-to-developers">7. Refactor encoding and decoding in NDN-RIOT and make it more usable to developers</a> <ul>
<li><a href="#slides-6" id="markdown-toc-slides-6"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#8-named-reddit" id="markdown-toc-8-named-reddit">8. Named Reddit</a> <ul>
<li><a href="#slides-7" id="markdown-toc-slides-7"><strong>Slides</strong></a></li>
</ul>
</li>
<li><a href="#certificate-support-in-esp8266ndn-library" id="markdown-toc-certificate-support-in-esp8266ndn-library"><del><del>Certificate Support in esp8266ndn Library</del></del></a></li>
<li><a href="#tiny-forwarder-with-esp8266ndn-library" id="markdown-toc-tiny-forwarder-with-esp8266ndn-library"><del>Tiny Forwarder with esp8266ndn Library</del></a></li>
<li><a href="#hmac-and-merkle-hash-tree-signatures-in-ndn-cxx" id="markdown-toc-hmac-and-merkle-hash-tree-signatures-in-ndn-cxx"><del>HMAC and Merkle-Hash-Tree Signatures in ndn-cxx</del></a></li>
<li><a href="#ndn-file-system-without-fuse" id="markdown-toc-ndn-file-system-without-fuse"><del>NDN File System without FUSE</del></a></li>
<li><a href="#packet03-data-synchronization-and-more-in-repo-sql" id="markdown-toc-packet03-data-synchronization-and-more-in-repo-sql"><del>Packet03, Data Synchronization, and More in repo-sql</del></a></li>
<li><a href="#broadcast-and-ad-hoc-faces-in-nfd-for-ad-hoc-wireless-networks" id="markdown-toc-broadcast-and-ad-hoc-faces-in-nfd-for-ad-hoc-wireless-networks"><del>Broadcast and ad-hoc faces in NFD for ad-hoc wireless networks.</del></a></li>
<li><a href="#ndn-sign-on-protocol-implementation-over-ble" id="markdown-toc-ndn-sign-on-protocol-implementation-over-ble"><del>NDN sign-on protocol implementation over BLE</del></a></li>
<li><a href="#a-use-case-example-app-using-ndn-iot-package" id="markdown-toc-a-use-case-example-app-using-ndn-iot-package"><del>A use-case example APP using NDN-IoT package</del></a></li>
<li><a href="#development-of-yang-data-model-for-nfd-mgmt-protocol" id="markdown-toc-development-of-yang-data-model-for-nfd-mgmt-protocol"><del>Development of Yang Data Model for NFD Mgmt. Protocol</del></a></li>
<li><a href="#contribute-to-ndn-iot" id="markdown-toc-contribute-to-ndn-iot"><del>Contribute to NDN IoT</del></a></li>
<li><a href="#make-ndn-riot--ndn-iot-pkg-work-on-nrf52840" id="markdown-toc-make-ndn-riot--ndn-iot-pkg-work-on-nrf52840"><del>Make NDN-RIOT + NDN-IoT pkg work on NRF52840</del></a></li>
<li><a href="#an-android-app-to-visualize-the-workflow-in-iot" id="markdown-toc-an-android-app-to-visualize-the-workflow-in-iot"><del>An Android App to visualize the workflow in IoT</del></a></li>
<li><a href="#schematized-trust-in-ndn-iot" id="markdown-toc-schematized-trust-in-ndn-iot"><del>Schematized Trust in NDN-IoT</del></a></li>
</ul>
<h2 id="1-modernize-ndn-js">1. Modernize ndn-js</h2>
<p>Project Lead: Junxiao Shi (NIST)</p>
<p>Project Members: Mheni Merzouki (NIST), Omar Ilias El Mimouni (NIST)</p>
<h3 id="slides"><strong><a href="https://github.com/7th-ndn-hackathon/modernize-ndnjs/blob/master/README.md">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>
<p>ndn-js <a href="https://github.com/named-data/ndn-js">https://github.com/named-data/ndn-js</a> is a JavaScript client library for Named Data Networking. It works with both NodeJS and browsers.</p>
</li>
<li>
<p>The browser edition of ndn-js was developed in 2013. Since then, the JavaScript ecosystem has evolved greatly, but ndn-js has not been able to keep up.This causes several difficulties when integrating ndn-js in a modern JavaScript project.
This project is to modernize several aspects of ndn-js, so that it can work well in today’s JavaScript ecosystem.</p>
</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Replace Waf build process with a modern bundler such as Brunch or Webpack.
The goal is to allow a web application to <code class="highlighter-rouge">require("ndn-js")</code> and have the bundler do the rest.
The ability of building a self-contained <code class="highlighter-rouge">ndn.js</code> must be preserved.
If feasible, remove the copied dependencies in <code class="highlighter-rouge">contrib/</code>, and import them from NPM.</li>
<li>Provide TypeScript declaration file to enable type checking of ndn-js APIs in a TypeScript project.
These commonly used classes should be given priority: <code class="highlighter-rouge">Name Name.Component Interest Data NetworkNack Blob Face</code>.
Others may be declared as <code class="highlighter-rouge">any</code> type.</li>
<li>Add Promise-based APIs as an alternate to callback-based APIs.
These functions need an alternate that returns a Promise: <code class="highlighter-rouge">Face.expressInterest Face.registerPrefix KeyChain.createIdentityV2</code>.
These functions need an alternate that takes a callback whose return value is a Promise: <code class="highlighter-rouge">Face.setInterestFilter Face.registerPrefix</code>.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Participant must be able to write JavaScript</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Show the result of listed tasks in a simple web application.</li>
</ul>
<h2 id="2-interest-buffering">2. Interest Buffering</h2>
<p>Project Lead: Tianxiang Li (UCLA)</p>
<p>Project Members: Spyros Mastorakis (UCLA), Xinyu Ma, Klaus Schneider (Arizona)</p>
<h3 id="slides-1"><strong><a href="https://docs.google.com/presentation/d/1QwbaS0EZ-7x4FhmzX-5bhb5a0Z01EcetlbbXjvVR8zk/edit?usp=sharing">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Enable support for Interest buffering and face signaling in NFD. Allows better forwarding strategies based on face status.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Allow Interest Buffering in PIT and enable face status signaling to determine whether to send out an Interest</li>
</ul>
<p><strong>Any specific tools or language?</strong></p>
<ul>
<li>NFD, ndn-cxx, C++</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Enable support for Interest buffering and face signaling in NFD</li>
</ul>
<h2 id="3-self-learning-forwarding-strategy-nfd-implementation-and-testing">3. Self-learning Forwarding Strategy: NFD Implementation and Testing</h2>
<p>Project Lead: Teng Liang (Arizona)</p>
<p>Project Members: Md Ashiqur Rahman (Arizona), Ju Pan (Arizona)</p>
<h3 id="slides-2"><strong><a href="https://docs.google.com/presentation/d/15p6E4KOiw6iL3AhdDeeY-_k7pQgdqtQ9IgBI-Ob8k8w/edit#slide=id.p">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Self-learning is an important mechanism for NDN research/testing/deployment to achieve plug-and-play</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Finalize self-learning strategy implementation (redmine: #4279)</li>
<li>Test self-learning with integration-testing</li>
<li>Evaluate self-learning performance</li>
</ul>
<p><strong>Any specific tools or language?</strong></p>
<ul>
<li>C++, NFD development experience, or NDN-Android development experience</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Working code that can be merged to NFD</li>
<li>Evaluation results</li>
</ul>
<h2 id="4-fractalide---an-ndn-browser">4. Fractalide - An NDN Browser</h2>
<p>Project Lead: Stewart Mackenzie (Fractalide)</p>
<p>Project Members: Claes Wallin (Fractalide)</p>
<h3 id="slides-3"><strong><a href="https://github.com/7th-ndn-hackathon/rkt-ndn/blob/master/Team-Fractalide-rkt-ndn-7th-ndn-hackathon.pdf">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Just as TCP/IP became popular because of the HTTP browser so we hope NDN will become popular with an NDN browser</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Fork this repository https://github.com/fractalide/rkt-ndn</li>
<li>Build a racket language binding to Named Data Networking library</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Racket FFI</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>We’ll have a functional library that allows racket users to build on Named Data Networking</li>
</ul>
<h2 id="5-mini-ndn-documentation">5. Mini-NDN documentation</h2>
<p>Project Lead: Ashlesh Gawande (Memphis)</p>
<p>Project Members: Alexander Lane (Memphis)</p>
<h3 id="slides-4"><strong><a href="https://docs.google.com/presentation/d/1lK8g1_Njf6Sg9tystirL2W8IYtCmv8svS_6_YmM8cO0/edit#slide=id.g44acded8c6_2_55">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Lower barrier to getting started with Mini-NDN</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Choose a documentation standard and setup auto generation</li>
<li>Identify what documentation can be updated and what needs to be added (look at mailing list)</li>
<li>Verify + update existing doc and add new documentation</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Mini-NDN, Mininet, Python, Probably Sphinx/Doxygen</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Updated documentation which is automatically mirrored to the website</li>
</ul>
<h2 id="6-3d-visualization-of-ndn-traffic">6. 3D Visualization of NDN Traffic</h2>
<p>Project Lead: Alexander Monaco (FIU)</p>
<p>Project Members: Alex Afanasyev (FIU), Tarannum Islam (FIU), Rajender Kumar (FIU)</p>
<h3 id="slides-5"><strong><a href="https://www.dropbox.com/s/1g1jpigkm8hrxip/3d-viz.pptx?dl=0">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>The understanding of traffic flow is important in development of resilient network tools. 3D NDN Visualization could aid in providing a more efficient method of analyzing and interpreting traffic data.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Investigate existing tools for identifying and analyzing network traffic, use available network data to evaluate promising tools, and attempt to create a visualization using the output of these tools.</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Since the visualization will be developed using the Unity engine, the main language that will be used will be C#</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>A simple visualization that can be further developed into a working 3D visualization prototype.</li>
</ul>
<h2 id="7-refactor-encoding-and-decoding-in-ndn-riot-and-make-it-more-usable-to-developers">7. Refactor encoding and decoding in NDN-RIOT and make it more usable to developers</h2>
<p>Project Lead: Zhiyi Zhang</p>
<p>Project Members: Tianyuan Yu, Bo Chen, Weijia Yuan</p>
<h3 id="slides-6"><strong><a href="https://docs.google.com/presentation/d/1kCr13NbT7H3d1QO7VyV69-Jrg6gh86uD79ZJ2Wn_BMQ/edit#slide=id.g44ad830ee9_2_75">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Make NDN-RIOT a better library to use</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>We already re-implemented the basic block 0.3 encoding/decoding APIs, name APIs, Interest APIs. Refactor other modules (Data, Certificate, etc.)</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Unit tests to show everything is fine</li>
</ul>
<h2 id="8-named-reddit">8. Named Reddit</h2>
<p>Project Lead: Ernest McCracken (Memphis)</p>
<p>Project Members: Tianxing Ma (Memphis), Saurab Dulal (Memphis)</p>
<h3 id="slides-7"><strong><a href="https://docs.google.com/presentation/d/10B7US38NbLciBemyKgiwclUHHaYQJR7zFAR0nXt1B08/edit#slide=id.p">Slides</a></strong></h3>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Contribution to web based browsing of NDN supported content</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Web front end portal, React server serving static web content as well as servicing ndn-js requests. Support for simple API commands.</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>html, reactJS, ndn-js, json based db</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>A web application that enables reddit style posts as well as supporting a hierarchy of sub reddits instead of just a single level.</li>
</ul>
<h2 id="certificate-support-in-esp8266ndn-library"><del><del>Certificate Support in esp8266ndn Library</del></del></h2>
<p>Project Lead: Junxiao Shi</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/pitch-slides%20-%20Junxiao%20Shi%20(3)%20-%201.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>
<p>esp8266ndn <a href="https://github.com/yoursunny/esp8266ndn">https://github.com/yoursunny/esp8266ndn</a> is an Arduino library that supports NDN application development on ESP8266 and ESP32 microcontrollers.
University of Memphis and NIST each has a building sensing deployment utilizing this library.</p>
</li>
<li>
<p>So far esp8266ndn supports HMAC and EC signing and verification, but the application must provide uncompressed key bits.
This project adds a NDN Certificate v2 <a href="https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html">https://named-data.net/doc/ndn-cxx/current/specs/certificate-format.html</a> decoder and encoder to the esp8266ndn library, paving the way of implementing trust schema, ndncert-client, and secure device onboarding in the future.</p>
</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Study the encoding format (including common variations if any) of X509PublicKeyContent used in NDN Certificate.</li>
<li>Implement or adapt an ASN.1 encoder and decoder for ESP8266/ESP32 Arduino.</li>
<li>Implement a NDN Certificate decoder to extract public key and validity period from a <code class="highlighter-rouge">DataLite</code> instance.</li>
<li>Implement a NDN Certificate encoder to create a <code class="highlighter-rouge">DataLite</code> from name, public key, and validity period, and then sign it with an existing <code class="highlighter-rouge">EcPrivateKey</code>.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Participant must have access to one ESP8266 or ESP32 microcontroller.</li>
<li>Participant must have access to a 2.4GHz WiFi network and an NFD node on this network.</li>
<li>Participant should be able to read ndn-cxx code related to certificates.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>
<p>Certificate decoder demo:</p>
<ol>
<li>Operator enters a Data name through serial console.</li>
<li>Microcontroller retrieves the Data packet.</li>
<li>Microcontroller follows KeyLocator to retrieve the certificate.</li>
<li>Microcontroller decodes the certificate and verifies the Data packet against the public key embedded in the certificate, and then prints verification result on the serial console.</li>
</ol>
</li>
<li>
<p>Certificate encoder demo:</p>
<ol>
<li>Upon startup, microcontroller generates an EC key pair and a self-signed certificate.</li>
<li>Operator executes a consumer program on the computer (written in ndn-cxx or PyNDN or similar) to retrieve microcontroller’s certificate and a Data packet signed by its private key.</li>
<li>The consumer program decodes the certificate and verifies the Data packet against the public key embedded in the certificate, and then prints verification result on standard output.</li>
</ol>
</li>
</ul>
<h2 id="tiny-forwarder-with-esp8266ndn-library"><del>Tiny Forwarder with esp8266ndn Library</del></h2>
<p>Project Lead: Junxiao Shi</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/pitch-slides%20-%20Junxiao%20Shi%20(3)%20-%202.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>
<p>esp8266ndn <a href="https://github.com/yoursunny/esp8266ndn">https://github.com/yoursunny/esp8266ndn</a> is an Arduino library that supports NDN application development on ESP8266 and ESP32 microcontrollers. University of Memphis and NIST each has a building sensing deployment utilizing this library. In both systems, the sensor nodes is one hop away from an NFD node.</p>
</li>
<li>
<p>This project explores a specific design of a tiny forwarder on the ESP8266/ESP32 microcontrollers.
Given the memory constraint, this tiny forwarder uses per-face Bloom filters as the Pending Interest Table (PIT), instead of a regular name-based PIT. It sacrifices preciseness of PIT name matching and InterestLifetime, in exchange for lower memory requirement.</p>
</li>
<li>
<p>If this design is proven to be successful, building sensing deployments can reduce dependency on the infrastructure network.
In the future, it’s also possible to port the same design to NDN-RIOT.</p>
</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Implement a PIT based on per-face Bloom filters, using hsip-bf library <a href="https://github.com/yoursunny/hsip-bf">https://github.com/yoursunny/hsip-bf</a>.</li>
<li>Create several faces. The easiest way is to run the forwarder node in AP mode, and have four unicast UDP faces.</li>
<li>Implement a tiny forwarder. For simplicity, the FIB is hard-coded.</li>
<li>(optional) Replace hard-coded FIB with simple self-learning.</li>
<li>Through theoretical analysis as well as experiments, find out efficiency of the tiny forwarder: how much excess traffic is caused by impreciseness of PIT name matching and InterestLifetime.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Participant must have access to one ESP8266 or ESP32 microcontroller.</li>
<li>Participant must have access to three or more WiFi-capable NDN end hosts. These can be computers or microcontrollers.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>
<p>Tiny forwarder demo:</p>
<ol>
<li>Each end host runs a producer and several consumers retrieving from other producers.</li>
<li>If the participant has a WiFi NIC capable of monitor mode, show how the forwarder works via WiFi monitoring. Otherwise, show how the forwarder works using serial console logs.</li>
</ol>
</li>
</ul>
<h2 id="hmac-and-merkle-hash-tree-signatures-in-ndn-cxx"><del>HMAC and Merkle-Hash-Tree Signatures in ndn-cxx</del></h2>
<p>Project Lead: Junxiao Shi</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/pitch-slides%20-%20Junxiao%20Shi%20(3)%20-%203.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new to NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>
<p>SignatureHmacWithSha256 is one of the signature types defined in NDN Packet Format. It ensures provenance that the Data packet was signed by one of the parties who holds the shared key. Common Client Libraries (CCL) support this signature type, but ndn-cxx does not.</p>
</li>
<li>
<p>SHA-256-Merkle-Hash-Tree is a signature type defined in CCNx 0 packet format <a href="https://web.archive.org/web/20150226084828/http://www.ccnx.org:80/releases/latest/doc/technical/SignatureGeneration.html">https://web.archive.org/web/20150226084828/http://www.ccnx.org:80/releases/latest/doc/technical/SignatureGeneration.html</a>.
With this signature type, when a producer creates multiple Data packets, it only needs to perform expensive RSA or EC signing once.Each Data packet carrying a Merkle hash tree aggregated signature is individually verifiable and does not require retrieving a separate catalog/manifest packet.</p>
</li>
<li>
<p>This project adds SignatureHmacWithSha256 to ndn-cxx, so that it can better interoperate with CCL. This project also explores Merkle hash tree aggregated signing.</p>
</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Create SignatureHmacWithSha256 wire format encoder and decoder.</li>
<li>Add SignatureHmacWithSha256 signing procedure to KeyChain.</li>
<li>Add SignatureHmacWithSha256 validation procedure to Validator.</li>
<li>Design wire format for Merkle hash tree aggregated signature.</li>
<li>Create Merkle hash tree aggregated signature wire format encoder and decoder.</li>
<li>Add Merkle hash tree aggregated signing procedure to KeyChain.</li>
<li>Add Merkle hash tree signature validation procedure to Validator.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Participant must understand crypto including HMAC, hash, and asymetric signing.</li>
<li>Participant must be able to write C++14.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Show the result of listed tasks in two simple console programs.</li>
</ul>
<h2 id="ndn-file-system-without-fuse"><del>NDN File System without FUSE</del></h2>
<p>Project Lead: Junxiao Shi</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/pitch-slides%20-%20Junxiao%20Shi%20(3)%20-%204.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>NDNFS <a href="https://github.com/remap/ndnfs-port">https://github.com/remap/ndnfs-port</a> is an “NDN-friendly file system”.</li>
<li>
<p>The NDNFS daemon creates a FUSE mountpoint. When a file is added under this FUSE mountpoint, it internally segments the file into Data packets and generates signatures. These Data packets can then be served over the network. This method causes difficulty in serving large number of existing files because they must be copied into FUSE, and has several bugs when files are added via SFTP.</p>
</li>
<li>This project explores a different kind of NDN File System. Instead of using FUSE, the program works with an existing folder on the filesystem. When an Interest arrives, it segments and signs the Data on the fly, and caches the signature. The user experience is similar to <code class="highlighter-rouge">python3 -m http.server</code></li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Develop a daemon program that serves files in the current working directory.
Assuming the files do not change, the Data packets can used a fixed version number.
Files should be retrievable with <code class="highlighter-rouge">ndncatchunks</code> using fixed version discovery.</li>
<li>Add signature caching to reduce signing overhead.</li>
<li>Add directory listing feature using a simple protocol, and develop a client program to retrieve directory listing.</li>
<li>Add Realtime Data Retrieval protocol support to accomodate file updates.
Files should be retrievable with <code class="highlighter-rouge">ndncatchunks</code> using RDR version discovery method; in case this discovery method isn’t available at time of project, the participant would have to develop a ndn-tools patch for this.</li>
<li>Develop systemd service file for the daemon.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Participant must be familiar with either ndn-cxx or Common Client Libraries</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Show the result of listed tasks in simple console applications.</li>
</ul>
<h2 id="packet03-data-synchronization-and-more-in-repo-sql"><del>Packet03, Data Synchronization, and More in repo-sql</del></h2>
<p>Project Lead: Junxiao Shi</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/pitch-slides%20-%20Junxiao%20Shi%20(3)%20-%206.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>
<p>repo-sql <a href="https://github.com/3rd-ndn-hackathon/repo-sql">https://github.com/3rd-ndn-hackathon/repo-sql</a> is an alternate NDN repository implementation backed by a SQL database. It was developed in 3rd NDN Hackathon, and is still being maintained. Two years later, it is in need of a refresh.</p>
</li>
<li>
<p>This project switches repo-sql to use NDN Packet Format 0.3 (packet03), which greatly simplifies the QueryProcessor. Also, repo-sql can have Data synchronization using the C++ PSync library.</p>
</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>Redesign database schema and query procedure for packet03.
Database migration script is optional.</li>
<li>Implement <code class="highlighter-rouge">QueryProcessor</code> with the redesigned query procedure.</li>
<li>Add TCP bulk insertion feature.</li>
<li>Add Data insertion command <a href="https://redmine.named-data.net/projects/repo-ng/wiki/Basic_Repo_Insertion_Protocol">https://redmine.named-data.net/projects/repo-ng/wiki/Basic_Repo_Insertion_Protocol</a>.</li>
<li>Develop a data synchronization mechanism.
The primary repo-sql instance has all the Data, and applications should only write to the primary instance.
Secondary repo-sql instances mirrors a subset of stored Data under one or more specified name prefixes using PSync.
This is a one-way mirroring at this stage: the secondary instances do not allow direct insertion.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Participant must know ndn-cxx.</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Show the result of listed tasks in the console.</li>
</ul>
<h2 id="broadcast-and-ad-hoc-faces-in-nfd-for-ad-hoc-wireless-networks"><del>Broadcast and ad-hoc faces in NFD for ad-hoc wireless networks.</del></h2>
<p>Project Lead: Md Ashiqur Rahman</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/Ashiq_ad-hoc%20-%20Md%20Ashiqur%20Rahman.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Current NFD does not support broadcast and ad hoc wireless faces which would be helpful for working in ad-hoc networks.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ol>
<li>NDN self-learning is initially defined for point-to-point links only. An important scenario for NDN self-learning in NFD is on wireless channels, such as ad-hoc WiFi networks among Android devices.</li>
<li>Thus, the protocol definition shall be extended to support broadcast and ad hoc wireless faces.</li>
</ol>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>NFD, ndn-cxx, C++</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>To have support for broadcast and wireless ad-hoc faces in NFD.</li>
</ul>
<h2 id="ndn-sign-on-protocol-implementation-over-ble"><del>NDN sign-on protocol implementation over BLE</del></h2>
<p>Project Lead: Yanbiao Li</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/ndn-hackathon-SignOn-BLE%20-%20Yanbiao%20Li.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Enable to deploy NDN-IoT package on more boards</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Implement NDN sign-on protocol with an android phone and a nRF58240 board</li>
</ul>
<p><strong>Any specific tools or language?</strong></p>
<ul>
<li>java, C/C++</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>sign-on over BLE</li>
</ul>
<h2 id="a-use-case-example-app-using-ndn-iot-package"><del>A use-case example APP using NDN-IoT package</del></h2>
<p>Project Lead: Yanbiao Li</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/ndn-hackathon-IoT-App%20-%20Yanbiao%20Li.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>help to release the NDN-IoT package</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>develop the two ends (controller and device) of a simple smart home APP</li>
</ul>
<p><strong>Any specific tools or language?</strong></p>
<ul>
<li>Java, C/C++, python</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>The Controller App on phone and the Device App on nRF85240 boards</li>
</ul>
<h2 id="development-of-yang-data-model-for-nfd-mgmt-protocol"><del>Development of Yang Data Model for NFD Mgmt. Protocol</del></h2>
<p>Project Lead: Rajender Kumar</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/Yang_data_Model_NDN%20-%20Rajender%20Kumar.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People new NDN code development</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Yang data model will help in the development of a network management protocol for NDN.</li>
<li>Yang data model is extensible (equipment manufacturer and network manager can augment the current model with new data or operation).</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Identification of different operation, attributes and other information related to NFD mgmt. protocol.</li>
<li>Development of Yang data model for current NFD management protocol.</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Yang Data modeling Language, NFD Management Protocol</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Yang data model for current NFD management protocol</li>
</ul>
<h2 id="contribute-to-ndn-iot"><del>Contribute to NDN IoT</del></h2>
<p>Project Lead: Zhiyi Zhang</p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Provide better support of NDN in IoT scenarios</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Implement the missing features in existing codebase and required features that have not been realized yet.</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Live Demo to show the system work.</li>
</ul>
<h2 id="make-ndn-riot--ndn-iot-pkg-work-on-nrf52840"><del>Make NDN-RIOT + NDN-IoT pkg work on NRF52840</del></h2>
<p>Project Lead: Zhiyi Zhang</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/nrf52840%20-%20Zhiyi%20Zhang.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Let the existing service discovery and access control protocol function
on the new boards</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Debug any possible bugs when we deploy NDN-RIOT on the new boards</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Have two nrf52840 boards talk to each other and have a live demo</li>
</ul>
<h2 id="an-android-app-to-visualize-the-workflow-in-iot"><del>An Android App to visualize the workflow in IoT</del></h2>
<p>Project Lead: Zhiyi Zhang</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/android%20-%20Zhiyi%20Zhang.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Visualize the workflow in NDN IoT scenarios.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Develop a simple android app to work with NDN-RIOT system to get the status and workflow of each node in the system.</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>Android (Java)</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>Live demo to show the app can visualize the status</li>
</ul>
<h2 id="schematized-trust-in-ndn-iot"><del>Schematized Trust in NDN-IoT</del></h2>
<p>Project Lead: Zhiyi Zhang</p>
<p><strong><a href="https://github.com/7th-ndn-hackathon/7th-ndn-hackathon.github.io/blob/source/_assets/files/schematized_trust%20-%20Zhiyi%20Zhang.pdf">Slides</a></strong></p>
<p><strong>Targeted participant</strong></p>
<ul>
<li>People with NDN code development experience</li>
</ul>
<p><strong>How does your proposal benefit NDN?</strong></p>
<ul>
<li>Achieve trust and more fine-grained authentication in NDN IoT scenarios.</li>
</ul>
<p><strong>Briefly describe the tasks</strong></p>
<ul>
<li>Implement a simplified version of trust schema in NDN-RIOT</li>
</ul>
<p><strong>Any specific tools or language</strong></p>
<ul>
<li>C</li>
</ul>
<p><strong>Expected outcomes</strong></p>
<ul>
<li>A live demo to show the difference of whether to have a trust policy or not.</li>
</ul>
</section>
<footer>
</footer>
</article>
</div>
<aside id="sidebar" class="col-xs-8 col-sm-5 col-md-4 col-lg-3">
<section id="sidebar-github" class="well hidden-print">
<h3><a style="color:black" href="https://github.com/7th-ndn-hackathon" target="_blank"><i class="fa fa-github"></i></a> Hackathon Repositories</h3>