* Contributor wanting to get started with simple contributions
@ 2020-08-13 11:18 Rohit Shinde
2020-08-25 2:26 ` Rohit Shinde
0 siblings, 1 reply; 15+ messages in thread
From: Rohit Shinde @ 2020-08-13 11:18 UTC (permalink / raw)
To: qemu-devel
[-- Attachment #1: Type: text/plain, Size: 1138 bytes --]
Hello everyone,
I am a hobby programmer (working as an SDE in the industry) and I have been
observing qemu for quite a while. I have always wanted to contribute but I
couldn't manage my time. I am good at Java and Python but quite a bit rusty
with C++ and C (although working with it will not be a problem, I might
have to google more than usual). On the theory side, I have a good grasp of
data structures and algorithms and a decent understanding of OS and
Compilers.
I have built qemu from source and I have my machine setup for git-publish
via email.
I would like to start contributing with one of the bite sized tasks
mentioned in the wiki page. The one that interests me and which I think is
the easiest are the sections on "Compiler Driven Cleanup" and "Dead Code
Removal". I think this is a good way to get introduced to the codebase.
I plan to stay and become a long term contributor. Is there any CS theory
that I would need to know other than what I mentioned above? Is it possible
to "learn on the go"?
I realize this is quite a long email and I would like to thank everyone in
advance for reading this!
Regards,
Rohit.
[-- Attachment #2: Type: text/html, Size: 1347 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-13 11:18 Contributor wanting to get started with simple contributions Rohit Shinde
@ 2020-08-25 2:26 ` Rohit Shinde
2020-08-25 5:50 ` Thomas Huth
2020-08-26 15:40 ` John Snow
0 siblings, 2 replies; 15+ messages in thread
From: Rohit Shinde @ 2020-08-25 2:26 UTC (permalink / raw)
To: qemu-devel; +Cc: jsnow, ehabkost, crosa
[-- Attachment #1: Type: text/plain, Size: 1781 bytes --]
Hey John,
I sent this email a couple of weeks ago to the qemu mailing list since I
didn't really know who to approach.
I am interested in contributing to the python-qemu package. I have quite a
bit of experience in Python, but no experience in packaging libraries.
Whatever you mentioned in the reply to my comment on the bug, was pretty
interesting. I would like to get started with at least ensuring that all
python code is flake8/pylint compliant.
Do let me know what you think of this.
Thanks,
Rohit.
On Thu, Aug 13, 2020 at 7:18 AM Rohit Shinde <rohit.shinde12194@gmail.com>
wrote:
> Hello everyone,
>
> I am a hobby programmer (working as an SDE in the industry) and I have
> been observing qemu for quite a while. I have always wanted to contribute
> but I couldn't manage my time. I am good at Java and Python but quite a bit
> rusty with C++ and C (although working with it will not be a problem, I
> might have to google more than usual). On the theory side, I have a good
> grasp of data structures and algorithms and a decent understanding of OS
> and Compilers.
>
> I have built qemu from source and I have my machine setup for git-publish
> via email.
>
> I would like to start contributing with one of the bite sized tasks
> mentioned in the wiki page. The one that interests me and which I think is
> the easiest are the sections on "Compiler Driven Cleanup" and "Dead Code
> Removal". I think this is a good way to get introduced to the codebase.
>
> I plan to stay and become a long term contributor. Is there any CS theory
> that I would need to know other than what I mentioned above? Is it possible
> to "learn on the go"?
>
> I realize this is quite a long email and I would like to thank everyone in
> advance for reading this!
>
> Regards,
> Rohit.
>
[-- Attachment #2: Type: text/html, Size: 2339 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-25 2:26 ` Rohit Shinde
@ 2020-08-25 5:50 ` Thomas Huth
2020-08-26 15:00 ` Rohit Shinde
2020-08-26 15:40 ` John Snow
1 sibling, 1 reply; 15+ messages in thread
From: Thomas Huth @ 2020-08-25 5:50 UTC (permalink / raw)
To: Rohit Shinde, qemu-devel; +Cc: jsnow, ehabkost, crosa
On 25/08/2020 04.26, Rohit Shinde wrote:
> Hey John,
>
> I sent this email a couple of weeks ago to the qemu mailing list since I
> didn't really know who to approach.
Hi Rohit,
The qemu-devel mailing list is very high traffic. So I'm sorry, but you
might need to be a little bit more specific with your questions if you
expect an answer...
> I have built qemu from source and I have my machine setup for
> git-publish via email.
>
> I would like to start contributing with one of the bite sized tasks
> mentioned in the wiki page. The one that interests me and which I
> think is the easiest are the sections on "Compiler Driven Cleanup"
> and "Dead Code Removal". I think this is a good way to get
> introduced to the codebase.
Sure, just go ahead and have a try! Once you've successfully wrote a
patch, please have a look at
https://wiki.qemu.org/Contribute/SubmitAPatch how to submit it.
> I plan to stay and become a long term contributor. Is there any CS
What does "CS" stand for?
> theory that I would need to know other than what I mentioned above?
> Is it possible to "learn on the go"?
You certainly have to "learn on the go", since it is likely quite
impossible to grasp a huge project like QEMU at once.
Cheers,
Thomas
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-25 5:50 ` Thomas Huth
@ 2020-08-26 15:00 ` Rohit Shinde
2020-08-26 15:51 ` John Snow
2020-08-27 4:37 ` Thomas Huth
0 siblings, 2 replies; 15+ messages in thread
From: Rohit Shinde @ 2020-08-26 15:00 UTC (permalink / raw)
To: Thomas Huth; +Cc: crosa, jsnow, qemu-devel, ehabkost
[-- Attachment #1: Type: text/plain, Size: 2177 bytes --]
Hey Thomas,
I didn't really have any specific questions. I wanted to know if there was
any part of qemu that I could contribute to. Qemu is overwhelmingly vast
and without some pointers, I felt very lost.
On Tue, Aug 25, 2020 at 1:51 AM Thomas Huth <thuth@redhat.com> wrote:
> On 25/08/2020 04.26, Rohit Shinde wrote:
> > Hey John,
> >
> > I sent this email a couple of weeks ago to the qemu mailing list since I
> > didn't really know who to approach.
>
> Hi Rohit,
>
> The qemu-devel mailing list is very high traffic. So I'm sorry, but you
> might need to be a little bit more specific with your questions if you
> expect an answer...
>
> > I have built qemu from source and I have my machine setup for
> > git-publish via email.
> >
> > I would like to start contributing with one of the bite sized tasks
> > mentioned in the wiki page. The one that interests me and which I
> > think is the easiest are the sections on "Compiler Driven Cleanup"
> > and "Dead Code Removal". I think this is a good way to get
> > introduced to the codebase.
>
> Sure, just go ahead and have a try! Once you've successfully wrote a
> patch, please have a look at
> https://wiki.qemu.org/Contribute/SubmitAPatch how to submit it.
>
> > I plan to stay and become a long term contributor. Is there any CS
>
> What does "CS" stand for?
>
Computer Science :)
>
> > theory that I would need to know other than what I mentioned above?
> > Is it possible to "learn on the go"?
>
> You certainly have to "learn on the go", since it is likely quite
> impossible to grasp a huge project like QEMU at once.
>
> I am interested in contributing to something like device emulation. There
might be lots of devices which Qemu might want to emulate but which haven't
yet been emulated. If possible, I would like to give that a shot. However,
there was work related to python packaging as well, which I had commented
on in Launchpad. John told me quite a bit about that as well. I am
interested in that as well. I have already submitted a trivial patch for
handling compiler warnings and I am trying to get it accepted.
Cheers,
> Thomas
>
>
Thanks,
Rohit.
[-- Attachment #2: Type: text/html, Size: 3234 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-25 2:26 ` Rohit Shinde
2020-08-25 5:50 ` Thomas Huth
@ 2020-08-26 15:40 ` John Snow
1 sibling, 0 replies; 15+ messages in thread
From: John Snow @ 2020-08-26 15:40 UTC (permalink / raw)
To: Rohit Shinde, qemu-devel; +Cc: ehabkost, crosa
On 8/24/20 10:26 PM, Rohit Shinde wrote:
> Hey John,
>
Hi Rohit!
> I sent this email a couple of weeks ago to the qemu mailing list since I
> didn't really know who to approach.
>
Sorry, I didn't see a mail. The volume is quite high and I missed it.
For Python issues, the usual suspects are:
Me (Lately),
Markus Armbruster (Primarily around the QAPI parser),
Cleber Rosa (Primarily around VM tests),
Eduardo Habkost (In general).
> I am interested in contributing to the python-qemu package. I have quite
> a bit of experience in Python, but no experience in packaging libraries.
I must admit I am also quite new to packaging python, but I'm learning
as I go. For now, we do not have any published package so we do not need
to maintain any kind of stable API, but there are many places in the
QEMU source tree that rely on the python packages and must keep working.
> Whatever you mentioned in the reply to my comment on the bug, was pretty
> interesting. I would like to get started with at least ensuring that all
> python code is flake8/pylint compliant.
>
OK! I have some patches in progress, let me clean them up for post-5.1
and I will CC you when I send them. I have been on PTO for a little
while and was focused on another project, so they have to be resurrected
a little bit.
I will likely continue to be distracted by other projects, so if you are
able to help with some of the Python refactoring/redevelopment that will
be a good help.
> Do let me know what you think of this.
>
Sure, stay tuned.
> Thanks,
> Rohit.
>
> On Thu, Aug 13, 2020 at 7:18 AM Rohit Shinde
> <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>> wrote:
>
> Hello everyone,
>
> I am a hobby programmer (working as an SDE in the industry) and I
> have been observing qemu for quite a while. I have always wanted to
> contribute but I couldn't manage my time. I am good at Java and
> Python but quite a bit rusty with C++ and C (although working with
> it will not be a problem, I might have to google more than usual).
> On the theory side, I have a good grasp of data structures and
> algorithms and a decent understanding of OS and Compilers.
>
> I have built qemu from source and I have my machine setup for
> git-publish via email.
>
> I would like to start contributing with one of the bite sized tasks
> mentioned in the wiki page. The one that interests me and which I
> think is the easiest are the sections on "Compiler Driven Cleanup"
> and "Dead Code Removal". I think this is a good way to get
> introduced to the codebase.
>
> I plan to stay and become a long term contributor. Is there any CS
> theory that I would need to know other than what I mentioned above?
> Is it possible to "learn on the go"?
>
> I realize this is quite a long email and I would like to thank
> everyone in advance for reading this!
>
> Regards,
> Rohit.
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-26 15:00 ` Rohit Shinde
@ 2020-08-26 15:51 ` John Snow
2020-08-26 17:55 ` Rohit Shinde
2020-08-27 4:37 ` Thomas Huth
1 sibling, 1 reply; 15+ messages in thread
From: John Snow @ 2020-08-26 15:51 UTC (permalink / raw)
To: Rohit Shinde, Thomas Huth; +Cc: crosa, qemu-devel, ehabkost
On 8/26/20 11:00 AM, Rohit Shinde wrote:
> Hey Thomas,
>
> I didn't really have any specific questions. I wanted to know if there
> was any part of qemu that I could contribute to. Qemu is overwhelmingly
> vast and without some pointers, I felt very lost.
Yeah, it can be hard to get started.
What are your interests in programming/development, any specific types
of coding you like doing more than others? What draws you to the QEMU in
particular? Is there something you'd like to see QEMU do that it doesn't
today, or something you feel like you are particularly suited to doing?
If I can figure out what brought you here, maybe I can direct you to
some projects that might benefit from your attention. [Apart from the
Python stuff, which we are discussing elsewhere in another thread.]
Some topic areas:
- Emulation (TCG)
- Virtualization (KVM)
- Esoteric/Legacy architecture/device emulation
- Optimization (Network, Storage, CPU)
- Regression/Acceptance Testing
- Fuzzing
- Configuration
- Deployment
- Continuous Integration
- Accessibility, Ease-of-use
- Build systems & tooling
- Development process
- SDK/API development
If you have any specific knowledge in areas that aren't Linux on x86,
there are likely areas of QEMU that could benefit from your knowledge.
We are always looking for people to help maintain and develop code
intended for other architectures on other platforms.
--js
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-26 15:51 ` John Snow
@ 2020-08-26 17:55 ` Rohit Shinde
2020-08-29 5:14 ` Rohit Shinde
0 siblings, 1 reply; 15+ messages in thread
From: Rohit Shinde @ 2020-08-26 17:55 UTC (permalink / raw)
To: John Snow; +Cc: Thomas Huth, crosa, qemu-devel, ehabkost
[-- Attachment #1: Type: text/plain, Size: 2954 bytes --]
Hey John,
I came across QEMU in 2015 when I was looking to participate in GSOC. I did
GSoC through another org. I kept following qemu because I was interested in
virtualization, systems level coding and device emulation.
Currently, most of my professional dev work is done in Java and Python
(with some C++). I am interested in C/C++ development simply because of the
things you can accomplish with the tools that these languages give you. My
interests in programming as a hobby are very general. I would like to take
part in all kinds of development at least once (example: OS development,
virtualization, compilers, networking, etc). Professionally, I am a backend
developer who does SDK/API development along with writing general purpose
software that serves business needs. This is all at the application level.
So I have quite some experience in areas like CI/CD, deployment, build
systems and API dev. However, I don't know how much of that will translate
to QEMU development since the environment I work in is quite different.
Out of the topic areas you mention, I am very interested in the following
(mentioned in order of interest):
1. Emulation
2. KVM
3. Storage optimization.
I have been reading about KVM quite a bit because I wanted to know how
virtualization theory is actually implemented.
And once again, thanks for the response! I really appreciate it!
Thanks,
Rohit.
On Wed, Aug 26, 2020 at 11:51 AM John Snow <jsnow@redhat.com> wrote:
> On 8/26/20 11:00 AM, Rohit Shinde wrote:
> > Hey Thomas,
> >
> > I didn't really have any specific questions. I wanted to know if there
> > was any part of qemu that I could contribute to. Qemu is overwhelmingly
> > vast and without some pointers, I felt very lost.
>
> Yeah, it can be hard to get started.
>
> What are your interests in programming/development, any specific types
> of coding you like doing more than others? What draws you to the QEMU in
> particular? Is there something you'd like to see QEMU do that it doesn't
> today, or something you feel like you are particularly suited to doing?
>
> If I can figure out what brought you here, maybe I can direct you to
> some projects that might benefit from your attention. [Apart from the
> Python stuff, which we are discussing elsewhere in another thread.]
>
> Some topic areas:
>
> - Emulation (TCG)
> - Virtualization (KVM)
> - Esoteric/Legacy architecture/device emulation
> - Optimization (Network, Storage, CPU)
> - Regression/Acceptance Testing
> - Fuzzing
> - Configuration
> - Deployment
> - Continuous Integration
> - Accessibility, Ease-of-use
> - Build systems & tooling
> - Development process
> - SDK/API development
>
>
> If you have any specific knowledge in areas that aren't Linux on x86,
> there are likely areas of QEMU that could benefit from your knowledge.
> We are always looking for people to help maintain and develop code
> intended for other architectures on other platforms.
>
> --js
>
>
[-- Attachment #2: Type: text/html, Size: 3580 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-26 15:00 ` Rohit Shinde
2020-08-26 15:51 ` John Snow
@ 2020-08-27 4:37 ` Thomas Huth
2020-08-28 0:49 ` Rohit Shinde
1 sibling, 1 reply; 15+ messages in thread
From: Thomas Huth @ 2020-08-27 4:37 UTC (permalink / raw)
To: Rohit Shinde, QEMU Developers
On 26/08/2020 17.00, Rohit Shinde wrote:
> Hey Thomas,
>
> I didn't really have any specific questions. I wanted to know if there
> was any part of qemu that I could contribute to. Qemu is overwhelmingly
> vast and without some pointers, I felt very lost.
Ok, that's true - QEMU is really a huge project. I'd really recommend to
pick some topics from https://wiki.qemu.org/Contribute/BiteSizedTasks
first to get a feeling for contributing patches to QEMU. Since you're
interested in emulation, maybe the topics from the "Device models"
section would also be a good fit?
> > I plan to stay and become a long term contributor. Is there any CS
>
> What does "CS" stand for?
>
> Computer Science :)
Oh, well, thanks, ok, that was too easy. I guess there are just too many
abbreviations around ;-)
>
> > theory that I would need to know other than what I mentioned
> above?
I'd recommend to browse the various KVM forum presentations on
http://www.linux-kvm.org/page/Category:Conferences to see if there is
something that catches your eye. You can find the recordings of most
presentations on
https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA , too.
> > Is it possible to "learn on the go"?
>
> You certainly have to "learn on the go", since it is likely quite
> impossible to grasp a huge project like QEMU at once.
>
> I am interested in contributing to something like device emulation.
> There might be lots of devices which Qemu might want to emulate but
> which haven't yet been emulated.
Sure, but I think you first need a target you're interested in first.
E.g. do you want to focus on x86, ARM, PPC, m68k, ... ? Depending on
that, you can start looking around in the hw/ directory for "missing" or
"TODO" items.
Thomas
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-27 4:37 ` Thomas Huth
@ 2020-08-28 0:49 ` Rohit Shinde
2020-08-28 4:14 ` Thomas Huth
0 siblings, 1 reply; 15+ messages in thread
From: Rohit Shinde @ 2020-08-28 0:49 UTC (permalink / raw)
To: Thomas Huth; +Cc: QEMU Developers
[-- Attachment #1: Type: text/plain, Size: 2648 bytes --]
Hey Thomas,
Thanks for the in-depth response! I appreciate it a lot!
On Wed, Aug 26, 2020 at 9:38 PM Thomas Huth <thuth@redhat.com> wrote:
> On 26/08/2020 17.00, Rohit Shinde wrote:
> > Hey Thomas,
> >
> > I didn't really have any specific questions. I wanted to know if there
> > was any part of qemu that I could contribute to. Qemu is overwhelmingly
> > vast and without some pointers, I felt very lost.
>
> Ok, that's true - QEMU is really a huge project. I'd really recommend to
> pick some topics from https://wiki.qemu.org/Contribute/BiteSizedTasks
> first to get a feeling for contributing patches to QEMU. Since you're
> interested in emulation, maybe the topics from the "Device models"
> section would also be a good fit?
>
> > > I plan to stay and become a long term contributor. Is there
> any CS
> >
> > What does "CS" stand for?
> >
> > Computer Science :)
>
> Oh, well, thanks, ok, that was too easy. I guess there are just too many
> abbreviations around ;-)
>
> >
> > > theory that I would need to know other than what I mentioned
> > above?
>
> I'd recommend to browse the various KVM forum presentations on
> http://www.linux-kvm.org/page/Category:Conferences to see if there is
> something that catches your eye. You can find the recordings of most
> presentations on
> https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA , too.
>
> > > Is it possible to "learn on the go"?
> >
> > You certainly have to "learn on the go", since it is likely quite
> > impossible to grasp a huge project like QEMU at once.
> >
> > I am interested in contributing to something like device emulation.
> > There might be lots of devices which Qemu might want to emulate but
> > which haven't yet been emulated.
> Sure, but I think you first need a target you're interested in first.
> E.g. do you want to focus on x86, ARM, PPC, m68k, ... ? Depending on
> that, you can start looking around in the hw/ directory for "missing" or
> "TODO" items.
>
I am pretty familiar with the x86 architecture since I have worked with
processors right from 8086 to the Pentium line of processors. I have a nice
familiarity with x86_64. I have a passing familiarity with ARM and SPARC
architectures, but not much more. So I think I would like to focus on the
x86 architecture. I'll poke around the hw/ directory. Please feel free to
give me pointers in the meanwhile.
>
> Thomas
>
>
Since I am new to the community, I wanted to make sure if it is fine if I
post general questions to the mailing list and copy you? I see that all the
posts in the mailing list are mostly patches and nothing else.
Thanks,
Rohit.
[-- Attachment #2: Type: text/html, Size: 3842 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-28 0:49 ` Rohit Shinde
@ 2020-08-28 4:14 ` Thomas Huth
0 siblings, 0 replies; 15+ messages in thread
From: Thomas Huth @ 2020-08-28 4:14 UTC (permalink / raw)
To: Rohit Shinde; +Cc: QEMU Developers
On 28/08/2020 02.49, Rohit Shinde wrote:
> Hey Thomas,
>
> Thanks for the in-depth response! I appreciate it a lot!
>
>
>
> On Wed, Aug 26, 2020 at 9:38 PM Thomas Huth <thuth@redhat.com
> <mailto:thuth@redhat.com>> wrote:
>
> On 26/08/2020 17.00, Rohit Shinde wrote:
> > Hey Thomas,
> >
> > I didn't really have any specific questions. I wanted to know if there
> > was any part of qemu that I could contribute to. Qemu is
> overwhelmingly
> > vast and without some pointers, I felt very lost.
>
> Ok, that's true - QEMU is really a huge project. I'd really recommend to
> pick some topics from https://wiki.qemu.org/Contribute/BiteSizedTasks
> first to get a feeling for contributing patches to QEMU. Since you're
> interested in emulation, maybe the topics from the "Device models"
> section would also be a good fit?
>
> > > I plan to stay and become a long term contributor. Is
> there any CS
> >
> > What does "CS" stand for?
> >
> > Computer Science :)
>
> Oh, well, thanks, ok, that was too easy. I guess there are just too many
> abbreviations around ;-)
>
> >
> > > theory that I would need to know other than what I mentioned
> > above?
>
> I'd recommend to browse the various KVM forum presentations on
> http://www.linux-kvm.org/page/Category:Conferences to see if there is
> something that catches your eye. You can find the recordings of most
> presentations on
> https://www.youtube.com/channel/UCRCSQmAOh7yzgheq-emy1xA , too.
>
> > > Is it possible to "learn on the go"?
> >
> > You certainly have to "learn on the go", since it is likely quite
> > impossible to grasp a huge project like QEMU at once.
> >
> > I am interested in contributing to something like device emulation.
> > There might be lots of devices which Qemu might want to emulate but
> > which haven't yet been emulated.
> Sure, but I think you first need a target you're interested in first.
> E.g. do you want to focus on x86, ARM, PPC, m68k, ... ? Depending on
> that, you can start looking around in the hw/ directory for "missing" or
> "TODO" items.
>
> I am pretty familiar with the x86 architecture since I have worked with
> processors right from 8086 to the Pentium line of processors. I have a
> nice familiarity with x86_64. I have a passing familiarity with ARM and
> SPARC architectures, but not much more. So I think I would like to focus
> on the x86 architecture. I'll poke around the hw/ directory. Please feel
> free to give me pointers in the meanwhile.
>
> Since I am new to the community, I wanted to make sure if it is fine if
> I post general questions to the mailing list and copy you?
Sure, but I'm not the right guy for x86 ;-) It's often a good idea to
have a look at the MAINTAINERS file to find people who you could put on
CC: for specific topics.
Thomas
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-26 17:55 ` Rohit Shinde
@ 2020-08-29 5:14 ` Rohit Shinde
2020-09-02 16:38 ` Rohit Shinde
0 siblings, 1 reply; 15+ messages in thread
From: Rohit Shinde @ 2020-08-29 5:14 UTC (permalink / raw)
To: John Snow; +Cc: crosa, QEMU Developers, ehabkost
[-- Attachment #1: Type: text/plain, Size: 3454 bytes --]
Hey John,
Sorry to bother you! I just wanted to know if you had any thoughts on the
mail I sent.
Is there anything I can pick up right now with regards to the Python
package? You mentioned that linting is something that needs to be
completed before we go ahead, so maybe I can start with that?
Thanks,
Rohit.
On Wed, Aug 26, 2020 at 1:55 PM Rohit Shinde <rohit.shinde12194@gmail.com>
wrote:
> Hey John,
>
> I came across QEMU in 2015 when I was looking to participate in GSOC. I
> did GSoC through another org. I kept following qemu because I was
> interested in virtualization, systems level coding and device emulation.
>
> Currently, most of my professional dev work is done in Java and Python
> (with some C++). I am interested in C/C++ development simply because of the
> things you can accomplish with the tools that these languages give you. My
> interests in programming as a hobby are very general. I would like to take
> part in all kinds of development at least once (example: OS development,
> virtualization, compilers, networking, etc). Professionally, I am a backend
> developer who does SDK/API development along with writing general purpose
> software that serves business needs. This is all at the application level.
> So I have quite some experience in areas like CI/CD, deployment, build
> systems and API dev. However, I don't know how much of that will translate
> to QEMU development since the environment I work in is quite different.
>
> Out of the topic areas you mention, I am very interested in the following
> (mentioned in order of interest):
>
> 1. Emulation
> 2. KVM
> 3. Storage optimization.
>
> I have been reading about KVM quite a bit because I wanted to know how
> virtualization theory is actually implemented.
>
> And once again, thanks for the response! I really appreciate it!
>
> Thanks,
> Rohit.
>
> On Wed, Aug 26, 2020 at 11:51 AM John Snow <jsnow@redhat.com> wrote:
>
>> On 8/26/20 11:00 AM, Rohit Shinde wrote:
>> > Hey Thomas,
>> >
>> > I didn't really have any specific questions. I wanted to know if there
>> > was any part of qemu that I could contribute to. Qemu is overwhelmingly
>> > vast and without some pointers, I felt very lost.
>>
>> Yeah, it can be hard to get started.
>>
>> What are your interests in programming/development, any specific types
>> of coding you like doing more than others? What draws you to the QEMU in
>> particular? Is there something you'd like to see QEMU do that it doesn't
>> today, or something you feel like you are particularly suited to doing?
>>
>> If I can figure out what brought you here, maybe I can direct you to
>> some projects that might benefit from your attention. [Apart from the
>> Python stuff, which we are discussing elsewhere in another thread.]
>>
>> Some topic areas:
>>
>> - Emulation (TCG)
>> - Virtualization (KVM)
>> - Esoteric/Legacy architecture/device emulation
>> - Optimization (Network, Storage, CPU)
>> - Regression/Acceptance Testing
>> - Fuzzing
>> - Configuration
>> - Deployment
>> - Continuous Integration
>> - Accessibility, Ease-of-use
>> - Build systems & tooling
>> - Development process
>> - SDK/API development
>>
>>
>> If you have any specific knowledge in areas that aren't Linux on x86,
>> there are likely areas of QEMU that could benefit from your knowledge.
>> We are always looking for people to help maintain and develop code
>> intended for other architectures on other platforms.
>>
>> --js
>>
>>
[-- Attachment #2: Type: text/html, Size: 4378 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-08-29 5:14 ` Rohit Shinde
@ 2020-09-02 16:38 ` Rohit Shinde
2020-09-30 4:38 ` John Snow
0 siblings, 1 reply; 15+ messages in thread
From: Rohit Shinde @ 2020-09-02 16:38 UTC (permalink / raw)
To: John Snow; +Cc: crosa, QEMU Developers, ehabkost
[-- Attachment #1: Type: text/plain, Size: 3743 bytes --]
Hey John,
I wanted to follow up on this, in case you missed my previous email :)
Thanks,
Rohit.
On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde <rohit.shinde12194@gmail.com>
wrote:
> Hey John,
>
> Sorry to bother you! I just wanted to know if you had any thoughts on the
> mail I sent.
>
> Is there anything I can pick up right now with regards to the Python
> package? You mentioned that linting is something that needs to be
> completed before we go ahead, so maybe I can start with that?
>
> Thanks,
> Rohit.
>
> On Wed, Aug 26, 2020 at 1:55 PM Rohit Shinde <rohit.shinde12194@gmail.com>
> wrote:
>
>> Hey John,
>>
>> I came across QEMU in 2015 when I was looking to participate in GSOC. I
>> did GSoC through another org. I kept following qemu because I was
>> interested in virtualization, systems level coding and device emulation.
>>
>> Currently, most of my professional dev work is done in Java and Python
>> (with some C++). I am interested in C/C++ development simply because of the
>> things you can accomplish with the tools that these languages give you. My
>> interests in programming as a hobby are very general. I would like to take
>> part in all kinds of development at least once (example: OS development,
>> virtualization, compilers, networking, etc). Professionally, I am a backend
>> developer who does SDK/API development along with writing general purpose
>> software that serves business needs. This is all at the application level.
>> So I have quite some experience in areas like CI/CD, deployment, build
>> systems and API dev. However, I don't know how much of that will translate
>> to QEMU development since the environment I work in is quite different.
>>
>> Out of the topic areas you mention, I am very interested in the following
>> (mentioned in order of interest):
>>
>> 1. Emulation
>> 2. KVM
>> 3. Storage optimization.
>>
>> I have been reading about KVM quite a bit because I wanted to know how
>> virtualization theory is actually implemented.
>>
>> And once again, thanks for the response! I really appreciate it!
>>
>> Thanks,
>> Rohit.
>>
>> On Wed, Aug 26, 2020 at 11:51 AM John Snow <jsnow@redhat.com> wrote:
>>
>>> On 8/26/20 11:00 AM, Rohit Shinde wrote:
>>> > Hey Thomas,
>>> >
>>> > I didn't really have any specific questions. I wanted to know if there
>>> > was any part of qemu that I could contribute to. Qemu is
>>> overwhelmingly
>>> > vast and without some pointers, I felt very lost.
>>>
>>> Yeah, it can be hard to get started.
>>>
>>> What are your interests in programming/development, any specific types
>>> of coding you like doing more than others? What draws you to the QEMU in
>>> particular? Is there something you'd like to see QEMU do that it doesn't
>>> today, or something you feel like you are particularly suited to doing?
>>>
>>> If I can figure out what brought you here, maybe I can direct you to
>>> some projects that might benefit from your attention. [Apart from the
>>> Python stuff, which we are discussing elsewhere in another thread.]
>>>
>>> Some topic areas:
>>>
>>> - Emulation (TCG)
>>> - Virtualization (KVM)
>>> - Esoteric/Legacy architecture/device emulation
>>> - Optimization (Network, Storage, CPU)
>>> - Regression/Acceptance Testing
>>> - Fuzzing
>>> - Configuration
>>> - Deployment
>>> - Continuous Integration
>>> - Accessibility, Ease-of-use
>>> - Build systems & tooling
>>> - Development process
>>> - SDK/API development
>>>
>>>
>>> If you have any specific knowledge in areas that aren't Linux on x86,
>>> there are likely areas of QEMU that could benefit from your knowledge.
>>> We are always looking for people to help maintain and develop code
>>> intended for other architectures on other platforms.
>>>
>>> --js
>>>
>>>
[-- Attachment #2: Type: text/html, Size: 4905 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-09-02 16:38 ` Rohit Shinde
@ 2020-09-30 4:38 ` John Snow
2020-10-13 18:46 ` Rohit Shinde
0 siblings, 1 reply; 15+ messages in thread
From: John Snow @ 2020-09-30 4:38 UTC (permalink / raw)
To: Rohit Shinde; +Cc: QEMU Developers, ehabkost, crosa
On 9/2/20 12:38 PM, Rohit Shinde wrote:
> Hey John,
>
> I wanted to follow up on this, in case you missed my previous email :)
>
> Thanks,
> Rohit.
>
Sorry Rohit, very buried in my work and haven't been doing a good job
with my inbox.
Right now, I am working on converting the QAPI parser module to the
strictly typed mypy subset:
https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html
There are six parts in all, that is part one. I am posting a v4 right
now as I write this.
Work that remains to be done after these six parts:
- Get ./python/qemu passing under mypy/pylint/flake8 again. I have old
patches for this that were on-list prior to the 5.1 release.
- Move ./scripts/qapi to ./python/qemu/qapi/
- Move ./python/qemu to ./python/qemu/core/
- Create a "make check" style script that will run
mypy/pylint/flake8/isort on all the code in ./python. (I have patches
for this, too.)
- Start investigating python scripts in ./scripts and consider moving
them to ./python/qemu/tools, fixing them up to pass
mypy/flake8/pylint/isort (etc) as I go. There are no existing patches to
do this yet.
Other work I am doing:
- Investigating the use of Pydantic to replace ./scripts/qapi/expr.py
- Investigating a YAML format for the QAPI parser
- Building a JSON-SCHEMA output format for the QAPI generator
> On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde
> <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>> wrote:
>
> Hey John,
>
> Sorry to bother you! I just wanted to know if you had any thoughts
> on the mail I sent.
>
> Is there anything I can pick up right now with regards to the Python
> package? You mentioned that linting is something that needs to be
> completed before we go ahead, so maybe I can start with that?
>
> Thanks,
> Rohit.
>
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-09-30 4:38 ` John Snow
@ 2020-10-13 18:46 ` Rohit Shinde
2020-10-14 17:59 ` John Snow
0 siblings, 1 reply; 15+ messages in thread
From: Rohit Shinde @ 2020-10-13 18:46 UTC (permalink / raw)
To: John Snow; +Cc: QEMU Developers, ehabkost, crosa
[-- Attachment #1: Type: text/plain, Size: 2421 bytes --]
Hey John,
Sorry for the late reply! I was in the midst of a job change and couldn't
get time to get to this.
The work sounds interesting! I have a couple of questions regarding this:
1. How do I actually build this part? I am familiar with building and
using QEMU. Does the qapi parser get built along with the main code?
2. If not, how do I start using this part and contributing to it?
Thanks,
Rohit.
On Tue, Sep 29, 2020 at 9:38 PM John Snow <jsnow@redhat.com> wrote:
> On 9/2/20 12:38 PM, Rohit Shinde wrote:
> > Hey John,
> >
> > I wanted to follow up on this, in case you missed my previous email :)
> >
> > Thanks,
> > Rohit.
> >
>
> Sorry Rohit, very buried in my work and haven't been doing a good job
> with my inbox.
>
> Right now, I am working on converting the QAPI parser module to the
> strictly typed mypy subset:
>
> https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html
>
> There are six parts in all, that is part one. I am posting a v4 right
> now as I write this.
>
>
> Work that remains to be done after these six parts:
>
> - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old
> patches for this that were on-list prior to the 5.1 release.
>
> - Move ./scripts/qapi to ./python/qemu/qapi/
>
> - Move ./python/qemu to ./python/qemu/core/
>
> - Create a "make check" style script that will run
> mypy/pylint/flake8/isort on all the code in ./python. (I have patches
> for this, too.)
>
> - Start investigating python scripts in ./scripts and consider moving
> them to ./python/qemu/tools, fixing them up to pass
> mypy/flake8/pylint/isort (etc) as I go. There are no existing patches to
> do this yet.
>
>
> Other work I am doing:
>
> - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py
> - Investigating a YAML format for the QAPI parser
> - Building a JSON-SCHEMA output format for the QAPI generator
>
>
> > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde
> > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>>
> wrote:
> >
> > Hey John,
> >
> > Sorry to bother you! I just wanted to know if you had any thoughts
> > on the mail I sent.
> >
> > Is there anything I can pick up right now with regards to the Python
> > package? You mentioned that linting is something that needs to be
> > completed before we go ahead, so maybe I can start with that?
> >
> > Thanks,
> > Rohit.
> >
>
>
[-- Attachment #2: Type: text/html, Size: 3415 bytes --]
^ permalink raw reply [flat|nested] 15+ messages in thread
* Re: Contributor wanting to get started with simple contributions
2020-10-13 18:46 ` Rohit Shinde
@ 2020-10-14 17:59 ` John Snow
0 siblings, 0 replies; 15+ messages in thread
From: John Snow @ 2020-10-14 17:59 UTC (permalink / raw)
To: Rohit Shinde; +Cc: crosa, QEMU Developers, ehabkost
On 10/13/20 2:46 PM, Rohit Shinde wrote:
> Hey John,
>
> Sorry for the late reply! I was in the midst of a job change and
> couldn't get time to get to this.
>
> The work sounds interesting! I have a couple of questions regarding this:
>
> 1. How do I actually build this part? I am familiar with building and
> using QEMU. Does the qapi parser get built along with the main code?
It's python, so it doesn't get built. It's in ./scripts/qapi/. It is
invoked by the build machinery to turn the files in ./qapi into C files
that get built into QEMU.
Try "make check-qapi-schema" to see this stuff run and get tested.
> 2. If not, how do I start using this part and contributing to it?
Depends on what you want to actually try to do, what interests you, what
your goals are, etc. Some of the various Python-related tasks that I am
working on right now are laid out below.
>
>
> Thanks,
> Rohit.
>
> On Tue, Sep 29, 2020 at 9:38 PM John Snow <jsnow@redhat.com
> <mailto:jsnow@redhat.com>> wrote:
>
> On 9/2/20 12:38 PM, Rohit Shinde wrote:
> > Hey John,
> >
> > I wanted to follow up on this, in case you missed my previous
> email :)
> >
> > Thanks,
> > Rohit.
> >
>
> Sorry Rohit, very buried in my work and haven't been doing a good job
> with my inbox.
>
> Right now, I am working on converting the QAPI parser module to the
> strictly typed mypy subset:
>
> https://lists.gnu.org/archive/html/qemu-devel/2020-09/msg09136.html
>
> There are six parts in all, that is part one. I am posting a v4 right
> now as I write this.
>
Part one is now merged; parts 2-6 remain.
>
> Work that remains to be done after these six parts:
>
> - Get ./python/qemu passing under mypy/pylint/flake8 again. I have old
> patches for this that were on-list prior to the 5.1 release.
>
This part is done, or mostly done.
> - Move ./scripts/qapi to ./python/qemu/qapi/
>
Still pending parts 2-6 of the QAPI cleanup.
> - Move ./python/qemu to ./python/qemu/core/
>
Patches on list to do this.
> - Create a "make check" style script that will run
> mypy/pylint/flake8/isort on all the code in ./python. (I have patches
> for this, too.)
>
Need to resurface old patches to do this. I have a draft that was sent
to the list prior to 5.1, but haven't touched it since.
> - Start investigating python scripts in ./scripts and consider moving
> them to ./python/qemu/tools, fixing them up to pass
> mypy/flake8/pylint/isort (etc) as I go. There are no existing
> patches to
> do this yet.
>
I started porting ./scripts/qmp very recently. It is based off of my
python maintainer's branch.
>
> Other work I am doing:
>
> - Investigating the use of Pydantic to replace ./scripts/qapi/expr.py
> - Investigating a YAML format for the QAPI parser
> - Building a JSON-SCHEMA output format for the QAPI generator
>
Various half-finished drafts exist only on my computer for these.
I also have some very rough prototype work to create an asynchronous QMP
client in python.
>
> > On Sat, Aug 29, 2020 at 1:14 AM Rohit Shinde
> > <rohit.shinde12194@gmail.com <mailto:rohit.shinde12194@gmail.com>
> <mailto:rohit.shinde12194@gmail.com
> <mailto:rohit.shinde12194@gmail.com>>> wrote:
> >
> > Hey John,
> >
> > Sorry to bother you! I just wanted to know if you had any
> thoughts
> > on the mail I sent.
> >
> > Is there anything I can pick up right now with regards to the
> Python
> > package? You mentioned that linting is something that needs to be
> > completed before we go ahead, so maybe I can start with that?
> >
> > Thanks,
> > Rohit.
> >
>
^ permalink raw reply [flat|nested] 15+ messages in thread
end of thread, other threads:[~2020-10-14 18:00 UTC | newest]
Thread overview: 15+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-08-13 11:18 Contributor wanting to get started with simple contributions Rohit Shinde
2020-08-25 2:26 ` Rohit Shinde
2020-08-25 5:50 ` Thomas Huth
2020-08-26 15:00 ` Rohit Shinde
2020-08-26 15:51 ` John Snow
2020-08-26 17:55 ` Rohit Shinde
2020-08-29 5:14 ` Rohit Shinde
2020-09-02 16:38 ` Rohit Shinde
2020-09-30 4:38 ` John Snow
2020-10-13 18:46 ` Rohit Shinde
2020-10-14 17:59 ` John Snow
2020-08-27 4:37 ` Thomas Huth
2020-08-28 0:49 ` Rohit Shinde
2020-08-28 4:14 ` Thomas Huth
2020-08-26 15:40 ` John Snow
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).