text:
of the {{PARAMESH AMR Software Package}} and {{Some}} of {{Its Applications}}},
  booktitle = {Adaptive {{Mesh Refinement}} - {{Theory}} and {{Applications}}},
  author = {Olson, Kevin M. and MacNeice, Peter},
  editor = {Plewa, Tomasz and Linde, Timur and Gregory Weirs, V.},
  year = {2005},
  volume = {41},
  pages = {315--330},
  publisher = {{Springer-Verlag}},
  address = {{Berlin/Heidelberg}},
  doi = {10.1007/3-540-27039-6_22},
  url = {http://link.springer.com/10.1007/3-540-27039-6_22},
  urldate = {2019-12-25},
  isbn = {978-3-540-21147-1},
  language = {en},
  itemID = 571
}
% == BibTeX quality report for Overview2005:
% ? Title looks like it was stored in title-case in Zotero

@book{Oxide1999,
  title = {Oxide Cathode Coatings for Thermal Electron Emission},
  author = {Inc, Transene Company},
  year = {1999},
  itemID = 1280
}
% == BibTeX quality report for Oxide1999:
% Missing required field 'publisher'

@book{oxidecoated1951,
  title = {The Oxide-Coated Cathode},
  author = {Herrmann, Gunther and Wagener, S.},
  year = {1951},
  publisher = {{Chapman \& Hall London}},
  itemID = 1204
}

@article{Parallel2003,
  title = {Parallel Multigrid Smoothing: Polynomial versus {{Gauss}}–{{Seidel}}},
  shorttitle = {Parallel Multigrid Smoothing},
  author = {Adams, Mark and Brezina, Marian and Hu, Jonathan and Tuminaro, Ray},
  year = {2003},
  month = jul,
  volume = {188},
  pages = {593--610},
  issn = {00219991},
  doi = {10.1016/S0021-9991(03)00194-3},
  url = {https://linkinghub.elsevier.com/retrieve/pii/S0021999103001943},
  urldate = {2020-01-06},
  journal = {Journal of Computational Physics},
  language = {en},
  number = {2},
  itemID = 649
}

@inproceedings{Parallel2010,
  title = {A {{Parallel Preconditioned Conjugate Gradient Solver}} for the {{Poisson Problem}} on a {{Multi}}-{{GPU Platform}}},
  booktitle = {2010 18th {{Euromicro Conference}} on {{Parallel}}, {{Distributed}} and {{Network}}-Based {{Processing}}},
  author = {Ament, Marco and Knittel, Gunter and Weiskopf, Daniel and Strasser, Wolfgang},
  year = {2010},
  month = feb,
  pages = {583--592},
  publisher = {{IEEE}},
  address = {{Pisa, Italy}},
  doi = {10.1109/PDP.2010.51},
  url = {http://ieeexplore.ieee.org/document/5452414/},
  urldate = {2020-01-06},
  isbn = {978-1-4244-5672-7},
  language = {en},
  itemID = 778
}
% == BibTeX quality report for Parallel2010:
% ? Unsure about the formatting of the booktitle
% ? Title looks like it was stored in title-case in Zotero

@inproceedings{parallel2010,
  title = {A Parallel Multigrid {{Poisson}} Solver for Fluids Simulation on Large Grids},
  booktitle = {Proceedings of the 2010 {{ACM SIGGRAPH}}/{{Eurographics Symposium}} on {{Computer Animation}}},
  author = {McAdams, A. and Sifakis, E. and Teran, J.},
  year = {2010},
  pages = {65--74},
  itemID = 1239
}

@article{Particleincell2007,
  title = {Particle-in-Cell Beam Dynamics Simulations with a Wavelet-Based {{Poisson}} Solver},
  author = {Terzić, Balša and Pogorelov, Ilya V. and Bohn, Courtlandt L.},
  year = {2007},
  month = mar,
  volume = {10},
  pages = {034201},
  issn = {1098-4402},
  doi = {10/d9hw73},
  url = {https://link.aps.org/doi/10.1103/PhysRevSTAB.10.034201},
  urldate = {2020-03-10},
  journal = {Physical Review Special Topics - Accelerators and Beams},
  language = {en},
  number = {3},
  itemID = 1556
}

@misc{Performance,
  title = {Performance},
  url = {http://boostorg.github.io/compute/boost_compute/performance.html},
  urldate = {2019-12-26},
  itemID = 583
}

@misc{PERIODIC,
  title = {{{PERIODIC ELECTROSTATICALLY FOCUSED BEAM TUBES}}},
  itemID = 59
}
% == BibTeX quality report for PERIODIC:
% ? Title looks like it was stored in title-case in Zotero

@article{Periodic2013,
  title = {Periodic Solutions of the {{Brillouin}} Electron Beam Focusing Equation},
  author = {Zamora, Manuel and Garrione, Maurizio},
  year = {2013},
  month = oct,
  volume = {13},
  pages = {961--975},
  issn = {1534-0392},
  doi = {10.3934/cpaa.2014.13.961},
  url = {http://www.aimsciences.org/journals/displayArticlesnew.jsp?paperID=9079},
  urldate = {2019-10-22},
  journal = {Communications on Pure and Applied Analysis},
  language = {en},
  number = {2},
  itemID = 117
}

@book{PETSc2018,
  title = {{{PETSc Web}} Page},
  author = {Balay, S. and Abhyankar, S. and Adams, M. Â F. and Brown, J. and Brune, P. and Buschelman, K. and Dalcin, L. and Dener, A. and Eijkhout, V. and Gropp, W. Â D. and Kaushik, D. and Knepley, M. Â G. and May, D. Â A. and McInnes, L. C. and Mills, R. T. and Munson, T. and Rupp, K. and Sanan, P. and Smith, B. Â F. and Zampini, S. and Zhang, H.},
  year = {2018},
  itemID = 1141
}
% == BibTeX quality report for PETSc2018:
% Missing required field 'publisher'

@misc{Pfeiffer,
  title = {Pfeiffer {{IKR}} 251 Gauge},
  itemID = 10
}

@misc{Physicala,
  title = {Physical {{Structure}} and {{C}}++ – {{Part}} 1: {{A First Look}} – {{Games}} from {{Within}}},
  shorttitle = {Physical {{Structure}} and {{C}}++ – {{Part}} 1},
  url = {http://gamesfromwithin.com/physical-structure-and-c-part-1-a-first-look},
  urldate = {2020-03-05},
  language = {en-US},
  itemID = 1109
}
% == BibTeX quality report for Physicala:
% ? Title looks like it was stored in title-case in Zotero

@article{Pizza,
  title = {Pizza.Py {{Users Manual}}},
  pages = {87},
  language = {en},
  itemID = 773
}
% == BibTeX quality report for Pizza:
% Missing required field 'author'
% Missing required field 'journal'
% Missing required field 'year'

@techreport{Plasma2000,
  title = {Plasma Simulation Studies Using Multilevel Physics Models},
  author = {Park, W. and Belova, E. V. and Fu, G. Y.},
  year = {2000},
  month = jan,
  institution = {{Princeton Plasma Physics Lab., Princeton, NJ (US)}},
  doi = {10.2172/750291},
  url = {https://www.osti.gov/biblio/750291-29d4ay/webviewable/},
  urldate = {2019-12-25},
  language = {English},
  number = {PPPL-3423},
  itemID = 574
}

@book{Potential,
  title = {Potential \& {{Potential Energy}}: {{Lecture}} 10: {{Electromagnetic Theory}}},
  author = {Professor D. K. Ghosh, Physics Department},
  itemID = 1253
}
% == BibTeX quality report for Potential:
% Missing required field 'publisher'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{power2006,
  title = {The Power of 10: Rules for Developing Safety-Critical Code},
  author = {Holzmann, G. J.},
  year = {2006},
  volume = {39},
  pages = {95--99},
  publisher = {{Ieee}},
  journal = {Computer},
  number = {6},
  itemID = 1209
}

@article{present,
  title = {The Present Invention Proposes to Reduce the Over-All Length of a Cathode-Ray Tube by Providing a Focusing Ar},
  author = {Syster, Electrostatec Focusng},
  pages = {6},
  language = {en},
  itemID = 113
}
% == BibTeX quality report for present:
% Missing required field 'journal'
% Missing required field 'year'

@inproceedings{Producing2009,
  title = {Producing Wrong Data without Doing Anything Obviously Wrong!},
  booktitle = {{{ASPLOS}}},
  author = {Mytkowicz, Todd and Diwan, Amer and Hauswirth, Matthias and Sweeney, Peter F.},
  year = {2009},
  doi = {10.1145/1508244.1508275},
  itemID = 799
}
% == BibTeX quality report for Producing2009:
% ? Unsure about the formatting of the booktitle

@article{Progressa,
  title = {Progress {{Report}} on {{Diffusion Pump Development}}},
  author = {Milleron, N},
  pages = {8},
  doi = {10.1016/0042-207X(63)90543-8},
  language = {en},
  itemID = 7268
}
% == BibTeX quality report for Progressa:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{Proper2009,
  title = {Proper {{Cell Dimension}} and {{Number}} of {{Particles Per Cell}} for {{DSMC}}},
  author = {Sun, Z X and He, Y L and Tao, W Q},
  year = {2009},
  pages = {6},
  doi = {10/b2g7jn},
  language = {en},
  itemID = 1476
}
% == BibTeX quality report for Proper2009:
% Missing required field 'journal'
% ? Title looks like it was stored in title-case in Zotero

@article{Proper2011,
  title = {Proper Cell Dimension and Number of Particles per Cell for {{DSMC}}},
  author = {Sun, Z-X and Tang, Z. and He, Y-L and Tao, W-Q},
  year = {2011},
  volume = {50},
  pages = {1--9},
  publisher = {{Elsevier}},
  journal = {Computers \& Fluids},
  number = {1},
  itemID = 1270
}

@misc{PropertiesOfGasesLectureNotes,
  title = {{{PropertiesOfGasesLectureNotes}}.Pdf},
  itemID = 38
}
% == BibTeX quality report for PropertiesOfGasesLectureNotes:
% ? Title looks like it was stored in lower-case in Zotero

@article{Rapid2016,
  title = {Rapid, {{Reliable Shape Setting}} of {{Superelastic Nitinol}} for {{Prototyping Robots}}},
  author = {Gilbert, Hunter B. and Webster, Robert J.},
  year = {2016},
  month = jan,
  volume = {1},
  pages = {98--105},
  issn = {2377-3766, 2377-3774},
  doi = {10/gfkdmd},
  url = {https://ieeexplore.ieee.org/document/7353136/},
  urldate = {2020-03-10},
  journal = {IEEE Robotics and Automation Letters},
  language = {en},
  number = {1},
  itemID = 1633
}
% == BibTeX quality report for Rapid2016:
% ? Title looks like it was stored in title-case in Zotero

@article{Rebuilding2012,
  title = {Rebuilding of {{Rothe}}'s Nozzle Measurements with {{OpenFOAM}} Software},
  author = {Arlemark, Erik and Markelov, Gennady and Nedea, Silvia},
  year = {2012},
  month = may,
  volume = {362},
  pages = {012040},
  issn = {1742-6596},
  doi = {10.1088/1742-6596/362/1/012040},
  url = {http://stacks.iop.org/1742-6596/362/i=1/a=012040?key=crossref.e00b8030e0bcd56bb3853f86bb1a3a4d},
  urldate = {2019-10-22},
  journal = {Journal of Physics: Conference Series},
  language = {en},
  itemID = 75
}

@misc{Recombination,
  title = {Recombination {{Coefficients}} - {{AstroBaki}}},
  url = {https://casper.ssl.berkeley.edu/astrobaki/index.php/Recombination_Coefficients},
  urldate = {2020-01-28},
  itemID = 894
}
% == BibTeX quality report for Recombination:
% ? Title looks like it was stored in title-case in Zotero

@misc{ref,
  title = {Ref\_9.Pdf},
  itemID = 826
}
% == BibTeX quality report for ref:
% ? Title looks like it was stored in lower-case in Zotero

@misc{refa,
  title = {Ref\_8.Pdf},
  itemID = 825
}
% == BibTeX quality report for refa:
% ? Title looks like it was stored in lower-case in Zotero

@misc{refb,
  title = {Ref\_39.Pdf\_.Pdf},
  itemID = 812
}
% == BibTeX quality report for refb:
% ? Title looks like it was stored in lower-case in Zotero

@article{Results1985,
  title = {Results of {{Simulations}} of {{High}}-{{Power Klystrons}}},
  author = {Eppley, K. and Yu, S. and Drobot, A. and Herrmannsfeldt, W. and Hanerfeld, H. and Nielsen, D. and Brandon, S. and Melendez, R.},
  year = {1985},
  month = oct,
  volume = {32},
  pages = {2903--2905},
  issn = {0018-9499},
  doi = {10.1109/TNS.1985.4334221},
  url = {http://ieeexplore.ieee.org/document/4334221/},
  urldate = {2019-10-22},
  journal = {IEEE Transactions on Nuclear Science},
  language = {en},
  number = {5},
  itemID = 3
}
% == BibTeX quality report for Results1985:
% ? Title looks like it was stored in title-case in Zotero

@article{REVIEW,
  title = {{{REVIEW OF QUALIFICATION ACTIVITIES ON THE NEUTRALIZER FOR THE RIT}} 10 {{ION THRUSTER}}},
  author = {Rohden, H Von},
  pages = {8},
  language = {en},
  itemID = 74
}
% == BibTeX quality report for REVIEW:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{review1969,
  title = {A Review of Thermionic Cathodes},
  author = {Jenkins, Ro},
  year = {1969},
  month = jan,
  volume = {19},
  pages = {353--359},
  issn = {0042207X},
  doi = {10/bwsmj8},
  url = {https://linkinghub.elsevier.com/retrieve/pii/S0042207X69800771},
  urldate = {2020-03-10},
  journal = {Vacuum},
  language = {en},
  number = {8},
  itemID = 1428
}

@misc{ROOT,
  title = {{{ROOT}}: Tutorials/Graphs/Annotation3d.{{C File Reference}}},
  url = {https://root.cern/doc/v612/annotation3d_8C.html},
  urldate = {2019-11-13},
  itemID = 412
}

@misc{RootTalk,
  title = {{{RootTalk}}: {{Re}}: [{{ROOT}}] {{How}} to Specify the Compiler},
  url = {https://root.cern.ch/root/roottalk/roottalk02/3587.html},
  urldate = {2019-12-26},
  itemID = 587
}

@article{Section,
  title = {Section 4: {{Poisson}}s {{Equation}}},
  author = {Evans, Martin},
  itemID = 1238
}
% == BibTeX quality report for Section:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{Setting2014,
  title = {Setting up {{OpenFOAM}} in Order to Model Gas Flow through a Nozzle into a Vacuum},
  author = {Meriame Berboucha and Mangles, Stuart and Najmudin, Zulfikar},
  year = {2014},
  doi = {10.13140/RG.2.1.4367.5688},
  url = {http://rgdoi.net/10.13140/RG.2.1.4367.5688},
  urldate = {2019-10-21},
  language = {en},
  itemID = 76
}
% == BibTeX quality report for Setting2014:
% Missing required field 'journal'

@inproceedings{SfePy2014,
  title = {{{SfePy}} – {{Write Your Own FE Application}}},
  booktitle = {Proceedings of the 6th {{European Conference}} on {{Python}} in {{Science}} ({{EuroSciPy}} 2013)},
  author = {Cimrman, R.},
  editor = {de Buyl, P. and Varoquaux, N.},
  year = {2014},
  pages = {65--70},
  itemID = 1155
}
% == BibTeX quality report for SfePy2014:
% ? Title looks like it was stored in title-case in Zotero

@article{Silicon,
  title = {Silicon Detector Presentation},
  author = {Krammer, M and Edit, F Hartmann},
  pages = {71},
  language = {en},
  itemID = 364
}
% == BibTeX quality report for Silicon:
% Missing required field 'journal'
% Missing required field 'year'

@article{Silicone1954,
  title = {Silicone Oils for Lubricating Steel versus Steel},
  author = {Gainer, G. C.},
  year = {1954},
  volume = {46},
  pages = {2355--2362},
  publisher = {{ACS Publications}},
  doi = {10.1021/ie50539a041},
  journal = {Industrial \& Engineering Chemistry},
  number = {11},
  itemID = 1184
}

@article{Simple1935,
  title = {A {{Simple High Speed Oil Diffusion Pump}}},
  author = {Zabel, R. M.},
  year = {1935},
  month = feb,
  volume = {6},
  pages = {54--55},
  issn = {0034-6748, 1089-7623},
  doi = {10.1063/1.1751930},
  url = {http://aip.scitation.org/doi/10.1063/1.1751930},
  urldate = {2021-03-14},
  journal = {Review of Scientific Instruments},
  language = {en},
  number = {2},
  itemID = 7265
}
% == BibTeX quality report for Simple1935:
% ? Title looks like it was stored in title-case in Zotero

@article{Simple2001,
  title = {Simple {{Theory}} for the {{Two}}-{{Dimensional Child}}-{{Langmuir Law}}},
  author = {Lau, Y. Y.},
  year = {2001},
  month = dec,
  volume = {87},
  pages = {278301},
  issn = {0031-9007, 1079-7114},
  doi = {10/cdkdcq},
  url = {https://link.aps.org/doi/10.1103/PhysRevLett.87.278301},
  urldate = {2020-03-10},
  journal = {Physical Review Letters},
  language = {en},
  number = {27},
  itemID = 1345
}
% == BibTeX quality report for Simple2001:
% ? Title looks like it was stored in title-case in Zotero

@inproceedings{simple2004,
  title = {A Simple Finite Difference Approach Using Unstructured Meshes from {{FEM}} Mesh Generators},
  booktitle = {15th {{International Conference}} on {{Microwaves}}, {{Radar}} and {{Wireless Communications}} ({{IEEE Cat}}. {{No}}.{{04EX824}})},
  author = {Fernandez, F.A. and Kulas, L.},
  year = {2004},
  pages = {585--588},
  publisher = {{IEEE}},
  address = {{Warsaw, Poland}},
  doi = {10/cm6n5z},
  url = {http://ieeexplore.ieee.org/document/1357099/},
  urldate = {2020-03-10},
  isbn = {978-83-906662-7-3},
  language = {en},
  itemID = 1625
}
% == BibTeX quality report for simple2004:
% ? Unsure about the formatting of the booktitle

@article{Simple2011,
  title = {Simple Analytical Method to Design Electrostatic Einzel Lens},
  author = {Rashid, M. H.},
  year = {2011},
  volume = {56},
  pages = {1132--1133},
  journal = {DAE Symp. Nucl. Phys.},
  itemID = 1255
}
% == BibTeX quality report for Simple2011:
% ? Possibly abbreviated journal title DAE Symp. Nucl. Phys.

@misc{Simulating,
  title = {Simulating {{Thin Film Growth}} via {{Vapor Deposition}} | {{QuantumATK Q}}-2019.12 {{Documentation}}},
  url = {https://docs.quantumatk.com/tutorials/deposition/deposition.html},
  urldate = {2019-12-29},
  itemID = 600
}
% == BibTeX quality report for Simulating:
% ? Title looks like it was stored in title-case in Zotero

@article{Simulating2014,
  title = {Simulating Gas Jets with {{OpenFOAM}}},
  author = {M Berboucha},
  year = {2014},
  doi = {10.13140/RG.2.1.2794.7044},
  url = {http://rgdoi.net/10.13140/RG.2.1.2794.7044},
  urldate = {2019-10-22},
  language = {en},
  itemID = 72
}
% == BibTeX quality report for Simulating2014:
% Missing required field 'journal'

@article{simulation,
  title = {The Simulation of Gas Expansion into Vacuum},
  author = {Pantazis, Sarantis},
  pages = {23},
  language = {en},
  itemID = 70
}
% == BibTeX quality report for simulation:
% Missing required field 'journal'
% Missing required field 'year'

@article{Singlelevel1988,
  title = {Single-Level Multigrid},
  author = {Hunt, Roland},
  year = {1988},
  month = aug,
  volume = {23},
  pages = {133--139},
  issn = {03770427},
  doi = {10.1016/0377-0427(88)90275-0},
  url = {https://linkinghub.elsevier.com/retrieve/pii/0377042788902750},
  urldate = {2020-03-10},
  journal = {Journal of Computational and Applied Mathematics},
  language = {en},
  number = {2},
  itemID = 1415
}

@misc{SLAC,
  title = {{{SLAC High}}-Power Klystron},
  itemID = 56
}

@article{Smallangle2009,
  title = {Small-Angle {{Coulomb}} Collision Model for Particle-in-Cell Simulations},
  author = {Lemons, Don S. and Winske, Dan and Daughton, William and Albright, Brian},
  year = {2009},
  month = mar,
  volume = {228},
  pages = {1391--1403},
  issn = {00219991},
  doi = {10/b63vqh},
  url = {https://linkinghub.elsevier.com/retrieve/pii/S0021999108005615},
  urldate = {2020-03-10},
  journal = {Journal of Computational Physics},
  language = {en},
  number = {5},
  itemID = 1550
}

@article{SoAx2018,
  title = {{{SoAx}}: {{A}} Generic {{C}}++ {{Structure}} of {{Arrays}} for Handling {{Particles}} in {{HPC Codes}}},
  shorttitle = {{{SoAx}}},
  author = {Homann, Holger and Laenen, Francois},
  year = {2018},
  month = mar,
  volume = {224},
  pages = {325--332},
  issn = {00104655},
  doi = {10.1016/j.cpc.2017.11.015},
  url = {http://arxiv.org/abs/1710.03462},
  urldate = {2019-12-28},
  archiveprefix = {arXiv},
  eprint = {1710.03462},
  eprinttype = {arxiv},
  journal = {Computer Physics Communications},
  itemID = 591
}

@article{SOFTSPHERE,
  title = {A {{SOFT}}-{{SPHERE MODEL FOR LIQUID METALS}}},
  author = {Young, David A},
  pages = {18},
  language = {en},
  itemID = 97
}
% == BibTeX quality report for SOFTSPHERE:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@misc{Softwarea,
  title = {Software Quality Isn't Optional},
  url = {https://blog.guilhermegarnier.com/2015/11/software-quality-isnt-optional/},
  urldate = {2019-11-22},
  journal = {Guilherme Garnier},
  language = {en},
  itemID = 442
}

@article{Softwareb,
  title = {Software and the {{Challenge}} of {{Flight Control}}},
  url = {https://pdfs.semanticscholar.org/8821/7db6785552ea7ae1b7d91a7e052bd9f67e27.pdf},
  itemID = 1132
}
% == BibTeX quality report for Softwareb:
% Missing required field 'author'
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{Solid1983,
  title = {The {{Solid Angle}} of a {{Plane Triangle}}},
  author = {Van Oosterom, A. and Strackee, J.},
  year = {1983},
  month = feb,
  volume = {BME-30},
  pages = {125--126},
  issn = {0018-9294},
  doi = {10.1109/TBME.1983.325207},
  url = {http://ieeexplore.ieee.org/document/4121581/},
  urldate = {2020-03-30},
  journal = {IEEE Transactions on Biomedical Engineering},
  number = {2},
  itemID = 2230
}
% == BibTeX quality report for Solid1983:
% ? Title looks like it was stored in title-case in Zotero

@misc{SolveSpace,
  title = {{{SolveSpace}} - {{Examples}}},
  url = {http://solvespace.com/examples.pl},
  urldate = {2020-02-19},
  itemID = 1016
}
% == BibTeX quality report for SolveSpace:
% ? Title looks like it was stored in title-case in Zotero

@article{Solving1995,
  title = {Solving the {{Discrete Poisson Equation}} Using {{Jacobi}}, {{SOR}} and the {{FFT}}},
  author = {Demmel, James},
  year = {1995},
  itemID = 1216
}
% == BibTeX quality report for Solving1995:
% Missing required field 'journal'

@article{Solvinga,
  title = {Solving the Generalized Poisson Equation Using the Finite-Difference Method ({{FDM}})},
  author = {Nagel, J. R.},
  url = {https://my.ece.utah.edu/~ece6340/LECTURES/Feb1/Nagel%202012%20-%20Solving%20the%20Generalized%20Poisson%20Equation%20using%20FDM.pdf},
  itemID = 1246
}
% == BibTeX quality report for Solvinga:
% Missing required field 'journal'
% Missing required field 'year'

@article{Space,
  title = {Space Charge Neutralization and Its Dynamic Effects},
  author = {Duperrier, R},
  pages = {5},
  language = {en},
  itemID = 787
}
% == BibTeX quality report for Space:
% Missing required field 'journal'
% Missing required field 'year'

@inproceedings{Space1998,
  title = {Space Applications of Spindt Cathode Field Emission Arrays},
  booktitle = {6th {{Spacecraft Charging Technology}}},
  author = {Anguero, VM and Adamo, RC},
  year = {1998},
  pages = {347--352},
  itemID = 1728
}
% == BibTeX quality report for Space1998:
% ? Unsure about the formatting of the booktitle

@article{Sparselizardthe2017,
  title = {Sparselizard-the User Friendly Finite Element C++ Library},
  author = {Halbach, A.},
  year = {2017},
  url = {http://www.sparselizard.org/},
  itemID = 1198
}
% == BibTeX quality report for Sparselizardthe2017:
% Missing required field 'journal'

@misc{SPARTA,
  title = {{{SPARTA Direct Simulation Monte Carlo Simulator}}},
  url = {https://sparta.sandia.gov/},
  urldate = {2020-02-28},
  itemID = 1086
}
% == BibTeX quality report for SPARTA:
% ? Title looks like it was stored in title-case in Zotero

@article{Speeding2019,
  title = {Speeding {{Up Simulations By Slowing Down Particles}}: {{Speed}}-{{Limited Particle}}-{{In}}-{{Cell Simulation}}},
  shorttitle = {Speeding {{Up Simulations By Slowing Down Particles}}},
  author = {Werner, Gregory R. and Jenkins, Thomas G. and Chap, Andrew M. and Cary, John R.},
  year = {2019},
  month = jan,
  url = {http://arxiv.org/abs/1511.08225},
  urldate = {2020-03-10},
  archiveprefix = {arXiv},
  eprint = {1511.08225},
  eprinttype = {arxiv},
  journal = {arXiv:1511.08225 [physics]},
  language = {en},
  primaryclass = {physics},
  itemID = 1578
}
% == BibTeX quality report for Speeding2019:
% ? Possibly abbreviated journal title arXiv:1511.08225 [physics]
% ? Title looks like it was stored in title-case in Zotero

@article{Stateoftheart1991,
  title = {State-of-the-Art of Radio-Frequency Ion Thrusters},
  author = {Groh, K. H. and Loebt, H. W.},
  year = {1991},
  month = jul,
  volume = {7},
  pages = {573--579},
  issn = {0748-4658, 1533-3876},
  doi = {10.2514/3.23364},
  url = {http://arc.aiaa.org/doi/10.2514/3.23364},
  urldate = {2019-10-21},
  journal = {Journal of Propulsion and Power},
  language = {en},
  number = {4},
  itemID = 73
}

@article{Stochastic,
  title = {Stochastic {{PArallel Rarefied}}-Gas {{Time}}-Accurate {{Analyzer}}},
  pages = {27},
  language = {en},
  itemID = 1089
}
% == BibTeX quality report for Stochastic:
% Missing required field 'author'
% Missing required field 'journal'
% Missing required field 'year'

@article{Studies1999,
  title = {Studies on White Anodizing on Aluminum Alloy for Space Applications},
  author = {Siva Kumar, C and Mayanna, S.M and Mahendra, K.N and Sharma, A.K and Uma Rani, R},
  year = {1999},
  month = oct,
  volume = {151},
  pages = {280--286},
  issn = {01694332},
  doi = {10.1016/S0169-4332(99)00290-1},
  url = {https://linkinghub.elsevier.com/retrieve/pii/S0169433299002901},
  urldate = {2019-12-02},
  journal = {Applied Surface Science},
  language = {en},
  number = {3-4},
  itemID = 457
}

@article{Studying2008,
  title = {Studying Charged Particle Optics: An Undergraduate Course},
  shorttitle = {Studying Charged Particle Optics},
  author = {Ovalle, V and Otomar, D R and Pereira, J M and Ferreira, N and Pinho, R R and Santos, A C F},
  year = {2008},
  month = mar,
  volume = {29},
  pages = {251--256},
  issn = {0143-0807, 1361-6404},
  doi = {10.1088/0143-0807/29/2/007},
  url = {http://stacks.iop.org/0143-0807/29/i=2/a=007?key=crossref.9e219e00e663477d29fce6325f78c8a1},
  urldate = {2019-10-22},
  journal = {European Journal of Physics},
  language = {en},
  number = {2},
  itemID = 108
}

@article{Superlubricity2004,
  title = {Superlubricity of {{Graphite}}},
  author = {Dienwiebel, Martin and Verhoeven, Gertjan S. and Pradeep, Namboodiri and Frenken, Joost W. M. and Heimberg, Jennifer A. and Zandbergen, Henny W.},
  year = {2004},
  month = mar,
  volume = {92},
  pages = {126101},
  issn = {0031-9007, 1079-7114},
  doi = {10.1103/PhysRevLett.92.126101},
  url = {https://link.aps.org/doi/10.1103/PhysRevLett.92.126101},
  urldate = {2019-10-22},
  journal = {Physical Review Letters},
  language = {en},
  number = {12},
  itemID = 71
}
% == BibTeX quality report for Superlubricity2004:
% ? Title looks like it was stored in title-case in Zotero

@article{Technical2011,
  title = {Technical Support to the National Highway Traffic Safety Administration (Nhtsa) on the Reported Toyota Motor Corporation (Tmc) Unintended Acceleration (Ua) Investigation},
  author = {Kirsch, M. T. and Regenie, V. A. and Aguilar, M. L. and Gonzalez, O. and Bay, M. and Davis, M. L. and Null, C. H. and Scully, R. C. and Kichak, R. A.},
  year = {2011},
  journal = {NASA Engineering and Safety Center Technical Assessment Report},
  itemID = 1225
}

@misc{testing,
  title = {Testing - {{What}} Should You Test with Unit Tests?},
  url = {https://softwareengineering.stackexchange.com/questions/750/what-should-you-test-with-unit-tests},
  urldate = {2020-03-05},
  journal = {Software Engineering Stack Exchange},
  itemID = 1111
}

@misc{There,
  title = {There's {{Plenty}} of {{Room}} at the {{Bottom}}},
  author = {{Feynman}},
  url = {https://www.zyvex.com/nanotech/feynman.html},
  urldate = {2020-03-07},
  itemID = 1120
}
% == BibTeX quality report for There:
% ? Title looks like it was stored in title-case in Zotero

@article{Thermal,
  title = {Thermal {{Properties}} of {{G}}-348 {{Graphite}}},
  author = {McEligot, Donald M and Swank, W David and Cottle, David L and Valentin, Francisco I},
  pages = {23},
  language = {en},
  itemID = 765
}
% == BibTeX quality report for Thermal:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{Thermal1970,
  title = {Thermal Conductivity, Electric Resistivity and Specific Heat of Dense Graphites},
  author = {Lutcov, A.I and Volga, V.I and Dymov, B.K},
  year = {1970},
  month = dec,
  volume = {8},
  pages = {753--760},
  issn = {00086223},
  doi = {10.1016/0008-6223(70)90100-4},
  url = {https://linkinghub.elsevier.com/retrieve/pii/0008622370901004},
  urldate = {2019-10-21},
  journal = {Carbon},
  language = {en},
  number = {6},
  itemID = 69
}

@article{Title,
  title = {Title: {{A Fast Double Precision CFD Code}} Using {{CUDA}}},
  author = {Cohen, Jonathan M and Molemaker, M Jeroen},
  pages = {17},
  language = {en},
  itemID = 996
}
% == BibTeX quality report for Title:
% Missing required field 'journal'
% Missing required field 'year'

@article{Tungsten1962,
  title = {Tungsten, Thoriated-Tungsten, and Thoria Emitters},
  author = {Harbaugh, W. E.},
  year = {1962},
  pages = {90--98},
  publisher = {{Radio Corp. of America Harrison, NJ}},
  url = {http://electrontubestore.com/thoriated-tungsten.pdf},
  journal = {Electron Tube Design},
  itemID = 1201
}

@article{ultrahigh1960,
  title = {An Ultra-High Vacuum System Using an Oil-Diffusion Pump with a Non-Refrigerated Isolation Trap},
  author = {Wiesendanger, H. U. D. and Pasternak, R. A.},
  year = {1960},
  month = oct,
  volume = {16},
  pages = {467--468},
  issn = {0014-4754, 1420-9071},
  doi = {10/fkvggq},
  url = {http://link.springer.com/10.1007/BF02171160},
  urldate = {2020-03-10},
  journal = {Experientia},
  language = {en},
  number = {10},
  itemID = 1649
}

@misc{Understanding,
  title = {Understanding {{PCIe Configuration}} for {{Maximum Performance}}},
  url = {https://community.mellanox.com/s/article/understanding-pcie-configuration-for-maximum-performance},
  urldate = {2020-02-19},
  itemID = 1012
}
% == BibTeX quality report for Understanding:
% ? Title looks like it was stored in title-case in Zotero

@article{Understanding2002,
  title = {Understanding Piezoelectric Transformers in {{CCFL}} Backlight Applications},
  author = {Day, Michael and Lee, Bang S},
  year = {2002},
  pages = {7},
  language = {en},
  itemID = 103
}
% == BibTeX quality report for Understanding2002:
% Missing required field 'journal'

@inproceedings{Understanding2017,
  title = {Understanding Misunderstandings in Source Code},
  booktitle = {Proceedings of the 2017 11th {{Joint Meeting}} on {{Foundations}} of {{Software Engineering}} - {{ESEC}}/{{FSE}} 2017},
  author = {Gopstein, Dan and Iannacone, Jake and Yan, Yu and DeLong, Lois and Zhuang, Yanyan and Yeh, Martin K.-C. and Cappos, Justin},
  year = {2017},
  pages = {129--139},
  publisher = {{ACM Press}},
  address = {{Paderborn, Germany}},
  doi = {10/ggnn25},
  url = {http://dl.acm.org/citation.cfm?doid=3106237.3106264},
  urldate = {2020-03-10},
  isbn = {978-1-4503-5105-8},
  language = {en},
  itemID = 1591
}

@misc{Unified2013,
  title = {Unified {{Memory}} in {{CUDA}} 6},
  year = {2013},
  month = nov,
  url = {https://devblogs.nvidia.com/unified-memory-in-cuda-6/},
  urldate = {2020-03-02},
  journal = {NVIDIA Developer Blog},
  language = {en-US},
  itemID = 1104
}
% == BibTeX quality report for Unified2013:
% ? Title looks like it was stored in title-case in Zotero

@article{Unigrid,
  title = {Unigrid for {{Multigrid Simulation}}},
  author = {McCormick, S F and Ruge, J W},
  pages = {20},
  doi = {10/bpbjhz},
  language = {en},
  itemID = 1621
}
% == BibTeX quality report for Unigrid:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

@article{Unigrid1982,
  title = {Unigrid Methods for Boundary Value Problems with Nonrectangular Domains},
  author = {Holland, W and McCormick, S and Ruge, J},
  year = {1982},
  month = dec,
  volume = {48},
  pages = {412--422},
  issn = {00219991},
  doi = {10/bfjm9t},
  url = {https://linkinghub.elsevier.com/retrieve/pii/0021999182900596},
  urldate = {2020-03-10},
  journal = {Journal of Computational Physics},
  language = {en},
  number = {3},
  itemID = 1582
}

@misc{US2418487,
  title = {{{US2418487}}.Pdf},
  itemID = 61
}
% == BibTeX quality report for US2418487:
% ? Title looks like it was stored in lower-case in Zotero

@misc{US2754449,
  title = {{{US2754449}}.Pdf},
  itemID = 60
}
% == BibTeX quality report for US2754449:
% ? Title looks like it was stored in lower-case in Zotero

@article{Use1957,
  title = {Use of {{Oxide Cathodes}} in {{Demountable Vacuum Systems}}},
  author = {Haas, George A. and Jensen, John T.},
  year = {1957},
  month = dec,
  volume = {28},
  pages = {1007--1010},
  issn = {0034-6748, 1089-7623},
  doi = {10/fww32s},
  url = {http://aip.scitation.org/doi/10.1063/1.1715789},
  urldate = {2020-03-10},
  journal = {Review of Scientific Instruments},
  language = {en},
  number = {12},
  itemID = 1581
}
% == BibTeX quality report for Use1957:
% ? Title looks like it was stored in title-case in Zotero

@article{Use1987,
  title = {Use of {{Hard Anodized Aluminum}} for {{Electrical Isolation}}},
  author = {Mielke, Ernest W.},
  year = {1987},
  itemID = 1177
}
% == BibTeX quality report for Use1987:
% Missing required field 'journal'
% ? Title looks like it was stored in title-case in Zotero

@article{Using2014,
  title = {Using {{Parallel High Voltage Multipliers}} for {{100kV Downhole Neutron Generator Power Supplies}}},
  author = {Hanington, Gary},
  year = {2014},
  month = jan,
  volume = {2014},
  pages = {000006--000012},
  issn = {2380-4491},
  doi = {10.4071/HITEC-TA12},
  url = {http://imapsource.org/doi/10.4071/HITEC-TA12},
  urldate = {2019-10-22},
  journal = {Additional Conferences (Device Packaging, HiTEC, HiTEN, \& CICMT)},
  language = {en},
  number = {HITEC},
  itemID = 67
}
% == BibTeX quality report for Using2014:
% ? Title looks like it was stored in title-case in Zotero

@article{Vacuum1986,
  title = {Vacuum Pumps and Systems: {{A}} Review of Current Practice},
  author = {Giles, S.},
  year = {1986},
  url = {https://ntrs.nasa.gov/search.jsp?R=19880001457},
  itemID = 1187
}
% == BibTeX quality report for Vacuum1986:
% Missing required field 'journal'

@article{Vacuum2015,
  title = {Vacuum {{Die Casting Process}} and {{Simulation}} for {{Manufacturing}} 0.8 Mm-{{Thick Aluminum Plate}} with {{Four Maze Shapes}}},
  author = {Jin, Chul and Jang, Chang and Kang, Chung},
  year = {2015},
  month = feb,
  volume = {5},
  pages = {192--205},
  issn = {2075-4701},
  doi = {10/ggnn2v},
  url = {http://www.mdpi.com/2075-4701/5/1/192},
  urldate = {2020-03-10},
  journal = {Metals},
  language = {en},
  number = {1},
  itemID = 1471
}

@article{Variation2013,
  title = {Variation of Temperature Dependence of Electrical Resistivity with Crystal Structure of Artificial Graphite Products},
  author = {Iwashita, Norio and Imagawa, Hiroshi and Nishiumi, Wataru},
  year = {2013},
  month = sep,
  volume = {61},
  pages = {602--608},
  issn = {00086223},
  doi = {10.1016/j.carbon.2013.05.042},
  url = {https://linkinghub.elsevier.com/retrieve/pii/S0008622313004740},
  urldate = {2020-01-06},
  journal = {Carbon},
  language = {en},
  itemID = 776
}

@article{Virtual2019,
  title = {Virtual {{Restoration}} of {{Stained Chinese Paintings Using Patch}}-{{Based Color Constrained Poisson Editing}} with {{Selected Hyperspectral Feature Bands}}},
  author = {Zhou, Pingping and Hou, Miaole and Lv, Shuqiang and Zhao, Xuesheng and Wu, Wangting},
  year = {2019},
  month = jun,
  volume = {11},
  pages = {1384},
  issn = {2072-4292},
  doi = {10.3390/rs11111384},
  url = {https://www.mdpi.com/2072-4292/11/11/1384},
  urldate = {2020-01-06},
  journal = {Remote Sensing},
  language = {en},
  number = {11},
  itemID = 737
}
% == BibTeX quality report for Virtual2019:
% ? Title looks like it was stored in title-case in Zotero

@misc{Vitreous,
  title = {Vitreous {{High Alumina Porcelain}}},
  itemID = 62
}
% == BibTeX quality report for Vitreous:
% ? Title looks like it was stored in title-case in Zotero

@article{Wetting2015,
  title = {Wetting by Liquid Metals \& Application in Materials Processing: The Contribution of the Grenoble Group},
  author = {Eustathopoulos, N.},
  year = {2015},
  volume = {5},
  pages = {350--370},
  publisher = {{Multidisciplinary Digital Publishing Institute}},
  doi = {10.3390/met5010350},
  journal = {Metals},
  number = {1},
  itemID = 1178
}

@misc{What2019,
  title = {What’s up with My Branch on {{GPU}}?},
  year = {2019},
  month = jun,
  url = {/jekyll/update/2019/06/13/whatsup-with-my-branches-on-gpu.html},
  urldate = {2020-02-19},
  journal = {Anton Schreiner},
  language = {en},
  itemID = 1010
}

@incollection{Why1997,
  title = {Why We Couldn’t Use Numerical Libraries for {{PETSc}}},
  booktitle = {Quality of {{Numerical Software}}},
  author = {Gropp, William D.},
  editor = {Boisvert, Ronald F.},
  year = {1997},
  pages = {249--254},
  publisher = {{Springer US}},
  address = {{Boston, MA}},
  doi = {10.1007/978-1-5041-2940-4_19},
  url = {http://link.springer.com/10.1007/978-1-5041-2940-4_19},
  urldate = {2020-01-20},
  isbn = {978-1-5041-2942-8 978-1-5041-2940-4},
  language = {en},
  itemID = 854
}

@misc{Whya,
  title = {Why Should {{I}} Have Written {{ZeroMQ}} in {{C}}, Not {{C}}++ (Part {{I}}) - 250bpm},
  url = {http://250bpm.com/blog:4},
  urldate = {2019-11-22},
  itemID = 438
}

@article{XBAND,
  title = {X-{{BAND KLYSTRON DEVELOPMENT AT SLAC}}},
  author = {Vlieks, Arnold E and Park, Menlo},
  pages = {5},
  language = {en},
  itemID = 68
}
% == BibTeX quality report for XBAND:
% Missing required field 'journal'
% Missing required field 'year'
% ? Title looks like it was stored in title-case in Zotero

license: MIT

license_type: permissive

branch_name: refs/heads/master

extension: bib


text:
@inproceedings{barron-cedeno-etal-2010-plagiarism,
 address = {Beijing, China},
 author = {Barrón-Cedeño, Alberto  and
Rosso, Paolo  and
Agirre, Eneko  and
Labaka, Gorka},
 booktitle = {Proceedings of the 23rd International Conference on Computational Linguistics (Coling 2010)},
 month = {August},
 pages = {37--45},
 publisher = {Coling 2010 Organizing Committee},
 title = {Plagiarism Detection across Distant Language Pairs},
 url = {https://aclanthology.org/C10-1005},
 year = {2010}
}

repository: albarron/academic-kickstart

repo_name: albarron/academic-kickstart

gha_license_id: MIT


text:
@techreport{siami2018forecasting,
    title={Forecasting economics and financial time series: ARIMA vs. LSTM},
    author={Sima Namin and Akbar Namin},
    institution={Texas Tech University},
    year={2018},
    month={March},
}
@mastersthesis{torku2016takens,
    title={Takens Theorem with Singular Spectrum Analysis Applied to Noisy Time Series},
    author={Torku, Thomas K},
    school={East Tennessee State University},
    year={2016},
    month={May},
}
@manual{yfinanceapi,
    title={yfinance API},
    author={Ran Aroussi},
}
@techreport{lawrence,
    title={Using Neural Networks to Forecast Stock Market Prices},
    author={Ramon Lawrence},
    institution={University of Manitoba},
    year={1997},
    month={December},
}
@book{hyndman2018forecasting,
  title={Forecasting: principles and practice},
  author={Hyndman, Rob J and Athanasopoulos, George},
  year={2018},
  publisher={OTexts}
}
@book{tsay,
    title={An introduction to analysis of financial data with R},
    author={Ruey S. Tsay, PhD},
    publisher={Wiley},
    year={2013},
    address={Hoboken, New Jersey},
    isbn={978-0470890813},
}
@article{hinton,
    AUTHOR = {Hinton, G. E.},
    TITLE   = {Deep belief networks},
    YEAR    = {2009},
    JOURNAL = {Scholarpedia},
    VOLUME  = {4},
    NUMBER  = {5},
    PAGES   = {5947},
    DOI     = {10.4249/scholarpedia.5947},
    NOTE    = {revision \#91189}
}
@incollection{NIPS2006,
    title = {Greedy Layer-Wise Training of Deep Networks},
    author = {Bengio, Yoshua and Lamblin, Pascal and Dan Popovici and Larochelle, Hugo},
    booktitle = {Advances in Neural Information Processing Systems 19},
    editor = {B. Sch\"{o}lkopf and J. C. Platt and T. Hoffman},
    pages = {153--160},
    year = {2007},
    publisher = {MIT Press},
    url = {http://papers.nips.cc/paper/3048-greedy-layer-wise-training-of-deep-networks.pdf}
}
@book{pesaran2015time,
  title={Time series and panel data econometrics},
  author={Pesaran, M Hashem},
  year={2015},
  publisher={Oxford University Press}
}
@article{brownlee2017create,
  title={How to create an ARIMA model for time series forecasting with Python},
  author={Brownlee, Jason},
  journal={Machine Learning Mastery. Saatavissa: https://machinelearningmastery. com/arima-for-time-series-forecasting-with-python/. Hakup{\"a}iv{\"a}},
  volume={2},
  pages={2019},
  year={2017}
}
@article{brownlee2016time,
  title={Time series prediction with lstm recurrent neural networks in python with keras},
  author={Brownlee, Jason},
  journal={Available at: machinelearningmastery. com},
  pages={18},
  year={2016}
}
@article{olah2015understanding,
  title={Understanding lstm networks--colah’s blog},
  author={Olah, Christopher},
  journal={Colah. github. io},
  year={2015}
}
@article{chai2014root,
  title={Root mean square error (RMSE) or mean absolute error (MAE)?--Arguments against avoiding RMSE in the literature},
  author={Chai, Tianfeng and Draxler, Roland R},
  journal={Geoscientific model development},
  volume={7},
  number={3},
  pages={1247--1250},
  year={2014},
  publisher={Copernicus GmbH}
}


text:
// SPDX-License-Identifier: ISC
// Copyright (c) 2014-2020 Bitmark Inc.
// Use of this source code is governed by an ISC
// license that can be found in the LICENSE file.

package reservoir

import (
	"bytes"
	"encoding/binary"

	"github.com/bitmark-inc/bitmarkd/currency"
	"github.com/bitmark-inc/bitmarkd/mode"
	"github.com/bitmark-inc/bitmarkd/storage"
	"github.com/bitmark-inc/bitmarkd/transactionrecord"
	"github.com/bitmark-inc/logger"
)

// PaymentSegment - a single segment of a payment
// e.g. for an issue or transfer block owner
type PaymentSegment [currency.Count]*transactionrecord.Payment

// get payment record from a specific block given the blocks 8 byte big endian key
func getPayments(transferBlockNumber uint64, issueBlockNumber uint64, previousTransfer transactionrecord.BitmarkTransfer, blockOwnerPaymentHandle storage.Handle) []transactionrecord.PaymentAlternative {
	if nil == blockOwnerPaymentHandle {
		return []transactionrecord.PaymentAlternative{}
	}

	tKey := make([]byte, 8)
	binary.BigEndian.PutUint64(tKey, transferBlockNumber)

	iKey := make([]byte, 8)
	binary.BigEndian.PutUint64(iKey, issueBlockNumber)

	// block owner (from issue) payment
	// 0: issue block owner
	// 1: last transfer block owner (could be merged to 1 if same address)
	// 2: transfer payment (optional)
	payments := make([]transactionrecord.PaymentAlternative, currency.Count)
	for i := 0; i < currency.Count; i += 1 {
		payments[i] = make(transactionrecord.PaymentAlternative, 1, 3)
	}

	issuePayment := getPayment(iKey, blockOwnerPaymentHandle) // will never be nil
	for i, ip := range issuePayment {
		payments[i][0] = ip
	}

	// last transfer payment if there is one otherwise issuer gets double
	transferPayment := getPayment(tKey, blockOwnerPaymentHandle)
	if nil == transferPayment {
		for _, ip := range payments {
			ip[0].Amount *= 2
		}
	} else {
		// merge to issue if the same address
		// or separate transfer payment if separate
		for i, tp := range transferPayment {
			if tp.Currency != payments[i][0].Currency {
				logger.Panicf("payment.getPayments: mismatched currencies: %s and %s", tp.Currency, payments[i][0].Currency)
			}
			if tp.Address == payments[i][0].Address {
				// transfer and issuer are the same so accumulate amount
				payments[i][0].Amount += tp.Amount
			} else {
				// separate transfer payment
				payments[i] = append(payments[i], tp)
			}
		}
	}

	// optional payment record (if previous record was transfer and contains such)
	if nil != previousTransfer && nil != previousTransfer.GetPayment() {

		i := previousTransfer.GetPayment().Currency.Index() // zero based index (panics if any problem)

		// always keep this as a separate amount even if address is the same
		// so it shows up separately in currency transaction
		payments[i] = append(payments[i], previousTransfer.GetPayment())

		return []transactionrecord.PaymentAlternative{payments[i]}
	}

	return payments
}

// get a payment record from a specific block given the blocks 8 byte big endian key
func getPayment(blockNumberKey []byte, blockOwnerPaymentHandle storage.Handle) *PaymentSegment {
	if nil == blockOwnerPaymentHandle {
		return nil
	}

	if 8 != len(blockNumberKey) {
		logger.Panicf("payment.getPayment: block number need 8 bytes: %x", blockNumberKey)
	}

	// if all 8 bytes are zero then no transfer payment as this is an issue
	if bytes.Equal([]byte{0, 0, 0, 0, 0, 0, 0, 0}, blockNumberKey) {
		return nil
	}

	paymentData := blockOwnerPaymentHandle.Get(blockNumberKey)
	if nil == paymentData {
		logger.Panicf("payment.getPayment: no block payment data for block number: %x", blockNumberKey)
	}

	cMap, _, err := currency.UnpackMap(paymentData, mode.IsTesting())
	if nil != err {
		logger.Panicf("payment.getPayment: block payment data error: %s", err)
	}

	payments := &PaymentSegment{}

	for c, address := range cMap {
		i := c.Index() // zero based index
		fee, err := c.GetFee()
		if nil != err {
			logger.Panicf("payment.getPayment: get fee returned error: %s", err)
		}

		payments[i] = &transactionrecord.Payment{
			Currency: c,
			Address:  address,
			Amount:   fee,
		}
	}

	return payments
}

license: ISC

repository: bitmark-inc/bitmarkd

repo_name: bitmark-inc/bitmarkd

branch_name: refs/heads/main

gha_license_id: ISC

gha_language: Go

extension: go


text:
/*
Copyright IBM Corp 2016 All Rights Reserved.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

		 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/

package main

import (
	"errors"
	"time"

	"encoding/json"

	"github.com/hyperledger/fabric/core/chaincode/shim"
)

var logger = shim.NewLogger("numbermgmt")
var trasactionString = "transaction_"

// NumberManagementChainCode example simple Chaincode implementation
type NumberManagementChainCode struct {
}

// NumberInfo information for number management
type NumberInfo struct {
	Number    string `json:"Number"`
	Available string `json:"Available"`
	Company   string `json:"Company"`
}

// TransactionHistory temp solution
type TransactionHistory struct {
	Transactions []TransactionEntry `json:"transactions"`
}

//TransactionEntry temp solution
type TransactionEntry struct {
	Date   string `json:"date"`
	Detail string `json:"detail"`
}

//updateNumber is update transaction changin company
func updateNumberCompany(stub shim.ChaincodeStubInterface, args []string) ([]byte, error) {
	logger.Debug("Entering updateNumberCompany")
	if len(args) < 2 {
		logger.Error("Invalid number of arguments for UpdateCompany")
		return nil, errors.New("Invalid number of arguments for updateNumberCompany")
	}
	var number = args[0]
	var company = args[1]

	numberBytes, err := stub.GetState(number)
	if err != nil {
		logger.Error("Error retrieving number ", err)
		return nil, err
	}
	if numberBytes == nil {
		logger.Error("Number " + number + " not found in system")
		return nil, errors.New("Number " + number + " not found in the system")
	}
	var numberInfo NumberInfo
	err = json.Unmarshal(numberBytes, &numberInfo)
	if err != nil {
		logger.Error("Error marshaling data in store for number " + number)
		return nil, err
	}
	numberInfo.Company = company

	numberBytes, err = json.Marshal(&numberInfo)
	if err != nil {
		logger.Error("Error Marshling numberinfo", err)
		return nil, err
	}
	err = stub.PutState(number, numberBytes)
	if err != nil {
		logger.Error("Error saving numberinfo", err)
		return nil, err
	}
	transactionLog(stub, number, "Updated number")
	return nil, nil
}

// CreateNumber is create number func
func CreateNumber(stub shim.ChaincodeStubInterface, args []string) ([]byte, error) {
	logger.Debug("Entering CreateNumber")
	if len(args) < 2 {
		logger.Error("Invalid number of arguments")
		return nil, errors.New("Missing arguments")
	}
	var number = args[0]
	var available = args[1]
	var company = args[2]

	numberInfo := &NumberInfo{
		Number:    number,
		Available: available,
		Company:   company,
	}
	numberBytes, err := json.Marshal(&numberInfo)
	if err != nil {
		logger.Error("Error Marshling numberinfo", err)
		return nil, err
	}
	err = stub.PutState(number, numberBytes)

	if err != nil {
		logger.Error("Error Marshling numberinfo", err)
		return nil, err
	}
	err = stub.PutState(trasactionString+number, numberBytes)

	if err != nil {
		logger.Error("Error Marshling numberinfo", err)
		return nil, err
	}
	transactionLog(stub, number, "creating number")
	logger.Info("Successfully updated Number Management")
	return nil, nil
}

func transactionLog(stub shim.ChaincodeStubInterface, key string, transaction string) ([]byte, error) {
	transactionKey := trasactionString + key
	transactionbytes, err := stub.GetState(transactionKey)
	if err != nil {
		logger.Error("Error logging transcation for "+key, err)
		return nil, err
	}
	var transactionHistory TransactionHistory
	var transactionEntry = TransactionEntry{
		Date:   time.Now().String(),
		Detail: transaction,
	}
	if transactionbytes != nil {
		err = json.Unmarshal(transactionbytes, &transactionHistory)
	}
	transactionHistory.Transactions = append(transactionHistory.Transactions, transactionEntry)
	transactionbytes, err = json.Marshal(&transactionHistory)
	stub.PutState(transactionKey, transactionbytes)
	return nil, nil
}

//GetNumberInformation retrives number information
func GetNumberInformation(stub shim.ChaincodeStubInterface, args []string) ([]byte, error) {
	logger.Debug("Entering Quering")
	if len(args) != 1 {
		logger.Error("Invalid number of arguments")
		return nil, errors.New("Missing arguments")
	}
	var number = args[0]
	bytes, err := stub.GetState(number)

	if err != nil {
		logger.Error("Could not fetch number with id "+number, err)
		return nil, err
	}
	logger.Info("Processed Querying of Number information")
	return bytes, nil
}

//GetTransaction history temp solution
func GetTransactionHistory(stub shim.ChaincodeStubInterface, args []string) ([]byte, error) {
	logger.Debug("Entering retrieve Transaction Hitory")
	if len(args) != 1 {
		logger.Error("Invalid number of arguments")
		return nil, errors.New("Missing arguments")
	}
	var number = args[0]
	transactionKey := trasactionString + args[0]
	transactionbytes, err := stub.GetState(transactionKey)
	if err != nil {
		logger.Error("Could not fetch number with id "+number, err)
		return nil, err
	}
	return transactionbytes, nil
}

// ============================================================================================================================
// Main
// ============================================================================================================================
func main() {
	err := shim.Start(new(NumberManagementChainCode))
	if err != nil {
		logger.Errorf("Error starting Simple chaincode: %s", err)
	}
}

// Init resets all the things
func (t *NumberManagementChainCode) Init(stub shim.ChaincodeStubInterface, function string, args []string) ([]byte, error) {
	logger.Debug("Entering Init")
	if len(args) < 1 {
		logger.Error("Incorrect number of arguments. Expecting 2")
		return nil, errors.New("Incorrect number of arguments. Expecting 1")
	}
	return nil, nil
}

// Invoke is our entry point to invoke a chaincode function
func (t *NumberManagementChainCode) Invoke(stub shim.ChaincodeStubInterface, function string, args []string) ([]byte, error) {
	logger.Debug("invoke is running " + function)

	// Handle different functions
	if function == "init" { //initialize the chaincode state, used as reset
		return CreateNumber(stub, args)
	} else if function == "updatecompany" {
		return updateNumberCompany(stub, args)
	}
	logger.Error("invoke did not find func: " + function) //error

	return nil, errors.New("Received unknown function invocation: " + function)
}

// Query is our entry point for queries
func (t *NumberManagementChainCode) Query(stub shim.ChaincodeStubInterface, function string, args []string) ([]byte, error) {
	if function == "GetNumberInformation" {
		return GetNumberInformation(stub, args)
	} else if function == "GetTransactionHistory" {
		return GetTransactionHistory(stub, args)
	}
	logger.Error("invoke did not find func: " + function) //error
	return nil, errors.New("Received unknown function invocation: " + function)
}

repository: rsgirish/learn-chaincode

repo_name: rsgirish/learn-chaincode


text:
// Code generated by smithy-go-codegen DO NOT EDIT.

package types

import (
	"time"
)

// Represents an individual condition that evaluates to true or false. Conditions
// are used with recipe actions: The action is only performed for column values
// where the condition evaluates to true. If a recipe requires more than one
// condition, then the recipe must specify multiple ConditionExpression elements.
// Each condition is applied to the rows in a dataset first, before the recipe
// action is performed.
type ConditionExpression struct {

	// A specific condition to apply to a recipe action. For more information, see
	// Recipe structure
	// (https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html) in the
	// AWS Glue DataBrew Developer Guide.
	//
	// This member is required.
	Condition *string

	// A column to apply this condition to, within an AWS Glue DataBrew dataset.
	//
	// This member is required.
	TargetColumn *string

	// A value that the condition must evaluate to for the condition to succeed.
	Value *string
}

// Represents how metadata stored in the AWS Glue Data Catalog is defined in an AWS
// Glue DataBrew dataset.
type DataCatalogInputDefinition struct {

	// The name of a database in the Data Catalog.
	//
	// This member is required.
	DatabaseName *string

	// The name of a database table in the Data Catalog. This table corresponds to a
	// DataBrew dataset.
	//
	// This member is required.
	TableName *string

	// The unique identifier of the AWS account that holds the Data Catalog that stores
	// the data.
	CatalogId *string

	// An Amazon location that AWS Glue Data Catalog can use as a temporary directory.
	TempDirectory *S3Location
}

// Represents a dataset that can be processed by AWS Glue DataBrew.
type Dataset struct {

	// Information on how DataBrew can find the dataset, in either the AWS Glue Data
	// Catalog or Amazon S3.
	//
	// This member is required.
	Input *Input

	// The unique name of the dataset.
	//
	// This member is required.
	Name *string

	// The ID of the AWS account that owns the dataset.
	AccountId *string

	// The date and time that the dataset was created.
	CreateDate *time.Time

	// The identifier (the user name) of the user who created the dataset.
	CreatedBy *string

	// Options that define how DataBrew interprets the data in the dataset.
	FormatOptions *FormatOptions

	// The identifier (the user name) of the user who last modified the dataset.
	LastModifiedBy *string

	// The last modification date and time of the dataset.
	LastModifiedDate *time.Time

	// The unique Amazon Resource Name (ARN) for the dataset.
	ResourceArn *string

	// The location of the data for the dataset, either Amazon S3 or the AWS Glue Data
	// Catalog.
	Source Source

	// Metadata tags that have been applied to the dataset.
	Tags map[string]string
}

// Options that define how DataBrew will interpret a Microsoft Excel file, when
// creating a dataset from that file.
type ExcelOptions struct {

	// Specifies one or more sheet numbers in the Excel file, which will be included in
	// the dataset.
	SheetIndexes []int32

	// Specifies one or more named sheets in the Excel file, which will be included in
	// the dataset.
	SheetNames []string
}

// Options that define how Microsoft Excel input is to be interpreted by DataBrew.
type FormatOptions struct {

	// Options that define how Excel input is to be interpreted by DataBrew.
	Excel *ExcelOptions

	// Options that define how JSON input is to be interpreted by DataBrew.
	Json *JsonOptions
}

// Information on how AWS Glue DataBrew can find data, in either the AWS Glue Data
// Catalog or Amazon S3.
type Input struct {

	// The AWS Glue Data Catalog parameters for the data.
	DataCatalogInputDefinition *DataCatalogInputDefinition

	// The Amazon S3 location where the data is stored.
	S3InputDefinition *S3Location
}

// Represents all of the attributes of an AWS Glue DataBrew job.
type Job struct {

	// The unique name of the job.
	//
	// This member is required.
	Name *string

	// The ID of the AWS account that owns the job.
	AccountId *string

	// The date and time that the job was created.
	CreateDate *time.Time

	// The identifier (the user name) of the user who created the job.
	CreatedBy *string

	// A dataset that the job is to process.
	DatasetName *string

	// The Amazon Resource Name (ARN) of an encryption key that is used to protect a
	// job.
	EncryptionKeyArn *string

	// The encryption mode for the job, which can be one of the following:
	//
	// * SSE-KMS -
	// Server-side encryption with AWS KMS-managed keys.
	//
	// * SSE-S3 - Server-side
	// encryption with keys managed by Amazon S3.
	EncryptionMode EncryptionMode

	// The identifier (the user name) of the user who last modified the job.
	LastModifiedBy *string

	// The modification date and time of the job.
	LastModifiedDate *time.Time

	// The current status of Amazon CloudWatch logging for the job.
	LogSubscription LogSubscription

	// The maximum number of nodes that can be consumed when the job processes data.
	MaxCapacity int32

	// The maximum number of times to retry the job after a job run fails.
	MaxRetries int32

	// One or more artifacts that represent output from running the job.
	Outputs []Output

	// The name of the project that the job is associated with.
	ProjectName *string

	// A set of steps that the job runs.
	RecipeReference *RecipeReference

	// The unique Amazon Resource Name (ARN) for the job.
	ResourceArn *string

	// The Amazon Resource Name (ARN) of the role that will be assumed for this job.
	RoleArn *string

	// Metadata tags that have been applied to the job.
	Tags map[string]string

	// The job's timeout in minutes. A job that attempts to run longer than this
	// timeout period ends with a status of TIMEOUT.
	Timeout int32

	// The job type of the job, which must be one of the following:
	//
	// * PROFILE - A job
	// to analyze a dataset, to determine its size, data types, data distribution, and
	// more.
	//
	// * RECIPE - A job to apply one or more transformations to a dataset.
	Type JobType
}

// Represents one run of an AWS Glue DataBrew job.
type JobRun struct {

	// The number of times that DataBrew has attempted to run the job.
	Attempt int32

	// The date and time when the job completed processing.
	CompletedOn *time.Time

	// The name of the dataset for the job to process.
	DatasetName *string

	// A message indicating an error (if any) that was encountered when the job ran.
	ErrorMessage *string

	// The amount of time, in seconds, during which a job run consumed resources.
	ExecutionTime int32

	// The name of the job being processed during this run.
	JobName *string

	// The name of an Amazon CloudWatch log group, where the job writes diagnostic
	// messages when it runs.
	LogGroupName *string

	// The current status of Amazon CloudWatch logging for the job run.
	LogSubscription LogSubscription

	// One or more output artifacts from a job run.
	Outputs []Output

	// The set of steps processed by the job.
	RecipeReference *RecipeReference

	// The unique identifier of the job run.
	RunId *string

	// The identifier (the user name) of the user who initiated the job run.
	StartedBy *string

	// The date and time when the job run began.
	StartedOn *time.Time

	// The current state of the job run entity itself.
	State JobRunState
}

// Represents the JSON-specific options that define how input is to be interpreted
// by AWS Glue DataBrew.
type JsonOptions struct {

	// A value that specifies whether JSON input contains embedded new line characters.
	MultiLine bool
}

// Represents individual output from a particular job run.
type Output struct {

	// The location in Amazon S3 where the job writes its output.
	//
	// This member is required.
	Location *S3Location

	// The compression algorithm used to compress the output text of the job.
	CompressionFormat CompressionFormat

	// The data format of the output of the job.
	Format OutputFormat

	// A value that, if true, means that any data in the location specified for output
	// is overwritten with new output.
	Overwrite bool

	// The names of one or more partition columns for the output of the job.
	PartitionColumns []string
}

// Represents all of the attributes of an AWS Glue DataBrew project.
type Project struct {

	// The unique name of a project.
	//
	// This member is required.
	Name *string

	// The name of a recipe that will be developed during a project session.
	//
	// This member is required.
	RecipeName *string

	// The ID of the AWS account that owns the project.
	AccountId *string

	// The date and time that the project was created.
	CreateDate *time.Time

	// The identifier (the user name) of the user who crated the project.
	CreatedBy *string

	// The dataset that the project is to act upon.
	DatasetName *string

	// The identifier (user name) of the user who last modified the project.
	LastModifiedBy *string

	// The last modification date and time for the project.
	LastModifiedDate *time.Time

	// The date and time when the project was opened.
	OpenDate *time.Time

	// The identifier (the user name) of the user that opened the project for use.
	OpenedBy *string

	// The Amazon Resource Name (ARN) for the project.
	ResourceArn *string

	// The Amazon Resource Name (ARN) of the role that will be assumed for this
	// project.
	RoleArn *string

	// The sample size and sampling type to apply to the data. If this parameter isn't
	// specified, then the sample will consiste of the first 500 rows from the dataset.
	Sample *Sample

	// Metadata tags that have been applied to the project.
	Tags map[string]string
}

// Represents one or more actions to be performed on an AWS Glue DataBrew dataset.
type Recipe struct {

	// The unique name for the recipe.
	//
	// This member is required.
	Name *string

	// The date and time that the recipe was created.
	CreateDate *time.Time

	// The identifier (the user name) of the user who created the recipe.
	CreatedBy *string

	// The description of the recipe.
	Description *string

	// The identifier (user name) of the user who last modified the recipe.
	LastModifiedBy *string

	// The last modification date and time of the recipe.
	LastModifiedDate *time.Time

	// The name of the project that the recipe is associated with.
	ProjectName *string

	// The identifier (the user name) of the user who published the recipe.
	PublishedBy *string

	// The date and time when the recipe was published.
	PublishedDate *time.Time

	// The identifier for the version for the recipe.
	RecipeVersion *string

	// The Amazon Resource Name (ARN) for the recipe.
	ResourceArn *string

	// A list of steps that are defined by the recipe.
	Steps []RecipeStep

	// Metadata tags that have been applied to the recipe.
	Tags map[string]string
}

// Represents a transformation and associated parameters that are used to apply a
// change to an AWS Glue DataBrew dataset. For more information, see Recipe
// structure (https://docs.aws.amazon.com/databrew/latest/dg/recipe-structure.html)
// and ecipe actions reference
// (https://docs.aws.amazon.com/databrew/latest/dg/recipe-actions-reference.html) .
type RecipeAction struct {

	// The name of a valid DataBrew transformation to be performed on the data.
	//
	// This member is required.
	Operation *string

	// Contextual parameters for the transformation.
	Parameters map[string]string
}

// Represents all of the attributes of an AWS Glue DataBrew recipe.
type RecipeReference struct {

	// The name of the recipe.
	//
	// This member is required.
	Name *string

	// The identifier for the version for the recipe.
	RecipeVersion *string
}

// Represents a single step to be performed in an AWS Glue DataBrew recipe.
type RecipeStep struct {

	// The particular action to be performed in the recipe step.
	//
	// This member is required.
	Action *RecipeAction

	// One or more conditions that must be met, in order for the recipe step to
	// succeed. All of the conditions in the array must be met. In other words, all of
	// the conditions must be combined using a logical AND operation.
	ConditionExpressions []ConditionExpression
}

// Represents any errors encountered when attempting to delete multiple recipe
// versions.
type RecipeVersionErrorDetail struct {

	// The HTTP status code for the error.
	ErrorCode *string

	// The text of the error message.
	ErrorMessage *string

	// The identifier for the recipe version associated with this error.
	RecipeVersion *string
}

// An Amazon S3 location (bucket name an object key) where DataBrew can read input
// data, or write output from a job.
type S3Location struct {

	// The S3 bucket name.
	//
	// This member is required.
	Bucket *string

	// The unique name of the object in the bucket.
	Key *string
}

// Represents the sample size and sampling type for AWS Glue DataBrew to use for
// interactive data analysis.
type Sample struct {

	// The way in which DataBrew obtains rows from a dataset.
	//
	// This member is required.
	Type SampleType

	// The number of rows in the sample.
	Size *int32
}

// Represents one or more dates and times when a job is to run.
type Schedule struct {

	// The name of the schedule.
	//
	// This member is required.
	Name *string

	// The ID of the AWS account that owns the schedule.
	AccountId *string

	// The date and time that the schedule was created.
	CreateDate *time.Time

	// The identifier (the user name) of the user who created the schedule.
	CreatedBy *string

	// The date(s) and time(s), in cron format, when the job will run.
	CronExpression *string

	// A list of jobs to be run, according to the schedule.
	JobNames []string

	// The identifier (the user name) of the user who last modified the schedule.
	LastModifiedBy *string

	// The date and time when the schedule was last modified.
	LastModifiedDate *time.Time

	// The Amazon Resource Name (ARN) of the schedule.
	ResourceArn *string

	// Metadata tags that have been applied to the schedule.
	Tags map[string]string
}

// Represents the data being being transformed during an AWS Glue DataBrew project
// session.
type ViewFrame struct {

	// The starting index for the range of columns to return in the view frame.
	//
	// This member is required.
	StartColumnIndex *int32

	// The number of columns to include in the view frame, beginning with the
	// StartColumnIndex value and ignoring any columns in the HiddenColumns list.
	ColumnRange *int32

	// A list of columns to hide in the view frame.
	HiddenColumns []string
}


text:
DESCRIPTION = "Navigation application for use with GPS adapters"
SECTION = "opie/applications"
PRIORITY = "optional"
MAINTAINER = "Michael 'Mickey' Lauer <mickey@Vanille.de>"
RRECOMMENDS = "gpsd"
LICENSE = "GPL"
HOMEPAGE = "http://qpegps.sourceforge.net/"
PR = "r0"

SRC_URI = "${SOURCEFORGE_MIRROR}/qpegps/qpegps_${PV}_source.zip \
           file://qpegps.desktop \
           file://qpegps.png"
S = "${WORKDIR}/root/qpegps_src_my/qpegps_my"

inherit palmtop

QMAKE_PROFILES = "qpegps.pro"
EXTRA_QMAKEVARS_POST = "LIBS=-lqpe"

do_install() {
        install -d ${D}${palmtopdir}/bin \
        	   ${D}${palmtopdir}/apps/Applications \
        	   ${D}${palmtopdir}/pics/qpegps \
        	   ${D}${palmtopdir}/help/html/qpegps_icons \
        	   ${D}${palmtopdir}/qpegps/maps \
        	   ${D}${palmtopdir}/qpegps/icons \
        	   ${D}${palmtopdir}/qpegps/tracks
        install -m 0755 qpegps ${D}${palmtopdir}/bin/
        install -m 0644 ${WORKDIR}/qpegps.desktop ${D}${palmtopdir}/apps/Applications/
        install -m 0644 ${WORKDIR}/qpegps.png ${D}${palmtopdir}/pics/qpegps/
        install -m 0644 doc/qpegps.html ${D}${palmtopdir}/help/html/
        install -m 0644 doc/qpegps_icons/*.png ${D}${palmtopdir}/help/html/qpegps_icons/
        install -m 0644 icons/*.xpm ${D}${palmtopdir}/qpegps/icons/
	install -m 0644 datum/*.dat ${D}${palmtopdir}/qpegps/
}

repository: Terentyev/familiar-linux

repo_name: Terentyev/familiar-linux

extension: bb


text:
@techreport{CommonKnowledgeAttacks,
  address = {Rochester, NY},
  type = {{SSRN} {Scholarly} {Paper}},
  title = {Common-{Knowledge} {Attacks} on {Democracy}},
  url = {https://papers.ssrn.com/abstract=3273111},
  abstract = {Existing approaches to cybersecurity emphasize either
    international s  tate-to-state logics (such as deterrence theory)
        or the integrity of individual i  nformation systems. Neither
        provides a good understanding of new “soft cyber” att  acks
        that involve the manipulation of expectations and common
        understandings. We   argue that scaling up computer security
        arguments to the level of the state, so t  hat the entire
        polity is treated as an information system with associated
        attack   surfaces and threat models, provides the best
        immediate way to understand these a  ttacks and how to
        mitigate them. We demonstrate systematic differences between
        ho  w autocracies and democracies work as information
        systems, because they rely on d  ifferent mixes of common and
        contested political knowledge. Stable autocracies wi  ll have
        common knowledge over who is in charge and their associated
        ideological o  r policy goals, but will generate contested
        knowledge over who the various politi  cal actors in society
        are, and how they might form coalitions and gain public sup
        port, so as to make it more difficult for coalitions to
        displace the regime. Stab  le democracies will have contested
        knowledge over who is in charge, but common kn  owledge over
        who the political actors are, and how they may form
        coalitions and g  ain public support. These differences are
        associated with notably different attac  k surfaces and
        threat models. Specifically, democracies are vulnerable to
        measure  s that “flood” public debate and disrupt shared
        decentralized understandings of a  ctors and coalitions, in
        ways that autocracies are not.},
  number = {ID 3273111},
  institution = {Social Science Research Network},
  author = {Farrell, Henry and Schneier, Bruce},
  month = 10,
  year = {2018},
  keywords = {Bruce Schneier, Common-Knowledge Attacks on
    Democracy, Henry Farrell,   SSRN}
}

@book{CounteringInformationInfluenceActivities,
  title = "Countering Information Influence Activities: The State of the Art",
  author = "James Pamment and Howard Nothhaft and Alicia Fj{\"a}llhed",
  year = "2018",
  month = "6",
  language = "English",
  isbn = "978-91-7383-865-8",
  publisher = "MSB",

}

repository: dbosk/bibsp

repo_name: dbosk/bibsp

gha_language: TeX


text:
/* Copyright 2014 Ooyala, Inc. All rights reserved.
 *
 * This file is licensed under the Apache License, Version 2.0 (the "License"); you may not use this file
 * except in compliance with the License. You may obtain a copy of the License at
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under the License is
 * distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and limitations under the License.
 */

package datamodel

import (
	"atlantis/manager/helper"
	"atlantis/manager/rpc/types"
	"log"
)

type ZkManager types.Manager

func Manager(region, value string) *ZkManager {
	return &ZkManager{Region: region, Host: value, Roles: map[string]map[string]bool{}}
}

func (m *ZkManager) Save() error {
	if m.Roles == nil {
		m.Roles = map[string]map[string]bool{}
	}
	return setJson(m.path(), m)
}

func (m *ZkManager) AddRole(name, roleType string) error {
	if m.Roles == nil {
		m.Roles = map[string]map[string]bool{}
	}
	if m.Roles[name] == nil {
		m.Roles[name] = map[string]bool{}
	}
	if roleType != "" {
		m.Roles[name][roleType] = true
	}
	return m.Save()
}

func (m *ZkManager) HasRole(name, roleType string) bool {
	if m.Roles[name] == nil {
		return false
	}
	return m.Roles[name][roleType]
}

func (m *ZkManager) RemoveRole(name, roleType string) error {
	if m.Roles == nil {
		m.Roles = map[string]map[string]bool{}
		return m.Save()
	}
	if m.Roles[name] == nil {
		return nil
	}
	if roleType != "" {
		delete(m.Roles[name], roleType)
	} else {
		delete(m.Roles, name)
	}
	return m.Save()
}

// Delete the manager node and all children (don't realy need DelDir here but there isn't much overhead)
func (m *ZkManager) Delete() error {
	if err := Zk.RecursiveDelete(m.path()); err != nil {
		return err
	}
	managers, err := ListManagersInRegion(m.Region)
	if err == nil && managers != nil && len(managers) == 0 {
		Zk.RecursiveDelete(helper.GetBaseManagerPath(m.Region))
	} else if err != nil {
		log.Printf("Warning: clean up fail during managers delete: %s", err)
		// this is extra, no need to return the error if we couldn't get them
	}
	return nil
}

func GetManager(region, value string) (zm *ZkManager, err error) {
	zm = &ZkManager{}
	err = getJson(helper.GetBaseManagerPath(region, value), zm)
	if err == nil && zm.Roles == nil {
		err = zm.Save()
	}
	return
}

func ManagerHasRole(region, value, name, roleType string) (bool, error) {
	zm, err := GetManager(region, value)
	if err != nil {
		return false, err
	}
	return zm.HasRole(name, roleType), nil
}

func (m *ZkManager) path() string {
	return helper.GetBaseManagerPath(m.Region, m.Host)
}

func ListRegions() (regions []string, err error) {
	basePath := helper.GetBaseManagerPath()
	regions, _, err = Zk.Children(basePath)
	if err != nil {
		log.Printf("Error getting list of regions. Error: %s.", err.Error())
	}
	if regions == nil {
		log.Println("No regions found. Returning empty list.")
		regions = []string{}
	}
	return
}

func ListManagersInRegion(region string) (managers []string, err error) {
	basePath := helper.GetBaseManagerPath(region)
	managers, _, err = Zk.Children(basePath)
	if err != nil {
		log.Printf("Error getting list of managers for region %s. Error: %s.", region, err.Error())
	}
	if managers == nil {
		log.Printf("No managers found in region %s", region)
		managers = []string{}
	}
	return
}

func ListManagers() (managers map[string][]string, err error) {
	managers = map[string][]string{}
	regions, err := ListRegions()
	if err != nil {
		return
	}
	for _, region := range regions {
		managers[region], err = ListManagersInRegion(region)
		if err != nil {
			return
		}
	}
	return
}

repository: ooyala/atlantis-manager

repo_name: ooyala/atlantis-manager


text:
DESCRIPTION = "Debugging tools"
SUMMATY = "This tools enables remote target debugging support"

inherit packagegroup

PACKAGES = "packagegroup-debug"

RDEPENDS_packagegroup-debug = "\
							packagegroup-core-eclipse-debug \
							packagegroup-core-tools-debug \
							packagegroup-core-ssh-openssh \
							"

repository: Kravlalala/kravlala-meta

repo_name: Kravlalala/kravlala-meta


text:
include(vcpkg_common_functions)

vcpkg_download_distfile(ARCHIVE
    URLS "https://github.com/GNOME/gnome-builder/archive/dbff666e2d68d98574267bd0e463652f158a4cff.zip"
    FILENAME "dbff666e2d68d98574267bd0e463652f158a4cff.zip"
    SHA512 571ab6ddcc7286dff0a154e61bf06bf3136d5a7c9886b7584a71fd73f99ee44d6906051fba65c65fd3e518544a6dfce7bce77ddadd332b77beb8c34e36a3a5a9
)

vcpkg_extract_source_archive_ex(
    OUT_SOURCE_PATH SOURCE_PATH
    ARCHIVE ${ARCHIVE}
)

# https://mesonbuild.com/Configuring-a-build-directory.html
vcpkg_configure_meson(
	SOURCE_PATH ${SOURCE_PATH}
    OPTIONS
#	OPTIONS_RELEASE
#	OPTIONS_DEBUG
		--backend=ninja
#		-Dsubproject:option=_build
#		-Dcpp_link_args="/LIBPATH:${CURRENT_INSTALLED_DIR}/lib"
#		-Dc_link_args="/LIBPATH:${CURRENT_INSTALLED_DIR}/lib"
#		-Dc_args="/I:${CURRENT_INSTALLED_DIR}/include"
#		-Dcpp_args="/I:${CURRENT_INSTALLED_DIR}/include"
)

vcpkg_install_meson()

vcpkg_copy_pdbs()

# Handle copyright
# file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/gnome-builder RENAME copyright)

# Post-build test for cmake libraries
# vcpkg_test_cmake(PACKAGE_NAME gnome-builder)

repository: MVoz/vcpkg-old

repo_name: MVoz/vcpkg-old

extension: cmake


text:
# Install script for directory: C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include

# Set the install prefix
if(NOT DEFINED CMAKE_INSTALL_PREFIX)
  set(CMAKE_INSTALL_PREFIX "C:/Program Files (x86)/FreeRDP")
endif()
string(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")

# Set the install configuration name.
if(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
  if(BUILD_TYPE)
    string(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
  else()
    set(CMAKE_INSTALL_CONFIG_NAME "Release")
  endif()
  message(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
endif()

# Set the component getting installed.
if(NOT CMAKE_INSTALL_COMPONENT)
  if(COMPONENT)
    message(STATUS "Install component: \"${COMPONENT}\"")
    set(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
  else()
    set(CMAKE_INSTALL_COMPONENT)
  endif()
endif()

# Is this installation the result of a crosscompile?
if(NOT DEFINED CMAKE_CROSSCOMPILING)
  set(CMAKE_CROSSCOMPILING "FALSE")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xheadersx" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/winpr2/winpr" TYPE FILE FILES
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/asn1.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/bcrypt.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/bitstream.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/clipboard.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/cmdline.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/collections.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/comm.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/credentials.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/credui.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/crt.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/crypto.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/debug.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/dsparse.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/endian.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/environment.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/error.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/file.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/handle.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/heap.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/image.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/ini.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/input.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/interlocked.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/intrin.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/io.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/library.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/locale.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/memory.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/midl.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/ndr.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/nt.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/ntlm.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/pack.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/path.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/pipe.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/platform.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/pool.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/print.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/registry.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/rpc.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/sam.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/schannel.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/security.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/shell.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/smartcard.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/spec.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/ssl.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/sspi.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/sspicli.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/stream.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/string.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/strlst.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/synch.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/sysinfo.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/tchar.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/thread.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/timezone.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/user.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/version.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/windows.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/winhttp.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/winpr.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/winsock.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/wlog.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/wnd.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/wtsapi.h"
    "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/wtypes.h"
    )
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xheadersx" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/winpr2/winpr" TYPE FILE FILES "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/FreeRDP/winpr/include/winpr/version.h")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xheadersx" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/winpr2/winpr" TYPE FILE FILES "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/FreeRDP/winpr/include/winpr/wtypes.h")
endif()

if("x${CMAKE_INSTALL_COMPONENT}x" STREQUAL "xheadersx" OR NOT CMAKE_INSTALL_COMPONENT)
  file(INSTALL DESTINATION "${CMAKE_INSTALL_PREFIX}/include/winpr2/winpr" TYPE DIRECTORY FILES "C:/Users/guoca/Desktop/RPARemoteDesktop/RDP/freerdp-2.2.0/winpr/include/winpr/tools" FILES_MATCHING REGEX "/[^/]*\\.h$")
endif()

repository: fenghaotong/FreeRDP

repo_name: fenghaotong/FreeRDP


text:
package imageplugin

import (
	"fmt"
	"os/exec"
	"strconv"
	"strings"

	specs "github.com/opencontainers/runtime-spec/specs-go"

	"code.cloudfoundry.org/garden"
	"code.cloudfoundry.org/garden-shed/rootfs_spec"
	"code.cloudfoundry.org/lager"
)

type DefaultCommandCreator struct {
	BinPath   string
	ExtraArgs []string
}

func (cc *DefaultCommandCreator) CreateCommand(log lager.Logger, handle string, spec rootfs_spec.Spec) (*exec.Cmd, error) {
	args := append(cc.ExtraArgs, "create")

	if spec.QuotaSize > 0 {
		args = append(args, "--disk-limit-size-bytes", strconv.FormatInt(spec.QuotaSize, 10))

		if spec.QuotaScope == garden.DiskLimitScopeExclusive {
			args = append(args, "--exclude-image-from-quota")
		}
	}

	if spec.Username != "" {
		args = append(args, "--username", spec.Username)
	}

	if spec.Password != "" {
		args = append(args, "--password", spec.Password)
	}

	rootfs := strings.Replace(spec.RootFS.String(), "#", ":", 1)

	args = append(args, rootfs, handle)
	return exec.Command(cc.BinPath, args...), nil
}

func (cc *DefaultCommandCreator) DestroyCommand(log lager.Logger, handle string) *exec.Cmd {
	return exec.Command(cc.BinPath, append(cc.ExtraArgs, "delete", handle)...)
}

func (cc *DefaultCommandCreator) MetricsCommand(log lager.Logger, handle string) *exec.Cmd {
	return exec.Command(cc.BinPath, append(cc.ExtraArgs, "stats", handle)...)
}

func stringifyMapping(mapping specs.LinuxIDMapping) string {
	return fmt.Sprintf("%d:%d:%d", mapping.ContainerID, mapping.HostID, mapping.Size)
}

repository: PaaS-TA/PaaS-TA-Core

repo_name: PaaS-TA/PaaS-TA-Core


text:
# Copyright (C) 2014 Freescale Semiconductor
# Released under the MIT license (see COPING. MIT for the terms)

DESCRIPTION = "VIA package group - extra"
LICENSE = "CLOSED"

inherit packagegroup
RDEPENDS_${PN} = " \
	via-extra \
	via-rc-local \
	exar-tools \
	"


text:
package main

import (
	"bufio"
	"fmt"
	"net"
	"parse-redis/protocol"
)

func main() {
	listener, err := net.Listen("tcp", "0.0.0.0:6379")
	if err != nil {
		fmt.Println(err)
		return
	}
	defer listener.Close()
	for {
		conn, err := listener.Accept()
		if err != nil {
			fmt.Println(err)
		}
		go handle(conn)
	}

}

func handle(conn net.Conn) {
	defer conn.Close()

	reader := bufio.NewReader(conn)
	for {
		command := protocol.Command{}
		data, err := command.Receiver(reader)
		if err != nil {
			fmt.Println(err)
			return
		}
		fmt.Println("raw byte:", data)
		fmt.Println("command:", command.Value)
		replay := command.Error("error")
		conn.Write(replay)
	}
}


text:
@inproceedings {type-your-key-here,
  author = "Fernanda d'Amorim and Paulo Borba",
  booktitle = "Quarto Simpósio Brasileiro de Componentes, Arquiteturas e Reutilização de Software (SBCARS 2010)",
  title = "Modularity Analysis of Use Case Implementations",
  year = "2010",
  pages = "1-8"
}

repository: pauloborba/academic-kickstart

repo_name: pauloborba/academic-kickstart


text:
@inproceedings{charging_bscs_QoS_sgc_2014,
  title={Optimal Charging Operation of Battery Swapping Stations with QoS Guarantee},
  author={B. Sun and X. Tan and {D.H.K. Tsang}},
  booktitle = {2014 IEEE International Conference on Smart Grid Communications (SmartGridComm)},
  year    = {2014},
  pages  = {13-18},
}


text:
// Copyright © 2023 Ory Corp
// SPDX-License-Identifier: Apache-2.0

package credentials_test

import (
	"context"
	"net/url"
	"testing"
	"time"

	"github.com/golang-jwt/jwt/v4"

	"github.com/ory/oathkeeper/internal"
)

func BenchmarkDefaultSigner(b *testing.B) {
	conf := internal.NewConfigurationWithDefaults()
	reg := internal.NewRegistry(conf)
	ctx := context.Background()

	for alg, keys := range map[string]string{
		"RS256": "file://../test/stub/jwks-rsa-multiple.json",
		"ES256": "file://../test/stub/jwks-ecdsa.json",
		"HS256": "file://../test/stub/jwks-hs.json",
	} {
		b.Run("alg="+alg, func(b *testing.B) {
			jwks, _ := url.Parse(keys)
			for i := 0; i < b.N; i++ {
				if _, err := reg.CredentialsSigner().Sign(ctx, jwks, jwt.MapClaims{
					"custom-claim2": 3.14159,
					"custom-claim3": true,
					"exp":           time.Now().Add(time.Minute).Unix(),
					"iat":           time.Now().Unix(),
					"iss":           "issuer",
					"nbf":           time.Now().Unix(),
					"sub":           "some subject",
				}); err != nil {
					b.Fatal(err)
				}
			}
		})
	}
}

repository: ory/oathkeeper

repo_name: ory/oathkeeper


text:
@article{Harper:2019aa,
 abstract = {BACKGROUND: For policy questions where substantial empirical background information exists, conventional frequentist policy analysis is hard to justify. Bayesian analysis quantitatively incorporates prior knowledge, but is not often used in applied policy analysis.
METHODS: We combined 2000-2016 data from the Fatal Analysis Reporting System with priors based on past empirical studies and policy documents to study the impact of mandatory seat belt laws on traffic fatalities. We used a Bayesian data augmentation approach to combine information from prior studies with difference-in-differences analyses of recent law changes to provide updated evidence on the impact that upgrading to primary enforcement of seat belt laws has on fatalities.
RESULTS: After incorporating the evidence from past studies, we find limited evidence to support the hypothesis that recent policy upgrades affect fatality rates. We estimate that upgrading to primary enforcement reduced fatality rates by 0.37 deaths per billion vehicle miles traveled (95% posterior interval -0.90, 0.16), or a rate ratio of 0.96 (95% posterior interval 0.91, 1.02), and increased the proportion of decedents reported as wearing seat belts by 7 percentage points (95% posterior interval 5, 8), or a risk ratio of 1.18 (95% posterior interval 1.13, 1.24).
CONCLUSIONS: Bayesian methods can provide credible estimates of future policy impacts, especially for policy questions that occur in dynamic environments, such as traffic safety.},
 author = {Harper, Sam},
 bdsk-url-1 = {https://doi.org/10.1097/EDE.0000000000000990},
 date-added = {2020-09-24 17:39:35 -0400},
 date-modified = {2020-09-24 17:39:35 -0400},
 doi = {10.1097/EDE.0000000000000990},
 journal = {Epidemiology},
 journal-full = {Epidemiology (Cambridge, Mass.)},
 mesh = {Accidents, Traffic; Bayes Theorem; Humans; Seat Belts; United States},
 month = {05},
 number = {3},
 pages = {380-387},
 pmid = {30964813},
 pst = {ppublish},
 title = {Would Stronger Seat Belt Laws Reduce Motor Vehicle Crash Deaths?: A Semi-Bayesian Analysis},
 volume = {30},
 year = {2019}
}


text:
@article{las-2014-xdmod,
 author = {James C. Browne and Robert L. DeLeon and Abani K. Patra and William L. Barth and John Hammond and Matthew D. Jones and Thomas R. Furlani and Barry L. Schneider and Steven M. Gallo and Amin Ghadersohi and Ryan J. Gentner and Jeffrey T. Palmer and Nikolay Simakov and Martins Innus and Andrew E. Bruno and Joseph P. White and Cynthia D. Cornelius and Thomas Yearke and Kyle Marcus and Laszewski, Gregor and Fugang Wang},
 bibsource = {dblp computer science bibliography, https://dblp.org},
 biburl = {https://dblp.org/rec/journals/concurrency/BrowneDPBHJFSGGGPSIBWCYMLW14.bib},
 commet = {TODO},
 doi = {10.1002/cpe.3245},
 journal = {Concurr. Comput. Pract. Exp.},
 number = {13},
 pages = {2191--2209},
 timestamp = {Mon, 02 Mar 2020 17:20:36 +0100},
 title = {Comprehensive, open-source resource usage measurement and analysis for HPC systems},
 url = {https://doi.org/10.1002/cpe.3245},
 volume = {26},
 year = {2014}
}


text:
function (_paraview_package_append_variables)
  set(_paraview_package_variables)
  foreach (var IN LISTS ARGN)
    if (NOT ${var})
      continue ()
    endif ()

    get_property(type_is_set CACHE "${var}"
      PROPERTY TYPE SET)
    if (type_is_set)
      get_property(type CACHE "${var}"
        PROPERTY TYPE)
    else ()
      set(type UNINITIALIZED)
    endif ()

    string(APPEND _paraview_package_variables
      "if (NOT DEFINED \"${var}\" OR NOT ${var})
  set(\"${var}\" \"${${var}}\" CACHE ${type} \"Third-party helper setting from \${CMAKE_FIND_PACKAGE_NAME}\")
endif ()
")
  endforeach ()

  set(paraview_find_package_code
    "${paraview_find_package_code}${_paraview_package_variables}"
    PARENT_SCOPE)
endfunction ()

get_property(_paraview_packages GLOBAL
  PROPERTY _vtk_module_find_packages_ParaView)
if (_paraview_packages)
  list(REMOVE_DUPLICATES _paraview_packages)
endif ()

set(paraview_find_package_code)
foreach (_paraview_package IN LISTS _paraview_packages)
  _paraview_package_append_variables(
    # Standard CMake `find_package` mechanisms.
    "${_paraview_package}_DIR"
    "${_paraview_package}_ROOT"

    # Per-package custom variables.
    ${${_paraview_package}_find_package_vars})
endforeach ()

file(GENERATE
  OUTPUT  "${paraview_cmake_build_dir}/paraview-find-package-helpers.cmake"
  CONTENT "${paraview_find_package_code}")

repository: nagyist/ParaView

repo_name: nagyist/ParaView


text:
@conference{KamraDynamic2015,
	Address = {Gothenburg, Sweden},
	Author = {Nitin Kamra and Nora Ayanian},
	Booktitle = {IEEE Intl Conf Automation Science and Engineering},
	Month = {Aug},
	Pages = {612 - 617},
	Title = {Dynamic Resource Reallocation for Robots on Long Term Deployments},
	Year = {2015}}

gha_language: HTML


text:
// Copyright The OpenTelemetry Authors
// SPDX-License-Identifier: Apache-2.0

package logicmonitorexporter

import (
	"context"
	"encoding/json"
	"net/http"
	"net/http/httptest"
	"testing"

	lmsdklogs "github.com/logicmonitor/lm-data-sdk-go/api/logs"
	"github.com/stretchr/testify/assert"
	"github.com/stretchr/testify/require"
	"go.opentelemetry.io/collector/component/componenttest"
	"go.opentelemetry.io/collector/config/confighttp"
	"go.opentelemetry.io/collector/exporter/exportertest"
	"go.opentelemetry.io/collector/pdata/plog"
	"go.uber.org/zap"
	"go.uber.org/zap/zaptest"

	"github.com/open-telemetry/opentelemetry-collector-contrib/exporter/logicmonitorexporter/internal/testutil"
)

func Test_NewLogsExporter(t *testing.T) {
	tests := []struct {
		name string
		args struct {
			config *Config
			logger *zap.Logger
		}
	}{
		{
			name: "should create LogExporter",
			args: struct {
				config *Config
				logger *zap.Logger
			}{
				config: &Config{
					HTTPClientSettings: confighttp.HTTPClientSettings{
						Endpoint: "http://example.logicmonitor.com/rest",
					},
					APIToken: APIToken{AccessID: "testid", AccessKey: "testkey"},
				},
				logger: zaptest.NewLogger(t),
			},
		},
	}
	for _, tt := range tests {
		t.Run(tt.name, func(t *testing.T) {
			set := exportertest.NewNopCreateSettings()
			exp := newLogsExporter(context.Background(), tt.args.config, set)
			assert.NotNil(t, exp)
		})
	}
}

func TestPushLogData(t *testing.T) {
	ts := httptest.NewServer(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
		response := lmsdklogs.LMLogIngestResponse{
			Success: true,
			Message: "Accepted",
		}
		w.WriteHeader(http.StatusAccepted)
		assert.NoError(t, json.NewEncoder(w).Encode(&response))
	}))
	defer ts.Close()

	cfg := &Config{
		HTTPClientSettings: confighttp.HTTPClientSettings{
			Endpoint: ts.URL,
		},
		APIToken: APIToken{AccessID: "testid", AccessKey: "testkey"},
	}

	tests := []struct {
		name   string
		fields struct {
			config *Config
			logger *zap.Logger
		}
		args struct {
			ctx context.Context
			lg  plog.Logs
		}
	}{
		{
			name: "Send Log data",
			fields: struct {
				config *Config
				logger *zap.Logger
			}{
				logger: zaptest.NewLogger(t),
				config: cfg,
			},
			args: struct {
				ctx context.Context
				lg  plog.Logs
			}{
				ctx: context.Background(),
				lg:  testutil.CreateLogData(1),
			},
		},
	}

	for _, test := range tests {
		t.Run(test.name, func(t *testing.T) {
			set := exportertest.NewNopCreateSettings()
			exp := newLogsExporter(test.args.ctx, test.fields.config, set)

			require.NoError(t, exp.start(test.args.ctx, componenttest.NewNopHost()))
			err := exp.PushLogData(test.args.ctx, test.args.lg)
			assert.NoError(t, err)
		})
	}
}


text:
DESCRIPTION = "Ethereal is the world's most popular network protocol analyzer"
HOMEPAGE = "http://www.ethereal.com"
SECTION = "x11/network"
LICENSE = "GPL"
DEPENDS = "perl-native gtk+ gnutls libpcap pcre expat"

PR = "r1"

SRC_URI = "${SOURCEFORGE_MIRROR}/${PN}/${PN}-${PV}.tar.bz2 \
           file://use-our-lemon.patch;patch=1 \
	   file://no-host-includes.patch;patch=1"

inherit autotools

do_compile_prepend() {
	${BUILD_CC} ${BUILD_CFLAGS} -o rdps rdps.c
	oe_runmake -C tools/lemon CC="${BUILD_CC} ${BUILD_CFLAGS}" LDFLAGS="${BUILD_LDFLAGS}"
}

FILES_${PN}-dbg += "${libdir}/wireshark/plugins/${PV}/.debug"

repository: jdegges/gumstix-pip-oe

repo_name: jdegges/gumstix-pip-oe