Skip to content

Commit 4963786

Browse files
authored
Research Paper setup for Journal of Open Source Software (#191)
1 parent 586c912 commit 4963786

File tree

3 files changed

+100
-1
lines changed

3 files changed

+100
-1
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
<br>
2828

29-
1build is an automation tool that arms you with the convenience to configure project-local command line aliases – and then
29+
1build is an automation tool used for research and development projects that arms you with the convenience to configure project-local command line aliases – and then
3030
run the commands quickly and easily. It is particularly helpful when you deal with multiple projects and switch between
3131
them all the time. It is often the fact that different projects use different build tools and have different environment
3232
requirements – and then switching from one project to another is becoming increasingly cumbersome. That is where 1build comes

paper.bib

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
@article{jime2017,
2+
author = {Jim{\'e}nez, Rafael C and Kuzak, Mateusz and Alhamdoosh, Monther
3+
and Barker, Michelle and Batut, B{\'e}r{\'e}nice and Borg, Mikael
4+
and Capella-Gutierrez, Salvador and Chue Hong, Neil and Cook,
5+
Martin and Corpas, Manuel and Flannery, Madison and Garcia, Leyla
6+
and Gelp{\'\i}, Josep Ll and Gladman, Simon and Goble, Carole and
7+
Gonz{\'a}lez Ferreiro, Montserrat and Gonzalez-Beltran, Alejandra
8+
and Griffin, Philippa C and Gr{\"u}ning, Bj{\"o}rn and Hagberg,
9+
Jonas and Holub, Petr and Hooft, Rob and Ison, Jon and Katz,
10+
Daniel S and Lesko{\v s}ek, Brane and L{\'o}pez G{\'o}mez,
11+
Federico and Oliveira, Luis J and Mellor, David and Mosbergen,
12+
Rowland and Mulder, Nicola and Perez-Riverol, Yasset and Pergl,
13+
Robert and Pichler, Horst and Pope, Bernard and Sanz, Ferran and
14+
Schneider, Maria V and Stodden, Victoria and Suchecki, Rados{\l}aw
15+
and Svobodov{\'a}Va{\v r}ekov{\'a}, Radka and Talvik, Harry-Anton
16+
and Todorov, Ilian and Treloar, Andrew and Tyagi, Sonika and van
17+
Gompel, Maarten and Vaughan, Daniel and Via, Allegra and Wang,
18+
Xiaochuan and Watson-Haigh, Nathan S and Crouch, Steve},
19+
doi = {10.12688/f1000research.11407.1},
20+
journal = {F1000Research},
21+
month = {6},
22+
pages = {ELIXIR-876},
23+
title = {Four simple recommendations to encourage best practices in research
24+
software},
25+
volume = {6},
26+
year = {2017},
27+
}
28+
29+
@misc{awesome-go,
30+
author = {Avelino},
31+
title = {awesome-go: A curated list of awesome Go frameworks, libraries and software},
32+
year = {2020},
33+
publisher = {GitHub},
34+
journal = {GitHub repository},
35+
url = {https://github.com/avelino/awesome-go}
36+
}
37+
38+
@misc{osjitter,
39+
author = {Deepak Ahire},
40+
title = {ReducingImpactOfOSJitterOnSingleThreadedApplications: An analysis to predict the increase in runtime caused by OS Jitter on single threaded applications},
41+
year = {2020},
42+
publisher = {GitHub},
43+
journal = {GitHub repository},
44+
url = {https://github.com/adeepak7/ReducingImpactOfOSJitterOnSingleThreadedApplications}
45+
}
46+

paper.md

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
---
2+
title: '1build: Frictionless way of managing project-specific commands'
3+
tags:
4+
- bash
5+
- developer-tools
6+
- productivity
7+
- command-line
8+
- go
9+
- awesome-go
10+
authors:
11+
- name: Gopinath Langote
12+
orcid: 0000-0002-2583-6459
13+
affiliation: 1
14+
- name: Deepak Ahire
15+
orcid: 0000-0002-9174-0797
16+
affiliation: 1
17+
affiliations:
18+
- name: Walchand College of Engineering, Sangli
19+
index: 1
20+
date: April 2020
21+
22+
bibliography: paper.bib
23+
---
24+
25+
# Summary
26+
27+
`1build` is an automation tool used for research and development projects that arms you with the convenience to configure project-local `command line aliases` – and then run the commands quickly and easily. It is particularly helpful when you deal with multiple projects and switch between them all the time. It is often the fact that different projects use different build tools and have different environment requirements – and then switching from one project to another is becoming increasingly cumbersome. That is where 1build comes into play.
28+
29+
With `1build`, you can create simple and easily memorable command aliases for commonly used project commands such as build, test, run or anything else. These aliases will have a project-local scope which means that they will be accessible only within the project directory. This way you can unify all your projects to build with the same simple command disregarding of what build tool they use. It will remove the hassle of remembering all those commands improving the mental focus for the things that actually matter.
30+
31+
# Statement Of Need
32+
33+
With a rapid development of different languages and frameworks, setting up your project or use case specific environments, for example, Machine Learning, can be a tricky task. If you’ve never set up something like that before, you might spend hours fiddling with different commands trying to get the thing to work. `1build` is the key!
34+
35+
With `1build`, once you setup the environment for your `research projects`, you’ll be able to focus right down into the use case and never have to worry about installing packages ever again.
36+
37+
`1build` also takes care of `programming language setup`, `creating a virtual environment`, and `automating the installation of librarires`, for example, Machine Learning and Deep Learning Libraries.
38+
39+
In addition to this, `1build` has been developed to a high degree of `best practice in research software development` [@jime2017], and is thoroughly documented: https://1build.gitbook.io/. The documentation has been well formatted with the aim of easy learning and accessibilty. Furthermore, `1build` is automatically tested using Travis CI integration, unit tests with code coverage and [A+ on Go Report Card](https://goreportcard.com/report/github.com/gopinath-langote/1build). The current version of `1build` will be archived on [Zenodo](https://zenodo.org).
40+
41+
With its active community of developers, timely announcement of the updates and releases on [Twitter](https://twitter.com/GopinathLangote) and with its easy contibuting guide, it is used by many undergraduate and graduate students around the world.
42+
43+
# Ongoing Research Projects using 1build
44+
45+
`1build` is being used in the project `Reducing Impact Of OS Jitter On Single Threaded Applications`. The project uses `1build` to setup project environment which helps to train, test and validate the regression model on different platforms and similar platforms with different underlying hardware architecture. The project can be found at private repository[@osjitter].
46+
47+
# Acknowledgements
48+
49+
I acknowledge `JetBrains 1Password` for supporting the project as the official sponsor and the efforts of the official contributors of `1build`.
50+
51+
I also want to acknowledge the support of [Awesome Go](https://awesome-go.com) community as `1build` is now on `Awesome Go Project`[@awesome-go].
52+
53+
# References

0 commit comments

Comments
 (0)