Skip to content
This repository has been archived by the owner on Mar 19, 2022. It is now read-only.

Write a set of quantum computing command-line utilities following the UNIX Philosophy #11

Open
icepolarizer opened this issue Feb 7, 2021 · 12 comments
Assignees
Labels
from coach project topic suggested by hackathon coach group is ready group has more than three members

Comments

@icepolarizer
Copy link

icepolarizer commented Feb 7, 2021

Abstract

Large toolboxes are useful. It helps beginners to learn, and experts to respond in many situations. However, sometimes our toolkit just requires some minimalism. If the program is small and it works well with other programs, it can be a building block of many other brilliant programs.

My thoughts about minimal and modular quantum software

Edit: I just made an example project. Quantum Password Generator

Description

Write a small but useful quantum computing commandline tool. Almost every kinds of computing started from that. Sometimes, less is more.

"The Unix philosophy, originated by Ken Thompson, is a set of cultural norms and philosophical approaches to minimalist, modular software development."

Here's the UNIX Philosophy:

  1. Make each program do one thing well. To do a new job, build afresh rather than complicate old programs by adding new "features".
  2. Expect the output of every program to become the input to another, as yet unknown, program. Don't clutter output with extraneous information. Avoid stringently columnar or binary input formats. Don't insist on interactive input.
  3. Design and build software, even operating systems, to be tried early, ideally within weeks. Don't hesitate to throw away the clumsy parts and rebuild them.
  4. Use tools in preference to unskilled help to lighten a programming task, even if you have to detour to build the tools and expect to throw some of them out after you've finished using them.

TL;DR

  • Write programs that do one thing and do it well.
  • Write programs to work together.
  • Write programs to handle text streams, because that is a universal interface.

Members

Deliverable

Set of commandline utilities related to quantum computing, mostly for linux and unix-based systems.

GitHub repo

@nonhermitian
Copy link

I am not sure how this fits within the scope of Qiskit? Are you advocating for modularizing a particular piece of Qiskit?

@0sophy1
Copy link
Collaborator

0sophy1 commented Feb 8, 2021

I think Samuel's idea is pretty interesting :) I never thought of this kind of idea when I was an undergraduate freshman. I think Samuel's project will also be a good motivator for quantum computing beginners who are good at coding at a similar age with Samuel. As we can see, in this event, we have a lot of quantum computing beginners and developers. I hope you understand that we are trying hard for them.

@nonhermitian
Copy link

I am just trying to understand what is proposed here. Are these independent command line tools? If so, then not sure if they are inline with a "Qiskit" hackathon. If they are calling Qiskit functionality then it seems like a reasonable proposal. However, in the latter case, I am not sure if I follow how that aligns with the proposed objectives?

@icepolarizer
Copy link
Author

I understand your concern. Here's my example.
Basically, I'm just suggesting some developers to write short(and useless in some perspective)programs frequently, so that we can see what is possible.

@nonhermitian
Copy link

Thanks for the example. Looks interesting, and is definitely in scope.

@icepolarizer
Copy link
Author

Thanks. I like your profile pic, by the way.

@veenaiyuri veenaiyuri added from coach project topic suggested by hackathon coach members wanted looking for more members labels Feb 14, 2021
@echo724
Copy link

echo724 commented Feb 16, 2021

Our team want to join this idea!
Here are our team members (Github ID/Slack Name)
echo724/Eunchan Cho
jwlk / KIM BOSEOK
lonj7798 / jaewon
TaehyukKo/TaehyukKo

@starktech23
Copy link
Collaborator

starktech23 commented Feb 16, 2021

Okay @echo724 if Team "echo Qiskit" wants to take this idea, please add details of this idea to your team dashboard on HackerEarth and Save Draft for now.

@starktech23
Copy link
Collaborator

Select "Submit Idea" only if you're absolutely sure about the team composition and project idea. We recommend waiting till the Project Pitching session to discuss more about the project today :)

@makotonakai
Copy link

Hello I'm Makoto Nakai, (Slack:Makoto Nakai, GitHub: MakotoNakai) and I'm a coach (Qiskit Advocate) from Japan.
Would you mind if I join in this team?

@icepolarizer
Copy link
Author

Sure! Welcome :)

@veenaiyuri
Copy link
Collaborator

Hi @echo724 ! Can you please remind @JWLK, @ionj7798 and @TaehyukKo to accept the invite link I sent them? I cannot add them unless they accept. https://github.com/qiskit-community/qiskit-hackathon-korea-21/invitations

@0sophy1 0sophy1 added the group is ready group has more than three members label Feb 17, 2021
@veenaiyuri veenaiyuri removed the members wanted looking for more members label Feb 17, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
from coach project topic suggested by hackathon coach group is ready group has more than three members
Projects
None yet
Development

No branches or pull requests

10 participants